Browse Source

update translations

Luke Pulverenti 10 years ago
parent
commit
58a38d0d1d

+ 3 - 3
MediaBrowser.Api/Playback/BaseStreamingService.cs

@@ -1193,13 +1193,13 @@ namespace MediaBrowser.Api.Playback
                     return state.VideoRequest.Framerate.Value;
                 }
 
-                var maxrate = state.VideoRequest.MaxFramerate ?? 23.97602;
+                var maxrate = state.VideoRequest.MaxFramerate;
 
-                if (state.VideoStream != null)
+                if (maxrate.HasValue && state.VideoStream != null)
                 {
                     var contentRate = state.VideoStream.AverageFrameRate ?? state.VideoStream.RealFrameRate;
 
-                    if (contentRate.HasValue && contentRate.Value > maxrate)
+                    if (contentRate.HasValue && contentRate.Value > maxrate.Value)
                     {
                         return maxrate;
                     }

+ 27 - 6
MediaBrowser.Controller/Playlists/Playlist.cs

@@ -1,5 +1,7 @@
 using MediaBrowser.Controller.Entities;
 using MediaBrowser.Controller.Entities.Audio;
+using MediaBrowser.Controller.Entities.Movies;
+using MediaBrowser.Controller.Entities.TV;
 using MediaBrowser.Model.Entities;
 using MediaBrowser.Model.Querying;
 using System;
@@ -82,6 +84,30 @@ namespace MediaBrowser.Controller.Playlists
                 return LibraryManager.Sort(songs, user, new[] { ItemSortBy.AlbumArtist, ItemSortBy.Album, ItemSortBy.SortName }, SortOrder.Ascending);
             }
 
+            // Grab these explicitly to avoid the sorting that will happen below
+            var collection = i as BoxSet;
+            if (collection != null)
+            {
+                var items = user == null
+                    ? collection.Children
+                    : collection.GetChildren(user, true);
+
+                return items
+                   .Where(m => !m.IsFolder);
+            }
+
+            // Grab these explicitly to avoid the sorting that will happen below
+            var season = i as Season;
+            if (season != null)
+            {
+                var items = user == null
+                    ? season.Children
+                    : season.GetChildren(user, true);
+
+                return items
+                   .Where(m => !m.IsFolder);
+            }
+
             var folder = i as Folder;
 
             if (folder != null)
@@ -93,12 +119,7 @@ namespace MediaBrowser.Controller.Playlists
                 items = items
                    .Where(m => !m.IsFolder);
 
-                if (!folder.IsPreSorted)
-                {
-                    items = LibraryManager.Sort(items, user, new[] { ItemSortBy.SortName }, SortOrder.Ascending);
-                }
-
-                return items;
+                return LibraryManager.Sort(items, user, new[] { ItemSortBy.SortName }, SortOrder.Ascending);
             }
 
             return new[] { i };

+ 2 - 1
MediaBrowser.Dlna/Ssdp/SsdpHandler.cs

