diff --git a/MediaBrowser.Api/Reports/Activities/ReportActivitiesBuilder.cs b/MediaBrowser.Api/Reports/Activities/ReportActivitiesBuilder.cs
index 33d36f11b6..83816c6e3b 100644
--- a/MediaBrowser.Api/Reports/Activities/ReportActivitiesBuilder.cs
+++ b/MediaBrowser.Api/Reports/Activities/ReportActivitiesBuilder.cs
@@ -130,6 +130,7 @@ namespace MediaBrowser.Api.Reports
{
case HeaderMetadata.Name:
option.Column = (i, r) => i.Name;
+ option.Header.SortField = "";
break;
case HeaderMetadata.Overview:
option.Column = (i, r) => i.Overview;
diff --git a/MediaBrowser.Api/Reports/Common/HeaderMetadata.cs b/MediaBrowser.Api/Reports/Common/HeaderMetadata.cs
index 74fcdd1495..af5abf46aa 100644
--- a/MediaBrowser.Api/Reports/Common/HeaderMetadata.cs
+++ b/MediaBrowser.Api/Reports/Common/HeaderMetadata.cs
@@ -47,6 +47,17 @@ namespace MediaBrowser.Api.Reports
ImagePrimary,
ImageBackdrop,
ImageLogo,
+ Actor,
+ Studios,
+ Composer,
+ Director,
+ GuestStar,
+ Producer,
+ Writer,
+ Artist,
+ Years,
+ ParentalRatings,
+ CommunityRatings,
//Activity logs
Overview,
diff --git a/MediaBrowser.Api/Reports/Common/ReportBuilderBase.cs b/MediaBrowser.Api/Reports/Common/ReportBuilderBase.cs
index 81b441a071..6e1dd8d35f 100644
--- a/MediaBrowser.Api/Reports/Common/ReportBuilderBase.cs
+++ b/MediaBrowser.Api/Reports/Common/ReportBuilderBase.cs
@@ -155,9 +155,7 @@ namespace MediaBrowser.Api.Reports
if (internalHeader != HeaderMetadata.None)
{
string localHeader = "Header" + internalHeader.ToString();
- headerName = internalHeader != HeaderMetadata.None ? ReportHelper.GetJavaScriptLocalizedString(localHeader) : "";
- if (string.Compare(localHeader, headerName, StringComparison.CurrentCultureIgnoreCase) == 0)
- headerName = ReportHelper.GetServerLocalizedString(localHeader);
+ headerName = ReportHelper.GetCoreLocalizedString(localHeader);
}
return headerName;
}
diff --git a/MediaBrowser.Api/Reports/Common/ReportHelper.cs b/MediaBrowser.Api/Reports/Common/ReportHelper.cs
index c70cedf615..9dc4fbd51e 100644
--- a/MediaBrowser.Api/Reports/Common/ReportHelper.cs
+++ b/MediaBrowser.Api/Reports/Common/ReportHelper.cs
@@ -76,14 +76,6 @@ namespace MediaBrowser.Api.Reports
return rType;
}
- /// Gets java script localized string.
- /// The phrase.
- /// The java script localized string.
- public static string GetJavaScriptLocalizedString(string phrase)
- {
- return BaseItem.LocalizationManager.GetLocalizedString(phrase);
- }
-
/// Gets report view type.
/// The type.
/// The report view type.
@@ -132,10 +124,10 @@ namespace MediaBrowser.Api.Reports
return rType;
}
- /// Gets server localized string.
+ /// Gets core localized string.
/// The phrase.
- /// The server localized string.
- public static string GetServerLocalizedString(string phrase)
+ /// The core localized string.
+ public static string GetCoreLocalizedString(string phrase)
{
return BaseItem.LocalizationManager.GetLocalizedString(phrase);
}
diff --git a/MediaBrowser.Api/Reports/Stat/ReportStatBuilder.cs b/MediaBrowser.Api/Reports/Stat/ReportStatBuilder.cs
index 8cb57c030f..c9ee6337ff 100644
--- a/MediaBrowser.Api/Reports/Stat/ReportStatBuilder.cs
+++ b/MediaBrowser.Api/Reports/Stat/ReportStatBuilder.cs
@@ -110,7 +110,7 @@ namespace MediaBrowser.Api.Reports
/// The resul production locations.
private ReportStatResult GetResulProductionLocations(ReportStatResult result, BaseItem[] items, int topItem = 5)
{
- this.GetGroups(result, ReportHelper.GetServerLocalizedString("HeaderCountries"), topItem,
+ this.GetGroups(result, GetLocalizedHeader(HeaderMetadata.Countries), topItem,
items.OfType()
.Where(x => x.ProductionLocations != null)
.SelectMany(x => x.ProductionLocations)
@@ -134,7 +134,7 @@ namespace MediaBrowser.Api.Reports
/// The result community ratings.
private ReportStatResult GetResultCommunityRatings(ReportStatResult result, BaseItem[] items, int topItem = 5)
{
- this.GetGroups(result, ReportHelper.GetServerLocalizedString("LabelCommunityRating"), topItem,
+ this.GetGroups(result, GetLocalizedHeader(HeaderMetadata.CommunityRating), topItem,
items.Where(x => x.CommunityRating != null && x.CommunityRating > 0)
.GroupBy(x => x.CommunityRating)
.OrderByDescending(x => x.Count())
@@ -156,7 +156,7 @@ namespace MediaBrowser.Api.Reports
/// The result genres.
private ReportStatResult GetResultGenres(ReportStatResult result, BaseItem[] items, int topItem = 5)
{
- this.GetGroups(result, ReportHelper.GetServerLocalizedString("HeaderGenres"), topItem,
+ this.GetGroups(result, GetLocalizedHeader(HeaderMetadata.Genres), topItem,
items.SelectMany(x => x.Genres)
.GroupBy(x => x)
.OrderByDescending(x => x.Count())
@@ -178,7 +178,7 @@ namespace MediaBrowser.Api.Reports
/// The result parental ratings.
private ReportStatResult GetResultParentalRatings(ReportStatResult result, BaseItem[] items, int topItem = 5)
{
- this.GetGroups(result, ReportHelper.GetServerLocalizedString("HeaderParentalRatings"), topItem,
+ this.GetGroups(result, GetLocalizedHeader(HeaderMetadata.ParentalRatings), topItem,
items.Where(x => x.OfficialRating != null)
.GroupBy(x => x.OfficialRating)
.OrderByDescending(x => x.Count())
@@ -200,16 +200,26 @@ namespace MediaBrowser.Api.Reports
/// The result persons.
private ReportStatResult GetResultPersons(ReportStatResult result, BaseItem[] items, int topItem = 5)
{
- List t = new List { PersonType.Actor, PersonType.Composer, PersonType.Director, PersonType.GuestStar, PersonType.Producer, PersonType.Writer, "Artist", "AlbumArtist" };
+ List t = new List
+ {
+ HeaderMetadata.Actor,
+ HeaderMetadata.Composer,
+ HeaderMetadata.Director,
+ HeaderMetadata.GuestStar,
+ HeaderMetadata.Producer,
+ HeaderMetadata.Writer,
+ HeaderMetadata.Artist,
+ HeaderMetadata.AlbumArtist
+ };
foreach (var item in t)
{
var ps = items.Where(x => x.People != null && x.SupportsPeople).SelectMany(x => x.People)
- .Where(n => n.Type == item)
+ .Where(n => n.Type == item.ToString())
.GroupBy(x => x.Name)
.OrderByDescending(x => x.Count())
.Take(topItem);
if (ps != null && ps.Count() > 0)
- this.GetGroups(result, ReportHelper.GetServerLocalizedString("Option" + item), topItem,
+ this.GetGroups(result, GetLocalizedHeader(item), topItem,
ps.Select(x => new ReportStatItem
{
Name = x.Key,
@@ -229,7 +239,7 @@ namespace MediaBrowser.Api.Reports
/// The result production years.
private ReportStatResult GetResultProductionYears(ReportStatResult result, BaseItem[] items, int topItem = 5)
{
- this.GetGroups(result, ReportHelper.GetServerLocalizedString("HeaderYears"), topItem,
+ this.GetGroups(result, GetLocalizedHeader(HeaderMetadata.Year), topItem,
items.Where(x => x.ProductionYear != null && x.ProductionYear > 0)
.GroupBy(x => x.ProductionYear)
.OrderByDescending(x => x.Count())
@@ -251,7 +261,7 @@ namespace MediaBrowser.Api.Reports
/// The result studios.
private ReportStatResult GetResultStudios(ReportStatResult result, BaseItem[] items, int topItem = 5)
{
- this.GetGroups(result, ReportHelper.GetServerLocalizedString("HeaderStudios"), topItem,
+ this.GetGroups(result, GetLocalizedHeader(HeaderMetadata.Studios), topItem,
items.SelectMany(x => x.Studios)
.GroupBy(x => x)
.OrderByDescending(x => x.Count())
diff --git a/MediaBrowser.Server.Implementations/Localization/Core/core.json b/MediaBrowser.Server.Implementations/Localization/Core/core.json
index 6074360545..44a10f0a94 100644
--- a/MediaBrowser.Server.Implementations/Localization/Core/core.json
+++ b/MediaBrowser.Server.Implementations/Localization/Core/core.json
@@ -125,5 +125,55 @@
"HeaderImagePrimary": "Primary",
"HeaderImageBackdrop": "Backdrop",
"HeaderImageLogo": "Logo",
- "HeaderUserPrimaryImage": "User Image"
+ "HeaderUserPrimaryImage": "User Image",
+ "HeaderOverview": "Overview",
+ "HeaderShortOverview": "Short Overview",
+ "HeaderType": "Type",
+ "HeaderSeverity": "Severity",
+ "HeaderUser": "User",
+ "HeaderName": "Name",
+ "HeaderDate": "Date",
+ "HeaderPremiereDate": "Premiere Date",
+ "HeaderDateAdded": "Date Added",
+ "HeaderReleaseDate": "Release date",
+ "HeaderRuntime": "Runtime",
+ "HeaderPlayCount": "Play Count",
+ "HeaderSeason": "Season",
+ "HeaderSeasonNumber": "Season number",
+ "HeaderSeries": "Series:",
+ "HeaderNetwork": "Network",
+ "HeaderYear": "Year:",
+ "HeaderYears": "Years:",
+ "HeaderParentalRating": "Parental Rating",
+ "HeaderCommunityRating": "Community rating",
+ "HeaderTrailers": "Trailers",
+ "HeaderSpecials": "Specials",
+ "HeaderGameSystems": "Game Systems",
+ "HeaderPlayers": "Players:",
+ "HeaderAlbumArtists": "Album Artists",
+ "HeaderAlbums": "Albums",
+ "HeaderDisc": "Disc",
+ "HeaderTrack": "Track",
+ "HeaderAudio": "Audio",
+ "HeaderVideo": "Video",
+ "HeaderEmbeddedImage": "Embedded image",
+ "HeaderResolution": "Resolution",
+ "HeaderSubtitles": "Subtitles",
+ "HeaderGenres": "Genres",
+ "HeaderCountries": "Countries",
+ "HeaderStatus": "Status",
+ "HeaderTracks": "Tracks",
+ "HeaderMusicArtist": "Music artist",
+ "HeaderLocked": "Locked",
+ "HeaderStudios": "Studios",
+ "HeaderActor": "Actors",
+ "HeaderComposer": "Composers",
+ "HeaderDirector": "Directors",
+ "HeaderGuestStar": "Guest star",
+ "HeaderProducer": "Producers",
+ "HeaderWriter": "Writers",
+ "HeaderParentalRatings": "Parental Ratings",
+ "HeaderCommunityRatings": "Community ratings",
+
+
}