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,8 +43,8 @@ namespace Emby.Dlna.ContentDirectory
|
|||
|
||||
options.RequestContent = GetRequestBody(request);
|
||||
|
||||
var response = await _httpClient.SendAsync(options, "POST");
|
||||
|
||||
using (var response = await _httpClient.SendAsync(options, "POST"))
|
||||
{
|
||||
using (var reader = new StreamReader(response.Content))
|
||||
{
|
||||
var doc = XDocument.Parse(reader.ReadToEnd(), LoadOptions.PreserveWhitespace);
|
||||
|
@ -76,6 +76,7 @@ namespace Emby.Dlna.ContentDirectory
|
|||
return queryResult;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private string GetRequestBody(ContentDirectoryBrowseRequest request)
|
||||
{
|
||||
|
|
|
@ -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);
|
||||
|
||||
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,9 +31,9 @@ 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 response = await PostSoapDataAsync(NormalizeServiceUrl(baseUrl, service.ControlUrl), "\"" + service.ServiceType + "#" + command + "\"", postData, header, logRequest)
|
||||
.ConfigureAwait(false))
|
||||
{
|
||||
using (var stream = response.Content)
|
||||
{
|
||||
using (var reader = new StreamReader(stream, Encoding.UTF8))
|
||||
|
@ -42,6 +42,7 @@ namespace Emby.Dlna.PlayTo
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private string NormalizeServiceUrl(string baseUrl, string serviceUrl)
|
||||
{
|
||||
|
@ -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,12 +96,17 @@ 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 stream = response.Content)
|
||||
{
|
||||
using (var reader = new StreamReader(stream, Encoding.UTF8))
|
||||
{
|
||||
|
@ -102,6 +114,7 @@ namespace Emby.Dlna.PlayTo
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private Task<HttpResponseInfo> PostSoapDataAsync(string url,
|
||||
string soapAction,
|
||||
|
@ -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,11 +163,15 @@ 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);
|
||||
|
||||
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;
|
||||
return Task.FromResult(result);
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -793,6 +800,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
|
||||
/// </summary>
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
451
Emby.Server.Implementations/Devices/SqliteDeviceRepository.cs
Normal file
451
Emby.Server.Implementations/Devices/SqliteDeviceRepository.cs
Normal file
|
@ -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);
|
||||
}
|
||||
catch
|
||||
size = _imageProcessor.GetImageSize(item, imageInfo);
|
||||
|
||||
if (size.Width <= 0 || size.Height <= 0)
|
||||
{
|
||||
//_logger.ErrorException("Failed to determine primary image aspect ratio for {0}", ex, path);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
//_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;
|
||||
|
||||
httpWebRequest.ContentType = options.RequestContentType ?? "application/x-www-form-urlencoded";
|
||||
var bytes = options.RequestContentBytes ?? requestEncoding.GetBytes(options.RequestContent ?? string.Empty);
|
||||
|
||||
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);
|
||||
|
@ -459,9 +436,16 @@ namespace Emby.Server.Implementations.HttpClientManager
|
|||
}
|
||||
|
||||
if (options.LogRequest)
|
||||
{
|
||||
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>
|
||||
|
@ -646,9 +610,16 @@ namespace Emby.Server.Implementations.HttpClientManager
|
|||
options.Progress.Report(0);
|
||||
|
||||
if (options.LogRequest)
|
||||
{
|
||||
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.Device))
|
||||
{
|
||||
info.Device = tokenInfo.DeviceName;
|
||||
}
|
||||
|
||||
if (string.IsNullOrWhiteSpace(info.DeviceId))
|
||||
{
|
||||
info.DeviceId = tokenInfo.DeviceId;
|
||||
}
|
||||
|
||||
|
||||
if (string.IsNullOrWhiteSpace(info.Device))
|
||||
{
|
||||
info.Device = tokenInfo.DeviceName;
|
||||
}
|
||||
else if (!string.Equals(info.Device, tokenInfo.DeviceName, StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
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>
|
||||
///
|
||||
|
|
|
@ -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,31 +410,38 @@ 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);
|
||||
|
||||
var result = ResolveVideos<T>(parent, fileSystemEntries, directoryService, supportsMultiVersion, collectionType) ??
|
||||
var result = ResolveVideos<T>(parent, fileSystemEntries, directoryService, supportsMultiVersion, collectionType, parseName) ??
|
||||
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 (!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);
|
||||
}
|
||||
}
|
||||
|
||||
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,7 +28,13 @@ 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)
|
||||
{
|
||||
// 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))
|
||||
{
|
||||
if (HasPhotos(args))
|
||||
{
|
||||
|
@ -35,13 +44,39 @@ namespace Emby.Server.Implementations.Library.Resolvers
|
|||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
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,10 +43,16 @@ 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)
|
||||
{
|
||||
if (IsOwnedByMedia(_libraryManager, libraryOptions, file.FullName, filename))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
return new Photo
|
||||
{
|
||||
|
@ -60,15 +65,22 @@ 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))
|
||||
{
|
||||
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)
|
||||
|
|
|
@ -58,7 +58,7 @@ namespace Emby.Server.Implementations.Library.Resolvers.TV
|
|||
|
||||
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,7 +541,9 @@ 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))
|
||||
{
|
||||
using (Stream responce = httpResponse.Content)
|
||||
{
|
||||
var root = _jsonSerializer.DeserializeFromStream<List<ScheduleDirect.Headends>>(responce);
|
||||
|
||||
|
@ -565,6 +567,7 @@ namespace Emby.Server.Implementations.LiveTv.Listings
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.Error("Error getting headends", ex);
|
||||
|
@ -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,13 +806,16 @@ 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))
|
||||
{
|
||||
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));
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (HttpException ex)
|
||||
{
|
||||
// Apparently we're supposed to swallow this
|
||||
|
@ -879,7 +891,9 @@ 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))
|
||||
{
|
||||
using (var response = httpResponse.Content)
|
||||
{
|
||||
var root = _jsonSerializer.DeserializeFromStream<ScheduleDirect.Channel>(response);
|
||||
_logger.Info("Found " + root.map.Count + " channels on the lineup on ScheduleDirect");
|
||||
|
@ -928,6 +942,7 @@ namespace Emby.Server.Implementations.LiveTv.Listings
|
|||
list.Add(channelInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
|
|
@ -110,7 +110,15 @@ namespace Emby.Server.Implementations.LiveTv.Listings
|
|||
var tempFolder = Path.Combine(_config.ApplicationPaths.TempDirectory, Guid.NewGuid().ToString());
|
||||
_fileSystem.CreateDirectory(tempFolder);
|
||||
|
||||
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,6 +2153,9 @@ namespace Emby.Server.Implementations.LiveTv
|
|||
{
|
||||
var service = GetService(recording.ServiceName);
|
||||
|
||||
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);
|
||||
|
@ -2179,6 +2164,7 @@ namespace Emby.Server.Implementations.LiveTv
|
|||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
_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,7 +86,9 @@ 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))
|
||||
{
|
||||
using (var stream = response.Content)
|
||||
{
|
||||
var lineup = JsonSerializer.DeserializeFromStream<List<Channels>>(stream) ?? new List<Channels>();
|
||||
|
||||
|
@ -98,6 +100,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
|
|||
return lineup.Where(i => !i.DRM).ToList();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private class HdHomerunChannelInfo : ChannelInfo
|
||||
{
|
||||
|
@ -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);
|
||||
using (var stream = response.Content)
|
||||
{
|
||||
var discoverResponse = JsonSerializer.DeserializeFromStream<DiscoverResponse>(stream);
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(info.Id))
|
||||
{
|
||||
lock (_modelCache)
|
||||
{
|
||||
_modelCache[info.Id] = response;
|
||||
_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,
|
||||
|
||||
StartStreaming(url, taskCompletionSource, _liveStreamCancellationTokenSource.Token);
|
||||
// Increase a little bit
|
||||
TimeoutMs = 30000,
|
||||
|
||||
EnableHttpCompression = false
|
||||
|
||||
}, "GET").ConfigureAwait(false);
|
||||
|
||||
Logger.Info("Opened HDHR stream from {0}", url);
|
||||
|
||||
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
|
||||
{
|
||||
using (var response = await _httpClient.SendAsync(new HttpRequestOptions
|
||||
using (response)
|
||||
{
|
||||
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);
|
||||
|
||||
if (!cancellationToken.IsCancellationRequested)
|
||||
{
|
||||
Logger.Info("Beginning multicastStream.CopyUntilCancelled");
|
||||
Logger.Info("Beginning HdHomerunHttpStream stream to file");
|
||||
|
||||
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.", ex);
|
||||
}
|
||||
|
||||
Logger.ErrorException("Error copying live stream, will reopen", ex);
|
||||
}
|
||||
|
||||
isFirstAttempt = false;
|
||||
}
|
||||
|
||||
_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,54 +34,20 @@ 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 taskCompletionSource = new TaskCompletionSource<bool>();
|
||||
|
||||
StartStreaming(uri.Host, localPort, taskCompletionSource, _liveStreamCancellationTokenSource.Token);
|
||||
|
||||
//OpenedMediaSource.Protocol = MediaProtocol.File;
|
||||
//OpenedMediaSource.Path = tempFile;
|
||||
//OpenedMediaSource.ReadAtNativeFramerate = true;
|
||||
|
||||
OpenedMediaSource.Path = _appHost.GetLocalApiUrl("127.0.0.1") + "/LiveTv/LiveStreamFiles/" + UniqueId + "/stream.ts";
|
||||
OpenedMediaSource.Protocol = MediaProtocol.Http;
|
||||
//OpenedMediaSource.SupportsDirectPlay = false;
|
||||
//OpenedMediaSource.SupportsDirectStream = true;
|
||||
//OpenedMediaSource.SupportsTranscoding = true;
|
||||
|
||||
return taskCompletionSource.Task;
|
||||
|
||||
//await Task.Delay(5000).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
public override Task Close()
|
||||
{
|
||||
Logger.Info("Closing HDHR UDP live stream");
|
||||
_liveStreamCancellationTokenSource.Cancel();
|
||||
|
||||
return _liveStreamTaskCompletionSource.Task;
|
||||
}
|
||||
|
||||
private Task StartStreaming(string remoteIp, int localPort, TaskCompletionSource<bool> openTaskCompletionSource, CancellationToken cancellationToken)
|
||||
{
|
||||
return Task.Run(async () =>
|
||||
{
|
||||
var isFirstAttempt = true;
|
||||
using (var udpClient = _socketFactory.CreateUdpSocket(localPort))
|
||||
{
|
||||
using (var hdHomerunManager = new HdHomerunManager(_socketFactory))
|
||||
{
|
||||
var remoteAddress = _networkManager.ParseIpAddress(remoteIp);
|
||||
var remoteAddress = _networkManager.ParseIpAddress(uri.Host);
|
||||
IpAddressInfo localAddress = null;
|
||||
using (var tcpSocket = _socketFactory.CreateSocket(remoteAddress.AddressFamily, SocketType.Stream, ProtocolType.Tcp, false))
|
||||
{
|
||||
|
@ -107,47 +64,84 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
|
|||
}
|
||||
}
|
||||
|
||||
while (!cancellationToken.IsCancellationRequested)
|
||||
{
|
||||
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, cancellationToken).ConfigureAwait(false);
|
||||
|
||||
Logger.Info("Opened HDHR UDP stream from {0}", remoteAddress);
|
||||
|
||||
if (!cancellationToken.IsCancellationRequested)
|
||||
await hdHomerunManager.StartStreaming(remoteAddress, localAddress, localPort, _channelCommands, _numTuners, openCancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
FileSystem.CreateDirectory(FileSystem.GetDirectoryName(TempFilePath));
|
||||
using (var fileStream = FileSystem.GetFileStream(TempFilePath, FileOpenMode.Create, FileAccessMode.Write, FileShareMode.Read, FileOpenOptions.None))
|
||||
using (udpClient)
|
||||
{
|
||||
CopyTo(udpClient, fileStream, openTaskCompletionSource, cancellationToken);
|
||||
using (hdHomerunManager)
|
||||
{
|
||||
if (!(ex is OperationCanceledException))
|
||||
{
|
||||
Logger.ErrorException("Error opening live stream:", ex);
|
||||
}
|
||||
throw;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var taskCompletionSource = new TaskCompletionSource<bool>();
|
||||
|
||||
StartStreaming(udpClient, hdHomerunManager, remoteAddress, localAddress, localPort, taskCompletionSource, LiveStreamCancellationTokenSource.Token);
|
||||
|
||||
//OpenedMediaSource.Protocol = MediaProtocol.File;
|
||||
//OpenedMediaSource.Path = tempFile;
|
||||
//OpenedMediaSource.ReadAtNativeFramerate = true;
|
||||
|
||||
OpenedMediaSource.Path = _appHost.GetLocalApiUrl("127.0.0.1") + "/LiveTv/LiveStreamFiles/" + UniqueId + "/stream.ts";
|
||||
OpenedMediaSource.Protocol = MediaProtocol.Http;
|
||||
//OpenedMediaSource.SupportsDirectPlay = false;
|
||||
//OpenedMediaSource.SupportsDirectStream = true;
|
||||
//OpenedMediaSource.SupportsTranscoding = true;
|
||||
|
||||
//await Task.Delay(5000).ConfigureAwait(false);
|
||||
await taskCompletionSource.Task.ConfigureAwait(false);
|
||||
}
|
||||
|
||||
public override void Close()
|
||||
{
|
||||
Logger.Info("Closing HDHR UDP live stream");
|
||||
LiveStreamCancellationTokenSource.Cancel();
|
||||
}
|
||||
|
||||
private Task StartStreaming(ISocket udpClient, HdHomerunManager hdHomerunManager, IpAddressInfo remoteAddress, IpAddressInfo localAddress, int localPort, TaskCompletionSource<bool> openTaskCompletionSource, CancellationToken cancellationToken)
|
||||
{
|
||||
return Task.Run(async () =>
|
||||
{
|
||||
using (udpClient)
|
||||
{
|
||||
using (hdHomerunManager)
|
||||
{
|
||||
try
|
||||
{
|
||||
await CopyTo(udpClient, TempFilePath, openTaskCompletionSource, cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
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;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
await hdHomerunManager.StopStreaming().ConfigureAwait(false);
|
||||
_liveStreamTaskCompletionSource.TrySetResult(true);
|
||||
}
|
||||
catch
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -164,24 +158,31 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
|
|||
}
|
||||
|
||||
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))
|
||||
{
|
||||
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;
|
||||
|
||||
while ((read = await source.ReadAsync(buffer, 0, buffer.Length, currentCancellationToken).ConfigureAwait(false)) != 0)
|
||||
{
|
||||
cancellationToken.ThrowIfCancellationRequested();
|
||||
|
||||
currentCancellationToken = cancellationToken;
|
||||
|
||||
read -= RtpHeaderBytes;
|
||||
|
||||
if (read > 0)
|
||||
{
|
||||
target.Write(buffer, RtpHeaderBytes, read);
|
||||
fileStream.Write(buffer, RtpHeaderBytes, read);
|
||||
}
|
||||
|
||||
if (!resolved)
|
||||
|
@ -191,6 +192,8 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class UdpClientStream : Stream
|
||||
{
|
||||
|
|
|
@ -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,42 +1,74 @@
|
|||
{
|
||||
"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",
|
||||
"HeaderLiveTV": "Live TV",
|
||||
"ChapterNameValue": "Chapter {0}",
|
||||
"ScheduledTaskFailedWithName": "{0} failed",
|
||||
"LabelRunningTimeValue": "Running time: {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} \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}",
|
||||
"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",
|
||||
"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",
|
||||
|
@ -46,133 +78,19 @@
|
|||
"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": "\u0412\u0435\u0440\u0441\u0438\u044f {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 \u0441\u044a\u0440\u0432\u044a\u0440\u044a\u0442 \u0431\u0435 \u043e\u0431\u043d\u043e\u0432\u0435\u043d.",
|
||||
"FailedLoginAttemptWithUserName": "Failed login attempt from {0}",
|
||||
"AuthenticationSucceededWithUserName": "{0} successfully authenticated",
|
||||
"DeviceOfflineWithName": "{0} has disconnected",
|
||||
"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",
|
||||
"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": "\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à 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,39 +1,71 @@
|
|||
{
|
||||
"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",
|
||||
"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",
|
||||
"ItemRemovedWithName": "{0} byl odstran\u011bn z knihovny",
|
||||
"LabelIpAddressValue": "IP adresa: {0}",
|
||||
"DeviceOnlineWithName": "{0} je p\u0159ipojen",
|
||||
"UserOnlineFromDevice": "{0} se p\u0159ipojil z {1}",
|
||||
"ProviderValue": "Poskytl: {0}",
|
||||
"SubtitlesDownloadedForItem": "Sta\u017eeny titulky pro {0}",
|
||||
"UserCreatedWithName": "U\u017eivatel {0} byl vytvo\u0159en",
|
||||
"UserPasswordChangedWithName": "Provedena zm\u011bna hesla pro u\u017eivatele {0}",
|
||||
"UserDeletedWithName": "U\u017eivatel {0} byl smaz\u00e1n",
|
||||
"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",
|
||||
"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": "Dostupnost aktualizace aplikace",
|
||||
"NotificationOptionApplicationUpdateInstalled": "Instalace aktualizace aplikace",
|
||||
"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",
|
||||
|
@ -46,133 +78,19 @@
|
|||
"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",
|
||||
"ScheduledTaskFailedWithName": "{0} selhalo",
|
||||
"LabelRunningTimeValue": "D\u00e9lka m\u00e9dia: {0}",
|
||||
"ScheduledTaskStartedWithName": "{0} zah\u00e1jeno",
|
||||
"VersionNumber": "Verze {0}",
|
||||
"PluginInstalledWithName": "{0} byl nainstalov\u00e1n",
|
||||
"PluginUpdatedWithName": "{0} byl aktualizov\u00e1n",
|
||||
"PluginUninstalledWithName": "{0} byl odinstalov\u00e1n",
|
||||
"ItemAddedWithName": "{0} byl p\u0159id\u00e1n do knihovny",
|
||||
"ItemRemovedWithName": "{0} byl odstran\u011bn z knihovny",
|
||||
"LabelIpAddressValue": "IP adresa: {0}",
|
||||
"DeviceOnlineWithName": "{0} je p\u0159ipojen",
|
||||
"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",
|
||||
"UserDeletedWithName": "U\u017eivatel {0} byl smaz\u00e1n",
|
||||
"MessageServerConfigurationUpdated": "Konfigurace serveru byla 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}",
|
||||
"UserStartedPlayingItemWithValues": "{0} spustil p\u0159ehr\u00e1v\u00e1n\u00ed {1}",
|
||||
"UserStoppedPlayingItemWithValues": "{0} zastavil p\u0159ehr\u00e1v\u00e1n\u00ed {1}",
|
||||
"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,36 +1,68 @@
|
|||
{
|
||||
"DbUpgradeMessage": "Bitte warten Sie w\u00e4hrend die Emby Datenbank aktualisiert wird. {0}% verarbeitet.",
|
||||
"Latest": "Neueste",
|
||||
"ValueSpecialEpisodeName": "Special - {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}",
|
||||
"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",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"LabelChapterName": "Kapitel {0}",
|
||||
"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",
|
||||
"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",
|
||||
"ItemRemovedWithName": "{0} wurde aus der Bibliothek entfernt",
|
||||
"LabelIpAddressValue": "IP Adresse: {0}",
|
||||
"DeviceOnlineWithName": "{0} ist verbunden",
|
||||
"UserOnlineFromDevice": "{0} ist online von {1}",
|
||||
"ProviderValue": "Anbieter: {0}",
|
||||
"SubtitlesDownloadedForItem": "Untertitel heruntergeladen 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",
|
||||
"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",
|
||||
|
@ -43,136 +75,22 @@
|
|||
"NotificationOptionVideoPlaybackStopped": "Videowiedergabe gestoppt",
|
||||
"NotificationOptionAudioPlaybackStopped": "Audiowiedergabe gestoppt",
|
||||
"NotificationOptionGamePlaybackStopped": "Spielwiedergabe gestoppt",
|
||||
"NotificationOptionTaskFailed": "Fehler bei geplanter Aufgabe",
|
||||
"NotificationOptionTaskFailed": "Geplante Aufgaben fehlgeschlagen",
|
||||
"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",
|
||||
"ScheduledTaskFailedWithName": "{0} fehlgeschlagen",
|
||||
"LabelRunningTimeValue": "Laufzeit: {0}",
|
||||
"ScheduledTaskStartedWithName": "{0} gestartet",
|
||||
"VersionNumber": "Version {0}",
|
||||
"PluginInstalledWithName": "{0} wurde installiert",
|
||||
"PluginUpdatedWithName": "{0} wurde aktualisiert",
|
||||
"PluginUninstalledWithName": "{0} wurde deinstalliert",
|
||||
"ItemAddedWithName": "{0} wurde der Bibliothek hinzugef\u00fcgt",
|
||||
"ItemRemovedWithName": "{0} wurde aus der Bibliothek entfernt",
|
||||
"LabelIpAddressValue": "IP Adresse: {0}",
|
||||
"DeviceOnlineWithName": "{0} ist verbunden",
|
||||
"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",
|
||||
"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}",
|
||||
"UserStartedPlayingItemWithValues": "{0} hat die Wiedergabe von {1} gestartet",
|
||||
"UserStoppedPlayingItemWithValues": "{0} hat die Wiedergabe von {1} beendet",
|
||||
"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,36 +1,68 @@
|
|||
{
|
||||
"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",
|
||||
"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",
|
||||
|
@ -46,133 +78,19 @@
|
|||
"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",
|
||||
"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."
|
||||
"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,33 +1,68 @@
|
|||
{
|
||||
"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": "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",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"LabelChapterName": "Chapter {0}",
|
||||
"NameSeasonUnknown": "Season Unknown",
|
||||
"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",
|
||||
"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",
|
||||
|
@ -46,119 +81,16 @@
|
|||
"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",
|
||||
"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",
|
||||
"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,36 +1,68 @@
|
|||
{
|
||||
"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": "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": "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",
|
||||
"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",
|
||||
|
@ -46,133 +78,19 @@
|
|||
"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."
|
||||
"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,36 +1,68 @@
|
|||
{
|
||||
"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",
|
||||
"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",
|
||||
"ItemRemovedWithName": "{0} fue removido de la biblioteca",
|
||||
"LabelIpAddressValue": "Direcci\u00f3n IP: {0}",
|
||||
"DeviceOnlineWithName": "{0} est\u00e1 conectado",
|
||||
"UserOnlineFromDevice": "{0} est\u00e1 en l\u00ednea desde {1}",
|
||||
"ProviderValue": "Proveedor: {0}",
|
||||
"SubtitlesDownloadedForItem": "Subt\u00edtulos descargados para {0}",
|
||||
"UserCreatedWithName": "Se ha creado el usuario {0}",
|
||||
"UserPasswordChangedWithName": "Se ha cambiado la contrase\u00f1a para el 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",
|
||||
"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",
|
||||
|
@ -46,133 +78,19 @@
|
|||
"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",
|
||||
"ScheduledTaskFailedWithName": "{0} fall\u00f3",
|
||||
"LabelRunningTimeValue": "Duraci\u00f3n: {0}",
|
||||
"ScheduledTaskStartedWithName": "{0} Iniciado",
|
||||
"VersionNumber": "Versi\u00f3n {0}",
|
||||
"PluginInstalledWithName": "{0} fue instalado",
|
||||
"PluginUpdatedWithName": "{0} fue actualizado",
|
||||
"PluginUninstalledWithName": "{0} fue desinstalado",
|
||||
"ItemAddedWithName": "{0} fue agregado a la biblioteca",
|
||||
"ItemRemovedWithName": "{0} fue removido de la biblioteca",
|
||||
"LabelIpAddressValue": "Direcci\u00f3n IP: {0}",
|
||||
"DeviceOnlineWithName": "{0} est\u00e1 conectado",
|
||||
"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}",
|
||||
"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",
|
||||
"NotificationOptionServerRestartRequired": "Se necesita reiniciar el Servidor",
|
||||
"UserLockedOutWithName": "El usuario {0} ha sido bloqueado",
|
||||
"UserOfflineFromDevice": "{0} se ha desconectado desde {1}",
|
||||
"UserStartedPlayingItemWithValues": "{0} ha iniciado la reproducci\u00f3n de {1}",
|
||||
"UserStoppedPlayingItemWithValues": "{0} ha detenido la reproducci\u00f3n de {1}",
|
||||
"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.",
|
||||
"Latest": "\u00daltimos",
|
||||
"ValueSpecialEpisodeName": "Especial - {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}",
|
||||
"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",
|
||||
"ValueSpecialEpisodeName": "Especial - {0}",
|
||||
"LabelChapterName": "Cap\u00edtulo {0}",
|
||||
"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",
|
||||
"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",
|
||||
"DeviceOfflineWithName": "{0} se ha desconectado",
|
||||
"UserLockedOutWithName": "El usuario {0} ha sido bloqueado",
|
||||
"FailedLoginAttemptWithUserName": "Error al intentar iniciar sesi\u00f3n a partir de {0}",
|
||||
"AuthenticationSucceededWithUserName": "{0} autenticado correctamente",
|
||||
"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."
|
||||
"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",
|
||||
"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,36 +1,68 @@
|
|||
{
|
||||
"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",
|
||||
"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",
|
||||
|
@ -46,133 +78,19 @@
|
|||
"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."
|
||||
"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,42 +1,74 @@
|
|||
{
|
||||
"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",
|
||||
"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\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 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\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",
|
||||
"MessageServerConfigurationUpdated": "La configuration du serveur a \u00e9t\u00e9 mise \u00e0 jour.",
|
||||
"MessageNamedServerConfigurationUpdatedWithValue": "La configuration de la section {0} du serveur a \u00e9t\u00e9 mise \u00e0 jour",
|
||||
"MessageApplicationUpdated": "Le serveur Emby a \u00e9t\u00e9 mis \u00e0 jour",
|
||||
"FailedLoginAttemptWithUserName": "\u00c9chec d'une tentative de connexion de {0}",
|
||||
"AuthenticationSucceededWithUserName": "{0} s'est authentifi\u00e9 avec succ\u00e8s",
|
||||
"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",
|
||||
|
@ -46,133 +78,19 @@
|
|||
"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",
|
||||
"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",
|
||||
"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",
|
||||
"ScheduledTaskFailedWithName": "{0} a \u00e9chou\u00e9",
|
||||
"LabelRunningTimeValue": "Dur\u00e9e: {0}",
|
||||
"ScheduledTaskStartedWithName": "{0} a commenc\u00e9",
|
||||
"VersionNumber": "Version {0}",
|
||||
"PluginInstalledWithName": "{0} a \u00e9t\u00e9 install\u00e9",
|
||||
"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}",
|
||||
"DeviceOnlineWithName": "{0} est connect\u00e9",
|
||||
"UserOnlineFromDevice": "{0} s'est connect\u00e9 depuis {1}",
|
||||
"ProviderValue": "Fournisseur : {0}",
|
||||
"SubtitlesDownloadedForItem": "Les sous-titres de {0} ont \u00e9t\u00e9 t\u00e9l\u00e9charg\u00e9s",
|
||||
"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.",
|
||||
"MessageApplicationUpdated": "Le serveur Emby a \u00e9t\u00e9 mis \u00e0 jour",
|
||||
"FailedLoginAttemptWithUserName": "Echec 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}",
|
||||
"UserStartedPlayingItemWithValues": "{0} vient de commencer la lecture de {1}",
|
||||
"UserStoppedPlayingItemWithValues": "{0} vient d'arr\u00eater la lecture de {1}",
|
||||
"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",
|
||||
"NotificationOptionApplicationUpdateAvailable": "Aggiornamento dell'applicazione disponibile",
|
||||
"NotificationOptionApplicationUpdateInstalled": "Aggiornamento dell'applicazione installato",
|
||||
"NotificationOptionPluginUpdateInstalled": "Aggiornamento del plugin installato",
|
||||
"NotificationOptionPluginInstalled": "Plugin installato",
|
||||
"NotificationOptionPluginUninstalled": "Plugin disinstallato",
|
||||
"NotificationOptionVideoPlayback": "La riproduzione video \u00e8 iniziata",
|
||||
"NotificationOptionAudioPlayback": "Riproduzione audio iniziata",
|
||||
"NotificationOptionGamePlayback": "Gioco avviato",
|
||||
"NotificationOptionVideoPlaybackStopped": "Riproduzione video interrotta",
|
||||
"NotificationOptionAudioPlaybackStopped": "Audio Fermato",
|
||||
"NotificationOptionGamePlaybackStopped": "Gioco 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",
|
||||
"HeaderLiveTV": "Diretta TV",
|
||||
"ChapterNameValue": "Capitolo {0}",
|
||||
"ScheduledTaskFailedWithName": "{0} fallito",
|
||||
"LabelRunningTimeValue": "Durata: {0}",
|
||||
"ScheduledTaskStartedWithName": "{0} Avviati",
|
||||
"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",
|
||||
"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}",
|
||||
"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",
|
||||
"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": "Login fallito da {0}",
|
||||
"AuthenticationSucceededWithUserName": "{0} Autenticati con successo",
|
||||
"DeviceOfflineWithName": "{0} \u00e8 stato disconesso",
|
||||
"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 plug-in installato",
|
||||
"NotificationOptionPluginInstalled": "Plug-in installato",
|
||||
"NotificationOptionPluginUninstalled": "Plug-in disinstallato",
|
||||
"NotificationOptionVideoPlayback": "La riproduzione video \u00e8 iniziata",
|
||||
"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",
|
||||
"NotificationOptionCameraImageUploaded": "Immagine fotocamera caricata",
|
||||
"NotificationOptionUserLockedOut": "Utente bloccato",
|
||||
"NotificationOptionServerRestartRequired": "Riavvio del server necessario",
|
||||
"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,38 +1,70 @@
|
|||
{
|
||||
"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",
|
||||
"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}",
|
||||
"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": "{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} \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",
|
||||
"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",
|
||||
"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",
|
||||
|
@ -46,133 +78,19 @@
|
|||
"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",
|
||||
"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",
|
||||
"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}",
|
||||
"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",
|
||||
"UserCreatedWithName": "\u041f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b {0} \u0436\u0430\u0441\u0430\u043b\u0493\u0430\u043d",
|
||||
"UserPasswordChangedWithName": "\u041f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b {0} \u04af\u0448\u0456\u043d \u049b\u04b1\u043f\u0438\u044f \u0441\u04e9\u0437 \u04e9\u0437\u0433\u0435\u0440\u0442\u0456\u043b\u0434\u0456",
|
||||
"UserDeletedWithName": "\u041f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b {0} \u0436\u043e\u0439\u044b\u043b\u0493\u0430\u043d",
|
||||
"MessageServerConfigurationUpdated": "\u0421\u0435\u0440\u0432\u0435\u0440 \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",
|
||||
"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",
|
||||
"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",
|
||||
"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"
|
||||
}
|
96
Emby.Server.Implementations/Localization/Core/lt-LT.json
Normal file
96
Emby.Server.Implementations/Localization/Core/lt-LT.json
Normal file
|
@ -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,36 +1,68 @@
|
|||
{
|
||||
"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": "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": "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",
|
||||
"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",
|
||||
|
@ -46,133 +78,19 @@
|
|||
"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."
|
||||
"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.",
|
||||
"Latest": "Nieuwste",
|
||||
"ValueSpecialEpisodeName": "Speciaal - {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}",
|
||||
"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",
|
||||
"ValueSpecialEpisodeName": "Speciaal - {0}",
|
||||
"LabelChapterName": "Hoofdstuk {0}",
|
||||
"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",
|
||||
"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,40 +1,72 @@
|
|||
{
|
||||
"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",
|
||||
"Latest": "Recente",
|
||||
"ValueSpecialEpisodeName": "Especial - {0}",
|
||||
"LabelChapterName": "Cap\u00edtulo {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",
|
||||
"AppDeviceValues": "App: {0}, Dispositivo: {1}",
|
||||
"UserDownloadingItemWithValues": "{0} est\u00e1 baixando {1}",
|
||||
"HeaderLiveTV": "TV ao Vivo",
|
||||
"ChapterNameValue": "Cap\u00edtulo {0}",
|
||||
"ScheduledTaskFailedWithName": "{0} falhou",
|
||||
"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}",
|
||||
"DeviceOnlineWithName": "{0} est\u00e1 conectado",
|
||||
"UserOnlineFromDevice": "{0} est\u00e1 ativo em {1}",
|
||||
"ProviderValue": "Provedor: {0}",
|
||||
"SubtitlesDownloadedForItem": "Legendas baixadas para {0}",
|
||||
"UserCreatedWithName": "O usu\u00e1rio {0} foi criado",
|
||||
"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",
|
||||
"FailedLoginAttemptWithUserName": "Falha na tentativa de login de {0}",
|
||||
"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}",
|
||||
"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",
|
||||
|
@ -46,133 +78,19 @@
|
|||
"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",
|
||||
"NotificationOptionCameraImageUploaded": "Imagem de c\u00e2mera enviada",
|
||||
"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",
|
||||
"ScheduledTaskFailedWithName": "{0} falhou",
|
||||
"LabelRunningTimeValue": "Dura\u00e7\u00e3o: {0}",
|
||||
"ScheduledTaskStartedWithName": "{0} iniciado",
|
||||
"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",
|
||||
"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",
|
||||
"UserDeletedWithName": "O usu\u00e1rio {0} foi exclu\u00eddo",
|
||||
"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",
|
||||
"FailedLoginAttemptWithUserName": "Falha na tentativa de login de {0}",
|
||||
"AuthenticationSucceededWithUserName": "{0} autenticou-se com sucesso",
|
||||
"DeviceOfflineWithName": "{0} foi desconectado",
|
||||
"NotificationOptionServerRestartRequired": "Necess\u00e1rio reiniciar servidor",
|
||||
"UserLockedOutWithName": "Usu\u00e1rio {0} foi bloqueado",
|
||||
"UserOfflineFromDevice": "{0} foi desconectado de {1}",
|
||||
"UserStartedPlayingItemWithValues": "{0} come\u00e7ou a reproduzir {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."
|
||||
"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,36 +1,68 @@
|
|||
{
|
||||
"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.",
|
||||
"Latest": "\u041d\u043e\u0432\u0435\u0439\u0448\u0435\u0435",
|
||||
"ValueSpecialEpisodeName": "\u0421\u043f\u0435\u0446\u044d\u043f\u0438\u0437\u043e\u0434 - {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}",
|
||||
"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",
|
||||
"ValueSpecialEpisodeName": "\u0421\u043f\u0435\u0446\u044d\u043f\u0438\u0437\u043e\u0434 - {0}",
|
||||
"LabelChapterName": "\u0421\u0446\u0435\u043d\u0430 {0}",
|
||||
"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",
|
||||
"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",
|
||||
"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 \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",
|
||||
"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",
|
||||
"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",
|
||||
|
@ -46,133 +78,19 @@
|
|||
"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",
|
||||
"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",
|
||||
"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)",
|
||||
"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",
|
||||
"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",
|
||||
"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",
|
||||
"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",
|
||||
"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"
|
||||
}
|
96
Emby.Server.Implementations/Localization/Core/sk.json
Normal file
96
Emby.Server.Implementations/Localization/Core/sk.json
Normal file
|
@ -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.",
|
||||
"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": "Serije",
|
||||
"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": "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",
|
||||
"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,36 +1,68 @@
|
|||
{
|
||||
"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",
|
||||
"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 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 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\u00e4llningarna {0} har uppdaterats",
|
||||
"MessageApplicationUpdated": "Emby Server har uppdaterats",
|
||||
"FailedLoginAttemptWithUserName": "Misslyckat inloggningsf\u00f6rs\u00f6k fr\u00e5n {0}",
|
||||
"AuthenticationSucceededWithUserName": "{0} har autentiserats",
|
||||
"UserOfflineFromDevice": "{0} har avbrutit anslutningen fr\u00e5n {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",
|
||||
|
@ -45,134 +77,20 @@
|
|||
"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",
|
||||
"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",
|
||||
"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",
|
||||
"ScheduledTaskFailedWithName": "{0} misslyckades",
|
||||
"LabelRunningTimeValue": "Speltid: {0}",
|
||||
"ScheduledTaskStartedWithName": "{0} startad",
|
||||
"VersionNumber": "Version {0}",
|
||||
"PluginInstalledWithName": "{0} installerades",
|
||||
"PluginUpdatedWithName": "{0} uppdaterades",
|
||||
"PluginUninstalledWithName": "{0} avinstallerades",
|
||||
"ItemAddedWithName": "{0} lades till i biblioteket",
|
||||
"ItemRemovedWithName": "{0} togs bort ur 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",
|
||||
"UserCreatedWithName": "Anv\u00e4ndaren {0} har skapats",
|
||||
"UserPasswordChangedWithName": "L\u00f6senordet f\u00f6r {0} har \u00e4ndrats",
|
||||
"UserDeletedWithName": "Anv\u00e4ndaren {0} har tagits bort",
|
||||
"MessageServerConfigurationUpdated": "Server konfigurationen har uppdaterats",
|
||||
"MessageNamedServerConfigurationUpdatedWithValue": "Serverinst\u00e4llningarnas del {0} ar 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}",
|
||||
"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,37 +1,69 @@
|
|||
{
|
||||
"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": "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}",
|
||||
"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": "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",
|
||||
"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",
|
||||
|
@ -46,133 +78,19 @@
|
|||
"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",
|
||||
"ScheduledTaskFailedWithName": "{0} failed",
|
||||
"LabelRunningTimeValue": "Running time: {0}",
|
||||
"ScheduledTaskStartedWithName": "{0} started",
|
||||
"VersionNumber": "Versiyon {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",
|
||||
"NotificationOptionServerRestartRequired": "Server restart required",
|
||||
"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": "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,36 +1,68 @@
|
|||
{
|
||||
"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",
|
||||
"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}",
|
||||
"DeviceOnlineWithName": "{0} \u5df2\u8fde\u63a5",
|
||||
"UserOnlineFromDevice": "{0} \u5728\u7ebf\uff0c\u6765\u81ea {1}",
|
||||
"ProviderValue": "\u63d0\u4f9b\u5546\uff1a{0}",
|
||||
"SubtitlesDownloadedForItem": "\u5df2\u4e3a {0} \u4e0b\u8f7d\u4e86\u5b57\u5e55",
|
||||
"UserCreatedWithName": "\u7528\u6237 {0} \u5df2\u521b\u5efa",
|
||||
"UserPasswordChangedWithName": "\u5df2\u4e3a\u7528\u6237 {0} \u66f4\u6539\u5bc6\u7801",
|
||||
"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 \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",
|
||||
|
@ -40,139 +72,25 @@
|
|||
"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",
|
||||
"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": "\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",
|
||||
"VersionNumber": "\u7248\u672c {0}",
|
||||
"PluginInstalledWithName": "{0} \u5df2\u5b89\u88c5",
|
||||
"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}",
|
||||
"DeviceOnlineWithName": "{0} \u5df2\u8fde\u63a5",
|
||||
"UserOnlineFromDevice": "{0} \u5728\u7ebf\uff0c\u6765\u81ea {1}",
|
||||
"ProviderValue": "\u63d0\u4f9b\u8005\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",
|
||||
"UserPasswordChangedWithName": "\u5df2\u4e3a\u7528\u6237 {0} \u66f4\u6539\u5bc6\u7801",
|
||||
"UserDeletedWithName": "\u7528\u6237 {0} \u5df2\u88ab\u5220\u9664",
|
||||
"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}",
|
||||
"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,36 +1,68 @@
|
|||
{
|
||||
"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",
|
||||
"HeaderLiveTV": "Live TV",
|
||||
"ChapterNameValue": "Chapter {0}",
|
||||
"ScheduledTaskFailedWithName": "{0} failed",
|
||||
"LabelRunningTimeValue": "Running time: {0}",
|
||||
"ScheduledTaskStartedWithName": "{0} started",
|
||||
"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",
|
||||
"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",
|
||||
|
@ -46,133 +78,19 @@
|
|||
"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",
|
||||
"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": "\u5df2\u7d93\u70ba {0} \u4e0b\u8f09\u4e86\u5b57\u5e55",
|
||||
"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",
|
||||
"NotificationOptionServerRestartRequired": "Server restart required",
|
||||
"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": "\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."
|
||||
"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,9 +81,19 @@ namespace Emby.Server.Implementations.Networking
|
|||
return true;
|
||||
}
|
||||
|
||||
// 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);
|
||||
}
|
||||
|
||||
endpoint.StartsWith("localhost", StringComparison.OrdinalIgnoreCase) ||
|
||||
public bool IsInPrivateAddressSpaceAndLocalSubnet(string endpoint)
|
||||
{
|
||||
var endpointFirstPart = endpoint.Split('.')[0];
|
||||
|
||||
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,7 +88,9 @@ 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 stream = response.Content)
|
||||
{
|
||||
using (var reader = XmlReader.Create(stream))
|
||||
{
|
||||
|
@ -100,6 +102,7 @@ namespace Emby.Server.Implementations.News
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private Task CreateNotifications(List<NewsItem> items, DateTime? lastUpdate, CancellationToken cancellationToken)
|
||||
{
|
||||
|
|
|
@ -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…
Reference in New Issue
Block a user