mirror of
https://github.com/jellyfin/jellyfin.git
synced 2024-09-07 03:48:06 +02:00
commit
ab0a7814d7
72 changed files with 653 additions and 605 deletions
|
@ -60,6 +60,7 @@ namespace Emby.Drawing
|
||||||
_imageEncoder = imageEncoder;
|
_imageEncoder = imageEncoder;
|
||||||
_appPaths = appPaths;
|
_appPaths = appPaths;
|
||||||
|
|
||||||
|
ImageEnhancers = new List<IImageEnhancer>();
|
||||||
_saveImageSizeTimer = new Timer(SaveImageSizeCallback, null, Timeout.Infinite, Timeout.Infinite);
|
_saveImageSizeTimer = new Timer(SaveImageSizeCallback, null, Timeout.Infinite, Timeout.Infinite);
|
||||||
|
|
||||||
Dictionary<Guid, ImageSize> sizeDictionary;
|
Dictionary<Guid, ImageSize> sizeDictionary;
|
||||||
|
|
|
@ -40,8 +40,8 @@ namespace MediaBrowser.Api.Images
|
||||||
[Route("/Items/{Id}/Images/{Type}/{Index}", "GET")]
|
[Route("/Items/{Id}/Images/{Type}/{Index}", "GET")]
|
||||||
[Route("/Items/{Id}/Images/{Type}", "HEAD")]
|
[Route("/Items/{Id}/Images/{Type}", "HEAD")]
|
||||||
[Route("/Items/{Id}/Images/{Type}/{Index}", "HEAD")]
|
[Route("/Items/{Id}/Images/{Type}/{Index}", "HEAD")]
|
||||||
[Route("/Items/{Id}/Images/{Type}/{Index}/{Tag}/{Format}/{MaxWidth}/{MaxHeight}/{PercentPlayed}", "GET")]
|
[Route("/Items/{Id}/Images/{Type}/{Index}/{Tag}/{Format}/{MaxWidth}/{MaxHeight}/{PercentPlayed}/{UnplayedCount}", "GET")]
|
||||||
[Route("/Items/{Id}/Images/{Type}/{Index}/{Tag}/{Format}/{MaxWidth}/{MaxHeight}/{PercentPlayed}", "HEAD")]
|
[Route("/Items/{Id}/Images/{Type}/{Index}/{Tag}/{Format}/{MaxWidth}/{MaxHeight}/{PercentPlayed}/{UnplayedCount}", "HEAD")]
|
||||||
public class GetItemImage : ImageRequest
|
public class GetItemImage : ImageRequest
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -511,6 +511,30 @@ namespace MediaBrowser.Api.Images
|
||||||
/// <exception cref="ResourceNotFoundException"></exception>
|
/// <exception cref="ResourceNotFoundException"></exception>
|
||||||
public object GetImage(ImageRequest request, IHasImages item, bool isHeadRequest)
|
public object GetImage(ImageRequest request, IHasImages item, bool isHeadRequest)
|
||||||
{
|
{
|
||||||
|
if (request.PercentPlayed.HasValue)
|
||||||
|
{
|
||||||
|
if (request.PercentPlayed.Value <= 0)
|
||||||
|
{
|
||||||
|
request.PercentPlayed = null;
|
||||||
|
}
|
||||||
|
else if (request.PercentPlayed.Value >= 100)
|
||||||
|
{
|
||||||
|
request.PercentPlayed = null;
|
||||||
|
request.AddPlayedIndicator = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (request.PercentPlayed.HasValue)
|
||||||
|
{
|
||||||
|
request.UnplayedCount = null;
|
||||||
|
}
|
||||||
|
if (request.UnplayedCount.HasValue)
|
||||||
|
{
|
||||||
|
if (request.UnplayedCount.Value <= 0)
|
||||||
|
{
|
||||||
|
request.UnplayedCount = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
var imageInfo = GetImageInfo(request, item);
|
var imageInfo = GetImageInfo(request, item);
|
||||||
|
|
||||||
if (imageInfo == null)
|
if (imageInfo == null)
|
||||||
|
|
|
@ -67,6 +67,13 @@ namespace MediaBrowser.Api.UserLibrary
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Route("/Sessions/Playing/Ping", "POST", Summary = "Pings a playback session")]
|
||||||
|
public class PingPlaybackSession : IReturnVoid
|
||||||
|
{
|
||||||
|
[ApiMember(Name = "PlaySessionId", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "POST")]
|
||||||
|
public string PlaySessionId { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
[Route("/Sessions/Playing/Stopped", "POST", Summary = "Reports playback has stopped within a session")]
|
[Route("/Sessions/Playing/Stopped", "POST", Summary = "Reports playback has stopped within a session")]
|
||||||
public class ReportPlaybackStopped : PlaybackStopInfo, IReturnVoid
|
public class ReportPlaybackStopped : PlaybackStopInfo, IReturnVoid
|
||||||
{
|
{
|
||||||
|
@ -336,6 +343,11 @@ namespace MediaBrowser.Api.UserLibrary
|
||||||
Task.WaitAll(task);
|
Task.WaitAll(task);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void Post(PingPlaybackSession request)
|
||||||
|
{
|
||||||
|
ApiEntryPoint.Instance.PingTranscodingJob(request.PlaySessionId);
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Posts the specified request.
|
/// Posts the specified request.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
using System.Globalization;
|
using MediaBrowser.Common.Extensions;
|
||||||
using MediaBrowser.Common.Extensions;
|
|
||||||
using MediaBrowser.Common.IO;
|
using MediaBrowser.Common.IO;
|
||||||
using MediaBrowser.Controller.Channels;
|
using MediaBrowser.Controller.Channels;
|
||||||
using MediaBrowser.Controller.Collections;
|
using MediaBrowser.Controller.Collections;
|
||||||
|
@ -18,6 +17,7 @@ using MediaBrowser.Model.Logging;
|
||||||
using MediaBrowser.Model.Users;
|
using MediaBrowser.Model.Users;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Globalization;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Runtime.Serialization;
|
using System.Runtime.Serialization;
|
||||||
|
|
|
@ -164,18 +164,22 @@ namespace MediaBrowser.Controller.Entities
|
||||||
|
|
||||||
protected void AddChildrenInternal(IEnumerable<BaseItem> children)
|
protected void AddChildrenInternal(IEnumerable<BaseItem> children)
|
||||||
{
|
{
|
||||||
|
var actualChildren = ActualChildren;
|
||||||
|
|
||||||
lock (_childrenSyncLock)
|
lock (_childrenSyncLock)
|
||||||
{
|
{
|
||||||
var newChildren = ActualChildren.ToList();
|
var newChildren = actualChildren.ToList();
|
||||||
newChildren.AddRange(children);
|
newChildren.AddRange(children);
|
||||||
_children = newChildren;
|
_children = newChildren;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
protected void AddChildInternal(BaseItem child)
|
protected void AddChildInternal(BaseItem child)
|
||||||
{
|
{
|
||||||
|
var actualChildren = ActualChildren;
|
||||||
|
|
||||||
lock (_childrenSyncLock)
|
lock (_childrenSyncLock)
|
||||||
{
|
{
|
||||||
var newChildren = ActualChildren.ToList();
|
var newChildren = actualChildren.ToList();
|
||||||
newChildren.Add(child);
|
newChildren.Add(child);
|
||||||
_children = newChildren;
|
_children = newChildren;
|
||||||
}
|
}
|
||||||
|
@ -184,10 +188,11 @@ namespace MediaBrowser.Controller.Entities
|
||||||
protected void RemoveChildrenInternal(IEnumerable<BaseItem> children)
|
protected void RemoveChildrenInternal(IEnumerable<BaseItem> children)
|
||||||
{
|
{
|
||||||
var ids = children.Select(i => i.Id).ToList();
|
var ids = children.Select(i => i.Id).ToList();
|
||||||
|
var actualChildren = ActualChildren;
|
||||||
|
|
||||||
lock (_childrenSyncLock)
|
lock (_childrenSyncLock)
|
||||||
{
|
{
|
||||||
_children = ActualChildren.Where(i => !ids.Contains(i.Id)).ToList();
|
_children = actualChildren.Where(i => !ids.Contains(i.Id)).ToList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -302,7 +307,7 @@ namespace MediaBrowser.Controller.Entities
|
||||||
{
|
{
|
||||||
if (_children == null)
|
if (_children == null)
|
||||||
{
|
{
|
||||||
_children = LoadChildrenInternal();
|
_children = LoadChildren().ToList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -356,11 +361,6 @@ namespace MediaBrowser.Controller.Entities
|
||||||
return base.IsVisible(user);
|
return base.IsVisible(user);
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<BaseItem> LoadChildrenInternal()
|
|
||||||
{
|
|
||||||
return LoadChildren().ToList();
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Loads our children. Validation will occur externally.
|
/// Loads our children. Validation will occur externally.
|
||||||
/// We want this sychronous.
|
/// We want this sychronous.
|
||||||
|
|
|
@ -1,6 +1,4 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
|
|
||||||
namespace MediaBrowser.Controller.Providers
|
namespace MediaBrowser.Controller.Providers
|
||||||
{
|
{
|
||||||
|
@ -54,13 +52,6 @@ namespace MediaBrowser.Controller.Providers
|
||||||
/// <value>The last result error message.</value>
|
/// <value>The last result error message.</value>
|
||||||
public string LastErrorMessage { get; set; }
|
public string LastErrorMessage { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets the providers refreshed.
|
|
||||||
/// </summary>
|
|
||||||
/// <value>The providers refreshed.</value>
|
|
||||||
public List<Guid> MetadataProvidersRefreshed { get; set; }
|
|
||||||
public List<Guid> ImageProvidersRefreshed { get; set; }
|
|
||||||
|
|
||||||
public DateTime? ItemDateModified { get; set; }
|
public DateTime? ItemDateModified { get; set; }
|
||||||
|
|
||||||
public void AddStatus(ProviderRefreshStatus status, string errorMessage)
|
public void AddStatus(ProviderRefreshStatus status, string errorMessage)
|
||||||
|
@ -83,9 +74,6 @@ namespace MediaBrowser.Controller.Providers
|
||||||
public MetadataStatus()
|
public MetadataStatus()
|
||||||
{
|
{
|
||||||
LastStatus = ProviderRefreshStatus.Success;
|
LastStatus = ProviderRefreshStatus.Success;
|
||||||
|
|
||||||
MetadataProvidersRefreshed = new List<Guid>();
|
|
||||||
ImageProvidersRefreshed = new List<Guid>();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool IsDirty { get; private set; }
|
public bool IsDirty { get; private set; }
|
||||||
|
@ -109,33 +97,5 @@ namespace MediaBrowser.Controller.Providers
|
||||||
|
|
||||||
DateLastImagesRefresh = date;
|
DateLastImagesRefresh = date;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void AddImageProvidersRefreshed(List<Guid> providerIds)
|
|
||||||
{
|
|
||||||
var count = ImageProvidersRefreshed.Count;
|
|
||||||
|
|
||||||
providerIds.AddRange(ImageProvidersRefreshed);
|
|
||||||
|
|
||||||
ImageProvidersRefreshed = providerIds.Distinct().ToList();
|
|
||||||
|
|
||||||
if (ImageProvidersRefreshed.Count != count)
|
|
||||||
{
|
|
||||||
IsDirty = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void AddMetadataProvidersRefreshed(List<Guid> providerIds)
|
|
||||||
{
|
|
||||||
var count = MetadataProvidersRefreshed.Count;
|
|
||||||
|
|
||||||
providerIds.AddRange(MetadataProvidersRefreshed);
|
|
||||||
|
|
||||||
MetadataProvidersRefreshed = providerIds.Distinct().ToList();
|
|
||||||
|
|
||||||
if (MetadataProvidersRefreshed.Count != count)
|
|
||||||
{
|
|
||||||
IsDirty = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -58,7 +58,7 @@ namespace MediaBrowser.Dlna.ContentDirectory
|
||||||
_profile = profile;
|
_profile = profile;
|
||||||
_config = config;
|
_config = config;
|
||||||
|
|
||||||
_didlBuilder = new DidlBuilder(profile, user, imageProcessor, serverAddress, accessToken, userDataManager, localization, mediaSourceManager);
|
_didlBuilder = new DidlBuilder(profile, user, imageProcessor, serverAddress, accessToken, userDataManager, localization, mediaSourceManager, Logger);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override IEnumerable<KeyValuePair<string, string>> GetResult(string methodName, Headers methodParams)
|
protected override IEnumerable<KeyValuePair<string, string>> GetResult(string methodName, Headers methodParams)
|
||||||
|
|
|
@ -39,8 +39,9 @@ namespace MediaBrowser.Dlna.Didl
|
||||||
private readonly IUserDataManager _userDataManager;
|
private readonly IUserDataManager _userDataManager;
|
||||||
private readonly ILocalizationManager _localization;
|
private readonly ILocalizationManager _localization;
|
||||||
private readonly IMediaSourceManager _mediaSourceManager;
|
private readonly IMediaSourceManager _mediaSourceManager;
|
||||||
|
private readonly ILogger _logger;
|
||||||
|
|
||||||
public DidlBuilder(DeviceProfile profile, User user, IImageProcessor imageProcessor, string serverAddress, string accessToken, IUserDataManager userDataManager, ILocalizationManager localization, IMediaSourceManager mediaSourceManager)
|
public DidlBuilder(DeviceProfile profile, User user, IImageProcessor imageProcessor, string serverAddress, string accessToken, IUserDataManager userDataManager, ILocalizationManager localization, IMediaSourceManager mediaSourceManager, ILogger logger)
|
||||||
{
|
{
|
||||||
_profile = profile;
|
_profile = profile;
|
||||||
_imageProcessor = imageProcessor;
|
_imageProcessor = imageProcessor;
|
||||||
|
@ -48,6 +49,7 @@ namespace MediaBrowser.Dlna.Didl
|
||||||
_userDataManager = userDataManager;
|
_userDataManager = userDataManager;
|
||||||
_localization = localization;
|
_localization = localization;
|
||||||
_mediaSourceManager = mediaSourceManager;
|
_mediaSourceManager = mediaSourceManager;
|
||||||
|
_logger = logger;
|
||||||
_accessToken = accessToken;
|
_accessToken = accessToken;
|
||||||
_user = user;
|
_user = user;
|
||||||
}
|
}
|
||||||
|
@ -127,7 +129,7 @@ namespace MediaBrowser.Dlna.Didl
|
||||||
{
|
{
|
||||||
var sources = _mediaSourceManager.GetStaticMediaSources(video, true, _user).ToList();
|
var sources = _mediaSourceManager.GetStaticMediaSources(video, true, _user).ToList();
|
||||||
|
|
||||||
streamInfo = new StreamBuilder(new NullLogger()).BuildVideoItem(new VideoOptions
|
streamInfo = new StreamBuilder(_logger).BuildVideoItem(new VideoOptions
|
||||||
{
|
{
|
||||||
ItemId = GetClientId(video),
|
ItemId = GetClientId(video),
|
||||||
MediaSources = sources,
|
MediaSources = sources,
|
||||||
|
@ -780,19 +782,33 @@ namespace MediaBrowser.Dlna.Didl
|
||||||
var result = element.OwnerDocument;
|
var result = element.OwnerDocument;
|
||||||
|
|
||||||
var playbackPercentage = 0;
|
var playbackPercentage = 0;
|
||||||
|
var unplayedCount = 0;
|
||||||
|
|
||||||
if (item is Video)
|
if (item is Video)
|
||||||
{
|
{
|
||||||
var userData = _userDataManager.GetUserDataDto(item, _user);
|
var userData = _userDataManager.GetUserDataDto(item, _user);
|
||||||
|
|
||||||
playbackPercentage = Convert.ToInt32(userData.PlayedPercentage ?? 0);
|
playbackPercentage = Convert.ToInt32(userData.PlayedPercentage ?? 0);
|
||||||
if (playbackPercentage >= 100)
|
if (playbackPercentage >= 100 || userData.Played)
|
||||||
{
|
{
|
||||||
playbackPercentage = 0;
|
playbackPercentage = 100;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (item is Series || item is Season || item is BoxSet)
|
||||||
|
{
|
||||||
|
var userData = _userDataManager.GetUserDataDto(item, _user);
|
||||||
|
|
||||||
|
if (userData.Played)
|
||||||
|
{
|
||||||
|
playbackPercentage = 100;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
unplayedCount = userData.UnplayedItemCount ?? 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var albumartUrlInfo = GetImageUrl(imageInfo, _profile.MaxAlbumArtWidth, _profile.MaxAlbumArtHeight, playbackPercentage, "jpg");
|
var albumartUrlInfo = GetImageUrl(imageInfo, _profile.MaxAlbumArtWidth, _profile.MaxAlbumArtHeight, playbackPercentage, unplayedCount, "jpg");
|
||||||
|
|
||||||
var icon = result.CreateElement("upnp", "albumArtURI", NS_UPNP);
|
var icon = result.CreateElement("upnp", "albumArtURI", NS_UPNP);
|
||||||
var profile = result.CreateAttribute("dlna", "profileID", NS_DLNA);
|
var profile = result.CreateAttribute("dlna", "profileID", NS_DLNA);
|
||||||
|
@ -802,7 +818,7 @@ namespace MediaBrowser.Dlna.Didl
|
||||||
element.AppendChild(icon);
|
element.AppendChild(icon);
|
||||||
|
|
||||||
// TOOD: Remove these default values
|
// TOOD: Remove these default values
|
||||||
var iconUrlInfo = GetImageUrl(imageInfo, _profile.MaxIconWidth ?? 48, _profile.MaxIconHeight ?? 48, playbackPercentage, "jpg");
|
var iconUrlInfo = GetImageUrl(imageInfo, _profile.MaxIconWidth ?? 48, _profile.MaxIconHeight ?? 48, playbackPercentage, unplayedCount, "jpg");
|
||||||
icon = result.CreateElement("upnp", "icon", NS_UPNP);
|
icon = result.CreateElement("upnp", "icon", NS_UPNP);
|
||||||
icon.InnerText = iconUrlInfo.Url;
|
icon.InnerText = iconUrlInfo.Url;
|
||||||
element.AppendChild(icon);
|
element.AppendChild(icon);
|
||||||
|
@ -819,15 +835,15 @@ namespace MediaBrowser.Dlna.Didl
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
AddImageResElement(item, element, 160, 160, playbackPercentage, "jpg", "JPEG_TN");
|
AddImageResElement(item, element, 160, 160, playbackPercentage, unplayedCount, "jpg", "JPEG_TN");
|
||||||
|
|
||||||
if (!_profile.EnableSingleAlbumArtLimit)
|
if (!_profile.EnableSingleAlbumArtLimit)
|
||||||
{
|
{
|
||||||
AddImageResElement(item, element, 4096, 4096, playbackPercentage, "jpg", "JPEG_LRG");
|
AddImageResElement(item, element, 4096, 4096, playbackPercentage, unplayedCount, "jpg", "JPEG_LRG");
|
||||||
AddImageResElement(item, element, 1024, 768, playbackPercentage, "jpg", "JPEG_MED");
|
AddImageResElement(item, element, 1024, 768, playbackPercentage, unplayedCount, "jpg", "JPEG_MED");
|
||||||
AddImageResElement(item, element, 640, 480, playbackPercentage, "jpg", "JPEG_SM");
|
AddImageResElement(item, element, 640, 480, playbackPercentage, unplayedCount, "jpg", "JPEG_SM");
|
||||||
AddImageResElement(item, element, 4096, 4096, playbackPercentage, "png", "PNG_LRG");
|
AddImageResElement(item, element, 4096, 4096, playbackPercentage, unplayedCount, "png", "PNG_LRG");
|
||||||
AddImageResElement(item, element, 160, 160, playbackPercentage, "png", "PNG_TN");
|
AddImageResElement(item, element, 160, 160, playbackPercentage, unplayedCount, "png", "PNG_TN");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -852,6 +868,7 @@ namespace MediaBrowser.Dlna.Didl
|
||||||
int maxWidth,
|
int maxWidth,
|
||||||
int maxHeight,
|
int maxHeight,
|
||||||
int playbackPercentage,
|
int playbackPercentage,
|
||||||
|
int unplayedCount,
|
||||||
string format,
|
string format,
|
||||||
string org_Pn)
|
string org_Pn)
|
||||||
{
|
{
|
||||||
|
@ -864,7 +881,7 @@ namespace MediaBrowser.Dlna.Didl
|
||||||
|
|
||||||
var result = element.OwnerDocument;
|
var result = element.OwnerDocument;
|
||||||
|
|
||||||
var albumartUrlInfo = GetImageUrl(imageInfo, maxWidth, maxHeight, playbackPercentage, format);
|
var albumartUrlInfo = GetImageUrl(imageInfo, maxWidth, maxHeight, playbackPercentage, unplayedCount, format);
|
||||||
|
|
||||||
var res = result.CreateElement(string.Empty, "res", NS_DIDL);
|
var res = result.CreateElement(string.Empty, "res", NS_DIDL);
|
||||||
|
|
||||||
|
@ -1005,9 +1022,9 @@ namespace MediaBrowser.Dlna.Didl
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
||||||
private ImageUrlInfo GetImageUrl(ImageDownloadInfo info, int maxWidth, int maxHeight, int playbackPercentage, string format)
|
private ImageUrlInfo GetImageUrl(ImageDownloadInfo info, int maxWidth, int maxHeight, int playbackPercentage, int unplayedCount, string format)
|
||||||
{
|
{
|
||||||
var url = string.Format("{0}/Items/{1}/Images/{2}/0/{3}/{4}/{5}/{6}/{7}",
|
var url = string.Format("{0}/Items/{1}/Images/{2}/0/{3}/{4}/{5}/{6}/{7}/{8}",
|
||||||
_serverAddress,
|
_serverAddress,
|
||||||
info.ItemId,
|
info.ItemId,
|
||||||
info.Type,
|
info.Type,
|
||||||
|
@ -1015,7 +1032,8 @@ namespace MediaBrowser.Dlna.Didl
|
||||||
format,
|
format,
|
||||||
maxWidth.ToString(CultureInfo.InvariantCulture),
|
maxWidth.ToString(CultureInfo.InvariantCulture),
|
||||||
maxHeight.ToString(CultureInfo.InvariantCulture),
|
maxHeight.ToString(CultureInfo.InvariantCulture),
|
||||||
playbackPercentage.ToString(CultureInfo.InvariantCulture)
|
playbackPercentage.ToString(CultureInfo.InvariantCulture),
|
||||||
|
unplayedCount.ToString(CultureInfo.InvariantCulture)
|
||||||
);
|
);
|
||||||
|
|
||||||
var width = info.Width;
|
var width = info.Width;
|
||||||
|
|
|
@ -94,7 +94,6 @@
|
||||||
<Compile Include="PlayTo\uParserObject.cs" />
|
<Compile Include="PlayTo\uParserObject.cs" />
|
||||||
<Compile Include="Profiles\Foobar2000Profile.cs" />
|
<Compile Include="Profiles\Foobar2000Profile.cs" />
|
||||||
<Compile Include="Profiles\MediaMonkeyProfile.cs" />
|
<Compile Include="Profiles\MediaMonkeyProfile.cs" />
|
||||||
<Compile Include="Profiles\WindowsMediaCenterProfile.cs" />
|
|
||||||
<Compile Include="ContentDirectory\ContentDirectory.cs" />
|
<Compile Include="ContentDirectory\ContentDirectory.cs" />
|
||||||
<Compile Include="ContentDirectory\ControlHandler.cs" />
|
<Compile Include="ContentDirectory\ControlHandler.cs" />
|
||||||
<Compile Include="ContentDirectory\ServiceActionListBuilder.cs" />
|
<Compile Include="ContentDirectory\ServiceActionListBuilder.cs" />
|
||||||
|
@ -167,7 +166,9 @@
|
||||||
<EmbeddedResource Include="Profiles\Xml\Sony Bravia %282013%29.xml" />
|
<EmbeddedResource Include="Profiles\Xml\Sony Bravia %282013%29.xml" />
|
||||||
<EmbeddedResource Include="Profiles\Xml\Sony PlayStation 3.xml" />
|
<EmbeddedResource Include="Profiles\Xml\Sony PlayStation 3.xml" />
|
||||||
<EmbeddedResource Include="Profiles\Xml\WDTV Live.xml" />
|
<EmbeddedResource Include="Profiles\Xml\WDTV Live.xml" />
|
||||||
<EmbeddedResource Include="Profiles\Xml\Xbox 360.xml" />
|
<EmbeddedResource Include="Profiles\Xml\Xbox 360.xml">
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</EmbeddedResource>
|
||||||
<EmbeddedResource Include="Profiles\Xml\Xbox One.xml" />
|
<EmbeddedResource Include="Profiles\Xml\Xbox One.xml" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
@ -478,7 +478,7 @@ namespace MediaBrowser.Dlna.PlayTo
|
||||||
|
|
||||||
playlistItem.StreamUrl = playlistItem.StreamInfo.ToDlnaUrl(_serverAddress, _accessToken);
|
playlistItem.StreamUrl = playlistItem.StreamInfo.ToDlnaUrl(_serverAddress, _accessToken);
|
||||||
|
|
||||||
var itemXml = new DidlBuilder(profile, user, _imageProcessor, _serverAddress, _accessToken, _userDataManager, _localization, _mediaSourceManager)
|
var itemXml = new DidlBuilder(profile, user, _imageProcessor, _serverAddress, _accessToken, _userDataManager, _localization, _mediaSourceManager, _logger)
|
||||||
.GetItemDidl(item, null, _session.DeviceId, new Filter(), playlistItem.StreamInfo);
|
.GetItemDidl(item, null, _session.DeviceId, new Filter(), playlistItem.StreamInfo);
|
||||||
|
|
||||||
playlistItem.Didl = itemXml;
|
playlistItem.Didl = itemXml;
|
||||||
|
|
|
@ -95,6 +95,7 @@ namespace MediaBrowser.Dlna.Profiles
|
||||||
new CodecProfile
|
new CodecProfile
|
||||||
{
|
{
|
||||||
Type = CodecType.Video,
|
Type = CodecType.Video,
|
||||||
|
Codec = "h264",
|
||||||
Conditions = new []
|
Conditions = new []
|
||||||
{
|
{
|
||||||
new ProfileCondition
|
new ProfileCondition
|
||||||
|
@ -138,7 +139,6 @@ namespace MediaBrowser.Dlna.Profiles
|
||||||
new CodecProfile
|
new CodecProfile
|
||||||
{
|
{
|
||||||
Type = CodecType.Video,
|
Type = CodecType.Video,
|
||||||
Codec = "mpeg2video",
|
|
||||||
Conditions = new []
|
Conditions = new []
|
||||||
{
|
{
|
||||||
new ProfileCondition
|
new ProfileCondition
|
||||||
|
|
|
@ -93,8 +93,10 @@ namespace MediaBrowser.Dlna.Profiles
|
||||||
new CodecProfile
|
new CodecProfile
|
||||||
{
|
{
|
||||||
Type = CodecType.Video,
|
Type = CodecType.Video,
|
||||||
|
Codec="h264",
|
||||||
Conditions = new []
|
Conditions = new []
|
||||||
{
|
{
|
||||||
|
new ProfileCondition(ProfileConditionType.EqualsAny, ProfileConditionValue.VideoProfile, "baseline|constrained baseline"),
|
||||||
new ProfileCondition
|
new ProfileCondition
|
||||||
{
|
{
|
||||||
Condition = ProfileConditionType.LessThanEqual,
|
Condition = ProfileConditionType.LessThanEqual,
|
||||||
|
@ -120,10 +122,27 @@ namespace MediaBrowser.Dlna.Profiles
|
||||||
new CodecProfile
|
new CodecProfile
|
||||||
{
|
{
|
||||||
Type = CodecType.Video,
|
Type = CodecType.Video,
|
||||||
Codec="h264",
|
|
||||||
Conditions = new []
|
Conditions = new []
|
||||||
{
|
{
|
||||||
new ProfileCondition(ProfileConditionType.EqualsAny, ProfileConditionValue.VideoProfile, "baseline|constrained baseline")
|
new ProfileCondition
|
||||||
|
{
|
||||||
|
Condition = ProfileConditionType.LessThanEqual,
|
||||||
|
Property = ProfileConditionValue.Width,
|
||||||
|
Value = "1920"
|
||||||
|
},
|
||||||
|
new ProfileCondition
|
||||||
|
{
|
||||||
|
Condition = ProfileConditionType.LessThanEqual,
|
||||||
|
Property = ProfileConditionValue.Height,
|
||||||
|
Value = "1080"
|
||||||
|
},
|
||||||
|
new ProfileCondition
|
||||||
|
{
|
||||||
|
Condition = ProfileConditionType.NotEquals,
|
||||||
|
Property = ProfileConditionValue.IsAnamorphic,
|
||||||
|
Value = "true",
|
||||||
|
IsRequired = false
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -209,6 +209,7 @@ namespace MediaBrowser.Dlna.Profiles
|
||||||
new CodecProfile
|
new CodecProfile
|
||||||
{
|
{
|
||||||
Type = CodecType.Video,
|
Type = CodecType.Video,
|
||||||
|
Codec = "h264",
|
||||||
Conditions = new []
|
Conditions = new []
|
||||||
{
|
{
|
||||||
new ProfileCondition
|
new ProfileCondition
|
||||||
|
@ -222,16 +223,7 @@ namespace MediaBrowser.Dlna.Profiles
|
||||||
Condition = ProfileConditionType.LessThanEqual,
|
Condition = ProfileConditionType.LessThanEqual,
|
||||||
Property = ProfileConditionValue.Height,
|
Property = ProfileConditionValue.Height,
|
||||||
Value = "1080"
|
Value = "1080"
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
new CodecProfile
|
|
||||||
{
|
|
||||||
Type = CodecType.Video,
|
|
||||||
Codec = "h264",
|
|
||||||
Conditions = new []
|
|
||||||
{
|
|
||||||
new ProfileCondition
|
new ProfileCondition
|
||||||
{
|
{
|
||||||
Condition = ProfileConditionType.LessThanEqual,
|
Condition = ProfileConditionType.LessThanEqual,
|
||||||
|
@ -259,6 +251,18 @@ namespace MediaBrowser.Dlna.Profiles
|
||||||
Codec = "mpeg2video",
|
Codec = "mpeg2video",
|
||||||
Conditions = new []
|
Conditions = new []
|
||||||
{
|
{
|
||||||
|
new ProfileCondition
|
||||||
|
{
|
||||||
|
Condition = ProfileConditionType.LessThanEqual,
|
||||||
|
Property = ProfileConditionValue.Width,
|
||||||
|
Value = "1920"
|
||||||
|
},
|
||||||
|
new ProfileCondition
|
||||||
|
{
|
||||||
|
Condition = ProfileConditionType.LessThanEqual,
|
||||||
|
Property = ProfileConditionValue.Height,
|
||||||
|
Value = "1080"
|
||||||
|
},
|
||||||
new ProfileCondition
|
new ProfileCondition
|
||||||
{
|
{
|
||||||
Condition = ProfileConditionType.LessThanEqual,
|
Condition = ProfileConditionType.LessThanEqual,
|
||||||
|
@ -274,6 +278,26 @@ namespace MediaBrowser.Dlna.Profiles
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
new CodecProfile
|
||||||
|
{
|
||||||
|
Type = CodecType.Video,
|
||||||
|
Conditions = new []
|
||||||
|
{
|
||||||
|
new ProfileCondition
|
||||||
|
{
|
||||||
|
Condition = ProfileConditionType.LessThanEqual,
|
||||||
|
Property = ProfileConditionValue.Width,
|
||||||
|
Value = "1920"
|
||||||
|
},
|
||||||
|
new ProfileCondition
|
||||||
|
{
|
||||||
|
Condition = ProfileConditionType.LessThanEqual,
|
||||||
|
Property = ProfileConditionValue.Height,
|
||||||
|
Value = "1080"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
new CodecProfile
|
new CodecProfile
|
||||||
{
|
{
|
||||||
Type = CodecType.VideoAudio,
|
Type = CodecType.VideoAudio,
|
||||||
|
|
|
@ -226,6 +226,7 @@ namespace MediaBrowser.Dlna.Profiles
|
||||||
new CodecProfile
|
new CodecProfile
|
||||||
{
|
{
|
||||||
Type = CodecType.Video,
|
Type = CodecType.Video,
|
||||||
|
Codec = "h264",
|
||||||
Conditions = new []
|
Conditions = new []
|
||||||
{
|
{
|
||||||
new ProfileCondition
|
new ProfileCondition
|
||||||
|
@ -239,16 +240,7 @@ namespace MediaBrowser.Dlna.Profiles
|
||||||
Condition = ProfileConditionType.LessThanEqual,
|
Condition = ProfileConditionType.LessThanEqual,
|
||||||
Property = ProfileConditionValue.Height,
|
Property = ProfileConditionValue.Height,
|
||||||
Value = "1080"
|
Value = "1080"
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
new CodecProfile
|
|
||||||
{
|
|
||||||
Type = CodecType.Video,
|
|
||||||
Codec = "h264",
|
|
||||||
Conditions = new []
|
|
||||||
{
|
|
||||||
new ProfileCondition
|
new ProfileCondition
|
||||||
{
|
{
|
||||||
Condition = ProfileConditionType.LessThanEqual,
|
Condition = ProfileConditionType.LessThanEqual,
|
||||||
|
@ -276,6 +268,18 @@ namespace MediaBrowser.Dlna.Profiles
|
||||||
Codec = "mpeg2video",
|
Codec = "mpeg2video",
|
||||||
Conditions = new []
|
Conditions = new []
|
||||||
{
|
{
|
||||||
|
new ProfileCondition
|
||||||
|
{
|
||||||
|
Condition = ProfileConditionType.LessThanEqual,
|
||||||
|
Property = ProfileConditionValue.Width,
|
||||||
|
Value = "1920"
|
||||||
|
},
|
||||||
|
new ProfileCondition
|
||||||
|
{
|
||||||
|
Condition = ProfileConditionType.LessThanEqual,
|
||||||
|
Property = ProfileConditionValue.Height,
|
||||||
|
Value = "1080"
|
||||||
|
},
|
||||||
new ProfileCondition
|
new ProfileCondition
|
||||||
{
|
{
|
||||||
Condition = ProfileConditionType.LessThanEqual,
|
Condition = ProfileConditionType.LessThanEqual,
|
||||||
|
@ -291,6 +295,26 @@ namespace MediaBrowser.Dlna.Profiles
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
new CodecProfile
|
||||||
|
{
|
||||||
|
Type = CodecType.Video,
|
||||||
|
Conditions = new []
|
||||||
|
{
|
||||||
|
new ProfileCondition
|
||||||
|
{
|
||||||
|
Condition = ProfileConditionType.LessThanEqual,
|
||||||
|
Property = ProfileConditionValue.Width,
|
||||||
|
Value = "1920"
|
||||||
|
},
|
||||||
|
new ProfileCondition
|
||||||
|
{
|
||||||
|
Condition = ProfileConditionType.LessThanEqual,
|
||||||
|
Property = ProfileConditionValue.Height,
|
||||||
|
Value = "1080"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
new CodecProfile
|
new CodecProfile
|
||||||
{
|
{
|
||||||
Type = CodecType.VideoAudio,
|
Type = CodecType.VideoAudio,
|
||||||
|
|
|
@ -1,274 +0,0 @@
|
||||||
using System.Xml.Serialization;
|
|
||||||
using MediaBrowser.Model.Dlna;
|
|
||||||
using MediaBrowser.Model.Dlna.Profiles;
|
|
||||||
|
|
||||||
namespace MediaBrowser.Dlna.Profiles
|
|
||||||
{
|
|
||||||
[XmlRoot("Profile")]
|
|
||||||
public class WindowsMediaCenterProfile : DefaultProfile
|
|
||||||
{
|
|
||||||
public WindowsMediaCenterProfile()
|
|
||||||
{
|
|
||||||
Name = "Windows Media Center";
|
|
||||||
|
|
||||||
TranscodingProfiles = new[]
|
|
||||||
{
|
|
||||||
new TranscodingProfile
|
|
||||||
{
|
|
||||||
Container = "mp3",
|
|
||||||
AudioCodec = "mp3",
|
|
||||||
Type = DlnaProfileType.Audio
|
|
||||||
},
|
|
||||||
new TranscodingProfile
|
|
||||||
{
|
|
||||||
Container = "asf",
|
|
||||||
VideoCodec = "msmpeg4",
|
|
||||||
AudioCodec = "wmav2",
|
|
||||||
Type = DlnaProfileType.Video
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
DirectPlayProfiles = new[]
|
|
||||||
{
|
|
||||||
new DirectPlayProfile
|
|
||||||
{
|
|
||||||
Container = "avi",
|
|
||||||
VideoCodec = "mpeg4",
|
|
||||||
AudioCodec = "ac3,mp3",
|
|
||||||
Type = DlnaProfileType.Video
|
|
||||||
},
|
|
||||||
new DirectPlayProfile
|
|
||||||
{
|
|
||||||
Container = "avi",
|
|
||||||
VideoCodec = "h264",
|
|
||||||
AudioCodec = "aac",
|
|
||||||
Type = DlnaProfileType.Video
|
|
||||||
},
|
|
||||||
new DirectPlayProfile
|
|
||||||
{
|
|
||||||
Container = "mp4,mov",
|
|
||||||
VideoCodec = "h264,mpeg4",
|
|
||||||
AudioCodec = "aac,ac3",
|
|
||||||
Type = DlnaProfileType.Video
|
|
||||||
},
|
|
||||||
new DirectPlayProfile
|
|
||||||
{
|
|
||||||
Container = "asf",
|
|
||||||
VideoCodec = "wmv2,wmv3,vc1",
|
|
||||||
AudioCodec = "wmav2,wmapro",
|
|
||||||
Type = DlnaProfileType.Video
|
|
||||||
},
|
|
||||||
new DirectPlayProfile
|
|
||||||
{
|
|
||||||
Container = "asf",
|
|
||||||
AudioCodec = "wmav2,wmapro,wmavoice",
|
|
||||||
Type = DlnaProfileType.Audio
|
|
||||||
},
|
|
||||||
new DirectPlayProfile
|
|
||||||
{
|
|
||||||
Container = "mp3",
|
|
||||||
AudioCodec = "mp3",
|
|
||||||
Type = DlnaProfileType.Audio
|
|
||||||
},
|
|
||||||
new DirectPlayProfile
|
|
||||||
{
|
|
||||||
Container = "jpeg",
|
|
||||||
Type = DlnaProfileType.Photo
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
ResponseProfiles = new[]
|
|
||||||
{
|
|
||||||
new ResponseProfile
|
|
||||||
{
|
|
||||||
Container = "avi",
|
|
||||||
MimeType = "video/avi",
|
|
||||||
Type = DlnaProfileType.Video
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
ContainerProfiles = new[]
|
|
||||||
{
|
|
||||||
new ContainerProfile
|
|
||||||
{
|
|
||||||
Type = DlnaProfileType.Video,
|
|
||||||
Container = "mp4,mov",
|
|
||||||
|
|
||||||
Conditions = new []
|
|
||||||
{
|
|
||||||
new ProfileCondition
|
|
||||||
{
|
|
||||||
Condition = ProfileConditionType.Equals,
|
|
||||||
Property = ProfileConditionValue.Has64BitOffsets,
|
|
||||||
Value = "false",
|
|
||||||
IsRequired = false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
CodecProfiles = new[]
|
|
||||||
{
|
|
||||||
new CodecProfile
|
|
||||||
{
|
|
||||||
Type = CodecType.Video,
|
|
||||||
Codec = "mpeg4",
|
|
||||||
Conditions = new []
|
|
||||||
{
|
|
||||||
new ProfileCondition
|
|
||||||
{
|
|
||||||
Condition = ProfileConditionType.LessThanEqual,
|
|
||||||
Property = ProfileConditionValue.Width,
|
|
||||||
Value = "1280"
|
|
||||||
},
|
|
||||||
new ProfileCondition
|
|
||||||
{
|
|
||||||
Condition = ProfileConditionType.LessThanEqual,
|
|
||||||
Property = ProfileConditionValue.Height,
|
|
||||||
Value = "720"
|
|
||||||
},
|
|
||||||
new ProfileCondition
|
|
||||||
{
|
|
||||||
Condition = ProfileConditionType.LessThanEqual,
|
|
||||||
Property = ProfileConditionValue.VideoFramerate,
|
|
||||||
Value = "30",
|
|
||||||
IsRequired = false
|
|
||||||
},
|
|
||||||
new ProfileCondition
|
|
||||||
{
|
|
||||||
Condition = ProfileConditionType.LessThanEqual,
|
|
||||||
Property = ProfileConditionValue.VideoBitrate,
|
|
||||||
Value = "5120000",
|
|
||||||
IsRequired = false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
new CodecProfile
|
|
||||||
{
|
|
||||||
Type = CodecType.Video,
|
|
||||||
Codec = "h264",
|
|
||||||
Conditions = new []
|
|
||||||
{
|
|
||||||
new ProfileCondition
|
|
||||||
{
|
|
||||||
Condition = ProfileConditionType.LessThanEqual,
|
|
||||||
Property = ProfileConditionValue.Width,
|
|
||||||
Value = "1920"
|
|
||||||
},
|
|
||||||
new ProfileCondition
|
|
||||||
{
|
|
||||||
Condition = ProfileConditionType.LessThanEqual,
|
|
||||||
Property = ProfileConditionValue.Height,
|
|
||||||
Value = "1080"
|
|
||||||
},
|
|
||||||
new ProfileCondition
|
|
||||||
{
|
|
||||||
Condition = ProfileConditionType.LessThanEqual,
|
|
||||||
Property = ProfileConditionValue.VideoLevel,
|
|
||||||
Value = "41",
|
|
||||||
IsRequired = false
|
|
||||||
},
|
|
||||||
new ProfileCondition
|
|
||||||
{
|
|
||||||
Condition = ProfileConditionType.LessThanEqual,
|
|
||||||
Property = ProfileConditionValue.VideoBitrate,
|
|
||||||
Value = "10240000",
|
|
||||||
IsRequired = false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
new CodecProfile
|
|
||||||
{
|
|
||||||
Type = CodecType.Video,
|
|
||||||
Codec = "wmv2,wmv3,vc1",
|
|
||||||
Conditions = new []
|
|
||||||
{
|
|
||||||
new ProfileCondition
|
|
||||||
{
|
|
||||||
Condition = ProfileConditionType.LessThanEqual,
|
|
||||||
Property = ProfileConditionValue.Width,
|
|
||||||
Value = "1920"
|
|
||||||
},
|
|
||||||
new ProfileCondition
|
|
||||||
{
|
|
||||||
Condition = ProfileConditionType.LessThanEqual,
|
|
||||||
Property = ProfileConditionValue.Height,
|
|
||||||
Value = "1080"
|
|
||||||
},
|
|
||||||
new ProfileCondition
|
|
||||||
{
|
|
||||||
Condition = ProfileConditionType.LessThanEqual,
|
|
||||||
Property = ProfileConditionValue.VideoFramerate,
|
|
||||||
Value = "30",
|
|
||||||
IsRequired = false
|
|
||||||
},
|
|
||||||
new ProfileCondition
|
|
||||||
{
|
|
||||||
Condition = ProfileConditionType.LessThanEqual,
|
|
||||||
Property = ProfileConditionValue.VideoBitrate,
|
|
||||||
Value = "15360000",
|
|
||||||
IsRequired = false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
new CodecProfile
|
|
||||||
{
|
|
||||||
Type = CodecType.VideoAudio,
|
|
||||||
Codec = "ac3",
|
|
||||||
Conditions = new []
|
|
||||||
{
|
|
||||||
new ProfileCondition
|
|
||||||
{
|
|
||||||
Condition = ProfileConditionType.LessThanEqual,
|
|
||||||
Property = ProfileConditionValue.AudioChannels,
|
|
||||||
Value = "6",
|
|
||||||
IsRequired = false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
new CodecProfile
|
|
||||||
{
|
|
||||||
Type = CodecType.VideoAudio,
|
|
||||||
Codec = "wmav2,wmapro",
|
|
||||||
Conditions = new []
|
|
||||||
{
|
|
||||||
new ProfileCondition
|
|
||||||
{
|
|
||||||
Condition = ProfileConditionType.LessThanEqual,
|
|
||||||
Property = ProfileConditionValue.AudioChannels,
|
|
||||||
Value = "2",
|
|
||||||
IsRequired = false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
new CodecProfile
|
|
||||||
{
|
|
||||||
Type = CodecType.VideoAudio,
|
|
||||||
Codec = "aac",
|
|
||||||
Conditions = new []
|
|
||||||
{
|
|
||||||
new ProfileCondition
|
|
||||||
{
|
|
||||||
Condition = ProfileConditionType.LessThanEqual,
|
|
||||||
Property = ProfileConditionValue.AudioChannels,
|
|
||||||
Value = "2",
|
|
||||||
IsRequired = false
|
|
||||||
},
|
|
||||||
new ProfileCondition
|
|
||||||
{
|
|
||||||
Condition = ProfileConditionType.Equals,
|
|
||||||
Property = ProfileConditionValue.AudioProfile,
|
|
||||||
Value = "lc",
|
|
||||||
IsRequired = false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -15,15 +15,24 @@ namespace MediaBrowser.Dlna.Profiles
|
||||||
|
|
||||||
Identification = new DeviceIdentification
|
Identification = new DeviceIdentification
|
||||||
{
|
{
|
||||||
ModelName = "Xbox One",
|
FriendlyName = "XboxOne",
|
||||||
FriendlyName = "Xbox-SystemOS",
|
|
||||||
|
|
||||||
Headers = new[]
|
Headers = new[]
|
||||||
{
|
{
|
||||||
new HttpHeaderInfo {Name = "User-Agent", Value = "NSPlayer", Match = HeaderMatchType.Substring}
|
new HttpHeaderInfo
|
||||||
|
{
|
||||||
|
Name = "FriendlyName.DLNA.ORG", Value = "XboxOne", Match = HeaderMatchType.Substring
|
||||||
|
},
|
||||||
|
new HttpHeaderInfo
|
||||||
|
{
|
||||||
|
Name = "User-Agent", Value = "NSPlayer/12", Match = HeaderMatchType.Substring
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
var videoProfile = "high|main|baseline|constrained baseline";
|
||||||
|
var videoLevel = "41";
|
||||||
|
|
||||||
TranscodingProfiles = new[]
|
TranscodingProfiles = new[]
|
||||||
{
|
{
|
||||||
new TranscodingProfile
|
new TranscodingProfile
|
||||||
|
@ -43,8 +52,7 @@ namespace MediaBrowser.Dlna.Profiles
|
||||||
Container = "ts",
|
Container = "ts",
|
||||||
VideoCodec = "h264",
|
VideoCodec = "h264",
|
||||||
AudioCodec = "aac",
|
AudioCodec = "aac",
|
||||||
Type = DlnaProfileType.Video,
|
Type = DlnaProfileType.Video
|
||||||
EstimateContentLength = true
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -129,6 +137,7 @@ namespace MediaBrowser.Dlna.Profiles
|
||||||
new CodecProfile
|
new CodecProfile
|
||||||
{
|
{
|
||||||
Type = CodecType.Video,
|
Type = CodecType.Video,
|
||||||
|
Codec = "mpeg4",
|
||||||
Conditions = new []
|
Conditions = new []
|
||||||
{
|
{
|
||||||
new ProfileCondition
|
new ProfileCondition
|
||||||
|
@ -144,16 +153,7 @@ namespace MediaBrowser.Dlna.Profiles
|
||||||
Property = ProfileConditionValue.VideoBitDepth,
|
Property = ProfileConditionValue.VideoBitDepth,
|
||||||
Value = "8",
|
Value = "8",
|
||||||
IsRequired = false
|
IsRequired = false
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
new CodecProfile
|
|
||||||
{
|
|
||||||
Type = CodecType.Video,
|
|
||||||
Codec = "mpeg4",
|
|
||||||
Conditions = new []
|
|
||||||
{
|
|
||||||
new ProfileCondition
|
new ProfileCondition
|
||||||
{
|
{
|
||||||
Condition = ProfileConditionType.LessThanEqual,
|
Condition = ProfileConditionType.LessThanEqual,
|
||||||
|
@ -189,6 +189,20 @@ namespace MediaBrowser.Dlna.Profiles
|
||||||
Codec = "h264",
|
Codec = "h264",
|
||||||
Conditions = new []
|
Conditions = new []
|
||||||
{
|
{
|
||||||
|
new ProfileCondition
|
||||||
|
{
|
||||||
|
Condition = ProfileConditionType.NotEquals,
|
||||||
|
Property = ProfileConditionValue.IsAnamorphic,
|
||||||
|
Value = "true",
|
||||||
|
IsRequired = false
|
||||||
|
},
|
||||||
|
new ProfileCondition
|
||||||
|
{
|
||||||
|
Condition = ProfileConditionType.LessThanEqual,
|
||||||
|
Property = ProfileConditionValue.VideoBitDepth,
|
||||||
|
Value = "8",
|
||||||
|
IsRequired = false
|
||||||
|
},
|
||||||
new ProfileCondition
|
new ProfileCondition
|
||||||
{
|
{
|
||||||
Condition = ProfileConditionType.LessThanEqual,
|
Condition = ProfileConditionType.LessThanEqual,
|
||||||
|
@ -200,6 +214,20 @@ namespace MediaBrowser.Dlna.Profiles
|
||||||
Condition = ProfileConditionType.LessThanEqual,
|
Condition = ProfileConditionType.LessThanEqual,
|
||||||
Property = ProfileConditionValue.Height,
|
Property = ProfileConditionValue.Height,
|
||||||
Value = "1080"
|
Value = "1080"
|
||||||
|
},
|
||||||
|
new ProfileCondition
|
||||||
|
{
|
||||||
|
Condition = ProfileConditionType.LessThanEqual,
|
||||||
|
Property = ProfileConditionValue.VideoLevel,
|
||||||
|
Value = videoLevel,
|
||||||
|
IsRequired = false
|
||||||
|
},
|
||||||
|
new ProfileCondition
|
||||||
|
{
|
||||||
|
Condition = ProfileConditionType.EqualsAny,
|
||||||
|
Property = ProfileConditionValue.VideoProfile,
|
||||||
|
Value = videoProfile,
|
||||||
|
IsRequired = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -210,6 +238,20 @@ namespace MediaBrowser.Dlna.Profiles
|
||||||
Codec = "wmv2,wmv3,vc1",
|
Codec = "wmv2,wmv3,vc1",
|
||||||
Conditions = new []
|
Conditions = new []
|
||||||
{
|
{
|
||||||
|
new ProfileCondition
|
||||||
|
{
|
||||||
|
Condition = ProfileConditionType.NotEquals,
|
||||||
|
Property = ProfileConditionValue.IsAnamorphic,
|
||||||
|
Value = "true",
|
||||||
|
IsRequired = false
|
||||||
|
},
|
||||||
|
new ProfileCondition
|
||||||
|
{
|
||||||
|
Condition = ProfileConditionType.LessThanEqual,
|
||||||
|
Property = ProfileConditionValue.VideoBitDepth,
|
||||||
|
Value = "8",
|
||||||
|
IsRequired = false
|
||||||
|
},
|
||||||
new ProfileCondition
|
new ProfileCondition
|
||||||
{
|
{
|
||||||
Condition = ProfileConditionType.LessThanEqual,
|
Condition = ProfileConditionType.LessThanEqual,
|
||||||
|
@ -239,6 +281,28 @@ namespace MediaBrowser.Dlna.Profiles
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
new CodecProfile
|
||||||
|
{
|
||||||
|
Type = CodecType.Video,
|
||||||
|
Conditions = new []
|
||||||
|
{
|
||||||
|
new ProfileCondition
|
||||||
|
{
|
||||||
|
Condition = ProfileConditionType.NotEquals,
|
||||||
|
Property = ProfileConditionValue.IsAnamorphic,
|
||||||
|
Value = "true",
|
||||||
|
IsRequired = false
|
||||||
|
},
|
||||||
|
new ProfileCondition
|
||||||
|
{
|
||||||
|
Condition = ProfileConditionType.LessThanEqual,
|
||||||
|
Property = ProfileConditionValue.VideoBitDepth,
|
||||||
|
Value = "8",
|
||||||
|
IsRequired = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
new CodecProfile
|
new CodecProfile
|
||||||
{
|
{
|
||||||
Type = CodecType.VideoAudio,
|
Type = CodecType.VideoAudio,
|
||||||
|
|
|
@ -49,7 +49,7 @@
|
||||||
</TranscodingProfiles>
|
</TranscodingProfiles>
|
||||||
<ContainerProfiles />
|
<ContainerProfiles />
|
||||||
<CodecProfiles>
|
<CodecProfiles>
|
||||||
<CodecProfile type="Video">
|
<CodecProfile type="Video" codec="h264">
|
||||||
<Conditions>
|
<Conditions>
|
||||||
<ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" />
|
<ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" />
|
||||||
<ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" />
|
<ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" />
|
||||||
|
@ -58,7 +58,7 @@
|
||||||
<ProfileCondition condition="LessThanEqual" property="VideoLevel" value="41" isRequired="true" />
|
<ProfileCondition condition="LessThanEqual" property="VideoLevel" value="41" isRequired="true" />
|
||||||
</Conditions>
|
</Conditions>
|
||||||
</CodecProfile>
|
</CodecProfile>
|
||||||
<CodecProfile type="Video" codec="mpeg2video">
|
<CodecProfile type="Video">
|
||||||
<Conditions>
|
<Conditions>
|
||||||
<ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" />
|
<ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" />
|
||||||
<ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" />
|
<ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" />
|
||||||
|
|
|
@ -44,16 +44,19 @@
|
||||||
</TranscodingProfiles>
|
</TranscodingProfiles>
|
||||||
<ContainerProfiles />
|
<ContainerProfiles />
|
||||||
<CodecProfiles>
|
<CodecProfiles>
|
||||||
<CodecProfile type="Video">
|
<CodecProfile type="Video" codec="h264">
|
||||||
<Conditions>
|
<Conditions>
|
||||||
|
<ProfileCondition condition="EqualsAny" property="VideoProfile" value="baseline|constrained baseline" isRequired="false" />
|
||||||
<ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" />
|
<ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" />
|
||||||
<ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" />
|
<ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" />
|
||||||
<ProfileCondition condition="NotEquals" property="IsAnamorphic" value="true" isRequired="false" />
|
<ProfileCondition condition="NotEquals" property="IsAnamorphic" value="true" isRequired="false" />
|
||||||
</Conditions>
|
</Conditions>
|
||||||
</CodecProfile>
|
</CodecProfile>
|
||||||
<CodecProfile type="Video" codec="h264">
|
<CodecProfile type="Video">
|
||||||
<Conditions>
|
<Conditions>
|
||||||
<ProfileCondition condition="EqualsAny" property="VideoProfile" value="baseline|constrained baseline" isRequired="false" />
|
<ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" />
|
||||||
|
<ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" />
|
||||||
|
<ProfileCondition condition="NotEquals" property="IsAnamorphic" value="true" isRequired="false" />
|
||||||
</Conditions>
|
</Conditions>
|
||||||
</CodecProfile>
|
</CodecProfile>
|
||||||
<CodecProfile type="VideoAudio" codec="aac">
|
<CodecProfile type="VideoAudio" codec="aac">
|
||||||
|
|
|
@ -58,14 +58,10 @@
|
||||||
</ContainerProfile>
|
</ContainerProfile>
|
||||||
</ContainerProfiles>
|
</ContainerProfiles>
|
||||||
<CodecProfiles>
|
<CodecProfiles>
|
||||||
<CodecProfile type="Video">
|
<CodecProfile type="Video" codec="h264">
|
||||||
<Conditions>
|
<Conditions>
|
||||||
<ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" />
|
<ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" />
|
||||||
<ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" />
|
<ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" />
|
||||||
</Conditions>
|
|
||||||
</CodecProfile>
|
|
||||||
<CodecProfile type="Video" codec="h264">
|
|
||||||
<Conditions>
|
|
||||||
<ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" />
|
<ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" />
|
||||||
<ProfileCondition condition="LessThanEqual" property="VideoBitrate" value="20000000" isRequired="true" />
|
<ProfileCondition condition="LessThanEqual" property="VideoBitrate" value="20000000" isRequired="true" />
|
||||||
<ProfileCondition condition="LessThanEqual" property="VideoLevel" value="41" isRequired="true" />
|
<ProfileCondition condition="LessThanEqual" property="VideoLevel" value="41" isRequired="true" />
|
||||||
|
@ -73,10 +69,18 @@
|
||||||
</CodecProfile>
|
</CodecProfile>
|
||||||
<CodecProfile type="Video" codec="mpeg2video">
|
<CodecProfile type="Video" codec="mpeg2video">
|
||||||
<Conditions>
|
<Conditions>
|
||||||
|
<ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" />
|
||||||
|
<ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" />
|
||||||
<ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" />
|
<ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" />
|
||||||
<ProfileCondition condition="LessThanEqual" property="VideoBitrate" value="20000000" isRequired="true" />
|
<ProfileCondition condition="LessThanEqual" property="VideoBitrate" value="20000000" isRequired="true" />
|
||||||
</Conditions>
|
</Conditions>
|
||||||
</CodecProfile>
|
</CodecProfile>
|
||||||
|
<CodecProfile type="Video">
|
||||||
|
<Conditions>
|
||||||
|
<ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" />
|
||||||
|
<ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" />
|
||||||
|
</Conditions>
|
||||||
|
</CodecProfile>
|
||||||
<CodecProfile type="VideoAudio" codec="ac3">
|
<CodecProfile type="VideoAudio" codec="ac3">
|
||||||
<Conditions>
|
<Conditions>
|
||||||
<ProfileCondition condition="LessThanEqual" property="AudioChannels" value="6" isRequired="true" />
|
<ProfileCondition condition="LessThanEqual" property="AudioChannels" value="6" isRequired="true" />
|
||||||
|
|
|
@ -61,14 +61,10 @@
|
||||||
</ContainerProfile>
|
</ContainerProfile>
|
||||||
</ContainerProfiles>
|
</ContainerProfiles>
|
||||||
<CodecProfiles>
|
<CodecProfiles>
|
||||||
<CodecProfile type="Video">
|
<CodecProfile type="Video" codec="h264">
|
||||||
<Conditions>
|
<Conditions>
|
||||||
<ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" />
|
<ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" />
|
||||||
<ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" />
|
<ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" />
|
||||||
</Conditions>
|
|
||||||
</CodecProfile>
|
|
||||||
<CodecProfile type="Video" codec="h264">
|
|
||||||
<Conditions>
|
|
||||||
<ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" />
|
<ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" />
|
||||||
<ProfileCondition condition="LessThanEqual" property="VideoBitrate" value="20000000" isRequired="true" />
|
<ProfileCondition condition="LessThanEqual" property="VideoBitrate" value="20000000" isRequired="true" />
|
||||||
<ProfileCondition condition="LessThanEqual" property="VideoLevel" value="41" isRequired="true" />
|
<ProfileCondition condition="LessThanEqual" property="VideoLevel" value="41" isRequired="true" />
|
||||||
|
@ -76,10 +72,18 @@
|
||||||
</CodecProfile>
|
</CodecProfile>
|
||||||
<CodecProfile type="Video" codec="mpeg2video">
|
<CodecProfile type="Video" codec="mpeg2video">
|
||||||
<Conditions>
|
<Conditions>
|
||||||
|
<ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" />
|
||||||
|
<ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" />
|
||||||
<ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" />
|
<ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" />
|
||||||
<ProfileCondition condition="LessThanEqual" property="VideoBitrate" value="20000000" isRequired="true" />
|
<ProfileCondition condition="LessThanEqual" property="VideoBitrate" value="20000000" isRequired="true" />
|
||||||
</Conditions>
|
</Conditions>
|
||||||
</CodecProfile>
|
</CodecProfile>
|
||||||
|
<CodecProfile type="Video">
|
||||||
|
<Conditions>
|
||||||
|
<ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" />
|
||||||
|
<ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" />
|
||||||
|
</Conditions>
|
||||||
|
</CodecProfile>
|
||||||
<CodecProfile type="VideoAudio" codec="ac3">
|
<CodecProfile type="VideoAudio" codec="ac3">
|
||||||
<Conditions>
|
<Conditions>
|
||||||
<ProfileCondition condition="LessThanEqual" property="AudioChannels" value="6" isRequired="true" />
|
<ProfileCondition condition="LessThanEqual" property="AudioChannels" value="6" isRequired="true" />
|
||||||
|
|
|
@ -2,10 +2,10 @@
|
||||||
<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||||
<Name>Xbox One</Name>
|
<Name>Xbox One</Name>
|
||||||
<Identification>
|
<Identification>
|
||||||
<FriendlyName>Xbox-SystemOS</FriendlyName>
|
<FriendlyName>XboxOne</FriendlyName>
|
||||||
<ModelName>Xbox One</ModelName>
|
|
||||||
<Headers>
|
<Headers>
|
||||||
<HttpHeaderInfo name="User-Agent" value="NSPlayer" match="Substring" />
|
<HttpHeaderInfo name="FriendlyName.DLNA.ORG" value="XboxOne" match="Substring" />
|
||||||
|
<HttpHeaderInfo name="User-Agent" value="NSPlayer/12" match="Substring" />
|
||||||
</Headers>
|
</Headers>
|
||||||
</Identification>
|
</Identification>
|
||||||
<FriendlyName>Emby</FriendlyName>
|
<FriendlyName>Emby</FriendlyName>
|
||||||
|
@ -48,7 +48,7 @@
|
||||||
<TranscodingProfiles>
|
<TranscodingProfiles>
|
||||||
<TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" context="Streaming" />
|
<TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" context="Streaming" />
|
||||||
<TranscodingProfile container="jpeg" type="Photo" videoCodec="jpeg" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" context="Streaming" />
|
<TranscodingProfile container="jpeg" type="Photo" videoCodec="jpeg" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" context="Streaming" />
|
||||||
<TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="aac" estimateContentLength="true" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" context="Streaming" />
|
<TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="aac" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" context="Streaming" />
|
||||||
</TranscodingProfiles>
|
</TranscodingProfiles>
|
||||||
<ContainerProfiles>
|
<ContainerProfiles>
|
||||||
<ContainerProfile type="Video" container="mp4,mov">
|
<ContainerProfile type="Video" container="mp4,mov">
|
||||||
|
@ -58,14 +58,10 @@
|
||||||
</ContainerProfile>
|
</ContainerProfile>
|
||||||
</ContainerProfiles>
|
</ContainerProfiles>
|
||||||
<CodecProfiles>
|
<CodecProfiles>
|
||||||
<CodecProfile type="Video">
|
<CodecProfile type="Video" codec="mpeg4">
|
||||||
<Conditions>
|
<Conditions>
|
||||||
<ProfileCondition condition="NotEquals" property="IsAnamorphic" value="true" isRequired="false" />
|
<ProfileCondition condition="NotEquals" property="IsAnamorphic" value="true" isRequired="false" />
|
||||||
<ProfileCondition condition="LessThanEqual" property="VideoBitDepth" value="8" isRequired="false" />
|
<ProfileCondition condition="LessThanEqual" property="VideoBitDepth" value="8" isRequired="false" />
|
||||||
</Conditions>
|
|
||||||
</CodecProfile>
|
|
||||||
<CodecProfile type="Video" codec="mpeg4">
|
|
||||||
<Conditions>
|
|
||||||
<ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" />
|
<ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" />
|
||||||
<ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" />
|
<ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" />
|
||||||
<ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="false" />
|
<ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="false" />
|
||||||
|
@ -74,18 +70,30 @@
|
||||||
</CodecProfile>
|
</CodecProfile>
|
||||||
<CodecProfile type="Video" codec="h264">
|
<CodecProfile type="Video" codec="h264">
|
||||||
<Conditions>
|
<Conditions>
|
||||||
|
<ProfileCondition condition="NotEquals" property="IsAnamorphic" value="true" isRequired="false" />
|
||||||
|
<ProfileCondition condition="LessThanEqual" property="VideoBitDepth" value="8" isRequired="false" />
|
||||||
<ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" />
|
<ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" />
|
||||||
<ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" />
|
<ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" />
|
||||||
|
<ProfileCondition condition="LessThanEqual" property="VideoLevel" value="41" isRequired="false" />
|
||||||
|
<ProfileCondition condition="EqualsAny" property="VideoProfile" value="high|main|baseline|constrained baseline" isRequired="false" />
|
||||||
</Conditions>
|
</Conditions>
|
||||||
</CodecProfile>
|
</CodecProfile>
|
||||||
<CodecProfile type="Video" codec="wmv2,wmv3,vc1">
|
<CodecProfile type="Video" codec="wmv2,wmv3,vc1">
|
||||||
<Conditions>
|
<Conditions>
|
||||||
|
<ProfileCondition condition="NotEquals" property="IsAnamorphic" value="true" isRequired="false" />
|
||||||
|
<ProfileCondition condition="LessThanEqual" property="VideoBitDepth" value="8" isRequired="false" />
|
||||||
<ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" />
|
<ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" />
|
||||||
<ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" />
|
<ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" />
|
||||||
<ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="false" />
|
<ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="false" />
|
||||||
<ProfileCondition condition="LessThanEqual" property="VideoBitrate" value="15360000" isRequired="false" />
|
<ProfileCondition condition="LessThanEqual" property="VideoBitrate" value="15360000" isRequired="false" />
|
||||||
</Conditions>
|
</Conditions>
|
||||||
</CodecProfile>
|
</CodecProfile>
|
||||||
|
<CodecProfile type="Video">
|
||||||
|
<Conditions>
|
||||||
|
<ProfileCondition condition="NotEquals" property="IsAnamorphic" value="true" isRequired="false" />
|
||||||
|
<ProfileCondition condition="LessThanEqual" property="VideoBitDepth" value="8" isRequired="false" />
|
||||||
|
</Conditions>
|
||||||
|
</CodecProfile>
|
||||||
<CodecProfile type="VideoAudio" codec="ac3,wmav2,wmapro">
|
<CodecProfile type="VideoAudio" codec="ac3,wmav2,wmapro">
|
||||||
<Conditions>
|
<Conditions>
|
||||||
<ProfileCondition condition="LessThanEqual" property="AudioChannels" value="6" isRequired="false" />
|
<ProfileCondition condition="LessThanEqual" property="AudioChannels" value="6" isRequired="false" />
|
||||||
|
|
|
@ -102,7 +102,7 @@ namespace MediaBrowser.Model.Dlna
|
||||||
}
|
}
|
||||||
|
|
||||||
List<string> list = new List<string>();
|
List<string> list = new List<string>();
|
||||||
foreach (NameValuePair pair in BuildParams(this, accessToken))
|
foreach (NameValuePair pair in BuildParams(this, accessToken, false))
|
||||||
{
|
{
|
||||||
if (string.IsNullOrEmpty(pair.Value))
|
if (string.IsNullOrEmpty(pair.Value))
|
||||||
{
|
{
|
||||||
|
@ -173,7 +173,7 @@ namespace MediaBrowser.Model.Dlna
|
||||||
{
|
{
|
||||||
List<string> list = new List<string>();
|
List<string> list = new List<string>();
|
||||||
|
|
||||||
foreach (NameValuePair pair in BuildParams(item, accessToken))
|
foreach (NameValuePair pair in BuildParams(item, accessToken, true))
|
||||||
{
|
{
|
||||||
list.Add(pair.Value);
|
list.Add(pair.Value);
|
||||||
}
|
}
|
||||||
|
@ -181,7 +181,7 @@ namespace MediaBrowser.Model.Dlna
|
||||||
return string.Format("Params={0}", string.Join(";", list.ToArray()));
|
return string.Format("Params={0}", string.Join(";", list.ToArray()));
|
||||||
}
|
}
|
||||||
|
|
||||||
private static List<NameValuePair> BuildParams(StreamInfo item, string accessToken)
|
private static List<NameValuePair> BuildParams(StreamInfo item, string accessToken, bool isDlna)
|
||||||
{
|
{
|
||||||
List<NameValuePair> list = new List<NameValuePair>();
|
List<NameValuePair> list = new List<NameValuePair>();
|
||||||
|
|
||||||
|
@ -211,7 +211,17 @@ namespace MediaBrowser.Model.Dlna
|
||||||
|
|
||||||
list.Add(new NameValuePair("Level", item.VideoLevel.HasValue ? StringHelper.ToStringCultureInvariant(item.VideoLevel.Value) : string.Empty));
|
list.Add(new NameValuePair("Level", item.VideoLevel.HasValue ? StringHelper.ToStringCultureInvariant(item.VideoLevel.Value) : string.Empty));
|
||||||
|
|
||||||
|
if (isDlna)
|
||||||
|
{
|
||||||
|
// The player may see it as separate resources due to url differences
|
||||||
|
// And then try to request more than one at playback
|
||||||
|
list.Add(new NameValuePair("ClientTime", string.Empty));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
list.Add(new NameValuePair("ClientTime", item.IsDirectStream ? string.Empty : DateTime.UtcNow.Ticks.ToString(CultureInfo.InvariantCulture)));
|
list.Add(new NameValuePair("ClientTime", item.IsDirectStream ? string.Empty : DateTime.UtcNow.Ticks.ToString(CultureInfo.InvariantCulture)));
|
||||||
|
}
|
||||||
|
|
||||||
list.Add(new NameValuePair("MaxRefFrames", item.MaxRefFrames.HasValue ? StringHelper.ToStringCultureInvariant(item.MaxRefFrames.Value) : string.Empty));
|
list.Add(new NameValuePair("MaxRefFrames", item.MaxRefFrames.HasValue ? StringHelper.ToStringCultureInvariant(item.MaxRefFrames.Value) : string.Empty));
|
||||||
list.Add(new NameValuePair("MaxVideoBitDepth", item.MaxVideoBitDepth.HasValue ? StringHelper.ToStringCultureInvariant(item.MaxVideoBitDepth.Value) : string.Empty));
|
list.Add(new NameValuePair("MaxVideoBitDepth", item.MaxVideoBitDepth.HasValue ? StringHelper.ToStringCultureInvariant(item.MaxVideoBitDepth.Value) : string.Empty));
|
||||||
list.Add(new NameValuePair("Profile", item.VideoProfile ?? string.Empty));
|
list.Add(new NameValuePair("Profile", item.VideoProfile ?? string.Empty));
|
||||||
|
|
|
@ -69,6 +69,12 @@ namespace MediaBrowser.Model.Dto
|
||||||
/// <value>The key.</value>
|
/// <value>The key.</value>
|
||||||
public string Key { get; set; }
|
public string Key { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the item identifier.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>The item identifier.</value>
|
||||||
|
public string ItemId { get; set; }
|
||||||
|
|
||||||
public event PropertyChangedEventHandler PropertyChanged;
|
public event PropertyChangedEventHandler PropertyChanged;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,8 +21,8 @@ namespace MediaBrowser.Model.Session
|
||||||
public DeviceProfile DeviceProfile { get; set; }
|
public DeviceProfile DeviceProfile { get; set; }
|
||||||
public List<string> SupportedLiveMediaTypes { get; set; }
|
public List<string> SupportedLiveMediaTypes { get; set; }
|
||||||
|
|
||||||
public string Url { get; set; }
|
public string AppStoreUrl { get; set; }
|
||||||
public string ImageUrl { get; set; }
|
public string IconUrl { get; set; }
|
||||||
|
|
||||||
public ClientCapabilities()
|
public ClientCapabilities()
|
||||||
{
|
{
|
||||||
|
|
|
@ -141,7 +141,6 @@ namespace MediaBrowser.Providers.Manager
|
||||||
updateType = updateType | result.UpdateType;
|
updateType = updateType | result.UpdateType;
|
||||||
refreshResult.AddStatus(result.Status, result.ErrorMessage);
|
refreshResult.AddStatus(result.Status, result.ErrorMessage);
|
||||||
refreshResult.SetDateLastMetadataRefresh(DateTime.UtcNow);
|
refreshResult.SetDateLastMetadataRefresh(DateTime.UtcNow);
|
||||||
refreshResult.AddMetadataProvidersRefreshed(result.Providers);
|
|
||||||
|
|
||||||
MergeIdentities(itemOfType, id);
|
MergeIdentities(itemOfType, id);
|
||||||
}
|
}
|
||||||
|
@ -159,7 +158,6 @@ namespace MediaBrowser.Providers.Manager
|
||||||
updateType = updateType | result.UpdateType;
|
updateType = updateType | result.UpdateType;
|
||||||
refreshResult.AddStatus(result.Status, result.ErrorMessage);
|
refreshResult.AddStatus(result.Status, result.ErrorMessage);
|
||||||
refreshResult.SetDateLastImagesRefresh(DateTime.UtcNow);
|
refreshResult.SetDateLastImagesRefresh(DateTime.UtcNow);
|
||||||
refreshResult.AddImageProvidersRefreshed(result.Providers);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,6 +10,7 @@ using MediaBrowser.Model.Configuration;
|
||||||
using MediaBrowser.Model.Entities;
|
using MediaBrowser.Model.Entities;
|
||||||
using MediaBrowser.Model.IO;
|
using MediaBrowser.Model.IO;
|
||||||
using MediaBrowser.Model.Logging;
|
using MediaBrowser.Model.Logging;
|
||||||
|
using MediaBrowser.Model.Net;
|
||||||
using MediaBrowser.Model.Providers;
|
using MediaBrowser.Model.Providers;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
@ -190,6 +191,27 @@ namespace MediaBrowser.Providers.TV
|
||||||
/// <param name="cancellationToken">The cancellation token.</param>
|
/// <param name="cancellationToken">The cancellation token.</param>
|
||||||
/// <returns>Task.</returns>
|
/// <returns>Task.</returns>
|
||||||
internal async Task DownloadSeriesZip(string seriesId, string seriesDataPath, long? lastTvDbUpdateTime, string preferredMetadataLanguage, CancellationToken cancellationToken)
|
internal async Task DownloadSeriesZip(string seriesId, string seriesDataPath, long? lastTvDbUpdateTime, string preferredMetadataLanguage, CancellationToken cancellationToken)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
await DownloadSeriesZip(seriesId, seriesDataPath, lastTvDbUpdateTime, preferredMetadataLanguage, preferredMetadataLanguage, cancellationToken).ConfigureAwait(false);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
catch (HttpException ex)
|
||||||
|
{
|
||||||
|
if (!ex.StatusCode.HasValue || ex.StatusCode.Value != HttpStatusCode.NotFound)
|
||||||
|
{
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!string.Equals(preferredMetadataLanguage, "en", StringComparison.OrdinalIgnoreCase))
|
||||||
|
{
|
||||||
|
await DownloadSeriesZip(seriesId, seriesDataPath, lastTvDbUpdateTime, "en", preferredMetadataLanguage, cancellationToken).ConfigureAwait(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private async Task DownloadSeriesZip(string seriesId, string seriesDataPath, long? lastTvDbUpdateTime, string preferredMetadataLanguage, string saveAsMetadataLanguage, CancellationToken cancellationToken)
|
||||||
{
|
{
|
||||||
var url = string.Format(SeriesGetZip, TVUtils.TvdbApiKey, seriesId, preferredMetadataLanguage);
|
var url = string.Format(SeriesGetZip, TVUtils.TvdbApiKey, seriesId, preferredMetadataLanguage);
|
||||||
|
|
||||||
|
@ -221,7 +243,7 @@ namespace MediaBrowser.Providers.TV
|
||||||
await SanitizeXmlFile(file).ConfigureAwait(false);
|
await SanitizeXmlFile(file).ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
await ExtractEpisodes(seriesDataPath, Path.Combine(seriesDataPath, preferredMetadataLanguage + ".xml"), lastTvDbUpdateTime).ConfigureAwait(false);
|
await ExtractEpisodes(seriesDataPath, Path.Combine(seriesDataPath, saveAsMetadataLanguage + ".xml"), lastTvDbUpdateTime).ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public TvdbOptions GetTvDbOptions()
|
public TvdbOptions GetTvDbOptions()
|
||||||
|
|
|
@ -117,7 +117,12 @@ namespace MediaBrowser.Server.Implementations.EntryPoints
|
||||||
|
|
||||||
var dtoList = pair.Value
|
var dtoList = pair.Value
|
||||||
.DistinctBy(i => i.Id)
|
.DistinctBy(i => i.Id)
|
||||||
.Select(i => _userDataManager.GetUserDataDto(i, user))
|
.Select(i =>
|
||||||
|
{
|
||||||
|
var dto = _userDataManager.GetUserDataDto(i, user);
|
||||||
|
dto.ItemId = i.Id.ToString("N");
|
||||||
|
return dto;
|
||||||
|
})
|
||||||
.ToList();
|
.ToList();
|
||||||
|
|
||||||
var info = new UserDataChangeInfo
|
var info = new UserDataChangeInfo
|
||||||
|
|
|
@ -1637,6 +1637,12 @@ namespace MediaBrowser.Server.Implementations.Library
|
||||||
refresh = true;
|
refresh = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!string.Equals(viewType, item.ViewType, StringComparison.OrdinalIgnoreCase))
|
||||||
|
{
|
||||||
|
item.ViewType = viewType;
|
||||||
|
await item.UpdateToRepository(ItemUpdateType.MetadataEdit, cancellationToken).ConfigureAwait(false);
|
||||||
|
}
|
||||||
|
|
||||||
if (!refresh && item != null)
|
if (!refresh && item != null)
|
||||||
{
|
{
|
||||||
refresh = (DateTime.UtcNow - item.DateLastSaved).TotalHours >= 24;
|
refresh = (DateTime.UtcNow - item.DateLastSaved).TotalHours >= 24;
|
||||||
|
|
|
@ -209,7 +209,7 @@ namespace MediaBrowser.Server.Implementations.Library
|
||||||
|
|
||||||
var enableRichView = !user.Configuration.PlainFolderViews.Contains(parentId.ToString("N"), StringComparer.OrdinalIgnoreCase);
|
var enableRichView = !user.Configuration.PlainFolderViews.Contains(parentId.ToString("N"), StringComparer.OrdinalIgnoreCase);
|
||||||
|
|
||||||
if (_config.Configuration.EnableUserSpecificUserViews)
|
if (_config.Configuration.EnableUserSpecificUserViews || !enableRichView)
|
||||||
{
|
{
|
||||||
viewType = enableRichView ? viewType : null;
|
viewType = enableRichView ? viewType : null;
|
||||||
var view = await _libraryManager.GetNamedView(user, name, viewType, sortName, cancellationToken).ConfigureAwait(false);
|
var view = await _libraryManager.GetNamedView(user, name, viewType, sortName, cancellationToken).ConfigureAwait(false);
|
||||||
|
@ -222,7 +222,6 @@ namespace MediaBrowser.Server.Implementations.Library
|
||||||
return view;
|
return view;
|
||||||
}
|
}
|
||||||
|
|
||||||
viewType = enableRichView ? viewType : CollectionType.Folders;
|
|
||||||
return await _libraryManager.GetNamedView(user, name, viewType, sortName, cancellationToken).ConfigureAwait(false);
|
return await _libraryManager.GetNamedView(user, name, viewType, sortName, cancellationToken).ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -235,6 +234,7 @@ namespace MediaBrowser.Server.Implementations.Library
|
||||||
|
|
||||||
public Task<UserView> GetUserView(Guid parentId, string name, string viewType, bool enableRichView, string sortName, User user, CancellationToken cancellationToken)
|
public Task<UserView> GetUserView(Guid parentId, string name, string viewType, bool enableRichView, string sortName, User user, CancellationToken cancellationToken)
|
||||||
{
|
{
|
||||||
|
viewType = enableRichView ? viewType : null;
|
||||||
return _libraryManager.GetNamedView(user, name, parentId.ToString("N"), viewType, sortName, cancellationToken);
|
return _libraryManager.GetNamedView(user, name, parentId.ToString("N"), viewType, sortName, cancellationToken);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1001,10 +1001,18 @@ namespace MediaBrowser.Server.Implementations.LiveTv
|
||||||
{
|
{
|
||||||
List<TimerInfo> timerList;
|
List<TimerInfo> timerList;
|
||||||
if (!timers.TryGetValue(program.ServiceName, out timerList))
|
if (!timers.TryGetValue(program.ServiceName, out timerList))
|
||||||
|
{
|
||||||
|
try
|
||||||
{
|
{
|
||||||
var tempTimers = await GetService(program.ServiceName).GetTimersAsync(cancellationToken).ConfigureAwait(false);
|
var tempTimers = await GetService(program.ServiceName).GetTimersAsync(cancellationToken).ConfigureAwait(false);
|
||||||
timers[program.ServiceName] = timerList = tempTimers.ToList();
|
timers[program.ServiceName] = timerList = tempTimers.ToList();
|
||||||
}
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
_logger.ErrorException("Error getting timer infos", ex);
|
||||||
|
timers[program.ServiceName] = timerList = new List<TimerInfo>();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
var timer = timerList.FirstOrDefault(i => string.Equals(i.ProgramId, program.ExternalId, StringComparison.OrdinalIgnoreCase));
|
var timer = timerList.FirstOrDefault(i => string.Equals(i.ProgramId, program.ExternalId, StringComparison.OrdinalIgnoreCase));
|
||||||
|
|
||||||
|
|
|
@ -40,7 +40,7 @@
|
||||||
"TitleLiveTV": "TV en Vivo",
|
"TitleLiveTV": "TV en Vivo",
|
||||||
"TitleSync": "Sinc",
|
"TitleSync": "Sinc",
|
||||||
"ButtonDonate": "Donar",
|
"ButtonDonate": "Donar",
|
||||||
"HeaderMyMedia": "My Media",
|
"HeaderMyMedia": "Mis Medios",
|
||||||
"TitleNotifications": "Notificaciones",
|
"TitleNotifications": "Notificaciones",
|
||||||
"ErrorLaunchingChromecast": "Hubo un error iniciando chromecast. Por favor aseg\u00farate de que tu dispositivo este conectado a tu red inalambrica",
|
"ErrorLaunchingChromecast": "Hubo un error iniciando chromecast. Por favor aseg\u00farate de que tu dispositivo este conectado a tu red inalambrica",
|
||||||
"MessageErrorLoadingSupporterInfo": "Se present\u00f3 un error al cargar la informaci\u00f3n del aficionado. Por favor int\u00e9ntelo m\u00e1s tarde.",
|
"MessageErrorLoadingSupporterInfo": "Se present\u00f3 un error al cargar la informaci\u00f3n del aficionado. Por favor int\u00e9ntelo m\u00e1s tarde.",
|
||||||
|
@ -143,7 +143,7 @@
|
||||||
"ButtonPlay": "Reproducir",
|
"ButtonPlay": "Reproducir",
|
||||||
"ButtonEdit": "Editar",
|
"ButtonEdit": "Editar",
|
||||||
"ButtonQueue": "A cola",
|
"ButtonQueue": "A cola",
|
||||||
"ButtonPlayTrailer": "Reproducir avance",
|
"ButtonPlayTrailer": "Reproducir trailer",
|
||||||
"ButtonPlaylist": "Lista de Reprod.",
|
"ButtonPlaylist": "Lista de Reprod.",
|
||||||
"ButtonPreviousTrack": "Pista Anterior",
|
"ButtonPreviousTrack": "Pista Anterior",
|
||||||
"LabelEnabled": "Habilitado",
|
"LabelEnabled": "Habilitado",
|
||||||
|
|
|
@ -40,7 +40,7 @@
|
||||||
"TitleLiveTV": "TV en direct",
|
"TitleLiveTV": "TV en direct",
|
||||||
"TitleSync": "Sync.",
|
"TitleSync": "Sync.",
|
||||||
"ButtonDonate": "Faire un don",
|
"ButtonDonate": "Faire un don",
|
||||||
"HeaderMyMedia": "My Media",
|
"HeaderMyMedia": "Mes medias",
|
||||||
"TitleNotifications": "Notifications",
|
"TitleNotifications": "Notifications",
|
||||||
"ErrorLaunchingChromecast": "Une erreur a \u00e9t\u00e9 rencontr\u00e9e lors du lancement de Chromecast. Veuillez vous assurer que votre appareil est bien connect\u00e9 \u00e0 votre r\u00e9seau sans-fil.",
|
"ErrorLaunchingChromecast": "Une erreur a \u00e9t\u00e9 rencontr\u00e9e lors du lancement de Chromecast. Veuillez vous assurer que votre appareil est bien connect\u00e9 \u00e0 votre r\u00e9seau sans-fil.",
|
||||||
"MessageErrorLoadingSupporterInfo": "Il y a eu une erreur lors du chargement des informations de supporter. Veuillez r\u00e9essayer plus tard.",
|
"MessageErrorLoadingSupporterInfo": "Il y a eu une erreur lors du chargement des informations de supporter. Veuillez r\u00e9essayer plus tard.",
|
||||||
|
|
|
@ -44,9 +44,9 @@
|
||||||
"TitleNotifications": "Notifiche",
|
"TitleNotifications": "Notifiche",
|
||||||
"ErrorLaunchingChromecast": "Si \u00e8 verificato un errore all'avvio di chromecast. Assicurati che il tuo dispositivo sia connesso alla rete wireless.",
|
"ErrorLaunchingChromecast": "Si \u00e8 verificato un errore all'avvio di chromecast. Assicurati che il tuo dispositivo sia connesso alla rete wireless.",
|
||||||
"MessageErrorLoadingSupporterInfo": "Si \u00e8 verificato un errore caricando le informazioni sui supporter. Si prega di riprovare pi\u00f9 tardi.",
|
"MessageErrorLoadingSupporterInfo": "Si \u00e8 verificato un errore caricando le informazioni sui supporter. Si prega di riprovare pi\u00f9 tardi.",
|
||||||
"MessageLinkYourSupporterKey": "Link your supporter key with up to {0} Emby Connect members to enjoy free access to the following apps:",
|
"MessageLinkYourSupporterKey": "Collega il tuo codice Supporter con al massimo {0} membri di Emby per accedere liberamente alle seguenti app:",
|
||||||
"HeaderConfirmRemoveUser": "Cancellazione utente",
|
"HeaderConfirmRemoveUser": "Cancellazione utente",
|
||||||
"MessageSwipeDownOnRemoteControl": "Welcome to remote control. Swipe down anywhere on this screen to go back to where you came from.",
|
"MessageSwipeDownOnRemoteControl": "Benvenuti nel controllo remoto. Scorri verso il basso ovunque su questa schermata per tornare da dove sei venuto.",
|
||||||
"MessageConfirmRemoveConnectSupporter": "Sei sicuro di voler rimuovere da questo utente i benefici aggiuntivi da supporter?",
|
"MessageConfirmRemoveConnectSupporter": "Sei sicuro di voler rimuovere da questo utente i benefici aggiuntivi da supporter?",
|
||||||
"ValueTimeLimitSingleHour": "Tempo limite: 1 ora",
|
"ValueTimeLimitSingleHour": "Tempo limite: 1 ora",
|
||||||
"ValueTimeLimitMultiHour": "Tempo limite: {0} ore",
|
"ValueTimeLimitMultiHour": "Tempo limite: {0} ore",
|
||||||
|
@ -100,7 +100,7 @@
|
||||||
"HeaderWelcomeToProjectWebClient": "Benvenuto nel client web Emby",
|
"HeaderWelcomeToProjectWebClient": "Benvenuto nel client web Emby",
|
||||||
"ButtonTakeTheTour": "Fai una visita",
|
"ButtonTakeTheTour": "Fai una visita",
|
||||||
"HeaderWelcomeBack": "Ben tornato!",
|
"HeaderWelcomeBack": "Ben tornato!",
|
||||||
"TitlePlugins": "Plugins",
|
"TitlePlugins": "Plugin",
|
||||||
"ButtonTakeTheTourToSeeWhatsNew": "Fai un tour per vedere cosa \u00e8 cambiato",
|
"ButtonTakeTheTourToSeeWhatsNew": "Fai un tour per vedere cosa \u00e8 cambiato",
|
||||||
"MessageNoSyncJobsFound": "Nessuna sincronizzazione pianificata. Creane una utilizzando i pulsanti sull'interfaccia web",
|
"MessageNoSyncJobsFound": "Nessuna sincronizzazione pianificata. Creane una utilizzando i pulsanti sull'interfaccia web",
|
||||||
"HeaderLibraryAccess": "Accesso libreria",
|
"HeaderLibraryAccess": "Accesso libreria",
|
||||||
|
@ -398,7 +398,7 @@
|
||||||
"TabMetadata": "Metadati",
|
"TabMetadata": "Metadati",
|
||||||
"TabDLNA": "DLNA",
|
"TabDLNA": "DLNA",
|
||||||
"TabLiveTV": "Tv indiretta",
|
"TabLiveTV": "Tv indiretta",
|
||||||
"TabAutoOrganize": "Organizza Automaticamente",
|
"TabAutoOrganize": "Organizza Autom.",
|
||||||
"TabPlugins": "Plugins",
|
"TabPlugins": "Plugins",
|
||||||
"TabAdvanced": "Avanzato",
|
"TabAdvanced": "Avanzato",
|
||||||
"TabHelp": "Aiuto",
|
"TabHelp": "Aiuto",
|
||||||
|
@ -476,7 +476,7 @@
|
||||||
"PersonTypePerson": "Persona",
|
"PersonTypePerson": "Persona",
|
||||||
"LabelTitleDisplayOrder": "Titolo mostrato in ordine:",
|
"LabelTitleDisplayOrder": "Titolo mostrato in ordine:",
|
||||||
"OptionSortName": "Nome ordinato",
|
"OptionSortName": "Nome ordinato",
|
||||||
"OptionReleaseDate": "Data di uscita",
|
"OptionReleaseDate": "Data di rilascio",
|
||||||
"LabelSeasonNumber": "Numero Stagione:",
|
"LabelSeasonNumber": "Numero Stagione:",
|
||||||
"LabelDiscNumber": "Disco numero",
|
"LabelDiscNumber": "Disco numero",
|
||||||
"LabelParentNumber": "Numero superiore",
|
"LabelParentNumber": "Numero superiore",
|
||||||
|
|
|
@ -40,7 +40,7 @@
|
||||||
"TitleLiveTV": "TV ao Vivo",
|
"TitleLiveTV": "TV ao Vivo",
|
||||||
"TitleSync": "Sinc",
|
"TitleSync": "Sinc",
|
||||||
"ButtonDonate": "Doar",
|
"ButtonDonate": "Doar",
|
||||||
"HeaderMyMedia": "My Media",
|
"HeaderMyMedia": "Minha M\u00eddia",
|
||||||
"TitleNotifications": "Notifica\u00e7\u00f5es",
|
"TitleNotifications": "Notifica\u00e7\u00f5es",
|
||||||
"ErrorLaunchingChromecast": "Ocorreu um erro ao iniciar o chromecast. Por favor verifique se seu dispositivo est\u00e1 conectado \u00e0 sua rede sem fio.",
|
"ErrorLaunchingChromecast": "Ocorreu um erro ao iniciar o chromecast. Por favor verifique se seu dispositivo est\u00e1 conectado \u00e0 sua rede sem fio.",
|
||||||
"MessageErrorLoadingSupporterInfo": "Ocorreu um erro ao carregar a informa\u00e7\u00e3o do colaborador. Por favor, tente novamente mais tarde.",
|
"MessageErrorLoadingSupporterInfo": "Ocorreu um erro ao carregar a informa\u00e7\u00e3o do colaborador. Por favor, tente novamente mais tarde.",
|
||||||
|
|
|
@ -955,6 +955,7 @@
|
||||||
"ViewTypeMovieFavorites": "Favorites",
|
"ViewTypeMovieFavorites": "Favorites",
|
||||||
"ViewTypeMovieGenres": "Genres",
|
"ViewTypeMovieGenres": "Genres",
|
||||||
"ViewTypeMusicLatest": "Latest",
|
"ViewTypeMusicLatest": "Latest",
|
||||||
|
"ViewTypeMusicPlaylists": "Playlists",
|
||||||
"ViewTypeMusicAlbums": "Albums",
|
"ViewTypeMusicAlbums": "Albums",
|
||||||
"ViewTypeMusicAlbumArtists": "Album Artists",
|
"ViewTypeMusicAlbumArtists": "Album Artists",
|
||||||
"HeaderOtherDisplaySettings": "Display Settings",
|
"HeaderOtherDisplaySettings": "Display Settings",
|
||||||
|
@ -1413,5 +1414,8 @@
|
||||||
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
||||||
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
||||||
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
||||||
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences."
|
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences.",
|
||||||
|
"HeaderViewStyles": "View Styles",
|
||||||
|
"LabelSelectViewStyles": "Enable rich presentations for:",
|
||||||
|
"LabelSelectViewStylesHelp": "If enabled, views will be built with metadata to offer categories such as Suggestions, Latest, Genres, and more. If disabled, they'll be displayed with simple folders."
|
||||||
}
|
}
|
|
@ -955,6 +955,7 @@
|
||||||
"ViewTypeMovieFavorites": "Favorites",
|
"ViewTypeMovieFavorites": "Favorites",
|
||||||
"ViewTypeMovieGenres": "Genres",
|
"ViewTypeMovieGenres": "Genres",
|
||||||
"ViewTypeMusicLatest": "Latest",
|
"ViewTypeMusicLatest": "Latest",
|
||||||
|
"ViewTypeMusicPlaylists": "Playlists",
|
||||||
"ViewTypeMusicAlbums": "Albums",
|
"ViewTypeMusicAlbums": "Albums",
|
||||||
"ViewTypeMusicAlbumArtists": "Album Artists",
|
"ViewTypeMusicAlbumArtists": "Album Artists",
|
||||||
"HeaderOtherDisplaySettings": "Display Settings",
|
"HeaderOtherDisplaySettings": "Display Settings",
|
||||||
|
@ -1413,5 +1414,8 @@
|
||||||
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
||||||
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
||||||
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
||||||
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences."
|
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences.",
|
||||||
|
"HeaderViewStyles": "View Styles",
|
||||||
|
"LabelSelectViewStyles": "Enable rich presentations for:",
|
||||||
|
"LabelSelectViewStylesHelp": "If enabled, views will be built with metadata to offer categories such as Suggestions, Latest, Genres, and more. If disabled, they'll be displayed with simple folders."
|
||||||
}
|
}
|
|
@ -955,6 +955,7 @@
|
||||||
"ViewTypeMovieFavorites": "Favorites",
|
"ViewTypeMovieFavorites": "Favorites",
|
||||||
"ViewTypeMovieGenres": "Genres",
|
"ViewTypeMovieGenres": "Genres",
|
||||||
"ViewTypeMusicLatest": "Latest",
|
"ViewTypeMusicLatest": "Latest",
|
||||||
|
"ViewTypeMusicPlaylists": "Playlists",
|
||||||
"ViewTypeMusicAlbums": "Albums",
|
"ViewTypeMusicAlbums": "Albums",
|
||||||
"ViewTypeMusicAlbumArtists": "Album Artists",
|
"ViewTypeMusicAlbumArtists": "Album Artists",
|
||||||
"HeaderOtherDisplaySettings": "Display Settings",
|
"HeaderOtherDisplaySettings": "Display Settings",
|
||||||
|
@ -1413,5 +1414,8 @@
|
||||||
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
||||||
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
||||||
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
||||||
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences."
|
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences.",
|
||||||
|
"HeaderViewStyles": "View Styles",
|
||||||
|
"LabelSelectViewStyles": "Enable rich presentations for:",
|
||||||
|
"LabelSelectViewStylesHelp": "If enabled, views will be built with metadata to offer categories such as Suggestions, Latest, Genres, and more. If disabled, they'll be displayed with simple folders."
|
||||||
}
|
}
|
|
@ -955,6 +955,7 @@
|
||||||
"ViewTypeMovieFavorites": "Favorites",
|
"ViewTypeMovieFavorites": "Favorites",
|
||||||
"ViewTypeMovieGenres": "Genres",
|
"ViewTypeMovieGenres": "Genres",
|
||||||
"ViewTypeMusicLatest": "Latest",
|
"ViewTypeMusicLatest": "Latest",
|
||||||
|
"ViewTypeMusicPlaylists": "Playlists",
|
||||||
"ViewTypeMusicAlbums": "Albums",
|
"ViewTypeMusicAlbums": "Albums",
|
||||||
"ViewTypeMusicAlbumArtists": "Album Artists",
|
"ViewTypeMusicAlbumArtists": "Album Artists",
|
||||||
"HeaderOtherDisplaySettings": "Display Settings",
|
"HeaderOtherDisplaySettings": "Display Settings",
|
||||||
|
@ -1413,5 +1414,8 @@
|
||||||
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
||||||
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
||||||
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
||||||
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences."
|
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences.",
|
||||||
|
"HeaderViewStyles": "View Styles",
|
||||||
|
"LabelSelectViewStyles": "Enable rich presentations for:",
|
||||||
|
"LabelSelectViewStylesHelp": "If enabled, views will be built with metadata to offer categories such as Suggestions, Latest, Genres, and more. If disabled, they'll be displayed with simple folders."
|
||||||
}
|
}
|
|
@ -955,6 +955,7 @@
|
||||||
"ViewTypeMovieFavorites": "Favorites",
|
"ViewTypeMovieFavorites": "Favorites",
|
||||||
"ViewTypeMovieGenres": "Genres",
|
"ViewTypeMovieGenres": "Genres",
|
||||||
"ViewTypeMusicLatest": "Latest",
|
"ViewTypeMusicLatest": "Latest",
|
||||||
|
"ViewTypeMusicPlaylists": "Playlists",
|
||||||
"ViewTypeMusicAlbums": "Albums",
|
"ViewTypeMusicAlbums": "Albums",
|
||||||
"ViewTypeMusicAlbumArtists": "Album Artists",
|
"ViewTypeMusicAlbumArtists": "Album Artists",
|
||||||
"HeaderOtherDisplaySettings": "Display Settings",
|
"HeaderOtherDisplaySettings": "Display Settings",
|
||||||
|
@ -1413,5 +1414,8 @@
|
||||||
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
||||||
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
||||||
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
||||||
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences."
|
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences.",
|
||||||
|
"HeaderViewStyles": "View Styles",
|
||||||
|
"LabelSelectViewStyles": "Enable rich presentations for:",
|
||||||
|
"LabelSelectViewStylesHelp": "If enabled, views will be built with metadata to offer categories such as Suggestions, Latest, Genres, and more. If disabled, they'll be displayed with simple folders."
|
||||||
}
|
}
|
|
@ -955,6 +955,7 @@
|
||||||
"ViewTypeMovieFavorites": "Favoriten",
|
"ViewTypeMovieFavorites": "Favoriten",
|
||||||
"ViewTypeMovieGenres": "Genres",
|
"ViewTypeMovieGenres": "Genres",
|
||||||
"ViewTypeMusicLatest": "Neueste",
|
"ViewTypeMusicLatest": "Neueste",
|
||||||
|
"ViewTypeMusicPlaylists": "Wiedergabelisten",
|
||||||
"ViewTypeMusicAlbums": "Alben",
|
"ViewTypeMusicAlbums": "Alben",
|
||||||
"ViewTypeMusicAlbumArtists": "Album-K\u00fcnstler",
|
"ViewTypeMusicAlbumArtists": "Album-K\u00fcnstler",
|
||||||
"HeaderOtherDisplaySettings": "Anzeige Einstellungen",
|
"HeaderOtherDisplaySettings": "Anzeige Einstellungen",
|
||||||
|
@ -1413,5 +1414,8 @@
|
||||||
"ButtonMyPreferencesWelcomeNo": "Nein danke, das mache ich sp\u00e4ter.",
|
"ButtonMyPreferencesWelcomeNo": "Nein danke, das mache ich sp\u00e4ter.",
|
||||||
"MyPreferencesWelcomeMessage1": "Wir pr\u00e4sentieren Ihnen Ihre Bibliothek in einer Art, wie wir denken, dass es Ihnen gefallen d\u00fcrfte. Die Darstellung und Gruppierung des Inhaltes kann jederzeit in Ihren Einstellungen angepasst werden. Ihre Einstellungen werden auf alle Empy Apps \u00fcbertragen.",
|
"MyPreferencesWelcomeMessage1": "Wir pr\u00e4sentieren Ihnen Ihre Bibliothek in einer Art, wie wir denken, dass es Ihnen gefallen d\u00fcrfte. Die Darstellung und Gruppierung des Inhaltes kann jederzeit in Ihren Einstellungen angepasst werden. Ihre Einstellungen werden auf alle Empy Apps \u00fcbertragen.",
|
||||||
"MyPreferencesWelcomeMessage2": "M\u00f6chten Sie Ihre Einstellungen nun festlegen?",
|
"MyPreferencesWelcomeMessage2": "M\u00f6chten Sie Ihre Einstellungen nun festlegen?",
|
||||||
"ToAccessPreferencesHelp": "Um Ihre Einstellungen sp\u00e4ter zu \u00e4ndern, klicken Sie ihr Benutzer-Icon im oberen rechten Bereich oder w\u00e4hlen Sie \"Meine Einstellungen\"."
|
"ToAccessPreferencesHelp": "Um Ihre Einstellungen sp\u00e4ter zu \u00e4ndern, klicken Sie ihr Benutzer-Icon im oberen rechten Bereich oder w\u00e4hlen Sie \"Meine Einstellungen\".",
|
||||||
|
"HeaderViewStyles": "Zeige Stiele",
|
||||||
|
"LabelSelectViewStyles": "Aktiviere erweiterte Darstellungen f\u00fcr:",
|
||||||
|
"LabelSelectViewStylesHelp": "Wenn aktiviert werden Darstellungen von Kategorien mit Medieninformationen wie Empfehlungen, k\u00fcrzlich hinzugef\u00fcgt, Genres und weitere, angereichert. Wenn deaktiviert werden diese nur als simple Verzeichnisse dargestellt."
|
||||||
}
|
}
|
|
@ -955,6 +955,7 @@
|
||||||
"ViewTypeMovieFavorites": "Favorites",
|
"ViewTypeMovieFavorites": "Favorites",
|
||||||
"ViewTypeMovieGenres": "Genres",
|
"ViewTypeMovieGenres": "Genres",
|
||||||
"ViewTypeMusicLatest": "Latest",
|
"ViewTypeMusicLatest": "Latest",
|
||||||
|
"ViewTypeMusicPlaylists": "Playlists",
|
||||||
"ViewTypeMusicAlbums": "Albums",
|
"ViewTypeMusicAlbums": "Albums",
|
||||||
"ViewTypeMusicAlbumArtists": "Album Artists",
|
"ViewTypeMusicAlbumArtists": "Album Artists",
|
||||||
"HeaderOtherDisplaySettings": "Display Settings",
|
"HeaderOtherDisplaySettings": "Display Settings",
|
||||||
|
@ -1413,5 +1414,8 @@
|
||||||
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
||||||
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
||||||
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
||||||
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences."
|
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences.",
|
||||||
|
"HeaderViewStyles": "View Styles",
|
||||||
|
"LabelSelectViewStyles": "Enable rich presentations for:",
|
||||||
|
"LabelSelectViewStylesHelp": "If enabled, views will be built with metadata to offer categories such as Suggestions, Latest, Genres, and more. If disabled, they'll be displayed with simple folders."
|
||||||
}
|
}
|
|
@ -955,6 +955,7 @@
|
||||||
"ViewTypeMovieFavorites": "Favourites",
|
"ViewTypeMovieFavorites": "Favourites",
|
||||||
"ViewTypeMovieGenres": "Genres",
|
"ViewTypeMovieGenres": "Genres",
|
||||||
"ViewTypeMusicLatest": "Latest",
|
"ViewTypeMusicLatest": "Latest",
|
||||||
|
"ViewTypeMusicPlaylists": "Playlists",
|
||||||
"ViewTypeMusicAlbums": "Albums",
|
"ViewTypeMusicAlbums": "Albums",
|
||||||
"ViewTypeMusicAlbumArtists": "Album Artists",
|
"ViewTypeMusicAlbumArtists": "Album Artists",
|
||||||
"HeaderOtherDisplaySettings": "Display Settings",
|
"HeaderOtherDisplaySettings": "Display Settings",
|
||||||
|
@ -1413,5 +1414,8 @@
|
||||||
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
||||||
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
||||||
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
||||||
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences."
|
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences.",
|
||||||
|
"HeaderViewStyles": "View Styles",
|
||||||
|
"LabelSelectViewStyles": "Enable rich presentations for:",
|
||||||
|
"LabelSelectViewStylesHelp": "If enabled, views will be built with metadata to offer categories such as Suggestions, Latest, Genres, and more. If disabled, they'll be displayed with simple folders."
|
||||||
}
|
}
|
|
@ -955,6 +955,7 @@
|
||||||
"ViewTypeMovieFavorites": "Favorites",
|
"ViewTypeMovieFavorites": "Favorites",
|
||||||
"ViewTypeMovieGenres": "Genres",
|
"ViewTypeMovieGenres": "Genres",
|
||||||
"ViewTypeMusicLatest": "Latest",
|
"ViewTypeMusicLatest": "Latest",
|
||||||
|
"ViewTypeMusicPlaylists": "Playlists",
|
||||||
"ViewTypeMusicAlbums": "Albums",
|
"ViewTypeMusicAlbums": "Albums",
|
||||||
"ViewTypeMusicAlbumArtists": "Album Artists",
|
"ViewTypeMusicAlbumArtists": "Album Artists",
|
||||||
"HeaderOtherDisplaySettings": "Display Settings",
|
"HeaderOtherDisplaySettings": "Display Settings",
|
||||||
|
@ -1413,5 +1414,8 @@
|
||||||
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
||||||
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
||||||
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
||||||
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences."
|
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences.",
|
||||||
|
"HeaderViewStyles": "View Styles",
|
||||||
|
"LabelSelectViewStyles": "Enable rich presentations for:",
|
||||||
|
"LabelSelectViewStylesHelp": "If enabled, views will be built with metadata to offer categories such as Suggestions, Latest, Genres, and more. If disabled, they'll be displayed with simple folders."
|
||||||
}
|
}
|
|
@ -404,8 +404,8 @@
|
||||||
"ButtonRefresh": "Refrescar",
|
"ButtonRefresh": "Refrescar",
|
||||||
"ButtonAdvancedRefresh": "Advanced Refresh",
|
"ButtonAdvancedRefresh": "Advanced Refresh",
|
||||||
"OptionPriority": "Prioridad",
|
"OptionPriority": "Prioridad",
|
||||||
"OptionRecordOnAllChannels": "Grabar programa en cualquier canal",
|
"OptionRecordOnAllChannels": "Grabar en cualquier canal",
|
||||||
"OptionRecordAnytime": "Grabar programa a cualquier hora",
|
"OptionRecordAnytime": "Grabar a cualquier hora",
|
||||||
"OptionRecordOnlyNewEpisodes": "Grabar s\u00f3lo nuevos episodios",
|
"OptionRecordOnlyNewEpisodes": "Grabar s\u00f3lo nuevos episodios",
|
||||||
"HeaderRepeatingOptions": "Repeating Options",
|
"HeaderRepeatingOptions": "Repeating Options",
|
||||||
"HeaderDays": "D\u00edas",
|
"HeaderDays": "D\u00edas",
|
||||||
|
@ -955,6 +955,7 @@
|
||||||
"ViewTypeMovieFavorites": "Favorites",
|
"ViewTypeMovieFavorites": "Favorites",
|
||||||
"ViewTypeMovieGenres": "Genres",
|
"ViewTypeMovieGenres": "Genres",
|
||||||
"ViewTypeMusicLatest": "Latest",
|
"ViewTypeMusicLatest": "Latest",
|
||||||
|
"ViewTypeMusicPlaylists": "Playlists",
|
||||||
"ViewTypeMusicAlbums": "Albums",
|
"ViewTypeMusicAlbums": "Albums",
|
||||||
"ViewTypeMusicAlbumArtists": "Album Artists",
|
"ViewTypeMusicAlbumArtists": "Album Artists",
|
||||||
"HeaderOtherDisplaySettings": "Configuraci\u00f3n de pantalla",
|
"HeaderOtherDisplaySettings": "Configuraci\u00f3n de pantalla",
|
||||||
|
@ -1413,5 +1414,8 @@
|
||||||
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
||||||
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
||||||
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
||||||
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences."
|
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences.",
|
||||||
|
"HeaderViewStyles": "View Styles",
|
||||||
|
"LabelSelectViewStyles": "Enable rich presentations for:",
|
||||||
|
"LabelSelectViewStylesHelp": "If enabled, views will be built with metadata to offer categories such as Suggestions, Latest, Genres, and more. If disabled, they'll be displayed with simple folders."
|
||||||
}
|
}
|
|
@ -407,7 +407,7 @@
|
||||||
"OptionRecordOnAllChannels": "Grabar en todos los canales",
|
"OptionRecordOnAllChannels": "Grabar en todos los canales",
|
||||||
"OptionRecordAnytime": "Grabar en cualquier momento",
|
"OptionRecordAnytime": "Grabar en cualquier momento",
|
||||||
"OptionRecordOnlyNewEpisodes": "Grabar s\u00f3lo nuevos episodios",
|
"OptionRecordOnlyNewEpisodes": "Grabar s\u00f3lo nuevos episodios",
|
||||||
"HeaderRepeatingOptions": "Repeating Options",
|
"HeaderRepeatingOptions": "Opciones de repetici\u00f3n",
|
||||||
"HeaderDays": "D\u00edas",
|
"HeaderDays": "D\u00edas",
|
||||||
"HeaderActiveRecordings": "Grabaciones Activas",
|
"HeaderActiveRecordings": "Grabaciones Activas",
|
||||||
"HeaderLatestRecordings": "Grabaciones Recientes",
|
"HeaderLatestRecordings": "Grabaciones Recientes",
|
||||||
|
@ -888,9 +888,9 @@
|
||||||
"LabelHomePageSection2": "Pagina de Inicio secci\u00f3n dos:",
|
"LabelHomePageSection2": "Pagina de Inicio secci\u00f3n dos:",
|
||||||
"LabelHomePageSection3": "Pagina de Inicio secci\u00f3n tres:",
|
"LabelHomePageSection3": "Pagina de Inicio secci\u00f3n tres:",
|
||||||
"LabelHomePageSection4": "Pagina de Inicio secci\u00f3n cuatro:",
|
"LabelHomePageSection4": "Pagina de Inicio secci\u00f3n cuatro:",
|
||||||
"OptionMyMediaButtons": "My media (buttons)",
|
"OptionMyMediaButtons": "Mis medios (botones)",
|
||||||
"OptionMyMedia": "My media",
|
"OptionMyMedia": "Mis medios",
|
||||||
"OptionMyMediaSmall": "My media (small)",
|
"OptionMyMediaSmall": "Mis medios (peque\u00f1o)",
|
||||||
"OptionResumablemedia": "Continuar",
|
"OptionResumablemedia": "Continuar",
|
||||||
"OptionLatestMedia": "Medios recientes",
|
"OptionLatestMedia": "Medios recientes",
|
||||||
"OptionLatestChannelMedia": "Elementos recientes de canales",
|
"OptionLatestChannelMedia": "Elementos recientes de canales",
|
||||||
|
@ -955,6 +955,7 @@
|
||||||
"ViewTypeMovieFavorites": "Favoritos",
|
"ViewTypeMovieFavorites": "Favoritos",
|
||||||
"ViewTypeMovieGenres": "G\u00e9neros",
|
"ViewTypeMovieGenres": "G\u00e9neros",
|
||||||
"ViewTypeMusicLatest": "Recientes",
|
"ViewTypeMusicLatest": "Recientes",
|
||||||
|
"ViewTypeMusicPlaylists": "Listas",
|
||||||
"ViewTypeMusicAlbums": "\u00c1lbumes",
|
"ViewTypeMusicAlbums": "\u00c1lbumes",
|
||||||
"ViewTypeMusicAlbumArtists": "Artistas del \u00c1lbum",
|
"ViewTypeMusicAlbumArtists": "Artistas del \u00c1lbum",
|
||||||
"HeaderOtherDisplaySettings": "Configuraci\u00f3n de Pantalla",
|
"HeaderOtherDisplaySettings": "Configuraci\u00f3n de Pantalla",
|
||||||
|
@ -1405,13 +1406,16 @@
|
||||||
"LabelConversionCpuCoreLimitHelp": "L\u00edmitar el n\u00famero de n\u00facleos del CPI que ser\u00e1n utilizados durante la conversi\u00f3n de sincronizaci\u00f3n.",
|
"LabelConversionCpuCoreLimitHelp": "L\u00edmitar el n\u00famero de n\u00facleos del CPI que ser\u00e1n utilizados durante la conversi\u00f3n de sincronizaci\u00f3n.",
|
||||||
"OptionEnableFullSpeedConversion": "Habilitar conversi\u00f3n a m\u00e1xima velocidad",
|
"OptionEnableFullSpeedConversion": "Habilitar conversi\u00f3n a m\u00e1xima velocidad",
|
||||||
"OptionEnableFullSpeedConversionHelp": "Por defecto, la conversi\u00f3n es realizada a baja velocidad para minimizar el consumo de recursos.",
|
"OptionEnableFullSpeedConversionHelp": "Por defecto, la conversi\u00f3n es realizada a baja velocidad para minimizar el consumo de recursos.",
|
||||||
"HeaderPlaylists": "Playlists",
|
"HeaderPlaylists": "Listas",
|
||||||
"HeaderSelectDate": "Select Date",
|
"HeaderSelectDate": "Seleccionar fecha",
|
||||||
"HeaderWelcomeExclamation": "Welcome!",
|
"HeaderWelcomeExclamation": "\u00a1Bienvenido!",
|
||||||
"HeaderMyPreferences": "My Preferences",
|
"HeaderMyPreferences": "Mi Configuraci\u00f3n",
|
||||||
"ButtonMyPreferencesWelcomeYes": "Yes, I'd like to set my preferences now.",
|
"ButtonMyPreferencesWelcomeYes": "Si, me gustar\u00eda ajustar mi configuraci\u00f3n ahora.",
|
||||||
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
"ButtonMyPreferencesWelcomeNo": "No gracias, lo har\u00e9 luego.",
|
||||||
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
"MyPreferencesWelcomeMessage1": "Configuramos la apariencia de tu biblioteca de una forma que pensamos que te gustar\u00eda. Puedes cambiar la apariencia y agrupaci\u00f3n del contenido cuando quieras en tu configuraci\u00f3n. Tu configuraci\u00f3n se aplicar\u00e1 a todas las aplicaciones de Emby.",
|
||||||
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
"MyPreferencesWelcomeMessage2": "\u00bfTe gustar\u00eda ajustar tu configuraci\u00f3n ahora?",
|
||||||
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences."
|
"ToAccessPreferencesHelp": "Para acceder a tu configuraci\u00f3n luego, haz clic en tu icono de usuario en la esquina superior derecha y selecciona Mi Configuraci\u00f3n.",
|
||||||
|
"HeaderViewStyles": "Ver Estilos",
|
||||||
|
"LabelSelectViewStyles": "Activar presentaciones completas para:",
|
||||||
|
"LabelSelectViewStylesHelp": "Si se activa, las diferentes vistas usar\u00e1n metada para mostrar categor\u00edas como Sugerencias, \u00daltimos, G\u00e9neros, y m\u00e1s. Si est\u00e1 desactivado, se mostrar\u00e1n como carpetas comunes."
|
||||||
}
|
}
|
|
@ -955,6 +955,7 @@
|
||||||
"ViewTypeMovieFavorites": "Favorites",
|
"ViewTypeMovieFavorites": "Favorites",
|
||||||
"ViewTypeMovieGenres": "Genres",
|
"ViewTypeMovieGenres": "Genres",
|
||||||
"ViewTypeMusicLatest": "Latest",
|
"ViewTypeMusicLatest": "Latest",
|
||||||
|
"ViewTypeMusicPlaylists": "Playlists",
|
||||||
"ViewTypeMusicAlbums": "Albums",
|
"ViewTypeMusicAlbums": "Albums",
|
||||||
"ViewTypeMusicAlbumArtists": "Album Artists",
|
"ViewTypeMusicAlbumArtists": "Album Artists",
|
||||||
"HeaderOtherDisplaySettings": "Display Settings",
|
"HeaderOtherDisplaySettings": "Display Settings",
|
||||||
|
@ -1413,5 +1414,8 @@
|
||||||
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
||||||
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
||||||
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
||||||
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences."
|
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences.",
|
||||||
|
"HeaderViewStyles": "View Styles",
|
||||||
|
"LabelSelectViewStyles": "Enable rich presentations for:",
|
||||||
|
"LabelSelectViewStylesHelp": "If enabled, views will be built with metadata to offer categories such as Suggestions, Latest, Genres, and more. If disabled, they'll be displayed with simple folders."
|
||||||
}
|
}
|
|
@ -404,10 +404,10 @@
|
||||||
"ButtonRefresh": "Actualiser",
|
"ButtonRefresh": "Actualiser",
|
||||||
"ButtonAdvancedRefresh": "Mise \u00e0 jour avanc\u00e9e",
|
"ButtonAdvancedRefresh": "Mise \u00e0 jour avanc\u00e9e",
|
||||||
"OptionPriority": "Priorit\u00e9",
|
"OptionPriority": "Priorit\u00e9",
|
||||||
"OptionRecordOnAllChannels": "Enregistrer le programme sur toutes les cha\u00eenes",
|
"OptionRecordOnAllChannels": "Enregistrer sur toutes les cha\u00eenes",
|
||||||
"OptionRecordAnytime": "Enregistrer le programme \u00e0 n'importe quelle heure\/journ\u00e9e",
|
"OptionRecordAnytime": "Enregistrer \u00e0 n'importe quelle heure\/journ\u00e9e",
|
||||||
"OptionRecordOnlyNewEpisodes": "Enregistrer seulement les nouveaux \u00e9pisodes",
|
"OptionRecordOnlyNewEpisodes": "Enregistrer seulement les nouveaux \u00e9pisodes",
|
||||||
"HeaderRepeatingOptions": "Repeating Options",
|
"HeaderRepeatingOptions": "Options de r\u00e9p\u00e9tition",
|
||||||
"HeaderDays": "Jours",
|
"HeaderDays": "Jours",
|
||||||
"HeaderActiveRecordings": "Enregistrements actifs",
|
"HeaderActiveRecordings": "Enregistrements actifs",
|
||||||
"HeaderLatestRecordings": "Derniers enregistrements",
|
"HeaderLatestRecordings": "Derniers enregistrements",
|
||||||
|
@ -551,7 +551,7 @@
|
||||||
"LabelPublicHttpsPort": "Num\u00e9ro de port https public :",
|
"LabelPublicHttpsPort": "Num\u00e9ro de port https public :",
|
||||||
"LabelPublicHttpsPortHelp": "Le num\u00e9ro de port public \u00e0 mapper sur le port https local.",
|
"LabelPublicHttpsPortHelp": "Le num\u00e9ro de port public \u00e0 mapper sur le port https local.",
|
||||||
"LabelEnableHttps": "Renvoyer une url https en tant qu'adresse externe",
|
"LabelEnableHttps": "Renvoyer une url https en tant qu'adresse externe",
|
||||||
"LabelEnableHttpsHelp": "Activez cette option pour que le serveur renvoie une adresse https aux clients pour son adresse externe. Ceci pourrait faire planter les clients qui ne supportent pas encore l'https.",
|
"LabelEnableHttpsHelp": "Activez cette option pour que le serveur renvoie une adresse https aux clients pour son adresse externe.",
|
||||||
"LabelHttpsPort": "Num\u00e9ro de port https local :",
|
"LabelHttpsPort": "Num\u00e9ro de port https local :",
|
||||||
"LabelHttpsPortHelp": "Le port TCP que le serveur https d'Emby doit utiliser.",
|
"LabelHttpsPortHelp": "Le port TCP que le serveur https d'Emby doit utiliser.",
|
||||||
"LabelWebSocketPortNumber": "Num\u00e9ro de port \"Web socket\":",
|
"LabelWebSocketPortNumber": "Num\u00e9ro de port \"Web socket\":",
|
||||||
|
@ -888,9 +888,9 @@
|
||||||
"LabelHomePageSection2": "Seconde section du portail :",
|
"LabelHomePageSection2": "Seconde section du portail :",
|
||||||
"LabelHomePageSection3": "Troisi\u00e8me section du portail :",
|
"LabelHomePageSection3": "Troisi\u00e8me section du portail :",
|
||||||
"LabelHomePageSection4": "Quatri\u00e8me section du portail:",
|
"LabelHomePageSection4": "Quatri\u00e8me section du portail:",
|
||||||
"OptionMyMediaButtons": "My media (buttons)",
|
"OptionMyMediaButtons": "Mes m\u00e9dias (boutons)",
|
||||||
"OptionMyMedia": "My media",
|
"OptionMyMedia": "Mes m\u00e9dias",
|
||||||
"OptionMyMediaSmall": "My media (small)",
|
"OptionMyMediaSmall": "Mes m\u00e9dias (petit)",
|
||||||
"OptionResumablemedia": "Reprendre",
|
"OptionResumablemedia": "Reprendre",
|
||||||
"OptionLatestMedia": "Les plus r\u00e9cents",
|
"OptionLatestMedia": "Les plus r\u00e9cents",
|
||||||
"OptionLatestChannelMedia": "Items de cha\u00eene les plus r\u00e9cents",
|
"OptionLatestChannelMedia": "Items de cha\u00eene les plus r\u00e9cents",
|
||||||
|
@ -955,6 +955,7 @@
|
||||||
"ViewTypeMovieFavorites": "Favoris",
|
"ViewTypeMovieFavorites": "Favoris",
|
||||||
"ViewTypeMovieGenres": "Genres",
|
"ViewTypeMovieGenres": "Genres",
|
||||||
"ViewTypeMusicLatest": "Dernier",
|
"ViewTypeMusicLatest": "Dernier",
|
||||||
|
"ViewTypeMusicPlaylists": "Listes de lectures",
|
||||||
"ViewTypeMusicAlbums": "Albums",
|
"ViewTypeMusicAlbums": "Albums",
|
||||||
"ViewTypeMusicAlbumArtists": "Artiste de l'album",
|
"ViewTypeMusicAlbumArtists": "Artiste de l'album",
|
||||||
"HeaderOtherDisplaySettings": "Param\u00e8tres d'affichage",
|
"HeaderOtherDisplaySettings": "Param\u00e8tres d'affichage",
|
||||||
|
@ -1392,26 +1393,29 @@
|
||||||
"LabelShowLibraryTileNamesHelp": "D\u00e9termine si les noms doivent \u00eatre affich\u00e9s en dessous des affiches de la biblioth\u00e8que sur la page d'accueil",
|
"LabelShowLibraryTileNamesHelp": "D\u00e9termine si les noms doivent \u00eatre affich\u00e9s en dessous des affiches de la biblioth\u00e8que sur la page d'accueil",
|
||||||
"OptionEnableTranscodingThrottle": "Activer le throttling",
|
"OptionEnableTranscodingThrottle": "Activer le throttling",
|
||||||
"OptionEnableTranscodingThrottleHelp": "Le throttling consiste \u00e0 ajuster automatiquement la fr\u00e9quence de transcodage afin de minimiser l'utilisation CPU pendant la lecture.",
|
"OptionEnableTranscodingThrottleHelp": "Le throttling consiste \u00e0 ajuster automatiquement la fr\u00e9quence de transcodage afin de minimiser l'utilisation CPU pendant la lecture.",
|
||||||
"LabelUploadSpeedLimit": "D\u00e9bit max d'upload (mbps) :",
|
"LabelUploadSpeedLimit": "D\u00e9bit max d'upload (Mbps) :",
|
||||||
"OptionAllowSyncTranscoding": "Autoriser la synchronisation quand elle n\u00e9cessite un transcodage",
|
"OptionAllowSyncTranscoding": "Autoriser la synchronisation quand elle n\u00e9cessite un transcodage",
|
||||||
"HeaderPlayback": "Lecture du m\u00e9dia",
|
"HeaderPlayback": "Lecture du m\u00e9dia",
|
||||||
"OptionAllowAudioPlaybackTranscoding": "Autoriser la lecture de musique n\u00e9cessitant un transcodage",
|
"OptionAllowAudioPlaybackTranscoding": "Autoriser la lecture de musique n\u00e9cessitant un transcodage",
|
||||||
"OptionAllowVideoPlaybackTranscoding": "Autoriser la lecture de vid\u00e9os n\u00e9cessitant un transcodage",
|
"OptionAllowVideoPlaybackTranscoding": "Autoriser la lecture de vid\u00e9os n\u00e9cessitant un transcodage",
|
||||||
"OptionAllowMediaPlaybackTranscodingHelp": "Les utilisateurs recevront un message d'erreur compr\u00e9hensible lorsque le contenu n'est pas lisible en raison des restrictions appliqu\u00e9es.",
|
"OptionAllowMediaPlaybackTranscodingHelp": "Les utilisateurs recevront un message d'erreur compr\u00e9hensible lorsque le contenu n'est pas lisible en raison des restrictions appliqu\u00e9es.",
|
||||||
"TabStreaming": "Streaming",
|
"TabStreaming": "Streaming",
|
||||||
"LabelRemoteClientBitrateLimit": "Limite de d\u00e9bit du client distant (mbps):",
|
"LabelRemoteClientBitrateLimit": "Limite de d\u00e9bit du client distant (Mbps):",
|
||||||
"LabelRemoteClientBitrateLimitHelp": "Une limite de d\u00e9bit optionnelle du streaming pour tous les clients distant. Utile pour \u00e9viter que les clients demandent une bande passante sup\u00e9rieure \u00e0 ce que votre connexion peu fournir.",
|
"LabelRemoteClientBitrateLimitHelp": "Une limite de d\u00e9bit optionnelle du streaming pour tous les clients distant. Utile pour \u00e9viter que les clients demandent une bande passante sup\u00e9rieure \u00e0 ce que votre connexion peu fournir.",
|
||||||
"LabelConversionCpuCoreLimit": "Limite de c\u0153ur CPU:",
|
"LabelConversionCpuCoreLimit": "Limite de c\u0153ur CPU:",
|
||||||
"LabelConversionCpuCoreLimitHelp": "Limite le nombre de c\u0153ur du processeur utilis\u00e9s pendant le transcodage.",
|
"LabelConversionCpuCoreLimitHelp": "Limite le nombre de c\u0153ur du processeur utilis\u00e9s pendant le transcodage.",
|
||||||
"OptionEnableFullSpeedConversion": "Autoriser le transcodage rapide",
|
"OptionEnableFullSpeedConversion": "Autoriser le transcodage rapide",
|
||||||
"OptionEnableFullSpeedConversionHelp": "Par d\u00e9faut, le transcodage est r\u00e9alis\u00e9 de mani\u00e8re lente pour r\u00e9duire la consommation de ressources.",
|
"OptionEnableFullSpeedConversionHelp": "Par d\u00e9faut, le transcodage est r\u00e9alis\u00e9 de mani\u00e8re lente pour minimiser la consommation de ressources.",
|
||||||
"HeaderPlaylists": "Playlists",
|
"HeaderPlaylists": "Listes de lecture",
|
||||||
"HeaderSelectDate": "Select Date",
|
"HeaderSelectDate": "S\u00e9lectionnez la date",
|
||||||
"HeaderWelcomeExclamation": "Welcome!",
|
"HeaderWelcomeExclamation": "Bienvenue !",
|
||||||
"HeaderMyPreferences": "My Preferences",
|
"HeaderMyPreferences": "Mes pr\u00e9f\u00e9rences",
|
||||||
"ButtonMyPreferencesWelcomeYes": "Yes, I'd like to set my preferences now.",
|
"ButtonMyPreferencesWelcomeYes": "Oui, je voudrais d\u00e9finir mes pr\u00e9f\u00e9rences maintenant.",
|
||||||
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
"ButtonMyPreferencesWelcomeNo": "Non merci, je le ferai plus tard.",
|
||||||
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
"MyPreferencesWelcomeMessage1": "Nous avons pr\u00e9sent\u00e9 votre biblioth\u00e8que d'une mani\u00e8re que nous pensons agr\u00e9able. L'apparence et les regroupements de contenus peuvent \u00eatre modifi\u00e9s \u00e0 tout moment en ajustant vos pr\u00e9f\u00e9rences. Vos pr\u00e9f\u00e9rences s'appliqueront \u00e0 toutes vos applications Emby.",
|
||||||
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
"MyPreferencesWelcomeMessage2": "Voulez-vous d\u00e9finir vos pr\u00e9f\u00e9rences maintenant ?",
|
||||||
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences."
|
"ToAccessPreferencesHelp": "Pour acc\u00e9der plus tard \u00e0 vos pr\u00e9f\u00e9rences, cliquez sur l'ic\u00f4ne utilisateur dans le bandeau en haut \u00e0 droite et s\u00e9lectionnez Mes pr\u00e9f\u00e9rences.",
|
||||||
|
"HeaderViewStyles": "Styles d'affichage",
|
||||||
|
"LabelSelectViewStyles": "Activer les pr\u00e9sentations enrichies",
|
||||||
|
"LabelSelectViewStylesHelp": "Si vous activez cette option, l'affichage utilisera les m\u00e9tadonn\u00e9es pour ajouter des cat\u00e9gories telles que Suggestions, Derni\u00e8res, Genres, ... Si vous d\u00e9sactivez cette option, l'affichage sera simplement bas\u00e9 sur les dossiers."
|
||||||
}
|
}
|
|
@ -955,6 +955,7 @@
|
||||||
"ViewTypeMovieFavorites": "Favorites",
|
"ViewTypeMovieFavorites": "Favorites",
|
||||||
"ViewTypeMovieGenres": "Genres",
|
"ViewTypeMovieGenres": "Genres",
|
||||||
"ViewTypeMusicLatest": "Latest",
|
"ViewTypeMusicLatest": "Latest",
|
||||||
|
"ViewTypeMusicPlaylists": "Playlists",
|
||||||
"ViewTypeMusicAlbums": "Albums",
|
"ViewTypeMusicAlbums": "Albums",
|
||||||
"ViewTypeMusicAlbumArtists": "Album Artists",
|
"ViewTypeMusicAlbumArtists": "Album Artists",
|
||||||
"HeaderOtherDisplaySettings": "Display Settings",
|
"HeaderOtherDisplaySettings": "Display Settings",
|
||||||
|
@ -1413,5 +1414,8 @@
|
||||||
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
||||||
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
||||||
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
||||||
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences."
|
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences.",
|
||||||
|
"HeaderViewStyles": "View Styles",
|
||||||
|
"LabelSelectViewStyles": "Enable rich presentations for:",
|
||||||
|
"LabelSelectViewStylesHelp": "If enabled, views will be built with metadata to offer categories such as Suggestions, Latest, Genres, and more. If disabled, they'll be displayed with simple folders."
|
||||||
}
|
}
|
|
@ -955,6 +955,7 @@
|
||||||
"ViewTypeMovieFavorites": "Favorites",
|
"ViewTypeMovieFavorites": "Favorites",
|
||||||
"ViewTypeMovieGenres": "Genres",
|
"ViewTypeMovieGenres": "Genres",
|
||||||
"ViewTypeMusicLatest": "Latest",
|
"ViewTypeMusicLatest": "Latest",
|
||||||
|
"ViewTypeMusicPlaylists": "Playlists",
|
||||||
"ViewTypeMusicAlbums": "Albums",
|
"ViewTypeMusicAlbums": "Albums",
|
||||||
"ViewTypeMusicAlbumArtists": "Album Artists",
|
"ViewTypeMusicAlbumArtists": "Album Artists",
|
||||||
"HeaderOtherDisplaySettings": "Display Settings",
|
"HeaderOtherDisplaySettings": "Display Settings",
|
||||||
|
@ -1413,5 +1414,8 @@
|
||||||
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
||||||
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
||||||
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
||||||
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences."
|
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences.",
|
||||||
|
"HeaderViewStyles": "View Styles",
|
||||||
|
"LabelSelectViewStyles": "Enable rich presentations for:",
|
||||||
|
"LabelSelectViewStylesHelp": "If enabled, views will be built with metadata to offer categories such as Suggestions, Latest, Genres, and more. If disabled, they'll be displayed with simple folders."
|
||||||
}
|
}
|
|
@ -21,12 +21,12 @@
|
||||||
"ButtonQuickStartGuide": "Guida rapida",
|
"ButtonQuickStartGuide": "Guida rapida",
|
||||||
"LabelYourFirstName": "Nome",
|
"LabelYourFirstName": "Nome",
|
||||||
"MoreUsersCanBeAddedLater": "Puoi aggiungere altri utenti in un secondo momento all'interno del pannello di configurazione",
|
"MoreUsersCanBeAddedLater": "Puoi aggiungere altri utenti in un secondo momento all'interno del pannello di configurazione",
|
||||||
"UserProfilesIntro": "Emby includes built-in support for user profiles, enabling each user to have their own display settings, playstate and parental controls.",
|
"UserProfilesIntro": "Emby include il supporto integrato per i profili utente, che permette ad ogni utente di avere le proprie impostazioni di visualizzazione, stato di riproduzione e parental control.",
|
||||||
"LabelWindowsService": "Servizio Windows",
|
"LabelWindowsService": "Servizio Windows",
|
||||||
"AWindowsServiceHasBeenInstalled": "Servizio Windows Installato",
|
"AWindowsServiceHasBeenInstalled": "Servizio Windows Installato",
|
||||||
"WindowsServiceIntro1": "Emby Server normally runs as a desktop application with a tray icon, but if you prefer to run it as a background service, it can be started from the windows services control panel instead.",
|
"WindowsServiceIntro1": "Il Server Emby normalmente viene eseguito come un'applicazione del desktop con un'icona sulla barra in basso a destra, ma in alternativa, se si preferisce farlo funzionare come servizio in background, pu\u00f2 essere avviato dal pannello di controllo dei servizi di Windows.",
|
||||||
"WindowsServiceIntro2": "Se si utilizza il servizio di Windows, si ricorda che non pu\u00f2 essere eseguito allo stesso tempo con l'icona di sistema, quindi devi chiudere l'applicazione al fine di eseguire il servizio. Il servizio dovr\u00e0 anche essere configurato con privilegi amministrativi tramite il pannello di controllo. Si prega di notare che in questo momento il servizio non \u00e8 in grado di Autoaggiornarsi, quindi le nuove versioni richiedono l'interazione manuale",
|
"WindowsServiceIntro2": "Se si utilizza il servizio di Windows, si ricorda che non pu\u00f2 essere eseguito allo stesso tempo con l'icona di sistema, quindi devi chiudere l'applicazione al fine di eseguire il servizio. Il servizio dovr\u00e0 anche essere configurato con privilegi amministrativi tramite il pannello di controllo. Si prega di notare che in questo momento il servizio non \u00e8 in grado di Autoaggiornarsi, quindi le nuove versioni richiedono l'interazione manuale",
|
||||||
"WizardCompleted": "That's all we need for now. Emby has begun collecting information about your media library. Check out some of our apps, and then click <b>Finish<\/b> to view the <b>Server Dashboard<\/b>.",
|
"WizardCompleted": "Questo \u00e8 tutto ci\u00f2 che serve per ora. Emby ha iniziato a raccogliere informazioni sulla tua libreria di file multimediali. Scopri alcune delle nostre app, quindi clicca su <b>Fine<\/b> per visualizzare il <b>Pannello di controllo del server<\/b>",
|
||||||
"LabelConfigureSettings": "Configura le impostazioni",
|
"LabelConfigureSettings": "Configura le impostazioni",
|
||||||
"LabelEnableVideoImageExtraction": "Abilita estrazione immagine video",
|
"LabelEnableVideoImageExtraction": "Abilita estrazione immagine video",
|
||||||
"VideoImageExtractionHelp": "Per i video che sono sprovvisti di immagini, e per i quali non siamo riusciti a trovare immagini su Internet. Questa opzione allungher\u00e0 il tempo di scansione della tua libreria ma si tradurr\u00e0 in una presentazione pi\u00f9 gradevole.",
|
"VideoImageExtractionHelp": "Per i video che sono sprovvisti di immagini, e per i quali non siamo riusciti a trovare immagini su Internet. Questa opzione allungher\u00e0 il tempo di scansione della tua libreria ma si tradurr\u00e0 in una presentazione pi\u00f9 gradevole.",
|
||||||
|
@ -233,7 +233,7 @@
|
||||||
"ScheduledTasksTitle": "Operazioni Pianificate",
|
"ScheduledTasksTitle": "Operazioni Pianificate",
|
||||||
"TabMyPlugins": "Plugin installati",
|
"TabMyPlugins": "Plugin installati",
|
||||||
"TabCatalog": "Catalogo",
|
"TabCatalog": "Catalogo",
|
||||||
"TitlePlugins": "Plugins",
|
"TitlePlugins": "Plugin",
|
||||||
"HeaderAutomaticUpdates": "Aggiornamenti Automatici",
|
"HeaderAutomaticUpdates": "Aggiornamenti Automatici",
|
||||||
"HeaderNowPlaying": "In Riproduzione",
|
"HeaderNowPlaying": "In Riproduzione",
|
||||||
"HeaderLatestAlbums": "Ultimi Album",
|
"HeaderLatestAlbums": "Ultimi Album",
|
||||||
|
@ -568,7 +568,7 @@
|
||||||
"LabelMinResumePercentageHelp": "I film Sono considerati non visti se fermati prima di questo tempo",
|
"LabelMinResumePercentageHelp": "I film Sono considerati non visti se fermati prima di questo tempo",
|
||||||
"LabelMaxResumePercentageHelp": "I film sono considerati visti se fermati dopo questo tempo",
|
"LabelMaxResumePercentageHelp": "I film sono considerati visti se fermati dopo questo tempo",
|
||||||
"LabelMinResumeDurationHelp": "I film pi\u00f9 corti non saranno riprendibili",
|
"LabelMinResumeDurationHelp": "I film pi\u00f9 corti non saranno riprendibili",
|
||||||
"TitleAutoOrganize": "Organizza Automaticamente",
|
"TitleAutoOrganize": "Organizza Autom.",
|
||||||
"TabActivityLog": "Registrazione eventi",
|
"TabActivityLog": "Registrazione eventi",
|
||||||
"HeaderName": "Nome",
|
"HeaderName": "Nome",
|
||||||
"HeaderDate": "Data",
|
"HeaderDate": "Data",
|
||||||
|
@ -955,6 +955,7 @@
|
||||||
"ViewTypeMovieFavorites": "Preferiti",
|
"ViewTypeMovieFavorites": "Preferiti",
|
||||||
"ViewTypeMovieGenres": "Generi",
|
"ViewTypeMovieGenres": "Generi",
|
||||||
"ViewTypeMusicLatest": "Ultimi",
|
"ViewTypeMusicLatest": "Ultimi",
|
||||||
|
"ViewTypeMusicPlaylists": "Playlist",
|
||||||
"ViewTypeMusicAlbums": "Album",
|
"ViewTypeMusicAlbums": "Album",
|
||||||
"ViewTypeMusicAlbumArtists": "Album Artisti",
|
"ViewTypeMusicAlbumArtists": "Album Artisti",
|
||||||
"HeaderOtherDisplaySettings": "Impostazioni Video",
|
"HeaderOtherDisplaySettings": "Impostazioni Video",
|
||||||
|
@ -973,7 +974,7 @@
|
||||||
"LabelProtocolInfo": "Info protocollo:",
|
"LabelProtocolInfo": "Info protocollo:",
|
||||||
"LabelProtocolInfoHelp": "Il valore che verr\u00e0 utilizzato quando si risponde a richieste GetProtocolInfo dal dispositivo.",
|
"LabelProtocolInfoHelp": "Il valore che verr\u00e0 utilizzato quando si risponde a richieste GetProtocolInfo dal dispositivo.",
|
||||||
"TabNfo": "Nfo",
|
"TabNfo": "Nfo",
|
||||||
"HeaderKodiMetadataHelp": "Emby includes native support for Nfo metadata files. To enable or disable Nfo metadata, use the Advanced tab to configure options for your media types.",
|
"HeaderKodiMetadataHelp": "Emby include il supporto nativo per i file di metadati di tipo NFO. Per attivare o disattivare i metadati NFO, utilizza la scheda Avanzate per configurare le opzioni per i tuoi tipi di file multimediali.",
|
||||||
"LabelKodiMetadataUser": "Sincronizza i dati utente a nfo di per:",
|
"LabelKodiMetadataUser": "Sincronizza i dati utente a nfo di per:",
|
||||||
"LabelKodiMetadataUserHelp": "Abilita questa opzione per mantenere i dati di orologio sincronizzati tra il Server Emby e i file NFO.",
|
"LabelKodiMetadataUserHelp": "Abilita questa opzione per mantenere i dati di orologio sincronizzati tra il Server Emby e i file NFO.",
|
||||||
"LabelKodiMetadataDateFormat": "Data di uscita Formato:",
|
"LabelKodiMetadataDateFormat": "Data di uscita Formato:",
|
||||||
|
@ -1146,7 +1147,7 @@
|
||||||
"LabelEasyPinCode": "Codice Pin",
|
"LabelEasyPinCode": "Codice Pin",
|
||||||
"EasyPasswordHelp": "Il codice pin facile viene utilizzato per l'accesso offline con le app Emby supportate, e pu\u00f2 essere utilizzato anche per una facile accesso in rete.",
|
"EasyPasswordHelp": "Il codice pin facile viene utilizzato per l'accesso offline con le app Emby supportate, e pu\u00f2 essere utilizzato anche per una facile accesso in rete.",
|
||||||
"LabelInNetworkSignInWithEasyPassword": "Abilita l'accesso da rete locale tramite codice PIN.",
|
"LabelInNetworkSignInWithEasyPassword": "Abilita l'accesso da rete locale tramite codice PIN.",
|
||||||
"LabelInNetworkSignInWithEasyPasswordHelp": "If enabled, you'll be able to use your easy pin code to sign in to Emby apps from inside your home network. Your regular password will only be needed away from home. If the pin code is left blank, you won't need a password within your home network.",
|
"LabelInNetworkSignInWithEasyPasswordHelp": "Se attivata, sarai in grado di utilizzare il tuo codice pin facile per accedere alle app di Emby all'interno della tua rete domestica. La tua password usuale sar\u00e0 necessaria solo per accedere alle app quando sei fuori casa. Se il codice PIN viene lasciato vuoto, non avrai bisogno di una password quando sei all'interno della tua rete domestica.",
|
||||||
"HeaderPassword": "Password",
|
"HeaderPassword": "Password",
|
||||||
"HeaderLocalAccess": "Accesso locale",
|
"HeaderLocalAccess": "Accesso locale",
|
||||||
"HeaderViewOrder": "Visualizza ordine",
|
"HeaderViewOrder": "Visualizza ordine",
|
||||||
|
@ -1255,7 +1256,7 @@
|
||||||
"LabelExtractChaptersDuringLibraryScanHelp": "Se abilitata, le immagini capitolo verranno estratti quando i video vengono importati durante la scansione della libreria. Se disabilitata verranno estratti durante le immagini dei capitoli programmati compito, permettendo la scansione biblioteca regolare per completare pi\u00f9 velocemente.",
|
"LabelExtractChaptersDuringLibraryScanHelp": "Se abilitata, le immagini capitolo verranno estratti quando i video vengono importati durante la scansione della libreria. Se disabilitata verranno estratti durante le immagini dei capitoli programmati compito, permettendo la scansione biblioteca regolare per completare pi\u00f9 velocemente.",
|
||||||
"LabelConnectGuestUserName": "Username di Emby o indirizzo email:",
|
"LabelConnectGuestUserName": "Username di Emby o indirizzo email:",
|
||||||
"LabelConnectUserName": "Username\/email di Emby:",
|
"LabelConnectUserName": "Username\/email di Emby:",
|
||||||
"LabelConnectUserNameHelp": "Connect this user to an Emby account to enable easy sign-in access from any Emby app without having to know the server ip address.",
|
"LabelConnectUserNameHelp": "Collegare questo utente a un account Emby per consentire un facile accesso da qualsiasi app Emby senza dover conoscere l'indirizzo IP del server.",
|
||||||
"ButtonLearnMoreAboutEmbyConnect": "Scopri di pi\u00f9 su Emby Connect",
|
"ButtonLearnMoreAboutEmbyConnect": "Scopri di pi\u00f9 su Emby Connect",
|
||||||
"LabelExternalPlayers": "Player esterni:",
|
"LabelExternalPlayers": "Player esterni:",
|
||||||
"LabelExternalPlayersHelp": "Pulsanti di visualizzazione di riprodurre contenuti in lettori esterni. Questo \u00e8 disponibile solo su dispositivi che supportano schemi URL, generalmente Android e iOS. Con i giocatori esterni vi \u00e8 generalmente alcun supporto per il controllo remoto o ripresa.",
|
"LabelExternalPlayersHelp": "Pulsanti di visualizzazione di riprodurre contenuti in lettori esterni. Questo \u00e8 disponibile solo su dispositivi che supportano schemi URL, generalmente Android e iOS. Con i giocatori esterni vi \u00e8 generalmente alcun supporto per il controllo remoto o ripresa.",
|
||||||
|
@ -1389,9 +1390,9 @@
|
||||||
"HeaderUpcomingPrograms": "Programmi in arrivo",
|
"HeaderUpcomingPrograms": "Programmi in arrivo",
|
||||||
"ButtonMoreItems": "Pi\u00f9...",
|
"ButtonMoreItems": "Pi\u00f9...",
|
||||||
"LabelShowLibraryTileNames": "Mostra i nomi di file di libreria",
|
"LabelShowLibraryTileNames": "Mostra i nomi di file di libreria",
|
||||||
"LabelShowLibraryTileNamesHelp": "Determines if labels will be displayed underneath library tiles on the home page",
|
"LabelShowLibraryTileNamesHelp": "Determina se le etichette vengono visualizzate sotto le locandine della libreria sulla home page",
|
||||||
"OptionEnableTranscodingThrottle": "Abilita il throttling",
|
"OptionEnableTranscodingThrottle": "Abilita il throttling",
|
||||||
"OptionEnableTranscodingThrottleHelp": "Throttling will automatically adjust transcoding speed in order to minimize server cpu utilization during playback.",
|
"OptionEnableTranscodingThrottleHelp": "Il Throttling regola automaticamente la velocit\u00e0 di transcodifica per ridurre al minimo l'utilizzo della CPU del server durante la riproduzione.",
|
||||||
"LabelUploadSpeedLimit": "Velocit\u00e0 limite di upload (Mbps)",
|
"LabelUploadSpeedLimit": "Velocit\u00e0 limite di upload (Mbps)",
|
||||||
"OptionAllowSyncTranscoding": "Abilita la sincronizzazione che necessita di transcodifica",
|
"OptionAllowSyncTranscoding": "Abilita la sincronizzazione che necessita di transcodifica",
|
||||||
"HeaderPlayback": "Riproduzione",
|
"HeaderPlayback": "Riproduzione",
|
||||||
|
@ -1400,7 +1401,7 @@
|
||||||
"OptionAllowMediaPlaybackTranscodingHelp": "Gli utenti riceveranno messaggi esplicativi quando il contenuto non \u00e8 riproducibile a causa della policy.",
|
"OptionAllowMediaPlaybackTranscodingHelp": "Gli utenti riceveranno messaggi esplicativi quando il contenuto non \u00e8 riproducibile a causa della policy.",
|
||||||
"TabStreaming": "Streaming",
|
"TabStreaming": "Streaming",
|
||||||
"LabelRemoteClientBitrateLimit": "Bitrate limite del client remoto (Mbps):",
|
"LabelRemoteClientBitrateLimit": "Bitrate limite del client remoto (Mbps):",
|
||||||
"LabelRemoteClientBitrateLimitHelp": "An optional streaming bitrate limit for all remote clients. This is useful to prevent clients from requesting a higher bitrate than your connection can handle.",
|
"LabelRemoteClientBitrateLimitHelp": "Limite opzionale al bitrate dello streaming per tutti i client remoti. E' utile per evitare che i client richiedano un bitrate superiore a quello che la tua connessione \u00e8 in grado di gestire.",
|
||||||
"LabelConversionCpuCoreLimit": "Limite della CPU:",
|
"LabelConversionCpuCoreLimit": "Limite della CPU:",
|
||||||
"LabelConversionCpuCoreLimitHelp": "Limiita il numero di CPU da utilizzare durante l'operazione di sincronizzazione.",
|
"LabelConversionCpuCoreLimitHelp": "Limiita il numero di CPU da utilizzare durante l'operazione di sincronizzazione.",
|
||||||
"OptionEnableFullSpeedConversion": "Abilita conversione a velocit\u00e0 piena",
|
"OptionEnableFullSpeedConversion": "Abilita conversione a velocit\u00e0 piena",
|
||||||
|
@ -1411,7 +1412,10 @@
|
||||||
"HeaderMyPreferences": "Le miei preferenze",
|
"HeaderMyPreferences": "Le miei preferenze",
|
||||||
"ButtonMyPreferencesWelcomeYes": "Grazie, preferisco impostare le mie preferenze adesso",
|
"ButtonMyPreferencesWelcomeYes": "Grazie, preferisco impostare le mie preferenze adesso",
|
||||||
"ButtonMyPreferencesWelcomeNo": "No grazie, provveder\u00f2 in seguito.",
|
"ButtonMyPreferencesWelcomeNo": "No grazie, provveder\u00f2 in seguito.",
|
||||||
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
"MyPreferencesWelcomeMessage1": "Abbiamo presentato la tua libreria in un modo in cui pensiamo ti possa piacere. L'aspetto e il raggruppamento dei contenuti possono essere cambiati in qualsiasi momento modificando le preferenze. Le preferenze si applicano a tutte le app Emby.",
|
||||||
"MyPreferencesWelcomeMessage2": "Desideri impostare le tue preferenze ora?",
|
"MyPreferencesWelcomeMessage2": "Desideri impostare le tue preferenze ora?",
|
||||||
"ToAccessPreferencesHelp": "Per accedere alle preferenze in un secondo tempo, fare clic sull'icona utente presente in alto a destra e seleziona Le Mie Preferenze."
|
"ToAccessPreferencesHelp": "Per accedere alle preferenze in un secondo tempo, fare clic sull'icona utente presente in alto a destra e seleziona Le Mie Preferenze.",
|
||||||
|
"HeaderViewStyles": "Stili Viste",
|
||||||
|
"LabelSelectViewStyles": "Abilita presentazioni arricchite per:",
|
||||||
|
"LabelSelectViewStylesHelp": "Se abilitato, le viste verranno create con i metadati per offrire categorie come Suggeriti, Recenti, Generi e altro. Se disabilitato, verranno mostrate come semplici cartelle."
|
||||||
}
|
}
|
|
@ -115,7 +115,7 @@
|
||||||
"LabelSaveLocalMetadata": "\u0421\u0443\u0440\u0435\u0442\u0442\u0435\u043c\u0435\u043b\u0435\u0440 \u0431\u0435\u043d \u043c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0434\u0456 \u0442\u0430\u0441\u044b\u0493\u044b\u0448 \u049b\u0430\u043b\u0442\u0430\u043b\u0430\u0440\u044b \u0456\u0448\u0456\u043d\u0434\u0435 \u0441\u0430\u049b\u0442\u0430\u0443",
|
"LabelSaveLocalMetadata": "\u0421\u0443\u0440\u0435\u0442\u0442\u0435\u043c\u0435\u043b\u0435\u0440 \u0431\u0435\u043d \u043c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0434\u0456 \u0442\u0430\u0441\u044b\u0493\u044b\u0448 \u049b\u0430\u043b\u0442\u0430\u043b\u0430\u0440\u044b \u0456\u0448\u0456\u043d\u0434\u0435 \u0441\u0430\u049b\u0442\u0430\u0443",
|
||||||
"LabelSaveLocalMetadataHelp": "\u0421\u0443\u0440\u0435\u0442\u0442\u0435\u043c\u0435\u043b\u0435\u0440 \u0431\u0435\u043d \u043c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0434\u0456 \u0442\u0456\u043a\u0435\u043b\u0435\u0439 \u0442\u0430\u0441\u044b\u0493\u044b\u0448 \u049b\u0430\u043b\u0442\u0430\u043b\u0430\u0440\u044b \u0456\u0448\u0456\u043d\u0434\u0435 \u0441\u0430\u049b\u0442\u0430\u043b\u0443\u044b \u043e\u043b\u0430\u0440\u0434\u044b \u0436\u0435\u04a3\u0456\u043b \u04e9\u04a3\u0434\u0435\u0439 \u0430\u043b\u0430\u0442\u044b\u043d \u043e\u0440\u044b\u043d\u0493\u0430 \u049b\u043e\u044f\u0434\u044b.",
|
"LabelSaveLocalMetadataHelp": "\u0421\u0443\u0440\u0435\u0442\u0442\u0435\u043c\u0435\u043b\u0435\u0440 \u0431\u0435\u043d \u043c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0434\u0456 \u0442\u0456\u043a\u0435\u043b\u0435\u0439 \u0442\u0430\u0441\u044b\u0493\u044b\u0448 \u049b\u0430\u043b\u0442\u0430\u043b\u0430\u0440\u044b \u0456\u0448\u0456\u043d\u0434\u0435 \u0441\u0430\u049b\u0442\u0430\u043b\u0443\u044b \u043e\u043b\u0430\u0440\u0434\u044b \u0436\u0435\u04a3\u0456\u043b \u04e9\u04a3\u0434\u0435\u0439 \u0430\u043b\u0430\u0442\u044b\u043d \u043e\u0440\u044b\u043d\u0493\u0430 \u049b\u043e\u044f\u0434\u044b.",
|
||||||
"LabelDownloadInternetMetadata": "\u0421\u0443\u0440\u0435\u0442\u0442\u0435\u043c\u0435\u043b\u0435\u0440 \u0431\u0435\u043d \u043c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0434\u0456 \u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0442\u0435\u043d \u0436\u04af\u043a\u0442\u0435\u043f \u0430\u043b\u0443",
|
"LabelDownloadInternetMetadata": "\u0421\u0443\u0440\u0435\u0442\u0442\u0435\u043c\u0435\u043b\u0435\u0440 \u0431\u0435\u043d \u043c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0434\u0456 \u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0442\u0435\u043d \u0436\u04af\u043a\u0442\u0435\u043f \u0430\u043b\u0443",
|
||||||
"LabelDownloadInternetMetadataHelp": "\u0422\u043e\u043b\u044b \u043a\u04e9\u0440\u0441\u0435\u0442\u0456\u043b\u0456\u043c\u0434\u0435\u0440\u0434\u0456 \u049b\u043e\u0441\u0443 \u04af\u0448\u0456\u043d Emby Server \u0442\u0430\u0441\u044b\u0493\u044b\u0448\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440 \u0442\u0443\u0440\u0430\u043b\u044b \u043c\u04d9\u043b\u0456\u043c\u0435\u0442\u0442\u0435\u0440\u0434\u0456 \u0436\u04af\u043a\u0442\u0435\u0443\u0456 \u043c\u04af\u043c\u043a\u0456\u043d.",
|
"LabelDownloadInternetMetadataHelp": "\u041c\u0430\u0437\u043c\u04b1\u043d\u0434\u044b \u043a\u04e9\u0440\u043c\u0435\u043b\u0435\u0440\u0434\u0456 \u049b\u043e\u0441\u0443 \u04af\u0448\u0456\u043d Emby Server \u0442\u0430\u0441\u044b\u0493\u044b\u0448\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440 \u0442\u0443\u0440\u0430\u043b\u044b \u043c\u04d9\u043b\u0456\u043c\u0435\u0442\u0442\u0435\u0440\u0434\u0456 \u0436\u04af\u043a\u0442\u0435\u0443\u0456 \u043c\u04af\u043c\u043a\u0456\u043d.",
|
||||||
"TabPreferences": "\u0422\u0435\u04a3\u0448\u0435\u043b\u0456\u043c\u0434\u0435\u0440",
|
"TabPreferences": "\u0422\u0435\u04a3\u0448\u0435\u043b\u0456\u043c\u0434\u0435\u0440",
|
||||||
"TabPassword": "\u049a\u04b1\u043f\u0438\u044f \u0441\u04e9\u0437",
|
"TabPassword": "\u049a\u04b1\u043f\u0438\u044f \u0441\u04e9\u0437",
|
||||||
"TabLibraryAccess": "\u0422\u0430\u0441\u044b\u0493\u044b\u0448\u0445\u0430\u043d\u0430\u0493\u0430 \u049b\u0430\u0442\u044b\u043d\u0430\u0443",
|
"TabLibraryAccess": "\u0422\u0430\u0441\u044b\u0493\u044b\u0448\u0445\u0430\u043d\u0430\u0493\u0430 \u049b\u0430\u0442\u044b\u043d\u0430\u0443",
|
||||||
|
@ -955,6 +955,7 @@
|
||||||
"ViewTypeMovieFavorites": "\u0422\u0430\u04a3\u0434\u0430\u0443\u043b\u044b\u043b\u0430\u0440",
|
"ViewTypeMovieFavorites": "\u0422\u0430\u04a3\u0434\u0430\u0443\u043b\u044b\u043b\u0430\u0440",
|
||||||
"ViewTypeMovieGenres": "\u0416\u0430\u043d\u0440\u043b\u0430\u0440",
|
"ViewTypeMovieGenres": "\u0416\u0430\u043d\u0440\u043b\u0430\u0440",
|
||||||
"ViewTypeMusicLatest": "\u0415\u04a3 \u043a\u0435\u0439\u0456\u043d\u0433\u0456",
|
"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",
|
"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",
|
"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",
|
"HeaderOtherDisplaySettings": "\u0411\u0435\u0439\u043d\u0435\u043b\u0435\u0443 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043b\u0435\u0440\u0456",
|
||||||
|
@ -1413,5 +1414,8 @@
|
||||||
"ButtonMyPreferencesWelcomeNo": "\u0416\u043e\u049b, \u0440\u0430\u0445\u043c\u0435\u0442, \u043c\u0435\u043d \u043e\u043d\u044b \u043a\u0435\u0439\u0456\u043d\u0456\u0440\u0435\u043a \u0456\u0441\u0442\u0435\u0439\u043c\u0456\u043d.",
|
"ButtonMyPreferencesWelcomeNo": "\u0416\u043e\u049b, \u0440\u0430\u0445\u043c\u0435\u0442, \u043c\u0435\u043d \u043e\u043d\u044b \u043a\u0435\u0439\u0456\u043d\u0456\u0440\u0435\u043a \u0456\u0441\u0442\u0435\u0439\u043c\u0456\u043d.",
|
||||||
"MyPreferencesWelcomeMessage1": "\u0421\u0456\u0437 \u049b\u0430\u043b\u0430\u0439 \u0442\u0430\u043c\u0430\u0448\u0430\u043b\u0430\u0439\u0442\u044b\u043d\u044b\u043d \u043e\u0439\u043b\u0430\u0441\u0442\u044b\u0440\u044b\u043f \u0441\u0456\u0437\u0434\u0456\u04a3 \u0442\u0430\u0441\u044b\u0493\u044b\u0448\u0445\u0430\u043d\u0430\u04a3\u044b\u0437\u0434\u044b \u043a\u04e9\u0440\u0441\u0435\u0442\u0442\u0456\u043c\u0456\u0437. \u0422\u0435\u04a3\u0448\u0435\u043b\u0456\u043c\u0434\u0435\u0440\u0456\u04a3\u0456\u0437\u0434\u0456 \u0440\u0435\u0442\u0442\u0435\u0443 \u0430\u0440\u049b\u044b\u043b\u044b \u043c\u0430\u0437\u043c\u04b1\u043d \u0431\u0435\u0437\u0435\u043d\u0434\u0456\u0440\u0443\u0456 \u043c\u0435\u043d \u0442\u043e\u043f\u0442\u0430\u0441\u0442\u044b\u0440\u0443\u044b \u043a\u0435\u0437 \u043a\u0435\u043b\u0433\u0435\u043d \u0443\u0430\u049b\u044b\u0442\u0442\u0430 \u04e9\u0437\u0433\u0435\u0440\u0442\u0456\u043b\u0443\u0456 \u043c\u04af\u043c\u043a\u0456\u043d. \u0421\u0456\u0437\u0434\u0456\u04a3 \u0442\u0435\u04a3\u0448\u0435\u043b\u0456\u043c\u0434\u0435\u0440\u0456\u04a3\u0456\u0437 \u0431\u0430\u0440\u043b\u044b\u049b Emby \u049b\u043e\u043b\u0434\u0430\u043d\u0431\u0430\u043b\u0430\u0440\u044b\u043d\u0434\u0430 \u049b\u043e\u043b\u0434\u0430\u043d\u044b\u043b\u0430\u0434\u044b.",
|
"MyPreferencesWelcomeMessage1": "\u0421\u0456\u0437 \u049b\u0430\u043b\u0430\u0439 \u0442\u0430\u043c\u0430\u0448\u0430\u043b\u0430\u0439\u0442\u044b\u043d\u044b\u043d \u043e\u0439\u043b\u0430\u0441\u0442\u044b\u0440\u044b\u043f \u0441\u0456\u0437\u0434\u0456\u04a3 \u0442\u0430\u0441\u044b\u0493\u044b\u0448\u0445\u0430\u043d\u0430\u04a3\u044b\u0437\u0434\u044b \u043a\u04e9\u0440\u0441\u0435\u0442\u0442\u0456\u043c\u0456\u0437. \u0422\u0435\u04a3\u0448\u0435\u043b\u0456\u043c\u0434\u0435\u0440\u0456\u04a3\u0456\u0437\u0434\u0456 \u0440\u0435\u0442\u0442\u0435\u0443 \u0430\u0440\u049b\u044b\u043b\u044b \u043c\u0430\u0437\u043c\u04b1\u043d \u0431\u0435\u0437\u0435\u043d\u0434\u0456\u0440\u0443\u0456 \u043c\u0435\u043d \u0442\u043e\u043f\u0442\u0430\u0441\u0442\u044b\u0440\u0443\u044b \u043a\u0435\u0437 \u043a\u0435\u043b\u0433\u0435\u043d \u0443\u0430\u049b\u044b\u0442\u0442\u0430 \u04e9\u0437\u0433\u0435\u0440\u0442\u0456\u043b\u0443\u0456 \u043c\u04af\u043c\u043a\u0456\u043d. \u0421\u0456\u0437\u0434\u0456\u04a3 \u0442\u0435\u04a3\u0448\u0435\u043b\u0456\u043c\u0434\u0435\u0440\u0456\u04a3\u0456\u0437 \u0431\u0430\u0440\u043b\u044b\u049b Emby \u049b\u043e\u043b\u0434\u0430\u043d\u0431\u0430\u043b\u0430\u0440\u044b\u043d\u0434\u0430 \u049b\u043e\u043b\u0434\u0430\u043d\u044b\u043b\u0430\u0434\u044b.",
|
||||||
"MyPreferencesWelcomeMessage2": "\u0421\u0456\u0437 \u0435\u043d\u0434\u0456 \u04e9\u0437 \u0442\u0435\u04a3\u0448\u0435\u043b\u0456\u043c\u0434\u0435\u0440\u0456\u043d\u0456\u0437\u0434\u0456 \u043e\u0440\u043d\u0430\u0442\u0443\u044b\u043d \u049b\u0430\u043b\u0430\u0439\u0441\u044b\u0437 \u0431\u0430?",
|
"MyPreferencesWelcomeMessage2": "\u0421\u0456\u0437 \u0435\u043d\u0434\u0456 \u04e9\u0437 \u0442\u0435\u04a3\u0448\u0435\u043b\u0456\u043c\u0434\u0435\u0440\u0456\u043d\u0456\u0437\u0434\u0456 \u043e\u0440\u043d\u0430\u0442\u0443\u044b\u043d \u049b\u0430\u043b\u0430\u0439\u0441\u044b\u0437 \u0431\u0430?",
|
||||||
"ToAccessPreferencesHelp": "\u0422\u0435\u04a3\u0448\u0435\u043b\u0456\u043c\u0434\u0435\u0440\u0456\u04a3\u0456\u0437\u0433\u0435 \u043a\u0435\u0439\u0456\u043d\u0456\u0440\u0435\u043a \u049b\u0430\u0442\u044b\u043d\u0430\u0443 \u04af\u0448\u0456\u043d, \u04af\u0441\u0442\u0456\u04a3\u0433\u0456 \u0434\u0435\u0440\u0435\u043a\u0442\u0435\u043c\u0435\u0441\u0456 \u043e\u04a3 \u0436\u0430\u0493\u044b\u043d\u0434\u0430\u0493\u044b \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b \u0431\u0435\u043b\u0433\u0456\u0448\u0435\u0441\u0456\u043d \u0431\u0430\u0441\u044b\u04a3\u044b\u0437 \u0436\u04d9\u043d\u0435 \u041c\u0435\u043d\u0456\u04a3 \u0442\u0435\u04a3\u0448\u0435\u043b\u0456\u043c\u0434\u0435\u0440\u0456\u043c\u0434\u0456 \u0442\u0430\u04a3\u0434\u0430\u04a3\u044b\u0437."
|
"ToAccessPreferencesHelp": "\u0422\u0435\u04a3\u0448\u0435\u043b\u0456\u043c\u0434\u0435\u0440\u0456\u04a3\u0456\u0437\u0433\u0435 \u043a\u0435\u0439\u0456\u043d\u0456\u0440\u0435\u043a \u049b\u0430\u0442\u044b\u043d\u0430\u0443 \u04af\u0448\u0456\u043d, \u04af\u0441\u0442\u0456\u04a3\u0433\u0456 \u0434\u0435\u0440\u0435\u043a\u0442\u0435\u043c\u0435\u0441\u0456 \u043e\u04a3 \u0436\u0430\u0493\u044b\u043d\u0434\u0430\u0493\u044b \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b \u0431\u0435\u043b\u0433\u0456\u0448\u0435\u0441\u0456\u043d \u0431\u0430\u0441\u044b\u04a3\u044b\u0437 \u0436\u04d9\u043d\u0435 \u041c\u0435\u043d\u0456\u04a3 \u0442\u0435\u04a3\u0448\u0435\u043b\u0456\u043c\u0434\u0435\u0440\u0456\u043c\u0434\u0456 \u0442\u0430\u04a3\u0434\u0430\u04a3\u044b\u0437.",
|
||||||
|
"HeaderViewStyles": "\u0410\u0441\u043f\u0435\u043a\u0442 \u043c\u04d9\u043d\u0435\u0440\u043b\u0435\u0440\u0456",
|
||||||
|
"LabelSelectViewStyles": "\u041c\u044b\u043d\u0430\u0443 \u04af\u0448\u0456\u043d \u043c\u0430\u0437\u043c\u04b1\u043d\u0434\u044b \u043a\u04e9\u0440\u043c\u0435\u043b\u0435\u0440\u0434\u0456 \u049b\u043e\u0441\u0443:",
|
||||||
|
"LabelSelectViewStylesHelp": "\u049a\u043e\u0441\u044b\u043b\u0441\u0430, \u043c\u04b1\u043d\u0434\u0430\u0439 \u04b0\u0441\u044b\u043d\u044b\u0441\u0442\u0430\u0440, \u0415\u04a3 \u043a\u0435\u0439\u0456\u043d\u0433\u0456, \u0416\u0430\u043d\u0440\u043b\u0430\u0440\u0434\u044b \u0436\u04d9\u043d\u0435 \u0431\u0430\u0441\u049b\u0430 \u0434\u0430 \u0441\u0430\u043d\u0430\u0442\u0442\u0430\u0440\u044b\u043d \u04b1\u0441\u044b\u043d\u0443 \u04af\u0448\u0456\u043d \u0430\u0441\u043f\u0435\u043a\u0442\u0442\u0435\u0440 \u043c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440 \u0430\u0440\u049b\u044b\u043b\u044b \u049b\u04b1\u0440\u044b\u043b\u0430\u0434\u044b. \u0410\u0436\u044b\u0440\u0430\u0442\u044b\u043b\u0441\u0430, \u043e\u043b\u0430\u0440 \u049b\u0430\u0440\u0430\u043f\u0430\u0439\u044b\u043c \u049b\u0430\u043b\u0442\u0430\u043b\u0430\u0440 \u0430\u0440\u049b\u044b\u043b\u044b \u043a\u04e9\u0440\u0441\u0435\u0442\u0456\u043b\u0435\u0434\u0456."
|
||||||
}
|
}
|
|
@ -955,6 +955,7 @@
|
||||||
"ViewTypeMovieFavorites": "Favorites",
|
"ViewTypeMovieFavorites": "Favorites",
|
||||||
"ViewTypeMovieGenres": "Genres",
|
"ViewTypeMovieGenres": "Genres",
|
||||||
"ViewTypeMusicLatest": "Latest",
|
"ViewTypeMusicLatest": "Latest",
|
||||||
|
"ViewTypeMusicPlaylists": "Playlists",
|
||||||
"ViewTypeMusicAlbums": "Albums",
|
"ViewTypeMusicAlbums": "Albums",
|
||||||
"ViewTypeMusicAlbumArtists": "Album Artists",
|
"ViewTypeMusicAlbumArtists": "Album Artists",
|
||||||
"HeaderOtherDisplaySettings": "Display Settings",
|
"HeaderOtherDisplaySettings": "Display Settings",
|
||||||
|
@ -1413,5 +1414,8 @@
|
||||||
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
||||||
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
||||||
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
||||||
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences."
|
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences.",
|
||||||
|
"HeaderViewStyles": "View Styles",
|
||||||
|
"LabelSelectViewStyles": "Enable rich presentations for:",
|
||||||
|
"LabelSelectViewStylesHelp": "If enabled, views will be built with metadata to offer categories such as Suggestions, Latest, Genres, and more. If disabled, they'll be displayed with simple folders."
|
||||||
}
|
}
|
|
@ -955,6 +955,7 @@
|
||||||
"ViewTypeMovieFavorites": "Favorites",
|
"ViewTypeMovieFavorites": "Favorites",
|
||||||
"ViewTypeMovieGenres": "Genres",
|
"ViewTypeMovieGenres": "Genres",
|
||||||
"ViewTypeMusicLatest": "Latest",
|
"ViewTypeMusicLatest": "Latest",
|
||||||
|
"ViewTypeMusicPlaylists": "Playlists",
|
||||||
"ViewTypeMusicAlbums": "Albums",
|
"ViewTypeMusicAlbums": "Albums",
|
||||||
"ViewTypeMusicAlbumArtists": "Album Artists",
|
"ViewTypeMusicAlbumArtists": "Album Artists",
|
||||||
"HeaderOtherDisplaySettings": "Display Settings",
|
"HeaderOtherDisplaySettings": "Display Settings",
|
||||||
|
@ -1413,5 +1414,8 @@
|
||||||
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
||||||
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
||||||
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
||||||
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences."
|
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences.",
|
||||||
|
"HeaderViewStyles": "View Styles",
|
||||||
|
"LabelSelectViewStyles": "Enable rich presentations for:",
|
||||||
|
"LabelSelectViewStylesHelp": "If enabled, views will be built with metadata to offer categories such as Suggestions, Latest, Genres, and more. If disabled, they'll be displayed with simple folders."
|
||||||
}
|
}
|
|
@ -53,22 +53,22 @@
|
||||||
"LabelAddConnectSupporterHelp": "To add a user who isn't listed, you'll need to first link their account to Emby Connect from their user profile page.",
|
"LabelAddConnectSupporterHelp": "To add a user who isn't listed, you'll need to first link their account to Emby Connect from their user profile page.",
|
||||||
"LabelPinCode": "Pin kode:",
|
"LabelPinCode": "Pin kode:",
|
||||||
"OptionHideWatchedContentFromLatestMedia": "Hide watched content from latest media",
|
"OptionHideWatchedContentFromLatestMedia": "Hide watched content from latest media",
|
||||||
"HeaderSync": "Sync",
|
"HeaderSync": "Synk.",
|
||||||
"ButtonOk": "Ok",
|
"ButtonOk": "Ok",
|
||||||
"ButtonCancel": "Avbryt",
|
"ButtonCancel": "Avbryt",
|
||||||
"ButtonExit": "Exit",
|
"ButtonExit": "Avslutt",
|
||||||
"ButtonNew": "Ny",
|
"ButtonNew": "Ny",
|
||||||
"HeaderTV": "TV",
|
"HeaderTV": "TV",
|
||||||
"HeaderAudio": "Lyd",
|
"HeaderAudio": "Lyd",
|
||||||
"HeaderVideo": "Video",
|
"HeaderVideo": "Video",
|
||||||
"HeaderPaths": "Stier",
|
"HeaderPaths": "Stier",
|
||||||
"CategorySync": "Synk",
|
"CategorySync": "Synk",
|
||||||
"TabPlaylist": "Playlist",
|
"TabPlaylist": "Spilleliste",
|
||||||
"HeaderEasyPinCode": "Enkel PIN-kode",
|
"HeaderEasyPinCode": "Enkel PIN-kode",
|
||||||
"HeaderGrownupsOnly": "Grown-ups Only!",
|
"HeaderGrownupsOnly": "Grown-ups Only!",
|
||||||
"DividerOr": "-- eller --",
|
"DividerOr": "-- eller --",
|
||||||
"HeaderInstalledServices": "Installerte programtillegg",
|
"HeaderInstalledServices": "Installerte programtillegg",
|
||||||
"HeaderAvailableServices": "Available Services",
|
"HeaderAvailableServices": "Tilgjengelige tjenester",
|
||||||
"MessageNoServicesInstalled": "No services are currently installed.",
|
"MessageNoServicesInstalled": "No services are currently installed.",
|
||||||
"HeaderToAccessPleaseEnterEasyPinCode": "To access, please enter your easy pin code",
|
"HeaderToAccessPleaseEnterEasyPinCode": "To access, please enter your easy pin code",
|
||||||
"KidsModeAdultInstruction": "Click the lock icon in the bottom right to configure or leave kids mode. Your pin code will be required.",
|
"KidsModeAdultInstruction": "Click the lock icon in the bottom right to configure or leave kids mode. Your pin code will be required.",
|
||||||
|
@ -109,7 +109,7 @@
|
||||||
"ReferToMediaLibraryWiki": "Se i wik for media-biblioteket.",
|
"ReferToMediaLibraryWiki": "Se i wik for media-biblioteket.",
|
||||||
"LabelCountry": "Land:",
|
"LabelCountry": "Land:",
|
||||||
"LabelLanguage": "Spr\u00e5k:",
|
"LabelLanguage": "Spr\u00e5k:",
|
||||||
"LabelTimeLimitHours": "Time limit (hours):",
|
"LabelTimeLimitHours": "Tidsbegrensning (timer):",
|
||||||
"ButtonJoinTheDevelopmentTeam": "Bli med i utvikler-teamet",
|
"ButtonJoinTheDevelopmentTeam": "Bli med i utvikler-teamet",
|
||||||
"HeaderPreferredMetadataLanguage": "Foretrukket spr\u00e5k for metadata",
|
"HeaderPreferredMetadataLanguage": "Foretrukket spr\u00e5k for metadata",
|
||||||
"LabelSaveLocalMetadata": "Lagre cover og metadata i medie-mappene",
|
"LabelSaveLocalMetadata": "Lagre cover og metadata i medie-mappene",
|
||||||
|
@ -295,7 +295,7 @@
|
||||||
"CheckoutKnowledgeBase": "Check out our knowledge base to help you get the most out of Emby.",
|
"CheckoutKnowledgeBase": "Check out our knowledge base to help you get the most out of Emby.",
|
||||||
"SearchKnowledgeBase": "S\u00f8k kunnskapsbasen",
|
"SearchKnowledgeBase": "S\u00f8k kunnskapsbasen",
|
||||||
"VisitTheCommunity": "Bes\u00f8k oss",
|
"VisitTheCommunity": "Bes\u00f8k oss",
|
||||||
"VisitProjectWebsite": "Visit the Emby Web Site",
|
"VisitProjectWebsite": "Bes\u00f8k Emby Media",
|
||||||
"VisitProjectWebsiteLong": "Visit the Emby Web site to catch the latest news and keep up with the developer blog.",
|
"VisitProjectWebsiteLong": "Visit the Emby Web site to catch the latest news and keep up with the developer blog.",
|
||||||
"OptionHideUser": "Skjul brukere fra logginn-skjermen",
|
"OptionHideUser": "Skjul brukere fra logginn-skjermen",
|
||||||
"OptionHideUserFromLoginHelp": "Praktisk for private eller skjulte administratorer. Brukeren vil m\u00e5tte logge inn manuelt ved \u00e5 skrive inn brukernavn og passord.",
|
"OptionHideUserFromLoginHelp": "Praktisk for private eller skjulte administratorer. Brukeren vil m\u00e5tte logge inn manuelt ved \u00e5 skrive inn brukernavn og passord.",
|
||||||
|
@ -551,7 +551,7 @@
|
||||||
"LabelPublicHttpsPort": "Offentlig HTTPS port:",
|
"LabelPublicHttpsPort": "Offentlig HTTPS port:",
|
||||||
"LabelPublicHttpsPortHelp": "Den offentlige porten som den lokale porten kobles til.",
|
"LabelPublicHttpsPortHelp": "Den offentlige porten som den lokale porten kobles til.",
|
||||||
"LabelEnableHttps": "Oppgi HTTPS som ekstern adresse",
|
"LabelEnableHttps": "Oppgi HTTPS som ekstern adresse",
|
||||||
"LabelEnableHttpsHelp": "Hvis denne er aktivert vil serveren oppgi en HTTPS URL som sin eksterne adresse. Dette kan \u00f8delegge for klienter som enda ikke st\u00f8tter HTTPS.",
|
"LabelEnableHttpsHelp": "Hvis denne er aktivert vil serveren oppgi en HTTPS URL som sin eksterne adresse. Dette kan \u00f8delegge for klienter som enda ikke st\u00f8tter HTTPS",
|
||||||
"LabelHttpsPort": "Lokal HTTPS port:",
|
"LabelHttpsPort": "Lokal HTTPS port:",
|
||||||
"LabelHttpsPortHelp": "The tcp port number that Emby's https server should bind to.",
|
"LabelHttpsPortHelp": "The tcp port number that Emby's https server should bind to.",
|
||||||
"LabelWebSocketPortNumber": "Web socket portnummer:",
|
"LabelWebSocketPortNumber": "Web socket portnummer:",
|
||||||
|
@ -955,6 +955,7 @@
|
||||||
"ViewTypeMovieFavorites": "Favoritter",
|
"ViewTypeMovieFavorites": "Favoritter",
|
||||||
"ViewTypeMovieGenres": "Sjangere",
|
"ViewTypeMovieGenres": "Sjangere",
|
||||||
"ViewTypeMusicLatest": "Siste",
|
"ViewTypeMusicLatest": "Siste",
|
||||||
|
"ViewTypeMusicPlaylists": "Playlists",
|
||||||
"ViewTypeMusicAlbums": "Albumer",
|
"ViewTypeMusicAlbums": "Albumer",
|
||||||
"ViewTypeMusicAlbumArtists": "Album artister",
|
"ViewTypeMusicAlbumArtists": "Album artister",
|
||||||
"HeaderOtherDisplaySettings": "Visnings Innstillinger",
|
"HeaderOtherDisplaySettings": "Visnings Innstillinger",
|
||||||
|
@ -1413,5 +1414,8 @@
|
||||||
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
||||||
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
||||||
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
||||||
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences."
|
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences.",
|
||||||
|
"HeaderViewStyles": "View Styles",
|
||||||
|
"LabelSelectViewStyles": "Enable rich presentations for:",
|
||||||
|
"LabelSelectViewStylesHelp": "If enabled, views will be built with metadata to offer categories such as Suggestions, Latest, Genres, and more. If disabled, they'll be displayed with simple folders."
|
||||||
}
|
}
|
|
@ -955,6 +955,7 @@
|
||||||
"ViewTypeMovieFavorites": "Favorieten",
|
"ViewTypeMovieFavorites": "Favorieten",
|
||||||
"ViewTypeMovieGenres": "Genres",
|
"ViewTypeMovieGenres": "Genres",
|
||||||
"ViewTypeMusicLatest": "Nieuwste",
|
"ViewTypeMusicLatest": "Nieuwste",
|
||||||
|
"ViewTypeMusicPlaylists": "Playlists",
|
||||||
"ViewTypeMusicAlbums": "Albums",
|
"ViewTypeMusicAlbums": "Albums",
|
||||||
"ViewTypeMusicAlbumArtists": "Album artiesten",
|
"ViewTypeMusicAlbumArtists": "Album artiesten",
|
||||||
"HeaderOtherDisplaySettings": "Beeld instellingen",
|
"HeaderOtherDisplaySettings": "Beeld instellingen",
|
||||||
|
@ -1413,5 +1414,8 @@
|
||||||
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
||||||
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
||||||
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
||||||
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences."
|
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences.",
|
||||||
|
"HeaderViewStyles": "View Styles",
|
||||||
|
"LabelSelectViewStyles": "Enable rich presentations for:",
|
||||||
|
"LabelSelectViewStylesHelp": "If enabled, views will be built with metadata to offer categories such as Suggestions, Latest, Genres, and more. If disabled, they'll be displayed with simple folders."
|
||||||
}
|
}
|
|
@ -955,6 +955,7 @@
|
||||||
"ViewTypeMovieFavorites": "Favorites",
|
"ViewTypeMovieFavorites": "Favorites",
|
||||||
"ViewTypeMovieGenres": "Genres",
|
"ViewTypeMovieGenres": "Genres",
|
||||||
"ViewTypeMusicLatest": "Latest",
|
"ViewTypeMusicLatest": "Latest",
|
||||||
|
"ViewTypeMusicPlaylists": "Playlists",
|
||||||
"ViewTypeMusicAlbums": "Albums",
|
"ViewTypeMusicAlbums": "Albums",
|
||||||
"ViewTypeMusicAlbumArtists": "Album Artists",
|
"ViewTypeMusicAlbumArtists": "Album Artists",
|
||||||
"HeaderOtherDisplaySettings": "Display Settings",
|
"HeaderOtherDisplaySettings": "Display Settings",
|
||||||
|
@ -1413,5 +1414,8 @@
|
||||||
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
||||||
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
||||||
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
||||||
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences."
|
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences.",
|
||||||
|
"HeaderViewStyles": "View Styles",
|
||||||
|
"LabelSelectViewStyles": "Enable rich presentations for:",
|
||||||
|
"LabelSelectViewStylesHelp": "If enabled, views will be built with metadata to offer categories such as Suggestions, Latest, Genres, and more. If disabled, they'll be displayed with simple folders."
|
||||||
}
|
}
|
|
@ -404,10 +404,10 @@
|
||||||
"ButtonRefresh": "Atualizar",
|
"ButtonRefresh": "Atualizar",
|
||||||
"ButtonAdvancedRefresh": "Atualiza\u00e7\u00e3o Avan\u00e7ada",
|
"ButtonAdvancedRefresh": "Atualiza\u00e7\u00e3o Avan\u00e7ada",
|
||||||
"OptionPriority": "Prioridade",
|
"OptionPriority": "Prioridade",
|
||||||
"OptionRecordOnAllChannels": "Gravar programa em todos os canais",
|
"OptionRecordOnAllChannels": "Gravar em todos os canais",
|
||||||
"OptionRecordAnytime": "Gravar programa a qualquer hora",
|
"OptionRecordAnytime": "Gravar a qualquer hora",
|
||||||
"OptionRecordOnlyNewEpisodes": "Gravar apenas novos epis\u00f3dios",
|
"OptionRecordOnlyNewEpisodes": "Gravar apenas novos epis\u00f3dios",
|
||||||
"HeaderRepeatingOptions": "Repeating Options",
|
"HeaderRepeatingOptions": "Op\u00e7\u00f5es de Repeti\u00e7\u00e3o",
|
||||||
"HeaderDays": "Dias",
|
"HeaderDays": "Dias",
|
||||||
"HeaderActiveRecordings": "Grava\u00e7\u00f5es Ativas",
|
"HeaderActiveRecordings": "Grava\u00e7\u00f5es Ativas",
|
||||||
"HeaderLatestRecordings": "Grava\u00e7\u00f5es Recentes",
|
"HeaderLatestRecordings": "Grava\u00e7\u00f5es Recentes",
|
||||||
|
@ -551,7 +551,7 @@
|
||||||
"LabelPublicHttpsPort": "N\u00famero da porta p\u00fablica de https:",
|
"LabelPublicHttpsPort": "N\u00famero da porta p\u00fablica de https:",
|
||||||
"LabelPublicHttpsPortHelp": "O n\u00famero da porta p\u00fablica que dever\u00e1 ser mapeada para a porta local de https.",
|
"LabelPublicHttpsPortHelp": "O n\u00famero da porta p\u00fablica que dever\u00e1 ser mapeada para a porta local de https.",
|
||||||
"LabelEnableHttps": "Reportar https como um endere\u00e7o externo",
|
"LabelEnableHttps": "Reportar https como um endere\u00e7o externo",
|
||||||
"LabelEnableHttpsHelp": "Se ativado, o servidor ir\u00e1 reportar uma url https para os clientes como um endere\u00e7o externo. Isto pode prejudicar o funcionamento de clientes que ainda n\u00e3o suportam https.",
|
"LabelEnableHttpsHelp": "Se ativado, o servidor ir\u00e1 reportar uma url https para os clientes como um endere\u00e7o externo.",
|
||||||
"LabelHttpsPort": "N\u00famero da porta local de https:",
|
"LabelHttpsPort": "N\u00famero da porta local de https:",
|
||||||
"LabelHttpsPortHelp": "O n\u00famero da porta tcp que o servidor https do Emby deveria se conectar.",
|
"LabelHttpsPortHelp": "O n\u00famero da porta tcp que o servidor https do Emby deveria se conectar.",
|
||||||
"LabelWebSocketPortNumber": "N\u00famero da porta do web socket:",
|
"LabelWebSocketPortNumber": "N\u00famero da porta do web socket:",
|
||||||
|
@ -888,9 +888,9 @@
|
||||||
"LabelHomePageSection2": "Tela de in\u00edcio se\u00e7\u00e3o 2:",
|
"LabelHomePageSection2": "Tela de in\u00edcio se\u00e7\u00e3o 2:",
|
||||||
"LabelHomePageSection3": "Tela de in\u00edcio se\u00e7\u00e3o 3:",
|
"LabelHomePageSection3": "Tela de in\u00edcio se\u00e7\u00e3o 3:",
|
||||||
"LabelHomePageSection4": "Tela de in\u00edcio se\u00e7\u00e3o 4:",
|
"LabelHomePageSection4": "Tela de in\u00edcio se\u00e7\u00e3o 4:",
|
||||||
"OptionMyMediaButtons": "My media (buttons)",
|
"OptionMyMediaButtons": "Minha m\u00eddia (bot\u00f5es)",
|
||||||
"OptionMyMedia": "My media",
|
"OptionMyMedia": "Minha m\u00eddia",
|
||||||
"OptionMyMediaSmall": "My media (small)",
|
"OptionMyMediaSmall": "Minha m\u00eddia (pequeno)",
|
||||||
"OptionResumablemedia": "Retomar",
|
"OptionResumablemedia": "Retomar",
|
||||||
"OptionLatestMedia": "M\u00eddias recentes",
|
"OptionLatestMedia": "M\u00eddias recentes",
|
||||||
"OptionLatestChannelMedia": "Itens recentes de canal",
|
"OptionLatestChannelMedia": "Itens recentes de canal",
|
||||||
|
@ -955,6 +955,7 @@
|
||||||
"ViewTypeMovieFavorites": "Favoritos",
|
"ViewTypeMovieFavorites": "Favoritos",
|
||||||
"ViewTypeMovieGenres": "G\u00eaneros",
|
"ViewTypeMovieGenres": "G\u00eaneros",
|
||||||
"ViewTypeMusicLatest": "Recentes",
|
"ViewTypeMusicLatest": "Recentes",
|
||||||
|
"ViewTypeMusicPlaylists": "Listas de Reprodu\u00e7\u00e3o",
|
||||||
"ViewTypeMusicAlbums": "\u00c1lbuns",
|
"ViewTypeMusicAlbums": "\u00c1lbuns",
|
||||||
"ViewTypeMusicAlbumArtists": "Artistas do \u00c1lbum",
|
"ViewTypeMusicAlbumArtists": "Artistas do \u00c1lbum",
|
||||||
"HeaderOtherDisplaySettings": "Ajustes de Exibi\u00e7\u00e3o",
|
"HeaderOtherDisplaySettings": "Ajustes de Exibi\u00e7\u00e3o",
|
||||||
|
@ -1392,26 +1393,29 @@
|
||||||
"LabelShowLibraryTileNamesHelp": "Determina se os t\u00edtulos ser\u00e3o exibidos embaixo das tiles da biblioteca na p\u00e1gina in\u00edcio",
|
"LabelShowLibraryTileNamesHelp": "Determina se os t\u00edtulos ser\u00e3o exibidos embaixo das tiles da biblioteca na p\u00e1gina in\u00edcio",
|
||||||
"OptionEnableTranscodingThrottle": "Ativar controlador de fluxo",
|
"OptionEnableTranscodingThrottle": "Ativar controlador de fluxo",
|
||||||
"OptionEnableTranscodingThrottleHelp": "O controlador de fluxo ajustar\u00e1 automaticamente a velocidade de transcodifica\u00e7\u00e3o para minimizar o uso da cpu no servidor durante a reprodu\u00e7\u00e3o.",
|
"OptionEnableTranscodingThrottleHelp": "O controlador de fluxo ajustar\u00e1 automaticamente a velocidade de transcodifica\u00e7\u00e3o para minimizar o uso da cpu no servidor durante a reprodu\u00e7\u00e3o.",
|
||||||
"LabelUploadSpeedLimit": "Limite de velocidade de upload (mbps):",
|
"LabelUploadSpeedLimit": "Limite de velocidade de upload (Mbps):",
|
||||||
"OptionAllowSyncTranscoding": "Permitir sincroniza\u00e7\u00e3o que necessite de transcodifica\u00e7\u00e3o",
|
"OptionAllowSyncTranscoding": "Permitir sincroniza\u00e7\u00e3o que necessite de transcodifica\u00e7\u00e3o",
|
||||||
"HeaderPlayback": "Reprodu\u00e7\u00e3o de M\u00eddia",
|
"HeaderPlayback": "Reprodu\u00e7\u00e3o de M\u00eddia",
|
||||||
"OptionAllowAudioPlaybackTranscoding": "Permitir reprodu\u00e7\u00e3o de \u00e1udio que necessite de transcodifica\u00e7\u00e3o",
|
"OptionAllowAudioPlaybackTranscoding": "Permitir reprodu\u00e7\u00e3o de \u00e1udio que necessite de transcodifica\u00e7\u00e3o",
|
||||||
"OptionAllowVideoPlaybackTranscoding": "Permitir reprodu\u00e7\u00e3o de v\u00eddeo que necessite de transcodifica\u00e7\u00e3o",
|
"OptionAllowVideoPlaybackTranscoding": "Permitir reprodu\u00e7\u00e3o de v\u00eddeo que necessite de transcodifica\u00e7\u00e3o",
|
||||||
"OptionAllowMediaPlaybackTranscodingHelp": "Os usu\u00e1rios receber\u00e3o mensagens de erro amig\u00e1veis quando o conte\u00fado n\u00e3o for reproduz\u00edvel, baseado nas pol\u00edticas.",
|
"OptionAllowMediaPlaybackTranscodingHelp": "Os usu\u00e1rios receber\u00e3o mensagens de erro amig\u00e1veis quando o conte\u00fado n\u00e3o for reproduz\u00edvel, baseado nas pol\u00edticas.",
|
||||||
"TabStreaming": "Streaming",
|
"TabStreaming": "Streaming",
|
||||||
"LabelRemoteClientBitrateLimit": "Limite de taxa de bits para o cliente remoto (mbps):",
|
"LabelRemoteClientBitrateLimit": "Limite de taxa de bits para o cliente remoto (Mbps):",
|
||||||
"LabelRemoteClientBitrateLimitHelp": "Um limite opcional da taxa de bits para todos os clientes remotos. Esta op\u00e7\u00e3o \u00e9 \u00fatil para evitar que os clientes demandem uma taxa de bits maior que a permitida pela sua conex\u00e3o.",
|
"LabelRemoteClientBitrateLimitHelp": "Um limite opcional da taxa de bits para todos os clientes remotos. Esta op\u00e7\u00e3o \u00e9 \u00fatil para evitar que os clientes demandem uma taxa de bits maior que a permitida pela sua conex\u00e3o.",
|
||||||
"LabelConversionCpuCoreLimit": "Limite de n\u00facleos da CPU:",
|
"LabelConversionCpuCoreLimit": "Limite de n\u00facleos da CPU:",
|
||||||
"LabelConversionCpuCoreLimitHelp": "Limite o n\u00famero de n\u00facleos da CPU que ser\u00e3o usados durante a convers\u00e3o na sincroniza\u00e7\u00e3o",
|
"LabelConversionCpuCoreLimitHelp": "Limite o n\u00famero de n\u00facleos da CPU que ser\u00e3o usados durante a convers\u00e3o na sincroniza\u00e7\u00e3o",
|
||||||
"OptionEnableFullSpeedConversion": "Ativar convers\u00e3o de alta velocidade",
|
"OptionEnableFullSpeedConversion": "Ativar convers\u00e3o de alta velocidade",
|
||||||
"OptionEnableFullSpeedConversionHelp": "Por padr\u00e3o, a convers\u00e3o na sincroniza\u00e7\u00e3o \u00e9 executada em uma velocidade baixa para reduzir o consumo de recursos.",
|
"OptionEnableFullSpeedConversionHelp": "Por padr\u00e3o, a convers\u00e3o na sincroniza\u00e7\u00e3o \u00e9 executada em uma velocidade baixa para minimizar o consumo de recursos.",
|
||||||
"HeaderPlaylists": "Playlists",
|
"HeaderPlaylists": "Listas de reprodu\u00e7\u00e3o",
|
||||||
"HeaderSelectDate": "Select Date",
|
"HeaderSelectDate": "Selecionar Data",
|
||||||
"HeaderWelcomeExclamation": "Welcome!",
|
"HeaderWelcomeExclamation": "Bem Vindo!",
|
||||||
"HeaderMyPreferences": "My Preferences",
|
"HeaderMyPreferences": "Minhas Prefer\u00eancias",
|
||||||
"ButtonMyPreferencesWelcomeYes": "Yes, I'd like to set my preferences now.",
|
"ButtonMyPreferencesWelcomeYes": "Sim, gostaria de definir minhas prefer\u00eancias agora.",
|
||||||
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
"ButtonMyPreferencesWelcomeNo": "N\u00e3o, obrigado. Farei mais tarde.",
|
||||||
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
"MyPreferencesWelcomeMessage1": "N\u00f3s exibimos sua biblioteca de uma forma que pensamos que ir\u00e1 gostar. A apar\u00eancia e o agrupamento de conte\u00fado podem ser mudados a qualquer hora ajustando suas prefer\u00eancias. Suas prefer\u00eancias ser\u00e3o aplicadas a todas as apps do Emby.",
|
||||||
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
"MyPreferencesWelcomeMessage2": "Gostaria de definir suas prefer\u00eancias agora?",
|
||||||
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences."
|
"ToAccessPreferencesHelp": "Para acessar suas prefer\u00eancias mais tarde, clique no \u00edcone do usu\u00e1rio no canto superior direito e selecione Minhas Prefer\u00eancias.",
|
||||||
|
"HeaderViewStyles": "Visualizar Estilos",
|
||||||
|
"LabelSelectViewStyles": "Ativar apresenta\u00e7\u00f5es melhoradas para:",
|
||||||
|
"LabelSelectViewStylesHelp": "Se ativada, as visualiza\u00e7\u00f5es ser\u00e3o feitas com metadados para oferecer categorias como Sugest\u00f5es, Recentes, G\u00eaneros e mais. Se desativada, elas ser\u00e3o exibidas como pastas simples."
|
||||||
}
|
}
|
|
@ -955,6 +955,7 @@
|
||||||
"ViewTypeMovieFavorites": "Favorites",
|
"ViewTypeMovieFavorites": "Favorites",
|
||||||
"ViewTypeMovieGenres": "Genres",
|
"ViewTypeMovieGenres": "Genres",
|
||||||
"ViewTypeMusicLatest": "Latest",
|
"ViewTypeMusicLatest": "Latest",
|
||||||
|
"ViewTypeMusicPlaylists": "Playlists",
|
||||||
"ViewTypeMusicAlbums": "Albums",
|
"ViewTypeMusicAlbums": "Albums",
|
||||||
"ViewTypeMusicAlbumArtists": "Album Artists",
|
"ViewTypeMusicAlbumArtists": "Album Artists",
|
||||||
"HeaderOtherDisplaySettings": "Display Settings",
|
"HeaderOtherDisplaySettings": "Display Settings",
|
||||||
|
@ -1413,5 +1414,8 @@
|
||||||
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
||||||
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
||||||
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
||||||
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences."
|
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences.",
|
||||||
|
"HeaderViewStyles": "View Styles",
|
||||||
|
"LabelSelectViewStyles": "Enable rich presentations for:",
|
||||||
|
"LabelSelectViewStylesHelp": "If enabled, views will be built with metadata to offer categories such as Suggestions, Latest, Genres, and more. If disabled, they'll be displayed with simple folders."
|
||||||
}
|
}
|
|
@ -115,7 +115,7 @@
|
||||||
"LabelSaveLocalMetadata": "\u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0438\u043b\u043b\u044e\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u0438 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435 \u0432\u043d\u0443\u0442\u0440\u044c \u043c\u0435\u0434\u0438\u0430\u043f\u0430\u043f\u043e\u043a",
|
"LabelSaveLocalMetadata": "\u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0438\u043b\u043b\u044e\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u0438 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435 \u0432\u043d\u0443\u0442\u0440\u044c \u043c\u0435\u0434\u0438\u0430\u043f\u0430\u043f\u043e\u043a",
|
||||||
"LabelSaveLocalMetadataHelp": "\u041f\u0440\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0438 \u0438\u043b\u043b\u044e\u0441\u0442\u0440\u0430\u0446\u0438\u0439 \u0438 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0432\u043d\u0443\u0442\u0440\u044c \u043c\u0435\u0434\u0438\u0430\u043f\u0430\u043f\u043e\u043a, \u043e\u043d\u0438 \u0431\u0443\u0434\u0443\u0442 \u0432 \u0442\u0430\u043a\u043e\u043c \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0438, \u0433\u0434\u0435 \u0438\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043b\u0435\u0433\u043a\u043e \u043f\u0440\u0430\u0432\u0438\u0442\u044c.",
|
"LabelSaveLocalMetadataHelp": "\u041f\u0440\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0438 \u0438\u043b\u043b\u044e\u0441\u0442\u0440\u0430\u0446\u0438\u0439 \u0438 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0432\u043d\u0443\u0442\u0440\u044c \u043c\u0435\u0434\u0438\u0430\u043f\u0430\u043f\u043e\u043a, \u043e\u043d\u0438 \u0431\u0443\u0434\u0443\u0442 \u0432 \u0442\u0430\u043a\u043e\u043c \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0438, \u0433\u0434\u0435 \u0438\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043b\u0435\u0433\u043a\u043e \u043f\u0440\u0430\u0432\u0438\u0442\u044c.",
|
||||||
"LabelDownloadInternetMetadata": "\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c \u0438\u043b\u043b\u044e\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u0438 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 \u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430",
|
"LabelDownloadInternetMetadata": "\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c \u0438\u043b\u043b\u044e\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u0438 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 \u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430",
|
||||||
"LabelDownloadInternetMetadataHelp": "\u0412 Emby Server \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e \u043c\u0435\u0434\u0438\u0430\u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0439.",
|
"LabelDownloadInternetMetadataHelp": "\u0412 Emby Server \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u043c\u0435\u0434\u0438\u0430\u0434\u0430\u043d\u043d\u044b\u0445, \u0447\u0442\u043e\u0431\u044b \u0432\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u043d\u0430\u0441\u044b\u0449\u0435\u043d\u043d\u044b\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f.",
|
||||||
"TabPreferences": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438",
|
"TabPreferences": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438",
|
||||||
"TabPassword": "\u041f\u0430\u0440\u043e\u043b\u044c",
|
"TabPassword": "\u041f\u0430\u0440\u043e\u043b\u044c",
|
||||||
"TabLibraryAccess": "\u0414\u043e\u0441\u0442\u0443\u043f \u043a \u043c\u0435\u0434\u0438\u0430\u0442\u0435\u043a\u0435",
|
"TabLibraryAccess": "\u0414\u043e\u0441\u0442\u0443\u043f \u043a \u043c\u0435\u0434\u0438\u0430\u0442\u0435\u043a\u0435",
|
||||||
|
@ -955,6 +955,7 @@
|
||||||
"ViewTypeMovieFavorites": "\u0418\u0437\u0431\u0440\u0430\u043d\u043d\u043e\u0435",
|
"ViewTypeMovieFavorites": "\u0418\u0437\u0431\u0440\u0430\u043d\u043d\u043e\u0435",
|
||||||
"ViewTypeMovieGenres": "\u0416\u0430\u043d\u0440\u044b",
|
"ViewTypeMovieGenres": "\u0416\u0430\u043d\u0440\u044b",
|
||||||
"ViewTypeMusicLatest": "\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435",
|
"ViewTypeMusicLatest": "\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435",
|
||||||
|
"ViewTypeMusicPlaylists": "\u0421\u043f\u0438\u0441\u043a\u0438 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f",
|
||||||
"ViewTypeMusicAlbums": "\u0410\u043b\u044c\u0431\u043e\u043c\u044b",
|
"ViewTypeMusicAlbums": "\u0410\u043b\u044c\u0431\u043e\u043c\u044b",
|
||||||
"ViewTypeMusicAlbumArtists": "\u0410\u043b\u044c\u0431\u043e\u043c\u043d\u044b\u0435 \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u0438",
|
"ViewTypeMusicAlbumArtists": "\u0410\u043b\u044c\u0431\u043e\u043c\u043d\u044b\u0435 \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u0438",
|
||||||
"HeaderOtherDisplaySettings": "\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f",
|
"HeaderOtherDisplaySettings": "\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f",
|
||||||
|
@ -1413,5 +1414,8 @@
|
||||||
"ButtonMyPreferencesWelcomeNo": "\u041d\u0435\u0442, \u0441\u043f\u0430\u0441\u0438\u0431\u043e, \u044f \u0441\u0434\u0435\u043b\u0430\u044e \u044d\u0442\u043e \u043f\u043e\u0442\u043e\u043c.",
|
"ButtonMyPreferencesWelcomeNo": "\u041d\u0435\u0442, \u0441\u043f\u0430\u0441\u0438\u0431\u043e, \u044f \u0441\u0434\u0435\u043b\u0430\u044e \u044d\u0442\u043e \u043f\u043e\u0442\u043e\u043c.",
|
||||||
"MyPreferencesWelcomeMessage1": "\u0412\u0430\u0448\u0430 \u043c\u0435\u0434\u0438\u0430\u0442\u0435\u043a\u0430 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0430 \u043d\u0430\u043c\u0438 \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u043a\u0430\u043a \u043c\u044b \u0434\u0443\u043c\u0430\u0435\u043c, \u0447\u0442\u043e \u0432\u0430\u043c \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u044f\u0442\u043d\u043e. \u0412\u043d\u0435\u0448\u043d\u0438\u0439 \u0432\u0438\u0434 \u0438 \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044f \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u044b \u0432 \u043b\u044e\u0431\u043e\u0435 \u0432\u0440\u0435\u043c\u044f, \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u0430\u0448\u0438\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a. \u0412\u0430\u0448\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0431\u0443\u0434\u0443\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c\u0441\u044f \u043a\u043e \u0432\u0441\u0435\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c Emby.",
|
"MyPreferencesWelcomeMessage1": "\u0412\u0430\u0448\u0430 \u043c\u0435\u0434\u0438\u0430\u0442\u0435\u043a\u0430 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0430 \u043d\u0430\u043c\u0438 \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u043a\u0430\u043a \u043c\u044b \u0434\u0443\u043c\u0430\u0435\u043c, \u0447\u0442\u043e \u0432\u0430\u043c \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u044f\u0442\u043d\u043e. \u0412\u043d\u0435\u0448\u043d\u0438\u0439 \u0432\u0438\u0434 \u0438 \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044f \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u044b \u0432 \u043b\u044e\u0431\u043e\u0435 \u0432\u0440\u0435\u043c\u044f, \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u0430\u0448\u0438\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a. \u0412\u0430\u0448\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0431\u0443\u0434\u0443\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c\u0441\u044f \u043a\u043e \u0432\u0441\u0435\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c Emby.",
|
||||||
"MyPreferencesWelcomeMessage2": "\u0425\u043e\u0442\u0435\u043b\u0438 \u0431\u044b \u0432\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u0432\u043e\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0441\u0435\u0439\u0447\u0430\u0441?",
|
"MyPreferencesWelcomeMessage2": "\u0425\u043e\u0442\u0435\u043b\u0438 \u0431\u044b \u0432\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u0432\u043e\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0441\u0435\u0439\u0447\u0430\u0441?",
|
||||||
"ToAccessPreferencesHelp": "\u0427\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u043e\u0437\u0436\u0435 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0432\u0430\u0448\u0438\u043c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c, \u0449\u0435\u043b\u043a\u043d\u0438\u0442\u0435 \u0437\u043d\u0430\u0447\u043e\u043a \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0441\u043f\u0440\u0430\u0432\u0430 \u043d\u0430 \u0432\u0435\u0440\u0445\u043d\u0435\u0439 \u0441\u043b\u0443\u0436\u0435\u0431\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0438 \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u041c\u043e\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438."
|
"ToAccessPreferencesHelp": "\u0427\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u043e\u0437\u0436\u0435 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0432\u0430\u0448\u0438\u043c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c, \u0449\u0435\u043b\u043a\u043d\u0438\u0442\u0435 \u0437\u043d\u0430\u0447\u043e\u043a \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0441\u043f\u0440\u0430\u0432\u0430 \u043d\u0430 \u0432\u0435\u0440\u0445\u043d\u0435\u0439 \u0441\u043b\u0443\u0436\u0435\u0431\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0438 \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u041c\u043e\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438.",
|
||||||
|
"HeaderViewStyles": "\u0421\u0442\u0438\u043b\u0438 \u0430\u0441\u043f\u0435\u043a\u0442\u043e\u0432",
|
||||||
|
"LabelSelectViewStyles": "\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043d\u0430\u0441\u044b\u0449\u0435\u043d\u043d\u044b\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u043b\u044f:",
|
||||||
|
"LabelSelectViewStylesHelp": "\u041f\u0440\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438, \u0430\u0441\u043f\u0435\u043a\u0442\u044b \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e\u043c \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0445, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u0442\u044c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044e \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440: \u041f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u043c\u043e\u0435, \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435, \u0416\u0430\u043d\u0440\u044b \u0438 \u043c\u043d\u043e\u0433\u043e\u0435 \u0434\u0440\u0443\u0433\u043e\u0435. \u041f\u0440\u0438 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438, \u043e\u043d\u0438 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u044e\u0442\u0441\u044f \u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e\u043c \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u043f\u0430\u043f\u043e\u043a."
|
||||||
}
|
}
|
|
@ -955,6 +955,7 @@
|
||||||
"ViewTypeMovieFavorites": "Favorites",
|
"ViewTypeMovieFavorites": "Favorites",
|
||||||
"ViewTypeMovieGenres": "Genres",
|
"ViewTypeMovieGenres": "Genres",
|
||||||
"ViewTypeMusicLatest": "Latest",
|
"ViewTypeMusicLatest": "Latest",
|
||||||
|
"ViewTypeMusicPlaylists": "Playlists",
|
||||||
"ViewTypeMusicAlbums": "Albums",
|
"ViewTypeMusicAlbums": "Albums",
|
||||||
"ViewTypeMusicAlbumArtists": "Album Artists",
|
"ViewTypeMusicAlbumArtists": "Album Artists",
|
||||||
"HeaderOtherDisplaySettings": "Display Settings",
|
"HeaderOtherDisplaySettings": "Display Settings",
|
||||||
|
@ -1413,5 +1414,8 @@
|
||||||
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
||||||
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
||||||
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
||||||
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences."
|
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences.",
|
||||||
|
"HeaderViewStyles": "View Styles",
|
||||||
|
"LabelSelectViewStyles": "Enable rich presentations for:",
|
||||||
|
"LabelSelectViewStylesHelp": "If enabled, views will be built with metadata to offer categories such as Suggestions, Latest, Genres, and more. If disabled, they'll be displayed with simple folders."
|
||||||
}
|
}
|
|
@ -955,6 +955,7 @@
|
||||||
"ViewTypeMovieFavorites": "Favoriter",
|
"ViewTypeMovieFavorites": "Favoriter",
|
||||||
"ViewTypeMovieGenres": "Genrer",
|
"ViewTypeMovieGenres": "Genrer",
|
||||||
"ViewTypeMusicLatest": "Nytillkommet",
|
"ViewTypeMusicLatest": "Nytillkommet",
|
||||||
|
"ViewTypeMusicPlaylists": "Playlists",
|
||||||
"ViewTypeMusicAlbums": "Album",
|
"ViewTypeMusicAlbums": "Album",
|
||||||
"ViewTypeMusicAlbumArtists": "Albumartister",
|
"ViewTypeMusicAlbumArtists": "Albumartister",
|
||||||
"HeaderOtherDisplaySettings": "Visningsinst\u00e4llningar",
|
"HeaderOtherDisplaySettings": "Visningsinst\u00e4llningar",
|
||||||
|
@ -1413,5 +1414,8 @@
|
||||||
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
||||||
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
||||||
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
||||||
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences."
|
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences.",
|
||||||
|
"HeaderViewStyles": "View Styles",
|
||||||
|
"LabelSelectViewStyles": "Enable rich presentations for:",
|
||||||
|
"LabelSelectViewStylesHelp": "If enabled, views will be built with metadata to offer categories such as Suggestions, Latest, Genres, and more. If disabled, they'll be displayed with simple folders."
|
||||||
}
|
}
|
|
@ -955,6 +955,7 @@
|
||||||
"ViewTypeMovieFavorites": "Favorites",
|
"ViewTypeMovieFavorites": "Favorites",
|
||||||
"ViewTypeMovieGenres": "Genres",
|
"ViewTypeMovieGenres": "Genres",
|
||||||
"ViewTypeMusicLatest": "Latest",
|
"ViewTypeMusicLatest": "Latest",
|
||||||
|
"ViewTypeMusicPlaylists": "Playlists",
|
||||||
"ViewTypeMusicAlbums": "Albums",
|
"ViewTypeMusicAlbums": "Albums",
|
||||||
"ViewTypeMusicAlbumArtists": "Album Artists",
|
"ViewTypeMusicAlbumArtists": "Album Artists",
|
||||||
"HeaderOtherDisplaySettings": "Display Settings",
|
"HeaderOtherDisplaySettings": "Display Settings",
|
||||||
|
@ -1413,5 +1414,8 @@
|
||||||
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
||||||
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
||||||
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
||||||
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences."
|
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences.",
|
||||||
|
"HeaderViewStyles": "View Styles",
|
||||||
|
"LabelSelectViewStyles": "Enable rich presentations for:",
|
||||||
|
"LabelSelectViewStylesHelp": "If enabled, views will be built with metadata to offer categories such as Suggestions, Latest, Genres, and more. If disabled, they'll be displayed with simple folders."
|
||||||
}
|
}
|
|
@ -955,6 +955,7 @@
|
||||||
"ViewTypeMovieFavorites": "Favorites",
|
"ViewTypeMovieFavorites": "Favorites",
|
||||||
"ViewTypeMovieGenres": "Genres",
|
"ViewTypeMovieGenres": "Genres",
|
||||||
"ViewTypeMusicLatest": "\u041e\u0441\u0442\u0430\u043d\u043d\u0456",
|
"ViewTypeMusicLatest": "\u041e\u0441\u0442\u0430\u043d\u043d\u0456",
|
||||||
|
"ViewTypeMusicPlaylists": "Playlists",
|
||||||
"ViewTypeMusicAlbums": "Albums",
|
"ViewTypeMusicAlbums": "Albums",
|
||||||
"ViewTypeMusicAlbumArtists": "Album Artists",
|
"ViewTypeMusicAlbumArtists": "Album Artists",
|
||||||
"HeaderOtherDisplaySettings": "Display Settings",
|
"HeaderOtherDisplaySettings": "Display Settings",
|
||||||
|
@ -1413,5 +1414,8 @@
|
||||||
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
||||||
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
||||||
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
||||||
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences."
|
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences.",
|
||||||
|
"HeaderViewStyles": "View Styles",
|
||||||
|
"LabelSelectViewStyles": "Enable rich presentations for:",
|
||||||
|
"LabelSelectViewStylesHelp": "If enabled, views will be built with metadata to offer categories such as Suggestions, Latest, Genres, and more. If disabled, they'll be displayed with simple folders."
|
||||||
}
|
}
|
|
@ -955,6 +955,7 @@
|
||||||
"ViewTypeMovieFavorites": "Favorites",
|
"ViewTypeMovieFavorites": "Favorites",
|
||||||
"ViewTypeMovieGenres": "Genres",
|
"ViewTypeMovieGenres": "Genres",
|
||||||
"ViewTypeMusicLatest": "Latest",
|
"ViewTypeMusicLatest": "Latest",
|
||||||
|
"ViewTypeMusicPlaylists": "Playlists",
|
||||||
"ViewTypeMusicAlbums": "Albums",
|
"ViewTypeMusicAlbums": "Albums",
|
||||||
"ViewTypeMusicAlbumArtists": "Album Artists",
|
"ViewTypeMusicAlbumArtists": "Album Artists",
|
||||||
"HeaderOtherDisplaySettings": "Display Settings",
|
"HeaderOtherDisplaySettings": "Display Settings",
|
||||||
|
@ -1413,5 +1414,8 @@
|
||||||
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
||||||
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
||||||
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
||||||
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences."
|
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences.",
|
||||||
|
"HeaderViewStyles": "View Styles",
|
||||||
|
"LabelSelectViewStyles": "Enable rich presentations for:",
|
||||||
|
"LabelSelectViewStylesHelp": "If enabled, views will be built with metadata to offer categories such as Suggestions, Latest, Genres, and more. If disabled, they'll be displayed with simple folders."
|
||||||
}
|
}
|
|
@ -955,6 +955,7 @@
|
||||||
"ViewTypeMovieFavorites": "\u6536\u85cf\u5939",
|
"ViewTypeMovieFavorites": "\u6536\u85cf\u5939",
|
||||||
"ViewTypeMovieGenres": "\u98ce\u683c",
|
"ViewTypeMovieGenres": "\u98ce\u683c",
|
||||||
"ViewTypeMusicLatest": "\u6700\u65b0",
|
"ViewTypeMusicLatest": "\u6700\u65b0",
|
||||||
|
"ViewTypeMusicPlaylists": "Playlists",
|
||||||
"ViewTypeMusicAlbums": "\u4e13\u8f91",
|
"ViewTypeMusicAlbums": "\u4e13\u8f91",
|
||||||
"ViewTypeMusicAlbumArtists": "\u4e13\u8f91\u827a\u672f\u5bb6",
|
"ViewTypeMusicAlbumArtists": "\u4e13\u8f91\u827a\u672f\u5bb6",
|
||||||
"HeaderOtherDisplaySettings": "\u663e\u793a\u8bbe\u7f6e",
|
"HeaderOtherDisplaySettings": "\u663e\u793a\u8bbe\u7f6e",
|
||||||
|
@ -1413,5 +1414,8 @@
|
||||||
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
||||||
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
||||||
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
||||||
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences."
|
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences.",
|
||||||
|
"HeaderViewStyles": "View Styles",
|
||||||
|
"LabelSelectViewStyles": "Enable rich presentations for:",
|
||||||
|
"LabelSelectViewStylesHelp": "If enabled, views will be built with metadata to offer categories such as Suggestions, Latest, Genres, and more. If disabled, they'll be displayed with simple folders."
|
||||||
}
|
}
|
|
@ -955,6 +955,7 @@
|
||||||
"ViewTypeMovieFavorites": "Favorites",
|
"ViewTypeMovieFavorites": "Favorites",
|
||||||
"ViewTypeMovieGenres": "Genres",
|
"ViewTypeMovieGenres": "Genres",
|
||||||
"ViewTypeMusicLatest": "Latest",
|
"ViewTypeMusicLatest": "Latest",
|
||||||
|
"ViewTypeMusicPlaylists": "Playlists",
|
||||||
"ViewTypeMusicAlbums": "Albums",
|
"ViewTypeMusicAlbums": "Albums",
|
||||||
"ViewTypeMusicAlbumArtists": "Album Artists",
|
"ViewTypeMusicAlbumArtists": "Album Artists",
|
||||||
"HeaderOtherDisplaySettings": "Display Settings",
|
"HeaderOtherDisplaySettings": "Display Settings",
|
||||||
|
@ -1413,5 +1414,8 @@
|
||||||
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
"ButtonMyPreferencesWelcomeNo": "No thanks, I'll do it later.",
|
||||||
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
"MyPreferencesWelcomeMessage1": "We've presented your library in a way we think you'll enjoy. The appearance and grouping of content can be changed anytime by adjusting your preferences. Your preferences will apply to all Emby apps.",
|
||||||
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
"MyPreferencesWelcomeMessage2": "Would you like to set your preferences now?",
|
||||||
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences."
|
"ToAccessPreferencesHelp": "To access your preferences later, click your user icon in the top right header and select My Preferences.",
|
||||||
|
"HeaderViewStyles": "View Styles",
|
||||||
|
"LabelSelectViewStyles": "Enable rich presentations for:",
|
||||||
|
"LabelSelectViewStylesHelp": "If enabled, views will be built with metadata to offer categories such as Suggestions, Latest, Genres, and more. If disabled, they'll be displayed with simple folders."
|
||||||
}
|
}
|
|
@ -208,15 +208,7 @@ namespace MediaBrowser.Server.Implementations.Persistence
|
||||||
result.LastErrorMessage = reader.GetString(7);
|
result.LastErrorMessage = reader.GetString(7);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!reader.IsDBNull(8))
|
// Skip metadata and image providers
|
||||||
{
|
|
||||||
result.MetadataProvidersRefreshed = reader.GetString(8).Split('|').Where(i => !string.IsNullOrEmpty(i)).Select(i => new Guid(i)).ToList();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!reader.IsDBNull(9))
|
|
||||||
{
|
|
||||||
result.ImageProvidersRefreshed = reader.GetString(9).Split('|').Where(i => !string.IsNullOrEmpty(i)).Select(i => new Guid(i)).ToList();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!reader.IsDBNull(10))
|
if (!reader.IsDBNull(10))
|
||||||
{
|
{
|
||||||
|
@ -251,8 +243,8 @@ namespace MediaBrowser.Server.Implementations.Persistence
|
||||||
_saveStatusCommand.GetParameter(5).Value = status.DateLastImagesRefresh;
|
_saveStatusCommand.GetParameter(5).Value = status.DateLastImagesRefresh;
|
||||||
_saveStatusCommand.GetParameter(6).Value = status.LastStatus.ToString();
|
_saveStatusCommand.GetParameter(6).Value = status.LastStatus.ToString();
|
||||||
_saveStatusCommand.GetParameter(7).Value = status.LastErrorMessage;
|
_saveStatusCommand.GetParameter(7).Value = status.LastErrorMessage;
|
||||||
_saveStatusCommand.GetParameter(8).Value = string.Join("|", status.MetadataProvidersRefreshed.ToArray());
|
_saveStatusCommand.GetParameter(8).Value = string.Empty;
|
||||||
_saveStatusCommand.GetParameter(9).Value = string.Join("|", status.ImageProvidersRefreshed.ToArray());
|
_saveStatusCommand.GetParameter(9).Value = string.Empty;
|
||||||
_saveStatusCommand.GetParameter(10).Value = status.ItemDateModified;
|
_saveStatusCommand.GetParameter(10).Value = status.ItemDateModified;
|
||||||
|
|
||||||
_saveStatusCommand.Transaction = transaction;
|
_saveStatusCommand.Transaction = transaction;
|
||||||
|
|
|
@ -94,7 +94,7 @@ namespace MediaBrowser.Server.Implementations.Photos
|
||||||
|
|
||||||
protected abstract Task<List<BaseItem>> GetItemsWithImages(IHasImages item);
|
protected abstract Task<List<BaseItem>> GetItemsWithImages(IHasImages item);
|
||||||
|
|
||||||
private const string Version = "29";
|
private const string Version = "32";
|
||||||
protected string GetConfigurationCacheKey(List<BaseItem> items, string itemName)
|
protected string GetConfigurationCacheKey(List<BaseItem> items, string itemName)
|
||||||
{
|
{
|
||||||
var parts = Version + "_" + (itemName ?? string.Empty) + "_" +
|
var parts = Version + "_" + (itemName ?? string.Empty) + "_" +
|
||||||
|
@ -103,9 +103,9 @@ namespace MediaBrowser.Server.Implementations.Photos
|
||||||
return parts.GetMD5().ToString("N");
|
return parts.GetMD5().ToString("N");
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void CreateThumbCollage(IHasImages primaryItem, List<BaseItem> items, string outputPath)
|
protected void CreateThumbCollage(IHasImages primaryItem, List<BaseItem> items, string outputPath, bool drawText)
|
||||||
{
|
{
|
||||||
CreateCollage(primaryItem, items, outputPath, 960, 540, true, primaryItem.Name);
|
CreateCollage(primaryItem, items, outputPath, 960, 540, drawText, primaryItem.Name);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected virtual IEnumerable<string> GetStripCollageImagePaths(IHasImages primaryItem, IEnumerable<BaseItem> items)
|
protected virtual IEnumerable<string> GetStripCollageImagePaths(IHasImages primaryItem, IEnumerable<BaseItem> items)
|
||||||
|
@ -120,9 +120,9 @@ namespace MediaBrowser.Server.Implementations.Photos
|
||||||
CreateCollage(primaryItem, items, outputPath, 600, 900, true, primaryItem.Name);
|
CreateCollage(primaryItem, items, outputPath, 600, 900, true, primaryItem.Name);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void CreateSquareCollage(IHasImages primaryItem, List<BaseItem> items, string outputPath)
|
protected void CreateSquareCollage(IHasImages primaryItem, List<BaseItem> items, string outputPath, bool drawText)
|
||||||
{
|
{
|
||||||
CreateCollage(primaryItem, items, outputPath, 800, 800, true, primaryItem.Name);
|
CreateCollage(primaryItem, items, outputPath, 800, 800, drawText, primaryItem.Name);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void CreateThumbCollage(IHasImages primaryItem, List<BaseItem> items, string outputPath, int width, int height, bool drawText, string text)
|
protected void CreateThumbCollage(IHasImages primaryItem, List<BaseItem> items, string outputPath, int width, int height, bool drawText, string text)
|
||||||
|
@ -162,17 +162,23 @@ namespace MediaBrowser.Server.Implementations.Photos
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var drawText = !(item is UserView);
|
||||||
|
|
||||||
if (imageType == ImageType.Thumb)
|
if (imageType == ImageType.Thumb)
|
||||||
{
|
{
|
||||||
CreateThumbCollage(item, itemsWithImages, outputPath);
|
CreateThumbCollage(item, itemsWithImages, outputPath, drawText);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (imageType == ImageType.Primary)
|
if (imageType == ImageType.Primary)
|
||||||
{
|
{
|
||||||
if (item is PhotoAlbum || item is Playlist)
|
if (item is UserView)
|
||||||
{
|
{
|
||||||
CreateSquareCollage(item, itemsWithImages, outputPath);
|
CreateSquareCollage(item, itemsWithImages, outputPath, drawText);
|
||||||
|
}
|
||||||
|
else if (item is PhotoAlbum || item is Playlist)
|
||||||
|
{
|
||||||
|
CreateSquareCollage(item, itemsWithImages, outputPath, drawText);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -222,7 +228,6 @@ namespace MediaBrowser.Server.Implementations.Photos
|
||||||
|
|
||||||
protected List<BaseItem> GetFinalItems(List<BaseItem> items)
|
protected List<BaseItem> GetFinalItems(List<BaseItem> items)
|
||||||
{
|
{
|
||||||
// Rotate the images no more than once per week
|
|
||||||
return GetFinalItems(items, 4);
|
return GetFinalItems(items, 4);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -9,18 +9,18 @@ using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace MediaBrowser.Server.Implementations.Photos
|
namespace MediaBrowser.Server.Implementations.Photos
|
||||||
{
|
{
|
||||||
public class PhotoAlbumImageProvider : BaseDynamicImageProvider<PhotoAlbum>
|
//public class PhotoAlbumImageProvider : BaseDynamicImageProvider<PhotoAlbum>
|
||||||
{
|
//{
|
||||||
public PhotoAlbumImageProvider(IFileSystem fileSystem, IProviderManager providerManager, IApplicationPaths applicationPaths, IImageProcessor imageProcessor) : base(fileSystem, providerManager, applicationPaths, imageProcessor)
|
// public PhotoAlbumImageProvider(IFileSystem fileSystem, IProviderManager providerManager, IApplicationPaths applicationPaths, IImageProcessor imageProcessor) : base(fileSystem, providerManager, applicationPaths, imageProcessor)
|
||||||
{
|
// {
|
||||||
}
|
// }
|
||||||
|
|
||||||
protected override Task<List<BaseItem>> GetItemsWithImages(IHasImages item)
|
// protected override Task<List<BaseItem>> GetItemsWithImages(IHasImages item)
|
||||||
{
|
// {
|
||||||
var photoAlbum = (PhotoAlbum)item;
|
// var photoAlbum = (PhotoAlbum)item;
|
||||||
var items = GetFinalItems(photoAlbum.Children.ToList());
|
// var items = GetFinalItems(photoAlbum.Children.ToList());
|
||||||
|
|
||||||
return Task.FromResult(items);
|
// return Task.FromResult(items);
|
||||||
}
|
// }
|
||||||
}
|
//}
|
||||||
}
|
}
|
||||||
|
|
|
@ -62,42 +62,18 @@ namespace MediaBrowser.Server.Implementations.UserViews
|
||||||
return new List<BaseItem>();
|
return new List<BaseItem>();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (string.Equals(view.ViewType, SpecialFolder.GameGenre, StringComparison.OrdinalIgnoreCase))
|
if (string.Equals(view.ViewType, SpecialFolder.GameGenre, StringComparison.OrdinalIgnoreCase) ||
|
||||||
{
|
string.Equals(view.ViewType, SpecialFolder.MusicGenre, StringComparison.OrdinalIgnoreCase) ||
|
||||||
var list = new List<BaseItem>();
|
string.Equals(view.ViewType, SpecialFolder.MovieGenre, StringComparison.OrdinalIgnoreCase) ||
|
||||||
|
|
||||||
var genre = _libraryManager.GetGameGenre(view.Name);
|
|
||||||
|
|
||||||
if (genre.HasImage(ImageType.Primary) || genre.HasImage(ImageType.Thumb))
|
|
||||||
{
|
|
||||||
list.Add(genre);
|
|
||||||
}
|
|
||||||
return list;
|
|
||||||
}
|
|
||||||
if (string.Equals(view.ViewType, SpecialFolder.MusicGenre, StringComparison.OrdinalIgnoreCase))
|
|
||||||
{
|
|
||||||
var list = new List<BaseItem>();
|
|
||||||
|
|
||||||
var genre = _libraryManager.GetMusicGenre(view.Name);
|
|
||||||
|
|
||||||
if (genre.HasImage(ImageType.Primary) || genre.HasImage(ImageType.Thumb))
|
|
||||||
{
|
|
||||||
list.Add(genre);
|
|
||||||
}
|
|
||||||
return list;
|
|
||||||
}
|
|
||||||
if (string.Equals(view.ViewType, SpecialFolder.MovieGenre, StringComparison.OrdinalIgnoreCase) ||
|
|
||||||
string.Equals(view.ViewType, SpecialFolder.TvGenre, StringComparison.OrdinalIgnoreCase))
|
string.Equals(view.ViewType, SpecialFolder.TvGenre, StringComparison.OrdinalIgnoreCase))
|
||||||
{
|
{
|
||||||
var list = new List<BaseItem>();
|
var userItemsResult = await view.GetItems(new InternalItemsQuery
|
||||||
|
|
||||||
var genre = _libraryManager.GetGenre(view.Name);
|
|
||||||
|
|
||||||
if (genre.HasImage(ImageType.Primary) || genre.HasImage(ImageType.Thumb))
|
|
||||||
{
|
{
|
||||||
list.Add(genre);
|
User = _userManager.GetUserById(view.UserId.Value),
|
||||||
}
|
CollapseBoxSetItems = false
|
||||||
return list;
|
});
|
||||||
|
|
||||||
|
return userItemsResult.Items.ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
var isUsingCollectionStrip = IsUsingCollectionStrip(view);
|
var isUsingCollectionStrip = IsUsingCollectionStrip(view);
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
|
||||||
//[assembly: AssemblyVersion("3.0.*")]
|
//[assembly: AssemblyVersion("3.0.*")]
|
||||||
[assembly: AssemblyVersion("3.0.5582.2")]
|
[assembly: AssemblyVersion("3.0.5582.3")]
|
||||||
|
|
Loading…
Reference in a new issue