diff options
57 files changed, 797 insertions, 264 deletions
diff --git a/MediaBrowser.Api/UserLibrary/ItemsService.cs b/MediaBrowser.Api/UserLibrary/ItemsService.cs index 25821c213..2ac4f5e63 100644 --- a/MediaBrowser.Api/UserLibrary/ItemsService.cs +++ b/MediaBrowser.Api/UserLibrary/ItemsService.cs @@ -1008,7 +1008,7 @@ namespace MediaBrowser.Api.UserLibrary items = items.Where(i => { - var movie = i as Movie; + var movie = i as IHasSpecialFeatures; if (movie != null) { @@ -1017,15 +1017,6 @@ namespace MediaBrowser.Api.UserLibrary : movie.SpecialFeatureIds.Count == 0; } - var series = i as Series; - - if (series != null) - { - return filterValue - ? series.SpecialFeatureIds.Count > 0 - : series.SpecialFeatureIds.Count == 0; - } - return false; }); } diff --git a/MediaBrowser.Api/UserLibrary/UserLibraryService.cs b/MediaBrowser.Api/UserLibrary/UserLibraryService.cs index 8414241d5..b156b68d1 100644 --- a/MediaBrowser.Api/UserLibrary/UserLibraryService.cs +++ b/MediaBrowser.Api/UserLibrary/UserLibraryService.cs @@ -443,22 +443,6 @@ namespace MediaBrowser.Api.UserLibrary // Get everything var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true)).ToList(); - var movie = item as Movie; - - // Get them from the db - if (movie != null) - { - // Avoid implicitly captured closure - var movie1 = movie; - - var dtos = movie.SpecialFeatureIds - .Select(_libraryManager.GetItemById) - .OrderBy(i => i.SortName) - .Select(i => _dtoService.GetBaseItemDto(i, fields, user, movie1)); - - return dtos.ToList(); - } - var series = item as Series; // Get them from the child tree @@ -486,6 +470,19 @@ namespace MediaBrowser.Api.UserLibrary return dtos.ToList(); } + var movie = item as IHasSpecialFeatures; + + // Get them from the db + if (movie != null) + { + var dtos = movie.SpecialFeatureIds + .Select(_libraryManager.GetItemById) + .OrderBy(i => i.SortName) + .Select(i => _dtoService.GetBaseItemDto(i, fields, user, item)); + + return dtos.ToList(); + } + return new List<BaseItemDto>(); } diff --git a/MediaBrowser.Controller/Entities/IHasSpecialFeatures.cs b/MediaBrowser.Controller/Entities/IHasSpecialFeatures.cs new file mode 100644 index 000000000..b3a0dc237 --- /dev/null +++ b/MediaBrowser.Controller/Entities/IHasSpecialFeatures.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; + +namespace MediaBrowser.Controller.Entities +{ + public interface IHasSpecialFeatures + { + /// <summary> + /// Gets or sets the special feature ids. + /// </summary> + /// <value>The special feature ids.</value> + List<Guid> SpecialFeatureIds { get; set; } + } +} diff --git a/MediaBrowser.Controller/Entities/Movies/Movie.cs b/MediaBrowser.Controller/Entities/Movies/Movie.cs index 5510c795a..837f3b9cf 100644 --- a/MediaBrowser.Controller/Entities/Movies/Movie.cs +++ b/MediaBrowser.Controller/Entities/Movies/Movie.cs @@ -14,7 +14,7 @@ namespace MediaBrowser.Controller.Entities.Movies /// <summary> /// Class Movie /// </summary> - public class Movie : Video, IHasCriticRating, IHasSoundtracks, IHasProductionLocations, IHasBudget, IHasKeywords, IHasTrailers, IHasThemeMedia, IHasTaglines, IHasPreferredMetadataLanguage, IHasAwards, IHasMetascore, IHasLookupInfo<MovieInfo>, ISupportsBoxSetGrouping + public class Movie : Video, IHasCriticRating, IHasSoundtracks, IHasSpecialFeatures, IHasProductionLocations, IHasBudget, IHasKeywords, IHasTrailers, IHasThemeMedia, IHasTaglines, IHasPreferredMetadataLanguage, IHasAwards, IHasMetascore, IHasLookupInfo<MovieInfo>, ISupportsBoxSetGrouping { public List<Guid> SpecialFeatureIds { get; set; } diff --git a/MediaBrowser.Controller/Entities/TV/Series.cs b/MediaBrowser.Controller/Entities/TV/Series.cs index d3b95eb0c..7f6591287 100644 --- a/MediaBrowser.Controller/Entities/TV/Series.cs +++ b/MediaBrowser.Controller/Entities/TV/Series.cs @@ -13,7 +13,7 @@ namespace MediaBrowser.Controller.Entities.TV /// <summary> /// Class Series /// </summary> - public class Series : Folder, IHasSoundtracks, IHasTrailers, IHasPreferredMetadataLanguage, IHasDisplayOrder, IHasLookupInfo<SeriesInfo> + public class Series : Folder, IHasSoundtracks, IHasTrailers, IHasPreferredMetadataLanguage, IHasDisplayOrder, IHasLookupInfo<SeriesInfo>, IHasSpecialFeatures { public List<Guid> SpecialFeatureIds { get; set; } public List<Guid> SoundtrackIds { get; set; } diff --git a/MediaBrowser.Controller/MediaBrowser.Controller.csproj b/MediaBrowser.Controller/MediaBrowser.Controller.csproj index 6d881da4f..517200bb7 100644 --- a/MediaBrowser.Controller/MediaBrowser.Controller.csproj +++ b/MediaBrowser.Controller/MediaBrowser.Controller.csproj @@ -141,6 +141,7 @@ <Compile Include="Entities\IHasSeries.cs" /> <Compile Include="Entities\IHasShortOverview.cs" /> <Compile Include="Entities\IHasSoundtracks.cs" /> + <Compile Include="Entities\IHasSpecialFeatures.cs" /> <Compile Include="Entities\IHasTaglines.cs" /> <Compile Include="Entities\IHasTags.cs" /> <Compile Include="Entities\IHasThemeMedia.cs" /> diff --git a/MediaBrowser.MediaInfo/MediaBrowser.MediaInfo.csproj b/MediaBrowser.MediaInfo/MediaBrowser.MediaInfo.csproj new file mode 100644 index 000000000..52941422d --- /dev/null +++ b/MediaBrowser.MediaInfo/MediaBrowser.MediaInfo.csproj @@ -0,0 +1,60 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <ProjectGuid>{6E4145E4-C6D4-4E4D-94F2-87188DB6E239}</ProjectGuid> + <OutputType>Library</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <RootNamespace>MediaBrowser.MediaInfo</RootNamespace> + <AssemblyName>MediaBrowser.MediaInfo</AssemblyName> + <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> + <FileAlignment>512</FileAlignment> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + <DebugSymbols>true</DebugSymbols> + <DebugType>full</DebugType> + <Optimize>false</Optimize> + <OutputPath>bin\Debug\</OutputPath> + <DefineConstants>DEBUG;TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <DebugType>pdbonly</DebugType> + <Optimize>true</Optimize> + <OutputPath>bin\Release\</OutputPath> + <DefineConstants>TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + </PropertyGroup> + <ItemGroup> + <Reference Include="System" /> + <Reference Include="System.Core" /> + <Reference Include="System.Xml.Linq" /> + <Reference Include="System.Data.DataSetExtensions" /> + <Reference Include="Microsoft.CSharp" /> + <Reference Include="System.Data" /> + <Reference Include="System.Xml" /> + </ItemGroup> + <ItemGroup> + <Compile Include="MediaInfoLib.cs" /> + <Compile Include="Native.cs" /> + <Compile Include="Properties\AssemblyInfo.cs" /> + </ItemGroup> + <ItemGroup> + <Content Include="..\ThirdParty\MediaInfo\windows\x86\MediaInfo.dll"> + <Link>MediaInfo.dll</Link> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> + </ItemGroup> + <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> + <!-- To modify your build process, add your task inside one of the targets below and uncomment it. + Other similar extension points exist, see Microsoft.Common.targets. + <Target Name="BeforeBuild"> + </Target> + <Target Name="AfterBuild"> + </Target> + --> +</Project>
\ No newline at end of file diff --git a/MediaBrowser.MediaInfo/MediaInfoLib.cs b/MediaBrowser.MediaInfo/MediaInfoLib.cs new file mode 100644 index 000000000..64842edcb --- /dev/null +++ b/MediaBrowser.MediaInfo/MediaInfoLib.cs @@ -0,0 +1,58 @@ +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Linq; + +namespace MediaBrowser.MediaInfo +{ + public class MediaInfoLib + { + public MediaInfoResult GetVideoInfo(string path) + { + var lib = new MediaInfo(); + + lib.Open(path); + + var result = new MediaInfoResult(); + + // TODO: Don't hardcode + var videoStreamIndex = 0; + + var text = GetValue(lib, videoStreamIndex, new[] { "ScanType", "Scan type", "ScanType/String" }); + if (!string.IsNullOrWhiteSpace(text)) + { + result.IsInterlaced = text.IndexOf("interlac", StringComparison.OrdinalIgnoreCase) != -1; + } + + int bitDepth; + text = GetValue(lib, videoStreamIndex, new[] { "BitDepth", "BitDepth/String" }); + + if (!string.IsNullOrWhiteSpace(text) && int.TryParse(text.Split(' ').First(), NumberStyles.Any, CultureInfo.InvariantCulture, out bitDepth)) + { + result.BitDepth = bitDepth; + } + + int refFrames; + text = GetValue(lib, videoStreamIndex, new[] { "Format_Settings_RefFrames", "Format_Settings_RefFrames/String" }); + + if (!string.IsNullOrWhiteSpace(text) && int.TryParse(text.Split(' ').First(), NumberStyles.Any, CultureInfo.InvariantCulture, out refFrames)) + { + result.RefFrames = refFrames; + } + + return result; + } + + private string GetValue(MediaInfo lib, int index, IEnumerable<string> names) + { + return names.Select(i => lib.Get(StreamKind.Video, index, i)).FirstOrDefault(i => !string.IsNullOrWhiteSpace(i)); + } + } + + public class MediaInfoResult + { + public bool? IsInterlaced { get; set; } + public int? BitDepth { get; set; } + public int? RefFrames { get; set; } + } +} diff --git a/MediaBrowser.MediaInfo/Native.cs b/MediaBrowser.MediaInfo/Native.cs new file mode 100644 index 000000000..5bc7ae368 --- /dev/null +++ b/MediaBrowser.MediaInfo/Native.cs @@ -0,0 +1,275 @@ +using System; +using System.Runtime.InteropServices; + +namespace MediaBrowser.MediaInfo +{ + public enum StreamKind + { + General, + Video, + Audio, + Text, + Other, + Image, + Menu, + } + + public enum InfoKind + { + Name, + Text, + Measure, + Options, + NameText, + MeasureText, + Info, + HowTo + } + + public enum InfoOptions + { + ShowInInform, + Support, + ShowInSupported, + TypeOfValue + } + + public enum InfoFileOptions + { + FileOption_Nothing = 0x00, + FileOption_NoRecursive = 0x01, + FileOption_CloseAll = 0x02, + FileOption_Max = 0x04 + }; + + public enum Status + { + None = 0x00, + Accepted = 0x01, + Filled = 0x02, + Updated = 0x04, + Finalized = 0x08, + } + + public class MediaInfo + { + //Import of DLL functions. DO NOT USE until you know what you do (MediaInfo DLL do NOT use CoTaskMemAlloc to allocate memory) + [DllImport("MediaInfo")] + private static extern IntPtr MediaInfo_New(); + [DllImport("MediaInfo")] + private static extern void MediaInfo_Delete(IntPtr Handle); + [DllImport("MediaInfo")] + private static extern IntPtr MediaInfo_Open(IntPtr Handle, [MarshalAs(UnmanagedType.LPWStr)] string FileName); + [DllImport("MediaInfo")] + private static extern IntPtr MediaInfoA_Open(IntPtr Handle, IntPtr FileName); + [DllImport("MediaInfo")] + private static extern IntPtr MediaInfo_Open_Buffer_Init(IntPtr Handle, Int64 File_Size, Int64 File_Offset); + [DllImport("MediaInfo")] + private static extern IntPtr MediaInfoA_Open(IntPtr Handle, Int64 File_Size, Int64 File_Offset); + [DllImport("MediaInfo")] + private static extern IntPtr MediaInfo_Open_Buffer_Continue(IntPtr Handle, IntPtr Buffer, IntPtr Buffer_Size); + [DllImport("MediaInfo")] + private static extern IntPtr MediaInfoA_Open_Buffer_Continue(IntPtr Handle, Int64 File_Size, byte[] Buffer, IntPtr Buffer_Size); + [DllImport("MediaInfo")] + private static extern Int64 MediaInfo_Open_Buffer_Continue_GoTo_Get(IntPtr Handle); + [DllImport("MediaInfo")] + private static extern Int64 MediaInfoA_Open_Buffer_Continue_GoTo_Get(IntPtr Handle); + [DllImport("MediaInfo")] + private static extern IntPtr MediaInfo_Open_Buffer_Finalize(IntPtr Handle); + [DllImport("MediaInfo")] + private static extern IntPtr MediaInfoA_Open_Buffer_Finalize(IntPtr Handle); + [DllImport("MediaInfo")] + private static extern void MediaInfo_Close(IntPtr Handle); + [DllImport("MediaInfo")] + private static extern IntPtr MediaInfo_Inform(IntPtr Handle, IntPtr Reserved); + [DllImport("MediaInfo")] + private static extern IntPtr MediaInfoA_Inform(IntPtr Handle, IntPtr Reserved); + [DllImport("MediaInfo")] + private static extern IntPtr MediaInfo_GetI(IntPtr Handle, IntPtr StreamKind, IntPtr StreamNumber, IntPtr Parameter, IntPtr KindOfInfo); + [DllImport("MediaInfo")] + private static extern IntPtr MediaInfoA_GetI(IntPtr Handle, IntPtr StreamKind, IntPtr StreamNumber, IntPtr Parameter, IntPtr KindOfInfo); + [DllImport("MediaInfo")] + private static extern IntPtr MediaInfo_Get(IntPtr Handle, IntPtr StreamKind, IntPtr StreamNumber, [MarshalAs(UnmanagedType.LPWStr)] string Parameter, IntPtr KindOfInfo, IntPtr KindOfSearch); + [DllImport("MediaInfo")] + private static extern IntPtr MediaInfoA_Get(IntPtr Handle, IntPtr StreamKind, IntPtr StreamNumber, IntPtr Parameter, IntPtr KindOfInfo, IntPtr KindOfSearch); + [DllImport("MediaInfo")] + private static extern IntPtr MediaInfo_Option(IntPtr Handle, [MarshalAs(UnmanagedType.LPWStr)] string Option, [MarshalAs(UnmanagedType.LPWStr)] string Value); + [DllImport("MediaInfo")] + private static extern IntPtr MediaInfoA_Option(IntPtr Handle, IntPtr Option, IntPtr Value); + [DllImport("MediaInfo")] + private static extern IntPtr MediaInfo_State_Get(IntPtr Handle); + [DllImport("MediaInfo")] + private static extern IntPtr MediaInfo_Count_Get(IntPtr Handle, IntPtr StreamKind, IntPtr StreamNumber); + + //MediaInfo class + public MediaInfo() + { + try + { + Handle = MediaInfo_New(); + } + catch + { + Handle = (IntPtr)0; + } + if (Environment.OSVersion.ToString().IndexOf("Windows") == -1) + MustUseAnsi = true; + else + MustUseAnsi = false; + } + ~MediaInfo() { if (Handle == (IntPtr)0) return; MediaInfo_Delete(Handle); } + public int Open(String FileName) + { + if (Handle == (IntPtr)0) + return 0; + if (MustUseAnsi) + { + IntPtr FileName_Ptr = Marshal.StringToHGlobalAnsi(FileName); + int ToReturn = (int)MediaInfoA_Open(Handle, FileName_Ptr); + Marshal.FreeHGlobal(FileName_Ptr); + return ToReturn; + } + else + return (int)MediaInfo_Open(Handle, FileName); + } + public int Open_Buffer_Init(Int64 File_Size, Int64 File_Offset) + { + if (Handle == (IntPtr)0) return 0; return (int)MediaInfo_Open_Buffer_Init(Handle, File_Size, File_Offset); + } + public int Open_Buffer_Continue(IntPtr Buffer, IntPtr Buffer_Size) + { + if (Handle == (IntPtr)0) return 0; return (int)MediaInfo_Open_Buffer_Continue(Handle, Buffer, Buffer_Size); + } + public Int64 Open_Buffer_Continue_GoTo_Get() + { + if (Handle == (IntPtr)0) return 0; return (Int64)MediaInfo_Open_Buffer_Continue_GoTo_Get(Handle); + } + public int Open_Buffer_Finalize() + { + if (Handle == (IntPtr)0) return 0; return (int)MediaInfo_Open_Buffer_Finalize(Handle); + } + public void Close() { if (Handle == (IntPtr)0) return; MediaInfo_Close(Handle); } + public String Inform() + { + if (Handle == (IntPtr)0) + return "Unable to load MediaInfo library"; + if (MustUseAnsi) + return Marshal.PtrToStringAnsi(MediaInfoA_Inform(Handle, (IntPtr)0)); + else + return Marshal.PtrToStringUni(MediaInfo_Inform(Handle, (IntPtr)0)); + } + public String Get(StreamKind StreamKind, int StreamNumber, String Parameter, InfoKind KindOfInfo, InfoKind KindOfSearch) + { + if (Handle == (IntPtr)0) + return "Unable to load MediaInfo library"; + if (MustUseAnsi) + { + IntPtr Parameter_Ptr = Marshal.StringToHGlobalAnsi(Parameter); + String ToReturn = Marshal.PtrToStringAnsi(MediaInfoA_Get(Handle, (IntPtr)StreamKind, (IntPtr)StreamNumber, Parameter_Ptr, (IntPtr)KindOfInfo, (IntPtr)KindOfSearch)); + Marshal.FreeHGlobal(Parameter_Ptr); + return ToReturn; + } + else + return Marshal.PtrToStringUni(MediaInfo_Get(Handle, (IntPtr)StreamKind, (IntPtr)StreamNumber, Parameter, (IntPtr)KindOfInfo, (IntPtr)KindOfSearch)); + } + public String Get(StreamKind StreamKind, int StreamNumber, int Parameter, InfoKind KindOfInfo) + { + if (Handle == (IntPtr)0) + return "Unable to load MediaInfo library"; + if (MustUseAnsi) + return Marshal.PtrToStringAnsi(MediaInfoA_GetI(Handle, (IntPtr)StreamKind, (IntPtr)StreamNumber, (IntPtr)Parameter, (IntPtr)KindOfInfo)); + else + return Marshal.PtrToStringUni(MediaInfo_GetI(Handle, (IntPtr)StreamKind, (IntPtr)StreamNumber, (IntPtr)Parameter, (IntPtr)KindOfInfo)); + } + public String Option(String Option, String Value) + { + if (Handle == (IntPtr)0) + return "Unable to load MediaInfo library"; + if (MustUseAnsi) + { + IntPtr Option_Ptr = Marshal.StringToHGlobalAnsi(Option); + IntPtr Value_Ptr = Marshal.StringToHGlobalAnsi(Value); + String ToReturn = Marshal.PtrToStringAnsi(MediaInfoA_Option(Handle, Option_Ptr, Value_Ptr)); + Marshal.FreeHGlobal(Option_Ptr); + Marshal.FreeHGlobal(Value_Ptr); + return ToReturn; + } + else + return Marshal.PtrToStringUni(MediaInfo_Option(Handle, Option, Value)); + } + public int State_Get() { if (Handle == (IntPtr)0) return 0; return (int)MediaInfo_State_Get(Handle); } + public int Count_Get(StreamKind StreamKind, int StreamNumber) { if (Handle == (IntPtr)0) return 0; return (int)MediaInfo_Count_Get(Handle, (IntPtr)StreamKind, (IntPtr)StreamNumber); } + private IntPtr Handle; + private bool MustUseAnsi; + + //Default values, if you know how to set default values in C#, say me + public String Get(StreamKind StreamKind, int StreamNumber, String Parameter, InfoKind KindOfInfo) { return Get(StreamKind, StreamNumber, Parameter, KindOfInfo, InfoKind.Name); } + public String Get(StreamKind StreamKind, int StreamNumber, String Parameter) { return Get(StreamKind, StreamNumber, Parameter, InfoKind.Text, InfoKind.Name); } + public String Get(StreamKind StreamKind, int StreamNumber, int Parameter) { return Get(StreamKind, StreamNumber, Parameter, InfoKind.Text); } + public String Option(String Option_) { return Option(Option_, ""); } + public int Count_Get(StreamKind StreamKind) { return Count_Get(StreamKind, -1); } + } + + + + + + + + + + + + + + + + + + public class MediaInfoList + { + //Import of DLL functions. DO NOT USE until you know what you do (MediaInfo DLL do NOT use CoTaskMemAlloc to allocate memory) + [DllImport("MediaInfo")] + private static extern IntPtr MediaInfoList_New(); + [DllImport("MediaInfo")] + private static extern void MediaInfoList_Delete(IntPtr Handle); + [DllImport("MediaInfo")] + private static extern IntPtr MediaInfoList_Open(IntPtr Handle, [MarshalAs(UnmanagedType.LPWStr)] string FileName, IntPtr Options); + [DllImport("MediaInfo")] + private static extern void MediaInfoList_Close(IntPtr Handle, IntPtr FilePos); + [DllImport("MediaInfo")] + private static extern IntPtr MediaInfoList_Inform(IntPtr Handle, IntPtr FilePos, IntPtr Reserved); + [DllImport("MediaInfo")] + private static extern IntPtr MediaInfoList_GetI(IntPtr Handle, IntPtr FilePos, IntPtr StreamKind, IntPtr StreamNumber, IntPtr Parameter, IntPtr KindOfInfo); + [DllImport("MediaInfo")] + private static extern IntPtr MediaInfoList_Get(IntPtr Handle, IntPtr FilePos, IntPtr StreamKind, IntPtr StreamNumber, [MarshalAs(UnmanagedType.LPWStr)] string Parameter, IntPtr KindOfInfo, IntPtr KindOfSearch); + [DllImport("MediaInfo")] + private static extern IntPtr MediaInfoList_Option(IntPtr Handle, [MarshalAs(UnmanagedType.LPWStr)] string Option, [MarshalAs(UnmanagedType.LPWStr)] string Value); + [DllImport("MediaInfo")] + private static extern IntPtr MediaInfoList_State_Get(IntPtr Handle); + [DllImport("MediaInfo")] + private static extern IntPtr MediaInfoList_Count_Get(IntPtr Handle, IntPtr FilePos, IntPtr StreamKind, IntPtr StreamNumber); + + //MediaInfo class + public MediaInfoList() { Handle = MediaInfoList_New(); } + ~MediaInfoList() { MediaInfoList_Delete(Handle); } + public int Open(String FileName, InfoFileOptions Options) { return (int)MediaInfoList_Open(Handle, FileName, (IntPtr)Options); } + public void Close(int FilePos) { MediaInfoList_Close(Handle, (IntPtr)FilePos); } + public String Inform(int FilePos) { return Marshal.PtrToStringUni(MediaInfoList_Inform(Handle, (IntPtr)FilePos, (IntPtr)0)); } + public String Get(int FilePos, StreamKind StreamKind, int StreamNumber, String Parameter, InfoKind KindOfInfo, InfoKind KindOfSearch) { return Marshal.PtrToStringUni(MediaInfoList_Get(Handle, (IntPtr)FilePos, (IntPtr)StreamKind, (IntPtr)StreamNumber, Parameter, (IntPtr)KindOfInfo, (IntPtr)KindOfSearch)); } + public String Get(int FilePos, StreamKind StreamKind, int StreamNumber, int Parameter, InfoKind KindOfInfo) { return Marshal.PtrToStringUni(MediaInfoList_GetI(Handle, (IntPtr)FilePos, (IntPtr)StreamKind, (IntPtr)StreamNumber, (IntPtr)Parameter, (IntPtr)KindOfInfo)); } + public String Option(String Option, String Value) { return Marshal.PtrToStringUni(MediaInfoList_Option(Handle, Option, Value)); } + public int State_Get() { return (int)MediaInfoList_State_Get(Handle); } + public int Count_Get(int FilePos, StreamKind StreamKind, int StreamNumber) { return (int)MediaInfoList_Count_Get(Handle, (IntPtr)FilePos, (IntPtr)StreamKind, (IntPtr)StreamNumber); } + private IntPtr Handle; + + //Default values, if you know how to set default values in C#, say me + public void Open(String FileName) { Open(FileName, 0); } + public void Close() { Close(-1); } + public String Get(int FilePos, StreamKind StreamKind, int StreamNumber, String Parameter, InfoKind KindOfInfo) { return Get(FilePos, StreamKind, StreamNumber, Parameter, KindOfInfo, InfoKind.Name); } + public String Get(int FilePos, StreamKind StreamKind, int StreamNumber, String Parameter) { return Get(FilePos, StreamKind, StreamNumber, Parameter, InfoKind.Text, InfoKind.Name); } + public String Get(int FilePos, StreamKind StreamKind, int StreamNumber, int Parameter) { return Get(FilePos, StreamKind, StreamNumber, Parameter, InfoKind.Text); } + public String Option(String Option_) { return Option(Option_, ""); } + public int Count_Get(int FilePos, StreamKind StreamKind) { return Count_Get(FilePos, StreamKind, -1); } + } +} diff --git a/MediaBrowser.MediaInfo/Properties/AssemblyInfo.cs b/MediaBrowser.MediaInfo/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..5debd4f61 --- /dev/null +++ b/MediaBrowser.MediaInfo/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("MediaBrowser.MediaInfo")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("MediaBrowser.MediaInfo")] +[assembly: AssemblyCopyright("Copyright © 2014")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("8ef5ed2a-0460-4fb4-ba3f-fc2ba057f009")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/MediaBrowser.Model/ApiClient/IServerEvents.cs b/MediaBrowser.Model/ApiClient/IServerEvents.cs index 62d8fdff3..72b499157 100644 --- a/MediaBrowser.Model/ApiClient/IServerEvents.cs +++ b/MediaBrowser.Model/ApiClient/IServerEvents.cs @@ -118,14 +118,5 @@ namespace MediaBrowser.Model.ApiClient /// Occurs when [user data changed]. /// </summary> event EventHandler<GenericEventArgs<UserDataChangeInfo>> UserDataChanged; - /// <summary> - /// Occurs when [connected]. - /// </summary> - event EventHandler<EventArgs> Connected; - /// <summary> - /// Gets a value indicating whether this instance is connected. - /// </summary> - /// <value><c>true</c> if this instance is connected; otherwise, <c>false</c>.</value> - bool IsConnected { get; } } } diff --git a/MediaBrowser.Providers/MediaBrowser.Providers.csproj b/MediaBrowser.Providers/MediaBrowser.Providers.csproj index b69a4bc2f..cfa3e9911 100644 --- a/MediaBrowser.Providers/MediaBrowser.Providers.csproj +++ b/MediaBrowser.Providers/MediaBrowser.Providers.csproj @@ -194,6 +194,10 @@ <Project>{17E1F4E6-8ABD-4FE5-9ECF-43D4B6087BA2}</Project> <Name>MediaBrowser.Controller</Name> </ProjectReference> + <ProjectReference Include="..\MediaBrowser.MediaInfo\MediaBrowser.MediaInfo.csproj"> + <Project>{6e4145e4-c6d4-4e4d-94f2-87188db6e239}</Project> + <Name>MediaBrowser.MediaInfo</Name> + </ProjectReference> <ProjectReference Include="..\MediaBrowser.Model\MediaBrowser.Model.csproj"> <Project>{7EEEB4BB-F3E8-48FC-B4C5-70F0FFF8329B}</Project> <Name>MediaBrowser.Model</Name> diff --git a/MediaBrowser.Providers/MediaInfo/FFProbeVideoInfo.cs b/MediaBrowser.Providers/MediaInfo/FFProbeVideoInfo.cs index 4505442e6..ee7ce7f26 100644 --- a/MediaBrowser.Providers/MediaInfo/FFProbeVideoInfo.cs +++ b/MediaBrowser.Providers/MediaInfo/FFProbeVideoInfo.cs @@ -13,6 +13,7 @@ using MediaBrowser.Controller.MediaEncoding; using MediaBrowser.Controller.Persistence; using MediaBrowser.Controller.Providers; using MediaBrowser.Controller.Subtitles; +using MediaBrowser.MediaInfo; using MediaBrowser.Model.Configuration; using MediaBrowser.Model.Entities; using MediaBrowser.Model.IO; @@ -232,6 +233,7 @@ namespace MediaBrowser.Providers.MediaInfo video.HasSubtitles = mediaStreams.Any(i => i.Type == MediaStreamType.Subtitle); ExtractTimestamp(video); + UpdateFromMediaInfo(video, videoStream); await _itemRepo.SaveMediaStreams(video.Id, mediaStreams, cancellationToken).ConfigureAwait(false); @@ -274,6 +276,28 @@ namespace MediaBrowser.Providers.MediaInfo } } + private void UpdateFromMediaInfo(Video video, MediaStream videoStream) + { + if (video.VideoType == VideoType.VideoFile && video.LocationType != LocationType.Remote && video.LocationType != LocationType.Virtual) + { + if (videoStream != null) + { + try + { + var result = new MediaInfoLib().GetVideoInfo(video.Path); + + videoStream.IsInterlaced = result.IsInterlaced ?? videoStream.IsInterlaced; + videoStream.BitDepth = result.BitDepth ?? videoStream.BitDepth; + videoStream.RefFrames = result.RefFrames; + } + catch (Exception ex) + { + _logger.ErrorException("Error running MediaInfo on {0}", ex, video.Path); + } + } + } + } + private void NormalizeChapterNames(List<ChapterInfo> chapters) { var index = 1; diff --git a/MediaBrowser.Server.Implementations/Connect/ConnectManager.cs b/MediaBrowser.Server.Implementations/Connect/ConnectManager.cs index 6479b6f9d..374d04f1d 100644 --- a/MediaBrowser.Server.Implementations/Connect/ConnectManager.cs +++ b/MediaBrowser.Server.Implementations/Connect/ConnectManager.cs @@ -402,11 +402,11 @@ namespace MediaBrowser.Server.Implementations.Connect } else if (!string.IsNullOrWhiteSpace(query.Name)) { - url = url + "?name=" + WebUtility.UrlEncode(query.Name); + url = url + "?nameoremail=" + WebUtility.UrlEncode(query.Name); } else if (!string.IsNullOrWhiteSpace(query.Email)) { - url = url + "?email=" + WebUtility.UrlEncode(query.Email); + url = url + "?nameoremail=" + WebUtility.UrlEncode(query.Email); } var options = new HttpRequestOptions diff --git a/MediaBrowser.Server.Implementations/Dto/DtoService.cs b/MediaBrowser.Server.Implementations/Dto/DtoService.cs index e35504dcf..4d4aa2484 100644 --- a/MediaBrowser.Server.Implementations/Dto/DtoService.cs +++ b/MediaBrowser.Server.Implementations/Dto/DtoService.cs @@ -1102,16 +1102,21 @@ namespace MediaBrowser.Server.Implementations.Dto if (movie != null) { - var specialFeatureCount = movie.SpecialFeatureIds.Count; - - if (specialFeatureCount > 0) + if (fields.Contains(ItemFields.TmdbCollectionName)) { - dto.SpecialFeatureCount = specialFeatureCount; + dto.TmdbCollectionName = movie.TmdbCollectionName; } + } - if (fields.Contains(ItemFields.TmdbCollectionName)) + var hasSpecialFeatures = item as IHasSpecialFeatures; + + if (hasSpecialFeatures != null) + { + var specialFeatureCount = hasSpecialFeatures.SpecialFeatureIds.Count; + + if (specialFeatureCount > 0) { - dto.TmdbCollectionName = movie.TmdbCollectionName; + dto.SpecialFeatureCount = specialFeatureCount; } } @@ -1146,8 +1151,6 @@ namespace MediaBrowser.Server.Implementations.Dto dto.AirTime = series.AirTime; dto.Status = series.Status; - dto.SpecialFeatureCount = series.SpecialFeatureIds.Count; - dto.SeasonCount = series.SeasonCount; if (fields.Contains(ItemFields.Settings)) diff --git a/MediaBrowser.Server.Implementations/FileOrganization/NameUtils.cs b/MediaBrowser.Server.Implementations/FileOrganization/NameUtils.cs index 7f936791a..69f1c425e 100644 --- a/MediaBrowser.Server.Implementations/FileOrganization/NameUtils.cs +++ b/MediaBrowser.Server.Implementations/FileOrganization/NameUtils.cs @@ -70,6 +70,9 @@ namespace MediaBrowser.Server.Implementations.FileOrganization .Replace(":", " ") .Replace(",", " ") .Replace("-", " ") + .Replace("'", " ") + .Replace("[", " ") + .Replace("]", " ") .Replace(" a ", String.Empty, StringComparison.OrdinalIgnoreCase) .Replace(" the ", String.Empty, StringComparison.OrdinalIgnoreCase) .Replace(" ", String.Empty); diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/es_MX.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/es_MX.json index f2ac06f5e..ff523c29e 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/es_MX.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/es_MX.json @@ -51,7 +51,7 @@ "LabelFree": "Gratis", "HeaderSelectAudio": "Seleccionar Audio", "HeaderSelectSubtitles": "Seleccionar Subtitulos", - "LabelDefaultStream": "(Por Defecto)", + "LabelDefaultStream": "(Por defecto)", "LabelForcedStream": "(Forzado)", "LabelDefaultForcedStream": "(Por Defecto\/Forzado)", "LabelUnknownLanguage": "Idioma Desconocido", @@ -461,104 +461,104 @@ "HeaderSelectExternalPlayer": "Seleccionar Reproductor Externo", "HeaderExternalPlayerPlayback": "Reproducci\u00f3n con Reproductor Externo", "ButtonImDone": "He Terminado", - "OptionWatched": "Watched", - "OptionUnwatched": "Unwatched", - "ExternalPlayerPlaystateOptionsHelp": "Specify how you would like to resume playing this video next time.", - "LabelMarkAs": "Mark as:", - "OptionInProgress": "In-Progress", - "LabelResumePoint": "Resume point:", - "ValueOneMovie": "1 movie", - "ValueMovieCount": "{0} movies", - "ValueOneTrailer": "1 trailer", - "ValueTrailerCount": "{0} trailers", - "ValueOneSeries": "1 series", + "OptionWatched": "Vista", + "OptionUnwatched": "No vista", + "ExternalPlayerPlaystateOptionsHelp": "Especifique como desea reiniciar la reproducci\u00f3n de este video la pr\u00f3xima vez.", + "LabelMarkAs": "Marcar como:", + "OptionInProgress": "En Progreso", + "LabelResumePoint": "Punto de reinicio:", + "ValueOneMovie": "1 pel\u00edcula", + "ValueMovieCount": "{0} pel\u00edculas", + "ValueOneTrailer": "1 avance", + "ValueTrailerCount": "{0} avances", + "ValueOneSeries": "1 serie", "ValueSeriesCount": "{0} series", - "ValueOneEpisode": "1 episode", - "ValueEpisodeCount": "{0} episodes", - "ValueOneGame": "1 game", - "ValueGameCount": "{0} games", - "ValueOneAlbum": "1 album", - "ValueAlbumCount": "{0} albums", - "ValueOneSong": "1 song", - "ValueSongCount": "{0} songs", - "ValueOneMusicVideo": "1 music video", - "ValueMusicVideoCount": "{0} music videos", - "HeaderOffline": "Offline", - "HeaderUnaired": "Unaired", - "HeaderMissing": "Missing", - "ButtonWebsite": "Website", - "TooltipFavorite": "Favorite", - "TooltipLike": "Like", - "TooltipDislike": "Dislike", - "TooltipPlayed": "Played", - "ValueSeriesYearToPresent": "{0}-Present", - "ValueAwards": "Awards: {0}", - "ValueBudget": "Budget: {0}", - "ValueRevenue": "Revenue: {0}", - "ValuePremiered": "Premiered {0}", - "ValuePremieres": "Premieres {0}", - "ValueStudio": "Studio: {0}", - "ValueStudios": "Studios: {0}", - "ValueSpecialEpisodeName": "Special - {0}", - "LabelLimit": "Limit:", - "ValueLinks": "Links: {0}", + "ValueOneEpisode": "1 episodio", + "ValueEpisodeCount": "{0} episodios", + "ValueOneGame": "1 juego", + "ValueGameCount": "{0} juegos", + "ValueOneAlbum": "1 \u00e1lbum", + "ValueAlbumCount": "{0} \u00e1lbums", + "ValueOneSong": "1 canci\u00f3n", + "ValueSongCount": "{0} canciones", + "ValueOneMusicVideo": "1 video musical", + "ValueMusicVideoCount": "{0} videos musicales", + "HeaderOffline": "Fuera de L\u00ednea", + "HeaderUnaired": "No transmitido", + "HeaderMissing": "Falta", + "ButtonWebsite": "Sitio web", + "TooltipFavorite": "Favorito", + "TooltipLike": "Me gusta", + "TooltipDislike": "No me gusta", + "TooltipPlayed": "Reproducido", + "ValueSeriesYearToPresent": "{0}-Presente", + "ValueAwards": "Premios: {0}", + "ValueBudget": "Presupuesto: {0}", + "ValueRevenue": "Ingresos: {0}", + "ValuePremiered": "Estrenado: {0}", + "ValuePremieres": "Estrenos: {0}", + "ValueStudio": "Estudio: {0}", + "ValueStudios": "Estudios: {0}", + "ValueSpecialEpisodeName": "Especial: {0}", + "LabelLimit": "L\u00edmite:", + "ValueLinks": "Enlaces: {0}", "HeaderPeople": "Personas", - "HeaderCastAndCrew": "Cast & Crew", - "ValueArtist": "Artist: {0}", - "ValueArtists": "Artists: {0}", + "HeaderCastAndCrew": "Reparto & Personal:", + "ValueArtist": "Artista: {0}", + "ValueArtists": "Artistas: {0}", "HeaderTags": "Etiquetas", - "MediaInfoCameraMake": "Camera make", - "MediaInfoCameraModel": "Camera model", - "MediaInfoAltitude": "Altitude", - "MediaInfoAperture": "Aperture", - "MediaInfoExposureTime": "Exposure time", - "MediaInfoFocalLength": "Focal length", - "MediaInfoOrientation": "Orientation", - "MediaInfoIsoSpeedRating": "Iso speed rating", - "MediaInfoLatitude": "Latitude", - "MediaInfoLongitude": "Longitude", - "MediaInfoShutterSpeed": "Shutter speed", + "MediaInfoCameraMake": "Marca de la c\u00e1mara", + "MediaInfoCameraModel": "Modelo de la c\u00e1mara", + "MediaInfoAltitude": "Altitud", + "MediaInfoAperture": "Apertura", + "MediaInfoExposureTime": "Tiempo de exposici\u00f3n", + "MediaInfoFocalLength": "Distancia focal", + "MediaInfoOrientation": "Orientaci\u00f3n", + "MediaInfoIsoSpeedRating": "Tasa de velocidad ISO", + "MediaInfoLatitude": "Latitud", + "MediaInfoLongitude": "Longitud", + "MediaInfoShutterSpeed": "Velocidad del obturador", "MediaInfoSoftware": "Software", - "HeaderIfYouLikeCheckTheseOut": "If you like {0}, check these out...", + "HeaderIfYouLikeCheckTheseOut": "Si te gust\u00f3 {0}, prueba con...", "HeaderPlotKeywords": "Palabras clave de la Trama", - "HeaderMovies": "Movies", - "HeaderAlbums": "Albums", - "HeaderGames": "Games", - "HeaderBooks": "Books", - "HeaderEpisodes": "Episodes", - "HeaderSeasons": "Seasons", - "HeaderTracks": "Tracks", - "HeaderItems": "Items", - "HeaderOtherItems": "Other Items", - "ButtonFullReview": "Full review", - "ValueAsRole": "as {0}", - "ValueGuestStar": "Guest star", - "MediaInfoSize": "Size", - "MediaInfoPath": "Path", - "MediaInfoFormat": "Format", - "MediaInfoContainer": "Container", - "MediaInfoDefault": "Default", - "MediaInfoForced": "Forced", - "MediaInfoExternal": "External", - "MediaInfoTimestamp": "Timestamp", - "MediaInfoPixelFormat": "Pixel format", - "MediaInfoBitDepth": "Bit Depth", - "MediaInfoSampleRate": "Sample rate", - "MediaInfoBitrate": "Bitrate", - "MediaInfoChannels": "Channels", - "MediaInfoLayout": "Layout", - "MediaInfoLanguage": "Language", + "HeaderMovies": "Pel\u00edculas", + "HeaderAlbums": "\u00c1lbums", + "HeaderGames": "Juegos", + "HeaderBooks": "Libros", + "HeaderEpisodes": "Episodios", + "HeaderSeasons": "Temporadas", + "HeaderTracks": "Pistas", + "HeaderItems": "\u00cdtems", + "HeaderOtherItems": "Otros \u00cdtems", + "ButtonFullReview": "Rese\u00f1a completa", + "ValueAsRole": "como {0}", + "ValueGuestStar": "Estrella invitada", + "MediaInfoSize": "Tama\u00f1o", + "MediaInfoPath": "Trayectoria", + "MediaInfoFormat": "Formato", + "MediaInfoContainer": "Contenedor", + "MediaInfoDefault": "Por defecto", + "MediaInfoForced": "Forzado", + "MediaInfoExternal": "Externo", + "MediaInfoTimestamp": "Fecha y hora", + "MediaInfoPixelFormat": "Formato de pixel", + "MediaInfoBitDepth": "Profundidad de Bit", + "MediaInfoSampleRate": "Tasa de muestreo", + "MediaInfoBitrate": "Tasa de bits", + "MediaInfoChannels": "Canales", + "MediaInfoLayout": "Esquema", + "MediaInfoLanguage": "Lenguaje", "MediaInfoCodec": "Codec", - "MediaInfoProfile": "Profile", - "MediaInfoLevel": "Level", - "MediaInfoAspectRatio": "Aspect ratio", - "MediaInfoResolution": "Resolution", - "MediaInfoAnamorphic": "Anamorphic", - "MediaInfoInterlaced": "Interlaced", - "MediaInfoFramerate": "Framerate", + "MediaInfoProfile": "Perf\u00edl", + "MediaInfoLevel": "Nivel", + "MediaInfoAspectRatio": "Relaci\u00f3n de aspecto", + "MediaInfoResolution": "Resoluci\u00f3n", + "MediaInfoAnamorphic": "Anam\u00f3rfico", + "MediaInfoInterlaced": "Entrelazado", + "MediaInfoFramerate": "Velocidad de cuadro", "MediaInfoStreamTypeAudio": "Audio", - "MediaInfoStreamTypeData": "Data", + "MediaInfoStreamTypeData": "Datos", "MediaInfoStreamTypeVideo": "Video", - "MediaInfoStreamTypeSubtitle": "Subtitle", - "MediaInfoStreamTypeEmbeddedImage": "Embedded Image" + "MediaInfoStreamTypeSubtitle": "Subt\u00edtulo", + "MediaInfoStreamTypeEmbeddedImage": "Im\u00e1gen Embebida" }
\ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json index 0f7ef7ec9..ab4eba16a 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json @@ -550,7 +550,7 @@ "MediaInfoExternal": "External", "MediaInfoTimestamp": "Timestamp", "MediaInfoPixelFormat": "Pixel format", - "MediaInfoBitDepth": "Bit Depth", + "MediaInfoBitDepth": "Bit depth", "MediaInfoSampleRate": "Sample rate", "MediaInfoBitrate": "Bitrate", "MediaInfoChannels": "Channels", @@ -568,5 +568,6 @@ "MediaInfoStreamTypeData": "Data", "MediaInfoStreamTypeVideo": "Video", "MediaInfoStreamTypeSubtitle": "Subtitle", - "MediaInfoStreamTypeEmbeddedImage": "Embedded Image" + "MediaInfoStreamTypeEmbeddedImage": "Embedded Image", + "MediaInfoRefFrames": "Ref frames" } diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/kk.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/kk.json index c2b8eed04..b22da3b33 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/kk.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/kk.json @@ -530,7 +530,7 @@ "HeaderTracks": "\u0416\u043e\u043b\u0448\u044b\u049b\u0442\u0430\u0440", "HeaderItems": "\u042d\u043b\u0435\u043c\u0435\u043d\u0442\u0442\u0435\u0440", "HeaderOtherItems": "\u0411\u0430\u0441\u049b\u0430 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0442\u0435\u0440", - "ButtonFullReview": "\u0422\u043e\u043b\u044b\u049b \u0441\u0430\u0440\u0430\u043f\u0442\u0430\u0443", + "ButtonFullReview": "\u041f\u0456\u043a\u0456\u0440\u0441\u0430\u0440\u0430\u043f \u0442\u043e\u043b\u044b\u0493\u044b\u043c\u0435\u043d", "ValueAsRole": "{0} \u0440\u0435\u0442\u0456\u043d\u0434\u0435", "ValueGuestStar": "\u0428\u0430\u049b\u044b\u0440\u044b\u043b\u0493\u0430\u043d \u0430\u043a\u0442\u0435\u0440", "MediaInfoSize": "\u04e8\u043b\u0448\u0435\u043c\u0456", diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/pt_BR.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/pt_BR.json index 7ad9dc48e..9e144a3e9 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/pt_BR.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/pt_BR.json @@ -507,58 +507,58 @@ "ValueArtist": "Artista: {0}", "ValueArtists": "Artistas: {0}", "HeaderTags": "Tags", - "MediaInfoCameraMake": "Camera make", - "MediaInfoCameraModel": "Camera model", + "MediaInfoCameraMake": "Fabricante da c\u00e2mera", + "MediaInfoCameraModel": "Modelo da c\u00e2mera", "MediaInfoAltitude": "Altitude", - "MediaInfoAperture": "Aperture", - "MediaInfoExposureTime": "Exposure time", - "MediaInfoFocalLength": "Focal length", - "MediaInfoOrientation": "Orientation", - "MediaInfoIsoSpeedRating": "Iso speed rating", + "MediaInfoAperture": "Abertura", + "MediaInfoExposureTime": "Tempo de exposi\u00e7\u00e3o", + "MediaInfoFocalLength": "Tamanho do foco", + "MediaInfoOrientation": "Orienta\u00e7\u00e3o", + "MediaInfoIsoSpeedRating": "Velocidade Iso", "MediaInfoLatitude": "Latitude", "MediaInfoLongitude": "Longitude", - "MediaInfoShutterSpeed": "Shutter speed", + "MediaInfoShutterSpeed": "Velocidade do obturador", "MediaInfoSoftware": "Software", - "HeaderIfYouLikeCheckTheseOut": "If you like {0}, check these out...", + "HeaderIfYouLikeCheckTheseOut": "Se voc\u00ea gosta de {0}, veja isto...", "HeaderPlotKeywords": "Palavras-chave da Trama", - "HeaderMovies": "Movies", - "HeaderAlbums": "Albums", - "HeaderGames": "Games", - "HeaderBooks": "Books", - "HeaderEpisodes": "Episodes", - "HeaderSeasons": "Seasons", - "HeaderTracks": "Tracks", - "HeaderItems": "Items", - "HeaderOtherItems": "Other Items", - "ButtonFullReview": "Full review", - "ValueAsRole": "as {0}", - "ValueGuestStar": "Guest star", - "MediaInfoSize": "Size", - "MediaInfoPath": "Path", - "MediaInfoFormat": "Format", - "MediaInfoContainer": "Container", - "MediaInfoDefault": "Default", - "MediaInfoForced": "Forced", - "MediaInfoExternal": "External", - "MediaInfoTimestamp": "Timestamp", - "MediaInfoPixelFormat": "Pixel format", - "MediaInfoBitDepth": "Bit Depth", - "MediaInfoSampleRate": "Sample rate", - "MediaInfoBitrate": "Bitrate", - "MediaInfoChannels": "Channels", + "HeaderMovies": "Filmes", + "HeaderAlbums": "\u00c1lbuns", + "HeaderGames": "Jogos", + "HeaderBooks": "Livros", + "HeaderEpisodes": "Epis\u00f3dios", + "HeaderSeasons": "Temporadas", + "HeaderTracks": "Faixas", + "HeaderItems": "Itens", + "HeaderOtherItems": "Outros Itens", + "ButtonFullReview": "Avalia\u00e7\u00e3o completa", + "ValueAsRole": "como {0}", + "ValueGuestStar": "Ator convidado", + "MediaInfoSize": "Tamanho", + "MediaInfoPath": "Caminho", + "MediaInfoFormat": "Formato", + "MediaInfoContainer": "Recipiente", + "MediaInfoDefault": "Padr\u00e3o", + "MediaInfoForced": "For\u00e7ada", + "MediaInfoExternal": "Externa", + "MediaInfoTimestamp": "Data e hora", + "MediaInfoPixelFormat": "Formato do pixel", + "MediaInfoBitDepth": "Bits da imagem", + "MediaInfoSampleRate": "Taxa da amostra", + "MediaInfoBitrate": "Taxa", + "MediaInfoChannels": "Canais", "MediaInfoLayout": "Layout", - "MediaInfoLanguage": "Language", + "MediaInfoLanguage": "Idioma", "MediaInfoCodec": "Codec", - "MediaInfoProfile": "Profile", - "MediaInfoLevel": "Level", - "MediaInfoAspectRatio": "Aspect ratio", - "MediaInfoResolution": "Resolution", - "MediaInfoAnamorphic": "Anamorphic", - "MediaInfoInterlaced": "Interlaced", + "MediaInfoProfile": "Perfil", + "MediaInfoLevel": "N\u00edvel", + "MediaInfoAspectRatio": "Propor\u00e7\u00e3o da imagem", + "MediaInfoResolution": "Resolu\u00e7\u00e3o", + "MediaInfoAnamorphic": "Anam\u00f3rfico", + "MediaInfoInterlaced": "Entrela\u00e7ado", "MediaInfoFramerate": "Framerate", - "MediaInfoStreamTypeAudio": "Audio", - "MediaInfoStreamTypeData": "Data", - "MediaInfoStreamTypeVideo": "Video", - "MediaInfoStreamTypeSubtitle": "Subtitle", - "MediaInfoStreamTypeEmbeddedImage": "Embedded Image" + "MediaInfoStreamTypeAudio": "\u00c1udio", + "MediaInfoStreamTypeData": "Dados", + "MediaInfoStreamTypeVideo": "V\u00eddeo", + "MediaInfoStreamTypeSubtitle": "Legenda", + "MediaInfoStreamTypeEmbeddedImage": "Imagem Incorporada" }
\ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/ru.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/ru.json index cde871830..4f53fda63 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/ru.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/ru.json @@ -434,7 +434,7 @@ "HeaderLatestReviews": "\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u043e\u0442\u0437\u044b\u0432\u044b", "HeaderPluginInstallation": "\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043f\u043b\u0430\u0433\u0438\u043d\u0430", "MessageAlreadyInstalled": "\u0414\u0430\u043d\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0443\u0436\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430.", - "ValueReviewCount": "\u041e\u0442\u0437\u044b\u0432\u044b: {0}", + "ValueReviewCount": "{0} \u043e\u0442\u0437\u044b\u0432(\u0430\/\u043e\u0432)", "MessageYouHaveVersionInstalled": "\u0412 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430 \u0432\u0435\u0440\u0441\u0438\u044f {0}.", "MessageTrialExpired": "\u041f\u0440\u043e\u0431\u043d\u044b\u0439 \u043f\u0435\u0440\u0438\u043e\u0434 \u0434\u043b\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438\u0441\u0442\u0451\u043a", "MessageTrialWillExpireIn": "\u041f\u0440\u043e\u0431\u043d\u044b\u0439 \u043f\u0435\u0440\u0438\u043e\u0434 \u0434\u043b\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438\u0441\u0442\u0435\u0447\u0451\u0442 \u0447\u0435\u0440\u0435\u0437 {0} \u0434\u043d\u0435\u0439", @@ -484,8 +484,8 @@ "ValueOneMusicVideo": "1 \u043c\u0443\u0437\u044b\u043a\u0430\u043b\u044c\u043d\u043e\u0435 \u0432\u0438\u0434\u0435\u043e", "ValueMusicVideoCount": "{0} \u043c\u0443\u0437\u044b\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u0432\u0438\u0434\u0435\u043e", "HeaderOffline": "\u0410\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u043e", - "HeaderUnaired": "\u041e\u0436\u0438\u0434\u0430\u0435\u043c\u044b\u0439", - "HeaderMissing": "\u041d\u0435\u0442", + "HeaderUnaired": "\u041e\u0436\u0438\u0434\u0430\u0435\u0442\u0441\u044f", + "HeaderMissing": "\u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442", "ButtonWebsite": "\u0412\u0435\u0431\u0441\u0430\u0439\u0442", "TooltipFavorite": "\u0418\u0437\u0431\u0440\u0430\u043d\u043d\u043e\u0435", "TooltipLike": "\u041d\u0440\u0430\u0432\u0438\u0442\u0441\u044f", @@ -530,7 +530,7 @@ "HeaderTracks": "\u0414\u043e\u0440\u043e\u0436\u043a\u0438", "HeaderItems": "\u042d\u043b\u0435\u043c\u0435\u043d\u0442\u044b", "HeaderOtherItems": "\u0414\u0440\u0443\u0433\u0438\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b", - "ButtonFullReview": "\u041f\u043e\u043b\u043d\u044b\u0439 \u043e\u0431\u0437\u043e\u0440", + "ButtonFullReview": "\u0420\u0435\u0446\u0435\u043d\u0437\u0438\u044f \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e", "ValueAsRole": "\u043a\u0430\u043a {0}", "ValueGuestStar": "\u041f\u0440\u0438\u0433\u043b\u0430\u0448\u0451\u043d\u043d\u044b\u0439 \u0430\u043a\u0442\u0451\u0440", "MediaInfoSize": "\u0420\u0430\u0437\u043c\u0435\u0440", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/ar.json b/MediaBrowser.Server.Implementations/Localization/Server/ar.json index f10198e21..a6c36b6d0 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/ar.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/ar.json @@ -60,7 +60,7 @@ "VideoImageExtractionHelp": "For videos that don't already have images, and that we're unable to find internet images for. This will add some additional time to the initial library scan but will result in a more pleasing presentation.", "LabelChannelDownloadSizeLimit": "Download size limit (GB):", "LabelEnableChapterImageExtractionForMovies": "Extract chapter image extraction for Movies", - "LabelChannelDownloadSizeLimitHelp": "Limit the size of the channel download folder", + "LabelChannelDownloadSizeLimitHelp": "Limit the size of the channel download folder. Downloading beyond 500MB requires an active supporter membership.", "HeaderRecentActivity": "Recent Activity", "LabelChapterImageExtractionForMoviesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs as a nightly scheduled task at 4am, although this is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", "HeaderPeople": "People", @@ -328,6 +328,7 @@ "HeaderFrequentlyPlayed": "Frequently Played", "LabelSubtitleFormatHelp": "Example: srt", "DevBuildWarning": "Dev builds are the bleeding edge. Released often, these build have not been tested. The application may crash and entire features may not work at all.", + "ButtonLearnMore": "Learn more", "LabelVideoType": "Video Type:", "OptionBluray": "Bluray", "OptionDvd": "Dvd", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/ca.json b/MediaBrowser.Server.Implementations/Localization/Server/ca.json index 913336a98..d5a4b9cc4 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/ca.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/ca.json @@ -60,7 +60,7 @@ "VideoImageExtractionHelp": "For videos that don't already have images, and that we're unable to find internet images for. This will add some additional time to the initial library scan but will result in a more pleasing presentation.", "LabelChannelDownloadSizeLimit": "Download size limit (GB):", "LabelEnableChapterImageExtractionForMovies": "Extract chapter image extraction for Movies", - "LabelChannelDownloadSizeLimitHelp": "Limit the size of the channel download folder", + "LabelChannelDownloadSizeLimitHelp": "Limit the size of the channel download folder. Downloading beyond 500MB requires an active supporter membership.", "HeaderRecentActivity": "Recent Activity", "LabelChapterImageExtractionForMoviesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs as a nightly scheduled task at 4am, although this is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", "HeaderPeople": "People", @@ -328,6 +328,7 @@ "HeaderFrequentlyPlayed": "Frequently Played", "LabelSubtitleFormatHelp": "Example: srt", "DevBuildWarning": "Dev builds are the bleeding edge. Released often, these build have not been tested. The application may crash and entire features may not work at all.", + "ButtonLearnMore": "Learn more", "LabelVideoType": "Video Type:", "OptionBluray": "Bluray", "OptionDvd": "Dvd", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/cs.json b/MediaBrowser.Server.Implementations/Localization/Server/cs.json index 0928b941d..7f3f08112 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/cs.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/cs.json @@ -60,7 +60,7 @@ "VideoImageExtractionHelp": "Pro videa, kter\u00e9 je\u0161t\u011b nemaj\u00ed obr\u00e1zky obalu, a zat\u00edm nejsme schopni je dohledat. Tato operace vy\u017eaduje n\u011bjak\u00fd ten \u010das nav\u00edc, ve v\u00fdsledku ale p\u0159isp\u011bje k hez\u010d\u00edmu zobrazen\u00ed knihovny.", "LabelChannelDownloadSizeLimit": "Download size limit (GB):", "LabelEnableChapterImageExtractionForMovies": "Extrahov\u00e1n\u00ed obr\u00e1zk\u016f sc\u00e9n pro Filmy", - "LabelChannelDownloadSizeLimitHelp": "Limit the size of the channel download folder", + "LabelChannelDownloadSizeLimitHelp": "Limit the size of the channel download folder. Downloading beyond 500MB requires an active supporter membership.", "HeaderRecentActivity": "Recent Activity", "LabelChapterImageExtractionForMoviesHelp": "Extrahov\u00e1n\u00ed obr\u00e1zk\u016f sc\u00e9n pro Filmy dovol\u00ed klientovi graficky zobrazit v\u00fdb\u011br sc\u00e9n v menu. Proces m\u016f\u017ee b\u00fdt pomal\u00fd a n\u00e1ro\u010dn\u00fd na v\u00fdkon procesoru, z\u00e1rove\u0148 m\u016f\u017ee vy\u017eadovat n\u011bkolik gigabyt\u016f prostoru. Tento proces b\u011b\u017e\u00ed pl\u00e1novan\u011b ve 4 hodiny r\u00e1no (mo\u017en\u00e9 nastavit). Nen\u00ed doporu\u010deno nastavovat v dob\u011b vyu\u017e\u00edv\u00e1n\u00ed knihovny.", "HeaderPeople": "People", @@ -328,6 +328,7 @@ "HeaderFrequentlyPlayed": "Nej\u010dast\u011bji p\u0159ehr\u00e1v\u00e1no", "LabelSubtitleFormatHelp": "Example: srt", "DevBuildWarning": "Dev (v\u00fdvoj\u00e1\u0159sk\u00e1) sestaven\u00ed jsou vyd\u00e1v\u00e1na ob\u010das a nepravideln\u011b. Tato sestaven\u00ed nejsou testov\u00e1na, aplikace mohou b\u00fdt nestabiln\u00ed a n\u011bkter\u00e9 sou\u010d\u00e1sti nemus\u00ed fungovat v\u016fbec.", + "ButtonLearnMore": "Learn more", "LabelVideoType": "Typ vide:", "OptionBluray": "Bluray", "OptionDvd": "DVD", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/da.json b/MediaBrowser.Server.Implementations/Localization/Server/da.json index f28ce4a8c..ab127b2d0 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/da.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/da.json @@ -60,7 +60,7 @@ "VideoImageExtractionHelp": "For videoer der ikke allerede har billeder, og som vi ikke kan finde internet billeder til. Dette vil g\u00f8re den indledende biblioteks skanning l\u00e6ngere, men vil resulterer i en p\u00e6nere pr\u00e6sentation.", "LabelChannelDownloadSizeLimit": "Download size limit (GB):", "LabelEnableChapterImageExtractionForMovies": "Aktiver udtr\u00e6kning af kapitel billeder for Film", - "LabelChannelDownloadSizeLimitHelp": "Limit the size of the channel download folder", + "LabelChannelDownloadSizeLimitHelp": "Limit the size of the channel download folder. Downloading beyond 500MB requires an active supporter membership.", "HeaderRecentActivity": "Recent Activity", "LabelChapterImageExtractionForMoviesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs as a nightly scheduled task at 4am, although this is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", "HeaderPeople": "People", @@ -328,6 +328,7 @@ "HeaderFrequentlyPlayed": "Ofte Afspillet", "LabelSubtitleFormatHelp": "Example: srt", "DevBuildWarning": "Dev builds are the bleeding edge. Released often, these build have not been tested. The application may crash and entire features may not work at all.", + "ButtonLearnMore": "Learn more", "LabelVideoType": "Video Type:", "OptionBluray": "Bluray", "OptionDvd": "Dvd", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/de.json b/MediaBrowser.Server.Implementations/Localization/Server/de.json index 2103b13d9..4e4304c23 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/de.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/de.json @@ -328,6 +328,7 @@ "HeaderFrequentlyPlayed": "Oft gespielt", "LabelSubtitleFormatHelp": "Example: srt", "DevBuildWarning": "Dev Builds sind experimentell. Diese sehr oft ver\u00f6ffentlichten Builds sind nicht getestet. Das Programm kann abst\u00fcrzen und m\u00f6glicherweise k\u00f6nnen einzelne Funktionen nicht funktionieren.", + "ButtonLearnMore": "Learn more", "LabelVideoType": "Video Typ:", "OptionBluray": "Bluray", "OptionDvd": "DVD", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/el.json b/MediaBrowser.Server.Implementations/Localization/Server/el.json index 8e15faf83..e8888e7d6 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/el.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/el.json @@ -60,7 +60,7 @@ "VideoImageExtractionHelp": "For videos that don't already have images, and that we're unable to find internet images for. This will add some additional time to the initial library scan but will result in a more pleasing presentation.", "LabelChannelDownloadSizeLimit": "Download size limit (GB):", "LabelEnableChapterImageExtractionForMovies": "Extract chapter image extraction for Movies", - "LabelChannelDownloadSizeLimitHelp": "Limit the size of the channel download folder", + "LabelChannelDownloadSizeLimitHelp": "Limit the size of the channel download folder. Downloading beyond 500MB requires an active supporter membership.", "HeaderRecentActivity": "Recent Activity", "LabelChapterImageExtractionForMoviesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs as a nightly scheduled task at 4am, although this is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", "HeaderPeople": "People", @@ -328,6 +328,7 @@ "HeaderFrequentlyPlayed": "Frequently Played", "LabelSubtitleFormatHelp": "Example: srt", "DevBuildWarning": "Dev builds are the bleeding edge. Released often, these build have not been tested. The application may crash and entire features may not work at all.", + "ButtonLearnMore": "Learn more", "LabelVideoType": "Video Type:", "OptionBluray": "Bluray", "OptionDvd": "Dvd", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/en_GB.json b/MediaBrowser.Server.Implementations/Localization/Server/en_GB.json index 3ffea8df5..9f201a1cd 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/en_GB.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/en_GB.json @@ -60,7 +60,7 @@ "VideoImageExtractionHelp": "For videos that don't already have images, and that we're unable to find internet images for. This will add some additional time to the initial library scan but will result in a more pleasing presentation.", "LabelChannelDownloadSizeLimit": "Download size limit (GB):", "LabelEnableChapterImageExtractionForMovies": "Extract chapter image extraction for Movies", - "LabelChannelDownloadSizeLimitHelp": "Limit the size of the channel download folder", + "LabelChannelDownloadSizeLimitHelp": "Limit the size of the channel download folder. Downloading beyond 500MB requires an active supporter membership.", "HeaderRecentActivity": "Recent Activity", "LabelChapterImageExtractionForMoviesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs as a nightly scheduled task at 4am, although this is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", "HeaderPeople": "People", @@ -328,6 +328,7 @@ "HeaderFrequentlyPlayed": "Frequently Played", "LabelSubtitleFormatHelp": "Example: srt", "DevBuildWarning": "Dev builds are the bleeding edge. Released often, these build have not been tested. The application may crash and entire features may not work at all.", + "ButtonLearnMore": "Learn more", "LabelVideoType": "Video Type:", "OptionBluray": "Bluray", "OptionDvd": "Dvd", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/en_US.json b/MediaBrowser.Server.Implementations/Localization/Server/en_US.json index c0e9c98e9..8785c03d3 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/en_US.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/en_US.json @@ -60,7 +60,7 @@ "VideoImageExtractionHelp": "For videos that don't already have images, and that we're unable to find internet images for. This will add some additional time to the initial library scan but will result in a more pleasing presentation.", "LabelChannelDownloadSizeLimit": "Download size limit (GB):", "LabelEnableChapterImageExtractionForMovies": "Extract chapter image extraction for Movies", - "LabelChannelDownloadSizeLimitHelp": "Limit the size of the channel download folder", + "LabelChannelDownloadSizeLimitHelp": "Limit the size of the channel download folder. Downloading beyond 500MB requires an active supporter membership.", "HeaderRecentActivity": "Recent Activity", "LabelChapterImageExtractionForMoviesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs as a nightly scheduled task at 4am, although this is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", "HeaderPeople": "People", @@ -328,6 +328,7 @@ "HeaderFrequentlyPlayed": "Frequently Played", "LabelSubtitleFormatHelp": "Example: srt", "DevBuildWarning": "Dev builds are the bleeding edge. Released often, these build have not been tested. The application may crash and entire features may not work at all.", + "ButtonLearnMore": "Learn more", "LabelVideoType": "Video Type:", "OptionBluray": "Bluray", "OptionDvd": "Dvd", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/es.json b/MediaBrowser.Server.Implementations/Localization/Server/es.json index 5a89faebc..0037046d6 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/es.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/es.json @@ -60,7 +60,7 @@ "VideoImageExtractionHelp": "Para los v\u00eddeos que no dispongan de im\u00e1genes y que no podemos encontrar en Internet. Esto agregar\u00e1 un tiempo adicional para la exploraci\u00f3n inicial de bibliotecas, pero resultar\u00e1 en una presentaci\u00f3n m\u00e1s agradable.", "LabelChannelDownloadSizeLimit": "Download size limit (GB):", "LabelEnableChapterImageExtractionForMovies": "Extraer im\u00e1genes de cap\u00edtulos para pel\u00edculas", - "LabelChannelDownloadSizeLimitHelp": "Limit the size of the channel download folder", + "LabelChannelDownloadSizeLimitHelp": "Limit the size of the channel download folder. Downloading beyond 500MB requires an active supporter membership.", "HeaderRecentActivity": "Recent Activity", "LabelChapterImageExtractionForMoviesHelp": "Extraer im\u00e1genes de cap\u00edtulo permitir\u00e1 a los clientes mostrar men\u00fas gr\u00e1ficos de selecci\u00f3n de escenas. El proceso puede ser lento, intensivo en utilizaci\u00f3n del CPU y puede requerir varios gigabytes de espacio. Se ejecuta como una tarea nocturna, a las 4 de la ma\u00f1ana, aunque esto se puede configurar en el \u00e1rea de tareas programadas. No se recomienda ejecutar esta tarea durante las horas pico de uso.", "HeaderPeople": "People", @@ -328,6 +328,7 @@ "HeaderFrequentlyPlayed": "Reproducido frequentemente", "LabelSubtitleFormatHelp": "Example: srt", "DevBuildWarning": "Las actualizaciones en desarrollo no est\u00e1n convenientemente probadas. La aplicaci\u00f3n se puede bloquear y caracter\u00edsticas completas pueden no funcionar del todo.", + "ButtonLearnMore": "Learn more", "LabelVideoType": "Tipo de video", "OptionBluray": "Bluray", "OptionDvd": "Dvd", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/es_MX.json b/MediaBrowser.Server.Implementations/Localization/Server/es_MX.json index cabfba4ef..87f966c66 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/es_MX.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/es_MX.json @@ -60,7 +60,7 @@ "VideoImageExtractionHelp": "Para videos que no cuenten con im\u00e1genes, y para los que no podemos encontrar im\u00e1genes en Internet. Esto incrementar\u00e1 un poco el tiempo de la exploraci\u00f3n inicial de las bibliotecas, pero resultar\u00e1 en una presentaci\u00f3n m\u00e1s agradable.", "LabelChannelDownloadSizeLimit": "L\u00edmite de tama\u00f1o de descarga (GB):", "LabelEnableChapterImageExtractionForMovies": "Extraer im\u00e1genes de cap\u00edtulos para Pel\u00edculas", - "LabelChannelDownloadSizeLimitHelp": "Limitar el tama\u00f1o de la carpeta de descargas del canal", + "LabelChannelDownloadSizeLimitHelp": "Limita el tama\u00f1o de la carpeta de descargas del canal. Descargar m\u00e1s de 500MB requiere de una membres\u00eda de aficionado activa.", "HeaderRecentActivity": "Actividad Reciente", "LabelChapterImageExtractionForMoviesHelp": "Extraer im\u00e1genes de cap\u00edtulos permite a los clientes mostrar men\u00fas gr\u00e1ficos de selecci\u00f3n de escenas. El proceso puede ser lento, intensivo en utilizaci\u00f3n del CPU y puede requerir varios gigabytes de espacio. Se ejecuta como una tarea nocturna, programada a las 4 de la ma\u00f1ana, aunque esto se puede configurar en el \u00e1rea de tareas programadas. No se recomienda ejecutar esta tarea durante las horas pico de uso.", "HeaderPeople": "Personas", @@ -302,32 +302,33 @@ "OptionCriticRating": "Calificaci\u00f3n de la Cr\u00edtica", "LabelExternalPlayers": "Reproductores Externos:", "OptionVideoBitrate": "Tasa de bits de Video", - "LabelExternalPlayersHelp": "Desplegar botones para reproducir contenido en reproductores externos. Esto solo estar\u00e1 disponible en dispositivos que soporten esquemas URL, generalmente Android e iOS. Con reproductores externos normalmente no existe soporte para reiniciar, o reportar el progreso al servidor.", - "HeaderSubtitleProfile": "Subtitle Profile", + "LabelExternalPlayersHelp": "Despliega botones para reproducir contenido en reproductores externos. Esto s\u00f3lo est\u00e1 disponible en dispositivos que soporten esquemas URL, generalmente Android e iOS. Con reproductores externos normalmente no se cuenta con soporte para control remoto o reinicio.", + "HeaderSubtitleProfile": "Perf\u00edl de Subt\u00edtulo", "OptionResumable": "Reanudable", "ScheduledTasksHelp": "Da click en una tarea para ajustar su programaci\u00f3n.", - "HeaderSubtitleProfiles": "Subtitle Profiles", - "HeaderSubtitleProfilesHelp": "Subtitle profiles describe the subtitle formats supported by the device.", + "HeaderSubtitleProfiles": "Perfiles de Subt\u00edtulos", + "HeaderSubtitleProfilesHelp": "Los perfiles de subt\u00edtulos describen el formato del subt\u00edtulo soportado por el dispositivo.", "ScheduledTasksTitle": "Tareas Programadas", - "LabelFormat": "Format:", + "LabelFormat": "Formato:", "TabMyPlugins": "Mis Complementos", - "LabelMethod": "Method:", + "LabelMethod": "M\u00e9todo:", "TabCatalog": "Cat\u00e1logo", - "LabelDidlMode": "Didl mode:", + "LabelDidlMode": "Modo DIDL:", "PluginsTitle": "Complementos", "OptionCaptionInfoExSamsung": "CaptionInfoEx (Samsung)", "HeaderAutomaticUpdates": "Actualizaciones Autom\u00e1ticas", - "OptionResElement": "res element", + "OptionResElement": "Elemento res", "HeaderNowPlaying": "Reproduciendo Ahora", - "OptionEmbedSubtitles": "Embed within container", + "OptionEmbedSubtitles": "Embeber dentro del contenedor", "HeaderLatestAlbums": "\u00c1lbums Recientes", - "OptionExternallyDownloaded": "External download", + "OptionExternallyDownloaded": "Descarga externa", "HeaderLatestSongs": "Canciones Recientes", - "OptionHlsSegmentedSubtitles": "Hls segmented subtitles", + "OptionHlsSegmentedSubtitles": "Subt\u00edtulos segmentados HIs", "HeaderRecentlyPlayed": "Reproducido Recientemente", "HeaderFrequentlyPlayed": "Reproducido Frecuentemente", - "LabelSubtitleFormatHelp": "Example: srt", + "LabelSubtitleFormatHelp": "Ejemplo: srt", "DevBuildWarning": "Las compilaciones de Desarrollo son la punta de lanza. Se publican frecuentemente, estas compilaciones no se han probado. La aplicaci\u00f3n se puede bloquear y caracter\u00edsticas completas pueden no funcionar.", + "ButtonLearnMore": "Aprenda m\u00e1s", "LabelVideoType": "Tipo de Video:", "OptionBluray": "Bluray", "OptionDvd": "DVD", @@ -559,7 +560,7 @@ "HeaderThemeVideos": "Videos de Tema", "HeaderThemeSongs": "Canciones de Tema", "HeaderScenes": "Escenas", - "HeaderAwardsAndReviews": "Reconocimientos y Rese\u00f1as", + "HeaderAwardsAndReviews": "Premios y Rese\u00f1as", "HeaderSoundtracks": "Pistas de Audio", "HeaderMusicVideos": "Videos Musicales", "HeaderSpecialFeatures": "Caracter\u00edsticas Especiales", @@ -1142,7 +1143,7 @@ "OptionUnidentified": "No Identificado", "OptionMissingParentalRating": "Falta clasificaci\u00f3n parental", "OptionStub": "Plantilla", - "HeaderEpisodes": "Episodes:", + "HeaderEpisodes": "Episodios:", "OptionSeason0": "Temporada 0", "LabelReport": "Reporte:", "OptionReportSongs": "Canciones", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/fr.json b/MediaBrowser.Server.Implementations/Localization/Server/fr.json index 116c83efc..5fc89e51b 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/fr.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/fr.json @@ -328,6 +328,7 @@ "HeaderFrequentlyPlayed": "Fr\u00e9quemment lus", "LabelSubtitleFormatHelp": "Example: srt", "DevBuildWarning": "Les versions Dev incorporent les derniers d\u00e9veloppements. Mises \u00e0 jour fr\u00e9quemment, ces versions ne sont pas test\u00e9es. L'application peut planter et certaines fonctionalit\u00e9s peuvent ne pas fonctionner du tout.", + "ButtonLearnMore": "Learn more", "LabelVideoType": "Type de vid\u00e9o:", "OptionBluray": "Bluray", "OptionDvd": "DVD", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/he.json b/MediaBrowser.Server.Implementations/Localization/Server/he.json index 65d85c680..1de682ac5 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/he.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/he.json @@ -60,7 +60,7 @@ "VideoImageExtractionHelp": "\u05e2\u05d1\u05d5\u05e8 \u05e1\u05e8\u05d8\u05d9\u05dd \u05e9\u05d0\u05d9\u05df \u05dc\u05d4\u05dd \u05db\u05d1\u05e8 \u05ea\u05de\u05d5\u05e0\u05d4, \u05d5\u05dc\u05d0 \u05e0\u05de\u05e6\u05d0\u05d4 \u05dc\u05d4\u05dd \u05d0\u05d7\u05ea \u05d1\u05d0\u05d9\u05e0\u05d8\u05e8\u05e0\u05d8. \u05d4\u05d2\u05d3\u05e8\u05d4 \u05d6\u05d5 \u05ea\u05d5\u05e1\u05d9\u05e3 \u05de\u05e2\u05d8 \u05d6\u05de\u05df \u05dc\u05ea\u05d4\u05dc\u05d9\u05da \u05e1\u05e8\u05d9\u05e7\u05ea \u05d4\u05ea\u05e7\u05d9\u05d9\u05d4 \u05d4\u05e8\u05d0\u05e9\u05d5\u05e0\u05d9, \u05d0\u05da \u05ea\u05e1\u05e4\u05e7 \u05ea\u05e6\u05d5\u05d2\u05d4 \u05d9\u05d5\u05ea\u05e8 \u05d9\u05e4\u05d4.", "LabelChannelDownloadSizeLimit": "Download size limit (GB):", "LabelEnableChapterImageExtractionForMovies": "\u05d7\u05dc\u05e5 \u05ea\u05de\u05d5\u05e0\u05ea \u05e4\u05e8\u05e7 \u05dc\u05e1\u05e8\u05d8\u05d9\u05dd", - "LabelChannelDownloadSizeLimitHelp": "Limit the size of the channel download folder", + "LabelChannelDownloadSizeLimitHelp": "Limit the size of the channel download folder. Downloading beyond 500MB requires an active supporter membership.", "HeaderRecentActivity": "Recent Activity", "LabelChapterImageExtractionForMoviesHelp": "\u05d7\u05d9\u05dc\u05d5\u05e5 \u05ea\u05de\u05d5\u05e0\u05d5\u05ea \u05e4\u05e8\u05e7\u05d9\u05dd \u05d9\u05d0\u05e4\u05e9\u05e8 \u05dc\u05de\u05e9\u05ea\u05de\u05e9\u05d9\u05dd \u05dc\u05e8\u05d0\u05d5\u05ea \u05ea\u05e4\u05e8\u05d9\u05d8 \u05d1\u05d7\u05d9\u05e8\u05ea \u05e1\u05e6\u05e0\u05d5\u05ea \u05d2\u05e8\u05e4\u05d9. \u05d4\u05ea\u05d4\u05dc\u05d9\u05da \u05d9\u05db\u05d5\u05dc \u05dc\u05d4\u05d9\u05d5\u05ea \u05d0\u05d9\u05d8\u05d9, \u05dc\u05d3\u05e8\u05d5\u05e9 \u05de\u05e9\u05d0\u05d1\u05d9 \u05de\u05e2\u05d1\u05d3 \u05e8\u05d1\u05d9\u05dd \u05d5\u05dc\u05ea\u05e4\u05d5\u05e1 \u05e9\u05d8\u05d7 \u05d0\u05d9\u05d7\u05e1\u05d5\u05df \u05e8\u05d1. \u05d0\u05e4\u05e9\u05e8\u05d5\u05ea \u05d6\u05d5 \u05e8\u05e6\u05d4 \u05db\u05de\u05e9\u05d9\u05de\u05d4 \u05de\u05ea\u05d5\u05d6\u05de\u05e0\u05ea \u05d1\u05d0\u05e8\u05d1\u05e2 \u05dc\u05e4\u05e0\u05d5\u05ea \u05d1\u05d5\u05e7\u05e8, \u05d0\u05da \u05d6\u05d4 \u05e0\u05d9\u05ea\u05df \u05dc\u05e9\u05d9\u05e0\u05d5\u05d9 \u05d1\u05d7\u05dc\u05d5\u05df \u05d4\u05d2\u05d3\u05e8\u05d5\u05ea \u05d4\u05de\u05e9\u05d9\u05de\u05d5\u05ea \u05d4\u05de\u05ea\u05d5\u05d6\u05de\u05e0\u05d5\u05ea. \u05d6\u05d4 \u05dc\u05d0 \u05de\u05de\u05d5\u05dc\u05e5 \u05dc\u05d4\u05e4\u05e2\u05d9\u05dc \u05de\u05e9\u05d9\u05de\u05d4 \u05d6\u05d5 \u05d1\u05e9\u05e2\u05d5\u05ea \u05d4\u05e9\u05d9\u05de\u05d5\u05e9 \u05d4\u05e2\u05d9\u05e7\u05e8\u05d9\u05d5\u05ea \u05d1\u05de\u05d7\u05e9\u05d1.", "HeaderPeople": "People", @@ -328,6 +328,7 @@ "HeaderFrequentlyPlayed": "\u05e0\u05d5\u05d2\u05e0\u05d5 \u05dc\u05e8\u05d5\u05d1", "LabelSubtitleFormatHelp": "Example: srt", "DevBuildWarning": "\u05d2\u05e8\u05e1\u05d0\u05d5\u05ea \u05de\u05e4\u05ea\u05d7 \u05d4\u05df \u05d7\u05d5\u05d3 \u05d4\u05d7\u05e0\u05d9\u05ea. \u05d2\u05e8\u05e1\u05d0\u05d5\u05ea \u05d0\u05dc\u05d4 \u05dc\u05d0 \u05e0\u05d1\u05d3\u05e7\u05d5 \u05d5\u05d4\u05df \u05de\u05e9\u05d5\u05d7\u05e8\u05e8\u05d5\u05ea \u05d1\u05de\u05d4\u05d9\u05e8\u05d5\u05ea. \u05d4\u05ea\u05d5\u05db\u05e0\u05d4 \u05e2\u05dc\u05d5\u05dc\u05d4 \u05dc\u05e7\u05e8\u05d5\u05e1 \u05d5\u05de\u05d0\u05e4\u05d9\u05d9\u05e0\u05d9\u05dd \u05de\u05e1\u05d5\u05d9\u05d9\u05de\u05d9\u05dd \u05e2\u05dc\u05d5\u05dc\u05d9\u05dd \u05db\u05dc\u05dc \u05dc\u05d0 \u05dc\u05e2\u05d1\u05d5\u05d3.", + "ButtonLearnMore": "Learn more", "LabelVideoType": "\u05d2\u05d5\u05d3 \u05d5\u05d5\u05d9\u05d3\u05d0\u05d5:", "OptionBluray": "\u05d1\u05dc\u05d5-\u05e8\u05d9\u05d9", "OptionDvd": "DVD", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/it.json b/MediaBrowser.Server.Implementations/Localization/Server/it.json index bfe97376b..0568cd954 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/it.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/it.json @@ -328,6 +328,7 @@ "HeaderFrequentlyPlayed": "Visti di frequente", "LabelSubtitleFormatHelp": "Example: srt", "DevBuildWarning": "La versione Dev Builds non \u00e8 testata e potrebbe bloccarsi o non rispondere correttamente", + "ButtonLearnMore": "Learn more", "LabelVideoType": "Tipo video:", "OptionBluray": "Bluray", "OptionDvd": "Dvd", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/kk.json b/MediaBrowser.Server.Implementations/Localization/Server/kk.json index ba411173f..d17041627 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/kk.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/kk.json @@ -328,6 +328,7 @@ "HeaderFrequentlyPlayed": "\u0416\u0438\u0456 \u043e\u0439\u043d\u0430\u0442\u044b\u043b\u0493\u0430\u043d\u0434\u0430\u0440", "LabelSubtitleFormatHelp": "\u041c\u044b\u0441\u0430\u043b: srt", "DevBuildWarning": "\u0416\u0430\u0441\u0430\u049b\u0442\u0430\u0443 \u049b\u04b1\u0440\u0430\u0441\u0442\u044b\u0440\u043c\u0430\u043b\u0430\u0440 \u0441\u04b1\u0440\u0430\u043f\u044b\u043b \u049b\u044b\u0440\u043b\u044b \u0431\u043e\u043b\u044b\u043f \u0442\u0430\u0431\u044b\u043b\u0430\u0434\u044b. \u0416\u0438\u0456 \u0448\u044b\u0493\u0430\u0440\u043b\u044b\u043f \u043c\u044b\u043d\u0430 \u049b\u04b1\u0440\u0430\u0441\u0442\u044b\u0440\u043c\u0430\u043b\u0430\u0440 \u0442\u043e\u043b\u044b\u049b \u0441\u044b\u043d\u0430\u049b\u0442\u0430\u043c\u0430\u043b\u0430\u0443\u0434\u0430\u043d \u04e9\u0442\u043f\u0435\u0433\u0435\u043d. \u049a\u043e\u043b\u0434\u0430\u043d\u0431\u0430 \u0431\u04b1\u0437\u044b\u043b\u0443 \u043c\u04af\u043c\u043a\u0456\u043d \u0436\u04d9\u043d\u0435 \u0430\u049b\u044b\u0440 \u0430\u044f\u0493\u044b\u043d\u0434\u0430 \u043c\u04af\u043c\u043a\u0456\u043d\u0434\u0456\u043a\u0442\u0435\u0440 \u0431\u04af\u0442\u0456\u043d\u0434\u0435\u0439 \u0436\u04b1\u043c\u044b\u0441 \u0456\u0441\u0442\u0435\u043c\u0435\u0443\u0456 \u043c\u04af\u043c\u043a\u0456\u043d.", + "ButtonLearnMore": "Learn more", "LabelVideoType": "\u0411\u0435\u0439\u043d\u0435 \u0442\u04af\u0440\u0456:", "OptionBluray": "BluRay", "OptionDvd": "DVD", @@ -559,7 +560,7 @@ "HeaderThemeVideos": "\u0422\u0430\u049b\u044b\u0440\u044b\u043f\u0442\u044b\u049b \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u0440", "HeaderThemeSongs": "\u0422\u0430\u049b\u044b\u0440\u044b\u043f\u0442\u044b\u049b \u04d9\u0443\u0435\u043d\u0434\u0435\u0440", "HeaderScenes": "\u0421\u0430\u0445\u043d\u0430\u043b\u0430\u0440", - "HeaderAwardsAndReviews": "\u041c\u0430\u0440\u0430\u043f\u0430\u0442\u0442\u0430\u0440 \u043c\u0435\u043d \u043f\u0456\u043a\u0456\u0440\u043b\u0435\u0440", + "HeaderAwardsAndReviews": "\u041c\u0430\u0440\u0430\u043f\u0430\u0442\u0442\u0430\u0440 \u043c\u0435\u043d \u043f\u0456\u043a\u0456\u0440\u0441\u0430\u0440\u0430\u043f\u0442\u0430\u0440", "HeaderSoundtracks": "\u0424\u0438\u043b\u044c\u043c\u0434\u0456\u04a3 \u043c\u0443\u0437\u044b\u043a\u0430\u0441\u044b", "HeaderMusicVideos": "\u041c\u0443\u0437\u044b\u043a\u0430\u043b\u044b\u049b \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u0440", "HeaderSpecialFeatures": "\u0410\u0440\u043d\u0430\u0439\u044b \u043c\u04d9\u043b\u0456\u043c\u0435\u0442\u0442\u0435\u0440", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/ko.json b/MediaBrowser.Server.Implementations/Localization/Server/ko.json index e8df0ce15..152c7203e 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/ko.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/ko.json @@ -60,7 +60,7 @@ "VideoImageExtractionHelp": "For videos that don't already have images, and that we're unable to find internet images for. This will add some additional time to the initial library scan but will result in a more pleasing presentation.", "LabelChannelDownloadSizeLimit": "Download size limit (GB):", "LabelEnableChapterImageExtractionForMovies": "Extract chapter image extraction for Movies", - "LabelChannelDownloadSizeLimitHelp": "Limit the size of the channel download folder", + "LabelChannelDownloadSizeLimitHelp": "Limit the size of the channel download folder. Downloading beyond 500MB requires an active supporter membership.", "HeaderRecentActivity": "Recent Activity", "LabelChapterImageExtractionForMoviesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs as a nightly scheduled task at 4am, although this is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", "HeaderPeople": "People", @@ -328,6 +328,7 @@ "HeaderFrequentlyPlayed": "Frequently Played", "LabelSubtitleFormatHelp": "Example: srt", "DevBuildWarning": "Dev builds are the bleeding edge. Released often, these build have not been tested. The application may crash and entire features may not work at all.", + "ButtonLearnMore": "Learn more", "LabelVideoType": "Video Type:", "OptionBluray": "Bluray", "OptionDvd": "Dvd", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/ms.json b/MediaBrowser.Server.Implementations/Localization/Server/ms.json index e5a4089ef..60ea84129 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/ms.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/ms.json @@ -60,7 +60,7 @@ "VideoImageExtractionHelp": "For videos that don't already have images, and that we're unable to find internet images for. This will add some additional time to the initial library scan but will result in a more pleasing presentation.", "LabelChannelDownloadSizeLimit": "Download size limit (GB):", "LabelEnableChapterImageExtractionForMovies": "Extract chapter image extraction for Movies", - "LabelChannelDownloadSizeLimitHelp": "Limit the size of the channel download folder", + "LabelChannelDownloadSizeLimitHelp": "Limit the size of the channel download folder. Downloading beyond 500MB requires an active supporter membership.", "HeaderRecentActivity": "Recent Activity", "LabelChapterImageExtractionForMoviesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs as a nightly scheduled task at 4am, although this is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", "HeaderPeople": "People", @@ -328,6 +328,7 @@ "HeaderFrequentlyPlayed": "Frequently Played", "LabelSubtitleFormatHelp": "Example: srt", "DevBuildWarning": "Dev builds are the bleeding edge. Released often, these build have not been tested. The application may crash and entire features may not work at all.", + "ButtonLearnMore": "Learn more", "LabelVideoType": "Video Type:", "OptionBluray": "Bluray", "OptionDvd": "Dvd", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/nb.json b/MediaBrowser.Server.Implementations/Localization/Server/nb.json index 217020835..33d65e4ca 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/nb.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/nb.json @@ -328,6 +328,7 @@ "HeaderFrequentlyPlayed": "Ofte avspilt", "LabelSubtitleFormatHelp": "Example: srt", "DevBuildWarning": "Dev builds er \u00e5 anses som p\u00e5 kanten. Disse har ikke blitt testet. Dette vil kunne medf\u00f8re til at applikasjonen kan krasje og komplette funksjoner ikke fungerer.", + "ButtonLearnMore": "Learn more", "LabelVideoType": "Video-type", "OptionBluray": "Bluray", "OptionDvd": "Dvd", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/nl.json b/MediaBrowser.Server.Implementations/Localization/Server/nl.json index e625ccd1e..05b863931 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/nl.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/nl.json @@ -328,6 +328,7 @@ "HeaderFrequentlyPlayed": "Vaak afgespeeld", "LabelSubtitleFormatHelp": "Voorbeeld: srt", "DevBuildWarning": "Development versies zijn geheel voor eigen risico. Deze versies worden vaak vrijgegeven en zijn niet getest!. De Applicatie kan crashen en sommige functies kunnen mogelijk niet meer werken.", + "ButtonLearnMore": "Meer informatie", "LabelVideoType": "Video Type:", "OptionBluray": "Blu-ray", "OptionDvd": "Dvd", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/pl.json b/MediaBrowser.Server.Implementations/Localization/Server/pl.json index c9a400a5a..9f2bc1d5d 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/pl.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/pl.json @@ -60,7 +60,7 @@ "VideoImageExtractionHelp": "Dla filmik\u00f3w kt\u00f3re nie maj\u0105 jeszcze obraz\u00f3w i dla kt\u00f3rych nie mo\u017cemy \u017cadnych znale\u017a\u0107 na internecie. Zwi\u0119kszy to czas wst\u0119pnego skanowania biblioteki ale wynikiem b\u0119dzie \u0142adniejsza prezentacja.", "LabelChannelDownloadSizeLimit": "Download size limit (GB):", "LabelEnableChapterImageExtractionForMovies": "Extract chapter image extraction for Movies", - "LabelChannelDownloadSizeLimitHelp": "Limit the size of the channel download folder", + "LabelChannelDownloadSizeLimitHelp": "Limit the size of the channel download folder. Downloading beyond 500MB requires an active supporter membership.", "HeaderRecentActivity": "Recent Activity", "LabelChapterImageExtractionForMoviesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs as a nightly scheduled task at 4am, although this is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", "HeaderPeople": "People", @@ -328,6 +328,7 @@ "HeaderFrequentlyPlayed": "Cz\u0119sto grane", "LabelSubtitleFormatHelp": "Example: srt", "DevBuildWarning": "Dev builds are the bleeding edge. Released often, these build have not been tested. The application may crash and entire features may not work at all.", + "ButtonLearnMore": "Learn more", "LabelVideoType": "Type widea", "OptionBluray": "Bluray", "OptionDvd": "Dvd", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/pt_BR.json b/MediaBrowser.Server.Implementations/Localization/Server/pt_BR.json index fb68a78a4..7eceb3b94 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/pt_BR.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/pt_BR.json @@ -60,7 +60,7 @@ "VideoImageExtractionHelp": "Para v\u00eddeos que n\u00e3o tenham imagens e que n\u00e3o possamos encontrar imagens na internet. Isto aumentar\u00e1 o tempo do rastreamento inicial da biblioteca mas resultar\u00e1 em uma apresenta\u00e7\u00e3o mais bonita.", "LabelChannelDownloadSizeLimit": "Limite do tamanho para download (GB):", "LabelEnableChapterImageExtractionForMovies": "Extrair imagens de cap\u00edtulos dos Filmes", - "LabelChannelDownloadSizeLimitHelp": "Limite o tamanho da pasta para download do canal", + "LabelChannelDownloadSizeLimitHelp": "Limite o tamanho da pasta para download do canal. Para fazer download de mais de 500MB \u00e9 necess\u00e1rio possuir uma ades\u00e3o de colaborador ativa.", "HeaderRecentActivity": "Atividade Recente", "LabelChapterImageExtractionForMoviesHelp": "Extrair imagens de cap\u00edtulos permitir\u00e1 aos clientes exibir menus gr\u00e1ficos de sele\u00e7\u00e3o de cenas. O processo pode ser lento, uso intensivo de cpu e pode exigir bastante espa\u00e7o em disco. Ele ser\u00e1 executado \u00e0s 4:00hs, embora isto possa ser configur\u00e1vel na \u00e1rea de tarefas agendadas. N\u00e3o \u00e9 recomendado executar esta tarefa durante as horas de pico de uso.", "HeaderPeople": "Pessoas", @@ -170,7 +170,7 @@ "MaxParentalRatingHelp": "Conte\u00fado com classifica\u00e7\u00e3o maior ser\u00e1 ocultado do usu\u00e1rio.", "LabelRevenue": "Faturamento ($):", "LibraryAccessHelp": "Selecionar as pastas de m\u00eddia para compartilhar com este usu\u00e1rio. Administradores poder\u00e3o editar todas as pastas usando o gerenciador de metadados.", - "LabelOriginalAspectRatio": "Rela\u00e7\u00e3o de aspecto original:", + "LabelOriginalAspectRatio": "Propor\u00e7\u00e3o da imagem original:", "ChannelAccessHelp": "Selecione os canais a compartilhar com este usu\u00e1rio. Administradores poder\u00e3o editar todos os canais usando o gerenciador de metadados.", "LabelPlayers": "Reprodutores:", "ButtonDeleteImage": "Apagar Imagem", @@ -303,31 +303,32 @@ "LabelExternalPlayers": "Reprodutores externos:", "OptionVideoBitrate": "Taxa do V\u00eddeo", "LabelExternalPlayersHelp": "Exibir bot\u00f5es para reproduzir conte\u00fado em reprodutores externos. Isto est\u00e1 dispon\u00edvel apenas em dispositivos que suportam esquemas url, geralmente Android e iOS. Com os reprodutores externos, geralmente n\u00e3o existe suporte para controle remoto ou para retomar.", - "HeaderSubtitleProfile": "Subtitle Profile", + "HeaderSubtitleProfile": "Perfil da Legenda", "OptionResumable": "Por retomar", "ScheduledTasksHelp": "Clique em uma tarefa para ajustar quando ser\u00e1 executada.", - "HeaderSubtitleProfiles": "Subtitle Profiles", - "HeaderSubtitleProfilesHelp": "Subtitle profiles describe the subtitle formats supported by the device.", + "HeaderSubtitleProfiles": "Perfis da Legenda", + "HeaderSubtitleProfilesHelp": "Perfis da legenda descrevem os formatos da legenda suportados pelo dispositivo.", "ScheduledTasksTitle": "Tarefas Agendadas", - "LabelFormat": "Format:", + "LabelFormat": "Formato:", "TabMyPlugins": "Meus Plugins", - "LabelMethod": "Method:", + "LabelMethod": "M\u00e9todo:", "TabCatalog": "Cat\u00e1logo", - "LabelDidlMode": "Didl mode:", + "LabelDidlMode": "Modo Dodl:", "PluginsTitle": "Plugins", "OptionCaptionInfoExSamsung": "CaptionInfoEx (Samsung)", "HeaderAutomaticUpdates": "Atualiza\u00e7\u00f5es Autom\u00e1ticas", - "OptionResElement": "res element", + "OptionResElement": "elemento res", "HeaderNowPlaying": "Reproduzindo Agora", - "OptionEmbedSubtitles": "Embed within container", + "OptionEmbedSubtitles": "Incorporar no recipiente", "HeaderLatestAlbums": "\u00c1lbuns Recentes", - "OptionExternallyDownloaded": "External download", + "OptionExternallyDownloaded": "Download Externo", "HeaderLatestSongs": "M\u00fasicas Recentes", - "OptionHlsSegmentedSubtitles": "Hls segmented subtitles", + "OptionHlsSegmentedSubtitles": "Legendas segmentadas hls", "HeaderRecentlyPlayed": "Reprodu\u00e7\u00f5es Recentes", "HeaderFrequentlyPlayed": "Reprodu\u00e7\u00f5es Frequentes", - "LabelSubtitleFormatHelp": "Example: srt", + "LabelSubtitleFormatHelp": "Exemplo: srt", "DevBuildWarning": "Vers\u00f5es Dev s\u00e3o as mais atuais. Lan\u00e7adas frequentemente, estas vers\u00f5es n\u00e3o foram testadas. A aplica\u00e7\u00e3o pode falhar e v\u00e1rias funcionalidades podem n\u00e3o funcionar.", + "ButtonLearnMore": "Saiba mais", "LabelVideoType": "Tipo de V\u00eddeo:", "OptionBluray": "Bluray", "OptionDvd": "Dvd", @@ -1142,7 +1143,7 @@ "OptionUnidentified": "N\u00e3o identificada", "OptionMissingParentalRating": "Faltando classifica\u00e7\u00e3o parental", "OptionStub": "Stub", - "HeaderEpisodes": "Episodes:", + "HeaderEpisodes": "Epis\u00f3dios", "OptionSeason0": "Temporada 0", "LabelReport": "Relat\u00f3rio:", "OptionReportSongs": "M\u00fasicas", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/pt_PT.json b/MediaBrowser.Server.Implementations/Localization/Server/pt_PT.json index 915c808f7..699fadcf0 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/pt_PT.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/pt_PT.json @@ -60,7 +60,7 @@ "VideoImageExtractionHelp": "Para os v\u00eddeos ainda sem imagens e que n\u00e3o se encontram imagens na internet. Esta funcionalidade vai acrescentar mais algum tempo na leitura inicial da biblioteca, mas resultar\u00e1 numa apresenta\u00e7\u00e3o melhorada,", "LabelChannelDownloadSizeLimit": "Download size limit (GB):", "LabelEnableChapterImageExtractionForMovies": "Extrair imagens dos cap\u00edtulos dos Filmes", - "LabelChannelDownloadSizeLimitHelp": "Limit the size of the channel download folder", + "LabelChannelDownloadSizeLimitHelp": "Limit the size of the channel download folder. Downloading beyond 500MB requires an active supporter membership.", "HeaderRecentActivity": "Recent Activity", "LabelChapterImageExtractionForMoviesHelp": "Extrair imagens dos cap\u00edtulos permite, \u00e0s aplica\u00e7\u00f5es clientes, apresentar menus de selec\u00e7\u00e3o de cap\u00edtulos com cenas. Este processo pode ser lento, intensivo para o CPU e pode requerer v\u00e1rios gigabytes de espa\u00e7o. Corre como um servi\u00e7o nocturno, agendado para as 04h, embora possa ser configurado na \u00e1rea de Tarefas Agendadas. N\u00e3o \u00e9 recomendado correr esta tarefa em horas que haja muita utiliza\u00e7\u00e3o.", "HeaderPeople": "People", @@ -328,6 +328,7 @@ "HeaderFrequentlyPlayed": "Reproduzido frequentemente", "LabelSubtitleFormatHelp": "Example: srt", "DevBuildWarning": "As vers\u00f5es Dev s\u00e3o a tecnologia de ponta. S\u00e3o lan\u00e7adas frequentemente e n\u00e3o foram testadas. A aplica\u00e7\u00e3o pode bloquear e n\u00e3o funcionar de todo.", + "ButtonLearnMore": "Learn more", "LabelVideoType": "Tipo de V\u00eddeo:", "OptionBluray": "Bluray", "OptionDvd": "DVD", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/ru.json b/MediaBrowser.Server.Implementations/Localization/Server/ru.json index 429c0e382..e49cce856 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/ru.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/ru.json @@ -98,15 +98,15 @@ "LabelDownloadInternetMetadataHelp": "\u0414\u043b\u044f \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u044b\u0445 \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e \u043c\u0435\u0434\u0438\u0430\u0434\u0430\u043d\u043d\u044b\u0445 \u0432 Media Browser.", "LabelImageRefreshMode": "\u0420\u0435\u0436\u0438\u043c \u0430\u043a\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0440\u0438\u0441\u0443\u043d\u043a\u0430:", "TabPreferences": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438", - "OptionDownloadMissingImages": "\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0440\u0438\u0441\u0443\u043d\u043a\u0438", + "OptionDownloadMissingImages": "\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u0440\u0438\u0441\u0443\u043d\u043a\u043e\u0432", "TabPassword": "\u041f\u0430\u0440\u043e\u043b\u044c", - "OptionReplaceExistingImages": "\u0417\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0440\u0438\u0441\u0443\u043d\u043a\u0438", + "OptionReplaceExistingImages": "\u0417\u0430\u043c\u0435\u043d\u0430 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u0440\u0438\u0441\u0443\u043d\u043a\u043e\u0432", "TabLibraryAccess": "\u0414\u043e\u0441\u0442\u0443\u043f \u043a \u043c\u0435\u0434\u0438\u0430\u0442\u0435\u043a\u0435", - "OptionRefreshAllData": "\u0410\u043a\u0442\u0443\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u0434\u0430\u043d\u043d\u044b\u0435", + "OptionRefreshAllData": "\u0410\u043a\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0432\u0441\u0435\u0445 \u0434\u0430\u043d\u043d\u044b\u0445", "TabImage": "\u0420\u0438\u0441\u0443\u043d\u043e\u043a", - "OptionAddMissingDataOnly": "\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435", + "OptionAddMissingDataOnly": "\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0442\u043e\u043b\u044c\u043a\u043e", "TabProfile": "\u041f\u0440\u043e\u0444\u0438\u043b\u044c", - "OptionLocalRefreshOnly": "\u0410\u043a\u0442\u0443\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e", + "OptionLocalRefreshOnly": "\u041b\u043e\u043a\u0430\u043b\u044c\u043d\u0430\u044f \u0430\u043a\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0442\u043e\u043b\u044c\u043a\u043e", "TabMetadata": "\u041c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435", "HeaderRefreshMetadata": "\u0410\u043a\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0445", "TabImages": "\u0420\u0438\u0441\u0443\u043d\u043a\u0438", @@ -115,7 +115,7 @@ "HeaderIdentifyItem": "\u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430", "TabCollectionTitles": "\u041f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f", "HeaderIdentifyItemHelp": "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043e\u0434\u0438\u043d \u0438\u043b\u0438 \u0431\u043e\u043b\u0435\u0435 \u043a\u0440\u0438\u0442\u0435\u0440\u0438\u0435\u0432 \u043f\u043e\u0438\u0441\u043a\u0430. \u0414\u043b\u044f \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u044f \u0447\u0438\u0441\u043b\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u043f\u043e\u0438\u0441\u043a\u0430 \u0443\u0431\u0435\u0440\u0438\u0442\u0435 \u043a\u0440\u0438\u0442\u0435\u0440\u0438\u0439.", - "LabelDisplayMissingEpisodesWithinSeasons": "\u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c \u043f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0435 \u044d\u043f\u0438\u0437\u043e\u0434\u044b \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u0435\u0437\u043e\u043d\u043e\u0432", + "LabelDisplayMissingEpisodesWithinSeasons": "\u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u044d\u043f\u0438\u0437\u043e\u0434\u044b \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u0435\u0437\u043e\u043d\u043e\u0432", "HeaderConfirmDeletion": "\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f", "LabelUnairedMissingEpisodesWithinSeasons": "\u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u044b\u0435 \u044d\u043f\u0438\u0437\u043e\u0434\u044b \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u0435\u0437\u043e\u043d\u043e\u0432", "LabelFollowingFileWillBeDeleted": "\u0411\u0443\u0434\u0435\u0442 \u0443\u0434\u0430\u043b\u0451\u043d \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0444\u0430\u0439\u043b:", @@ -302,7 +302,7 @@ "OptionCriticRating": "\u041e\u0446\u0435\u043d\u043a\u0430 \u043a\u0440\u0438\u0442\u0438\u043a\u043e\u0432", "LabelExternalPlayers": "\u0412\u043d\u0435\u0448\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u0435\u043b\u0438:", "OptionVideoBitrate": "\u041f\u043e\u0442\u043e\u043a. \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0432\u0438\u0434\u0435\u043e", - "LabelExternalPlayersHelp": "\u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u044e\u0442\u0441\u044f \u043a\u043d\u043e\u043f\u043a\u0438, \u0447\u0442\u043e\u0431\u044b \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435 \u0432\u043e \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u0435\u043b\u044f\u0445. \u042d\u0442\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442 URL-\u0441\u0445\u0435\u043c\u044b, \u043e\u0431\u044b\u0447\u043d\u043e, \u0432 Android \u0438 iOS. \u0412\u043e \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u0435\u043b\u044f\u0445, \u043a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u043e\u0433\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0438\u043b\u0438 \u0432\u043e\u0437\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f.", + "LabelExternalPlayersHelp": "\u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u044e\u0442\u0441\u044f \u043a\u043d\u043e\u043f\u043a\u0438, \u0447\u0442\u043e\u0431\u044b \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435 \u0432\u043e \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u0435\u043b\u044f\u0445. \u042d\u0442\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442 URL-\u0441\u0445\u0435\u043c\u044b, \u043e\u0431\u044b\u0447\u043d\u043e \u0432 Android \u0438 iOS. \u0412\u043e \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u0435\u043b\u044f\u0445, \u043a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u043e\u0433\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0438\u043b\u0438 \u0432\u043e\u0437\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f.", "HeaderSubtitleProfile": "\u041f\u0440\u043e\u0444\u0438\u043b\u044c \u0441\u0443\u0431\u0442\u0438\u0442\u0440\u043e\u0432", "OptionResumable": "\u0412\u043e\u0437\u043e\u0431\u043d\u043e\u0432\u0438\u043c\u044b\u0435", "ScheduledTasksHelp": "\u0429\u0451\u043b\u043a\u043d\u0438\u0442\u0435 \u043f\u043e \u0437\u0430\u0434\u0430\u043d\u0438\u044e, \u0447\u0442\u043e\u0431\u044b \u043f\u0435\u0440\u0435\u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0435\u0433\u043e \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u0438\u0435.", @@ -328,6 +328,7 @@ "HeaderFrequentlyPlayed": "\u0412\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0451\u043d\u043d\u044b\u0435 \u0447\u0430\u0441\u0442\u043e", "LabelSubtitleFormatHelp": "\u041f\u0440\u0438\u043c\u0435\u0440: srt", "DevBuildWarning": "\u0421\u0431\u043e\u0440\u043a\u0438 \u0420\u0430\u0437\u0440\u0430\u0431[\u043e\u0442\u0447\u0438\u043a\u0430] \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0441\u044b\u0440\u044b\u043c\u0438. \u0412\u044b\u0445\u043e\u0434\u044f\u0449\u0438\u0435 \u0447\u0430\u0441\u0442\u043e, \u044d\u0442\u0438 \u0441\u0431\u043e\u0440\u043a\u0438 \u043d\u0435 \u0431\u044b\u043b\u0438 \u043e\u0442\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0434\u043e \u043a\u043e\u043d\u0446\u0430. \u0420\u0430\u0431\u043e\u0442\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043c\u043e\u0436\u0435\u0442 \u0430\u0432\u0430\u0440\u0438\u0439\u043d\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0442\u044c\u0441\u044f, \u0430 \u043c\u043d\u043e\u0433\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043c\u043e\u0433\u0443\u0442 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441\u043e\u0432\u0441\u0435\u043c.", + "ButtonLearnMore": "Learn more", "LabelVideoType": "\u0422\u0438\u043f \u0432\u0438\u0434\u0435\u043e:", "OptionBluray": "BluRay", "OptionDvd": "DVD", @@ -567,7 +568,7 @@ "HeaderAdditionalParts": "\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0447\u0430\u0441\u0442\u0438", "ButtonSplitVersionsApart": "\u0420\u0430\u0437\u0431\u0438\u0442\u044c \u0432\u0435\u0440\u0441\u0438\u0438 \u043f\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438", "ButtonPlayTrailer": "\u0422\u0440\u0435\u0439\u043b\u0435\u0440", - "LabelMissing": "\u041d\u0435\u0442", + "LabelMissing": "\u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442", "LabelOffline": "\u0410\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u043e", "PathSubstitutionHelp": "\u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u043f\u043e\u0434\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430\u043c \u043f\u0443\u0442\u0435\u0439, \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u0443\u0442\u044c \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u043f\u0443\u0442\u044c, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0439 \u043a\u043b\u0438\u0435\u043d\u0442\u0430\u043c. \u041f\u0440\u0438 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u0430\u043c \u043f\u0440\u044f\u043c\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u043c\u0435\u0434\u0438\u0430\u0434\u0430\u043d\u043d\u044b\u043c \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435, \u043e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c \u0438\u0445 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043f\u043e \u0441\u0435\u0442\u0438, \u043d\u0435 \u0442\u0440\u0430\u0442\u044f \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043d\u0430 \u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0446\u0438\u044e \u0438 \u043f\u0435\u0440\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0443.", "HeaderFrom": "\u041e\u0442\u043a\u0443\u0434\u0430", @@ -585,9 +586,9 @@ "OptionTvdbRating": "\u041e\u0446\u0435\u043d\u043a\u0430 TVDb", "HeaderTranscodingQualityPreference": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430 \u043f\u0435\u0440\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0438:", "OptionAutomaticTranscodingHelp": "\u041a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0438 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0431\u0443\u0434\u0443\u0442 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442\u044c\u0441\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c", - "OptionHighSpeedTranscodingHelp": "\u041a\u0430\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u043d\u0438\u0436\u0435, \u043d\u043e \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0431\u044b\u0441\u0442\u0440\u0435\u0435", + "OptionHighSpeedTranscodingHelp": "\u0411\u043e\u043b\u0435\u0435 \u043d\u0438\u0437\u043a\u043e\u0435 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e, \u043d\u043e \u0431\u043e\u043b\u0435\u0435 \u0431\u044b\u0441\u0442\u0440\u043e\u0435 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435", "OptionHighQualityTranscodingHelp": "\u0411\u043e\u043b\u0435\u0435 \u0432\u044b\u0441\u043e\u043a\u043e\u0435 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e, \u043d\u043e \u0431\u043e\u043b\u0435\u0435 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u043e\u0435 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435", - "OptionMaxQualityTranscodingHelp": "\u041d\u0430\u0438\u0443\u0447\u0448\u0435\u0435 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0441 \u0431\u043e\u043b\u0435\u0435 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u043e\u044b\u043c \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u043c, \u0438 \u0432\u044b\u0441\u043e\u043a\u0430\u044f \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430", + "OptionMaxQualityTranscodingHelp": "\u041d\u0430\u0438\u0443\u0447\u0448\u0435\u0435 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0441 \u0431\u043e\u043b\u0435\u0435 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u044b\u043c \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u043c, \u0438 \u0432\u044b\u0441\u043e\u043a\u0430\u044f \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430", "OptionHighSpeedTranscoding": "\u0421\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0432\u044b\u0448\u0435", "OptionHighQualityTranscoding": "\u041a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0432\u044b\u0448\u0435", "OptionMaxQualityTranscoding": "\u041a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e", @@ -597,7 +598,7 @@ "OptionUpscalingHelp": "\u0412 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445, \u044d\u0442\u043e \u043f\u0440\u0438\u0432\u0435\u0434\u0451\u0442 \u043a \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044e \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430 \u0432\u0438\u0434\u0435\u043e, \u043d\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u0441\u044f \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430.", "EditCollectionItemsHelp": "\u0414\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0438\u043b\u0438 \u0438\u0437\u044b\u043c\u0438\u0442\u0435 \u043b\u044e\u0431\u044b\u0435 \u0444\u0438\u043b\u044c\u043c\u044b, \u0441\u0435\u0440\u0438\u0430\u043b\u044b, \u0430\u043b\u044c\u0431\u043e\u043c\u044b, \u043a\u043d\u0438\u0433\u0438 \u0438\u043b\u0438 \u0438\u0433\u0440\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0445\u043e\u0442\u0438\u0442\u0435 \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u043d\u0443\u0442\u0440\u0438 \u0434\u0430\u043d\u043d\u043e\u0439 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438.", "HeaderAddTitles": "\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0439", - "LabelEnableDlnaPlayTo": "\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e DLNA \u0412\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u041d\u0430", + "LabelEnableDlnaPlayTo": "\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c DLNA-\u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0412\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u041d\u0430", "LabelEnableDlnaPlayToHelp": "\u0412 Media Browser \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0432\u0430\u0442\u044c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u0435\u0442\u0438 \u0438 \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0438\u043c\u0438.", "LabelEnableDlnaDebugLogging": "\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u044b\u0435 \u0437\u0430\u043f\u0438\u0441\u0438 DLNA \u0432 \u0416\u0443\u0440\u043d\u0430\u043b\u0435", "LabelEnableDlnaDebugLoggingHelp": "\u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0431\u0443\u0434\u0443\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u0444\u0430\u0439\u043b\u044b \u0416\u0443\u0440\u043d\u0430\u043b\u0430 \u043e\u0447\u0435\u043d\u044c \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u043e\u0431\u044a\u0451\u043c\u0430, \u0430 \u044d\u0442\u043e \u0434\u043e\u043b\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0441\u0438\u043b\u0443 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0434\u043b\u044f \u0443\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043d\u0435\u043f\u043e\u043b\u0430\u0434\u043e\u043a.", @@ -820,7 +821,7 @@ "HeaderResponseProfile": "\u041f\u0440\u043e\u0444\u0438\u043b\u044c \u043e\u0442\u043a\u043b\u0438\u043a\u0430", "LabelType": "\u0422\u0438\u043f:", "LabelPersonRole": "\u0420\u043e\u043b\u044c:", - "LabelPersonRoleHelp": "\u0420\u043e\u043b\u0438, \u043a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u043a \u0430\u043a\u0442\u0451\u0440\u0430\u043c.", + "LabelPersonRoleHelp": "\u0420\u043e\u043b\u0438 \u043e\u0431\u044b\u0447\u043d\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u043a \u0430\u043a\u0442\u0451\u0440\u0430\u043c.", "LabelProfileContainer": "\u041a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440:", "LabelProfileVideoCodecs": "\u0412\u0438\u0434\u0435\u043e \u043a\u043e\u0434\u0435\u043a\u0438:", "LabelProfileAudioCodecs": "\u0410\u0443\u0434\u0438\u043e \u043a\u043e\u0434\u0435\u043a\u0438:", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/sv.json b/MediaBrowser.Server.Implementations/Localization/Server/sv.json index c6df12367..4d376555c 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/sv.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/sv.json @@ -60,7 +60,7 @@ "VideoImageExtractionHelp": "Dessa anv\u00e4nds f\u00f6r objekt som saknar bilder och d\u00e4r vi inte hittar n\u00e5gra vid s\u00f6kning p\u00e5 Internet. Detta g\u00f6r att den f\u00f6rsta genoms\u00f6kningen av biblioteket tar lite l\u00e4ngre tid, men ger en snyggare presentation.", "LabelChannelDownloadSizeLimit": "Download size limit (GB):", "LabelEnableChapterImageExtractionForMovies": "Ta fram kapitelbildrutor ur filmfiler", - "LabelChannelDownloadSizeLimitHelp": "Limit the size of the channel download folder", + "LabelChannelDownloadSizeLimitHelp": "Limit the size of the channel download folder. Downloading beyond 500MB requires an active supporter membership.", "HeaderRecentActivity": "Recent Activity", "LabelChapterImageExtractionForMoviesHelp": "Detta m\u00f6jligg\u00f6r grafisk visning av menyer f\u00f6r val av kapitel. Processen kan vara tids- och CPU-kr\u00e4vande och beh\u00f6va flera gigabyte lagringsutrymme. Processen k\u00f6rs varje natt kl 04:00 men intervallet kan anpassas enligt \u00f6nskem\u00e5l i Schemal\u00e4ggaren. Vi rekommenderar inte att den k\u00f6rs vid tider d\u00e5 anv\u00e4ndare \u00e4r aktiva.", "HeaderPeople": "People", @@ -328,6 +328,7 @@ "HeaderFrequentlyPlayed": "Ofta spelade", "LabelSubtitleFormatHelp": "Example: srt", "DevBuildWarning": "Utvecklingsversioner \u00e4r \"bleeding edge\". Dessa kommer ut ofta och \u00e4r otestade. Appen kanske kraschar och vissa delar kanske inte alls fungerar.", + "ButtonLearnMore": "Learn more", "LabelVideoType": "Videoformat:", "OptionBluray": "Blu-ray", "OptionDvd": "DVD", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/tr.json b/MediaBrowser.Server.Implementations/Localization/Server/tr.json index a44954e3c..f0ca1ca78 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/tr.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/tr.json @@ -60,7 +60,7 @@ "VideoImageExtractionHelp": "For videos that don't already have images, and that we're unable to find internet images for. This will add some additional time to the initial library scan but will result in a more pleasing presentation.", "LabelChannelDownloadSizeLimit": "Download size limit (GB):", "LabelEnableChapterImageExtractionForMovies": "Extract chapter image extraction for Movies", - "LabelChannelDownloadSizeLimitHelp": "Limit the size of the channel download folder", + "LabelChannelDownloadSizeLimitHelp": "Limit the size of the channel download folder. Downloading beyond 500MB requires an active supporter membership.", "HeaderRecentActivity": "Recent Activity", "LabelChapterImageExtractionForMoviesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs as a nightly scheduled task at 4am, although this is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", "HeaderPeople": "People", @@ -328,6 +328,7 @@ "HeaderFrequentlyPlayed": "Frequently Played", "LabelSubtitleFormatHelp": "Example: srt", "DevBuildWarning": "Dev builds are the bleeding edge. Released often, these build have not been tested. The application may crash and entire features may not work at all.", + "ButtonLearnMore": "Learn more", "LabelVideoType": "Video Tipi", "OptionBluray": "Bluray", "OptionDvd": "Dvd", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/vi.json b/MediaBrowser.Server.Implementations/Localization/Server/vi.json index 02772e15d..556a79861 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/vi.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/vi.json @@ -60,7 +60,7 @@ "VideoImageExtractionHelp": "\u0110\u1ed1i v\u1edbi c\u00e1c video kh\u00f4ng c\u00f3 s\u1eb5n h\u00ecnh \u1ea3nh v\u00e0 ch\u00fang ta kh\u00f4ng t\u00ecm th\u1ea5y c\u00e1c h\u00ecnh \u1ea3nh \u0111\u00f3 tr\u00ean internet. \u0110i\u1ec1u n\u00e0y s\u1ebd", "LabelChannelDownloadSizeLimit": "Download size limit (GB):", "LabelEnableChapterImageExtractionForMovies": "Extract chapter image extraction for Movies", - "LabelChannelDownloadSizeLimitHelp": "Limit the size of the channel download folder", + "LabelChannelDownloadSizeLimitHelp": "Limit the size of the channel download folder. Downloading beyond 500MB requires an active supporter membership.", "HeaderRecentActivity": "Recent Activity", "LabelChapterImageExtractionForMoviesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs as a nightly scheduled task at 4am, although this is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", "HeaderPeople": "People", @@ -328,6 +328,7 @@ "HeaderFrequentlyPlayed": "Ph\u00e1t th\u01b0\u1eddng xuy\u00ean", "LabelSubtitleFormatHelp": "Example: srt", "DevBuildWarning": "Dev builds are the bleeding edge. Released often, these build have not been tested. The application may crash and entire features may not work at all.", + "ButtonLearnMore": "Learn more", "LabelVideoType": "Lo\u1ea1i Video:", "OptionBluray": "Bluray", "OptionDvd": "DVD", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/zh_TW.json b/MediaBrowser.Server.Implementations/Localization/Server/zh_TW.json index fbe36c766..eae940c67 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/zh_TW.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/zh_TW.json @@ -60,7 +60,7 @@ "VideoImageExtractionHelp": "\u5c0d\u65bc\u6c92\u6709\u622a\u5716\u4ee5\u53ca\u6211\u5011\u76ee\u524d\u7121\u6cd5\u5f9e\u4e92\u806f\u7db2\u627e\u5230\u6709\u95dc\u622a\u5716\u7684\u8996\u983b\uff0c\u5728\u521d\u59cb\u5a92\u9ad4\u5eab\u6383\u63cf\u6642\uff0c\u6703\u589e\u52a0\u4e00\u4e9b\u984d\u5916\u7684\u6383\u63cf\u6642\u9593\uff0c\u4f46\u4f60\u5c07\u6703\u770b\u5230\u4e00\u500b\u66f4\u6085\u76ee\u7684\u4ecb\u7d39\u4ecb\u9762\u3002", "LabelChannelDownloadSizeLimit": "Download size limit (GB):", "LabelEnableChapterImageExtractionForMovies": "\u63d0\u53d6\u96fb\u5f71\u7ae0\u7bc0\u622a\u5716", - "LabelChannelDownloadSizeLimitHelp": "Limit the size of the channel download folder", + "LabelChannelDownloadSizeLimitHelp": "Limit the size of the channel download folder. Downloading beyond 500MB requires an active supporter membership.", "HeaderRecentActivity": "Recent Activity", "LabelChapterImageExtractionForMoviesHelp": "\u5f9e\u8996\u983b\u7ae0\u7bc0\u4e2d\u63d0\u53d6\u622a\u5716\u5c07\u5141\u8a31\u5ba2\u6236\u7aef\u7528\u5716\u50cf\u986f\u793a\u9078\u64c7\u83dc\u55ae\u3002\u9019\u500b\u904e\u7a0b\u53ef\u80fd\u6703\u5f88\u6162\uff0c\u4f54\u7528\u66f4\u591a\u7684CPU\u8cc7\u6e90\uff0c\u4e26\u4e14\u53ef\u80fd\u9700\u8981\u7684\u6578GB\u786c\u789f\u7a7a\u9593\u3002\u5b83\u9ed8\u8a8d\u9810\u5b9a\u5728\u6bcf\u665a\u7684\u51cc\u66684\u9ede\u904b\u884c\uff0c\u4f46\u9019\u662f\u53ef\u4ee5\u5f9e\u4efb\u52d9\u8868\u9032\u884c\u8a2d\u5b9a\u7684\u3002\u4e0d\u5efa\u8b70\u5728\u9ad8\u5cf0\u4f7f\u7528\u6642\u9593\u904b\u884c\u6b64\u4efb\u52d9\u3002", "HeaderPeople": "People", @@ -328,6 +328,7 @@ "HeaderFrequentlyPlayed": "\u7d93\u5e38\u64ad\u653e", "LabelSubtitleFormatHelp": "Example: srt", "DevBuildWarning": "\u958b\u767c\u7248\u672c\u662f\u6700\u524d\u6cbf\u7684\u3002\u7d93\u5e38\u767c\u4f48\uff0c\u4f46\u9019\u4e9b\u7248\u672c\u5c1a\u672a\u7d93\u904e\u6e2c\u8a66\u3002\u7a0b\u5f0f\u53ef\u80fd\u6703\u5d29\u6f70\uff0c\u6240\u6709\u529f\u80fd\u53ef\u80fd\u7121\u6cd5\u6b63\u5e38\u5de5\u4f5c\u3002", + "ButtonLearnMore": "Learn more", "LabelVideoType": "\u8996\u983b\u985e\u578b\uff1a", "OptionBluray": "\u85cd\u5149", "OptionDvd": "DVD", diff --git a/MediaBrowser.Server.Mono/MediaBrowser.MediaInfo.config b/MediaBrowser.Server.Mono/MediaBrowser.MediaInfo.config new file mode 100644 index 000000000..9db435d46 --- /dev/null +++ b/MediaBrowser.Server.Mono/MediaBrowser.MediaInfo.config @@ -0,0 +1,5 @@ +<configuration> + <dllmap dll="MediaInfo" target="./MediaInfo/linux/lib/libmediainfo.so" os="linux" wordsize="32"/> + <dllmap dll="MediaInfo" target="./MediaInfo/linux/lib64/libmediainfo.so" os="linux" wordsize="64"/> + <dllmap dll="MediaInfo" target="./MediaInfo/osx/libmediainfo.dylib" os="osx"/> +</configuration> diff --git a/MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj b/MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj index 16e7cdd7b..5ec0e5e1c 100644 --- a/MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj +++ b/MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj @@ -148,6 +148,18 @@ <None Include="app.config" /> </ItemGroup> <ItemGroup> + <Content Include="..\ThirdParty\MediaInfo\linux\x86\libmediainfo.so"> + <Link>MediaInfo\linux\lib\libmediainfo.so</Link> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> + <Content Include="..\ThirdParty\MediaInfo\linux\x86_64\libmediainfo.so"> + <Link>MediaInfo\linux\lib64\libmediainfo.so</Link> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> + <Content Include="..\ThirdParty\MediaInfo\osx\libmediainfo.dylib"> + <Link>MediaInfo\osx\libmediainfo.dylib</Link> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> <Content Include="..\ThirdParty\libwebp\linux\x86\libwebp.so"> <Link>libwebp\linux\lib\libwebp.so</Link> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> @@ -184,5 +196,9 @@ <Link>Imazen.WebP.dll.config</Link> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content> + <Content Include="MediaBrowser.MediaInfo.dll.config"> + <Link>MediaBrowser.MediaInfo.dll.config</Link> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> </ItemGroup> </Project> diff --git a/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj b/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj index e7f5f3572..bf95a42d4 100644 --- a/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj +++ b/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj @@ -57,9 +57,9 @@ <Reference Include="ServiceStack.Interfaces">
<HintPath>..\ThirdParty\ServiceStack\ServiceStack.Interfaces.dll</HintPath>
</Reference>
- <Reference Include="WebMarkupMin.Core, Version=0.8.21.0, Culture=neutral, PublicKeyToken=99472178d266584b, processorArchitecture=MSIL">
+ <Reference Include="WebMarkupMin.Core, Version=0.9.3.0, Culture=neutral, PublicKeyToken=99472178d266584b, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
- <HintPath>..\packages\WebMarkupMin.Core.0.8.21\lib\net40\WebMarkupMin.Core.dll</HintPath>
+ <HintPath>..\packages\WebMarkupMin.Core.0.9.3\lib\net40\WebMarkupMin.Core.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
@@ -2141,9 +2141,6 @@ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="packages.config" />
- <None Include="WebMarkupMin.Configuration.xsd">
- <SubType>Designer</SubType>
- </None>
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
diff --git a/MediaBrowser.WebDashboard/app.config b/MediaBrowser.WebDashboard/app.config index 544cdd7ba..d3f05a1cf 100644 --- a/MediaBrowser.WebDashboard/app.config +++ b/MediaBrowser.WebDashboard/app.config @@ -7,6 +7,7 @@ </configSections> + <webMarkupMin xmlns="http://tempuri.org/WebMarkupMin.Configuration.xsd"> <core> <css> diff --git a/MediaBrowser.WebDashboard/packages.config b/MediaBrowser.WebDashboard/packages.config index 1791f1c28..d83625131 100644 --- a/MediaBrowser.WebDashboard/packages.config +++ b/MediaBrowser.WebDashboard/packages.config @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> <packages> <package id="MediaBrowser.ApiClient.Javascript" version="3.0.249" targetFramework="net45" /> - <package id="WebMarkupMin.Core" version="0.8.21" targetFramework="net45" /> + <package id="WebMarkupMin.Core" version="0.9.3" targetFramework="net45" /> </packages>
\ No newline at end of file diff --git a/MediaBrowser.sln b/MediaBrowser.sln index cc9198349..5c04d13a6 100644 --- a/MediaBrowser.sln +++ b/MediaBrowser.sln @@ -51,6 +51,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MediaBrowser.XbmcMetadata", EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MediaBrowser.LocalMetadata", "MediaBrowser.LocalMetadata\MediaBrowser.LocalMetadata.csproj", "{7EF9F3E0-697D-42F3-A08F-19DEB5F84392}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MediaBrowser.MediaInfo", "MediaBrowser.MediaInfo\MediaBrowser.MediaInfo.csproj", "{6E4145E4-C6D4-4E4D-94F2-87188DB6E239}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug_Ubuntu|Any CPU = Debug_Ubuntu|Any CPU @@ -565,6 +567,34 @@ Global {7EF9F3E0-697D-42F3-A08F-19DEB5F84392}.Release|Win32.ActiveCfg = Release|Any CPU {7EF9F3E0-697D-42F3-A08F-19DEB5F84392}.Release|x64.ActiveCfg = Release|Any CPU {7EF9F3E0-697D-42F3-A08F-19DEB5F84392}.Release|x86.ActiveCfg = Release|Any CPU + {6E4145E4-C6D4-4E4D-94F2-87188DB6E239}.Debug_Ubuntu|Any CPU.ActiveCfg = Debug|Any CPU + {6E4145E4-C6D4-4E4D-94F2-87188DB6E239}.Debug_Ubuntu|Any CPU.Build.0 = Debug|Any CPU + {6E4145E4-C6D4-4E4D-94F2-87188DB6E239}.Debug_Ubuntu|Mixed Platforms.ActiveCfg = Debug|Any CPU + {6E4145E4-C6D4-4E4D-94F2-87188DB6E239}.Debug_Ubuntu|Mixed Platforms.Build.0 = Debug|Any CPU + {6E4145E4-C6D4-4E4D-94F2-87188DB6E239}.Debug_Ubuntu|Win32.ActiveCfg = Debug|Any CPU + {6E4145E4-C6D4-4E4D-94F2-87188DB6E239}.Debug_Ubuntu|x64.ActiveCfg = Debug|Any CPU + {6E4145E4-C6D4-4E4D-94F2-87188DB6E239}.Debug_Ubuntu|x86.ActiveCfg = Debug|Any CPU + {6E4145E4-C6D4-4E4D-94F2-87188DB6E239}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6E4145E4-C6D4-4E4D-94F2-87188DB6E239}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6E4145E4-C6D4-4E4D-94F2-87188DB6E239}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {6E4145E4-C6D4-4E4D-94F2-87188DB6E239}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {6E4145E4-C6D4-4E4D-94F2-87188DB6E239}.Debug|Win32.ActiveCfg = Debug|Any CPU + {6E4145E4-C6D4-4E4D-94F2-87188DB6E239}.Debug|x64.ActiveCfg = Debug|Any CPU + {6E4145E4-C6D4-4E4D-94F2-87188DB6E239}.Debug|x86.ActiveCfg = Debug|Any CPU + {6E4145E4-C6D4-4E4D-94F2-87188DB6E239}.Release_Ubuntu|Any CPU.ActiveCfg = Release|Any CPU + {6E4145E4-C6D4-4E4D-94F2-87188DB6E239}.Release_Ubuntu|Any CPU.Build.0 = Release|Any CPU + {6E4145E4-C6D4-4E4D-94F2-87188DB6E239}.Release_Ubuntu|Mixed Platforms.ActiveCfg = Release|Any CPU + {6E4145E4-C6D4-4E4D-94F2-87188DB6E239}.Release_Ubuntu|Mixed Platforms.Build.0 = Release|Any CPU + {6E4145E4-C6D4-4E4D-94F2-87188DB6E239}.Release_Ubuntu|Win32.ActiveCfg = Release|Any CPU + {6E4145E4-C6D4-4E4D-94F2-87188DB6E239}.Release_Ubuntu|x64.ActiveCfg = Release|Any CPU + {6E4145E4-C6D4-4E4D-94F2-87188DB6E239}.Release_Ubuntu|x86.ActiveCfg = Release|Any CPU + {6E4145E4-C6D4-4E4D-94F2-87188DB6E239}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6E4145E4-C6D4-4E4D-94F2-87188DB6E239}.Release|Any CPU.Build.0 = Release|Any CPU + {6E4145E4-C6D4-4E4D-94F2-87188DB6E239}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {6E4145E4-C6D4-4E4D-94F2-87188DB6E239}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {6E4145E4-C6D4-4E4D-94F2-87188DB6E239}.Release|Win32.ActiveCfg = Release|Any CPU + {6E4145E4-C6D4-4E4D-94F2-87188DB6E239}.Release|x64.ActiveCfg = Release|Any CPU + {6E4145E4-C6D4-4E4D-94F2-87188DB6E239}.Release|x86.ActiveCfg = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/Nuget/MediaBrowser.Common.Internal.nuspec b/Nuget/MediaBrowser.Common.Internal.nuspec index 7044ff870..1b71c1ea7 100644 --- a/Nuget/MediaBrowser.Common.Internal.nuspec +++ b/Nuget/MediaBrowser.Common.Internal.nuspec @@ -2,7 +2,7 @@ <package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd"> <metadata> <id>MediaBrowser.Common.Internal</id> - <version>3.0.433</version> + <version>3.0.434</version> <title>MediaBrowser.Common.Internal</title> <authors>Luke</authors> <owners>ebr,Luke,scottisafool</owners> @@ -12,7 +12,7 @@ <description>Contains common components shared by Media Browser Theater and Media Browser Server. Not intended for plugin developer consumption.</description> <copyright>Copyright © Media Browser 2013</copyright> <dependencies> - <dependency id="MediaBrowser.Common" version="3.0.433" /> + <dependency id="MediaBrowser.Common" version="3.0.434" /> <dependency id="NLog" version="3.1.0.0" /> <dependency id="SimpleInjector" version="2.5.2" /> <dependency id="sharpcompress" version="0.10.2" /> diff --git a/Nuget/MediaBrowser.Common.nuspec b/Nuget/MediaBrowser.Common.nuspec index 952dc4e15..c873587e8 100644 --- a/Nuget/MediaBrowser.Common.nuspec +++ b/Nuget/MediaBrowser.Common.nuspec @@ -2,7 +2,7 @@ <package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd"> <metadata> <id>MediaBrowser.Common</id> - <version>3.0.433</version> + <version>3.0.434</version> <title>MediaBrowser.Common</title> <authors>Media Browser Team</authors> <owners>ebr,Luke,scottisafool</owners> diff --git a/Nuget/MediaBrowser.Model.Signed.nuspec b/Nuget/MediaBrowser.Model.Signed.nuspec index 824b2936d..a0dc13b7c 100644 --- a/Nuget/MediaBrowser.Model.Signed.nuspec +++ b/Nuget/MediaBrowser.Model.Signed.nuspec @@ -2,7 +2,7 @@ <package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd"> <metadata> <id>MediaBrowser.Model.Signed</id> - <version>3.0.433</version> + <version>3.0.434</version> <title>MediaBrowser.Model - Signed Edition</title> <authors>Media Browser Team</authors> <owners>ebr,Luke,scottisafool</owners> diff --git a/Nuget/MediaBrowser.Server.Core.nuspec b/Nuget/MediaBrowser.Server.Core.nuspec index 7f769312d..3105089d3 100644 --- a/Nuget/MediaBrowser.Server.Core.nuspec +++ b/Nuget/MediaBrowser.Server.Core.nuspec @@ -2,7 +2,7 @@ <package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd"> <metadata> <id>MediaBrowser.Server.Core</id> - <version>3.0.433</version> + <version>3.0.434</version> <title>Media Browser.Server.Core</title> <authors>Media Browser Team</authors> <owners>ebr,Luke,scottisafool</owners> @@ -12,7 +12,7 @@ <description>Contains core components required to build plugins for Media Browser Server.</description> <copyright>Copyright © Media Browser 2013</copyright> <dependencies> - <dependency id="MediaBrowser.Common" version="3.0.433" /> + <dependency id="MediaBrowser.Common" version="3.0.434" /> </dependencies> </metadata> <files> |