@@ -62,7 +62,8 @@ namespace MediaBrowser.Dlna.Ssdp
         {
             if (string.Equals(args.Method, "M-SEARCH", StringComparison.OrdinalIgnoreCase))
             {
-                var mx = args.Headers["mx"];
+                string mx = null;
+                args.Headers.TryGetValue("mx", out mx);
                 int delaySeconds;
                 if (!string.IsNullOrWhiteSpace(mx) && 
                     int.TryParse(mx, NumberStyles.Any, CultureInfo.InvariantCulture, out delaySeconds)

+ 11 - 3
MediaBrowser.Providers/TV/TvdbSeasonImageProvider.cs

@@ -65,8 +65,7 @@ namespace MediaBrowser.Providers.TV
             var season = (Season)item;
             var series = season.Series;
 
-            var identity = season.Identities.OfType<SeasonIdentity>().FirstOrDefault(id => id.Type == MetadataProviders.Tvdb.ToString());
-            var seriesId = identity != null ? identity.SeriesId : null;
+            var seriesId = series != null ? series.GetProviderId(MetadataProviders.Tvdb) : null;
 
             if (!string.IsNullOrEmpty(seriesId) && season.IndexNumber.HasValue)
             {
@@ -77,9 +76,18 @@ namespace MediaBrowser.Providers.TV
 
                 var path = Path.Combine(seriesDataPath, "banners.xml");
 
+                var identity = season.Identities.OfType<SeasonIdentity>()
+                    .FirstOrDefault(id => id.Type == MetadataProviders.Tvdb.ToString());
+
+                var seasonNumber = season.IndexNumber.Value;
+
+                if (identity != null)
+                {
+                    seasonNumber = AdjustForSeriesOffset(series, identity.SeasonIndex);
+                }
+                
                 try
                 {
-                    int seasonNumber = AdjustForSeriesOffset(series, identity.SeasonIndex);
                     return GetImages(path, item.GetPreferredMetadataLanguage(), seasonNumber, cancellationToken);
                 }
                 catch (FileNotFoundException)

+ 1 - 1
MediaBrowser.ServerApplication/EntryPoints/WanAddressEntryPoint.cs → MediaBrowser.Server.Implementations/EntryPoints/WanAddressEntryPoint.cs

@@ -4,7 +4,7 @@ using System;
 using System.IO;
 using System.Threading;
 
-namespace MediaBrowser.ServerApplication.EntryPoints
+namespace MediaBrowser.Server.Implementations.EntryPoints
 {
     public class WanAddressEntryPoint : IServerEntryPoint
     {

+ 55 - 1
MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json

@@ -382,5 +382,59 @@
     "LabelImageFetchers": "Image fetchers:",
     "LabelImageFetchersHelp": "Enable and rank your preferred image fetchers in order of priority.",
     "ButtonQueueAllFromHere": "Queue all from here",
-    "ButtonPlayAllFromHere": "Play all from here"
+    "ButtonPlayAllFromHere": "Play all from here",
+	"LabelDynamicExternalId": "{0} Id:",
+	"HeaderIdentify": "Identify Item",
+	"PersonTypePerson": "Person",
+	"LabelTitleDisplayOrder": "Title display order:",
+	"OptionSortName": "Sort name",
+	"OptionReleaseDate": "Release date",
+	"LabelSeasonNumber": "Season number:",
+	"LabelDiscNumber": "Disc number",
+	"LabelParentNumber": "Parent number",
+	"LabelEpisodeNumber": "Episode number:",
+	"LabelTrackNumber": "Track number:",
+	"LabelNumber": "Number:",
+	"LabelReleaseDate": "Release date:",
+	"LabelEndDate": "End date:",
+	"LabelYear": "Year:",
+	"LabelDateOfBirth": "Date of birth:",
+	"LabelBirthYear": "Birth year:",
+	"LabelDeathDate": "Death date:",
+	"HeaderRemoveMediaLocation": "Remove Media Location",
+	"MessageConfirmRemoveMediaLocation": "Are you sure you wish to remove this location?",
+	"HeaderRenameMediaFolder": "Rename Media Folder",
+	"LabelNewName": "New name:",
+	"HeaderAddMediaFolder": "Add Media Folder",
+	"HeaderAddMediaFolderHelp": "Name (Movies, Music, TV, etc):",
+	"HeaderRemoveMediaFolder": "Remove Media Folder",
+	"MessageTheFollowingLocationWillBeRemovedFromLibrary": "The following media locations will be removed from your library:",
+	"MessageAreYouSureYouWishToRemoveMediaFolder": "Are you sure you wish to remove this media folder?",
+	"ButtonRename": "Rename",
+	"ButtonChangeType": "Change type",
+	"ButtonRemove": "Remove",
+	"HeaderMediaLocations": "Media Locations",
+	"LabelFolderTypeValue": "Folder type: {0}",
+	"LabelPathSubstitutionHelp": "Optional: Path substitution can map server paths to network shares that clients can access for direct playback.",
+	"FolderTypeMixed": "Mixed movies & tv",
+	"FolderTypeMovies": "Movies",
+	"FolderTypeMusic": "Music",
+	"FolderTypeAdultVideos": "Adult videos",
+	"FolderTypePhotos": "Photos",
+	"FolderTypeMusicVideos": "Music videos",
+	"FolderTypeHomeVideos": "Home videos",
+	"FolderTypeGames": "Games",
+	"FolderTypeBooks": "Books",
+	"FolderTypeTvShows": "TV shows",
+	"TabMovies": "Movies",
+	"TabSeries": "Series",
+	"TabEpisodes": "Episodes",
+	"TabTrailers": "Trailers",
+	"TabGames": "Games",
+	"TabAlbums": "Albums",
+	"TabSongs": "Songs",
+	"TabMusicVideos": "Music Videos",
+	"BirthPlaceValue": "Birth place: {0}",
+	"DeathDateValue": "Died: {0}",
+	"BirthDateValue": "Born: {0}"
 }

+ 81 - 4
MediaBrowser.Server.Implementations/Localization/Server/server.json

@@ -179,6 +179,8 @@
     "TabMovies": "Movies",
     "TabStudios": "Studios",
     "TabTrailers": "Trailers",
+    "LabelArtists": "Artists:",
+    "LabelArtistsHelp": "Separate multiple using ;",
     "HeaderLatestMovies": "Latest Movies",
     "HeaderLatestTrailers": "Latest Trailers",
     "OptionHasSpecialFeatures": "Special Features",
@@ -233,7 +235,6 @@
     "OptionIsSD": "SD",
     "OptionMetascore": "Metascore",
     "ButtonSelect": "Select",
-    "ButtonSearch": "Search",
     "ButtonGroupVersions": "Group Versions",
     "ButtonAddToCollection": "Add to Collection",
     "PismoMessage": "Utilizing Pismo File Mount through a donated license.",
@@ -314,6 +315,8 @@
     "TabStatus": "Status",
     "TabSettings": "Settings",
     "ButtonRefreshGuideData": "Refresh Guide Data",
+    "ButtonRefresh": "Refresh",
+    "ButtonAdvancedRefresh": "Advanced Refresh",
     "OptionPriority": "Priority",
     "OptionRecordOnAllChannels": "Record program on all channels",
     "OptionRecordAnytime": "Record program at any time",
@@ -656,6 +659,8 @@
     "LabelProfileContainersHelp": "Separated by comma. This can be left empty to apply to all containers.",
     "HeaderResponseProfile": "Response Profile",
     "LabelType": "Type:",
+    "LabelPersonRole": "Role:",
+    "LabelPersonRoleHelp": "Role is generally only applicable to actors.",
     "LabelProfileContainer": "Container:",
     "LabelProfileVideoCodecs": "Video codecs:",
     "LabelProfileAudioCodecs": "Audio codecs:",
@@ -907,8 +912,11 @@
     "TabFilter": "Filter",
     "ButtonView": "View",
     "LabelPageSize": "Item limit:",
+    "LabelPath": "Path:",
     "LabelView": "View:",
     "TabUsers": "Users",
+    "LabelSortName": "Sort name:",
+    "LabelDateAdded": "Date added:",
     "HeaderFeatures": "Features",
     "HeaderAdvanced": "Advanced",
     "ButtonSync": "Sync",
@@ -1013,15 +1021,84 @@
     "HeaderDownloadPeopleMetadataForHelp": "Enabling additional options will provide more on-screen information but will result in slower library scans.",
     "ViewTypeFolders": "Folders",
     "LabelDisplayFoldersView": "Display a folders view to show plain media folders",
-    "ViewTypeLiveTvRecordingGroups":  "Recordings",
+    "ViewTypeLiveTvRecordingGroups": "Recordings",
     "ViewTypeLiveTvChannels": "Channels",
     "LabelAllowLocalAccessWithoutPassword": "Allow local access without a password",
     "LabelAllowLocalAccessWithoutPasswordHelp": "When enabled, a password will not be required when signing in from within your home network.",
     "HeaderPassword": "Password",
     "HeaderLocalAccess": "Local Access",
     "HeaderViewOrder": "View Order",
-    "LabelSelectUserViewOrder":  "Choose the order your views will be displayed in within Media Browser apps",
+    "LabelSelectUserViewOrder": "Choose the order your views will be displayed in within Media Browser apps",
+    "LabelMetadataRefreshMode": "Metadata refresh mode:",
+    "LabelImageRefreshMode": "Image refresh mode:",
+    "OptionDownloadMissingImages": "Download missing images",
+    "OptionReplaceExistingImages": "Replace existing images",
+    "OptionRefreshAllData": "Refresh all data",
+    "OptionAddMissingDataOnly": "Add missing data only",
+    "OptionLocalRefreshOnly": "Local refresh only",
+    "HeaderRefreshMetadata": "Refresh Metadata",
+    "HeaderPersonInfo": "Person Info",
+    "HeaderIdentifyItem": "Identify Item",
+    "HeaderIdentifyItemHelp": "Enter one or more search criteria. Remove criteria to increase search results.",
+    "HeaderConfirmDeletion": "Confirm Deletion",
+    "LabelFollowingFileWillBeDeleted": "The following file will be deleted:",
+    "LabelIfYouWishToContinueWithDeletion": "If you wish to continue, please confirm by entering the value of:",
+    "ButtonIdentify": "Identify",
+    "LabelAlbumArtist": "Album artist:",
+    "LabelAlbum": "Album:",
+    "LabelCommunityRating": "Community rating:",
+    "LabelVoteCount": "Vote count:",
+    "LabelMetascore": "Metascore:",
+    "LabelCriticRating": "Critic rating:",
+    "LabelCriticRatingSummary": "Critic rating summary:",
+    "LabelAwardSummary": "Award summary:",
+    "LabelWebsite": "Website:",
+    "LabelTagline": "Tagline:",
+    "LabelOverview": "Overview:",
+    "LabelShortOverview": "Short overview:",
+    "LabelReleaseDate": "Release date:",
+    "LabelYear": "Year:",
+    "LabelPlaceOfBirth": "Place of birth:",
+    "LabelEndDate": "End date:",
+    "LabelAirDate": "Air days:",
+    "LabelAirTime:": "Air time:",
+    "LabelRuntimeMinutes": "Run time (minutes):",
+    "LabelParentalRating": "Parental rating:",
+    "LabelCustomRating": "Custom rating:",
+    "LabelBudget": "Budget",
+    "LabelRevenue": "Revenue ($):",
+    "LabelOriginalAspectRatio": "Original aspect ratio:",
+    "LabelPlayers": "Players:",
+    "Label3DFormat": "3D format:",
+    "HeaderAlternateEpisodeNumbers": "Alternate Episode Numbers",
+    "HeaderSpecialEpisodeInfo": "Special Episode Info",
+    "HeaderExternalIds": "External Id's:",
+    "LabelDvdSeasonNumber": "Dvd season number:",
+    "LabelDvdEpisodeNumber": "Dvd episode number:",
+    "LabelAbsoluteEpisodeNumber": "Absolute episode number:",
+    "LabelAirsBeforeSeason": "Airs before season:",
+    "LabelAirsAfterSeason": "Airs after season:",
+    "LabelAirsBeforeEpisode": "Airs before episode:",
+    "HeaderDisplaySettings": "Display Settings",
+    "LabelTreatImageAs": "Treat image as:",
+    "LabelDisplayOrder": "Display order:",
+    "LabelDisplaySpecialsWithinSeasons": "Display specials within seasons they aired in",
+    "HeaderCountries": "Countries",
+    "HeaderGenres": "Genres",
+    "HeaderPeople": "People",
+    "HeaderPlotKeywords": "Plot Keywords",
+    "HeaderStudios": "Studios",
+    "HeaderTags": "Tags",
+    "HeaderMetadataSettings": "Metadata Settings",
+    "LabelLockItemToPreventChanges": "Lock this item to prevent future changes",
+    "MessageLeaveEmptyToInherit": "Leave empty to inherit settings from a parent item, or the global default value.",
+    "TabSupporterClub": "Supporter Club",
+    "HeaderDonationType": "Donation type:",
+    "OptionMakeOneTimeDonation": "Make a one-time donation",
+    "OptionLifeTimeSupporterClubMembership": "Lifetime supporter club membership",
+    "HeaderSupporterBenefit": "Becoming a supporter club member provides additional benefits such as access to premium plugins, internet channel content, and more.",
     "OptionNoTrailer": "No Trailer",
     "OptionNoThemeSong": "No Theme Song",
-    "OptionNoThemeVideo": "No Theme Video"
+    "OptionNoThemeVideo": "No Theme Video",
+    "LabelOneTimeDonationAmount": "Donation amount:"
 }

+ 1 - 0
MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj

@@ -130,6 +130,7 @@
     <Compile Include="EntryPoints\Notifications\WebSocketNotifier.cs" />
     <Compile Include="EntryPoints\RefreshUsersMetadata.cs" />
     <Compile Include="EntryPoints\UsageEntryPoint.cs" />
+    <Compile Include="EntryPoints\WanAddressEntryPoint.cs" />
     <Compile Include="FileOrganization\EpisodeFileOrganizer.cs" />
     <Compile Include="FileOrganization\Extensions.cs" />
     <Compile Include="FileOrganization\FileOrganizationService.cs" />

+ 0 - 3
MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj

@@ -79,9 +79,6 @@
       <Link>FFMpeg\FFMpegDownloader.cs</Link>
     </Compile>
     <Compile Include="IO\FileSystemFactory.cs" />
-    <Compile Include="..\MediaBrowser.ServerApplication\EntryPoints\WanAddressEntryPoint.cs">
-      <Link>EntryPoints\WanAddressEntryPoint.cs</Link>
-    </Compile>
     <Compile Include="..\MediaBrowser.ServerApplication\FFMpeg\FFMpegDownloadInfo.cs">
       <Link>FFMpeg\FFMpegDownloadInfo.cs</Link>
     </Compile>

+ 1 - 3
MediaBrowser.ServerApplication/ApplicationHost.cs

@@ -1,5 +1,4 @@
-using System.Net;
-using MediaBrowser.Api;
+using MediaBrowser.Api;
 using MediaBrowser.Common;
 using MediaBrowser.Common.Configuration;
 using MediaBrowser.Common.Events;
@@ -78,7 +77,6 @@ using MediaBrowser.Server.Implementations.ServerManager;
 using MediaBrowser.Server.Implementations.Session;
 using MediaBrowser.Server.Implementations.Sync;
 using MediaBrowser.Server.Implementations.Themes;
-using MediaBrowser.ServerApplication.EntryPoints;
 using MediaBrowser.ServerApplication.FFMpeg;
 using MediaBrowser.ServerApplication.IO;
 using MediaBrowser.ServerApplication.Native;

+ 0 - 1
MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj

@@ -100,7 +100,6 @@
     <Compile Include="EntryPoints\KeepServerAwake.cs" />
     <Compile Include="EntryPoints\ResourceEntryPoint.cs" />
     <Compile Include="EntryPoints\StartupWizard.cs" />
-    <Compile Include="EntryPoints\WanAddressEntryPoint.cs" />
     <Compile Include="FFMpeg\FFMpegDownloader.cs" />
     <Compile Include="FFMpeg\FFMpegDownloadInfo.cs" />
     <Compile Include="FFMpeg\FFMpegInfo.cs" />