From 74a8ca9c38d17e407c70aafe2cfd42b8b13d923e Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Thu, 9 Oct 2014 18:22:04 -0400 Subject: [PATCH] fix case sensitive file names --- .../Playback/BaseStreamingService.cs | 7 +++++ .../Library/MetadataConfigurationStore.cs | 29 +++++++++++++++++++ .../MediaBrowser.Controller.csproj | 1 + .../Resolvers/EntityResolutionHelper.cs | 20 +++++++++++-- .../MediaBrowser.MediaInfo.csproj | 3 ++ .../Properties/AssemblyInfo.cs | 7 +---- .../MediaBrowser.Model.Portable.csproj | 3 ++ .../MediaBrowser.Model.net35.csproj | 3 ++ .../Configuration/CinemaModeConfiguration.cs | 3 ++ .../Configuration/MetadataConfiguration.cs | 8 +++++ .../Configuration/ServerConfiguration.cs | 16 +++++----- MediaBrowser.Model/Dlna/ConditionProcessor.cs | 6 ++-- .../Dlna/ProfileConditionType.cs | 2 +- .../Dlna/Profiles/AndroidProfile.cs | 6 ++-- MediaBrowser.Model/Dlna/StreamBuilder.cs | 1 + MediaBrowser.Model/Dlna/StreamInfo.cs | 1 + MediaBrowser.Model/MediaBrowser.Model.csproj | 1 + .../Manager/ProviderUtils.cs | 4 +++ .../Connect/ConnectManager.cs | 2 +- .../EntryPoints/ExternalPortForwarding.cs | 8 ++--- .../Intros/DefaultIntroProvider.cs | 2 +- .../Localization/JavaScript/kk.json | 16 +++++----- .../Localization/Server/kk.json | 28 +++++++++--------- .../Localization/Server/server.json | 16 +++++++--- .../MediaBrowser.Server.Mono.csproj | 14 ++++----- Nuget/MediaBrowser.Common.Internal.nuspec | 4 +-- Nuget/MediaBrowser.Common.nuspec | 2 +- Nuget/MediaBrowser.Model.Signed.nuspec | 2 +- Nuget/MediaBrowser.Server.Core.nuspec | 4 +-- SharedVersion.cs | 4 +++ 30 files changed, 155 insertions(+), 68 deletions(-) create mode 100644 MediaBrowser.Controller/Library/MetadataConfigurationStore.cs create mode 100644 MediaBrowser.Model/Configuration/MetadataConfiguration.cs diff --git a/MediaBrowser.Api/Playback/BaseStreamingService.cs b/MediaBrowser.Api/Playback/BaseStreamingService.cs index ba1f73ff2b..f40c2fbf7f 100644 --- a/MediaBrowser.Api/Playback/BaseStreamingService.cs +++ b/MediaBrowser.Api/Playback/BaseStreamingService.cs @@ -1387,6 +1387,13 @@ namespace MediaBrowser.Api.Playback videoRequest.MaxVideoBitDepth = int.Parse(val, UsCulture); } } + else if (i == 19) + { + if (videoRequest != null) + { + videoRequest.Profile = val; + } + } } } diff --git a/MediaBrowser.Controller/Library/MetadataConfigurationStore.cs b/MediaBrowser.Controller/Library/MetadataConfigurationStore.cs new file mode 100644 index 0000000000..6fad786a26 --- /dev/null +++ b/MediaBrowser.Controller/Library/MetadataConfigurationStore.cs @@ -0,0 +1,29 @@ +using MediaBrowser.Common.Configuration; +using MediaBrowser.Model.Configuration; +using System.Collections.Generic; + +namespace MediaBrowser.Controller.Library +{ + public class MetadataConfigurationStore : IConfigurationFactory + { + public IEnumerable GetConfigurations() + { + return new List + { + new ConfigurationStore + { + Key = "metadata", + ConfigurationType = typeof(MetadataConfiguration) + } + }; + } + } + + public static class MetadataConfigurationExtensions + { + public static MetadataConfiguration GetMetadataConfiguration(this IConfigurationManager config) + { + return config.GetConfiguration("metadata"); + } + } +} diff --git a/MediaBrowser.Controller/MediaBrowser.Controller.csproj b/MediaBrowser.Controller/MediaBrowser.Controller.csproj index e04cc20874..d966d4df56 100644 --- a/MediaBrowser.Controller/MediaBrowser.Controller.csproj +++ b/MediaBrowser.Controller/MediaBrowser.Controller.csproj @@ -174,6 +174,7 @@ + diff --git a/MediaBrowser.Controller/Resolvers/EntityResolutionHelper.cs b/MediaBrowser.Controller/Resolvers/EntityResolutionHelper.cs index 4ddfa59790..7d9c9d8769 100644 --- a/MediaBrowser.Controller/Resolvers/EntityResolutionHelper.cs +++ b/MediaBrowser.Controller/Resolvers/EntityResolutionHelper.cs @@ -211,7 +211,7 @@ namespace MediaBrowser.Controller.Resolvers { if (includeCreationTime) { - item.DateCreated = DateTime.UtcNow; + SetDateCreated(item, fileSystem, childData); } item.DateModified = fileSystem.GetLastWriteTimeUtc(childData); @@ -224,7 +224,7 @@ namespace MediaBrowser.Controller.Resolvers { if (includeCreationTime) { - item.DateCreated = DateTime.UtcNow; + SetDateCreated(item, fileSystem, fileData); } item.DateModified = fileSystem.GetLastWriteTimeUtc(fileData); } @@ -234,10 +234,24 @@ namespace MediaBrowser.Controller.Resolvers { if (includeCreationTime) { - item.DateCreated = DateTime.UtcNow; + SetDateCreated(item, fileSystem, args.FileInfo); } item.DateModified = fileSystem.GetLastWriteTimeUtc(args.FileInfo); } } + + private static void SetDateCreated(BaseItem item, IFileSystem fileSystem, FileSystemInfo info) + { + var config = BaseItem.ConfigurationManager.GetMetadataConfiguration(); + + if (config.UseFileCreationTimeForDateAdded) + { + item.DateModified = fileSystem.GetCreationTimeUtc(info); + } + else + { + item.DateCreated = DateTime.UtcNow; + } + } } } diff --git a/MediaBrowser.MediaInfo/MediaBrowser.MediaInfo.csproj b/MediaBrowser.MediaInfo/MediaBrowser.MediaInfo.csproj index 715f4d311e..fb02623b33 100644 --- a/MediaBrowser.MediaInfo/MediaBrowser.MediaInfo.csproj +++ b/MediaBrowser.MediaInfo/MediaBrowser.MediaInfo.csproj @@ -39,6 +39,9 @@ + + Properties\SharedVersion.cs + diff --git a/MediaBrowser.MediaInfo/Properties/AssemblyInfo.cs b/MediaBrowser.MediaInfo/Properties/AssemblyInfo.cs index 5debd4f611..8249bd33cc 100644 --- a/MediaBrowser.MediaInfo/Properties/AssemblyInfo.cs +++ b/MediaBrowser.MediaInfo/Properties/AssemblyInfo.cs @@ -28,9 +28,4 @@ using System.Runtime.InteropServices; // 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")] +// \ No newline at end of file diff --git a/MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj b/MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj index 78aae83751..e74ab9b7a6 100644 --- a/MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj +++ b/MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj @@ -173,6 +173,9 @@ Configuration\ImageSavingConvention.cs + + Configuration\MetadataConfiguration.cs + Configuration\MetadataOptions.cs diff --git a/MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj b/MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj index d25245782f..e9f79a5031 100644 --- a/MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj +++ b/MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj @@ -145,6 +145,9 @@ Configuration\ImageSavingConvention.cs + + Configuration\MetadataConfiguration.cs + Configuration\MetadataOptions.cs diff --git a/MediaBrowser.Model/Configuration/CinemaModeConfiguration.cs b/MediaBrowser.Model/Configuration/CinemaModeConfiguration.cs index 94d9ebabcb..bd20713de4 100644 --- a/MediaBrowser.Model/Configuration/CinemaModeConfiguration.cs +++ b/MediaBrowser.Model/Configuration/CinemaModeConfiguration.cs @@ -14,9 +14,12 @@ namespace MediaBrowser.Model.Configuration public bool EnableIntrosFromUpcomingDvdMovies { get; set; } public bool EnableIntrosFromUpcomingStreamingMovies { get; set; } + public int TrailerLimit { get; set; } + public CinemaModeConfiguration() { EnableIntrosParentalControl = true; + TrailerLimit = 2; } } } diff --git a/MediaBrowser.Model/Configuration/MetadataConfiguration.cs b/MediaBrowser.Model/Configuration/MetadataConfiguration.cs new file mode 100644 index 0000000000..082c61c972 --- /dev/null +++ b/MediaBrowser.Model/Configuration/MetadataConfiguration.cs @@ -0,0 +1,8 @@ + +namespace MediaBrowser.Model.Configuration +{ + public class MetadataConfiguration + { + public bool UseFileCreationTimeForDateAdded { get; set; } + } +} diff --git a/MediaBrowser.Model/Configuration/ServerConfiguration.cs b/MediaBrowser.Model/Configuration/ServerConfiguration.cs index 27818e5ed8..1325a1833f 100644 --- a/MediaBrowser.Model/Configuration/ServerConfiguration.cs +++ b/MediaBrowser.Model/Configuration/ServerConfiguration.cs @@ -1,6 +1,4 @@ using MediaBrowser.Model.Entities; -using MediaBrowser.Model.FileOrganization; -using MediaBrowser.Model.LiveTv; namespace MediaBrowser.Model.Configuration { @@ -15,6 +13,12 @@ namespace MediaBrowser.Model.Configuration /// true if [enable u pn p]; otherwise, false. public bool EnableUPnP { get; set; } + /// + /// Gets or sets the public mapped port. + /// + /// The public mapped port. + public int PublicPort { get; set; } + /// /// Gets or sets the HTTP server port number. /// @@ -167,20 +171,15 @@ namespace MediaBrowser.Model.Configuration public string UICulture { get; set; } - public DlnaOptions DlnaOptions { get; set; } - public double DownMixAudioBoost { get; set; } - public bool DefaultMetadataSettingsApplied { get; set; } - public PeopleMetadataOptions PeopleMetadataOptions { get; set; } + public bool FindInternetTrailers { get; set; } public string[] InsecureApps { get; set; } public bool SaveMetadataHidden { get; set; } - public bool FindInternetTrailers { get; set; } - /// /// Initializes a new instance of the class. /// @@ -189,6 +188,7 @@ namespace MediaBrowser.Model.Configuration { MediaEncodingQuality = EncodingQuality.Auto; ImageSavingConvention = ImageSavingConvention.Compatible; + PublicPort = 8096; HttpServerPortNumber = 8096; EnableDashboardResponseCaching = true; diff --git a/MediaBrowser.Model/Dlna/ConditionProcessor.cs b/MediaBrowser.Model/Dlna/ConditionProcessor.cs index dd9a49ec40..4fedb36d6e 100644 --- a/MediaBrowser.Model/Dlna/ConditionProcessor.cs +++ b/MediaBrowser.Model/Dlna/ConditionProcessor.cs @@ -145,8 +145,10 @@ namespace MediaBrowser.Model.Dlna switch (condition.Condition) { - case ProfileConditionType.SubstringOf: - return StringHelper.IndexOfIgnoreCase(currentValue, expected) != -1; + case ProfileConditionType.EqualsAny: + { + return ListHelper.ContainsIgnoreCase(expected.Split('|'), currentValue); + } case ProfileConditionType.Equals: return StringHelper.EqualsIgnoreCase(currentValue, expected); case ProfileConditionType.NotEquals: diff --git a/MediaBrowser.Model/Dlna/ProfileConditionType.cs b/MediaBrowser.Model/Dlna/ProfileConditionType.cs index bfbd31f02b..b0a94c5b30 100644 --- a/MediaBrowser.Model/Dlna/ProfileConditionType.cs +++ b/MediaBrowser.Model/Dlna/ProfileConditionType.cs @@ -6,6 +6,6 @@ NotEquals = 1, LessThanEqual = 2, GreaterThanEqual = 3, - SubstringOf = 4 + EqualsAny = 4 } } \ No newline at end of file diff --git a/MediaBrowser.Model/Dlna/Profiles/AndroidProfile.cs b/MediaBrowser.Model/Dlna/Profiles/AndroidProfile.cs index 1f0b9a2620..dfe14f1c74 100644 --- a/MediaBrowser.Model/Dlna/Profiles/AndroidProfile.cs +++ b/MediaBrowser.Model/Dlna/Profiles/AndroidProfile.cs @@ -32,7 +32,7 @@ namespace MediaBrowser.Model.Dlna.Profiles VideoCodec = "h264", AudioCodec = "aac", Type = DlnaProfileType.Video, - VideoProfile = "Baseline", + VideoProfile = "baseline", Context = EncodingContext.Streaming }); } @@ -42,7 +42,7 @@ namespace MediaBrowser.Model.Dlna.Profiles VideoCodec = "h264", AudioCodec = "aac", Type = DlnaProfileType.Video, - VideoProfile = "Baseline", + VideoProfile = "baseline", Context = EncodingContext.Static }); @@ -102,7 +102,7 @@ namespace MediaBrowser.Model.Dlna.Profiles Conditions = new [] { - new ProfileCondition(ProfileConditionType.SubstringOf, ProfileConditionValue.VideoProfile, "baseline"), + new ProfileCondition(ProfileConditionType.EqualsAny, ProfileConditionValue.VideoProfile, "baseline|constrained baseline"), new ProfileCondition(ProfileConditionType.LessThanEqual, ProfileConditionValue.Width, "1920"), new ProfileCondition(ProfileConditionType.LessThanEqual, ProfileConditionValue.Height, "1080"), new ProfileCondition(ProfileConditionType.LessThanEqual, ProfileConditionValue.VideoBitDepth, "8"), diff --git a/MediaBrowser.Model/Dlna/StreamBuilder.cs b/MediaBrowser.Model/Dlna/StreamBuilder.cs index 8debb4edb5..2c49198b7f 100644 --- a/MediaBrowser.Model/Dlna/StreamBuilder.cs +++ b/MediaBrowser.Model/Dlna/StreamBuilder.cs @@ -291,6 +291,7 @@ namespace MediaBrowser.Model.Dlna playlistItem.VideoCodec = transcodingProfile.VideoCodec; playlistItem.Protocol = transcodingProfile.Protocol; playlistItem.AudioStreamIndex = audioStreamIndex; + playlistItem.VideoProfile = transcodingProfile.VideoProfile; List videoTranscodingConditions = new List(); foreach (CodecProfile i in options.Profile.CodecProfiles) diff --git a/MediaBrowser.Model/Dlna/StreamInfo.cs b/MediaBrowser.Model/Dlna/StreamInfo.cs index 6231d99a4a..9abf446165 100644 --- a/MediaBrowser.Model/Dlna/StreamInfo.cs +++ b/MediaBrowser.Model/Dlna/StreamInfo.cs @@ -142,6 +142,7 @@ namespace MediaBrowser.Model.Dlna list.Add(item.IsDirectStream ? string.Empty : DateTime.UtcNow.Ticks.ToString(CultureInfo.InvariantCulture)); list.Add(item.MaxRefFrames.HasValue ? StringHelper.ToStringCultureInvariant(item.MaxRefFrames.Value) : string.Empty); list.Add(item.MaxVideoBitDepth.HasValue ? StringHelper.ToStringCultureInvariant(item.MaxVideoBitDepth.Value) : string.Empty); + list.Add(item.VideoProfile ?? string.Empty); return string.Format("Params={0}", string.Join(";", list.ToArray())); } diff --git a/MediaBrowser.Model/MediaBrowser.Model.csproj b/MediaBrowser.Model/MediaBrowser.Model.csproj index dc8b3d5196..ae71f29878 100644 --- a/MediaBrowser.Model/MediaBrowser.Model.csproj +++ b/MediaBrowser.Model/MediaBrowser.Model.csproj @@ -90,6 +90,7 @@ + diff --git a/MediaBrowser.Providers/Manager/ProviderUtils.cs b/MediaBrowser.Providers/Manager/ProviderUtils.cs index f09890c40f..2c19c33123 100644 --- a/MediaBrowser.Providers/Manager/ProviderUtils.cs +++ b/MediaBrowser.Providers/Manager/ProviderUtils.cs @@ -43,6 +43,10 @@ namespace MediaBrowser.Providers.Manager if (replaceData || string.IsNullOrEmpty(target.HomePageUrl)) { target.HomePageUrl = source.HomePageUrl; + if (!string.IsNullOrWhiteSpace(target.HomePageUrl) && target.HomePageUrl.IndexOf("http", StringComparison.OrdinalIgnoreCase) != 0) + { + target.HomePageUrl = "http://" + target.HomePageUrl; + } } if (replaceData || !target.IndexNumber.HasValue) diff --git a/MediaBrowser.Server.Implementations/Connect/ConnectManager.cs b/MediaBrowser.Server.Implementations/Connect/ConnectManager.cs index a1b88a65f5..10fe6736ee 100644 --- a/MediaBrowser.Server.Implementations/Connect/ConnectManager.cs +++ b/MediaBrowser.Server.Implementations/Connect/ConnectManager.cs @@ -74,7 +74,7 @@ namespace MediaBrowser.Server.Implementations.Connect ip = "http://" + ip; } - return ip + ":" + _config.Configuration.HttpServerPortNumber.ToString(CultureInfo.InvariantCulture); + return ip + ":" + _config.Configuration.PublicPort.ToString(CultureInfo.InvariantCulture); } return null; diff --git a/MediaBrowser.Server.Implementations/EntryPoints/ExternalPortForwarding.cs b/MediaBrowser.Server.Implementations/EntryPoints/ExternalPortForwarding.cs index 2d050d4a75..e32068905d 100644 --- a/MediaBrowser.Server.Implementations/EntryPoints/ExternalPortForwarding.cs +++ b/MediaBrowser.Server.Implementations/EntryPoints/ExternalPortForwarding.cs @@ -126,15 +126,15 @@ namespace MediaBrowser.Server.Implementations.EntryPoints var info = _appHost.GetSystemInfo(); - CreatePortMap(device, info.HttpServerPortNumber); + CreatePortMap(device, info.HttpServerPortNumber, _config.Configuration.PublicPort); } } - private void CreatePortMap(INatDevice device, int port) + private void CreatePortMap(INatDevice device, int privatePort, int publicPort) { - _logger.Debug("Creating port map on port {0}", port); + _logger.Debug("Creating port map on port {0}", privatePort); - device.CreatePortMap(new Mapping(Protocol.Tcp, port, port) + device.CreatePortMap(new Mapping(Protocol.Tcp, privatePort, publicPort) { Description = "Media Browser Server" }); diff --git a/MediaBrowser.Server.Implementations/Intros/DefaultIntroProvider.cs b/MediaBrowser.Server.Implementations/Intros/DefaultIntroProvider.cs index f2b3474b9d..2e1e54ad67 100644 --- a/MediaBrowser.Server.Implementations/Intros/DefaultIntroProvider.cs +++ b/MediaBrowser.Server.Implementations/Intros/DefaultIntroProvider.cs @@ -148,7 +148,7 @@ namespace MediaBrowser.Server.Implementations.Intros GetCustomIntros(item) : new List(); - var trailerLimit = 2; + var trailerLimit = config.TrailerLimit; if (customIntros.Count > 0) { trailerLimit--; diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/kk.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/kk.json index 46d015b446..96082abda7 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/kk.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/kk.json @@ -340,8 +340,8 @@ "HeaderRuntime": "\u04b0\u0437\u0430\u049b\u0442\u044b\u0493\u044b", "HeaderCommunityRating": "\u049a\u0430\u0443\u044b\u043c\u0434\u0430\u0441\u0442\u044b\u049b \u0431\u0430\u0493\u0430\u043b\u0430\u0443\u044b", "HeaderParentalRating": "\u0416\u0430\u0441\u0442\u0430\u0441 \u0441\u0430\u043d\u0430\u0442\u044b", - "HeaderReleaseDate": "\u0428\u044b\u0493\u0430\u0440\u0443 \u043a\u04af\u043d-\u0430\u0439\u044b", - "HeaderDateAdded": "\u04ae\u0441\u0442\u0435\u0443 \u043a\u04af\u043d-\u0430\u0439\u044b", + "HeaderReleaseDate": "\u0428\u044b\u0493\u0430\u0440\u0443 \u043a\u04af\u043d\u0456", + "HeaderDateAdded": "\u04ae\u0441\u0442\u0435\u0443 \u043a\u04af\u043d\u0456", "HeaderSeries": "\u0421\u0435\u0440\u0438\u0430\u043b", "HeaderSeason": "\u041c\u0430\u0443\u0441\u044b\u043c", "HeaderSeasonNumber": "\u041c\u0430\u0443\u0441\u044b\u043c \u043d\u04e9\u043c\u0456\u0440\u0456", @@ -383,19 +383,19 @@ "PersonTypePerson": "\u0422\u04b1\u043b\u0493\u0430", "LabelTitleDisplayOrder": "\u0422\u0443\u044b\u043d\u0434\u044b \u0431\u0435\u0439\u043d\u0435\u043b\u0435\u0443 \u0440\u0435\u0442\u0456:", "OptionSortName": "\u0421\u04b1\u0440\u044b\u043f\u0442\u0430\u043b\u0430\u0442\u044b\u043d \u0430\u0442\u044b", - "OptionReleaseDate": "\u0428\u044b\u0493\u0430\u0440\u0443 \u043a\u04af\u043d-\u0430\u0439\u044b", + "OptionReleaseDate": "\u0428\u044b\u0493\u0430\u0440\u0443 \u043a\u04af\u043d\u0456", "LabelSeasonNumber": "\u041c\u0430\u0443\u0441\u044b\u043c \u043d\u04e9\u043c\u0456\u0440\u0456:", "LabelDiscNumber": "\u0414\u0438\u0441\u043a\u0456 \u043d\u04e9\u043c\u0456\u0440\u0456", "LabelParentNumber": "\u0422\u0435\u043a\u0442\u0456\u043a \u043d\u04e9\u043c\u0456\u0440:", "LabelEpisodeNumber": "\u042d\u043f\u0438\u0437\u043e\u0434 \u043d\u04e9\u043c\u0456\u0440\u0456:", "LabelTrackNumber": "\u0416\u043e\u043b\u0448\u044b\u049b \u043d\u04e9\u043c\u0456\u0440\u0456:", "LabelNumber": "\u041d\u04e9\u043c\u0456\u0440\u0456:", - "LabelReleaseDate": "\u0428\u044b\u0493\u0430\u0440\u0443 \u043a\u04af\u043d-\u0430\u0439\u044b:", - "LabelEndDate": "\u0410\u044f\u049b\u0442\u0430\u043b\u0443 \u043a\u04af\u043d-\u0430\u0439\u044b:", + "LabelReleaseDate": "\u0428\u044b\u0493\u0430\u0440\u0443 \u043a\u04af\u043d\u0456:", + "LabelEndDate": "\u0410\u044f\u049b\u0442\u0430\u043b\u0443 \u043a\u04af\u043d\u0456:", "LabelYear": "\u0416\u044b\u043b\u044b:", - "LabelDateOfBirth": "\u0422\u0443\u0493\u0430\u043d \u043a\u04af\u043d-\u0430\u0439\u044b:", + "LabelDateOfBirth": "\u0422\u0443\u0493\u0430\u043d \u043a\u04af\u043d\u0456:", "LabelBirthYear": "\u0422\u0443\u0493\u0430\u043d \u0436\u044b\u043b\u044b:", - "LabelDeathDate": "\u04e8\u043b\u0433\u0435\u043d \u043a\u04af\u043d-\u0430\u0439\u044b:", + "LabelDeathDate": "\u04e8\u043b\u0433\u0435\u043d \u043a\u04af\u043d\u0456:", "HeaderRemoveMediaLocation": "\u0422\u0430\u0441\u0443\u0448\u044b\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440 \u043e\u0440\u043d\u0430\u043b\u0430\u0441\u0443\u044b\u043d \u0430\u043b\u0430\u0441\u0442\u0430\u0443", "MessageConfirmRemoveMediaLocation": "\u0428\u044b\u043d\u044b\u043c\u0435\u043d \u043e\u0441\u044b \u043e\u0440\u043d\u0430\u043b\u0430\u0441\u0443\u0434\u044b \u0430\u043b\u0430\u0441\u0442\u0430\u0443 \u049b\u0430\u0436\u0435\u0442 \u043f\u0435?", "HeaderRenameMediaFolder": "\u0422\u0430\u0441\u0443\u0448\u044b \u049b\u0430\u043b\u0442\u0430\u0441\u044b\u043d \u049b\u0430\u0439\u0442\u0430 \u0430\u0442\u0430\u0443", @@ -454,7 +454,7 @@ "TooltipLinkedToMediaBrowserConnect": "Media Browser Connect \u04af\u0448\u0456\u043d \u0431\u0430\u0439\u043b\u0430\u043d\u044b\u0441\u049b\u0430\u043d", "HeaderUnrated": "\u0411\u0430\u0493\u0430\u043b\u0430\u043d\u0431\u0430\u0493\u0430\u043d", "ValueDiscNumber": "{0}-\u0434\u0438\u0441\u043a\u0456", - "HeaderUnknownDate": "\u041a\u04af\u043d-\u0430\u0439\u044b \u0431\u0435\u043b\u0433\u0456\u0441\u0456\u0437", + "HeaderUnknownDate": "\u041a\u04af\u043d\u0456 \u0431\u0435\u043b\u0433\u0456\u0441\u0456\u0437", "HeaderUnknownYear": "\u0416\u044b\u043b\u044b \u0431\u0435\u043b\u0433\u0456\u0441\u0456\u0437", "ValueMinutes": "{0} \u043c\u0438\u043d", "ButtonPlayExternalPlayer": "\u0421\u044b\u0440\u0442\u049b\u044b \u043e\u0439\u043d\u0430\u0442\u049b\u044b\u0448\u043f\u0435\u043d \u043e\u0439\u043d\u0430\u0442\u0443", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/kk.json b/MediaBrowser.Server.Implementations/Localization/Server/kk.json index c4e8cf78c6..c8e59b774d 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/kk.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/kk.json @@ -149,14 +149,14 @@ "LabelOverview": "\u0416\u0430\u043b\u043f\u044b \u0448\u043e\u043b\u0443:", "ButtonAddUser": "\u041f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b\u043d\u044b \u04af\u0441\u0442\u0435\u0443", "LabelShortOverview": "\u049a\u044b\u0441\u049b\u0430\u0448\u0430 \u0448\u043e\u043b\u0443:", - "LabelReleaseDate": "\u0428\u044b\u0493\u0430\u0440\u0443 \u043a\u04af\u043d-\u0430\u0439\u044b:", + "LabelReleaseDate": "\u0428\u044b\u0493\u0430\u0440\u0443 \u043a\u04af\u043d\u0456:", "ButtonAddLocalUser": "\u0416\u0435\u0440\u0433\u0456\u043b\u0456\u043a\u0442\u0456 \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b\u043d\u044b \u04af\u0441\u0442\u0435\u0443", "LabelYear": "\u0416\u044b\u043b\u044b:", "ButtonInviteMediaBrowserUser": "Media Browser \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b\u0441\u044b\u043d \u0448\u0430\u049b\u044b\u0440\u0443", "ButtonSave": "\u0421\u0430\u049b\u0442\u0430\u0443", "LabelPlaceOfBirth": "\u0422\u0443\u0493\u0430\u043d \u0436\u0435\u0440\u0456:", "ButtonResetPassword": "\u049a\u04b1\u043f\u0438\u044f \u0441\u04e9\u0437\u0434\u0456 \u044b\u0441\u044b\u0440\u0443", - "LabelEndDate": "\u0410\u044f\u049b\u0442\u0430\u043b\u0443 \u043a\u04af\u043d-\u0430\u0439\u044b:", + "LabelEndDate": "\u0410\u044f\u049b\u0442\u0430\u043b\u0443 \u043a\u04af\u043d\u0456:", "LabelNewPassword": "\u0416\u0430\u04a3\u0430 \u049b\u04b1\u043f\u0438\u044f \u0441\u04e9\u0437", "LabelAirDate": "\u042d\u0444\u0438\u0440 \u043a\u04af\u043d\u0434\u0435\u0440\u0456:", "LabelNewPasswordConfirm": "\u0416\u0430\u04a3\u0430 \u049b\u04b1\u043f\u0438\u044f \u0441\u04e9\u0437\u0434\u0456 \u0440\u0430\u0441\u0442\u0430\u0443:", @@ -263,13 +263,13 @@ "HeaderPhotoInfo": "\u0424\u043e\u0442\u043e\u0441\u0443\u0440\u0435\u0442 \u043c\u04d9\u043b\u0456\u043c\u0435\u0442\u0456", "OptionRuntime": "\u04b0\u0437\u0430\u049b\u0442\u044b\u0493\u044b", "HeaderInstall": "\u041e\u0440\u043d\u0430\u0442\u0443", - "OptionReleaseDate": "\u0428\u044b\u0493\u0430\u0440\u0443 \u043a\u04af\u043d-\u0430\u0439\u044b", + "OptionReleaseDate": "\u0428\u044b\u0493\u0430\u0440\u0443 \u043a\u04af\u043d\u0456", "LabelSelectVersionToInstall": "\u041e\u0440\u043d\u0430\u0442\u044b\u043c \u043d\u04b1\u0441\u049b\u0430\u0441\u044b\u043d \u0442\u0430\u04a3\u0434\u0430\u0443:", "OptionPlayCount": "\u041e\u0439\u043d\u0430\u0442\u0443 \u0435\u0441\u0435\u0431\u0456", "LinkSupporterMembership": "\u049a\u043e\u043b\u0434\u0430\u0443\u0448\u044b \u043c\u04af\u0448\u0435\u043b\u0456\u0433\u0456 \u0442\u0443\u0440\u0430\u043b\u044b \u0442\u0430\u043d\u044b\u0441\u044b\u04a3\u044b\u0437", - "OptionDatePlayed": "\u041e\u0439\u043d\u0430\u0442\u044b\u043b\u0493\u0430\u043d \u043a\u04af\u043d-\u0430\u0439\u044b", + "OptionDatePlayed": "\u041e\u0439\u043d\u0430\u0442\u044b\u043b\u0493\u0430\u043d \u043a\u04af\u043d\u0456", "MessageSupporterPluginRequiresMembership": "\u0411\u04b1\u043b \u043f\u043b\u0430\u0433\u0438\u043d\u0433\u0435 14 \u043a\u04af\u043d\u0434\u0456\u043a \u0442\u0430\u043d\u044b\u0441\u0442\u044b\u0440\u0443 \u043a\u0435\u0437\u0435\u04a3\u0456\u043d\u0435\u043d \u043a\u0435\u0439\u0456\u043d \u0431\u0435\u043b\u0441\u0435\u043d\u0434\u0456 \u049b\u043e\u043b\u0434\u0430\u0443\u0448\u044b \u043c\u04af\u0448\u0435\u043b\u0456\u0433\u0456\u043d \u049b\u0430\u0436\u0435\u0442 \u0435\u0442\u0435\u0434\u0456.", - "OptionDateAdded": "\u04ae\u0441\u0442\u0435\u043b\u0433\u0435\u043d \u043a\u04af\u043d-\u0430\u0439\u044b", + "OptionDateAdded": "\u04ae\u0441\u0442\u0435\u043b\u0433\u0435\u043d \u043a\u04af\u043d\u0456", "MessagePremiumPluginRequiresMembership": "\u0411\u04b1\u043b \u043f\u043b\u0430\u0433\u0438\u043d\u0434\u0456 \u0441\u0430\u0442\u044b\u043f \u0430\u043b\u0443 \u04af\u0448\u0456\u043d 14 \u043a\u04af\u043d\u0434\u0456\u043a \u0442\u0430\u043d\u044b\u0441\u0442\u044b\u0440\u0443 \u043a\u0435\u0437\u0435\u04a3\u0456\u043d\u0435\u043d \u043a\u0435\u0439\u0456\u043d \u0431\u0435\u043b\u0441\u0435\u043d\u0434\u0456 \u049b\u043e\u043b\u0434\u0430\u0443\u0448\u044b \u043c\u04af\u0448\u0435\u043b\u0456\u0433\u0456\u043d \u049b\u0430\u0436\u0435\u0442 \u0435\u0442\u0435\u0434\u0456.", "OptionAlbumArtist": "\u0410\u043b\u044c\u0431\u043e\u043c \u043e\u0440\u044b\u043d\u0434\u0430\u0443\u0448\u044b\u0441\u044b", "HeaderReviews": "\u041f\u0456\u043a\u0456\u0440\u043b\u0435\u0440", @@ -490,7 +490,7 @@ "LabelPassword": "\u049a\u04b1\u043f\u0438\u044f \u0441\u04e9\u0437:", "ButtonManualLogin": "\u049a\u043e\u043b\u043c\u0435\u043d \u043a\u0456\u0440\u0443", "PasswordLocalhostMessage": "\u0416\u0435\u0440\u0433\u0456\u043b\u0456\u043a\u0442\u0456 (localhost) \u043e\u0440\u044b\u043d\u0434\u0430\u043d \u043a\u0456\u0440\u0433\u0435\u043d\u0434\u0435 \u049b\u04b1\u043f\u0438\u044f \u0441\u04e9\u0437\u0434\u0435\u0440 \u049b\u0430\u0436\u0435\u0442 \u0435\u043c\u0435\u0441.", - "TabGuide": "\u0422\u0414 \u043a\u0435\u0441\u0442\u0435\u0441\u0456", + "TabGuide": "\u0410\u043d\u044b\u049b\u0442\u0430\u0493\u044b\u0448", "TabChannels": "\u0410\u0440\u043d\u0430\u043b\u0430\u0440", "TabCollections": "\u0416\u0438\u044b\u043d\u0442\u044b\u049b\u0442\u0430\u0440", "HeaderChannels": "\u0410\u0440\u043d\u0430\u043b\u0430\u0440", @@ -509,7 +509,7 @@ "HeaderUpcomingTV": "\u041a\u04af\u0442\u0456\u043b\u0433\u0435\u043d \u0422\u0414", "TabStatus": "\u041a\u04af\u0439", "TabSettings": "\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043b\u0435\u0440", - "ButtonRefreshGuideData": "\u0422\u0414 \u043a\u0435\u0441\u0442\u0435\u0441\u0456 \u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0456\u043d \u043a\u04e9\u043a\u0435\u0439\u0442\u0435\u0441\u0442\u0456 \u0435\u0442\u0443", + "ButtonRefreshGuideData": "\u0410\u043d\u044b\u049b\u0442\u0430\u0493\u044b\u0448 \u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0456\u043d \u043a\u04e9\u043a\u0435\u0439\u0442\u0435\u0441\u0442\u0456 \u0435\u0442\u0443", "ButtonRefresh": "\u041a\u04e9\u043a\u0435\u0439\u0442\u0435\u0441\u0442\u0456 \u0435\u0442\u0443", "ButtonAdvancedRefresh": "\u041a\u0435\u04a3\u0435\u0439\u0442\u0456\u043b\u0433\u0435\u043d \u043a\u04e9\u043a\u0435\u0439\u0442\u0435\u0441\u0442\u0456 \u0435\u0442\u0443", "OptionPriority": "\u041f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442", @@ -528,8 +528,8 @@ "OptionRecordSeries": "\u0421\u0435\u0440\u0438\u0430\u043b\u0434\u044b \u0436\u0430\u0437\u0443", "HeaderDetails": "\u041c\u04d9\u043b\u0456\u043c\u0435\u0442\u0442\u0435\u0440", "TitleLiveTV": "\u042d\u0444\u0438\u0440\u043b\u0456\u043a \u0422\u0414", - "LabelNumberOfGuideDays": "\u0416\u04af\u043a\u0442\u0435\u043f \u0430\u043b\u0443 \u04af\u0448\u0456\u043d \u0422\u0414 \u043a\u0435\u0441\u0442\u0435\u0441\u0456 \u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0456\u043d\u0434\u0435\u0433\u0456 \u043a\u04af\u043d \u0441\u0430\u043d\u044b:", - "LabelNumberOfGuideDaysHelp": "\u041a\u04e9\u0431\u0456\u0440\u0435\u043a \u043a\u04af\u043d\u0434\u0456 \u0436\u04af\u043a\u0442\u0435\u043f \u0430\u043b\u0443 \u0422\u0414 \u043a\u0435\u0441\u0442\u0435\u0441\u0456 \u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0456\u043d\u0456\u04a3 \u049b\u04b1\u043d\u0434\u044b\u043b\u044b\u0493\u044b\u043d \u043a\u04e9\u0442\u0435\u0440\u0435\u0434\u0456 \u0434\u0435 \u0430\u043b\u0434\u044b\u043d-\u0430\u043b\u0430 \u0436\u043e\u0441\u043f\u0430\u0440\u043b\u0430\u0443 \u04af\u0448\u0456\u043d \u049b\u0430\u0431\u0456\u043b\u0435\u0442\u0456\u043d \u0436\u04d9\u043d\u0435 \u043a\u04e9\u0431\u0456\u0440\u0435\u043a \u0442\u0456\u0437\u0431\u0435\u043b\u0435\u0440 \u043a\u04e9\u0440\u0443\u0434\u0456 \u049b\u0430\u043c\u0442\u0430\u043c\u0430\u0441\u044b\u0437 \u0435\u0442\u0435\u0434\u0456, \u0431\u0456\u0440\u0430\u049b \u0431\u04b1\u043b \u0436\u04af\u043a\u0442\u0435\u0443 \u0443\u0430\u049b\u044b\u0442\u044b\u043d \u0434\u0430 \u0441\u043e\u0437\u0434\u044b\u0440\u0430\u0434\u044b. \u0410\u0432\u0442\u043e\u0442\u0430\u04a3\u0434\u0430\u0443 \u0430\u0440\u043d\u0430 \u0441\u0430\u043d\u044b\u043d\u0430 \u043d\u0435\u0433\u0456\u0437\u0434\u0435\u043b\u0456\u043d\u0435\u0434\u0456.", + "LabelNumberOfGuideDays": "\u0416\u04af\u043a\u0442\u0435\u043f \u0430\u043b\u0443 \u04af\u0448\u0456\u043d \u0410\u043d\u044b\u049b\u0442\u0430\u0493\u044b\u0448 \u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0456\u043d\u0434\u0435\u0433\u0456 \u043a\u04af\u043d \u0441\u0430\u043d\u044b:", + "LabelNumberOfGuideDaysHelp": "\u041a\u04e9\u0431\u0456\u0440\u0435\u043a \u043a\u04af\u043d\u0434\u0456 \u0436\u04af\u043a\u0442\u0435\u043f \u0430\u043b\u0443 \u0410\u043d\u044b\u049b\u0442\u0430\u0493\u044b\u0448 \u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0456\u043d\u0456\u04a3 \u049b\u04b1\u043d\u0434\u044b\u043b\u044b\u0493\u044b\u043d \u043a\u04e9\u0442\u0435\u0440\u0435\u0434\u0456 \u0434\u0435 \u0430\u043b\u0434\u044b\u043d-\u0430\u043b\u0430 \u0436\u043e\u0441\u043f\u0430\u0440\u043b\u0430\u0443 \u04af\u0448\u0456\u043d \u049b\u0430\u0431\u0456\u043b\u0435\u0442\u0456\u043d \u0436\u04d9\u043d\u0435 \u043a\u04e9\u0431\u0456\u0440\u0435\u043a \u0442\u0456\u0437\u0431\u0435\u043b\u0435\u0440 \u043a\u04e9\u0440\u0443\u0434\u0456 \u049b\u0430\u043c\u0442\u0430\u043c\u0430\u0441\u044b\u0437 \u0435\u0442\u0435\u0434\u0456, \u0431\u0456\u0440\u0430\u049b \u0431\u04b1\u043b \u0436\u04af\u043a\u0442\u0435\u0443 \u0443\u0430\u049b\u044b\u0442\u044b\u043d \u0434\u0430 \u0441\u043e\u0437\u0434\u044b\u0440\u0430\u0434\u044b. \u0410\u0432\u0442\u043e\u0442\u0430\u04a3\u0434\u0430\u0443 \u0430\u0440\u043d\u0430 \u0441\u0430\u043d\u044b\u043d\u0430 \u043d\u0435\u0433\u0456\u0437\u0434\u0435\u043b\u0456\u043d\u0435\u0434\u0456.", "LabelActiveService": "\u0411\u0435\u043b\u0441\u0435\u043d\u0434\u0456 \u049b\u044b\u0437\u043c\u0435\u0442:", "LabelActiveServiceHelp": "\u0411\u0456\u0440\u043d\u0435\u0448\u0435 \u0422\u0414 \u043f\u043b\u0430\u0433\u0438\u043d\u0434\u0435\u0440 \u043e\u0440\u043d\u0430\u0442\u044b\u043b\u0443\u044b \u043c\u04af\u043c\u043a\u0456\u043d, \u0431\u0456\u0440\u0430\u049b \u0441\u043e\u043b \u043a\u0435\u0437\u0434\u0435 \u0442\u0435\u043a \u049b\u0430\u043d\u0430 \u0431\u0456\u0440\u0435\u0443\u0456 \u0431\u0435\u043b\u0441\u0435\u043d\u0434\u0456 \u0431\u043e\u043b\u0443\u044b \u043c\u04af\u043c\u043a\u0456\u043d.", "OptionAutomatic": "\u0410\u0432\u0442\u043e\u0442\u0430\u04a3\u0434\u0430\u0443", @@ -672,7 +672,7 @@ "TitleAutoOrganize": "\u0410\u0432\u0442\u043e\u04b1\u0439\u044b\u043c\u0434\u0430\u0441\u0442\u044b\u0440\u0443", "TabActivityLog": "\u04d8\u0440\u0435\u043a\u0435\u0442\u0442\u0435\u0440 \u0436\u04b1\u0440\u043d\u0430\u043b\u044b", "HeaderName": "\u0410\u0442\u044b", - "HeaderDate": "\u041a\u04af\u043d-\u0430\u0439\u044b", + "HeaderDate": "\u041a\u04af\u043d\u0456", "HeaderSource": "\u041a\u04e9\u0437\u0456", "HeaderDestination": "\u0422\u0430\u0493\u0430\u0439\u044b\u043d\u0434\u0430\u0443", "HeaderProgram": "\u0411\u0435\u0440\u0456\u043b\u0456\u043c", @@ -1071,8 +1071,8 @@ "HeaderKodiMetadataHelp": "Media Browser \u0431\u0430\u0493\u0434\u0430\u0440\u043b\u0430\u043c\u0430\u0441\u044b Xbmc NFO \u043c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0442\u0435\u0440\u0456\u043d\u0456\u04a3 \u0436\u04d9\u043d\u0435 \u0441\u0443\u0440\u0435\u0442\u0442\u0435\u0440\u0456\u043d\u0456\u04a3 \u043a\u0456\u0440\u0456\u043a\u0442\u0456\u0440\u043c\u0435 \u049b\u043e\u043b\u0434\u0430\u0443\u044b\u043d \u049b\u0430\u043c\u0442\u0438\u0434\u044b. Xbmc \u043c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440\u0456\u043d \u049b\u043e\u0441\u0443 \u043d\u0435\u043c\u0435\u0441\u0435 \u04e9\u0448\u0456\u0440\u0443 \u04af\u0448\u0456\u043d \u049a\u044b\u0437\u043c\u0435\u0442\u0442\u0435\u0440 \u049b\u043e\u0439\u044b\u043d\u0434\u044b\u0441\u044b\u043d\u0434\u0430\u0493\u044b \u0442\u0430\u0441\u0443\u0448\u044b \u0442\u04af\u0440\u043b\u0435\u0440\u0456\u043d\u0435 \u0430\u0440\u043d\u0430\u043b\u0493\u0430\u043d \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043b\u0435\u0440\u0434\u0456 \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u044b\u04a3\u044b\u0437.", "LabelKodiMetadataUser": "\u041f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b\u043d\u044b\u04a3 \u049b\u0430\u0440\u0430\u0443 \u043a\u04af\u0439\u0456\u043d NFO-\u0444\u0430\u0439\u043b\u0434\u0430\u0440\u044b \u04af\u0448\u0456\u043d \u043c\u044b\u043d\u0430\u0493\u0430\u043d \u049b\u043e\u0441\u0443:", "LabelKodiMetadataUserHelp": "\u041a\u04e9\u0440\u0456\u043b\u0433\u0435\u043d \u043a\u04af\u0439\u0434\u0456 Media Browser \u0436\u04d9\u043d\u0435 Kodi \u0430\u0440\u0430\u0441\u044b\u043d\u0434\u0430 \u04af\u0439\u043b\u0435\u0441\u0442\u0456\u0440\u0456\u043f \u0442\u04b1\u0440\u0443 \u04af\u0448\u0456\u043d \u0431\u04b1\u043d\u044b \u049b\u043e\u0441\u044b\u04a3\u044b\u0437.", - "LabelKodiMetadataDateFormat": "\u0428\u044b\u0493\u0430\u0440\u0443 \u043a\u04af\u043d-\u0430\u0439\u044b\u043d\u044b\u04a3 \u043f\u0456\u0448\u0456\u043c\u0456:", - "LabelKodiMetadataDateFormatHelp": "\u041e\u0441\u044b \u043f\u0456\u0448\u0456\u043c\u0434\u0456 \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u044b\u043f nfo \u0456\u0448\u0456\u043d\u0434\u0435\u0433\u0456 \u0431\u0430\u0440\u043b\u044b\u049b \u043a\u04af\u043d-\u0430\u0439\u043b\u0430\u0440 \u043e\u049b\u044b\u043b\u0430\u0434\u044b \u0436\u04d9\u043d\u0435 \u0436\u0430\u0437\u044b\u043b\u0430\u0434\u044b.", + "LabelKodiMetadataDateFormat": "\u0428\u044b\u0493\u0430\u0440\u0443 \u043a\u04af\u043d\u0456\u043d\u0456\u04a3 \u043f\u0456\u0448\u0456\u043c\u0456:", + "LabelKodiMetadataDateFormatHelp": "\u041e\u0441\u044b \u043f\u0456\u0448\u0456\u043c\u0434\u0456 \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u044b\u043f nfo \u0456\u0448\u0456\u043d\u0434\u0435\u0433\u0456 \u0431\u0430\u0440\u043b\u044b\u049b \u043a\u04af\u043d\u0434\u0435\u0440\u0456 \u043e\u049b\u044b\u043b\u0430\u0434\u044b \u0436\u04d9\u043d\u0435 \u0436\u0430\u0437\u044b\u043b\u0430\u0434\u044b.", "LabelKodiMetadataSaveImagePaths": "\u0421\u0443\u0440\u0435\u0442 \u0436\u043e\u043b\u0434\u0430\u0440\u044b\u043d NFO-\u0444\u0430\u0439\u043b\u0434\u0430\u0440\u044b\u043d\u0434\u0430 \u0441\u0430\u049b\u0442\u0430\u0443", "LabelKodiMetadataSaveImagePathsHelp": "\u0415\u0433\u0435\u0440 \u0441\u0443\u0440\u0435\u0442\u0442\u0435\u0440\u0434\u0456\u04a3 Kodi \u043d\u04b1\u0441\u049b\u0430\u0443\u043b\u044b\u049b \u04b1\u0441\u0442\u0430\u043d\u044b\u043c\u0434\u0430\u0440\u044b\u043d\u0430 \u0441\u0430\u0439 \u043a\u0435\u043b\u043c\u0435\u0433\u0435\u043d \u0430\u0442\u0430\u0443\u043b\u0430\u0440\u044b \u0431\u043e\u043b\u0441\u0430, \u0431\u04b1\u043b \u04b1\u0441\u044b\u043d\u044b\u043b\u0430\u0434\u044b.", "LabelKodiMetadataEnablePathSubstitution": "\u0416\u043e\u043b \u0430\u043b\u043c\u0430\u0441\u0442\u044b\u0440\u0443\u0434\u044b \u049b\u043e\u0441\u0443", @@ -1108,7 +1108,7 @@ "HeaderApp": "\u049a\u043e\u043b\u0434\u0430\u043d\u0431\u0430", "HeaderDevice": "\u0416\u0430\u0431\u0434\u044b\u049b", "HeaderUser": "\u041f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b", - "HeaderDateIssued": "\u0411\u0435\u0440\u0456\u043b\u0433\u0435\u043d \u043a\u04af\u043d-\u0430\u0439\u044b", + "HeaderDateIssued": "\u0411\u0435\u0440\u0456\u043b\u0433\u0435\u043d \u043a\u04af\u043d\u0456", "LabelChapterName": "{0}-\u0441\u0430\u0445\u043d\u0430", "HeaderNewApiKey": "\u0416\u0430\u04a3\u0430 API \u043a\u0456\u043b\u0442\u0456", "LabelAppName": "\u049a\u043e\u043b\u0434\u0430\u043d\u0431\u0430 \u0430\u0442\u044b", @@ -1130,7 +1130,7 @@ "LabelView": "\u041a\u04e9\u0440\u0456\u043d\u0456\u0441:", "TabUsers": "\u041f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b\u043b\u0430\u0440", "LabelSortName": "\u0421\u04b1\u0440\u044b\u043f\u0442\u0430\u043b\u0430\u0442\u044b\u043d \u0430\u0442\u044b:", - "LabelDateAdded": "\u04ae\u0441\u0442\u0435\u043b\u0433\u0435\u043d \u043a\u04af\u043d-\u0430\u0439\u044b", + "LabelDateAdded": "\u04ae\u0441\u0442\u0435\u043b\u0433\u0435\u043d \u043a\u04af\u043d\u0456", "HeaderFeatures": "\u041c\u04d9\u043b\u0456\u043c\u0435\u0442\u0442\u0435\u0440", "HeaderAdvanced": "\u049a\u043e\u0441\u044b\u043c\u0448\u0430", "ButtonSync": "\u0421\u0438\u043d\u0445\u0440\u043e", diff --git a/MediaBrowser.Server.Implementations/Localization/Server/server.json b/MediaBrowser.Server.Implementations/Localization/Server/server.json index 5f044b28ea..ceea000def 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/server.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/server.json @@ -464,10 +464,13 @@ "NewCollectionNameExample": "Example: Star Wars Collection", "OptionSearchForInternetMetadata": "Search the internet for artwork and metadata", "ButtonCreate": "Create", - "LabelHttpServerPortNumber": "Http server port number:", + "LabelLocalHttpServerPortNumber": "Local port number:", + "LabelLocalHttpServerPortNumberHelp": "The tcp port number that Media Browser's http server should bind to.", + "LabelPublicPort": "Public port number:", + "LabelPublicPortHelp": "The public port number that should be mapped to the local port.", "LabelWebSocketPortNumber": "Web socket port number:", - "LabelEnableAutomaticPortMapping": "Enable automatic port mapping", - "LabelEnableAutomaticPortHelp": "UPnP allows automated router configuration for remote access. This may not work with some router models.", + "LabelEnableAutomaticPortMap": "Enable automatic port mapping", + "LabelEnableAutomaticPortMapHelp": "Attempt to automatically map the public port to the local port via UPnP. This may not work with some router models.", "LabelExternalDDNS": "External DDNS:", "LabelExternalDDNSHelp": "If you have a dynamic DNS enter it here. Media Browser apps will use it when connecting remotely.", "TabResume": "Resume", @@ -1207,5 +1210,10 @@ "CinemaModeConfigurationHelp2": "Individual users will have the ability to disable cinema mode within their own preferences.", "LabelEnableCinemaMode": "Enable cinema mode", "HeaderCinemaMode": "Cinema Mode", - "HeaderWelcomeToMediaBrowserServerDashboard": "Welcome to the Media Browser Dashboard" + "HeaderWelcomeToMediaBrowserServerDashboard": "Welcome to the Media Browser Dashboard", + "LabelDateAddedBehavior": "Date added behavior for new content:", + "OptionDateAddedImportTime": "Use date scanned into the library", + "OptionDateAddedFileTime": "Use file creation date", + "LabelDateAddedBehaviorHelp": "If a metadata value is present it will always be used before either of these options.", + "LabelNumberTrailerToPlay": "Number of trailers to play:" } diff --git a/MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj b/MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj index 29c01b02c4..8cf64517d8 100644 --- a/MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj +++ b/MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj @@ -143,31 +143,31 @@ - + libwebp\linux\lib\libwebp.so PreserveNewest - + libwebp\linux\lib64\libwebp.so PreserveNewest - + libwebp\osx\libwebp.5.dylib PreserveNewest - + MediaInfo\osx\libmediainfo.dylib PreserveNewest - + sqlite3\linux\lib\libsqlite3.so.0.8.6 PreserveNewest - + sqlite3\linux\lib64\libsqlite3.so.0.8.6 PreserveNewest - + sqlite3\mac\libsqlite3.0.dylib PreserveNewest diff --git a/Nuget/MediaBrowser.Common.Internal.nuspec b/Nuget/MediaBrowser.Common.Internal.nuspec index b95240dba5..b27b010d4c 100644 --- a/Nuget/MediaBrowser.Common.Internal.nuspec +++ b/Nuget/MediaBrowser.Common.Internal.nuspec @@ -2,7 +2,7 @@ MediaBrowser.Common.Internal - 3.0.466 + 3.0.467 MediaBrowser.Common.Internal Luke ebr,Luke,scottisafool @@ -12,7 +12,7 @@ Contains common components shared by Media Browser Theater and Media Browser Server. Not intended for plugin developer consumption. Copyright © Media Browser 2013 - + diff --git a/Nuget/MediaBrowser.Common.nuspec b/Nuget/MediaBrowser.Common.nuspec index 0590378ef9..484beaf008 100644 --- a/Nuget/MediaBrowser.Common.nuspec +++ b/Nuget/MediaBrowser.Common.nuspec @@ -2,7 +2,7 @@ MediaBrowser.Common - 3.0.466 + 3.0.467 MediaBrowser.Common Media Browser Team ebr,Luke,scottisafool diff --git a/Nuget/MediaBrowser.Model.Signed.nuspec b/Nuget/MediaBrowser.Model.Signed.nuspec index af83164339..904ec78962 100644 --- a/Nuget/MediaBrowser.Model.Signed.nuspec +++ b/Nuget/MediaBrowser.Model.Signed.nuspec @@ -2,7 +2,7 @@ MediaBrowser.Model.Signed - 3.0.466 + 3.0.467 MediaBrowser.Model - Signed Edition Media Browser Team ebr,Luke,scottisafool diff --git a/Nuget/MediaBrowser.Server.Core.nuspec b/Nuget/MediaBrowser.Server.Core.nuspec index d62d6f0a30..45d05c2824 100644 --- a/Nuget/MediaBrowser.Server.Core.nuspec +++ b/Nuget/MediaBrowser.Server.Core.nuspec @@ -2,7 +2,7 @@ MediaBrowser.Server.Core - 3.0.466 + 3.0.467 Media Browser.Server.Core Media Browser Team ebr,Luke,scottisafool @@ -12,7 +12,7 @@ Contains core components required to build plugins for Media Browser Server. Copyright © Media Browser 2013 - + diff --git a/SharedVersion.cs b/SharedVersion.cs index 261ee6a4fa..594ca02193 100644 --- a/SharedVersion.cs +++ b/SharedVersion.cs @@ -1,3 +1,7 @@ using System.Reflection; +#if (DEBUG) [assembly: AssemblyVersion("3.0.*")] +#else +[assembly: AssemblyVersion("3.0.5395.0")] +#endif