Merge pull request #2974 from MediaBrowser/beta

Beta
pull/1154/head
Luke 7 years ago committed by GitHub
commit 0aac8045fb

@ -33,7 +33,7 @@ namespace Emby.Dlna.ContentDirectory
{
CancellationToken = cancellationToken,
UserAgent = "Emby",
RequestContentType = "text/xml; charset=\"utf-8\"",
RequestContentType = "text/xml",
LogErrorResponseBody = true,
Url = request.ContentDirectoryUrl,
BufferContent = false
@ -43,37 +43,38 @@ namespace Emby.Dlna.ContentDirectory
options.RequestContent = GetRequestBody(request);
var response = await _httpClient.SendAsync(options, "POST");
using (var reader = new StreamReader(response.Content))
using (var response = await _httpClient.SendAsync(options, "POST"))
{
var doc = XDocument.Parse(reader.ReadToEnd(), LoadOptions.PreserveWhitespace);
using (var reader = new StreamReader(response.Content))
{
var doc = XDocument.Parse(reader.ReadToEnd(), LoadOptions.PreserveWhitespace);
var queryResult = new QueryResult<ChannelItemInfo>();
var queryResult = new QueryResult<ChannelItemInfo>();
if (doc.Document == null)
return queryResult;
if (doc.Document == null)
return queryResult;
var responseElement = doc.Document.Descendants(UNamespace + "BrowseResponse").ToList();
var responseElement = doc.Document.Descendants(UNamespace + "BrowseResponse").ToList();
var countElement = responseElement.Select(i => i.Element("TotalMatches")).FirstOrDefault(i => i != null);
var countValue = countElement == null ? null : countElement.Value;
var countElement = responseElement.Select(i => i.Element("TotalMatches")).FirstOrDefault(i => i != null);
var countValue = countElement == null ? null : countElement.Value;
int count;
if (!string.IsNullOrWhiteSpace(countValue) && int.TryParse(countValue, NumberStyles.Integer, CultureInfo.InvariantCulture, out count))
{
queryResult.TotalRecordCount = count;
int count;
if (!string.IsNullOrWhiteSpace(countValue) && int.TryParse(countValue, NumberStyles.Integer, CultureInfo.InvariantCulture, out count))
{
queryResult.TotalRecordCount = count;
var resultElement = responseElement.Select(i => i.Element("Result")).FirstOrDefault(i => i != null);
var resultString = (string)resultElement;
var resultElement = responseElement.Select(i => i.Element("Result")).FirstOrDefault(i => i != null);
var resultString = (string)resultElement;
if (resultElement != null)
{
var xElement = XElement.Parse(resultString);
if (resultElement != null)
{
var xElement = XElement.Parse(resultString);
}
}
}
return queryResult;
return queryResult;
}
}
}

@ -393,75 +393,75 @@ namespace Emby.Dlna.Didl
{
if (itemStubType.HasValue && itemStubType.Value == StubType.Latest)
{
return _localization.GetLocalizedString("ViewTypeMusicLatest");
return _localization.GetLocalizedString("Latest");
}
if (itemStubType.HasValue && itemStubType.Value == StubType.Playlists)
{
return _localization.GetLocalizedString("ViewTypeMusicPlaylists");
return _localization.GetLocalizedString("Playlists");
}
if (itemStubType.HasValue && itemStubType.Value == StubType.AlbumArtists)
{
return _localization.GetLocalizedString("ViewTypeMusicAlbumArtists");
return _localization.GetLocalizedString("HeaderAlbumArtists");
}
if (itemStubType.HasValue && itemStubType.Value == StubType.Albums)
{
return _localization.GetLocalizedString("ViewTypeMusicAlbums");
return _localization.GetLocalizedString("Albums");
}
if (itemStubType.HasValue && itemStubType.Value == StubType.Artists)
{
return _localization.GetLocalizedString("ViewTypeMusicArtists");
return _localization.GetLocalizedString("Artists");
}
if (itemStubType.HasValue && itemStubType.Value == StubType.Songs)
{
return _localization.GetLocalizedString("ViewTypeMusicSongs");
return _localization.GetLocalizedString("Songs");
}
if (itemStubType.HasValue && itemStubType.Value == StubType.Genres)
{
return _localization.GetLocalizedString("ViewTypeTvGenres");
return _localization.GetLocalizedString("Genres");
}
if (itemStubType.HasValue && itemStubType.Value == StubType.FavoriteAlbums)
{
return _localization.GetLocalizedString("ViewTypeMusicFavoriteAlbums");
return _localization.GetLocalizedString("HeaderFavoriteAlbums");
}
if (itemStubType.HasValue && itemStubType.Value == StubType.FavoriteArtists)
{
return _localization.GetLocalizedString("ViewTypeMusicFavoriteArtists");
return _localization.GetLocalizedString("HeaderFavoriteArtists");
}
if (itemStubType.HasValue && itemStubType.Value == StubType.FavoriteSongs)
{
return _localization.GetLocalizedString("ViewTypeMusicFavoriteSongs");
return _localization.GetLocalizedString("HeaderFavoriteSongs");
}
if (itemStubType.HasValue && itemStubType.Value == StubType.ContinueWatching)
{
return _localization.GetLocalizedString("ViewTypeMovieResume");
return _localization.GetLocalizedString("HeaderContinueWatching");
}
if (itemStubType.HasValue && itemStubType.Value == StubType.Movies)
{
return _localization.GetLocalizedString("ViewTypeMovieMovies");
return _localization.GetLocalizedString("Movies");
}
if (itemStubType.HasValue && itemStubType.Value == StubType.Collections)
{
return _localization.GetLocalizedString("ViewTypeMovieCollections");
return _localization.GetLocalizedString("Collections");
}
if (itemStubType.HasValue && itemStubType.Value == StubType.Favorites)
{
return _localization.GetLocalizedString("ViewTypeMovieFavorites");
return _localization.GetLocalizedString("Favorites");
}
if (itemStubType.HasValue && itemStubType.Value == StubType.NextUp)
{
return _localization.GetLocalizedString("ViewTypeTvNextUp");
return _localization.GetLocalizedString("HeaderNextUp");
}
if (itemStubType.HasValue && itemStubType.Value == StubType.FavoriteSeries)
{
return _localization.GetLocalizedString("ViewTypeTvFavoriteSeries");
return _localization.GetLocalizedString("HeaderFavoriteShows");
}
if (itemStubType.HasValue && itemStubType.Value == StubType.FavoriteEpisodes)
{
return _localization.GetLocalizedString("ViewTypeTvFavoriteEpisodes");
return _localization.GetLocalizedString("HeaderFavoriteEpisodes");
}
if (itemStubType.HasValue && itemStubType.Value == StubType.Series)
{
return _localization.GetLocalizedString("ViewTypeTvShowSeries");
return _localization.GetLocalizedString("Shows");
}
var episode = item as Episode;
@ -1071,8 +1071,10 @@ namespace Emby.Dlna.Didl
writer.WriteStartElement(string.Empty, "res", NS_DIDL);
var width = albumartUrlInfo.Width;
var height = albumartUrlInfo.Height;
// Images must have a reported size or many clients (Bubble upnp), will only use the first thumbnail
// rather than using a larger one when available
var width = albumartUrlInfo.Width ?? maxWidth;
var height = albumartUrlInfo.Height ?? maxHeight;
var contentFeatures = new ContentFeatureBuilder(_profile)
.BuildImageHeader(format, width, height, imageInfo.IsDirectStream, org_Pn);
@ -1083,10 +1085,7 @@ namespace Emby.Dlna.Didl
contentFeatures
));
if (width.HasValue && height.HasValue)
{
writer.WriteAttributeString("resolution", string.Format("{0}x{1}", width.Value, height.Value));
}
writer.WriteAttributeString("resolution", string.Format("{0}x{1}", width, height));
writer.WriteString(albumartUrlInfo.Url);
@ -1138,8 +1137,21 @@ namespace Emby.Dlna.Didl
}
int? width = null;
int? height = null;
int? width = imageInfo.Width;
int? height = imageInfo.Height;
if (width == 0 || height == 0)
{
//_imageProcessor.GetImageSize(item, imageInfo);
width = null;
height = null;
}
else if (width == -1 || height == -1)
{
width = null;
height = null;
}
//try
//{

@ -26,9 +26,11 @@ namespace Emby.Dlna.Eventing
_logger = logger;
}
public EventSubscriptionResponse RenewEventSubscription(string subscriptionId, string requestedTimeoutString)
public EventSubscriptionResponse RenewEventSubscription(string subscriptionId, string notificationType, string requestedTimeoutString, string callbackUrl)
{
var subscription = GetSubscription(subscriptionId, true);
var subscription = GetSubscription(subscriptionId, false);
int timeoutSeconds;
// Remove logging for now because some devices are sending this very frequently
// TODO re-enable with dlna debug logging setting
@ -37,10 +39,18 @@ namespace Emby.Dlna.Eventing
// timeout,
// subscription.CallbackUrl);
subscription.TimeoutSeconds = ParseTimeout(requestedTimeoutString) ?? 300;
subscription.SubscriptionTime = DateTime.UtcNow;
if (subscription != null)
{
subscription.TimeoutSeconds = ParseTimeout(requestedTimeoutString) ?? 300;
timeoutSeconds = subscription.TimeoutSeconds;
subscription.SubscriptionTime = DateTime.UtcNow;
}
else
{
timeoutSeconds = 300;
}
return GetEventSubscriptionResponse(subscriptionId, requestedTimeoutString, subscription.TimeoutSeconds);
return GetEventSubscriptionResponse(subscriptionId, requestedTimeoutString, timeoutSeconds);
}
public EventSubscriptionResponse CreateEventSubscription(string notificationType, string requestedTimeoutString, string callbackUrl)
@ -172,7 +182,10 @@ namespace Emby.Dlna.Eventing
try
{
await _httpClient.SendAsync(options, "NOTIFY").ConfigureAwait(false);
using (await _httpClient.SendAsync(options, "NOTIFY").ConfigureAwait(false))
{
}
}
catch (OperationCanceledException)
{

@ -31,14 +31,15 @@ namespace Emby.Dlna.PlayTo
bool logRequest = true,
string header = null)
{
var response = await PostSoapDataAsync(NormalizeServiceUrl(baseUrl, service.ControlUrl), "\"" + service.ServiceType + "#" + command + "\"", postData, header, logRequest)
.ConfigureAwait(false);
using (var stream = response.Content)
using (var response = await PostSoapDataAsync(NormalizeServiceUrl(baseUrl, service.ControlUrl), "\"" + service.ServiceType + "#" + command + "\"", postData, header, logRequest)
.ConfigureAwait(false))
{
using (var reader = new StreamReader(stream, Encoding.UTF8))
using (var stream = response.Content)
{
return XDocument.Parse(reader.ReadToEnd(), LoadOptions.PreserveWhitespace);
using (var reader = new StreamReader(stream, Encoding.UTF8))
{
return XDocument.Parse(reader.ReadToEnd(), LoadOptions.PreserveWhitespace);
}
}
}
}
@ -71,7 +72,10 @@ namespace Emby.Dlna.PlayTo
Url = url,
UserAgent = USERAGENT,
LogErrorResponseBody = true,
BufferContent = false
BufferContent = false,
// The periodic requests may keep some devices awake
LogRequestAsDebug = true
};
options.RequestHeaders["HOST"] = ip + ":" + port.ToString(_usCulture);
@ -79,7 +83,10 @@ namespace Emby.Dlna.PlayTo
options.RequestHeaders["NT"] = "upnp:event";
options.RequestHeaders["TIMEOUT"] = "Second-" + timeOut.ToString(_usCulture);
await _httpClient.SendAsync(options, "SUBSCRIBE").ConfigureAwait(false);
using (await _httpClient.SendAsync(options, "SUBSCRIBE").ConfigureAwait(false))
{
}
}
public async Task<XDocument> GetDataAsync(string url)
@ -89,16 +96,22 @@ namespace Emby.Dlna.PlayTo
Url = url,
UserAgent = USERAGENT,
LogErrorResponseBody = true,
BufferContent = false
BufferContent = false,
// The periodic requests may keep some devices awake
LogRequestAsDebug = true
};
options.RequestHeaders["FriendlyName.DLNA.ORG"] = FriendlyName;
using (var stream = await _httpClient.Get(options).ConfigureAwait(false))
using (var response = await _httpClient.SendAsync(options, "GET").ConfigureAwait(false))
{
using (var reader = new StreamReader(stream, Encoding.UTF8))
using (var stream = response.Content)
{
return XDocument.Parse(reader.ReadToEnd(), LoadOptions.PreserveWhitespace);
using (var reader = new StreamReader(stream, Encoding.UTF8))
{
return XDocument.Parse(reader.ReadToEnd(), LoadOptions.PreserveWhitespace);
}
}
}
}
@ -118,7 +131,10 @@ namespace Emby.Dlna.PlayTo
UserAgent = USERAGENT,
LogRequest = logRequest || _config.GetDlnaConfiguration().EnableDebugLog,
LogErrorResponseBody = true,
BufferContent = false
BufferContent = false,
// The periodic requests may keep some devices awake
LogRequestAsDebug = true
};
options.RequestHeaders["SOAPAction"] = soapAction;
@ -130,7 +146,8 @@ namespace Emby.Dlna.PlayTo
options.RequestHeaders["contentFeatures.dlna.org"] = header;
}
options.RequestContentType = "text/xml; charset=\"utf-8\"";
options.RequestContentType = "text/xml";
options.AppendCharsetToMimeType = true;
options.RequestContent = postData;
return _httpClient.Post(options);

@ -24,9 +24,9 @@ namespace Emby.Dlna.Service
return EventManager.CancelEventSubscription(subscriptionId);
}
public EventSubscriptionResponse RenewEventSubscription(string subscriptionId, string timeoutString)
public EventSubscriptionResponse RenewEventSubscription(string subscriptionId, string notificationType, string timeoutString, string callbackUrl)
{
return EventManager.RenewEventSubscription(subscriptionId, timeoutString);
return EventManager.RenewEventSubscription(subscriptionId, notificationType, timeoutString, callbackUrl);
}
public EventSubscriptionResponse CreateEventSubscription(string notificationType, string timeoutString, string callbackUrl)

@ -149,7 +149,7 @@ namespace Emby.Drawing.ImageMagick
var originalImageSize = new ImageSize(originalImage.CurrentImage.Width, originalImage.CurrentImage.Height);
if (!options.CropWhiteSpace && options.HasDefaultOptions(inputPath, originalImageSize))
if (!options.CropWhiteSpace && options.HasDefaultOptions(inputPath, originalImageSize) && !autoOrient)
{
// Just spit out the original file if all the options are default
return inputPath;

@ -442,19 +442,44 @@ namespace Emby.Drawing
return GetCachePath(ResizedImageCachePath, filename, "." + format.ToString().ToLower());
}
public ImageSize GetImageSize(ItemImageInfo info, bool allowSlowMethods)
public ImageSize GetImageSize(BaseItem item, ItemImageInfo info)
{
return GetImageSize(info.Path, allowSlowMethods);
return GetImageSize(item, info, false, true);
}
public ImageSize GetImageSize(ItemImageInfo info)
public ImageSize GetImageSize(BaseItem item, ItemImageInfo info, bool allowSlowMethods, bool updateItem)
{
return GetImageSize(info.Path, false);
var width = info.Width;
var height = info.Height;
if (height > 0 && width > 0)
{
return new ImageSize
{
Width = width,
Height = height
};
}
var path = info.Path;
_logger.Info("Getting image size for item {0} {1}", item.GetType().Name, path);
var size = GetImageSize(path, allowSlowMethods);
info.Height = Convert.ToInt32(size.Height);
info.Width = Convert.ToInt32(size.Width);
if (updateItem)
{
_libraryManager().UpdateImages(item);
}
return size;
}
public ImageSize GetImageSize(string path)
{
return GetImageSize(path, false);
return GetImageSize(path, true);
}
/// <summary>

@ -17,7 +17,7 @@ using TagLib.IFD.Tags;
namespace Emby.Photos
{
public class PhotoProvider : ICustomMetadataProvider<Photo>, IHasItemChangeMonitor, IForcedProvider
public class PhotoProvider : ICustomMetadataProvider<Photo>, IForcedProvider
{
private readonly ILogger _logger;
private readonly IFileSystem _fileSystem;
@ -31,14 +31,14 @@ namespace Emby.Photos
}
// These are causing taglib to hang
private string[] _excludeExtensions = new string[] { ".dng" };
private string[] _includextensions = new string[] { ".jpg", ".jpeg", ".png", ".tiff" };
public Task<ItemUpdateType> FetchAsync(Photo item, MetadataRefreshOptions options, CancellationToken cancellationToken)
{
item.SetImagePath(ImageType.Primary, item.Path);
// Examples: https://github.com/mono/taglib-sharp/blob/a5f6949a53d09ce63ee7495580d6802921a21f14/tests/fixtures/TagLib.Tests.Images/NullOrientationTest.cs
if (!_excludeExtensions.Contains(Path.GetExtension(item.Path) ?? string.Empty, StringComparer.OrdinalIgnoreCase))
if (_includextensions.Contains(Path.GetExtension(item.Path) ?? string.Empty, StringComparer.OrdinalIgnoreCase))
{
try
{
@ -163,10 +163,14 @@ namespace Emby.Photos
if (!item.Width.HasValue || !item.Height.HasValue)
{
var size = _imageProcessor.GetImageSize(item.Path);
var img = item.GetImageInfo(ImageType.Primary, 0);
var size = _imageProcessor.GetImageSize(item, img, false, false);
item.Width = Convert.ToInt32(size.Width);
item.Height = Convert.ToInt32(size.Height);
if (size.Width > 0 && size.Height > 0)
{
item.Width = Convert.ToInt32(size.Width);
item.Height = Convert.ToInt32(size.Height);
}
}
const ItemUpdateType result = ItemUpdateType.ImageUpdate | ItemUpdateType.MetadataImport;
@ -177,19 +181,5 @@ namespace Emby.Photos
{
get { return "Embedded Information"; }
}
public bool HasChanged(IHasMetadata item, IDirectoryService directoryService)
{
if (item.EnableRefreshOnDateModifiedChange && !string.IsNullOrWhiteSpace(item.Path) && item.LocationType == LocationType.FileSystem)
{
var file = directoryService.GetFile(item.Path);
if (file != null && file.LastWriteTimeUtc != item.DateModified)
{
return true;
}
}
return false;
}
}
}

@ -49,7 +49,7 @@ namespace Emby.Server.Implementations.Activity
RunDefaultInitialization(connection);
string[] queries = {
"create table if not exists ActivityLogEntries (Id GUID PRIMARY KEY, Name TEXT, Overview TEXT, ShortOverview TEXT, Type TEXT, ItemId TEXT, UserId TEXT, DateCreated DATETIME, LogSeverity TEXT)",
"create table if not exists ActivityLogEntries (Id GUID PRIMARY KEY NOT NULL, Name TEXT NOT NULL, Overview TEXT, ShortOverview TEXT, Type TEXT NOT NULL, ItemId TEXT, UserId TEXT, DateCreated DATETIME NOT NULL, LogSeverity TEXT NOT NULL)",
"create index if not exists idx_ActivityLogEntries on ActivityLogEntries(Id)"
};

@ -775,7 +775,14 @@ namespace Emby.Server.Implementations
}
// Put the app config in the log for troubleshooting purposes
Logger.LogMultiline("Application configuration:", LogSeverity.Info, new StringBuilder(JsonSerializer.SerializeToString(ConfigurationManager.CommonConfiguration)));
var configJson = new StringBuilder(JsonSerializer.SerializeToString(ConfigurationManager.CommonConfiguration));
if (!string.IsNullOrWhiteSpace(ServerConfigurationManager.Configuration.CertificatePassword))
{
configJson = configJson.Replace(ServerConfigurationManager.Configuration.CertificatePassword, "####");
}
Logger.LogMultiline("Application configuration:", LogSeverity.Info, configJson);
if (Plugins != null)
{
@ -792,6 +799,11 @@ namespace Emby.Server.Implementations
protected abstract IConnectManager CreateConnectManager();
protected abstract ISyncManager CreateSyncManager();
protected virtual IHttpClient CreateHttpClient()
{
return new HttpClientManager.HttpClientManager(ApplicationPaths, LogManager.GetLogger("HttpClient"), FileSystemManager, MemoryStreamFactory, GetDefaultUserAgent);
}
/// <summary>
/// Registers resources that classes will depend on
@ -814,7 +826,7 @@ namespace Emby.Server.Implementations
RegisterSingleInstance(FileSystemManager);
HttpClient = new HttpClientManager.HttpClientManager(ApplicationPaths, LogManager.GetLogger("HttpClient"), FileSystemManager, MemoryStreamFactory, GetDefaultUserAgent);
HttpClient = CreateHttpClient();
RegisterSingleInstance(HttpClient);
RegisterSingleInstance(NetworkManager);
@ -938,7 +950,9 @@ namespace Emby.Server.Implementations
ConnectManager = CreateConnectManager();
RegisterSingleInstance(ConnectManager);
DeviceManager = new DeviceManager(new DeviceRepository(ApplicationPaths, JsonSerializer, LogManager.GetLogger("DeviceManager"), FileSystemManager), UserManager, FileSystemManager, LibraryMonitor, ServerConfigurationManager, LogManager.GetLogger("DeviceManager"), NetworkManager);
var deviceRepo = new SqliteDeviceRepository(LogManager.GetLogger("DeviceManager"), ServerConfigurationManager, FileSystemManager, JsonSerializer);
deviceRepo.Initialize();
DeviceManager = new DeviceManager(deviceRepo, UserManager, FileSystemManager, LibraryMonitor, ServerConfigurationManager, LogManager.GetLogger("DeviceManager"), NetworkManager);
RegisterSingleInstance(DeviceManager);
var newsService = new Emby.Server.Implementations.News.NewsService(ApplicationPaths, JsonSerializer);
@ -1116,7 +1130,7 @@ namespace Emby.Server.Implementations
IsoManager.AddParts(list);
}
private string GetDefaultUserAgent()
protected string GetDefaultUserAgent()
{
var name = FormatAttribute(Name);

@ -373,7 +373,7 @@ namespace Emby.Server.Implementations.Channels
private async Task<Channel> GetChannel(IChannel channelInfo, CancellationToken cancellationToken)
{
var parentFolder = await GetInternalChannelFolder(cancellationToken).ConfigureAwait(false);
var parentFolder = GetInternalChannelFolder(cancellationToken);
var parentFolderId = parentFolder.Id;
var id = GetInternalChannelId(channelInfo.Name);
@ -434,7 +434,7 @@ namespace Emby.Server.Implementations.Channels
}
else if (forceUpdate)
{
await item.UpdateToRepository(ItemUpdateType.None, cancellationToken).ConfigureAwait(false);
item.UpdateToRepository(ItemUpdateType.None, cancellationToken);
}
await item.RefreshMetadata(new MetadataRefreshOptions(_fileSystem), cancellationToken);
@ -655,14 +655,12 @@ namespace Emby.Server.Implementations.Channels
// Avoid implicitly captured closure
var token = cancellationToken;
var itemTasks = items.Select(i =>
var internalItems = items.Select(i =>
{
var channelProvider = i.Item1;
var internalChannelId = GetInternalChannelId(channelProvider.Name);
return GetChannelItemEntity(i.Item2, channelProvider, internalChannelId, token);
});
var internalItems = await Task.WhenAll(itemTasks).ConfigureAwait(false);
}).ToArray();
internalItems = ApplyFilters(internalItems, query.Filters, user).ToArray();
RefreshIfNeeded(internalItems);
@ -802,14 +800,12 @@ namespace Emby.Server.Implementations.Channels
// Avoid implicitly captured closure
var token = cancellationToken;
var itemTasks = items.Select(i =>
var internalItems = items.Select(i =>
{
var channelProvider = i.Item1;
var internalChannelId = GetInternalChannelId(channelProvider.Name);
return GetChannelItemEntity(i.Item2, channelProvider, internalChannelId, token);
});
var internalItems = await Task.WhenAll(itemTasks).ConfigureAwait(false);
}).ToArray();
return new QueryResult<BaseItem>
{
@ -955,9 +951,7 @@ namespace Emby.Server.Implementations.Channels
var providerTotalRecordCount = providerLimit.HasValue ? itemsResult.TotalRecordCount : null;
var tasks = itemsResult.Items.Select(i => GetChannelItemEntity(i, channelProvider, channel.Id, cancellationToken));
var internalItems = await Task.WhenAll(tasks).ConfigureAwait(false);
var internalItems = itemsResult.Items.Select(i => GetChannelItemEntity(i, channelProvider, channel.Id, cancellationToken)).ToArray();
if (user != null)
{
@ -1234,7 +1228,7 @@ namespace Emby.Server.Implementations.Channels
return item;
}
private async Task<BaseItem> GetChannelItemEntity(ChannelItemInfo info, IChannel channelProvider, Guid internalChannelId, CancellationToken cancellationToken)
private BaseItem GetChannelItemEntity(ChannelItemInfo info, IChannel channelProvider, Guid internalChannelId, CancellationToken cancellationToken)
{
BaseItem item;
bool isNew;
@ -1399,7 +1393,7 @@ namespace Emby.Server.Implementations.Channels
}
else if (forceUpdate)
{
await item.UpdateToRepository(ItemUpdateType.None, cancellationToken).ConfigureAwait(false);
item.UpdateToRepository(ItemUpdateType.None, cancellationToken);
}
SaveMediaSources(item, info.MediaSources);
@ -1542,20 +1536,20 @@ namespace Emby.Server.Implementations.Channels
return items;
}
public async Task<BaseItemDto> GetChannelFolder(string userId, CancellationToken cancellationToken)
public BaseItemDto GetChannelFolder(string userId, CancellationToken cancellationToken)
{
var user = string.IsNullOrEmpty(userId) ? null : _userManager.GetUserById(userId);
var folder = await GetInternalChannelFolder(cancellationToken).ConfigureAwait(false);
var folder = GetInternalChannelFolder(cancellationToken);
return _dtoService.GetBaseItemDto(folder, new DtoOptions(), user);
}
public async Task<Folder> GetInternalChannelFolder(CancellationToken cancellationToken)
public Folder GetInternalChannelFolder(CancellationToken cancellationToken)
{
var name = _localization.GetLocalizedString("ViewTypeChannels");
var name = _localization.GetLocalizedString("Channels");
return await _libraryManager.GetNamedView(name, "channels", "zz_" + name, cancellationToken).ConfigureAwait(false);
return _libraryManager.GetNamedView(name, "channels", "zz_" + name, cancellationToken);
}
}

@ -203,7 +203,7 @@ namespace Emby.Server.Implementations.Collections
collection.UpdateRatingToContent();
await collection.UpdateToRepository(ItemUpdateType.MetadataEdit, CancellationToken.None).ConfigureAwait(false);
collection.UpdateToRepository(ItemUpdateType.MetadataEdit, CancellationToken.None);
_providerManager.QueueRefresh(collection.Id, refreshOptions, RefreshPriority.High);
@ -262,7 +262,7 @@ namespace Emby.Server.Implementations.Collections
collection.UpdateRatingToContent();
await collection.UpdateToRepository(ItemUpdateType.MetadataEdit, CancellationToken.None).ConfigureAwait(false);
collection.UpdateToRepository(ItemUpdateType.MetadataEdit, CancellationToken.None);
_providerManager.QueueRefresh(collection.Id, new MetadataRefreshOptions(_fileSystem), RefreshPriority.High);
EventHelper.FireEventIfNotNull(ItemsRemovedFromCollection, this, new CollectionModifiedEventArgs

@ -75,7 +75,7 @@ namespace Emby.Server.Implementations.Data
string[] queries = {
"create table if not exists userdisplaypreferences (id GUID, userId GUID, client text, data BLOB)",
"create table if not exists userdisplaypreferences (id GUID NOT NULL, userId GUID NOT NULL, client text NOT NULL, data BLOB NOT NULL)",
"create unique index if not exists userdisplaypreferencesindex on userdisplaypreferences (id, userId, client)"
};

@ -146,11 +146,11 @@ namespace Emby.Server.Implementations.Data
"create table if not exists TypedBaseItems (guid GUID primary key NOT NULL, type TEXT NOT NULL, data BLOB NULL, ParentId GUID NULL, Path TEXT NULL)",
"create table if not exists AncestorIds (ItemId GUID, AncestorId GUID, AncestorIdText TEXT, PRIMARY KEY (ItemId, AncestorId))",
"create table if not exists AncestorIds (ItemId GUID NOT NULL, AncestorId GUID NOT NULL, AncestorIdText TEXT NOT NULL, PRIMARY KEY (ItemId, AncestorId))",
"create index if not exists idx_AncestorIds1 on AncestorIds(AncestorId)",
"create index if not exists idx_AncestorIds5 on AncestorIds(AncestorIdText,ItemId)",
"create table if not exists ItemValues (ItemId GUID, Type INT, Value TEXT, CleanValue TEXT)",
"create table if not exists ItemValues (ItemId GUID NOT NULL, Type INT NOT NULL, Value TEXT NOT NULL, CleanValue TEXT NOT NULL)",
"create table if not exists People (ItemId GUID, Name TEXT NOT NULL, Role TEXT, PersonType TEXT, SortOrder int, ListOrder int)",
@ -158,7 +158,7 @@ namespace Emby.Server.Implementations.Data
"create index if not exists idxPeopleItemId1 on People(ItemId,ListOrder)",
"create index if not exists idxPeopleName on People(Name)",
"create table if not exists "+ChaptersTableName+" (ItemId GUID, ChapterIndex INT, StartPositionTicks BIGINT, Name TEXT, ImagePath TEXT, PRIMARY KEY (ItemId, ChapterIndex))",
"create table if not exists "+ChaptersTableName+" (ItemId GUID, ChapterIndex INT NOT NULL, StartPositionTicks BIGINT NOT NULL, Name TEXT, ImagePath TEXT, PRIMARY KEY (ItemId, ChapterIndex))",
createMediaStreamsTableCommand,
@ -616,6 +616,33 @@ namespace Emby.Server.Implementations.Data
SaveItems(new List<BaseItem> { item }, cancellationToken);
}
public void SaveImages(BaseItem item)
{
if (item == null)
{
throw new ArgumentNullException("item");
}
CheckDisposed();
using (WriteLock.Write())
{
using (var connection = CreateConnection())
{
connection.RunInTransaction(db =>
{
using (var saveImagesStatement = PrepareStatement(db, "Update TypedBaseItems set Images=@Images where guid=@Id"))
{
saveImagesStatement.TryBind("@Id", item.Id.ToGuidBlob());
saveImagesStatement.TryBind("@Images", SerializeImages(item));
saveImagesStatement.MoveNext();
}
}, TransactionMode);
}
}
}
/// <summary>
/// Saves the items.
/// </summary>
@ -1170,7 +1197,11 @@ namespace Emby.Server.Implementations.Data
delimeter +
image.DateModified.Ticks.ToString(CultureInfo.InvariantCulture) +
delimeter +
image.Type;
image.Type +
delimeter +
image.Width.ToString(CultureInfo.InvariantCulture) +
delimeter +
image.Height.ToString(CultureInfo.InvariantCulture);
}
public ItemImageInfo ItemImageInfoFromValueString(string value)
@ -1198,6 +1229,20 @@ namespace Emby.Server.Implementations.Data
image.Type = type;
}
if (parts.Length >= 5)
{
int width;
int height;
if (int.TryParse(parts[3], NumberStyles.Integer, CultureInfo.InvariantCulture, out width))
{
if (int.TryParse(parts[4], NumberStyles.Integer, CultureInfo.InvariantCulture, out height))
{
image.Width = width;
image.Height = height;
}
}
}
return image;
}
@ -3038,8 +3083,8 @@ namespace Emby.Server.Implementations.Data
{
if (orderBy.Count == 0)
{
orderBy.Add(new Tuple<string, SortOrder>(ItemSortBy.Random, SortOrder.Ascending));
orderBy.Add(new Tuple<string, SortOrder>("SimilarityScore", SortOrder.Descending));
orderBy.Add(new Tuple<string, SortOrder>(ItemSortBy.Random, SortOrder.Ascending));
//orderBy.Add(new Tuple<string, SortOrder>(ItemSortBy.Random, SortOrder.Ascending));
}
}

@ -52,7 +52,7 @@ namespace Emby.Server.Implementations.Data
{
string[] queries = {
"create table if not exists userdata (key nvarchar, userId GUID, rating float null, played bit, playCount int, isFavorite bit, playbackPositionTicks bigint, lastPlayedDate datetime null)",
"create table if not exists userdata (key nvarchar not null, userId GUID not null, rating float null, played bit not null, playCount int not null, isFavorite bit not null, playbackPositionTicks bigint not null, lastPlayedDate datetime null)",
"create table if not exists DataSettings (IsUserDataImported bit)",

@ -53,9 +53,8 @@ namespace Emby.Server.Implementations.Data
string[] queries = {
"create table if not exists users (guid GUID primary key, data BLOB)",
"create table if not exists users (guid GUID primary key NOT NULL, data BLOB NOT NULL)",
"create index if not exists idx_users on users(guid)",
"create table if not exists schema_version (table_name primary key, version)",
"pragma shrink_memory"
};

@ -28,7 +28,7 @@ namespace Emby.Server.Implementations.Devices
[IgnoreDataMember]
public override string CollectionType
{
get { return MediaBrowser.Model.Entities.CollectionType.Photos; }
get { return MediaBrowser.Model.Entities.CollectionType.HomeVideos; }
}
[IgnoreDataMember]

@ -50,7 +50,7 @@ namespace Emby.Server.Implementations.Devices
_network = network;
}
public async Task<DeviceInfo> RegisterDevice(string reportedId, string name, string appName, string appVersion, string usedByUserId)
public DeviceInfo RegisterDevice(string reportedId, string name, string appName, string appVersion, string usedByUserId)
{
if (string.IsNullOrWhiteSpace(reportedId))
{
@ -76,14 +76,16 @@ namespace Emby.Server.Implementations.Devices
device.DateLastModified = DateTime.UtcNow;
await _repo.SaveDevice(device).ConfigureAwait(false);
device.Name = string.IsNullOrWhiteSpace(device.CustomName) ? device.ReportedName : device.CustomName;
_repo.SaveDevice(device);
return device;
}
public Task SaveCapabilities(string reportedId, ClientCapabilities capabilities)
public void SaveCapabilities(string reportedId, ClientCapabilities capabilities)
{
return _repo.SaveCapabilities(reportedId, capabilities);
_repo.SaveCapabilities(reportedId, capabilities);
}
public ClientCapabilities GetCapabilities(string reportedId)
@ -98,13 +100,13 @@ namespace Emby.Server.Implementations.Devices
public QueryResult<DeviceInfo> GetDevices(DeviceQuery query)
{
IEnumerable<DeviceInfo> devices = _repo.GetDevices().OrderByDescending(i => i.DateLastModified);
IEnumerable<DeviceInfo> devices = _repo.GetDevices();
if (query.SupportsSync.HasValue)
{
var val = query.SupportsSync.Value;
devices = devices.Where(i => GetCapabilities(i.Id).SupportsSync == val);
devices = devices.Where(i => i.Capabilities.SupportsSync == val);
}
if (query.SupportsPersistentIdentifier.HasValue)
@ -113,8 +115,7 @@ namespace Emby.Server.Implementations.Devices
devices = devices.Where(i =>
{
var caps = GetCapabilities(i.Id);
var deviceVal = caps.SupportsPersistentIdentifier;
var deviceVal = i.Capabilities.SupportsPersistentIdentifier;
return deviceVal == val;
});
}
@ -132,9 +133,9 @@ namespace Emby.Server.Implementations.Devices
};
}
public Task DeleteDevice(string id)
public void DeleteDevice(string id)
{
return _repo.DeleteDevice(id);
_repo.DeleteDevice(id);
}
public ContentUploadHistory GetCameraUploadHistory(string deviceId)
@ -213,14 +214,16 @@ namespace Emby.Server.Implementations.Devices
get { return Path.Combine(_config.CommonApplicationPaths.DataPath, "camerauploads"); }
}
public async Task UpdateDeviceInfo(string id, DeviceOptions options)
public void UpdateDeviceInfo(string id, DeviceOptions options)
{
var device = GetDevice(id);
device.CustomName = options.CustomName;
device.CameraUploadPath = options.CameraUploadPath;
await _repo.SaveDevice(device).ConfigureAwait(false);
device.Name = string.IsNullOrWhiteSpace(device.CustomName) ? device.ReportedName : device.CustomName;
_repo.SaveDevice(device);
EventHelper.FireEventIfNotNull(DeviceOptionsUpdated, this, new GenericEventArgs<DeviceInfo>(device), _logger);
}

@ -1,212 +0,0 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using MediaBrowser.Common.Configuration;
using MediaBrowser.Common.Extensions;
using MediaBrowser.Controller.Devices;
using MediaBrowser.Model.Devices;
using MediaBrowser.Model.IO;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Serialization;
using MediaBrowser.Model.Session;
using MediaBrowser.Model.Extensions;
namespace Emby.Server.Implementations.Devices
{
public class DeviceRepository : IDeviceRepository
{
private readonly object _syncLock = new object();
private readonly IApplicationPaths _appPaths;
private readonly IJsonSerializer _json;
private readonly ILogger _logger;
private readonly IFileSystem _fileSystem;
private Dictionary<string, DeviceInfo> _devices;
public DeviceRepository(IApplicationPaths appPaths, IJsonSerializer json, ILogger logger, IFileSystem fileSystem)
{
_appPaths = appPaths;
_json = json;
_logger = logger;
_fileSystem = fileSystem;
}
private string GetDevicesPath()
{
return Path.Combine(_appPaths.DataPath, "devices");
}
private string GetDevicePath(string id)
{
return Path.Combine(GetDevicesPath(), id.GetMD5().ToString("N"));
}
public Task SaveDevice(DeviceInfo device)
{
var path = Path.Combine(GetDevicePath(device.Id), "device.json");
_fileSystem.CreateDirectory(_fileSystem.GetDirectoryName(path));
lock (_syncLock)
{
_json.SerializeToFile(device, path);
_devices[device.Id] = device;
}
return Task.FromResult(true);
}
public Task SaveCapabilities(string reportedId, ClientCapabilities capabilities)
{
var device = GetDevice(reportedId);
if (device == null)
{
throw new ArgumentException("No device has been registed with id " + reportedId);
}
device.Capabilities = capabilities;
SaveDevice(device);
return Task.FromResult(true);
}
public ClientCapabilities GetCapabilities(string reportedId)
{
var device = GetDevice(reportedId);
return device == null ? null : device.Capabilities;
}
public DeviceInfo GetDevice(string id)
{
if (string.IsNullOrWhiteSpace(id))
{
throw new ArgumentNullException("id");
}
return GetDevices()
.FirstOrDefault(i => string.Equals(i.Id, id, StringComparison.OrdinalIgnoreCase));
}
public IEnumerable<DeviceInfo> GetDevices()
{
lock (_syncLock)
{
if (_devices == null)
{
_devices = new Dictionary<string, DeviceInfo>(StringComparer.OrdinalIgnoreCase);
var devices = LoadDevices().ToList();
foreach (var device in devices)
{
_devices[device.Id] = device;
}
}
return _devices.Values.ToList();
}
}
private IEnumerable<DeviceInfo> LoadDevices()
{
var path = GetDevicesPath();
try
{
return _fileSystem
.GetFilePaths(path, true)
.Where(i => string.Equals(Path.GetFileName(i), "device.json", StringComparison.OrdinalIgnoreCase))
.ToList()
.Select(i =>
{
try
{
return _json.DeserializeFromFile<DeviceInfo>(i);
}
catch (Exception ex)
{
_logger.ErrorException("Error reading {0}", ex, i);
return null;
}
})
.Where(i => i != null);
}
catch (IOException)
{
return new List<DeviceInfo>();
}
}
public Task DeleteDevice(string id)
{
var path = GetDevicePath(id);
lock (_syncLock)
{
try
{
_fileSystem.DeleteDirectory(path, true);
}
catch (IOException)
{
}
_devices = null;
}
return Task.FromResult(true);
}
public ContentUploadHistory GetCameraUploadHistory(string deviceId)
{
var path = Path.Combine(GetDevicePath(deviceId), "camerauploads.json");
lock (_syncLock)
{
try
{
return _json.DeserializeFromFile<ContentUploadHistory>(path);
}
catch (IOException)
{
return new ContentUploadHistory
{
DeviceId = deviceId
};
}
}
}
public void AddCameraUpload(string deviceId, LocalFileInfo file)
{
var path = Path.Combine(GetDevicePath(deviceId), "camerauploads.json");
_fileSystem.CreateDirectory(_fileSystem.GetDirectoryName(path));
lock (_syncLock)
{
ContentUploadHistory history;
try
{
history = _json.DeserializeFromFile<ContentUploadHistory>(path);
}
catch (IOException)
{
history = new ContentUploadHistory
{
DeviceId = deviceId
};
}
history.DeviceId = deviceId;
var list = history.FilesUploaded.ToList();
list.Add(file);
history.FilesUploaded = list.ToArray(list.Count);
_json.SerializeToFile(history, path);
}
}
}
}

@ -0,0 +1,451 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Linq;
using Emby.Server.Implementations.Data;
using MediaBrowser.Controller;
using MediaBrowser.Model.Logging;
using SQLitePCL.pretty;
using MediaBrowser.Model.Extensions;
using MediaBrowser.Model.IO;
using MediaBrowser.Common.Extensions;
using MediaBrowser.Controller.Devices;
using MediaBrowser.Model.Devices;
using MediaBrowser.Model.Serialization;
using MediaBrowser.Model.Session;
using MediaBrowser.Controller.Configuration;
namespace Emby.Server.Implementations.Devices
{
public class SqliteDeviceRepository : BaseSqliteRepository, IDeviceRepository
{
private readonly CultureInfo _usCulture = new CultureInfo("en-US");
protected IFileSystem FileSystem { get; private set; }
private readonly object _syncLock = new object();
private readonly IJsonSerializer _json;
private IServerApplicationPaths _appPaths;
public SqliteDeviceRepository(ILogger logger, IServerConfigurationManager config, IFileSystem fileSystem, IJsonSerializer json)
: base(logger)
{
var appPaths = config.ApplicationPaths;
DbFilePath = Path.Combine(appPaths.DataPath, "devices.db");
FileSystem = fileSystem;
_json = json;
_appPaths = appPaths;
}
public void Initialize()
{
try
{
InitializeInternal();
}
catch (Exception ex)
{
Logger.ErrorException("Error loading database file. Will reset and retry.", ex);
FileSystem.DeleteFile(DbFilePath);
InitializeInternal();
}
}
private void InitializeInternal()
{
using (var connection = CreateConnection())
{
RunDefaultInitialization(connection);
string[] queries = {
"create table if not exists Devices (Id TEXT PRIMARY KEY, Name TEXT NOT NULL, ReportedName TEXT NOT NULL, CustomName TEXT, CameraUploadPath TEXT, LastUserName TEXT, AppName TEXT NOT NULL, AppVersion TEXT NOT NULL, LastUserId TEXT, DateLastModified DATETIME NOT NULL, Capabilities TEXT NOT NULL)",
"create index if not exists idx_id on Devices(Id)"
};
connection.RunQueries(queries);
MigrateDevices();
}
}
private void MigrateDevices()
{
List<string> files;
try
{
files = FileSystem
.GetFilePaths(GetDevicesPath(), true)
.Where(i => string.Equals(Path.GetFileName(i), "device.json", StringComparison.OrdinalIgnoreCase))
.ToList();
}
catch (IOException)
{
return;
}
foreach (var file in files)
{
try
{
var device = _json.DeserializeFromFile<DeviceInfo>(file);
device.Name = string.IsNullOrWhiteSpace(device.CustomName) ? device.ReportedName : device.CustomName;
SaveDevice(device);
}
catch (Exception ex)
{
Logger.ErrorException("Error reading {0}", ex, file);
}
finally
{
try
{
FileSystem.DeleteFile(file);
}
catch (IOException)
{
try
{
FileSystem.MoveFile(file, Path.ChangeExtension(file, ".old"));
}
catch (IOException)
{
}
}
}
}
}
private const string BaseSelectText = "select Id, Name, ReportedName, CustomName, CameraUploadPath, LastUserName, AppName, AppVersion, LastUserId, DateLastModified, Capabilities from Devices";
public void SaveCapabilities(string deviceId, ClientCapabilities capabilities)
{
using (WriteLock.Write())
{
using (var connection = CreateConnection())
{
connection.RunInTransaction(db =>
{
using (var statement = db.PrepareStatement("update devices set Capabilities=@Capabilities where Id=@Id"))
{
statement.TryBind("@Id", deviceId);
if (capabilities == null)
{
statement.TryBindNull("@Capabilities");
}
else
{
statement.TryBind("@Capabilities", _json.SerializeToString(capabilities));
}
statement.MoveNext();
}
}, TransactionMode);
}
}
}
public void SaveDevice(DeviceInfo entry)
{
if (entry == null)
{
throw new ArgumentNullException("entry");
}
using (WriteLock.Write())
{
using (var connection = CreateConnection())
{
connection.RunInTransaction(db =>
{
using (var statement = db.PrepareStatement("replace into Devices (Id, Name, ReportedName, CustomName, CameraUploadPath, LastUserName, AppName, AppVersion, LastUserId, DateLastModified, Capabilities) values (@Id, @Name, @ReportedName, @CustomName, @CameraUploadPath, @LastUserName, @AppName, @AppVersion, @LastUserId, @DateLastModified, @Capabilities)"))
{
statement.TryBind("@Id", entry.Id);
statement.TryBind("@Name", entry.Name);
statement.TryBind("@ReportedName", entry.ReportedName);
statement.TryBind("@CustomName", entry.CustomName);
statement.TryBind("@CameraUploadPath", entry.CameraUploadPath);
statement.TryBind("@LastUserName", entry.LastUserName);
statement.TryBind("@AppName", entry.AppName);
statement.TryBind("@AppVersion", entry.AppVersion);
statement.TryBind("@DateLastModified", entry.DateLastModified);
if (entry.Capabilities == null)
{
statement.TryBindNull("@Capabilities");
}
else
{
statement.TryBind("@Capabilities", _json.SerializeToString(entry.Capabilities));
}
statement.MoveNext();
}
}, TransactionMode);
}
}
}
public DeviceInfo GetDevice(string id)
{
using (WriteLock.Read())
{
using (var connection = CreateConnection(true))
{
var statementTexts = new List<string>();
statementTexts.Add(BaseSelectText + " where Id=@Id");
return connection.RunInTransaction(db =>
{
var statements = PrepareAllSafe(db, statementTexts).ToList();
using (var statement = statements[0])
{
statement.TryBind("@Id", id);
foreach (var row in statement.ExecuteQuery())
{
return GetEntry(row);
}
}
return null;
}, ReadTransactionMode);
}
}
}
public List<DeviceInfo> GetDevices()
{
using (WriteLock.Read())
{
using (var connection = CreateConnection(true))
{
var statementTexts = new List<string>();
statementTexts.Add(BaseSelectText + " order by DateLastModified desc");
return connection.RunInTransaction(db =>
{
var list = new List<DeviceInfo>();
var statements = PrepareAllSafe(db, statementTexts).ToList();
using (var statement = statements[0])
{
foreach (var row in statement.ExecuteQuery())
{
list.Add(GetEntry(row));
}
}
return list;
}, ReadTransactionMode);
}
}
}
public ClientCapabilities GetCapabilities(string id)
{
using (WriteLock.Read())
{
using (var connection = CreateConnection(true))
{
var statementTexts = new List<string>();
statementTexts.Add("Select Capabilities from Devices where Id=@Id");
return connection.RunInTransaction(db =>
{
var statements = PrepareAllSafe(db, statementTexts).ToList();
using (var statement = statements[0])
{
statement.TryBind("@Id", id);
foreach (var row in statement.ExecuteQuery())
{
if (row[0].SQLiteType != SQLiteType.Null)
{
return _json.DeserializeFromString<ClientCapabilities>(row.GetString(0));
}
}
}
return null;
}, ReadTransactionMode);
}
}
}
private DeviceInfo GetEntry(IReadOnlyList<IResultSetValue> reader)
{
var index = 0;
var info = new DeviceInfo
{
Id = reader.GetString(index)
};
index++;
if (reader[index].SQLiteType != SQLiteType.Null)
{
info.Name = reader.GetString(index);
}
index++;
if (reader[index].SQLiteType != SQLiteType.Null)
{
info.ReportedName = reader.GetString(index);
}
index++;
if (reader[index].SQLiteType != SQLiteType.Null)
{
info.CustomName = reader.GetString(index);
}
index++;
if (reader[index].SQLiteType != SQLiteType.Null)
{
info.CameraUploadPath = reader.GetString(index);
}
index++;
if (reader[index].SQLiteType != SQLiteType.Null)
{
info.LastUserName = reader.GetString(index);
}
index++;
if (reader[index].SQLiteType != SQLiteType.Null)
{
info.AppName = reader.GetString(index);
}
index++;
if (reader[index].SQLiteType != SQLiteType.Null)
{
info.AppVersion = reader.GetString(index);
}
index++;
if (reader[index].SQLiteType != SQLiteType.Null)
{
info.LastUserId = reader.GetString(index);
}
index++;
if (reader[index].SQLiteType != SQLiteType.Null)
{
info.DateLastModified = reader[index].ReadDateTime();
}
index++;
if (reader[index].SQLiteType != SQLiteType.Null)
{
info.Capabilities = _json.DeserializeFromString<ClientCapabilities>(reader.GetString(index));
}
return info;
}
private string GetDevicesPath()
{
return Path.Combine(_appPaths.DataPath, "devices");
}
private string GetDevicePath(string id)
{
return Path.Combine(GetDevicesPath(), id.GetMD5().ToString("N"));
}
public ContentUploadHistory GetCameraUploadHistory(string deviceId)
{
var path = Path.Combine(GetDevicePath(deviceId), "camerauploads.json");
lock (_syncLock)
{
try
{
return _json.DeserializeFromFile<ContentUploadHistory>(path);
}
catch (IOException)
{
return new ContentUploadHistory
{
DeviceId = deviceId
};
}
}
}
public void AddCameraUpload(string deviceId, LocalFileInfo file)
{
var path = Path.Combine(GetDevicePath(deviceId), "camerauploads.json");
FileSystem.CreateDirectory(FileSystem.GetDirectoryName(path));
lock (_syncLock)
{
ContentUploadHistory history;
try
{
history = _json.DeserializeFromFile<ContentUploadHistory>(path);
}
catch (IOException)
{
history = new ContentUploadHistory
{
DeviceId = deviceId
};
}
history.DeviceId = deviceId;
var list = history.FilesUploaded.ToList();
list.Add(file);
history.FilesUploaded = list.ToArray(list.Count);
_json.SerializeToFile(history, path);
}
}
public void DeleteDevice(string id)
{
using (WriteLock.Write())
{
using (var connection = CreateConnection())
{
connection.RunInTransaction(db =>
{
using (var statement = db.PrepareStatement("delete from devices where Id=@Id"))
{
statement.TryBind("@Id", id);
statement.MoveNext();
}
}, TransactionMode);
}
}
var path = GetDevicePath(id);
lock (_syncLock)
{
try
{
FileSystem.DeleteDirectory(path, true);
}
catch (IOException)
{
}
}
}
}
}

@ -116,9 +116,11 @@ namespace Emby.Server.Implementations.Dto
var channelTuples = new List<Tuple<BaseItemDto, LiveTvChannel>>();
var index = 0;
var allCollectionFolders = _libraryManager.GetUserRootFolder().Children.OfType<Folder>().ToList();
foreach (var item in items)
{
var dto = GetBaseItemDtoInternal(item, options, user, owner);
var dto = GetBaseItemDtoInternal(item, options, allCollectionFolders, user, owner);
var tvChannel = item as LiveTvChannel;
if (tvChannel != null)
@ -173,7 +175,8 @@ namespace Emby.Server.Implementations.Dto
{
var syncDictionary = GetSyncedItemProgress(options);
var dto = GetBaseItemDtoInternal(item, options, user, owner);
var allCollectionFolders = _libraryManager.GetUserRootFolder().Children.OfType<Folder>().ToList();
var dto = GetBaseItemDtoInternal(item, options, allCollectionFolders, user, owner);
var tvChannel = item as LiveTvChannel;
if (tvChannel != null)
{
@ -303,7 +306,7 @@ namespace Emby.Server.Implementations.Dto
}
}
private BaseItemDto GetBaseItemDtoInternal(BaseItem item, DtoOptions options, User user = null, BaseItem owner = null)
private BaseItemDto GetBaseItemDtoInternal(BaseItem item, DtoOptions options, List<Folder> allCollectionFolders, User user = null, BaseItem owner = null)
{
var fields = options.Fields;
@ -472,7 +475,8 @@ namespace Emby.Server.Implementations.Dto
public BaseItemDto GetItemByNameDto(BaseItem item, DtoOptions options, List<BaseItem> taggedItems, Dictionary<string, SyncedItemProgress> syncProgress, User user = null)
{
var dto = GetBaseItemDtoInternal(item, options, user);
var allCollectionFolders = _libraryManager.GetUserRootFolder().Children.OfType<Folder>().ToList();
var dto = GetBaseItemDtoInternal(item, options, allCollectionFolders, user);
if (taggedItems != null && options.Fields.Contains(ItemFields.ItemCounts))
{
@ -1604,12 +1608,12 @@ namespace Emby.Server.Implementations.Dto
/// <param name="dto">The dto.</param>
/// <param name="item">The item.</param>
/// <returns>Task.</returns>
public void AttachPrimaryImageAspectRatio(IItemDto dto, IHasMetadata item)
public void AttachPrimaryImageAspectRatio(IItemDto dto, BaseItem item)
{
dto.PrimaryImageAspectRatio = GetPrimaryImageAspectRatio(item);
}
public double? GetPrimaryImageAspectRatio(IHasMetadata item)
public double? GetPrimaryImageAspectRatio(BaseItem item)
{
var imageInfo = item.GetImageInfo(ImageType.Primary, 0);
@ -1642,16 +1646,18 @@ namespace Emby.Server.Implementations.Dto
return null;
}
return null;
_logger.Info("Getting image size for item type {0}", item.GetType().Name);
try
{
size = _imageProcessor.GetImageSize(imageInfo);
size = _imageProcessor.GetImageSize(item, imageInfo);
if (size.Width <= 0 || size.Height <= 0)
{
return null;
}
}
catch
catch (Exception ex)
{
//_logger.ErrorException("Failed to determine primary image aspect ratio for {0}", ex, path);
//_logger.ErrorException("Failed to determine primary image aspect ratio for {0}", ex, imageInfo.Path);
return null;
}
}

@ -67,7 +67,7 @@
<Compile Include="Devices\CameraUploadsFolder.cs" />
<Compile Include="Devices\DeviceId.cs" />
<Compile Include="Devices\DeviceManager.cs" />
<Compile Include="Devices\DeviceRepository.cs" />
<Compile Include="Devices\SqliteDeviceRepository.cs" />
<Compile Include="Diagnostics\CommonProcess.cs" />
<Compile Include="Diagnostics\ProcessFactory.cs" />
<Compile Include="Dto\DtoService.cs" />
@ -435,7 +435,6 @@
<Compile Include="Data\BaseSqliteRepository.cs" />
<Compile Include="Data\CleanDatabaseScheduledTask.cs" />
<Compile Include="Data\SqliteExtensions.cs" />
<Compile Include="Photos\PhotoAlbumImageProvider.cs" />
<Compile Include="Playlists\ManualPlaylistsFolder.cs" />
<Compile Include="Playlists\PlaylistImageProvider.cs" />
<Compile Include="Playlists\PlaylistManager.cs" />
@ -573,6 +572,7 @@
<Compile Include="Updates\InstallationManager.cs" />
<Compile Include="UserViews\CollectionFolderImageProvider.cs" />
<Compile Include="UserViews\DynamicImageProvider.cs" />
<Compile Include="UserViews\FolderImageProvider.cs" />
<Compile Include="Xml\XmlReaderSettingsFactory.cs" />
</ItemGroup>
<ItemGroup>
@ -675,46 +675,40 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Localization\countries.json" />
<EmbeddedResource Include="Localization\Core\ar.json" />
<EmbeddedResource Include="Localization\Core\bg-BG.json" />
<EmbeddedResource Include="Localization\Core\ca.json" />
<EmbeddedResource Include="Localization\Core\cs.json" />
<EmbeddedResource Include="Localization\Core\da.json" />
<EmbeddedResource Include="Localization\Core\de.json" />
<EmbeddedResource Include="Localization\Core\el.json" />
<EmbeddedResource Include="Localization\Core\en-GB.json" />
<EmbeddedResource Include="Localization\Core\en-US.json" />
<EmbeddedResource Include="Localization\Core\es-AR.json" />
<EmbeddedResource Include="Localization\Core\es-MX.json" />
<EmbeddedResource Include="Localization\Core\es.json" />
<EmbeddedResource Include="Localization\Core\fi.json" />
<EmbeddedResource Include="Localization\Core\fr-CA.json" />
<EmbeddedResource Include="Localization\Core\fr.json" />
<EmbeddedResource Include="Localization\Core\gsw.json" />
<EmbeddedResource Include="Localization\Core\he.json" />
<EmbeddedResource Include="Localization\Core\hr.json" />
<EmbeddedResource Include="Localization\Core\hu.json" />
<EmbeddedResource Include="Localization\Core\id.json" />
<EmbeddedResource Include="Localization\Core\it.json" />
<EmbeddedResource Include="Localization\Core\kk.json" />
<EmbeddedResource Include="Localization\Core\ko.json" />
<EmbeddedResource Include="Localization\Core\lt-LT.json" />
<EmbeddedResource Include="Localization\Core\ms.json" />
<EmbeddedResource Include="Localization\Core\nb.json" />
<EmbeddedResource Include="Localization\Core\nl.json" />
<EmbeddedResource Include="Localization\Core\pl.json" />
<EmbeddedResource Include="Localization\Core\pt-BR.json" />
<EmbeddedResource Include="Localization\Core\pt-PT.json" />
<EmbeddedResource Include="Localization\Core\ro.json" />
<EmbeddedResource Include="Localization\Core\ru.json" />
<EmbeddedResource Include="Localization\Core\sk.json" />
<EmbeddedResource Include="Localization\Core\sl-SI.json" />
<EmbeddedResource Include="Localization\Core\sv.json" />
<EmbeddedResource Include="Localization\Core\tr.json" />
<EmbeddedResource Include="Localization\Core\uk.json" />
<EmbeddedResource Include="Localization\Core\vi.json" />
<EmbeddedResource Include="Localization\Core\zh-CN.json" />
<EmbeddedResource Include="Localization\Core\zh-HK.json" />
<EmbeddedResource Include="Localization\Core\zh-TW.json" />
<EmbeddedResource Include="Localization\countries.json" />
<EmbeddedResource Include="Localization\Core\en-US.json" />
<None Include="packages.config" />
<None Include="TextEncoding\NLangDetect\Profiles\afr" />
<None Include="TextEncoding\NLangDetect\Profiles\ara" />

@ -49,18 +49,20 @@ namespace Emby.Server.Implementations.FFMpeg
var downloadInfo = _ffmpegInstallInfo;
var version = downloadInfo.Version;
if (string.Equals(version, "path", StringComparison.OrdinalIgnoreCase))
var prebuiltffmpeg = Path.Combine(_appPaths.ProgramSystemPath, downloadInfo.FFMpegFilename);
var prebuiltffprobe = Path.Combine(_appPaths.ProgramSystemPath, downloadInfo.FFProbeFilename);
if (_fileSystem.FileExists(prebuiltffmpeg) && _fileSystem.FileExists(prebuiltffprobe))
{
return new FFMpegInfo
{
ProbePath = downloadInfo.FFProbeFilename,
EncoderPath = downloadInfo.FFMpegFilename,
Version = version
ProbePath = prebuiltffprobe,
EncoderPath = prebuiltffmpeg,
Version = "external"
};
}
var version = downloadInfo.Version;
if (string.Equals(version, "0", StringComparison.OrdinalIgnoreCase))
{
return new FFMpegInfo();

@ -1,4 +1,5 @@
using System;
using System.Net.Http;
namespace Emby.Server.Implementations.HttpClientManager
{
@ -12,5 +13,6 @@ namespace Emby.Server.Implementations.HttpClientManager
/// </summary>
/// <value>The last timeout.</value>
public DateTime LastTimeout { get; set; }
public HttpClient HttpClient { get; set; }
}
}

@ -279,39 +279,9 @@ namespace Emby.Server.Implementations.HttpClientManager
public async Task<Stream> Get(HttpRequestOptions options)
{
var response = await GetResponse(options).ConfigureAwait(false);
return response.Content;
}
/// <summary>
/// Performs a GET request and returns the resulting stream
/// </summary>
/// <param name="url">The URL.</param>
/// <param name="resourcePool">The resource pool.</param>
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns>Task{Stream}.</returns>
public Task<Stream> Get(string url, SemaphoreSlim resourcePool, CancellationToken cancellationToken)
{
return Get(new HttpRequestOptions
{
Url = url,
ResourcePool = resourcePool,
CancellationToken = cancellationToken,
BufferContent = resourcePool != null
});
}
/// <summary>
/// Gets the specified URL.
/// </summary>
/// <param name="url">The URL.</param>
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns>Task{Stream}.</returns>
public Task<Stream> Get(string url, CancellationToken cancellationToken)
{
return Get(url, null, cancellationToken);
}
/// <summary>
/// send as an asynchronous operation.
/// </summary>
@ -350,8 +320,6 @@ namespace Emby.Server.Implementations.HttpClientManager
private async Task<HttpResponseInfo> GetCachedResponse(string responseCachePath, TimeSpan cacheLength, string url)
{
_logger.Info("Checking for cache file {0}", responseCachePath);
try
{
if (_fileSystem.GetLastWriteTimeUtc(responseCachePath).Add(cacheLength) > DateTime.UtcNow)
@ -429,10 +397,19 @@ namespace Emby.Server.Implementations.HttpClientManager
{
try
{
var bytes = options.RequestContentBytes ??
Encoding.UTF8.GetBytes(options.RequestContent ?? string.Empty);
// TODO: We can always put this in the options object if needed
var requestEncoding = Encoding.UTF8;
var bytes = options.RequestContentBytes ?? requestEncoding.GetBytes(options.RequestContent ?? string.Empty);
httpWebRequest.ContentType = options.RequestContentType ?? "application/x-www-form-urlencoded";
var contentType = options.RequestContentType ?? "application/x-www-form-urlencoded";
if (options.AppendCharsetToMimeType)
{
contentType = contentType.TrimEnd(';') + "; charset=\"utf-8\"";
}
httpWebRequest.ContentType = contentType;
httpWebRequest.ContentLength = bytes.Length;
(await httpWebRequest.GetRequestStreamAsync().ConfigureAwait(false)).Write(bytes, 0, bytes.Length);
@ -460,7 +437,14 @@ namespace Emby.Server.Implementations.HttpClientManager
if (options.LogRequest)
{
_logger.Info("HttpClientManager {0}: {1}", httpMethod.ToUpper(), options.Url);
if (options.LogRequestAsDebug)
{
_logger.Debug("HttpClientManager {0}: {1}", httpMethod.ToUpper(), options.Url);
}
else
{
_logger.Info("HttpClientManager {0}: {1}", httpMethod.ToUpper(), options.Url);
}
}
try
@ -589,26 +573,6 @@ namespace Emby.Server.Implementations.HttpClientManager
return response.Content;
}
/// <summary>
/// Performs a POST request
/// </summary>
/// <param name="url">The URL.</param>
/// <param name="postData">Params to add to the POST data.</param>
/// <param name="resourcePool">The resource pool.</param>
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns>stream on success, null on failure</returns>
public Task<Stream> Post(string url, Dictionary<string, string> postData, SemaphoreSlim resourcePool, CancellationToken cancellationToken)
{
return Post(new HttpRequestOptions
{
Url = url,
ResourcePool = resourcePool,
CancellationToken = cancellationToken,
BufferContent = resourcePool != null
}, postData);
}
/// <summary>
/// Downloads the contents of a given url into a temporary location
/// </summary>
@ -647,7 +611,14 @@ namespace Emby.Server.Implementations.HttpClientManager
if (options.LogRequest)
{
_logger.Info("HttpClientManager.GetTempFileResponse url: {0}", options.Url);
if (options.LogRequestAsDebug)
{
_logger.Debug("HttpClientManager.GetTempFileResponse url: {0}", options.Url);
}
else
{
_logger.Info("HttpClientManager.GetTempFileResponse url: {0}", options.Url);
}
}
var client = GetHttpClient(GetHostFromUrl(options.Url), options.EnableHttpCompression);
@ -891,18 +862,6 @@ namespace Emby.Server.Implementations.HttpClientManager
}
}
/// <summary>
/// Posts the specified URL.
/// </summary>
/// <param name="url">The URL.</param>
/// <param name="postData">The post data.</param>
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns>Task{Stream}.</returns>
public Task<Stream> Post(string url, Dictionary<string, string> postData, CancellationToken cancellationToken)
{
return Post(url, postData, null, cancellationToken);
}
private Task<WebResponse> GetResponseAsync(WebRequest request, TimeSpan timeout)
{
var taskCompletion = new TaskCompletionSource<WebResponse>();

@ -411,8 +411,6 @@ namespace Emby.Server.Implementations.HttpServer
host = host ?? string.Empty;
_logger.Debug("Validating host {0}", host);
if (_networkManager.IsInPrivateAddressSpace(host))
{
hosts.Add("localhost");
@ -725,12 +723,13 @@ namespace Emby.Server.Implementations.HttpServer
Summary = route.Summary
});
//routes.Add(new RouteAttribute(DoubleNormalizeEmbyRoutePath(route.Path), route.Verbs)
//{
// Notes = route.Notes,
// Priority = route.Priority,
// Summary = route.Summary
//});
// needed because apps add /emby, and some users also add /emby, thereby double prefixing
routes.Add(new RouteAttribute(DoubleNormalizeEmbyRoutePath(route.Path), route.Verbs)
{
Notes = route.Notes,
Priority = route.Priority,
Summary = route.Summary
});
}
return routes.ToArray(routes.Count);

@ -5,6 +5,7 @@ using System;
using System.Collections.Generic;
using MediaBrowser.Model.Services;
using System.Linq;
using System.Threading;
namespace Emby.Server.Implementations.HttpServer.Security
{
@ -95,23 +96,44 @@ namespace Emby.Server.Implementations.HttpServer.Security
{
info.UserId = tokenInfo.UserId;
var updateToken = false;
// TODO: Remove these checks for IsNullOrWhiteSpace
if (string.IsNullOrWhiteSpace(info.Client))
{
info.Client = tokenInfo.AppName;
}
if (string.IsNullOrWhiteSpace(info.DeviceId))
{
info.DeviceId = tokenInfo.DeviceId;
}
if (string.IsNullOrWhiteSpace(info.Device))
{
info.Device = tokenInfo.DeviceName;
}
if (string.IsNullOrWhiteSpace(info.DeviceId))
else if (!string.Equals(info.Device, tokenInfo.DeviceName, StringComparison.OrdinalIgnoreCase))
{
info.DeviceId = tokenInfo.DeviceId;
updateToken = true;
tokenInfo.DeviceName = info.Device;
}
if (string.IsNullOrWhiteSpace(info.Version))
{
info.Version = tokenInfo.AppVersion;
}
else if (!string.Equals(info.Version, tokenInfo.AppVersion, StringComparison.OrdinalIgnoreCase))
{
updateToken = true;
tokenInfo.AppVersion = info.Version;
}
if (updateToken)
{
_authRepo.Update(tokenInfo, CancellationToken.None);
}
}
else
{

@ -25,15 +25,6 @@ namespace Emby.Server.Implementations.HttpServer.Security
{
var authorization = _authContext.GetAuthorizationInfo(requestContext);
//if (!string.IsNullOrWhiteSpace(authorization.Token))
//{
// var auth = GetTokenInfo(requestContext);
// if (auth != null)
// {
// return _sessionManager.GetSessionByAuthenticationToken(auth, authorization.DeviceId, requestContext.RemoteIp, authorization.Version);
// }
//}
var user = string.IsNullOrWhiteSpace(authorization.UserId) ? null : _userManager.GetUserById(authorization.UserId);
return _sessionManager.LogSessionActivity(authorization.Client, authorization.Version, authorization.DeviceId, authorization.Device, requestContext.RemoteIp, user);
}

@ -154,20 +154,13 @@ namespace Emby.Server.Implementations.IO
.DistinctBy(i => i.Id)
.ToList();
//foreach (var p in paths)
//{
// Logger.Info(p + " reports change.");
//}
// If the root folder changed, run the library task so the user can see it
if (itemsToRefresh.Any(i => i is AggregateFolder))
{
LibraryManager.ValidateMediaLibrary(new SimpleProgress<double>(), CancellationToken.None);
return;
}
foreach (var item in itemsToRefresh)
{
if (item is AggregateFolder)
{
continue;
}
Logger.Info(item.Name + " (" + item.Path + ") will be refreshed.");
try

@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Text;
@ -24,12 +25,14 @@ namespace Emby.Server.Implementations.IO
private string _tempPath;
private SharpCifsFileSystem _sharpCifsFileSystem;
private IEnvironmentInfo _environmentInfo;
public ManagedFileSystem(ILogger logger, IEnvironmentInfo environmentInfo, string tempPath)
{
Logger = logger;
_supportsAsyncFileStreams = true;
_tempPath = tempPath;
_environmentInfo = environmentInfo;
// On Linux, this needs to be true or symbolic links are ignored
EnableFileSystemRequestConcat = environmentInfo.OperatingSystem != MediaBrowser.Model.System.OperatingSystem.Windows &&
@ -1051,7 +1054,25 @@ namespace Emby.Server.Implementations.IO
public virtual void SetExecutable(string path)
{
if (_environmentInfo.OperatingSystem == MediaBrowser.Model.System.OperatingSystem.OSX)
{
RunProcess("chmod", "+x \"" + path + "\"", GetDirectoryName(path));
}
}
private void RunProcess(string path, string args, string workingDirectory)
{
using (var process = Process.Start(new ProcessStartInfo
{
Arguments = args,
FileName = path,
CreateNoWindow = true,
WorkingDirectory = workingDirectory,
WindowStyle = ProcessWindowStyle.Normal
}))
{
process.WaitForExit();
}
}
}
}

@ -42,23 +42,14 @@ namespace Emby.Server.Implementations.Images
return true;
}
public virtual IEnumerable<ImageType> GetSupportedImages(IHasMetadata item)
public virtual ImageType[] GetSupportedImages(IHasMetadata item)
{
return new List<ImageType>
return new ImageType[]
{
ImageType.Primary,
ImageType.Thumb
ImageType.Primary
};
}
private IEnumerable<ImageType> GetEnabledImages(IHasMetadata item)
{
//var options = ProviderManager.GetMetadataOptions(item);
return GetSupportedImages(item);
//return GetSupportedImages(item).Where(i => IsEnabled(options, i, item)).ToList();
}
public async Task<ItemUpdateType> FetchAsync(T item, MetadataRefreshOptions options, CancellationToken cancellationToken)
{
if (!Supports(item))
@ -67,7 +58,7 @@ namespace Emby.Server.Implementations.Images
}
var updateType = ItemUpdateType.None;
var supportedImages = GetEnabledImages(item).ToList();
var supportedImages = GetSupportedImages(item);
if (supportedImages.Contains(ImageType.Primary))
{
@ -253,7 +244,7 @@ namespace Emby.Server.Implementations.Images
return false;
}
var supportedImages = GetEnabledImages(item).ToList();
var supportedImages = GetSupportedImages(item);
if (supportedImages.Contains(ImageType.Primary) && HasChanged(item, ImageType.Primary))
{
@ -283,8 +274,7 @@ namespace Emby.Server.Implementations.Images
return false;
}
var age = DateTime.UtcNow - image.DateModified;
if (age.TotalDays <= MaxImageAgeDays)
if (!HasChangedByDate(item, image))
{
return false;
}
@ -293,6 +283,16 @@ namespace Emby.Server.Implementations.Images
return true;
}
protected virtual bool HasChangedByDate(IHasMetadata item, ItemImageInfo image)
{
var age = DateTime.UtcNow - image.DateModified;
if (age.TotalDays <= MaxImageAgeDays)
{
return false;
}
return true;
}
protected List<BaseItem> GetFinalItems(IEnumerable<BaseItem> items)
{
return GetFinalItems(items, 4);

@ -738,8 +738,7 @@ namespace Emby.Server.Implementations.Library
if (folder.ParentId != rootFolder.Id)
{
folder.ParentId = rootFolder.Id;
var task = folder.UpdateToRepository(ItemUpdateType.MetadataImport, CancellationToken.None);
Task.WaitAll(task);
folder.UpdateToRepository(ItemUpdateType.MetadataImport, CancellationToken.None);
}
rootFolder.AddVirtualChild(folder);
@ -1827,6 +1826,13 @@ namespace Emby.Server.Implementations.Library
}
}
public void UpdateImages(BaseItem item)
{
ItemRepository.SaveImages(item);
RegisterItem(item);
}
/// <summary>
/// Updates the item.
/// </summary>
@ -1834,12 +1840,12 @@ namespace Emby.Server.Implementations.Library
/// <param name="updateReason">The update reason.</param>
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns>Task.</returns>
public async Task UpdateItem(BaseItem item, ItemUpdateType updateReason, CancellationToken cancellationToken)
public void UpdateItem(BaseItem item, ItemUpdateType updateReason, CancellationToken cancellationToken)
{
var locationType = item.LocationType;
if (locationType != LocationType.Remote && locationType != LocationType.Virtual)
{
await _providerManagerFactory().SaveMetadata(item, updateReason).ConfigureAwait(false);
_providerManagerFactory().SaveMetadata(item, updateReason);
}
item.DateLastSaved = DateTime.UtcNow;
@ -2053,7 +2059,7 @@ namespace Emby.Server.Implementations.Library
return GetNamedView(user, name, null, viewType, sortName, cancellationToken);
}
public async Task<UserView> GetNamedView(string name,
public UserView GetNamedView(string name,
string viewType,
string sortName,
CancellationToken cancellationToken)
@ -2100,7 +2106,7 @@ namespace Emby.Server.Implementations.Library
if (refresh)
{
await item.UpdateToRepository(ItemUpdateType.MetadataImport, CancellationToken.None).ConfigureAwait(false);
item.UpdateToRepository(ItemUpdateType.MetadataImport, CancellationToken.None);
_providerManagerFactory().QueueRefresh(item.Id, new MetadataRefreshOptions(_fileSystem)
{
// Not sure why this is necessary but need to figure it out
@ -2241,7 +2247,7 @@ namespace Emby.Server.Implementations.Library
return item;
}
public async Task<UserView> GetNamedView(string name,
public UserView GetNamedView(string name,
string parentId,
string viewType,
string sortName,
@ -2294,7 +2300,7 @@ namespace Emby.Server.Implementations.Library
if (!string.Equals(viewType, item.ViewType, StringComparison.OrdinalIgnoreCase))
{
item.ViewType = viewType;
await item.UpdateToRepository(ItemUpdateType.MetadataEdit, cancellationToken).ConfigureAwait(false);
item.UpdateToRepository(ItemUpdateType.MetadataEdit, cancellationToken);
}
var refresh = isNew || DateTime.UtcNow - item.DateLastRefreshed >= _viewRefreshInterval;
@ -2822,7 +2828,7 @@ namespace Emby.Server.Implementations.Library
await _providerManagerFactory().SaveImage(item, url, image.Type, imageIndex, CancellationToken.None).ConfigureAwait(false);
await item.UpdateToRepository(ItemUpdateType.ImageUpdate, CancellationToken.None).ConfigureAwait(false);
item.UpdateToRepository(ItemUpdateType.ImageUpdate, CancellationToken.None);
return item.GetImageInfo(image.Type, imageIndex);
}
@ -2838,7 +2844,7 @@ namespace Emby.Server.Implementations.Library
// Remove this image to prevent it from retrying over and over
item.RemoveImage(image);
await item.UpdateToRepository(ItemUpdateType.ImageUpdate, CancellationToken.None).ConfigureAwait(false);
item.UpdateToRepository(ItemUpdateType.ImageUpdate, CancellationToken.None);
throw new InvalidOperationException();
}

@ -54,7 +54,7 @@ namespace Emby.Server.Implementations.Library
{
cancellationToken.ThrowIfCancellationRequested();
await AssignTrailers(item, trailers).ConfigureAwait(false);
AssignTrailers(item, trailers);
numComplete++;
double percent = numComplete;
@ -65,7 +65,7 @@ namespace Emby.Server.Implementations.Library
progress.Report(100);
}
private async Task AssignTrailers(IHasTrailers item, IEnumerable<BaseItem> channelTrailers)
private void AssignTrailers(IHasTrailers item, IEnumerable<BaseItem> channelTrailers)
{
if (item is Game)
{
@ -98,8 +98,7 @@ namespace Emby.Server.Implementations.Library
item.RemoteTrailerIds = trailerIds;
var baseItem = (BaseItem)item;
await baseItem.UpdateToRepository(ItemUpdateType.MetadataImport, CancellationToken.None)
.ConfigureAwait(false);
baseItem.UpdateToRepository(ItemUpdateType.MetadataImport, CancellationToken.None);
}
}
}

@ -96,23 +96,17 @@ namespace Emby.Server.Implementations.Library
return GetMediaStreamsForItem(list);
}
private List<MediaStream> GetMediaStreamsForItem(IEnumerable<MediaStream> streams)
private List<MediaStream> GetMediaStreamsForItem(List<MediaStream> streams)
{
var list = streams.ToList();
var subtitleStreams = list
.Where(i => i.Type == MediaStreamType.Subtitle)
.ToList();
if (subtitleStreams.Count > 0)
foreach (var stream in streams)
{
foreach (var subStream in subtitleStreams)
if (stream.Type == MediaStreamType.Subtitle)
{
subStream.SupportsExternalStream = StreamSupportsExternalStream(subStream);
stream.SupportsExternalStream = StreamSupportsExternalStream(stream);
}
}
return list;
return streams;
}
public async Task<IEnumerable<MediaSourceInfo>> GetPlayackMediaSources(string id, string userId, bool enablePathSubstitution, string[] supportedLiveMediaTypes, CancellationToken cancellationToken)

@ -12,7 +12,7 @@ namespace Emby.Server.Implementations.Library.Resolvers.Books
/// </summary>
public class BookResolver : MediaBrowser.Controller.Resolvers.ItemResolver<Book>
{
private readonly string[] _validExtensions = {".pdf", ".epub", ".mobi", ".cbr", ".cbz"};
private readonly string[] _validExtensions = { ".pdf", ".epub", ".mobi", ".cbr", ".cbz", ".azw3" };
/// <summary>
///
@ -26,7 +26,7 @@ namespace Emby.Server.Implementations.Library.Resolvers.Books
// Only process items that are in a collection folder containing books
if (!string.Equals(collectionType, CollectionType.Books, StringComparison.OrdinalIgnoreCase))
return null;
if (args.IsDirectory)
{
return GetBook(args);
@ -69,9 +69,9 @@ namespace Emby.Server.Implementations.Library.Resolvers.Books
return null;
return new Book
{
Path = bookFiles[0].FullName
};
{
Path = bookFiles[0].FullName
};
}
}
}

@ -11,7 +11,7 @@ using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using MediaBrowser.Controller.Drawing;
using MediaBrowser.Controller.IO;
using MediaBrowser.Model.IO;
using MediaBrowser.Model.Logging;
@ -69,13 +69,13 @@ namespace Emby.Server.Implementations.Library.Resolvers.Movies
if (string.Equals(collectionType, CollectionType.MusicVideos, StringComparison.OrdinalIgnoreCase))
{
return ResolveVideos<MusicVideo>(parent, files, directoryService, true, collectionType);
return ResolveVideos<MusicVideo>(parent, files, directoryService, true, collectionType, false);
}
if (string.Equals(collectionType, CollectionType.HomeVideos, StringComparison.OrdinalIgnoreCase) ||
string.Equals(collectionType, CollectionType.Photos, StringComparison.OrdinalIgnoreCase))
{
return ResolveVideos<Video>(parent, files, directoryService, false, collectionType);
return ResolveVideos<Video>(parent, files, directoryService, false, collectionType, false);
}
if (string.IsNullOrWhiteSpace(collectionType))
@ -83,7 +83,7 @@ namespace Emby.Server.Implementations.Library.Resolvers.Movies
// Owned items should just use the plain video type
if (parent == null)
{
return ResolveVideos<Video>(parent, files, directoryService, false, collectionType);
return ResolveVideos<Video>(parent, files, directoryService, false, collectionType, false);
}
if (parent is Series || parent.GetParents().OfType<Series>().Any())
@ -91,18 +91,18 @@ namespace Emby.Server.Implementations.Library.Resolvers.Movies
return null;
}
return ResolveVideos<Movie>(parent, files, directoryService, false, collectionType);
return ResolveVideos<Movie>(parent, files, directoryService, false, collectionType, true);
}
if (string.Equals(collectionType, CollectionType.Movies, StringComparison.OrdinalIgnoreCase))
{
return ResolveVideos<Movie>(parent, files, directoryService, true, collectionType);
return ResolveVideos<Movie>(parent, files, directoryService, true, collectionType, true);
}
return null;
}
private MultiItemResolverResult ResolveVideos<T>(Folder parent, IEnumerable<FileSystemMetadata> fileSystemEntries, IDirectoryService directoryService, bool suppportMultiEditions, string collectionType)
private MultiItemResolverResult ResolveVideos<T>(Folder parent, IEnumerable<FileSystemMetadata> fileSystemEntries, IDirectoryService directoryService, bool suppportMultiEditions, string collectionType, bool parseName)
where T : Video, new()
{
var files = new List<FileSystemMetadata>();
@ -147,7 +147,7 @@ namespace Emby.Server.Implementations.Library.Resolvers.Movies
Items = videos
};
var isInMixedFolder = resolverResult.Count > 1;
var isInMixedFolder = resolverResult.Count > 1 || (parent != null && parent.IsTopParent);
foreach (var video in resolverResult)
{
@ -158,7 +158,9 @@ namespace Emby.Server.Implementations.Library.Resolvers.Movies
Path = video.Files[0].Path,
IsInMixedFolder = isInMixedFolder,
ProductionYear = video.Year,
Name = video.Name,
Name = parseName ?
video.Name :
Path.GetFileName(video.Files[0].Path),
AdditionalParts = video.Files.Skip(1).Select(i => i.Path).ToArray(),
LocalAlternateVersions = video.AlternateVersions.Select(i => i.Path).ToArray()
};
@ -214,12 +216,12 @@ namespace Emby.Server.Implementations.Library.Resolvers.Movies
if (string.Equals(collectionType, CollectionType.MusicVideos, StringComparison.OrdinalIgnoreCase))
{
return FindMovie<MusicVideo>(args.Path, args.Parent, files, args.DirectoryService, collectionType, true);
return FindMovie<MusicVideo>(args, args.Path, args.Parent, files, args.DirectoryService, collectionType, false);
}
if (string.Equals(collectionType, CollectionType.HomeVideos, StringComparison.OrdinalIgnoreCase))
{
return FindMovie<Video>(args.Path, args.Parent, files, args.DirectoryService, collectionType, false);
return FindMovie<Video>(args, args.Path, args.Parent, files, args.DirectoryService, collectionType, false);
}
if (string.IsNullOrEmpty(collectionType))
@ -237,13 +239,13 @@ namespace Emby.Server.Implementations.Library.Resolvers.Movies
}
{
return FindMovie<Movie>(args.Path, args.Parent, files, args.DirectoryService, collectionType, true);
return FindMovie<Movie>(args, args.Path, args.Parent, files, args.DirectoryService, collectionType, true);
}
}
if (string.Equals(collectionType, CollectionType.Movies, StringComparison.OrdinalIgnoreCase))
{
return FindMovie<Movie>(args.Path, args.Parent, files, args.DirectoryService, collectionType, true);
return FindMovie<Movie>(args, args.Path, args.Parent, files, args.DirectoryService, collectionType, true);
}
return null;
@ -359,11 +361,15 @@ namespace Emby.Server.Implementations.Library.Resolvers.Movies
/// </summary>
/// <typeparam name="T"></typeparam>
/// <returns>Movie.</returns>
private T FindMovie<T>(string path, Folder parent, List<FileSystemMetadata> fileSystemEntries, IDirectoryService directoryService, string collectionType, bool allowFilesAsFolders)
private T FindMovie<T>(ItemResolveArgs args, string path, Folder parent, List<FileSystemMetadata> fileSystemEntries, IDirectoryService directoryService, string collectionType, bool parseName)
where T : Video, new()
{
var multiDiscFolders = new List<FileSystemMetadata>();
var libraryOptions = args.GetLibraryOptions();
var supportPhotos = string.Equals(collectionType, CollectionType.HomeVideos, StringComparison.OrdinalIgnoreCase) && libraryOptions.EnablePhotos;
var photos = new List<FileSystemMetadata>();
// Search for a folder rip
foreach (var child in fileSystemEntries)
{
@ -404,30 +410,37 @@ namespace Emby.Server.Implementations.Library.Resolvers.Movies
Set3DFormat(movie);
return movie;
}
else if (supportPhotos && !child.IsHidden && PhotoResolver.IsImageFile(child.FullName, _imageProcessor))
{
photos.Add(child);
}
}
if (allowFilesAsFolders)
{
// TODO: Allow GetMultiDiscMovie in here
var supportsMultiVersion = !string.Equals(collectionType, CollectionType.HomeVideos) &&
!string.Equals(collectionType, CollectionType.Photos) &&
!string.Equals(collectionType, CollectionType.MusicVideos);
// TODO: Allow GetMultiDiscMovie in here
var supportsMultiVersion = !string.Equals(collectionType, CollectionType.HomeVideos) &&
!string.Equals(collectionType, CollectionType.Photos) &&
!string.Equals(collectionType, CollectionType.MusicVideos);
var result = ResolveVideos<T>(parent, fileSystemEntries, directoryService, supportsMultiVersion, collectionType, parseName) ??
new MultiItemResolverResult();
var result = ResolveVideos<T>(parent, fileSystemEntries, directoryService, supportsMultiVersion, collectionType) ??
new MultiItemResolverResult();
if (result.Items.Count == 1)
{
var videoPath = result.Items[0].Path;
var hasPhotos = photos.Any(i => !PhotoResolver.IsOwnedByResolvedMedia(LibraryManager, libraryOptions, videoPath, i.Name));
if (result.Items.Count == 1)
if (!hasPhotos)
{
var movie = (T)result.Items[0];
movie.IsInMixedFolder = false;
movie.Name = Path.GetFileName(movie.ContainingFolderPath);
return movie;
}
}
if (result.Items.Count == 0 && multiDiscFolders.Count > 0)
{
return GetMultiDiscMovie<T>(multiDiscFolders, directoryService);
}
if (result.Items.Count == 0 && multiDiscFolders.Count > 0)
{
return GetMultiDiscMovie<T>(multiDiscFolders, directoryService);
}
return null;
@ -542,8 +555,11 @@ namespace Emby.Server.Implementations.Library.Resolvers.Movies
return !validCollectionTypes.Contains(collectionType, StringComparer.OrdinalIgnoreCase);
}
public MovieResolver(ILibraryManager libraryManager, IFileSystem fileSystem) : base(libraryManager, fileSystem)
private IImageProcessor _imageProcessor;
public MovieResolver(ILibraryManager libraryManager, IFileSystem fileSystem, IImageProcessor imageProcessor) : base(libraryManager, fileSystem)
{
_imageProcessor = imageProcessor;
}
}
}

@ -12,9 +12,12 @@ namespace Emby.Server.Implementations.Library.Resolvers
public class PhotoAlbumResolver : FolderResolver<PhotoAlbum>
{
private readonly IImageProcessor _imageProcessor;
public PhotoAlbumResolver(IImageProcessor imageProcessor)
private ILibraryManager _libraryManager;
public PhotoAlbumResolver(IImageProcessor imageProcessor, ILibraryManager libraryManager)
{
_imageProcessor = imageProcessor;
_libraryManager = libraryManager;
}
/// <summary>
@ -25,14 +28,21 @@ namespace Emby.Server.Implementations.Library.Resolvers
protected override PhotoAlbum Resolve(ItemResolveArgs args)
{
// Must be an image file within a photo collection
if (args.IsDirectory && string.Equals(args.GetCollectionType(), CollectionType.Photos, StringComparison.OrdinalIgnoreCase))
if (args.IsDirectory)
{
if (HasPhotos(args))
// Must be an image file within a photo collection
var collectionType = args.GetCollectionType();
if (string.Equals(collectionType, CollectionType.Photos, StringComparison.OrdinalIgnoreCase) ||
(string.Equals(collectionType, CollectionType.HomeVideos, StringComparison.OrdinalIgnoreCase) && args.GetLibraryOptions().EnablePhotos))
{
return new PhotoAlbum
if (HasPhotos(args))
{
Path = args.Path
};
return new PhotoAlbum
{
Path = args.Path
};
}
}
}
@ -41,7 +51,32 @@ namespace Emby.Server.Implementations.Library.Resolvers
private bool HasPhotos(ItemResolveArgs args)
{
return args.FileSystemChildren.Any(i => (!i.IsDirectory) && PhotoResolver.IsImageFile(i.FullName, _imageProcessor));
var files = args.FileSystemChildren;
foreach (var file in files)
{
if (!file.IsDirectory && PhotoResolver.IsImageFile(file.FullName, _imageProcessor))
{
var libraryOptions = args.GetLibraryOptions();
var filename = file.Name;
var ownedByMedia = false;
foreach (var siblingFile in files)
{
if (PhotoResolver.IsOwnedByMedia(_libraryManager, libraryOptions, siblingFile.FullName, filename))
{
ownedByMedia = true;
break;
}
}
if (!ownedByMedia)
{
return true;
}
}
}
return false;
}
public override ResolverPriority Priority

@ -35,7 +35,6 @@ namespace Emby.Server.Implementations.Library.Resolvers
// Must be an image file within a photo collection
var collectionType = args.GetCollectionType();
if (string.Equals(collectionType, CollectionType.Photos, StringComparison.OrdinalIgnoreCase) ||
(string.Equals(collectionType, CollectionType.HomeVideos, StringComparison.OrdinalIgnoreCase) && args.GetLibraryOptions().EnablePhotos))
{
@ -44,9 +43,15 @@ namespace Emby.Server.Implementations.Library.Resolvers
var filename = Path.GetFileNameWithoutExtension(args.Path);
// Make sure the image doesn't belong to a video file
if (_fileSystem.GetFilePaths(_fileSystem.GetDirectoryName(args.Path)).Any(i => IsOwnedByMedia(args.GetLibraryOptions(), i, filename)))
var files = args.DirectoryService.GetFiles(_fileSystem.GetDirectoryName(args.Path));
var libraryOptions = args.GetLibraryOptions();
foreach (var file in files)
{
return null;
if (IsOwnedByMedia(_libraryManager, libraryOptions, file.FullName, filename))
{
return null;
}
}
return new Photo
@ -60,14 +65,21 @@ namespace Emby.Server.Implementations.Library.Resolvers
return null;
}
private bool IsOwnedByMedia(LibraryOptions libraryOptions, string file, string imageFilename)
internal static bool IsOwnedByMedia(ILibraryManager libraryManager, LibraryOptions libraryOptions, string file, string imageFilename)
{
if (_libraryManager.IsVideoFile(file, libraryOptions))
if (libraryManager.IsVideoFile(file, libraryOptions))
{
if (imageFilename.StartsWith(Path.GetFileNameWithoutExtension(file), StringComparison.OrdinalIgnoreCase))
{
return true;
}
return IsOwnedByResolvedMedia(libraryManager, libraryOptions, file, imageFilename);
}
return false;
}
internal static bool IsOwnedByResolvedMedia(ILibraryManager libraryManager, LibraryOptions libraryOptions, string file, string imageFilename)
{
if (imageFilename.StartsWith(Path.GetFileNameWithoutExtension(file), StringComparison.OrdinalIgnoreCase))
{
return true;
}
return false;
@ -81,7 +93,8 @@ namespace Emby.Server.Implementations.Library.Resolvers
"fanart",
"backdrop",
"poster",
"cover"
"cover",
"logo"
};
internal static bool IsImageFile(string path, IImageProcessor imageProcessor)

@ -55,10 +55,10 @@ namespace Emby.Server.Implementations.Library.Resolvers.TV
if (season.IndexNumber.HasValue)
{
var seasonNumber = season.IndexNumber.Value;
season.Name = seasonNumber == 0 ?
args.LibraryOptions.SeasonZeroDisplayName :
string.Format(_localization.GetLocalizedString("NameSeasonNumber"), seasonNumber.ToString(UsCulture));
string.Format(_localization.GetLocalizedString("NameSeasonNumber"), seasonNumber.ToString(UsCulture), args.GetLibraryOptions().PreferredMetadataLanguage);
}
return season;

@ -95,14 +95,18 @@ namespace Emby.Server.Implementations.Library
if (parents.Count > 0)
{
list.Add(GetUserView(parents, viewType, string.Empty, user, query.PresetViews, cancellationToken));
var localizationKey = string.Equals(viewType, CollectionType.TvShows, StringComparison.OrdinalIgnoreCase) ?
"TvShows" :
"Movies";
list.Add(GetUserView(parents, viewType, localizationKey, string.Empty, user, query.PresetViews, cancellationToken));
}
}
if (_config.Configuration.EnableFolderView)
{
var name = _localizationManager.GetLocalizedString("ViewType" + CollectionType.Folders);
list.Add(await _libraryManager.GetNamedView(name, CollectionType.Folders, string.Empty, cancellationToken).ConfigureAwait(false));
var name = _localizationManager.GetLocalizedString("Folders");
list.Add(_libraryManager.GetNamedView(name, CollectionType.Folders, string.Empty, cancellationToken));
}
if (query.IncludeExternalContent)
@ -117,7 +121,7 @@ namespace Emby.Server.Implementations.Library
if (_config.Configuration.EnableChannelView && channels.Length > 0)
{
list.Add(await _channelManager.GetInternalChannelFolder(cancellationToken).ConfigureAwait(false));
list.Add(_channelManager.GetInternalChannelFolder(cancellationToken));
}
else
{
@ -126,7 +130,7 @@ namespace Emby.Server.Implementations.Library
if (_liveTvManager.GetEnabledUsers().Select(i => i.Id.ToString("N")).Contains(query.UserId))
{
list.Add(await _liveTvManager.GetInternalLiveTvFolder(CancellationToken.None).ConfigureAwait(false));
list.Add(_liveTvManager.GetInternalLiveTvFolder(CancellationToken.None));
}
}
@ -158,21 +162,21 @@ namespace Emby.Server.Implementations.Library
.ToArray();
}
public Task<UserView> GetUserSubView(string name, string parentId, string type, string sortName, CancellationToken cancellationToken)
public UserView GetUserSubViewWithName(string name, string parentId, string type, string sortName, CancellationToken cancellationToken)
{
var uniqueId = parentId + "subview" + type;
return _libraryManager.GetNamedView(name, parentId, type, sortName, uniqueId, cancellationToken);
}
public Task<UserView> GetUserSubView(string parentId, string type, string sortName, CancellationToken cancellationToken)
public UserView GetUserSubView(string parentId, string type, string localizationKey, string sortName, CancellationToken cancellationToken)
{
var name = _localizationManager.GetLocalizedString("ViewType" + type);
var name = _localizationManager.GetLocalizedString(localizationKey);
return GetUserSubView(name, parentId, type, sortName, cancellationToken);
return GetUserSubViewWithName(name, parentId, type, sortName, cancellationToken);
}
private Folder GetUserView(List<ICollectionFolder> parents, string viewType, string sortName, User user, string[] presetViews, CancellationToken cancellationToken)
private Folder GetUserView(List<ICollectionFolder> parents, string viewType, string localizationKey, string sortName, User user, string[] presetViews, CancellationToken cancellationToken)
{
if (parents.Count == 1 && parents.All(i => string.Equals(i.CollectionType, viewType, StringComparison.OrdinalIgnoreCase)))
{
@ -184,7 +188,7 @@ namespace Emby.Server.Implementations.Library
return GetUserView((Folder)parents[0], viewType, string.Empty, cancellationToken);
}
var name = _localizationManager.GetLocalizedString("ViewType" + viewType);
var name = _localizationManager.GetLocalizedString(localizationKey);
return _libraryManager.GetNamedView(user, name, viewType, sortName, cancellationToken);
}

@ -1222,7 +1222,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
_logger.Info("Closing live stream {0}", id);
await stream.Close().ConfigureAwait(false);
stream.Close();
_logger.Info("Live stream {0} closed successfully", id);
}
}
@ -1286,9 +1286,9 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
Id = timer.Id
};
if (_activeRecordings.TryAdd(timer.Id, activeRecordingInfo))
if (!_activeRecordings.ContainsKey(timer.Id))
{
await RecordStream(timer, recordingEndDate, activeRecordingInfo, activeRecordingInfo.CancellationTokenSource.Token).ConfigureAwait(false);
await RecordStream(timer, recordingEndDate, activeRecordingInfo).ConfigureAwait(false);
}
else
{
@ -1397,8 +1397,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
return Path.Combine(recordPath, recordingFileName);
}
private async Task RecordStream(TimerInfo timer, DateTime recordingEndDate,
ActiveRecordingInfo activeRecordingInfo, CancellationToken cancellationToken)
private async Task RecordStream(TimerInfo timer, DateTime recordingEndDate, ActiveRecordingInfo activeRecordingInfo)
{
if (timer == null)
{
@ -1420,19 +1419,18 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
if (programInfo != null)
{
CopyProgramInfoToTimerInfo(programInfo, timer);
//activeRecordingInfo.Program = programInfo;
}
string seriesPath = null;
var recordPath = GetRecordingPath(timer, out seriesPath);
var recordingStatus = RecordingStatus.New;
var recorder = await GetRecorder().ConfigureAwait(false);
string liveStreamId = null;
try
{
var recorder = await GetRecorder().ConfigureAwait(false);
var allMediaSources = await GetChannelStreamMediaSources(timer.ChannelId, CancellationToken.None).ConfigureAwait(false);
_logger.Info("Opening recording stream from tuner provider");
@ -1442,14 +1440,10 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
var mediaStreamInfo = liveStreamInfo.Item2;
liveStreamId = mediaStreamInfo.Id;
// HDHR doesn't seem to release the tuner right away after first probing with ffmpeg
//await Task.Delay(3000, cancellationToken).ConfigureAwait(false);
recordPath = recorder.GetOutputPath(mediaStreamInfo, recordPath);
recordPath = EnsureFileUnique(recordPath, timer.Id);
_libraryMonitor.ReportFileSystemChangeBeginning(recordPath);
activeRecordingInfo.Path = recordPath;
var duration = recordingEndDate - DateTime.UtcNow;
@ -1459,15 +1453,22 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
Action onStarted = async () =>
{
activeRecordingInfo.Path = recordPath;
_activeRecordings.TryAdd(timer.Id, activeRecordingInfo);
timer.Status = RecordingStatus.InProgress;
_timerProvider.AddOrUpdate(timer, false);
await SaveRecordingMetadata(timer, recordPath, seriesPath).ConfigureAwait(false);
CreateRecordingFolders();
TriggerRefresh(recordPath);
EnforceKeepUpTo(timer, seriesPath);
};
await recorder.Record(liveStreamInfo.Item1 as IDirectStreamProvider, mediaStreamInfo, recordPath, duration, onStarted, cancellationToken).ConfigureAwait(false);
await recorder.Record(liveStreamInfo.Item1 as IDirectStreamProvider, mediaStreamInfo, recordPath, duration, onStarted, activeRecordingInfo.CancellationTokenSource.Token).ConfigureAwait(false);
recordingStatus = RecordingStatus.Completed;
_logger.Info("Recording completed: {0}", recordPath);
@ -1507,6 +1508,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
_logger.Info("Retrying recording in {0} seconds.", retryIntervalSeconds);
timer.Status = RecordingStatus.New;
timer.PrePaddingSeconds = 0;
timer.StartDate = DateTime.UtcNow.AddSeconds(retryIntervalSeconds);
timer.RetryCount++;
_timerProvider.AddOrUpdate(timer);
@ -1526,13 +1528,13 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
private void TriggerRefresh(string path)
{
_logger.Debug("Triggering refresh on {0}", path);
_logger.Info("Triggering refresh on {0}", path);
var item = GetAffectedBaseItem(_fileSystem.GetDirectoryName(path));
if (item != null)
{
_logger.Debug("Refreshing recording parent {0}", item.Path);
_logger.Info("Refreshing recording parent {0}", item.Path);
_providerManager.QueueRefresh(item.Id, new MetadataRefreshOptions(_fileSystem)
{

@ -272,11 +272,6 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
private bool EncodeVideo(MediaSourceInfo mediaSource)
{
if (string.Equals(_liveTvOptions.RecordedVideoCodec, "copy", StringComparison.OrdinalIgnoreCase))
{
return false;
}
var mediaStreams = mediaSource.MediaStreams ?? new List<MediaStream>();
return !mediaStreams.Any(i => i.Type == MediaStreamType.Video && string.Equals(i.Codec, "h264", StringComparison.OrdinalIgnoreCase) && !i.IsInterlaced);
}

@ -541,27 +541,30 @@ namespace Emby.Server.Implementations.LiveTv.Listings
try
{
using (Stream responce = await Get(options, false, info).ConfigureAwait(false))
using (var httpResponse = await Get(options, false, info).ConfigureAwait(false))
{
var root = _jsonSerializer.DeserializeFromStream<List<ScheduleDirect.Headends>>(responce);
if (root != null)
using (Stream responce = httpResponse.Content)
{
foreach (ScheduleDirect.Headends headend in root)
var root = _jsonSerializer.DeserializeFromStream<List<ScheduleDirect.Headends>>(responce);
if (root != null)
{
foreach (ScheduleDirect.Lineup lineup in headend.lineups)
foreach (ScheduleDirect.Headends headend in root)
{
lineups.Add(new NameIdPair
foreach (ScheduleDirect.Lineup lineup in headend.lineups)
{
Name = string.IsNullOrWhiteSpace(lineup.name) ? lineup.lineup : lineup.name,
Id = lineup.uri.Substring(18)
});
lineups.Add(new NameIdPair
{
Name = string.IsNullOrWhiteSpace(lineup.name) ? lineup.lineup : lineup.name,
Id = lineup.uri.Substring(18)
});
}
}
}
}
else
{
_logger.Info("No lineups available");
else
{
_logger.Info("No lineups available");
}
}
}
}
@ -647,6 +650,9 @@ namespace Emby.Server.Implementations.LiveTv.Listings
bool enableRetry,
ListingsProviderInfo providerInfo)
{
// Schedules direct requires that the client support compression and will return a 400 response without it
options.EnableHttpCompression = true;
try
{
return await _httpClient.Post(options).ConfigureAwait(false);
@ -671,13 +677,16 @@ namespace Emby.Server.Implementations.LiveTv.Listings
return await Post(options, false, providerInfo).ConfigureAwait(false);
}
private async Task<Stream> Get(HttpRequestOptions options,
private async Task<HttpResponseInfo> Get(HttpRequestOptions options,
bool enableRetry,
ListingsProviderInfo providerInfo)
{
// Schedules direct requires that the client support compression and will return a 400 response without it
options.EnableHttpCompression = true;
try
{
return await _httpClient.Get(options).ConfigureAwait(false);
return await _httpClient.SendAsync(options, "GET").ConfigureAwait(false);
}
catch (HttpException ex)
{
@ -797,11 +806,14 @@ namespace Emby.Server.Implementations.LiveTv.Listings
try
{
using (var response = await Get(options, false, null).ConfigureAwait(false))
using (var httpResponse = await Get(options, false, null).ConfigureAwait(false))
{
var root = _jsonSerializer.DeserializeFromStream<ScheduleDirect.Lineups>(response);
using (var response = httpResponse.Content)
{
var root = _jsonSerializer.DeserializeFromStream<ScheduleDirect.Lineups>(response);
return root.lineups.Any(i => string.Equals(info.ListingsId, i.lineup, StringComparison.OrdinalIgnoreCase));
return root.lineups.Any(i => string.Equals(info.ListingsId, i.lineup, StringComparison.OrdinalIgnoreCase));
}
}
}
catch (HttpException ex)
@ -879,53 +891,56 @@ namespace Emby.Server.Implementations.LiveTv.Listings
var list = new List<ChannelInfo>();
using (var response = await Get(httpOptions, true, info).ConfigureAwait(false))
using (var httpResponse = await Get(httpOptions, true, info).ConfigureAwait(false))
{
var root = _jsonSerializer.DeserializeFromStream<ScheduleDirect.Channel>(response);
_logger.Info("Found " + root.map.Count + " channels on the lineup on ScheduleDirect");
_logger.Info("Mapping Stations to Channel");
var allStations = root.stations ?? new List<ScheduleDirect.Station>();
foreach (ScheduleDirect.Map map in root.map)
using (var response = httpResponse.Content)
{
var channelNumber = GetChannelNumber(map);
var station = allStations.FirstOrDefault(item => string.Equals(item.stationID, map.stationID, StringComparison.OrdinalIgnoreCase));
if (station == null)
{
station = new ScheduleDirect.Station
{
stationID = map.stationID
};
}
var root = _jsonSerializer.DeserializeFromStream<ScheduleDirect.Channel>(response);
_logger.Info("Found " + root.map.Count + " channels on the lineup on ScheduleDirect");
_logger.Info("Mapping Stations to Channel");
var name = channelNumber;
var allStations = root.stations ?? new List<ScheduleDirect.Station>();
var channelInfo = new ChannelInfo
foreach (ScheduleDirect.Map map in root.map)
{
Number = channelNumber,
Name = name
};
var channelNumber = GetChannelNumber(map);
if (station != null)
{
if (!string.IsNullOrWhiteSpace(station.name))
var station = allStations.FirstOrDefault(item => string.Equals(item.stationID, map.stationID, StringComparison.OrdinalIgnoreCase));
if (station == null)
{
channelInfo.Name = station.name;
station = new ScheduleDirect.Station
{
stationID = map.stationID
};
}
channelInfo.Id = station.stationID;
channelInfo.CallSign = station.callsign;
var name = channelNumber;
var channelInfo = new ChannelInfo
{
Number = channelNumber,
Name = name
};
if (station.logo != null)
if (station != null)
{
channelInfo.ImageUrl = station.logo.URL;
channelInfo.HasImage = true;
if (!string.IsNullOrWhiteSpace(station.name))
{
channelInfo.Name = station.name;
}
channelInfo.Id = station.stationID;
channelInfo.CallSign = station.callsign;
if (station.logo != null)
{
channelInfo.ImageUrl = station.logo.URL;
channelInfo.HasImage = true;
}
}
}
list.Add(channelInfo);
list.Add(channelInfo);
}
}
}

@ -110,7 +110,15 @@ namespace Emby.Server.Implementations.LiveTv.Listings
var tempFolder = Path.Combine(_config.ApplicationPaths.TempDirectory, Guid.NewGuid().ToString());
_fileSystem.CreateDirectory(tempFolder);
_zipClient.ExtractAllFromGz(stream, tempFolder, true);
try
{
_zipClient.ExtractAllFromGz(stream, tempFolder, true);
}
catch
{
// If the extraction fails just return the original file, it could be a gz
return file;
}
return _fileSystem.GetFiles(tempFolder, true)
.Where(i => string.Equals(i.Extension, ".xml", StringComparison.OrdinalIgnoreCase))

@ -89,6 +89,11 @@ namespace Emby.Server.Implementations.LiveTv
if (channel != null)
{
dto.ChannelName = channel.Name;
if (channel.HasImage(ImageType.Primary))
{
dto.ChannelPrimaryImageTag = GetImageTag(channel);
}
}
return dto;

@ -173,11 +173,11 @@ namespace Emby.Server.Implementations.LiveTv
}
}
public async Task<QueryResult<BaseItem>> GetInternalChannels(LiveTvChannelQuery query, DtoOptions dtoOptions, CancellationToken cancellationToken)
public QueryResult<BaseItem> GetInternalChannels(LiveTvChannelQuery query, DtoOptions dtoOptions, CancellationToken cancellationToken)
{
var user = string.IsNullOrEmpty(query.UserId) ? null : _userManager.GetUserById(query.UserId);
var topFolder = await GetInternalLiveTvFolder(cancellationToken).ConfigureAwait(false);
var topFolder = GetInternalLiveTvFolder(cancellationToken);
var internalQuery = new InternalItemsQuery(user)
{
@ -527,18 +527,18 @@ namespace Emby.Server.Implementations.LiveTv
item.ChannelType = channelInfo.ChannelType;
item.ServiceName = serviceName;
if (!string.Equals(channelInfo.Number, item.Number, StringComparison.Ordinal))
{
forceUpdate = true;
}
item.Number = channelInfo.Number;
//if (!string.Equals(item.ProviderImageUrl, channelInfo.ImageUrl, StringComparison.OrdinalIgnoreCase))
//{
// isNew = true;
// replaceImages.Add(ImageType.Primary);
//}
//if (!string.Equals(item.ProviderImagePath, channelInfo.ImagePath, StringComparison.OrdinalIgnoreCase))
//{
// isNew = true;
// replaceImages.Add(ImageType.Primary);
//}
if (!string.Equals(channelInfo.Name, item.Name, StringComparison.Ordinal))
{
forceUpdate = true;
}
item.Name = channelInfo.Name;
if (!item.HasImage(ImageType.Primary))
{
@ -554,18 +554,13 @@ namespace Emby.Server.Implementations.LiveTv
}
}
if (string.IsNullOrEmpty(item.Name))
{
item.Name = channelInfo.Name;
}
if (isNew)
{
_libraryManager.CreateItem(item, cancellationToken);
}
else if (forceUpdate)
{
await _libraryManager.UpdateItem(item, ItemUpdateType.MetadataImport, cancellationToken).ConfigureAwait(false);
_libraryManager.UpdateItem(item, ItemUpdateType.MetadataImport, cancellationToken);
}
await item.RefreshMetadata(new MetadataRefreshOptions(_fileSystem)
@ -760,7 +755,7 @@ namespace Emby.Server.Implementations.LiveTv
return new Tuple<LiveTvProgram, bool, bool>(item, isNew, isUpdated);
}
private async Task<Guid> CreateRecordingRecord(RecordingInfo info, string serviceName, Guid parentFolderId, CancellationToken cancellationToken)
private Guid CreateRecordingRecord(RecordingInfo info, string serviceName, Guid parentFolderId, CancellationToken cancellationToken)
{
var isNew = false;
@ -892,7 +887,7 @@ namespace Emby.Server.Implementations.LiveTv
else if (dataChanged || info.DateLastUpdated > recording.DateLastSaved || statusChanged)
{
metadataRefreshMode = MetadataRefreshMode.FullRefresh;
await _libraryManager.UpdateItem(item, ItemUpdateType.MetadataImport, cancellationToken).ConfigureAwait(false);
_libraryManager.UpdateItem(item, ItemUpdateType.MetadataImport, cancellationToken);
}
if (info.Status != RecordingStatus.InProgress)
@ -928,7 +923,7 @@ namespace Emby.Server.Implementations.LiveTv
{
var user = string.IsNullOrEmpty(query.UserId) ? null : _userManager.GetUserById(query.UserId);
var topFolder = await GetInternalLiveTvFolder(cancellationToken).ConfigureAwait(false);
var topFolder = GetInternalLiveTvFolder(cancellationToken);
if (query.OrderBy.Length == 0)
{
@ -1007,11 +1002,11 @@ namespace Emby.Server.Implementations.LiveTv
return result;
}
public async Task<QueryResult<BaseItem>> GetRecommendedProgramsInternal(RecommendedProgramQuery query, DtoOptions options, CancellationToken cancellationToken)
public QueryResult<BaseItem> GetRecommendedProgramsInternal(RecommendedProgramQuery query, DtoOptions options, CancellationToken cancellationToken)
{
var user = _userManager.GetUserById(query.UserId);
var topFolder = await GetInternalLiveTvFolder(cancellationToken).ConfigureAwait(false);
var topFolder = GetInternalLiveTvFolder(cancellationToken);
var internalQuery = new InternalItemsQuery(user)
{
@ -1072,11 +1067,11 @@ namespace Emby.Server.Implementations.LiveTv
return result;
}
public async Task<QueryResult<BaseItemDto>> GetRecommendedPrograms(RecommendedProgramQuery query, DtoOptions options, CancellationToken cancellationToken)
public QueryResult<BaseItemDto> GetRecommendedPrograms(RecommendedProgramQuery query, DtoOptions options, CancellationToken cancellationToken)
{
RemoveFields(options);
var internalResult = await GetRecommendedProgramsInternal(query, options, cancellationToken).ConfigureAwait(false);
var internalResult = GetRecommendedProgramsInternal(query, options, cancellationToken);
var user = _userManager.GetUserById(query.UserId);
@ -1302,7 +1297,7 @@ namespace Emby.Server.Implementations.LiveTv
var list = new List<LiveTvChannel>();
var numComplete = 0;
var parentFolder = await GetInternalLiveTvFolder(cancellationToken).ConfigureAwait(false);
var parentFolder = GetInternalLiveTvFolder(cancellationToken);
var parentFolderId = parentFolder.Id;
foreach (var channelInfo in allChannelsList)
@ -1425,7 +1420,7 @@ namespace Emby.Server.Implementations.LiveTv
// TODO: Do this in bulk
foreach (var program in updatedPrograms)
{
await _libraryManager.UpdateItem(program, ItemUpdateType.MetadataImport, cancellationToken).ConfigureAwait(false);
_libraryManager.UpdateItem(program, ItemUpdateType.MetadataImport, cancellationToken);
}
currentChannel.IsMovie = isMovie;
@ -1434,7 +1429,7 @@ namespace Emby.Server.Implementations.LiveTv
currentChannel.IsKids = isKids;
currentChannel.IsSeries = iSSeries;
await currentChannel.UpdateToRepository(ItemUpdateType.MetadataImport, cancellationToken).ConfigureAwait(false);
currentChannel.UpdateToRepository(ItemUpdateType.MetadataImport, cancellationToken);
}
catch (OperationCanceledException)
{
@ -1549,9 +1544,8 @@ namespace Emby.Server.Implementations.LiveTv
var results = await Task.WhenAll(tasks).ConfigureAwait(false);
var recordingTasks = results.SelectMany(i => i.ToList()).Select(i => CreateRecordingRecord(i.Item1, i.Item2.Name, internalLiveTvFolderId, cancellationToken));
var idList = await Task.WhenAll(recordingTasks).ConfigureAwait(false);
var idList = results.SelectMany(i => i.ToList()).Select(i => CreateRecordingRecord(i.Item1, i.Item2.Name, internalLiveTvFolderId, cancellationToken))
.ToArray();
await CleanDatabaseInternal(idList, new[] { typeof(LiveTvVideoRecording).Name, typeof(LiveTvAudioRecording).Name }, new SimpleProgress<double>(), cancellationToken).ConfigureAwait(false);
@ -1726,7 +1720,7 @@ namespace Emby.Server.Implementations.LiveTv
return new QueryResult<BaseItem>();
}
var folder = await GetInternalLiveTvFolder(cancellationToken).ConfigureAwait(false);
var folder = GetInternalLiveTvFolder(cancellationToken);
// TODO: Figure out how to merge emby recordings + service recordings
if (_services.Length == 1)
@ -2143,18 +2137,6 @@ namespace Emby.Server.Implementations.LiveTv
};
}
public Task OnRecordingFileDeleted(BaseItem recording)
{
var service = GetService(recording);
if (service is EmbyTV.EmbyTV)
{
return service.DeleteRecordingAsync(GetItemExternalId(recording), CancellationToken.None);
}
return Task.FromResult(true);
}
public async Task DeleteRecording(string recordingId)
{
var recording = await GetInternalRecording(recordingId, CancellationToken.None).ConfigureAwait(false);
@ -2171,13 +2153,17 @@ namespace Emby.Server.Implementations.LiveTv
{
var service = GetService(recording.ServiceName);
try
{
await service.DeleteRecordingAsync(GetItemExternalId(recording), CancellationToken.None).ConfigureAwait(false);
}
catch (ResourceNotFoundException)
if (service != null)
{
// handle the service being uninstalled and the item hanging around in the database
try
{
await service.DeleteRecordingAsync(GetItemExternalId(recording), CancellationToken.None).ConfigureAwait(false);
}
catch (ResourceNotFoundException)
{
}
}
_lastRecordingRefreshTime = DateTime.MinValue;
@ -2387,7 +2373,7 @@ namespace Emby.Server.Implementations.LiveTv
MinEndDate = now,
Limit = channelIds.Length,
OrderBy = new[] { new Tuple<string, SortOrder>(ItemSortBy.StartDate, SortOrder.Ascending) },
TopParentIds = new[] { GetInternalLiveTvFolder(CancellationToken.None).Result.Id.ToString("N") },
TopParentIds = new[] { GetInternalLiveTvFolder(CancellationToken.None).Id.ToString("N") },
DtoOptions = options
}) : new List<BaseItem>();
@ -2910,11 +2896,11 @@ namespace Emby.Server.Implementations.LiveTv
return service.ResetTuner(parts[1], cancellationToken);
}
public async Task<BaseItemDto> GetLiveTvFolder(string userId, CancellationToken cancellationToken)
public BaseItemDto GetLiveTvFolder(string userId, CancellationToken cancellationToken)
{
var user = string.IsNullOrEmpty(userId) ? null : _userManager.GetUserById(userId);
var folder = await GetInternalLiveTvFolder(cancellationToken).ConfigureAwait(false);
var folder = GetInternalLiveTvFolder(cancellationToken);
return _dtoService.GetBaseItemDto(folder, new DtoOptions(), user);
}
@ -2930,10 +2916,10 @@ namespace Emby.Server.Implementations.LiveTv
options.Fields = fields.ToArray(fields.Count);
}
public async Task<Folder> GetInternalLiveTvFolder(CancellationToken cancellationToken)
public Folder GetInternalLiveTvFolder(CancellationToken cancellationToken)
{
var name = _localization.GetLocalizedString("ViewTypeLiveTV");
return await _libraryManager.GetNamedView(name, CollectionType.LiveTv, name, cancellationToken).ConfigureAwait(false);
var name = _localization.GetLocalizedString("HeaderLiveTV");
return _libraryManager.GetNamedView(name, CollectionType.LiveTv, name, cancellationToken);
}
public async Task<TunerHostInfo> SaveTunerHost(TunerHostInfo info, bool dataSourceChanged = true)

@ -86,16 +86,19 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
CancellationToken = cancellationToken,
BufferContent = false
};
using (var stream = await _httpClient.Get(options).ConfigureAwait(false))
using (var response = await _httpClient.SendAsync(options, "GET").ConfigureAwait(false))
{
var lineup = JsonSerializer.DeserializeFromStream<List<Channels>>(stream) ?? new List<Channels>();
if (info.ImportFavoritesOnly)
using (var stream = response.Content)
{
lineup = lineup.Where(i => i.Favorite).ToList();
}
var lineup = JsonSerializer.DeserializeFromStream<List<Channels>>(stream) ?? new List<Channels>();
if (info.ImportFavoritesOnly)
{
lineup = lineup.Where(i => i.Favorite).ToList();
}
return lineup.Where(i => !i.DRM).ToList();
return lineup.Where(i => !i.DRM).ToList();
}
}
}
@ -143,26 +146,29 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
try
{
using (var stream = await _httpClient.Get(new HttpRequestOptions()
using (var response = await _httpClient.SendAsync(new HttpRequestOptions()
{
Url = string.Format("{0}/discover.json", GetApiUrl(info, false)),
CancellationToken = cancellationToken,
TimeoutMs = Convert.ToInt32(TimeSpan.FromSeconds(5).TotalMilliseconds),
BufferContent = false
}).ConfigureAwait(false))
}, "GET").ConfigureAwait(false))
{
var response = JsonSerializer.DeserializeFromStream<DiscoverResponse>(stream);
if (!string.IsNullOrWhiteSpace(info.Id))
using (var stream = response.Content)
{
lock (_modelCache)
var discoverResponse = JsonSerializer.DeserializeFromStream<DiscoverResponse>(stream);
if (!string.IsNullOrWhiteSpace(info.Id))
{
_modelCache[info.Id] = response;
lock (_modelCache)
{
_modelCache[info.Id] = discoverResponse;
}
}
}
return response;
return discoverResponse;
}
}
}
catch (HttpException ex)
@ -197,7 +203,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
var uri = new Uri(GetApiUrl(info, false));
using (var manager = new HdHomerunManager(_socketFactory))
using (var manager = new HdHomerunManager(_socketFactory, Logger))
{
// Legacy HdHomeruns are IPv4 only
var ipInfo = _networkManager.ParseIpAddress(uri.Host);
@ -299,6 +305,8 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
int? videoBitrate = null;
int? audioBitrate = null;
var isHd = channelInfo.IsHD ?? true;
if (string.Equals(profile, "mobile", StringComparison.OrdinalIgnoreCase))
{
width = 1280;
@ -350,7 +358,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
else
{
// This is for android tv's 1200 condition. Remove once not needed anymore so that we can avoid possible side effects of dummying up this data
if ((channelInfo.IsHD ?? true))
if (isHd)
{
width = 1920;
height = 1080;
@ -367,9 +375,9 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
if (!videoBitrate.HasValue)
{
videoBitrate = (channelInfo.IsHD ?? true) ? 15000000 : 2000000;
videoBitrate = isHd ? 15000000 : 2000000;
}
audioBitrate = (channelInfo.IsHD ?? true) ? 448000 : 192000;
audioBitrate = isHd ? 448000 : 192000;
}
// normalize

@ -22,9 +22,6 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
private readonly IHttpClient _httpClient;
private readonly IServerApplicationHost _appHost;
private readonly CancellationTokenSource _liveStreamCancellationTokenSource = new CancellationTokenSource();
private readonly TaskCompletionSource<bool> _liveStreamTaskCompletionSource = new TaskCompletionSource<bool>();
public HdHomerunHttpStream(MediaSourceInfo mediaSource, string originalStreamId, IFileSystem fileSystem, IHttpClient httpClient, ILogger logger, IServerApplicationPaths appPaths, IServerApplicationHost appHost, IEnvironmentInfo environment)
: base(mediaSource, environment, fileSystem, logger, appPaths)
{
@ -33,19 +30,34 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
OriginalStreamId = originalStreamId;
}
protected override Task OpenInternal(CancellationToken openCancellationToken)
public override async Task Open(CancellationToken openCancellationToken)
{
_liveStreamCancellationTokenSource.Token.ThrowIfCancellationRequested();
LiveStreamCancellationTokenSource.Token.ThrowIfCancellationRequested();
var mediaSource = OriginalMediaSource;
var url = mediaSource.Path;
FileSystem.CreateDirectory(FileSystem.GetDirectoryName(TempFilePath));
Logger.Info("Opening HDHR Live stream from {0}", url);
var taskCompletionSource = new TaskCompletionSource<bool>();
var response = await _httpClient.SendAsync(new HttpRequestOptions
{
Url = url,
CancellationToken = CancellationToken.None,
BufferContent = false,
// Increase a little bit
TimeoutMs = 30000,
EnableHttpCompression = false
}, "GET").ConfigureAwait(false);
Logger.Info("Opened HDHR stream from {0}", url);
StartStreaming(url, taskCompletionSource, _liveStreamCancellationTokenSource.Token);
StartStreaming(response, LiveStreamCancellationTokenSource.Token);
//OpenedMediaSource.Protocol = MediaProtocol.File;
//OpenedMediaSource.Path = tempFile;
@ -59,77 +71,42 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
//OpenedMediaSource.SupportsDirectPlay = false;
//OpenedMediaSource.SupportsDirectStream = true;
//OpenedMediaSource.SupportsTranscoding = true;
return taskCompletionSource.Task;
//await Task.Delay(5000).ConfigureAwait(false);
}
public override Task Close()
public override void Close()
{
Logger.Info("Closing HDHR live stream");
_liveStreamCancellationTokenSource.Cancel();
return _liveStreamTaskCompletionSource.Task;
LiveStreamCancellationTokenSource.Cancel();
}
private Task StartStreaming(string url, TaskCompletionSource<bool> openTaskCompletionSource, CancellationToken cancellationToken)
private Task StartStreaming(HttpResponseInfo response, CancellationToken cancellationToken)
{
return Task.Run(async () =>
{
var isFirstAttempt = true;
while (!cancellationToken.IsCancellationRequested)
try
{
try
using (response)
{
using (var response = await _httpClient.SendAsync(new HttpRequestOptions
{
Url = url,
CancellationToken = cancellationToken,
BufferContent = false,
// Increase a little bit
TimeoutMs = 30000,
EnableHttpCompression = false
}, "GET").ConfigureAwait(false))
using (var stream = response.Content)
{
Logger.Info("Opened HDHR stream from {0}", url);
Logger.Info("Beginning HdHomerunHttpStream stream to file");
if (!cancellationToken.IsCancellationRequested)
FileSystem.CreateDirectory(FileSystem.GetDirectoryName(TempFilePath));
using (var fileStream = FileSystem.GetFileStream(TempFilePath, FileOpenMode.Create, FileAccessMode.Write, FileShareMode.Read, FileOpenOptions.None))
{
Logger.Info("Beginning multicastStream.CopyUntilCancelled");
FileSystem.CreateDirectory(FileSystem.GetDirectoryName(TempFilePath));
using (var fileStream = FileSystem.GetFileStream(TempFilePath, FileOpenMode.Create, FileAccessMode.Write, FileShareMode.Read, FileOpenOptions.None))
{
StreamHelper.CopyTo(response.Content, fileStream, 81920, () => Resolve(openTaskCompletionSource), cancellationToken);
}
StreamHelper.CopyTo(stream, fileStream, 81920, null, cancellationToken);
}
}
}
catch (OperationCanceledException)
{
break;
}
catch (Exception ex)
{
if (isFirstAttempt)
{
Logger.ErrorException("Error opening live stream:", ex);
openTaskCompletionSource.TrySetException(ex);
break;
}
Logger.ErrorException("Error copying live stream, will reopen", ex);
}
isFirstAttempt = false;
}
catch (OperationCanceledException)
{
}
catch (Exception ex)
{
Logger.ErrorException("Error copying live stream.", ex);
}
_liveStreamTaskCompletionSource.TrySetResult(true);
await DeleteTempFile(TempFilePath).ConfigureAwait(false);
});
}

@ -6,6 +6,7 @@ using System.Text.RegularExpressions;
using System.Threading;
using System.Threading.Tasks;
using MediaBrowser.Model.Net;
using MediaBrowser.Model.Logging;
namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
{
@ -89,9 +90,12 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
private readonly ISocketFactory _socketFactory;
private IpAddressInfo _remoteIp;
public HdHomerunManager(ISocketFactory socketFactory)
private ILogger _logger;
public HdHomerunManager(ISocketFactory socketFactory, ILogger logger)
{
_socketFactory = socketFactory;
_logger = logger;
}
public void Dispose()
@ -140,6 +144,8 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
_lockkey = (uint)rand.Next();
}
var lockKeyValue = _lockkey.Value;
var ipEndPoint = new IpEndPointInfo(_remoteIp, HdHomeRunPort);
for (int i = 0; i < numTuners; ++i)
@ -148,7 +154,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
continue;
_activeTuner = i;
var lockKeyString = String.Format("{0:d}", _lockkey.Value);
var lockKeyString = String.Format("{0:d}", lockKeyValue);
var lockkeyMsg = CreateSetMessage(i, "lockkey", lockKeyString, null);
await tcpClient.SendToAsync(lockkeyMsg, 0, lockkeyMsg.Length, ipEndPoint, cancellationToken).ConfigureAwait(false);
var response = await tcpClient.ReceiveAsync(receiveBuffer, 0, receiveBuffer.Length, cancellationToken).ConfigureAwait(false);
@ -160,27 +166,27 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
var commandList = commands.GetCommands();
foreach(Tuple<string,string> command in commandList)
{
var channelMsg = CreateSetMessage(i, command.Item1, command.Item2, _lockkey.Value);
var channelMsg = CreateSetMessage(i, command.Item1, command.Item2, lockKeyValue);
await tcpClient.SendToAsync(channelMsg, 0, channelMsg.Length, ipEndPoint, cancellationToken).ConfigureAwait(false);
response = await tcpClient.ReceiveAsync(receiveBuffer, 0, receiveBuffer.Length, cancellationToken).ConfigureAwait(false);
// parse response to make sure it worked
if (!ParseReturnMessage(response.Buffer, response.ReceivedBytes, out returnVal))
{
await ReleaseLockkey(tcpClient).ConfigureAwait(false);
await ReleaseLockkey(tcpClient, lockKeyValue).ConfigureAwait(false);
continue;
}
}
var targetValue = String.Format("rtp://{0}:{1}", localIp, localPort);
var targetMsg = CreateSetMessage(i, "target", targetValue, _lockkey.Value);
var targetMsg = CreateSetMessage(i, "target", targetValue, lockKeyValue);
await tcpClient.SendToAsync(targetMsg, 0, targetMsg.Length, ipEndPoint, cancellationToken).ConfigureAwait(false);
response = await tcpClient.ReceiveAsync(receiveBuffer, 0, receiveBuffer.Length, cancellationToken).ConfigureAwait(false);
// parse response to make sure it worked
if (!ParseReturnMessage(response.Buffer, response.ReceivedBytes, out returnVal))
{
await ReleaseLockkey(tcpClient).ConfigureAwait(false);
await ReleaseLockkey(tcpClient, lockKeyValue).ConfigureAwait(false);
continue;
}
@ -201,7 +207,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
foreach (Tuple<string, string> command in commandList)
{
var channelMsg = CreateSetMessage(_activeTuner, command.Item1, command.Item2, _lockkey.Value);
var channelMsg = CreateSetMessage(_activeTuner, command.Item1, command.Item2, _lockkey);
await tcpClient.SendToAsync(channelMsg, 0, channelMsg.Length, new IpEndPointInfo(_remoteIp, HdHomeRunPort), cancellationToken).ConfigureAwait(false);
var response = await tcpClient.ReceiveAsync(receiveBuffer, 0, receiveBuffer.Length, cancellationToken).ConfigureAwait(false);
// parse response to make sure it worked
@ -216,24 +222,28 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
public async Task StopStreaming()
{
if (!_lockkey.HasValue)
var lockKey = _lockkey;
if (!lockKey.HasValue)
return;
using (var socket = _socketFactory.CreateTcpSocket(_remoteIp, HdHomeRunPort))
{
await ReleaseLockkey(socket).ConfigureAwait(false);
await ReleaseLockkey(socket, lockKey.Value).ConfigureAwait(false);
}
}
private async Task ReleaseLockkey(ISocket tcpClient)
private async Task ReleaseLockkey(ISocket tcpClient, uint lockKeyValue)
{
var releaseTarget = CreateSetMessage(_activeTuner, "target", "none", _lockkey);
_logger.Info("HdHomerunManager.ReleaseLockkey {0}", lockKeyValue);
var releaseTarget = CreateSetMessage(_activeTuner, "target", "none", lockKeyValue);
await tcpClient.SendToAsync(releaseTarget, 0, releaseTarget.Length, new IpEndPointInfo(_remoteIp, HdHomeRunPort), CancellationToken.None).ConfigureAwait(false);
var receiveBuffer = new byte[8192];
await tcpClient.ReceiveAsync(receiveBuffer, 0, receiveBuffer.Length, CancellationToken.None).ConfigureAwait(false);
var releaseKeyMsg = CreateSetMessage(_activeTuner, "lockkey", "none", _lockkey);
var releaseKeyMsg = CreateSetMessage(_activeTuner, "lockkey", "none", lockKeyValue);
_lockkey = null;
await tcpClient.SendToAsync(releaseKeyMsg, 0, releaseKeyMsg.Length, new IpEndPointInfo(_remoteIp, HdHomeRunPort), CancellationToken.None).ConfigureAwait(false);
await tcpClient.ReceiveAsync(receiveBuffer, 0, receiveBuffer.Length, CancellationToken.None).ConfigureAwait(false);

@ -1,23 +1,16 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using Emby.Server.Implementations.IO;
using MediaBrowser.Common.Net;
using MediaBrowser.Controller;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.LiveTv;
using MediaBrowser.Model.Dto;
using MediaBrowser.Model.IO;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.MediaInfo;
using MediaBrowser.Model.Net;
using MediaBrowser.Model.System;
using System.Globalization;
using MediaBrowser.Controller.IO;
namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
{
@ -26,8 +19,6 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
private readonly IServerApplicationHost _appHost;
private readonly ISocketFactory _socketFactory;
private readonly CancellationTokenSource _liveStreamCancellationTokenSource = new CancellationTokenSource();
private readonly TaskCompletionSource<bool> _liveStreamTaskCompletionSource = new TaskCompletionSource<bool>();
private readonly IHdHomerunChannelCommands _channelCommands;
private readonly int _numTuners;
private readonly INetworkManager _networkManager;
@ -43,20 +34,62 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
_numTuners = numTuners;
}
protected override Task OpenInternal(CancellationToken openCancellationToken)
public override async Task Open(CancellationToken openCancellationToken)
{
_liveStreamCancellationTokenSource.Token.ThrowIfCancellationRequested();
LiveStreamCancellationTokenSource.Token.ThrowIfCancellationRequested();
var mediaSource = OriginalMediaSource;
var uri = new Uri(mediaSource.Path);
var localPort = _networkManager.GetRandomUnusedUdpPort();
FileSystem.CreateDirectory(FileSystem.GetDirectoryName(TempFilePath));
Logger.Info("Opening HDHR UDP Live stream from {0}", uri.Host);
var remoteAddress = _networkManager.ParseIpAddress(uri.Host);
IpAddressInfo localAddress = null;
using (var tcpSocket = _socketFactory.CreateSocket(remoteAddress.AddressFamily, SocketType.Stream, ProtocolType.Tcp, false))
{
try
{
tcpSocket.Connect(new IpEndPointInfo(remoteAddress, HdHomerunManager.HdHomeRunPort));
localAddress = tcpSocket.LocalEndPoint.IpAddress;
tcpSocket.Close();
}
catch (Exception)
{
Logger.Error("Unable to determine local ip address for Legacy HDHomerun stream.");
return;
}
}
var udpClient = _socketFactory.CreateUdpSocket(localPort);
var hdHomerunManager = new HdHomerunManager(_socketFactory, Logger);
try
{
// send url to start streaming
await hdHomerunManager.StartStreaming(remoteAddress, localAddress, localPort, _channelCommands, _numTuners, openCancellationToken).ConfigureAwait(false);
}
catch (Exception ex)
{
using (udpClient)
{
using (hdHomerunManager)
{
if (!(ex is OperationCanceledException))
{
Logger.ErrorException("Error opening live stream:", ex);
}
throw;
}
}
}
var taskCompletionSource = new TaskCompletionSource<bool>();
StartStreaming(uri.Host, localPort, taskCompletionSource, _liveStreamCancellationTokenSource.Token);
StartStreaming(udpClient, hdHomerunManager, remoteAddress, localAddress, localPort, taskCompletionSource, LiveStreamCancellationTokenSource.Token);
//OpenedMediaSource.Protocol = MediaProtocol.File;
//OpenedMediaSource.Path = tempFile;
@ -68,86 +101,47 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
//OpenedMediaSource.SupportsDirectStream = true;
//OpenedMediaSource.SupportsTranscoding = true;
return taskCompletionSource.Task;
//await Task.Delay(5000).ConfigureAwait(false);
await taskCompletionSource.Task.ConfigureAwait(false);
}
public override Task Close()
public override void Close()
{
Logger.Info("Closing HDHR UDP live stream");
_liveStreamCancellationTokenSource.Cancel();
return _liveStreamTaskCompletionSource.Task;
LiveStreamCancellationTokenSource.Cancel();
}
private Task StartStreaming(string remoteIp, int localPort, TaskCompletionSource<bool> openTaskCompletionSource, CancellationToken cancellationToken)
private Task StartStreaming(ISocket udpClient, HdHomerunManager hdHomerunManager, IpAddressInfo remoteAddress, IpAddressInfo localAddress, int localPort, TaskCompletionSource<bool> openTaskCompletionSource, CancellationToken cancellationToken)
{
return Task.Run(async () =>
{
var isFirstAttempt = true;
using (var udpClient = _socketFactory.CreateUdpSocket(localPort))
using (udpClient)
{
using (var hdHomerunManager = new HdHomerunManager(_socketFactory))
using (hdHomerunManager)
{
var remoteAddress = _networkManager.ParseIpAddress(remoteIp);
IpAddressInfo localAddress = null;
using (var tcpSocket = _socketFactory.CreateSocket(remoteAddress.AddressFamily, SocketType.Stream, ProtocolType.Tcp, false))
try
{
await CopyTo(udpClient, TempFilePath, openTaskCompletionSource, cancellationToken).ConfigureAwait(false);
}
catch (OperationCanceledException ex)
{
try
{
tcpSocket.Connect(new IpEndPointInfo(remoteAddress, HdHomerunManager.HdHomeRunPort));
localAddress = tcpSocket.LocalEndPoint.IpAddress;
tcpSocket.Close();
}
catch (Exception)
{
Logger.Error("Unable to determine local ip address for Legacy HDHomerun stream.");
return;
}
Logger.Info("HDHR UDP stream cancelled or timed out from {0}", remoteAddress);
openTaskCompletionSource.TrySetException(ex);
}
catch (Exception ex)
{
Logger.ErrorException("Error opening live stream:", ex);
openTaskCompletionSource.TrySetException(ex);
}
while (!cancellationToken.IsCancellationRequested)
try
{
try
{
// send url to start streaming
await hdHomerunManager.StartStreaming(remoteAddress, localAddress, localPort, _channelCommands, _numTuners, cancellationToken).ConfigureAwait(false);
Logger.Info("Opened HDHR UDP stream from {0}", remoteAddress);
if (!cancellationToken.IsCancellationRequested)
{
FileSystem.CreateDirectory(FileSystem.GetDirectoryName(TempFilePath));
using (var fileStream = FileSystem.GetFileStream(TempFilePath, FileOpenMode.Create, FileAccessMode.Write, FileShareMode.Read, FileOpenOptions.None))
{
CopyTo(udpClient, fileStream, openTaskCompletionSource, cancellationToken);
}
}
}
catch (OperationCanceledException ex)
{
Logger.Info("HDHR UDP stream cancelled or timed out from {0}", remoteAddress);
openTaskCompletionSource.TrySetException(ex);
break;
}
catch (Exception ex)
{
if (isFirstAttempt)
{
Logger.ErrorException("Error opening live stream:", ex);
openTaskCompletionSource.TrySetException(ex);
break;
}
Logger.ErrorException("Error copying live stream, will reopen", ex);
}
isFirstAttempt = false;
await hdHomerunManager.StopStreaming().ConfigureAwait(false);
}
catch
{
await hdHomerunManager.StopStreaming().ConfigureAwait(false);
_liveStreamTaskCompletionSource.TrySetResult(true);
}
}
}
@ -158,36 +152,45 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
private void Resolve(TaskCompletionSource<bool> openTaskCompletionSource)
{
Task.Run(() =>
{
openTaskCompletionSource.TrySetResult(true);
});
{
openTaskCompletionSource.TrySetResult(true);
});
}
private static int RtpHeaderBytes = 12;
private void CopyTo(ISocket udpClient, Stream target, TaskCompletionSource<bool> openTaskCompletionSource, CancellationToken cancellationToken)
private async Task CopyTo(ISocket udpClient, string file, TaskCompletionSource<bool> openTaskCompletionSource, CancellationToken cancellationToken)
{
var source = _socketFactory.CreateNetworkStream(udpClient, false);
var bufferSize = 81920;
byte[] buffer = new byte[bufferSize];
int read;
var resolved = false;
while ((read = source.Read(buffer, 0, buffer.Length)) != 0)
using (var source = _socketFactory.CreateNetworkStream(udpClient, false))
{
cancellationToken.ThrowIfCancellationRequested();
using (var fileStream = FileSystem.GetFileStream(file, FileOpenMode.Create, FileAccessMode.Write, FileShareMode.Read, FileOpenOptions.None))
{
var currentCancellationToken = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken, new CancellationTokenSource(TimeSpan.FromSeconds(30)).Token).Token;
read -= RtpHeaderBytes;
while ((read = await source.ReadAsync(buffer, 0, buffer.Length, currentCancellationToken).ConfigureAwait(false)) != 0)
{
cancellationToken.ThrowIfCancellationRequested();
if (read > 0)
{
target.Write(buffer, RtpHeaderBytes, read);
}
currentCancellationToken = cancellationToken;
if (!resolved)
{
resolved = true;
Resolve(openTaskCompletionSource);
read -= RtpHeaderBytes;
if (read > 0)
{
fileStream.Write(buffer, RtpHeaderBytes, read);
}
if (!resolved)
{
resolved = true;
Resolve(openTaskCompletionSource);
}
}
}
}
}

@ -32,6 +32,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts
protected readonly string TempFilePath;
protected readonly ILogger Logger;
protected readonly CancellationTokenSource LiveStreamCancellationTokenSource = new CancellationTokenSource();
public LiveStream(MediaSourceInfo mediaSource, IEnvironmentInfo environment, IFileSystem fileSystem, ILogger logger, IServerApplicationPaths appPaths)
{
@ -46,19 +47,13 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts
TempFilePath = Path.Combine(appPaths.TranscodingTempPath, UniqueId + ".ts");
}
public Task Open(CancellationToken cancellationToken)
{
return OpenInternal(cancellationToken);
}
protected virtual Task OpenInternal(CancellationToken cancellationToken)
public virtual Task Open(CancellationToken openCancellationToken)
{
return Task.FromResult(true);
}
public virtual Task Close()
public virtual void Close()
{
return Task.FromResult(true);
}
protected Stream GetInputStream(string path, bool allowAsyncFileRead)
@ -75,11 +70,24 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts
protected async Task DeleteTempFile(string path, int retryCount = 0)
{
if (retryCount == 0)
{
Logger.Info("Deleting temp file {0}", path);
}
try
{
FileSystem.DeleteFile(path);
return;
}
catch (DirectoryNotFoundException)
{
return;
}
catch (FileNotFoundException)
{
return;
}
catch
{
@ -96,6 +104,8 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts
public async Task CopyToAsync(Stream stream, CancellationToken cancellationToken)
{
cancellationToken = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken, LiveStreamCancellationTokenSource.Token).Token;
var allowAsync = false;//Environment.OperatingSystem != MediaBrowser.Model.System.OperatingSystem.Windows;
// use non-async filestream along with read due to https://github.com/dotnet/corefx/issues/6039
@ -110,16 +120,27 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts
private static async Task CopyTo(Stream source, Stream destination, int bufferSize, Action onStarted, CancellationToken cancellationToken)
{
byte[] buffer = new byte[bufferSize];
while (true)
var eofCount = 0;
var emptyReadLimit = 1000;
while (eofCount < emptyReadLimit)
{
cancellationToken.ThrowIfCancellationRequested();
var read = source.Read(buffer, 0, buffer.Length);
var bytesRead = source.Read(buffer, 0, buffer.Length);
if (read > 0)
if (bytesRead == 0)
{
eofCount++;
await Task.Delay(10, cancellationToken).ConfigureAwait(false);
}
else
{
eofCount = 0;
//await destination.WriteAsync(buffer, 0, read).ConfigureAwait(false);
destination.Write(buffer, 0, read);
destination.Write(buffer, 0, bytesRead);
if (onStarted != null)
{
@ -127,10 +148,6 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts
onStarted = null;
}
}
else
{
await Task.Delay(10).ConfigureAwait(false);
}
}
}
@ -139,6 +156,10 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts
try
{
stream.Seek(offset, SeekOrigin.End);
}
catch (IOException)
{
}
catch (ArgumentException)
{

@ -93,13 +93,6 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts
protected override async Task<List<MediaSourceInfo>> GetChannelStreamMediaSources(TunerHostInfo info, string channelId, CancellationToken cancellationToken)
{
var channelIdPrefix = GetFullChannelIdPrefix(info);
if (!channelId.StartsWith(channelIdPrefix, StringComparison.OrdinalIgnoreCase))
{
return null;
}
var channels = await GetChannels(info, true, cancellationToken).ConfigureAwait(false);
var channel = channels.FirstOrDefault(c => string.Equals(c.Id, channelId, StringComparison.OrdinalIgnoreCase));
if (channel != null)
@ -165,7 +158,6 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts
RequiresOpening = true,
RequiresClosing = true,
RequiresLooping = info.EnableStreamLooping,
EnableMpDecimate = info.EnableMpDecimate,
ReadAtNativeFramerate = false,

@ -1,178 +1,96 @@
{
"DbUpgradeMessage": "Please wait while your Emby Server database is upgraded. {0}% complete.",
"AppDeviceValues": "App: {0}, Device: {1}",
"UserDownloadingItemWithValues": "{0} is downloading {1}",
"FolderTypeMixed": "Mixed content",
"FolderTypeMovies": "Movies",
"FolderTypeMusic": "Music",
"FolderTypeAdultVideos": "Adult videos",
"FolderTypePhotos": "Photos",
"FolderTypeMusicVideos": "Music videos",
"FolderTypeHomeVideos": "Home videos",
"FolderTypeGames": "Games",
"FolderTypeBooks": "Books",
"FolderTypeTvShows": "TV",
"FolderTypeInherit": "Inherit",
"HeaderCastCrew": "Cast & Crew",
"HeaderPeople": "People",
"ValueSpecialEpisodeName": "Special - {0}",
"LabelChapterName": "Chapter {0}",
"NameSeasonNumber": "Season {0}",
"Latest": "\u0627\u0644\u0623\u062d\u062f\u062b",
"ValueSpecialEpisodeName": "\u062e\u0627\u0635 - {0}",
"Inherit": "\u062a\u0648\u0631\u064a\u062b",
"Books": "\u0627\u0644\u0643\u062a\u0628",
"Music": "\u0627\u0644\u0645\u0648\u0633\u064a\u0642\u0649",
"Games": "\u0627\u0644\u0623\u0644\u0639\u0627\u0628",
"Photos": "\u0627\u0644\u0635\u0648\u0631",
"MixedContent": "\u0645\u062d\u062a\u0648\u0649 \u0645\u062e\u0644\u0648\u0637",
"MusicVideos": "\u0627\u0644\u0641\u064a\u062f\u064a\u0648\u0647\u0627\u062a \u0627\u0644\u0645\u0648\u0633\u064a\u0642\u064a\u0629",
"HomeVideos": "\u0627\u0644\u0641\u064a\u062f\u064a\u0648\u0647\u0627\u062a \u0627\u0644\u0645\u0646\u0632\u0644\u064a\u0629",
"Playlists": "\u0642\u0648\u0627\u0626\u0645 \u0627\u0644\u062a\u0634\u063a\u064a\u0644",
"HeaderRecordingGroups": "\u0645\u062c\u0645\u0648\u0639\u0627\u062a \u0627\u0644\u062a\u0633\u062c\u064a\u0644",
"HeaderContinueWatching": "\u0627\u0633\u062a\u0626\u0646\u0627\u0641 \u0627\u0644\u0645\u0634\u0627\u0647\u062f\u0629",
"HeaderFavoriteArtists": "\u0627\u0644\u0641\u0646\u0627\u0646\u0648\u0646 \u0627\u0644\u0645\u0641\u0636\u0644\u0648\u0646",
"HeaderFavoriteSongs": "\u0627\u0644\u0623\u063a\u0627\u0646\u064a \u0627\u0644\u0645\u0641\u0636\u0644\u0629",
"HeaderAlbumArtists": "\u0641\u0646\u0627\u0646\u0648 \u0627\u0644\u0623\u0644\u0628\u0648\u0645\u0627\u062a",
"HeaderFavoriteAlbums": "\u0627\u0644\u0623\u0644\u0628\u0648\u0645\u0627\u062a \u0627\u0644\u0645\u0641\u0636\u0644\u0629",
"HeaderFavoriteEpisodes": "\u0627\u0644\u062d\u0644\u0642\u0627\u062a \u0627\u0644\u0645\u0641\u0636\u0644\u0629",
"HeaderFavoriteShows": "\u0627\u0644\u0645\u0633\u0644\u0633\u0644\u0627\u062a \u0627\u0644\u0645\u0641\u0636\u0644\u0629",
"HeaderNextUp": "\u0627\u0644\u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u062a\u0627\u0644\u064a",
"Favorites": "\u0627\u0644\u0645\u0641\u0636\u0644\u0627\u062a",
"Collections": "\u0627\u0644\u0645\u062c\u0627\u0645\u064a\u0639",
"Channels": "\u0627\u0644\u0642\u0646\u0648\u0627\u062a",
"Movies": "\u0627\u0644\u0623\u0641\u0644\u0627\u0645",
"Albums": "\u0627\u0644\u0623\u0644\u0628\u0648\u0645\u0627\u062a",
"Artists": "\u0627\u0644\u0641\u0646\u0627\u0646\u0648\u0646",
"Folders": "\u0627\u0644\u0645\u062c\u0644\u062f\u0627\u062a",
"Songs": "\u0627\u0644\u0623\u063a\u0627\u0646\u064a",
"TvShows": "TV Shows",
"Shows": "Shows",
"Genres": "\u0623\u0646\u0648\u0627\u0639 \u0627\u0644\u0623\u0641\u0644\u0627\u0645",
"NameSeasonNumber": "\u0627\u0644\u0645\u0648\u0633\u0645 {0}",
"AppDeviceValues": "\u0627\u0644\u062a\u0637\u0628\u064a\u0642: {0}. \u0627\u0644\u062c\u0647\u0627\u0632: {1}.",
"UserDownloadingItemWithValues": "{0} \u064a\u0642\u0648\u0645 \u0628\u0625\u0646\u0632\u0627\u0644 {1}",
"HeaderLiveTV": "\u0627\u0644\u062a\u0644\u0641\u0627\u0632 \u0627\u0644\u0645\u0628\u0627\u0634\u0631",
"ChapterNameValue": "\u0627\u0644\u0628\u0627\u0628 {0}",
"ScheduledTaskFailedWithName": "\u0627\u0644\u0639\u0645\u0644\u064a\u0629 {0} \u0641\u0634\u0644\u062a",
"LabelRunningTimeValue": "\u0648\u0642\u062a \u0627\u0644\u062a\u0634\u063a\u064a\u0644: {0}",
"ScheduledTaskStartedWithName": "\u062a\u0645 \u0628\u062f\u0621 {0}",
"VersionNumber": "\u0627\u0644\u0625\u0635\u062f\u0627\u0631 \u0631\u0642\u0645 {0}",
"PluginInstalledWithName": "\u062a\u0645 \u062a\u062b\u0628\u064a\u062a {0}",
"StartupEmbyServerIsLoading": "\u062e\u0627\u062f\u0645 \u0623\u0645\u0628\u064a \u0642\u064a\u062f \u0627\u0644\u062a\u062d\u0645\u064a\u0644. \u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u0644\u0645\u062d\u0627\u0648\u064a\u0629 \u0628\u0639\u062f \u062d\u064a\u0646",
"PluginUpdatedWithName": "\u062a\u0645 \u062a\u062d\u062f\u064a\u062b {0}",
"PluginUninstalledWithName": "\u062a\u0645\u062a \u0625\u0632\u0627\u0644\u0629 {0}",
"ItemAddedWithName": "\u062a\u0645 \u0625\u0636\u0627\u0641\u0629 {0} \u0644\u0644\u0645\u0643\u062a\u0628\u0629",
"ItemRemovedWithName": "\u062a\u0645 \u0625\u0632\u0627\u0644\u0629 {0} \u0645\u0646 \u0627\u0644\u0645\u0643\u062a\u0628\u0629",
"LabelIpAddressValue": "\u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0622\u064a \u0628\u064a: {0}",
"DeviceOnlineWithName": "{0} \u0645\u062a\u0635\u0644",
"UserOnlineFromDevice": "{0} \u0645\u062a\u0635\u0644\u0629 \u0639\u0628\u0631 {1}",
"ProviderValue": "\u0627\u0644\u0645\u0632\u0648\u062f: {0}",
"SubtitlesDownloadedForItem": "\u062a\u0645 \u0625\u0646\u0632\u0627\u0644 \u0627\u0644\u062a\u0631\u062c\u0645\u0627\u062a \u0644\u0640 {0}",
"UserCreatedWithName": "\u062a\u0645 \u0625\u0646\u0634\u0627\u0621 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 {0}",
"UserPasswordChangedWithName": "\u062a\u0645 \u062a\u063a\u064a\u064a\u0631 \u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631 \u0644\u0644\u0645\u0633\u062a\u062e\u062f\u0645 {0}",
"UserDeletedWithName": "\u062a\u0645 \u062d\u0630\u0641 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 {0}",
"UserConfigurationUpdatedWithName": "\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u062a\u0645 \u062a\u062d\u062f\u064a\u062b\u0647\u0627 \u0644\u0640 {0}",
"MessageServerConfigurationUpdated": "\u062a\u0645 \u062a\u062d\u062f\u064a\u062b \u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u062e\u0627\u062f\u0645",
"MessageNamedServerConfigurationUpdatedWithValue": "\u062a\u0645 \u062a\u062d\u062f\u064a\u062b \u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u062e\u0627\u062f\u0645 \u0641\u064a \u0642\u0633\u0645 {0}",
"MessageApplicationUpdated": "\u0644\u0642\u062f \u062a\u0645 \u062a\u062d\u062f\u064a\u062b \u062e\u0627\u062f\u0645 \u0623\u0645\u0628\u064a",
"FailedLoginAttemptWithUserName": "\u0639\u0645\u0644\u064a\u0629 \u062a\u0633\u062c\u064a\u0644 \u0627\u0644\u062f\u062e\u0648\u0644 \u0641\u0634\u0644\u062a \u0645\u0646 {0}",
"AuthenticationSucceededWithUserName": "\u062a\u0645 \u0627\u0644\u062a\u0623\u0643\u062f \u0645\u0646 {0} \u0628\u0646\u062c\u0627\u062d",
"UserOfflineFromDevice": "\u062a\u0645 \u0642\u0637\u0639 \u0627\u062a\u0635\u0627\u0644 {0} \u0645\u0646 {1}",
"DeviceOfflineWithName": "\u062a\u0645 \u0642\u0637\u0639 \u0627\u0644\u0627\u062a\u0635\u0627\u0644 \u0628\u0640{0}",
"UserStartedPlayingItemWithValues": "\u0642\u0627\u0645 {0} \u0628\u0628\u062f\u0621 \u062a\u0634\u063a\u064a\u0644 {1}",
"UserStoppedPlayingItemWithValues": "\u0642\u0627\u0645 {0} \u0628\u0625\u064a\u0642\u0627\u0641 \u062a\u0634\u063a\u064a\u0644 {1}",
"NotificationOptionPluginError": "\u0641\u0634\u0644 \u0641\u064a \u0627\u0644\u0645\u0644\u062d\u0642",
"NotificationOptionApplicationUpdateAvailable": "\u064a\u0648\u062c\u062f \u062a\u062d\u062f\u064a\u062b \u0644\u0644\u062a\u0637\u0628\u064a\u0642",
"NotificationOptionApplicationUpdateInstalled": "\u062a\u0645 \u062a\u062d\u062f\u064a\u062b \u0627\u0644\u062a\u0637\u0628\u064a\u0642",
"NotificationOptionPluginUpdateInstalled": "\u062a\u0645 \u062a\u062d\u062f\u064a\u062b \u0627\u0644\u0645\u0644\u062d\u0642",
"NotificationOptionPluginInstalled": "\u062a\u0645 \u062a\u062b\u0628\u064a\u062a \u0627\u0644\u0645\u0644\u062d\u0642",
"NotificationOptionPluginUninstalled": "\u062a\u0645\u062a \u0625\u0632\u0627\u0644\u0629 \u0627\u0644\u0645\u0644\u062d\u0642",
"NotificationOptionVideoPlayback": "\u0628\u062f\u0623 \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0641\u064a\u062f\u064a\u0648",
"NotificationOptionAudioPlayback": "\u0628\u062f\u0623 \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0645\u0642\u0637\u0639 \u0627\u0644\u0635\u0648\u062a\u064a",
"NotificationOptionGamePlayback": "\u062a\u0645 \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0644\u0639\u0628\u0629",
"NotificationOptionVideoPlaybackStopped": "\u062a\u0645 \u0625\u064a\u0642\u0627\u0641 \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0641\u064a\u062f\u064a\u0648",
"NotificationOptionAudioPlaybackStopped": "\u062a\u0645 \u0625\u064a\u0642\u0627\u0641 \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0645\u0642\u0637\u0639 \u0627\u0644\u0635\u0648\u062a\u064a",
"NotificationOptionGamePlaybackStopped": "\u062a\u0645 \u0625\u064a\u0642\u0627\u0641 \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0644\u0639\u0628\u0629",
"NotificationOptionTaskFailed": "\u0641\u0634\u0644 \u0641\u064a \u0627\u0644\u0645\u0647\u0645\u0629 \u0627\u0644\u0645\u062c\u062f\u0648\u0644\u0629",
"NotificationOptionInstallationFailed": "\u0639\u0645\u0644\u064a\u0629 \u0627\u0644\u062a\u0646\u0635\u064a\u0628 \u0641\u0634\u0644\u062a",
"NotificationOptionNewLibraryContent": "\u062a\u0645 \u0625\u0636\u0627\u0641\u0629 \u0645\u062d\u062a\u0648\u0649 \u062c\u062f\u064a\u062f",
"NotificationOptionCameraImageUploaded": "\u062a\u0645 \u0631\u0642\u0639 \u0635\u0648\u0631\u0629 \u0627\u0644\u0643\u0627\u0645\u064a\u0631\u0627",
"NotificationOptionUserLockedOut": "\u062a\u0645 \u0625\u0642\u0641\u0627\u0644 \u062d\u0633\u0627\u0628 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645",
"NotificationOptionServerRestartRequired": "\u064a\u062c\u0628 \u0625\u0639\u0627\u062f\u0629 \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u062e\u0627\u062f\u0645",
"UserLockedOutWithName": "\u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 {0} \u062a\u0645 \u0645\u0646\u0639\u0647 \u0645\u0646 \u0627\u0644\u062f\u062e\u0648\u0644",
"SubtitleDownloadFailureForItem": "\u0639\u0645\u0644\u064a\u0629 \u0625\u0646\u0632\u0627\u0644 \u0627\u0644\u062a\u0631\u062c\u0645\u0629 \u0641\u0634\u0644\u062a \u0644\u0640{0}",
"Sync": "\u0645\u0632\u0627\u0645\u0646\u0629",
"User": "\u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645",
"System": "\u0627\u0644\u0646\u0638\u0627\u0645",
"Application": "\u0627\u0644\u062a\u0637\u0628\u064a\u0642",
"Plugin": "\u0627\u0644\u0645\u0644\u062d\u0642",
"LabelExit": "\u062e\u0631\u0648\u062c",
"LabelVisitCommunity": "\u0632\u064a\u0627\u0631\u0629 \u0627\u0644\u0645\u062c\u062a\u0645\u0639",
"LabelGithub": "\u062c\u064a\u062a \u0647\u0628",
"LabelApiDocumentation": "\u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0645\u062f\u062e\u0644 \u0628\u0631\u0645\u062c\u0629 \u0627\u0644\u062a\u0637\u0628\u064a\u0642",
"LabelDeveloperResources": "\u0645\u0643\u062a\u0628\u0629 \u0627\u0644\u0645\u0628\u0631\u0645\u062c",
"LabelBrowseLibrary": "\u062a\u0635\u0641\u062d \u0627\u0644\u0645\u0643\u062a\u0628\u0629",
"LabelConfigureServer": "\u0625\u0639\u062f\u0627\u062f \u0625\u0645\u0628\u064a",
"LabelRestartServer": "\u0627\u0639\u0627\u062f\u0629 \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u062e\u0627\u062f\u0645",
"CategorySync": "Sync",
"CategoryUser": "User",
"CategorySystem": "System",
"CategoryApplication": "Application",
"CategoryPlugin": "Plugin",
"NotificationOptionPluginError": "Plugin failure",
"NotificationOptionApplicationUpdateAvailable": "Application update available",
"NotificationOptionApplicationUpdateInstalled": "Application update installed",
"NotificationOptionPluginUpdateInstalled": "Plugin update installed",
"NotificationOptionPluginInstalled": "Plugin installed",
"NotificationOptionPluginUninstalled": "Plugin uninstalled",
"NotificationOptionVideoPlayback": "Video playback started",
"NotificationOptionAudioPlayback": "Audio playback started",
"NotificationOptionGamePlayback": "Game playback started",
"NotificationOptionVideoPlaybackStopped": "Video playback stopped",
"NotificationOptionAudioPlaybackStopped": "Audio playback stopped",
"NotificationOptionGamePlaybackStopped": "Game playback stopped",
"NotificationOptionTaskFailed": "Scheduled task failure",
"NotificationOptionInstallationFailed": "Installation failure",
"NotificationOptionNewLibraryContent": "New content added",
"NotificationOptionNewLibraryContentMultiple": "New content added (multiple)",
"NotificationOptionCameraImageUploaded": "Camera image uploaded",
"NotificationOptionUserLockedOut": "User locked out",
"NotificationOptionServerRestartRequired": "Server restart required",
"ViewTypePlaylists": "Playlists",
"ViewTypeMovies": "Movies",
"ViewTypeTvShows": "TV",
"ViewTypeGames": "Games",
"ViewTypeMusic": "Music",
"ViewTypeMusicGenres": "Genres",
"ViewTypeMusicArtists": "Artists",
"ViewTypeBoxSets": "Collections",
"ViewTypeChannels": "Channels",
"ViewTypeLiveTV": "Live TV",
"ViewTypeLiveTvNowPlaying": "Now Airing",
"ViewTypeLatestGames": "Latest Games",
"ViewTypeRecentlyPlayedGames": "Recently Played",
"ViewTypeGameFavorites": "Favorites",
"ViewTypeGameSystems": "Game Systems",
"ViewTypeGameGenres": "Genres",
"ViewTypeTvResume": "Resume",
"ViewTypeTvNextUp": "Next Up",
"ViewTypeTvLatest": "Latest",
"ViewTypeTvShowSeries": "Series",
"ViewTypeTvGenres": "Genres",
"ViewTypeTvFavoriteSeries": "Favorite Series",
"ViewTypeTvFavoriteEpisodes": "Favorite Episodes",
"ViewTypeMovieResume": "Resume",
"ViewTypeMovieLatest": "Latest",
"ViewTypeMovieMovies": "Movies",
"ViewTypeMovieCollections": "Collections",
"ViewTypeMovieFavorites": "Favorites",
"ViewTypeMovieGenres": "Genres",
"ViewTypeMusicLatest": "Latest",
"ViewTypeMusicPlaylists": "Playlists",
"ViewTypeMusicAlbums": "Albums",
"ViewTypeMusicAlbumArtists": "Album Artists",
"HeaderOtherDisplaySettings": "Display Settings",
"ViewTypeMusicSongs": "Songs",
"ViewTypeMusicFavorites": "Favorites",
"ViewTypeMusicFavoriteAlbums": "Favorite Albums",
"ViewTypeMusicFavoriteArtists": "Favorite Artists",
"ViewTypeMusicFavoriteSongs": "Favorite Songs",
"ViewTypeFolders": "Folders",
"ViewTypeLiveTvRecordingGroups": "Recordings",
"ViewTypeLiveTvChannels": "Channels",
"ScheduledTaskFailedWithName": "{0} failed",
"LabelRunningTimeValue": "Running time: {0}",
"ScheduledTaskStartedWithName": "{0} started",
"VersionNumber": "Version {0}",
"PluginInstalledWithName": "{0} was installed",
"PluginUpdatedWithName": "{0} was updated",
"PluginUninstalledWithName": "{0} was uninstalled",
"ItemAddedWithName": "{0} was added to the library",
"ItemRemovedWithName": "{0} was removed from the library",
"LabelIpAddressValue": "Ip address: {0}",
"DeviceOnlineWithName": "{0} is connected",
"UserOnlineFromDevice": "{0} is online from {1}",
"ProviderValue": "Provider: {0}",
"SubtitlesDownloadedForItem": "Subtitles downloaded for {0}",
"UserConfigurationUpdatedWithName": "User configuration has been updated for {0}",
"UserCreatedWithName": "User {0} has been created",
"UserPasswordChangedWithName": "Password has been changed for user {0}",
"UserDeletedWithName": "User {0} has been deleted",
"MessageServerConfigurationUpdated": "Server configuration has been updated",
"MessageNamedServerConfigurationUpdatedWithValue": "Server configuration section {0} has been updated",
"MessageApplicationUpdated": "Emby Server has been updated",
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
"DeviceOfflineWithName": "{0} has disconnected",
"UserLockedOutWithName": "User {0} has been locked out",
"UserOfflineFromDevice": "{0} has disconnected from {1}",
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
"SubtitleDownloadFailureForItem": "Subtitles failed to download for {0}",
"HeaderUnidentified": "Unidentified",
"HeaderImagePrimary": "Primary",
"HeaderImageBackdrop": "Backdrop",
"HeaderImageLogo": "Logo",
"HeaderUserPrimaryImage": "User Image",
"HeaderOverview": "Overview",
"HeaderShortOverview": "Short Overview",
"HeaderType": "Type",
"HeaderSeverity": "Severity",
"HeaderUser": "User",
"HeaderName": "Name",
"HeaderDate": "Date",
"HeaderPremiereDate": "Premiere Date",
"HeaderDateAdded": "Date Added",
"HeaderReleaseDate": "Release date",
"HeaderRuntime": "Runtime",
"HeaderPlayCount": "Play Count",
"HeaderSeason": "Season",
"HeaderSeasonNumber": "Season number",
"HeaderSeries": "Series:",
"HeaderNetwork": "Network",
"HeaderYear": "Year:",
"HeaderYears": "Years:",
"HeaderParentalRating": "Parental Rating",
"HeaderCommunityRating": "Community rating",
"HeaderTrailers": "Trailers",
"HeaderSpecials": "Specials",
"HeaderGameSystems": "Game Systems",
"HeaderPlayers": "Players:",
"HeaderAlbumArtists": "Album Artists",
"HeaderAlbums": "Albums",
"HeaderDisc": "Disc",
"HeaderTrack": "Track",
"HeaderAudio": "Audio",
"HeaderVideo": "Video",
"HeaderEmbeddedImage": "Embedded image",
"HeaderResolution": "Resolution",
"HeaderSubtitles": "Subtitles",
"HeaderGenres": "Genres",
"HeaderCountries": "Countries",
"HeaderStatus": "Status",
"HeaderTracks": "Tracks",
"HeaderMusicArtist": "Music artist",
"HeaderLocked": "Locked",
"HeaderStudios": "Studios",
"HeaderActor": "Actors",
"HeaderComposer": "Composers",
"HeaderDirector": "Directors",
"HeaderGuestStar": "Guest star",
"HeaderProducer": "Producers",
"HeaderWriter": "Writers",
"HeaderParentalRatings": "Parental Ratings",
"HeaderCommunityRatings": "Community ratings",
"StartupEmbyServerIsLoading": "Emby Server is loading. Please try again shortly."
"LabelConfigureServer": "\u0636\u0628\u0637 \u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0623\u0645\u0628\u064a",
"LabelRestartServer": "\u0625\u0639\u0627\u062f\u0629 \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u062e\u0627\u062f\u0645"
}

@ -1,104 +1,48 @@
{
"DbUpgradeMessage": "Please wait while your Emby Server database is upgraded. {0}% complete.",
"Latest": "\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438",
"ValueSpecialEpisodeName": "\u0421\u043f\u0435\u0446\u0438\u0430\u043b\u043d\u0438 - {0}",
"Inherit": "Inherit",
"Books": "\u041a\u043d\u0438\u0433\u0438",
"Music": "\u041c\u0443\u0437\u0438\u043a\u0430",
"Games": "\u0418\u0433\u0440\u0438",
"Photos": "\u0421\u043d\u0438\u043c\u043a\u0438",
"MixedContent": "Mixed content",
"MusicVideos": "\u041c\u0443\u0437\u0438\u043a\u0430\u043b\u043d\u0438 \u043a\u043b\u0438\u043f\u043e\u0432\u0435",
"HomeVideos": "\u0414\u043e\u043c\u0430\u0448\u043d\u0438 \u043a\u043b\u0438\u043f\u043e\u0432\u0435",
"Playlists": "\u0421\u043f\u0438\u0441\u044a\u0446\u0438",
"HeaderRecordingGroups": "Recording Groups",
"HeaderContinueWatching": "\u041f\u0440\u043e\u0434\u044a\u043b\u0436\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u0433\u043b\u0435\u0434\u0430\u043d\u0435\u0442\u043e",
"HeaderFavoriteArtists": "\u041b\u044e\u0431\u0438\u043c\u0438 \u0438\u0437\u043f\u044a\u043b\u043d\u0438\u0442\u0435\u043b\u0438",
"HeaderFavoriteSongs": "\u041b\u044e\u0431\u0438\u043c\u0438 \u043f\u0435\u0441\u043d\u0438",
"HeaderAlbumArtists": "\u0418\u0437\u043f\u044a\u043b\u043d\u0438\u0442\u0435\u043b\u0438 \u043d\u0430 \u0430\u043b\u0431\u0443\u043c\u0438",
"HeaderFavoriteAlbums": "\u041b\u044e\u0431\u0438\u043c\u0438 \u0430\u043b\u0431\u0443\u043c\u0438",
"HeaderFavoriteEpisodes": "\u041b\u044e\u0431\u0438\u043c\u0438 \u0435\u043f\u0438\u0437\u043e\u0434\u0438",
"HeaderFavoriteShows": "Favorite Shows",
"HeaderNextUp": "Next Up",
"Favorites": "\u041b\u044e\u0431\u0438\u043c\u0438",
"Collections": "\u041a\u043e\u043b\u0435\u043a\u0446\u0438\u0438",
"Channels": "\u041a\u0430\u043d\u0430\u043b\u0438",
"Movies": "\u0424\u0438\u043b\u043c\u0438",
"Albums": "\u0410\u043b\u0431\u0443\u043c\u0438",
"Artists": "\u0418\u0437\u043f\u044a\u043b\u043d\u0438\u0442\u0435\u043b\u0438",
"Folders": "\u041f\u0430\u043f\u043a\u0438",
"Songs": "\u041f\u0435\u0441\u043d\u0438",
"TvShows": "TV Shows",
"Shows": "\u0421\u0435\u0440\u0438\u0430\u043b\u0438",
"Genres": "\u0416\u0430\u043d\u0440\u043e\u0432\u0435",
"NameSeasonNumber": "\u0421\u0435\u0437\u043e\u043d {0}",
"AppDeviceValues": "App: {0}, Device: {1}",
"UserDownloadingItemWithValues": "{0} is downloading {1}",
"FolderTypeMixed": "\u0421\u043c\u0435\u0441\u0435\u043d\u043e \u0441\u044a\u0434\u044a\u0440\u0436\u0430\u043d\u0438\u0435",
"FolderTypeMovies": "\u0424\u0438\u043b\u043c\u0438",
"FolderTypeMusic": "\u041c\u0443\u0437\u0438\u043a\u0430",
"FolderTypeAdultVideos": "\u041a\u043b\u0438\u043f\u043e\u0432\u0435 \u0437\u0430 \u0432\u044a\u0437\u0440\u0430\u0441\u0442\u043d\u0438",
"FolderTypePhotos": "\u0421\u043d\u0438\u043c\u043a\u0438",
"FolderTypeMusicVideos": "\u041c\u0443\u0437\u0438\u043a\u0430\u043b\u043d\u0438 \u043a\u043b\u0438\u043f\u043e\u0432\u0435",
"FolderTypeHomeVideos": "\u0414\u043e\u043c\u0430\u0448\u043d\u0438 \u043a\u043b\u0438\u043f\u043e\u0432\u0435",
"FolderTypeGames": "\u0418\u0433\u0440\u0438",
"FolderTypeBooks": "\u041a\u043d\u0438\u0433\u0438",
"FolderTypeTvShows": "TV",
"FolderTypeInherit": "\u041d\u0430\u0441\u043b\u0435\u0434\u0438",
"HeaderCastCrew": "\u0415\u043a\u0438\u043f",
"HeaderPeople": "People",
"ValueSpecialEpisodeName": "Special - {0}",
"LabelChapterName": "Chapter {0}",
"NameSeasonNumber": "Season {0}",
"LabelExit": "\u0418\u0437\u0445\u043e\u0434",
"LabelVisitCommunity": "\u041f\u043e\u0441\u0435\u0442\u0438 \u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e\u0442\u043e",
"LabelGithub": "Github",
"LabelApiDocumentation": "API \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f",
"LabelDeveloperResources": "\u0420\u0435\u0441\u0443\u0440\u0441\u0438 \u0437\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u0446\u0438",
"LabelBrowseLibrary": "\u0420\u0430\u0437\u0433\u043b\u0435\u0434\u0430\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u0442\u0430",
"LabelConfigureServer": "\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0430\u0439 Emby",
"LabelRestartServer": "\u0420\u0435\u0441\u0442\u0430\u0440\u0442\u0438\u0440\u0430\u0439 \u0441\u044a\u0440\u0432\u044a\u0440\u0430",
"CategorySync": "\u0421\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437.",
"CategoryUser": "User",
"CategorySystem": "System",
"CategoryApplication": "Application",
"CategoryPlugin": "Plugin",
"NotificationOptionPluginError": "Plugin failure",
"NotificationOptionApplicationUpdateAvailable": "Application update available",
"NotificationOptionApplicationUpdateInstalled": "Application update installed",
"NotificationOptionPluginUpdateInstalled": "Plugin update installed",
"NotificationOptionPluginInstalled": "Plugin installed",
"NotificationOptionPluginUninstalled": "Plugin uninstalled",
"NotificationOptionVideoPlayback": "Video playback started",
"NotificationOptionAudioPlayback": "Audio playback started",
"NotificationOptionGamePlayback": "Game playback started",
"NotificationOptionVideoPlaybackStopped": "Video playback stopped",
"NotificationOptionAudioPlaybackStopped": "Audio playback stopped",
"NotificationOptionGamePlaybackStopped": "Game playback stopped",
"NotificationOptionTaskFailed": "Scheduled task failure",
"NotificationOptionInstallationFailed": "Installation failure",
"NotificationOptionNewLibraryContent": "New content added",
"NotificationOptionNewLibraryContentMultiple": "New content added (multiple)",
"NotificationOptionCameraImageUploaded": "Camera image uploaded",
"NotificationOptionUserLockedOut": "User locked out",
"NotificationOptionServerRestartRequired": "Server restart required",
"ViewTypePlaylists": "Playlists",
"ViewTypeMovies": "Movies",
"ViewTypeTvShows": "TV",
"ViewTypeGames": "Games",
"ViewTypeMusic": "Music",
"ViewTypeMusicGenres": "Genres",
"ViewTypeMusicArtists": "Artists",
"ViewTypeBoxSets": "Collections",
"ViewTypeChannels": "Channels",
"ViewTypeLiveTV": "Live TV",
"ViewTypeLiveTvNowPlaying": "Now Airing",
"ViewTypeLatestGames": "Latest Games",
"ViewTypeRecentlyPlayedGames": "Recently Played",
"ViewTypeGameFavorites": "Favorites",
"ViewTypeGameSystems": "Game Systems",
"ViewTypeGameGenres": "Genres",
"ViewTypeTvResume": "Resume",
"ViewTypeTvNextUp": "Next Up",
"ViewTypeTvLatest": "Latest",
"ViewTypeTvShowSeries": "Series",
"ViewTypeTvGenres": "Genres",
"ViewTypeTvFavoriteSeries": "Favorite Series",
"ViewTypeTvFavoriteEpisodes": "Favorite Episodes",
"ViewTypeMovieResume": "Resume",
"ViewTypeMovieLatest": "Latest",
"ViewTypeMovieMovies": "Movies",
"ViewTypeMovieCollections": "Collections",
"ViewTypeMovieFavorites": "Favorites",
"ViewTypeMovieGenres": "Genres",
"ViewTypeMusicLatest": "Latest",
"ViewTypeMusicPlaylists": "Playlists",
"ViewTypeMusicAlbums": "Albums",
"ViewTypeMusicAlbumArtists": "Album Artists",
"HeaderOtherDisplaySettings": "Display Settings",
"ViewTypeMusicSongs": "Songs",
"ViewTypeMusicFavorites": "Favorites",
"ViewTypeMusicFavoriteAlbums": "Favorite Albums",
"ViewTypeMusicFavoriteArtists": "Favorite Artists",
"ViewTypeMusicFavoriteSongs": "Favorite Songs",
"ViewTypeFolders": "Folders",
"ViewTypeLiveTvRecordingGroups": "Recordings",
"ViewTypeLiveTvChannels": "Channels",
"HeaderLiveTV": "Live TV",
"ChapterNameValue": "Chapter {0}",
"ScheduledTaskFailedWithName": "{0} failed",
"LabelRunningTimeValue": "Running time: {0}",
"ScheduledTaskStartedWithName": "{0} started",
"VersionNumber": "\u0412\u0435\u0440\u0441\u0438\u044f {0}",
"ScheduledTaskStartedWithName": "{0} \u0437\u0430\u043f\u043e\u0447\u043d\u0430",
"VersionNumber": "Version {0}",
"PluginInstalledWithName": "{0} was installed",
"StartupEmbyServerIsLoading": "Emby Server is loading. Please try again shortly.",
"PluginUpdatedWithName": "{0} was updated",
"PluginUninstalledWithName": "{0} was uninstalled",
"PluginUninstalledWithName": "{0} \u0435 \u0434\u0435\u0438\u043d\u0441\u0442\u0430\u043b\u0438\u0440\u0430\u043d\u043e",
"ItemAddedWithName": "{0} was added to the library",
"ItemRemovedWithName": "{0} was removed from the library",
"LabelIpAddressValue": "Ip address: {0}",
@ -106,73 +50,47 @@
"UserOnlineFromDevice": "{0} is online from {1}",
"ProviderValue": "Provider: {0}",
"SubtitlesDownloadedForItem": "Subtitles downloaded for {0}",
"UserConfigurationUpdatedWithName": "User configuration has been updated for {0}",
"UserCreatedWithName": "User {0} has been created",
"UserPasswordChangedWithName": "Password has been changed for user {0}",
"UserDeletedWithName": "User {0} has been deleted",
"UserConfigurationUpdatedWithName": "User configuration has been updated for {0}",
"MessageServerConfigurationUpdated": "Server configuration has been updated",
"MessageNamedServerConfigurationUpdatedWithValue": "Server configuration section {0} has been updated",
"MessageApplicationUpdated": "Emby \u0441\u044a\u0440\u0432\u044a\u0440\u044a\u0442 \u0431\u0435 \u043e\u0431\u043d\u043e\u0432\u0435\u043d.",
"MessageApplicationUpdated": "Emby Server has been updated",
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
"DeviceOfflineWithName": "{0} has disconnected",
"UserLockedOutWithName": "User {0} has been locked out",
"UserOfflineFromDevice": "{0} has disconnected from {1}",
"DeviceOfflineWithName": "{0} has disconnected",
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
"NotificationOptionPluginError": "Plugin failure",
"NotificationOptionApplicationUpdateAvailable": "Application update available",
"NotificationOptionApplicationUpdateInstalled": "Application update installed",
"NotificationOptionPluginUpdateInstalled": "\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435\u0442\u043e \u043d\u0430 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0430\u0442\u0430 \u0435 \u0438\u043d\u0441\u0442\u0430\u043b\u0438\u0440\u0430\u043d\u043e",
"NotificationOptionPluginInstalled": "\u041f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0430\u0442\u0430 \u0435 \u0438\u043d\u0441\u0442\u0430\u043b\u0438\u0440\u0430\u043d\u0430",
"NotificationOptionPluginUninstalled": "\u041f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0430\u0442\u0430 \u0435 \u0434\u0435\u0438\u043d\u0441\u0442\u0430\u043b\u0438\u0440\u0430\u043d\u0430",
"NotificationOptionVideoPlayback": "Video playback started",
"NotificationOptionAudioPlayback": "Audio playback started",
"NotificationOptionGamePlayback": "Game playback started",
"NotificationOptionVideoPlaybackStopped": "Video playback stopped",
"NotificationOptionAudioPlaybackStopped": "Audio playback stopped",
"NotificationOptionGamePlaybackStopped": "Game playback stopped",
"NotificationOptionTaskFailed": "Scheduled task failure",
"NotificationOptionInstallationFailed": "Installation failure",
"NotificationOptionNewLibraryContent": "New content added",
"NotificationOptionCameraImageUploaded": "Camera image uploaded",
"NotificationOptionUserLockedOut": "User locked out",
"NotificationOptionServerRestartRequired": "\u041d\u0443\u0436\u043d\u043e \u0435 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e \u043f\u0443\u0441\u043a\u0430\u043d\u0435 \u043d\u0430 \u0441\u044a\u0440\u0432\u044a\u0440\u0430",
"UserLockedOutWithName": "User {0} has been locked out",
"SubtitleDownloadFailureForItem": "Subtitles failed to download for {0}",
"HeaderUnidentified": "Unidentified",
"HeaderImagePrimary": "Primary",
"HeaderImageBackdrop": "Backdrop",
"HeaderImageLogo": "Logo",
"HeaderUserPrimaryImage": "User Image",
"HeaderOverview": "Overview",
"HeaderShortOverview": "Short Overview",
"HeaderType": "Type",
"HeaderSeverity": "Severity",
"HeaderUser": "User",
"HeaderName": "Name",
"HeaderDate": "Date",
"HeaderPremiereDate": "Premiere Date",
"HeaderDateAdded": "Date Added",
"HeaderReleaseDate": "Release date",
"HeaderRuntime": "Runtime",
"HeaderPlayCount": "Play Count",
"HeaderSeason": "Season",
"HeaderSeasonNumber": "Season number",
"HeaderSeries": "Series:",
"HeaderNetwork": "Network",
"HeaderYear": "Year:",
"HeaderYears": "Years:",
"HeaderParentalRating": "Parental Rating",
"HeaderCommunityRating": "Community rating",
"HeaderTrailers": "Trailers",
"HeaderSpecials": "Specials",
"HeaderGameSystems": "Game Systems",
"HeaderPlayers": "Players:",
"HeaderAlbumArtists": "Album Artists",
"HeaderAlbums": "Albums",
"HeaderDisc": "Disc",
"HeaderTrack": "Track",
"HeaderAudio": "\u0410\u0443\u0434\u0438\u043e",
"HeaderVideo": "\u0412\u0438\u0434\u0435\u043e",
"HeaderEmbeddedImage": "Embedded image",
"HeaderResolution": "Resolution",
"HeaderSubtitles": "Subtitles",
"HeaderGenres": "Genres",
"HeaderCountries": "Countries",
"HeaderStatus": "\u0421\u044a\u0441\u0442\u043e\u044f\u043d\u0438\u0435:",
"HeaderTracks": "Tracks",
"HeaderMusicArtist": "Music artist",
"HeaderLocked": "Locked",
"HeaderStudios": "Studios",
"HeaderActor": "Actors",
"HeaderComposer": "Composers",
"HeaderDirector": "Directors",
"HeaderGuestStar": "Guest star",
"HeaderProducer": "Producers",
"HeaderWriter": "Writers",
"HeaderParentalRatings": "Parental Ratings",
"HeaderCommunityRatings": "Community ratings",
"StartupEmbyServerIsLoading": "Emby Server is loading. Please try again shortly."
"Sync": "\u0421\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0438\u0440\u0430\u043d\u0435",
"User": "\u041f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b",
"System": "\u0421\u0438\u0441\u0442\u0435\u043c\u0430",
"Application": "Application",
"Plugin": "Plugin",
"LabelExit": "Exit",
"LabelVisitCommunity": "\u041f\u043e\u0441\u0435\u0442\u0435\u0442\u0435 \u043e\u0431\u0449\u043d\u043e\u0441\u0442\u0442\u0430",
"LabelBrowseLibrary": "\u0420\u0430\u0437\u0433\u043b\u0435\u0436\u0434\u0430\u043d\u0435 \u043d\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u0442\u0430",
"LabelConfigureServer": "\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0415\u043c\u0431\u0438",
"LabelRestartServer": "\u041f\u043e\u0432\u0442\u043e\u0440\u043d\u043e \u043f\u0443\u0441\u043a\u0430\u043d\u0435 \u043d\u0430 \u0441\u044a\u0440\u0432\u044a\u0440\u0430"
}

@ -1,178 +1,96 @@
{
"DbUpgradeMessage": "Si et plau espera mentre la teva base de dades del Servidor Emby \u00e9s actualitzada. {0}% completat.",
"AppDeviceValues": "App: {0}, Dispositiu: {1}",
"UserDownloadingItemWithValues": "{0} est\u00e0 descarregant {1}",
"FolderTypeMixed": "Contingut barrejat",
"FolderTypeMovies": "Pel\u00b7l\u00edcules",
"FolderTypeMusic": "M\u00fasica",
"FolderTypeAdultVideos": "V\u00eddeos per adults",
"FolderTypePhotos": "Fotos",
"FolderTypeMusicVideos": "V\u00eddeos musicals",
"FolderTypeHomeVideos": "V\u00eddeos dom\u00e8stics",
"FolderTypeGames": "Jocs",
"FolderTypeBooks": "Llibres",
"FolderTypeTvShows": "TV",
"FolderTypeInherit": "Heretat",
"HeaderCastCrew": "Repartiment i Equip",
"HeaderPeople": "People",
"ValueSpecialEpisodeName": "Special - {0}",
"LabelChapterName": "Cap\u00edtol {0}",
"NameSeasonNumber": "Temporada {0}",
"LabelExit": "Sortir",
"LabelVisitCommunity": "Visita la Comunitat",
"LabelGithub": "Github",
"LabelApiDocumentation": "Documentaci\u00f3 de l'API",
"LabelDeveloperResources": "Recursos per a Desenvolupadors",
"LabelBrowseLibrary": "Examina la Biblioteca",
"LabelConfigureServer": "Configura Emby",
"LabelRestartServer": "Reiniciar Servidor",
"CategorySync": "Sync",
"CategoryUser": "Usuari",
"CategorySystem": "Sistema",
"CategoryApplication": "Aplicaci\u00f3",
"CategoryPlugin": "Complement",
"NotificationOptionPluginError": "Plugin failure",
"NotificationOptionApplicationUpdateAvailable": "Actualitzaci\u00f3 d'aplicaci\u00f3 disponible",
"NotificationOptionApplicationUpdateInstalled": "Actualitzaci\u00f3 d'aplicaci\u00f3 instal\u00b7lada",
"NotificationOptionPluginUpdateInstalled": "Actualitzaci\u00f3 de complement instal\u00b7lada",
"NotificationOptionPluginInstalled": "Complement instal\u00b7lat",
"NotificationOptionPluginUninstalled": "Complement desinstal\u00b7lat",
"NotificationOptionVideoPlayback": "Reproducci\u00f3 de v\u00eddeo iniciada",
"NotificationOptionAudioPlayback": "Reproducci\u00f3 d'\u00e0udio iniciada",
"NotificationOptionGamePlayback": "Game playback started",
"NotificationOptionVideoPlaybackStopped": "Reproducci\u00f3 de v\u00eddeo aturada",
"NotificationOptionAudioPlaybackStopped": "Reproducci\u00f3 d'\u00e0udio aturada",
"NotificationOptionGamePlaybackStopped": "Game playback stopped",
"NotificationOptionTaskFailed": "Tasca programada fallida",
"NotificationOptionInstallationFailed": "Instal\u00b7laci\u00f3 fallida",
"NotificationOptionNewLibraryContent": "Nou contingut afegit",
"NotificationOptionNewLibraryContentMultiple": "Nous continguts afegits",
"NotificationOptionCameraImageUploaded": "Camera image uploaded",
"NotificationOptionUserLockedOut": "Usuari blocat",
"NotificationOptionServerRestartRequired": "Cal reiniciar el servidor",
"ViewTypePlaylists": "Llistes de reproducci\u00f3",
"ViewTypeMovies": "Pel\u00b7l\u00edcules",
"ViewTypeTvShows": "TV",
"ViewTypeGames": "Jocs",
"ViewTypeMusic": "M\u00fasica",
"ViewTypeMusicGenres": "G\u00e8neres",
"ViewTypeMusicArtists": "Artistes",
"ViewTypeBoxSets": "Col\u00b7leccions",
"ViewTypeChannels": "Canals",
"ViewTypeLiveTV": "TV en Directe",
"ViewTypeLiveTvNowPlaying": "Now Airing",
"ViewTypeLatestGames": "Darrers Jocs",
"ViewTypeRecentlyPlayedGames": "Reprodu\u00eft Recentment",
"ViewTypeGameFavorites": "Preferits",
"ViewTypeGameSystems": "Sistemes de Jocs",
"ViewTypeGameGenres": "G\u00e8neres",
"ViewTypeTvResume": "Resume",
"ViewTypeTvNextUp": "A Continuaci\u00f3",
"ViewTypeTvLatest": "Darrers",
"ViewTypeTvShowSeries": "S\u00e8ries:",
"ViewTypeTvGenres": "G\u00e8neres",
"ViewTypeTvFavoriteSeries": "S\u00e8ries Preferides",
"ViewTypeTvFavoriteEpisodes": "Episodis Preferits",
"ViewTypeMovieResume": "Resume",
"ViewTypeMovieLatest": "Darrers",
"ViewTypeMovieMovies": "Pel\u00b7l\u00edcules",
"ViewTypeMovieCollections": "Col\u00b7leccions",
"ViewTypeMovieFavorites": "Preferides",
"ViewTypeMovieGenres": "G\u00e8neres",
"ViewTypeMusicLatest": "Novetats",
"ViewTypeMusicPlaylists": "Llistes de reproducci\u00f3",
"ViewTypeMusicAlbums": "\u00c0lbums",
"ViewTypeMusicAlbumArtists": "Album Artists",
"HeaderOtherDisplaySettings": "Prefer\u00e8ncies de Visualitzaci\u00f3",
"ViewTypeMusicSongs": "Can\u00e7ons",
"ViewTypeMusicFavorites": "Preferides",
"ViewTypeMusicFavoriteAlbums": "\u00c0lbums Preferits",
"ViewTypeMusicFavoriteArtists": "Artistes Preferits",
"ViewTypeMusicFavoriteSongs": "Can\u00e7ons Preferides",
"ViewTypeFolders": "Directoris",
"ViewTypeLiveTvRecordingGroups": "Enregistraments",
"ViewTypeLiveTvChannels": "Canals",
"Latest": "Darreres",
"ValueSpecialEpisodeName": "Especial - {0}",
"Inherit": "Inherit",
"Books": "Books",
"Music": "Music",
"Games": "Games",
"Photos": "Photos",
"MixedContent": "Mixed content",
"MusicVideos": "Music videos",
"HomeVideos": "Home videos",
"Playlists": "Playlists",
"HeaderRecordingGroups": "Recording Groups",
"HeaderContinueWatching": "Continua Veient",
"HeaderFavoriteArtists": "Favorite Artists",
"HeaderFavoriteSongs": "Favorite Songs",
"HeaderAlbumArtists": "Album Artists",
"HeaderFavoriteAlbums": "Favorite Albums",
"HeaderFavoriteEpisodes": "Favorite Episodes",
"HeaderFavoriteShows": "Programes Preferits",
"HeaderNextUp": "A continuaci\u00f3",
"Favorites": "Favorites",
"Collections": "Collections",
"Channels": "Channels",
"Movies": "Movies",
"Albums": "Albums",
"Artists": "Artists",
"Folders": "Folders",
"Songs": "Songs",
"TvShows": "TV Shows",
"Shows": "Shows",
"Genres": "G\u00e8neres",
"NameSeasonNumber": "Season {0}",
"AppDeviceValues": "App: {0}, Device: {1}",
"UserDownloadingItemWithValues": "{0} is downloading {1}",
"HeaderLiveTV": "Live TV",
"ChapterNameValue": "Chapter {0}",
"ScheduledTaskFailedWithName": "{0} failed",
"LabelRunningTimeValue": "Running time: {0}",
"ScheduledTaskStartedWithName": "{0} started",
"VersionNumber": "Versi\u00f3 {0}",
"VersionNumber": "Version {0}",
"PluginInstalledWithName": "{0} was installed",
"StartupEmbyServerIsLoading": "Emby Server is loading. Please try again shortly.",
"PluginUpdatedWithName": "{0} was updated",
"PluginUninstalledWithName": "{0} was uninstalled",
"ItemAddedWithName": "{0} afegit a la biblioteca",
"ItemRemovedWithName": "{0} eliminat de la biblioteca",
"ItemAddedWithName": "{0} was added to the library",
"ItemRemovedWithName": "{0} was removed from the library",
"LabelIpAddressValue": "Ip address: {0}",
"DeviceOnlineWithName": "{0} is connected",
"UserOnlineFromDevice": "{0} is online from {1}",
"ProviderValue": "Prove\u00efdor: {0}",
"ProviderValue": "Provider: {0}",
"SubtitlesDownloadedForItem": "Subtitles downloaded for {0}",
"UserConfigurationUpdatedWithName": "User configuration has been updated for {0}",
"UserCreatedWithName": "User {0} has been created",
"UserPasswordChangedWithName": "Password has been changed for user {0}",
"UserDeletedWithName": "L'usuari {0} ha estat eliminat",
"UserDeletedWithName": "User {0} has been deleted",
"UserConfigurationUpdatedWithName": "User configuration has been updated for {0}",
"MessageServerConfigurationUpdated": "Server configuration has been updated",
"MessageNamedServerConfigurationUpdatedWithValue": "Server configuration section {0} has been updated",
"MessageApplicationUpdated": "Emby Server has been updated",
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
"AuthenticationSucceededWithUserName": "{0} autenticat correctament",
"DeviceOfflineWithName": "{0} has disconnected",
"UserLockedOutWithName": "L'usuari {0} ha estat blocat",
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
"UserOfflineFromDevice": "{0} has disconnected from {1}",
"UserStartedPlayingItemWithValues": "{0} ha comen\u00e7at a reproduir {1}",
"UserStoppedPlayingItemWithValues": "{0} ha parat de reproduir {1}",
"DeviceOfflineWithName": "{0} has disconnected",
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
"NotificationOptionPluginError": "Plugin failure",
"NotificationOptionApplicationUpdateAvailable": "Application update available",
"NotificationOptionApplicationUpdateInstalled": "Application update installed",
"NotificationOptionPluginUpdateInstalled": "Plugin update installed",
"NotificationOptionPluginInstalled": "Plugin installed",
"NotificationOptionPluginUninstalled": "Plugin uninstalled",
"NotificationOptionVideoPlayback": "Video playback started",
"NotificationOptionAudioPlayback": "Audio playback started",
"NotificationOptionGamePlayback": "Game playback started",
"NotificationOptionVideoPlaybackStopped": "Video playback stopped",
"NotificationOptionAudioPlaybackStopped": "Audio playback stopped",
"NotificationOptionGamePlaybackStopped": "Game playback stopped",
"NotificationOptionTaskFailed": "Scheduled task failure",
"NotificationOptionInstallationFailed": "Installation failure",
"NotificationOptionNewLibraryContent": "New content added",
"NotificationOptionCameraImageUploaded": "Camera image uploaded",
"NotificationOptionUserLockedOut": "User locked out",
"NotificationOptionServerRestartRequired": "Server restart required",
"UserLockedOutWithName": "User {0} has been locked out",
"SubtitleDownloadFailureForItem": "Subtitles failed to download for {0}",
"HeaderUnidentified": "Unidentified",
"HeaderImagePrimary": "Primary",
"HeaderImageBackdrop": "Backdrop",
"HeaderImageLogo": "Logo",
"HeaderUserPrimaryImage": "User Image",
"HeaderOverview": "Overview",
"HeaderShortOverview": "Short Overview",
"HeaderType": "Type",
"HeaderSeverity": "Severity",
"HeaderUser": "Usuari",
"HeaderName": "Nom",
"HeaderDate": "Data",
"HeaderPremiereDate": "Premiere Date",
"HeaderDateAdded": "Data afegida",
"HeaderReleaseDate": "Data de publicaci\u00f3",
"HeaderRuntime": "Runtime",
"HeaderPlayCount": "Play Count",
"HeaderSeason": "Temporada",
"HeaderSeasonNumber": "Season number",
"HeaderSeries": "S\u00e8ries:",
"HeaderNetwork": "Network",
"HeaderYear": "Any:",
"HeaderYears": "Anys:",
"HeaderParentalRating": "Valoraci\u00f3 Parental",
"HeaderCommunityRating": "Community rating",
"HeaderTrailers": "Tr\u00e0ilers",
"HeaderSpecials": "Specials",
"HeaderGameSystems": "Sistemes de Jocs",
"HeaderPlayers": "Jugadors:",
"HeaderAlbumArtists": "Album Artists",
"HeaderAlbums": "Albums",
"HeaderDisc": "Disc",
"HeaderTrack": "Track",
"HeaderAudio": "\u00c0udio",
"HeaderVideo": "V\u00eddeo",
"HeaderEmbeddedImage": "Embedded image",
"HeaderResolution": "Resolution",
"HeaderSubtitles": "Subt\u00edtols",
"HeaderGenres": "Genres",
"HeaderCountries": "Countries",
"HeaderStatus": "Estat",
"HeaderTracks": "Tracks",
"HeaderMusicArtist": "M\u00fasic",
"HeaderLocked": "Blocat",
"HeaderStudios": "Estudis",
"HeaderActor": "Actors",
"HeaderComposer": "Compositors",
"HeaderDirector": "Directors",
"HeaderGuestStar": "Artista convidat",
"HeaderProducer": "Productors",
"HeaderWriter": "Escriptors",
"HeaderParentalRatings": "Parental Ratings",
"HeaderCommunityRatings": "Qualificacions de la comunitat",
"StartupEmbyServerIsLoading": "El servidor d'Emby s'est&agrave; carregant. Si et plau, tornau-ho a provar de nou en breu."
"Sync": "Sync",
"User": "User",
"System": "System",
"Application": "Application",
"Plugin": "Plugin",
"LabelExit": "Exit",
"LabelVisitCommunity": "Visit Community",
"LabelBrowseLibrary": "Browse Library",
"LabelConfigureServer": "Configure Emby",
"LabelRestartServer": "Restart Server"
}

@ -1,102 +1,46 @@
{
"DbUpgradeMessage": "Po\u010dkejte pros\u00edm, datab\u00e1ze Emby Serveru je aktualizov\u00e1na na novou verzi. Hotovo {0}%.",
"AppDeviceValues": "Aplikace: {0}, Za\u0159\u00edzen\u00ed: {1}",
"UserDownloadingItemWithValues": "{0} pr\u00e1v\u011b stahuje {1}",
"FolderTypeMixed": "Sm\u00ed\u0161en\u00fd obsah",
"FolderTypeMovies": "Filmy",
"FolderTypeMusic": "Hudba",
"FolderTypeAdultVideos": "Filmy pro dosp\u011bl\u00e9",
"FolderTypePhotos": "Fotky",
"FolderTypeMusicVideos": "Hudebn\u00ed klipy",
"FolderTypeHomeVideos": "Dom\u00e1c\u00ed video",
"FolderTypeGames": "Hry",
"FolderTypeBooks": "Knihy",
"FolderTypeTvShows": "TV",
"FolderTypeInherit": "Zd\u011bdit",
"HeaderCastCrew": "Herci a obsazen\u00ed",
"HeaderPeople": "Lid\u00e9",
"Latest": "Nejnov\u011bj\u0161\u00ed",
"ValueSpecialEpisodeName": "Speci\u00e1l - {0}",
"LabelChapterName": "Kapitola {0}",
"Inherit": "Zd\u011bdit",
"Books": "Knihy",
"Music": "Hudba",
"Games": "Hry",
"Photos": "Fotky",
"MixedContent": "Sm\u00ed\u0161en\u00fd obsah",
"MusicVideos": "Hudebn\u00ed klipy",
"HomeVideos": "Dom\u00e1ci videa",
"Playlists": "Seznamy skladeb",
"HeaderRecordingGroups": "Skupiny nahr\u00e1vek",
"HeaderContinueWatching": "Pokra\u010dovat ve sledov\u00e1n\u00ed",
"HeaderFavoriteArtists": "Obl\u00edben\u00ed um\u011blci",
"HeaderFavoriteSongs": "Obl\u00edben\u00e9 p\u00edsn\u011b",
"HeaderAlbumArtists": "Um\u011blci alba",
"HeaderFavoriteAlbums": "Obl\u00edben\u00e1 alba",
"HeaderFavoriteEpisodes": "Obl\u00edben\u00e9 epizody",
"HeaderFavoriteShows": "Obl\u00edben\u00e9 seri\u00e1ly",
"HeaderNextUp": "Nadch\u00e1zej\u00edc\u00ed",
"Favorites": "Obl\u00edben\u00e9",
"Collections": "Kolekce",
"Channels": "Kan\u00e1ly",
"Movies": "Filmy",
"Albums": "Alba",
"Artists": "Um\u011blci",
"Folders": "Slo\u017eky",
"Songs": "Skladby",
"TvShows": "TV Shows",
"Shows": "Seri\u00e1ly",
"Genres": "\u017d\u00e1nry",
"NameSeasonNumber": "Sez\u00f3na {0}",
"LabelExit": "Zav\u0159\u00edt",
"LabelVisitCommunity": "Nav\u0161t\u00edvit komunitu",
"LabelGithub": "Github",
"LabelApiDocumentation": "Dokumentace API",
"LabelDeveloperResources": "Zdroje v\u00fdvoj\u00e1\u0159\u016f",
"LabelBrowseLibrary": "Proch\u00e1zet knihovnu",
"LabelConfigureServer": "Konfigurovat Emby",
"LabelRestartServer": "Restartovat server",
"CategorySync": "Synchronizace",
"CategoryUser": "U\u017eivatel:",
"CategorySystem": "Syst\u00e9m",
"CategoryApplication": "Aplikace",
"CategoryPlugin": "Z\u00e1suvn\u00fd modul",
"NotificationOptionPluginError": "Chyba z\u00e1suvn\u00e9ho modulu",
"NotificationOptionApplicationUpdateAvailable": "Dostupnost aktualizace aplikace",
"NotificationOptionApplicationUpdateInstalled": "Instalace aktualizace aplikace",
"NotificationOptionPluginUpdateInstalled": "Aktualizace z\u00e1suvn\u00e9ho modulu instalov\u00e1na",
"NotificationOptionPluginInstalled": "Z\u00e1suvn\u00fd modul instalov\u00e1n",
"NotificationOptionPluginUninstalled": "Z\u00e1suvn\u00fd modul odstran\u011bn",
"NotificationOptionVideoPlayback": "P\u0159ehr\u00e1v\u00e1n\u00ed videa zah\u00e1jeno",
"NotificationOptionAudioPlayback": "P\u0159ehr\u00e1v\u00e1n\u00ed audia zah\u00e1jeno",
"NotificationOptionGamePlayback": "Spu\u0161t\u011bn\u00ed hry zah\u00e1jeno",
"NotificationOptionVideoPlaybackStopped": "P\u0159ehr\u00e1v\u00e1n\u00ed videa ukon\u010deno",
"NotificationOptionAudioPlaybackStopped": "P\u0159ehr\u00e1v\u00e1n\u00ed audia ukon\u010deno",
"NotificationOptionGamePlaybackStopped": "Hra ukon\u010dena",
"NotificationOptionTaskFailed": "Chyba napl\u00e1novan\u00e9 \u00falohy",
"NotificationOptionInstallationFailed": "Chyba instalace",
"NotificationOptionNewLibraryContent": "P\u0159id\u00e1n nov\u00fd obsah",
"NotificationOptionNewLibraryContentMultiple": "P\u0159id\u00e1n nov\u00fd obsah (v\u00edcen\u00e1sobn\u00fd)",
"NotificationOptionCameraImageUploaded": "Kamerov\u00fd z\u00e1znam nahr\u00e1n",
"NotificationOptionUserLockedOut": "U\u017eivatel uzam\u010den",
"NotificationOptionServerRestartRequired": "Je vy\u017eadov\u00e1n restart serveru",
"ViewTypePlaylists": "Playlisty",
"ViewTypeMovies": "Filmy",
"ViewTypeTvShows": "Televize",
"ViewTypeGames": "Hry",
"ViewTypeMusic": "Hudba",
"ViewTypeMusicGenres": "\u017d\u00e1nry",
"ViewTypeMusicArtists": "\u00dam\u011blci",
"ViewTypeBoxSets": "Kolekce",
"ViewTypeChannels": "Kan\u00e1ly",
"ViewTypeLiveTV": "Live TV",
"ViewTypeLiveTvNowPlaying": "Vys\u00edl\u00e1no nyn\u00ed",
"ViewTypeLatestGames": "Nejnov\u011bj\u0161\u00ed hry",
"ViewTypeRecentlyPlayedGames": "Ned\u00e1vno p\u0159ehr\u00e1no",
"ViewTypeGameFavorites": "Obl\u00edben\u00e9",
"ViewTypeGameSystems": "Syst\u00e9my hry",
"ViewTypeGameGenres": "\u017d\u00e1nry",
"ViewTypeTvResume": "Obnovit",
"ViewTypeTvNextUp": "O\u010dek\u00e1van\u00e9",
"ViewTypeTvLatest": "Nejnov\u011bj\u0161\u00ed",
"ViewTypeTvShowSeries": "Seri\u00e1l",
"ViewTypeTvGenres": "\u017d\u00e1nry",
"ViewTypeTvFavoriteSeries": "Obl\u00edben\u00e9 seri\u00e1ly",
"ViewTypeTvFavoriteEpisodes": "Obl\u00edben\u00e9 epizody",
"ViewTypeMovieResume": "Obnovit",
"ViewTypeMovieLatest": "Nejnov\u011bj\u0161\u00ed",
"ViewTypeMovieMovies": "Filmy",
"ViewTypeMovieCollections": "Kolekce",
"ViewTypeMovieFavorites": "Obl\u00edben\u00e9",
"ViewTypeMovieGenres": "\u017d\u00e1nry",
"ViewTypeMusicLatest": "Nejnov\u011bj\u0161\u00ed",
"ViewTypeMusicPlaylists": "Playlisty",
"ViewTypeMusicAlbums": "Alba",
"ViewTypeMusicAlbumArtists": "Alba \u00fam\u011blc\u016f",
"HeaderOtherDisplaySettings": "Nastaven\u00ed zobrazen\u00ed",
"ViewTypeMusicSongs": "Songy",
"ViewTypeMusicFavorites": "Obl\u00edben\u00e9",
"ViewTypeMusicFavoriteAlbums": "Obl\u00edben\u00e1 alba",
"ViewTypeMusicFavoriteArtists": "Obl\u00edben\u00ed \u00fam\u011blci",
"ViewTypeMusicFavoriteSongs": "Obl\u00edben\u00e9 songy",
"ViewTypeFolders": "Slo\u017eky",
"ViewTypeLiveTvRecordingGroups": "Nahr\u00e1vky",
"ViewTypeLiveTvChannels": "Kan\u00e1ly",
"AppDeviceValues": "Aplikace: {0}, Za\u0159\u00edzen\u00ed: {1}",
"UserDownloadingItemWithValues": "{0} stahuje {1}",
"HeaderLiveTV": "\u017div\u00e1 TV",
"ChapterNameValue": "Kapitola {0}",
"ScheduledTaskFailedWithName": "{0} selhalo",
"LabelRunningTimeValue": "D\u00e9lka m\u00e9dia: {0}",
"ScheduledTaskStartedWithName": "{0} zah\u00e1jeno",
"VersionNumber": "Verze {0}",
"PluginInstalledWithName": "{0} byl nainstalov\u00e1n",
"StartupEmbyServerIsLoading": "Emby Server je spou\u0161t\u011bn. Zkuste to pros\u00edm v brzk\u00e9 dob\u011b znovu.",
"PluginUpdatedWithName": "{0} byl aktualizov\u00e1n",
"PluginUninstalledWithName": "{0} byl odinstalov\u00e1n",
"ItemAddedWithName": "{0} byl p\u0159id\u00e1n do knihovny",
@ -106,73 +50,47 @@
"UserOnlineFromDevice": "{0} se p\u0159ipojil z {1}",
"ProviderValue": "Poskytl: {0}",
"SubtitlesDownloadedForItem": "Sta\u017eeny titulky pro {0}",
"UserConfigurationUpdatedWithName": "Konfigurace u\u017eivatele byla aktualizov\u00e1na pro {0}",
"UserCreatedWithName": "U\u017eivatel {0} byl vytvo\u0159en",
"UserPasswordChangedWithName": "Pro u\u017eivatele {0} byla provedena zm\u011bna hesla",
"UserPasswordChangedWithName": "Provedena zm\u011bna hesla pro u\u017eivatele {0}",
"UserDeletedWithName": "U\u017eivatel {0} byl smaz\u00e1n",
"MessageServerConfigurationUpdated": "Konfigurace serveru byla aktualizov\u00e1na",
"UserConfigurationUpdatedWithName": "Konfigurace u\u017eivatele byla aktualizov\u00e1na pro {0}",
"MessageServerConfigurationUpdated": "Konfigurace serveru aktualizov\u00e1na",
"MessageNamedServerConfigurationUpdatedWithValue": "Konfigurace sekce {0} na serveru byla aktualizov\u00e1na",
"MessageApplicationUpdated": "Emby Server byl aktualizov\u00e1n",
"FailedLoginAttemptWithUserName": "Ne\u00fasp\u011b\u0161n\u00fd pokus o p\u0159ihl\u00e1\u0161en\u00ed z {0}",
"AuthenticationSucceededWithUserName": "{0} \u00fasp\u011b\u0161n\u011b ov\u011b\u0159en",
"DeviceOfflineWithName": "{0} se odpojil",
"UserLockedOutWithName": "U\u017eivatel {0} byl odem\u010den",
"UserOfflineFromDevice": "{0} se odpojil od {1}",
"DeviceOfflineWithName": "{0} se odpojil",
"UserStartedPlayingItemWithValues": "{0} spustil p\u0159ehr\u00e1v\u00e1n\u00ed {1}",
"UserStoppedPlayingItemWithValues": "{0} zastavil p\u0159ehr\u00e1v\u00e1n\u00ed {1}",
"NotificationOptionPluginError": "Chyba z\u00e1suvn\u00e9ho modulu",
"NotificationOptionApplicationUpdateAvailable": "Dostupn\u00e1 aktualizace aplikace",
"NotificationOptionApplicationUpdateInstalled": "Aktualizace aplikace instalov\u00e1na",
"NotificationOptionPluginUpdateInstalled": "Aktualizace z\u00e1suvn\u00e9ho modulu instalov\u00e1na",
"NotificationOptionPluginInstalled": "Z\u00e1suvn\u00fd modul instalov\u00e1n",
"NotificationOptionPluginUninstalled": "Z\u00e1suvn\u00fd modul odstran\u011bn",
"NotificationOptionVideoPlayback": "P\u0159ehr\u00e1v\u00e1n\u00ed videa zah\u00e1jeno",
"NotificationOptionAudioPlayback": "P\u0159ehr\u00e1v\u00e1n\u00ed audia zah\u00e1jeno",
"NotificationOptionGamePlayback": "Spu\u0161t\u011bn\u00ed hry zah\u00e1jeno",
"NotificationOptionVideoPlaybackStopped": "P\u0159ehr\u00e1v\u00e1n\u00ed videa ukon\u010deno",
"NotificationOptionAudioPlaybackStopped": "P\u0159ehr\u00e1v\u00e1n\u00ed audia ukon\u010deno",
"NotificationOptionGamePlaybackStopped": "Hra ukon\u010dena",
"NotificationOptionTaskFailed": "Chyba napl\u00e1novan\u00e9 \u00falohy",
"NotificationOptionInstallationFailed": "Chyba instalace",
"NotificationOptionNewLibraryContent": "P\u0159id\u00e1n nov\u00fd obsah",
"NotificationOptionCameraImageUploaded": "Kamerov\u00fd z\u00e1znam nahr\u00e1n",
"NotificationOptionUserLockedOut": "U\u017eivatel uzam\u010den",
"NotificationOptionServerRestartRequired": "Je vy\u017eadov\u00e1n restart serveru",
"UserLockedOutWithName": "U\u017eivatel {0} byl odem\u010den",
"SubtitleDownloadFailureForItem": "Stahov\u00e1n\u00ed titulk\u016f selhalo pro {0}",
"HeaderUnidentified": "Neidentifikov\u00e1n",
"HeaderImagePrimary": "Prim\u00e1rn\u00ed",
"HeaderImageBackdrop": "Pozad\u00ed",
"HeaderImageLogo": "Logo",
"HeaderUserPrimaryImage": "Avatar u\u017eivatele",
"HeaderOverview": "P\u0159ehled",
"HeaderShortOverview": "Stru\u010dn\u00fd p\u0159ehled",
"HeaderType": "Typ",
"HeaderSeverity": "Z\u00e1va\u017enost",
"HeaderUser": "U\u017eivatel",
"HeaderName": "N\u00e1zev",
"HeaderDate": "Datum",
"HeaderPremiereDate": "Premi\u00e9ra",
"HeaderDateAdded": "P\u0159id\u00e1no",
"HeaderReleaseDate": "Datum vyd\u00e1n\u00ed",
"HeaderRuntime": "D\u00e9lka",
"HeaderPlayCount": "P\u0159ehr\u00e1no (po\u010det)",
"HeaderSeason": "Sez\u00f3na",
"HeaderSeasonNumber": "\u010c\u00edslo sez\u00f3ny",
"HeaderSeries": "Seri\u00e1l:",
"HeaderNetwork": "S\u00ed\u0165",
"HeaderYear": "Rok:",
"HeaderYears": "V letech:",
"HeaderParentalRating": "Rodi\u010dovsk\u00e9 hodnocen\u00ed",
"HeaderCommunityRating": "Hodnocen\u00ed komunity",
"HeaderTrailers": "Trailery",
"HeaderSpecials": "Speci\u00e1ly",
"HeaderGameSystems": "Syst\u00e9m hry",
"HeaderPlayers": "Hr\u00e1\u010di:",
"HeaderAlbumArtists": "\u00dam\u011blci alba",
"HeaderAlbums": "Alba",
"HeaderDisc": "Disk",
"HeaderTrack": "Stopa",
"HeaderAudio": "Zvuk",
"HeaderVideo": "Video",
"HeaderEmbeddedImage": "Vlo\u017een\u00fd obr\u00e1zek",
"HeaderResolution": "Rozli\u0161en\u00ed",
"HeaderSubtitles": "Titulky",
"HeaderGenres": "\u017d\u00e1nry",
"HeaderCountries": "Zem\u011b",
"HeaderStatus": "Stav",
"HeaderTracks": "Stopy",
"HeaderMusicArtist": "Hudebn\u00ed \u00fam\u011blec",
"HeaderLocked": "Uzam\u010deno",
"HeaderStudios": "Studia",
"HeaderActor": "Herci",
"HeaderComposer": "Skladatel\u00e9",
"HeaderDirector": "Re\u017eis\u00e9\u0159i",
"HeaderGuestStar": "Hostuj\u00edc\u00ed hv\u011bzda",
"HeaderProducer": "Producenti",
"HeaderWriter": "Spisovatel\u00e9",
"HeaderParentalRatings": "Rodi\u010dovsk\u00e1 hodnocen\u00ed",
"HeaderCommunityRatings": "Hodnocen\u00ed komunity",
"StartupEmbyServerIsLoading": "Emby Server je na\u010d\u00edt\u00e1n. Zkuste to pros\u00edm znovu v brzk\u00e9 dob\u011b."
"Sync": "Synchronizace",
"User": "U\u017eivatel",
"System": "Syst\u00e9m",
"Application": "Aplikace",
"Plugin": "Z\u00e1suvn\u00fd modul",
"LabelExit": "Uko\u010dit",
"LabelVisitCommunity": "Nav\u0161t\u00edvit komunitu",
"LabelBrowseLibrary": "Proch\u00e1zet knihovnu",
"LabelConfigureServer": "Konfigurovat Emby",
"LabelRestartServer": "Restartovat Server"
}

@ -1,102 +1,46 @@
{
"DbUpgradeMessage": "Please wait while your Emby Server database is upgraded. {0}% complete.",
"AppDeviceValues": "App: {0}, Enhed: {1}",
"UserDownloadingItemWithValues": "{0} henter {1}",
"FolderTypeMixed": "Blandet indhold",
"FolderTypeMovies": "FIlm",
"FolderTypeMusic": "Musik",
"FolderTypeAdultVideos": "Voksenfilm",
"FolderTypePhotos": "Fotos",
"FolderTypeMusicVideos": "Musikvideoer",
"FolderTypeHomeVideos": "Hjemmevideoer",
"FolderTypeGames": "Spil",
"FolderTypeBooks": "B\u00f8ger",
"FolderTypeTvShows": "TV",
"FolderTypeInherit": "Nedarv",
"HeaderCastCrew": "Medvirkende",
"HeaderPeople": "Mennesker",
"Latest": "Seneste",
"ValueSpecialEpisodeName": "Special - {0}",
"LabelChapterName": "Kapitel {0}",
"Inherit": "Arv",
"Books": "B\u00f8ger",
"Music": "Musik",
"Games": "Spil",
"Photos": "Fotos",
"MixedContent": "Blandet indhold",
"MusicVideos": "Musikvideoer",
"HomeVideos": "Hjemmevideoer",
"Playlists": "Spillelister",
"HeaderRecordingGroups": "Optagegrupper",
"HeaderContinueWatching": "Forts\u00e6t Afspilning",
"HeaderFavoriteArtists": "Favoritkunstnere",
"HeaderFavoriteSongs": "Favoritsange",
"HeaderAlbumArtists": "Albumkunstnere",
"HeaderFavoriteAlbums": "Favoritalbum",
"HeaderFavoriteEpisodes": "Favoritepisoder",
"HeaderFavoriteShows": "Favorit serier",
"HeaderNextUp": "N\u00e6ste",
"Favorites": "Favoritter",
"Collections": "Samlinger",
"Channels": "Kanaler",
"Movies": "Film",
"Albums": "Album",
"Artists": "Kunstner",
"Folders": "Mapper",
"Songs": "Sange",
"TvShows": "TV Shows",
"Shows": "Shows",
"Genres": "Genre",
"NameSeasonNumber": "S\u00e6son {0}",
"LabelExit": "Afslut",
"LabelVisitCommunity": "Bes\u00f8g F\u00e6lleskab",
"LabelGithub": "Github",
"LabelApiDocumentation": "Api dokumentation",
"LabelDeveloperResources": "Udviklerressourcer",
"LabelBrowseLibrary": "Gennemse bibliotek",
"LabelConfigureServer": "Konfigurer Emby",
"LabelRestartServer": "Genstart Server",
"CategorySync": "Sync",
"CategoryUser": "Bruger",
"CategorySystem": "System",
"CategoryApplication": "Program",
"CategoryPlugin": "Plugin",
"NotificationOptionPluginError": "Plugin fejl",
"NotificationOptionApplicationUpdateAvailable": "Programopdatering tilg\u00e6ngelig",
"NotificationOptionApplicationUpdateInstalled": "Programopdatering installeret",
"NotificationOptionPluginUpdateInstalled": "Opdatering til plugin installeret",
"NotificationOptionPluginInstalled": "Plugin installeret",
"NotificationOptionPluginUninstalled": "Plugin afinstalleret",
"NotificationOptionVideoPlayback": "Videoafspilning startet",
"NotificationOptionAudioPlayback": "Lydafspilning startet",
"NotificationOptionGamePlayback": "Spilafspilning startet",
"NotificationOptionVideoPlaybackStopped": "Videoafspilning stoppet",
"NotificationOptionAudioPlaybackStopped": "Lydafspilning stoppet",
"NotificationOptionGamePlaybackStopped": "Spilafspilning stoppet",
"NotificationOptionTaskFailed": "Fejl i planlagt opgave",
"NotificationOptionInstallationFailed": "Fejl ved installation",
"NotificationOptionNewLibraryContent": "Nyt indhold tilf\u00f8jet",
"NotificationOptionNewLibraryContentMultiple": "Nyt indhold tilf\u00f8jet (flere)",
"NotificationOptionCameraImageUploaded": "Kamerabillede tilf\u00f8jet",
"NotificationOptionUserLockedOut": "Bruger l\u00e5st",
"NotificationOptionServerRestartRequired": "Genstart af serveren p\u00e5kr\u00e6vet",
"ViewTypePlaylists": "Afspilningslister",
"ViewTypeMovies": "Film",
"ViewTypeTvShows": "TV",
"ViewTypeGames": "Spil",
"ViewTypeMusic": "Musik",
"ViewTypeMusicGenres": "Genrer",
"ViewTypeMusicArtists": "Artister",
"ViewTypeBoxSets": "Samlinger",
"ViewTypeChannels": "Kanaler",
"ViewTypeLiveTV": "Live TV",
"ViewTypeLiveTvNowPlaying": "Vises nu",
"ViewTypeLatestGames": "Seneste spil",
"ViewTypeRecentlyPlayedGames": "Afspillet for nylig",
"ViewTypeGameFavorites": "Favoritter",
"ViewTypeGameSystems": "Spilsystemer",
"ViewTypeGameGenres": "Genrer",
"ViewTypeTvResume": "Forts\u00e6t",
"ViewTypeTvNextUp": "N\u00e6ste",
"ViewTypeTvLatest": "Seneste",
"ViewTypeTvShowSeries": "Serier",
"ViewTypeTvGenres": "Genrer",
"ViewTypeTvFavoriteSeries": "Favoritserier",
"ViewTypeTvFavoriteEpisodes": "Favoritepisoder",
"ViewTypeMovieResume": "Forts\u00e6t",
"ViewTypeMovieLatest": "Seneste",
"ViewTypeMovieMovies": "Film",
"ViewTypeMovieCollections": "Samlinger",
"ViewTypeMovieFavorites": "Favoritter",
"ViewTypeMovieGenres": "Genrer",
"ViewTypeMusicLatest": "Seneste",
"ViewTypeMusicPlaylists": "Afspilningslister",
"ViewTypeMusicAlbums": "Albums",
"ViewTypeMusicAlbumArtists": "Albumartister",
"HeaderOtherDisplaySettings": "Indstillinger for visning",
"ViewTypeMusicSongs": "Sange",
"ViewTypeMusicFavorites": "Favoritter",
"ViewTypeMusicFavoriteAlbums": "Favoritalbums",
"ViewTypeMusicFavoriteArtists": "Favoritartister",
"ViewTypeMusicFavoriteSongs": "Favoritsange",
"ViewTypeFolders": "Mapper",
"ViewTypeLiveTvRecordingGroups": "Optagelser",
"ViewTypeLiveTvChannels": "Kanaler",
"ScheduledTaskFailedWithName": "{0} fejlede",
"LabelRunningTimeValue": "K\u00f8rselstid: {0}",
"ScheduledTaskStartedWithName": "{0} startet",
"AppDeviceValues": "App: {0}, Enhed: {1}",
"UserDownloadingItemWithValues": "{0} downloader {1}",
"HeaderLiveTV": "Live TV",
"ChapterNameValue": "Kapitel {0}",
"ScheduledTaskFailedWithName": "{0} fejlet",
"LabelRunningTimeValue": "Spilletid: {0}",
"ScheduledTaskStartedWithName": "{0} p\u00e5begyndt",
"VersionNumber": "Version {0}",
"PluginInstalledWithName": "{0} blev installeret",
"StartupEmbyServerIsLoading": "Emby Server indl\u00e6ser. Pr\u00f8v venligst igen om kort tid.",
"PluginUpdatedWithName": "{0} blev opdateret",
"PluginUninstalledWithName": "{0} blev afinstalleret",
"ItemAddedWithName": "{0} blev tilf\u00f8jet til biblioteket",
@ -105,74 +49,48 @@
"DeviceOnlineWithName": "{0} er forbundet",
"UserOnlineFromDevice": "{0} er online fra {1}",
"ProviderValue": "Udbyder: {0}",
"SubtitlesDownloadedForItem": "Undertekster hentet til {0}",
"UserConfigurationUpdatedWithName": "Brugerkonfigurationen for {0} er blevet opdateret",
"UserCreatedWithName": "Bruger {0} er skabt",
"UserPasswordChangedWithName": "Adgangskoden for {0} er blevet \u00e6ndret",
"UserDeletedWithName": "Bruger {0} er slettet",
"MessageServerConfigurationUpdated": "Serverkonfigurationen er opdateret",
"MessageNamedServerConfigurationUpdatedWithValue": "Serverkonfiguration sektion {0} er opdateret",
"MessageApplicationUpdated": "Emby er blevet opdateret",
"FailedLoginAttemptWithUserName": "Fejlslagent loginfors\u00f8g fra {0}",
"AuthenticationSucceededWithUserName": "{0} autentificeret",
"SubtitlesDownloadedForItem": "Undertekster downloadet for {0}",
"UserCreatedWithName": "Bruger {0} er blevet oprettet",
"UserPasswordChangedWithName": "Adgangskode er \u00e6ndret for bruger {0}",
"UserDeletedWithName": "Brugeren {0} er blevet slettet",
"UserConfigurationUpdatedWithName": "Brugerkonfiguration er blevet opdateret for {0}",
"MessageServerConfigurationUpdated": "Serverkonfiguration er blevet opdateret",
"MessageNamedServerConfigurationUpdatedWithValue": "Server konfigurationssektion {0} er blevet opdateret",
"MessageApplicationUpdated": "Emby Server er blevet opdateret",
"FailedLoginAttemptWithUserName": "Fejlet loginfors\u00f8g fra {0}",
"AuthenticationSucceededWithUserName": "{0} bekr\u00e6ftet med succes",
"UserOfflineFromDevice": "{0} har afbrudt fra {1}",
"DeviceOfflineWithName": "{0} har afbrudt forbindelsen",
"UserLockedOutWithName": "Bruger {0} er blevet l\u00e5st",
"UserOfflineFromDevice": "{0} har afbrudt forbindelsen fra {1}",
"UserStartedPlayingItemWithValues": "{0} afspiller {1}",
"UserStoppedPlayingItemWithValues": "{0} har stoppet afpilningen af {1}",
"SubtitleDownloadFailureForItem": "Hentning af undertekster til {0} fejlede",
"HeaderUnidentified": "Unidentified",
"HeaderImagePrimary": "Primary",
"HeaderImageBackdrop": "Backdrop",
"HeaderImageLogo": "Logo",
"HeaderUserPrimaryImage": "User Image",
"HeaderOverview": "Overview",
"HeaderShortOverview": "Short Overview",
"HeaderType": "Type",
"HeaderSeverity": "Severity",
"HeaderUser": "Bruger",
"HeaderName": "Navn",
"HeaderDate": "Dato",
"HeaderPremiereDate": "Premiere Date",
"HeaderDateAdded": "Date Added",
"HeaderReleaseDate": "Udgivelsesdato",
"HeaderRuntime": "Varighed",
"HeaderPlayCount": "Play Count",
"HeaderSeason": "S\u00e6son",
"HeaderSeasonNumber": "S\u00e6sonnummer",
"HeaderSeries": "Series:",
"HeaderNetwork": "Netv\u00e6rk",
"HeaderYear": "Year:",
"HeaderYears": "Years:",
"HeaderParentalRating": "Parental Rating",
"HeaderCommunityRating": "F\u00e6llesskabsvurdering",
"HeaderTrailers": "Trailere",
"HeaderSpecials": "S\u00e6rudsendelser",
"HeaderGameSystems": "Game Systems",
"HeaderPlayers": "Players:",
"HeaderAlbumArtists": "Album Artists",
"HeaderAlbums": "Albums",
"HeaderDisc": "Disk",
"HeaderTrack": "Spor",
"HeaderAudio": "Lyd",
"HeaderVideo": "Video",
"HeaderEmbeddedImage": "Indlejret billede",
"HeaderResolution": "Opl\u00f8sning",
"HeaderSubtitles": "Undertekster",
"HeaderGenres": "Genrer",
"HeaderCountries": "Lande",
"HeaderStatus": "Status",
"HeaderTracks": "Spor",
"HeaderMusicArtist": "Music artist",
"HeaderLocked": "Locked",
"HeaderStudios": "Studier",
"HeaderActor": "Actors",
"HeaderComposer": "Composers",
"HeaderDirector": "Directors",
"HeaderGuestStar": "Guest star",
"HeaderProducer": "Producers",
"HeaderWriter": "Writers",
"HeaderParentalRatings": "Aldersgr\u00e6nser",
"HeaderCommunityRatings": "Community ratings",
"StartupEmbyServerIsLoading": "Emby Server is loading. Please try again shortly."
"UserStartedPlayingItemWithValues": "{0} har p\u00e5begyndt afspilning af {1}",
"UserStoppedPlayingItemWithValues": "{0} har afsluttet afspilning af {1}",
"NotificationOptionPluginError": "Pluginfejl",
"NotificationOptionApplicationUpdateAvailable": "Opdatering til applikation tilg\u00e6ngelig",
"NotificationOptionApplicationUpdateInstalled": "Opdatering til applikation installeret",
"NotificationOptionPluginUpdateInstalled": "Opdatering til plugin installeret",
"NotificationOptionPluginInstalled": "Plugin installeret",
"NotificationOptionPluginUninstalled": "Plugin afinstalleret",
"NotificationOptionVideoPlayback": "Videoafspilning p\u00e5begyndt",
"NotificationOptionAudioPlayback": "Audioafspilning p\u00e5begyndt",
"NotificationOptionGamePlayback": "Afspilning af Spil p\u00e5begyndt",
"NotificationOptionVideoPlaybackStopped": "Videoafspilning stoppet",
"NotificationOptionAudioPlaybackStopped": "Audioafspilning stoppet",
"NotificationOptionGamePlaybackStopped": "Afspilning af Spil stoppet",
"NotificationOptionTaskFailed": "Planlagt opgave fejlet",
"NotificationOptionInstallationFailed": "Installationsfejl",
"NotificationOptionNewLibraryContent": "Nyt indhold tilf\u00f8jet",
"NotificationOptionCameraImageUploaded": "Kamerabillede uploadet",
"NotificationOptionUserLockedOut": "Bruger l\u00e5st ude",
"NotificationOptionServerRestartRequired": "Genstart af server p\u00e5kr\u00e6vet",
"UserLockedOutWithName": "Brugeren {0} er blevet l\u00e5st ude",
"SubtitleDownloadFailureForItem": "Fejlet i download af undertekster for {0}",
"Sync": "Synk",
"User": "Bruger",
"System": "System",
"Application": "Applikation",
"Plugin": "Plugin",
"LabelExit": "Afslut",
"LabelVisitCommunity": "Bes\u00f8g F\u00e6llesskab",
"LabelBrowseLibrary": "Gennemse Bibliotek",
"LabelConfigureServer": "Konfigurer Emby",
"LabelRestartServer": "Genstart Server"
}

@ -1,102 +1,46 @@
{
"DbUpgradeMessage": "Bitte warten Sie w\u00e4hrend die Emby Datenbank aktualisiert wird. {0}% verarbeitet.",
"AppDeviceValues": "App: {0}, Ger\u00e4t: {1}",
"UserDownloadingItemWithValues": "{0} l\u00e4dt {1} herunter",
"FolderTypeMixed": "Gemischte Inhalte",
"FolderTypeMovies": "Filme",
"FolderTypeMusic": "Musik",
"FolderTypeAdultVideos": "Videos f\u00fcr Erwachsene",
"FolderTypePhotos": "Fotos",
"FolderTypeMusicVideos": "Musikvideos",
"FolderTypeHomeVideos": "Heimvideos",
"FolderTypeGames": "Spiele",
"FolderTypeBooks": "B\u00fccher",
"FolderTypeTvShows": "TV",
"FolderTypeInherit": "\u00dcbernehmen",
"HeaderCastCrew": "Besetzung & Crew",
"HeaderPeople": "Personen",
"Latest": "Neueste",
"ValueSpecialEpisodeName": "Special - {0}",
"LabelChapterName": "Kapitel {0}",
"Inherit": "\u00dcbernehmen",
"Books": "B\u00fccher",
"Music": "Musik",
"Games": "Spiele",
"Photos": "Fotos",
"MixedContent": "Gemischte Inhalte",
"MusicVideos": "Musik-Videos",
"HomeVideos": "Heimvideos",
"Playlists": "Wiedergabelisten",
"HeaderRecordingGroups": "Aufnahme-Gruppen",
"HeaderContinueWatching": "Weiterschauen",
"HeaderFavoriteArtists": "Interpreten Favoriten",
"HeaderFavoriteSongs": "Lieder Favoriten",
"HeaderAlbumArtists": "Album-K\u00fcnstler",
"HeaderFavoriteAlbums": "Lieblingsalben",
"HeaderFavoriteEpisodes": "Lieblingsepisoden",
"HeaderFavoriteShows": "Lieblingsserien",
"HeaderNextUp": "Als N\u00e4chstes",
"Favorites": "Favoriten",
"Collections": "Sammlungen",
"Channels": "Kan\u00e4le",
"Movies": "Filme",
"Albums": "Alben",
"Artists": "Interpreten",
"Folders": "Verzeichnisse",
"Songs": "Songs",
"TvShows": "TV Shows",
"Shows": "Serien",
"Genres": "Genres",
"NameSeasonNumber": "Staffel {0}",
"LabelExit": "Beenden",
"LabelVisitCommunity": "Besuche die Community",
"LabelGithub": "Github",
"LabelApiDocumentation": "Api Dokumentation",
"LabelDeveloperResources": "Entwickler Ressourcen",
"LabelBrowseLibrary": "Bibliothek durchsuchen",
"LabelConfigureServer": "Konfiguriere Emby",
"LabelRestartServer": "Server neustarten",
"CategorySync": "Sync",
"CategoryUser": "Benutzer",
"CategorySystem": "System",
"CategoryApplication": "Anwendung",
"CategoryPlugin": "Plugin",
"NotificationOptionPluginError": "Plugin Fehler",
"NotificationOptionApplicationUpdateAvailable": "Anwendungsaktualisierung verf\u00fcgbar",
"NotificationOptionApplicationUpdateInstalled": "Anwendungsaktualisierung installiert",
"NotificationOptionPluginUpdateInstalled": "Pluginaktualisierung installiert",
"NotificationOptionPluginInstalled": "Plugin installiert",
"NotificationOptionPluginUninstalled": "Plugin deinstalliert",
"NotificationOptionVideoPlayback": "Videowiedergabe gestartet",
"NotificationOptionAudioPlayback": "Audiowiedergabe gestartet",
"NotificationOptionGamePlayback": "Spielwiedergabe gestartet",
"NotificationOptionVideoPlaybackStopped": "Videowiedergabe gestoppt",
"NotificationOptionAudioPlaybackStopped": "Audiowiedergabe gestoppt",
"NotificationOptionGamePlaybackStopped": "Spielwiedergabe gestoppt",
"NotificationOptionTaskFailed": "Fehler bei geplanter Aufgabe",
"NotificationOptionInstallationFailed": "Installationsfehler",
"NotificationOptionNewLibraryContent": "Neuer Inhalt hinzugef\u00fcgt",
"NotificationOptionNewLibraryContentMultiple": "Neuen Inhalte hinzugef\u00fcgt (mehrere)",
"NotificationOptionCameraImageUploaded": "Kamera Bild hochgeladen",
"NotificationOptionUserLockedOut": "Benutzer ausgeschlossen",
"NotificationOptionServerRestartRequired": "Serverneustart notwendig",
"ViewTypePlaylists": "Wiedergabelisten",
"ViewTypeMovies": "Filme",
"ViewTypeTvShows": "TV",
"ViewTypeGames": "Spiele",
"ViewTypeMusic": "Musik",
"ViewTypeMusicGenres": "Genres",
"ViewTypeMusicArtists": "K\u00fcnstler",
"ViewTypeBoxSets": "Sammlungen",
"ViewTypeChannels": "Kan\u00e4le",
"ViewTypeLiveTV": "Live-TV",
"ViewTypeLiveTvNowPlaying": "Gerade ausgestrahlt",
"ViewTypeLatestGames": "Neueste Spiele",
"ViewTypeRecentlyPlayedGames": "K\u00fcrzlich abgespielt",
"ViewTypeGameFavorites": "Favoriten",
"ViewTypeGameSystems": "Spielesysteme",
"ViewTypeGameGenres": "Genres",
"ViewTypeTvResume": "Fortsetzen",
"ViewTypeTvNextUp": "Als n\u00e4chstes",
"ViewTypeTvLatest": "Neueste",
"ViewTypeTvShowSeries": "Serien",
"ViewTypeTvGenres": "Genres",
"ViewTypeTvFavoriteSeries": "Serien Favoriten",
"ViewTypeTvFavoriteEpisodes": "Episoden Favoriten",
"ViewTypeMovieResume": "Fortsetzen",
"ViewTypeMovieLatest": "Neueste",
"ViewTypeMovieMovies": "Filme",
"ViewTypeMovieCollections": "Sammlungen",
"ViewTypeMovieFavorites": "Favoriten",
"ViewTypeMovieGenres": "Genres",
"ViewTypeMusicLatest": "Neueste",
"ViewTypeMusicPlaylists": "Wiedergabelisten",
"ViewTypeMusicAlbums": "Alben",
"ViewTypeMusicAlbumArtists": "Album-K\u00fcnstler",
"HeaderOtherDisplaySettings": "Anzeige Einstellungen",
"ViewTypeMusicSongs": "Lieder",
"ViewTypeMusicFavorites": "Favoriten",
"ViewTypeMusicFavoriteAlbums": "Album Favoriten",
"ViewTypeMusicFavoriteArtists": "Interpreten Favoriten",
"ViewTypeMusicFavoriteSongs": "Lieder Favoriten",
"ViewTypeFolders": "Verzeichnisse",
"ViewTypeLiveTvRecordingGroups": "Aufnahmen",
"ViewTypeLiveTvChannels": "Kan\u00e4le",
"AppDeviceValues": "App: {0}, Ger\u00e4t: {1}",
"UserDownloadingItemWithValues": "{0} l\u00e4dt {1} herunter",
"HeaderLiveTV": "Live TV",
"ChapterNameValue": "Kapitel {0}",
"ScheduledTaskFailedWithName": "{0} fehlgeschlagen",
"LabelRunningTimeValue": "Laufzeit: {0}",
"ScheduledTaskStartedWithName": "{0} gestartet",
"VersionNumber": "Version {0}",
"PluginInstalledWithName": "{0} wurde installiert",
"StartupEmbyServerIsLoading": "Emby Server startet, bitte versuche es gleich noch einmal.",
"PluginUpdatedWithName": "{0} wurde aktualisiert",
"PluginUninstalledWithName": "{0} wurde deinstalliert",
"ItemAddedWithName": "{0} wurde der Bibliothek hinzugef\u00fcgt",
@ -106,73 +50,47 @@
"UserOnlineFromDevice": "{0} ist online von {1}",
"ProviderValue": "Anbieter: {0}",
"SubtitlesDownloadedForItem": "Untertitel heruntergeladen f\u00fcr {0}",
"UserConfigurationUpdatedWithName": "Benutzereinstellungen wurden aktualisiert f\u00fcr {0}",
"UserCreatedWithName": "Benutzer {0} wurde erstellt",
"UserPasswordChangedWithName": "Das Passwort f\u00fcr Benutzer {0} wurde ge\u00e4ndert",
"UserDeletedWithName": "Benutzer {0} wurde gel\u00f6scht",
"UserConfigurationUpdatedWithName": "Benutzereinstellungen wurden aktualisiert f\u00fcr {0}",
"MessageServerConfigurationUpdated": "Server Einstellungen wurden aktualisiert",
"MessageNamedServerConfigurationUpdatedWithValue": "Der Server Einstellungsbereich {0} wurde aktualisiert",
"MessageApplicationUpdated": "Emby Server wurde auf den neusten Stand gebracht.",
"FailedLoginAttemptWithUserName": "Fehlgeschlagener Anmeldeversuch von {0}",
"AuthenticationSucceededWithUserName": "{0} erfolgreich authentifiziert",
"DeviceOfflineWithName": "{0} wurde getrennt",
"UserLockedOutWithName": "Benutzer {0} wurde ausgeschlossen",
"UserOfflineFromDevice": "{0} wurde getrennt von {1}",
"DeviceOfflineWithName": "{0} wurde getrennt",
"UserStartedPlayingItemWithValues": "{0} hat die Wiedergabe von {1} gestartet",
"UserStoppedPlayingItemWithValues": "{0} hat die Wiedergabe von {1} beendet",
"NotificationOptionPluginError": "Plugin Fehler",
"NotificationOptionApplicationUpdateAvailable": "Anwendungsaktualisierung verf\u00fcgbar",
"NotificationOptionApplicationUpdateInstalled": "Anwendungsaktualisierung installiert",
"NotificationOptionPluginUpdateInstalled": "Pluginaktualisierung installiert",
"NotificationOptionPluginInstalled": "Plugin installiert",
"NotificationOptionPluginUninstalled": "Plugin deinstalliert",
"NotificationOptionVideoPlayback": "Videowiedergabe gestartet",
"NotificationOptionAudioPlayback": "Audiowiedergabe gestartet",
"NotificationOptionGamePlayback": "Spielwiedergabe gestartet",
"NotificationOptionVideoPlaybackStopped": "Videowiedergabe gestoppt",
"NotificationOptionAudioPlaybackStopped": "Audiowiedergabe gestoppt",
"NotificationOptionGamePlaybackStopped": "Spielwiedergabe gestoppt",
"NotificationOptionTaskFailed": "Geplante Aufgaben fehlgeschlagen",
"NotificationOptionInstallationFailed": "Installationsfehler",
"NotificationOptionNewLibraryContent": "Neuer Inhalt hinzugef\u00fcgt",
"NotificationOptionCameraImageUploaded": "Kamera Bild hochgeladen",
"NotificationOptionUserLockedOut": "Benutzer ausgeschlossen",
"NotificationOptionServerRestartRequired": "Serverneustart notwendig",
"UserLockedOutWithName": "Benutzer {0} wurde ausgeschlossen",
"SubtitleDownloadFailureForItem": "Download der Untertitel fehlgeschlagen f\u00fcr {0}",
"HeaderUnidentified": "Nicht identifiziert",
"HeaderImagePrimary": "Bevorzugt",
"HeaderImageBackdrop": "Hintergrund",
"HeaderImageLogo": "Logo",
"HeaderUserPrimaryImage": "Benutzerbild",
"HeaderOverview": "\u00dcbersicht",
"HeaderShortOverview": "Kurz\u00fcbersicht",
"HeaderType": "Typ",
"HeaderSeverity": "Schwere",
"HeaderUser": "Benutzer",
"HeaderName": "Name",
"HeaderDate": "Datum",
"HeaderPremiereDate": "Premiere Datum",
"HeaderDateAdded": "Datum hinzugef\u00fcgt",
"HeaderReleaseDate": "Ver\u00f6ffentlichungsdatum",
"HeaderRuntime": "Laufzeit",
"HeaderPlayCount": "Anzahl Wiedergaben",
"HeaderSeason": "Staffel",
"HeaderSeasonNumber": "Staffel Nummer",
"HeaderSeries": "Serien:",
"HeaderNetwork": "Netzwerk",
"HeaderYear": "Jahr:",
"HeaderYears": "Jahre:",
"HeaderParentalRating": "Altersfreigabe",
"HeaderCommunityRating": "Community Bewertung",
"HeaderTrailers": "Trailer",
"HeaderSpecials": "Extras",
"HeaderGameSystems": "Spiele Systeme",
"HeaderPlayers": "Spieler:",
"HeaderAlbumArtists": "Album K\u00fcnstler",
"HeaderAlbums": "Alben",
"HeaderDisc": "Disc",
"HeaderTrack": "St\u00fcck",
"HeaderAudio": "Audio",
"HeaderVideo": "Video",
"HeaderEmbeddedImage": "Integriertes Bild",
"HeaderResolution": "Aufl\u00f6sung",
"HeaderSubtitles": "Untertitel",
"HeaderGenres": "Genres",
"HeaderCountries": "L\u00e4nder",
"HeaderStatus": "Status",
"HeaderTracks": "Lieder",
"HeaderMusicArtist": "Musik K\u00fcnstler",
"HeaderLocked": "Blockiert",
"HeaderStudios": "Studios",
"HeaderActor": "Schauspieler",
"HeaderComposer": "Komponierer",
"HeaderDirector": "Regie",
"HeaderGuestStar": "Gaststar",
"HeaderProducer": "Produzenten",
"HeaderWriter": "Autoren",
"HeaderParentalRatings": "Altersbeschr\u00e4nkung",
"HeaderCommunityRatings": "Community Bewertungen",
"StartupEmbyServerIsLoading": "Emby Server startet, bitte versuchen Sie es gleich noch einmal."
"Sync": "Synchronisation",
"User": "Benutzer",
"System": "System",
"Application": "Anwendung",
"Plugin": "Plugin",
"LabelExit": "Beenden",
"LabelVisitCommunity": "Besuche die Community",
"LabelBrowseLibrary": "Bibliothek durchsuchen",
"LabelConfigureServer": "Konfiguriere Emby",
"LabelRestartServer": "Server neustarten"
}

@ -1,178 +0,0 @@
{
"DbUpgradeMessage": "Please wait while your Emby Server database is upgraded. {0}% complete.",
"AppDeviceValues": "App: {0}, Device: {1}",
"UserDownloadingItemWithValues": "{0} is downloading {1}",
"FolderTypeMixed": "\u0391\u03bd\u03ac\u03bc\u03b5\u03b9\u03ba\u03c4\u03bf \u03a0\u03b5\u03c1\u03b9\u03b5\u03c7\u03cc\u03bc\u03b5\u03bd\u03bf",
"FolderTypeMovies": "\u03a4\u03b1\u03b9\u03bd\u03af\u03b5\u03c2",
"FolderTypeMusic": "\u039c\u03bf\u03c5\u03c3\u03b9\u03ba\u03ae",
"FolderTypeAdultVideos": "\u03a4\u03b1\u03b9\u03bd\u03af\u03b5\u03c2 \u0395\u03bd\u03b7\u03bb\u03af\u03ba\u03c9\u03bd",
"FolderTypePhotos": "\u03a6\u03c9\u03c4\u03bf\u03b3\u03c1\u03b1\u03c6\u03af\u03b5\u03c2",
"FolderTypeMusicVideos": "\u039c\u03bf\u03c5\u03c3\u03b9\u03ba\u03ac \u0392\u03af\u03bd\u03c4\u03b5\u03bf",
"FolderTypeHomeVideos": "\u03a0\u03c1\u03bf\u03c3\u03c9\u03c0\u03b9\u03ba\u03ac \u0392\u03af\u03bd\u03c4\u03b5\u03bf",
"FolderTypeGames": "\u03a0\u03b1\u03b9\u03c7\u03bd\u03af\u03b4\u03b9\u03b1",
"FolderTypeBooks": "\u0392\u03b9\u03b2\u03bb\u03af\u03b1",
"FolderTypeTvShows": "\u03a4\u03b7\u03bb\u03b5\u03cc\u03c1\u03b1\u03c3\u03b7",
"FolderTypeInherit": "Inherit",
"HeaderCastCrew": "\u0397\u03b8\u03bf\u03c0\u03bf\u03b9\u03bf\u03af \u03ba\u03b1\u03b9 \u03c3\u03c5\u03bd\u03b5\u03c1\u03b3\u03b5\u03af\u03bf",
"HeaderPeople": "People",
"ValueSpecialEpisodeName": "Special - {0}",
"LabelChapterName": "Chapter {0}",
"NameSeasonNumber": "Season {0}",
"LabelExit": "\u0388\u03be\u03bf\u03b4\u03bf\u03c2",
"LabelVisitCommunity": "\u039a\u03bf\u03b9\u03bd\u03cc\u03c4\u03b7\u03c4\u03b1",
"LabelGithub": "Github",
"LabelApiDocumentation": "Api Documentation",
"LabelDeveloperResources": "\u03a0\u03b7\u03b3\u03ad\u03c2 \u03a0\u03c1\u03bf\u03b3\u03c1\u03b1\u03bc\u03bc\u03b1\u03c4\u03b9\u03c3\u03c4\u03ae",
"LabelBrowseLibrary": "\u03a0\u03b5\u03c1\u03b9\u03b7\u03b3\u03b7\u03b8\u03b5\u03af\u03c4\u03b5 \u03c3\u03c4\u03b7 \u03b2\u03b9\u03b2\u03bb\u03b9\u03bf\u03b8\u03ae\u03ba\u03b7",
"LabelConfigureServer": "\u03a1\u03c5\u03b8\u03bc\u03af\u03c3\u03b5\u03b9\u03c2 Emby",
"LabelRestartServer": "\u0395\u03c0\u03b1\u03bd\u03b5\u03ba\u03ba\u03af\u03bd\u03b7\u03c3\u03b7 \u03b4\u03b9\u03b1\u03ba\u03bf\u03bc\u03b9\u03c3\u03c4\u03ae",
"CategorySync": "\u03a3\u03c5\u03c7\u03c1\u03bf\u03bd\u03b9\u03c3\u03bc\u03cc\u03c2",
"CategoryUser": "User",
"CategorySystem": "System",
"CategoryApplication": "Application",
"CategoryPlugin": "Plugin",
"NotificationOptionPluginError": "Plugin failure",
"NotificationOptionApplicationUpdateAvailable": "Application update available",
"NotificationOptionApplicationUpdateInstalled": "Application update installed",
"NotificationOptionPluginUpdateInstalled": "Plugin update installed",
"NotificationOptionPluginInstalled": "Plugin installed",
"NotificationOptionPluginUninstalled": "Plugin uninstalled",
"NotificationOptionVideoPlayback": "Video playback started",
"NotificationOptionAudioPlayback": "Audio playback started",
"NotificationOptionGamePlayback": "Game playback started",
"NotificationOptionVideoPlaybackStopped": "Video playback stopped",
"NotificationOptionAudioPlaybackStopped": "Audio playback stopped",
"NotificationOptionGamePlaybackStopped": "Game playback stopped",
"NotificationOptionTaskFailed": "Scheduled task failure",
"NotificationOptionInstallationFailed": "Installation failure",
"NotificationOptionNewLibraryContent": "New content added",
"NotificationOptionNewLibraryContentMultiple": "New content added (multiple)",
"NotificationOptionCameraImageUploaded": "Camera image uploaded",
"NotificationOptionUserLockedOut": "User locked out",
"NotificationOptionServerRestartRequired": "Server restart required",
"ViewTypePlaylists": "Playlists",
"ViewTypeMovies": "Movies",
"ViewTypeTvShows": "TV",
"ViewTypeGames": "Games",
"ViewTypeMusic": "Music",
"ViewTypeMusicGenres": "Genres",
"ViewTypeMusicArtists": "Artists",
"ViewTypeBoxSets": "Collections",
"ViewTypeChannels": "Channels",
"ViewTypeLiveTV": "Live TV",
"ViewTypeLiveTvNowPlaying": "Now Airing",
"ViewTypeLatestGames": "Latest Games",
"ViewTypeRecentlyPlayedGames": "Recently Played",
"ViewTypeGameFavorites": "Favorites",
"ViewTypeGameSystems": "Game Systems",
"ViewTypeGameGenres": "Genres",
"ViewTypeTvResume": "Resume",
"ViewTypeTvNextUp": "Next Up",
"ViewTypeTvLatest": "Latest",
"ViewTypeTvShowSeries": "Series",
"ViewTypeTvGenres": "Genres",
"ViewTypeTvFavoriteSeries": "Favorite Series",
"ViewTypeTvFavoriteEpisodes": "Favorite Episodes",
"ViewTypeMovieResume": "Resume",
"ViewTypeMovieLatest": "Latest",
"ViewTypeMovieMovies": "Movies",
"ViewTypeMovieCollections": "Collections",
"ViewTypeMovieFavorites": "Favorites",
"ViewTypeMovieGenres": "Genres",
"ViewTypeMusicLatest": "Latest",
"ViewTypeMusicPlaylists": "Playlists",
"ViewTypeMusicAlbums": "Albums",
"ViewTypeMusicAlbumArtists": "Album Artists",
"HeaderOtherDisplaySettings": "Display Settings",
"ViewTypeMusicSongs": "Songs",
"ViewTypeMusicFavorites": "Favorites",
"ViewTypeMusicFavoriteAlbums": "Favorite Albums",
"ViewTypeMusicFavoriteArtists": "Favorite Artists",
"ViewTypeMusicFavoriteSongs": "Favorite Songs",
"ViewTypeFolders": "Folders",
"ViewTypeLiveTvRecordingGroups": "Recordings",
"ViewTypeLiveTvChannels": "Channels",
"ScheduledTaskFailedWithName": "{0} failed",
"LabelRunningTimeValue": "Running time: {0}",
"ScheduledTaskStartedWithName": "{0} started",
"VersionNumber": "\u0388\u03ba\u03b4\u03bf\u03c3\u03b7 {0}",
"PluginInstalledWithName": "{0} was installed",
"PluginUpdatedWithName": "{0} was updated",
"PluginUninstalledWithName": "{0} was uninstalled",
"ItemAddedWithName": "{0} was added to the library",
"ItemRemovedWithName": "{0} was removed from the library",
"LabelIpAddressValue": "Ip address: {0}",
"DeviceOnlineWithName": "{0} is connected",
"UserOnlineFromDevice": "{0} is online from {1}",
"ProviderValue": "Provider: {0}",
"SubtitlesDownloadedForItem": "Subtitles downloaded for {0}",
"UserConfigurationUpdatedWithName": "User configuration has been updated for {0}",
"UserCreatedWithName": "User {0} has been created",
"UserPasswordChangedWithName": "Password has been changed for user {0}",
"UserDeletedWithName": "User {0} has been deleted",
"MessageServerConfigurationUpdated": "Server configuration has been updated",
"MessageNamedServerConfigurationUpdatedWithValue": "Server configuration section {0} has been updated",
"MessageApplicationUpdated": "Emby Server has been updated",
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
"DeviceOfflineWithName": "{0} has disconnected",
"UserLockedOutWithName": "User {0} has been locked out",
"UserOfflineFromDevice": "{0} has disconnected from {1}",
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
"SubtitleDownloadFailureForItem": "Subtitles failed to download for {0}",
"HeaderUnidentified": "Unidentified",
"HeaderImagePrimary": "Primary",
"HeaderImageBackdrop": "Backdrop",
"HeaderImageLogo": "Logo",
"HeaderUserPrimaryImage": "User Image",
"HeaderOverview": "Overview",
"HeaderShortOverview": "Short Overview",
"HeaderType": "Type",
"HeaderSeverity": "Severity",
"HeaderUser": "User",
"HeaderName": "Name",
"HeaderDate": "Date",
"HeaderPremiereDate": "Premiere Date",
"HeaderDateAdded": "Date Added",
"HeaderReleaseDate": "Release date",
"HeaderRuntime": "Runtime",
"HeaderPlayCount": "Play Count",
"HeaderSeason": "Season",
"HeaderSeasonNumber": "Season number",
"HeaderSeries": "Series:",
"HeaderNetwork": "Network",
"HeaderYear": "Year:",
"HeaderYears": "Years:",
"HeaderParentalRating": "Parental Rating",
"HeaderCommunityRating": "Community rating",
"HeaderTrailers": "Trailers",
"HeaderSpecials": "Specials",
"HeaderGameSystems": "Game Systems",
"HeaderPlayers": "Players:",
"HeaderAlbumArtists": "Album Artists",
"HeaderAlbums": "Albums",
"HeaderDisc": "Disc",
"HeaderTrack": "Track",
"HeaderAudio": "\u0389\u03c7\u03bf\u03c2",
"HeaderVideo": "\u0392\u03af\u03bd\u03c4\u03b5\u03bf",
"HeaderEmbeddedImage": "Embedded image",
"HeaderResolution": "Resolution",
"HeaderSubtitles": "Subtitles",
"HeaderGenres": "Genres",
"HeaderCountries": "Countries",
"HeaderStatus": "Status",
"HeaderTracks": "Tracks",
"HeaderMusicArtist": "Music artist",
"HeaderLocked": "Locked",
"HeaderStudios": "Studios",
"HeaderActor": "Actors",
"HeaderComposer": "Composers",
"HeaderDirector": "Directors",
"HeaderGuestStar": "Guest star",
"HeaderProducer": "Producers",
"HeaderWriter": "Writers",
"HeaderParentalRatings": "Parental Ratings",
"HeaderCommunityRatings": "Community ratings",
"StartupEmbyServerIsLoading": "Emby Server is loading. Please try again shortly."
}

@ -1,178 +1,96 @@
{
"DbUpgradeMessage": "Please wait while your Emby Server database is upgraded. {0}% complete.",
"Latest": "Latest",
"ValueSpecialEpisodeName": "Special - {0}",
"Inherit": "Inherit",
"Books": "Books",
"Music": "Music",
"Games": "Games",
"Photos": "Photos",
"MixedContent": "Mixed content",
"MusicVideos": "Music videos",
"HomeVideos": "Home videos",
"Playlists": "Playlists",
"HeaderRecordingGroups": "Recording Groups",
"HeaderContinueWatching": "Continue Watching",
"HeaderFavoriteArtists": "Favourite Artists",
"HeaderFavoriteSongs": "Favourite Songs",
"HeaderAlbumArtists": "Album Artists",
"HeaderFavoriteAlbums": "Favourite Albums",
"HeaderFavoriteEpisodes": "Favourite Episodes",
"HeaderFavoriteShows": "Favourite Shows",
"HeaderNextUp": "Next Up",
"Favorites": "Favourites",
"Collections": "Collections",
"Channels": "Channels",
"Movies": "Movies",
"Albums": "Albums",
"Artists": "Artists",
"Folders": "Folders",
"Songs": "Songs",
"TvShows": "TV Shows",
"Shows": "Shows",
"Genres": "Genres",
"NameSeasonNumber": "Season {0}",
"AppDeviceValues": "App: {0}, Device: {1}",
"UserDownloadingItemWithValues": "{0} is downloading {1}",
"FolderTypeMixed": "Mixed content",
"FolderTypeMovies": "Movies",
"FolderTypeMusic": "Music",
"FolderTypeAdultVideos": "Adult videos",
"FolderTypePhotos": "Photos",
"FolderTypeMusicVideos": "Music videos",
"FolderTypeHomeVideos": "Home videos",
"FolderTypeGames": "Games",
"FolderTypeBooks": "Books",
"FolderTypeTvShows": "TV",
"FolderTypeInherit": "Inherit",
"HeaderCastCrew": "Cast & Crew",
"HeaderPeople": "People",
"ValueSpecialEpisodeName": "Special - {0}",
"LabelChapterName": "Chapter {0}",
"NameSeasonNumber": "Series {0}",
"LabelExit": "Exit",
"LabelVisitCommunity": "Visit Community",
"LabelGithub": "Github",
"LabelApiDocumentation": "Api Documentation",
"LabelDeveloperResources": "Developer Resources",
"LabelBrowseLibrary": "Browse Library",
"LabelConfigureServer": "Configure Emby",
"LabelRestartServer": "Restart Server",
"CategorySync": "Sync",
"CategoryUser": "User",
"CategorySystem": "System",
"CategoryApplication": "Application",
"CategoryPlugin": "Plugin",
"NotificationOptionPluginError": "Plugin failure",
"NotificationOptionApplicationUpdateAvailable": "Application update available",
"NotificationOptionApplicationUpdateInstalled": "Application update installed",
"NotificationOptionPluginUpdateInstalled": "Plugin update installed",
"NotificationOptionPluginInstalled": "Plugin installed",
"NotificationOptionPluginUninstalled": "Plugin uninstalled",
"NotificationOptionVideoPlayback": "Video playback started",
"NotificationOptionAudioPlayback": "Audio playback started",
"NotificationOptionGamePlayback": "Game playback started",
"NotificationOptionVideoPlaybackStopped": "Video playback stopped",
"NotificationOptionAudioPlaybackStopped": "Audio playback stopped",
"NotificationOptionGamePlaybackStopped": "Game playback stopped",
"NotificationOptionTaskFailed": "Scheduled task failure",
"NotificationOptionInstallationFailed": "Installation failure",
"NotificationOptionNewLibraryContent": "New content added",
"NotificationOptionNewLibraryContentMultiple": "New (multiple) content added",
"NotificationOptionCameraImageUploaded": "Camera image uploaded",
"NotificationOptionUserLockedOut": "User locked out",
"NotificationOptionServerRestartRequired": "Server restart required",
"ViewTypePlaylists": "Playlists",
"ViewTypeMovies": "Movies",
"ViewTypeTvShows": "TV",
"ViewTypeGames": "Games",
"ViewTypeMusic": "Music",
"ViewTypeMusicGenres": "Genres",
"ViewTypeMusicArtists": "Artists",
"ViewTypeBoxSets": "Collections",
"ViewTypeChannels": "Channels",
"ViewTypeLiveTV": "Live TV",
"ViewTypeLiveTvNowPlaying": "Now Showing",
"ViewTypeLatestGames": "Latest Games",
"ViewTypeRecentlyPlayedGames": "Recently Played",
"ViewTypeGameFavorites": "Favourites",
"ViewTypeGameSystems": "Game Systems",
"ViewTypeGameGenres": "Genres",
"ViewTypeTvResume": "Resume",
"ViewTypeTvNextUp": "Next Up",
"ViewTypeTvLatest": "Latest",
"ViewTypeTvShowSeries": "Series",
"ViewTypeTvGenres": "Genres",
"ViewTypeTvFavoriteSeries": "Favourite Series",
"ViewTypeTvFavoriteEpisodes": "Favourite Episodes",
"ViewTypeMovieResume": "Resume",
"ViewTypeMovieLatest": "Latest",
"ViewTypeMovieMovies": "Movies",
"ViewTypeMovieCollections": "Collections",
"ViewTypeMovieFavorites": "Favourites",
"ViewTypeMovieGenres": "Genres",
"ViewTypeMusicLatest": "Latest",
"ViewTypeMusicPlaylists": "Playlists",
"ViewTypeMusicAlbums": "Albums",
"ViewTypeMusicAlbumArtists": "Album Artists",
"HeaderOtherDisplaySettings": "Display Settings",
"ViewTypeMusicSongs": "Songs",
"ViewTypeMusicFavorites": "Favourites",
"ViewTypeMusicFavoriteAlbums": "Favourite Albums",
"ViewTypeMusicFavoriteArtists": "Favourite Artists",
"ViewTypeMusicFavoriteSongs": "Favourite Songs",
"ViewTypeFolders": "Folders",
"ViewTypeLiveTvRecordingGroups": "Recordings",
"ViewTypeLiveTvChannels": "Channels",
"HeaderLiveTV": "Live TV",
"ChapterNameValue": "Chapter {0}",
"ScheduledTaskFailedWithName": "{0} failed",
"LabelRunningTimeValue": "Running time: {0}",
"ScheduledTaskStartedWithName": "{0} started",
"VersionNumber": "Version {0}",
"PluginInstalledWithName": "{0} was installed",
"StartupEmbyServerIsLoading": "Emby Server is loading. Please try again shortly.",
"PluginUpdatedWithName": "{0} was updated",
"PluginUninstalledWithName": "{0} was uninstalled",
"ItemAddedWithName": "{0} was added to the library",
"ItemRemovedWithName": "{0} was removed from the library",
"LabelIpAddressValue": "Ip address: {0}",
"LabelIpAddressValue": "IP address: {0}",
"DeviceOnlineWithName": "{0} is connected",
"UserOnlineFromDevice": "{0} is online from {1}",
"ProviderValue": "Provider: {0}",
"SubtitlesDownloadedForItem": "Subtitles downloaded for {0}",
"UserConfigurationUpdatedWithName": "User configuration has been updated for {0}",
"UserCreatedWithName": "User {0} has been created",
"UserPasswordChangedWithName": "Password has been changed for user {0}",
"UserDeletedWithName": "User {0} has been deleted",
"UserConfigurationUpdatedWithName": "User configuration has been updated for {0}",
"MessageServerConfigurationUpdated": "Server configuration has been updated",
"MessageNamedServerConfigurationUpdatedWithValue": "Server configuration section {0} has been updated",
"MessageApplicationUpdated": "Emby Server has been updated",
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
"DeviceOfflineWithName": "{0} has disconnected",
"UserLockedOutWithName": "User {0} has been locked out",
"UserOfflineFromDevice": "{0} has disconnected from {1}",
"DeviceOfflineWithName": "{0} has disconnected",
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
"NotificationOptionPluginError": "Plugin failure",
"NotificationOptionApplicationUpdateAvailable": "Application update available",
"NotificationOptionApplicationUpdateInstalled": "Application update installed",
"NotificationOptionPluginUpdateInstalled": "Plugin update installed",
"NotificationOptionPluginInstalled": "Plugin installed",
"NotificationOptionPluginUninstalled": "Plugin uninstalled",
"NotificationOptionVideoPlayback": "Video playback started",
"NotificationOptionAudioPlayback": "Audio playback started",
"NotificationOptionGamePlayback": "Game playback started",
"NotificationOptionVideoPlaybackStopped": "Video playback stopped",
"NotificationOptionAudioPlaybackStopped": "Audio playback stopped",
"NotificationOptionGamePlaybackStopped": "Game playback stopped",
"NotificationOptionTaskFailed": "Scheduled task failure",
"NotificationOptionInstallationFailed": "Installation failure",
"NotificationOptionNewLibraryContent": "New content added",
"NotificationOptionCameraImageUploaded": "Camera image uploaded",
"NotificationOptionUserLockedOut": "User locked out",
"NotificationOptionServerRestartRequired": "Server restart required",
"UserLockedOutWithName": "User {0} has been locked out",
"SubtitleDownloadFailureForItem": "Subtitles failed to download for {0}",
"HeaderUnidentified": "Unidentified",
"HeaderImagePrimary": "Primary",
"HeaderImageBackdrop": "Backdrop",
"HeaderImageLogo": "Logo",
"HeaderUserPrimaryImage": "User Image",
"HeaderOverview": "Overview",
"HeaderShortOverview": "Short Overview",
"HeaderType": "Type",
"HeaderSeverity": "Severity",
"HeaderUser": "User",
"HeaderName": "Name",
"HeaderDate": "Date",
"HeaderPremiereDate": "Premiere Date",
"HeaderDateAdded": "Date Added",
"HeaderReleaseDate": "Release date",
"HeaderRuntime": "Runtime",
"HeaderPlayCount": "Play Count",
"HeaderSeason": "Season",
"HeaderSeasonNumber": "Season number",
"HeaderSeries": "Series:",
"HeaderNetwork": "Network",
"HeaderYear": "Year:",
"HeaderYears": "Years:",
"HeaderParentalRating": "Parental Rating",
"HeaderCommunityRating": "Community rating",
"HeaderTrailers": "Trailers",
"HeaderSpecials": "Specials",
"HeaderGameSystems": "Game Systems",
"HeaderPlayers": "Players:",
"HeaderAlbumArtists": "Album Artists",
"HeaderAlbums": "Albums",
"HeaderDisc": "Disc",
"HeaderTrack": "Track",
"HeaderAudio": "Audio",
"HeaderVideo": "Video",
"HeaderEmbeddedImage": "Embedded image",
"HeaderResolution": "Resolution",
"HeaderSubtitles": "Subtitles",
"HeaderGenres": "Genres",
"HeaderCountries": "Countries",
"HeaderStatus": "Status",
"HeaderTracks": "Tracks",
"HeaderMusicArtist": "Music artist",
"HeaderLocked": "Locked",
"HeaderStudios": "Studios",
"HeaderActor": "Actors",
"HeaderComposer": "Composers",
"HeaderDirector": "Directors",
"HeaderGuestStar": "Guest star",
"HeaderProducer": "Producers",
"HeaderWriter": "Writers",
"HeaderParentalRatings": "Parental Ratings",
"HeaderCommunityRatings": "Community ratings",
"StartupEmbyServerIsLoading": "Emby Server is loading. Please try again shortly."
"Sync": "Sync",
"User": "User",
"System": "System",
"Application": "Application",
"Plugin": "Plugin",
"LabelExit": "Exit",
"LabelVisitCommunity": "Visit Community",
"LabelBrowseLibrary": "Browse Library",
"LabelConfigureServer": "Configure Emby",
"LabelRestartServer": "Restart Server"
}

@ -1,98 +1,46 @@
{
"AppDeviceValues": "App: {0}, Device: {1}",
"UserDownloadingItemWithValues": "{0} is downloading {1}",
"FolderTypeMixed": "Mixed content",
"FolderTypeMovies": "Movies",
"FolderTypeMusic": "Music",
"FolderTypeAdultVideos": "Adult videos",
"FolderTypePhotos": "Photos",
"FolderTypeMusicVideos": "Music videos",
"FolderTypeHomeVideos": "Home videos",
"FolderTypeGames": "Games",
"FolderTypeBooks": "Books",
"FolderTypeTvShows": "TV",
"FolderTypeInherit": "Inherit",
"Latest": "Latest",
"ValueSpecialEpisodeName": "Special - {0}",
"LabelChapterName": "Chapter {0}",
"NameSeasonUnknown": "Season Unknown",
"Inherit": "Inherit",
"Books": "Books",
"Music": "Music",
"Games": "Games",
"Photos": "Photos",
"MixedContent": "Mixed content",
"MusicVideos": "Music videos",
"HomeVideos": "Home videos",
"Playlists": "Playlists",
"HeaderRecordingGroups": "Recording Groups",
"HeaderContinueWatching": "Continue Watching",
"HeaderFavoriteArtists": "Favorite Artists",
"HeaderFavoriteSongs": "Favorite Songs",
"HeaderAlbumArtists": "Album Artists",
"HeaderFavoriteAlbums": "Favorite Albums",
"HeaderFavoriteEpisodes": "Favorite Episodes",
"HeaderFavoriteShows": "Favorite Shows",
"HeaderNextUp": "Next Up",
"Favorites": "Favorites",
"Collections": "Collections",
"Channels": "Channels",
"Movies": "Movies",
"Albums": "Albums",
"Artists": "Artists",
"Folders": "Folders",
"Songs": "Songs",
"TvShows": "TV Shows",
"Shows": "Shows",
"Genres": "Genres",
"NameSeasonNumber": "Season {0}",
"LabelExit": "Exit",
"LabelVisitCommunity": "Visit Community",
"LabelApiDocumentation": "Api Documentation",
"LabelDeveloperResources": "Developer Resources",
"LabelBrowseLibrary": "Browse Library",
"LabelConfigureServer": "Configure Emby",
"LabelRestartServer": "Restart Server",
"CategorySync": "Sync",
"CategoryUser": "User",
"CategorySystem": "System",
"CategoryApplication": "Application",
"CategoryPlugin": "Plugin",
"NotificationOptionPluginError": "Plugin failure",
"NotificationOptionApplicationUpdateAvailable": "Application update available",
"NotificationOptionApplicationUpdateInstalled": "Application update installed",
"NotificationOptionPluginUpdateInstalled": "Plugin update installed",
"NotificationOptionPluginInstalled": "Plugin installed",
"NotificationOptionPluginUninstalled": "Plugin uninstalled",
"NotificationOptionVideoPlayback": "Video playback started",
"NotificationOptionAudioPlayback": "Audio playback started",
"NotificationOptionGamePlayback": "Game playback started",
"NotificationOptionVideoPlaybackStopped": "Video playback stopped",
"NotificationOptionAudioPlaybackStopped": "Audio playback stopped",
"NotificationOptionGamePlaybackStopped": "Game playback stopped",
"NotificationOptionTaskFailed": "Scheduled task failure",
"NotificationOptionInstallationFailed": "Installation failure",
"NotificationOptionNewLibraryContent": "New content added",
"NotificationOptionCameraImageUploaded": "Camera image uploaded",
"NotificationOptionUserLockedOut": "User locked out",
"NotificationOptionServerRestartRequired": "Server restart required",
"ViewTypePlaylists": "Playlists",
"ViewTypeMovies": "Movies",
"ViewTypeTvShows": "TV",
"ViewTypeGames": "Games",
"ViewTypeMusic": "Music",
"ViewTypeMusicGenres": "Genres",
"ViewTypeMusicArtists": "Artists",
"ViewTypeBoxSets": "Collections",
"ViewTypeChannels": "Channels",
"ViewTypeLiveTV": "Live TV",
"ViewTypeLiveTvNowPlaying": "Now Airing",
"ViewTypeLatestGames": "Latest Games",
"ViewTypeRecentlyPlayedGames": "Recently Played",
"ViewTypeGameFavorites": "Favorites",
"ViewTypeGameSystems": "Game Systems",
"ViewTypeGameGenres": "Genres",
"ViewTypeTvResume": "Resume",
"ViewTypeTvNextUp": "Next Up",
"ViewTypeTvLatest": "Latest",
"ViewTypeTvShowSeries": "Shows",
"ViewTypeTvGenres": "Genres",
"ViewTypeTvFavoriteSeries": "Favorite Series",
"ViewTypeTvFavoriteEpisodes": "Favorite Episodes",
"ViewTypeMovieResume": "Resume",
"ViewTypeMovieLatest": "Latest",
"ViewTypeMovieMovies": "Movies",
"ViewTypeMovieCollections": "Collections",
"ViewTypeMovieFavorites": "Favorites",
"ViewTypeMovieGenres": "Genres",
"ViewTypeMusicLatest": "Latest",
"ViewTypeMusicPlaylists": "Playlists",
"ViewTypeMusicAlbums": "Albums",
"ViewTypeMusicAlbumArtists": "Album Artists",
"HeaderOtherDisplaySettings": "Display Settings",
"ViewTypeMusicSongs": "Songs",
"ViewTypeMusicFavorites": "Favorites",
"ViewTypeMusicFavoriteAlbums": "Favorite Albums",
"ViewTypeMusicFavoriteArtists": "Favorite Artists",
"ViewTypeMusicFavoriteSongs": "Favorite Songs",
"ViewTypeFolders": "Folders",
"ViewTypeLiveTvRecordingGroups": "Recordings",
"ViewTypeLiveTvChannels": "Channels",
"AppDeviceValues": "App: {0}, Device: {1}",
"UserDownloadingItemWithValues": "{0} is downloading {1}",
"HeaderLiveTV": "Live TV",
"ChapterNameValue": "Chapter {0}",
"ScheduledTaskFailedWithName": "{0} failed",
"LabelRunningTimeValue": "Running time: {0}",
"ScheduledTaskStartedWithName": "{0} started",
"VersionNumber": "Version {0}",
"PluginInstalledWithName": "{0} was installed",
"StartupEmbyServerIsLoading": "Emby Server is loading. Please try again shortly.",
"PluginUpdatedWithName": "{0} was updated",
"PluginUninstalledWithName": "{0} was uninstalled",
"ItemAddedWithName": "{0} was added to the library",
@ -102,63 +50,47 @@
"UserOnlineFromDevice": "{0} is online from {1}",
"ProviderValue": "Provider: {0}",
"SubtitlesDownloadedForItem": "Subtitles downloaded for {0}",
"UserConfigurationUpdatedWithName": "User configuration has been updated for {0}",
"UserCreatedWithName": "User {0} has been created",
"UserPasswordChangedWithName": "Password has been changed for user {0}",
"UserDeletedWithName": "User {0} has been deleted",
"UserConfigurationUpdatedWithName": "User configuration has been updated for {0}",
"MessageServerConfigurationUpdated": "Server configuration has been updated",
"MessageNamedServerConfigurationUpdatedWithValue": "Server configuration section {0} has been updated",
"MessageApplicationUpdated": "Emby Server has been updated",
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
"DeviceOfflineWithName": "{0} has disconnected",
"UserLockedOutWithName": "User {0} has been locked out",
"UserOfflineFromDevice": "{0} has disconnected from {1}",
"DeviceOfflineWithName": "{0} has disconnected",
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
"NotificationOptionPluginError": "Plugin failure",
"NotificationOptionApplicationUpdateAvailable": "Application update available",
"NotificationOptionApplicationUpdateInstalled": "Application update installed",
"NotificationOptionPluginUpdateInstalled": "Plugin update installed",
"NotificationOptionPluginInstalled": "Plugin installed",
"NotificationOptionPluginUninstalled": "Plugin uninstalled",
"NotificationOptionVideoPlayback": "Video playback started",
"NotificationOptionAudioPlayback": "Audio playback started",
"NotificationOptionGamePlayback": "Game playback started",
"NotificationOptionVideoPlaybackStopped": "Video playback stopped",
"NotificationOptionAudioPlaybackStopped": "Audio playback stopped",
"NotificationOptionGamePlaybackStopped": "Game playback stopped",
"NotificationOptionTaskFailed": "Scheduled task failure",
"NotificationOptionInstallationFailed": "Installation failure",
"NotificationOptionNewLibraryContent": "New content added",
"NotificationOptionCameraImageUploaded": "Camera image uploaded",
"NotificationOptionUserLockedOut": "User locked out",
"NotificationOptionServerRestartRequired": "Server restart required",
"UserLockedOutWithName": "User {0} has been locked out",
"SubtitleDownloadFailureForItem": "Subtitles failed to download for {0}",
"HeaderUnidentified": "Unidentified",
"HeaderImagePrimary": "Primary",
"HeaderImageBackdrop": "Backdrop",
"HeaderImageLogo": "Logo",
"HeaderUserPrimaryImage": "User Image",
"HeaderOverview": "Overview",
"HeaderShortOverview": "Short Overview",
"HeaderType": "Type",
"HeaderSeverity": "Severity",
"HeaderUser": "User",
"HeaderName": "Name",
"HeaderDate": "Date",
"HeaderPremiereDate": "Premiere Date",
"HeaderDateAdded": "Date Added",
"HeaderReleaseDate": "Release date",
"HeaderRuntime": "Runtime",
"HeaderPlayCount": "Play Count",
"HeaderSeason": "Season",
"HeaderSeasonNumber": "Season number",
"HeaderSeries": "Series:",
"HeaderNetwork": "Network",
"HeaderYear": "Year:",
"HeaderYears": "Years:",
"HeaderParentalRating": "Parental Rating",
"HeaderCommunityRating": "Community rating",
"HeaderTrailers": "Trailers",
"HeaderSpecials": "Specials",
"HeaderGameSystems": "Game Systems",
"HeaderPlayers": "Players:",
"HeaderAlbumArtists": "Album Artists",
"HeaderAlbums": "Albums",
"HeaderDisc": "Disc",
"HeaderTrack": "Track",
"HeaderAudio": "Audio",
"HeaderVideo": "Video",
"HeaderEmbeddedImage": "Embedded image",
"HeaderResolution": "Resolution",
"HeaderSubtitles": "Subtitles",
"HeaderGenres": "Genres",
"HeaderCountries": "Countries",
"HeaderStatus": "Status",
"HeaderTracks": "Tracks",
"HeaderMusicArtist": "Music artist",
"StartupEmbyServerIsLoading": "Emby Server is loading. Please try again shortly."
"Sync": "Sync",
"User": "User",
"System": "System",
"Application": "Application",
"Plugin": "Plugin",
"LabelExit": "Exit",
"LabelVisitCommunity": "Visit Community",
"LabelBrowseLibrary": "Browse Library",
"LabelConfigureServer": "Configure Emby",
"LabelRestartServer": "Restart Server"
}

@ -1,102 +1,46 @@
{
"DbUpgradeMessage": "Please wait while your Emby Server database is upgraded. {0}% complete.",
"AppDeviceValues": "App: {0}, Device: {1}",
"UserDownloadingItemWithValues": "{0} is downloading {1}",
"FolderTypeMixed": "Mixed content",
"FolderTypeMovies": "Movies",
"FolderTypeMusic": "Music",
"FolderTypeAdultVideos": "Adult videos",
"FolderTypePhotos": "Photos",
"FolderTypeMusicVideos": "Music videos",
"FolderTypeHomeVideos": "Home videos",
"FolderTypeGames": "Games",
"FolderTypeBooks": "Books",
"FolderTypeTvShows": "TV",
"FolderTypeInherit": "Inherit",
"HeaderCastCrew": "Cast & Crew",
"HeaderPeople": "People",
"Latest": "Latest",
"ValueSpecialEpisodeName": "Special - {0}",
"LabelChapterName": "Chapter {0}",
"Inherit": "Inherit",
"Books": "Books",
"Music": "Music",
"Games": "Games",
"Photos": "Photos",
"MixedContent": "Mixed content",
"MusicVideos": "Music videos",
"HomeVideos": "Home videos",
"Playlists": "Playlists",
"HeaderRecordingGroups": "Recording Groups",
"HeaderContinueWatching": "Continue Watching",
"HeaderFavoriteArtists": "Favorite Artists",
"HeaderFavoriteSongs": "Favorite Songs",
"HeaderAlbumArtists": "Album Artists",
"HeaderFavoriteAlbums": "Favorite Albums",
"HeaderFavoriteEpisodes": "Favorite Episodes",
"HeaderFavoriteShows": "Favorite Shows",
"HeaderNextUp": "Next Up",
"Favorites": "Favorites",
"Collections": "Collections",
"Channels": "Channels",
"Movies": "Movies",
"Albums": "Albums",
"Artists": "Artists",
"Folders": "Folders",
"Songs": "Songs",
"TvShows": "TV Shows",
"Shows": "Series",
"Genres": "Genres",
"NameSeasonNumber": "Season {0}",
"LabelExit": "Salir",
"LabelVisitCommunity": "Visit Community",
"LabelGithub": "Github",
"LabelApiDocumentation": "Documentaci\u00f3n API",
"LabelDeveloperResources": "Developer Resources",
"LabelBrowseLibrary": "Browse Library",
"LabelConfigureServer": "Configurar Emby",
"LabelRestartServer": "Reiniciar el servidor",
"CategorySync": "Sync",
"CategoryUser": "User",
"CategorySystem": "System",
"CategoryApplication": "Application",
"CategoryPlugin": "Plugin",
"NotificationOptionPluginError": "Plugin failure",
"NotificationOptionApplicationUpdateAvailable": "Application update available",
"NotificationOptionApplicationUpdateInstalled": "Application update installed",
"NotificationOptionPluginUpdateInstalled": "Plugin update installed",
"NotificationOptionPluginInstalled": "Plugin installed",
"NotificationOptionPluginUninstalled": "Plugin uninstalled",
"NotificationOptionVideoPlayback": "Video playback started",
"NotificationOptionAudioPlayback": "Audio playback started",
"NotificationOptionGamePlayback": "Game playback started",
"NotificationOptionVideoPlaybackStopped": "Video playback stopped",
"NotificationOptionAudioPlaybackStopped": "Audio playback stopped",
"NotificationOptionGamePlaybackStopped": "Game playback stopped",
"NotificationOptionTaskFailed": "Scheduled task failure",
"NotificationOptionInstallationFailed": "Installation failure",
"NotificationOptionNewLibraryContent": "New content added",
"NotificationOptionNewLibraryContentMultiple": "New content added (multiple)",
"NotificationOptionCameraImageUploaded": "Camera image uploaded",
"NotificationOptionUserLockedOut": "User locked out",
"NotificationOptionServerRestartRequired": "Server restart required",
"ViewTypePlaylists": "Playlists",
"ViewTypeMovies": "Movies",
"ViewTypeTvShows": "TV",
"ViewTypeGames": "Games",
"ViewTypeMusic": "Music",
"ViewTypeMusicGenres": "Genres",
"ViewTypeMusicArtists": "Artists",
"ViewTypeBoxSets": "Collections",
"ViewTypeChannels": "Channels",
"ViewTypeLiveTV": "Live TV",
"ViewTypeLiveTvNowPlaying": "Now Airing",
"ViewTypeLatestGames": "Latest Games",
"ViewTypeRecentlyPlayedGames": "Recently Played",
"ViewTypeGameFavorites": "Favorites",
"ViewTypeGameSystems": "Game Systems",
"ViewTypeGameGenres": "Genres",
"ViewTypeTvResume": "Resume",
"ViewTypeTvNextUp": "Next Up",
"ViewTypeTvLatest": "Latest",
"ViewTypeTvShowSeries": "Series",
"ViewTypeTvGenres": "Genres",
"ViewTypeTvFavoriteSeries": "Favorite Series",
"ViewTypeTvFavoriteEpisodes": "Favorite Episodes",
"ViewTypeMovieResume": "Resume",
"ViewTypeMovieLatest": "Latest",
"ViewTypeMovieMovies": "Movies",
"ViewTypeMovieCollections": "Collections",
"ViewTypeMovieFavorites": "Favorites",
"ViewTypeMovieGenres": "Genres",
"ViewTypeMusicLatest": "Latest",
"ViewTypeMusicPlaylists": "Playlists",
"ViewTypeMusicAlbums": "Albums",
"ViewTypeMusicAlbumArtists": "Album Artists",
"HeaderOtherDisplaySettings": "Display Settings",
"ViewTypeMusicSongs": "Songs",
"ViewTypeMusicFavorites": "Favorites",
"ViewTypeMusicFavoriteAlbums": "Favorite Albums",
"ViewTypeMusicFavoriteArtists": "Favorite Artists",
"ViewTypeMusicFavoriteSongs": "Favorite Songs",
"ViewTypeFolders": "Folders",
"ViewTypeLiveTvRecordingGroups": "Recordings",
"ViewTypeLiveTvChannels": "Channels",
"AppDeviceValues": "App: {0}, Device: {1}",
"UserDownloadingItemWithValues": "{0} is downloading {1}",
"HeaderLiveTV": "Live TV",
"ChapterNameValue": "Chapter {0}",
"ScheduledTaskFailedWithName": "{0} failed",
"LabelRunningTimeValue": "Running time: {0}",
"ScheduledTaskStartedWithName": "{0} started",
"VersionNumber": "Version {0}",
"PluginInstalledWithName": "{0} was installed",
"StartupEmbyServerIsLoading": "Emby Server is loading. Please try again shortly.",
"PluginUpdatedWithName": "{0} was updated",
"PluginUninstalledWithName": "{0} was uninstalled",
"ItemAddedWithName": "{0} was added to the library",
@ -106,73 +50,47 @@
"UserOnlineFromDevice": "{0} is online from {1}",
"ProviderValue": "Provider: {0}",
"SubtitlesDownloadedForItem": "Subtitles downloaded for {0}",
"UserConfigurationUpdatedWithName": "User configuration has been updated for {0}",
"UserCreatedWithName": "User {0} has been created",
"UserPasswordChangedWithName": "Password has been changed for user {0}",
"UserDeletedWithName": "User {0} has been deleted",
"UserConfigurationUpdatedWithName": "User configuration has been updated for {0}",
"MessageServerConfigurationUpdated": "Server configuration has been updated",
"MessageNamedServerConfigurationUpdatedWithValue": "Server configuration section {0} has been updated",
"MessageApplicationUpdated": "Emby Server has been updated",
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
"DeviceOfflineWithName": "{0} has disconnected",
"UserLockedOutWithName": "User {0} has been locked out",
"UserOfflineFromDevice": "{0} has disconnected from {1}",
"DeviceOfflineWithName": "{0} has disconnected",
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
"NotificationOptionPluginError": "Plugin failure",
"NotificationOptionApplicationUpdateAvailable": "Application update available",
"NotificationOptionApplicationUpdateInstalled": "Application update installed",
"NotificationOptionPluginUpdateInstalled": "Plugin update installed",
"NotificationOptionPluginInstalled": "Plugin installed",
"NotificationOptionPluginUninstalled": "Plugin uninstalled",
"NotificationOptionVideoPlayback": "Video playback started",
"NotificationOptionAudioPlayback": "Audio playback started",
"NotificationOptionGamePlayback": "Game playback started",
"NotificationOptionVideoPlaybackStopped": "Video playback stopped",
"NotificationOptionAudioPlaybackStopped": "Audio playback stopped",
"NotificationOptionGamePlaybackStopped": "Game playback stopped",
"NotificationOptionTaskFailed": "Scheduled task failure",
"NotificationOptionInstallationFailed": "Installation failure",
"NotificationOptionNewLibraryContent": "New content added",
"NotificationOptionCameraImageUploaded": "Camera image uploaded",
"NotificationOptionUserLockedOut": "User locked out",
"NotificationOptionServerRestartRequired": "Server restart required",
"UserLockedOutWithName": "User {0} has been locked out",
"SubtitleDownloadFailureForItem": "Subtitles failed to download for {0}",
"HeaderUnidentified": "Unidentified",
"HeaderImagePrimary": "Primary",
"HeaderImageBackdrop": "Backdrop",
"HeaderImageLogo": "Logo",
"HeaderUserPrimaryImage": "User Image",
"HeaderOverview": "Overview",
"HeaderShortOverview": "Short Overview",
"HeaderType": "Type",
"HeaderSeverity": "Severity",
"HeaderUser": "User",
"HeaderName": "Name",
"HeaderDate": "Date",
"HeaderPremiereDate": "Premiere Date",
"HeaderDateAdded": "Date Added",
"HeaderReleaseDate": "Release date",
"HeaderRuntime": "Runtime",
"HeaderPlayCount": "Play Count",
"HeaderSeason": "Season",
"HeaderSeasonNumber": "Season number",
"HeaderSeries": "Series:",
"HeaderNetwork": "Network",
"HeaderYear": "Year:",
"HeaderYears": "Years:",
"HeaderParentalRating": "Parental Rating",
"HeaderCommunityRating": "Community rating",
"HeaderTrailers": "Trailers",
"HeaderSpecials": "Specials",
"HeaderGameSystems": "Game Systems",
"HeaderPlayers": "Players:",
"HeaderAlbumArtists": "Album Artists",
"HeaderAlbums": "Albums",
"HeaderDisc": "Disc",
"HeaderTrack": "Track",
"HeaderAudio": "Audio",
"HeaderVideo": "Video",
"HeaderEmbeddedImage": "Embedded image",
"HeaderResolution": "Resolution",
"HeaderSubtitles": "Subtitles",
"HeaderGenres": "Genres",
"HeaderCountries": "Countries",
"HeaderStatus": "Status",
"HeaderTracks": "Tracks",
"HeaderMusicArtist": "Music artist",
"HeaderLocked": "Locked",
"HeaderStudios": "Studios",
"HeaderActor": "Actors",
"HeaderComposer": "Composers",
"HeaderDirector": "Directors",
"HeaderGuestStar": "Guest star",
"HeaderProducer": "Producers",
"HeaderWriter": "Writers",
"HeaderParentalRatings": "Parental Ratings",
"HeaderCommunityRatings": "Community ratings",
"StartupEmbyServerIsLoading": "Emby Server is loading. Please try again shortly."
"Sync": "Sync",
"User": "User",
"System": "System",
"Application": "Application",
"Plugin": "Plugin",
"LabelExit": "Exit",
"LabelVisitCommunity": "Visit Community",
"LabelBrowseLibrary": "Browse Library",
"LabelConfigureServer": "Configure Emby",
"LabelRestartServer": "Restart Server"
}

@ -1,102 +1,46 @@
{
"DbUpgradeMessage": "Por favor espere mientras la base de datos de su Servidor Emby es actualizada. {0}% completo.",
"Latest": "Recientes",
"ValueSpecialEpisodeName": "Especial - {0}",
"Inherit": "Heredar",
"Books": "Libros",
"Music": "M\u00fasica",
"Games": "Juegos",
"Photos": "Fotos",
"MixedContent": "Contenido mezclado",
"MusicVideos": "Videos musicales",
"HomeVideos": "Videos caseros",
"Playlists": "Listas de reproducci\u00f3n",
"HeaderRecordingGroups": "Grupos de Grabaciones",
"HeaderContinueWatching": "Continuar Viendo",
"HeaderFavoriteArtists": "Artistas Favoritos",
"HeaderFavoriteSongs": "Canciones Favoritas",
"HeaderAlbumArtists": "Artistas del \u00c1lbum",
"HeaderFavoriteAlbums": "\u00c1lbumes Favoritos",
"HeaderFavoriteEpisodes": "Episodios Preferidos",
"HeaderFavoriteShows": "Programas Preferidos",
"HeaderNextUp": "A Continuaci\u00f3n",
"Favorites": "Favoritos",
"Collections": "Colecciones",
"Channels": "Canales",
"Movies": "Pel\u00edculas",
"Albums": "\u00c1lbumes",
"Artists": "Artistas",
"Folders": "Carpetas",
"Songs": "Canciones",
"TvShows": "TV Shows",
"Shows": "Programas",
"Genres": "G\u00e9neros",
"NameSeasonNumber": "Temporada {0}",
"AppDeviceValues": "App: {0}, Dispositivo: {1}",
"UserDownloadingItemWithValues": "{0} esta descargando {1}",
"FolderTypeMixed": "Contenido mezclado",
"FolderTypeMovies": "Pel\u00edculas",
"FolderTypeMusic": "M\u00fasica",
"FolderTypeAdultVideos": "Videos para adultos",
"FolderTypePhotos": "Fotos",
"FolderTypeMusicVideos": "Videos musicales",
"FolderTypeHomeVideos": "Videos caseros",
"FolderTypeGames": "Juegos",
"FolderTypeBooks": "Libros",
"FolderTypeTvShows": "TV",
"FolderTypeInherit": "Heredar",
"HeaderCastCrew": "Reparto y Personal",
"HeaderPeople": "Personas",
"ValueSpecialEpisodeName": "Especial: {0}",
"LabelChapterName": "Cap\u00edtulo {0}",
"NameSeasonNumber": "Temporada {0}",
"LabelExit": "Salir",
"LabelVisitCommunity": "Visitar la Comunidad",
"LabelGithub": "Github",
"LabelApiDocumentation": "Documentaci\u00f3n del API",
"LabelDeveloperResources": "Recursos para Desarrolladores",
"LabelBrowseLibrary": "Explorar Biblioteca",
"LabelConfigureServer": "Configurar Emby",
"LabelRestartServer": "Reiniciar el Servidor",
"CategorySync": "Sinc.",
"CategoryUser": "Usuario",
"CategorySystem": "Sistema",
"CategoryApplication": "Aplicaci\u00f3n",
"CategoryPlugin": "Complemento",
"NotificationOptionPluginError": "Falla de complemento",
"NotificationOptionApplicationUpdateAvailable": "Actualizaci\u00f3n de aplicaci\u00f3n disponible",
"NotificationOptionApplicationUpdateInstalled": "Actualizaci\u00f3n de aplicaci\u00f3n instalada",
"NotificationOptionPluginUpdateInstalled": "Actualizaci\u00f3n de complemento instalada",
"NotificationOptionPluginInstalled": "Complemento instalado",
"NotificationOptionPluginUninstalled": "Complemento desinstalado",
"NotificationOptionVideoPlayback": "Reproducci\u00f3n de video iniciada",
"NotificationOptionAudioPlayback": "Reproducci\u00f3n de audio iniciada",
"NotificationOptionGamePlayback": "Ejecuci\u00f3n de juego iniciada",
"NotificationOptionVideoPlaybackStopped": "Reproducci\u00f3n de video detenida",
"NotificationOptionAudioPlaybackStopped": "Reproducci\u00f3n de audio detenida",
"NotificationOptionGamePlaybackStopped": "Ejecuci\u00f3n de juego detenida",
"NotificationOptionTaskFailed": "Falla de tarea programada",
"NotificationOptionInstallationFailed": "Falla de instalaci\u00f3n",
"NotificationOptionNewLibraryContent": "Nuevo contenido agregado",
"NotificationOptionNewLibraryContentMultiple": "Nuevo contenido agregado (varios)",
"NotificationOptionCameraImageUploaded": "Imagen de la c\u00e1mara subida",
"NotificationOptionUserLockedOut": "Usuario bloqueado",
"NotificationOptionServerRestartRequired": "Reinicio del servidor requerido",
"ViewTypePlaylists": "Listas de Reproducci\u00f3n",
"ViewTypeMovies": "Pel\u00edculas",
"ViewTypeTvShows": "TV",
"ViewTypeGames": "Juegos",
"ViewTypeMusic": "M\u00fasica",
"ViewTypeMusicGenres": "G\u00e9neros",
"ViewTypeMusicArtists": "Artistas",
"ViewTypeBoxSets": "Colecciones",
"ViewTypeChannels": "Canales",
"ViewTypeLiveTV": "TV en Vivo",
"ViewTypeLiveTvNowPlaying": "Transmiti\u00e9ndose",
"ViewTypeLatestGames": "Juegos Recientes",
"ViewTypeRecentlyPlayedGames": "Reproducido Reci\u00e9ntemente",
"ViewTypeGameFavorites": "Favoritos",
"ViewTypeGameSystems": "Sistemas de Juego",
"ViewTypeGameGenres": "G\u00e9neros",
"ViewTypeTvResume": "Continuar",
"ViewTypeTvNextUp": "A Continuaci\u00f3n",
"ViewTypeTvLatest": "Recientes",
"ViewTypeTvShowSeries": "Series",
"ViewTypeTvGenres": "G\u00e9neros",
"ViewTypeTvFavoriteSeries": "Series Favoritas",
"ViewTypeTvFavoriteEpisodes": "Episodios Favoritos",
"ViewTypeMovieResume": "Continuar",
"ViewTypeMovieLatest": "Recientes",
"ViewTypeMovieMovies": "Pel\u00edculas",
"ViewTypeMovieCollections": "Colecciones",
"ViewTypeMovieFavorites": "Favoritos",
"ViewTypeMovieGenres": "G\u00e9neros",
"ViewTypeMusicLatest": "Recientes",
"ViewTypeMusicPlaylists": "Listas",
"ViewTypeMusicAlbums": "\u00c1lbumes",
"ViewTypeMusicAlbumArtists": "Artistas del \u00c1lbum",
"HeaderOtherDisplaySettings": "Configuraci\u00f3n de Pantalla",
"ViewTypeMusicSongs": "Canciones",
"ViewTypeMusicFavorites": "Favoritos",
"ViewTypeMusicFavoriteAlbums": "\u00c1lbumes Favoritos",
"ViewTypeMusicFavoriteArtists": "Artistas Favoritos",
"ViewTypeMusicFavoriteSongs": "Canciones Favoritas",
"ViewTypeFolders": "Carpetas",
"ViewTypeLiveTvRecordingGroups": "Grabaciones",
"ViewTypeLiveTvChannels": "Canales",
"HeaderLiveTV": "TV en Vivo",
"ChapterNameValue": "Cap\u00edtulo {0}",
"ScheduledTaskFailedWithName": "{0} fall\u00f3",
"LabelRunningTimeValue": "Duraci\u00f3n: {0}",
"ScheduledTaskStartedWithName": "{0} Iniciado",
"VersionNumber": "Versi\u00f3n {0}",
"PluginInstalledWithName": "{0} fue instalado",
"StartupEmbyServerIsLoading": "El servidor Emby esta cargando. Por favor intente de nuevo dentro de poco.",
"PluginUpdatedWithName": "{0} fue actualizado",
"PluginUninstalledWithName": "{0} fue desinstalado",
"ItemAddedWithName": "{0} fue agregado a la biblioteca",
@ -106,73 +50,47 @@
"UserOnlineFromDevice": "{0} est\u00e1 en l\u00ednea desde {1}",
"ProviderValue": "Proveedor: {0}",
"SubtitlesDownloadedForItem": "Subt\u00edtulos descargados para {0}",
"UserConfigurationUpdatedWithName": "Se ha actualizado la configuraci\u00f3n del usuario {0}",
"UserCreatedWithName": "Se ha creado el usuario {0}",
"UserPasswordChangedWithName": "Se ha cambiado la contrase\u00f1a para el usuario {0}",
"UserDeletedWithName": "Se ha eliminado al usuario {0}",
"UserDeletedWithName": "Se ha eliminado el usuario {0}",
"UserConfigurationUpdatedWithName": "Se ha actualizado la configuraci\u00f3n del usuario {0}",
"MessageServerConfigurationUpdated": "Se ha actualizado la configuraci\u00f3n del servidor",
"MessageNamedServerConfigurationUpdatedWithValue": "Se ha actualizado la secci\u00f3n {0} de la configuraci\u00f3n del servidor",
"MessageApplicationUpdated": "El servidor Emby ha sido actualizado",
"FailedLoginAttemptWithUserName": "Intento fallido de inicio de sesi\u00f3n de {0}",
"AuthenticationSucceededWithUserName": "{0} autenticado con \u00e9xito",
"DeviceOfflineWithName": "{0} se ha desconectado",
"UserLockedOutWithName": "El usuario {0} ha sido bloqueado",
"UserOfflineFromDevice": "{0} se ha desconectado desde {1}",
"DeviceOfflineWithName": "{0} se ha desconectado",
"UserStartedPlayingItemWithValues": "{0} ha iniciado la reproducci\u00f3n de {1}",
"UserStoppedPlayingItemWithValues": "{0} ha detenido la reproducci\u00f3n de {1}",
"NotificationOptionPluginError": "Falla de complemento",
"NotificationOptionApplicationUpdateAvailable": "Actualizaci\u00f3n de aplicaci\u00f3n disponible",
"NotificationOptionApplicationUpdateInstalled": "Actualizaci\u00f3n de aplicaci\u00f3n instalada",
"NotificationOptionPluginUpdateInstalled": "Actualizaci\u00f3n de complemento instalada",
"NotificationOptionPluginInstalled": "Complemento instalado",
"NotificationOptionPluginUninstalled": "Complemento desinstalado",
"NotificationOptionVideoPlayback": "Reproducci\u00f3n de video iniciada",
"NotificationOptionAudioPlayback": "Reproducci\u00f3n de audio iniciada",
"NotificationOptionGamePlayback": "Ejecuci\u00f3n de juego iniciada",
"NotificationOptionVideoPlaybackStopped": "Reproducci\u00f3n de video detenida",
"NotificationOptionAudioPlaybackStopped": "Reproducci\u00f3n de audio detenida",
"NotificationOptionGamePlaybackStopped": "Ejecuci\u00f3n de juego detenida",
"NotificationOptionTaskFailed": "Falla de tarea programada",
"NotificationOptionInstallationFailed": "Falla de instalaci\u00f3n",
"NotificationOptionNewLibraryContent": "Nuevo contenido agregado",
"NotificationOptionCameraImageUploaded": "Imagen de la c\u00e1mara subida",
"NotificationOptionUserLockedOut": "Usuario bloqueado",
"NotificationOptionServerRestartRequired": "Se necesita reiniciar el Servidor",
"UserLockedOutWithName": "El usuario {0} ha sido bloqueado",
"SubtitleDownloadFailureForItem": "Fall\u00f3 la descarga de subt\u00edtulos para {0}",
"HeaderUnidentified": "No Identificado",
"HeaderImagePrimary": "Principal",
"HeaderImageBackdrop": "Imagen de Fondo",
"HeaderImageLogo": "Logo",
"HeaderUserPrimaryImage": "Imagen de Usuario",
"HeaderOverview": "Resumen",
"HeaderShortOverview": "Sinopsis corta:",
"HeaderType": "Tipo",
"HeaderSeverity": "Severidad",
"HeaderUser": "Usuario",
"HeaderName": "Nombre",
"HeaderDate": "Fecha",
"HeaderPremiereDate": "Fecha de Estreno",
"HeaderDateAdded": "Fecha de Adici\u00f3n",
"HeaderReleaseDate": "Fecha de estreno",
"HeaderRuntime": "Duraci\u00f3n",
"HeaderPlayCount": "Contador",
"HeaderSeason": "Temporada",
"HeaderSeasonNumber": "N\u00famero de temporada",
"HeaderSeries": "Series:",
"HeaderNetwork": "Cadena",
"HeaderYear": "A\u00f1o:",
"HeaderYears": "A\u00f1os:",
"HeaderParentalRating": "Clasificaci\u00f3n Parental",
"HeaderCommunityRating": "Calificaci\u00f3n de la comunidad",
"HeaderTrailers": "Tr\u00e1ilers",
"HeaderSpecials": "Especiales",
"HeaderGameSystems": "Sistemas de Juego",
"HeaderPlayers": "Reproductores:",
"HeaderAlbumArtists": "Artistas del \u00c1lbum",
"HeaderAlbums": "\u00c1lbumes",
"HeaderDisc": "Disco",
"HeaderTrack": "Pista",
"HeaderAudio": "Audio",
"HeaderVideo": "Video",
"HeaderEmbeddedImage": "Im\u00e1gen embebida",
"HeaderResolution": "Resoluci\u00f3n",
"HeaderSubtitles": "Subt\u00edtulos",
"HeaderGenres": "G\u00e9neros",
"HeaderCountries": "Pa\u00edses",
"HeaderStatus": "Estado",
"HeaderTracks": "Pistas",
"HeaderMusicArtist": "Int\u00e9rprete",
"HeaderLocked": "Bloqueado",
"HeaderStudios": "Estudios",
"HeaderActor": "Actores",
"HeaderComposer": "Compositores",
"HeaderDirector": "Directores",
"HeaderGuestStar": "Estrella invitada",
"HeaderProducer": "Productores",
"HeaderWriter": "Guionistas",
"HeaderParentalRatings": "Clasificaci\u00f3n Parental",
"HeaderCommunityRatings": "Clasificaciones de la comunidad",
"StartupEmbyServerIsLoading": "El servidor Emby esta cargando. Por favor intente de nuevo dentro de poco."
"Sync": "Sinc.",
"User": "Usuario",
"System": "Sistema",
"Application": "Aplicaci\u00f3n",
"Plugin": "Complemento",
"LabelExit": "Salir",
"LabelVisitCommunity": "Visitar la Comunidad",
"LabelBrowseLibrary": "Explorar Biblioteca",
"LabelConfigureServer": "Configurar Emby",
"LabelRestartServer": "Reiniciar el Servidor"
}

@ -1,178 +1,96 @@
{
"DbUpgradeMessage": "Por favor espere mientras la base de datos de su servidor Emby se actualiza. {0}% completado.",
"AppDeviceValues": "Aplicaci\u00f3n: {0}, Dispositivo: {1}",
"UserDownloadingItemWithValues": "{0} est\u00e1 descargando {1}",
"FolderTypeMixed": "Contenido mezclado",
"FolderTypeMovies": "Peliculas",
"FolderTypeMusic": "Musica",
"FolderTypeAdultVideos": "Videos para adultos",
"FolderTypePhotos": "Fotos",
"FolderTypeMusicVideos": "Videos Musicales",
"FolderTypeHomeVideos": "Videos caseros",
"FolderTypeGames": "Juegos",
"FolderTypeBooks": "Libros",
"FolderTypeTvShows": "TV",
"FolderTypeInherit": "Heredado",
"HeaderCastCrew": "Reparto y equipo t\u00e9cnico",
"HeaderPeople": "Gente",
"Latest": "\u00daltimos",
"ValueSpecialEpisodeName": "Especial - {0}",
"LabelChapterName": "Cap\u00edtulo {0}",
"Inherit": "Heredar",
"Books": "Libros",
"Music": "M\u00fasica",
"Games": "Juegos",
"Photos": "Fotos",
"MixedContent": "Contenido mixto",
"MusicVideos": "Videos musicales",
"HomeVideos": "V\u00eddeos de inicio",
"Playlists": "Listas reproducci\u00f3n",
"HeaderRecordingGroups": "Grupos de grabaci\u00f3n",
"HeaderContinueWatching": "Continuar viendo",
"HeaderFavoriteArtists": "Artistas favoritos",
"HeaderFavoriteSongs": "Canciones favoritas",
"HeaderAlbumArtists": "Artistas del \u00c1lbum",
"HeaderFavoriteAlbums": "\u00c1lbumes favoritos",
"HeaderFavoriteEpisodes": "Episodios favoritos",
"HeaderFavoriteShows": "Programas favoritos",
"HeaderNextUp": "Siguiendo",
"Favorites": "Favoritos",
"Collections": "Colecciones",
"Channels": "Canales",
"Movies": "Peliculas",
"Albums": "\u00c1lbumes",
"Artists": "Artistas",
"Folders": "Carpetas",
"Songs": "Canciones",
"TvShows": "TV Shows",
"Shows": "Series",
"Genres": "G\u00e9neros",
"NameSeasonNumber": "Temporada {0}",
"LabelExit": "Salir",
"LabelVisitCommunity": "Visitar la comunidad",
"LabelGithub": "Github",
"LabelApiDocumentation": "Documentaci\u00f3n API",
"LabelDeveloperResources": "Recursos del Desarrollador",
"LabelBrowseLibrary": "Navegar biblioteca",
"LabelConfigureServer": "Configurar Emby",
"LabelRestartServer": "Reiniciar el servidor",
"CategorySync": "Sincronizar",
"CategoryUser": "Usuario",
"CategorySystem": "Sistema",
"CategoryApplication": "Aplicaci\u00f3n",
"CategoryPlugin": "Plugin",
"NotificationOptionPluginError": "Error en plugin",
"NotificationOptionApplicationUpdateAvailable": "Disponible actualizaci\u00f3n de la aplicaci\u00f3n",
"NotificationOptionApplicationUpdateInstalled": "Se ha instalado la actualizaci\u00f3n de la aplicaci\u00f3n",
"NotificationOptionPluginUpdateInstalled": "Se ha instalado la actualizaci\u00f3n del plugin",
"NotificationOptionPluginInstalled": "Plugin instalado",
"NotificationOptionPluginUninstalled": "Plugin desinstalado",
"NotificationOptionVideoPlayback": "Reproduccion de video a iniciado",
"NotificationOptionAudioPlayback": "Reproduccion de audio a iniciado",
"NotificationOptionGamePlayback": "Reproduccion de video juego a iniciado",
"NotificationOptionVideoPlaybackStopped": "Reproducci\u00f3n de video detenida",
"NotificationOptionAudioPlaybackStopped": "Reproducci\u00f3n de audio detenida",
"NotificationOptionGamePlaybackStopped": "Reproducci\u00f3n de juego detenida",
"NotificationOptionTaskFailed": "La tarea programada ha fallado",
"NotificationOptionInstallationFailed": "Fallo en la instalaci\u00f3n",
"NotificationOptionNewLibraryContent": "Nuevo contenido a\u00f1adido",
"NotificationOptionNewLibraryContentMultiple": "Nuevo contenido a\u00f1adido (multiple)",
"NotificationOptionCameraImageUploaded": "Imagen de camara se a carcado",
"NotificationOptionUserLockedOut": "Usuario bloqueado",
"NotificationOptionServerRestartRequired": "Se requiere el reinicio del servidor",
"ViewTypePlaylists": "Listas de reproducci\u00f3n",
"ViewTypeMovies": "Pel\u00edculas",
"ViewTypeTvShows": "TV",
"ViewTypeGames": "Juegos",
"ViewTypeMusic": "M\u00fasica",
"ViewTypeMusicGenres": "G\u00e9neros",
"ViewTypeMusicArtists": "Artistas",
"ViewTypeBoxSets": "Colecciones",
"ViewTypeChannels": "Canales",
"ViewTypeLiveTV": "Tv en vivo",
"ViewTypeLiveTvNowPlaying": "Transmiti\u00e9ndose ahora",
"ViewTypeLatestGames": "\u00daltimos juegos",
"ViewTypeRecentlyPlayedGames": "Reproducido recientemente",
"ViewTypeGameFavorites": "Favoritos",
"ViewTypeGameSystems": "Sistemas de juego",
"ViewTypeGameGenres": "G\u00e9neros",
"ViewTypeTvResume": "Reanudar",
"ViewTypeTvNextUp": "Pr\u00f3ximamente",
"ViewTypeTvLatest": "\u00daltimas",
"ViewTypeTvShowSeries": "Series",
"ViewTypeTvGenres": "G\u00e9neros",
"ViewTypeTvFavoriteSeries": "Series favoritas",
"ViewTypeTvFavoriteEpisodes": "Episodios favoritos",
"ViewTypeMovieResume": "Reanudar",
"ViewTypeMovieLatest": "\u00daltimas",
"ViewTypeMovieMovies": "Pel\u00edculas",
"ViewTypeMovieCollections": "Colecciones",
"ViewTypeMovieFavorites": "Favoritos",
"ViewTypeMovieGenres": "G\u00e9neros",
"ViewTypeMusicLatest": "\u00daltimas",
"ViewTypeMusicPlaylists": "Lista",
"ViewTypeMusicAlbums": "\u00c1lbumes",
"ViewTypeMusicAlbumArtists": "\u00c1lbumes de artistas",
"HeaderOtherDisplaySettings": "Configuraci\u00f3n de pantalla",
"ViewTypeMusicSongs": "Canciones",
"ViewTypeMusicFavorites": "Favoritos",
"ViewTypeMusicFavoriteAlbums": "\u00c1lbumes favoritos",
"ViewTypeMusicFavoriteArtists": "Artistas favoritos",
"ViewTypeMusicFavoriteSongs": "Canciones favoritas",
"ViewTypeFolders": "Carpetas",
"ViewTypeLiveTvRecordingGroups": "Grabaciones",
"ViewTypeLiveTvChannels": "Canales",
"AppDeviceValues": "Aplicaci\u00f3n: {0}, Dispositivo: {1}",
"UserDownloadingItemWithValues": "{0} est\u00e1 descargando {1}",
"HeaderLiveTV": "TV en vivo",
"ChapterNameValue": "Cap\u00edtulo {0}",
"ScheduledTaskFailedWithName": "{0} fall\u00f3",
"LabelRunningTimeValue": "Tiempo de ejecuci\u00f3n: {0}",
"ScheduledTaskStartedWithName": "{0} iniciado",
"LabelRunningTimeValue": "Tiempo de funcionamiento: {0}",
"ScheduledTaskStartedWithName": "{0} iniciada",
"VersionNumber": "Versi\u00f3n {0}",
"PluginInstalledWithName": "{0} ha sido instalado",
"PluginUpdatedWithName": "{0} ha sido actualizado",
"PluginUninstalledWithName": "{0} ha sido desinstalado",
"ItemAddedWithName": "{0} ha sido a\u00f1adido a la biblioteca",
"ItemRemovedWithName": "{0} se ha eliminado de la biblioteca",
"PluginInstalledWithName": "{0} se ha instalado",
"StartupEmbyServerIsLoading": "Emby Server se est\u00e1 cargando. Vuelve a intentarlo en breve.",
"PluginUpdatedWithName": "{0} se actualiz\u00f3",
"PluginUninstalledWithName": "{0} se ha desinstalado",
"ItemAddedWithName": "{0} se ha a\u00f1adido a la biblioteca",
"ItemRemovedWithName": "{0} se elimina de la biblioteca",
"LabelIpAddressValue": "Direcci\u00f3n IP: {0}",
"DeviceOnlineWithName": "{0} est\u00e1 conectado",
"UserOnlineFromDevice": "{0} est\u00e1 conectado desde {1}",
"UserOnlineFromDevice": "{0} est\u00e1 en l\u00ednea desde {1}",
"ProviderValue": "Proveedor: {0}",
"SubtitlesDownloadedForItem": "Subt\u00edtulos descargados para {0}",
"UserConfigurationUpdatedWithName": "Se ha actualizado la configuraci\u00f3n de usuario para {0}",
"UserCreatedWithName": "Se ha creado el usuario {0}",
"UserPasswordChangedWithName": "Contrase\u00f1a cambiada al usuario {0}",
"UserDeletedWithName": "El usuario {0} ha sido eliminado",
"SubtitlesDownloadedForItem": "Descargar subt\u00edtulos para {0}",
"UserCreatedWithName": "El usuario {0} ha sido creado",
"UserPasswordChangedWithName": "Se ha cambiado la contrase\u00f1a para el usuario {0}",
"UserDeletedWithName": "El usuario {0} ha sido borrado",
"UserConfigurationUpdatedWithName": "Configuraci\u00f3n de usuario se ha actualizado para {0}",
"MessageServerConfigurationUpdated": "Se ha actualizado la configuraci\u00f3n del servidor",
"MessageNamedServerConfigurationUpdatedWithValue": "Se ha actualizado la secci\u00f3n {0} de la configuraci\u00f3n del servidor",
"MessageNamedServerConfigurationUpdatedWithValue": "La secci\u00f3n de configuraci\u00f3n del servidor {0} ha sido actualizado",
"MessageApplicationUpdated": "Se ha actualizado el servidor Emby",
"FailedLoginAttemptWithUserName": "Intento de inicio de sesi\u00f3n fallido desde {0}",
"AuthenticationSucceededWithUserName": "{0} se ha autenticado satisfactoriamente",
"FailedLoginAttemptWithUserName": "Error al intentar iniciar sesi\u00f3n a partir de {0}",
"AuthenticationSucceededWithUserName": "{0} autenticado correctamente",
"UserOfflineFromDevice": "{0} se ha desconectado de {1}",
"DeviceOfflineWithName": "{0} se ha desconectado",
"UserStartedPlayingItemWithValues": "{0} ha comenzado jugando {1}",
"UserStoppedPlayingItemWithValues": "{0} ha dejado de reproducir {1}",
"NotificationOptionPluginError": "Error en plugin",
"NotificationOptionApplicationUpdateAvailable": "Actualizaci\u00f3n de la aplicaci\u00f3n disponible",
"NotificationOptionApplicationUpdateInstalled": "Actualizaci\u00f3n de la aplicaci\u00f3n instalada",
"NotificationOptionPluginUpdateInstalled": "Actualizaci\u00f3n del complemento instalada",
"NotificationOptionPluginInstalled": "Plugin instalado",
"NotificationOptionPluginUninstalled": "Plugin desinstalado",
"NotificationOptionVideoPlayback": "Se inici\u00f3 la reproducci\u00f3n de v\u00eddeo",
"NotificationOptionAudioPlayback": "Se inici\u00f3 la reproducci\u00f3n de audio",
"NotificationOptionGamePlayback": "Se inici\u00f3 la reproducci\u00f3n del juego",
"NotificationOptionVideoPlaybackStopped": "Reproducci\u00f3n de v\u00eddeo detenida",
"NotificationOptionAudioPlaybackStopped": "Se detuvo la reproducci\u00f3n de audio",
"NotificationOptionGamePlaybackStopped": "Se detuvo la reproducci\u00f3n del juego",
"NotificationOptionTaskFailed": "Error de tarea programada",
"NotificationOptionInstallationFailed": "Error de instalaci\u00f3n",
"NotificationOptionNewLibraryContent": "Nuevo contenido a\u00f1adido",
"NotificationOptionCameraImageUploaded": "Imagen de la c\u00e1mara cargada",
"NotificationOptionUserLockedOut": "Usuario bloqueado",
"NotificationOptionServerRestartRequired": "Requiere reinicio del servidor",
"UserLockedOutWithName": "El usuario {0} ha sido bloqueado",
"UserOfflineFromDevice": "{0} se ha desconectado de {1}",
"UserStartedPlayingItemWithValues": "{0} ha empezado a reproducir {1}",
"UserStoppedPlayingItemWithValues": "{0} ha parado de reproducir {1}",
"SubtitleDownloadFailureForItem": "Fallo en la descarga de subt\u00edtulos para {0}",
"HeaderUnidentified": "Unidentified",
"HeaderImagePrimary": "Primary",
"HeaderImageBackdrop": "Backdrop",
"HeaderImageLogo": "Logo",
"HeaderUserPrimaryImage": "User Image",
"HeaderOverview": "Overview",
"HeaderShortOverview": "Short Overview",
"HeaderType": "Type",
"HeaderSeverity": "Severity",
"HeaderUser": "Usuario",
"HeaderName": "Nombre",
"HeaderDate": "Fecha",
"HeaderPremiereDate": "Premiere Date",
"HeaderDateAdded": "Date Added",
"HeaderReleaseDate": "Release date",
"HeaderRuntime": "Runtime",
"HeaderPlayCount": "Play Count",
"HeaderSeason": "Season",
"HeaderSeasonNumber": "Season number",
"HeaderSeries": "Series:",
"HeaderNetwork": "Network",
"HeaderYear": "Year:",
"HeaderYears": "Years:",
"HeaderParentalRating": "Parental Rating",
"HeaderCommunityRating": "Community rating",
"HeaderTrailers": "Trailers",
"HeaderSpecials": "Specials",
"HeaderGameSystems": "Game Systems",
"HeaderPlayers": "Players:",
"HeaderAlbumArtists": "Album Artists",
"HeaderAlbums": "Albums",
"HeaderDisc": "Disc",
"HeaderTrack": "Track",
"HeaderAudio": "Audio",
"HeaderVideo": "Video",
"HeaderEmbeddedImage": "Embedded image",
"HeaderResolution": "Resolution",
"HeaderSubtitles": "Subt\u00edtulos",
"HeaderGenres": "G\u00e9neros",
"HeaderCountries": "Paises",
"HeaderStatus": "Estado",
"HeaderTracks": "Tracks",
"HeaderMusicArtist": "Music artist",
"HeaderLocked": "Locked",
"HeaderStudios": "Estudios",
"HeaderActor": "Actors",
"HeaderComposer": "Composers",
"HeaderDirector": "Directors",
"HeaderGuestStar": "Guest star",
"HeaderProducer": "Producers",
"HeaderWriter": "Writers",
"HeaderParentalRatings": "Clasificaci\u00f3n parental",
"HeaderCommunityRatings": "Community ratings",
"StartupEmbyServerIsLoading": "Emby Server is loading. Please try again shortly."
"SubtitleDownloadFailureForItem": "Error al descargar subt\u00edtulos para {0}",
"Sync": "Sincronizar",
"User": "Usuario",
"System": "Sistema",
"Application": "Aplicaci\u00f3n",
"Plugin": "Plugin",
"LabelExit": "Salida",
"LabelVisitCommunity": "Visita la Comunidad",
"LabelBrowseLibrary": "Navegar la biblioteca",
"LabelConfigureServer": "Configurar Emby",
"LabelRestartServer": "Configurar Emby"
}

@ -1,178 +0,0 @@
{
"DbUpgradeMessage": "Please wait while your Emby Server database is upgraded. {0}% complete.",
"AppDeviceValues": "App: {0}, Device: {1}",
"UserDownloadingItemWithValues": "{0} is downloading {1}",
"FolderTypeMixed": "Mixed content",
"FolderTypeMovies": "Movies",
"FolderTypeMusic": "Music",
"FolderTypeAdultVideos": "Adult videos",
"FolderTypePhotos": "Photos",
"FolderTypeMusicVideos": "Music videos",
"FolderTypeHomeVideos": "Home videos",
"FolderTypeGames": "Games",
"FolderTypeBooks": "Books",
"FolderTypeTvShows": "TV",
"FolderTypeInherit": "Inherit",
"HeaderCastCrew": "Cast & Crew",
"HeaderPeople": "People",
"ValueSpecialEpisodeName": "Special - {0}",
"LabelChapterName": "Chapter {0}",
"NameSeasonNumber": "Season {0}",
"LabelExit": "Poistu",
"LabelVisitCommunity": "K\u00e4y Yhteis\u00f6ss\u00e4",
"LabelGithub": "Github",
"LabelApiDocumentation": "Api Documentation",
"LabelDeveloperResources": "Developer Resources",
"LabelBrowseLibrary": "Selaa Kirjastoa",
"LabelConfigureServer": "Configure Emby",
"LabelRestartServer": "K\u00e4ynnist\u00e4 Palvelin uudelleen",
"CategorySync": "Sync",
"CategoryUser": "User",
"CategorySystem": "System",
"CategoryApplication": "Application",
"CategoryPlugin": "Plugin",
"NotificationOptionPluginError": "Plugin failure",
"NotificationOptionApplicationUpdateAvailable": "Application update available",
"NotificationOptionApplicationUpdateInstalled": "Application update installed",
"NotificationOptionPluginUpdateInstalled": "Plugin update installed",
"NotificationOptionPluginInstalled": "Plugin installed",
"NotificationOptionPluginUninstalled": "Plugin uninstalled",
"NotificationOptionVideoPlayback": "Video playback started",
"NotificationOptionAudioPlayback": "Audio playback started",
"NotificationOptionGamePlayback": "Game playback started",
"NotificationOptionVideoPlaybackStopped": "Video playback stopped",
"NotificationOptionAudioPlaybackStopped": "Audio playback stopped",
"NotificationOptionGamePlaybackStopped": "Game playback stopped",
"NotificationOptionTaskFailed": "Scheduled task failure",
"NotificationOptionInstallationFailed": "Installation failure",
"NotificationOptionNewLibraryContent": "New content added",
"NotificationOptionNewLibraryContentMultiple": "New content added (multiple)",
"NotificationOptionCameraImageUploaded": "Camera image uploaded",
"NotificationOptionUserLockedOut": "User locked out",
"NotificationOptionServerRestartRequired": "Server restart required",
"ViewTypePlaylists": "Playlists",
"ViewTypeMovies": "Movies",
"ViewTypeTvShows": "TV",
"ViewTypeGames": "Games",
"ViewTypeMusic": "Music",
"ViewTypeMusicGenres": "Genres",
"ViewTypeMusicArtists": "Artists",
"ViewTypeBoxSets": "Collections",
"ViewTypeChannels": "Channels",
"ViewTypeLiveTV": "Live TV",
"ViewTypeLiveTvNowPlaying": "Now Airing",
"ViewTypeLatestGames": "Latest Games",
"ViewTypeRecentlyPlayedGames": "Recently Played",
"ViewTypeGameFavorites": "Favorites",
"ViewTypeGameSystems": "Game Systems",
"ViewTypeGameGenres": "Genres",
"ViewTypeTvResume": "Resume",
"ViewTypeTvNextUp": "Next Up",
"ViewTypeTvLatest": "Latest",
"ViewTypeTvShowSeries": "Series",
"ViewTypeTvGenres": "Genres",
"ViewTypeTvFavoriteSeries": "Favorite Series",
"ViewTypeTvFavoriteEpisodes": "Favorite Episodes",
"ViewTypeMovieResume": "Resume",
"ViewTypeMovieLatest": "Latest",
"ViewTypeMovieMovies": "Movies",
"ViewTypeMovieCollections": "Collections",
"ViewTypeMovieFavorites": "Favorites",
"ViewTypeMovieGenres": "Genres",
"ViewTypeMusicLatest": "Latest",
"ViewTypeMusicPlaylists": "Playlists",
"ViewTypeMusicAlbums": "Albums",
"ViewTypeMusicAlbumArtists": "Album Artists",
"HeaderOtherDisplaySettings": "Display Settings",
"ViewTypeMusicSongs": "Songs",
"ViewTypeMusicFavorites": "Favorites",
"ViewTypeMusicFavoriteAlbums": "Favorite Albums",
"ViewTypeMusicFavoriteArtists": "Favorite Artists",
"ViewTypeMusicFavoriteSongs": "Favorite Songs",
"ViewTypeFolders": "Folders",
"ViewTypeLiveTvRecordingGroups": "Recordings",
"ViewTypeLiveTvChannels": "Channels",
"ScheduledTaskFailedWithName": "{0} failed",
"LabelRunningTimeValue": "Running time: {0}",
"ScheduledTaskStartedWithName": "{0} started",
"VersionNumber": "Version {0}",
"PluginInstalledWithName": "{0} was installed",
"PluginUpdatedWithName": "{0} was updated",
"PluginUninstalledWithName": "{0} was uninstalled",
"ItemAddedWithName": "{0} was added to the library",
"ItemRemovedWithName": "{0} was removed from the library",
"LabelIpAddressValue": "Ip address: {0}",
"DeviceOnlineWithName": "{0} is connected",
"UserOnlineFromDevice": "{0} is online from {1}",
"ProviderValue": "Provider: {0}",
"SubtitlesDownloadedForItem": "Subtitles downloaded for {0}",
"UserConfigurationUpdatedWithName": "User configuration has been updated for {0}",
"UserCreatedWithName": "User {0} has been created",
"UserPasswordChangedWithName": "Password has been changed for user {0}",
"UserDeletedWithName": "User {0} has been deleted",
"MessageServerConfigurationUpdated": "Server configuration has been updated",
"MessageNamedServerConfigurationUpdatedWithValue": "Server configuration section {0} has been updated",
"MessageApplicationUpdated": "Emby Server has been updated",
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
"DeviceOfflineWithName": "{0} has disconnected",
"UserLockedOutWithName": "User {0} has been locked out",
"UserOfflineFromDevice": "{0} has disconnected from {1}",
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
"SubtitleDownloadFailureForItem": "Subtitles failed to download for {0}",
"HeaderUnidentified": "Unidentified",
"HeaderImagePrimary": "Primary",
"HeaderImageBackdrop": "Backdrop",
"HeaderImageLogo": "Logo",
"HeaderUserPrimaryImage": "User Image",
"HeaderOverview": "Overview",
"HeaderShortOverview": "Short Overview",
"HeaderType": "Type",
"HeaderSeverity": "Severity",
"HeaderUser": "User",
"HeaderName": "Name",
"HeaderDate": "Date",
"HeaderPremiereDate": "Premiere Date",
"HeaderDateAdded": "Date Added",
"HeaderReleaseDate": "Release date",
"HeaderRuntime": "Runtime",
"HeaderPlayCount": "Play Count",
"HeaderSeason": "Season",
"HeaderSeasonNumber": "Season number",
"HeaderSeries": "Series:",
"HeaderNetwork": "Network",
"HeaderYear": "Year:",
"HeaderYears": "Years:",
"HeaderParentalRating": "Parental Rating",
"HeaderCommunityRating": "Community rating",
"HeaderTrailers": "Trailers",
"HeaderSpecials": "Specials",
"HeaderGameSystems": "Game Systems",
"HeaderPlayers": "Players:",
"HeaderAlbumArtists": "Album Artists",
"HeaderAlbums": "Albums",
"HeaderDisc": "Disc",
"HeaderTrack": "Track",
"HeaderAudio": "Audio",
"HeaderVideo": "Video",
"HeaderEmbeddedImage": "Embedded image",
"HeaderResolution": "Resolution",
"HeaderSubtitles": "Subtitles",
"HeaderGenres": "Genres",
"HeaderCountries": "Countries",
"HeaderStatus": "Status",
"HeaderTracks": "Tracks",
"HeaderMusicArtist": "Music artist",
"HeaderLocked": "Locked",
"HeaderStudios": "Studios",
"HeaderActor": "Actors",
"HeaderComposer": "Composers",
"HeaderDirector": "Directors",
"HeaderGuestStar": "Guest star",
"HeaderProducer": "Producers",
"HeaderWriter": "Writers",
"HeaderParentalRatings": "Parental Ratings",
"HeaderCommunityRatings": "Community ratings",
"StartupEmbyServerIsLoading": "Emby Server is loading. Please try again shortly."
}

@ -1,102 +1,46 @@
{
"DbUpgradeMessage": "Veuillez patienter pendant que la base de donn\u00e9e de votre Serveur Emby se met \u00e0 jour. Termin\u00e9e \u00e0 {0}%.",
"Latest": "Latest",
"ValueSpecialEpisodeName": "Sp\u00e9cial - {0}",
"Inherit": "Inherit",
"Books": "Books",
"Music": "Music",
"Games": "Games",
"Photos": "Photos",
"MixedContent": "Mixed content",
"MusicVideos": "Music videos",
"HomeVideos": "Home videos",
"Playlists": "Playlists",
"HeaderRecordingGroups": "Recording Groups",
"HeaderContinueWatching": "Continuer \u00e0 regarder",
"HeaderFavoriteArtists": "Favorite Artists",
"HeaderFavoriteSongs": "Favorite Songs",
"HeaderAlbumArtists": "Album Artists",
"HeaderFavoriteAlbums": "Favorite Albums",
"HeaderFavoriteEpisodes": "Favorite Episodes",
"HeaderFavoriteShows": "Favorite Shows",
"HeaderNextUp": "\u00c0 Suivre",
"Favorites": "Favorites",
"Collections": "Collections",
"Channels": "Channels",
"Movies": "Movies",
"Albums": "Albums",
"Artists": "Artists",
"Folders": "Folders",
"Songs": "Songs",
"TvShows": "TV Shows",
"Shows": "Series",
"Genres": "Genres",
"NameSeasonNumber": "Season {0}",
"AppDeviceValues": "App: {0}, Device: {1}",
"UserDownloadingItemWithValues": "{0} is downloading {1}",
"FolderTypeMixed": "Mixed content",
"FolderTypeMovies": "Movies",
"FolderTypeMusic": "Music",
"FolderTypeAdultVideos": "Adult videos",
"FolderTypePhotos": "Photos",
"FolderTypeMusicVideos": "Music videos",
"FolderTypeHomeVideos": "Home videos",
"FolderTypeGames": "Games",
"FolderTypeBooks": "Books",
"FolderTypeTvShows": "TV",
"FolderTypeInherit": "Inherit",
"HeaderCastCrew": "Cast & Crew",
"HeaderPeople": "People",
"ValueSpecialEpisodeName": "Special - {0}",
"LabelChapterName": "Chapter {0}",
"NameSeasonNumber": "Season {0}",
"LabelExit": "Quitter",
"LabelVisitCommunity": "Visiter la Communaut\u00e9",
"LabelGithub": "Github",
"LabelApiDocumentation": "Documentation de l'API",
"LabelDeveloperResources": "Ressources pour d\u00e9veloppeurs",
"LabelBrowseLibrary": "Parcourir la biblioth\u00e8que",
"LabelConfigureServer": "Configurer Emby",
"LabelRestartServer": "Red\u00e9marrer le Serveur",
"CategorySync": "Sync",
"CategoryUser": "User",
"CategorySystem": "System",
"CategoryApplication": "Application",
"CategoryPlugin": "Plugin",
"NotificationOptionPluginError": "Plugin failure",
"NotificationOptionApplicationUpdateAvailable": "Application update available",
"NotificationOptionApplicationUpdateInstalled": "Application update installed",
"NotificationOptionPluginUpdateInstalled": "Plugin update installed",
"NotificationOptionPluginInstalled": "Plugin installed",
"NotificationOptionPluginUninstalled": "Plugin uninstalled",
"NotificationOptionVideoPlayback": "Video playback started",
"NotificationOptionAudioPlayback": "Audio playback started",
"NotificationOptionGamePlayback": "Game playback started",
"NotificationOptionVideoPlaybackStopped": "Video playback stopped",
"NotificationOptionAudioPlaybackStopped": "Audio playback stopped",
"NotificationOptionGamePlaybackStopped": "Game playback stopped",
"NotificationOptionTaskFailed": "Scheduled task failure",
"NotificationOptionInstallationFailed": "Installation failure",
"NotificationOptionNewLibraryContent": "New content added",
"NotificationOptionNewLibraryContentMultiple": "New content added (multiple)",
"NotificationOptionCameraImageUploaded": "Camera image uploaded",
"NotificationOptionUserLockedOut": "User locked out",
"NotificationOptionServerRestartRequired": "Server restart required",
"ViewTypePlaylists": "Playlists",
"ViewTypeMovies": "Movies",
"ViewTypeTvShows": "TV",
"ViewTypeGames": "Games",
"ViewTypeMusic": "Music",
"ViewTypeMusicGenres": "Genres",
"ViewTypeMusicArtists": "Artists",
"ViewTypeBoxSets": "Collections",
"ViewTypeChannels": "Channels",
"ViewTypeLiveTV": "Live TV",
"ViewTypeLiveTvNowPlaying": "Now Airing",
"ViewTypeLatestGames": "Latest Games",
"ViewTypeRecentlyPlayedGames": "Recently Played",
"ViewTypeGameFavorites": "Favorites",
"ViewTypeGameSystems": "Game Systems",
"ViewTypeGameGenres": "Genres",
"ViewTypeTvResume": "Resume",
"ViewTypeTvNextUp": "Next Up",
"ViewTypeTvLatest": "Latest",
"ViewTypeTvShowSeries": "Series",
"ViewTypeTvGenres": "Genres",
"ViewTypeTvFavoriteSeries": "Favorite Series",
"ViewTypeTvFavoriteEpisodes": "Favorite Episodes",
"ViewTypeMovieResume": "Resume",
"ViewTypeMovieLatest": "Latest",
"ViewTypeMovieMovies": "Movies",
"ViewTypeMovieCollections": "Collections",
"ViewTypeMovieFavorites": "Favorites",
"ViewTypeMovieGenres": "Genres",
"ViewTypeMusicLatest": "Latest",
"ViewTypeMusicPlaylists": "Playlists",
"ViewTypeMusicAlbums": "Albums",
"ViewTypeMusicAlbumArtists": "Album Artists",
"HeaderOtherDisplaySettings": "Display Settings",
"ViewTypeMusicSongs": "Songs",
"ViewTypeMusicFavorites": "Favorites",
"ViewTypeMusicFavoriteAlbums": "Favorite Albums",
"ViewTypeMusicFavoriteArtists": "Favorite Artists",
"ViewTypeMusicFavoriteSongs": "Favorite Songs",
"ViewTypeFolders": "Folders",
"ViewTypeLiveTvRecordingGroups": "Recordings",
"ViewTypeLiveTvChannels": "Channels",
"HeaderLiveTV": "Live TV",
"ChapterNameValue": "Chapter {0}",
"ScheduledTaskFailedWithName": "{0} failed",
"LabelRunningTimeValue": "Running time: {0}",
"ScheduledTaskStartedWithName": "{0} started",
"VersionNumber": "Version {0}",
"PluginInstalledWithName": "{0} was installed",
"StartupEmbyServerIsLoading": "Emby Server is loading. Please try again shortly.",
"PluginUpdatedWithName": "{0} was updated",
"PluginUninstalledWithName": "{0} was uninstalled",
"ItemAddedWithName": "{0} was added to the library",
@ -106,73 +50,47 @@
"UserOnlineFromDevice": "{0} is online from {1}",
"ProviderValue": "Provider: {0}",
"SubtitlesDownloadedForItem": "Subtitles downloaded for {0}",
"UserConfigurationUpdatedWithName": "User configuration has been updated for {0}",
"UserCreatedWithName": "User {0} has been created",
"UserPasswordChangedWithName": "Password has been changed for user {0}",
"UserDeletedWithName": "User {0} has been deleted",
"UserConfigurationUpdatedWithName": "User configuration has been updated for {0}",
"MessageServerConfigurationUpdated": "Server configuration has been updated",
"MessageNamedServerConfigurationUpdatedWithValue": "Server configuration section {0} has been updated",
"MessageApplicationUpdated": "Emby Server has been updated",
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
"DeviceOfflineWithName": "{0} has disconnected",
"UserLockedOutWithName": "User {0} has been locked out",
"UserOfflineFromDevice": "{0} has disconnected from {1}",
"DeviceOfflineWithName": "{0} has disconnected",
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
"NotificationOptionPluginError": "Plugin failure",
"NotificationOptionApplicationUpdateAvailable": "Application update available",
"NotificationOptionApplicationUpdateInstalled": "Application update installed",
"NotificationOptionPluginUpdateInstalled": "Plugin update installed",
"NotificationOptionPluginInstalled": "Plugin installed",
"NotificationOptionPluginUninstalled": "Plugin uninstalled",
"NotificationOptionVideoPlayback": "Video playback started",
"NotificationOptionAudioPlayback": "Audio playback started",
"NotificationOptionGamePlayback": "Game playback started",
"NotificationOptionVideoPlaybackStopped": "Video playback stopped",
"NotificationOptionAudioPlaybackStopped": "Audio playback stopped",
"NotificationOptionGamePlaybackStopped": "Game playback stopped",
"NotificationOptionTaskFailed": "Scheduled task failure",
"NotificationOptionInstallationFailed": "Installation failure",
"NotificationOptionNewLibraryContent": "New content added",
"NotificationOptionCameraImageUploaded": "Camera image uploaded",
"NotificationOptionUserLockedOut": "User locked out",
"NotificationOptionServerRestartRequired": "Server restart required",
"UserLockedOutWithName": "User {0} has been locked out",
"SubtitleDownloadFailureForItem": "Subtitles failed to download for {0}",
"HeaderUnidentified": "Unidentified",
"HeaderImagePrimary": "Primary",
"HeaderImageBackdrop": "Backdrop",
"HeaderImageLogo": "Logo",
"HeaderUserPrimaryImage": "User Image",
"HeaderOverview": "Overview",
"HeaderShortOverview": "Short Overview",
"HeaderType": "Type",
"HeaderSeverity": "Severity",
"HeaderUser": "User",
"HeaderName": "Name",
"HeaderDate": "Date",
"HeaderPremiereDate": "Premiere Date",
"HeaderDateAdded": "Date Added",
"HeaderReleaseDate": "Release date",
"HeaderRuntime": "Runtime",
"HeaderPlayCount": "Play Count",
"HeaderSeason": "Season",
"HeaderSeasonNumber": "Season number",
"HeaderSeries": "Series:",
"HeaderNetwork": "Network",
"HeaderYear": "Year:",
"HeaderYears": "Years:",
"HeaderParentalRating": "Parental Rating",
"HeaderCommunityRating": "Community rating",
"HeaderTrailers": "Trailers",
"HeaderSpecials": "Specials",
"HeaderGameSystems": "Game Systems",
"HeaderPlayers": "Players:",
"HeaderAlbumArtists": "Album Artists",
"HeaderAlbums": "Albums",
"HeaderDisc": "Disc",
"HeaderTrack": "Track",
"HeaderAudio": "Audio",
"HeaderVideo": "Video",
"HeaderEmbeddedImage": "Embedded image",
"HeaderResolution": "Resolution",
"HeaderSubtitles": "Subtitles",
"HeaderGenres": "Genres",
"HeaderCountries": "Countries",
"HeaderStatus": "Status",
"HeaderTracks": "Tracks",
"HeaderMusicArtist": "Music artist",
"HeaderLocked": "Locked",
"HeaderStudios": "Studios",
"HeaderActor": "Actors",
"HeaderComposer": "Composers",
"HeaderDirector": "Directors",
"HeaderGuestStar": "Guest star",
"HeaderProducer": "Producers",
"HeaderWriter": "Writers",
"HeaderParentalRatings": "Parental Ratings",
"HeaderCommunityRatings": "Community ratings",
"StartupEmbyServerIsLoading": "Emby Server is loading. Please try again shortly."
"Sync": "Sync",
"User": "User",
"System": "System",
"Application": "Application",
"Plugin": "Plugin",
"LabelExit": "Exit",
"LabelVisitCommunity": "Visit Community",
"LabelBrowseLibrary": "Browse Library",
"LabelConfigureServer": "Configure Emby",
"LabelRestartServer": "Restart Server"
}

@ -1,178 +1,96 @@
{
"DbUpgradeMessage": "Veuillez patienter pendant que la base de donn\u00e9e de votre Emby Serveur se met \u00e0 jour. Termin\u00e9e \u00e0 {0}%.",
"AppDeviceValues": "Application : {0}, Appareil: {1}",
"UserDownloadingItemWithValues": "{0} est en train de t\u00e9l\u00e9charger {1}",
"FolderTypeMixed": "Contenus m\u00e9lang\u00e9s",
"FolderTypeMovies": "Films",
"FolderTypeMusic": "Musique",
"FolderTypeAdultVideos": "Vid\u00e9os Adultes",
"FolderTypePhotos": "Photos",
"FolderTypeMusicVideos": "Vid\u00e9os Musical",
"FolderTypeHomeVideos": "Vid\u00e9os personnelles",
"FolderTypeGames": "Jeux",
"FolderTypeBooks": "Livres",
"FolderTypeTvShows": "TV",
"FolderTypeInherit": "H\u00e9rite",
"HeaderCastCrew": "\u00c9quipe de tournage",
"HeaderPeople": "Personnes",
"Latest": "R\u00e9cent",
"ValueSpecialEpisodeName": "Sp\u00e9cial - {0}",
"LabelChapterName": "Chapitre {0}",
"Inherit": "H\u00e9riter",
"Books": "Livres",
"Music": "Musique",
"Games": "Jeux",
"Photos": "Photos",
"MixedContent": "Contenu mixte",
"MusicVideos": "Vid\u00e9os musicales",
"HomeVideos": "Vid\u00e9os personnelles",
"Playlists": "Listes de lecture",
"HeaderRecordingGroups": "Groupes d'enregistrements",
"HeaderContinueWatching": "Continuer \u00e0 regarder",
"HeaderFavoriteArtists": "Artistes favoris",
"HeaderFavoriteSongs": "Chansons favorites",
"HeaderAlbumArtists": "Artistes de l'album",
"HeaderFavoriteAlbums": "Albums favoris",
"HeaderFavoriteEpisodes": "\u00c9pisodes favoris",
"HeaderFavoriteShows": "S\u00e9ries favorites",
"HeaderNextUp": "En Cours",
"Favorites": "Favoris",
"Collections": "Collections",
"Channels": "Cha\u00eenes",
"Movies": "Films",
"Albums": "Albums",
"Artists": "Artistes",
"Folders": "Dossiers",
"Songs": "Chansons",
"TvShows": "TV Shows",
"Shows": "\u00c9missions",
"Genres": "Genres",
"NameSeasonNumber": "Saison {0}",
"LabelExit": "Quitter",
"LabelVisitCommunity": "Visiter la Communaut\u00e9",
"LabelGithub": "Github",
"LabelApiDocumentation": "Documentation de l'API",
"LabelDeveloperResources": "Ressources pour d\u00e9veloppeurs",
"LabelBrowseLibrary": "Parcourir la biblioth\u00e8que",
"LabelConfigureServer": "Configurer Emby",
"LabelRestartServer": "Red\u00e9marrer le Serveur",
"CategorySync": "Sync",
"CategoryUser": "Utilisateur",
"CategorySystem": "Syst\u00e8me",
"CategoryApplication": "Application",
"CategoryPlugin": "Plugin",
"NotificationOptionPluginError": "Erreur de plugin",
"NotificationOptionApplicationUpdateAvailable": "Mise \u00e0 jour d'application disponible",
"NotificationOptionApplicationUpdateInstalled": "Mise \u00e0 jour d'application install\u00e9e",
"NotificationOptionPluginUpdateInstalled": "Mise \u00e0 jour de plugin install\u00e9e",
"NotificationOptionPluginInstalled": "Plugin install\u00e9",
"NotificationOptionPluginUninstalled": "Plugin d\u00e9sinstall\u00e9",
"NotificationOptionVideoPlayback": "Lecture vid\u00e9o d\u00e9marr\u00e9e",
"NotificationOptionAudioPlayback": "Lecture audio d\u00e9marr\u00e9e",
"NotificationOptionGamePlayback": "Lecture de jeu d\u00e9marr\u00e9e",
"NotificationOptionVideoPlaybackStopped": "Lecture vid\u00e9o arr\u00eat\u00e9e",
"NotificationOptionAudioPlaybackStopped": "Lecture audio arr\u00eat\u00e9e",
"NotificationOptionGamePlaybackStopped": "Lecture de jeu arr\u00eat\u00e9e",
"NotificationOptionTaskFailed": "\u00c9chec de t\u00e2che planifi\u00e9e",
"NotificationOptionInstallationFailed": "\u00c9chec d'installation",
"NotificationOptionNewLibraryContent": "Nouveau contenu ajout\u00e9",
"NotificationOptionNewLibraryContentMultiple": "Nouveau contenu ajout\u00e9 (multiple)",
"NotificationOptionCameraImageUploaded": "L'image de l'appareil photo a \u00e9t\u00e9 upload\u00e9e",
"NotificationOptionUserLockedOut": "Utilisateur verrouill\u00e9",
"NotificationOptionServerRestartRequired": "Un red\u00e9marrage du serveur est requis",
"ViewTypePlaylists": "Listes de lecture",
"ViewTypeMovies": "Films",
"ViewTypeTvShows": "TV",
"ViewTypeGames": "Jeux",
"ViewTypeMusic": "Musique",
"ViewTypeMusicGenres": "Genres",
"ViewTypeMusicArtists": "Artistes",
"ViewTypeBoxSets": "Collections",
"ViewTypeChannels": "Cha\u00eenes",
"ViewTypeLiveTV": "TV en direct",
"ViewTypeLiveTvNowPlaying": "En cours de diffusion",
"ViewTypeLatestGames": "Derniers jeux",
"ViewTypeRecentlyPlayedGames": "R\u00e9cemment jou\u00e9",
"ViewTypeGameFavorites": "Favoris",
"ViewTypeGameSystems": "Syst\u00e8me de jeu",
"ViewTypeGameGenres": "Genres",
"ViewTypeTvResume": "Reprise",
"ViewTypeTvNextUp": "A venir",
"ViewTypeTvLatest": "Derniers",
"ViewTypeTvShowSeries": "S\u00e9ries",
"ViewTypeTvGenres": "Genres",
"ViewTypeTvFavoriteSeries": "S\u00e9ries favorites",
"ViewTypeTvFavoriteEpisodes": "Episodes favoris",
"ViewTypeMovieResume": "Reprise",
"ViewTypeMovieLatest": "Dernier",
"ViewTypeMovieMovies": "Films",
"ViewTypeMovieCollections": "Collections",
"ViewTypeMovieFavorites": "Favoris",
"ViewTypeMovieGenres": "Genres",
"ViewTypeMusicLatest": "Dernier",
"ViewTypeMusicPlaylists": "Listes de lectures",
"ViewTypeMusicAlbums": "Albums",
"ViewTypeMusicAlbumArtists": "Artiste de l'album",
"HeaderOtherDisplaySettings": "Param\u00e8tres d'affichage",
"ViewTypeMusicSongs": "Chansons",
"ViewTypeMusicFavorites": "Favoris",
"ViewTypeMusicFavoriteAlbums": "Albums favoris",
"ViewTypeMusicFavoriteArtists": "Artistes favoris",
"ViewTypeMusicFavoriteSongs": "Chansons favorites",
"ViewTypeFolders": "R\u00e9pertoires",
"ViewTypeLiveTvRecordingGroups": "Enregistrements",
"ViewTypeLiveTvChannels": "Cha\u00eenes",
"AppDeviceValues": "Application\u00a0: {0}, Appareil\u00a0: {1}",
"UserDownloadingItemWithValues": "{0} est en train de t\u00e9l\u00e9charger {1}",
"HeaderLiveTV": "TV en direct",
"ChapterNameValue": "Chapitre {0}",
"ScheduledTaskFailedWithName": "{0} a \u00e9chou\u00e9",
"LabelRunningTimeValue": "Dur\u00e9e: {0}",
"LabelRunningTimeValue": "Dur\u00e9e\u00a0: {0}",
"ScheduledTaskStartedWithName": "{0} a commenc\u00e9",
"VersionNumber": "Version {0}",
"PluginInstalledWithName": "{0} a \u00e9t\u00e9 install\u00e9",
"StartupEmbyServerIsLoading": "Le serveur Emby est en cours de chargement. Veuillez r\u00e9essayer dans quelques instants.",
"PluginUpdatedWithName": "{0} a \u00e9t\u00e9 mis \u00e0 jour",
"PluginUninstalledWithName": "{0} a \u00e9t\u00e9 d\u00e9sinstall\u00e9",
"ItemAddedWithName": "{0} a \u00e9t\u00e9 ajout\u00e9 \u00e0 la biblioth\u00e8que",
"ItemRemovedWithName": "{0} a \u00e9t\u00e9 supprim\u00e9 de la biblioth\u00e8que",
"LabelIpAddressValue": "Adresse IP: {0}",
"ItemAddedWithName": "{0} a \u00e9t\u00e9 ajout\u00e9 \u00e0 la m\u00e9diath\u00e8que",
"ItemRemovedWithName": "{0} a \u00e9t\u00e9 supprim\u00e9 de la m\u00e9diath\u00e8que",
"LabelIpAddressValue": "Adresse IP\u00a0: {0}",
"DeviceOnlineWithName": "{0} est connect\u00e9",
"UserOnlineFromDevice": "{0} s'est connect\u00e9 depuis {1}",
"ProviderValue": "Fournisseur : {0}",
"ProviderValue": "Fournisseur\u00a0: {0}",
"SubtitlesDownloadedForItem": "Les sous-titres de {0} ont \u00e9t\u00e9 t\u00e9l\u00e9charg\u00e9s",
"UserCreatedWithName": "L'utilisateur {0} a \u00e9t\u00e9 cr\u00e9\u00e9",
"UserPasswordChangedWithName": "Le mot de passe pour l'utilisateur {0} a \u00e9t\u00e9 modifi\u00e9",
"UserDeletedWithName": "L'utilisateur {0} a \u00e9t\u00e9 supprim\u00e9",
"UserConfigurationUpdatedWithName": "La configuration utilisateur de {0} a \u00e9t\u00e9 mise \u00e0 jour",
"UserCreatedWithName": "L'utilisateur {0} a \u00e9t\u00e9 cr\u00e9\u00e9.",
"UserPasswordChangedWithName": "Le mot de passe pour l'utilisateur {0} a \u00e9t\u00e9 modifi\u00e9.",
"UserDeletedWithName": "L'utilisateur {0} a \u00e9t\u00e9 supprim\u00e9.",
"MessageServerConfigurationUpdated": "La configuration du serveur a \u00e9t\u00e9 mise \u00e0 jour.",
"MessageNamedServerConfigurationUpdatedWithValue": "La configuration de la section {0} du serveur a \u00e9t\u00e9 mise \u00e0 jour.",
"MessageNamedServerConfigurationUpdatedWithValue": "La configuration de la section {0} du serveur a \u00e9t\u00e9 mise \u00e0 jour",
"MessageApplicationUpdated": "Le serveur Emby a \u00e9t\u00e9 mis \u00e0 jour",
"FailedLoginAttemptWithUserName": "Echec d'une tentative de connexion de {0}",
"FailedLoginAttemptWithUserName": "\u00c9chec d'une tentative de connexion de {0}",
"AuthenticationSucceededWithUserName": "{0} s'est authentifi\u00e9 avec succ\u00e8s",
"DeviceOfflineWithName": "{0} s'est d\u00e9connect\u00e9",
"UserLockedOutWithName": "L'utilisateur {0} a \u00e9t\u00e9 verrouill\u00e9",
"UserOfflineFromDevice": "{0} s'est d\u00e9connect\u00e9 depuis {1}",
"DeviceOfflineWithName": "{0} s'est d\u00e9connect\u00e9",
"UserStartedPlayingItemWithValues": "{0} vient de commencer la lecture de {1}",
"UserStoppedPlayingItemWithValues": "{0} vient d'arr\u00eater la lecture de {1}",
"NotificationOptionPluginError": "Erreur d'extension",
"NotificationOptionApplicationUpdateAvailable": "Mise \u00e0 jour de l'application disponible",
"NotificationOptionApplicationUpdateInstalled": "Mise \u00e0 jour de l'application install\u00e9e",
"NotificationOptionPluginUpdateInstalled": "Mise \u00e0 jour d'extension install\u00e9e",
"NotificationOptionPluginInstalled": "Extension install\u00e9e",
"NotificationOptionPluginUninstalled": "Extension d\u00e9sinstall\u00e9e",
"NotificationOptionVideoPlayback": "Lecture vid\u00e9o d\u00e9marr\u00e9e",
"NotificationOptionAudioPlayback": "Lecture audio d\u00e9marr\u00e9e",
"NotificationOptionGamePlayback": "Lecture de jeu d\u00e9marr\u00e9e",
"NotificationOptionVideoPlaybackStopped": "Lecture vid\u00e9o arr\u00eat\u00e9e",
"NotificationOptionAudioPlaybackStopped": "Lecture audio arr\u00eat\u00e9e",
"NotificationOptionGamePlaybackStopped": "Lecture de jeu arr\u00eat\u00e9e",
"NotificationOptionTaskFailed": "\u00c9chec de t\u00e2che planifi\u00e9e",
"NotificationOptionInstallationFailed": "\u00c9chec d'installation",
"NotificationOptionNewLibraryContent": "Nouveau contenu ajout\u00e9",
"NotificationOptionCameraImageUploaded": "L'image de l'appareil photo a \u00e9t\u00e9 transf\u00e9r\u00e9e",
"NotificationOptionUserLockedOut": "Utilisateur verrouill\u00e9",
"NotificationOptionServerRestartRequired": "Un red\u00e9marrage du serveur est requis",
"UserLockedOutWithName": "L'utilisateur {0} a \u00e9t\u00e9 verrouill\u00e9",
"SubtitleDownloadFailureForItem": "Le t\u00e9l\u00e9chargement des sous-titres pour {0} a \u00e9chou\u00e9.",
"HeaderUnidentified": "Non identifi\u00e9",
"HeaderImagePrimary": "Primaire",
"HeaderImageBackdrop": "Contexte",
"HeaderImageLogo": "Logo",
"HeaderUserPrimaryImage": "Avatar de l'utilisateur",
"HeaderOverview": "Aper\u00e7u",
"HeaderShortOverview": "Synopsys",
"HeaderType": "Type",
"HeaderSeverity": "S\u00e9v\u00e9rit\u00e9",
"HeaderUser": "Utilisateur",
"HeaderName": "Nom",
"HeaderDate": "Date",
"HeaderPremiereDate": "Date de la Premi\u00e8re",
"HeaderDateAdded": "Date d'ajout",
"HeaderReleaseDate": "Date de sortie ",
"HeaderRuntime": "Dur\u00e9e",
"HeaderPlayCount": "Nombre de lectures",
"HeaderSeason": "Saison",
"HeaderSeasonNumber": "Num\u00e9ro de saison",
"HeaderSeries": "S\u00e9ries :",
"HeaderNetwork": "R\u00e9seau",
"HeaderYear": "Ann\u00e9e :",
"HeaderYears": "Ann\u00e9es :",
"HeaderParentalRating": "Classification parentale",
"HeaderCommunityRating": "Note de la communaut\u00e9",
"HeaderTrailers": "Bandes-annonces",
"HeaderSpecials": "Episodes sp\u00e9ciaux",
"HeaderGameSystems": "Plateformes de jeu",
"HeaderPlayers": "Lecteurs :",
"HeaderAlbumArtists": "Artistes sur l'album",
"HeaderAlbums": "Albums",
"HeaderDisc": "Disque",
"HeaderTrack": "Piste",
"HeaderAudio": "Audio",
"HeaderVideo": "Vid\u00e9o",
"HeaderEmbeddedImage": "Image int\u00e9gr\u00e9e",
"HeaderResolution": "R\u00e9solution",
"HeaderSubtitles": "Sous-titres",
"HeaderGenres": "Genres",
"HeaderCountries": "Pays",
"HeaderStatus": "\u00c9tat",
"HeaderTracks": "Pistes",
"HeaderMusicArtist": "Artiste de l'album",
"HeaderLocked": "Verrouill\u00e9",
"HeaderStudios": "Studios",
"HeaderActor": "Acteurs",
"HeaderComposer": "Compositeurs",
"HeaderDirector": "R\u00e9alisateurs",
"HeaderGuestStar": "R\u00f4le principal",
"HeaderProducer": "Producteurs",
"HeaderWriter": "Auteur(e)s",
"HeaderParentalRatings": "Note parentale",
"HeaderCommunityRatings": "Classification de la communaut\u00e9",
"StartupEmbyServerIsLoading": "Le serveur Emby est en cours de chargement. Veuillez r\u00e9essayer dans quelques instant."
"Sync": "Synchroniser",
"User": "Utilisateur",
"System": "Syst\u00e8me",
"Application": "Application",
"Plugin": "Extension",
"LabelExit": "Quitter",
"LabelVisitCommunity": "Visiter la communaut\u00e9",
"LabelBrowseLibrary": "Parcourir la m\u00e9diath\u00e8que",
"LabelConfigureServer": "Configurer Emby",
"LabelRestartServer": "Red\u00e9marrer le serveur"
}

@ -1,178 +0,0 @@
{
"DbUpgradeMessage": "Please wait while your Emby Server database is upgraded. {0}% complete.",
"AppDeviceValues": "App: {0}, Device: {1}",
"UserDownloadingItemWithValues": "{0} is downloading {1}",
"FolderTypeMixed": "Verschiedeni Sache",
"FolderTypeMovies": "Film",
"FolderTypeMusic": "Musig",
"FolderTypeAdultVideos": "Erwachseni Film",
"FolderTypePhotos": "F\u00f6teli",
"FolderTypeMusicVideos": "Musigvideos",
"FolderTypeHomeVideos": "Heimvideos",
"FolderTypeGames": "Games",
"FolderTypeBooks": "B\u00fcecher",
"FolderTypeTvShows": "TV",
"FolderTypeInherit": "erbf\u00e4hig",
"HeaderCastCrew": "Cast & Crew",
"HeaderPeople": "People",
"ValueSpecialEpisodeName": "Special - {0}",
"LabelChapterName": "Chapter {0}",
"NameSeasonNumber": "Season {0}",
"LabelExit": "Verlasse",
"LabelVisitCommunity": "Bsuech d'Community",
"LabelGithub": "Github",
"LabelApiDocumentation": "API Dokumentatione",
"LabelDeveloperResources": "Entwickler Ressurce",
"LabelBrowseLibrary": "Dursuech d'Bibliothek",
"LabelConfigureServer": "Konfigurier Emby",
"LabelRestartServer": "Server neustarte",
"CategorySync": "Synchronisierig",
"CategoryUser": "User",
"CategorySystem": "System",
"CategoryApplication": "Application",
"CategoryPlugin": "Plugin",
"NotificationOptionPluginError": "Plugin failure",
"NotificationOptionApplicationUpdateAvailable": "Application update available",
"NotificationOptionApplicationUpdateInstalled": "Application update installed",
"NotificationOptionPluginUpdateInstalled": "Plugin update installed",
"NotificationOptionPluginInstalled": "Plugin installed",
"NotificationOptionPluginUninstalled": "Plugin uninstalled",
"NotificationOptionVideoPlayback": "Video playback started",
"NotificationOptionAudioPlayback": "Audio playback started",
"NotificationOptionGamePlayback": "Game playback started",
"NotificationOptionVideoPlaybackStopped": "Video playback stopped",
"NotificationOptionAudioPlaybackStopped": "Audio playback stopped",
"NotificationOptionGamePlaybackStopped": "Game playback stopped",
"NotificationOptionTaskFailed": "Scheduled task failure",
"NotificationOptionInstallationFailed": "Installation failure",
"NotificationOptionNewLibraryContent": "New content added",
"NotificationOptionNewLibraryContentMultiple": "New content added (multiple)",
"NotificationOptionCameraImageUploaded": "Camera image uploaded",
"NotificationOptionUserLockedOut": "User locked out",
"NotificationOptionServerRestartRequired": "Server restart required",
"ViewTypePlaylists": "Playlists",
"ViewTypeMovies": "Movies",
"ViewTypeTvShows": "TV",
"ViewTypeGames": "Games",
"ViewTypeMusic": "Music",
"ViewTypeMusicGenres": "Genres",
"ViewTypeMusicArtists": "Artists",
"ViewTypeBoxSets": "Collections",
"ViewTypeChannels": "Channels",
"ViewTypeLiveTV": "Live TV",
"ViewTypeLiveTvNowPlaying": "Now Airing",
"ViewTypeLatestGames": "Latest Games",
"ViewTypeRecentlyPlayedGames": "Recently Played",
"ViewTypeGameFavorites": "Favorites",
"ViewTypeGameSystems": "Game Systems",
"ViewTypeGameGenres": "Genres",
"ViewTypeTvResume": "Resume",
"ViewTypeTvNextUp": "Next Up",
"ViewTypeTvLatest": "Latest",
"ViewTypeTvShowSeries": "Series",
"ViewTypeTvGenres": "Genres",
"ViewTypeTvFavoriteSeries": "Favorite Series",
"ViewTypeTvFavoriteEpisodes": "Favorite Episodes",
"ViewTypeMovieResume": "Resume",
"ViewTypeMovieLatest": "Latest",
"ViewTypeMovieMovies": "Movies",
"ViewTypeMovieCollections": "Collections",
"ViewTypeMovieFavorites": "Favorites",
"ViewTypeMovieGenres": "Genres",
"ViewTypeMusicLatest": "Latest",
"ViewTypeMusicPlaylists": "Playlists",
"ViewTypeMusicAlbums": "Albums",
"ViewTypeMusicAlbumArtists": "Album Artists",
"HeaderOtherDisplaySettings": "Display Settings",
"ViewTypeMusicSongs": "Songs",
"ViewTypeMusicFavorites": "Favorites",
"ViewTypeMusicFavoriteAlbums": "Favorite Albums",
"ViewTypeMusicFavoriteArtists": "Favorite Artists",
"ViewTypeMusicFavoriteSongs": "Favorite Songs",
"ViewTypeFolders": "Folders",
"ViewTypeLiveTvRecordingGroups": "Recordings",
"ViewTypeLiveTvChannels": "Channels",
"ScheduledTaskFailedWithName": "{0} failed",
"LabelRunningTimeValue": "Running time: {0}",
"ScheduledTaskStartedWithName": "{0} started",
"VersionNumber": "Version {0}",
"PluginInstalledWithName": "{0} was installed",
"PluginUpdatedWithName": "{0} was updated",
"PluginUninstalledWithName": "{0} was uninstalled",
"ItemAddedWithName": "{0} was added to the library",
"ItemRemovedWithName": "{0} was removed from the library",
"LabelIpAddressValue": "Ip address: {0}",
"DeviceOnlineWithName": "{0} is connected",
"UserOnlineFromDevice": "{0} is online from {1}",
"ProviderValue": "Provider: {0}",
"SubtitlesDownloadedForItem": "Subtitles downloaded for {0}",
"UserConfigurationUpdatedWithName": "User configuration has been updated for {0}",
"UserCreatedWithName": "User {0} has been created",
"UserPasswordChangedWithName": "Password has been changed for user {0}",
"UserDeletedWithName": "User {0} has been deleted",
"MessageServerConfigurationUpdated": "Server configuration has been updated",
"MessageNamedServerConfigurationUpdatedWithValue": "Server configuration section {0} has been updated",
"MessageApplicationUpdated": "Emby Server has been updated",
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
"DeviceOfflineWithName": "{0} has disconnected",
"UserLockedOutWithName": "User {0} has been locked out",
"UserOfflineFromDevice": "{0} has disconnected from {1}",
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
"SubtitleDownloadFailureForItem": "Subtitles failed to download for {0}",
"HeaderUnidentified": "Unidentified",
"HeaderImagePrimary": "Primary",
"HeaderImageBackdrop": "Backdrop",
"HeaderImageLogo": "Logo",
"HeaderUserPrimaryImage": "User Image",
"HeaderOverview": "Overview",
"HeaderShortOverview": "Short Overview",
"HeaderType": "Type",
"HeaderSeverity": "Severity",
"HeaderUser": "User",
"HeaderName": "Name",
"HeaderDate": "Date",
"HeaderPremiereDate": "Premiere Date",
"HeaderDateAdded": "Date Added",
"HeaderReleaseDate": "Release date",
"HeaderRuntime": "Runtime",
"HeaderPlayCount": "Play Count",
"HeaderSeason": "Season",
"HeaderSeasonNumber": "Season number",
"HeaderSeries": "Series:",
"HeaderNetwork": "Network",
"HeaderYear": "Year:",
"HeaderYears": "Years:",
"HeaderParentalRating": "Parental Rating",
"HeaderCommunityRating": "Community rating",
"HeaderTrailers": "Trailers",
"HeaderSpecials": "Specials",
"HeaderGameSystems": "Game Systems",
"HeaderPlayers": "Players:",
"HeaderAlbumArtists": "Album Artists",
"HeaderAlbums": "Albums",
"HeaderDisc": "Disc",
"HeaderTrack": "Track",
"HeaderAudio": "Audio",
"HeaderVideo": "Video",
"HeaderEmbeddedImage": "Embedded image",
"HeaderResolution": "Resolution",
"HeaderSubtitles": "Subtitles",
"HeaderGenres": "Genres",
"HeaderCountries": "Countries",
"HeaderStatus": "Status",
"HeaderTracks": "Tracks",
"HeaderMusicArtist": "Music artist",
"HeaderLocked": "Locked",
"HeaderStudios": "Studios",
"HeaderActor": "Actors",
"HeaderComposer": "Composers",
"HeaderDirector": "Directors",
"HeaderGuestStar": "Guest star",
"HeaderProducer": "Producers",
"HeaderWriter": "Writers",
"HeaderParentalRatings": "Parental Ratings",
"HeaderCommunityRatings": "Community ratings",
"StartupEmbyServerIsLoading": "Emby Server is loading. Please try again shortly."
}

@ -1,102 +1,46 @@
{
"DbUpgradeMessage": "Please wait while your Emby Server database is upgraded. {0}% complete.",
"Latest": "Latest",
"ValueSpecialEpisodeName": "\u05de\u05d9\u05d5\u05d7\u05d3- {0}",
"Inherit": "Inherit",
"Books": "Books",
"Music": "Music",
"Games": "Games",
"Photos": "Photos",
"MixedContent": "Mixed content",
"MusicVideos": "Music videos",
"HomeVideos": "Home videos",
"Playlists": "Playlists",
"HeaderRecordingGroups": "Recording Groups",
"HeaderContinueWatching": "Continue Watching",
"HeaderFavoriteArtists": "Favorite Artists",
"HeaderFavoriteSongs": "Favorite Songs",
"HeaderAlbumArtists": "Album Artists",
"HeaderFavoriteAlbums": "Favorite Albums",
"HeaderFavoriteEpisodes": "Favorite Episodes",
"HeaderFavoriteShows": "Favorite Shows",
"HeaderNextUp": "Next Up",
"Favorites": "Favorites",
"Collections": "Collections",
"Channels": "Channels",
"Movies": "\u05e1\u05e8\u05d8\u05d9\u05dd",
"Albums": "Albums",
"Artists": "Artists",
"Folders": "Folders",
"Songs": "Songs",
"TvShows": "TV Shows",
"Shows": "Shows",
"Genres": "\u05d6'\u05d0\u05e0\u05e8\u05d9\u05dd",
"NameSeasonNumber": "Season {0}",
"AppDeviceValues": "App: {0}, Device: {1}",
"UserDownloadingItemWithValues": "{0} is downloading {1}",
"FolderTypeMixed": "\u05ea\u05d5\u05db\u05df \u05de\u05e2\u05d5\u05e8\u05d1",
"FolderTypeMovies": "\u05e1\u05e8\u05d8\u05d9\u05dd",
"FolderTypeMusic": "Music",
"FolderTypeAdultVideos": "Adult videos",
"FolderTypePhotos": "Photos",
"FolderTypeMusicVideos": "Music videos",
"FolderTypeHomeVideos": "Home videos",
"FolderTypeGames": "Games",
"FolderTypeBooks": "Books",
"FolderTypeTvShows": "\u05d8\u05dc\u05d5\u05d9\u05d6\u05d9\u05d4",
"FolderTypeInherit": "Inherit",
"HeaderCastCrew": "\u05e9\u05d7\u05e7\u05e0\u05d9\u05dd \u05d5\u05e6\u05d5\u05d5\u05ea",
"HeaderPeople": "People",
"ValueSpecialEpisodeName": "Special - {0}",
"LabelChapterName": "Chapter {0}",
"NameSeasonNumber": "Season {0}",
"LabelExit": "\u05d9\u05e6\u05d9\u05d0\u05d4",
"LabelVisitCommunity": "\u05d1\u05e7\u05e8 \u05d1\u05e7\u05d4\u05d9\u05dc\u05d4",
"LabelGithub": "Github",
"LabelApiDocumentation": "\u05ea\u05d9\u05e2\u05d5\u05d3 API",
"LabelDeveloperResources": "Developer Resources",
"LabelBrowseLibrary": "\u05d3\u05e4\u05d3\u05e3 \u05d1\u05e1\u05e4\u05e8\u05d9\u05d4",
"LabelConfigureServer": "\u05e7\u05d1\u05e2 \u05ea\u05e6\u05d5\u05e8\u05ea Emby",
"LabelRestartServer": "\u05d0\u05ea\u05d7\u05dc \u05d0\u05ea \u05d4\u05e9\u05e8\u05ea",
"CategorySync": "\u05e1\u05e0\u05db\u05e8\u05df",
"CategoryUser": "\u05de\u05e9\u05ea\u05de\u05e9",
"CategorySystem": "\u05de\u05e2\u05e8\u05db\u05ea",
"CategoryApplication": "Application",
"CategoryPlugin": "Plugin",
"NotificationOptionPluginError": "\u05ea\u05e7\u05dc\u05d4 \u05d1\u05ea\u05d5\u05e1\u05e3",
"NotificationOptionApplicationUpdateAvailable": "\u05e2\u05d3\u05db\u05d5\u05df \u05ea\u05d5\u05db\u05de\u05d4 \u05e7\u05d9\u05d9\u05dd",
"NotificationOptionApplicationUpdateInstalled": "\u05e2\u05d3\u05db\u05d5\u05df \u05ea\u05d5\u05db\u05e0\u05d4 \u05d4\u05d5\u05ea\u05e7\u05df",
"NotificationOptionPluginUpdateInstalled": "\u05e2\u05d3\u05db\u05d5\u05df \u05ea\u05d5\u05e1\u05e3 \u05d4\u05d5\u05ea\u05e7\u05df",
"NotificationOptionPluginInstalled": "\u05ea\u05d5\u05e1\u05e3 \u05d4\u05d5\u05ea\u05e7\u05df",
"NotificationOptionPluginUninstalled": "\u05ea\u05d5\u05e1\u05e3 \u05d4\u05d5\u05e1\u05e8",
"NotificationOptionVideoPlayback": "\u05e0\u05d2\u05d9\u05e0\u05ea \u05d5\u05d9\u05d3\u05d0\u05d5 \u05d4\u05d7\u05dc\u05d4",
"NotificationOptionAudioPlayback": "\u05e0\u05d2\u05d9\u05e0\u05ea \u05e6\u05dc\u05d9\u05dc \u05d4\u05d7\u05dc\u05d4",
"NotificationOptionGamePlayback": "Game playback started",
"NotificationOptionVideoPlaybackStopped": "\u05e0\u05d2\u05d9\u05e0\u05ea \u05d5\u05d9\u05d3\u05d0\u05d5 \u05d4\u05d5\u05e4\u05e1\u05e7\u05d4",
"NotificationOptionAudioPlaybackStopped": "\u05e0\u05d2\u05d9\u05e0\u05ea \u05e6\u05dc\u05d9\u05dc \u05d4\u05d5\u05e4\u05e1\u05e7\u05d4",
"NotificationOptionGamePlaybackStopped": "Game playback stopped",
"NotificationOptionTaskFailed": "\u05de\u05e9\u05d9\u05de\u05d4 \u05de\u05ea\u05d5\u05d6\u05de\u05e0\u05ea \u05e0\u05db\u05e9\u05dc\u05d4",
"NotificationOptionInstallationFailed": "\u05d4\u05ea\u05e7\u05e0\u05d4 \u05e0\u05db\u05e9\u05dc\u05d4",
"NotificationOptionNewLibraryContent": "\u05ea\u05d5\u05db\u05df \u05d7\u05d3\u05e9 \u05e0\u05d5\u05e1\u05e3",
"NotificationOptionNewLibraryContentMultiple": "\u05d4\u05ea\u05d5\u05d5\u05e1\u05e4\u05d5 \u05ea\u05db\u05e0\u05d9\u05dd \u05d7\u05d3\u05e9\u05d9\u05dd",
"NotificationOptionCameraImageUploaded": "Camera image uploaded",
"NotificationOptionUserLockedOut": "User locked out",
"NotificationOptionServerRestartRequired": "\u05e0\u05d3\u05e8\u05e9\u05ea \u05d4\u05e4\u05e2\u05dc\u05d4 \u05de\u05d7\u05d3\u05e9 \u05e9\u05dc \u05d4\u05e9\u05e8\u05ea",
"ViewTypePlaylists": "Playlists",
"ViewTypeMovies": "\u05e1\u05e8\u05d8\u05d9\u05dd",
"ViewTypeTvShows": "\u05d8\u05dc\u05d5\u05d9\u05d6\u05d9\u05d4",
"ViewTypeGames": "Games",
"ViewTypeMusic": "Music",
"ViewTypeMusicGenres": "Genres",
"ViewTypeMusicArtists": "Artists",
"ViewTypeBoxSets": "Collections",
"ViewTypeChannels": "Channels",
"ViewTypeLiveTV": "Live TV",
"ViewTypeLiveTvNowPlaying": "Now Airing",
"ViewTypeLatestGames": "Latest Games",
"ViewTypeRecentlyPlayedGames": "Recently Played",
"ViewTypeGameFavorites": "Favorites",
"ViewTypeGameSystems": "Game Systems",
"ViewTypeGameGenres": "Genres",
"ViewTypeTvResume": "Resume",
"ViewTypeTvNextUp": "Next Up",
"ViewTypeTvLatest": "Latest",
"ViewTypeTvShowSeries": "Series",
"ViewTypeTvGenres": "Genres",
"ViewTypeTvFavoriteSeries": "Favorite Series",
"ViewTypeTvFavoriteEpisodes": "Favorite Episodes",
"ViewTypeMovieResume": "Resume",
"ViewTypeMovieLatest": "Latest",
"ViewTypeMovieMovies": "\u05e1\u05e8\u05d8\u05d9\u05dd",
"ViewTypeMovieCollections": "Collections",
"ViewTypeMovieFavorites": "Favorites",
"ViewTypeMovieGenres": "Genres",
"ViewTypeMusicLatest": "Latest",
"ViewTypeMusicPlaylists": "Playlists",
"ViewTypeMusicAlbums": "Albums",
"ViewTypeMusicAlbumArtists": "Album Artists",
"HeaderOtherDisplaySettings": "Display Settings",
"ViewTypeMusicSongs": "Songs",
"ViewTypeMusicFavorites": "Favorites",
"ViewTypeMusicFavoriteAlbums": "Favorite Albums",
"ViewTypeMusicFavoriteArtists": "Favorite Artists",
"ViewTypeMusicFavoriteSongs": "Favorite Songs",
"ViewTypeFolders": "Folders",
"ViewTypeLiveTvRecordingGroups": "Recordings",
"ViewTypeLiveTvChannels": "Channels",
"HeaderLiveTV": "Live TV",
"ChapterNameValue": "Chapter {0}",
"ScheduledTaskFailedWithName": "{0} failed",
"LabelRunningTimeValue": "Running time: {0}",
"ScheduledTaskStartedWithName": "{0} started",
"VersionNumber": "\u05d2\u05d9\u05e8\u05e1\u05d0 {0}",
"VersionNumber": "Version {0}",
"PluginInstalledWithName": "{0} was installed",
"StartupEmbyServerIsLoading": "Emby Server is loading. Please try again shortly.",
"PluginUpdatedWithName": "{0} was updated",
"PluginUninstalledWithName": "{0} was uninstalled",
"ItemAddedWithName": "{0} was added to the library",
@ -106,73 +50,47 @@
"UserOnlineFromDevice": "{0} is online from {1}",
"ProviderValue": "Provider: {0}",
"SubtitlesDownloadedForItem": "Subtitles downloaded for {0}",
"UserConfigurationUpdatedWithName": "User configuration has been updated for {0}",
"UserCreatedWithName": "User {0} has been created",
"UserPasswordChangedWithName": "Password has been changed for user {0}",
"UserDeletedWithName": "User {0} has been deleted",
"UserConfigurationUpdatedWithName": "User configuration has been updated for {0}",
"MessageServerConfigurationUpdated": "Server configuration has been updated",
"MessageNamedServerConfigurationUpdatedWithValue": "Server configuration section {0} has been updated",
"MessageApplicationUpdated": "Emby Server has been updated",
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
"DeviceOfflineWithName": "{0} has disconnected",
"UserLockedOutWithName": "User {0} has been locked out",
"UserOfflineFromDevice": "{0} has disconnected from {1}",
"DeviceOfflineWithName": "{0} has disconnected",
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
"NotificationOptionPluginError": "Plugin failure",
"NotificationOptionApplicationUpdateAvailable": "Application update available",
"NotificationOptionApplicationUpdateInstalled": "Application update installed",
"NotificationOptionPluginUpdateInstalled": "Plugin update installed",
"NotificationOptionPluginInstalled": "Plugin installed",
"NotificationOptionPluginUninstalled": "Plugin uninstalled",
"NotificationOptionVideoPlayback": "Video playback started",
"NotificationOptionAudioPlayback": "Audio playback started",
"NotificationOptionGamePlayback": "Game playback started",
"NotificationOptionVideoPlaybackStopped": "Video playback stopped",
"NotificationOptionAudioPlaybackStopped": "Audio playback stopped",
"NotificationOptionGamePlaybackStopped": "Game playback stopped",
"NotificationOptionTaskFailed": "Scheduled task failure",
"NotificationOptionInstallationFailed": "Installation failure",
"NotificationOptionNewLibraryContent": "New content added",
"NotificationOptionCameraImageUploaded": "Camera image uploaded",
"NotificationOptionUserLockedOut": "User locked out",
"NotificationOptionServerRestartRequired": "Server restart required",
"UserLockedOutWithName": "User {0} has been locked out",
"SubtitleDownloadFailureForItem": "Subtitles failed to download for {0}",
"HeaderUnidentified": "Unidentified",
"HeaderImagePrimary": "Primary",
"HeaderImageBackdrop": "Backdrop",
"HeaderImageLogo": "Logo",
"HeaderUserPrimaryImage": "User Image",
"HeaderOverview": "Overview",
"HeaderShortOverview": "Short Overview",
"HeaderType": "Type",
"HeaderSeverity": "Severity",
"HeaderUser": "User",
"HeaderName": "\u05e9\u05dd",
"HeaderDate": "\u05ea\u05d0\u05e8\u05d9\u05da",
"HeaderPremiereDate": "Premiere Date",
"HeaderDateAdded": "\u05ea\u05d0\u05e8\u05d9\u05da \u05d4\u05d5\u05e1\u05e4\u05d4",
"HeaderReleaseDate": "Release date",
"HeaderRuntime": "Runtime",
"HeaderPlayCount": "Play Count",
"HeaderSeason": "Season",
"HeaderSeasonNumber": "Season number",
"HeaderSeries": "\u05e1\u05d3\u05e8\u05d4",
"HeaderNetwork": "Network",
"HeaderYear": "\u05e9\u05e0\u05d4",
"HeaderYears": "\u05e9\u05e0\u05d9\u05dd",
"HeaderParentalRating": "Parental Rating",
"HeaderCommunityRating": "Community rating",
"HeaderTrailers": "Trailers",
"HeaderSpecials": "Specials",
"HeaderGameSystems": "Game Systems",
"HeaderPlayers": "Players:",
"HeaderAlbumArtists": "Album Artists",
"HeaderAlbums": "Albums",
"HeaderDisc": "Disc",
"HeaderTrack": "Track",
"HeaderAudio": "Audio",
"HeaderVideo": "Video",
"HeaderEmbeddedImage": "Embedded image",
"HeaderResolution": "Resolution",
"HeaderSubtitles": "Subtitles",
"HeaderGenres": "Genres",
"HeaderCountries": "Countries",
"HeaderStatus": "\u05de\u05e6\u05d1",
"HeaderTracks": "Tracks",
"HeaderMusicArtist": "Music artist",
"HeaderLocked": "Locked",
"HeaderStudios": "Studios",
"HeaderActor": "\u05e9\u05d7\u05e7\u05e0\u05d9\u05dd",
"HeaderComposer": "\u05de\u05dc\u05d7\u05d9\u05e0\u05d9\u05dd",
"HeaderDirector": "\u05d1\u05de\u05d0\u05d9\u05dd",
"HeaderGuestStar": "\u05d0\u05de\u05df \u05d0\u05d5\u05e8\u05d7",
"HeaderProducer": "\u05de\u05e4\u05d9\u05e7\u05d9\u05dd",
"HeaderWriter": "\u05db\u05d5\u05ea\u05d1\u05d9\u05dd",
"HeaderParentalRatings": "Parental Ratings",
"HeaderCommunityRatings": "Community ratings",
"StartupEmbyServerIsLoading": "Emby Server is loading. Please try again shortly."
"Sync": "\u05e1\u05e0\u05db\u05e8\u05df",
"User": "User",
"System": "System",
"Application": "Application",
"Plugin": "Plugin",
"LabelExit": "Exit",
"LabelVisitCommunity": "Visit Community",
"LabelBrowseLibrary": "Browse Library",
"LabelConfigureServer": "Configure Emby",
"LabelRestartServer": "Restart Server"
}

@ -1,36 +1,68 @@
{
"DbUpgradeMessage": "Please wait while your Emby Server database is upgraded. {0}% complete.",
"AppDeviceValues": "App: {0}, Device: {1}",
"UserDownloadingItemWithValues": "{0} is downloading {1}",
"FolderTypeMixed": "Mixed content",
"FolderTypeMovies": "Movies",
"FolderTypeMusic": "Music",
"FolderTypeAdultVideos": "Adult videos",
"FolderTypePhotos": "Photos",
"FolderTypeMusicVideos": "Music videos",
"FolderTypeHomeVideos": "Home videos",
"FolderTypeGames": "Games",
"FolderTypeBooks": "Books",
"FolderTypeTvShows": "TV",
"FolderTypeInherit": "Inherit",
"HeaderCastCrew": "Glumci i ekipa",
"HeaderPeople": "People",
"ValueSpecialEpisodeName": "Special - {0}",
"LabelChapterName": "Chapter {0}",
"NameSeasonNumber": "Season {0}",
"LabelExit": "Izlaz",
"LabelVisitCommunity": "Posjeti zajednicu",
"LabelGithub": "Github",
"LabelApiDocumentation": "Api Documentation",
"LabelDeveloperResources": "Developer Resources",
"LabelBrowseLibrary": "Pregledaj biblioteku",
"LabelConfigureServer": "Configure Emby",
"LabelRestartServer": "Restartiraj Server",
"CategorySync": "Sync",
"CategoryUser": "Korisnik",
"CategorySystem": "Sistem",
"CategoryApplication": "Aplikacija",
"CategoryPlugin": "Dodatak",
"Latest": "Najnovije",
"ValueSpecialEpisodeName": "Specijal - {0}",
"Inherit": "Naslijedi",
"Books": "Knjige",
"Music": "Glazba",
"Games": "Igre",
"Photos": "Slike",
"MixedContent": "Mije\u0161ani sadr\u017eaj",
"MusicVideos": "Glazbeni spotovi",
"HomeVideos": "Ku\u0107ni videi",
"Playlists": "Popisi",
"HeaderRecordingGroups": "Grupa snimka",
"HeaderContinueWatching": "Continue Watching",
"HeaderFavoriteArtists": "Omiljeni izvo\u0111a\u010di",
"HeaderFavoriteSongs": "Omiljene pjesme",
"HeaderAlbumArtists": "Izvo\u0111a\u010di albuma",
"HeaderFavoriteAlbums": "Omiljeni albumi",
"HeaderFavoriteEpisodes": "Omiljene epizode",
"HeaderFavoriteShows": "Omiljene emisije",
"HeaderNextUp": "Sljede\u0107e je",
"Favorites": "Omiljeni",
"Collections": "Kolekcije",
"Channels": "Kanali",
"Movies": "Filmovi",
"Albums": "Albumi",
"Artists": "Izvo\u0111a\u010di",
"Folders": "Mape",
"Songs": "Pjesme",
"TvShows": "TV Shows",
"Shows": "Shows",
"Genres": "\u017danrovi",
"NameSeasonNumber": "Sezona {0}",
"AppDeviceValues": "Aplikacija: {0}, Ure\u0111aj: {1}",
"UserDownloadingItemWithValues": "{0} se preuzima {1}",
"HeaderLiveTV": "TV u\u017eivo",
"ChapterNameValue": "Poglavlje {0}",
"ScheduledTaskFailedWithName": "{0} neuspjelo",
"LabelRunningTimeValue": "Vrijeme rada: {0}",
"ScheduledTaskStartedWithName": "{0} pokrenuto",
"VersionNumber": "Verzija {0}",
"PluginInstalledWithName": "{0} je instalirano",
"StartupEmbyServerIsLoading": "Emby Server se u\u010ditava. Poku\u0161ajte ponovo kasnije.",
"PluginUpdatedWithName": "{0} je a\u017eurirano",
"PluginUninstalledWithName": "{0} je deinstalirano",
"ItemAddedWithName": "{0} je dodano u biblioteku",
"ItemRemovedWithName": "{0} je uklonjen iz biblioteke",
"LabelIpAddressValue": "Ip adresa: {0}",
"DeviceOnlineWithName": "{0} je spojeno",
"UserOnlineFromDevice": "{0} je online od {1}",
"ProviderValue": "Pru\u017eitelj: {0}",
"SubtitlesDownloadedForItem": "Titlovi prijevoda preuzeti za {0}",
"UserCreatedWithName": "Korisnik {0} je stvoren",
"UserPasswordChangedWithName": "Lozinka je promijenjena za korisnika {0}",
"UserDeletedWithName": "Korisnik {0} je obrisan",
"UserConfigurationUpdatedWithName": "Postavke korisnika su a\u017eurirane za {0}",
"MessageServerConfigurationUpdated": "Postavke servera su a\u017eurirane",
"MessageNamedServerConfigurationUpdatedWithValue": "Odjeljak postavka servera {0} je a\u017euriran",
"MessageApplicationUpdated": "Emby Server je a\u017euriran",
"FailedLoginAttemptWithUserName": "Neuspjeli poku\u0161aj prijave za {0}",
"AuthenticationSucceededWithUserName": "{0} uspje\u0161no ovjerena",
"UserOfflineFromDevice": "{0} se odspojilo od {1}",
"DeviceOfflineWithName": "{0} se odspojilo",
"UserStartedPlayingItemWithValues": "{0} je pokrenuo {1}",
"UserStoppedPlayingItemWithValues": "{0} je zaustavio {1}",
"NotificationOptionPluginError": "Dodatak otkazao",
"NotificationOptionApplicationUpdateAvailable": "Dostupno a\u017euriranje aplikacije",
"NotificationOptionApplicationUpdateInstalled": "Instalirano a\u017euriranje aplikacije",
@ -40,139 +72,25 @@
"NotificationOptionVideoPlayback": "Reprodukcija videa zapo\u010deta",
"NotificationOptionAudioPlayback": "Reprodukcija glazbe zapo\u010deta",
"NotificationOptionGamePlayback": "Igrica pokrenuta",
"NotificationOptionVideoPlaybackStopped": "Video playback stopped",
"NotificationOptionAudioPlaybackStopped": "Audio playback stopped",
"NotificationOptionGamePlaybackStopped": "Game playback stopped",
"NotificationOptionVideoPlaybackStopped": "Reprodukcija videozapisa je zaustavljena",
"NotificationOptionAudioPlaybackStopped": "Reprodukcija audiozapisa je zaustavljena",
"NotificationOptionGamePlaybackStopped": "Reprodukcija igre je zaustavljena",
"NotificationOptionTaskFailed": "Zakazan zadatak nije izvr\u0161en",
"NotificationOptionInstallationFailed": "Instalacija nije izvr\u0161ena",
"NotificationOptionNewLibraryContent": "Novi sadr\u017eaj dodan",
"NotificationOptionNewLibraryContentMultiple": "New content added (multiple)",
"NotificationOptionCameraImageUploaded": "Camera image uploaded",
"NotificationOptionUserLockedOut": "User locked out",
"NotificationOptionNewLibraryContent": "Novi sadr\u017eaj je dodan",
"NotificationOptionCameraImageUploaded": "Slike kamere preuzete",
"NotificationOptionUserLockedOut": "Korisnik zaklju\u010dan",
"NotificationOptionServerRestartRequired": "Potrebno ponovo pokretanje servera",
"ViewTypePlaylists": "Playlists",
"ViewTypeMovies": "Movies",
"ViewTypeTvShows": "TV",
"ViewTypeGames": "Games",
"ViewTypeMusic": "Music",
"ViewTypeMusicGenres": "Genres",
"ViewTypeMusicArtists": "Artists",
"ViewTypeBoxSets": "Collections",
"ViewTypeChannels": "Channels",
"ViewTypeLiveTV": "Live TV",
"ViewTypeLiveTvNowPlaying": "Now Airing",
"ViewTypeLatestGames": "Latest Games",
"ViewTypeRecentlyPlayedGames": "Recently Played",
"ViewTypeGameFavorites": "Favorites",
"ViewTypeGameSystems": "Game Systems",
"ViewTypeGameGenres": "Genres",
"ViewTypeTvResume": "Resume",
"ViewTypeTvNextUp": "Next Up",
"ViewTypeTvLatest": "Latest",
"ViewTypeTvShowSeries": "Series",
"ViewTypeTvGenres": "Genres",
"ViewTypeTvFavoriteSeries": "Favorite Series",
"ViewTypeTvFavoriteEpisodes": "Favorite Episodes",
"ViewTypeMovieResume": "Resume",
"ViewTypeMovieLatest": "Latest",
"ViewTypeMovieMovies": "Movies",
"ViewTypeMovieCollections": "Collections",
"ViewTypeMovieFavorites": "Favorites",
"ViewTypeMovieGenres": "Genres",
"ViewTypeMusicLatest": "Latest",
"ViewTypeMusicPlaylists": "Playlists",
"ViewTypeMusicAlbums": "Albums",
"ViewTypeMusicAlbumArtists": "Album Artists",
"HeaderOtherDisplaySettings": "Display Settings",
"ViewTypeMusicSongs": "Songs",
"ViewTypeMusicFavorites": "Favorites",
"ViewTypeMusicFavoriteAlbums": "Favorite Albums",
"ViewTypeMusicFavoriteArtists": "Favorite Artists",
"ViewTypeMusicFavoriteSongs": "Favorite Songs",
"ViewTypeFolders": "Folders",
"ViewTypeLiveTvRecordingGroups": "Recordings",
"ViewTypeLiveTvChannels": "Channels",
"ScheduledTaskFailedWithName": "{0} failed",
"LabelRunningTimeValue": "Running time: {0}",
"ScheduledTaskStartedWithName": "{0} started",
"VersionNumber": "Verzija {0}",
"PluginInstalledWithName": "{0} was installed",
"PluginUpdatedWithName": "{0} was updated",
"PluginUninstalledWithName": "{0} was uninstalled",
"ItemAddedWithName": "{0} was added to the library",
"ItemRemovedWithName": "{0} was removed from the library",
"LabelIpAddressValue": "Ip address: {0}",
"DeviceOnlineWithName": "{0} is connected",
"UserOnlineFromDevice": "{0} is online from {1}",
"ProviderValue": "Provider: {0}",
"SubtitlesDownloadedForItem": "Subtitles downloaded for {0}",
"UserConfigurationUpdatedWithName": "User configuration has been updated for {0}",
"UserCreatedWithName": "User {0} has been created",
"UserPasswordChangedWithName": "Password has been changed for user {0}",
"UserDeletedWithName": "User {0} has been deleted",
"MessageServerConfigurationUpdated": "Server configuration has been updated",
"MessageNamedServerConfigurationUpdatedWithValue": "Server configuration section {0} has been updated",
"MessageApplicationUpdated": "Emby Server has been updated",
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
"DeviceOfflineWithName": "{0} has disconnected",
"UserLockedOutWithName": "User {0} has been locked out",
"UserOfflineFromDevice": "{0} has disconnected from {1}",
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
"SubtitleDownloadFailureForItem": "Subtitles failed to download for {0}",
"HeaderUnidentified": "Unidentified",
"HeaderImagePrimary": "Primary",
"HeaderImageBackdrop": "Backdrop",
"HeaderImageLogo": "Logo",
"HeaderUserPrimaryImage": "User Image",
"HeaderOverview": "Overview",
"HeaderShortOverview": "Short Overview",
"HeaderType": "Type",
"HeaderSeverity": "Severity",
"HeaderUser": "User",
"HeaderName": "Ime",
"HeaderDate": "Datum",
"HeaderPremiereDate": "Premiere Date",
"HeaderDateAdded": "Date Added",
"HeaderReleaseDate": "Release date",
"HeaderRuntime": "Runtime",
"HeaderPlayCount": "Play Count",
"HeaderSeason": "Season",
"HeaderSeasonNumber": "Season number",
"HeaderSeries": "Series:",
"HeaderNetwork": "Network",
"HeaderYear": "Year:",
"HeaderYears": "Years:",
"HeaderParentalRating": "Parental Rating",
"HeaderCommunityRating": "Community rating",
"HeaderTrailers": "Trailers",
"HeaderSpecials": "Specials",
"HeaderGameSystems": "Game Systems",
"HeaderPlayers": "Players:",
"HeaderAlbumArtists": "Album Artists",
"HeaderAlbums": "Albums",
"HeaderDisc": "Disc",
"HeaderTrack": "Track",
"HeaderAudio": "Audio",
"HeaderVideo": "Video",
"HeaderEmbeddedImage": "Embedded image",
"HeaderResolution": "Resolution",
"HeaderSubtitles": "Subtitles",
"HeaderGenres": "Genres",
"HeaderCountries": "Countries",
"HeaderStatus": "Status",
"HeaderTracks": "Tracks",
"HeaderMusicArtist": "Music artist",
"HeaderLocked": "Locked",
"HeaderStudios": "Studios",
"HeaderActor": "Actors",
"HeaderComposer": "Composers",
"HeaderDirector": "Directors",
"HeaderGuestStar": "Guest star",
"HeaderProducer": "Producers",
"HeaderWriter": "Writers",
"HeaderParentalRatings": "Parental Ratings",
"HeaderCommunityRatings": "Community ratings",
"StartupEmbyServerIsLoading": "Emby Server is loading. Please try again shortly."
"UserLockedOutWithName": "Korisnik {0} je zaklju\u010dan",
"SubtitleDownloadFailureForItem": "Titlovi prijevoda nisu preuzeti za {0}",
"Sync": "Sink.",
"User": "Korisnik",
"System": "Sistem",
"Application": "Aplikacija",
"Plugin": "Dodatak",
"LabelExit": "Izlaz",
"LabelVisitCommunity": "Posjeti zajednicu",
"LabelBrowseLibrary": "Pregledaj biblioteku",
"LabelConfigureServer": "Podesi Emby",
"LabelRestartServer": "Restartiraj Server"
}

@ -1,178 +1,96 @@
{
"DbUpgradeMessage": "K\u00e9rlek v\u00e1rj, m\u00edg az Emby Szerver adatb\u00e1zis friss\u00fcl. {0}% k\u00e9sz.",
"AppDeviceValues": "App: {0}, Device: {1}",
"UserDownloadingItemWithValues": "{0} is downloading {1}",
"FolderTypeMixed": "Vegyes tartalom",
"FolderTypeMovies": "Filmek",
"FolderTypeMusic": "Zen\u00e9k",
"FolderTypeAdultVideos": "Feln\u0151tt vide\u00f3k",
"FolderTypePhotos": "F\u00e9nyk\u00e9pek",
"FolderTypeMusicVideos": "Zenei vide\u00f3k",
"FolderTypeHomeVideos": "H\u00e1zi vide\u00f3k",
"FolderTypeGames": "J\u00e1t\u00e9kok",
"FolderTypeBooks": "K\u00f6nyvek",
"FolderTypeTvShows": "TV",
"FolderTypeInherit": "Inherit",
"HeaderCastCrew": "Szerepl\u0151k & R\u00e9sztvev\u0151k",
"HeaderPeople": "Emberek",
"ValueSpecialEpisodeName": "K\u00fcl\u00f6nleges - {0}",
"LabelChapterName": "Fejezet {0}",
"NameSeasonNumber": "\u00c9vad {0}",
"LabelExit": "Kil\u00e9p\u00e9s",
"LabelVisitCommunity": "K\u00f6z\u00f6ss\u00e9g",
"LabelGithub": "Github",
"LabelApiDocumentation": "Api dokument\u00e1ci\u00f3",
"LabelDeveloperResources": "Fejleszt\u0151i eszk\u00f6z\u00f6k",
"LabelBrowseLibrary": "M\u00e9diat\u00e1r tall\u00f3z\u00e1sa",
"LabelConfigureServer": "Emby konfigur\u00e1l\u00e1sa",
"LabelRestartServer": "Szerver \u00fajraindit\u00e1sa",
"CategorySync": "Sync",
"CategoryUser": "Felhaszn\u00e1l\u00f3",
"CategorySystem": "Rendszer",
"CategoryApplication": "Alkalmaz\u00e1s",
"CategoryPlugin": "B\u0151v\u00edtm\u00e9ny",
"Latest": "Leg\u00fajabb",
"ValueSpecialEpisodeName": "Special - {0}",
"Inherit": "Inherit",
"Books": "Books",
"Music": "Music",
"Games": "Games",
"Photos": "Photos",
"MixedContent": "Mixed content",
"MusicVideos": "Music videos",
"HomeVideos": "Home videos",
"Playlists": "Playlists",
"HeaderRecordingGroups": "Recording Groups",
"HeaderContinueWatching": "Vet\u00edt\u00e9s(ek) folytat\u00e1sa",
"HeaderFavoriteArtists": "Favorite Artists",
"HeaderFavoriteSongs": "Favorite Songs",
"HeaderAlbumArtists": "Album Artists",
"HeaderFavoriteAlbums": "Favorite Albums",
"HeaderFavoriteEpisodes": "Kedvenc Epiz\u00f3dok",
"HeaderFavoriteShows": "Kedvenc M\u0171sorok",
"HeaderNextUp": "K\u00f6vetkezik",
"Favorites": "Favorites",
"Collections": "Gy\u0171jtem\u00e9nyek",
"Channels": "Csatorn\u00e1k",
"Movies": "Movies",
"Albums": "Albums",
"Artists": "Artists",
"Folders": "Folders",
"Songs": "Songs",
"TvShows": "TV Shows",
"Shows": "Shows",
"Genres": "M\u0171fajok",
"NameSeasonNumber": "Season {0}",
"AppDeviceValues": "Program: {0}, Eszk\u00f6z: {1}",
"UserDownloadingItemWithValues": "{0} let\u00f6lti {1}",
"HeaderLiveTV": "Live TV",
"ChapterNameValue": "Jelenet {0}",
"ScheduledTaskFailedWithName": "{0} failed",
"LabelRunningTimeValue": "Running time: {0}",
"ScheduledTaskStartedWithName": "{0} started",
"VersionNumber": "Version {0}",
"PluginInstalledWithName": "{0} telep\u00edtve",
"StartupEmbyServerIsLoading": "Emby Szerver bet\u00f6lt\u0151dik. K\u00e9rj\u00fck, pr\u00f3b\u00e1ld meg \u00fajra k\u00e9s\u0151bb.",
"PluginUpdatedWithName": "{0} was updated",
"PluginUninstalledWithName": "{0} elt\u00e1vol\u00edtva",
"ItemAddedWithName": "{0} was added to the library",
"ItemRemovedWithName": "{0} was removed from the library",
"LabelIpAddressValue": "Ip address: {0}",
"DeviceOnlineWithName": "{0} is connected",
"UserOnlineFromDevice": "{0} is online from {1}",
"ProviderValue": "Provider: {0}",
"SubtitlesDownloadedForItem": "Subtitles downloaded for {0}",
"UserCreatedWithName": "User {0} has been created",
"UserPasswordChangedWithName": "Password has been changed for user {0}",
"UserDeletedWithName": "User {0} has been deleted",
"UserConfigurationUpdatedWithName": "User configuration has been updated for {0}",
"MessageServerConfigurationUpdated": "Szerver konfigur\u00e1ci\u00f3 friss\u00fclt",
"MessageNamedServerConfigurationUpdatedWithValue": "Szerver konfigur\u00e1ci\u00f3s r\u00e9sz {0} friss\u00edtve",
"MessageApplicationUpdated": "Emby Szerver friss\u00edtve",
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
"UserOfflineFromDevice": "{0} kijelentkezett innen {1}",
"DeviceOfflineWithName": "{0} kijelentkezett",
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
"NotificationOptionPluginError": "B\u0151v\u00edtm\u00e9ny hiba",
"NotificationOptionApplicationUpdateAvailable": "Friss\u00edt\u00e9s el\u00e9rhet\u0151",
"NotificationOptionApplicationUpdateInstalled": "Program friss\u00edt\u00e9s telep\u00edtve",
"NotificationOptionPluginUpdateInstalled": "B\u0151v\u00edtm\u00e9ny friss\u00edt\u00e9s telep\u00edtve",
"NotificationOptionPluginInstalled": "B\u0151v\u00edtm\u00e9ny telep\u00edtve",
"NotificationOptionPluginUninstalled": "B\u0151v\u00edtm\u00e9ny elt\u00e1vol\u00edtva",
"NotificationOptionVideoPlayback": "Vide\u00f3 elind\u00edtva",
"NotificationOptionAudioPlayback": "Zene elind\u00edtva",
"NotificationOptionGamePlayback": "J\u00e1t\u00e9k elind\u00edtva",
"NotificationOptionVideoPlaybackStopped": "Vide\u00f3 meg\u00e1ll\u00edtva",
"NotificationOptionAudioPlaybackStopped": "Zene meg\u00e1ll\u00edtva",
"NotificationOptionGamePlaybackStopped": "J\u00e1t\u00e9k meg\u00e1ll\u00edtva",
"NotificationOptionVideoPlayback": "Vide\u00f3 lej\u00e1tsz\u00e1s elkezdve",
"NotificationOptionAudioPlayback": "Audi\u00f3 lej\u00e1tsz\u00e1s elkezdve",
"NotificationOptionGamePlayback": "Game playback started",
"NotificationOptionVideoPlaybackStopped": "Vide\u00f3 lej\u00e1tsz\u00e1s befejezve",
"NotificationOptionAudioPlaybackStopped": "Audi\u00f3 lej\u00e1tsz\u00e1s befejezve",
"NotificationOptionGamePlaybackStopped": "Game playback stopped",
"NotificationOptionTaskFailed": "Scheduled task failure",
"NotificationOptionInstallationFailed": "Telep\u00edt\u00e9si hiba",
"NotificationOptionNewLibraryContent": "\u00daj tartalom hozz\u00e1adva",
"NotificationOptionNewLibraryContentMultiple": "\u00daj tartalom hozz\u00e1adva (t\u00f6bbsz\u00f6r\u00f6s)",
"NotificationOptionCameraImageUploaded": "Kamera k\u00e9p felt\u00f6ltve",
"NotificationOptionUserLockedOut": "Felhaszn\u00e1l\u00f3 tiltva",
"NotificationOptionServerRestartRequired": "\u00dajraind\u00edt\u00e1s sz\u00fcks\u00e9ges",
"ViewTypePlaylists": "Lej\u00e1tsz\u00e1si list\u00e1k",
"ViewTypeMovies": "Filmek",
"ViewTypeTvShows": "TV",
"ViewTypeGames": "J\u00e1t\u00e9kok",
"ViewTypeMusic": "Zene",
"ViewTypeMusicGenres": "M\u0171fajok",
"ViewTypeMusicArtists": "M\u0171v\u00e9szek",
"ViewTypeBoxSets": "Gy\u0171jtem\u00e9nyek",
"ViewTypeChannels": "Csatorn\u00e1k",
"ViewTypeLiveTV": "\u00c9l\u0151 TV",
"ViewTypeLiveTvNowPlaying": "Most J\u00e1tszott",
"ViewTypeLatestGames": "Leg\u00fajabb J\u00e1t\u00e9kok",
"ViewTypeRecentlyPlayedGames": "Legut\u00f3bb J\u00e1tszott",
"ViewTypeGameFavorites": "Kedvencek",
"ViewTypeGameSystems": "J\u00e1t\u00e9k Rendszer",
"ViewTypeGameGenres": "M\u0171fajok",
"ViewTypeTvResume": "Folytat\u00e1s",
"ViewTypeTvNextUp": "K\u00f6vetkez\u0151",
"ViewTypeTvLatest": "Leg\u00fajabb",
"ViewTypeTvShowSeries": "Sorozat",
"ViewTypeTvGenres": "M\u0171fajok",
"ViewTypeTvFavoriteSeries": "Kedvenc Sorozat",
"ViewTypeTvFavoriteEpisodes": "Kedvenc R\u00e9szek",
"ViewTypeMovieResume": "Folytat\u00e1s",
"ViewTypeMovieLatest": "Leg\u00fajabb",
"ViewTypeMovieMovies": "Filmek",
"ViewTypeMovieCollections": "Gy\u0171jtem\u00e9nyek",
"ViewTypeMovieFavorites": "Kedvencek",
"ViewTypeMovieGenres": "M\u0171fajok",
"ViewTypeMusicLatest": "Leg\u00fajabb",
"ViewTypeMusicPlaylists": "Lej\u00e1tsz\u00e1si list\u00e1k",
"ViewTypeMusicAlbums": "Albumok",
"ViewTypeMusicAlbumArtists": "Album El\u0151ad\u00f3k",
"HeaderOtherDisplaySettings": "Megjelen\u00edt\u00e9si Be\u00e1ll\u00edt\u00e1sok",
"ViewTypeMusicSongs": "Dalok",
"ViewTypeMusicFavorites": "Kedvencek",
"ViewTypeMusicFavoriteAlbums": "Kedvenc Albumok",
"ViewTypeMusicFavoriteArtists": "Kedvenc M\u0171v\u00e9szek",
"ViewTypeMusicFavoriteSongs": "Kedvenc Dalok",
"ViewTypeFolders": "K\u00f6nyvt\u00e1rak",
"ViewTypeLiveTvRecordingGroups": "Felv\u00e9telek",
"ViewTypeLiveTvChannels": "Csatorn\u00e1k",
"ScheduledTaskFailedWithName": "{0} hiba",
"LabelRunningTimeValue": "Fut\u00e1si id\u0151: {0}",
"ScheduledTaskStartedWithName": "{0} elkezdve",
"VersionNumber": "Verzi\u00f3 {0}",
"PluginInstalledWithName": "{0} telep\u00edtve",
"PluginUpdatedWithName": "{0} friss\u00edtve",
"PluginUninstalledWithName": "{0} elt\u00e1vol\u00edtva",
"ItemAddedWithName": "{0} k\u00f6nyvt\u00e1rhoz adva",
"ItemRemovedWithName": "{0} t\u00f6r\u00f6lve a k\u00f6nyvt\u00e1rb\u00f3l",
"LabelIpAddressValue": "Ip c\u00edm: {0}",
"DeviceOnlineWithName": "{0} kapcsol\u00f3dva",
"UserOnlineFromDevice": "{0} akt\u00edv err\u0151l {1}",
"ProviderValue": "Provider: {0}",
"SubtitlesDownloadedForItem": "Felirat let\u00f6lt\u00e9se ehhez {0}",
"UserConfigurationUpdatedWithName": "A k\u00f6vetkez\u0151 felhaszn\u00e1l\u00f3 be\u00e1ll\u00edt\u00e1sai friss\u00edtve {0}",
"UserCreatedWithName": "Felhaszn\u00e1l\u00f3 {0} l\u00e9trehozva",
"UserPasswordChangedWithName": "Jelsz\u00f3 m\u00f3dos\u00edtva ennek a felhaszn\u00e1l\u00f3nak {0}",
"UserDeletedWithName": "Felhaszn\u00e1l\u00f3 {0} t\u00f6r\u00f6lve",
"MessageServerConfigurationUpdated": "Szerver be\u00e1ll\u00edt\u00e1sok friss\u00edtve",
"MessageNamedServerConfigurationUpdatedWithValue": "Server configuration section {0} has been updated",
"MessageApplicationUpdated": "Emby Server friss\u00edtve",
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
"DeviceOfflineWithName": "{0} sz\u00e9tkapcsolt",
"UserLockedOutWithName": "A k\u00f6vetkez\u0151 felhaszn\u00e1l\u00f3 tiltva {0}",
"UserOfflineFromDevice": "{0} kil\u00e9pett innen {1}",
"UserStartedPlayingItemWithValues": "{0} megkezdte j\u00e1tszani a(z) {1}",
"UserStoppedPlayingItemWithValues": "{0} befejezte a(z) {1}",
"SubtitleDownloadFailureForItem": "Nem siker\u00fcl a felirat let\u00f6lt\u00e9s ehhez {0}",
"HeaderUnidentified": "Azonos\u00edtatlan",
"HeaderImagePrimary": "Els\u0151dleges",
"HeaderImageBackdrop": "H\u00e1tt\u00e9r",
"HeaderImageLogo": "Logo",
"HeaderUserPrimaryImage": "Felhaszn\u00e1l\u00f3 K\u00e9p",
"HeaderOverview": "\u00c1ttekint\u00e9s",
"HeaderShortOverview": "R\u00f6vid \u00c1ttekint\u00e9s",
"HeaderType": "T\u00edpus",
"HeaderSeverity": "Severity",
"HeaderUser": "Felhaszn\u00e1l\u00f3",
"HeaderName": "N\u00e9v",
"HeaderDate": "D\u00e1tum",
"HeaderPremiereDate": "Megjelen\u00e9s D\u00e1tuma",
"HeaderDateAdded": "Hozz\u00e1adva",
"HeaderReleaseDate": "Megjelen\u00e9s d\u00e1tuma",
"HeaderRuntime": "J\u00e1t\u00e9kid\u0151",
"HeaderPlayCount": "Play Count",
"HeaderSeason": "\u00c9vad",
"HeaderSeasonNumber": "\u00c9vad sz\u00e1ma",
"HeaderSeries": "Sorozatok:",
"HeaderNetwork": "H\u00e1l\u00f3zat",
"HeaderYear": "\u00c9v:",
"HeaderYears": "\u00c9v:",
"HeaderParentalRating": "Korhat\u00e1r besorol\u00e1s",
"HeaderCommunityRating": "K\u00f6z\u00f6ss\u00e9gi \u00e9rt\u00e9kel\u00e9s",
"HeaderTrailers": "El\u0151zetesek",
"HeaderSpecials": "Speci\u00e1lis",
"HeaderGameSystems": "J\u00e1t\u00e9k Rendszer",
"HeaderPlayers": "Players:",
"HeaderAlbumArtists": "Album Artists",
"HeaderAlbums": "Albumok",
"HeaderDisc": "Lemez",
"HeaderTrack": "S\u00e1v",
"HeaderAudio": "Audi\u00f3",
"HeaderVideo": "Vide\u00f3",
"HeaderEmbeddedImage": "Be\u00e1gyazott k\u00e9p",
"HeaderResolution": "Felbont\u00e1s",
"HeaderSubtitles": "Feliratok",
"HeaderGenres": "M\u0171fajok",
"HeaderCountries": "Orsz\u00e1gok",
"HeaderStatus": "\u00c1llapot",
"HeaderTracks": "S\u00e1vok",
"HeaderMusicArtist": "Music artist",
"HeaderLocked": "Z\u00e1rt",
"HeaderStudios": "St\u00fadi\u00f3k",
"HeaderActor": "Sz\u00edn\u00e9szek",
"HeaderComposer": "Zeneszerz\u0151k",
"HeaderDirector": "Rendez\u0151k",
"HeaderGuestStar": "Vend\u00e9g szt\u00e1r",
"HeaderProducer": "Producerek",
"HeaderWriter": "\u00cdr\u00f3k",
"HeaderParentalRatings": "Korhat\u00e1r besorol\u00e1s",
"HeaderCommunityRatings": "K\u00f6z\u00f6ss\u00e9gi \u00e9rt\u00e9kel\u00e9sek",
"StartupEmbyServerIsLoading": "Emby Server is loading. Please try again shortly."
"NotificationOptionServerRestartRequired": "Szerver \u00fajraind\u00edt\u00e1s sz\u00fcks\u00e9ges",
"UserLockedOutWithName": "User {0} has been locked out",
"SubtitleDownloadFailureForItem": "Subtitles failed to download for {0}",
"Sync": "Szinkroniz\u00e1l",
"User": "User",
"System": "System",
"Application": "Application",
"Plugin": "Plugin",
"LabelExit": "Kil\u00e9p\u00e9s",
"LabelVisitCommunity": "K\u00f6z\u00f6ss\u00e9g",
"LabelBrowseLibrary": "M\u00e9diat\u00e1r tall\u00f3z\u00e1sa",
"LabelConfigureServer": "Emby konfigur\u00e1l\u00e1sa",
"LabelRestartServer": "Szerver \u00fajraindit\u00e1sa"
}

@ -1,178 +0,0 @@
{
"DbUpgradeMessage": "Silahkan menunggu sementara database Emby Server anda diupgrade. {0}% selesai.",
"AppDeviceValues": "App: {0}, Device: {1}",
"UserDownloadingItemWithValues": "{0} is downloading {1}",
"FolderTypeMixed": "Mixed content",
"FolderTypeMovies": "Movies",
"FolderTypeMusic": "Music",
"FolderTypeAdultVideos": "Adult videos",
"FolderTypePhotos": "Photos",
"FolderTypeMusicVideos": "Music videos",
"FolderTypeHomeVideos": "Home videos",
"FolderTypeGames": "Games",
"FolderTypeBooks": "Books",
"FolderTypeTvShows": "TV",
"FolderTypeInherit": "Mewarisi",
"HeaderCastCrew": "Cast & Crew",
"HeaderPeople": "People",
"ValueSpecialEpisodeName": "Special - {0}",
"LabelChapterName": "Chapter {0}",
"NameSeasonNumber": "Season {0}",
"LabelExit": "Keluar",
"LabelVisitCommunity": "Kunjungi Komunitas",
"LabelGithub": "Github",
"LabelApiDocumentation": "Dokumentasi Api",
"LabelDeveloperResources": "Sumber daya Pengembang",
"LabelBrowseLibrary": "Telusuri Pustaka",
"LabelConfigureServer": "Konfigurasi Emby",
"LabelRestartServer": "Hidupkan ulang Server",
"CategorySync": "Singkron",
"CategoryUser": "User",
"CategorySystem": "System",
"CategoryApplication": "Application",
"CategoryPlugin": "Plugin",
"NotificationOptionPluginError": "Plugin failure",
"NotificationOptionApplicationUpdateAvailable": "Application update available",
"NotificationOptionApplicationUpdateInstalled": "Application update installed",
"NotificationOptionPluginUpdateInstalled": "Plugin update installed",
"NotificationOptionPluginInstalled": "Plugin installed",
"NotificationOptionPluginUninstalled": "Plugin uninstalled",
"NotificationOptionVideoPlayback": "Video playback started",
"NotificationOptionAudioPlayback": "Audio playback started",
"NotificationOptionGamePlayback": "Game playback started",
"NotificationOptionVideoPlaybackStopped": "Video playback stopped",
"NotificationOptionAudioPlaybackStopped": "Audio playback stopped",
"NotificationOptionGamePlaybackStopped": "Game playback stopped",
"NotificationOptionTaskFailed": "Scheduled task failure",
"NotificationOptionInstallationFailed": "Installation failure",
"NotificationOptionNewLibraryContent": "New content added",
"NotificationOptionNewLibraryContentMultiple": "New content added (multiple)",
"NotificationOptionCameraImageUploaded": "Camera image uploaded",
"NotificationOptionUserLockedOut": "User locked out",
"NotificationOptionServerRestartRequired": "Server restart required",
"ViewTypePlaylists": "Playlists",
"ViewTypeMovies": "Movies",
"ViewTypeTvShows": "TV",
"ViewTypeGames": "Games",
"ViewTypeMusic": "Music",
"ViewTypeMusicGenres": "Genres",
"ViewTypeMusicArtists": "Artists",
"ViewTypeBoxSets": "Collections",
"ViewTypeChannels": "Channels",
"ViewTypeLiveTV": "Live TV",
"ViewTypeLiveTvNowPlaying": "Now Airing",
"ViewTypeLatestGames": "Latest Games",
"ViewTypeRecentlyPlayedGames": "Recently Played",
"ViewTypeGameFavorites": "Favorites",
"ViewTypeGameSystems": "Game Systems",
"ViewTypeGameGenres": "Genres",
"ViewTypeTvResume": "Resume",
"ViewTypeTvNextUp": "Next Up",
"ViewTypeTvLatest": "Latest",
"ViewTypeTvShowSeries": "Series",
"ViewTypeTvGenres": "Genres",
"ViewTypeTvFavoriteSeries": "Favorite Series",
"ViewTypeTvFavoriteEpisodes": "Favorite Episodes",
"ViewTypeMovieResume": "Resume",
"ViewTypeMovieLatest": "Latest",
"ViewTypeMovieMovies": "Movies",
"ViewTypeMovieCollections": "Collections",
"ViewTypeMovieFavorites": "Favorites",
"ViewTypeMovieGenres": "Genres",
"ViewTypeMusicLatest": "Latest",
"ViewTypeMusicPlaylists": "Playlists",
"ViewTypeMusicAlbums": "Albums",
"ViewTypeMusicAlbumArtists": "Album Artists",
"HeaderOtherDisplaySettings": "Display Settings",
"ViewTypeMusicSongs": "Songs",
"ViewTypeMusicFavorites": "Favorites",
"ViewTypeMusicFavoriteAlbums": "Favorite Albums",
"ViewTypeMusicFavoriteArtists": "Favorite Artists",
"ViewTypeMusicFavoriteSongs": "Favorite Songs",
"ViewTypeFolders": "Folders",
"ViewTypeLiveTvRecordingGroups": "Recordings",
"ViewTypeLiveTvChannels": "Channels",
"ScheduledTaskFailedWithName": "{0} failed",
"LabelRunningTimeValue": "Running time: {0}",
"ScheduledTaskStartedWithName": "{0} started",
"VersionNumber": "Version {0}",
"PluginInstalledWithName": "{0} was installed",
"PluginUpdatedWithName": "{0} was updated",
"PluginUninstalledWithName": "{0} was uninstalled",
"ItemAddedWithName": "{0} was added to the library",
"ItemRemovedWithName": "{0} was removed from the library",
"LabelIpAddressValue": "Ip address: {0}",
"DeviceOnlineWithName": "{0} is connected",
"UserOnlineFromDevice": "{0} is online from {1}",
"ProviderValue": "Provider: {0}",
"SubtitlesDownloadedForItem": "Subtitles downloaded for {0}",
"UserConfigurationUpdatedWithName": "User configuration has been updated for {0}",
"UserCreatedWithName": "User {0} has been created",
"UserPasswordChangedWithName": "Password has been changed for user {0}",
"UserDeletedWithName": "User {0} has been deleted",
"MessageServerConfigurationUpdated": "Server configuration has been updated",
"MessageNamedServerConfigurationUpdatedWithValue": "Server configuration section {0} has been updated",
"MessageApplicationUpdated": "Emby Server has been updated",
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
"DeviceOfflineWithName": "{0} has disconnected",
"UserLockedOutWithName": "User {0} has been locked out",
"UserOfflineFromDevice": "{0} has disconnected from {1}",
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
"SubtitleDownloadFailureForItem": "Subtitles failed to download for {0}",
"HeaderUnidentified": "Unidentified",
"HeaderImagePrimary": "Primary",
"HeaderImageBackdrop": "Backdrop",
"HeaderImageLogo": "Logo",
"HeaderUserPrimaryImage": "User Image",
"HeaderOverview": "Overview",
"HeaderShortOverview": "Short Overview",
"HeaderType": "Type",
"HeaderSeverity": "Severity",
"HeaderUser": "User",
"HeaderName": "Name",
"HeaderDate": "Date",
"HeaderPremiereDate": "Premiere Date",
"HeaderDateAdded": "Date Added",
"HeaderReleaseDate": "Release date",
"HeaderRuntime": "Runtime",
"HeaderPlayCount": "Play Count",
"HeaderSeason": "Season",
"HeaderSeasonNumber": "Season number",
"HeaderSeries": "Series:",
"HeaderNetwork": "Network",
"HeaderYear": "Year:",
"HeaderYears": "Years:",
"HeaderParentalRating": "Parental Rating",
"HeaderCommunityRating": "Community rating",
"HeaderTrailers": "Trailers",
"HeaderSpecials": "Specials",
"HeaderGameSystems": "Game Systems",
"HeaderPlayers": "Players:",
"HeaderAlbumArtists": "Album Artists",
"HeaderAlbums": "Albums",
"HeaderDisc": "Disc",
"HeaderTrack": "Track",
"HeaderAudio": "Audio",
"HeaderVideo": "Video",
"HeaderEmbeddedImage": "Embedded image",
"HeaderResolution": "Resolution",
"HeaderSubtitles": "Subtitles",
"HeaderGenres": "Genres",
"HeaderCountries": "Countries",
"HeaderStatus": "Status",
"HeaderTracks": "Tracks",
"HeaderMusicArtist": "Music artist",
"HeaderLocked": "Locked",
"HeaderStudios": "Studios",
"HeaderActor": "Actors",
"HeaderComposer": "Composers",
"HeaderDirector": "Directors",
"HeaderGuestStar": "Guest star",
"HeaderProducer": "Producers",
"HeaderWriter": "Writers",
"HeaderParentalRatings": "Parental Ratings",
"HeaderCommunityRatings": "Community ratings",
"StartupEmbyServerIsLoading": "Emby Server is loading. Please try again shortly."
}

@ -1,178 +1,96 @@
{
"DbUpgradeMessage": "Please wait while your Emby Server database is upgraded. {0}% complete.",
"Latest": "Pi\u00f9 recenti",
"ValueSpecialEpisodeName": "Speciale - {0}",
"Inherit": "Eredita",
"Books": "Libri",
"Music": "Musica",
"Games": "Giochi",
"Photos": "Foto",
"MixedContent": "Contenuto misto",
"MusicVideos": "Video musicali",
"HomeVideos": "Video personali",
"Playlists": "Playlist",
"HeaderRecordingGroups": "Gruppi di Registrazione",
"HeaderContinueWatching": "Continua a guardare",
"HeaderFavoriteArtists": "Artisti preferiti",
"HeaderFavoriteSongs": "Brani Preferiti",
"HeaderAlbumArtists": "Artisti Album",
"HeaderFavoriteAlbums": "Album preferiti",
"HeaderFavoriteEpisodes": "Episodi Preferiti",
"HeaderFavoriteShows": "Show preferiti",
"HeaderNextUp": "Prossimo",
"Favorites": "Preferiti",
"Collections": "Collezioni",
"Channels": "Canali",
"Movies": "Film",
"Albums": "Album",
"Artists": "Artisti",
"Folders": "Cartelle",
"Songs": "Canzoni",
"TvShows": "TV Shows",
"Shows": "Programmi",
"Genres": "Generi",
"NameSeasonNumber": "Stagione {0}",
"AppDeviceValues": "App: {0}, Dispositivo: {1}",
"UserDownloadingItemWithValues": "{0} sta scaricando {1}",
"FolderTypeMixed": "contenuto misto",
"FolderTypeMovies": "Film",
"FolderTypeMusic": "Musica",
"FolderTypeAdultVideos": "Video per adulti",
"FolderTypePhotos": "Foto",
"FolderTypeMusicVideos": "Video musicali",
"FolderTypeHomeVideos": "Video personali",
"FolderTypeGames": "Giochi",
"FolderTypeBooks": "Libri",
"FolderTypeTvShows": "Tv",
"FolderTypeInherit": "ereditare",
"HeaderCastCrew": "Cast & Crew",
"HeaderPeople": "Persone",
"ValueSpecialEpisodeName": "Speciali - {0}",
"LabelChapterName": "Capitolo {0}",
"NameSeasonNumber": "Stagione {0}",
"LabelExit": "Esci",
"LabelVisitCommunity": "Visita la Community",
"LabelGithub": "Github",
"LabelApiDocumentation": "Documentazione Api",
"LabelDeveloperResources": "Risorse programmatori",
"LabelBrowseLibrary": "Esplora la libreria",
"LabelConfigureServer": "Configura Emby",
"LabelRestartServer": "Riavvia Server",
"CategorySync": "Sincronizza",
"CategoryUser": "Utente",
"CategorySystem": "Sistema",
"CategoryApplication": "Applicazione",
"CategoryPlugin": "Plugin",
"NotificationOptionPluginError": "Plugin fallito",
"HeaderLiveTV": "Diretta TV",
"ChapterNameValue": "Capitolo {0}",
"ScheduledTaskFailedWithName": "{0} fallito",
"LabelRunningTimeValue": "Durata: {0}",
"ScheduledTaskStartedWithName": "{0} avviati",
"VersionNumber": "Versione {0}",
"PluginInstalledWithName": "{0} \u00e8 stato Installato",
"StartupEmbyServerIsLoading": "Emby server si sta avviando. Per favore riprova pi\u00f9 tardi.",
"PluginUpdatedWithName": "{0} \u00e8 stato aggiornato",
"PluginUninstalledWithName": "{0} \u00e8 stato disinstallato",
"ItemAddedWithName": "{0} \u00e8 stato aggiunto alla libreria",
"ItemRemovedWithName": "{0} \u00e8 stato rimosso dalla libreria",
"LabelIpAddressValue": "Indirizzo IP: {0}",
"DeviceOnlineWithName": "{0} \u00e8 connesso",
"UserOnlineFromDevice": "{0} \u00e8 online da {1}",
"ProviderValue": "Provider: {0}",
"SubtitlesDownloadedForItem": "Sottotitoli scaricati per {0}",
"UserCreatedWithName": "L'utente {0} \u00e8 stato creato",
"UserPasswordChangedWithName": "La password \u00e8 stata cambiata per l'utente {0}",
"UserDeletedWithName": "L'utente {0} \u00e8 stato rimosso",
"UserConfigurationUpdatedWithName": "La configurazione utente \u00e8 stata aggiornata per {0}",
"MessageServerConfigurationUpdated": "La configurazione del server \u00e8 stata aggiornata",
"MessageNamedServerConfigurationUpdatedWithValue": "La sezione {0} della configurazione server \u00e8 stata aggiornata",
"MessageApplicationUpdated": "Il Server Emby \u00e8 stato aggiornato",
"FailedLoginAttemptWithUserName": "Tentativo di accesso fallito da {0}",
"AuthenticationSucceededWithUserName": "{0} autenticato con successo",
"UserOfflineFromDevice": "{0} \u00e8 stato disconnesso da {1}",
"DeviceOfflineWithName": "{0} \u00e8 stato disconnesso",
"UserStartedPlayingItemWithValues": "{0} ha avviato la riproduzione di {1}",
"UserStoppedPlayingItemWithValues": "{0} ha interrotto la riproduzione di {1}",
"NotificationOptionPluginError": "Errore del Plug-in",
"NotificationOptionApplicationUpdateAvailable": "Aggiornamento dell'applicazione disponibile",
"NotificationOptionApplicationUpdateInstalled": "Aggiornamento dell'applicazione installato",
"NotificationOptionPluginUpdateInstalled": "Aggiornamento del plugin installato",
"NotificationOptionPluginInstalled": "Plugin installato",
"NotificationOptionPluginUninstalled": "Plugin disinstallato",
"NotificationOptionPluginUpdateInstalled": "Aggiornamento del plug-in installato",
"NotificationOptionPluginInstalled": "Plug-in installato",
"NotificationOptionPluginUninstalled": "Plug-in disinstallato",
"NotificationOptionVideoPlayback": "La riproduzione video \u00e8 iniziata",
"NotificationOptionAudioPlayback": "Riproduzione audio iniziata",
"NotificationOptionGamePlayback": "Gioco avviato",
"NotificationOptionVideoPlaybackStopped": "Riproduzione video interrotta",
"NotificationOptionAudioPlaybackStopped": "Audio Fermato",
"NotificationOptionGamePlaybackStopped": "Gioco Fermato",
"NotificationOptionAudioPlayback": "La riproduzione audio \u00e8 iniziata",
"NotificationOptionGamePlayback": "Il gioco \u00e8 stato avviato",
"NotificationOptionVideoPlaybackStopped": "La riproduzione video \u00e8 stata interrotta",
"NotificationOptionAudioPlaybackStopped": "La riproduzione audio \u00e8 stata interrotta",
"NotificationOptionGamePlaybackStopped": "Il gioco \u00e8 stato fermato",
"NotificationOptionTaskFailed": "Operazione pianificata fallita",
"NotificationOptionInstallationFailed": "Installazione fallita",
"NotificationOptionNewLibraryContent": "Nuovo contenuto aggiunto",
"NotificationOptionNewLibraryContentMultiple": "Nuovi contenuti aggiunti (multipli)",
"NotificationOptionCameraImageUploaded": "Immagine fotocamera caricata",
"NotificationOptionUserLockedOut": "Utente bloccato",
"NotificationOptionServerRestartRequired": "Riavvio del server necessario",
"ViewTypePlaylists": "Playlist",
"ViewTypeMovies": "Film",
"ViewTypeTvShows": "Serie Tv",
"ViewTypeGames": "Giochi",
"ViewTypeMusic": "Musica",
"ViewTypeMusicGenres": "Generi",
"ViewTypeMusicArtists": "Artisti",
"ViewTypeBoxSets": "Collezioni",
"ViewTypeChannels": "Canali",
"ViewTypeLiveTV": "TV in diretta",
"ViewTypeLiveTvNowPlaying": "Ora in onda",
"ViewTypeLatestGames": "Ultimi Giorchi",
"ViewTypeRecentlyPlayedGames": "Guardato di recente",
"ViewTypeGameFavorites": "Preferiti",
"ViewTypeGameSystems": "Configurazione gioco",
"ViewTypeGameGenres": "Generi",
"ViewTypeTvResume": "Riprendi",
"ViewTypeTvNextUp": "Prossimi",
"ViewTypeTvLatest": "Ultimi",
"ViewTypeTvShowSeries": "Serie",
"ViewTypeTvGenres": "Generi",
"ViewTypeTvFavoriteSeries": "Serie Preferite",
"ViewTypeTvFavoriteEpisodes": "Episodi Preferiti",
"ViewTypeMovieResume": "Riprendi",
"ViewTypeMovieLatest": "Ultimi",
"ViewTypeMovieMovies": "Film",
"ViewTypeMovieCollections": "Collezioni",
"ViewTypeMovieFavorites": "Preferiti",
"ViewTypeMovieGenres": "Generi",
"ViewTypeMusicLatest": "Ultimi",
"ViewTypeMusicPlaylists": "Playlist",
"ViewTypeMusicAlbums": "Album",
"ViewTypeMusicAlbumArtists": "Album Artisti",
"HeaderOtherDisplaySettings": "Impostazioni Video",
"ViewTypeMusicSongs": "Canzoni",
"ViewTypeMusicFavorites": "Preferiti",
"ViewTypeMusicFavoriteAlbums": "Album preferiti",
"ViewTypeMusicFavoriteArtists": "Artisti preferiti",
"ViewTypeMusicFavoriteSongs": "Canzoni Preferite",
"ViewTypeFolders": "Cartelle",
"ViewTypeLiveTvRecordingGroups": "Registrazioni",
"ViewTypeLiveTvChannels": "canali",
"ScheduledTaskFailedWithName": "{0} Falliti",
"LabelRunningTimeValue": "Durata: {0}",
"ScheduledTaskStartedWithName": "{0} Avviati",
"VersionNumber": "Versione {0}",
"PluginInstalledWithName": "{0} sono stati Installati",
"PluginUpdatedWithName": "{0} sono stati aggiornati",
"PluginUninstalledWithName": "{0} non sono stati installati",
"ItemAddedWithName": "{0} aggiunti alla libreria",
"ItemRemovedWithName": "{0} rimossi dalla libreria",
"LabelIpAddressValue": "Indirizzo IP: {0}",
"DeviceOnlineWithName": "{0} \u00e8 connesso",
"UserOnlineFromDevice": "{0} \u00e8 online da {1}",
"ProviderValue": "Provider: {0}",
"SubtitlesDownloadedForItem": "Sottotitoli scaricati per {0}",
"UserConfigurationUpdatedWithName": "Configurazione utente \u00e8 stata aggiornata per {0}",
"UserCreatedWithName": "Utente {0} \u00e8 stato creato",
"UserPasswordChangedWithName": "Password utente cambiata per {0}",
"UserDeletedWithName": "Utente {0} \u00e8 stato cancellato",
"MessageServerConfigurationUpdated": "Configurazione server aggioprnata",
"MessageNamedServerConfigurationUpdatedWithValue": "La sezione {0} \u00e8 stata aggiornata",
"MessageApplicationUpdated": "Il Server Emby \u00e8 stato aggiornato",
"FailedLoginAttemptWithUserName": "Login fallito da {0}",
"AuthenticationSucceededWithUserName": "{0} Autenticati con successo",
"DeviceOfflineWithName": "{0} \u00e8 stato disconesso",
"UserLockedOutWithName": "L'utente {0} \u00e8 stato bloccato",
"UserOfflineFromDevice": "{0} \u00e8 stato disconesso da {1}",
"UserStartedPlayingItemWithValues": "{0} \u00e8 partito da {1}",
"UserStoppedPlayingItemWithValues": "{0} stoppato {1}",
"SubtitleDownloadFailureForItem": "Sottotitoli non scaricati per {0}",
"HeaderUnidentified": "Non identificata",
"HeaderImagePrimary": "Primaria",
"HeaderImageBackdrop": "Sfondo",
"HeaderImageLogo": "Logo",
"HeaderUserPrimaryImage": "Immagine utente",
"HeaderOverview": "Panoramica",
"HeaderShortOverview": "breve panoramica",
"HeaderType": "Tipo",
"HeaderSeverity": "gravit\u00e0",
"HeaderUser": "Utente",
"HeaderName": "Nome",
"HeaderDate": "Data",
"HeaderPremiereDate": "Data della prima",
"HeaderDateAdded": "Aggiunto il",
"HeaderReleaseDate": "Data Rilascio",
"HeaderRuntime": "Durata",
"HeaderPlayCount": "Visto N\u00b0",
"HeaderSeason": "Stagione",
"HeaderSeasonNumber": "Stagione Numero",
"HeaderSeries": "Serie:",
"HeaderNetwork": "Rete",
"HeaderYear": "Anno:",
"HeaderYears": "Anni",
"HeaderParentalRating": "Valutazione parentale",
"HeaderCommunityRating": "Voto Comunit\u00e0",
"HeaderTrailers": "Trailers",
"HeaderSpecials": "Speciali",
"HeaderGameSystems": "Sistemi di gioco",
"HeaderPlayers": "Giocatori",
"HeaderAlbumArtists": "Album Artisti",
"HeaderAlbums": "Album",
"HeaderDisc": "Disco",
"HeaderTrack": "Traccia",
"HeaderAudio": "Audio",
"HeaderVideo": "Video",
"HeaderEmbeddedImage": "Immagine incorporata",
"HeaderResolution": "Risoluzione",
"HeaderSubtitles": "Sottotitoli",
"HeaderGenres": "Generi",
"HeaderCountries": "Paesi",
"HeaderStatus": "Stato",
"HeaderTracks": "Traccia",
"HeaderMusicArtist": "Musica artisti",
"HeaderLocked": "Bloccato",
"HeaderStudios": "Studios",
"HeaderActor": "Attori",
"HeaderComposer": "Compositori",
"HeaderDirector": "Registi",
"HeaderGuestStar": "Personaggi famosi",
"HeaderProducer": "Produttori",
"HeaderWriter": "Sceneggiatori",
"HeaderParentalRatings": "Valutazioni genitori",
"HeaderCommunityRatings": "Valutazione Comunity",
"StartupEmbyServerIsLoading": "Emby server si sta avviando. Riprova tra un po"
"SubtitleDownloadFailureForItem": "Impossibile scaricare i sottotitoli per {0}",
"Sync": "Sincronizza",
"User": "Utente",
"System": "Sistema",
"Application": "Applicazione",
"Plugin": "Plug-in",
"LabelExit": "Esci",
"LabelVisitCommunity": "Visita il forum di discussione",
"LabelBrowseLibrary": "Esplora la libreria",
"LabelConfigureServer": "Configura Emby",
"LabelRestartServer": "Riavvia Server"
}

@ -1,178 +1,96 @@
{
"DbUpgradeMessage": "Emby Server \u0434\u0435\u0440\u0435\u043a\u049b\u043e\u0440\u044b\u04a3\u044b\u0437\u0434\u044b\u04a3 \u0436\u0430\u04a3\u0493\u044b\u0440\u0442\u044b\u043b\u0443\u044b\u043d \u043a\u04af\u0442\u0435 \u0442\u04b1\u0440\u044b\u04a3\u044b\u0437. {0} % \u0430\u044f\u049b\u0442\u0430\u043b\u0434\u044b.",
"Latest": "\u0415\u04a3 \u043a\u0435\u0439\u0456\u043d\u0433\u0456",
"ValueSpecialEpisodeName": "\u0410\u0440\u043d\u0430\u0439\u044b - {0}",
"Inherit": "\u041c\u04b1\u0440\u0430\u0493\u0430 \u0438\u0435\u043b\u0435\u043d\u0443",
"Books": "\u041a\u0456\u0442\u0430\u043f\u0442\u0430\u0440",
"Music": "\u041c\u0443\u0437\u044b\u043a\u0430",
"Games": "\u041e\u0439\u044b\u043d\u0434\u0430\u0440",
"Photos": "\u0424\u043e\u0442\u043e\u0441\u0443\u0440\u0435\u0442\u0442\u0435\u0440",
"MixedContent": "\u0410\u0440\u0430\u043b\u0430\u0441 \u043c\u0430\u0437\u043c\u04b1\u043d",
"MusicVideos": "\u041c\u0443\u0437\u044b\u043a\u0430\u043b\u044b\u049b \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u0440",
"HomeVideos": "\u04ae\u0439\u043b\u0456\u043a \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u0440",
"Playlists": "\u041e\u0439\u043d\u0430\u0442\u0443 \u0442\u0456\u0437\u0456\u043c\u0434\u0435\u0440\u0456",
"HeaderRecordingGroups": "\u0416\u0430\u0437\u0431\u0430 \u0442\u043e\u043f\u0442\u0430\u0440\u044b",
"HeaderContinueWatching": "\u049a\u0430\u0440\u0430\u0443\u0434\u044b \u0436\u0430\u043b\u0493\u0430\u0441\u0442\u044b\u0440\u0443",
"HeaderFavoriteArtists": "\u0422\u0430\u04a3\u0434\u0430\u0443\u043b\u044b \u043e\u0440\u044b\u043d\u0434\u0430\u0443\u0448\u044b\u043b\u0430\u0440",
"HeaderFavoriteSongs": "\u0422\u0430\u04a3\u0434\u0430\u0443\u043b\u044b \u04d9\u0443\u0435\u043d\u0434\u0435\u0440",
"HeaderAlbumArtists": "\u0410\u043b\u044c\u0431\u043e\u043c \u043e\u0440\u044b\u043d\u0434\u0430\u0443\u0448\u044b\u043b\u0430\u0440\u044b",
"HeaderFavoriteAlbums": "\u0422\u0430\u04a3\u0434\u0430\u0443\u043b\u044b \u0430\u043b\u044c\u0431\u043e\u043c\u0434\u0430\u0440",
"HeaderFavoriteEpisodes": "\u0422\u0430\u04a3\u0434\u0430\u0443\u043b\u044b \u0431\u04e9\u043b\u0456\u043c\u0434\u0435\u0440",
"HeaderFavoriteShows": "\u0422\u0430\u04a3\u0434\u0430\u0443\u043b\u044b \u043a\u04e9\u0440\u0441\u0435\u0442\u0456\u043c\u0434\u0435\u0440",
"HeaderNextUp": "\u041a\u0435\u0437\u0435\u043a\u0442\u0456",
"Favorites": "\u0422\u0430\u04a3\u0434\u0430\u0443\u043b\u044b\u043b\u0430\u0440",
"Collections": "\u0416\u0438\u044b\u043d\u0442\u044b\u049b\u0442\u0430\u0440",
"Channels": "\u0410\u0440\u043d\u0430\u043b\u0430\u0440",
"Movies": "\u0424\u0438\u043b\u044c\u043c\u0434\u0435\u0440",
"Albums": "\u0410\u043b\u044c\u0431\u043e\u043c\u0434\u0430\u0440",
"Artists": "\u041e\u0440\u044b\u043d\u0434\u0430\u0443\u0448\u044b\u043b\u0430\u0440",
"Folders": "\u049a\u0430\u043b\u0442\u0430\u043b\u0430\u0440",
"Songs": "\u04d8\u0443\u0435\u043d\u0434\u0435\u0440",
"TvShows": "\u0422\u0414-\u043a\u04e9\u0440\u0441\u0435\u0442\u0456\u043c\u0434\u0435\u0440",
"Shows": "\u041a\u04e9\u0440\u0441\u0435\u0442\u0456\u043c\u0434\u0435\u0440",
"Genres": "\u0416\u0430\u043d\u0440\u043b\u0430\u0440",
"NameSeasonNumber": "{0}-\u043c\u0430\u0443\u0441\u044b\u043c",
"AppDeviceValues": "\u049a\u043e\u043b\u0434\u0430\u043d\u0431\u0430: {0}, \u049a\u04b1\u0440\u044b\u043b\u0493\u044b: {1}",
"UserDownloadingItemWithValues": "{0} \u043c\u044b\u043d\u0430\u043d\u044b \u0436\u04af\u043a\u0442\u0435\u043f \u0430\u043b\u0443\u0434\u0430: {1}",
"FolderTypeMixed": "\u0410\u0440\u0430\u043b\u0430\u0441 \u043c\u0430\u0437\u043c\u04b1\u043d",
"FolderTypeMovies": "\u041a\u0438\u043d\u043e",
"FolderTypeMusic": "\u041c\u0443\u0437\u044b\u043a\u0430",
"FolderTypeAdultVideos": "\u0415\u0440\u0435\u0441\u0435\u043a\u0442\u0456\u043a \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u0440",
"FolderTypePhotos": "\u0424\u043e\u0442\u043e\u0441\u0443\u0440\u0435\u0442\u0442\u0435\u0440",
"FolderTypeMusicVideos": "\u041c\u0443\u0437\u044b\u043a\u0430\u043b\u044b\u049b \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u0440",
"FolderTypeHomeVideos": "\u04ae\u0439 \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u0440\u0456",
"FolderTypeGames": "\u041e\u0439\u044b\u043d\u0434\u0430\u0440",
"FolderTypeBooks": "\u041a\u0456\u0442\u0430\u043f\u0442\u0430\u0440",
"FolderTypeTvShows": "\u0422\u0414",
"FolderTypeInherit": "\u041c\u04b1\u0440\u0430\u0493\u0430 \u0438\u0435\u043b\u0435\u043d\u0443",
"HeaderCastCrew": "\u0421\u043e\u043c\u0434\u0430\u0443\u0448\u044b\u043b\u0430\u0440 \u043c\u0435\u043d \u0442\u04af\u0441\u0456\u0440\u0443\u0448\u0456\u043b\u0435\u0440",
"HeaderPeople": "\u0410\u0434\u0430\u043c\u0434\u0430\u0440",
"ValueSpecialEpisodeName": "\u0410\u0440\u043d\u0430\u0439\u044b - {0}",
"LabelChapterName": "{0}-\u0441\u0430\u0445\u043d\u0430",
"NameSeasonNumber": "{0}-\u0441\u0435\u0437\u043e\u043d",
"LabelExit": "\u0428\u044b\u0493\u0443",
"LabelVisitCommunity": "\u049a\u0430\u0443\u044b\u043c\u0434\u0430\u0441\u0442\u044b\u049b\u049b\u0430 \u0431\u0430\u0440\u0443",
"LabelGithub": "GitHub \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439\u0456",
"LabelApiDocumentation": "API \u049b\u04b1\u0436\u0430\u0442\u0442\u0430\u043c\u0430\u0441\u044b",
"LabelDeveloperResources": "\u0416\u0430\u0441\u0430\u049b\u0442\u0430\u0443\u0448\u044b \u043a\u04e9\u0437\u0434\u0435\u0440\u0456",
"LabelBrowseLibrary": "\u0422\u0430\u0441\u044b\u0493\u044b\u0448\u0445\u0430\u043d\u0430\u043d\u044b \u0448\u043e\u043b\u0443",
"LabelConfigureServer": "Emby \u0442\u0435\u04a3\u0448\u0435\u0443",
"LabelRestartServer": "\u0421\u0435\u0440\u0432\u0435\u0440\u0434\u0456 \u049b\u0430\u0439\u0442\u0430 \u0456\u0441\u043a\u0435 \u049b\u043e\u0441\u0443",
"CategorySync": "\u04ae\u043d\u0434\u0435\u0441\u0442\u0456\u0440\u0443",
"CategoryUser": "\u041f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b",
"CategorySystem": "\u0416\u04af\u0439\u0435",
"CategoryApplication": "\u049a\u043e\u043b\u0434\u0430\u043d\u0431\u0430",
"CategoryPlugin": "\u041f\u043b\u0430\u0433\u0438\u043d",
"NotificationOptionPluginError": "\u041f\u043b\u0430\u0433\u0438\u043d \u0441\u04d9\u0442\u0441\u0456\u0437\u0434\u0456\u0433\u0456",
"NotificationOptionApplicationUpdateAvailable": "\u049a\u043e\u043b\u0434\u0430\u043d\u0431\u0430 \u0436\u0430\u04a3\u0430\u0440\u0442\u0443\u044b \u049b\u043e\u043b \u0436\u0435\u0442\u0456\u043c\u0434\u0456",
"NotificationOptionApplicationUpdateInstalled": "\u049a\u043e\u043b\u0434\u0430\u043d\u0431\u0430 \u0436\u0430\u04a3\u0430\u0440\u0442\u0443\u044b \u043e\u0440\u043d\u0430\u0442\u044b\u043b\u0434\u044b",
"NotificationOptionPluginUpdateInstalled": "\u041f\u043b\u0430\u0433\u0438\u043d \u0436\u0430\u04a3\u0430\u0440\u0442\u0443\u044b \u043e\u0440\u043d\u0430\u0442\u044b\u043b\u0434\u044b",
"NotificationOptionPluginInstalled": "\u041f\u043b\u0430\u0433\u0438\u043d \u043e\u0440\u043d\u0430\u0442\u044b\u043b\u0434\u044b",
"NotificationOptionPluginUninstalled": "\u041f\u043b\u0430\u0433\u0438\u043d \u043e\u0440\u043d\u0430\u0442\u0443\u044b \u0431\u043e\u043b\u0434\u044b\u0440\u044b\u043b\u043c\u0430\u0434\u044b",
"NotificationOptionVideoPlayback": "\u0411\u0435\u0439\u043d\u0435 \u043e\u0439\u043d\u0430\u0442\u0443\u044b \u0431\u0430\u0441\u0442\u0430\u043b\u0434\u044b",
"NotificationOptionAudioPlayback": "\u0414\u044b\u0431\u044b\u0441 \u043e\u0439\u043d\u0430\u0442\u0443\u044b \u0431\u0430\u0441\u0442\u0430\u043b\u0434\u044b",
"NotificationOptionGamePlayback": "\u041e\u0439\u044b\u043d \u043e\u0439\u043d\u0430\u0442\u0443\u044b \u0431\u0430\u0441\u0442\u0430\u043b\u0434\u044b",
"NotificationOptionVideoPlaybackStopped": "\u0411\u0435\u0439\u043d\u0435 \u043e\u0439\u043d\u0430\u0442\u0443\u044b \u0442\u043e\u049b\u0442\u0430\u0442\u044b\u043b\u0434\u044b",
"NotificationOptionAudioPlaybackStopped": "\u0414\u044b\u0431\u044b\u0441 \u043e\u0439\u043d\u0430\u0442\u0443\u044b \u0442\u043e\u049b\u0442\u0430\u0442\u044b\u043b\u0434\u044b",
"NotificationOptionGamePlaybackStopped": "\u041e\u0439\u044b\u043d \u043e\u0439\u043d\u0430\u0442\u0443\u044b \u0442\u043e\u049b\u0442\u0430\u0442\u044b\u043b\u0434\u044b",
"NotificationOptionTaskFailed": "\u0416\u043e\u0441\u043f\u0430\u0440\u043b\u0430\u0493\u0430\u043d \u0442\u0430\u043f\u0441\u044b\u0440\u043c\u0430 \u0441\u04d9\u0442\u0441\u0456\u0437\u0434\u0456\u0433\u0456",
"NotificationOptionInstallationFailed": "\u041e\u0440\u043d\u0430\u0442\u0443 \u0441\u04d9\u0442\u0441\u0456\u0437\u0434\u0456\u0433\u0456",
"NotificationOptionNewLibraryContent": "\u0416\u0430\u04a3\u0430 \u043c\u0430\u0437\u043c\u04b1\u043d \u04af\u0441\u0442\u0435\u043b\u0433\u0435\u043d",
"NotificationOptionNewLibraryContentMultiple": "\u0416\u0430\u04a3\u0430 \u043c\u0430\u0437\u043c\u04b1\u043d \u049b\u043e\u0441\u044b\u043b\u0434\u044b (\u043a\u04e9\u043f\u0442\u0435\u0433\u0435\u043d)",
"NotificationOptionCameraImageUploaded": "\u041a\u0430\u043c\u0435\u0440\u0430\u0434\u0430\u043d \u0444\u043e\u0442\u043e\u0441\u0443\u0440\u0435\u0442 \u043a\u0435\u0440\u0456 \u049b\u043e\u0442\u0430\u0440\u044b\u043b\u0493\u0430\u043d",
"NotificationOptionUserLockedOut": "\u041f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b \u049b\u04b1\u0440\u0441\u0430\u0443\u043b\u044b",
"NotificationOptionServerRestartRequired": "\u0421\u0435\u0440\u0432\u0435\u0440\u0434\u0456 \u049b\u0430\u0439\u0442\u0430 \u0456\u0441\u043a\u0435 \u049b\u043e\u0441\u0443 \u049b\u0430\u0436\u0435\u0442",
"ViewTypePlaylists": "\u041e\u0439\u043d\u0430\u0442\u0443 \u0442\u0456\u0437\u0456\u043c\u0434\u0435\u0440\u0456",
"ViewTypeMovies": "\u041a\u0438\u043d\u043e",
"ViewTypeTvShows": "\u0422\u0414",
"ViewTypeGames": "\u041e\u0439\u044b\u043d\u0434\u0430\u0440",
"ViewTypeMusic": "\u041c\u0443\u0437\u044b\u043a\u0430",
"ViewTypeMusicGenres": "\u0416\u0430\u043d\u0440\u043b\u0430\u0440",
"ViewTypeMusicArtists": "\u041e\u0440\u044b\u043d\u0434\u0430\u0443\u0448\u044b\u043b\u0430\u0440",
"ViewTypeBoxSets": "\u0416\u0438\u044b\u043d\u0442\u044b\u049b\u0442\u0430\u0440",
"ViewTypeChannels": "\u0410\u0440\u043d\u0430\u043b\u0430\u0440",
"ViewTypeLiveTV": "\u042d\u0444\u0438\u0440\u043b\u0456\u043a \u0422\u0414",
"ViewTypeLiveTvNowPlaying": "\u042d\u0444\u0438\u0440\u0434\u0435",
"ViewTypeLatestGames": "\u0415\u04a3 \u043a\u0435\u0439\u0456\u043d\u0433\u0456 \u043e\u0439\u044b\u043d\u0434\u0430\u0440",
"ViewTypeRecentlyPlayedGames": "\u0416\u0430\u049b\u044b\u043d\u0434\u0430 \u043e\u0439\u043d\u0430\u0442\u044b\u043b\u0493\u0430\u043d\u0434\u0430\u0440",
"ViewTypeGameFavorites": "\u0422\u0430\u04a3\u0434\u0430\u0443\u043b\u044b\u043b\u0430\u0440",
"ViewTypeGameSystems": "\u041e\u0439\u044b\u043d \u0436\u04af\u0439\u0435\u043b\u0435\u0440\u0456",
"ViewTypeGameGenres": "\u0416\u0430\u043d\u0440\u043b\u0430\u0440",
"ViewTypeTvResume": "\u0416\u0430\u043b\u0493\u0430\u0441\u0442\u044b\u0440\u043c\u0430\u043b\u044b",
"ViewTypeTvNextUp": "\u041a\u0435\u0437\u0435\u043a\u0442\u0456",
"ViewTypeTvLatest": "\u0415\u04a3 \u043a\u0435\u0439\u0456\u043d\u0433\u0456",
"ViewTypeTvShowSeries": "\u0422\u0435\u043b\u0435\u0445\u0438\u043a\u0430\u044f\u043b\u0430\u0440",
"ViewTypeTvGenres": "\u0416\u0430\u043d\u0440\u043b\u0430\u0440",
"ViewTypeTvFavoriteSeries": "\u0422\u0430\u04a3\u0434\u0430\u0443\u043b\u044b \u0442\u0435\u043b\u0435\u0445\u0438\u043a\u0430\u044f\u043b\u0430\u0440",
"ViewTypeTvFavoriteEpisodes": "\u0422\u0430\u04a3\u0434\u0430\u0443\u043b\u044b \u0431\u04e9\u043b\u0456\u043c\u0434\u0435\u0440",
"ViewTypeMovieResume": "\u0416\u0430\u043b\u0493\u0430\u0441\u0442\u044b\u0440\u043c\u0430\u043b\u044b",
"ViewTypeMovieLatest": "\u0415\u04a3 \u043a\u0435\u0439\u0456\u043d\u0433\u0456",
"ViewTypeMovieMovies": "\u0424\u0438\u043b\u044c\u043c\u0434\u0435\u0440",
"ViewTypeMovieCollections": "\u0416\u0438\u044b\u043d\u0442\u044b\u049b\u0442\u0430\u0440",
"ViewTypeMovieFavorites": "\u0422\u0430\u04a3\u0434\u0430\u0443\u043b\u044b\u043b\u0430\u0440",
"ViewTypeMovieGenres": "\u0416\u0430\u043d\u0440\u043b\u0430\u0440",
"ViewTypeMusicLatest": "\u0415\u04a3 \u043a\u0435\u0439\u0456\u043d\u0433\u0456",
"ViewTypeMusicPlaylists": "\u041e\u0439\u043d\u0430\u0442\u0443 \u0442\u0456\u0437\u0456\u043c\u0434\u0435\u0440\u0456",
"ViewTypeMusicAlbums": "\u0410\u043b\u044c\u0431\u043e\u043c\u0434\u0430\u0440",
"ViewTypeMusicAlbumArtists": "\u0410\u043b\u044c\u0431\u043e\u043c \u043e\u0440\u044b\u043d\u0434\u0430\u0443\u0448\u044b\u043b\u0430\u0440\u044b",
"HeaderOtherDisplaySettings": "\u0411\u0435\u0439\u043d\u0435\u043b\u0435\u0443 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043b\u0435\u0440\u0456",
"ViewTypeMusicSongs": "\u04d8\u0443\u0435\u043d\u0434\u0435\u0440",
"ViewTypeMusicFavorites": "\u0422\u0430\u04a3\u0434\u0430\u0443\u043b\u044b\u043b\u0430\u0440",
"ViewTypeMusicFavoriteAlbums": "\u0422\u0430\u04a3\u0434\u0430\u0443\u043b\u044b \u0430\u043b\u044c\u0431\u043e\u043c\u0434\u0430\u0440",
"ViewTypeMusicFavoriteArtists": "\u0422\u0430\u04a3\u0434\u0430\u0443\u043b\u044b \u043e\u0440\u044b\u043d\u0434\u0430\u0443\u0448\u044b\u043b\u0430\u0440",
"ViewTypeMusicFavoriteSongs": "\u0422\u0430\u04a3\u0434\u0430\u0443\u043b\u044b \u04d9\u0443\u0435\u043d\u0434\u0435\u0440",
"ViewTypeFolders": "\u049a\u0430\u043b\u0442\u0430\u043b\u0430\u0440",
"ViewTypeLiveTvRecordingGroups": "\u0416\u0430\u0437\u0431\u0430\u043b\u0430\u0440",
"ViewTypeLiveTvChannels": "\u0410\u0440\u043d\u0430\u043b\u0430\u0440",
"HeaderLiveTV": "\u042d\u0444\u0438\u0440",
"ChapterNameValue": "{0}-\u0441\u0430\u0445\u043d\u0430",
"ScheduledTaskFailedWithName": "{0} \u0441\u04d9\u0442\u0441\u0456\u0437",
"LabelRunningTimeValue": "\u0406\u0441\u043a\u0435 \u049b\u043e\u0441\u044b\u043b\u0443 \u0443\u0430\u049b\u044b\u0442\u044b: {0}",
"ScheduledTaskStartedWithName": "{0} \u0456\u0441\u043a\u0435 \u049b\u043e\u0441\u044b\u043b\u0434\u044b",
"VersionNumber": "\u041d\u04b1\u0441\u049b\u0430\u0441\u044b: {0}",
"PluginInstalledWithName": "{0} \u043e\u0440\u043d\u0430\u0442\u044b\u043b\u0434\u044b",
"StartupEmbyServerIsLoading": "Emby Server \u0436\u04af\u043a\u0442\u0435\u043b\u0443\u0434\u0435. \u04d8\u0440\u0435\u043a\u0435\u0442\u0442\u0456 \u043a\u04e9\u043f \u04b1\u0437\u0430\u043c\u0430\u0439 \u049b\u0430\u0439\u0442\u0430\u043b\u0430\u04a3\u044b\u0437.",
"PluginUpdatedWithName": "{0} \u0436\u0430\u04a3\u0430\u0440\u0442\u044b\u043b\u0434\u044b",
"PluginUninstalledWithName": "{0} \u0436\u043e\u0439\u044b\u043b\u0434\u044b",
"ItemAddedWithName": "{0} (\u0442\u0430\u0441\u044b\u0493\u044b\u0448\u0445\u0430\u043d\u0430\u0493\u0430 \u04af\u0441\u0442\u0435\u043b\u0456\u043d\u0434\u0456)",
"ItemRemovedWithName": "{0} (\u0442\u0430\u0441\u044b\u0493\u044b\u0448\u0445\u0430\u043d\u0430\u0434\u0430\u043d \u0430\u043b\u0430\u0441\u0442\u0430\u043b\u0434\u044b)",
"LabelIpAddressValue": "IP \u043c\u0435\u043a\u0435\u043d\u0436\u0430\u0439\u044b: {0}",
"ItemAddedWithName": "{0} \u0442\u0430\u0441\u044b\u0493\u044b\u0448\u0445\u0430\u043d\u0430\u0493\u0430 \u04af\u0441\u0442\u0435\u043b\u0456\u043d\u0434\u0456",
"ItemRemovedWithName": "{0} \u0442\u0430\u0441\u044b\u0493\u044b\u0448\u0445\u0430\u043d\u0430\u0434\u0430\u043d \u0430\u043b\u0430\u0441\u0442\u0430\u043b\u0434\u044b",
"LabelIpAddressValue": "IP-\u043c\u0435\u043a\u0435\u043d\u0436\u0430\u0439\u044b: {0}",
"DeviceOnlineWithName": "{0} \u049b\u043e\u0441\u044b\u043b\u0493\u0430\u043d",
"UserOnlineFromDevice": "{0} - {1} \u0430\u0440\u049b\u044b\u043b\u044b \u049b\u043e\u0441\u044b\u043b\u0493\u0430\u043d",
"ProviderValue": "\u0416\u0435\u0442\u043a\u0456\u0437\u0443\u0448\u0456: {0}",
"SubtitlesDownloadedForItem": "\u0421\u0443\u0431\u0442\u0438\u0442\u0440\u043b\u0435\u0440 {0} \u04af\u0448\u0456\u043d \u0436\u04af\u043a\u0442\u0435\u043b\u0456\u043f \u0430\u043b\u044b\u043d\u0434\u044b",
"UserConfigurationUpdatedWithName": "\u041f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b {0} \u04af\u0448\u0456\u043d \u0442\u0435\u04a3\u0448\u0435\u043b\u0456\u043c \u0436\u0430\u04a3\u0430\u0440\u0442\u044b\u043b\u0434\u044b",
"SubtitlesDownloadedForItem": "{0} \u04af\u0448\u0456\u043d \u0441\u0443\u0431\u0442\u0438\u0442\u0440\u043b\u0435\u0440 \u0436\u04af\u043a\u0442\u0435\u043b\u0456\u043f \u0430\u043b\u044b\u043d\u0434\u044b",
"UserCreatedWithName": "\u041f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b {0} \u0436\u0430\u0441\u0430\u043b\u0493\u0430\u043d",
"UserPasswordChangedWithName": "\u041f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b {0} \u04af\u0448\u0456\u043d \u049b\u04b1\u043f\u0438\u044f \u0441\u04e9\u0437 \u04e9\u0437\u0433\u0435\u0440\u0442\u0456\u043b\u0434\u0456",
"UserDeletedWithName": "\u041f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b {0} \u0436\u043e\u0439\u044b\u043b\u0493\u0430\u043d",
"UserConfigurationUpdatedWithName": "\u041f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b {0} \u04af\u0448\u0456\u043d \u0442\u0435\u04a3\u0448\u0435\u043b\u0456\u043c \u0436\u0430\u04a3\u0430\u0440\u0442\u044b\u043b\u0434\u044b",
"MessageServerConfigurationUpdated": "\u0421\u0435\u0440\u0432\u0435\u0440 \u0442\u0435\u04a3\u0448\u0435\u043b\u0456\u043c\u0456 \u0436\u0430\u04a3\u0430\u0440\u0442\u044b\u043b\u0434\u044b",
"MessageNamedServerConfigurationUpdatedWithValue": "\u0421\u0435\u0440\u0432\u0435\u0440 \u0442\u0435\u04a3\u0448\u0435\u043b\u0456\u043c\u0456 ({0} \u0431\u04e9\u043b\u0456\u043c\u0456) \u0436\u0430\u04a3\u0430\u0440\u0442\u044b\u043b\u0434\u044b",
"MessageApplicationUpdated": "Emby Server \u0436\u0430\u04a3\u0430\u0440\u0442\u044b\u043b\u0434\u044b.",
"FailedLoginAttemptWithUserName": "{0} \u043a\u0456\u0440\u0443 \u04d9\u0440\u0435\u043a\u0435\u0442\u0456 \u0441\u04d9\u0442\u0441\u0456\u0437",
"FailedLoginAttemptWithUserName": "{0} \u0442\u0430\u0440\u0430\u043f\u044b\u043d\u0430\u043d \u043a\u0456\u0440\u0443 \u04d9\u0440\u0435\u043a\u0435\u0442\u0456 \u0441\u04d9\u0442\u0441\u0456\u0437",
"AuthenticationSucceededWithUserName": "{0} \u0442\u04af\u043f\u043d\u04b1\u0441\u049b\u0430\u043b\u044b\u0493\u044b\u043d \u0440\u0430\u0441\u0442\u0430\u043b\u0443\u044b \u0441\u04d9\u0442\u0442\u0456",
"UserOfflineFromDevice": "{0} - {1} \u0442\u0430\u0440\u0430\u043f\u044b\u043d\u0430\u043d \u0430\u0436\u044b\u0440\u0430\u0442\u044b\u043b\u0493\u0430\u043d",
"DeviceOfflineWithName": "{0} \u0430\u0436\u044b\u0440\u0430\u0442\u044b\u043b\u0493\u0430\u043d",
"UserLockedOutWithName": "\u041f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b {0} \u049b\u04b1\u0440\u0441\u0430\u0443\u043b\u044b",
"UserOfflineFromDevice": "{0} - {1} \u0430\u0440\u049b\u044b\u043b\u044b \u0430\u0436\u044b\u0440\u0430\u0442\u044b\u043b\u0493\u0430\u043d",
"UserStartedPlayingItemWithValues": "{0} - {1} \u043e\u0439\u043d\u0430\u0442\u0443\u044b\u043d \u0431\u0430\u0441\u0442\u0430\u0434\u044b",
"UserStoppedPlayingItemWithValues": "{0} - {1} \u043e\u0439\u043d\u0430\u0442\u0443\u044b\u043d \u0442\u043e\u049b\u0442\u0430\u0442\u0442\u044b",
"NotificationOptionPluginError": "\u041f\u043b\u0430\u0433\u0438\u043d \u0441\u04d9\u0442\u0441\u0456\u0437\u0434\u0456\u0433\u0456",
"NotificationOptionApplicationUpdateAvailable": "\u049a\u043e\u043b\u0434\u0430\u043d\u0431\u0430 \u0436\u0430\u04a3\u0430\u0440\u0442\u0443\u044b \u049b\u043e\u043b\u0436\u0435\u0442\u0456\u043c\u0434\u0456",
"NotificationOptionApplicationUpdateInstalled": "\u049a\u043e\u043b\u0434\u0430\u043d\u0431\u0430 \u0436\u0430\u04a3\u0430\u0440\u0442\u0443\u044b \u043e\u0440\u043d\u0430\u0442\u044b\u043b\u0434\u044b",
"NotificationOptionPluginUpdateInstalled": "\u041f\u043b\u0430\u0433\u0438\u043d \u0436\u0430\u04a3\u0430\u0440\u0442\u0443\u044b \u043e\u0440\u043d\u0430\u0442\u044b\u043b\u0434\u044b",
"NotificationOptionPluginInstalled": "\u041f\u043b\u0430\u0433\u0438\u043d \u043e\u0440\u043d\u0430\u0442\u044b\u043b\u0434\u044b",
"NotificationOptionPluginUninstalled": "\u041f\u043b\u0430\u0433\u0438\u043d \u043e\u0440\u043d\u0430\u0442\u0443\u044b \u0431\u043e\u043b\u0434\u044b\u0440\u044b\u043b\u043c\u0430\u0434\u044b",
"NotificationOptionVideoPlayback": "\u0411\u0435\u0439\u043d\u0435 \u043e\u0439\u043d\u0430\u0442\u0443\u044b \u0431\u0430\u0441\u0442\u0430\u043b\u0434\u044b",
"NotificationOptionAudioPlayback": "\u0414\u044b\u0431\u044b\u0441 \u043e\u0439\u043d\u0430\u0442\u0443\u044b \u0431\u0430\u0441\u0442\u0430\u043b\u0434\u044b",
"NotificationOptionGamePlayback": "\u041e\u0439\u044b\u043d \u043e\u0439\u043d\u0430\u0442\u0443\u044b \u0431\u0430\u0441\u0442\u0430\u043b\u0434\u044b",
"NotificationOptionVideoPlaybackStopped": "\u0411\u0435\u0439\u043d\u0435 \u043e\u0439\u043d\u0430\u0442\u0443\u044b \u0442\u043e\u049b\u0442\u0430\u0442\u044b\u043b\u0434\u044b",
"NotificationOptionAudioPlaybackStopped": "\u0414\u044b\u0431\u044b\u0441 \u043e\u0439\u043d\u0430\u0442\u0443\u044b \u0442\u043e\u049b\u0442\u0430\u0442\u044b\u043b\u0434\u044b",
"NotificationOptionGamePlaybackStopped": "\u041e\u0439\u044b\u043d \u043e\u0439\u043d\u0430\u0442\u0443\u044b \u0442\u043e\u049b\u0442\u0430\u0442\u044b\u043b\u0434\u044b",
"NotificationOptionTaskFailed": "\u0416\u043e\u0441\u043f\u0430\u0440\u043b\u0430\u0493\u0430\u043d \u0442\u0430\u043f\u0441\u044b\u0440\u043c\u0430 \u0441\u04d9\u0442\u0441\u0456\u0437\u0434\u0456\u0433\u0456",
"NotificationOptionInstallationFailed": "\u041e\u0440\u043d\u0430\u0442\u0443 \u0441\u04d9\u0442\u0441\u0456\u0437\u0434\u0456\u0433\u0456",
"NotificationOptionNewLibraryContent": "\u0416\u0430\u04a3\u0430 \u043c\u0430\u0437\u043c\u04b1\u043d \u04af\u0441\u0442\u0435\u043b\u0433\u0435\u043d",
"NotificationOptionCameraImageUploaded": "\u041a\u0430\u043c\u0435\u0440\u0430\u0434\u0430\u043d \u0444\u043e\u0442\u043e\u0441\u0443\u0440\u0435\u0442 \u043a\u0435\u0440\u0456 \u049b\u043e\u0442\u0430\u0440\u044b\u043b\u0493\u0430\u043d",
"NotificationOptionUserLockedOut": "\u041f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b \u049b\u04b1\u0440\u0441\u0430\u0443\u043b\u044b",
"NotificationOptionServerRestartRequired": "\u0421\u0435\u0440\u0432\u0435\u0440\u0434\u0456 \u049b\u0430\u0439\u0442\u0430 \u0456\u0441\u043a\u0435 \u049b\u043e\u0441\u0443 \u049b\u0430\u0436\u0435\u0442",
"UserLockedOutWithName": "\u041f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b {0} \u049b\u04b1\u0440\u0441\u0430\u0443\u043b\u044b",
"SubtitleDownloadFailureForItem": "\u0421\u0443\u0431\u0442\u0438\u0442\u0440\u043b\u0435\u0440 {0} \u04af\u0448\u0456\u043d \u0436\u04af\u043a\u0442\u0435\u043b\u0456\u043f \u0430\u043b\u044b\u043d\u0443\u044b \u0441\u04d9\u0442\u0441\u0456\u0437",
"HeaderUnidentified": "\u0410\u043d\u044b\u049b\u0442\u0430\u043b\u043c\u0430\u0493\u0430\u043d",
"HeaderImagePrimary": "\u041d\u0435\u0433\u0456\u0437\u0433\u0456",
"HeaderImageBackdrop": "\u0410\u0440\u0442\u049b\u044b \u0441\u0443\u0440\u0435\u0442",
"HeaderImageLogo": "\u041b\u043e\u0433\u043e\u0442\u0438\u043f",
"HeaderUserPrimaryImage": "\u041f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b \u0441\u0443\u0440\u0435\u0442\u0456",
"HeaderOverview": "\u0416\u0430\u043b\u043f\u044b \u0448\u043e\u043b\u0443",
"HeaderShortOverview": "\u049a\u044b\u0441\u049b\u0430\u0448\u0430 \u0448\u043e\u043b\u0443",
"HeaderType": "\u0422\u04af\u0440\u0456",
"HeaderSeverity": "\u049a\u0438\u044b\u043d\u0434\u044b\u0493\u044b",
"HeaderUser": "\u041f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b",
"HeaderName": "\u0410\u0442\u044b",
"HeaderDate": "\u041a\u04af\u043d\u0456",
"HeaderPremiereDate": "\u0422\u04b1\u0441\u0430\u0443\u043a\u0435\u0441\u0435\u0440 \u043a\u04af\u043d\u0456",
"HeaderDateAdded": "\u04ae\u0441\u0442\u0435\u043b\u0433\u0435\u043d \u043a\u04af\u043d\u0456",
"HeaderReleaseDate": "\u0428\u044b\u0493\u0430\u0440\u0443 \u043a\u04af\u043d\u0456",
"HeaderRuntime": "\u04b0\u0437\u0430\u049b\u0442\u044b\u0493\u044b",
"HeaderPlayCount": "\u041e\u0439\u043d\u0430\u0442\u0443 \u0435\u0441\u0435\u0431\u0456",
"HeaderSeason": "\u041c\u0430\u0443\u0441\u044b\u043c",
"HeaderSeasonNumber": "\u041c\u0430\u0443\u0441\u044b\u043c \u043d\u04e9\u043c\u0456\u0440\u0456",
"HeaderSeries": "\u0422\u0435\u043b\u0435\u0445\u0438\u043a\u0430\u044f\u043b\u0430\u0440",
"HeaderNetwork": "\u0422\u0435\u043b\u0435\u0436\u0435\u043b\u0456",
"HeaderYear": "\u0416\u044b\u043b:",
"HeaderYears": "\u0416\u044b\u043b\u0434\u0430\u0440:",
"HeaderParentalRating": "\u0416\u0430\u0441\u0442\u0430\u0441 \u0441\u0430\u043d\u0430\u0442\u044b",
"HeaderCommunityRating": "\u049a\u0430\u0443\u044b\u043c \u0431\u0430\u0493\u0430\u043b\u0430\u0443\u044b",
"HeaderTrailers": "\u0422\u0440\u0435\u0439\u043b\u0435\u0440\u043b\u0435\u0440",
"HeaderSpecials": "\u0410\u0440\u043d\u0430\u0439\u044b \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0434\u0430\u0440",
"HeaderGameSystems": "\u041e\u0439\u044b\u043d \u0436\u04af\u0439\u0435\u043b\u0435\u0440\u0456",
"HeaderPlayers": "\u041e\u0439\u044b\u043d\u0448\u044b\u043b\u0430\u0440:",
"HeaderAlbumArtists": "\u0410\u043b\u044c\u0431\u043e\u043c \u043e\u0440\u044b\u043d\u0434\u0430\u0443\u0448\u044b\u043b\u0430\u0440\u044b",
"HeaderAlbums": "\u0410\u043b\u044c\u0431\u043e\u043c\u0434\u0430\u0440",
"HeaderDisc": "\u0414\u0438\u0441\u043a\u0456",
"HeaderTrack": "\u0416\u043e\u043b\u0448\u044b\u049b",
"HeaderAudio": "\u0414\u044b\u0431\u044b\u0441",
"HeaderVideo": "\u0411\u0435\u0439\u043d\u0435",
"HeaderEmbeddedImage": "\u0415\u043d\u0434\u0456\u0440\u0456\u043b\u0433\u0435\u043d \u0441\u0443\u0440\u0435\u0442",
"HeaderResolution": "\u0410\u0436\u044b\u0440\u0430\u0442\u044b\u043c\u0434\u044b\u043b\u044b\u0493\u044b",
"HeaderSubtitles": "\u0421\u0443\u0431\u0442\u0438\u0442\u0440\u043b\u0435\u0440",
"HeaderGenres": "\u0416\u0430\u043d\u0440\u043b\u0430\u0440",
"HeaderCountries": "\u0415\u043b\u0434\u0435\u0440",
"HeaderStatus": "\u041a\u04af\u0439",
"HeaderTracks": "\u0416\u043e\u043b\u0448\u044b\u049b\u0442\u0430\u0440",
"HeaderMusicArtist": "\u041c\u0443\u0437\u044b\u043a\u0430 \u043e\u0440\u044b\u043d\u0434\u0430\u0443\u0448\u044b",
"HeaderLocked": "\u049a\u04b1\u043b\u044b\u043f\u0442\u0430\u043b\u0493\u0430\u043d",
"HeaderStudios": "\u0421\u0442\u0443\u0434\u0438\u044f\u043b\u0430\u0440",
"HeaderActor": "\u0410\u043a\u0442\u0435\u0440\u043b\u0435\u0440",
"HeaderComposer": "\u041a\u043e\u043c\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u043b\u0430\u0440",
"HeaderDirector": "\u0420\u0435\u0436\u0438\u0441\u0441\u0435\u0440\u043b\u0435\u0440",
"HeaderGuestStar": "\u0428\u0430\u049b\u044b\u0440\u044b\u043b\u0493\u0430\u043d \u0430\u043a\u0442\u0435\u0440",
"HeaderProducer": "\u041f\u0440\u043e\u0434\u044e\u0441\u0435\u0440\u043b\u0435\u0440",
"HeaderWriter": "\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439\u0448\u0456\u043b\u0435\u0440",
"HeaderParentalRatings": "\u0416\u0430\u0441\u0442\u0430\u0441 \u0441\u0430\u043d\u0430\u0442\u0442\u0430\u0440",
"HeaderCommunityRatings": "\u049a\u0430\u0443\u044b\u043c \u0431\u0430\u0493\u0430\u043b\u0430\u0443\u043b\u0430\u0440\u044b",
"StartupEmbyServerIsLoading": "Emby Server \u0436\u04af\u043a\u0442\u0435\u043b\u0443\u0434\u0435. \u04d8\u0440\u0435\u043a\u0435\u0442\u0442\u0456 \u043a\u04e9\u043f \u04b1\u0437\u0430\u043c\u0430\u0439 \u049b\u0430\u0439\u0442\u0430\u043b\u0430\u04a3\u044b\u0437."
"Sync": "\u04ae\u043d\u0434\u0435\u0441\u0442\u0456\u0440\u0443",
"User": "\u041f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b",
"System": "\u0416\u04af\u0439\u0435",
"Application": "\u049a\u043e\u043b\u0434\u0430\u043d\u0431\u0430",
"Plugin": "\u041f\u043b\u0430\u0433\u0438\u043d",
"LabelExit": "\u0428\u044b\u0493\u0443",
"LabelVisitCommunity": "\u049a\u0430\u0443\u044b\u043c\u0434\u0430\u0441\u0442\u044b\u049b\u049b\u0430 \u0431\u0430\u0440\u0443",
"LabelBrowseLibrary": "\u0422\u0430\u0441\u044b\u0493\u044b\u0448\u0445\u0430\u043d\u0430\u043d\u044b \u0448\u043e\u043b\u0443",
"LabelConfigureServer": "Emby \u0442\u0435\u04a3\u0448\u0435\u0443",
"LabelRestartServer": "\u0421\u0435\u0440\u0432\u0435\u0440\u0434\u0456 \u049b\u0430\u0439\u0442\u0430 \u0456\u0441\u043a\u0435 \u049b\u043e\u0441\u0443"
}

@ -1,178 +1,96 @@
{
"DbUpgradeMessage": "Please wait while your Emby Server database is upgraded. {0}% complete.",
"AppDeviceValues": "\uc571: {0}, \uc7a5\uce58: {1}",
"UserDownloadingItemWithValues": "{0} is downloading {1}",
"FolderTypeMixed": "\ud63c\ud569 \ucf58\ud150\ud2b8",
"FolderTypeMovies": "\uc601\ud654",
"FolderTypeMusic": "\uc74c\uc545",
"FolderTypeAdultVideos": "\uc131\uc778 \ube44\ub514\uc624",
"FolderTypePhotos": "\uc0ac\uc9c4",
"FolderTypeMusicVideos": "\ubba4\uc9c1 \ube44\ub514\uc624",
"FolderTypeHomeVideos": "\ud648 \ube44\ub514\uc624",
"FolderTypeGames": "\uac8c\uc784",
"FolderTypeBooks": "\ucc45",
"FolderTypeTvShows": "TV",
"FolderTypeInherit": "Inherit",
"HeaderCastCrew": "\ubc30\uc5ed \ubc0f \uc81c\uc791\uc9c4",
"HeaderPeople": "People",
"Latest": "Latest",
"ValueSpecialEpisodeName": "Special - {0}",
"LabelChapterName": "\ucc55\ud130 {0}",
"NameSeasonNumber": "\uc2dc\uc98c {0}",
"LabelExit": "\uc885\ub8cc",
"LabelVisitCommunity": "\ucee4\ubba4\ub2c8\ud2f0 \ubc29\ubb38",
"LabelGithub": "Github",
"LabelApiDocumentation": "Api \ubb38\uc11c",
"LabelDeveloperResources": "\uac1c\ubc1c\uc790 \ub9ac\uc18c\uc2a4",
"LabelBrowseLibrary": "\ub77c\uc774\ube0c\ub7ec\ub9ac \ud0d0\uc0c9",
"LabelConfigureServer": "Emby \uc124\uc815",
"LabelRestartServer": "\uc11c\ubc84 \uc7ac\uc2dc\ub3d9",
"CategorySync": "\ub3d9\uae30\ud654",
"CategoryUser": "\uc0ac\uc6a9\uc790",
"CategorySystem": "\uc2dc\uc2a4\ud15c",
"CategoryApplication": "\uc560\ud50c\ub9ac\ucf00\uc774\uc158",
"CategoryPlugin": "\ud50c\ub7ec\uadf8\uc778",
"NotificationOptionPluginError": "\ud50c\ub7ec\uadf8\uc778 \uc2e4\ud328",
"NotificationOptionApplicationUpdateAvailable": "\uc560\ud50c\ub9ac\ucf00\uc774\uc158 \uc5c5\ub370\uc774\ud2b8 \uc0ac\uc6a9 \uac00\ub2a5",
"NotificationOptionApplicationUpdateInstalled": "\uc560\ud50c\ub9ac\ucf00\uc774\uc158 \uc5c5\ub370\uc774\ud2b8 \uc124\uce58\ub428",
"NotificationOptionPluginUpdateInstalled": "\ud50c\ub7ec\uadf8\uc778 \uc5c5\ub370\uc774\ud2b8 \uc124\uce58\ub428",
"NotificationOptionPluginInstalled": "\ud50c\ub7ec\uadf8\uc778 \uc124\uce58\ub428",
"NotificationOptionPluginUninstalled": "\ud50c\ub7ec\uadf8\uc778 \uc124\uce58 \uc81c\uac70\ub428",
"NotificationOptionVideoPlayback": "\ube44\ub514\uc624 \uc7ac\uc0dd \uc2dc\uc791\ub428",
"NotificationOptionAudioPlayback": "\uc624\ub514\uc624 \uc7ac\uc0dd \uc2dc\uc791\ub428",
"NotificationOptionGamePlayback": "\uac8c\uc784 \ud50c\ub808\uc774 \uc9c0\uc791\ub428",
"NotificationOptionVideoPlaybackStopped": "\ube44\ub514\uc624 \uc7ac\uc0dd \uc911\uc9c0\ub428",
"NotificationOptionAudioPlaybackStopped": "\uc624\ub514\uc624 \uc7ac\uc0dd \uc911\uc9c0\ub428",
"NotificationOptionGamePlaybackStopped": "\uac8c\uc784 \ud50c\ub808\uc774 \uc911\uc9c0\ub428",
"NotificationOptionTaskFailed": "\uc608\uc57d \uc791\uc5c5 \uc2e4\ud328",
"NotificationOptionInstallationFailed": "\uc124\uce58 \uc2e4\ud328",
"NotificationOptionNewLibraryContent": "\uc0c8 \ucf58\ud150\ud2b8 \ucd94\uac00\ub428",
"NotificationOptionNewLibraryContentMultiple": "\uc0c8 \ucf58\ub374\ud2b8 \ucd94\uac00\ub428 (\ubcf5\uc218)",
"NotificationOptionCameraImageUploaded": "\uce74\uba54\ub77c \uc774\ubbf8\uc9c0 \uc5c5\ub85c\ub4dc\ub428",
"NotificationOptionUserLockedOut": "User locked out",
"NotificationOptionServerRestartRequired": "\uc11c\ubc84\ub97c \ub2e4\uc2dc \uc2dc\uc791\ud558\uc5ec\uc57c \ud569\ub2c8\ub2e4",
"ViewTypePlaylists": "\uc7ac\uc0dd\ubaa9\ub85d",
"ViewTypeMovies": "\uc601\ud654",
"ViewTypeTvShows": "TV",
"ViewTypeGames": "\uac8c\uc784",
"ViewTypeMusic": "\uc74c\uc545",
"ViewTypeMusicGenres": "\uc7a5\ub974",
"ViewTypeMusicArtists": "\uc544\ud2f0\uc2a4\ud2b8",
"ViewTypeBoxSets": "\uceec\ub809\uc158",
"ViewTypeChannels": "\ucc44\ub110",
"ViewTypeLiveTV": "TV \ubc29\uc1a1",
"ViewTypeLiveTvNowPlaying": "\uc9c0\uae08 \ubc29\uc1a1 \uc911",
"ViewTypeLatestGames": "\ucd5c\uadfc \uac8c\uc784",
"ViewTypeRecentlyPlayedGames": "\ucd5c\uadfc \ud50c\ub808\uc774",
"ViewTypeGameFavorites": "\uc990\uaca8\ucc3e\uae30",
"ViewTypeGameSystems": "\uac8c\uc784 \uc2dc\uc2a4\ud15c",
"ViewTypeGameGenres": "\uc7a5\ub974",
"ViewTypeTvResume": "Resume",
"ViewTypeTvNextUp": "Next Up",
"ViewTypeTvLatest": "Latest",
"ViewTypeTvShowSeries": "\uc2dc\ub9ac\uc988",
"ViewTypeTvGenres": "\uc7a5\ub974",
"ViewTypeTvFavoriteSeries": "\uc88b\uc544\ud558\ub294 \uc2dc\ub9ac\uc988",
"ViewTypeTvFavoriteEpisodes": "\uc88b\uc544\ud558\ub294 \uc5d0\ud53c\uc18c\ub4dc",
"ViewTypeMovieResume": "Resume",
"ViewTypeMovieLatest": "Latest",
"ViewTypeMovieMovies": "\uc601\ud654",
"ViewTypeMovieCollections": "\uceec\ub809\uc158",
"ViewTypeMovieFavorites": "\uc990\uaca8\ucc3e\uae30",
"ViewTypeMovieGenres": "\uc7a5\ub974",
"ViewTypeMusicLatest": "Latest",
"ViewTypeMusicPlaylists": "\uc7ac\uc0dd\ubaa9\ub85d",
"ViewTypeMusicAlbums": "\uc568\ubc94",
"ViewTypeMusicAlbumArtists": "\uc568\ubc94 \uc544\ud2f0\uc2a4\ud2b8",
"HeaderOtherDisplaySettings": "\ud654\uba74 \uc124\uc815",
"ViewTypeMusicSongs": "\ub178\ub798",
"ViewTypeMusicFavorites": "\uc990\uaca8\ucc3e\uae30",
"ViewTypeMusicFavoriteAlbums": "\uc88b\uc544\ud558\ub294 \uc568\ubc94",
"ViewTypeMusicFavoriteArtists": "\uc88b\uc544\ud558\ub294 \uc544\ud2f0\uc2a4\ud2b8",
"ViewTypeMusicFavoriteSongs": "\uc88b\uc544\ud558\ub294 \ub178\ub798",
"ViewTypeFolders": "\ud3f4\ub354",
"ViewTypeLiveTvRecordingGroups": "\ub179\ud654",
"ViewTypeLiveTvChannels": "\ucc44\ub110",
"ScheduledTaskFailedWithName": "{0} \uc2e4\ud328",
"LabelRunningTimeValue": "\uc0c1\uc601 \uc2dc\uac04: {0}",
"ScheduledTaskStartedWithName": "{0} \uc2dc\uc791\ub428",
"VersionNumber": "\ubc84\uc804 {0}",
"PluginInstalledWithName": "{0} \uc124\uce58\ub428",
"PluginUpdatedWithName": "{0} \uc5c5\ub370\uc774\ud2b8\ub428",
"PluginUninstalledWithName": "{0} \uc124\uce58 \uc81c\uac70\ub428",
"ItemAddedWithName": "\ub77c\uc774\ube0c\ub7ec\ub9ac\uc5d0 {0} \ucd94\uac00\ub428",
"ItemRemovedWithName": "\ub77c\uc774\ube0c\ub7ec\ub9ac\uc5d0\uc11c {0} \uc0ad\uc81c\ub428",
"LabelIpAddressValue": "IP \uc8fc\uc18c: {0}",
"DeviceOnlineWithName": "{0} \uc5f0\uacb0\ub428",
"Inherit": "Inherit",
"Books": "Books",
"Music": "Music",
"Games": "Games",
"Photos": "Photos",
"MixedContent": "Mixed content",
"MusicVideos": "Music videos",
"HomeVideos": "Home videos",
"Playlists": "Playlists",
"HeaderRecordingGroups": "Recording Groups",
"HeaderContinueWatching": "\uacc4\uc18d \uc2dc\uccad\ud558\uae30",
"HeaderFavoriteArtists": "Favorite Artists",
"HeaderFavoriteSongs": "Favorite Songs",
"HeaderAlbumArtists": "\uc568\ubc94 \uc544\ud2f0\uc2a4\ud2b8",
"HeaderFavoriteAlbums": "Favorite Albums",
"HeaderFavoriteEpisodes": "Favorite Episodes",
"HeaderFavoriteShows": "\uc990\uaca8\ucc3e\ub294 \uc1fc",
"HeaderNextUp": "Next Up",
"Favorites": "Favorites",
"Collections": "Collections",
"Channels": "Channels",
"Movies": "Movies",
"Albums": "Albums",
"Artists": "Artists",
"Folders": "Folders",
"Songs": "Songs",
"TvShows": "TV Shows",
"Shows": "Shows",
"Genres": "Genres",
"NameSeasonNumber": "Season {0}",
"AppDeviceValues": "App: {0}, Device: {1}",
"UserDownloadingItemWithValues": "{0} is downloading {1}",
"HeaderLiveTV": "Live TV",
"ChapterNameValue": "Chapter {0}",
"ScheduledTaskFailedWithName": "{0} failed",
"LabelRunningTimeValue": "Running time: {0}",
"ScheduledTaskStartedWithName": "{0} started",
"VersionNumber": "Version {0}",
"PluginInstalledWithName": "{0} was installed",
"StartupEmbyServerIsLoading": "Emby \uc11c\ubc84\ub97c \ubd88\ub7ec\uc624\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uc7a0\uc2dc\ud6c4 \ub2e4\uc2dc\uc2dc\ub3c4 \ud574\uc8fc\uc138\uc694.",
"PluginUpdatedWithName": "{0} was updated",
"PluginUninstalledWithName": "{0} was uninstalled",
"ItemAddedWithName": "{0} was added to the library",
"ItemRemovedWithName": "{0} was removed from the library",
"LabelIpAddressValue": "Ip address: {0}",
"DeviceOnlineWithName": "{0} is connected",
"UserOnlineFromDevice": "{0} is online from {1}",
"ProviderValue": "\uc81c\uacf5\uc790: {0}",
"SubtitlesDownloadedForItem": "{0} \uc790\ub9c9 \ub2e4\uc6b4\ub85c\ub4dc\ub428",
"UserConfigurationUpdatedWithName": "{0} \uc0ac\uc6a9\uc790 \uc124\uc815\uc774 \uc5c5\ub370\uc774\ud2b8\ub428",
"UserCreatedWithName": "\uc0ac\uc6a9\uc790 {0} \uc0dd\uc131\ub428",
"UserPasswordChangedWithName": "\uc0ac\uc6a9\uc790 {0} \ube44\ubc00\ubc88\ud638 \ubcc0\uacbd\ub428",
"UserDeletedWithName": "\uc0ac\uc6a9\uc790 {0} \uc0ad\uc81c\ub428",
"MessageServerConfigurationUpdated": "\uc11c\ubc84 \ud658\uacbd \uc124\uc815 \uc5c5\ub370\uc774\ub4dc\ub428",
"MessageNamedServerConfigurationUpdatedWithValue": "\uc11c\ubc84 \ud658\uacbd \uc124\uc815 {0} \uc139\uc158 \uc5c5\ub370\uc774\ud2b8 \ub428",
"MessageApplicationUpdated": "Emby \uc11c\ubc84 \uc5c5\ub370\uc774\ud2b8\ub428",
"ProviderValue": "Provider: {0}",
"SubtitlesDownloadedForItem": "Subtitles downloaded for {0}",
"UserCreatedWithName": "User {0} has been created",
"UserPasswordChangedWithName": "Password has been changed for user {0}",
"UserDeletedWithName": "User {0} has been deleted",
"UserConfigurationUpdatedWithName": "User configuration has been updated for {0}",
"MessageServerConfigurationUpdated": "Server configuration has been updated",
"MessageNamedServerConfigurationUpdatedWithValue": "Server configuration section {0} has been updated",
"MessageApplicationUpdated": "Emby Server has been updated",
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
"DeviceOfflineWithName": "{0} \uc5f0\uacb0 \ud574\uc81c\ub428",
"UserLockedOutWithName": "User {0} has been locked out",
"UserOfflineFromDevice": "{1} \uc5d0\uc11c {0} \uc5f0\uacb0 \ud574\uc81c\ub428",
"UserOfflineFromDevice": "{0} has disconnected from {1}",
"DeviceOfflineWithName": "{0} has disconnected",
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
"SubtitleDownloadFailureForItem": "{0} \uc790\ub9c9 \ub2e4\uc6b4\ub85c\ub4dc \uc2e4\ud328",
"HeaderUnidentified": "Unidentified",
"HeaderImagePrimary": "Primary",
"HeaderImageBackdrop": "\ubc30\uacbd",
"HeaderImageLogo": "\ub85c\uace0",
"HeaderUserPrimaryImage": "\uc0ac\uc6a9\uc790 \uc774\ubbf8\uc9c0",
"HeaderOverview": "\uc904\uac70\ub9ac",
"HeaderShortOverview": "\uac04\ub7b5 \uc904\uac70\ub9ac",
"HeaderType": "Type",
"HeaderSeverity": "\uc2ec\uac01\ub3c4",
"HeaderUser": "\uc0ac\uc6a9\uc790",
"HeaderName": "Name",
"HeaderDate": "\ub0a0\uc9dc",
"HeaderPremiereDate": "Premiere Date",
"HeaderDateAdded": "Date Added",
"HeaderReleaseDate": "\uac1c\ubd09\uc77c",
"HeaderRuntime": "\uc0c1\uc601 \uc2dc\uac04",
"HeaderPlayCount": "Play Count",
"HeaderSeason": "\uc2dc\uc98c",
"HeaderSeasonNumber": "\uc2dc\uc98c \ubc88\ud638",
"HeaderSeries": "Series:",
"HeaderNetwork": "\ub124\ud2b8\uc6cc\ud06c",
"HeaderYear": "Year:",
"HeaderYears": "Years:",
"HeaderParentalRating": "Parental Rating",
"HeaderCommunityRating": "\ucee4\ubba4\ub2c8\ud2f0 \ud3c9\uc810",
"HeaderTrailers": "\uc608\uace0\ud3b8",
"HeaderSpecials": "\uc2a4\ud398\uc15c",
"HeaderGameSystems": "Game Systems",
"HeaderPlayers": "Players:",
"HeaderAlbumArtists": "Album Artists",
"HeaderAlbums": "\uc568\ubc94",
"HeaderDisc": "\ub514\uc2a4\ud06c",
"HeaderTrack": "\ud2b8\ub799",
"HeaderAudio": "\uc624\ub514\uc624",
"HeaderVideo": "\ube44\ub514\uc624",
"HeaderEmbeddedImage": "\ub0b4\uc7a5 \uc774\ubbf8\uc9c0",
"HeaderResolution": "\ud574\uc0c1\ub3c4",
"HeaderSubtitles": "\uc790\ub9c9",
"HeaderGenres": "\uc7a5\ub974",
"HeaderCountries": "\uad6d\uac00",
"HeaderStatus": "\uc0c1\ud0dc",
"HeaderTracks": "\ud2b8\ub799",
"HeaderMusicArtist": "Music artist",
"HeaderLocked": "\uc7a0\uae40",
"HeaderStudios": "\uc2a4\ud29c\ub514\uc624",
"HeaderActor": "Actors",
"HeaderComposer": "Composers",
"HeaderDirector": "Directors",
"HeaderGuestStar": "Guest star",
"HeaderProducer": "Producers",
"HeaderWriter": "Writers",
"HeaderParentalRatings": "\uc790\ub140 \ubcf4\ud638 \ub4f1\uae09",
"HeaderCommunityRatings": "Community ratings",
"StartupEmbyServerIsLoading": "Emby Server is loading. Please try again shortly."
"NotificationOptionPluginError": "Plugin failure",
"NotificationOptionApplicationUpdateAvailable": "Application update available",
"NotificationOptionApplicationUpdateInstalled": "Application update installed",
"NotificationOptionPluginUpdateInstalled": "Plugin update installed",
"NotificationOptionPluginInstalled": "Plugin installed",
"NotificationOptionPluginUninstalled": "Plugin uninstalled",
"NotificationOptionVideoPlayback": "Video playback started",
"NotificationOptionAudioPlayback": "Audio playback started",
"NotificationOptionGamePlayback": "Game playback started",
"NotificationOptionVideoPlaybackStopped": "Video playback stopped",
"NotificationOptionAudioPlaybackStopped": "Audio playback stopped",
"NotificationOptionGamePlaybackStopped": "Game playback stopped",
"NotificationOptionTaskFailed": "Scheduled task failure",
"NotificationOptionInstallationFailed": "Installation failure",
"NotificationOptionNewLibraryContent": "New content added",
"NotificationOptionCameraImageUploaded": "Camera image uploaded",
"NotificationOptionUserLockedOut": "User locked out",
"NotificationOptionServerRestartRequired": "Server restart required",
"UserLockedOutWithName": "User {0} has been locked out",
"SubtitleDownloadFailureForItem": "Subtitles failed to download for {0}",
"Sync": "Sync",
"User": "User",
"System": "System",
"Application": "Application",
"Plugin": "Plugin",
"LabelExit": "Exit",
"LabelVisitCommunity": "Visit Community",
"LabelBrowseLibrary": "Browse Library",
"LabelConfigureServer": "Configure Emby",
"LabelRestartServer": "Restart Server"
}

@ -0,0 +1,96 @@
{
"Latest": "Latest",
"ValueSpecialEpisodeName": "Ypatinga - {0}",
"Inherit": "Inherit",
"Books": "Books",
"Music": "Music",
"Games": "Games",
"Photos": "Photos",
"MixedContent": "Mixed content",
"MusicVideos": "Music videos",
"HomeVideos": "Home videos",
"Playlists": "Playlists",
"HeaderRecordingGroups": "Recording Groups",
"HeaderContinueWatching": "\u017di\u016br\u0117ti toliau",
"HeaderFavoriteArtists": "Favorite Artists",
"HeaderFavoriteSongs": "Favorite Songs",
"HeaderAlbumArtists": "Album Artists",
"HeaderFavoriteAlbums": "Favorite Albums",
"HeaderFavoriteEpisodes": "Favorite Episodes",
"HeaderFavoriteShows": "Favorite Shows",
"HeaderNextUp": "Next Up",
"Favorites": "Favorites",
"Collections": "Collections",
"Channels": "Channels",
"Movies": "Filmai",
"Albums": "Albums",
"Artists": "Artists",
"Folders": "Folders",
"Songs": "Songs",
"TvShows": "TV Shows",
"Shows": "Shows",
"Genres": "\u017danrai",
"NameSeasonNumber": "Season {0}",
"AppDeviceValues": "App: {0}, Device: {1}",
"UserDownloadingItemWithValues": "{0} is downloading {1}",
"HeaderLiveTV": "Live TV",
"ChapterNameValue": "Chapter {0}",
"ScheduledTaskFailedWithName": "{0} failed",
"LabelRunningTimeValue": "Running time: {0}",
"ScheduledTaskStartedWithName": "{0} started",
"VersionNumber": "Version {0}",
"PluginInstalledWithName": "{0} was installed",
"StartupEmbyServerIsLoading": "Emby Server is loading. Please try again shortly.",
"PluginUpdatedWithName": "{0} was updated",
"PluginUninstalledWithName": "{0} was uninstalled",
"ItemAddedWithName": "{0} was added to the library",
"ItemRemovedWithName": "{0} was removed from the library",
"LabelIpAddressValue": "Ip address: {0}",
"DeviceOnlineWithName": "{0} is connected",
"UserOnlineFromDevice": "{0} is online from {1}",
"ProviderValue": "Provider: {0}",
"SubtitlesDownloadedForItem": "Subtitles downloaded for {0}",
"UserCreatedWithName": "User {0} has been created",
"UserPasswordChangedWithName": "Password has been changed for user {0}",
"UserDeletedWithName": "User {0} has been deleted",
"UserConfigurationUpdatedWithName": "User configuration has been updated for {0}",
"MessageServerConfigurationUpdated": "Server configuration has been updated",
"MessageNamedServerConfigurationUpdatedWithValue": "Server configuration section {0} has been updated",
"MessageApplicationUpdated": "Emby Server has been updated",
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
"UserOfflineFromDevice": "{0} has disconnected from {1}",
"DeviceOfflineWithName": "{0} has disconnected",
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
"NotificationOptionPluginError": "Plugin failure",
"NotificationOptionApplicationUpdateAvailable": "Application update available",
"NotificationOptionApplicationUpdateInstalled": "Application update installed",
"NotificationOptionPluginUpdateInstalled": "Plugin update installed",
"NotificationOptionPluginInstalled": "Plugin installed",
"NotificationOptionPluginUninstalled": "Plugin uninstalled",
"NotificationOptionVideoPlayback": "Video playback started",
"NotificationOptionAudioPlayback": "Audio playback started",
"NotificationOptionGamePlayback": "Game playback started",
"NotificationOptionVideoPlaybackStopped": "Video playback stopped",
"NotificationOptionAudioPlaybackStopped": "Audio playback stopped",
"NotificationOptionGamePlaybackStopped": "Game playback stopped",
"NotificationOptionTaskFailed": "Scheduled task failure",
"NotificationOptionInstallationFailed": "Installation failure",
"NotificationOptionNewLibraryContent": "New content added",
"NotificationOptionCameraImageUploaded": "Camera image uploaded",
"NotificationOptionUserLockedOut": "User locked out",
"NotificationOptionServerRestartRequired": "Server restart required",
"UserLockedOutWithName": "User {0} has been locked out",
"SubtitleDownloadFailureForItem": "Subtitles failed to download for {0}",
"Sync": "Sinchronizuoti",
"User": "User",
"System": "System",
"Application": "Application",
"Plugin": "Plugin",
"LabelExit": "Exit",
"LabelVisitCommunity": "Visit Community",
"LabelBrowseLibrary": "Browse Library",
"LabelConfigureServer": "Configure Emby",
"LabelRestartServer": "Restart Server"
}

@ -1,102 +1,46 @@
{
"DbUpgradeMessage": "Please wait while your Emby Server database is upgraded. {0}% complete.",
"AppDeviceValues": "App: {0}, Device: {1}",
"UserDownloadingItemWithValues": "{0} is downloading {1}",
"FolderTypeMixed": "Mixed content",
"FolderTypeMovies": "Movies",
"FolderTypeMusic": "Music",
"FolderTypeAdultVideos": "Adult videos",
"FolderTypePhotos": "Photos",
"FolderTypeMusicVideos": "Music videos",
"FolderTypeHomeVideos": "Home videos",
"FolderTypeGames": "Games",
"FolderTypeBooks": "Books",
"FolderTypeTvShows": "TV",
"FolderTypeInherit": "Inherit",
"HeaderCastCrew": "Cast & Crew",
"HeaderPeople": "People",
"Latest": "Latest",
"ValueSpecialEpisodeName": "Special - {0}",
"LabelChapterName": "Chapter {0}",
"Inherit": "Inherit",
"Books": "Books",
"Music": "Music",
"Games": "Games",
"Photos": "Photos",
"MixedContent": "Mixed content",
"MusicVideos": "Music videos",
"HomeVideos": "Home videos",
"Playlists": "Playlists",
"HeaderRecordingGroups": "Recording Groups",
"HeaderContinueWatching": "Continue Watching",
"HeaderFavoriteArtists": "Favorite Artists",
"HeaderFavoriteSongs": "Favorite Songs",
"HeaderAlbumArtists": "Album Artists",
"HeaderFavoriteAlbums": "Favorite Albums",
"HeaderFavoriteEpisodes": "Favorite Episodes",
"HeaderFavoriteShows": "Favorite Shows",
"HeaderNextUp": "Next Up",
"Favorites": "Favorites",
"Collections": "Collections",
"Channels": "Channels",
"Movies": "Movies",
"Albums": "Albums",
"Artists": "Artists",
"Folders": "Folders",
"Songs": "Songs",
"TvShows": "TV Shows",
"Shows": "Series",
"Genres": "Genres",
"NameSeasonNumber": "Season {0}",
"LabelExit": "Tutup",
"LabelVisitCommunity": "Melawat Masyarakat",
"LabelGithub": "Github",
"LabelApiDocumentation": "Api Documentation",
"LabelDeveloperResources": "Developer Resources",
"LabelBrowseLibrary": "Imbas Pengumpulan",
"LabelConfigureServer": "Configure Emby",
"LabelRestartServer": "Restart Server",
"CategorySync": "Sync",
"CategoryUser": "User",
"CategorySystem": "System",
"CategoryApplication": "Application",
"CategoryPlugin": "Plugin",
"NotificationOptionPluginError": "Plugin failure",
"NotificationOptionApplicationUpdateAvailable": "Application update available",
"NotificationOptionApplicationUpdateInstalled": "Application update installed",
"NotificationOptionPluginUpdateInstalled": "Plugin update installed",
"NotificationOptionPluginInstalled": "Plugin installed",
"NotificationOptionPluginUninstalled": "Plugin uninstalled",
"NotificationOptionVideoPlayback": "Video playback started",
"NotificationOptionAudioPlayback": "Audio playback started",
"NotificationOptionGamePlayback": "Game playback started",
"NotificationOptionVideoPlaybackStopped": "Video playback stopped",
"NotificationOptionAudioPlaybackStopped": "Audio playback stopped",
"NotificationOptionGamePlaybackStopped": "Game playback stopped",
"NotificationOptionTaskFailed": "Scheduled task failure",
"NotificationOptionInstallationFailed": "Installation failure",
"NotificationOptionNewLibraryContent": "New content added",
"NotificationOptionNewLibraryContentMultiple": "New content added (multiple)",
"NotificationOptionCameraImageUploaded": "Camera image uploaded",
"NotificationOptionUserLockedOut": "User locked out",
"NotificationOptionServerRestartRequired": "Server restart required",
"ViewTypePlaylists": "Playlists",
"ViewTypeMovies": "Movies",
"ViewTypeTvShows": "TV",
"ViewTypeGames": "Games",
"ViewTypeMusic": "Music",
"ViewTypeMusicGenres": "Genres",
"ViewTypeMusicArtists": "Artists",
"ViewTypeBoxSets": "Collections",
"ViewTypeChannels": "Channels",
"ViewTypeLiveTV": "Live TV",
"ViewTypeLiveTvNowPlaying": "Now Airing",
"ViewTypeLatestGames": "Latest Games",
"ViewTypeRecentlyPlayedGames": "Recently Played",
"ViewTypeGameFavorites": "Favorites",
"ViewTypeGameSystems": "Game Systems",
"ViewTypeGameGenres": "Genres",
"ViewTypeTvResume": "Resume",
"ViewTypeTvNextUp": "Next Up",
"ViewTypeTvLatest": "Latest",
"ViewTypeTvShowSeries": "Series",
"ViewTypeTvGenres": "Genres",
"ViewTypeTvFavoriteSeries": "Favorite Series",
"ViewTypeTvFavoriteEpisodes": "Favorite Episodes",
"ViewTypeMovieResume": "Resume",
"ViewTypeMovieLatest": "Latest",
"ViewTypeMovieMovies": "Movies",
"ViewTypeMovieCollections": "Collections",
"ViewTypeMovieFavorites": "Favorites",
"ViewTypeMovieGenres": "Genres",
"ViewTypeMusicLatest": "Latest",
"ViewTypeMusicPlaylists": "Playlists",
"ViewTypeMusicAlbums": "Albums",
"ViewTypeMusicAlbumArtists": "Album Artists",
"HeaderOtherDisplaySettings": "Display Settings",
"ViewTypeMusicSongs": "Songs",
"ViewTypeMusicFavorites": "Favorites",
"ViewTypeMusicFavoriteAlbums": "Favorite Albums",
"ViewTypeMusicFavoriteArtists": "Favorite Artists",
"ViewTypeMusicFavoriteSongs": "Favorite Songs",
"ViewTypeFolders": "Folders",
"ViewTypeLiveTvRecordingGroups": "Recordings",
"ViewTypeLiveTvChannels": "Channels",
"AppDeviceValues": "App: {0}, Device: {1}",
"UserDownloadingItemWithValues": "{0} is downloading {1}",
"HeaderLiveTV": "Live TV",
"ChapterNameValue": "Chapter {0}",
"ScheduledTaskFailedWithName": "{0} failed",
"LabelRunningTimeValue": "Running time: {0}",
"ScheduledTaskStartedWithName": "{0} started",
"VersionNumber": "Version {0}",
"PluginInstalledWithName": "{0} was installed",
"StartupEmbyServerIsLoading": "Emby Server is loading. Please try again shortly.",
"PluginUpdatedWithName": "{0} was updated",
"PluginUninstalledWithName": "{0} was uninstalled",
"ItemAddedWithName": "{0} was added to the library",
@ -106,73 +50,47 @@
"UserOnlineFromDevice": "{0} is online from {1}",
"ProviderValue": "Provider: {0}",
"SubtitlesDownloadedForItem": "Subtitles downloaded for {0}",
"UserConfigurationUpdatedWithName": "User configuration has been updated for {0}",
"UserCreatedWithName": "User {0} has been created",
"UserPasswordChangedWithName": "Password has been changed for user {0}",
"UserDeletedWithName": "User {0} has been deleted",
"UserConfigurationUpdatedWithName": "User configuration has been updated for {0}",
"MessageServerConfigurationUpdated": "Server configuration has been updated",
"MessageNamedServerConfigurationUpdatedWithValue": "Server configuration section {0} has been updated",
"MessageApplicationUpdated": "Emby Server has been updated",
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
"DeviceOfflineWithName": "{0} has disconnected",
"UserLockedOutWithName": "User {0} has been locked out",
"UserOfflineFromDevice": "{0} has disconnected from {1}",
"DeviceOfflineWithName": "{0} has disconnected",
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
"NotificationOptionPluginError": "Plugin failure",
"NotificationOptionApplicationUpdateAvailable": "Application update available",
"NotificationOptionApplicationUpdateInstalled": "Application update installed",
"NotificationOptionPluginUpdateInstalled": "Plugin update installed",
"NotificationOptionPluginInstalled": "Plugin installed",
"NotificationOptionPluginUninstalled": "Plugin uninstalled",
"NotificationOptionVideoPlayback": "Video playback started",
"NotificationOptionAudioPlayback": "Audio playback started",
"NotificationOptionGamePlayback": "Game playback started",
"NotificationOptionVideoPlaybackStopped": "Video playback stopped",
"NotificationOptionAudioPlaybackStopped": "Audio playback stopped",
"NotificationOptionGamePlaybackStopped": "Game playback stopped",
"NotificationOptionTaskFailed": "Scheduled task failure",
"NotificationOptionInstallationFailed": "Installation failure",
"NotificationOptionNewLibraryContent": "New content added",
"NotificationOptionCameraImageUploaded": "Camera image uploaded",
"NotificationOptionUserLockedOut": "User locked out",
"NotificationOptionServerRestartRequired": "Server restart required",
"UserLockedOutWithName": "User {0} has been locked out",
"SubtitleDownloadFailureForItem": "Subtitles failed to download for {0}",
"HeaderUnidentified": "Unidentified",
"HeaderImagePrimary": "Primary",
"HeaderImageBackdrop": "Backdrop",
"HeaderImageLogo": "Logo",
"HeaderUserPrimaryImage": "User Image",
"HeaderOverview": "Overview",
"HeaderShortOverview": "Short Overview",
"HeaderType": "Type",
"HeaderSeverity": "Severity",
"HeaderUser": "User",
"HeaderName": "Name",
"HeaderDate": "Date",
"HeaderPremiereDate": "Premiere Date",
"HeaderDateAdded": "Date Added",
"HeaderReleaseDate": "Release date",
"HeaderRuntime": "Runtime",
"HeaderPlayCount": "Play Count",
"HeaderSeason": "Season",
"HeaderSeasonNumber": "Season number",
"HeaderSeries": "Series:",
"HeaderNetwork": "Network",
"HeaderYear": "Year:",
"HeaderYears": "Years:",
"HeaderParentalRating": "Parental Rating",
"HeaderCommunityRating": "Community rating",
"HeaderTrailers": "Trailers",
"HeaderSpecials": "Specials",
"HeaderGameSystems": "Game Systems",
"HeaderPlayers": "Players:",
"HeaderAlbumArtists": "Album Artists",
"HeaderAlbums": "Albums",
"HeaderDisc": "Disc",
"HeaderTrack": "Track",
"HeaderAudio": "Audio",
"HeaderVideo": "Video",
"HeaderEmbeddedImage": "Embedded image",
"HeaderResolution": "Resolution",
"HeaderSubtitles": "Subtitles",
"HeaderGenres": "Genres",
"HeaderCountries": "Countries",
"HeaderStatus": "Status",
"HeaderTracks": "Tracks",
"HeaderMusicArtist": "Music artist",
"HeaderLocked": "Locked",
"HeaderStudios": "Studios",
"HeaderActor": "Actors",
"HeaderComposer": "Composers",
"HeaderDirector": "Directors",
"HeaderGuestStar": "Guest star",
"HeaderProducer": "Producers",
"HeaderWriter": "Writers",
"HeaderParentalRatings": "Parental Ratings",
"HeaderCommunityRatings": "Community ratings",
"StartupEmbyServerIsLoading": "Emby Server is loading. Please try again shortly."
"Sync": "Sync",
"User": "User",
"System": "System",
"Application": "Application",
"Plugin": "Plugin",
"LabelExit": "Exit",
"LabelVisitCommunity": "Visit Community",
"LabelBrowseLibrary": "Browse Library",
"LabelConfigureServer": "Configure Emby",
"LabelRestartServer": "Restart Server"
}

@ -1,178 +1,96 @@
{
"DbUpgradeMessage": "Please wait while your Emby Server database is upgraded. {0}% complete.",
"AppDeviceValues": "App: {0} , Device: {1}",
"UserDownloadingItemWithValues": "{0} laster ned {1}",
"FolderTypeMixed": "Forskjellig innhold",
"FolderTypeMovies": "Filmer",
"FolderTypeMusic": "Musikk",
"FolderTypeAdultVideos": "Voksen-videoer",
"FolderTypePhotos": "Foto",
"FolderTypeMusicVideos": "Musikk-videoer",
"FolderTypeHomeVideos": "Hjemme-videoer",
"FolderTypeGames": "Spill",
"FolderTypeBooks": "B\u00f8ker",
"FolderTypeTvShows": "TV",
"FolderTypeInherit": "Arve",
"HeaderCastCrew": "Mannskap",
"HeaderPeople": "Personer",
"ValueSpecialEpisodeName": "Spesiell - {0}",
"LabelChapterName": "Kapittel {0}",
"Latest": "Siste",
"ValueSpecialEpisodeName": "Spesial - {0}",
"Inherit": "Arve",
"Books": "B\u00f8ker",
"Music": "Musikk",
"Games": "Spill",
"Photos": "BIlder",
"MixedContent": "Blandet innhold",
"MusicVideos": "Musikkvideoer",
"HomeVideos": "Hjemmelaget filmer",
"Playlists": "Spilleliste",
"HeaderRecordingGroups": "Opptak Grupper",
"HeaderContinueWatching": "Forsett og see p\u00e5",
"HeaderFavoriteArtists": "Favorittartister",
"HeaderFavoriteSongs": "Favorittsanger",
"HeaderAlbumArtists": "Albumartist",
"HeaderFavoriteAlbums": "Favoritt albumer",
"HeaderFavoriteEpisodes": "Favoritt episode",
"HeaderFavoriteShows": "Favorittserier",
"HeaderNextUp": "Neste",
"Favorites": "Favoritter",
"Collections": "Samlinger",
"Channels": "Kanaler",
"Movies": "Filmer",
"Albums": "Album",
"Artists": "Artister",
"Folders": "Mapper",
"Songs": "Sanger",
"TvShows": "TV Shows",
"Shows": "Programmer",
"Genres": "Sjanger",
"NameSeasonNumber": "Sesong {0}",
"LabelExit": "Avslutt",
"LabelVisitCommunity": "Bes\u00f8k oss",
"LabelGithub": "Github",
"LabelApiDocumentation": "API-dokumentasjon",
"LabelDeveloperResources": "Ressurser for Utviklere",
"LabelBrowseLibrary": "Browse biblioteket",
"LabelConfigureServer": "Konfigurer Emby",
"LabelRestartServer": "Restart serveren",
"CategorySync": "Synk",
"CategoryUser": "Bruker",
"CategorySystem": "System",
"CategoryApplication": "Applikasjon",
"CategoryPlugin": "Programtillegg",
"NotificationOptionPluginError": "Programtillegg feilet",
"NotificationOptionApplicationUpdateAvailable": "Oppdatering tilgjengelig",
"NotificationOptionApplicationUpdateInstalled": "Oppdatering installert",
"NotificationOptionPluginUpdateInstalled": "Oppdatert programtillegg installert",
"NotificationOptionPluginInstalled": "Programtillegg installert",
"NotificationOptionPluginUninstalled": "Programtillegg er fjernet",
"NotificationOptionVideoPlayback": "Videoavspilling startet",
"NotificationOptionAudioPlayback": "Lydavspilling startet",
"NotificationOptionGamePlayback": "Spill startet",
"NotificationOptionVideoPlaybackStopped": "Videoavspilling stoppet",
"NotificationOptionAudioPlaybackStopped": "Lydavspilling stoppet",
"NotificationOptionGamePlaybackStopped": "Spill stoppet",
"NotificationOptionTaskFailed": "Planlagt oppgave feilet",
"NotificationOptionInstallationFailed": "Installasjon feilet",
"NotificationOptionNewLibraryContent": "Nytt innhold er lagt til",
"NotificationOptionNewLibraryContentMultiple": "Nytt innhold lagt til (flere)",
"NotificationOptionCameraImageUploaded": "Bilde fra kamera lastet opp",
"NotificationOptionUserLockedOut": "Bruker er utestengt",
"NotificationOptionServerRestartRequired": "Server m\u00e5 startes p\u00e5 nytt",
"ViewTypePlaylists": "Spillelister",
"ViewTypeMovies": "Filmer",
"ViewTypeTvShows": "TV",
"ViewTypeGames": "Spill",
"ViewTypeMusic": "Musikk",
"ViewTypeMusicGenres": "Sjangere",
"ViewTypeMusicArtists": "Artist",
"ViewTypeBoxSets": "Samlinger",
"ViewTypeChannels": "Kanaler",
"ViewTypeLiveTV": "Live TV",
"ViewTypeLiveTvNowPlaying": "Sendes n\u00e5",
"ViewTypeLatestGames": "Siste spill",
"ViewTypeRecentlyPlayedGames": "Nylig spilt",
"ViewTypeGameFavorites": "Favoritter",
"ViewTypeGameSystems": "Spillsystemer",
"ViewTypeGameGenres": "Sjangere",
"ViewTypeTvResume": "Fortsette",
"ViewTypeTvNextUp": "Neste",
"ViewTypeTvLatest": "Siste",
"ViewTypeTvShowSeries": "Serier",
"ViewTypeTvGenres": "Sjangere",
"ViewTypeTvFavoriteSeries": "Favoritt serier",
"ViewTypeTvFavoriteEpisodes": "Favoritt episoder",
"ViewTypeMovieResume": "Fortsette",
"ViewTypeMovieLatest": "Siste",
"ViewTypeMovieMovies": "Filmer",
"ViewTypeMovieCollections": "Samlinger",
"ViewTypeMovieFavorites": "Favoritter",
"ViewTypeMovieGenres": "Sjangere",
"ViewTypeMusicLatest": "Siste",
"ViewTypeMusicPlaylists": "Spillelister",
"ViewTypeMusicAlbums": "Albumer",
"ViewTypeMusicAlbumArtists": "Album artister",
"HeaderOtherDisplaySettings": "Visnings Innstillinger",
"ViewTypeMusicSongs": "Sanger",
"ViewTypeMusicFavorites": "Favoritter",
"ViewTypeMusicFavoriteAlbums": "Favorittalbumer",
"ViewTypeMusicFavoriteArtists": "Favorittartister",
"ViewTypeMusicFavoriteSongs": "Favorittsanger",
"ViewTypeFolders": "Mapper",
"ViewTypeLiveTvRecordingGroups": "Opptak",
"ViewTypeLiveTvChannels": "Kanaler",
"ScheduledTaskFailedWithName": "{0} feilet",
"LabelRunningTimeValue": "Spille tide: {0}",
"ScheduledTaskStartedWithName": "{0} startet",
"AppDeviceValues": "App:{0}, Enhet {1}",
"UserDownloadingItemWithValues": "{0} laster ned {1}",
"HeaderLiveTV": "Direkte TV",
"ChapterNameValue": "Kapittel {0}",
"ScheduledTaskFailedWithName": "{0} Mislykkes",
"LabelRunningTimeValue": "L\u00f8petid {0}",
"ScheduledTaskStartedWithName": "{0} Startet",
"VersionNumber": "Versjon {0}",
"PluginInstalledWithName": "{0} ble installert",
"StartupEmbyServerIsLoading": "Emby server laster. Pr\u00f8v igjen snart.",
"PluginUpdatedWithName": "{0} ble oppdatert",
"PluginUninstalledWithName": "{0} ble avinstallert",
"ItemAddedWithName": "{0} ble lagt til biblioteket",
"ItemAddedWithName": "{0} ble lagt til i biblioteket",
"ItemRemovedWithName": "{0} ble fjernet fra biblioteket",
"LabelIpAddressValue": "Ip adresse: {0}",
"LabelIpAddressValue": "IP adresse: {0}",
"DeviceOnlineWithName": "{0} er tilkoblet",
"UserOnlineFromDevice": "{0} er online fra {1}",
"ProviderValue": "Tilbyder: {0}",
"UserOnlineFromDevice": "{0} er tilkoblet fra {1}",
"ProviderValue": "Leverand\u00f8rer: {0}",
"SubtitlesDownloadedForItem": "Undertekster lastet ned for {0}",
"UserConfigurationUpdatedWithName": "Bruker konfigurasjon har blitt oppdatert for {0}",
"UserCreatedWithName": "Bruker {0} har blitt opprettet",
"UserPasswordChangedWithName": "Passord har blitt endret for bruker {0}",
"UserCreatedWithName": "Bruker {0} er opprettet",
"UserPasswordChangedWithName": "Passordet for {0} er oppdatert",
"UserDeletedWithName": "Bruker {0} har blitt slettet",
"MessageServerConfigurationUpdated": "Server konfigurasjon har blitt oppdatert",
"UserConfigurationUpdatedWithName": "Brukerkonfigurasjon har blitt oppdatert for {0}",
"MessageServerConfigurationUpdated": "Server konfigurasjon er oppdatert",
"MessageNamedServerConfigurationUpdatedWithValue": "Server konfigurasjon seksjon {0} har blitt oppdatert",
"MessageApplicationUpdated": "Emby server har blitt oppdatert",
"FailedLoginAttemptWithUserName": "P\u00e5loggingsfors\u00f8k feilet fra {0}",
"AuthenticationSucceededWithUserName": "{0} autentisert med suksess",
"DeviceOfflineWithName": "{0} har koblet fra",
"UserLockedOutWithName": "User {0} has been locked out",
"FailedLoginAttemptWithUserName": "Mislykket p\u00e5loggingsfors\u00f8k fra {0}",
"AuthenticationSucceededWithUserName": "{0} vellykkede autentisert",
"UserOfflineFromDevice": "{0} har koblet fra {1}",
"UserStartedPlayingItemWithValues": "{0} har startet avspilling av {1}",
"UserStoppedPlayingItemWithValues": "{0} har stoppet avspilling av {1}",
"SubtitleDownloadFailureForItem": "nedlasting av undertekster feilet for {0}",
"HeaderUnidentified": "Unidentified",
"HeaderImagePrimary": "Primary",
"HeaderImageBackdrop": "Backdrop",
"HeaderImageLogo": "Logo",
"HeaderUserPrimaryImage": "User Image",
"HeaderOverview": "Overview",
"HeaderShortOverview": "Short Overview",
"HeaderType": "Type",
"HeaderSeverity": "Severity",
"HeaderUser": "Bruker",
"HeaderName": "Navn",
"HeaderDate": "Dato",
"HeaderPremiereDate": "Premiere Date",
"HeaderDateAdded": "Date Added",
"HeaderReleaseDate": "Utgivelsesdato",
"HeaderRuntime": "Spilletid",
"HeaderPlayCount": "Play Count",
"HeaderSeason": "Sesong",
"HeaderSeasonNumber": "Sesong nummer",
"HeaderSeries": "Series:",
"HeaderNetwork": "Nettverk",
"HeaderYear": "Year:",
"HeaderYears": "Years:",
"HeaderParentalRating": "Parental Rating",
"HeaderCommunityRating": "Fellesskap anmeldelse",
"HeaderTrailers": "Trailere",
"HeaderSpecials": "Specials",
"HeaderGameSystems": "Game Systems",
"HeaderPlayers": "Players:",
"HeaderAlbumArtists": "Album Artists",
"HeaderAlbums": "Albumer",
"HeaderDisc": "Disk",
"HeaderTrack": "Spor",
"HeaderAudio": "Lyd",
"HeaderVideo": "Video",
"HeaderEmbeddedImage": "innebygd bilde",
"HeaderResolution": "Oppl\u00f8sning",
"HeaderSubtitles": "Undertekster",
"HeaderGenres": "Sjanger",
"HeaderCountries": "Land",
"HeaderStatus": "Status",
"HeaderTracks": "Spor",
"HeaderMusicArtist": "Music artist",
"HeaderLocked": "Locked",
"HeaderStudios": "Studioer",
"HeaderActor": "Actors",
"HeaderComposer": "Composers",
"HeaderDirector": "Directors",
"HeaderGuestStar": "Guest star",
"HeaderProducer": "Producers",
"HeaderWriter": "Writers",
"HeaderParentalRatings": "Foreldresensur",
"HeaderCommunityRatings": "Community ratings",
"StartupEmbyServerIsLoading": "Emby Server is loading. Please try again shortly."
"DeviceOfflineWithName": "{0} har koblet fra",
"UserStartedPlayingItemWithValues": "{0} har startet avspilling {1}",
"UserStoppedPlayingItemWithValues": "{0} har stoppet avspilling {1}",
"NotificationOptionPluginError": "Plugin feil",
"NotificationOptionApplicationUpdateAvailable": "Applikasjon oppdatering tilgjengelig",
"NotificationOptionApplicationUpdateInstalled": "Applikasjon oppdatering installert.",
"NotificationOptionPluginUpdateInstalled": "Plugin oppdatering installert",
"NotificationOptionPluginInstalled": "Plugin installert",
"NotificationOptionPluginUninstalled": "Plugin avinstallert",
"NotificationOptionVideoPlayback": "Video tilbakespilling startet",
"NotificationOptionAudioPlayback": "Lyd tilbakespilling startet",
"NotificationOptionGamePlayback": "Spill avspillingen startet",
"NotificationOptionVideoPlaybackStopped": "Video avspilling stoppet",
"NotificationOptionAudioPlaybackStopped": "Lyd avspilling stoppet",
"NotificationOptionGamePlaybackStopped": "Filmer",
"NotificationOptionTaskFailed": "Feil under utf\u00f8ring av planlagt oppgaver",
"NotificationOptionInstallationFailed": "Installasjon feil",
"NotificationOptionNewLibraryContent": "Ny innhold er lagt til",
"NotificationOptionCameraImageUploaded": "Kamera bilde lastet opp",
"NotificationOptionUserLockedOut": "Bruker er utestengt",
"NotificationOptionServerRestartRequired": "Server omstart er n\u00f8dvendig",
"UserLockedOutWithName": "Bruker {0} er blitt utestengt",
"SubtitleDownloadFailureForItem": "En feil oppst\u00e5 under nedlasting av undertekster for {0}",
"Sync": "Synk",
"User": "Bruker",
"System": "System",
"Application": "Applikasjon",
"Plugin": "Plugin",
"LabelExit": "Avslutt",
"LabelVisitCommunity": "Bes\u00f8k Samfunnet",
"LabelBrowseLibrary": "Bla i biblioteket",
"LabelConfigureServer": "Konfigurere Emby",
"LabelRestartServer": "Start om serveren"
}

@ -1,102 +1,46 @@
{
"DbUpgradeMessage": "Een ogenblik geduld terwijl uw Emby Server-database wordt bijgewerkt. {0}% voltooid.",
"AppDeviceValues": "App: {0}, Apparaat: {1}",
"UserDownloadingItemWithValues": "{0} download {1}",
"FolderTypeMixed": "Gemengde inhoud",
"FolderTypeMovies": "Films",
"FolderTypeMusic": "Muziek",
"FolderTypeAdultVideos": "Adult video's",
"FolderTypePhotos": "Foto's",
"FolderTypeMusicVideos": "Muziek video's",
"FolderTypeHomeVideos": "Thuis video's",
"FolderTypeGames": "Games",
"FolderTypeBooks": "Boeken",
"FolderTypeTvShows": "TV",
"FolderTypeInherit": "overerven",
"HeaderCastCrew": "Cast & Crew",
"HeaderPeople": "Personen",
"Latest": "Nieuwste",
"ValueSpecialEpisodeName": "Speciaal - {0}",
"LabelChapterName": "Hoofdstuk {0}",
"Inherit": "Overerven",
"Books": "Boeken",
"Music": "Muziek",
"Games": "Spellen",
"Photos": "Foto's",
"MixedContent": "Gemengde inhoud",
"MusicVideos": "Muziek video's",
"HomeVideos": "Thuis video's",
"Playlists": "Afspeellijsten",
"HeaderRecordingGroups": "Opname groepen",
"HeaderContinueWatching": "Kijken hervatten",
"HeaderFavoriteArtists": "Favoriete artiesten",
"HeaderFavoriteSongs": "Favoriete titels",
"HeaderAlbumArtists": "Album artiesten",
"HeaderFavoriteAlbums": "Favoriete albums",
"HeaderFavoriteEpisodes": "Favoriete Afleveringen",
"HeaderFavoriteShows": "Favoriete Shows",
"HeaderNextUp": "Volgende",
"Favorites": "Favorieten",
"Collections": "Collecties",
"Channels": "Kanalen",
"Movies": "Films",
"Albums": "Albums",
"Artists": "Artiesten",
"Folders": "Mappen",
"Songs": "Titels",
"TvShows": "TV Shows",
"Shows": "Series",
"Genres": "Genres",
"NameSeasonNumber": "Seizoen {0}",
"LabelExit": "Afsluiten",
"LabelVisitCommunity": "Bezoek Gemeenschap",
"LabelGithub": "Github",
"LabelApiDocumentation": "Api documentatie",
"LabelDeveloperResources": "Ontwikkelaars bronnen",
"LabelBrowseLibrary": "Bekijk bibliotheek",
"LabelConfigureServer": "Emby Configureren",
"LabelRestartServer": "Server herstarten",
"CategorySync": "Sync",
"CategoryUser": "Gebruiker",
"CategorySystem": "Systeem",
"CategoryApplication": "Toepassing",
"CategoryPlugin": "Plug-in",
"NotificationOptionPluginError": "Plug-in fout",
"NotificationOptionApplicationUpdateAvailable": "Programma-update beschikbaar",
"NotificationOptionApplicationUpdateInstalled": "Programma-update ge\u00efnstalleerd",
"NotificationOptionPluginUpdateInstalled": "Plug-in-update ge\u00efnstalleerd",
"NotificationOptionPluginInstalled": "Plug-in ge\u00efnstalleerd",
"NotificationOptionPluginUninstalled": "Plug-in verwijderd",
"NotificationOptionVideoPlayback": "Video afspelen gestart",
"NotificationOptionAudioPlayback": "Geluid afspelen gestart",
"NotificationOptionGamePlayback": "Game gestart",
"NotificationOptionVideoPlaybackStopped": "Video afspelen gestopt",
"NotificationOptionAudioPlaybackStopped": "Geluid afspelen gestopt",
"NotificationOptionGamePlaybackStopped": "Afspelen spel gestopt",
"NotificationOptionTaskFailed": "Mislukken van de geplande taak",
"NotificationOptionInstallationFailed": "Mislukken van de installatie",
"NotificationOptionNewLibraryContent": "Nieuwe content toegevoegd",
"NotificationOptionNewLibraryContentMultiple": "Nieuwe content toegevoegd (meerdere)",
"NotificationOptionCameraImageUploaded": "Camera afbeelding ge\u00fcpload",
"NotificationOptionUserLockedOut": "Gebruikersaccount vergrendeld",
"NotificationOptionServerRestartRequired": "Server herstart nodig",
"ViewTypePlaylists": "Afspeellijsten",
"ViewTypeMovies": "Films",
"ViewTypeTvShows": "TV",
"ViewTypeGames": "Games",
"ViewTypeMusic": "Muziek",
"ViewTypeMusicGenres": "Genres",
"ViewTypeMusicArtists": "Artiesten",
"ViewTypeBoxSets": "Collecties",
"ViewTypeChannels": "Kanalen",
"ViewTypeLiveTV": "Live TV",
"ViewTypeLiveTvNowPlaying": "Nu uitgezonden",
"ViewTypeLatestGames": "Nieuwste games",
"ViewTypeRecentlyPlayedGames": "Recent gespeelt",
"ViewTypeGameFavorites": "Favorieten",
"ViewTypeGameSystems": "Game systemen",
"ViewTypeGameGenres": "Genres",
"ViewTypeTvResume": "Hervatten",
"ViewTypeTvNextUp": "Volgende",
"ViewTypeTvLatest": "Nieuwste",
"ViewTypeTvShowSeries": "Series",
"ViewTypeTvGenres": "Genres",
"ViewTypeTvFavoriteSeries": "Favoriete Series",
"ViewTypeTvFavoriteEpisodes": "Favoriete Afleveringen",
"ViewTypeMovieResume": "Hervatten",
"ViewTypeMovieLatest": "Nieuwste",
"ViewTypeMovieMovies": "Films",
"ViewTypeMovieCollections": "Collecties",
"ViewTypeMovieFavorites": "Favorieten",
"ViewTypeMovieGenres": "Genres",
"ViewTypeMusicLatest": "Nieuwste",
"ViewTypeMusicPlaylists": "Afspeellijsten",
"ViewTypeMusicAlbums": "Albums",
"ViewTypeMusicAlbumArtists": "Album artiesten",
"HeaderOtherDisplaySettings": "Beeld instellingen",
"ViewTypeMusicSongs": "Nummers",
"ViewTypeMusicFavorites": "Favorieten",
"ViewTypeMusicFavoriteAlbums": "Favoriete albums",
"ViewTypeMusicFavoriteArtists": "Favoriete artiesten",
"ViewTypeMusicFavoriteSongs": "Favoriete nummers",
"ViewTypeFolders": "Mappen",
"ViewTypeLiveTvRecordingGroups": "Opnamen",
"ViewTypeLiveTvChannels": "Kanalen",
"AppDeviceValues": "App: {0}, Apparaat: {1}",
"UserDownloadingItemWithValues": "{0} download {1}",
"HeaderLiveTV": "Live TV",
"ChapterNameValue": "Hoofdstuk {0}",
"ScheduledTaskFailedWithName": "{0} is mislukt",
"LabelRunningTimeValue": "Looptijd: {0}",
"ScheduledTaskStartedWithName": "{0} is gestart",
"VersionNumber": "Versie {0}",
"PluginInstalledWithName": "{0} is ge\u00efnstalleerd",
"StartupEmbyServerIsLoading": "Emby Server is aan het laden, probeer het later opnieuw.",
"PluginUpdatedWithName": "{0} is bijgewerkt",
"PluginUninstalledWithName": "{0} is gede\u00efnstalleerd",
"ItemAddedWithName": "{0} is toegevoegd aan de bibliotheek",
@ -106,73 +50,47 @@
"UserOnlineFromDevice": "{0} heeft verbinding met {1}",
"ProviderValue": "Aanbieder: {0}",
"SubtitlesDownloadedForItem": "Ondertiteling voor {0} is gedownload",
"UserConfigurationUpdatedWithName": "Gebruikersinstellingen voor {0} zijn bijgewerkt",
"UserCreatedWithName": "Gebruiker {0} is aangemaakt",
"UserPasswordChangedWithName": "Wachtwoord voor {0} is gewijzigd",
"UserDeletedWithName": "Gebruiker {0} is verwijderd",
"UserConfigurationUpdatedWithName": "Gebruikersinstellingen voor {0} zijn bijgewerkt",
"MessageServerConfigurationUpdated": "Server configuratie is bijgewerkt",
"MessageNamedServerConfigurationUpdatedWithValue": "Sectie {0} van de server configuratie is bijgewerkt",
"MessageApplicationUpdated": "Emby Server is bijgewerkt",
"FailedLoginAttemptWithUserName": "Mislukte aanmeld poging van {0}",
"AuthenticationSucceededWithUserName": "{0} is succesvol geverifieerd",
"DeviceOfflineWithName": "{0} is losgekoppeld",
"UserLockedOutWithName": "Gebruikersaccount {0} is vergrendeld",
"UserOfflineFromDevice": "Verbinding van {0} met {1} is verbroken",
"DeviceOfflineWithName": "{0} is losgekoppeld",
"UserStartedPlayingItemWithValues": "{0} heeft afspelen van {1} gestart",
"UserStoppedPlayingItemWithValues": "{0} heeft afspelen van {1} gestopt",
"NotificationOptionPluginError": "Plug-in fout",
"NotificationOptionApplicationUpdateAvailable": "Programma-update beschikbaar",
"NotificationOptionApplicationUpdateInstalled": "Programma-update ge\u00efnstalleerd",
"NotificationOptionPluginUpdateInstalled": "Plug-in-update ge\u00efnstalleerd",
"NotificationOptionPluginInstalled": "Plug-in ge\u00efnstalleerd",
"NotificationOptionPluginUninstalled": "Plug-in verwijderd",
"NotificationOptionVideoPlayback": "Video gestart",
"NotificationOptionAudioPlayback": "Geluid gestart",
"NotificationOptionGamePlayback": "Spel gestart",
"NotificationOptionVideoPlaybackStopped": "Video gestopt",
"NotificationOptionAudioPlaybackStopped": "Geluid gestopt",
"NotificationOptionGamePlaybackStopped": "Spel gestopt",
"NotificationOptionTaskFailed": "Geplande taak mislukt",
"NotificationOptionInstallationFailed": "Installatie mislukt",
"NotificationOptionNewLibraryContent": "Nieuwe content toegevoegd",
"NotificationOptionCameraImageUploaded": "Camera afbeelding ge\u00fcpload",
"NotificationOptionUserLockedOut": "Gebruikersaccount vergrendeld",
"NotificationOptionServerRestartRequired": "Server herstart nodig",
"UserLockedOutWithName": "Gebruikersaccount {0} is vergrendeld",
"SubtitleDownloadFailureForItem": "Downloaden van ondertiteling voor {0} is mislukt",
"HeaderUnidentified": "One\u00efdentificaard",
"HeaderImagePrimary": "Primair",
"HeaderImageBackdrop": "Achtergrond",
"HeaderImageLogo": "Logo",
"HeaderUserPrimaryImage": "Afbeelding gebruiker",
"HeaderOverview": "Overzicht",
"HeaderShortOverview": "Kort overzicht",
"HeaderType": "Type",
"HeaderSeverity": "Ernst",
"HeaderUser": "Gebruiker",
"HeaderName": "Naam",
"HeaderDate": "Datum",
"HeaderPremiereDate": "Premi\u00e8re Datum",
"HeaderDateAdded": "Datum toegevoegd",
"HeaderReleaseDate": "Uitgave datum",
"HeaderRuntime": "Speelduur",
"HeaderPlayCount": "Afspeel telling",
"HeaderSeason": "Seizoen",
"HeaderSeasonNumber": "Seizoen nummer",
"HeaderSeries": "Series:",
"HeaderNetwork": "Zender",
"HeaderYear": "Jaar:",
"HeaderYears": "Jaren:",
"HeaderParentalRating": "Kijkwijzer classificatie",
"HeaderCommunityRating": "Gemeenschap cijfer",
"HeaderTrailers": "Trailers",
"HeaderSpecials": "Specials",
"HeaderGameSystems": "Game systemen",
"HeaderPlayers": "Spelers:",
"HeaderAlbumArtists": "Album artiesten",
"HeaderAlbums": "Albums",
"HeaderDisc": "Schijf",
"HeaderTrack": "Track",
"HeaderAudio": "Geluid",
"HeaderVideo": "Video",
"HeaderEmbeddedImage": "Ingesloten afbeelding",
"HeaderResolution": "Resolutie",
"HeaderSubtitles": "Ondertiteling",
"HeaderGenres": "Genres",
"HeaderCountries": "Landen",
"HeaderStatus": "Status",
"HeaderTracks": "Tracks",
"HeaderMusicArtist": "Muziek artiest",
"HeaderLocked": "Vergrendeld",
"HeaderStudios": "Studio's",
"HeaderActor": "Acteurs",
"HeaderComposer": "Componisten",
"HeaderDirector": "Regiseurs",
"HeaderGuestStar": "Gast ster",
"HeaderProducer": "Producenten",
"HeaderWriter": "Schrijvers",
"HeaderParentalRatings": "Ouderlijke toezicht",
"HeaderCommunityRatings": "Gemeenschapswaardering",
"StartupEmbyServerIsLoading": "Emby Server is aan het laden, probeer het later opnieuw."
"Sync": "Synchronisatie",
"User": "Gebruiker",
"System": "Systeem",
"Application": "Toepassing",
"Plugin": "Plug-in",
"LabelExit": "Afsluiten",
"LabelVisitCommunity": "Bezoek Gemeenschap",
"LabelBrowseLibrary": "Bekijk bibliotheek",
"LabelConfigureServer": "Emby Configureren",
"LabelRestartServer": "Server herstarten"
}

@ -1,178 +1,96 @@
{
"DbUpgradeMessage": "Prosz\u0119 czeka\u0107 na koniec aktualizacji biblioteki. Post\u0119p: {0}%",
"Latest": "Ostatnio dodane do",
"ValueSpecialEpisodeName": "Specjalne - {0}",
"Inherit": "Dziedzicz",
"Books": "Ksi\u0105\u017cki",
"Music": "Muzyka",
"Games": "Gry",
"Photos": "Zdj\u0119cia",
"MixedContent": "Zawarto\u015b\u0107 mieszana",
"MusicVideos": "Teledyski",
"HomeVideos": "Nagrania prywatne",
"Playlists": "Listy odtwarzania",
"HeaderRecordingGroups": "Grupy nagra\u0144",
"HeaderContinueWatching": "Kontynuuj ogl\u0105danie",
"HeaderFavoriteArtists": "Wykonawcy ulubieni",
"HeaderFavoriteSongs": "Utwory ulubione",
"HeaderAlbumArtists": "Wykonawcy album\u00f3w",
"HeaderFavoriteAlbums": "Albumy ulubione",
"HeaderFavoriteEpisodes": "Odcinki ulubione",
"HeaderFavoriteShows": "Seriale ulubione",
"HeaderNextUp": "Do obejrzenia",
"Favorites": "Ulubione",
"Collections": "Kolekcje",
"Channels": "Kana\u0142y",
"Movies": "Filmy",
"Albums": "Albumy",
"Artists": "Wykonawcy",
"Folders": "Foldery",
"Songs": "Utwory",
"TvShows": "TV Shows",
"Shows": "Seriale",
"Genres": "Gatunki",
"NameSeasonNumber": "Sezon {0}",
"AppDeviceValues": "Aplikacja: {0}, Urz\u0105dzenie: {1}",
"UserDownloadingItemWithValues": "{0} pobiera {1}",
"FolderTypeMixed": "Zawarto\u015b\u0107 mieszana",
"FolderTypeMovies": "Filmy",
"FolderTypeMusic": "Muzyka",
"FolderTypeAdultVideos": "Filmy dla doros\u0142ych",
"FolderTypePhotos": "Zdj\u0119cia",
"FolderTypeMusicVideos": "Teledyski",
"FolderTypeHomeVideos": "Filmy domowe",
"FolderTypeGames": "Gry",
"FolderTypeBooks": "Ksi\u0105\u017cki",
"FolderTypeTvShows": "TV",
"FolderTypeInherit": "Dziedzicz",
"HeaderCastCrew": "Obsada & Eikpa",
"HeaderPeople": "Ludzie",
"ValueSpecialEpisodeName": "Specjalny - {0}",
"LabelChapterName": "Rozdzia\u0142 {0}",
"NameSeasonNumber": "Sezon {0}",
"LabelExit": "Wyj\u015bcie",
"LabelVisitCommunity": "Odwied\u017a spo\u0142eczno\u015b\u0107",
"LabelGithub": "Github",
"LabelApiDocumentation": "Dokumantacja API",
"LabelDeveloperResources": "Materia\u0142y dla deweloper\u00f3w",
"LabelBrowseLibrary": "Przegl\u0105daj bibliotek\u0119",
"LabelConfigureServer": "Konfiguracja Emby",
"LabelRestartServer": "Restart serwera",
"CategorySync": "Sync",
"CategoryUser": "U\u017cytkownik",
"CategorySystem": "System",
"CategoryApplication": "Aplikacja",
"CategoryPlugin": "Wtyczka",
"NotificationOptionPluginError": "Niepowodzenie wtyczki",
"HeaderLiveTV": "Telewizja",
"ChapterNameValue": "Rozdzia\u0142 {0}",
"ScheduledTaskFailedWithName": "Nieudane {0}",
"LabelRunningTimeValue": "Czas trwania: {0}",
"ScheduledTaskStartedWithName": "Rozpocz\u0119to {0}",
"VersionNumber": "Wersja {0}",
"PluginInstalledWithName": "{0} zosta\u0142o zainstalowane",
"StartupEmbyServerIsLoading": "Twa wczytywanie serwera Emby. Spr\u00f3buj ponownie za chwil\u0119.",
"PluginUpdatedWithName": "{0} zaktualizowane",
"PluginUninstalledWithName": "{0} odinstalowane",
"ItemAddedWithName": "{0} zosta\u0142o dodane do biblioteki",
"ItemRemovedWithName": "{0} zosta\u0142o usuni\u0119te z biblioteki",
"LabelIpAddressValue": "Adres IP: {0}",
"DeviceOnlineWithName": "{0} po\u0142\u0105czy\u0142 si\u0119",
"UserOnlineFromDevice": "{0} po\u0142\u0105czy\u0142 si\u0119 z {1}",
"ProviderValue": "Dostawca: {0}",
"SubtitlesDownloadedForItem": "Pobrano napisy dla {0}",
"UserCreatedWithName": "U\u017cytkownik {0} zosta\u0142 utworzony",
"UserPasswordChangedWithName": "Has\u0142o u\u017cytkownika {0} zosta\u0142o zmienione",
"UserDeletedWithName": "U\u017cytkownik {0} zosta\u0142 usuni\u0119ty",
"UserConfigurationUpdatedWithName": "Konfiguracja u\u017cytkownika {0} zosta\u0142a zaktualizowana",
"MessageServerConfigurationUpdated": "Konfiguracja serwera zosta\u0142a zaktualizowana",
"MessageNamedServerConfigurationUpdatedWithValue": "Sekcja {0} konfiguracji serwera zosta\u0142a zaktualizowana",
"MessageApplicationUpdated": "Serwer Emby zosta\u0142 zaktualizowany",
"FailedLoginAttemptWithUserName": "Pr\u00f3ba logowania przez {0} zako\u0144czona niepowodzeniem",
"AuthenticationSucceededWithUserName": "{0} zosta\u0142 pomy\u015blnie uwierzytelniony",
"UserOfflineFromDevice": "{0} z {1} zosta\u0142 roz\u0142\u0105czony",
"DeviceOfflineWithName": "{0} zosta\u0142 roz\u0142\u0105czony",
"UserStartedPlayingItemWithValues": "{0} rozpocz\u0105\u0142 odtwarzanie {1}",
"UserStoppedPlayingItemWithValues": "{0} zatrzyma\u0142 odtwarzanie {1}",
"NotificationOptionPluginError": "Awaria wtyczki",
"NotificationOptionApplicationUpdateAvailable": "Dost\u0119pna aktualizacja aplikacji",
"NotificationOptionApplicationUpdateInstalled": "Zainstalowano aktualizacj\u0119 aplikacji",
"NotificationOptionPluginUpdateInstalled": "Zainstalowano aktualizacj\u0119 wtyczki",
"NotificationOptionPluginInstalled": "Zainstalowano wtyczk\u0119",
"NotificationOptionPluginUninstalled": "Odinstalowano wtyczk\u0119",
"NotificationOptionVideoPlayback": "Rozpocz\u0119to odtwarzanie wideo",
"NotificationOptionAudioPlayback": "Rozpocz\u0119to odtwarzanie audio",
"NotificationOptionAudioPlayback": "Rozpocz\u0119to odtwarzanie muzyki",
"NotificationOptionGamePlayback": "Odtwarzanie gry rozpocz\u0119te",
"NotificationOptionVideoPlaybackStopped": "Odtwarzanie wideo zatrzymane",
"NotificationOptionAudioPlaybackStopped": "Odtwarzane audio zatrzymane",
"NotificationOptionAudioPlaybackStopped": "Odtwarzane d\u017awi\u0119ku zatrzymane",
"NotificationOptionGamePlaybackStopped": "Odtwarzanie gry zatrzymane",
"NotificationOptionTaskFailed": "Niepowodzenie zaplanowanego zadania",
"NotificationOptionTaskFailed": "Awaria zaplanowanego zadania",
"NotificationOptionInstallationFailed": "Niepowodzenie instalacji",
"NotificationOptionNewLibraryContent": "Nowa zawarto\u015b\u0107 dodana",
"NotificationOptionNewLibraryContentMultiple": "Nowa zawarto\u015b\u0107 dodana (wiele)",
"NotificationOptionCameraImageUploaded": "Obraz z Kamery dodany",
"NotificationOptionNewLibraryContent": "Dodano now\u0105 zawarto\u015b\u0107",
"NotificationOptionCameraImageUploaded": "Przekazano obraz z urz\u0105dzenia mobilnego",
"NotificationOptionUserLockedOut": "U\u017cytkownik zablokowany",
"NotificationOptionServerRestartRequired": "Restart serwera wymagany",
"ViewTypePlaylists": "Playlisty",
"ViewTypeMovies": "Filmy",
"ViewTypeTvShows": "TV",
"ViewTypeGames": "Gry",
"ViewTypeMusic": "Muzyka",
"ViewTypeMusicGenres": "Gatunki",
"ViewTypeMusicArtists": "Arty\u015bci",
"ViewTypeBoxSets": "Kolekcje",
"ViewTypeChannels": "Kana\u0142y",
"ViewTypeLiveTV": "TV Na \u017bywo",
"ViewTypeLiveTvNowPlaying": "Teraz Transmitowane",
"ViewTypeLatestGames": "Ostatnie Gry",
"ViewTypeRecentlyPlayedGames": "Ostatnio Odtwarzane",
"ViewTypeGameFavorites": "Ulubione",
"ViewTypeGameSystems": "Systemy Gier Wideo",
"ViewTypeGameGenres": "Gatunki",
"ViewTypeTvResume": "Wzn\u00f3w",
"ViewTypeTvNextUp": "Nast\u0119pny",
"ViewTypeTvLatest": "Najnowsze",
"ViewTypeTvShowSeries": "Seriale",
"ViewTypeTvGenres": "Gatunki",
"ViewTypeTvFavoriteSeries": "Ulubione Seriale",
"ViewTypeTvFavoriteEpisodes": "Ulubione Odcinki",
"ViewTypeMovieResume": "Wzn\u00f3w",
"ViewTypeMovieLatest": "Najnowsze",
"ViewTypeMovieMovies": "Filmy",
"ViewTypeMovieCollections": "Kolekcje",
"ViewTypeMovieFavorites": "Ulubione",
"ViewTypeMovieGenres": "Gatunki",
"ViewTypeMusicLatest": "Najnowsze",
"ViewTypeMusicPlaylists": "Playlisty",
"ViewTypeMusicAlbums": "Albumy",
"ViewTypeMusicAlbumArtists": "Arty\u015bci albumu",
"HeaderOtherDisplaySettings": "Ustawienia Wy\u015bwietlania",
"ViewTypeMusicSongs": "Utwory",
"ViewTypeMusicFavorites": "Ulubione",
"ViewTypeMusicFavoriteAlbums": "Ulubione Albumy",
"ViewTypeMusicFavoriteArtists": "Ulubieni Arty\u015bci",
"ViewTypeMusicFavoriteSongs": "Ulubione Utwory",
"ViewTypeFolders": "Foldery",
"ViewTypeLiveTvRecordingGroups": "Nagrania",
"ViewTypeLiveTvChannels": "Kana\u0142y",
"ScheduledTaskFailedWithName": "{0} niepowodze\u0144",
"LabelRunningTimeValue": "Czas trwania: {0}",
"ScheduledTaskStartedWithName": "{0} rozpocz\u0119te",
"VersionNumber": "Wersja {0}",
"PluginInstalledWithName": "{0} zainstalowanych",
"PluginUpdatedWithName": "{0} zaktualizowanych",
"PluginUninstalledWithName": "{0} odinstalowanych",
"ItemAddedWithName": "{0} dodanych do biblioteki",
"ItemRemovedWithName": "{0} usuni\u0119tych z biblioteki",
"LabelIpAddressValue": "Adres IP: {0}",
"DeviceOnlineWithName": "{0} po\u0142\u0105czonych",
"UserOnlineFromDevice": "{0} jest online od {1}",
"ProviderValue": "Dostawca: {0}",
"SubtitlesDownloadedForItem": "Napisy pobrane dla {0}",
"UserConfigurationUpdatedWithName": "Konfiguracja u\u017cytkownika zosta\u0142a zaktualizowana dla {0}",
"UserCreatedWithName": "U\u017cytkownik {0} zosta\u0142 utworzony",
"UserPasswordChangedWithName": "Has\u0142o zosta\u0142o zmienione dla u\u017cytkownika {0}",
"UserDeletedWithName": "u\u017cytkownik {0} zosta\u0142 usuni\u0119ty",
"MessageServerConfigurationUpdated": "Konfiguracja serwera zosta\u0142a zaktualizowana",
"MessageNamedServerConfigurationUpdatedWithValue": "Sekcja {0} konfiguracji serwera zosta\u0142a zaktualizowana",
"MessageApplicationUpdated": "Serwer Emby zosta\u0142 zaktualizowany",
"FailedLoginAttemptWithUserName": "Nieudana pr\u00f3ba logowania z {0}",
"AuthenticationSucceededWithUserName": "{0} zaktualizowanych z powodzeniem",
"DeviceOfflineWithName": "{0} zosta\u0142o od\u0142aczonych",
"NotificationOptionServerRestartRequired": "Wymagane ponowne uruchomienie serwera",
"UserLockedOutWithName": "U\u017cytkownik {0} zosta\u0142 zablokowany",
"UserOfflineFromDevice": "{0} zosta\u0142o od\u0142\u0105czonych od {1}",
"UserStartedPlayingItemWithValues": "{0} rozpocz\u0105\u0142 odtwarzanie {1}",
"UserStoppedPlayingItemWithValues": "{0} zatrzyma\u0142 odtwarzanie {1}",
"SubtitleDownloadFailureForItem": "Napisy niepobrane dla {0}",
"HeaderUnidentified": "Niezidentyfikowane",
"HeaderImagePrimary": "Priorytetowy",
"HeaderImageBackdrop": "Obraz t\u0142a",
"HeaderImageLogo": "Logo",
"HeaderUserPrimaryImage": "Avatar u\u017cytkownika",
"HeaderOverview": "Opis",
"HeaderShortOverview": "Kr\u00f3tki Opis",
"HeaderType": "Typ",
"HeaderSeverity": "Rygor",
"HeaderUser": "U\u017cytkownik",
"HeaderName": "Nazwa",
"HeaderDate": "Data",
"HeaderPremiereDate": "Data premiery",
"HeaderDateAdded": "Data dodania",
"HeaderReleaseDate": "Data wydania",
"HeaderRuntime": "D\u0142ugo\u015b\u0107 filmu",
"HeaderPlayCount": "Play Count",
"HeaderSeason": "Sezon",
"HeaderSeasonNumber": "Numer sezonu",
"HeaderSeries": "Seriale:",
"HeaderNetwork": "Sie\u0107",
"HeaderYear": "Rok:",
"HeaderYears": "Lata:",
"HeaderParentalRating": "Parental Rating",
"HeaderCommunityRating": "Ocena spo\u0142eczno\u015bci",
"HeaderTrailers": "Zwiastuny",
"HeaderSpecials": "Specjalne",
"HeaderGameSystems": "Systemy gier",
"HeaderPlayers": "Players:",
"HeaderAlbumArtists": "Album Artists",
"HeaderAlbums": "Albumy",
"HeaderDisc": "P\u0142yta",
"HeaderTrack": "\u015acie\u017cka",
"HeaderAudio": "Audio",
"HeaderVideo": "Wideo",
"HeaderEmbeddedImage": "Osadzony obraz",
"HeaderResolution": "Rozdzielczo\u015b\u0107",
"HeaderSubtitles": "Napisy",
"HeaderGenres": "Gatunki",
"HeaderCountries": "Kraje",
"HeaderStatus": "Status",
"HeaderTracks": "Utwory",
"HeaderMusicArtist": "Wykonawcy muzyczni",
"HeaderLocked": "Zablokowane",
"HeaderStudios": "Studia",
"HeaderActor": "Aktorzy",
"HeaderComposer": "Kopozytorzy",
"HeaderDirector": "Re\u017cyszerzy",
"HeaderGuestStar": "Go\u015b\u0107 specjalny",
"HeaderProducer": "Producenci",
"HeaderWriter": "Scenarzy\u015bci",
"HeaderParentalRatings": "Ocena rodzicielska",
"HeaderCommunityRatings": "Ocena spo\u0142eczno\u015bci",
"StartupEmbyServerIsLoading": "Serwer Emby si\u0119 \u0142aduje. Prosz\u0119 spr\u00f3bowa\u0107 za chwil\u0119."
"SubtitleDownloadFailureForItem": "Pobieranie napis\u00f3w dla {0} zako\u0144czone niepowodzeniem",
"Sync": "Synchronizacja",
"User": "U\u017cytkownik",
"System": "System",
"Application": "Aplikacja",
"Plugin": "Wtyczka",
"LabelExit": "Wyj\u015bcie",
"LabelVisitCommunity": "Odwied\u017a spo\u0142eczno\u015b\u0107",
"LabelBrowseLibrary": "Przegl\u0105daj bibliotek\u0119",
"LabelConfigureServer": "Konfiguracja Emby",
"LabelRestartServer": "Uruchom serwer ponownie"
}

@ -1,178 +1,96 @@
{
"DbUpgradeMessage": "Por favor, aguarde enquanto a base de dados do Servidor Emby \u00e9 atualizada. {0}% completo.",
"AppDeviceValues": "App: {0}, Dispositivo: {1}",
"UserDownloadingItemWithValues": "{0} est\u00e1 fazendo download de {1}",
"FolderTypeMixed": "Conte\u00fado misto",
"FolderTypeMovies": "Filmes",
"FolderTypeMusic": "M\u00fasica",
"FolderTypeAdultVideos": "V\u00eddeos adultos",
"FolderTypePhotos": "Fotos",
"FolderTypeMusicVideos": "V\u00eddeos musicais",
"FolderTypeHomeVideos": "V\u00eddeos caseiros",
"FolderTypeGames": "Jogos",
"FolderTypeBooks": "Livros",
"FolderTypeTvShows": "TV",
"FolderTypeInherit": "Herdar",
"HeaderCastCrew": "Elenco & Equipe",
"HeaderPeople": "Pessoas",
"ValueSpecialEpisodeName": "Especial - {0}",
"LabelChapterName": "Cap\u00edtulo {0}",
"Latest": "Recente",
"ValueSpecialEpisodeName": "Especial - {0}",
"Inherit": "Herdar",
"Books": "Livros",
"Music": "M\u00fasica",
"Games": "Jogos",
"Photos": "Fotos",
"MixedContent": "Conte\u00fado misto",
"MusicVideos": "V\u00eddeos musicais",
"HomeVideos": "V\u00eddeos caseiros",
"Playlists": "Listas de Reprodu\u00e7\u00e3o",
"HeaderRecordingGroups": "Grupos de Grava\u00e7\u00e3o",
"HeaderContinueWatching": "Continuar Assistindo",
"HeaderFavoriteArtists": "Artistas Favoritos",
"HeaderFavoriteSongs": "M\u00fasicas Favoritas",
"HeaderAlbumArtists": "Artistas do \u00c1lbum",
"HeaderFavoriteAlbums": "\u00c1lbuns Favoritos",
"HeaderFavoriteEpisodes": "Epis\u00f3dios Favoritos",
"HeaderFavoriteShows": "S\u00e9ries Favoritas",
"HeaderNextUp": "Pr\u00f3ximos",
"Favorites": "Favoritos",
"Collections": "Colet\u00e2neas",
"Channels": "Canais",
"Movies": "Filmes",
"Albums": "\u00c1lbuns",
"Artists": "Artistas",
"Folders": "Pastas",
"Songs": "M\u00fasicas",
"TvShows": "TV Shows",
"Shows": "S\u00e9ries",
"Genres": "G\u00eaneros",
"NameSeasonNumber": "Temporada {0}",
"LabelExit": "Sair",
"LabelVisitCommunity": "Visitar a Comunidade",
"LabelGithub": "Github",
"LabelApiDocumentation": "Documenta\u00e7\u00e3o da Api",
"LabelDeveloperResources": "Recursos do Desenvolvedor",
"LabelBrowseLibrary": "Explorar Biblioteca",
"LabelConfigureServer": "Configurar o Emby",
"LabelRestartServer": "Reiniciar Servidor",
"CategorySync": "Sincroniza\u00e7\u00e3o",
"CategoryUser": "Usu\u00e1rio",
"CategorySystem": "Sistema",
"CategoryApplication": "Aplica\u00e7\u00e3o",
"CategoryPlugin": "Plugin",
"NotificationOptionPluginError": "Falha no plugin",
"NotificationOptionApplicationUpdateAvailable": "Atualiza\u00e7\u00e3o da aplica\u00e7\u00e3o disponivel",
"NotificationOptionApplicationUpdateInstalled": "Atualiza\u00e7\u00e3o da aplica\u00e7\u00e3o instalada",
"NotificationOptionPluginUpdateInstalled": "Atualiza\u00e7\u00e3o do plugin instalada",
"NotificationOptionPluginInstalled": "Plugin instalado",
"NotificationOptionPluginUninstalled": "Plugin desinstalado",
"NotificationOptionVideoPlayback": "Reprodu\u00e7\u00e3o de v\u00eddeo iniciada",
"NotificationOptionAudioPlayback": "Reprodu\u00e7\u00e3o de \u00e1udio iniciada",
"NotificationOptionGamePlayback": "Reprodu\u00e7\u00e3o de jogo iniciada",
"NotificationOptionVideoPlaybackStopped": "Reprodu\u00e7\u00e3o de v\u00eddeo parada",
"NotificationOptionAudioPlaybackStopped": "Reprodu\u00e7\u00e3o de \u00e1udio parada",
"NotificationOptionGamePlaybackStopped": "Reprodu\u00e7\u00e3o de jogo parada",
"NotificationOptionTaskFailed": "Falha na tarefa agendada",
"NotificationOptionInstallationFailed": "Falha na instala\u00e7\u00e3o",
"NotificationOptionNewLibraryContent": "Novo conte\u00fado adicionado",
"NotificationOptionNewLibraryContentMultiple": "Novo conte\u00fado adicionado (m\u00faltiplo)",
"NotificationOptionCameraImageUploaded": "Imagem da c\u00e2mera carregada",
"NotificationOptionUserLockedOut": "Usu\u00e1rio bloqueado",
"NotificationOptionServerRestartRequired": "Necessidade de reiniciar servidor",
"ViewTypePlaylists": "Listas de Reprodu\u00e7\u00e3o",
"ViewTypeMovies": "Filmes",
"ViewTypeTvShows": "TV",
"ViewTypeGames": "Jogos",
"ViewTypeMusic": "M\u00fasicas",
"ViewTypeMusicGenres": "G\u00eaneros",
"ViewTypeMusicArtists": "Artistas",
"ViewTypeBoxSets": "Cole\u00e7\u00f5es",
"ViewTypeChannels": "Canais",
"ViewTypeLiveTV": "TV ao Vivo",
"ViewTypeLiveTvNowPlaying": "Exibindo Agora",
"ViewTypeLatestGames": "Jogos Recentes",
"ViewTypeRecentlyPlayedGames": "Reproduzido Recentemente",
"ViewTypeGameFavorites": "Favoritos",
"ViewTypeGameSystems": "Sistemas de Jogo",
"ViewTypeGameGenres": "G\u00eaneros",
"ViewTypeTvResume": "Retomar",
"ViewTypeTvNextUp": "Pr\u00f3ximos",
"ViewTypeTvLatest": "Recentes",
"ViewTypeTvShowSeries": "S\u00e9ries",
"ViewTypeTvGenres": "G\u00eaneros",
"ViewTypeTvFavoriteSeries": "S\u00e9ries Favoritas",
"ViewTypeTvFavoriteEpisodes": "Epis\u00f3dios Favoritos",
"ViewTypeMovieResume": "Retomar",
"ViewTypeMovieLatest": "Recentes",
"ViewTypeMovieMovies": "Filmes",
"ViewTypeMovieCollections": "Cole\u00e7\u00f5es",
"ViewTypeMovieFavorites": "Favoritos",
"ViewTypeMovieGenres": "G\u00eaneros",
"ViewTypeMusicLatest": "Recentes",
"ViewTypeMusicPlaylists": "Listas de Reprodu\u00e7\u00e3o",
"ViewTypeMusicAlbums": "\u00c1lbuns",
"ViewTypeMusicAlbumArtists": "Artistas do \u00c1lbum",
"HeaderOtherDisplaySettings": "Ajustes de Exibi\u00e7\u00e3o",
"ViewTypeMusicSongs": "M\u00fasicas",
"ViewTypeMusicFavorites": "Favoritos",
"ViewTypeMusicFavoriteAlbums": "\u00c1lbuns Favoritos",
"ViewTypeMusicFavoriteArtists": "Artistas Favoritos",
"ViewTypeMusicFavoriteSongs": "M\u00fasicas Favoritas",
"ViewTypeFolders": "Pastas",
"ViewTypeLiveTvRecordingGroups": "Grava\u00e7\u00f5es",
"ViewTypeLiveTvChannels": "Canais",
"AppDeviceValues": "App: {0}, Dispositivo: {1}",
"UserDownloadingItemWithValues": "{0} est\u00e1 baixando {1}",
"HeaderLiveTV": "TV ao Vivo",
"ChapterNameValue": "Cap\u00edtulo {0}",
"ScheduledTaskFailedWithName": "{0} falhou",
"LabelRunningTimeValue": "Dura\u00e7\u00e3o: {0}",
"ScheduledTaskStartedWithName": "{0} iniciado",
"LabelRunningTimeValue": "Tempo de execu\u00e7\u00e3o: {0}",
"ScheduledTaskStartedWithName": "{0} iniciada",
"VersionNumber": "Vers\u00e3o {0}",
"PluginInstalledWithName": "{0} foi instalado",
"StartupEmbyServerIsLoading": "O Servidor Emby est\u00e1 carregando. Por favor tente novamente em breve.",
"PluginUpdatedWithName": "{0} foi atualizado",
"PluginUninstalledWithName": "{0} foi desinstalado",
"ItemAddedWithName": "{0} foi adicionado \u00e0 biblioteca",
"ItemRemovedWithName": "{0} foi removido da biblioteca",
"LabelIpAddressValue": "Endere\u00e7o Ip: {0}",
"LabelIpAddressValue": "Endere\u00e7o ip: {0}",
"DeviceOnlineWithName": "{0} est\u00e1 conectado",
"UserOnlineFromDevice": "{0} est\u00e1 ativo em {1}",
"ProviderValue": "Provedor: {0}",
"SubtitlesDownloadedForItem": "Legendas baixadas para {0}",
"UserConfigurationUpdatedWithName": "A configura\u00e7\u00e3o do usu\u00e1rio {0} foi atualizada",
"UserCreatedWithName": "O usu\u00e1rio {0} foi criado",
"UserPasswordChangedWithName": "A senha do usu\u00e1rio {0} foi alterada",
"UserPasswordChangedWithName": "A senha foi alterada para o usu\u00e1rio {0}",
"UserDeletedWithName": "O usu\u00e1rio {0} foi exclu\u00eddo",
"UserConfigurationUpdatedWithName": "A configura\u00e7\u00e3o do usu\u00e1rio foi atualizada para {0}",
"MessageServerConfigurationUpdated": "A configura\u00e7\u00e3o do servidor foi atualizada",
"MessageNamedServerConfigurationUpdatedWithValue": "A se\u00e7\u00e3o {0} da configura\u00e7\u00e3o do servidor foi atualizada",
"MessageApplicationUpdated": "O Servidor Emby foi atualizado",
"MessageApplicationUpdated": "O servidor Emby foi atualizado",
"FailedLoginAttemptWithUserName": "Falha na tentativa de login de {0}",
"AuthenticationSucceededWithUserName": "{0} autenticou-se com sucesso",
"DeviceOfflineWithName": "{0} foi desconectado",
"UserLockedOutWithName": "Usu\u00e1rio {0} foi bloqueado",
"UserOfflineFromDevice": "{0} foi desconectado de {1}",
"UserStartedPlayingItemWithValues": "{0} come\u00e7ou a reproduzir {1}",
"AuthenticationSucceededWithUserName": "{0} autenticado com sucesso",
"UserOfflineFromDevice": "{0} se desconectou de {1}",
"DeviceOfflineWithName": "{0} se desconectou",
"UserStartedPlayingItemWithValues": "{0} iniciou a reprodu\u00e7\u00e3o de {1}",
"UserStoppedPlayingItemWithValues": "{0} parou de reproduzir {1}",
"SubtitleDownloadFailureForItem": "Falha ao baixar legendas para {0}",
"HeaderUnidentified": "N\u00e3o-identificado",
"HeaderImagePrimary": "Principal",
"HeaderImageBackdrop": "Imagem de Fundo",
"HeaderImageLogo": "Logo",
"HeaderUserPrimaryImage": "Imagem do Usu\u00e1rio",
"HeaderOverview": "Sinopse",
"HeaderShortOverview": "Sinopse curta",
"HeaderType": "Tipo",
"HeaderSeverity": "Severidade",
"HeaderUser": "Usu\u00e1rio",
"HeaderName": "Nome",
"HeaderDate": "Data",
"HeaderPremiereDate": "Data da Estr\u00e9ia",
"HeaderDateAdded": "Data da Adi\u00e7\u00e3o",
"HeaderReleaseDate": "Data de lan\u00e7amento",
"HeaderRuntime": "Dura\u00e7\u00e3o",
"HeaderPlayCount": "N\u00famero de Reprodu\u00e7\u00f5es",
"HeaderSeason": "Temporada",
"HeaderSeasonNumber": "N\u00famero da temporada",
"HeaderSeries": "S\u00e9rie:",
"HeaderNetwork": "Rede de TV",
"HeaderYear": "Ano:",
"HeaderYears": "Anos:",
"HeaderParentalRating": "Classifica\u00e7\u00e3o Parental",
"HeaderCommunityRating": "Avalia\u00e7\u00e3o da Comunidade",
"HeaderTrailers": "Trailers",
"HeaderSpecials": "Especiais",
"HeaderGameSystems": "Sistemas de Jogo",
"HeaderPlayers": "Jogadores:",
"HeaderAlbumArtists": "Artistas do \u00c1lbum",
"HeaderAlbums": "\u00c1lbuns",
"HeaderDisc": "Disco",
"HeaderTrack": "Faixa",
"HeaderAudio": "\u00c1udio",
"HeaderVideo": "V\u00eddeo",
"HeaderEmbeddedImage": "Imagem incorporada",
"HeaderResolution": "Resolu\u00e7\u00e3o",
"HeaderSubtitles": "Legendas",
"HeaderGenres": "G\u00eaneros",
"HeaderCountries": "Pa\u00edses",
"HeaderStatus": "Status",
"HeaderTracks": "Faixas",
"HeaderMusicArtist": "Artista da m\u00fasica",
"HeaderLocked": "Travado",
"HeaderStudios": "Est\u00fadios",
"HeaderActor": "Atores",
"HeaderComposer": "Compositores",
"HeaderDirector": "Diretores",
"HeaderGuestStar": "Ator convidado",
"HeaderProducer": "Produtores",
"HeaderWriter": "Escritores",
"HeaderParentalRatings": "Classifica\u00e7\u00f5es Parentais",
"HeaderCommunityRatings": "Avalia\u00e7\u00f5es da comunidade",
"StartupEmbyServerIsLoading": "O Servidor Emby est\u00e1 carregando. Por favor, tente novamente em breve."
"NotificationOptionPluginError": "Falha de plugin",
"NotificationOptionApplicationUpdateAvailable": "Atualiza\u00e7\u00e3o de aplicativo dispon\u00edvel",
"NotificationOptionApplicationUpdateInstalled": "Atualiza\u00e7\u00e3o de aplicativo instalada",
"NotificationOptionPluginUpdateInstalled": "Atualiza\u00e7\u00e3o de plugin instalada",
"NotificationOptionPluginInstalled": "Plugin instalado",
"NotificationOptionPluginUninstalled": "Plugin desinstalado",
"NotificationOptionVideoPlayback": "Reprodu\u00e7\u00e3o de v\u00eddeo iniciada",
"NotificationOptionAudioPlayback": "Reprodu\u00e7\u00e3o de \u00e1udio iniciada",
"NotificationOptionGamePlayback": "Reprodu\u00e7\u00e3o de jogo iniciada",
"NotificationOptionVideoPlaybackStopped": "Reprodu\u00e7\u00e3o de v\u00eddeo parada",
"NotificationOptionAudioPlaybackStopped": "Reprodu\u00e7\u00e3o de \u00e1udio parada",
"NotificationOptionGamePlaybackStopped": "Reprodu\u00e7\u00e3o de jogo parada",
"NotificationOptionTaskFailed": "Falha na tarefa agendada",
"NotificationOptionInstallationFailed": "Falha na instala\u00e7\u00e3o",
"NotificationOptionNewLibraryContent": "Novo conte\u00fado adicionado",
"NotificationOptionCameraImageUploaded": "Imagem de c\u00e2mera enviada",
"NotificationOptionUserLockedOut": "Usu\u00e1rio bloqueado",
"NotificationOptionServerRestartRequired": "Necess\u00e1rio reiniciar servidor",
"UserLockedOutWithName": "Usu\u00e1rio {0} foi bloqueado",
"SubtitleDownloadFailureForItem": "Download de legendas falhou para {0}",
"Sync": "Sincronizar",
"User": "Usu\u00e1rio",
"System": "Sistema",
"Application": "Aplicativo",
"Plugin": "Plugin",
"LabelExit": "Sair",
"LabelVisitCommunity": "Visite a Comunidade",
"LabelBrowseLibrary": "Explorar Biblioteca",
"LabelConfigureServer": "Configurar Emby",
"LabelRestartServer": "Reiniciar Servidor"
}

@ -1,178 +1,96 @@
{
"DbUpgradeMessage": "Please wait while your Emby Server database is upgraded. {0}% complete.",
"Latest": "Latest",
"ValueSpecialEpisodeName": "Especial - {0}",
"Inherit": "Inherit",
"Books": "Books",
"Music": "Music",
"Games": "Games",
"Photos": "Photos",
"MixedContent": "Mixed content",
"MusicVideos": "Music videos",
"HomeVideos": "Home videos",
"Playlists": "Playlists",
"HeaderRecordingGroups": "Recording Groups",
"HeaderContinueWatching": "Continuar a ver",
"HeaderFavoriteArtists": "Favorite Artists",
"HeaderFavoriteSongs": "Favorite Songs",
"HeaderAlbumArtists": "Album Artists",
"HeaderFavoriteAlbums": "Favorite Albums",
"HeaderFavoriteEpisodes": "Favorite Episodes",
"HeaderFavoriteShows": "S\u00e9ries Favoritas",
"HeaderNextUp": "Next Up",
"Favorites": "Favorites",
"Collections": "Collections",
"Channels": "Channels",
"Movies": "Movies",
"Albums": "Albums",
"Artists": "Artists",
"Folders": "Folders",
"Songs": "Songs",
"TvShows": "TV Shows",
"Shows": "Shows",
"Genres": "Genres",
"NameSeasonNumber": "Season {0}",
"AppDeviceValues": "App: {0}, Device: {1}",
"UserDownloadingItemWithValues": "{0} is downloading {1}",
"FolderTypeMixed": "Mixed content",
"FolderTypeMovies": "Filmes",
"FolderTypeMusic": "M\u00fasica",
"FolderTypeAdultVideos": "V\u00eddeos adultos",
"FolderTypePhotos": "Fotos",
"FolderTypeMusicVideos": "V\u00eddeos musicais",
"FolderTypeHomeVideos": "V\u00eddeos caseiros",
"FolderTypeGames": "Jogos",
"FolderTypeBooks": "Livros",
"FolderTypeTvShows": "TV",
"FolderTypeInherit": "Inherit",
"HeaderCastCrew": "Elenco e Equipa",
"HeaderPeople": "People",
"ValueSpecialEpisodeName": "Special - {0}",
"LabelChapterName": "Chapter {0}",
"NameSeasonNumber": "Season {0}",
"LabelExit": "Sair",
"LabelVisitCommunity": "Visitar a Comunidade",
"LabelGithub": "Github",
"LabelApiDocumentation": "Documenta\u00e7\u00e3o da API",
"LabelDeveloperResources": "Recursos do Programador",
"LabelBrowseLibrary": "Navegar pela Biblioteca",
"LabelConfigureServer": "Configurar o Emby",
"LabelRestartServer": "Reiniciar Servidor",
"CategorySync": "Sincroniza\u00e7\u00e3o",
"CategoryUser": "Utilizador",
"CategorySystem": "Sistema",
"CategoryApplication": "Aplica\u00e7\u00e3o",
"CategoryPlugin": "Extens\u00e3o",
"NotificationOptionPluginError": "Falha na extens\u00e3o",
"NotificationOptionApplicationUpdateAvailable": "Dispon\u00edvel atualiza\u00e7\u00e3o da aplica\u00e7\u00e3o",
"NotificationOptionApplicationUpdateInstalled": "Instalada atualiza\u00e7\u00e3o da aplica\u00e7\u00e3o",
"NotificationOptionPluginUpdateInstalled": "Instalada atualiza\u00e7\u00e3o da extens\u00e3o",
"NotificationOptionPluginInstalled": "Extens\u00e3o instalada",
"NotificationOptionPluginUninstalled": "Extens\u00e3o desinstalada",
"NotificationOptionVideoPlayback": "Reprodu\u00e7\u00e3o de v\u00eddeo iniciada",
"NotificationOptionAudioPlayback": "Reprodu\u00e7\u00e3o de \u00e1udio iniciada",
"NotificationOptionGamePlayback": "Reprodu\u00e7\u00e3o de jogo iniciada",
"NotificationOptionVideoPlaybackStopped": "Reprodu\u00e7\u00e3o de v\u00eddeo parada",
"NotificationOptionAudioPlaybackStopped": "Reprodu\u00e7\u00e3o de \u00e1udio parada",
"NotificationOptionGamePlaybackStopped": "Reprodu\u00e7\u00e3o de jogo parada",
"NotificationOptionTaskFailed": "Falha na tarefa agendada",
"NotificationOptionInstallationFailed": "Falha na instala\u00e7\u00e3o",
"NotificationOptionNewLibraryContent": "Adicionado novo conte\u00fado",
"NotificationOptionNewLibraryContentMultiple": "Novo conte\u00fado adicionado (m\u00faltiplo)",
"NotificationOptionCameraImageUploaded": "Imagem da c\u00e2mara carregada",
"NotificationOptionUserLockedOut": "User locked out",
"NotificationOptionServerRestartRequired": "\u00c9 necess\u00e1rio reiniciar o servidor",
"ViewTypePlaylists": "Playlists",
"ViewTypeMovies": "Movies",
"ViewTypeTvShows": "TV",
"ViewTypeGames": "Games",
"ViewTypeMusic": "Music",
"ViewTypeMusicGenres": "Genres",
"ViewTypeMusicArtists": "Artists",
"ViewTypeBoxSets": "Collections",
"ViewTypeChannels": "Channels",
"ViewTypeLiveTV": "TV ao Vivo",
"ViewTypeLiveTvNowPlaying": "Now Airing",
"ViewTypeLatestGames": "Latest Games",
"ViewTypeRecentlyPlayedGames": "Reproduzido Recentemente",
"ViewTypeGameFavorites": "Favorites",
"ViewTypeGameSystems": "Game Systems",
"ViewTypeGameGenres": "Genres",
"ViewTypeTvResume": "Resume",
"ViewTypeTvNextUp": "Next Up",
"ViewTypeTvLatest": "\u00daltimas",
"ViewTypeTvShowSeries": "Series",
"ViewTypeTvGenres": "Genres",
"ViewTypeTvFavoriteSeries": "Favorite Series",
"ViewTypeTvFavoriteEpisodes": "Favorite Episodes",
"ViewTypeMovieResume": "Resume",
"ViewTypeMovieLatest": "\u00daltimas",
"ViewTypeMovieMovies": "Movies",
"ViewTypeMovieCollections": "Collections",
"ViewTypeMovieFavorites": "Favorites",
"ViewTypeMovieGenres": "Genres",
"ViewTypeMusicLatest": "\u00daltimas",
"ViewTypeMusicPlaylists": "Playlists",
"ViewTypeMusicAlbums": "Albums",
"ViewTypeMusicAlbumArtists": "Album Artists",
"HeaderOtherDisplaySettings": "Display Settings",
"ViewTypeMusicSongs": "Songs",
"ViewTypeMusicFavorites": "Favorites",
"ViewTypeMusicFavoriteAlbums": "Favorite Albums",
"ViewTypeMusicFavoriteArtists": "Favorite Artists",
"ViewTypeMusicFavoriteSongs": "Favorite Songs",
"ViewTypeFolders": "Folders",
"ViewTypeLiveTvRecordingGroups": "Recordings",
"ViewTypeLiveTvChannels": "Channels",
"HeaderLiveTV": "Live TV",
"ChapterNameValue": "Chapter {0}",
"ScheduledTaskFailedWithName": "{0} failed",
"LabelRunningTimeValue": "Running time: {0}",
"ScheduledTaskStartedWithName": "{0} started",
"VersionNumber": "Vers\u00e3o {0}",
"PluginInstalledWithName": "{0} foi instalado",
"PluginUpdatedWithName": "{0} foi atualizado",
"PluginUninstalledWithName": "{0} foi desinstalado",
"ItemAddedWithName": "{0} foi adicionado \u00e0 biblioteca",
"ItemRemovedWithName": "{0} foi removido da biblioteca",
"VersionNumber": "Version {0}",
"PluginInstalledWithName": "{0} was installed",
"StartupEmbyServerIsLoading": "Emby Server is loading. Please try again shortly.",
"PluginUpdatedWithName": "{0} was updated",
"PluginUninstalledWithName": "{0} was uninstalled",
"ItemAddedWithName": "{0} was added to the library",
"ItemRemovedWithName": "{0} was removed from the library",
"LabelIpAddressValue": "Ip address: {0}",
"DeviceOnlineWithName": "{0} est\u00e1 conectado",
"DeviceOnlineWithName": "{0} is connected",
"UserOnlineFromDevice": "{0} is online from {1}",
"ProviderValue": "Provider: {0}",
"SubtitlesDownloadedForItem": "Subtitles downloaded for {0}",
"UserConfigurationUpdatedWithName": "User configuration has been updated for {0}",
"UserCreatedWithName": "User {0} has been created",
"UserPasswordChangedWithName": "Password has been changed for user {0}",
"UserDeletedWithName": "User {0} has been deleted",
"UserConfigurationUpdatedWithName": "User configuration has been updated for {0}",
"MessageServerConfigurationUpdated": "Server configuration has been updated",
"MessageNamedServerConfigurationUpdatedWithValue": "Server configuration section {0} has been updated",
"MessageApplicationUpdated": "Emby Server has been updated",
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
"DeviceOfflineWithName": "{0} has disconnected",
"UserLockedOutWithName": "User {0} has been locked out",
"UserOfflineFromDevice": "{0} has disconnected from {1}",
"DeviceOfflineWithName": "{0} has disconnected",
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
"NotificationOptionPluginError": "Plugin failure",
"NotificationOptionApplicationUpdateAvailable": "Application update available",
"NotificationOptionApplicationUpdateInstalled": "Application update installed",
"NotificationOptionPluginUpdateInstalled": "Plugin update installed",
"NotificationOptionPluginInstalled": "Plugin installed",
"NotificationOptionPluginUninstalled": "Plugin uninstalled",
"NotificationOptionVideoPlayback": "Video playback started",
"NotificationOptionAudioPlayback": "Audio playback started",
"NotificationOptionGamePlayback": "Game playback started",
"NotificationOptionVideoPlaybackStopped": "Video playback stopped",
"NotificationOptionAudioPlaybackStopped": "Audio playback stopped",
"NotificationOptionGamePlaybackStopped": "Game playback stopped",
"NotificationOptionTaskFailed": "Scheduled task failure",
"NotificationOptionInstallationFailed": "Installation failure",
"NotificationOptionNewLibraryContent": "New content added",
"NotificationOptionCameraImageUploaded": "Camera image uploaded",
"NotificationOptionUserLockedOut": "User locked out",
"NotificationOptionServerRestartRequired": "Server restart required",
"UserLockedOutWithName": "User {0} has been locked out",
"SubtitleDownloadFailureForItem": "Subtitles failed to download for {0}",
"HeaderUnidentified": "Unidentified",
"HeaderImagePrimary": "Primary",
"HeaderImageBackdrop": "Backdrop",
"HeaderImageLogo": "Logo",
"HeaderUserPrimaryImage": "User Image",
"HeaderOverview": "Overview",
"HeaderShortOverview": "Short Overview",
"HeaderType": "Type",
"HeaderSeverity": "Severity",
"HeaderUser": "User",
"HeaderName": "Nome",
"HeaderDate": "Data",
"HeaderPremiereDate": "Premiere Date",
"HeaderDateAdded": "Date Added",
"HeaderReleaseDate": "Release date",
"HeaderRuntime": "Runtime",
"HeaderPlayCount": "Play Count",
"HeaderSeason": "Season",
"HeaderSeasonNumber": "Season number",
"HeaderSeries": "Series:",
"HeaderNetwork": "Network",
"HeaderYear": "Year:",
"HeaderYears": "Years:",
"HeaderParentalRating": "Parental Rating",
"HeaderCommunityRating": "Community rating",
"HeaderTrailers": "Trailers",
"HeaderSpecials": "Specials",
"HeaderGameSystems": "Game Systems",
"HeaderPlayers": "Players:",
"HeaderAlbumArtists": "Album Artists",
"HeaderAlbums": "Albums",
"HeaderDisc": "Disc",
"HeaderTrack": "Track",
"HeaderAudio": "\u00c1udio",
"HeaderVideo": "V\u00eddeo",
"HeaderEmbeddedImage": "Embedded image",
"HeaderResolution": "Resolution",
"HeaderSubtitles": "Subtitles",
"HeaderGenres": "Genres",
"HeaderCountries": "Countries",
"HeaderStatus": "Estado",
"HeaderTracks": "Tracks",
"HeaderMusicArtist": "Music artist",
"HeaderLocked": "Locked",
"HeaderStudios": "Studios",
"HeaderActor": "Actors",
"HeaderComposer": "Composers",
"HeaderDirector": "Directors",
"HeaderGuestStar": "Guest star",
"HeaderProducer": "Producers",
"HeaderWriter": "Writers",
"HeaderParentalRatings": "Parental Ratings",
"HeaderCommunityRatings": "Community ratings",
"StartupEmbyServerIsLoading": "Emby Server is loading. Please try again shortly."
"Sync": "Sync",
"User": "User",
"System": "System",
"Application": "Aplica\u00e7\u00e3o",
"Plugin": "Plugin",
"LabelExit": "Exit",
"LabelVisitCommunity": "Visit Community",
"LabelBrowseLibrary": "Browse Library",
"LabelConfigureServer": "Configure Emby",
"LabelRestartServer": "Restart Server"
}

@ -1,178 +0,0 @@
{
"DbUpgradeMessage": "Please wait while your Emby Server database is upgraded. {0}% complete.",
"AppDeviceValues": "App: {0}, Device: {1}",
"UserDownloadingItemWithValues": "{0} is downloading {1}",
"FolderTypeMixed": "Continut mixt",
"FolderTypeMovies": "Filme",
"FolderTypeMusic": "Muzica",
"FolderTypeAdultVideos": "Filme Porno",
"FolderTypePhotos": "Fotografii",
"FolderTypeMusicVideos": "Videoclipuri",
"FolderTypeHomeVideos": "Video Personale",
"FolderTypeGames": "Jocuri",
"FolderTypeBooks": "Carti",
"FolderTypeTvShows": "Seriale TV",
"FolderTypeInherit": "Relationat",
"HeaderCastCrew": "Cast & Crew",
"HeaderPeople": "People",
"ValueSpecialEpisodeName": "Special - {0}",
"LabelChapterName": "Chapter {0}",
"NameSeasonNumber": "Season {0}",
"LabelExit": "Iesire",
"LabelVisitCommunity": "Viziteaza comunitatea",
"LabelGithub": "Github",
"LabelApiDocumentation": "Documentatie Api",
"LabelDeveloperResources": "Resurse Dezvoltator",
"LabelBrowseLibrary": "Rasfoieste Librarie",
"LabelConfigureServer": "Configureaza Emby",
"LabelRestartServer": "Restarteaza Server",
"CategorySync": "Sincronizeaza",
"CategoryUser": "User",
"CategorySystem": "System",
"CategoryApplication": "Application",
"CategoryPlugin": "Plugin",
"NotificationOptionPluginError": "Plugin failure",
"NotificationOptionApplicationUpdateAvailable": "Application update available",
"NotificationOptionApplicationUpdateInstalled": "Application update installed",
"NotificationOptionPluginUpdateInstalled": "Plugin update installed",
"NotificationOptionPluginInstalled": "Plugin installed",
"NotificationOptionPluginUninstalled": "Plugin uninstalled",
"NotificationOptionVideoPlayback": "Video playback started",
"NotificationOptionAudioPlayback": "Audio playback started",
"NotificationOptionGamePlayback": "Game playback started",
"NotificationOptionVideoPlaybackStopped": "Video playback stopped",
"NotificationOptionAudioPlaybackStopped": "Audio playback stopped",
"NotificationOptionGamePlaybackStopped": "Game playback stopped",
"NotificationOptionTaskFailed": "Scheduled task failure",
"NotificationOptionInstallationFailed": "Installation failure",
"NotificationOptionNewLibraryContent": "New content added",
"NotificationOptionNewLibraryContentMultiple": "New content added (multiple)",
"NotificationOptionCameraImageUploaded": "Camera image uploaded",
"NotificationOptionUserLockedOut": "User locked out",
"NotificationOptionServerRestartRequired": "Server restart required",
"ViewTypePlaylists": "Playlists",
"ViewTypeMovies": "Movies",
"ViewTypeTvShows": "TV",
"ViewTypeGames": "Games",
"ViewTypeMusic": "Music",
"ViewTypeMusicGenres": "Genres",
"ViewTypeMusicArtists": "Artists",
"ViewTypeBoxSets": "Collections",
"ViewTypeChannels": "Channels",
"ViewTypeLiveTV": "Live TV",
"ViewTypeLiveTvNowPlaying": "Now Airing",
"ViewTypeLatestGames": "Latest Games",
"ViewTypeRecentlyPlayedGames": "Recently Played",
"ViewTypeGameFavorites": "Favorites",
"ViewTypeGameSystems": "Game Systems",
"ViewTypeGameGenres": "Genres",
"ViewTypeTvResume": "Resume",
"ViewTypeTvNextUp": "Next Up",
"ViewTypeTvLatest": "Latest",
"ViewTypeTvShowSeries": "Series",
"ViewTypeTvGenres": "Genres",
"ViewTypeTvFavoriteSeries": "Favorite Series",
"ViewTypeTvFavoriteEpisodes": "Favorite Episodes",
"ViewTypeMovieResume": "Resume",
"ViewTypeMovieLatest": "Latest",
"ViewTypeMovieMovies": "Movies",
"ViewTypeMovieCollections": "Collections",
"ViewTypeMovieFavorites": "Favorites",
"ViewTypeMovieGenres": "Genres",
"ViewTypeMusicLatest": "Latest",
"ViewTypeMusicPlaylists": "Playlists",
"ViewTypeMusicAlbums": "Albums",
"ViewTypeMusicAlbumArtists": "Album Artists",
"HeaderOtherDisplaySettings": "Display Settings",
"ViewTypeMusicSongs": "Songs",
"ViewTypeMusicFavorites": "Favorites",
"ViewTypeMusicFavoriteAlbums": "Favorite Albums",
"ViewTypeMusicFavoriteArtists": "Favorite Artists",
"ViewTypeMusicFavoriteSongs": "Favorite Songs",
"ViewTypeFolders": "Folders",
"ViewTypeLiveTvRecordingGroups": "Recordings",
"ViewTypeLiveTvChannels": "Channels",
"ScheduledTaskFailedWithName": "{0} failed",
"LabelRunningTimeValue": "Running time: {0}",
"ScheduledTaskStartedWithName": "{0} started",
"VersionNumber": "Version {0}",
"PluginInstalledWithName": "{0} was installed",
"PluginUpdatedWithName": "{0} was updated",
"PluginUninstalledWithName": "{0} was uninstalled",
"ItemAddedWithName": "{0} was added to the library",
"ItemRemovedWithName": "{0} was removed from the library",
"LabelIpAddressValue": "Ip address: {0}",
"DeviceOnlineWithName": "{0} is connected",
"UserOnlineFromDevice": "{0} is online from {1}",
"ProviderValue": "Provider: {0}",
"SubtitlesDownloadedForItem": "Subtitles downloaded for {0}",
"UserConfigurationUpdatedWithName": "User configuration has been updated for {0}",
"UserCreatedWithName": "User {0} has been created",
"UserPasswordChangedWithName": "Password has been changed for user {0}",
"UserDeletedWithName": "User {0} has been deleted",
"MessageServerConfigurationUpdated": "Server configuration has been updated",
"MessageNamedServerConfigurationUpdatedWithValue": "Server configuration section {0} has been updated",
"MessageApplicationUpdated": "Emby Server has been updated",
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
"DeviceOfflineWithName": "{0} has disconnected",
"UserLockedOutWithName": "User {0} has been locked out",
"UserOfflineFromDevice": "{0} has disconnected from {1}",
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
"SubtitleDownloadFailureForItem": "Subtitles failed to download for {0}",
"HeaderUnidentified": "Unidentified",
"HeaderImagePrimary": "Primary",
"HeaderImageBackdrop": "Backdrop",
"HeaderImageLogo": "Logo",
"HeaderUserPrimaryImage": "User Image",
"HeaderOverview": "Overview",
"HeaderShortOverview": "Short Overview",
"HeaderType": "Type",
"HeaderSeverity": "Severity",
"HeaderUser": "User",
"HeaderName": "Name",
"HeaderDate": "Date",
"HeaderPremiereDate": "Premiere Date",
"HeaderDateAdded": "Date Added",
"HeaderReleaseDate": "Release date",
"HeaderRuntime": "Runtime",
"HeaderPlayCount": "Play Count",
"HeaderSeason": "Season",
"HeaderSeasonNumber": "Season number",
"HeaderSeries": "Series:",
"HeaderNetwork": "Network",
"HeaderYear": "Year:",
"HeaderYears": "Years:",
"HeaderParentalRating": "Parental Rating",
"HeaderCommunityRating": "Community rating",
"HeaderTrailers": "Trailers",
"HeaderSpecials": "Specials",
"HeaderGameSystems": "Game Systems",
"HeaderPlayers": "Players:",
"HeaderAlbumArtists": "Album Artists",
"HeaderAlbums": "Albums",
"HeaderDisc": "Disc",
"HeaderTrack": "Track",
"HeaderAudio": "Muzica",
"HeaderVideo": "Filme",
"HeaderEmbeddedImage": "Embedded image",
"HeaderResolution": "Resolution",
"HeaderSubtitles": "Subtitles",
"HeaderGenres": "Genres",
"HeaderCountries": "Countries",
"HeaderStatus": "Status",
"HeaderTracks": "Tracks",
"HeaderMusicArtist": "Music artist",
"HeaderLocked": "Locked",
"HeaderStudios": "Studios",
"HeaderActor": "Actors",
"HeaderComposer": "Composers",
"HeaderDirector": "Directors",
"HeaderGuestStar": "Guest star",
"HeaderProducer": "Producers",
"HeaderWriter": "Writers",
"HeaderParentalRatings": "Parental Ratings",
"HeaderCommunityRatings": "Community ratings",
"StartupEmbyServerIsLoading": "Emby Server is loading. Please try again shortly."
}

@ -1,178 +1,96 @@
{
"DbUpgradeMessage": "\u041f\u043e\u0434\u043e\u0436\u0434\u0438\u0442\u0435, \u043f\u043e\u043a\u0430 \u0431\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u0432\u0430\u0448\u0435\u043c Emby Server \u043c\u043e\u0434\u0435\u0440\u043d\u0438\u0437\u0438\u0440\u0443\u0435\u0442\u0441\u044f. {0} % \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043e.",
"AppDeviceValues": "\u041f\u0440\u0438\u043b.: {0}, \u0423\u0441\u0442\u0440.: {1}",
"UserDownloadingItemWithValues": "{0} \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442 {1}",
"FolderTypeMixed": "\u0421\u043c\u0435\u0448\u0430\u043d\u043d\u043e\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435",
"FolderTypeMovies": "\u041a\u0438\u043d\u043e",
"FolderTypeMusic": "\u041c\u0443\u0437\u044b\u043a\u0430",
"FolderTypeAdultVideos": "\u0414\u043b\u044f \u0432\u0437\u0440\u043e\u0441\u043b\u044b\u0445",
"FolderTypePhotos": "\u0424\u043e\u0442\u043e",
"FolderTypeMusicVideos": "\u041c\u0443\u0437. \u0432\u0438\u0434\u0435\u043e",
"FolderTypeHomeVideos": "\u0414\u043e\u043c. \u0432\u0438\u0434\u0435\u043e",
"FolderTypeGames": "\u0418\u0433\u0440\u044b",
"FolderTypeBooks": "\u041b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u0430",
"FolderTypeTvShows": "\u0422\u0412",
"FolderTypeInherit": "\u041d\u0430\u0441\u043b\u0435\u0434\u0443\u0435\u043c\u044b\u0439",
"HeaderCastCrew": "\u0421\u043d\u0438\u043c\u0430\u043b\u0438\u0441\u044c \u0438 \u0441\u043d\u0438\u043c\u0430\u043b\u0438",
"HeaderPeople": "\u041b\u044e\u0434\u0438",
"Latest": "\u041d\u043e\u0432\u0435\u0439\u0448\u0435\u0435",
"ValueSpecialEpisodeName": "\u0421\u043f\u0435\u0446\u044d\u043f\u0438\u0437\u043e\u0434 - {0}",
"LabelChapterName": "\u0421\u0446\u0435\u043d\u0430 {0}",
"Inherit": "\u041d\u0430\u0441\u043b\u0435\u0434\u0443\u0435\u043c\u043e\u0435",
"Books": "\u041b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u0430",
"Music": "\u041c\u0443\u0437\u044b\u043a\u0430",
"Games": "\u0418\u0433\u0440\u044b",
"Photos": "\u0424\u043e\u0442\u043e",
"MixedContent": "\u0421\u043c\u0435\u0448\u0430\u043d\u043d\u043e\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435",
"MusicVideos": "\u041c\u0443\u0437. \u0432\u0438\u0434\u0435\u043e",
"HomeVideos": "\u0414\u043e\u043c. \u0432\u0438\u0434\u0435\u043e",
"Playlists": "\u041f\u043b\u0435\u0439-\u043b\u0438\u0441\u0442\u044b",
"HeaderRecordingGroups": "\u0413\u0440\u0443\u043f\u043f\u044b \u0437\u0430\u043f\u0438\u0441\u0435\u0439",
"HeaderContinueWatching": "\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430",
"HeaderFavoriteArtists": "\u0418\u0437\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u0438",
"HeaderFavoriteSongs": "\u0418\u0437\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u0438",
"HeaderAlbumArtists": "\u0418\u0441\u043f-\u043b\u0438 \u0430\u043b\u044c\u0431\u043e\u043c\u0430",
"HeaderFavoriteAlbums": "\u0418\u0437\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u0430\u043b\u044c\u0431\u043e\u043c\u044b",
"HeaderFavoriteEpisodes": "\u0418\u0437\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u044d\u043f\u0438\u0437\u043e\u0434\u044b",
"HeaderFavoriteShows": "\u0418\u0437\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438",
"HeaderNextUp": "\u041e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0435",
"Favorites": "\u0418\u0437\u0431\u0440\u0430\u043d\u043d\u043e\u0435",
"Collections": "\u041a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438",
"Channels": "\u041a\u0430\u043d\u0430\u043b\u044b",
"Movies": "\u041a\u0438\u043d\u043e",
"Albums": "\u0410\u043b\u044c\u0431\u043e\u043c\u044b",
"Artists": "\u0418\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u0438",
"Folders": "\u041f\u0430\u043f\u043a\u0438",
"Songs": "\u041a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u0438",
"TvShows": "\u0422\u0412",
"Shows": "\u041f\u0435\u0440\u0435\u0434\u0430\u0447\u0438",
"Genres": "\u0416\u0430\u043d\u0440\u044b",
"NameSeasonNumber": "\u0421\u0435\u0437\u043e\u043d {0}",
"LabelExit": "\u0412\u044b\u0445\u043e\u0434",
"LabelVisitCommunity": "\u041f\u043e\u0441\u0435\u0449\u0435\u043d\u0438\u0435 \u0421\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430",
"LabelGithub": "GitHub",
"LabelApiDocumentation": "\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e API",
"LabelDeveloperResources": "\u0420\u0435\u0441\u0443\u0440\u0441\u044b \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432",
"LabelBrowseLibrary": "\u041d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044f \u043f\u043e \u043c\u0435\u0434\u0438\u0430\u0442\u0435\u043a\u0435",
"LabelConfigureServer": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 Emby",
"LabelRestartServer": "\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0430",
"CategorySync": "\u0421\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u044f",
"CategoryUser": "\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c",
"CategorySystem": "\u0421\u0438\u0441\u0442\u0435\u043c\u0430",
"CategoryApplication": "\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435",
"CategoryPlugin": "\u041f\u043b\u0430\u0433\u0438\u043d",
"NotificationOptionPluginError": "\u0421\u0431\u043e\u0439 \u043f\u043b\u0430\u0433\u0438\u043d\u0430",
"NotificationOptionApplicationUpdateAvailable": "\u0418\u043c\u0435\u0435\u0442\u0441\u044f \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f",
"NotificationOptionApplicationUpdateInstalled": "\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e",
"NotificationOptionPluginUpdateInstalled": "\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043b\u0430\u0433\u0438\u043d\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e",
"NotificationOptionPluginInstalled": "\u041f\u043b\u0430\u0433\u0438\u043d \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d",
"NotificationOptionPluginUninstalled": "\u041f\u043b\u0430\u0433\u0438\u043d \u0443\u0434\u0430\u043b\u0451\u043d",
"NotificationOptionVideoPlayback": "\u0412\u043e\u0441\u043f\u0440-\u0438\u0435 \u0432\u0438\u0434\u0435\u043e \u0437\u0430\u043f-\u043d\u043e",
"NotificationOptionAudioPlayback": "\u0412\u043e\u0441\u043f\u0440-\u0438\u0435 \u0430\u0443\u0434\u0438\u043e \u0437\u0430\u043f-\u043d\u043e",
"NotificationOptionGamePlayback": "\u0412\u043e\u0441\u043f\u0440-\u0438\u0435 \u0438\u0433\u0440\u044b \u0437\u0430\u043f-\u043d\u043e",
"NotificationOptionVideoPlaybackStopped": "\u0412\u043e\u0441\u043f-\u0438\u0435 \u0432\u0438\u0434\u0435\u043e \u043e\u0441\u0442-\u043d\u043e",
"NotificationOptionAudioPlaybackStopped": "\u0412\u043e\u0441\u043f-\u0438\u0435 \u0430\u0443\u0434\u0438\u043e \u043e\u0441\u0442-\u043d\u043e",
"NotificationOptionGamePlaybackStopped": "\u0412\u043e\u0441\u043f-\u0438\u0435 \u0438\u0433\u0440\u044b \u043e\u0441\u0442-\u043d\u043e",
"NotificationOptionTaskFailed": "\u0421\u0431\u043e\u0439 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438",
"NotificationOptionInstallationFailed": "\u0421\u0431\u043e\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438",
"NotificationOptionNewLibraryContent": "\u041d\u043e\u0432\u043e\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e",
"NotificationOptionNewLibraryContentMultiple": "\u041d\u043e\u0432\u043e\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e (\u043c\u043d\u043e\u0433\u043e\u043a\u0440\u0430\u0442\u043d\u043e)",
"NotificationOptionCameraImageUploaded": "\u041f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0430 \u0432\u044b\u043a\u043b\u0430\u0434\u043a\u0430 \u043e\u0442\u0441\u043d\u044f\u0442\u043e\u0433\u043e \u0441 \u043a\u0430\u043c\u0435\u0440\u044b",
"NotificationOptionUserLockedOut": "\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d",
"NotificationOptionServerRestartRequired": "\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0430",
"ViewTypePlaylists": "\u041f\u043b\u0435\u0439-\u043b\u0438\u0441\u0442\u044b",
"ViewTypeMovies": "\u041a\u0438\u043d\u043e",
"ViewTypeTvShows": "\u0422\u0412",
"ViewTypeGames": "\u0418\u0433\u0440\u044b",
"ViewTypeMusic": "\u041c\u0443\u0437\u044b\u043a\u0430",
"ViewTypeMusicGenres": "\u0416\u0430\u043d\u0440\u044b",
"ViewTypeMusicArtists": "\u0418\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u0438",
"ViewTypeBoxSets": "\u041a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438",
"ViewTypeChannels": "\u041a\u0430\u043d\u0430\u043b\u044b",
"ViewTypeLiveTV": "\u042d\u0444\u0438\u0440",
"ViewTypeLiveTvNowPlaying": "\u0412 \u044d\u0444\u0438\u0440\u0435",
"ViewTypeLatestGames": "\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u0438\u0433\u0440\u044b",
"ViewTypeRecentlyPlayedGames": "C\u044b\u0433\u0440\u0430\u043d\u043d\u044b\u0435 \u043d\u0435\u0434\u0430\u0432\u043d\u043e",
"ViewTypeGameFavorites": "\u0418\u0437\u0431\u0440\u0430\u043d\u043d\u043e\u0435",
"ViewTypeGameSystems": "\u0418\u0433\u0440\u043e\u0432\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b",
"ViewTypeGameGenres": "\u0416\u0430\u043d\u0440\u044b",
"ViewTypeTvResume": "\u0412\u043e\u0437\u043e\u0431\u043d\u043e\u0432\u0438\u043c\u043e\u0435",
"ViewTypeTvNextUp": "\u041e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0435",
"ViewTypeTvLatest": "\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435",
"ViewTypeTvShowSeries": "\u0421\u0435\u0440\u0438\u0430\u043b\u044b",
"ViewTypeTvGenres": "\u0416\u0430\u043d\u0440\u044b",
"ViewTypeTvFavoriteSeries": "\u0418\u0437\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u0441\u0435\u0440\u0438\u0430\u043b\u044b",
"ViewTypeTvFavoriteEpisodes": "\u0418\u0437\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u044d\u043f\u0438\u0437\u043e\u0434\u044b",
"ViewTypeMovieResume": "\u0412\u043e\u0437\u043e\u0431\u043d\u043e\u0432\u0438\u043c\u043e\u0435",
"ViewTypeMovieLatest": "\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435",
"ViewTypeMovieMovies": "\u0424\u0438\u043b\u044c\u043c\u044b",
"ViewTypeMovieCollections": "\u041a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438",
"ViewTypeMovieFavorites": "\u0418\u0437\u0431\u0440\u0430\u043d\u043d\u043e\u0435",
"ViewTypeMovieGenres": "\u0416\u0430\u043d\u0440\u044b",
"ViewTypeMusicLatest": "\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435",
"ViewTypeMusicPlaylists": "\u041f\u043b\u0435\u0439-\u043b\u0438\u0441\u0442\u044b",
"ViewTypeMusicAlbums": "\u0410\u043b\u044c\u0431\u043e\u043c\u044b",
"ViewTypeMusicAlbumArtists": "\u0418\u0441\u043f-\u043b\u0438 \u0430\u043b\u044c\u0431\u043e\u043c\u0430",
"HeaderOtherDisplaySettings": "\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f",
"ViewTypeMusicSongs": "\u041a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u0438",
"ViewTypeMusicFavorites": "\u0418\u0437\u0431\u0440\u0430\u043d\u043d\u043e\u0435",
"ViewTypeMusicFavoriteAlbums": "\u0418\u0437\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u0430\u043b\u044c\u0431\u043e\u043c\u044b",
"ViewTypeMusicFavoriteArtists": "\u0418\u0437\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u0438",
"ViewTypeMusicFavoriteSongs": "\u0418\u0437\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u0438",
"ViewTypeFolders": "\u041f\u0430\u043f\u043a\u0438",
"ViewTypeLiveTvRecordingGroups": "\u0417\u0430\u043f\u0438\u0441\u0438",
"ViewTypeLiveTvChannels": "\u041a\u0430\u043d\u0430\u043b\u044b",
"AppDeviceValues": "\u041f\u0440\u0438\u043b.: {0}, \u0423\u0441\u0442\u0440.: {1}",
"UserDownloadingItemWithValues": "{0} \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442 {1}",
"HeaderLiveTV": "\u042d\u0444\u0438\u0440",
"ChapterNameValue": "\u0421\u0446\u0435\u043d\u0430 {0}",
"ScheduledTaskFailedWithName": "{0} - \u043d\u0435\u0443\u0434\u0430\u0447\u043d\u0430",
"LabelRunningTimeValue": "\u0412\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f: {0}",
"ScheduledTaskStartedWithName": "{0} - \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u0430",
"VersionNumber": "\u0412\u0435\u0440\u0441\u0438\u044f {0}",
"PluginInstalledWithName": "{0} - \u0431\u044b\u043b\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e",
"StartupEmbyServerIsLoading": "Emby Server \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044f. \u041f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u0435 \u043f\u043e\u043f\u044b\u0442\u043a\u0443 \u0432 \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0435\u0435 \u0432\u0440\u0435\u043c\u044f.",
"PluginUpdatedWithName": "{0} - \u0431\u044b\u043b\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u043e",
"PluginUninstalledWithName": "{0} - \u0431\u044b\u043b\u043e \u0443\u0434\u0430\u043b\u0435\u043d\u043e",
"ItemAddedWithName": "{0} (\u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e \u0432 \u043c\u0435\u0434\u0438\u0430\u0442\u0435\u043a\u0443)",
"ItemRemovedWithName": "{0} (\u0438\u0437\u044a\u044f\u0442\u043e \u0438\u0437 \u043c\u0435\u0434\u0438\u0430\u0442\u0435\u043a\u0438)",
"ItemAddedWithName": "{0} - \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e \u0432 \u043c\u0435\u0434\u0438\u0430\u0442\u0435\u043a\u0443",
"ItemRemovedWithName": "{0} - \u0438\u0437\u044a\u044f\u0442\u043e \u0438\u0437 \u043c\u0435\u0434\u0438\u0430\u0442\u0435\u043a\u0438",
"LabelIpAddressValue": "IP-\u0430\u0434\u0440\u0435\u0441: {0}",
"DeviceOnlineWithName": "{0} - \u043f\u043e\u0434\u043a\u043b. \u0443\u0441\u0442-\u043d\u043e",
"UserOnlineFromDevice": "{0} - \u043f\u043e\u0434\u043a\u043b. \u0441 {1} \u0443\u0441\u0442-\u043d\u043e",
"ProviderValue": "\u041f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a: {0}",
"SubtitlesDownloadedForItem": "\u0421\u0443\u0431\u0442\u0438\u0442\u0440\u044b \u0434\u043b\u044f {0} \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u043b\u0438\u0441\u044c",
"UserConfigurationUpdatedWithName": "\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u043f\u043e\u043b\u044c\u0437-\u043b\u044f {0} \u0431\u044b\u043b\u0430 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0430",
"SubtitlesDownloadedForItem": "\u0421\u0443\u0431\u0442\u0438\u0442\u0440\u044b \u043a {0} \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u044b",
"UserCreatedWithName": "\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c {0} \u0431\u044b\u043b \u0441\u043e\u0437\u0434\u0430\u043d",
"UserPasswordChangedWithName": "\u041f\u0430\u0440\u043e\u043b\u044c \u043f\u043e\u043b\u044c\u0437-\u043b\u044f {0} \u0431\u044b\u043b \u0438\u0437\u043c\u0435\u043d\u0451\u043d",
"UserDeletedWithName": "\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c {0} \u0431\u044b\u043b \u0443\u0434\u0430\u043b\u0451\u043d",
"MessageServerConfigurationUpdated": "\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0431\u044b\u043b\u0430 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0430",
"MessageNamedServerConfigurationUpdatedWithValue": "\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 (\u0440\u0430\u0437\u0434\u0435\u043b {0}) \u0431\u044b\u043b\u0430 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0430",
"UserConfigurationUpdatedWithName": "\u041a\u043e\u043d\u0444\u0438\u0433-\u0438\u044f \u043f\u043e\u043b\u044c\u0437-\u043b\u044f {0} \u0431\u044b\u043b\u0430 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0430",
"MessageServerConfigurationUpdated": "\u041a\u043e\u043d\u0444\u0438\u0433-\u0438\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0431\u044b\u043b\u0430 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0430",
"MessageNamedServerConfigurationUpdatedWithValue": "\u041a\u043e\u043d\u0444\u0438\u0433-\u0438\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u0430 (\u0440\u0430\u0437\u0434\u0435\u043b {0}) \u0431\u044b\u043b\u0430 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0430",
"MessageApplicationUpdated": "Emby Server \u0431\u044b\u043b \u043e\u0431\u043d\u043e\u0432\u043b\u0451\u043d",
"FailedLoginAttemptWithUserName": "{0} - \u043f\u043e\u043f\u044b\u0442\u043a\u0430 \u0432\u0445\u043e\u0434\u0430 \u043d\u0435\u0443\u0434\u0430\u0447\u043d\u0430",
"AuthenticationSucceededWithUserName": "{0} - \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f \u0443\u0441\u043f\u0435\u0448\u043d\u0430",
"DeviceOfflineWithName": "{0} - \u043f\u043e\u0434\u043a\u043b. \u0440\u0430\u0437\u044a-\u043d\u043e",
"UserLockedOutWithName": "\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c {0} \u0431\u044b\u043b \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d",
"UserOfflineFromDevice": "{0} - \u043f\u043e\u0434\u043a\u043b. \u0441 {1} \u0440\u0430\u0437\u044a-\u043d\u043e",
"DeviceOfflineWithName": "{0} - \u043f\u043e\u0434\u043a\u043b. \u0440\u0430\u0437\u044a-\u043d\u043e",
"UserStartedPlayingItemWithValues": "{0} - \u0432\u043e\u0441\u043f\u0440. \u00ab{1}\u00bb \u0437\u0430\u043f-\u043d\u043e",
"UserStoppedPlayingItemWithValues": "{0} - \u0432\u043e\u0441\u043f\u0440. \u00ab{1}\u00bb \u043e\u0441\u0442-\u043d\u043e",
"NotificationOptionPluginError": "\u0421\u0431\u043e\u0439 \u043f\u043b\u0430\u0433\u0438\u043d\u0430",
"NotificationOptionApplicationUpdateAvailable": "\u0418\u043c\u0435\u0435\u0442\u0441\u044f \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f",
"NotificationOptionApplicationUpdateInstalled": "\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e",
"NotificationOptionPluginUpdateInstalled": "\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043b\u0430\u0433\u0438\u043d\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e",
"NotificationOptionPluginInstalled": "\u041f\u043b\u0430\u0433\u0438\u043d \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d",
"NotificationOptionPluginUninstalled": "\u041f\u043b\u0430\u0433\u0438\u043d \u0443\u0434\u0430\u043b\u0451\u043d",
"NotificationOptionVideoPlayback": "\u0412\u043e\u0441\u043f\u0440-\u0438\u0435 \u0432\u0438\u0434\u0435\u043e \u0437\u0430\u043f-\u043d\u043e",
"NotificationOptionAudioPlayback": "\u0412\u043e\u0441\u043f\u0440-\u0438\u0435 \u0430\u0443\u0434\u0438\u043e \u0437\u0430\u043f-\u043d\u043e",
"NotificationOptionGamePlayback": "\u0412\u043e\u0441\u043f\u0440-\u0438\u0435 \u0438\u0433\u0440\u044b \u0437\u0430\u043f-\u043d\u043e",
"NotificationOptionVideoPlaybackStopped": "\u0412\u043e\u0441\u043f-\u0438\u0435 \u0432\u0438\u0434\u0435\u043e \u043e\u0441\u0442-\u043d\u043e",
"NotificationOptionAudioPlaybackStopped": "\u0412\u043e\u0441\u043f-\u0438\u0435 \u0430\u0443\u0434\u0438\u043e \u043e\u0441\u0442-\u043d\u043e",
"NotificationOptionGamePlaybackStopped": "\u0412\u043e\u0441\u043f-\u0438\u0435 \u0438\u0433\u0440\u044b \u043e\u0441\u0442-\u043d\u043e",
"NotificationOptionTaskFailed": "\u0421\u0431\u043e\u0439 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438",
"NotificationOptionInstallationFailed": "\u0421\u0431\u043e\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438",
"NotificationOptionNewLibraryContent": "\u041d\u043e\u0432\u043e\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e",
"NotificationOptionCameraImageUploaded": "\u041f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0430 \u0432\u044b\u043a\u043b\u0430\u0434\u043a\u0430 \u043e\u0442\u0441\u043d\u044f\u0442\u043e\u0433\u043e \u0441 \u043a\u0430\u043c\u0435\u0440\u044b",
"NotificationOptionUserLockedOut": "\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d",
"NotificationOptionServerRestartRequired": "\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0430",
"UserLockedOutWithName": "\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c {0} \u0431\u044b\u043b \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d",
"SubtitleDownloadFailureForItem": "\u0421\u0443\u0431\u0442\u0438\u0442\u0440\u044b \u043a {0} \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c",
"HeaderUnidentified": "\u041d\u0435 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u043d\u043e",
"HeaderImagePrimary": "\u0413\u043e\u043b\u043e\u0432\u043d\u043e\u0439",
"HeaderImageBackdrop": "\u0417\u0430\u0434\u043d\u0438\u043a",
"HeaderImageLogo": "\u041b\u043e\u0433\u043e\u0442\u0438\u043f",
"HeaderUserPrimaryImage": "\u0420\u0438\u0441\u0443\u043d\u043e\u043a \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f",
"HeaderOverview": "\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435",
"HeaderShortOverview": "\u041a\u0440\u0430\u0442\u043a\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435",
"HeaderType": "\u0422\u0438\u043f",
"HeaderSeverity": "\u0412\u0430\u0436\u043d\u043e\u0441\u0442\u044c",
"HeaderUser": "\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c",
"HeaderName": "\u0418\u043c\u044f (\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435)",
"HeaderDate": "\u0414\u0430\u0442\u0430",
"HeaderPremiereDate": "\u0414\u0430\u0442\u0430 \u043f\u0440\u0435\u043c\u044c\u0435\u0440\u044b",
"HeaderDateAdded": "\u0414\u0430\u0442\u0430 \u0434\u043e\u0431.",
"HeaderReleaseDate": "\u0414\u0430\u0442\u0430 \u0432\u044b\u043f.",
"HeaderRuntime": "\u0414\u043b\u0438\u0442.",
"HeaderPlayCount": "\u041a\u043e\u043b-\u0432\u043e \u0432\u043e\u0441\u043f\u0440.",
"HeaderSeason": "\u0421\u0435\u0437\u043e\u043d",
"HeaderSeasonNumber": "\u2116 \u0441\u0435\u0437\u043e\u043d\u0430",
"HeaderSeries": "\u0421\u0435\u0440\u0438\u0430\u043b:",
"HeaderNetwork": "\u0422\u0435\u043b\u0435\u0441\u0435\u0442\u044c",
"HeaderYear": "\u0413\u043e\u0434:",
"HeaderYears": "\u0413\u043e\u0434\u044b:",
"HeaderParentalRating": "\u0412\u043e\u0437\u0440. \u043a\u0430\u0442.",
"HeaderCommunityRating": "\u041e\u0431\u0449. \u043e\u0446\u0435\u043d\u043a\u0430",
"HeaderTrailers": "\u0422\u0440\u0435\u0439\u043b.",
"HeaderSpecials": "\u0421\u043f\u0435\u0446.",
"HeaderGameSystems": "\u0418\u0433\u0440. \u0441\u0438\u0441\u0442\u0435\u043c\u044b",
"HeaderPlayers": "\u0418\u0433\u0440\u043e\u043a\u0438:",
"HeaderAlbumArtists": "\u0418\u0441\u043f-\u043b\u0438 \u0430\u043b\u044c\u0431\u043e\u043c\u0430",
"HeaderAlbums": "\u0410\u043b\u044c\u0431\u043e\u043c\u044b",
"HeaderDisc": "\u0414\u0438\u0441\u043a",
"HeaderTrack": "\u0414\u043e\u0440-\u043a\u0430",
"HeaderAudio": "\u0410\u0443\u0434\u0438\u043e",
"HeaderVideo": "\u0412\u0438\u0434\u0435\u043e",
"HeaderEmbeddedImage": "\u0412\u043d\u0435\u0434\u0440\u0451\u043d\u043d\u044b\u0439 \u0440\u0438\u0441\u0443\u043d\u043e\u043a",
"HeaderResolution": "\u0420\u0430\u0437\u0440.",
"HeaderSubtitles": "\u0421\u0443\u0431\u0442.",
"HeaderGenres": "\u0416\u0430\u043d\u0440\u044b",
"HeaderCountries": "\u0421\u0442\u0440\u0430\u043d\u044b",
"HeaderStatus": "\u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435",
"HeaderTracks": "\u0414\u043e\u0440-\u043a\u0438",
"HeaderMusicArtist": "\u041c\u0443\u0437. \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c",
"HeaderLocked": "\u0417\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u043e",
"HeaderStudios": "\u0421\u0442\u0443\u0434\u0438\u0438",
"HeaderActor": "\u0410\u043a\u0442\u0451\u0440\u044b",
"HeaderComposer": "\u041a\u043e\u043c\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u044b",
"HeaderDirector": "\u0420\u0435\u0436\u0438\u0441\u0441\u0451\u0440\u044b",
"HeaderGuestStar": "\u041f\u0440\u0438\u0433\u043b. \u0430\u043a\u0442\u0451\u0440",
"HeaderProducer": "\u041f\u0440\u043e\u0434\u044e\u0441\u0435\u0440\u044b",
"HeaderWriter": "\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0441\u0442\u044b",
"HeaderParentalRatings": "\u0412\u043e\u0437\u0440\u0430\u0441\u0442\u043d\u0430\u044f \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044f",
"HeaderCommunityRatings": "\u041e\u0431\u0449. \u043e\u0446\u0435\u043d\u043a\u0438",
"StartupEmbyServerIsLoading": "Emby Server \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044f. \u041f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u0435 \u043f\u043e\u043f\u044b\u0442\u043a\u0443 \u0432 \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0435\u0435 \u0432\u0440\u0435\u043c\u044f."
"Sync": "\u0421\u0438\u043d\u0445\u0440\u043e",
"User": "\u041f\u043e\u043b\u044c\u0437-\u043b\u044c",
"System": "\u0421\u0438\u0441\u0442\u0435\u043c\u0430",
"Application": "\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435",
"Plugin": "\u041f\u043b\u0430\u0433\u0438\u043d",
"LabelExit": "\u0412\u044b\u0445\u043e\u0434",
"LabelVisitCommunity": "\u041f\u043e\u0441\u0435\u0449\u0435\u043d\u0438\u0435 \u0421\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430",
"LabelBrowseLibrary": "\u041d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044f \u043f\u043e \u043c\u0435\u0434\u0438\u0430\u0442\u0435\u043a\u0435",
"LabelConfigureServer": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 Emby",
"LabelRestartServer": "\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0430"
}

@ -0,0 +1,96 @@
{
"Latest": "Latest",
"ValueSpecialEpisodeName": "Special - {0}",
"Inherit": "Inherit",
"Books": "Books",
"Music": "Music",
"Games": "Games",
"Photos": "Photos",
"MixedContent": "Mixed content",
"MusicVideos": "Music videos",
"HomeVideos": "Home videos",
"Playlists": "Playlists",
"HeaderRecordingGroups": "Recording Groups",
"HeaderContinueWatching": "Continue Watching",
"HeaderFavoriteArtists": "Favorite Artists",
"HeaderFavoriteSongs": "Ob\u013e\u00faben\u00e9 pesni\u010dky",
"HeaderAlbumArtists": "Album Artists",
"HeaderFavoriteAlbums": "Favorite Albums",
"HeaderFavoriteEpisodes": "Favorite Episodes",
"HeaderFavoriteShows": "Ob\u013e\u00faben\u00e9 seri\u00e1ly",
"HeaderNextUp": "Next Up",
"Favorites": "Ob\u013e\u00faben\u00e9",
"Collections": "Collections",
"Channels": "Channels",
"Movies": "Movies",
"Albums": "Albums",
"Artists": "Artists",
"Folders": "Folders",
"Songs": "Songs",
"TvShows": "TV Shows",
"Shows": "Series",
"Genres": "Genres",
"NameSeasonNumber": "Season {0}",
"AppDeviceValues": "App: {0}, Device: {1}",
"UserDownloadingItemWithValues": "{0} is downloading {1}",
"HeaderLiveTV": "Live TV",
"ChapterNameValue": "Chapter {0}",
"ScheduledTaskFailedWithName": "{0} failed",
"LabelRunningTimeValue": "Running time: {0}",
"ScheduledTaskStartedWithName": "{0} started",
"VersionNumber": "Version {0}",
"PluginInstalledWithName": "{0} was installed",
"StartupEmbyServerIsLoading": "Emby Server is loading. Please try again shortly.",
"PluginUpdatedWithName": "{0} was updated",
"PluginUninstalledWithName": "{0} was uninstalled",
"ItemAddedWithName": "{0} was added to the library",
"ItemRemovedWithName": "{0} was removed from the library",
"LabelIpAddressValue": "Ip address: {0}",
"DeviceOnlineWithName": "{0} is connected",
"UserOnlineFromDevice": "{0} is online from {1}",
"ProviderValue": "Provider: {0}",
"SubtitlesDownloadedForItem": "Subtitles downloaded for {0}",
"UserCreatedWithName": "User {0} has been created",
"UserPasswordChangedWithName": "Password has been changed for user {0}",
"UserDeletedWithName": "User {0} has been deleted",
"UserConfigurationUpdatedWithName": "User configuration has been updated for {0}",
"MessageServerConfigurationUpdated": "Server configuration has been updated",
"MessageNamedServerConfigurationUpdatedWithValue": "Server configuration section {0} has been updated",
"MessageApplicationUpdated": "Emby Server has been updated",
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
"UserOfflineFromDevice": "{0} has disconnected from {1}",
"DeviceOfflineWithName": "{0} has disconnected",
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
"NotificationOptionPluginError": "Plugin failure",
"NotificationOptionApplicationUpdateAvailable": "Application update available",
"NotificationOptionApplicationUpdateInstalled": "Application update installed",
"NotificationOptionPluginUpdateInstalled": "Plugin update installed",
"NotificationOptionPluginInstalled": "Plugin installed",
"NotificationOptionPluginUninstalled": "Plugin uninstalled",
"NotificationOptionVideoPlayback": "Video playback started",
"NotificationOptionAudioPlayback": "Audio playback started",
"NotificationOptionGamePlayback": "Game playback started",
"NotificationOptionVideoPlaybackStopped": "Video playback stopped",
"NotificationOptionAudioPlaybackStopped": "Audio playback stopped",
"NotificationOptionGamePlaybackStopped": "Game playback stopped",
"NotificationOptionTaskFailed": "Scheduled task failure",
"NotificationOptionInstallationFailed": "Installation failure",
"NotificationOptionNewLibraryContent": "New content added",
"NotificationOptionCameraImageUploaded": "Camera image uploaded",
"NotificationOptionUserLockedOut": "User locked out",
"NotificationOptionServerRestartRequired": "Server restart required",
"UserLockedOutWithName": "User {0} has been locked out",
"SubtitleDownloadFailureForItem": "Subtitles failed to download for {0}",
"Sync": "Sync",
"User": "User",
"System": "System",
"Application": "Application",
"Plugin": "Plugin",
"LabelExit": "Exit",
"LabelVisitCommunity": "Visit Community",
"LabelBrowseLibrary": "Browse Library",
"LabelConfigureServer": "Configure Emby",
"LabelRestartServer": "Restart Server"
}

@ -1,102 +1,46 @@
{
"DbUpgradeMessage": "Prosimo pocakajte podatkovna baza Emby Streznika se posodablja. {0}% koncano.",
"AppDeviceValues": "App: {0}, Device: {1}",
"UserDownloadingItemWithValues": "{0} is downloading {1}",
"FolderTypeMixed": "Mixed content",
"FolderTypeMovies": "Movies",
"FolderTypeMusic": "Music",
"FolderTypeAdultVideos": "Adult videos",
"FolderTypePhotos": "Photos",
"FolderTypeMusicVideos": "Music videos",
"FolderTypeHomeVideos": "Home videos",
"FolderTypeGames": "Games",
"FolderTypeBooks": "Books",
"FolderTypeTvShows": "TV",
"FolderTypeInherit": "Inherit",
"HeaderCastCrew": "Cast & Crew",
"HeaderPeople": "People",
"Latest": "Latest",
"ValueSpecialEpisodeName": "Special - {0}",
"LabelChapterName": "Chapter {0}",
"Inherit": "Inherit",
"Books": "Books",
"Music": "Music",
"Games": "Games",
"Photos": "Photos",
"MixedContent": "Mixed content",
"MusicVideos": "Music videos",
"HomeVideos": "Home videos",
"Playlists": "Playlists",
"HeaderRecordingGroups": "Recording Groups",
"HeaderContinueWatching": "Continue Watching",
"HeaderFavoriteArtists": "Favorite Artists",
"HeaderFavoriteSongs": "Favorite Songs",
"HeaderAlbumArtists": "Album Artists",
"HeaderFavoriteAlbums": "Favorite Albums",
"HeaderFavoriteEpisodes": "Favorite Episodes",
"HeaderFavoriteShows": "Favorite Shows",
"HeaderNextUp": "Next Up",
"Favorites": "Favorites",
"Collections": "Collections",
"Channels": "Channels",
"Movies": "Movies",
"Albums": "Albums",
"Artists": "Artists",
"Folders": "Folders",
"Songs": "Songs",
"TvShows": "TV Shows",
"Shows": "Serije",
"Genres": "Genres",
"NameSeasonNumber": "Season {0}",
"LabelExit": "Izhod",
"LabelVisitCommunity": "Obiscite Skupnost",
"LabelGithub": "Github",
"LabelApiDocumentation": "Api Dokumentacija",
"LabelDeveloperResources": "Vsebine za razvijalce",
"LabelBrowseLibrary": "Brskanje po knjiznici",
"LabelConfigureServer": "Emby Nastavitve",
"LabelRestartServer": "Ponovni Zagon Streznika",
"CategorySync": "Sync",
"CategoryUser": "Uporabnik",
"CategorySystem": "Sistem",
"CategoryApplication": "Aplikacija",
"CategoryPlugin": "Vticnik",
"NotificationOptionPluginError": "Napaka v vticniku",
"NotificationOptionApplicationUpdateAvailable": "Na voljo je posodobitev",
"NotificationOptionApplicationUpdateInstalled": "Posodobitev je bila namescena",
"NotificationOptionPluginUpdateInstalled": "Plugin update installed",
"NotificationOptionPluginInstalled": "Vticnik namescen",
"NotificationOptionPluginUninstalled": "Vticnik odstranjen",
"NotificationOptionVideoPlayback": "Video playback started",
"NotificationOptionAudioPlayback": "Audio playback started",
"NotificationOptionGamePlayback": "Game playback started",
"NotificationOptionVideoPlaybackStopped": "Predvajanje videa koncano",
"NotificationOptionAudioPlaybackStopped": "Predvajanje audia koncano",
"NotificationOptionGamePlaybackStopped": "Game playback stopped",
"NotificationOptionTaskFailed": "Scheduled task failure",
"NotificationOptionInstallationFailed": "Napaka v namestitvi",
"NotificationOptionNewLibraryContent": "Dodana nova vsebina",
"NotificationOptionNewLibraryContentMultiple": "Dodane nove vsebine",
"NotificationOptionCameraImageUploaded": "Camera image uploaded",
"NotificationOptionUserLockedOut": "User locked out",
"NotificationOptionServerRestartRequired": "Zahtevan je ponovni zagon",
"ViewTypePlaylists": "Playliste",
"ViewTypeMovies": "Filmi",
"ViewTypeTvShows": "TV",
"ViewTypeGames": "Igre",
"ViewTypeMusic": "Glasba",
"ViewTypeMusicGenres": "Zvrsti",
"ViewTypeMusicArtists": "Izvajalci",
"ViewTypeBoxSets": "Zbirke",
"ViewTypeChannels": "Kanali",
"ViewTypeLiveTV": "TV v Zivo",
"ViewTypeLiveTvNowPlaying": "Now Airing",
"ViewTypeLatestGames": "Zadnje Igre",
"ViewTypeRecentlyPlayedGames": "Recently Played",
"ViewTypeGameFavorites": "Priljubljeno",
"ViewTypeGameSystems": "Game Systems",
"ViewTypeGameGenres": "Zvrsti",
"ViewTypeTvResume": "Nadaljuj",
"ViewTypeTvNextUp": "Next Up",
"ViewTypeTvLatest": "Latest",
"ViewTypeTvShowSeries": "Serije",
"ViewTypeTvGenres": "Zvrsti",
"ViewTypeTvFavoriteSeries": "Priljubljene Serije",
"ViewTypeTvFavoriteEpisodes": "Priljubljene Epizode",
"ViewTypeMovieResume": "Nadaljuj",
"ViewTypeMovieLatest": "Latest",
"ViewTypeMovieMovies": "Filmi",
"ViewTypeMovieCollections": "Zbirke",
"ViewTypeMovieFavorites": "Priljubljeno",
"ViewTypeMovieGenres": "Genres",
"ViewTypeMusicLatest": "Latest",
"ViewTypeMusicPlaylists": "Playlists",
"ViewTypeMusicAlbums": "Albumi",
"ViewTypeMusicAlbumArtists": "Album Artists",
"HeaderOtherDisplaySettings": "Display Settings",
"ViewTypeMusicSongs": "Songs",
"ViewTypeMusicFavorites": "Favorites",
"ViewTypeMusicFavoriteAlbums": "Priljubljeni Albumi",
"ViewTypeMusicFavoriteArtists": "Priljubljeni Izvajalci",
"ViewTypeMusicFavoriteSongs": "Priljubljene skladbe",
"ViewTypeFolders": "Folders",
"ViewTypeLiveTvRecordingGroups": "Recordings",
"ViewTypeLiveTvChannels": "Channels",
"AppDeviceValues": "App: {0}, Device: {1}",
"UserDownloadingItemWithValues": "{0} is downloading {1}",
"HeaderLiveTV": "Live TV",
"ChapterNameValue": "Chapter {0}",
"ScheduledTaskFailedWithName": "{0} failed",
"LabelRunningTimeValue": "Running time: {0}",
"ScheduledTaskStartedWithName": "{0} started",
"VersionNumber": "Verzija {0}",
"VersionNumber": "Version {0}",
"PluginInstalledWithName": "{0} was installed",
"StartupEmbyServerIsLoading": "Emby Server is loading. Please try again shortly.",
"PluginUpdatedWithName": "{0} was updated",
"PluginUninstalledWithName": "{0} was uninstalled",
"ItemAddedWithName": "{0} was added to the library",
@ -106,73 +50,47 @@
"UserOnlineFromDevice": "{0} is online from {1}",
"ProviderValue": "Provider: {0}",
"SubtitlesDownloadedForItem": "Subtitles downloaded for {0}",
"UserConfigurationUpdatedWithName": "User configuration has been updated for {0}",
"UserCreatedWithName": "User {0} has been created",
"UserPasswordChangedWithName": "Password has been changed for user {0}",
"UserDeletedWithName": "User {0} has been deleted",
"UserConfigurationUpdatedWithName": "User configuration has been updated for {0}",
"MessageServerConfigurationUpdated": "Server configuration has been updated",
"MessageNamedServerConfigurationUpdatedWithValue": "Server configuration section {0} has been updated",
"MessageApplicationUpdated": "Emby Server has been updated",
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
"DeviceOfflineWithName": "{0} has disconnected",
"UserLockedOutWithName": "User {0} has been locked out",
"UserOfflineFromDevice": "{0} has disconnected from {1}",
"DeviceOfflineWithName": "{0} has disconnected",
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
"NotificationOptionPluginError": "Plugin failure",
"NotificationOptionApplicationUpdateAvailable": "Application update available",
"NotificationOptionApplicationUpdateInstalled": "Application update installed",
"NotificationOptionPluginUpdateInstalled": "Plugin update installed",
"NotificationOptionPluginInstalled": "Plugin installed",
"NotificationOptionPluginUninstalled": "Plugin uninstalled",
"NotificationOptionVideoPlayback": "Video playback started",
"NotificationOptionAudioPlayback": "Audio playback started",
"NotificationOptionGamePlayback": "Game playback started",
"NotificationOptionVideoPlaybackStopped": "Video playback stopped",
"NotificationOptionAudioPlaybackStopped": "Audio playback stopped",
"NotificationOptionGamePlaybackStopped": "Game playback stopped",
"NotificationOptionTaskFailed": "Scheduled task failure",
"NotificationOptionInstallationFailed": "Installation failure",
"NotificationOptionNewLibraryContent": "New content added",
"NotificationOptionCameraImageUploaded": "Camera image uploaded",
"NotificationOptionUserLockedOut": "User locked out",
"NotificationOptionServerRestartRequired": "Server restart required",
"UserLockedOutWithName": "User {0} has been locked out",
"SubtitleDownloadFailureForItem": "Subtitles failed to download for {0}",
"HeaderUnidentified": "Unidentified",
"HeaderImagePrimary": "Primary",
"HeaderImageBackdrop": "Backdrop",
"HeaderImageLogo": "Logo",
"HeaderUserPrimaryImage": "User Image",
"HeaderOverview": "Overview",
"HeaderShortOverview": "Short Overview",
"HeaderType": "Type",
"HeaderSeverity": "Severity",
"HeaderUser": "Uporabnik",
"HeaderName": "Name",
"HeaderDate": "Datum",
"HeaderPremiereDate": "Premiere Date",
"HeaderDateAdded": "Date Added",
"HeaderReleaseDate": "Release date",
"HeaderRuntime": "Runtime",
"HeaderPlayCount": "Play Count",
"HeaderSeason": "Season",
"HeaderSeasonNumber": "Season number",
"HeaderSeries": "Series:",
"HeaderNetwork": "Network",
"HeaderYear": "Year:",
"HeaderYears": "Years:",
"HeaderParentalRating": "Parental Rating",
"HeaderCommunityRating": "Community rating",
"HeaderTrailers": "Trailers",
"HeaderSpecials": "Specials",
"HeaderGameSystems": "Game Systems",
"HeaderPlayers": "Players:",
"HeaderAlbumArtists": "Album Artists",
"HeaderAlbums": "Albums",
"HeaderDisc": "Disc",
"HeaderTrack": "Track",
"HeaderAudio": "Audio",
"HeaderVideo": "Video",
"HeaderEmbeddedImage": "Embedded image",
"HeaderResolution": "Resolution",
"HeaderSubtitles": "Subtitles",
"HeaderGenres": "Genres",
"HeaderCountries": "Countries",
"HeaderStatus": "Status",
"HeaderTracks": "Tracks",
"HeaderMusicArtist": "Music artist",
"HeaderLocked": "Locked",
"HeaderStudios": "Studios",
"HeaderActor": "Actors",
"HeaderComposer": "Composers",
"HeaderDirector": "Directors",
"HeaderGuestStar": "Guest star",
"HeaderProducer": "Producers",
"HeaderWriter": "Writers",
"HeaderParentalRatings": "Parental Ratings",
"HeaderCommunityRatings": "Community ratings",
"StartupEmbyServerIsLoading": "Emby Server is loading. Please try again shortly."
"Sync": "Sync",
"User": "User",
"System": "System",
"Application": "Application",
"Plugin": "Plugin",
"LabelExit": "Exit",
"LabelVisitCommunity": "Visit Community",
"LabelBrowseLibrary": "Browse Library",
"LabelConfigureServer": "Configure Emby",
"LabelRestartServer": "Restart Server"
}

@ -1,178 +1,96 @@
{
"DbUpgradeMessage": "V\u00e4nligen v\u00e4nta medan databasen p\u00e5 din Emby Server uppgraderas. {0}% klar",
"AppDeviceValues": "App: {0}, enhet: {1}",
"UserDownloadingItemWithValues": "{0} laddar ned {1}",
"FolderTypeMixed": "Blandat inneh\u00e5ll",
"FolderTypeMovies": "Filmer",
"FolderTypeMusic": "Musik",
"FolderTypeAdultVideos": "Inneh\u00e5ll f\u00f6r vuxna",
"FolderTypePhotos": "Foton",
"FolderTypeMusicVideos": "Musikvideor",
"FolderTypeHomeVideos": "Hemvideor",
"FolderTypeGames": "Spel",
"FolderTypeBooks": "B\u00f6cker",
"FolderTypeTvShows": "TV",
"FolderTypeInherit": "\u00c4rv",
"HeaderCastCrew": "Rollista & bes\u00e4ttning",
"HeaderPeople": "Personer",
"Latest": "Senaste",
"ValueSpecialEpisodeName": "Specialavsnitt - {0}",
"LabelChapterName": "Kapitel {0}",
"Inherit": "\u00c4rv",
"Books": "B\u00f6cker",
"Music": "Musik",
"Games": "Spel",
"Photos": "Bilder",
"MixedContent": "Blandat inneh\u00e5ll",
"MusicVideos": "Musikvideos",
"HomeVideos": "Hemvideor",
"Playlists": "Spellistor",
"HeaderRecordingGroups": "Inspelningsgrupper",
"HeaderContinueWatching": "Forts\u00e4tt kolla p\u00e5",
"HeaderFavoriteArtists": "Favoritartister",
"HeaderFavoriteSongs": "Favoritl\u00e5tar",
"HeaderAlbumArtists": "Albumartister",
"HeaderFavoriteAlbums": "Favoritalbum",
"HeaderFavoriteEpisodes": "Favoritavsnitt",
"HeaderFavoriteShows": "Favoritserier",
"HeaderNextUp": "N\u00e4sta p\u00e5 tur",
"Favorites": "Favoriter",
"Collections": "Samlingar",
"Channels": "Kanaler",
"Movies": "Filmer",
"Albums": "Album",
"Artists": "Artister",
"Folders": "Mappar",
"Songs": "L\u00e5tar",
"TvShows": "TV Shows",
"Shows": "Serier",
"Genres": "Genrer",
"NameSeasonNumber": "S\u00e4song {0}",
"LabelExit": "Avsluta",
"LabelVisitCommunity": "Bes\u00f6k v\u00e5rt diskussionsforum",
"LabelGithub": "Github",
"LabelApiDocumentation": "Api-dokumentation",
"LabelDeveloperResources": "Resurser f\u00f6r utvecklare",
"LabelBrowseLibrary": "Bl\u00e4ddra i biblioteket",
"LabelConfigureServer": "Konfigurera Emby",
"LabelRestartServer": "Starta om servern",
"CategorySync": "Synkronisera",
"CategoryUser": "Anv\u00e4ndare",
"CategorySystem": "System",
"CategoryApplication": "App",
"CategoryPlugin": "Till\u00e4gg",
"NotificationOptionPluginError": "Fel uppstod med till\u00e4gget",
"NotificationOptionApplicationUpdateAvailable": "Ny programversion tillg\u00e4nglig",
"NotificationOptionApplicationUpdateInstalled": "Programuppdatering installerad",
"NotificationOptionPluginUpdateInstalled": "Till\u00e4gg har uppdaterats",
"NotificationOptionPluginInstalled": "Till\u00e4gg har installerats",
"NotificationOptionPluginUninstalled": "Till\u00e4gg har avinstallerats",
"NotificationOptionVideoPlayback": "Videouppspelning har p\u00e5b\u00f6rjats",
"NotificationOptionAudioPlayback": "Ljuduppspelning har p\u00e5b\u00f6rjats",
"NotificationOptionGamePlayback": "Spel har startats",
"NotificationOptionVideoPlaybackStopped": "Videouppspelning stoppad",
"NotificationOptionAudioPlaybackStopped": "Ljuduppspelning stoppad",
"NotificationOptionGamePlaybackStopped": "Spel stoppat",
"NotificationOptionTaskFailed": "Schemalagd aktivitet har misslyckats",
"NotificationOptionInstallationFailed": "Fel vid installation",
"NotificationOptionNewLibraryContent": "Nytt inneh\u00e5ll har tillkommit",
"NotificationOptionNewLibraryContentMultiple": "Nytillkommet inneh\u00e5ll finns (flera objekt)",
"NotificationOptionCameraImageUploaded": "Kaberabild uppladdad",
"NotificationOptionUserLockedOut": "Anv\u00e4ndare har l\u00e5sts ute",
"NotificationOptionServerRestartRequired": "Servern m\u00e5ste startas om",
"ViewTypePlaylists": "Spellistor",
"ViewTypeMovies": "Filmer",
"ViewTypeTvShows": "TV",
"ViewTypeGames": "Spel",
"ViewTypeMusic": "Musik",
"ViewTypeMusicGenres": "Genrer",
"ViewTypeMusicArtists": "Artister",
"ViewTypeBoxSets": "Samlingar",
"ViewTypeChannels": "Kanaler",
"ViewTypeLiveTV": "Live-TV",
"ViewTypeLiveTvNowPlaying": "Visas nu",
"ViewTypeLatestGames": "Senaste spelen",
"ViewTypeRecentlyPlayedGames": "Nyligen spelade",
"ViewTypeGameFavorites": "Favoriter",
"ViewTypeGameSystems": "Spelsystem",
"ViewTypeGameGenres": "Genrer",
"ViewTypeTvResume": "\u00c5teruppta",
"ViewTypeTvNextUp": "N\u00e4stkommande",
"ViewTypeTvLatest": "Nytillkommet",
"ViewTypeTvShowSeries": "Serier",
"ViewTypeTvGenres": "Genrer",
"ViewTypeTvFavoriteSeries": "Favoritserier",
"ViewTypeTvFavoriteEpisodes": "Favoritavsnitt",
"ViewTypeMovieResume": "\u00c5teruppta",
"ViewTypeMovieLatest": "Nytillkommet",
"ViewTypeMovieMovies": "Filmer",
"ViewTypeMovieCollections": "Samlingar",
"ViewTypeMovieFavorites": "Favoriter",
"ViewTypeMovieGenres": "Genrer",
"ViewTypeMusicLatest": "Nytillkommet",
"ViewTypeMusicPlaylists": "Spellistor",
"ViewTypeMusicAlbums": "Album",
"ViewTypeMusicAlbumArtists": "Albumartister",
"HeaderOtherDisplaySettings": "Visningsalternativ",
"ViewTypeMusicSongs": "L\u00e5tar",
"ViewTypeMusicFavorites": "Favoriter",
"ViewTypeMusicFavoriteAlbums": "Favoritalbum",
"ViewTypeMusicFavoriteArtists": "Favoritartister",
"ViewTypeMusicFavoriteSongs": "Favoritl\u00e5tar",
"ViewTypeFolders": "Mappar",
"ViewTypeLiveTvRecordingGroups": "Inspelningar",
"ViewTypeLiveTvChannels": "Kanaler",
"AppDeviceValues": "App: {0}, Enhet: {1}",
"UserDownloadingItemWithValues": "{0} laddar ner {1}",
"HeaderLiveTV": "Live-TV",
"ChapterNameValue": "Kapitel {0}",
"ScheduledTaskFailedWithName": "{0} misslyckades",
"LabelRunningTimeValue": "Speltid: {0}",
"ScheduledTaskStartedWithName": "{0} startad",
"VersionNumber": "Version {0}",
"PluginInstalledWithName": "{0} installerades",
"StartupEmbyServerIsLoading": "Emby server arbetar. Pr\u00f6va igen inom kort.",
"PluginUpdatedWithName": "{0} uppdaterades",
"PluginUninstalledWithName": "{0} avinstallerades",
"ItemAddedWithName": "{0} lades till i biblioteket",
"ItemRemovedWithName": "{0} togs bort ur biblioteket",
"ItemRemovedWithName": "{0} togs bort fr\u00e5n biblioteket",
"LabelIpAddressValue": "IP-adress: {0}",
"DeviceOnlineWithName": "{0} \u00e4r ansluten",
"UserOnlineFromDevice": "{0} \u00e4r uppkopplad fr\u00e5n {1}",
"ProviderValue": "K\u00e4lla: {0}",
"SubtitlesDownloadedForItem": "Undertexter har laddats ner f\u00f6r {0}",
"UserConfigurationUpdatedWithName": "Anv\u00e4ndarinst\u00e4llningarna f\u00f6r {0} har uppdaterats",
"SubtitlesDownloadedForItem": "Undertexter har laddats ner till {0}",
"UserCreatedWithName": "Anv\u00e4ndaren {0} har skapats",
"UserPasswordChangedWithName": "L\u00f6senordet f\u00f6r {0} har \u00e4ndrats",
"UserDeletedWithName": "Anv\u00e4ndaren {0} har tagits bort",
"UserConfigurationUpdatedWithName": "Anv\u00e4ndarinst\u00e4llningarna f\u00f6r {0} har uppdaterats",
"MessageServerConfigurationUpdated": "Server konfigurationen har uppdaterats",
"MessageNamedServerConfigurationUpdatedWithValue": "Serverinst\u00e4llningarnas del {0} ar uppdaterats",
"MessageNamedServerConfigurationUpdatedWithValue": "Serverinst\u00e4llningarna {0} har uppdaterats",
"MessageApplicationUpdated": "Emby Server har uppdaterats",
"FailedLoginAttemptWithUserName": "Misslyckat inloggningsf\u00f6rs\u00f6k fr\u00e5n {0}",
"AuthenticationSucceededWithUserName": "{0} har autentiserats",
"DeviceOfflineWithName": "{0} har avbrutit anslutningen",
"UserLockedOutWithName": "Anv\u00e4ndare {0} har l\u00e5sts ute",
"UserOfflineFromDevice": "{0} har avbrutit anslutningen fr\u00e5n {1}",
"UserStartedPlayingItemWithValues": "{0} har p\u00e5b\u00f6rjat uppspelning av {1}",
"UserStoppedPlayingItemWithValues": "{0} har avslutat uppspelning av {1}",
"DeviceOfflineWithName": "{0} har tappat anslutningen",
"UserStartedPlayingItemWithValues": "{0} har b\u00f6rjat spela upp {1}",
"UserStoppedPlayingItemWithValues": "{0} har avslutat uppspelningen av {1}",
"NotificationOptionPluginError": "Fel uppstod med till\u00e4gget",
"NotificationOptionApplicationUpdateAvailable": "Ny programversion tillg\u00e4nglig",
"NotificationOptionApplicationUpdateInstalled": "Programuppdatering installerad",
"NotificationOptionPluginUpdateInstalled": "Till\u00e4gg har uppdaterats",
"NotificationOptionPluginInstalled": "Till\u00e4gg har installerats",
"NotificationOptionPluginUninstalled": "Till\u00e4gg har avinstallerats",
"NotificationOptionVideoPlayback": "Videouppspelning har p\u00e5b\u00f6rjats",
"NotificationOptionAudioPlayback": "Ljuduppspelning har p\u00e5b\u00f6rjats",
"NotificationOptionGamePlayback": "Spel har startats",
"NotificationOptionVideoPlaybackStopped": "Videouppspelning stoppad",
"NotificationOptionAudioPlaybackStopped": "Ljuduppspelning stoppad",
"NotificationOptionGamePlaybackStopped": "Spel stoppat",
"NotificationOptionTaskFailed": "Schemalagd aktivitet har misslyckats",
"NotificationOptionInstallationFailed": "Fel vid installation",
"NotificationOptionNewLibraryContent": "Nytt inneh\u00e5ll har lagts till",
"NotificationOptionCameraImageUploaded": "Kamerabild har laddats upp",
"NotificationOptionUserLockedOut": "Anv\u00e4ndare har l\u00e5sts ut",
"NotificationOptionServerRestartRequired": "Servern m\u00e5ste startas om",
"UserLockedOutWithName": "Anv\u00e4ndare {0} har l\u00e5sts ute",
"SubtitleDownloadFailureForItem": "Nerladdning av undertexter f\u00f6r {0} misslyckades",
"HeaderUnidentified": "Oidentifierad",
"HeaderImagePrimary": "Huvudbild",
"HeaderImageBackdrop": "Bakgrundsbild",
"HeaderImageLogo": "Logotyp",
"HeaderUserPrimaryImage": "Anv\u00e4ndarbild",
"HeaderOverview": "\u00d6versikt",
"HeaderShortOverview": "Kort \u00f6versikt",
"HeaderType": "Typ",
"HeaderSeverity": "Severity",
"HeaderUser": "Anv\u00e4ndare",
"HeaderName": "Namn",
"HeaderDate": "Datum",
"HeaderPremiereDate": "Premi\u00e4rdatum",
"HeaderDateAdded": "Date Added",
"HeaderReleaseDate": "Premi\u00e4rdatum:",
"HeaderRuntime": "Speltid",
"HeaderPlayCount": "Antal spelningar",
"HeaderSeason": "S\u00e4song",
"HeaderSeasonNumber": "S\u00e4songsnummer:",
"HeaderSeries": "Serie:",
"HeaderNetwork": "TV-bolag",
"HeaderYear": "\u00c5r:",
"HeaderYears": "\u00c5r:",
"HeaderParentalRating": "Parental Rating",
"HeaderCommunityRating": "Anv\u00e4ndaromd\u00f6me",
"HeaderTrailers": "Trailers",
"HeaderSpecials": "Specialavsnitt",
"HeaderGameSystems": "Game Systems",
"HeaderPlayers": "Spelare:",
"HeaderAlbumArtists": "Albumartister",
"HeaderAlbums": "Album",
"HeaderDisc": "Skiva",
"HeaderTrack": "Sp\u00e5r",
"HeaderAudio": "Ljud",
"HeaderVideo": "Video",
"HeaderEmbeddedImage": "Infogad bild",
"HeaderResolution": "Uppl\u00f6sning",
"HeaderSubtitles": "Undertexter",
"HeaderGenres": "Genrer",
"HeaderCountries": "L\u00e4nder",
"HeaderStatus": "Status",
"HeaderTracks": "Sp\u00e5r",
"HeaderMusicArtist": "Musikartist",
"HeaderLocked": "L\u00e5st",
"HeaderStudios": "Studior",
"HeaderActor": "Sk\u00e5despelare",
"HeaderComposer": "Komposit\u00f6rer",
"HeaderDirector": "Regiss\u00f6r",
"HeaderGuestStar": "G\u00e4startist",
"HeaderProducer": "Producenter",
"HeaderWriter": "F\u00f6rfattare",
"HeaderParentalRatings": "Parental Ratings",
"HeaderCommunityRatings": "Community ratings",
"StartupEmbyServerIsLoading": "Emby Server startar. V\u00e4nligen f\u00f6rs\u00f6k igen om en kort stund."
"Sync": "Synk",
"User": "Anv\u00e4ndare",
"System": "System",
"Application": "App",
"Plugin": "Till\u00e4gg",
"LabelExit": "Avsluta",
"LabelVisitCommunity": "Bes\u00f6k v\u00e5rt diskussionsforum",
"LabelBrowseLibrary": "Bl\u00e4ddra i biblioteket",
"LabelConfigureServer": "Konfigurera Emby",
"LabelRestartServer": "Starta om servern"
}

@ -1,102 +1,46 @@
{
"DbUpgradeMessage": "Please wait while your Emby Server database is upgraded. {0}% complete.",
"AppDeviceValues": "App: {0}, Device: {1}",
"UserDownloadingItemWithValues": "{0} is downloading {1}",
"FolderTypeMixed": "Mixed content",
"FolderTypeMovies": "Movies",
"FolderTypeMusic": "Music",
"FolderTypeAdultVideos": "Adult videos",
"FolderTypePhotos": "Photos",
"FolderTypeMusicVideos": "Music videos",
"FolderTypeHomeVideos": "Home videos",
"FolderTypeGames": "Games",
"FolderTypeBooks": "Books",
"FolderTypeTvShows": "TV",
"FolderTypeInherit": "Inherit",
"HeaderCastCrew": "Cast & Crew",
"HeaderPeople": "People",
"Latest": "Latest",
"ValueSpecialEpisodeName": "Special - {0}",
"LabelChapterName": "Chapter {0}",
"Inherit": "Inherit",
"Books": "Books",
"Music": "Music",
"Games": "Games",
"Photos": "Photos",
"MixedContent": "Mixed content",
"MusicVideos": "Music videos",
"HomeVideos": "Home videos",
"Playlists": "Playlists",
"HeaderRecordingGroups": "Recording Groups",
"HeaderContinueWatching": "Continue Watching",
"HeaderFavoriteArtists": "Favorite Artists",
"HeaderFavoriteSongs": "Favorite Songs",
"HeaderAlbumArtists": "Album Artists",
"HeaderFavoriteAlbums": "Favorite Albums",
"HeaderFavoriteEpisodes": "Favorite Episodes",
"HeaderFavoriteShows": "Favori Showlar",
"HeaderNextUp": "Next Up",
"Favorites": "Favorites",
"Collections": "Collections",
"Channels": "Channels",
"Movies": "Movies",
"Albums": "Albums",
"Artists": "Artists",
"Folders": "Folders",
"Songs": "Songs",
"TvShows": "TV Shows",
"Shows": "Shows",
"Genres": "Genres",
"NameSeasonNumber": "Season {0}",
"LabelExit": "Cikis",
"LabelVisitCommunity": "Bizi Ziyaret Edin",
"LabelGithub": "Github",
"LabelApiDocumentation": "Api Documentation",
"LabelDeveloperResources": "Developer Resources",
"LabelBrowseLibrary": "K\u00fct\u00fcphane",
"LabelConfigureServer": "Configure Emby",
"LabelRestartServer": "Server Yeniden Baslat",
"CategorySync": "Sync",
"CategoryUser": "User",
"CategorySystem": "System",
"CategoryApplication": "Uygulamalar",
"CategoryPlugin": "Eklenti",
"NotificationOptionPluginError": "Eklenti Ba\u015far\u0131s\u0131z",
"NotificationOptionApplicationUpdateAvailable": "Application update available",
"NotificationOptionApplicationUpdateInstalled": "Application update installed",
"NotificationOptionPluginUpdateInstalled": "Plugin update installed",
"NotificationOptionPluginInstalled": "Plugin installed",
"NotificationOptionPluginUninstalled": "Plugin uninstalled",
"NotificationOptionVideoPlayback": "Video playback started",
"NotificationOptionAudioPlayback": "Audio playback started",
"NotificationOptionGamePlayback": "Game playback started",
"NotificationOptionVideoPlaybackStopped": "Video playback stopped",
"NotificationOptionAudioPlaybackStopped": "Audio playback stopped",
"NotificationOptionGamePlaybackStopped": "Game playback stopped",
"NotificationOptionTaskFailed": "Scheduled task failure",
"NotificationOptionInstallationFailed": "Installation failure",
"NotificationOptionNewLibraryContent": "New content added",
"NotificationOptionNewLibraryContentMultiple": "New content added (multiple)",
"NotificationOptionCameraImageUploaded": "Camera image uploaded",
"NotificationOptionUserLockedOut": "User locked out",
"NotificationOptionServerRestartRequired": "Sunucu yeniden ba\u015flat\u0131lmal\u0131",
"ViewTypePlaylists": "Playlists",
"ViewTypeMovies": "Movies",
"ViewTypeTvShows": "TV",
"ViewTypeGames": "Games",
"ViewTypeMusic": "Music",
"ViewTypeMusicGenres": "Genres",
"ViewTypeMusicArtists": "Artists",
"ViewTypeBoxSets": "Collections",
"ViewTypeChannels": "Channels",
"ViewTypeLiveTV": "Live TV",
"ViewTypeLiveTvNowPlaying": "Now Airing",
"ViewTypeLatestGames": "Latest Games",
"ViewTypeRecentlyPlayedGames": "Recently Played",
"ViewTypeGameFavorites": "Favorites",
"ViewTypeGameSystems": "Game Systems",
"ViewTypeGameGenres": "Genres",
"ViewTypeTvResume": "Resume",
"ViewTypeTvNextUp": "Next Up",
"ViewTypeTvLatest": "Latest",
"ViewTypeTvShowSeries": "Series",
"ViewTypeTvGenres": "Genres",
"ViewTypeTvFavoriteSeries": "Favorite Series",
"ViewTypeTvFavoriteEpisodes": "Favorite Episodes",
"ViewTypeMovieResume": "Resume",
"ViewTypeMovieLatest": "Latest",
"ViewTypeMovieMovies": "Movies",
"ViewTypeMovieCollections": "Collections",
"ViewTypeMovieFavorites": "Favorites",
"ViewTypeMovieGenres": "Genres",
"ViewTypeMusicLatest": "Latest",
"ViewTypeMusicPlaylists": "Playlists",
"ViewTypeMusicAlbums": "Albums",
"ViewTypeMusicAlbumArtists": "Album Artists",
"HeaderOtherDisplaySettings": "Display Settings",
"ViewTypeMusicSongs": "Songs",
"ViewTypeMusicFavorites": "Favorites",
"ViewTypeMusicFavoriteAlbums": "Favorite Albums",
"ViewTypeMusicFavoriteArtists": "Favorite Artists",
"ViewTypeMusicFavoriteSongs": "Favorite Songs",
"ViewTypeFolders": "Folders",
"ViewTypeLiveTvRecordingGroups": "Recordings",
"ViewTypeLiveTvChannels": "Channels",
"AppDeviceValues": "App: {0}, Device: {1}",
"UserDownloadingItemWithValues": "{0} is downloading {1}",
"HeaderLiveTV": "Live TV",
"ChapterNameValue": "Chapter {0}",
"ScheduledTaskFailedWithName": "{0} failed",
"LabelRunningTimeValue": "Running time: {0}",
"ScheduledTaskStartedWithName": "{0} started",
"VersionNumber": "Versiyon {0}",
"VersionNumber": "Version {0}",
"PluginInstalledWithName": "{0} was installed",
"StartupEmbyServerIsLoading": "Emby Server is loading. Please try again shortly.",
"PluginUpdatedWithName": "{0} was updated",
"PluginUninstalledWithName": "{0} was uninstalled",
"ItemAddedWithName": "{0} was added to the library",
@ -106,73 +50,47 @@
"UserOnlineFromDevice": "{0} is online from {1}",
"ProviderValue": "Provider: {0}",
"SubtitlesDownloadedForItem": "Subtitles downloaded for {0}",
"UserConfigurationUpdatedWithName": "User configuration has been updated for {0}",
"UserCreatedWithName": "User {0} has been created",
"UserPasswordChangedWithName": "Password has been changed for user {0}",
"UserDeletedWithName": "User {0} has been deleted",
"UserConfigurationUpdatedWithName": "User configuration has been updated for {0}",
"MessageServerConfigurationUpdated": "Server configuration has been updated",
"MessageNamedServerConfigurationUpdatedWithValue": "Server configuration section {0} has been updated",
"MessageApplicationUpdated": "Emby Server has been updated",
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
"DeviceOfflineWithName": "{0} has disconnected",
"UserLockedOutWithName": "User {0} has been locked out",
"UserOfflineFromDevice": "{0} has disconnected from {1}",
"DeviceOfflineWithName": "{0} has disconnected",
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
"NotificationOptionPluginError": "Plugin failure",
"NotificationOptionApplicationUpdateAvailable": "Application update available",
"NotificationOptionApplicationUpdateInstalled": "Application update installed",
"NotificationOptionPluginUpdateInstalled": "Plugin update installed",
"NotificationOptionPluginInstalled": "Plugin installed",
"NotificationOptionPluginUninstalled": "Plugin uninstalled",
"NotificationOptionVideoPlayback": "Video playback started",
"NotificationOptionAudioPlayback": "Audio playback started",
"NotificationOptionGamePlayback": "Game playback started",
"NotificationOptionVideoPlaybackStopped": "Video playback stopped",
"NotificationOptionAudioPlaybackStopped": "Audio playback stopped",
"NotificationOptionGamePlaybackStopped": "Game playback stopped",
"NotificationOptionTaskFailed": "Scheduled task failure",
"NotificationOptionInstallationFailed": "Installation failure",
"NotificationOptionNewLibraryContent": "New content added",
"NotificationOptionCameraImageUploaded": "Camera image uploaded",
"NotificationOptionUserLockedOut": "User locked out",
"NotificationOptionServerRestartRequired": "Server restart required",
"UserLockedOutWithName": "User {0} has been locked out",
"SubtitleDownloadFailureForItem": "Subtitles failed to download for {0}",
"HeaderUnidentified": "Unidentified",
"HeaderImagePrimary": "Primary",
"HeaderImageBackdrop": "Backdrop",
"HeaderImageLogo": "Logo",
"HeaderUserPrimaryImage": "User Image",
"HeaderOverview": "Overview",
"HeaderShortOverview": "Short Overview",
"HeaderType": "Type",
"HeaderSeverity": "Severity",
"HeaderUser": "User",
"HeaderName": "Name",
"HeaderDate": "Date",
"HeaderPremiereDate": "Premiere Date",
"HeaderDateAdded": "Date Added",
"HeaderReleaseDate": "Release date",
"HeaderRuntime": "Runtime",
"HeaderPlayCount": "Play Count",
"HeaderSeason": "Season",
"HeaderSeasonNumber": "Season number",
"HeaderSeries": "Series:",
"HeaderNetwork": "Network",
"HeaderYear": "Year:",
"HeaderYears": "Years:",
"HeaderParentalRating": "Parental Rating",
"HeaderCommunityRating": "Community rating",
"HeaderTrailers": "Trailers",
"HeaderSpecials": "Specials",
"HeaderGameSystems": "Game Systems",
"HeaderPlayers": "Players:",
"HeaderAlbumArtists": "Album Artists",
"HeaderAlbums": "Albums",
"HeaderDisc": "Disc",
"HeaderTrack": "Track",
"HeaderAudio": "Audio",
"HeaderVideo": "Video",
"HeaderEmbeddedImage": "Embedded image",
"HeaderResolution": "Resolution",
"HeaderSubtitles": "Subtitles",
"HeaderGenres": "Genres",
"HeaderCountries": "Countries",
"HeaderStatus": "Durum",
"HeaderTracks": "Tracks",
"HeaderMusicArtist": "Music artist",
"HeaderLocked": "Locked",
"HeaderStudios": "Studios",
"HeaderActor": "Actors",
"HeaderComposer": "Composers",
"HeaderDirector": "Directors",
"HeaderGuestStar": "Guest star",
"HeaderProducer": "Producers",
"HeaderWriter": "Writers",
"HeaderParentalRatings": "Parental Ratings",
"HeaderCommunityRatings": "Community ratings",
"StartupEmbyServerIsLoading": "Emby Server is loading. Please try again shortly."
"Sync": "Sync",
"User": "User",
"System": "System",
"Application": "Application",
"Plugin": "Plugin",
"LabelExit": "Exit",
"LabelVisitCommunity": "Visit Community",
"LabelBrowseLibrary": "Browse Library",
"LabelConfigureServer": "Configure Emby",
"LabelRestartServer": "Restart Server"
}

@ -1,178 +0,0 @@
{
"DbUpgradeMessage": "Please wait while your Emby Server database is upgraded. {0}% complete.",
"AppDeviceValues": "App: {0}, Device: {1}",
"UserDownloadingItemWithValues": "{0} is downloading {1}",
"FolderTypeMixed": "Mixed content",
"FolderTypeMovies": "\u0424\u0456\u043b\u044c\u043c\u0438",
"FolderTypeMusic": "\u041c\u0443\u0437\u0438\u043a\u0430",
"FolderTypeAdultVideos": "Adult videos",
"FolderTypePhotos": "\u0421\u0432\u0456\u0442\u043b\u0438\u043d\u0438",
"FolderTypeMusicVideos": "Music videos",
"FolderTypeHomeVideos": "Home videos",
"FolderTypeGames": "\u0406\u0433\u0440\u0438",
"FolderTypeBooks": "\u041a\u043d\u0438\u0433\u0438",
"FolderTypeTvShows": "\u0422\u0411",
"FolderTypeInherit": "Inherit",
"HeaderCastCrew": "Cast & Crew",
"HeaderPeople": "People",
"ValueSpecialEpisodeName": "Special - {0}",
"LabelChapterName": "Chapter {0}",
"NameSeasonNumber": "Season {0}",
"LabelExit": "\u0412\u0438\u0439\u0442\u0438",
"LabelVisitCommunity": "Visit Community",
"LabelGithub": "Github",
"LabelApiDocumentation": "Api Documentation",
"LabelDeveloperResources": "Developer Resources",
"LabelBrowseLibrary": "Browse Library",
"LabelConfigureServer": "Configure Emby",
"LabelRestartServer": "\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0438 \u0441\u0435\u0440\u0432\u0435\u0440",
"CategorySync": "Sync",
"CategoryUser": "User",
"CategorySystem": "System",
"CategoryApplication": "Application",
"CategoryPlugin": "Plugin",
"NotificationOptionPluginError": "Plugin failure",
"NotificationOptionApplicationUpdateAvailable": "Application update available",
"NotificationOptionApplicationUpdateInstalled": "Application update installed",
"NotificationOptionPluginUpdateInstalled": "Plugin update installed",
"NotificationOptionPluginInstalled": "Plugin installed",
"NotificationOptionPluginUninstalled": "Plugin uninstalled",
"NotificationOptionVideoPlayback": "Video playback started",
"NotificationOptionAudioPlayback": "Audio playback started",
"NotificationOptionGamePlayback": "Game playback started",
"NotificationOptionVideoPlaybackStopped": "Video playback stopped",
"NotificationOptionAudioPlaybackStopped": "Audio playback stopped",
"NotificationOptionGamePlaybackStopped": "Game playback stopped",
"NotificationOptionTaskFailed": "Scheduled task failure",
"NotificationOptionInstallationFailed": "Installation failure",
"NotificationOptionNewLibraryContent": "New content added",
"NotificationOptionNewLibraryContentMultiple": "New content added (multiple)",
"NotificationOptionCameraImageUploaded": "Camera image uploaded",
"NotificationOptionUserLockedOut": "User locked out",
"NotificationOptionServerRestartRequired": "Server restart required",
"ViewTypePlaylists": "Playlists",
"ViewTypeMovies": "\u0424\u0456\u043b\u044c\u043c\u0438",
"ViewTypeTvShows": "TV",
"ViewTypeGames": "Games",
"ViewTypeMusic": "Music",
"ViewTypeMusicGenres": "Genres",
"ViewTypeMusicArtists": "Artists",
"ViewTypeBoxSets": "\u041a\u043e\u043b\u0435\u043a\u0446\u0456\u0457",
"ViewTypeChannels": "Channels",
"ViewTypeLiveTV": "Live TV",
"ViewTypeLiveTvNowPlaying": "Now Airing",
"ViewTypeLatestGames": "\u041e\u0441\u0442\u0430\u043d\u043d\u0456 \u0456\u0433\u0440\u0438",
"ViewTypeRecentlyPlayedGames": "Recently Played",
"ViewTypeGameFavorites": "Favorites",
"ViewTypeGameSystems": "Game Systems",
"ViewTypeGameGenres": "Genres",
"ViewTypeTvResume": "Resume",
"ViewTypeTvNextUp": "Next Up",
"ViewTypeTvLatest": "Latest",
"ViewTypeTvShowSeries": "Series",
"ViewTypeTvGenres": "Genres",
"ViewTypeTvFavoriteSeries": "Favorite Series",
"ViewTypeTvFavoriteEpisodes": "Favorite Episodes",
"ViewTypeMovieResume": "Resume",
"ViewTypeMovieLatest": "Latest",
"ViewTypeMovieMovies": "\u0424\u0456\u043b\u044c\u043c\u0438",
"ViewTypeMovieCollections": "\u041a\u043e\u043b\u0435\u043a\u0446\u0456\u0457",
"ViewTypeMovieFavorites": "Favorites",
"ViewTypeMovieGenres": "Genres",
"ViewTypeMusicLatest": "\u041e\u0441\u0442\u0430\u043d\u043d\u0456",
"ViewTypeMusicPlaylists": "Playlists",
"ViewTypeMusicAlbums": "Albums",
"ViewTypeMusicAlbumArtists": "Album Artists",
"HeaderOtherDisplaySettings": "Display Settings",
"ViewTypeMusicSongs": "Songs",
"ViewTypeMusicFavorites": "Favorites",
"ViewTypeMusicFavoriteAlbums": "Favorite Albums",
"ViewTypeMusicFavoriteArtists": "Favorite Artists",
"ViewTypeMusicFavoriteSongs": "Favorite Songs",
"ViewTypeFolders": "Folders",
"ViewTypeLiveTvRecordingGroups": "Recordings",
"ViewTypeLiveTvChannels": "Channels",
"ScheduledTaskFailedWithName": "{0} failed",
"LabelRunningTimeValue": "Running time: {0}",
"ScheduledTaskStartedWithName": "{0} started",
"VersionNumber": "Version {0}",
"PluginInstalledWithName": "{0} was installed",
"PluginUpdatedWithName": "{0} was updated",
"PluginUninstalledWithName": "{0} was uninstalled",
"ItemAddedWithName": "{0} was added to the library",
"ItemRemovedWithName": "{0} was removed from the library",
"LabelIpAddressValue": "Ip address: {0}",
"DeviceOnlineWithName": "{0} is connected",
"UserOnlineFromDevice": "{0} is online from {1}",
"ProviderValue": "Provider: {0}",
"SubtitlesDownloadedForItem": "Subtitles downloaded for {0}",
"UserConfigurationUpdatedWithName": "User configuration has been updated for {0}",
"UserCreatedWithName": "User {0} has been created",
"UserPasswordChangedWithName": "Password has been changed for user {0}",
"UserDeletedWithName": "User {0} has been deleted",
"MessageServerConfigurationUpdated": "Server configuration has been updated",
"MessageNamedServerConfigurationUpdatedWithValue": "Server configuration section {0} has been updated",
"MessageApplicationUpdated": "Emby Server has been updated",
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
"DeviceOfflineWithName": "{0} has disconnected",
"UserLockedOutWithName": "User {0} has been locked out",
"UserOfflineFromDevice": "{0} has disconnected from {1}",
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
"SubtitleDownloadFailureForItem": "Subtitles failed to download for {0}",
"HeaderUnidentified": "Unidentified",
"HeaderImagePrimary": "Primary",
"HeaderImageBackdrop": "Backdrop",
"HeaderImageLogo": "Logo",
"HeaderUserPrimaryImage": "User Image",
"HeaderOverview": "Overview",
"HeaderShortOverview": "Short Overview",
"HeaderType": "Type",
"HeaderSeverity": "Severity",
"HeaderUser": "User",
"HeaderName": "Name",
"HeaderDate": "Date",
"HeaderPremiereDate": "Premiere Date",
"HeaderDateAdded": "Date Added",
"HeaderReleaseDate": "Release date",
"HeaderRuntime": "Runtime",
"HeaderPlayCount": "Play Count",
"HeaderSeason": "\u0421\u0435\u0437\u043e\u043d",
"HeaderSeasonNumber": "Season number",
"HeaderSeries": "Series:",
"HeaderNetwork": "Network",
"HeaderYear": "Year:",
"HeaderYears": "Years:",
"HeaderParentalRating": "Parental Rating",
"HeaderCommunityRating": "Community rating",
"HeaderTrailers": "\u0422\u0440\u0435\u0439\u043b\u0435\u0440\u0438",
"HeaderSpecials": "Specials",
"HeaderGameSystems": "Game Systems",
"HeaderPlayers": "Players:",
"HeaderAlbumArtists": "Album Artists",
"HeaderAlbums": "\u0410\u043b\u044c\u0431\u043e\u043c\u0438",
"HeaderDisc": "\u0414\u0438\u0441\u043a",
"HeaderTrack": "\u0414\u043e\u0440\u0456\u0436\u043a\u0430",
"HeaderAudio": "\u0410\u0443\u0434\u0456\u043e",
"HeaderVideo": "\u0412\u0456\u0434\u0435\u043e",
"HeaderEmbeddedImage": "Embedded image",
"HeaderResolution": "Resolution",
"HeaderSubtitles": "Subtitles",
"HeaderGenres": "Genres",
"HeaderCountries": "Countries",
"HeaderStatus": "Status",
"HeaderTracks": "\u0414\u043e\u0440\u0456\u0436\u043a\u0438",
"HeaderMusicArtist": "Music artist",
"HeaderLocked": "Locked",
"HeaderStudios": "\u0421\u0442\u0443\u0434\u0456\u0457",
"HeaderActor": "Actors",
"HeaderComposer": "Composers",
"HeaderDirector": "Directors",
"HeaderGuestStar": "Guest star",
"HeaderProducer": "Producers",
"HeaderWriter": "Writers",
"HeaderParentalRatings": "Parental Ratings",
"HeaderCommunityRatings": "Community ratings",
"StartupEmbyServerIsLoading": "Emby Server is loading. Please try again shortly."
}

@ -1,178 +0,0 @@
{
"DbUpgradeMessage": "Please wait while your Emby Server database is upgraded. {0}% complete.",
"AppDeviceValues": "App: {0}, Device: {1}",
"UserDownloadingItemWithValues": "{0} is downloading {1}",
"FolderTypeMixed": "Mixed content",
"FolderTypeMovies": "Movies",
"FolderTypeMusic": "Music",
"FolderTypeAdultVideos": "Adult videos",
"FolderTypePhotos": "Photos",
"FolderTypeMusicVideos": "Music videos",
"FolderTypeHomeVideos": "Home videos",
"FolderTypeGames": "Games",
"FolderTypeBooks": "Books",
"FolderTypeTvShows": "TV",
"FolderTypeInherit": "Inherit",
"HeaderCastCrew": "Cast & Crew",
"HeaderPeople": "People",
"ValueSpecialEpisodeName": "Special - {0}",
"LabelChapterName": "Chapter {0}",
"NameSeasonNumber": "Season {0}",
"LabelExit": "Tho\u00e1t",
"LabelVisitCommunity": "Gh\u00e9 th\u0103m trang C\u1ed9ng \u0111\u1ed3ng",
"LabelGithub": "Github",
"LabelApiDocumentation": "Api Documentation",
"LabelDeveloperResources": "Developer Resources",
"LabelBrowseLibrary": "Duy\u1ec7t th\u01b0 vi\u1ec7n",
"LabelConfigureServer": "Configure Emby",
"LabelRestartServer": "Kh\u1edfi \u0111\u1ed9ng l\u1ea1i m\u00e1y ch\u1ee7",
"CategorySync": "Sync",
"CategoryUser": "User",
"CategorySystem": "System",
"CategoryApplication": "Application",
"CategoryPlugin": "Plugin",
"NotificationOptionPluginError": "Plugin failure",
"NotificationOptionApplicationUpdateAvailable": "Application update available",
"NotificationOptionApplicationUpdateInstalled": "Application update installed",
"NotificationOptionPluginUpdateInstalled": "Plugin update installed",
"NotificationOptionPluginInstalled": "Plugin installed",
"NotificationOptionPluginUninstalled": "Plugin uninstalled",
"NotificationOptionVideoPlayback": "Video playback started",
"NotificationOptionAudioPlayback": "Audio playback started",
"NotificationOptionGamePlayback": "Game playback started",
"NotificationOptionVideoPlaybackStopped": "Video playback stopped",
"NotificationOptionAudioPlaybackStopped": "Audio playback stopped",
"NotificationOptionGamePlaybackStopped": "Game playback stopped",
"NotificationOptionTaskFailed": "Scheduled task failure",
"NotificationOptionInstallationFailed": "Installation failure",
"NotificationOptionNewLibraryContent": "New content added",
"NotificationOptionNewLibraryContentMultiple": "New content added (multiple)",
"NotificationOptionCameraImageUploaded": "Camera image uploaded",
"NotificationOptionUserLockedOut": "User locked out",
"NotificationOptionServerRestartRequired": "Server restart required",
"ViewTypePlaylists": "Playlists",
"ViewTypeMovies": "Movies",
"ViewTypeTvShows": "TV",
"ViewTypeGames": "Games",
"ViewTypeMusic": "Music",
"ViewTypeMusicGenres": "Genres",
"ViewTypeMusicArtists": "Artists",
"ViewTypeBoxSets": "Collections",
"ViewTypeChannels": "Channels",
"ViewTypeLiveTV": "Live TV",
"ViewTypeLiveTvNowPlaying": "Now Airing",
"ViewTypeLatestGames": "Latest Games",
"ViewTypeRecentlyPlayedGames": "Recently Played",
"ViewTypeGameFavorites": "Favorites",
"ViewTypeGameSystems": "Game Systems",
"ViewTypeGameGenres": "Genres",
"ViewTypeTvResume": "Resume",
"ViewTypeTvNextUp": "Next Up",
"ViewTypeTvLatest": "Latest",
"ViewTypeTvShowSeries": "Series",
"ViewTypeTvGenres": "Genres",
"ViewTypeTvFavoriteSeries": "Favorite Series",
"ViewTypeTvFavoriteEpisodes": "Favorite Episodes",
"ViewTypeMovieResume": "Resume",
"ViewTypeMovieLatest": "Latest",
"ViewTypeMovieMovies": "Movies",
"ViewTypeMovieCollections": "Collections",
"ViewTypeMovieFavorites": "Favorites",
"ViewTypeMovieGenres": "Genres",
"ViewTypeMusicLatest": "Latest",
"ViewTypeMusicPlaylists": "Playlists",
"ViewTypeMusicAlbums": "Albums",
"ViewTypeMusicAlbumArtists": "Album Artists",
"HeaderOtherDisplaySettings": "Display Settings",
"ViewTypeMusicSongs": "Songs",
"ViewTypeMusicFavorites": "Favorites",
"ViewTypeMusicFavoriteAlbums": "Favorite Albums",
"ViewTypeMusicFavoriteArtists": "Favorite Artists",
"ViewTypeMusicFavoriteSongs": "Favorite Songs",
"ViewTypeFolders": "Folders",
"ViewTypeLiveTvRecordingGroups": "Recordings",
"ViewTypeLiveTvChannels": "Channels",
"ScheduledTaskFailedWithName": "{0} failed",
"LabelRunningTimeValue": "Running time: {0}",
"ScheduledTaskStartedWithName": "{0} started",
"VersionNumber": "Version {0}",
"PluginInstalledWithName": "{0} was installed",
"PluginUpdatedWithName": "{0} was updated",
"PluginUninstalledWithName": "{0} was uninstalled",
"ItemAddedWithName": "{0} was added to the library",
"ItemRemovedWithName": "{0} was removed from the library",
"LabelIpAddressValue": "Ip address: {0}",
"DeviceOnlineWithName": "{0} is connected",
"UserOnlineFromDevice": "{0} is online from {1}",
"ProviderValue": "Provider: {0}",
"SubtitlesDownloadedForItem": "Subtitles downloaded for {0}",
"UserConfigurationUpdatedWithName": "User configuration has been updated for {0}",
"UserCreatedWithName": "User {0} has been created",
"UserPasswordChangedWithName": "Password has been changed for user {0}",
"UserDeletedWithName": "User {0} has been deleted",
"MessageServerConfigurationUpdated": "Server configuration has been updated",
"MessageNamedServerConfigurationUpdatedWithValue": "Server configuration section {0} has been updated",
"MessageApplicationUpdated": "Emby Server has been updated",
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
"DeviceOfflineWithName": "{0} has disconnected",
"UserLockedOutWithName": "User {0} has been locked out",
"UserOfflineFromDevice": "{0} has disconnected from {1}",
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
"SubtitleDownloadFailureForItem": "Subtitles failed to download for {0}",
"HeaderUnidentified": "Unidentified",
"HeaderImagePrimary": "Primary",
"HeaderImageBackdrop": "Backdrop",
"HeaderImageLogo": "Logo",
"HeaderUserPrimaryImage": "User Image",
"HeaderOverview": "Overview",
"HeaderShortOverview": "Short Overview",
"HeaderType": "Type",
"HeaderSeverity": "Severity",
"HeaderUser": "User",
"HeaderName": "T\u00ean",
"HeaderDate": "Ng\u00e0y",
"HeaderPremiereDate": "Premiere Date",
"HeaderDateAdded": "Date Added",
"HeaderReleaseDate": "Release date",
"HeaderRuntime": "Runtime",
"HeaderPlayCount": "Play Count",
"HeaderSeason": "Season",
"HeaderSeasonNumber": "Season number",
"HeaderSeries": "Series:",
"HeaderNetwork": "Network",
"HeaderYear": "Year:",
"HeaderYears": "Years:",
"HeaderParentalRating": "Parental Rating",
"HeaderCommunityRating": "Community rating",
"HeaderTrailers": "Trailers",
"HeaderSpecials": "Specials",
"HeaderGameSystems": "Game Systems",
"HeaderPlayers": "Players:",
"HeaderAlbumArtists": "Album Artists",
"HeaderAlbums": "Albums",
"HeaderDisc": "Disc",
"HeaderTrack": "Track",
"HeaderAudio": "Audio",
"HeaderVideo": "Video",
"HeaderEmbeddedImage": "Embedded image",
"HeaderResolution": "Resolution",
"HeaderSubtitles": "Subtitles",
"HeaderGenres": "Genres",
"HeaderCountries": "Countries",
"HeaderStatus": "Tr\u1ea1ng th\u00e1i",
"HeaderTracks": "Tracks",
"HeaderMusicArtist": "Music artist",
"HeaderLocked": "Locked",
"HeaderStudios": "Studios",
"HeaderActor": "Actors",
"HeaderComposer": "Composers",
"HeaderDirector": "Directors",
"HeaderGuestStar": "Guest star",
"HeaderProducer": "Producers",
"HeaderWriter": "Writers",
"HeaderParentalRatings": "Parental Ratings",
"HeaderCommunityRatings": "Community ratings",
"StartupEmbyServerIsLoading": "Emby Server is loading. Please try again shortly."
}

@ -1,178 +1,96 @@
{
"DbUpgradeMessage": "Please wait while your Emby Server database is upgraded. {0}% complete.",
"AppDeviceValues": "App\uff1a {0}\uff0c\u8bbe\u5907\uff1a {1}",
"UserDownloadingItemWithValues": "{0} is downloading {1}",
"FolderTypeMixed": "\u6df7\u5408\u5185\u5bb9",
"FolderTypeMovies": "\u7535\u5f71",
"FolderTypeMusic": "\u97f3\u4e50",
"FolderTypeAdultVideos": "\u6210\u4eba\u89c6\u9891",
"FolderTypePhotos": "\u56fe\u7247",
"FolderTypeMusicVideos": "\u97f3\u4e50\u89c6\u9891",
"FolderTypeHomeVideos": "\u5bb6\u5ead\u89c6\u9891",
"FolderTypeGames": "\u6e38\u620f",
"FolderTypeBooks": "\u4e66\u7c4d",
"FolderTypeTvShows": "\u7535\u89c6",
"FolderTypeInherit": "\u7ee7\u627f",
"HeaderCastCrew": "\u6f14\u804c\u4eba\u5458",
"HeaderPeople": "\u4eba\u7269",
"ValueSpecialEpisodeName": "\u7279\u522b - {0}",
"LabelChapterName": "\u7ae0\u8282 {0}",
"Latest": "\u6700\u65b0",
"ValueSpecialEpisodeName": "\u7279\u5178 - {0}",
"Inherit": "\u7ee7\u627f",
"Books": "\u4e66\u7c4d",
"Music": "\u97f3\u4e50",
"Games": "\u6e38\u620f",
"Photos": "\u7167\u7247",
"MixedContent": "\u6df7\u5408\u5185\u5bb9",
"MusicVideos": "\u97f3\u4e50\u89c6\u9891",
"HomeVideos": "\u5bb6\u5ead\u89c6\u9891",
"Playlists": "\u64ad\u653e\u5217\u8868",
"HeaderRecordingGroups": "\u5f55\u5236\u7ec4",
"HeaderContinueWatching": "\u7ee7\u7eed\u89c2\u770b",
"HeaderFavoriteArtists": "\u6700\u7231\u4f5c\u5bb6",
"HeaderFavoriteSongs": "\u6700\u7231\u7684\u6b4c\u66f2",
"HeaderAlbumArtists": "\u4e13\u8f91\u4f5c\u5bb6",
"HeaderFavoriteAlbums": "\u6700\u7231\u7684\u4e13\u8f91",
"HeaderFavoriteEpisodes": "\u6700\u7231\u7684\u96c6",
"HeaderFavoriteShows": "\u6700\u7231\u7684\u8282\u76ee",
"HeaderNextUp": "\u63a5\u4e0b\u6765",
"Favorites": "\u6700\u7231",
"Collections": "\u5408\u96c6",
"Channels": "\u9891\u9053",
"Movies": "\u7535\u5f71",
"Albums": "\u4e13\u8f91",
"Artists": "\u827a\u672f\u5bb6",
"Folders": "\u6587\u4ef6\u5939",
"Songs": "\u6b4c\u66f2",
"TvShows": "TV Shows",
"Shows": "\u8282\u76ee",
"Genres": "\u98ce\u683c",
"NameSeasonNumber": "\u5b63 {0}",
"LabelExit": "\u9000\u51fa",
"LabelVisitCommunity": "\u8bbf\u95ee\u793e\u533a",
"LabelGithub": "Github",
"LabelApiDocumentation": "API\u6587\u6863",
"LabelDeveloperResources": "\u5f00\u53d1\u8005\u8d44\u6e90",
"LabelBrowseLibrary": "\u6d4f\u89c8\u5a92\u4f53\u5e93",
"LabelConfigureServer": "\u914d\u7f6eEmby",
"LabelRestartServer": "\u91cd\u542f\u670d\u52a1\u5668",
"CategorySync": "\u540c\u6b65",
"CategoryUser": "\u7528\u6237",
"CategorySystem": "\u7cfb\u7edf",
"CategoryApplication": "\u5e94\u7528\u7a0b\u5e8f",
"CategoryPlugin": "\u63d2\u4ef6",
"NotificationOptionPluginError": "\u63d2\u4ef6\u5931\u8d25",
"NotificationOptionApplicationUpdateAvailable": "\u6709\u53ef\u7528\u7684\u5e94\u7528\u7a0b\u5e8f\u66f4\u65b0",
"NotificationOptionApplicationUpdateInstalled": "\u5e94\u7528\u7a0b\u5e8f\u66f4\u65b0\u5df2\u5b89\u88c5",
"NotificationOptionPluginUpdateInstalled": "\u63d2\u4ef6\u66f4\u65b0\u5df2\u5b89\u88c5",
"NotificationOptionPluginInstalled": "\u63d2\u4ef6\u5df2\u5b89\u88c5",
"NotificationOptionPluginUninstalled": "\u63d2\u4ef6\u5df2\u5378\u8f7d",
"NotificationOptionVideoPlayback": "\u89c6\u9891\u5f00\u59cb\u64ad\u653e",
"NotificationOptionAudioPlayback": "\u97f3\u9891\u5f00\u59cb\u64ad\u653e",
"NotificationOptionGamePlayback": "\u6e38\u620f\u5f00\u59cb",
"NotificationOptionVideoPlaybackStopped": "\u89c6\u9891\u64ad\u653e\u505c\u6b62",
"NotificationOptionAudioPlaybackStopped": "\u97f3\u9891\u64ad\u653e\u505c\u6b62",
"NotificationOptionGamePlaybackStopped": "\u6e38\u620f\u505c\u6b62",
"NotificationOptionTaskFailed": "\u8ba1\u5212\u4efb\u52a1\u5931\u8d25",
"NotificationOptionInstallationFailed": "\u5b89\u88c5\u5931\u8d25",
"NotificationOptionNewLibraryContent": "\u6dfb\u52a0\u65b0\u5185\u5bb9",
"NotificationOptionNewLibraryContentMultiple": "\u65b0\u7684\u5185\u5bb9\u52a0\u5165\uff08\u591a\u4e2a\uff09",
"NotificationOptionCameraImageUploaded": "Camera image uploaded",
"NotificationOptionUserLockedOut": "User locked out",
"NotificationOptionServerRestartRequired": "\u9700\u8981\u91cd\u65b0\u542f\u52a8\u670d\u52a1\u5668",
"ViewTypePlaylists": "Playlists",
"ViewTypeMovies": "\u7535\u5f71",
"ViewTypeTvShows": "\u7535\u89c6",
"ViewTypeGames": "\u6e38\u620f",
"ViewTypeMusic": "\u97f3\u4e50",
"ViewTypeMusicGenres": "\u98ce\u683c",
"ViewTypeMusicArtists": "\u827a\u672f\u5bb6",
"ViewTypeBoxSets": "\u5408\u96c6",
"ViewTypeChannels": "\u9891\u9053",
"ViewTypeLiveTV": "\u7535\u89c6\u76f4\u64ad",
"ViewTypeLiveTvNowPlaying": "\u73b0\u5728\u64ad\u653e",
"ViewTypeLatestGames": "\u6700\u65b0\u6e38\u620f",
"ViewTypeRecentlyPlayedGames": "\u6700\u8fd1\u64ad\u653e",
"ViewTypeGameFavorites": "\u6211\u7684\u6700\u7231",
"ViewTypeGameSystems": "\u6e38\u620f\u7cfb\u7edf",
"ViewTypeGameGenres": "\u98ce\u683c",
"ViewTypeTvResume": "\u6062\u590d\u64ad\u653e",
"ViewTypeTvNextUp": "\u4e0b\u4e00\u4e2a",
"ViewTypeTvLatest": "\u6700\u65b0",
"ViewTypeTvShowSeries": "\u7535\u89c6\u5267",
"ViewTypeTvGenres": "\u98ce\u683c",
"ViewTypeTvFavoriteSeries": "\u6700\u559c\u6b22\u7684\u7535\u89c6\u5267",
"ViewTypeTvFavoriteEpisodes": "\u6700\u559c\u6b22\u7684\u5267\u96c6",
"ViewTypeMovieResume": "\u6062\u590d\u64ad\u653e",
"ViewTypeMovieLatest": "\u6700\u65b0",
"ViewTypeMovieMovies": "\u7535\u5f71",
"ViewTypeMovieCollections": "\u5408\u96c6",
"ViewTypeMovieFavorites": "\u6536\u85cf\u5939",
"ViewTypeMovieGenres": "\u98ce\u683c",
"ViewTypeMusicLatest": "\u6700\u65b0",
"ViewTypeMusicPlaylists": "Playlists",
"ViewTypeMusicAlbums": "\u4e13\u8f91",
"ViewTypeMusicAlbumArtists": "\u4e13\u8f91\u827a\u672f\u5bb6",
"HeaderOtherDisplaySettings": "\u663e\u793a\u8bbe\u7f6e",
"ViewTypeMusicSongs": "\u6b4c\u66f2",
"ViewTypeMusicFavorites": "\u6211\u7684\u6700\u7231",
"ViewTypeMusicFavoriteAlbums": "\u6700\u7231\u7684\u4e13\u8f91",
"ViewTypeMusicFavoriteArtists": "\u6700\u7231\u7684\u827a\u672f\u5bb6",
"ViewTypeMusicFavoriteSongs": "\u6700\u7231\u7684\u6b4c\u66f2",
"ViewTypeFolders": "\u6587\u4ef6\u5939",
"ViewTypeLiveTvRecordingGroups": "\u5f55\u5236",
"ViewTypeLiveTvChannels": "\u9891\u9053",
"ScheduledTaskFailedWithName": "{0} \u5931\u8d25",
"LabelRunningTimeValue": "\u8fd0\u884c\u65f6\u95f4\uff1a {0}",
"ScheduledTaskStartedWithName": "{0} \u5f00\u59cb",
"AppDeviceValues": "\u5e94\u7528: {0}, \u8bbe\u5907: {1}",
"UserDownloadingItemWithValues": "{0} \u6b63\u5728\u4e0b\u8f7d {1}",
"HeaderLiveTV": "\u7535\u89c6\u76f4\u64ad",
"ChapterNameValue": "\u7ae0\u8282 {0}",
"ScheduledTaskFailedWithName": "{0} \u5df2\u5931\u8d25",
"LabelRunningTimeValue": "\u8fd0\u884c\u65f6\u95f4\uff1a{0}",
"ScheduledTaskStartedWithName": "{0} \u5df2\u5f00\u59cb",
"VersionNumber": "\u7248\u672c {0}",
"PluginInstalledWithName": "{0} \u5df2\u5b89\u88c5",
"StartupEmbyServerIsLoading": "Emby \u670d\u52a1\u5668\u52a0\u8f7d\u4e2d\u3002\u8bf7\u7a0d\u540e\u518d\u8bd5\u3002",
"PluginUpdatedWithName": "{0} \u5df2\u66f4\u65b0",
"PluginUninstalledWithName": "{0} \u5df2\u5378\u8f7d",
"ItemAddedWithName": "{0} \u5df2\u6dfb\u52a0\u5230\u5a92\u4f53\u5e93",
"ItemRemovedWithName": "{0} \u5df2\u4ece\u5a92\u4f53\u5e93\u4e2d\u79fb\u9664",
"LabelIpAddressValue": "Ip \u5730\u5740\uff1a {0}",
"LabelIpAddressValue": "Ip \u5730\u5740\uff1a{0}",
"DeviceOnlineWithName": "{0} \u5df2\u8fde\u63a5",
"UserOnlineFromDevice": "{0} \u5728\u7ebf\uff0c\u6765\u81ea {1}",
"ProviderValue": "\u63d0\u4f9b\u8005\uff1a {0}",
"ProviderValue": "\u63d0\u4f9b\u5546\uff1a{0}",
"SubtitlesDownloadedForItem": "\u5df2\u4e3a {0} \u4e0b\u8f7d\u4e86\u5b57\u5e55",
"UserConfigurationUpdatedWithName": "\u7528\u6237\u914d\u7f6e\u5df2\u66f4\u65b0\u4e3a {0}",
"UserCreatedWithName": "\u7528\u6237 {0} \u5df2\u88ab\u521b\u5efa",
"UserCreatedWithName": "\u7528\u6237 {0} \u5df2\u521b\u5efa",
"UserPasswordChangedWithName": "\u5df2\u4e3a\u7528\u6237 {0} \u66f4\u6539\u5bc6\u7801",
"UserDeletedWithName": "\u7528\u6237 {0} \u5df2\u88ab\u5220\u9664",
"UserDeletedWithName": "\u7528\u6237 {0} \u5df2\u5220\u9664",
"UserConfigurationUpdatedWithName": "{0} \u7684\u7528\u6237\u914d\u7f6e\u5df2\u66f4\u65b0",
"MessageServerConfigurationUpdated": "\u670d\u52a1\u5668\u914d\u7f6e\u5df2\u66f4\u65b0",
"MessageNamedServerConfigurationUpdatedWithValue": "\u670d\u52a1\u5668\u914d\u7f6e {0} \u90e8\u5206\u5df2\u66f4\u65b0",
"MessageApplicationUpdated": "Emby Server has been updated",
"FailedLoginAttemptWithUserName": "\u5931\u8d25\u7684\u767b\u5f55\u5c1d\u8bd5\uff0c\u6765\u81ea {0}",
"AuthenticationSucceededWithUserName": "{0} \u6210\u529f\u88ab\u6388\u6743",
"DeviceOfflineWithName": "{0} \u5df2\u65ad\u5f00\u8fde\u63a5",
"UserLockedOutWithName": "User {0} has been locked out",
"UserOfflineFromDevice": "{0} \u5df2\u4ece {1} \u65ad\u5f00\u8fde\u63a5",
"UserStartedPlayingItemWithValues": "{0} \u5f00\u59cb\u64ad\u653e {1}",
"UserStoppedPlayingItemWithValues": "{0} \u505c\u6b62\u64ad\u653e {1}",
"MessageApplicationUpdated": "Emby \u670d\u52a1\u5668\u5df2\u66f4\u65b0",
"FailedLoginAttemptWithUserName": "\u6765\u81ea {0} \u7684\u5931\u8d25\u767b\u5165",
"AuthenticationSucceededWithUserName": "{0} \u6210\u529f\u9a8c\u8bc1",
"UserOfflineFromDevice": "{0} \u5df2\u4ece {1} \u65ad\u5f00",
"DeviceOfflineWithName": "{0} \u5df2\u65ad\u5f00",
"UserStartedPlayingItemWithValues": "{0} \u5df2\u5f00\u59cb\u64ad\u653e {1}",
"UserStoppedPlayingItemWithValues": "{0} \u5df2\u505c\u6b62\u64ad\u653e {1}",
"NotificationOptionPluginError": "\u63d2\u4ef6\u5931\u8d25",
"NotificationOptionApplicationUpdateAvailable": "\u6709\u53ef\u7528\u7684\u5e94\u7528\u7a0b\u5e8f\u66f4\u65b0",
"NotificationOptionApplicationUpdateInstalled": "\u5e94\u7528\u7a0b\u5e8f\u66f4\u65b0\u5df2\u5b89\u88c5",
"NotificationOptionPluginUpdateInstalled": "\u63d2\u4ef6\u66f4\u65b0\u5df2\u5b89\u88c5",
"NotificationOptionPluginInstalled": "\u63d2\u4ef6\u5df2\u5b89\u88c5",
"NotificationOptionPluginUninstalled": "\u63d2\u4ef6\u5df2\u5378\u8f7d",
"NotificationOptionVideoPlayback": "\u89c6\u9891\u5f00\u59cb\u64ad\u653e",
"NotificationOptionAudioPlayback": "\u97f3\u9891\u5f00\u59cb\u64ad\u653e",
"NotificationOptionGamePlayback": "\u6e38\u620f\u5f00\u59cb",
"NotificationOptionVideoPlaybackStopped": "\u89c6\u9891\u64ad\u653e\u5df2\u505c\u6b62",
"NotificationOptionAudioPlaybackStopped": "\u97f3\u9891\u64ad\u653e\u5df2\u505c\u6b62",
"NotificationOptionGamePlaybackStopped": "\u6e38\u620f\u505c\u6b62",
"NotificationOptionTaskFailed": "\u8ba1\u5212\u4efb\u52a1\u5931\u8d25",
"NotificationOptionInstallationFailed": "\u5b89\u88c5\u5931\u8d25",
"NotificationOptionNewLibraryContent": "\u5df2\u6dfb\u52a0\u65b0\u5185\u5bb9",
"NotificationOptionCameraImageUploaded": "\u76f8\u673a\u56fe\u7247\u5df2\u4e0a\u4f20",
"NotificationOptionUserLockedOut": "\u7528\u6237\u5df2\u9501\u5b9a",
"NotificationOptionServerRestartRequired": "\u670d\u52a1\u5668\u9700\u8981\u91cd\u542f",
"UserLockedOutWithName": "\u7528\u6237 {0} \u5df2\u88ab\u9501\u5b9a",
"SubtitleDownloadFailureForItem": "\u4e3a {0} \u4e0b\u8f7d\u5b57\u5e55\u5931\u8d25",
"HeaderUnidentified": "Unidentified",
"HeaderImagePrimary": "Primary",
"HeaderImageBackdrop": "Backdrop",
"HeaderImageLogo": "Logo",
"HeaderUserPrimaryImage": "User Image",
"HeaderOverview": "Overview",
"HeaderShortOverview": "Short Overview",
"HeaderType": "Type",
"HeaderSeverity": "Severity",
"HeaderUser": "\u7528\u6237",
"HeaderName": "\u540d\u5b57",
"HeaderDate": "\u65e5\u671f",
"HeaderPremiereDate": "Premiere Date",
"HeaderDateAdded": "Date Added",
"HeaderReleaseDate": "\u53d1\u884c\u65e5\u671f",
"HeaderRuntime": "\u64ad\u653e\u65f6\u95f4",
"HeaderPlayCount": "Play Count",
"HeaderSeason": "\u5b63",
"HeaderSeasonNumber": "\u591a\u5c11\u5b63",
"HeaderSeries": "Series:",
"HeaderNetwork": "\u7f51\u7edc",
"HeaderYear": "Year:",
"HeaderYears": "Years:",
"HeaderParentalRating": "Parental Rating",
"HeaderCommunityRating": "\u516c\u4f17\u8bc4\u5206",
"HeaderTrailers": "\u9884\u544a\u7247",
"HeaderSpecials": "\u7279\u96c6",
"HeaderGameSystems": "Game Systems",
"HeaderPlayers": "Players:",
"HeaderAlbumArtists": "Album Artists",
"HeaderAlbums": "\u4e13\u8f91",
"HeaderDisc": "\u5149\u76d8",
"HeaderTrack": "\u97f3\u8f68",
"HeaderAudio": "\u97f3\u9891",
"HeaderVideo": "\u89c6\u9891",
"HeaderEmbeddedImage": "\u5d4c\u5165\u5f0f\u56fe\u50cf",
"HeaderResolution": "\u5206\u8fa8\u7387",
"HeaderSubtitles": "\u5b57\u5e55",
"HeaderGenres": "\u98ce\u683c",
"HeaderCountries": "\u56fd\u5bb6",
"HeaderStatus": "\u72b6\u6001",
"HeaderTracks": "\u97f3\u8f68",
"HeaderMusicArtist": "Music artist",
"HeaderLocked": "Locked",
"HeaderStudios": "\u5de5\u4f5c\u5ba4",
"HeaderActor": "Actors",
"HeaderComposer": "Composers",
"HeaderDirector": "Directors",
"HeaderGuestStar": "Guest star",
"HeaderProducer": "Producers",
"HeaderWriter": "Writers",
"HeaderParentalRatings": "\u5bb6\u957f\u5206\u7ea7",
"HeaderCommunityRatings": "Community ratings",
"StartupEmbyServerIsLoading": "Emby Server is loading. Please try again shortly."
"Sync": "\u540c\u6b65",
"User": "\u7528\u6237",
"System": "\u7cfb\u7edf",
"Application": "\u5e94\u7528\u7a0b\u5e8f",
"Plugin": "\u63d2\u4ef6",
"LabelExit": "\u9000\u51fa",
"LabelVisitCommunity": "\u8bbf\u95ee\u793e\u533a",
"LabelBrowseLibrary": "\u6d4f\u89c8\u5a92\u4f53\u5e93",
"LabelConfigureServer": "\u914d\u7f6e Emby",
"LabelRestartServer": "\u91cd\u542f\u670d\u52a1\u5668"
}

@ -1,102 +1,46 @@
{
"DbUpgradeMessage": "Please wait while your Emby Server database is upgraded. {0}% complete.",
"Latest": "Latest",
"ValueSpecialEpisodeName": "Special - {0}",
"Inherit": "Inherit",
"Books": "Books",
"Music": "Music",
"Games": "Games",
"Photos": "Photos",
"MixedContent": "Mixed content",
"MusicVideos": "Music videos",
"HomeVideos": "Home videos",
"Playlists": "Playlists",
"HeaderRecordingGroups": "Recording Groups",
"HeaderContinueWatching": "Continue Watching",
"HeaderFavoriteArtists": "Favorite Artists",
"HeaderFavoriteSongs": "Favorite Songs",
"HeaderAlbumArtists": "Album Artists",
"HeaderFavoriteAlbums": "Favorite Albums",
"HeaderFavoriteEpisodes": "Favorite Episodes",
"HeaderFavoriteShows": "Favorite Shows",
"HeaderNextUp": "Next Up",
"Favorites": "Favorites",
"Collections": "Collections",
"Channels": "Channels",
"Movies": "Movies",
"Albums": "Albums",
"Artists": "Artists",
"Folders": "Folders",
"Songs": "Songs",
"TvShows": "TV Shows",
"Shows": "Shows",
"Genres": "Genres",
"NameSeasonNumber": "Season {0}",
"AppDeviceValues": "App: {0}, Device: {1}",
"UserDownloadingItemWithValues": "{0} is downloading {1}",
"FolderTypeMixed": "\u6df7\u5408\u5167\u5bb9",
"FolderTypeMovies": "\u96fb\u5f71",
"FolderTypeMusic": "\u97f3\u6a02",
"FolderTypeAdultVideos": "\u6210\u4eba\u5f71\u7247",
"FolderTypePhotos": "\u76f8\u7247",
"FolderTypeMusicVideos": "MV",
"FolderTypeHomeVideos": "\u500b\u4eba\u5f71\u7247",
"FolderTypeGames": "\u904a\u6232",
"FolderTypeBooks": "\u66f8\u85c9",
"FolderTypeTvShows": "\u96fb\u8996\u7bc0\u76ee",
"FolderTypeInherit": "\u7e7c\u627f",
"HeaderCastCrew": "\u6f14\u54e1\u9663\u5bb9",
"HeaderPeople": "\u4eba\u7269",
"ValueSpecialEpisodeName": "Special - {0}",
"LabelChapterName": "Chapter {0}",
"NameSeasonNumber": "\u5287\u96c6\u5b63\u5ea6 {0}",
"LabelExit": "\u96e2\u958b",
"LabelVisitCommunity": "\u8a2a\u554f\u8a0e\u8ad6\u5340",
"LabelGithub": "Github",
"LabelApiDocumentation": "Api \u6587\u4ef6",
"LabelDeveloperResources": "\u958b\u767c\u8005\u8cc7\u6e90",
"LabelBrowseLibrary": "\u700f\u89bd\u8cc7\u6599\u5eab",
"LabelConfigureServer": "\u8a2d\u7f6e Emby",
"LabelRestartServer": "\u91cd\u65b0\u555f\u52d5\u4f3a\u670d\u5668",
"CategorySync": "\u540c\u6b65",
"CategoryUser": "User",
"CategorySystem": "System",
"CategoryApplication": "Application",
"CategoryPlugin": "Plugin",
"NotificationOptionPluginError": "Plugin failure",
"NotificationOptionApplicationUpdateAvailable": "Application update available",
"NotificationOptionApplicationUpdateInstalled": "Application update installed",
"NotificationOptionPluginUpdateInstalled": "Plugin update installed",
"NotificationOptionPluginInstalled": "Plugin installed",
"NotificationOptionPluginUninstalled": "Plugin uninstalled",
"NotificationOptionVideoPlayback": "Video playback started",
"NotificationOptionAudioPlayback": "Audio playback started",
"NotificationOptionGamePlayback": "Game playback started",
"NotificationOptionVideoPlaybackStopped": "Video playback stopped",
"NotificationOptionAudioPlaybackStopped": "Audio playback stopped",
"NotificationOptionGamePlaybackStopped": "Game playback stopped",
"NotificationOptionTaskFailed": "Scheduled task failure",
"NotificationOptionInstallationFailed": "Installation failure",
"NotificationOptionNewLibraryContent": "New content added",
"NotificationOptionNewLibraryContentMultiple": "New content added (multiple)",
"NotificationOptionCameraImageUploaded": "Camera image uploaded",
"NotificationOptionUserLockedOut": "User locked out",
"NotificationOptionServerRestartRequired": "\u9700\u8981\u91cd\u65b0\u555f\u52d5",
"ViewTypePlaylists": "Playlists",
"ViewTypeMovies": "Movies",
"ViewTypeTvShows": "TV",
"ViewTypeGames": "\u904a\u6232",
"ViewTypeMusic": "Music",
"ViewTypeMusicGenres": "Genres",
"ViewTypeMusicArtists": "Artists",
"ViewTypeBoxSets": "\u85cf\u54c1",
"ViewTypeChannels": "Channels",
"ViewTypeLiveTV": "Live TV",
"ViewTypeLiveTvNowPlaying": "Now Airing",
"ViewTypeLatestGames": "\u6700\u8fd1\u904a\u6232",
"ViewTypeRecentlyPlayedGames": "\u6700\u8fd1\u64ad\u653e",
"ViewTypeGameFavorites": "Favorites",
"ViewTypeGameSystems": "\u904a\u6232\u7cfb\u7d71",
"ViewTypeGameGenres": "Genres",
"ViewTypeTvResume": "Resume",
"ViewTypeTvNextUp": "Next Up",
"ViewTypeTvLatest": "Latest",
"ViewTypeTvShowSeries": "\u96fb\u8996\u5287",
"ViewTypeTvGenres": "Genres",
"ViewTypeTvFavoriteSeries": "\u6211\u7684\u6700\u611b\u96fb\u8996\u5287",
"ViewTypeTvFavoriteEpisodes": "\u6211\u7684\u6700\u611b\u5287\u96c6",
"ViewTypeMovieResume": "Resume",
"ViewTypeMovieLatest": "Latest",
"ViewTypeMovieMovies": "Movies",
"ViewTypeMovieCollections": "\u85cf\u54c1",
"ViewTypeMovieFavorites": "Favorites",
"ViewTypeMovieGenres": "Genres",
"ViewTypeMusicLatest": "Latest",
"ViewTypeMusicPlaylists": "Playlists",
"ViewTypeMusicAlbums": "Albums",
"ViewTypeMusicAlbumArtists": "Album Artists",
"HeaderOtherDisplaySettings": "Display Settings",
"ViewTypeMusicSongs": "\u6b4c\u66f2",
"ViewTypeMusicFavorites": "Favorites",
"ViewTypeMusicFavoriteAlbums": "Favorite Albums",
"ViewTypeMusicFavoriteArtists": "Favorite Artists",
"ViewTypeMusicFavoriteSongs": "\u6211\u7684\u6700\u611b\u6b4c\u66f2",
"ViewTypeFolders": "Folders",
"ViewTypeLiveTvRecordingGroups": "Recordings",
"ViewTypeLiveTvChannels": "Channels",
"HeaderLiveTV": "Live TV",
"ChapterNameValue": "Chapter {0}",
"ScheduledTaskFailedWithName": "{0} failed",
"LabelRunningTimeValue": "Running time: {0}",
"ScheduledTaskStartedWithName": "{0} started",
"VersionNumber": "\u7248\u672c {0}",
"VersionNumber": "\u7248\u672c{0}",
"PluginInstalledWithName": "{0} was installed",
"StartupEmbyServerIsLoading": "Emby Server is loading. Please try again shortly.",
"PluginUpdatedWithName": "{0} was updated",
"PluginUninstalledWithName": "{0} was uninstalled",
"ItemAddedWithName": "{0} was added to the library",
@ -105,74 +49,48 @@
"DeviceOnlineWithName": "{0} is connected",
"UserOnlineFromDevice": "{0} is online from {1}",
"ProviderValue": "Provider: {0}",
"SubtitlesDownloadedForItem": "\u5df2\u7d93\u70ba {0} \u4e0b\u8f09\u4e86\u5b57\u5e55",
"UserConfigurationUpdatedWithName": "User configuration has been updated for {0}",
"SubtitlesDownloadedForItem": "Subtitles downloaded for {0}",
"UserCreatedWithName": "User {0} has been created",
"UserPasswordChangedWithName": "Password has been changed for user {0}",
"UserDeletedWithName": "User {0} has been deleted",
"UserConfigurationUpdatedWithName": "User configuration has been updated for {0}",
"MessageServerConfigurationUpdated": "Server configuration has been updated",
"MessageNamedServerConfigurationUpdatedWithValue": "Server configuration section {0} has been updated",
"MessageApplicationUpdated": "Emby Server has been updated",
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
"DeviceOfflineWithName": "{0} has disconnected",
"UserLockedOutWithName": "User {0} has been locked out",
"UserOfflineFromDevice": "{0} has disconnected from {1}",
"DeviceOfflineWithName": "{0} has disconnected",
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
"SubtitleDownloadFailureForItem": "\u70ba {0} \u4e0b\u8f09\u5b57\u5e55\u5931\u6557",
"HeaderUnidentified": "Unidentified",
"HeaderImagePrimary": "Primary",
"HeaderImageBackdrop": "Backdrop",
"HeaderImageLogo": "Logo",
"HeaderUserPrimaryImage": "User Image",
"HeaderOverview": "Overview",
"HeaderShortOverview": "Short Overview",
"HeaderType": "Type",
"HeaderSeverity": "Severity",
"HeaderUser": "User",
"HeaderName": "\u540d\u7a31",
"HeaderDate": "\u65e5\u671f",
"HeaderPremiereDate": "Premiere Date",
"HeaderDateAdded": "Date Added",
"HeaderReleaseDate": "Release date",
"HeaderRuntime": "Runtime",
"HeaderPlayCount": "Play Count",
"HeaderSeason": "\u5287\u96c6\u5b63\u5ea6",
"HeaderSeasonNumber": "\u5287\u96c6\u5b63\u5ea6\u6578\u76ee",
"HeaderSeries": "\u96fb\u8996\u5287\uff1a",
"HeaderNetwork": "Network",
"HeaderYear": "Year:",
"HeaderYears": "Years:",
"HeaderParentalRating": "Parental Rating",
"HeaderCommunityRating": "Community rating",
"HeaderTrailers": "Trailers",
"HeaderSpecials": "Specials",
"HeaderGameSystems": "\u904a\u6232\u7cfb\u7d71",
"HeaderPlayers": "Players:",
"HeaderAlbumArtists": "Album Artists",
"HeaderAlbums": "Albums",
"HeaderDisc": "Disc",
"HeaderTrack": "Track",
"HeaderAudio": "\u97f3\u8a0a",
"HeaderVideo": "\u5f71\u7247",
"HeaderEmbeddedImage": "Embedded image",
"HeaderResolution": "Resolution",
"HeaderSubtitles": "\u5b57\u5e55",
"HeaderGenres": "Genres",
"HeaderCountries": "Countries",
"HeaderStatus": "\u72c0\u614b",
"HeaderTracks": "Tracks",
"HeaderMusicArtist": "\u6b4c\u624b",
"HeaderLocked": "Locked",
"HeaderStudios": "Studios",
"HeaderActor": "Actors",
"HeaderComposer": "Composers",
"HeaderDirector": "Directors",
"HeaderGuestStar": "\u7279\u7d04\u660e\u661f",
"HeaderProducer": "Producers",
"HeaderWriter": "Writers",
"HeaderParentalRatings": "Parental Ratings",
"HeaderCommunityRatings": "Community ratings",
"StartupEmbyServerIsLoading": "Emby Server is loading. Please try again shortly."
"NotificationOptionPluginError": "Plugin failure",
"NotificationOptionApplicationUpdateAvailable": "Application update available",
"NotificationOptionApplicationUpdateInstalled": "Application update installed",
"NotificationOptionPluginUpdateInstalled": "Plugin update installed",
"NotificationOptionPluginInstalled": "Plugin installed",
"NotificationOptionPluginUninstalled": "Plugin uninstalled",
"NotificationOptionVideoPlayback": "Video playback started",
"NotificationOptionAudioPlayback": "Audio playback started",
"NotificationOptionGamePlayback": "Game playback started",
"NotificationOptionVideoPlaybackStopped": "Video playback stopped",
"NotificationOptionAudioPlaybackStopped": "Audio playback stopped",
"NotificationOptionGamePlaybackStopped": "Game playback stopped",
"NotificationOptionTaskFailed": "Scheduled task failure",
"NotificationOptionInstallationFailed": "Installation failure",
"NotificationOptionNewLibraryContent": "New content added",
"NotificationOptionCameraImageUploaded": "Camera image uploaded",
"NotificationOptionUserLockedOut": "User locked out",
"NotificationOptionServerRestartRequired": "Server restart required",
"UserLockedOutWithName": "User {0} has been locked out",
"SubtitleDownloadFailureForItem": "Subtitles failed to download for {0}",
"Sync": "Sync",
"User": "User",
"System": "System",
"Application": "Application",
"Plugin": "Plugin",
"LabelExit": "Exit",
"LabelVisitCommunity": "\u8a2a\u554f\u8a0e\u8ad6\u5340",
"LabelBrowseLibrary": "Browse Library",
"LabelConfigureServer": "Configure Emby",
"LabelRestartServer": "Restart Server"
}

@ -1,178 +0,0 @@
{
"DbUpgradeMessage": "\u8acb\u7a0d\u5019\uff0cEmby\u4f3a\u670d\u5668\u8cc7\u6599\u5eab\u6b63\u5728\u66f4\u65b0...\uff08\u5df2\u5b8c\u6210{0}%\uff09",
"AppDeviceValues": "App: {0}, Device: {1}",
"UserDownloadingItemWithValues": "{0} is downloading {1}",
"FolderTypeMixed": "Mixed content",
"FolderTypeMovies": "Movies",
"FolderTypeMusic": "Music",
"FolderTypeAdultVideos": "Adult videos",
"FolderTypePhotos": "Photos",
"FolderTypeMusicVideos": "Music videos",
"FolderTypeHomeVideos": "Home videos",
"FolderTypeGames": "Games",
"FolderTypeBooks": "Books",
"FolderTypeTvShows": "TV",
"FolderTypeInherit": "Inherit",
"HeaderCastCrew": "\u62cd\u651d\u4eba\u54e1\u53ca\u6f14\u54e1",
"HeaderPeople": "People",
"ValueSpecialEpisodeName": "Special - {0}",
"LabelChapterName": "Chapter {0}",
"NameSeasonNumber": "Season {0}",
"LabelExit": "\u96e2\u958b",
"LabelVisitCommunity": "\u8a2a\u554f\u793e\u7fa4",
"LabelGithub": "GitHub",
"LabelApiDocumentation": "API\u8aaa\u660e\u6587\u4ef6",
"LabelDeveloperResources": "\u958b\u767c\u4eba\u54e1\u5c08\u5340",
"LabelBrowseLibrary": "\u700f\u89bd\u5a92\u9ad4\u6ac3",
"LabelConfigureServer": "Emby\u8a2d\u5b9a",
"LabelRestartServer": "\u91cd\u65b0\u555f\u52d5\u4f3a\u670d\u5668",
"CategorySync": "Sync",
"CategoryUser": "User",
"CategorySystem": "System",
"CategoryApplication": "Application",
"CategoryPlugin": "Plugin",
"NotificationOptionPluginError": "Plugin failure",
"NotificationOptionApplicationUpdateAvailable": "Application update available",
"NotificationOptionApplicationUpdateInstalled": "Application update installed",
"NotificationOptionPluginUpdateInstalled": "Plugin update installed",
"NotificationOptionPluginInstalled": "Plugin installed",
"NotificationOptionPluginUninstalled": "Plugin uninstalled",
"NotificationOptionVideoPlayback": "Video playback started",
"NotificationOptionAudioPlayback": "Audio playback started",
"NotificationOptionGamePlayback": "Game playback started",
"NotificationOptionVideoPlaybackStopped": "Video playback stopped",
"NotificationOptionAudioPlaybackStopped": "Audio playback stopped",
"NotificationOptionGamePlaybackStopped": "Game playback stopped",
"NotificationOptionTaskFailed": "Scheduled task failure",
"NotificationOptionInstallationFailed": "Installation failure",
"NotificationOptionNewLibraryContent": "New content added",
"NotificationOptionNewLibraryContentMultiple": "New content added (multiple)",
"NotificationOptionCameraImageUploaded": "Camera image uploaded",
"NotificationOptionUserLockedOut": "User locked out",
"NotificationOptionServerRestartRequired": "Server restart required",
"ViewTypePlaylists": "Playlists",
"ViewTypeMovies": "Movies",
"ViewTypeTvShows": "TV",
"ViewTypeGames": "Games",
"ViewTypeMusic": "Music",
"ViewTypeMusicGenres": "Genres",
"ViewTypeMusicArtists": "Artists",
"ViewTypeBoxSets": "Collections",
"ViewTypeChannels": "Channels",
"ViewTypeLiveTV": "\u96fb\u8996",
"ViewTypeLiveTvNowPlaying": "Now Airing",
"ViewTypeLatestGames": "Latest Games",
"ViewTypeRecentlyPlayedGames": "Recently Played",
"ViewTypeGameFavorites": "Favorites",
"ViewTypeGameSystems": "Game Systems",
"ViewTypeGameGenres": "Genres",
"ViewTypeTvResume": "Resume",
"ViewTypeTvNextUp": "Next Up",
"ViewTypeTvLatest": "Latest",
"ViewTypeTvShowSeries": "Series",
"ViewTypeTvGenres": "Genres",
"ViewTypeTvFavoriteSeries": "Favorite Series",
"ViewTypeTvFavoriteEpisodes": "Favorite Episodes",
"ViewTypeMovieResume": "Resume",
"ViewTypeMovieLatest": "Latest",
"ViewTypeMovieMovies": "Movies",
"ViewTypeMovieCollections": "Collections",
"ViewTypeMovieFavorites": "Favorites",
"ViewTypeMovieGenres": "Genres",
"ViewTypeMusicLatest": "Latest",
"ViewTypeMusicPlaylists": "Playlists",
"ViewTypeMusicAlbums": "Albums",
"ViewTypeMusicAlbumArtists": "Album Artists",
"HeaderOtherDisplaySettings": "Display Settings",
"ViewTypeMusicSongs": "Songs",
"ViewTypeMusicFavorites": "Favorites",
"ViewTypeMusicFavoriteAlbums": "Favorite Albums",
"ViewTypeMusicFavoriteArtists": "Favorite Artists",
"ViewTypeMusicFavoriteSongs": "Favorite Songs",
"ViewTypeFolders": "Folders",
"ViewTypeLiveTvRecordingGroups": "Recordings",
"ViewTypeLiveTvChannels": "Channels",
"ScheduledTaskFailedWithName": "{0} failed",
"LabelRunningTimeValue": "Running time: {0}",
"ScheduledTaskStartedWithName": "{0} started",
"VersionNumber": "\u7248\u672c{0}",
"PluginInstalledWithName": "{0} was installed",
"PluginUpdatedWithName": "{0} was updated",
"PluginUninstalledWithName": "{0} was uninstalled",
"ItemAddedWithName": "{0} was added to the library",
"ItemRemovedWithName": "{0} was removed from the library",
"LabelIpAddressValue": "Ip address: {0}",
"DeviceOnlineWithName": "{0} is connected",
"UserOnlineFromDevice": "{0} is online from {1}",
"ProviderValue": "Provider: {0}",
"SubtitlesDownloadedForItem": "Subtitles downloaded for {0}",
"UserConfigurationUpdatedWithName": "User configuration has been updated for {0}",
"UserCreatedWithName": "User {0} has been created",
"UserPasswordChangedWithName": "Password has been changed for user {0}",
"UserDeletedWithName": "User {0} has been deleted",
"MessageServerConfigurationUpdated": "Server configuration has been updated",
"MessageNamedServerConfigurationUpdatedWithValue": "Server configuration section {0} has been updated",
"MessageApplicationUpdated": "Emby Server has been updated",
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
"DeviceOfflineWithName": "{0} has disconnected",
"UserLockedOutWithName": "User {0} has been locked out",
"UserOfflineFromDevice": "{0} has disconnected from {1}",
"UserStartedPlayingItemWithValues": "{0} has started playing {1}",
"UserStoppedPlayingItemWithValues": "{0} has stopped playing {1}",
"SubtitleDownloadFailureForItem": "Subtitles failed to download for {0}",
"HeaderUnidentified": "Unidentified",
"HeaderImagePrimary": "Primary",
"HeaderImageBackdrop": "Backdrop",
"HeaderImageLogo": "Logo",
"HeaderUserPrimaryImage": "User Image",
"HeaderOverview": "Overview",
"HeaderShortOverview": "Short Overview",
"HeaderType": "Type",
"HeaderSeverity": "Severity",
"HeaderUser": "User",
"HeaderName": "Name",
"HeaderDate": "Date",
"HeaderPremiereDate": "Premiere Date",
"HeaderDateAdded": "Date Added",
"HeaderReleaseDate": "Release date",
"HeaderRuntime": "Runtime",
"HeaderPlayCount": "Play Count",
"HeaderSeason": "Season",
"HeaderSeasonNumber": "Season number",
"HeaderSeries": "Series:",
"HeaderNetwork": "Network",
"HeaderYear": "Year:",
"HeaderYears": "Years:",
"HeaderParentalRating": "Parental Rating",
"HeaderCommunityRating": "Community rating",
"HeaderTrailers": "Trailers",
"HeaderSpecials": "Specials",
"HeaderGameSystems": "Game Systems",
"HeaderPlayers": "Players:",
"HeaderAlbumArtists": "Album Artists",
"HeaderAlbums": "Albums",
"HeaderDisc": "Disc",
"HeaderTrack": "Track",
"HeaderAudio": "Audio",
"HeaderVideo": "Video",
"HeaderEmbeddedImage": "Embedded image",
"HeaderResolution": "Resolution",
"HeaderSubtitles": "Subtitles",
"HeaderGenres": "Genres",
"HeaderCountries": "Countries",
"HeaderStatus": "\u72c0\u614b",
"HeaderTracks": "Tracks",
"HeaderMusicArtist": "Music artist",
"HeaderLocked": "Locked",
"HeaderStudios": "Studios",
"HeaderActor": "Actors",
"HeaderComposer": "Composers",
"HeaderDirector": "Directors",
"HeaderGuestStar": "Guest star",
"HeaderProducer": "Producers",
"HeaderWriter": "Writers",
"HeaderParentalRatings": "Parental Ratings",
"HeaderCommunityRatings": "Community ratings",
"StartupEmbyServerIsLoading": "Emby Server is loading. Please try again shortly."
}

@ -315,6 +315,15 @@ namespace Emby.Server.Implementations.Localization
public string GetLocalizedString(string phrase, string culture)
{
if (string.IsNullOrWhiteSpace(culture))
{
culture = _configurationManager.Configuration.UICulture;
}
if (string.IsNullOrWhiteSpace(culture))
{
culture = DefaultCulture;
}
var dictionary = GetLocalizationDictionary(culture);
string value;
@ -327,19 +336,31 @@ namespace Emby.Server.Implementations.Localization
return phrase;
}
const string DefaultCulture = "en-US";
private readonly ConcurrentDictionary<string, Dictionary<string, string>> _dictionaries =
new ConcurrentDictionary<string, Dictionary<string, string>>(StringComparer.OrdinalIgnoreCase);
public Dictionary<string, string> GetLocalizationDictionary(string culture)
{
if (string.IsNullOrWhiteSpace(culture))
{
throw new ArgumentNullException("culture");
}
const string prefix = "Core";
var key = prefix + culture;
return _dictionaries.GetOrAdd(key, k => GetDictionary(prefix, culture, "en-US.json"));
return _dictionaries.GetOrAdd(key, k => GetDictionary(prefix, culture, DefaultCulture + ".json"));
}
private Dictionary<string, string> GetDictionary(string prefix, string culture, string baseFilename)
{
if (string.IsNullOrWhiteSpace(culture))
{
throw new ArgumentNullException("culture");
}
var dictionary = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
var namespaceName = GetType().Namespace + "." + prefix;
@ -387,36 +408,47 @@ namespace Emby.Server.Implementations.Localization
return new LocalizatonOption[]
{
new LocalizatonOption{ Name="Arabic", Value="ar"},
new LocalizatonOption{ Name="Belarusian (Belarus)", Value="be-BY"},
new LocalizatonOption{ Name="Bulgarian (Bulgaria)", Value="bg-BG"},
new LocalizatonOption{ Name="Catalan", Value="ca"},
new LocalizatonOption{ Name="Chinese Simplified", Value="zh-CN"},
new LocalizatonOption{ Name="Chinese Traditional", Value="zh-TW"},
new LocalizatonOption{ Name="Chinese Traditional (Hong Kong)", Value="zh-HK"},
new LocalizatonOption{ Name="Croatian", Value="hr"},
new LocalizatonOption{ Name="Czech", Value="cs"},
new LocalizatonOption{ Name="Danish", Value="da"},
new LocalizatonOption{ Name="Dutch", Value="nl"},
new LocalizatonOption{ Name="English (United Kingdom)", Value="en-GB"},
new LocalizatonOption{ Name="English (United States)", Value="en-us"},
new LocalizatonOption{ Name="English (United States)", Value="en-US"},
new LocalizatonOption{ Name="Finnish", Value="fi"},
new LocalizatonOption{ Name="French", Value="fr"},
new LocalizatonOption{ Name="French (Canada)", Value="fr-CA"},
new LocalizatonOption{ Name="German", Value="de"},
new LocalizatonOption{ Name="Greek", Value="el"},
new LocalizatonOption{ Name="Hebrew", Value="he"},
new LocalizatonOption{ Name="Hindi (India)", Value="hi-IN"},
new LocalizatonOption{ Name="Hungarian", Value="hu"},
new LocalizatonOption{ Name="Indonesian", Value="id"},
new LocalizatonOption{ Name="Italian", Value="it"},
new LocalizatonOption{ Name="Japanese", Value="ja"},
new LocalizatonOption{ Name="Kazakh", Value="kk"},
new LocalizatonOption{ Name="Korean", Value="ko"},
new LocalizatonOption{ Name="Lithuanian", Value="lt-LT"},
new LocalizatonOption{ Name="Malay", Value="ms"},
new LocalizatonOption{ Name="Norwegian Bokmål", Value="nb"},
new LocalizatonOption{ Name="Persian", Value="fa"},
new LocalizatonOption{ Name="Polish", Value="pl"},
new LocalizatonOption{ Name="Portuguese (Brazil)", Value="pt-BR"},
new LocalizatonOption{ Name="Portuguese (Portugal)", Value="pt-PT"},
new LocalizatonOption{ Name="Romanian", Value="ro"},
new LocalizatonOption{ Name="Russian", Value="ru"},
new LocalizatonOption{ Name="Slovak", Value="sk"},
new LocalizatonOption{ Name="Slovenian (Slovenia)", Value="sl-SI"},
new LocalizatonOption{ Name="Spanish", Value="es-ES"},
new LocalizatonOption{ Name="Spanish", Value="es"},
new LocalizatonOption{ Name="Spanish (Latin America)", Value="es-419"},
new LocalizatonOption{ Name="Spanish (Mexico)", Value="es-MX"},
new LocalizatonOption{ Name="Swedish", Value="sv"},
new LocalizatonOption{ Name="Swiss German", Value="gsw"},
new LocalizatonOption{ Name="Turkish", Value="tr"},
new LocalizatonOption{ Name="Ukrainian", Value="uk"},
new LocalizatonOption{ Name="Vietnamese", Value="vi"}

@ -29,7 +29,7 @@ namespace Emby.Server.Implementations.Networking
public List<IpAddressInfo> GetLocalIpAddresses()
{
const int cacheMinutes = 5;
const int cacheMinutes = 10;
lock (_localIpAddressSyncLock)
{
@ -81,8 +81,18 @@ namespace Emby.Server.Implementations.Networking
return true;
}
// Handle ipv4 mapped to ipv6
endpoint = endpoint.Replace("::ffff:", string.Empty);
// ipv6
if (endpoint.Split('.').Length > 4)
{
// Handle ipv4 mapped to ipv6
var originalEndpoint = endpoint;
endpoint = endpoint.Replace("::ffff:", string.Empty);
if (string.Equals(endpoint, originalEndpoint, StringComparison.OrdinalIgnoreCase))
{
return false;
}
}
// Private address space:
// http://en.wikipedia.org/wiki/Private_network
@ -92,13 +102,74 @@ namespace Emby.Server.Implementations.Networking
return Is172AddressPrivate(endpoint);
}
return
return endpoint.StartsWith("localhost", StringComparison.OrdinalIgnoreCase) ||
endpoint.StartsWith("127.0.0.1", StringComparison.OrdinalIgnoreCase) ||
IsInPrivateAddressSpaceAndLocalSubnet(endpoint);
}
public bool IsInPrivateAddressSpaceAndLocalSubnet(string endpoint)
{
var endpointFirstPart = endpoint.Split('.')[0];
endpoint.StartsWith("localhost", StringComparison.OrdinalIgnoreCase) ||
string subnet_Match = "";
if (
endpoint.StartsWith("127.", StringComparison.OrdinalIgnoreCase) ||
endpoint.StartsWith("10.", StringComparison.OrdinalIgnoreCase) ||
endpoint.StartsWith("192.168", StringComparison.OrdinalIgnoreCase) ||
endpoint.StartsWith("169.", StringComparison.OrdinalIgnoreCase);
endpoint.StartsWith("169.", StringComparison.OrdinalIgnoreCase)
)
{
foreach (NetworkInterface adapter in NetworkInterface.GetAllNetworkInterfaces())
foreach (UnicastIPAddressInformation unicastIPAddressInformation in adapter.GetIPProperties().UnicastAddresses)
if (unicastIPAddressInformation.Address.AddressFamily == AddressFamily.InterNetwork && endpointFirstPart == unicastIPAddressInformation.Address.ToString().Split('.')[0])
{
int subnet_Test = 0;
foreach (string part in unicastIPAddressInformation.IPv4Mask.ToString().Split('.'))
{
if (part.Equals("0")) break;
subnet_Test++;
}
subnet_Match = String.Join(".", unicastIPAddressInformation.Address.ToString().Split('.').Take(subnet_Test).ToArray());
}
}
return endpoint.StartsWith(subnet_Match + ".", StringComparison.OrdinalIgnoreCase);
}
private Dictionary<string, string> _subnetLookup = new Dictionary<string, string>(StringComparer.Ordinal);
private string GetSubnet(string endpointFirstPart)
{
string subnet_Match = "";
lock (_subnetLookup)
{
if (_subnetLookup.TryGetValue(endpointFirstPart, out subnet_Match))
{
return subnet_Match;
}
foreach (NetworkInterface adapter in NetworkInterface.GetAllNetworkInterfaces())
foreach (UnicastIPAddressInformation unicastIPAddressInformation in adapter.GetIPProperties().UnicastAddresses)
if (unicastIPAddressInformation.Address.AddressFamily == AddressFamily.InterNetwork && endpointFirstPart == unicastIPAddressInformation.Address.ToString().Split('.')[0])
{
int subnet_Test = 0;
foreach (string part in unicastIPAddressInformation.IPv4Mask.ToString().Split('.'))
{
if (part.Equals("0")) break;
subnet_Test++;
}
subnet_Match = String.Join(".", unicastIPAddressInformation.Address.ToString().Split('.').Take(subnet_Test).ToArray());
}
if (!string.IsNullOrWhiteSpace(subnet_Match))
{
_subnetLookup[endpointFirstPart] = subnet_Match;
}
}
return subnet_Match;
}
private bool Is172AddressPrivate(string endpoint)
@ -198,12 +269,6 @@ namespace Emby.Server.Implementations.Networking
return Dns.GetHostAddressesAsync(hostName);
}
private readonly List<NetworkInterfaceType> _validNetworkInterfaceTypes = new List<NetworkInterfaceType>
{
NetworkInterfaceType.Ethernet,
NetworkInterfaceType.Wireless80211
};
private List<IPAddress> GetIPsDefault()
{
NetworkInterface[] interfaces;
@ -227,7 +292,8 @@ namespace Emby.Server.Implementations.Networking
try
{
Logger.Debug("Querying interface: {0}. Type: {1}. Status: {2}", network.Name, network.NetworkInterfaceType, network.OperationalStatus);
// suppress logging because it might be causing nas device wake up
//Logger.Debug("Querying interface: {0}. Type: {1}. Status: {2}", network.Name, network.NetworkInterfaceType, network.OperationalStatus);
var ipProperties = network.GetIPProperties();

@ -88,15 +88,18 @@ namespace Emby.Server.Implementations.News
BufferContent = false
};
using (var stream = await _httpClient.Get(requestOptions).ConfigureAwait(false))
using (var response = await _httpClient.SendAsync(requestOptions, "GET").ConfigureAwait(false))
{
using (var reader = XmlReader.Create(stream))
using (var stream = response.Content)
{
var news = ParseRssItems(reader).ToList();
using (var reader = XmlReader.Create(stream))
{
var news = ParseRssItems(reader).ToList();
_json.SerializeToFile(news, path);
_json.SerializeToFile(news, path);
await CreateNotifications(news, lastUpdate, CancellationToken.None).ConfigureAwait(false);
await CreateNotifications(news, lastUpdate, CancellationToken.None).ConfigureAwait(false);
}
}
}
}

@ -160,7 +160,7 @@ namespace Emby.Server.Implementations.Notifications
Update(type);
}
var systemName = _localization.GetLocalizedString("CategorySystem");
var systemName = _localization.GetLocalizedString("System");
return knownTypes.OrderByDescending(i => string.Equals(i.Category, systemName, StringComparison.OrdinalIgnoreCase))
.ThenBy(i => i.Category)
@ -175,23 +175,23 @@ namespace Emby.Server.Implementations.Notifications
if (note.Type.IndexOf("Playback", StringComparison.OrdinalIgnoreCase) != -1)
{
note.Category = _localization.GetLocalizedString("CategoryUser");
note.Category = _localization.GetLocalizedString("User");
}
else if (note.Type.IndexOf("Plugin", StringComparison.OrdinalIgnoreCase) != -1)
{
note.Category = _localization.GetLocalizedString("CategoryPlugin");
note.Category = _localization.GetLocalizedString("Plugin");
}
else if (note.Type.IndexOf("CameraImageUploaded", StringComparison.OrdinalIgnoreCase) != -1)
{
note.Category = _localization.GetLocalizedString("CategorySync");
note.Category = _localization.GetLocalizedString("Sync");
}
else if (note.Type.IndexOf("UserLockedOut", StringComparison.OrdinalIgnoreCase) != -1)
{
note.Category = _localization.GetLocalizedString("CategoryUser");
note.Category = _localization.GetLocalizedString("User");
}
else
{
note.Category = _localization.GetLocalizedString("CategorySystem");
note.Category = _localization.GetLocalizedString("System");
}
}
}

@ -37,6 +37,11 @@ namespace Emby.Server.Implementations.Notifications
}
public Task SendNotification(NotificationRequest request, CancellationToken cancellationToken)
{
return SendNotification(request, null, cancellationToken);
}
public Task SendNotification(NotificationRequest request, BaseItem relatedItem, CancellationToken cancellationToken)
{
var notificationType = request.NotificationType;
@ -45,7 +50,9 @@ namespace Emby.Server.Implementations.Notifications
GetConfiguration().GetOptions(notificationType);
var users = GetUserIds(request, options)
.Select(i => _userManager.GetUserById(i));
.Select(i => _userManager.GetUserById(i))
.Where(i => relatedItem == null || relatedItem.IsVisibleStandalone(i))
.ToArray();
var title = GetTitle(request, options);
var description = GetDescription(request, options);
@ -69,7 +76,6 @@ namespace Emby.Server.Implementations.Notifications
var tasks = users.Select(i => SendNotification(request, service, title, description, i, cancellationToken));
return Task.WhenAll(tasks);
}
private IEnumerable<string> GetUserIds(NotificationRequest request, NotificationOption options)

@ -97,7 +97,7 @@ namespace Emby.Server.Implementations.Notifications
notification.Variables["UserName"] = e.Argument.Name;
await SendNotification(notification).ConfigureAwait(false);
await SendNotification(notification, null).ConfigureAwait(false);
}
async void _deviceManager_CameraImageUploaded(object sender, GenericEventArgs<CameraImageUploadInfo> e)
@ -111,7 +111,7 @@ namespace Emby.Server.Implementations.Notifications
notification.Variables["DeviceName"] = e.Argument.Device.Name;
await SendNotification(notification).ConfigureAwait(false);
await SendNotification(notification, null).ConfigureAwait(false);
}
async void _appHost_ApplicationUpdated(object sender, GenericEventArgs<PackageVersionInfo> e)
@ -127,7 +127,7 @@ namespace Emby.Server.Implementations.Notifications
notification.Variables["Version"] = e.Argument.versionStr;
notification.Variables["ReleaseNotes"] = e.Argument.description;
await SendNotification(notification).ConfigureAwait(false);
await SendNotification(notification, null).ConfigureAwait(false);
}
async void _installationManager_PluginUpdated(object sender, GenericEventArgs<Tuple<IPlugin, PackageVersionInfo>> e)
@ -146,7 +146,7 @@ namespace Emby.Server.Implementations.Notifications
notification.Variables["Version"] = installationInfo.Version.ToString();
notification.Variables["ReleaseNotes"] = e.Argument.Item2.description;
await SendNotification(notification).ConfigureAwait(false);
await SendNotification(notification, null).ConfigureAwait(false);
}
async void _installationManager_PluginInstalled(object sender, GenericEventArgs<PackageVersionInfo> e)
@ -164,7 +164,7 @@ namespace Emby.Server.Implementations.Notifications
notification.Variables["Name"] = installationInfo.name;
notification.Variables["Version"] = installationInfo.versionStr;
await SendNotification(notification).ConfigureAwait(false);
await SendNotification(notification, null).ConfigureAwait(false);
}
async void _appHost_HasUpdateAvailableChanged(object sender, EventArgs e)
@ -183,7 +183,7 @@ namespace Emby.Server.Implementations.Notifications
NotificationType = type
};
await SendNotification(notification).ConfigureAwait(false);
await SendNotification(notification, null).ConfigureAwait(false);
}
async void _appHost_HasPendingRestartChanged(object sender, EventArgs e)
@ -200,7 +200,7 @@ namespace Emby.Server.Implementations.Notifications
NotificationType = type
};
await SendNotification(notification).ConfigureAwait(false);
await SendNotification(notification, null).ConfigureAwait(false);
}
private NotificationOptions GetOptions()
@ -285,7 +285,7 @@ namespace Emby.Server.Implementations.Notifications
notification.Variables["AppName"] = e.ClientName;
notification.Variables["DeviceName"] = e.DeviceName;
await SendNotification(notification).ConfigureAwait(false);
await SendNotification(notification, null).ConfigureAwait(false);
}
private string GetPlaybackNotificationType(string mediaType)
@ -390,7 +390,7 @@ namespace Emby.Server.Implementations.Notifications
notification.Variables["Name"] = GetItemName(item);
await SendNotification(notification).ConfigureAwait(false);
await SendNotification(notification, item).ConfigureAwait(false);
}
}
@ -457,7 +457,7 @@ namespace Emby.Server.Implementations.Notifications
Description = "Check back here for more notifications."
};
await SendNotification(notification).ConfigureAwait(false);
await SendNotification(notification, null).ConfigureAwait(false);
}
async void _taskManager_TaskCompleted(object sender, TaskCompletionEventArgs e)
@ -478,7 +478,7 @@ namespace Emby.Server.Implementations.Notifications
notification.Variables["Name"] = result.Name;
notification.Variables["ErrorMessage"] = result.ErrorMessage;
await SendNotification(notification).ConfigureAwait(false);
await SendNotification(notification, null).ConfigureAwait(false);
}
}
@ -496,7 +496,7 @@ namespace Emby.Server.Implementations.Notifications
notification.Variables["Name"] = plugin.Name;
notification.Variables["Version"] = plugin.Version.ToString();
await SendNotification(notification).ConfigureAwait(false);
await SendNotification(notification, null).ConfigureAwait(false);
}
async void _installationManager_PackageInstallationFailed(object sender, InstallationFailedEventArgs e)
@ -515,14 +515,14 @@ namespace Emby.Server.Implementations.Notifications
notification.Variables["Name"] = installationInfo.Name;
notification.Variables["Version"] = installationInfo.Version;
await SendNotification(notification).ConfigureAwait(false);
await SendNotification(notification, null).ConfigureAwait(false);
}
private async Task SendNotification(NotificationRequest notification)
private async Task SendNotification(NotificationRequest notification, BaseItem relatedItem)
{
try
{
await _notificationManager.SendNotification(notification, CancellationToken.None).ConfigureAwait(false);
await _notificationManager.SendNotification(notification, relatedItem, CancellationToken.None).ConfigureAwait(false);
}
catch (Exception ex)
{

@ -1,34 +0,0 @@
using MediaBrowser.Common.Configuration;
using MediaBrowser.Controller.Drawing;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Providers;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Emby.Server.Implementations.Images;
using MediaBrowser.Model.IO;
using MediaBrowser.Model.Entities;
namespace Emby.Server.Implementations.Photos
{
public class PhotoAlbumImageProvider : BaseDynamicImageProvider<PhotoAlbum>
{
public PhotoAlbumImageProvider(IFileSystem fileSystem, IProviderManager providerManager, IApplicationPaths applicationPaths, IImageProcessor imageProcessor)
: base(fileSystem, providerManager, applicationPaths, imageProcessor)
{
}
protected override List<BaseItem> GetItemsWithImages(IHasMetadata item)
{
var photoAlbum = (PhotoAlbum)item;
var items = GetFinalItems(photoAlbum.Children);
return items;
}
protected override string CreateImage(IHasMetadata item, List<BaseItem> itemsWithImages, string outputPathWithoutExtension, ImageType imageType, int imageIndex)
{
return CreateSingleImage(itemsWithImages, outputPathWithoutExtension, ImageType.Primary);
}
}
}

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

Loading…
Cancel
Save