Browse Source

added new device profiles

Luke Pulverenti 11 years ago
parent
commit
e2052c771d
94 changed files with 2869 additions and 541 deletions
  1. 3 21
      MediaBrowser.Api/Playback/BaseStreamingService.cs
  2. 4 1
      MediaBrowser.Api/Playback/Hls/BaseHlsService.cs
  3. 5 17
      MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs
  4. 0 1
      MediaBrowser.Common/Net/HttpRequestOptions.cs
  5. 5 1
      MediaBrowser.Dlna/DlnaManager.cs
  6. 6 0
      MediaBrowser.Dlna/MediaBrowser.Dlna.csproj
  7. 178 0
      MediaBrowser.Dlna/Profiles/AndroidProfile.cs
  8. 1 0
      MediaBrowser.Dlna/Profiles/DefaultProfile.cs
  9. 9 0
      MediaBrowser.Dlna/Profiles/PanasonicVieraProfile.cs
  10. 8 0
      MediaBrowser.Dlna/Profiles/SamsungSmartTvProfile.cs
  11. 12 2
      MediaBrowser.Dlna/Profiles/Windows81Profile.cs
  12. 13 2
      MediaBrowser.Dlna/Profiles/WindowsPhoneProfile.cs
  13. 20 0
      MediaBrowser.Dlna/Profiles/Xml/Android.xml
  14. 4 2
      MediaBrowser.Dlna/Profiles/Xml/Default.xml
  15. 4 2
      MediaBrowser.Dlna/Profiles/Xml/Denon AVR.xml
  16. 5 3
      MediaBrowser.Dlna/Profiles/Xml/LG Smart TV.xml
  17. 4 2
      MediaBrowser.Dlna/Profiles/Xml/Linksys DMA2100.xml
  18. 4 2
      MediaBrowser.Dlna/Profiles/Xml/MediaMonkey.xml
  19. 9 3
      MediaBrowser.Dlna/Profiles/Xml/Panasonic Viera.xml
  20. 9 3
      MediaBrowser.Dlna/Profiles/Xml/Samsung Smart TV.xml
  21. 5 3
      MediaBrowser.Dlna/Profiles/Xml/Sony Blu-ray Player 2013.xml
  22. 5 3
      MediaBrowser.Dlna/Profiles/Xml/Sony Blu-ray Player.xml
  23. 5 3
      MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2010).xml
  24. 5 3
      MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2011).xml
  25. 5 3
      MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2012).xml
  26. 5 3
      MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2013).xml
  27. 5 3
      MediaBrowser.Dlna/Profiles/Xml/Sony PlayStation 3.xml
  28. 5 3
      MediaBrowser.Dlna/Profiles/Xml/WDTV Live.xml
  29. 24 0
      MediaBrowser.Dlna/Profiles/Xml/Windows 8 RT.xml
  30. 20 0
      MediaBrowser.Dlna/Profiles/Xml/Windows Phone.xml
  31. 5 3
      MediaBrowser.Dlna/Profiles/Xml/Xbox 360.xml
  32. 4 2
      MediaBrowser.Dlna/Profiles/Xml/Xbox One.xml
  33. 4 2
      MediaBrowser.Dlna/Profiles/Xml/foobar2000.xml
  34. 3 0
      MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj
  35. 3 0
      MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj
  36. 6 0
      MediaBrowser.Model/Dlna/AudioOptions.cs
  37. 6 0
      MediaBrowser.Model/Dlna/DeviceProfile.cs
  38. 2 2
      MediaBrowser.Model/Dlna/StreamBuilder.cs
  39. 8 0
      MediaBrowser.Model/Dlna/SubtitleProfile.cs
  40. 9 0
      MediaBrowser.Model/Dlna/TranscodingProfile.cs
  41. 1 0
      MediaBrowser.Model/MediaBrowser.Model.csproj
  42. 1 0
      MediaBrowser.Model/MediaInfo/SubtitleFormat.cs
  43. 1 1
      MediaBrowser.Server.Implementations/Channels/ChannelManager.cs
  44. 83 3
      MediaBrowser.Server.Implementations/Localization/JavaScript/ar.json
  45. 83 3
      MediaBrowser.Server.Implementations/Localization/JavaScript/ca.json
  46. 83 3
      MediaBrowser.Server.Implementations/Localization/JavaScript/cs.json
  47. 83 3
      MediaBrowser.Server.Implementations/Localization/JavaScript/da.json
  48. 83 3
      MediaBrowser.Server.Implementations/Localization/JavaScript/de.json
  49. 83 3
      MediaBrowser.Server.Implementations/Localization/JavaScript/el.json
  50. 83 3
      MediaBrowser.Server.Implementations/Localization/JavaScript/en_GB.json
  51. 83 3
      MediaBrowser.Server.Implementations/Localization/JavaScript/en_US.json
  52. 83 3
      MediaBrowser.Server.Implementations/Localization/JavaScript/es.json
  53. 83 3
      MediaBrowser.Server.Implementations/Localization/JavaScript/es_MX.json
  54. 83 3
      MediaBrowser.Server.Implementations/Localization/JavaScript/fr.json
  55. 83 3
      MediaBrowser.Server.Implementations/Localization/JavaScript/he.json
  56. 83 3
      MediaBrowser.Server.Implementations/Localization/JavaScript/it.json
  57. 321 238
      MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json
  58. 83 3
      MediaBrowser.Server.Implementations/Localization/JavaScript/kk.json
  59. 83 3
      MediaBrowser.Server.Implementations/Localization/JavaScript/ms.json
  60. 83 3
      MediaBrowser.Server.Implementations/Localization/JavaScript/nb.json
  61. 83 3
      MediaBrowser.Server.Implementations/Localization/JavaScript/nl.json
  62. 83 3
      MediaBrowser.Server.Implementations/Localization/JavaScript/pl.json
  63. 84 4
      MediaBrowser.Server.Implementations/Localization/JavaScript/pt_BR.json
  64. 83 3
      MediaBrowser.Server.Implementations/Localization/JavaScript/pt_PT.json
  65. 83 3
      MediaBrowser.Server.Implementations/Localization/JavaScript/ru.json
  66. 96 16
      MediaBrowser.Server.Implementations/Localization/JavaScript/sv.json
  67. 83 3
      MediaBrowser.Server.Implementations/Localization/JavaScript/vi.json
  68. 83 3
      MediaBrowser.Server.Implementations/Localization/JavaScript/zh_TW.json
  69. 3 4
      MediaBrowser.Server.Implementations/Localization/Server/ar.json
  70. 3 4
      MediaBrowser.Server.Implementations/Localization/Server/ca.json
  71. 4 5
      MediaBrowser.Server.Implementations/Localization/Server/cs.json
  72. 3 4
      MediaBrowser.Server.Implementations/Localization/Server/da.json
  73. 5 6
      MediaBrowser.Server.Implementations/Localization/Server/de.json
  74. 3 4
      MediaBrowser.Server.Implementations/Localization/Server/el.json
  75. 3 4
      MediaBrowser.Server.Implementations/Localization/Server/en_GB.json
  76. 3 4
      MediaBrowser.Server.Implementations/Localization/Server/en_US.json
  77. 2 3
      MediaBrowser.Server.Implementations/Localization/Server/es.json
  78. 3 4
      MediaBrowser.Server.Implementations/Localization/Server/es_MX.json
  79. 6 7
      MediaBrowser.Server.Implementations/Localization/Server/fr.json
  80. 6 7
      MediaBrowser.Server.Implementations/Localization/Server/he.json
  81. 4 5
      MediaBrowser.Server.Implementations/Localization/Server/it.json
  82. 0 0
      MediaBrowser.Server.Implementations/Localization/Server/kk.json
  83. 3 4
      MediaBrowser.Server.Implementations/Localization/Server/ms.json
  84. 3 4
      MediaBrowser.Server.Implementations/Localization/Server/nb.json
  85. 3 4
      MediaBrowser.Server.Implementations/Localization/Server/nl.json
  86. 3 4
      MediaBrowser.Server.Implementations/Localization/Server/pl.json
  87. 4 5
      MediaBrowser.Server.Implementations/Localization/Server/pt_BR.json
  88. 5 6
      MediaBrowser.Server.Implementations/Localization/Server/pt_PT.json
  89. 0 0
      MediaBrowser.Server.Implementations/Localization/Server/ru.json
  90. 2 2
      MediaBrowser.Server.Implementations/Localization/Server/server.json
  91. 21 22
      MediaBrowser.Server.Implementations/Localization/Server/sv.json
  92. 3 4
      MediaBrowser.Server.Implementations/Localization/Server/vi.json
  93. 4 5
      MediaBrowser.Server.Implementations/Localization/Server/zh_TW.json
  94. 3 0
      MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj

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

@@ -607,7 +607,7 @@ namespace MediaBrowser.Api.Playback
                     }
                     }
                 }
                 }
 
 
-                // TODO: Perhaps also use original_size=1920x800
+                // TODO: Perhaps also use original_size=1920x800 ??
                 return string.Format("subtitles=filename='{0}'{1},setpts=PTS -{2}/TB",
                 return string.Format("subtitles=filename='{0}'{1},setpts=PTS -{2}/TB",
                     subtitlePath.Replace('\\', '/').Replace(":/", "\\:/"),
                     subtitlePath.Replace('\\', '/').Replace(":/", "\\:/"),
                     charsetParam,
                     charsetParam,
@@ -817,7 +817,7 @@ namespace MediaBrowser.Api.Playback
                         state.MediaPath = streamInfo.Path;
                         state.MediaPath = streamInfo.Path;
                         state.InputProtocol = MediaProtocol.File;
                         state.InputProtocol = MediaProtocol.File;
 
 
-                        await Task.Delay(1000, cancellationTokenSource.Token).ConfigureAwait(false);
+                        await Task.Delay(1500, cancellationTokenSource.Token).ConfigureAwait(false);
                     }
                     }
                     else if (!string.IsNullOrEmpty(streamInfo.Url))
                     else if (!string.IsNullOrEmpty(streamInfo.Url))
                     {
                     {
@@ -838,7 +838,7 @@ namespace MediaBrowser.Api.Playback
                         state.MediaPath = streamInfo.Path;
                         state.MediaPath = streamInfo.Path;
                         state.InputProtocol = MediaProtocol.File;
                         state.InputProtocol = MediaProtocol.File;
 
 
-                        await Task.Delay(1000, cancellationTokenSource.Token).ConfigureAwait(false);
+                        await Task.Delay(1500, cancellationTokenSource.Token).ConfigureAwait(false);
                     }
                     }
                     else if (!string.IsNullOrEmpty(streamInfo.Url))
                     else if (!string.IsNullOrEmpty(streamInfo.Url))
                     {
                     {
@@ -943,19 +943,6 @@ namespace MediaBrowser.Api.Playback
             {
             {
                 await Task.Delay(100, cancellationTokenSource.Token).ConfigureAwait(false);
                 await Task.Delay(100, cancellationTokenSource.Token).ConfigureAwait(false);
             }
             }
-
-            // Allow a small amount of time to buffer a little
-            // But not with HLS because it already has it's own wait
-            if (state.IsInputVideo && TranscodingJobType != TranscodingJobType.Hls)
-            {
-                await Task.Delay(500, cancellationTokenSource.Token).ConfigureAwait(false);
-            }
-
-            // This is arbitrary, but add a little buffer time when internet streaming
-            if (state.InputProtocol != MediaProtocol.File)
-            {
-                await Task.Delay(2500, cancellationTokenSource.Token).ConfigureAwait(false);
-            }
         }
         }
 
 
         private async void StartStreamingLog(StreamState state, Stream source, Stream target)
         private async void StartStreamingLog(StreamState state, Stream source, Stream target)
@@ -1458,11 +1445,6 @@ namespace MediaBrowser.Api.Playback
 
 
                 state.RunTimeTicks = recording.RunTimeTicks;
                 state.RunTimeTicks = recording.RunTimeTicks;
 
 
-                if (recording.RecordingInfo.Status == RecordingStatus.InProgress)
-                {
-                    await Task.Delay(1000, cancellationToken).ConfigureAwait(false);
-                }
-
                 state.OutputAudioSync = "1000";
                 state.OutputAudioSync = "1000";
                 state.InputVideoSync = "-1";
                 state.InputVideoSync = "-1";
                 state.InputAudioSync = "1";
                 state.InputAudioSync = "1";

+ 4 - 1
MediaBrowser.Api/Playback/Hls/BaseHlsService.cs

@@ -104,7 +104,10 @@ namespace MediaBrowser.Api.Playback.Hls
                     }
                     }
                     else
                     else
                     {
                     {
-                        await ApiEntryPoint.Instance.KillTranscodingJobs(state.Request.DeviceId, TranscodingJobType.Hls, p => true, false).ConfigureAwait(false);
+                        if (!string.IsNullOrWhiteSpace(state.Request.DeviceId))
+                        {
+                            await ApiEntryPoint.Instance.KillTranscodingJobs(state.Request.DeviceId, TranscodingJobType.Hls, p => true, false).ConfigureAwait(false);
+                        }
 
 
                         // If the playlist doesn't already exist, startup ffmpeg
                         // If the playlist doesn't already exist, startup ffmpeg
                         try
                         try

+ 5 - 17
MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs

@@ -107,7 +107,6 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager
             return client;
             return client;
         }
         }
 
 
-        private PropertyInfo _httpBehaviorPropertyInfo;
         private WebRequest GetRequest(HttpRequestOptions options, string method, bool enableHttpCompression)
         private WebRequest GetRequest(HttpRequestOptions options, string method, bool enableHttpCompression)
         {
         {
             var request = (HttpWebRequest)WebRequest.Create(options.Url);
             var request = (HttpWebRequest)WebRequest.Create(options.Url);
@@ -118,7 +117,11 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager
 
 
             request.CachePolicy = new RequestCachePolicy(RequestCacheLevel.BypassCache);
             request.CachePolicy = new RequestCachePolicy(RequestCacheLevel.BypassCache);
 
 
-            request.KeepAlive = options.EnableKeepAlive;
+            if (options.EnableKeepAlive)
+            {
+                request.KeepAlive = true;
+            }
+
             request.Method = method;
             request.Method = method;
             request.Pipelined = true;
             request.Pipelined = true;
             request.Timeout = 20000;
             request.Timeout = 20000;
@@ -133,21 +136,6 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager
                 request.Referer = options.Referer;
                 request.Referer = options.Referer;
             }
             }
 
 
-#if !__MonoCS__
-            if (options.EnableKeepAlive)
-            {
-                // This is a hack to prevent KeepAlive from getting disabled internally by the HttpWebRequest
-                // May need to remove this for mono
-                var sp = request.ServicePoint;
-                if (_httpBehaviorPropertyInfo == null)
-                {
-                    _httpBehaviorPropertyInfo = sp.GetType().GetProperty("HttpBehaviour", BindingFlags.Instance | BindingFlags.NonPublic);
-                }
-
-                _httpBehaviorPropertyInfo.SetValue(sp, (byte)0, null);
-            }
-#endif
-
             return request;
             return request;
         }
         }
 
 

+ 0 - 1
MediaBrowser.Common/Net/HttpRequestOptions.cs

@@ -106,7 +106,6 @@ namespace MediaBrowser.Common.Net
         {
         {
             EnableHttpCompression = true;
             EnableHttpCompression = true;
             BufferContent = true;
             BufferContent = true;
-            EnableKeepAlive = true;
 
 
             RequestHeaders = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
             RequestHeaders = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
 
 

+ 5 - 1
MediaBrowser.Dlna/DlnaManager.cs

@@ -37,7 +37,7 @@ namespace MediaBrowser.Dlna
             _logger = logger;
             _logger = logger;
             _jsonSerializer = jsonSerializer;
             _jsonSerializer = jsonSerializer;
 
 
-            //DumpProfiles();
+            DumpProfiles();
         }
         }
 
 
         public IEnumerable<DeviceProfile> GetProfiles()
         public IEnumerable<DeviceProfile> GetProfiles()
@@ -75,6 +75,10 @@ namespace MediaBrowser.Dlna
                 new LgTvProfile(),
                 new LgTvProfile(),
                 new Foobar2000Profile(),
                 new Foobar2000Profile(),
                 new MediaMonkeyProfile(),
                 new MediaMonkeyProfile(),
+                new Windows81Profile(),
+                //new WindowsMediaCenterProfile(),
+                new WindowsPhoneProfile(),
+                new AndroidProfile(),
                 new DefaultProfile()
                 new DefaultProfile()
             };
             };
 
 

+ 6 - 0
MediaBrowser.Dlna/MediaBrowser.Dlna.csproj

@@ -82,6 +82,7 @@
     <Compile Include="Common\ServiceAction.cs" />
     <Compile Include="Common\ServiceAction.cs" />
     <Compile Include="PlayTo\TRANSPORTSTATE.cs" />
     <Compile Include="PlayTo\TRANSPORTSTATE.cs" />
     <Compile Include="PlayTo\uParserObject.cs" />
     <Compile Include="PlayTo\uParserObject.cs" />
+    <Compile Include="Profiles\AndroidProfile.cs" />
     <Compile Include="Profiles\Foobar2000Profile.cs" />
     <Compile Include="Profiles\Foobar2000Profile.cs" />
     <Compile Include="Profiles\MediaMonkeyProfile.cs" />
     <Compile Include="Profiles\MediaMonkeyProfile.cs" />
     <Compile Include="Profiles\Windows81Profile.cs" />
     <Compile Include="Profiles\Windows81Profile.cs" />
@@ -174,6 +175,11 @@
   <ItemGroup>
   <ItemGroup>
     <EmbeddedResource Include="Profiles\Xml\MediaMonkey.xml" />
     <EmbeddedResource Include="Profiles\Xml\MediaMonkey.xml" />
   </ItemGroup>
   </ItemGroup>
+  <ItemGroup>
+    <EmbeddedResource Include="Profiles\Xml\Android.xml" />
+    <EmbeddedResource Include="Profiles\Xml\Windows 8 RT.xml" />
+    <EmbeddedResource Include="Profiles\Xml\Windows Phone.xml" />
+  </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
   <!-- 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.
        Other similar extension points exist, see Microsoft.Common.targets.

+ 178 - 0
MediaBrowser.Dlna/Profiles/AndroidProfile.cs

@@ -0,0 +1,178 @@
+using MediaBrowser.Model.Dlna;
+using System.Xml.Serialization;
+
+namespace MediaBrowser.Dlna.Profiles
+{
+    [XmlRoot("Profile")]
+    public class AndroidProfile : DefaultProfile
+    {
+        public AndroidProfile()
+        {
+            Name = "Android";
+
+            TranscodingProfiles = new[]
+            {
+                new TranscodingProfile
+                {
+                    Container = "mp3",
+                    AudioCodec = "mp3",
+                    Type = DlnaProfileType.Audio
+                },
+                new TranscodingProfile
+                {
+                    Protocol = "hls",
+                    Container = "ts",
+                    VideoCodec = "h264",
+                    AudioCodec = "aac",
+                    Type = DlnaProfileType.Video,
+                    VideoProfile = "Baseline",
+                    Context = EncodingContext.Streaming
+                },
+                new TranscodingProfile
+                {
+                    Container = "mp4",
+                    VideoCodec = "h264",
+                    AudioCodec = "aac",
+                    Type = DlnaProfileType.Video,
+                    VideoProfile = "Baseline",
+                    Context = EncodingContext.Static
+                }
+            };
+
+            DirectPlayProfiles = new[]
+            {
+                new DirectPlayProfile
+                {
+                    Container = "mp4",
+                    VideoCodec = "h264,mpeg4",
+                    AudioCodec = "aac",
+                    Type = DlnaProfileType.Video
+                },
+
+                new DirectPlayProfile
+                {
+                    Container = "mp4,aac",
+                    AudioCodec = "aac",
+                    Type = DlnaProfileType.Audio
+                },
+
+                new DirectPlayProfile
+                {
+                    Container = "mp3",
+                    AudioCodec = "mp3",
+                    Type = DlnaProfileType.Audio
+                },
+
+                new DirectPlayProfile
+                {
+                    Container = "flac",
+                    AudioCodec = "flac",
+                    Type = DlnaProfileType.Audio
+                },
+
+                new DirectPlayProfile
+                {
+                    Container = "ogg",
+                    AudioCodec = "vorbis",
+                    Type = DlnaProfileType.Audio
+                },
+
+                new DirectPlayProfile
+                {
+                    Container = "jpeg,png,gif,bmp",
+                    Type = DlnaProfileType.Photo
+                }
+            };
+
+            CodecProfiles = new[]
+            {
+                new CodecProfile
+                {
+                    Type = CodecType.Video,
+                    Conditions = new []
+                    {
+                        new ProfileCondition
+                        {
+                            Condition = ProfileConditionType.LessThanEqual,
+                            Property = ProfileConditionValue.Width,
+                            Value = "1920"
+                        },
+                        new ProfileCondition
+                        {
+                            Condition = ProfileConditionType.LessThanEqual,
+                            Property = ProfileConditionValue.Height,
+                            Value = "1080"
+                        },
+                        new ProfileCondition
+                        {
+                            Condition = ProfileConditionType.NotEquals,
+                            Property = ProfileConditionValue.IsAnamorphic,
+                            Value = "true",
+                            IsRequired = false
+                        },
+                        new ProfileCondition
+                        {
+                            Condition = ProfileConditionType.LessThanEqual,
+                            Property = ProfileConditionValue.VideoBitDepth,
+                            Value = "8",
+                            IsRequired = false
+                        },
+                        // TODO: Add HasScalingMatrix != true, IsRequired false
+                    }
+                },
+
+                new CodecProfile
+                {
+                    Type = CodecType.VideoAudio,
+                    Codec = "aac",
+                    Conditions = new []
+                    {
+                        new ProfileCondition
+                        {
+                            Condition = ProfileConditionType.LessThanEqual,
+                            Property = ProfileConditionValue.AudioChannels,
+                            Value = "2"
+                        }
+                    }
+                },
+
+                new CodecProfile
+                {
+                    Type = CodecType.Audio,
+                    Codec = "aac",
+                    Conditions = new []
+                    {
+                        new ProfileCondition
+                        {
+                            Condition = ProfileConditionType.LessThanEqual,
+                            Property = ProfileConditionValue.AudioChannels,
+                            Value = "2"
+                        }
+                    }
+                },
+
+                new CodecProfile
+                {
+                    Type = CodecType.Audio,
+                    Codec = "mp3",
+                    Conditions = new []
+                    {
+                        new ProfileCondition
+                        {
+                            Condition = ProfileConditionType.LessThanEqual,
+                            Property = ProfileConditionValue.AudioChannels,
+                            Value = "2"
+                        },
+                        new ProfileCondition
+                        {
+                            Condition = ProfileConditionType.LessThanEqual,
+                            Property = ProfileConditionValue.AudioBitrate,
+                            Value = "320000"
+                        }
+                    }
+                }
+            };
+
+        }
+    }
+}

+ 1 - 0
MediaBrowser.Dlna/Profiles/DefaultProfile.cs

@@ -1,4 +1,5 @@
 using MediaBrowser.Model.Dlna;
 using MediaBrowser.Model.Dlna;
+using MediaBrowser.Model.MediaInfo;
 using System.Xml.Serialization;
 using System.Xml.Serialization;
 
 
 namespace MediaBrowser.Dlna.Profiles
 namespace MediaBrowser.Dlna.Profiles

+ 9 - 0
MediaBrowser.Dlna/Profiles/PanasonicVieraProfile.cs

@@ -1,5 +1,6 @@
 using MediaBrowser.Model.Dlna;
 using MediaBrowser.Model.Dlna;
 using System.Xml.Serialization;
 using System.Xml.Serialization;
+using MediaBrowser.Model.MediaInfo;
 
 
 namespace MediaBrowser.Dlna.Profiles
 namespace MediaBrowser.Dlna.Profiles
 {
 {
@@ -192,6 +193,14 @@ namespace MediaBrowser.Dlna.Profiles
                    }
                    }
                }
                }
            };
            };
+
+            SoftSubtitleProfiles = new[]
+            {
+                new SubtitleProfile
+                {
+                    Format = SubtitleFormat.SRT
+                }
+            };
         }
         }
     }
     }
 }
 }

+ 8 - 0
MediaBrowser.Dlna/Profiles/SamsungSmartTvProfile.cs

@@ -1,5 +1,6 @@
 using MediaBrowser.Model.Dlna;
 using MediaBrowser.Model.Dlna;
 using System.Xml.Serialization;
 using System.Xml.Serialization;
+using MediaBrowser.Model.MediaInfo;
 
 
 namespace MediaBrowser.Dlna.Profiles
 namespace MediaBrowser.Dlna.Profiles
 {
 {
@@ -338,6 +339,13 @@ namespace MediaBrowser.Dlna.Profiles
                 }
                 }
             };
             };
 
 
+            SoftSubtitleProfiles = new[]
+            {
+                new SubtitleProfile
+                {
+                    Format = SubtitleFormat.SMI
+                }
+            };
         }
         }
     }
     }
 }
 }

+ 12 - 2
MediaBrowser.Dlna/Profiles/Windows81Profile.cs

@@ -30,7 +30,8 @@ namespace MediaBrowser.Dlna.Profiles
                     VideoCodec = "h264",
                     VideoCodec = "h264",
                     AudioCodec = "aac",
                     AudioCodec = "aac",
                     Type = DlnaProfileType.Video,
                     Type = DlnaProfileType.Video,
-                    VideoProfile = "Baseline"
+                    VideoProfile = "Baseline",
+                    Context = EncodingContext.Streaming
                 },
                 },
                 new TranscodingProfile
                 new TranscodingProfile
                 {
                 {
@@ -38,7 +39,16 @@ namespace MediaBrowser.Dlna.Profiles
                     VideoCodec = "h264",
                     VideoCodec = "h264",
                     AudioCodec = "aac",
                     AudioCodec = "aac",
                     Type = DlnaProfileType.Video,
                     Type = DlnaProfileType.Video,
-                    VideoProfile = "Baseline"
+                    VideoProfile = "Baseline",
+                    Context = EncodingContext.Streaming
+                },
+                new TranscodingProfile
+                {
+                    Container = "mp4",
+                    VideoCodec = "h264",
+                    AudioCodec = "aac,ac3,eac3",
+                    Type = DlnaProfileType.Video,
+                    Context = EncodingContext.Static
                 }
                 }
             };
             };
 
 

+ 13 - 2
MediaBrowser.Dlna/Profiles/WindowsPhoneProfile.cs

@@ -25,7 +25,8 @@ namespace MediaBrowser.Dlna.Profiles
                     VideoCodec = "h264",
                     VideoCodec = "h264",
                     AudioCodec = "aac",
                     AudioCodec = "aac",
                     Type = DlnaProfileType.Video,
                     Type = DlnaProfileType.Video,
-                    VideoProfile = "Baseline"
+                    VideoProfile = "Baseline",
+                    Context = EncodingContext.Streaming
                 },
                 },
                 new TranscodingProfile
                 new TranscodingProfile
                 {
                 {
@@ -33,7 +34,17 @@ namespace MediaBrowser.Dlna.Profiles
                     VideoCodec = "h264",
                     VideoCodec = "h264",
                     AudioCodec = "aac",
                     AudioCodec = "aac",
                     Type = DlnaProfileType.Video,
                     Type = DlnaProfileType.Video,
-                    VideoProfile = "Baseline"
+                    VideoProfile = "Baseline",
+                    Context = EncodingContext.Streaming
+                },
+                new TranscodingProfile
+                {
+                    Container = "mp4",
+                    VideoCodec = "h264",
+                    AudioCodec = "aac",
+                    Type = DlnaProfileType.Video,
+                    VideoProfile = "Baseline",
+                    Context = EncodingContext.Static
                 }
                 }
             };
             };
 
 

File diff suppressed because it is too large
+ 20 - 0
MediaBrowser.Dlna/Profiles/Xml/Android.xml


+ 4 - 2
MediaBrowser.Dlna/Profiles/Xml/Default.xml

@@ -28,10 +28,12 @@
     <DirectPlayProfile container="avi,mp4" type="Video" />
     <DirectPlayProfile container="avi,mp4" type="Video" />
   </DirectPlayProfiles>
   </DirectPlayProfiles>
   <TranscodingProfiles>
   <TranscodingProfiles>
-    <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" />
-    <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="aac" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" videoProfile="baseline" />
+    <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" context="Streaming" />
+    <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="aac" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" videoProfile="baseline" context="Streaming" />
   </TranscodingProfiles>
   </TranscodingProfiles>
   <ContainerProfiles />
   <ContainerProfiles />
   <CodecProfiles />
   <CodecProfiles />
   <ResponseProfiles />
   <ResponseProfiles />
+  <SoftSubtitleProfiles />
+  <ExternalSubtitleProfiles />
 </Profile>
 </Profile>

+ 4 - 2
MediaBrowser.Dlna/Profiles/Xml/Denon AVR.xml

@@ -32,10 +32,12 @@
     <DirectPlayProfile container="mp3,flac,m4a,wma" type="Audio" />
     <DirectPlayProfile container="mp3,flac,m4a,wma" type="Audio" />
   </DirectPlayProfiles>
   </DirectPlayProfiles>
   <TranscodingProfiles>
   <TranscodingProfiles>
-    <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" />
-    <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="aac" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" videoProfile="baseline" />
+    <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" context="Streaming" />
+    <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="aac" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" videoProfile="baseline" context="Streaming" />
   </TranscodingProfiles>
   </TranscodingProfiles>
   <ContainerProfiles />
   <ContainerProfiles />
   <CodecProfiles />
   <CodecProfiles />
   <ResponseProfiles />
   <ResponseProfiles />
+  <SoftSubtitleProfiles />
+  <ExternalSubtitleProfiles />
 </Profile>
 </Profile>

+ 5 - 3
MediaBrowser.Dlna/Profiles/Xml/LG Smart TV.xml

@@ -37,9 +37,9 @@
     <DirectPlayProfile container="jpeg" type="Photo" />
     <DirectPlayProfile container="jpeg" type="Photo" />
   </DirectPlayProfiles>
   </DirectPlayProfiles>
   <TranscodingProfiles>
   <TranscodingProfiles>
-    <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" />
-    <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="ac3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" />
-    <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" />
+    <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" context="Streaming" />
+    <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="ac3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" context="Streaming" />
+    <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" context="Streaming" />
   </TranscodingProfiles>
   </TranscodingProfiles>
   <ContainerProfiles>
   <ContainerProfiles>
     <ContainerProfile type="Photo">
     <ContainerProfile type="Photo">
@@ -72,4 +72,6 @@
     </CodecProfile>
     </CodecProfile>
   </CodecProfiles>
   </CodecProfiles>
   <ResponseProfiles />
   <ResponseProfiles />
+  <SoftSubtitleProfiles />
+  <ExternalSubtitleProfiles />
 </Profile>
 </Profile>

+ 4 - 2
MediaBrowser.Dlna/Profiles/Xml/Linksys DMA2100.xml

@@ -32,10 +32,12 @@
     <DirectPlayProfile container="avi,mp4,mkv,ts" type="Video" />
     <DirectPlayProfile container="avi,mp4,mkv,ts" type="Video" />
   </DirectPlayProfiles>
   </DirectPlayProfiles>
   <TranscodingProfiles>
   <TranscodingProfiles>
-    <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" />
-    <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="aac" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" videoProfile="baseline" />
+    <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" context="Streaming" />
+    <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="aac" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" videoProfile="baseline" context="Streaming" />
   </TranscodingProfiles>
   </TranscodingProfiles>
   <ContainerProfiles />
   <ContainerProfiles />
   <CodecProfiles />
   <CodecProfiles />
   <ResponseProfiles />
   <ResponseProfiles />
+  <SoftSubtitleProfiles />
+  <ExternalSubtitleProfiles />
 </Profile>
 </Profile>

+ 4 - 2
MediaBrowser.Dlna/Profiles/Xml/MediaMonkey.xml

@@ -38,10 +38,12 @@
     <DirectPlayProfile container="ogg" audioCodec="vorbis" type="Audio" />
     <DirectPlayProfile container="ogg" audioCodec="vorbis" type="Audio" />
   </DirectPlayProfiles>
   </DirectPlayProfiles>
   <TranscodingProfiles>
   <TranscodingProfiles>
-    <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" />
-    <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="aac" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" videoProfile="baseline" />
+    <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" context="Streaming" />
+    <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="aac" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" videoProfile="baseline" context="Streaming" />
   </TranscodingProfiles>
   </TranscodingProfiles>
   <ContainerProfiles />
   <ContainerProfiles />
   <CodecProfiles />
   <CodecProfiles />
   <ResponseProfiles />
   <ResponseProfiles />
+  <SoftSubtitleProfiles />
+  <ExternalSubtitleProfiles />
 </Profile>
 </Profile>

+ 9 - 3
MediaBrowser.Dlna/Profiles/Xml/Panasonic Viera.xml

@@ -45,9 +45,9 @@
     <DirectPlayProfile container="jpeg" type="Photo" />
     <DirectPlayProfile container="jpeg" type="Photo" />
   </DirectPlayProfiles>
   </DirectPlayProfiles>
   <TranscodingProfiles>
   <TranscodingProfiles>
-    <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" />
-    <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="ac3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" />
-    <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" />
+    <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" context="Streaming" />
+    <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="ac3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" context="Streaming" />
+    <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" context="Streaming" />
   </TranscodingProfiles>
   </TranscodingProfiles>
   <ContainerProfiles>
   <ContainerProfiles>
     <ContainerProfile type="Photo">
     <ContainerProfile type="Photo">
@@ -67,4 +67,10 @@
     </CodecProfile>
     </CodecProfile>
   </CodecProfiles>
   </CodecProfiles>
   <ResponseProfiles />
   <ResponseProfiles />
+  <SoftSubtitleProfiles>
+    <SubtitleProfile>
+      <Format>srt</Format>
+    </SubtitleProfile>
+  </SoftSubtitleProfiles>
+  <ExternalSubtitleProfiles />
 </Profile>
 </Profile>

+ 9 - 3
MediaBrowser.Dlna/Profiles/Xml/Samsung Smart TV.xml

@@ -45,9 +45,9 @@
     <DirectPlayProfile container="jpeg" type="Photo" />
     <DirectPlayProfile container="jpeg" type="Photo" />
   </DirectPlayProfiles>
   </DirectPlayProfiles>
   <TranscodingProfiles>
   <TranscodingProfiles>
-    <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" />
-    <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="ac3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" />
-    <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" />
+    <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" context="Streaming" />
+    <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="ac3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" context="Streaming" />
+    <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" context="Streaming" />
   </TranscodingProfiles>
   </TranscodingProfiles>
   <ContainerProfiles>
   <ContainerProfiles>
     <ContainerProfile type="Photo">
     <ContainerProfile type="Photo">
@@ -105,4 +105,10 @@
       <Conditions />
       <Conditions />
     </ResponseProfile>
     </ResponseProfile>
   </ResponseProfiles>
   </ResponseProfiles>
+  <SoftSubtitleProfiles>
+    <SubtitleProfile>
+      <Format>smi</Format>
+    </SubtitleProfile>
+  </SoftSubtitleProfiles>
+  <ExternalSubtitleProfiles />
 </Profile>
 </Profile>

+ 5 - 3
MediaBrowser.Dlna/Profiles/Xml/Sony Blu-ray Player 2013.xml

@@ -43,9 +43,9 @@
     <DirectPlayProfile container="jpeg" type="Photo" />
     <DirectPlayProfile container="jpeg" type="Photo" />
   </DirectPlayProfiles>
   </DirectPlayProfiles>
   <TranscodingProfiles>
   <TranscodingProfiles>
-    <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" />
-    <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="ac3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" />
-    <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" />
+    <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" context="Streaming" />
+    <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="ac3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" context="Streaming" />
+    <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" context="Streaming" />
   </TranscodingProfiles>
   </TranscodingProfiles>
   <ContainerProfiles>
   <ContainerProfiles>
     <ContainerProfile type="Photo">
     <ContainerProfile type="Photo">
@@ -70,4 +70,6 @@
     </CodecProfile>
     </CodecProfile>
   </CodecProfiles>
   </CodecProfiles>
   <ResponseProfiles />
   <ResponseProfiles />
+  <SoftSubtitleProfiles />
+  <ExternalSubtitleProfiles />
 </Profile>
 </Profile>

+ 5 - 3
MediaBrowser.Dlna/Profiles/Xml/Sony Blu-ray Player.xml

@@ -42,9 +42,9 @@
     <DirectPlayProfile container="jpeg" type="Photo" />
     <DirectPlayProfile container="jpeg" type="Photo" />
   </DirectPlayProfiles>
   </DirectPlayProfiles>
   <TranscodingProfiles>
   <TranscodingProfiles>
-    <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" />
-    <TranscodingProfile container="ts" type="Video" videoCodec="mpeg2video" audioCodec="ac3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" />
-    <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" />
+    <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" context="Streaming" />
+    <TranscodingProfile container="ts" type="Video" videoCodec="mpeg2video" audioCodec="ac3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" context="Streaming" />
+    <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" context="Streaming" />
   </TranscodingProfiles>
   </TranscodingProfiles>
   <ContainerProfiles>
   <ContainerProfiles>
     <ContainerProfile type="Photo">
     <ContainerProfile type="Photo">
@@ -98,4 +98,6 @@
       <Conditions />
       <Conditions />
     </ResponseProfile>
     </ResponseProfile>
   </ResponseProfiles>
   </ResponseProfiles>
+  <SoftSubtitleProfiles />
+  <ExternalSubtitleProfiles />
 </Profile>
 </Profile>

+ 5 - 3
MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2010).xml

@@ -40,9 +40,9 @@
     <DirectPlayProfile container="mp3" audioCodec="mp3" type="Audio" />
     <DirectPlayProfile container="mp3" audioCodec="mp3" type="Audio" />
   </DirectPlayProfiles>
   </DirectPlayProfiles>
   <TranscodingProfiles>
   <TranscodingProfiles>
-    <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" />
-    <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="ac3,aac" estimateContentLength="false" enableMpegtsM2TsMode="true" transcodeSeekInfo="Auto" />
-    <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" />
+    <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" context="Streaming" />
+    <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="ac3,aac" estimateContentLength="false" enableMpegtsM2TsMode="true" transcodeSeekInfo="Auto" context="Streaming" />
+    <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" context="Streaming" />
   </TranscodingProfiles>
   </TranscodingProfiles>
   <ContainerProfiles>
   <ContainerProfiles>
     <ContainerProfile type="Photo">
     <ContainerProfile type="Photo">
@@ -106,4 +106,6 @@
       <Conditions />
       <Conditions />
     </ResponseProfile>
     </ResponseProfile>
   </ResponseProfiles>
   </ResponseProfiles>
+  <SoftSubtitleProfiles />
+  <ExternalSubtitleProfiles />
 </Profile>
 </Profile>

+ 5 - 3
MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2011).xml

@@ -43,9 +43,9 @@
     <DirectPlayProfile container="asf" audioCodec="wmav2,wmapro,wmavoice" type="Audio" />
     <DirectPlayProfile container="asf" audioCodec="wmav2,wmapro,wmavoice" type="Audio" />
   </DirectPlayProfiles>
   </DirectPlayProfiles>
   <TranscodingProfiles>
   <TranscodingProfiles>
-    <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" />
-    <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="ac3,aac" estimateContentLength="false" enableMpegtsM2TsMode="true" transcodeSeekInfo="Auto" />
-    <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" />
+    <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" context="Streaming" />
+    <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="ac3,aac" estimateContentLength="false" enableMpegtsM2TsMode="true" transcodeSeekInfo="Auto" context="Streaming" />
+    <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" context="Streaming" />
   </TranscodingProfiles>
   </TranscodingProfiles>
   <ContainerProfiles>
   <ContainerProfiles>
     <ContainerProfile type="Photo">
     <ContainerProfile type="Photo">
@@ -109,4 +109,6 @@
       <Conditions />
       <Conditions />
     </ResponseProfile>
     </ResponseProfile>
   </ResponseProfiles>
   </ResponseProfiles>
+  <SoftSubtitleProfiles />
+  <ExternalSubtitleProfiles />
 </Profile>
 </Profile>

+ 5 - 3
MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2012).xml

@@ -45,9 +45,9 @@
     <DirectPlayProfile container="jpeg" type="Photo" />
     <DirectPlayProfile container="jpeg" type="Photo" />
   </DirectPlayProfiles>
   </DirectPlayProfiles>
   <TranscodingProfiles>
   <TranscodingProfiles>
-    <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" />
-    <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="ac3,aac" estimateContentLength="false" enableMpegtsM2TsMode="true" transcodeSeekInfo="Auto" />
-    <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" />
+    <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" context="Streaming" />
+    <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="ac3,aac" estimateContentLength="false" enableMpegtsM2TsMode="true" transcodeSeekInfo="Auto" context="Streaming" />
+    <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" context="Streaming" />
   </TranscodingProfiles>
   </TranscodingProfiles>
   <ContainerProfiles>
   <ContainerProfiles>
     <ContainerProfile type="Photo">
     <ContainerProfile type="Photo">
@@ -92,4 +92,6 @@
       <Conditions />
       <Conditions />
     </ResponseProfile>
     </ResponseProfile>
   </ResponseProfiles>
   </ResponseProfiles>
+  <SoftSubtitleProfiles />
+  <ExternalSubtitleProfiles />
 </Profile>
 </Profile>

+ 5 - 3
MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2013).xml

@@ -50,9 +50,9 @@
     <DirectPlayProfile container="jpeg" type="Photo" />
     <DirectPlayProfile container="jpeg" type="Photo" />
   </DirectPlayProfiles>
   </DirectPlayProfiles>
   <TranscodingProfiles>
   <TranscodingProfiles>
-    <TranscodingProfile container="mp3" type="Audio" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" />
-    <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="ac3,aac" estimateContentLength="false" enableMpegtsM2TsMode="true" transcodeSeekInfo="Auto" />
-    <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" />
+    <TranscodingProfile container="mp3" type="Audio" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" context="Streaming" />
+    <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="ac3,aac" estimateContentLength="false" enableMpegtsM2TsMode="true" transcodeSeekInfo="Auto" context="Streaming" />
+    <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" context="Streaming" />
   </TranscodingProfiles>
   </TranscodingProfiles>
   <ContainerProfiles>
   <ContainerProfiles>
     <ContainerProfile type="Photo">
     <ContainerProfile type="Photo">
@@ -92,4 +92,6 @@
       <Conditions />
       <Conditions />
     </ResponseProfile>
     </ResponseProfile>
   </ResponseProfiles>
   </ResponseProfiles>
+  <SoftSubtitleProfiles />
+  <ExternalSubtitleProfiles />
 </Profile>
 </Profile>

+ 5 - 3
MediaBrowser.Dlna/Profiles/Xml/Sony PlayStation 3.xml

@@ -36,9 +36,9 @@
     <DirectPlayProfile container="avi,mp4" type="Video" />
     <DirectPlayProfile container="avi,mp4" type="Video" />
   </DirectPlayProfiles>
   </DirectPlayProfiles>
   <TranscodingProfiles>
   <TranscodingProfiles>
-    <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" />
-    <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" />
-    <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" />
+    <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" context="Streaming" />
+    <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" context="Streaming" />
+    <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" context="Streaming" />
   </TranscodingProfiles>
   </TranscodingProfiles>
   <ContainerProfiles>
   <ContainerProfiles>
     <ContainerProfile type="Photo">
     <ContainerProfile type="Photo">
@@ -92,4 +92,6 @@
       <Conditions />
       <Conditions />
     </ResponseProfile>
     </ResponseProfile>
   </ResponseProfiles>
   </ResponseProfiles>
+  <SoftSubtitleProfiles />
+  <ExternalSubtitleProfiles />
 </Profile>
 </Profile>

+ 5 - 3
MediaBrowser.Dlna/Profiles/Xml/WDTV Live.xml

@@ -46,9 +46,9 @@
     <DirectPlayProfile container="jpeg,png,gif,bmp,tiff" type="Photo" />
     <DirectPlayProfile container="jpeg,png,gif,bmp,tiff" type="Photo" />
   </DirectPlayProfiles>
   </DirectPlayProfiles>
   <TranscodingProfiles>
   <TranscodingProfiles>
-    <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" />
-    <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="aac" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" videoProfile="baseline" />
-    <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" />
+    <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" context="Streaming" />
+    <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="aac" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" videoProfile="baseline" context="Streaming" />
+    <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" context="Streaming" />
   </TranscodingProfiles>
   </TranscodingProfiles>
   <ContainerProfiles>
   <ContainerProfiles>
     <ContainerProfile type="Photo">
     <ContainerProfile type="Photo">
@@ -77,4 +77,6 @@
       <Conditions />
       <Conditions />
     </ResponseProfile>
     </ResponseProfile>
   </ResponseProfiles>
   </ResponseProfiles>
+  <SoftSubtitleProfiles />
+  <ExternalSubtitleProfiles />
 </Profile>
 </Profile>

File diff suppressed because it is too large
+ 24 - 0
MediaBrowser.Dlna/Profiles/Xml/Windows 8 RT.xml


File diff suppressed because it is too large
+ 20 - 0
MediaBrowser.Dlna/Profiles/Xml/Windows Phone.xml


+ 5 - 3
MediaBrowser.Dlna/Profiles/Xml/Xbox 360.xml

@@ -40,9 +40,9 @@
     <DirectPlayProfile container="jpeg" type="Photo" />
     <DirectPlayProfile container="jpeg" type="Photo" />
   </DirectPlayProfiles>
   </DirectPlayProfiles>
   <TranscodingProfiles>
   <TranscodingProfiles>
-    <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" />
-    <TranscodingProfile container="asf" type="Video" videoCodec="wmv2" audioCodec="wmav2" estimateContentLength="true" enableMpegtsM2TsMode="false" transcodeSeekInfo="Bytes" />
-    <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" />
+    <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" context="Streaming" />
+    <TranscodingProfile container="asf" type="Video" videoCodec="wmv2" audioCodec="wmav2" estimateContentLength="true" enableMpegtsM2TsMode="false" transcodeSeekInfo="Bytes" context="Streaming" />
+    <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" context="Streaming" />
   </TranscodingProfiles>
   </TranscodingProfiles>
   <ContainerProfiles>
   <ContainerProfiles>
     <ContainerProfile type="Video" container="mp4,mov">
     <ContainerProfile type="Video" container="mp4,mov">
@@ -99,4 +99,6 @@
       <Conditions />
       <Conditions />
     </ResponseProfile>
     </ResponseProfile>
   </ResponseProfiles>
   </ResponseProfiles>
+  <SoftSubtitleProfiles />
+  <ExternalSubtitleProfiles />
 </Profile>
 </Profile>

+ 4 - 2
MediaBrowser.Dlna/Profiles/Xml/Xbox One.xml

@@ -39,8 +39,8 @@
     <DirectPlayProfile container="jpeg" type="Photo" />
     <DirectPlayProfile container="jpeg" type="Photo" />
   </DirectPlayProfiles>
   </DirectPlayProfiles>
   <TranscodingProfiles>
   <TranscodingProfiles>
-    <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" />
-    <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="ac3" estimateContentLength="true" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" />
+    <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" context="Streaming" />
+    <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="ac3" estimateContentLength="true" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" context="Streaming" />
   </TranscodingProfiles>
   </TranscodingProfiles>
   <ContainerProfiles>
   <ContainerProfiles>
     <ContainerProfile type="Video" container="mp4,mov">
     <ContainerProfile type="Video" container="mp4,mov">
@@ -89,4 +89,6 @@
       <Conditions />
       <Conditions />
     </ResponseProfile>
     </ResponseProfile>
   </ResponseProfiles>
   </ResponseProfiles>
+  <SoftSubtitleProfiles />
+  <ExternalSubtitleProfiles />
 </Profile>
 </Profile>

+ 4 - 2
MediaBrowser.Dlna/Profiles/Xml/foobar2000.xml

@@ -38,10 +38,12 @@
     <DirectPlayProfile container="ogg" audioCodec="vorbis" type="Audio" />
     <DirectPlayProfile container="ogg" audioCodec="vorbis" type="Audio" />
   </DirectPlayProfiles>
   </DirectPlayProfiles>
   <TranscodingProfiles>
   <TranscodingProfiles>
-    <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" />
-    <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="aac" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" videoProfile="baseline" />
+    <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" context="Streaming" />
+    <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="aac" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" videoProfile="baseline" context="Streaming" />
   </TranscodingProfiles>
   </TranscodingProfiles>
   <ContainerProfiles />
   <ContainerProfiles />
   <CodecProfiles />
   <CodecProfiles />
   <ResponseProfiles />
   <ResponseProfiles />
+  <SoftSubtitleProfiles />
+  <ExternalSubtitleProfiles />
 </Profile>
 </Profile>

+ 3 - 0
MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj

@@ -269,6 +269,9 @@
     <Compile Include="..\MediaBrowser.Model\Dlna\StreamInfo.cs">
     <Compile Include="..\MediaBrowser.Model\Dlna\StreamInfo.cs">
       <Link>Dlna\StreamInfo.cs</Link>
       <Link>Dlna\StreamInfo.cs</Link>
     </Compile>
     </Compile>
+    <Compile Include="..\MediaBrowser.Model\Dlna\SubtitleProfile.cs">
+      <Link>Dlna\SubtitleProfile.cs</Link>
+    </Compile>
     <Compile Include="..\MediaBrowser.Model\Dlna\TranscodeSeekInfo.cs">
     <Compile Include="..\MediaBrowser.Model\Dlna\TranscodeSeekInfo.cs">
       <Link>Dlna\TranscodeSeekInfo.cs</Link>
       <Link>Dlna\TranscodeSeekInfo.cs</Link>
     </Compile>
     </Compile>

+ 3 - 0
MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj

@@ -232,6 +232,9 @@
     <Compile Include="..\MediaBrowser.Model\Dlna\StreamInfo.cs">
     <Compile Include="..\MediaBrowser.Model\Dlna\StreamInfo.cs">
       <Link>Dlna\StreamInfo.cs</Link>
       <Link>Dlna\StreamInfo.cs</Link>
     </Compile>
     </Compile>
+    <Compile Include="..\MediaBrowser.Model\Dlna\SubtitleProfile.cs">
+      <Link>Dlna\SubtitleProfile.cs</Link>
+    </Compile>
     <Compile Include="..\MediaBrowser.Model\Dlna\TranscodeSeekInfo.cs">
     <Compile Include="..\MediaBrowser.Model\Dlna\TranscodeSeekInfo.cs">
       <Link>Dlna\TranscodeSeekInfo.cs</Link>
       <Link>Dlna\TranscodeSeekInfo.cs</Link>
     </Compile>
     </Compile>

+ 6 - 0
MediaBrowser.Model/Dlna/AudioOptions.cs

@@ -29,5 +29,11 @@ namespace MediaBrowser.Model.Dlna
         /// The application's configured quality setting
         /// The application's configured quality setting
         /// </summary>
         /// </summary>
         public int? MaxBitrate { get; set; }
         public int? MaxBitrate { get; set; }
+
+        /// <summary>
+        /// Gets or sets the context.
+        /// </summary>
+        /// <value>The context.</value>
+        public EncodingContext Context { get; set; }
     }
     }
 }
 }

+ 6 - 0
MediaBrowser.Model/Dlna/DeviceProfile.cs

@@ -89,6 +89,9 @@ namespace MediaBrowser.Model.Dlna
         public CodecProfile[] CodecProfiles { get; set; }
         public CodecProfile[] CodecProfiles { get; set; }
         public ResponseProfile[] ResponseProfiles { get; set; }
         public ResponseProfile[] ResponseProfiles { get; set; }
 
 
+        public SubtitleProfile[] SoftSubtitleProfiles { get; set; }
+        public SubtitleProfile[] ExternalSubtitleProfiles { get; set; }
+      
         public DeviceProfile()
         public DeviceProfile()
         {
         {
             DirectPlayProfiles = new DirectPlayProfile[] { };
             DirectPlayProfiles = new DirectPlayProfile[] { };
@@ -97,6 +100,9 @@ namespace MediaBrowser.Model.Dlna
             CodecProfiles = new CodecProfile[] { };
             CodecProfiles = new CodecProfile[] { };
             ContainerProfiles = new ContainerProfile[] { };
             ContainerProfiles = new ContainerProfile[] { };
 
 
+            SoftSubtitleProfiles = new SubtitleProfile[] { };
+            ExternalSubtitleProfiles = new SubtitleProfile[] { };
+            
             XmlRootAttributes = new XmlAttribute[] { };
             XmlRootAttributes = new XmlAttribute[] { };
             
             
             SupportedMediaTypes = "Audio,Photo,Video";
             SupportedMediaTypes = "Audio,Photo,Video";

+ 2 - 2
MediaBrowser.Model/Dlna/StreamBuilder.cs

@@ -171,7 +171,7 @@ namespace MediaBrowser.Model.Dlna
             TranscodingProfile transcodingProfile = null;
             TranscodingProfile transcodingProfile = null;
             foreach (TranscodingProfile i in options.Profile.TranscodingProfiles)
             foreach (TranscodingProfile i in options.Profile.TranscodingProfiles)
             {
             {
-                if (i.Type == playlistItem.MediaType)
+                if (i.Type == playlistItem.MediaType && i.Context == options.Context)
                 {
                 {
                     transcodingProfile = i;
                     transcodingProfile = i;
                     break;
                     break;
@@ -262,7 +262,7 @@ namespace MediaBrowser.Model.Dlna
             TranscodingProfile transcodingProfile = null;
             TranscodingProfile transcodingProfile = null;
             foreach (TranscodingProfile i in options.Profile.TranscodingProfiles)
             foreach (TranscodingProfile i in options.Profile.TranscodingProfiles)
             {
             {
-                if (i.Type == playlistItem.MediaType)
+                if (i.Type == playlistItem.MediaType && i.Context == options.Context)
                 {
                 {
                     transcodingProfile = i;
                     transcodingProfile = i;
                     break;
                     break;

+ 8 - 0
MediaBrowser.Model/Dlna/SubtitleProfile.cs

@@ -0,0 +1,8 @@
+
+namespace MediaBrowser.Model.Dlna
+{
+    public class SubtitleProfile
+    {
+        public string Format { get; set; }
+    }
+}

+ 9 - 0
MediaBrowser.Model/Dlna/TranscodingProfile.cs

@@ -32,6 +32,9 @@ namespace MediaBrowser.Model.Dlna
         [XmlAttribute("videoProfile")]
         [XmlAttribute("videoProfile")]
         public string VideoProfile { get; set; }
         public string VideoProfile { get; set; }
 
 
+        [XmlAttribute("context")]
+        public EncodingContext Context { get; set; }
+
         public List<string> GetAudioCodecs()
         public List<string> GetAudioCodecs()
         {
         {
             List<string> list = new List<string>();
             List<string> list = new List<string>();
@@ -42,4 +45,10 @@ namespace MediaBrowser.Model.Dlna
             return list;
             return list;
         }
         }
     }
     }
+
+    public enum EncodingContext
+    {
+        Streaming = 0,
+        Static = 1
+    }
 }
 }

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

@@ -89,6 +89,7 @@
     <Compile Include="Configuration\MetadataOptions.cs" />
     <Compile Include="Configuration\MetadataOptions.cs" />
     <Compile Include="Configuration\MetadataPluginSummary.cs" />
     <Compile Include="Configuration\MetadataPluginSummary.cs" />
     <Compile Include="Configuration\MetadataPluginType.cs" />
     <Compile Include="Configuration\MetadataPluginType.cs" />
+    <Compile Include="Dlna\SubtitleProfile.cs" />
     <Compile Include="Notifications\NotificationOption.cs" />
     <Compile Include="Notifications\NotificationOption.cs" />
     <Compile Include="Notifications\NotificationOptions.cs" />
     <Compile Include="Notifications\NotificationOptions.cs" />
     <Compile Include="Notifications\NotificationType.cs" />
     <Compile Include="Notifications\NotificationType.cs" />

+ 1 - 0
MediaBrowser.Model/MediaInfo/SubtitleFormat.cs

@@ -7,5 +7,6 @@
         public const string ASS = "ass";
         public const string ASS = "ass";
         public const string VTT = "vtt";
         public const string VTT = "vtt";
         public const string SUB = "sub";
         public const string SUB = "sub";
+        public const string SMI = "smi";
     }
     }
 }
 }

+ 1 - 1
MediaBrowser.Server.Implementations/Channels/ChannelManager.cs

@@ -63,7 +63,7 @@ namespace MediaBrowser.Server.Implementations.Channels
         {
         {
             get
             get
             {
             {
-                return TimeSpan.FromDays(1);
+                return TimeSpan.FromHours(12);
             }
             }
         }
         }
 
 

+ 83 - 3
MediaBrowser.Server.Implementations/Localization/JavaScript/ar.json

@@ -38,7 +38,6 @@
     "LabelEpisode": "Episode",
     "LabelEpisode": "Episode",
     "LabelSeries": "Series",
     "LabelSeries": "Series",
     "LabelStopping": "Stopping",
     "LabelStopping": "Stopping",
-    "ButtonStop": "Stop",
     "LabelCancelled": "(cancelled)",
     "LabelCancelled": "(cancelled)",
     "LabelFailed": "(failed)",
     "LabelFailed": "(failed)",
     "LabelAbortedByServerShutdown": "(Aborted by server shutdown)",
     "LabelAbortedByServerShutdown": "(Aborted by server shutdown)",
@@ -58,6 +57,7 @@
     "LabelUnknownLanguage": "Unknown language",
     "LabelUnknownLanguage": "Unknown language",
     "ButtonMute": "Mute",
     "ButtonMute": "Mute",
     "ButtonUnmute": "Unmute",
     "ButtonUnmute": "Unmute",
+    "ButtonStop": "Stop",
     "ButtonNextTrack": "Next Track",
     "ButtonNextTrack": "Next Track",
     "ButtonPause": "Pause",
     "ButtonPause": "Pause",
     "ButtonPlay": "Play",
     "ButtonPlay": "Play",
@@ -106,7 +106,6 @@
     "HeaderResetTuner": "Reset Tuner",
     "HeaderResetTuner": "Reset Tuner",
     "MessageConfirmResetTuner": "Are you sure you wish to reset this tuner? Any active players or recordings will be abruptly stopped.",
     "MessageConfirmResetTuner": "Are you sure you wish to reset this tuner? Any active players or recordings will be abruptly stopped.",
     "ButtonCancelSeries": "Cancel Series",
     "ButtonCancelSeries": "Cancel Series",
-    "LabelAllChannels": "All channels",
     "HeaderSeriesRecordings": "Series Recordings",
     "HeaderSeriesRecordings": "Series Recordings",
     "LabelAnytime": "Any time",
     "LabelAnytime": "Any time",
     "StatusRecording": "Recording",
     "StatusRecording": "Recording",
@@ -233,5 +232,86 @@
     "OptionBlockChannelContent": "Internet Channel Content",
     "OptionBlockChannelContent": "Internet Channel Content",
     "ButtonRevoke": "Revoke",
     "ButtonRevoke": "Revoke",
     "MessageConfirmRevokeApiKey": "Are you sure you wish to revoke this api key? The application's connection to Media Browser will be abruptly terminated.",
     "MessageConfirmRevokeApiKey": "Are you sure you wish to revoke this api key? The application's connection to Media Browser will be abruptly terminated.",
-    "HeaderConfirmRevokeApiKey": "Revoke Api Key"
+    "HeaderConfirmRevokeApiKey": "Revoke Api Key",
+    "ValueContainer": "Container: {0}",
+    "ValueAudioCodec": "Audio Codec: {0}",
+    "ValueVideoCodec": "Video Codec: {0}",
+    "ValueCodec": "Codec: {0}",
+    "ValueConditions": "Conditions: {0}",
+    "LabelAll": "All",
+    "HeaderDeleteImage": "Delete Image",
+    "MessageFileNotFound": "File not found.",
+    "MessageFileReadError": "An error occurred reading this file.",
+    "ButtonNextPage": "Next Page",
+    "ButtonPreviousPage": "Previous Page",
+    "ButtonMoveLeft": "Move left",
+    "ButtonMoveRight": "Move right",
+    "ButtonBrowseOnlineImages": "Browse online images",
+    "HeaderDeleteItem": "Delete Item",
+    "ConfirmDeleteItem": "Are you sure you wish to delete this item from your library?",
+    "MessagePleaseEnterNameOrId": "Please enter a name or an external Id.",
+    "MessageValueNotCorrect": "The value entered is not correct. Please try again.",
+    "MessageItemSaved": "Item saved.",
+    "OptionEnded": "Ended",
+    "OptionContinuing": "Continuing",
+    "OptionOff": "\u0627\u064a\u0642\u0627\u0641",
+    "OptionOn": "\u062a\u0634\u063a\u064a\u0644",
+    "HeaderFields": "Fields",
+    "HeaderFieldsHelp": "Slide a field to 'off' to lock it and prevent it's data from being changed.",
+    "HeaderLiveTV": "Live TV",
+    "MissingLocalTrailer": "Missing local trailer.",
+    "MissingPrimaryImage": "Missing primary image.",
+    "MissingBackdropImage": "Missing backdrop image.",
+    "MissingLogoImage": "Missing logo image.",
+    "MissingEpisode": "Missing episode.",
+    "OptionScreenshots": "Screenshots",
+    "OptionBackdrops": "Backdrops",
+    "OptionImages": "Images",
+    "OptionKeywords": "Keywords",
+    "OptionTags": "Tags",
+    "OptionStudios": "Studios",
+    "OptionName": "Name",
+    "OptionOverview": "Overview",
+    "OptionGenres": "Genres",
+    "OptionParentalRating": "Parental Rating",
+    "OptionPeople": "People",
+    "OptionRuntime": "\u0632\u0645\u0646 \u0627\u0644\u062a\u0634\u063a\u064a\u0644",
+    "OptionProductionLocations": "Production Locations",
+    "OptionBirthLocation": "Birth Location",
+    "LabelAllChannels": "All channels",
+    "LabelLiveProgram": "LIVE",
+    "LabelNewProgram": "NEW",
+    "LabelPremiereProgram": "PREMIERE",
+    "HeaderChangeFolderType": "Change Folder Type",
+    "HeaderChangeFolderTypeHelp": "To change the folder type, please remove and rebuild the collection with the new type.",
+    "HeaderAlert": "Alert",
+    "MessagePleaseRestart": "Please restart to finish updating.",
+    "ButtonRestart": "Restart",
+    "MessagePleaseRefreshPage": "Please refresh this page to receive new updates from the server.",
+    "ButtonHide": "Hide",
+    "MessageSettingsSaved": "Settings saved.",
+    "ButtonSignOut": "Sign Out",
+    "ButtonMyProfile": "My Profile",
+    "ButtonMyPreferences": "My Preferences",
+    "MessageBrowserDoesNotSupportWebSockets": "This browser does not support web sockets. For a better experience, try a newer browser such as Chrome, Firefox, IE10+, Safari (iOS) or Opera.",
+    "LabelInstallingPackage": "Installing {0}",
+    "LabelPackageInstallCompleted": "{0} installation completed.",
+    "LabelPackageInstallFailed": "{0} installation failed.",
+    "LabelPackageInstallCancelled": "{0} installation cancelled.",
+    "TabServer": "Server",
+    "TabUsers": "Users",
+    "TabLibrary": "Library",
+    "TabMetadata": "Metadata",
+    "TabDLNA": "DLNA",
+    "TabLiveTV": "Live TV",
+    "TabAutoOrganize": "Auto-Organize",
+    "TabPlugins": "Plugins",
+    "TabAdvanced": "Advanced",
+    "TabHelp": "Help",
+    "TabScheduledTasks": "Scheduled Tasks",
+    "ButtonFullscreen": "Fullscreen",
+    "ButtonAudioTracks": "Audio Tracks",
+    "ButtonSubtitles": "Subtitles",
+    "ButtonScenes": "Scenes",
+    "ButtonQuality": "Quality"
 }
 }

+ 83 - 3
MediaBrowser.Server.Implementations/Localization/JavaScript/ca.json

@@ -38,7 +38,6 @@
     "LabelEpisode": "Episode",
     "LabelEpisode": "Episode",
     "LabelSeries": "Series",
     "LabelSeries": "Series",
     "LabelStopping": "Stopping",
     "LabelStopping": "Stopping",
-    "ButtonStop": "Stop",
     "LabelCancelled": "(cancelled)",
     "LabelCancelled": "(cancelled)",
     "LabelFailed": "(failed)",
     "LabelFailed": "(failed)",
     "LabelAbortedByServerShutdown": "(Aborted by server shutdown)",
     "LabelAbortedByServerShutdown": "(Aborted by server shutdown)",
@@ -58,6 +57,7 @@
     "LabelUnknownLanguage": "Unknown language",
     "LabelUnknownLanguage": "Unknown language",
     "ButtonMute": "Mute",
     "ButtonMute": "Mute",
     "ButtonUnmute": "Unmute",
     "ButtonUnmute": "Unmute",
+    "ButtonStop": "Stop",
     "ButtonNextTrack": "Next Track",
     "ButtonNextTrack": "Next Track",
     "ButtonPause": "Pause",
     "ButtonPause": "Pause",
     "ButtonPlay": "Play",
     "ButtonPlay": "Play",
@@ -106,7 +106,6 @@
     "HeaderResetTuner": "Reset Tuner",
     "HeaderResetTuner": "Reset Tuner",
     "MessageConfirmResetTuner": "Are you sure you wish to reset this tuner? Any active players or recordings will be abruptly stopped.",
     "MessageConfirmResetTuner": "Are you sure you wish to reset this tuner? Any active players or recordings will be abruptly stopped.",
     "ButtonCancelSeries": "Cancel Series",
     "ButtonCancelSeries": "Cancel Series",
-    "LabelAllChannels": "All channels",
     "HeaderSeriesRecordings": "Series Recordings",
     "HeaderSeriesRecordings": "Series Recordings",
     "LabelAnytime": "Any time",
     "LabelAnytime": "Any time",
     "StatusRecording": "Recording",
     "StatusRecording": "Recording",
@@ -233,5 +232,86 @@
     "OptionBlockChannelContent": "Internet Channel Content",
     "OptionBlockChannelContent": "Internet Channel Content",
     "ButtonRevoke": "Revoke",
     "ButtonRevoke": "Revoke",
     "MessageConfirmRevokeApiKey": "Are you sure you wish to revoke this api key? The application's connection to Media Browser will be abruptly terminated.",
     "MessageConfirmRevokeApiKey": "Are you sure you wish to revoke this api key? The application's connection to Media Browser will be abruptly terminated.",
-    "HeaderConfirmRevokeApiKey": "Revoke Api Key"
+    "HeaderConfirmRevokeApiKey": "Revoke Api Key",
+    "ValueContainer": "Container: {0}",
+    "ValueAudioCodec": "Audio Codec: {0}",
+    "ValueVideoCodec": "Video Codec: {0}",
+    "ValueCodec": "Codec: {0}",
+    "ValueConditions": "Conditions: {0}",
+    "LabelAll": "All",
+    "HeaderDeleteImage": "Delete Image",
+    "MessageFileNotFound": "File not found.",
+    "MessageFileReadError": "An error occurred reading this file.",
+    "ButtonNextPage": "Next Page",
+    "ButtonPreviousPage": "Previous Page",
+    "ButtonMoveLeft": "Move left",
+    "ButtonMoveRight": "Move right",
+    "ButtonBrowseOnlineImages": "Browse online images",
+    "HeaderDeleteItem": "Delete Item",
+    "ConfirmDeleteItem": "Are you sure you wish to delete this item from your library?",
+    "MessagePleaseEnterNameOrId": "Please enter a name or an external Id.",
+    "MessageValueNotCorrect": "The value entered is not correct. Please try again.",
+    "MessageItemSaved": "Item saved.",
+    "OptionEnded": "Ended",
+    "OptionContinuing": "Continuing",
+    "OptionOff": "Apagat",
+    "OptionOn": "Enc\u00e8s",
+    "HeaderFields": "Fields",
+    "HeaderFieldsHelp": "Slide a field to 'off' to lock it and prevent it's data from being changed.",
+    "HeaderLiveTV": "Live TV",
+    "MissingLocalTrailer": "Missing local trailer.",
+    "MissingPrimaryImage": "Missing primary image.",
+    "MissingBackdropImage": "Missing backdrop image.",
+    "MissingLogoImage": "Missing logo image.",
+    "MissingEpisode": "Missing episode.",
+    "OptionScreenshots": "Screenshots",
+    "OptionBackdrops": "Backdrops",
+    "OptionImages": "Images",
+    "OptionKeywords": "Keywords",
+    "OptionTags": "Tags",
+    "OptionStudios": "Studios",
+    "OptionName": "Name",
+    "OptionOverview": "Overview",
+    "OptionGenres": "Genres",
+    "OptionParentalRating": "Parental Rating",
+    "OptionPeople": "People",
+    "OptionRuntime": "Runtime",
+    "OptionProductionLocations": "Production Locations",
+    "OptionBirthLocation": "Birth Location",
+    "LabelAllChannels": "All channels",
+    "LabelLiveProgram": "LIVE",
+    "LabelNewProgram": "NEW",
+    "LabelPremiereProgram": "PREMIERE",
+    "HeaderChangeFolderType": "Change Folder Type",
+    "HeaderChangeFolderTypeHelp": "To change the folder type, please remove and rebuild the collection with the new type.",
+    "HeaderAlert": "Alert",
+    "MessagePleaseRestart": "Please restart to finish updating.",
+    "ButtonRestart": "Restart",
+    "MessagePleaseRefreshPage": "Please refresh this page to receive new updates from the server.",
+    "ButtonHide": "Hide",
+    "MessageSettingsSaved": "Settings saved.",
+    "ButtonSignOut": "Sign Out",
+    "ButtonMyProfile": "My Profile",
+    "ButtonMyPreferences": "My Preferences",
+    "MessageBrowserDoesNotSupportWebSockets": "This browser does not support web sockets. For a better experience, try a newer browser such as Chrome, Firefox, IE10+, Safari (iOS) or Opera.",
+    "LabelInstallingPackage": "Installing {0}",
+    "LabelPackageInstallCompleted": "{0} installation completed.",
+    "LabelPackageInstallFailed": "{0} installation failed.",
+    "LabelPackageInstallCancelled": "{0} installation cancelled.",
+    "TabServer": "Server",
+    "TabUsers": "Users",
+    "TabLibrary": "Library",
+    "TabMetadata": "Metadata",
+    "TabDLNA": "DLNA",
+    "TabLiveTV": "Live TV",
+    "TabAutoOrganize": "Auto-Organize",
+    "TabPlugins": "Plugins",
+    "TabAdvanced": "Advanced",
+    "TabHelp": "Help",
+    "TabScheduledTasks": "Scheduled Tasks",
+    "ButtonFullscreen": "Fullscreen",
+    "ButtonAudioTracks": "Audio Tracks",
+    "ButtonSubtitles": "Subtitles",
+    "ButtonScenes": "Scenes",
+    "ButtonQuality": "Quality"
 }
 }

+ 83 - 3
MediaBrowser.Server.Implementations/Localization/JavaScript/cs.json

@@ -38,7 +38,6 @@
     "LabelEpisode": "Epizoda",
     "LabelEpisode": "Epizoda",
     "LabelSeries": "S\u00e9rie",
     "LabelSeries": "S\u00e9rie",
     "LabelStopping": "Stopping",
     "LabelStopping": "Stopping",
-    "ButtonStop": "Stop",
     "LabelCancelled": "(zru\u0161eno)",
     "LabelCancelled": "(zru\u0161eno)",
     "LabelFailed": "(ne\u00fasp\u011b\u0161n\u00e9)",
     "LabelFailed": "(ne\u00fasp\u011b\u0161n\u00e9)",
     "LabelAbortedByServerShutdown": "(Aborted by server shutdown)",
     "LabelAbortedByServerShutdown": "(Aborted by server shutdown)",
@@ -58,6 +57,7 @@
     "LabelUnknownLanguage": "Unknown language",
     "LabelUnknownLanguage": "Unknown language",
     "ButtonMute": "Mute",
     "ButtonMute": "Mute",
     "ButtonUnmute": "Unmute",
     "ButtonUnmute": "Unmute",
+    "ButtonStop": "Stop",
     "ButtonNextTrack": "Next Track",
     "ButtonNextTrack": "Next Track",
     "ButtonPause": "Pause",
     "ButtonPause": "Pause",
     "ButtonPlay": "P\u0159ehr\u00e1t",
     "ButtonPlay": "P\u0159ehr\u00e1t",
@@ -106,7 +106,6 @@
     "HeaderResetTuner": "Reset Tuner",
     "HeaderResetTuner": "Reset Tuner",
     "MessageConfirmResetTuner": "Are you sure you wish to reset this tuner? Any active players or recordings will be abruptly stopped.",
     "MessageConfirmResetTuner": "Are you sure you wish to reset this tuner? Any active players or recordings will be abruptly stopped.",
     "ButtonCancelSeries": "Cancel Series",
     "ButtonCancelSeries": "Cancel Series",
-    "LabelAllChannels": "All channels",
     "HeaderSeriesRecordings": "Series Recordings",
     "HeaderSeriesRecordings": "Series Recordings",
     "LabelAnytime": "Any time",
     "LabelAnytime": "Any time",
     "StatusRecording": "Nahr\u00e1v\u00e1n\u00ed",
     "StatusRecording": "Nahr\u00e1v\u00e1n\u00ed",
@@ -233,5 +232,86 @@
     "OptionBlockChannelContent": "Internet Channel Content",
     "OptionBlockChannelContent": "Internet Channel Content",
     "ButtonRevoke": "Revoke",
     "ButtonRevoke": "Revoke",
     "MessageConfirmRevokeApiKey": "Are you sure you wish to revoke this api key? The application's connection to Media Browser will be abruptly terminated.",
     "MessageConfirmRevokeApiKey": "Are you sure you wish to revoke this api key? The application's connection to Media Browser will be abruptly terminated.",
-    "HeaderConfirmRevokeApiKey": "Revoke Api Key"
+    "HeaderConfirmRevokeApiKey": "Revoke Api Key",
+    "ValueContainer": "Container: {0}",
+    "ValueAudioCodec": "Audio Codec: {0}",
+    "ValueVideoCodec": "Video Codec: {0}",
+    "ValueCodec": "Codec: {0}",
+    "ValueConditions": "Conditions: {0}",
+    "LabelAll": "All",
+    "HeaderDeleteImage": "Delete Image",
+    "MessageFileNotFound": "File not found.",
+    "MessageFileReadError": "An error occurred reading this file.",
+    "ButtonNextPage": "Next Page",
+    "ButtonPreviousPage": "Previous Page",
+    "ButtonMoveLeft": "Move left",
+    "ButtonMoveRight": "Move right",
+    "ButtonBrowseOnlineImages": "Browse online images",
+    "HeaderDeleteItem": "Delete Item",
+    "ConfirmDeleteItem": "Are you sure you wish to delete this item from your library?",
+    "MessagePleaseEnterNameOrId": "Please enter a name or an external Id.",
+    "MessageValueNotCorrect": "The value entered is not correct. Please try again.",
+    "MessageItemSaved": "Item saved.",
+    "OptionEnded": "Ukon\u010deno",
+    "OptionContinuing": "Pokra\u010dov\u00e1n\u00ed",
+    "OptionOff": "Vypnout",
+    "OptionOn": "Zapnout",
+    "HeaderFields": "Fields",
+    "HeaderFieldsHelp": "Slide a field to 'off' to lock it and prevent it's data from being changed.",
+    "HeaderLiveTV": "Live TV",
+    "MissingLocalTrailer": "Missing local trailer.",
+    "MissingPrimaryImage": "Missing primary image.",
+    "MissingBackdropImage": "Missing backdrop image.",
+    "MissingLogoImage": "Missing logo image.",
+    "MissingEpisode": "Missing episode.",
+    "OptionScreenshots": "Screenshots",
+    "OptionBackdrops": "Backdrops",
+    "OptionImages": "Images",
+    "OptionKeywords": "Keywords",
+    "OptionTags": "Tags",
+    "OptionStudios": "Studios",
+    "OptionName": "Name",
+    "OptionOverview": "Overview",
+    "OptionGenres": "Genres",
+    "OptionParentalRating": "Rodi\u010dovsk\u00e9 hodnocen\u00ed",
+    "OptionPeople": "People",
+    "OptionRuntime": "D\u00e9lka",
+    "OptionProductionLocations": "Production Locations",
+    "OptionBirthLocation": "Birth Location",
+    "LabelAllChannels": "All channels",
+    "LabelLiveProgram": "LIVE",
+    "LabelNewProgram": "NEW",
+    "LabelPremiereProgram": "PREMIERE",
+    "HeaderChangeFolderType": "Change Folder Type",
+    "HeaderChangeFolderTypeHelp": "To change the folder type, please remove and rebuild the collection with the new type.",
+    "HeaderAlert": "Alert",
+    "MessagePleaseRestart": "Please restart to finish updating.",
+    "ButtonRestart": "Restart",
+    "MessagePleaseRefreshPage": "Please refresh this page to receive new updates from the server.",
+    "ButtonHide": "Hide",
+    "MessageSettingsSaved": "Settings saved.",
+    "ButtonSignOut": "Sign Out",
+    "ButtonMyProfile": "My Profile",
+    "ButtonMyPreferences": "My Preferences",
+    "MessageBrowserDoesNotSupportWebSockets": "This browser does not support web sockets. For a better experience, try a newer browser such as Chrome, Firefox, IE10+, Safari (iOS) or Opera.",
+    "LabelInstallingPackage": "Installing {0}",
+    "LabelPackageInstallCompleted": "{0} installation completed.",
+    "LabelPackageInstallFailed": "{0} installation failed.",
+    "LabelPackageInstallCancelled": "{0} installation cancelled.",
+    "TabServer": "Server",
+    "TabUsers": "Users",
+    "TabLibrary": "Library",
+    "TabMetadata": "Metadata",
+    "TabDLNA": "DLNA",
+    "TabLiveTV": "Live TV",
+    "TabAutoOrganize": "Auto-Organize",
+    "TabPlugins": "Plugins",
+    "TabAdvanced": "Pokro\u010dil\u00e9",
+    "TabHelp": "Help",
+    "TabScheduledTasks": "Scheduled Tasks",
+    "ButtonFullscreen": "Fullscreen",
+    "ButtonAudioTracks": "Audio Tracks",
+    "ButtonSubtitles": "Titulky",
+    "ButtonScenes": "Sc\u00e9ny",
+    "ButtonQuality": "Quality"
 }
 }

+ 83 - 3
MediaBrowser.Server.Implementations/Localization/JavaScript/da.json

@@ -38,7 +38,6 @@
     "LabelEpisode": "Episode",
     "LabelEpisode": "Episode",
     "LabelSeries": "Series",
     "LabelSeries": "Series",
     "LabelStopping": "Stopping",
     "LabelStopping": "Stopping",
-    "ButtonStop": "Stop",
     "LabelCancelled": "(cancelled)",
     "LabelCancelled": "(cancelled)",
     "LabelFailed": "(failed)",
     "LabelFailed": "(failed)",
     "LabelAbortedByServerShutdown": "(Aborted by server shutdown)",
     "LabelAbortedByServerShutdown": "(Aborted by server shutdown)",
@@ -58,6 +57,7 @@
     "LabelUnknownLanguage": "Unknown language",
     "LabelUnknownLanguage": "Unknown language",
     "ButtonMute": "Mute",
     "ButtonMute": "Mute",
     "ButtonUnmute": "Unmute",
     "ButtonUnmute": "Unmute",
+    "ButtonStop": "Stop",
     "ButtonNextTrack": "Next Track",
     "ButtonNextTrack": "Next Track",
     "ButtonPause": "Pause",
     "ButtonPause": "Pause",
     "ButtonPlay": "Afspil",
     "ButtonPlay": "Afspil",
@@ -106,7 +106,6 @@
     "HeaderResetTuner": "Reset Tuner",
     "HeaderResetTuner": "Reset Tuner",
     "MessageConfirmResetTuner": "Are you sure you wish to reset this tuner? Any active players or recordings will be abruptly stopped.",
     "MessageConfirmResetTuner": "Are you sure you wish to reset this tuner? Any active players or recordings will be abruptly stopped.",
     "ButtonCancelSeries": "Cancel Series",
     "ButtonCancelSeries": "Cancel Series",
-    "LabelAllChannels": "All channels",
     "HeaderSeriesRecordings": "Series Recordings",
     "HeaderSeriesRecordings": "Series Recordings",
     "LabelAnytime": "Any time",
     "LabelAnytime": "Any time",
     "StatusRecording": "Recording",
     "StatusRecording": "Recording",
@@ -233,5 +232,86 @@
     "OptionBlockChannelContent": "Internet Channel Content",
     "OptionBlockChannelContent": "Internet Channel Content",
     "ButtonRevoke": "Revoke",
     "ButtonRevoke": "Revoke",
     "MessageConfirmRevokeApiKey": "Are you sure you wish to revoke this api key? The application's connection to Media Browser will be abruptly terminated.",
     "MessageConfirmRevokeApiKey": "Are you sure you wish to revoke this api key? The application's connection to Media Browser will be abruptly terminated.",
-    "HeaderConfirmRevokeApiKey": "Revoke Api Key"
+    "HeaderConfirmRevokeApiKey": "Revoke Api Key",
+    "ValueContainer": "Container: {0}",
+    "ValueAudioCodec": "Audio Codec: {0}",
+    "ValueVideoCodec": "Video Codec: {0}",
+    "ValueCodec": "Codec: {0}",
+    "ValueConditions": "Conditions: {0}",
+    "LabelAll": "All",
+    "HeaderDeleteImage": "Delete Image",
+    "MessageFileNotFound": "File not found.",
+    "MessageFileReadError": "An error occurred reading this file.",
+    "ButtonNextPage": "Next Page",
+    "ButtonPreviousPage": "Previous Page",
+    "ButtonMoveLeft": "Move left",
+    "ButtonMoveRight": "Move right",
+    "ButtonBrowseOnlineImages": "Browse online images",
+    "HeaderDeleteItem": "Delete Item",
+    "ConfirmDeleteItem": "Are you sure you wish to delete this item from your library?",
+    "MessagePleaseEnterNameOrId": "Please enter a name or an external Id.",
+    "MessageValueNotCorrect": "The value entered is not correct. Please try again.",
+    "MessageItemSaved": "Item saved.",
+    "OptionEnded": "F\u00e6rdig",
+    "OptionContinuing": "Fors\u00e6ttes",
+    "OptionOff": "Off",
+    "OptionOn": "On",
+    "HeaderFields": "Fields",
+    "HeaderFieldsHelp": "Slide a field to 'off' to lock it and prevent it's data from being changed.",
+    "HeaderLiveTV": "Live TV",
+    "MissingLocalTrailer": "Missing local trailer.",
+    "MissingPrimaryImage": "Missing primary image.",
+    "MissingBackdropImage": "Missing backdrop image.",
+    "MissingLogoImage": "Missing logo image.",
+    "MissingEpisode": "Missing episode.",
+    "OptionScreenshots": "Screenshots",
+    "OptionBackdrops": "Backdrops",
+    "OptionImages": "Images",
+    "OptionKeywords": "Keywords",
+    "OptionTags": "Tags",
+    "OptionStudios": "Studios",
+    "OptionName": "Name",
+    "OptionOverview": "Overview",
+    "OptionGenres": "Genres",
+    "OptionParentalRating": "Parental Rating",
+    "OptionPeople": "People",
+    "OptionRuntime": "Varighed",
+    "OptionProductionLocations": "Production Locations",
+    "OptionBirthLocation": "Birth Location",
+    "LabelAllChannels": "All channels",
+    "LabelLiveProgram": "LIVE",
+    "LabelNewProgram": "NEW",
+    "LabelPremiereProgram": "PREMIERE",
+    "HeaderChangeFolderType": "Change Folder Type",
+    "HeaderChangeFolderTypeHelp": "To change the folder type, please remove and rebuild the collection with the new type.",
+    "HeaderAlert": "Alert",
+    "MessagePleaseRestart": "Please restart to finish updating.",
+    "ButtonRestart": "Restart",
+    "MessagePleaseRefreshPage": "Please refresh this page to receive new updates from the server.",
+    "ButtonHide": "Hide",
+    "MessageSettingsSaved": "Settings saved.",
+    "ButtonSignOut": "Sign Out",
+    "ButtonMyProfile": "My Profile",
+    "ButtonMyPreferences": "My Preferences",
+    "MessageBrowserDoesNotSupportWebSockets": "This browser does not support web sockets. For a better experience, try a newer browser such as Chrome, Firefox, IE10+, Safari (iOS) or Opera.",
+    "LabelInstallingPackage": "Installing {0}",
+    "LabelPackageInstallCompleted": "{0} installation completed.",
+    "LabelPackageInstallFailed": "{0} installation failed.",
+    "LabelPackageInstallCancelled": "{0} installation cancelled.",
+    "TabServer": "Server",
+    "TabUsers": "Users",
+    "TabLibrary": "Library",
+    "TabMetadata": "Metadata",
+    "TabDLNA": "DLNA",
+    "TabLiveTV": "Live TV",
+    "TabAutoOrganize": "Auto-Organize",
+    "TabPlugins": "Plugins",
+    "TabAdvanced": "Advanceret",
+    "TabHelp": "Help",
+    "TabScheduledTasks": "Scheduled Tasks",
+    "ButtonFullscreen": "Fullscreen",
+    "ButtonAudioTracks": "Audio Tracks",
+    "ButtonSubtitles": "Undertekster",
+    "ButtonScenes": "Scener",
+    "ButtonQuality": "Quality"
 }
 }

+ 83 - 3
MediaBrowser.Server.Implementations/Localization/JavaScript/de.json

@@ -38,7 +38,6 @@
     "LabelEpisode": "Episode",
     "LabelEpisode": "Episode",
     "LabelSeries": "Serie",
     "LabelSeries": "Serie",
     "LabelStopping": "Stopping",
     "LabelStopping": "Stopping",
-    "ButtonStop": "Stop",
     "LabelCancelled": "(abgebrochen)",
     "LabelCancelled": "(abgebrochen)",
     "LabelFailed": "(fehlgeschlagen)",
     "LabelFailed": "(fehlgeschlagen)",
     "LabelAbortedByServerShutdown": "(Aborted by server shutdown)",
     "LabelAbortedByServerShutdown": "(Aborted by server shutdown)",
@@ -58,6 +57,7 @@
     "LabelUnknownLanguage": "Unbekannte Sprache",
     "LabelUnknownLanguage": "Unbekannte Sprache",
     "ButtonMute": "Stumm",
     "ButtonMute": "Stumm",
     "ButtonUnmute": "Unmute",
     "ButtonUnmute": "Unmute",
+    "ButtonStop": "Stop",
     "ButtonNextTrack": "N\u00e4chster Track",
     "ButtonNextTrack": "N\u00e4chster Track",
     "ButtonPause": "Pause",
     "ButtonPause": "Pause",
     "ButtonPlay": "Abspielen",
     "ButtonPlay": "Abspielen",
@@ -106,7 +106,6 @@
     "HeaderResetTuner": "Tuner zur\u00fccksetzen",
     "HeaderResetTuner": "Tuner zur\u00fccksetzen",
     "MessageConfirmResetTuner": "sind Sie sicher, dass Sie diesen Tuner zur\u00fccksetzen wollen? Alle aktiven Wiedergaben und Aufnahmen werden sofort beendet.",
     "MessageConfirmResetTuner": "sind Sie sicher, dass Sie diesen Tuner zur\u00fccksetzen wollen? Alle aktiven Wiedergaben und Aufnahmen werden sofort beendet.",
     "ButtonCancelSeries": "Cancel Series",
     "ButtonCancelSeries": "Cancel Series",
-    "LabelAllChannels": "Alle Channel",
     "HeaderSeriesRecordings": "Series Recordings",
     "HeaderSeriesRecordings": "Series Recordings",
     "LabelAnytime": "Jederzeit",
     "LabelAnytime": "Jederzeit",
     "StatusRecording": "Aufnehmen",
     "StatusRecording": "Aufnehmen",
@@ -233,5 +232,86 @@
     "OptionBlockChannelContent": "Internet Channel Content",
     "OptionBlockChannelContent": "Internet Channel Content",
     "ButtonRevoke": "Revoke",
     "ButtonRevoke": "Revoke",
     "MessageConfirmRevokeApiKey": "Are you sure you wish to revoke this api key? The application's connection to Media Browser will be abruptly terminated.",
     "MessageConfirmRevokeApiKey": "Are you sure you wish to revoke this api key? The application's connection to Media Browser will be abruptly terminated.",
-    "HeaderConfirmRevokeApiKey": "Revoke Api Key"
+    "HeaderConfirmRevokeApiKey": "Revoke Api Key",
+    "ValueContainer": "Container: {0}",
+    "ValueAudioCodec": "Audio Codec: {0}",
+    "ValueVideoCodec": "Video Codec: {0}",
+    "ValueCodec": "Codec: {0}",
+    "ValueConditions": "Conditions: {0}",
+    "LabelAll": "All",
+    "HeaderDeleteImage": "Delete Image",
+    "MessageFileNotFound": "File not found.",
+    "MessageFileReadError": "An error occurred reading this file.",
+    "ButtonNextPage": "Next Page",
+    "ButtonPreviousPage": "Previous Page",
+    "ButtonMoveLeft": "Move left",
+    "ButtonMoveRight": "Move right",
+    "ButtonBrowseOnlineImages": "Browse online images",
+    "HeaderDeleteItem": "Delete Item",
+    "ConfirmDeleteItem": "Are you sure you wish to delete this item from your library?",
+    "MessagePleaseEnterNameOrId": "Please enter a name or an external Id.",
+    "MessageValueNotCorrect": "The value entered is not correct. Please try again.",
+    "MessageItemSaved": "Item saved.",
+    "OptionEnded": "Beendent",
+    "OptionContinuing": "Fortdauernd",
+    "OptionOff": "Aus",
+    "OptionOn": "Ein",
+    "HeaderFields": "Fields",
+    "HeaderFieldsHelp": "Slide a field to 'off' to lock it and prevent it's data from being changed.",
+    "HeaderLiveTV": "Live TV",
+    "MissingLocalTrailer": "Missing local trailer.",
+    "MissingPrimaryImage": "Missing primary image.",
+    "MissingBackdropImage": "Missing backdrop image.",
+    "MissingLogoImage": "Missing logo image.",
+    "MissingEpisode": "Missing episode.",
+    "OptionScreenshots": "Screenshots",
+    "OptionBackdrops": "Backdrops",
+    "OptionImages": "Images",
+    "OptionKeywords": "Keywords",
+    "OptionTags": "Tags",
+    "OptionStudios": "Studios",
+    "OptionName": "Name",
+    "OptionOverview": "Overview",
+    "OptionGenres": "Genres",
+    "OptionParentalRating": "Altersfreigabe",
+    "OptionPeople": "People",
+    "OptionRuntime": "Dauer",
+    "OptionProductionLocations": "Production Locations",
+    "OptionBirthLocation": "Birth Location",
+    "LabelAllChannels": "Alle Channel",
+    "LabelLiveProgram": "LIVE",
+    "LabelNewProgram": "NEW",
+    "LabelPremiereProgram": "PREMIERE",
+    "HeaderChangeFolderType": "Change Folder Type",
+    "HeaderChangeFolderTypeHelp": "To change the folder type, please remove and rebuild the collection with the new type.",
+    "HeaderAlert": "Alert",
+    "MessagePleaseRestart": "Please restart to finish updating.",
+    "ButtonRestart": "Neu starten",
+    "MessagePleaseRefreshPage": "Please refresh this page to receive new updates from the server.",
+    "ButtonHide": "Hide",
+    "MessageSettingsSaved": "Settings saved.",
+    "ButtonSignOut": "Sign Out",
+    "ButtonMyProfile": "My Profile",
+    "ButtonMyPreferences": "My Preferences",
+    "MessageBrowserDoesNotSupportWebSockets": "This browser does not support web sockets. For a better experience, try a newer browser such as Chrome, Firefox, IE10+, Safari (iOS) or Opera.",
+    "LabelInstallingPackage": "Installing {0}",
+    "LabelPackageInstallCompleted": "{0} installation completed.",
+    "LabelPackageInstallFailed": "{0} installation failed.",
+    "LabelPackageInstallCancelled": "{0} installation cancelled.",
+    "TabServer": "Server",
+    "TabUsers": "Users",
+    "TabLibrary": "Library",
+    "TabMetadata": "Metadata",
+    "TabDLNA": "DLNA",
+    "TabLiveTV": "Live TV",
+    "TabAutoOrganize": "Auto-Organize",
+    "TabPlugins": "Plugins",
+    "TabAdvanced": "Erweitert",
+    "TabHelp": "Help",
+    "TabScheduledTasks": "Scheduled Tasks",
+    "ButtonFullscreen": "Fullscreen",
+    "ButtonAudioTracks": "Audio Tracks",
+    "ButtonSubtitles": "Untertitel",
+    "ButtonScenes": "Szenen",
+    "ButtonQuality": "Quality"
 }
 }

+ 83 - 3
MediaBrowser.Server.Implementations/Localization/JavaScript/el.json

@@ -38,7 +38,6 @@
     "LabelEpisode": "Episode",
     "LabelEpisode": "Episode",
     "LabelSeries": "Series",
     "LabelSeries": "Series",
     "LabelStopping": "Stopping",
     "LabelStopping": "Stopping",
-    "ButtonStop": "Stop",
     "LabelCancelled": "(cancelled)",
     "LabelCancelled": "(cancelled)",
     "LabelFailed": "(failed)",
     "LabelFailed": "(failed)",
     "LabelAbortedByServerShutdown": "(Aborted by server shutdown)",
     "LabelAbortedByServerShutdown": "(Aborted by server shutdown)",
@@ -58,6 +57,7 @@
     "LabelUnknownLanguage": "Unknown language",
     "LabelUnknownLanguage": "Unknown language",
     "ButtonMute": "Mute",
     "ButtonMute": "Mute",
     "ButtonUnmute": "Unmute",
     "ButtonUnmute": "Unmute",
+    "ButtonStop": "Stop",
     "ButtonNextTrack": "Next Track",
     "ButtonNextTrack": "Next Track",
     "ButtonPause": "Pause",
     "ButtonPause": "Pause",
     "ButtonPlay": "Play",
     "ButtonPlay": "Play",
@@ -106,7 +106,6 @@
     "HeaderResetTuner": "Reset Tuner",
     "HeaderResetTuner": "Reset Tuner",
     "MessageConfirmResetTuner": "Are you sure you wish to reset this tuner? Any active players or recordings will be abruptly stopped.",
     "MessageConfirmResetTuner": "Are you sure you wish to reset this tuner? Any active players or recordings will be abruptly stopped.",
     "ButtonCancelSeries": "Cancel Series",
     "ButtonCancelSeries": "Cancel Series",
-    "LabelAllChannels": "All channels",
     "HeaderSeriesRecordings": "Series Recordings",
     "HeaderSeriesRecordings": "Series Recordings",
     "LabelAnytime": "Any time",
     "LabelAnytime": "Any time",
     "StatusRecording": "Recording",
     "StatusRecording": "Recording",
@@ -233,5 +232,86 @@
     "OptionBlockChannelContent": "Internet Channel Content",
     "OptionBlockChannelContent": "Internet Channel Content",
     "ButtonRevoke": "Revoke",
     "ButtonRevoke": "Revoke",
     "MessageConfirmRevokeApiKey": "Are you sure you wish to revoke this api key? The application's connection to Media Browser will be abruptly terminated.",
     "MessageConfirmRevokeApiKey": "Are you sure you wish to revoke this api key? The application's connection to Media Browser will be abruptly terminated.",
-    "HeaderConfirmRevokeApiKey": "Revoke Api Key"
+    "HeaderConfirmRevokeApiKey": "Revoke Api Key",
+    "ValueContainer": "Container: {0}",
+    "ValueAudioCodec": "Audio Codec: {0}",
+    "ValueVideoCodec": "Video Codec: {0}",
+    "ValueCodec": "Codec: {0}",
+    "ValueConditions": "Conditions: {0}",
+    "LabelAll": "All",
+    "HeaderDeleteImage": "Delete Image",
+    "MessageFileNotFound": "File not found.",
+    "MessageFileReadError": "An error occurred reading this file.",
+    "ButtonNextPage": "Next Page",
+    "ButtonPreviousPage": "Previous Page",
+    "ButtonMoveLeft": "Move left",
+    "ButtonMoveRight": "Move right",
+    "ButtonBrowseOnlineImages": "Browse online images",
+    "HeaderDeleteItem": "Delete Item",
+    "ConfirmDeleteItem": "Are you sure you wish to delete this item from your library?",
+    "MessagePleaseEnterNameOrId": "Please enter a name or an external Id.",
+    "MessageValueNotCorrect": "The value entered is not correct. Please try again.",
+    "MessageItemSaved": "Item saved.",
+    "OptionEnded": "Ended",
+    "OptionContinuing": "Continuing",
+    "OptionOff": "\u03c3\u03b2\u03b7\u03c3\u03c4\u03cc\u03c2",
+    "OptionOn": "On",
+    "HeaderFields": "Fields",
+    "HeaderFieldsHelp": "Slide a field to 'off' to lock it and prevent it's data from being changed.",
+    "HeaderLiveTV": "Live TV",
+    "MissingLocalTrailer": "Missing local trailer.",
+    "MissingPrimaryImage": "Missing primary image.",
+    "MissingBackdropImage": "Missing backdrop image.",
+    "MissingLogoImage": "Missing logo image.",
+    "MissingEpisode": "Missing episode.",
+    "OptionScreenshots": "Screenshots",
+    "OptionBackdrops": "Backdrops",
+    "OptionImages": "Images",
+    "OptionKeywords": "Keywords",
+    "OptionTags": "Tags",
+    "OptionStudios": "Studios",
+    "OptionName": "Name",
+    "OptionOverview": "Overview",
+    "OptionGenres": "Genres",
+    "OptionParentalRating": "Parental Rating",
+    "OptionPeople": "People",
+    "OptionRuntime": "Runtime",
+    "OptionProductionLocations": "Production Locations",
+    "OptionBirthLocation": "Birth Location",
+    "LabelAllChannels": "All channels",
+    "LabelLiveProgram": "LIVE",
+    "LabelNewProgram": "NEW",
+    "LabelPremiereProgram": "PREMIERE",
+    "HeaderChangeFolderType": "Change Folder Type",
+    "HeaderChangeFolderTypeHelp": "To change the folder type, please remove and rebuild the collection with the new type.",
+    "HeaderAlert": "Alert",
+    "MessagePleaseRestart": "Please restart to finish updating.",
+    "ButtonRestart": "Restart",
+    "MessagePleaseRefreshPage": "Please refresh this page to receive new updates from the server.",
+    "ButtonHide": "Hide",
+    "MessageSettingsSaved": "Settings saved.",
+    "ButtonSignOut": "Sign Out",
+    "ButtonMyProfile": "My Profile",
+    "ButtonMyPreferences": "My Preferences",
+    "MessageBrowserDoesNotSupportWebSockets": "This browser does not support web sockets. For a better experience, try a newer browser such as Chrome, Firefox, IE10+, Safari (iOS) or Opera.",
+    "LabelInstallingPackage": "Installing {0}",
+    "LabelPackageInstallCompleted": "{0} installation completed.",
+    "LabelPackageInstallFailed": "{0} installation failed.",
+    "LabelPackageInstallCancelled": "{0} installation cancelled.",
+    "TabServer": "Server",
+    "TabUsers": "Users",
+    "TabLibrary": "Library",
+    "TabMetadata": "Metadata",
+    "TabDLNA": "DLNA",
+    "TabLiveTV": "Live TV",
+    "TabAutoOrganize": "Auto-Organize",
+    "TabPlugins": "Plugins",
+    "TabAdvanced": "Advanced",
+    "TabHelp": "Help",
+    "TabScheduledTasks": "Scheduled Tasks",
+    "ButtonFullscreen": "Fullscreen",
+    "ButtonAudioTracks": "Audio Tracks",
+    "ButtonSubtitles": "Subtitles",
+    "ButtonScenes": "Scenes",
+    "ButtonQuality": "Quality"
 }
 }

+ 83 - 3
MediaBrowser.Server.Implementations/Localization/JavaScript/en_GB.json

@@ -38,7 +38,6 @@
     "LabelEpisode": "Episode",
     "LabelEpisode": "Episode",
     "LabelSeries": "Series",
     "LabelSeries": "Series",
     "LabelStopping": "Stopping",
     "LabelStopping": "Stopping",
-    "ButtonStop": "Stop",
     "LabelCancelled": "(cancelled)",
     "LabelCancelled": "(cancelled)",
     "LabelFailed": "(failed)",
     "LabelFailed": "(failed)",
     "LabelAbortedByServerShutdown": "(Aborted by server shutdown)",
     "LabelAbortedByServerShutdown": "(Aborted by server shutdown)",
@@ -58,6 +57,7 @@
     "LabelUnknownLanguage": "Unknown language",
     "LabelUnknownLanguage": "Unknown language",
     "ButtonMute": "Mute",
     "ButtonMute": "Mute",
     "ButtonUnmute": "Unmute",
     "ButtonUnmute": "Unmute",
+    "ButtonStop": "Stop",
     "ButtonNextTrack": "Next Track",
     "ButtonNextTrack": "Next Track",
     "ButtonPause": "Pause",
     "ButtonPause": "Pause",
     "ButtonPlay": "Play",
     "ButtonPlay": "Play",
@@ -106,7 +106,6 @@
     "HeaderResetTuner": "Reset Tuner",
     "HeaderResetTuner": "Reset Tuner",
     "MessageConfirmResetTuner": "Are you sure you wish to reset this tuner? Any active players or recordings will be abruptly stopped.",
     "MessageConfirmResetTuner": "Are you sure you wish to reset this tuner? Any active players or recordings will be abruptly stopped.",
     "ButtonCancelSeries": "Cancel Series",
     "ButtonCancelSeries": "Cancel Series",
-    "LabelAllChannels": "All channels",
     "HeaderSeriesRecordings": "Series Recordings",
     "HeaderSeriesRecordings": "Series Recordings",
     "LabelAnytime": "Any time",
     "LabelAnytime": "Any time",
     "StatusRecording": "Recording",
     "StatusRecording": "Recording",
@@ -233,5 +232,86 @@
     "OptionBlockChannelContent": "Internet Channel Content",
     "OptionBlockChannelContent": "Internet Channel Content",
     "ButtonRevoke": "Revoke",
     "ButtonRevoke": "Revoke",
     "MessageConfirmRevokeApiKey": "Are you sure you wish to revoke this api key? The application's connection to Media Browser will be abruptly terminated.",
     "MessageConfirmRevokeApiKey": "Are you sure you wish to revoke this api key? The application's connection to Media Browser will be abruptly terminated.",
-    "HeaderConfirmRevokeApiKey": "Revoke Api Key"
+    "HeaderConfirmRevokeApiKey": "Revoke Api Key",
+    "ValueContainer": "Container: {0}",
+    "ValueAudioCodec": "Audio Codec: {0}",
+    "ValueVideoCodec": "Video Codec: {0}",
+    "ValueCodec": "Codec: {0}",
+    "ValueConditions": "Conditions: {0}",
+    "LabelAll": "All",
+    "HeaderDeleteImage": "Delete Image",
+    "MessageFileNotFound": "File not found.",
+    "MessageFileReadError": "An error occurred reading this file.",
+    "ButtonNextPage": "Next Page",
+    "ButtonPreviousPage": "Previous Page",
+    "ButtonMoveLeft": "Move left",
+    "ButtonMoveRight": "Move right",
+    "ButtonBrowseOnlineImages": "Browse online images",
+    "HeaderDeleteItem": "Delete Item",
+    "ConfirmDeleteItem": "Are you sure you wish to delete this item from your library?",
+    "MessagePleaseEnterNameOrId": "Please enter a name or an external Id.",
+    "MessageValueNotCorrect": "The value entered is not correct. Please try again.",
+    "MessageItemSaved": "Item saved.",
+    "OptionEnded": "Ended",
+    "OptionContinuing": "Continuing",
+    "OptionOff": "Off",
+    "OptionOn": "On",
+    "HeaderFields": "Fields",
+    "HeaderFieldsHelp": "Slide a field to 'off' to lock it and prevent it's data from being changed.",
+    "HeaderLiveTV": "Live TV",
+    "MissingLocalTrailer": "Missing local trailer.",
+    "MissingPrimaryImage": "Missing primary image.",
+    "MissingBackdropImage": "Missing backdrop image.",
+    "MissingLogoImage": "Missing logo image.",
+    "MissingEpisode": "Missing episode.",
+    "OptionScreenshots": "Screenshots",
+    "OptionBackdrops": "Backdrops",
+    "OptionImages": "Images",
+    "OptionKeywords": "Keywords",
+    "OptionTags": "Tags",
+    "OptionStudios": "Studios",
+    "OptionName": "Name",
+    "OptionOverview": "Overview",
+    "OptionGenres": "Genres",
+    "OptionParentalRating": "Parental Rating",
+    "OptionPeople": "People",
+    "OptionRuntime": "Runtime",
+    "OptionProductionLocations": "Production Locations",
+    "OptionBirthLocation": "Birth Location",
+    "LabelAllChannels": "All channels",
+    "LabelLiveProgram": "LIVE",
+    "LabelNewProgram": "NEW",
+    "LabelPremiereProgram": "PREMIERE",
+    "HeaderChangeFolderType": "Change Folder Type",
+    "HeaderChangeFolderTypeHelp": "To change the folder type, please remove and rebuild the collection with the new type.",
+    "HeaderAlert": "Alert",
+    "MessagePleaseRestart": "Please restart to finish updating.",
+    "ButtonRestart": "Restart",
+    "MessagePleaseRefreshPage": "Please refresh this page to receive new updates from the server.",
+    "ButtonHide": "Hide",
+    "MessageSettingsSaved": "Settings saved.",
+    "ButtonSignOut": "Sign Out",
+    "ButtonMyProfile": "My Profile",
+    "ButtonMyPreferences": "My Preferences",
+    "MessageBrowserDoesNotSupportWebSockets": "This browser does not support web sockets. For a better experience, try a newer browser such as Chrome, Firefox, IE10+, Safari (iOS) or Opera.",
+    "LabelInstallingPackage": "Installing {0}",
+    "LabelPackageInstallCompleted": "{0} installation completed.",
+    "LabelPackageInstallFailed": "{0} installation failed.",
+    "LabelPackageInstallCancelled": "{0} installation cancelled.",
+    "TabServer": "Server",
+    "TabUsers": "Users",
+    "TabLibrary": "Library",
+    "TabMetadata": "Metadata",
+    "TabDLNA": "DLNA",
+    "TabLiveTV": "Live TV",
+    "TabAutoOrganize": "Auto-Organize",
+    "TabPlugins": "Plugins",
+    "TabAdvanced": "Advanced",
+    "TabHelp": "Help",
+    "TabScheduledTasks": "Scheduled Tasks",
+    "ButtonFullscreen": "Fullscreen",
+    "ButtonAudioTracks": "Audio Tracks",
+    "ButtonSubtitles": "Subtitles",
+    "ButtonScenes": "Scenes",
+    "ButtonQuality": "Quality"
 }
 }

+ 83 - 3
MediaBrowser.Server.Implementations/Localization/JavaScript/en_US.json

@@ -38,7 +38,6 @@
     "LabelEpisode": "Episode",
     "LabelEpisode": "Episode",
     "LabelSeries": "Series",
     "LabelSeries": "Series",
     "LabelStopping": "Stopping",
     "LabelStopping": "Stopping",
-    "ButtonStop": "Stop",
     "LabelCancelled": "(cancelled)",
     "LabelCancelled": "(cancelled)",
     "LabelFailed": "(failed)",
     "LabelFailed": "(failed)",
     "LabelAbortedByServerShutdown": "(Aborted by server shutdown)",
     "LabelAbortedByServerShutdown": "(Aborted by server shutdown)",
@@ -58,6 +57,7 @@
     "LabelUnknownLanguage": "Unknown language",
     "LabelUnknownLanguage": "Unknown language",
     "ButtonMute": "Mute",
     "ButtonMute": "Mute",
     "ButtonUnmute": "Unmute",
     "ButtonUnmute": "Unmute",
+    "ButtonStop": "Stop",
     "ButtonNextTrack": "Next Track",
     "ButtonNextTrack": "Next Track",
     "ButtonPause": "Pause",
     "ButtonPause": "Pause",
     "ButtonPlay": "Play",
     "ButtonPlay": "Play",
@@ -106,7 +106,6 @@
     "HeaderResetTuner": "Reset Tuner",
     "HeaderResetTuner": "Reset Tuner",
     "MessageConfirmResetTuner": "Are you sure you wish to reset this tuner? Any active players or recordings will be abruptly stopped.",
     "MessageConfirmResetTuner": "Are you sure you wish to reset this tuner? Any active players or recordings will be abruptly stopped.",
     "ButtonCancelSeries": "Cancel Series",
     "ButtonCancelSeries": "Cancel Series",
-    "LabelAllChannels": "All channels",
     "HeaderSeriesRecordings": "Series Recordings",
     "HeaderSeriesRecordings": "Series Recordings",
     "LabelAnytime": "Any time",
     "LabelAnytime": "Any time",
     "StatusRecording": "Recording",
     "StatusRecording": "Recording",
@@ -233,5 +232,86 @@
     "OptionBlockChannelContent": "Internet Channel Content",
     "OptionBlockChannelContent": "Internet Channel Content",
     "ButtonRevoke": "Revoke",
     "ButtonRevoke": "Revoke",
     "MessageConfirmRevokeApiKey": "Are you sure you wish to revoke this api key? The application's connection to Media Browser will be abruptly terminated.",
     "MessageConfirmRevokeApiKey": "Are you sure you wish to revoke this api key? The application's connection to Media Browser will be abruptly terminated.",
-    "HeaderConfirmRevokeApiKey": "Revoke Api Key"
+    "HeaderConfirmRevokeApiKey": "Revoke Api Key",
+    "ValueContainer": "Container: {0}",
+    "ValueAudioCodec": "Audio Codec: {0}",
+    "ValueVideoCodec": "Video Codec: {0}",
+    "ValueCodec": "Codec: {0}",
+    "ValueConditions": "Conditions: {0}",
+    "LabelAll": "All",
+    "HeaderDeleteImage": "Delete Image",
+    "MessageFileNotFound": "File not found.",
+    "MessageFileReadError": "An error occurred reading this file.",
+    "ButtonNextPage": "Next Page",
+    "ButtonPreviousPage": "Previous Page",
+    "ButtonMoveLeft": "Move left",
+    "ButtonMoveRight": "Move right",
+    "ButtonBrowseOnlineImages": "Browse online images",
+    "HeaderDeleteItem": "Delete Item",
+    "ConfirmDeleteItem": "Are you sure you wish to delete this item from your library?",
+    "MessagePleaseEnterNameOrId": "Please enter a name or an external Id.",
+    "MessageValueNotCorrect": "The value entered is not correct. Please try again.",
+    "MessageItemSaved": "Item saved.",
+    "OptionEnded": "Ended",
+    "OptionContinuing": "Continuing",
+    "OptionOff": "Off",
+    "OptionOn": "On",
+    "HeaderFields": "Fields",
+    "HeaderFieldsHelp": "Slide a field to 'off' to lock it and prevent it's data from being changed.",
+    "HeaderLiveTV": "Live TV",
+    "MissingLocalTrailer": "Missing local trailer.",
+    "MissingPrimaryImage": "Missing primary image.",
+    "MissingBackdropImage": "Missing backdrop image.",
+    "MissingLogoImage": "Missing logo image.",
+    "MissingEpisode": "Missing episode.",
+    "OptionScreenshots": "Screenshots",
+    "OptionBackdrops": "Backdrops",
+    "OptionImages": "Images",
+    "OptionKeywords": "Keywords",
+    "OptionTags": "Tags",
+    "OptionStudios": "Studios",
+    "OptionName": "Name",
+    "OptionOverview": "Overview",
+    "OptionGenres": "Genres",
+    "OptionParentalRating": "Parental Rating",
+    "OptionPeople": "People",
+    "OptionRuntime": "Runtime",
+    "OptionProductionLocations": "Production Locations",
+    "OptionBirthLocation": "Birth Location",
+    "LabelAllChannels": "All channels",
+    "LabelLiveProgram": "LIVE",
+    "LabelNewProgram": "NEW",
+    "LabelPremiereProgram": "PREMIERE",
+    "HeaderChangeFolderType": "Change Folder Type",
+    "HeaderChangeFolderTypeHelp": "To change the folder type, please remove and rebuild the collection with the new type.",
+    "HeaderAlert": "Alert",
+    "MessagePleaseRestart": "Please restart to finish updating.",
+    "ButtonRestart": "Restart",
+    "MessagePleaseRefreshPage": "Please refresh this page to receive new updates from the server.",
+    "ButtonHide": "Hide",
+    "MessageSettingsSaved": "Settings saved.",
+    "ButtonSignOut": "Sign Out",
+    "ButtonMyProfile": "My Profile",
+    "ButtonMyPreferences": "My Preferences",
+    "MessageBrowserDoesNotSupportWebSockets": "This browser does not support web sockets. For a better experience, try a newer browser such as Chrome, Firefox, IE10+, Safari (iOS) or Opera.",
+    "LabelInstallingPackage": "Installing {0}",
+    "LabelPackageInstallCompleted": "{0} installation completed.",
+    "LabelPackageInstallFailed": "{0} installation failed.",
+    "LabelPackageInstallCancelled": "{0} installation cancelled.",
+    "TabServer": "Server",
+    "TabUsers": "Users",
+    "TabLibrary": "Library",
+    "TabMetadata": "Metadata",
+    "TabDLNA": "DLNA",
+    "TabLiveTV": "Live TV",
+    "TabAutoOrganize": "Auto-Organize",
+    "TabPlugins": "Plugins",
+    "TabAdvanced": "Advanced",
+    "TabHelp": "Help",
+    "TabScheduledTasks": "Scheduled Tasks",
+    "ButtonFullscreen": "Fullscreen",
+    "ButtonAudioTracks": "Audio Tracks",
+    "ButtonSubtitles": "Subtitles",
+    "ButtonScenes": "Scenes",
+    "ButtonQuality": "Quality"
 }
 }

+ 83 - 3
MediaBrowser.Server.Implementations/Localization/JavaScript/es.json

@@ -38,7 +38,6 @@
     "LabelEpisode": "Episodio",
     "LabelEpisode": "Episodio",
     "LabelSeries": "Series",
     "LabelSeries": "Series",
     "LabelStopping": "Deteniendo",
     "LabelStopping": "Deteniendo",
-    "ButtonStop": "Detener",
     "LabelCancelled": "(cancelado)",
     "LabelCancelled": "(cancelado)",
     "LabelFailed": "(fracasado)",
     "LabelFailed": "(fracasado)",
     "LabelAbortedByServerShutdown": "(Abortado por cierre del servidor)",
     "LabelAbortedByServerShutdown": "(Abortado por cierre del servidor)",
@@ -58,6 +57,7 @@
     "LabelUnknownLanguage": "Idioma desconocido",
     "LabelUnknownLanguage": "Idioma desconocido",
     "ButtonMute": "Silencio",
     "ButtonMute": "Silencio",
     "ButtonUnmute": "Activar audio",
     "ButtonUnmute": "Activar audio",
+    "ButtonStop": "Detener",
     "ButtonNextTrack": "Pista siguiente",
     "ButtonNextTrack": "Pista siguiente",
     "ButtonPause": "Pausa",
     "ButtonPause": "Pausa",
     "ButtonPlay": "Reproducir",
     "ButtonPlay": "Reproducir",
@@ -106,7 +106,6 @@
     "HeaderResetTuner": "Reinicio del sintonizador",
     "HeaderResetTuner": "Reinicio del sintonizador",
     "MessageConfirmResetTuner": "\u00bfEst\u00e1 seguro que desea reiniciar este sintonizador? Cualquier reproducci\u00f3n o grabaci\u00f3n activa se detendr\u00e1 inmediatamente.",
     "MessageConfirmResetTuner": "\u00bfEst\u00e1 seguro que desea reiniciar este sintonizador? Cualquier reproducci\u00f3n o grabaci\u00f3n activa se detendr\u00e1 inmediatamente.",
     "ButtonCancelSeries": "Cancelar serie",
     "ButtonCancelSeries": "Cancelar serie",
-    "LabelAllChannels": "Todos los canales",
     "HeaderSeriesRecordings": "Grabaciones de series",
     "HeaderSeriesRecordings": "Grabaciones de series",
     "LabelAnytime": "A cualquier hora",
     "LabelAnytime": "A cualquier hora",
     "StatusRecording": "Grabando",
     "StatusRecording": "Grabando",
@@ -233,5 +232,86 @@
     "OptionBlockChannelContent": "Contenido de canales de Internet",
     "OptionBlockChannelContent": "Contenido de canales de Internet",
     "ButtonRevoke": "Revocar",
     "ButtonRevoke": "Revocar",
     "MessageConfirmRevokeApiKey": "Are you sure you wish to revoke this api key? The application's connection to Media Browser will be abruptly terminated.",
     "MessageConfirmRevokeApiKey": "Are you sure you wish to revoke this api key? The application's connection to Media Browser will be abruptly terminated.",
-    "HeaderConfirmRevokeApiKey": "Revoke Api Key"
+    "HeaderConfirmRevokeApiKey": "Revoke Api Key",
+    "ValueContainer": "Container: {0}",
+    "ValueAudioCodec": "Audio Codec: {0}",
+    "ValueVideoCodec": "Video Codec: {0}",
+    "ValueCodec": "Codec: {0}",
+    "ValueConditions": "Conditions: {0}",
+    "LabelAll": "All",
+    "HeaderDeleteImage": "Delete Image",
+    "MessageFileNotFound": "File not found.",
+    "MessageFileReadError": "An error occurred reading this file.",
+    "ButtonNextPage": "Next Page",
+    "ButtonPreviousPage": "Previous Page",
+    "ButtonMoveLeft": "Move left",
+    "ButtonMoveRight": "Move right",
+    "ButtonBrowseOnlineImages": "Browse online images",
+    "HeaderDeleteItem": "Delete Item",
+    "ConfirmDeleteItem": "Are you sure you wish to delete this item from your library?",
+    "MessagePleaseEnterNameOrId": "Please enter a name or an external Id.",
+    "MessageValueNotCorrect": "The value entered is not correct. Please try again.",
+    "MessageItemSaved": "Item saved.",
+    "OptionEnded": "Finalizado",
+    "OptionContinuing": "Continuando",
+    "OptionOff": "Apagado",
+    "OptionOn": "Encendido",
+    "HeaderFields": "Fields",
+    "HeaderFieldsHelp": "Slide a field to 'off' to lock it and prevent it's data from being changed.",
+    "HeaderLiveTV": "Live TV",
+    "MissingLocalTrailer": "Missing local trailer.",
+    "MissingPrimaryImage": "Missing primary image.",
+    "MissingBackdropImage": "Missing backdrop image.",
+    "MissingLogoImage": "Missing logo image.",
+    "MissingEpisode": "Missing episode.",
+    "OptionScreenshots": "Screenshots",
+    "OptionBackdrops": "Backdrops",
+    "OptionImages": "Images",
+    "OptionKeywords": "Keywords",
+    "OptionTags": "Tags",
+    "OptionStudios": "Studios",
+    "OptionName": "Name",
+    "OptionOverview": "Overview",
+    "OptionGenres": "Genres",
+    "OptionParentalRating": "Clasificaci\u00f3n parental",
+    "OptionPeople": "People",
+    "OptionRuntime": "Tiempo",
+    "OptionProductionLocations": "Production Locations",
+    "OptionBirthLocation": "Birth Location",
+    "LabelAllChannels": "Todos los canales",
+    "LabelLiveProgram": "LIVE",
+    "LabelNewProgram": "NEW",
+    "LabelPremiereProgram": "PREMIERE",
+    "HeaderChangeFolderType": "Change Folder Type",
+    "HeaderChangeFolderTypeHelp": "To change the folder type, please remove and rebuild the collection with the new type.",
+    "HeaderAlert": "Alert",
+    "MessagePleaseRestart": "Please restart to finish updating.",
+    "ButtonRestart": "Reiniciar",
+    "MessagePleaseRefreshPage": "Please refresh this page to receive new updates from the server.",
+    "ButtonHide": "Hide",
+    "MessageSettingsSaved": "Settings saved.",
+    "ButtonSignOut": "Sign Out",
+    "ButtonMyProfile": "My Profile",
+    "ButtonMyPreferences": "My Preferences",
+    "MessageBrowserDoesNotSupportWebSockets": "This browser does not support web sockets. For a better experience, try a newer browser such as Chrome, Firefox, IE10+, Safari (iOS) or Opera.",
+    "LabelInstallingPackage": "Installing {0}",
+    "LabelPackageInstallCompleted": "{0} installation completed.",
+    "LabelPackageInstallFailed": "{0} installation failed.",
+    "LabelPackageInstallCancelled": "{0} installation cancelled.",
+    "TabServer": "Servidor",
+    "TabUsers": "Users",
+    "TabLibrary": "Library",
+    "TabMetadata": "Metadata",
+    "TabDLNA": "DLNA",
+    "TabLiveTV": "Live TV",
+    "TabAutoOrganize": "Auto-Organize",
+    "TabPlugins": "Plugins",
+    "TabAdvanced": "Avanzado",
+    "TabHelp": "Help",
+    "TabScheduledTasks": "Scheduled Tasks",
+    "ButtonFullscreen": "Fullscreen",
+    "ButtonAudioTracks": "Audio Tracks",
+    "ButtonSubtitles": "Subt\u00edtulos",
+    "ButtonScenes": "Escenas",
+    "ButtonQuality": "Quality"
 }
 }

+ 83 - 3
MediaBrowser.Server.Implementations/Localization/JavaScript/es_MX.json

@@ -38,7 +38,6 @@
     "LabelEpisode": "Episodio",
     "LabelEpisode": "Episodio",
     "LabelSeries": "Series",
     "LabelSeries": "Series",
     "LabelStopping": "Deteniendo",
     "LabelStopping": "Deteniendo",
-    "ButtonStop": "Detener",
     "LabelCancelled": "(cancelado)",
     "LabelCancelled": "(cancelado)",
     "LabelFailed": "(fall\u00f3)",
     "LabelFailed": "(fall\u00f3)",
     "LabelAbortedByServerShutdown": "(Abortada por apagado del servidor)",
     "LabelAbortedByServerShutdown": "(Abortada por apagado del servidor)",
@@ -58,6 +57,7 @@
     "LabelUnknownLanguage": "Idioma Desconocido",
     "LabelUnknownLanguage": "Idioma Desconocido",
     "ButtonMute": "Mudo",
     "ButtonMute": "Mudo",
     "ButtonUnmute": "Quitar mudo",
     "ButtonUnmute": "Quitar mudo",
+    "ButtonStop": "Detener",
     "ButtonNextTrack": "Pista Siguiente",
     "ButtonNextTrack": "Pista Siguiente",
     "ButtonPause": "Pausar",
     "ButtonPause": "Pausar",
     "ButtonPlay": "Reproducir",
     "ButtonPlay": "Reproducir",
@@ -106,7 +106,6 @@
     "HeaderResetTuner": "Resetear Sintonizador",
     "HeaderResetTuner": "Resetear Sintonizador",
     "MessageConfirmResetTuner": "\u00bfEstas seguro de que deseas restablecer las configuraciones de este sintonizador? Cualquier reproducci\u00f3n o grabaci\u00f3n sera interrumpida abruptamente.",
     "MessageConfirmResetTuner": "\u00bfEstas seguro de que deseas restablecer las configuraciones de este sintonizador? Cualquier reproducci\u00f3n o grabaci\u00f3n sera interrumpida abruptamente.",
     "ButtonCancelSeries": "Cancelar Series",
     "ButtonCancelSeries": "Cancelar Series",
-    "LabelAllChannels": "Todos los canales",
     "HeaderSeriesRecordings": "Grabaciones de Series",
     "HeaderSeriesRecordings": "Grabaciones de Series",
     "LabelAnytime": "Cuando sea",
     "LabelAnytime": "Cuando sea",
     "StatusRecording": "Grabando",
     "StatusRecording": "Grabando",
@@ -233,5 +232,86 @@
     "OptionBlockChannelContent": "Contenido de Canales de Internet",
     "OptionBlockChannelContent": "Contenido de Canales de Internet",
     "ButtonRevoke": "Revocar",
     "ButtonRevoke": "Revocar",
     "MessageConfirmRevokeApiKey": "\u00bfEst\u00e1 seguro de querer revocar esta llave de API?",
     "MessageConfirmRevokeApiKey": "\u00bfEst\u00e1 seguro de querer revocar esta llave de API?",
-    "HeaderConfirmRevokeApiKey": "Revocar llave de API"
+    "HeaderConfirmRevokeApiKey": "Revocar llave de API",
+    "ValueContainer": "Container: {0}",
+    "ValueAudioCodec": "Audio Codec: {0}",
+    "ValueVideoCodec": "Video Codec: {0}",
+    "ValueCodec": "Codec: {0}",
+    "ValueConditions": "Conditions: {0}",
+    "LabelAll": "All",
+    "HeaderDeleteImage": "Delete Image",
+    "MessageFileNotFound": "File not found.",
+    "MessageFileReadError": "An error occurred reading this file.",
+    "ButtonNextPage": "Next Page",
+    "ButtonPreviousPage": "Previous Page",
+    "ButtonMoveLeft": "Move left",
+    "ButtonMoveRight": "Move right",
+    "ButtonBrowseOnlineImages": "Browse online images",
+    "HeaderDeleteItem": "Delete Item",
+    "ConfirmDeleteItem": "Are you sure you wish to delete this item from your library?",
+    "MessagePleaseEnterNameOrId": "Please enter a name or an external Id.",
+    "MessageValueNotCorrect": "The value entered is not correct. Please try again.",
+    "MessageItemSaved": "Item saved.",
+    "OptionEnded": "Finalizado",
+    "OptionContinuing": "Continuando",
+    "OptionOff": "No",
+    "OptionOn": "Si",
+    "HeaderFields": "Fields",
+    "HeaderFieldsHelp": "Slide a field to 'off' to lock it and prevent it's data from being changed.",
+    "HeaderLiveTV": "Live TV",
+    "MissingLocalTrailer": "Missing local trailer.",
+    "MissingPrimaryImage": "Missing primary image.",
+    "MissingBackdropImage": "Missing backdrop image.",
+    "MissingLogoImage": "Missing logo image.",
+    "MissingEpisode": "Missing episode.",
+    "OptionScreenshots": "Screenshots",
+    "OptionBackdrops": "Backdrops",
+    "OptionImages": "Images",
+    "OptionKeywords": "Keywords",
+    "OptionTags": "Tags",
+    "OptionStudios": "Studios",
+    "OptionName": "Name",
+    "OptionOverview": "Overview",
+    "OptionGenres": "Genres",
+    "OptionParentalRating": "Clasificaci\u00f3n Parental",
+    "OptionPeople": "People",
+    "OptionRuntime": "Duraci\u00f3n",
+    "OptionProductionLocations": "Production Locations",
+    "OptionBirthLocation": "Birth Location",
+    "LabelAllChannels": "Todos los canales",
+    "LabelLiveProgram": "LIVE",
+    "LabelNewProgram": "NEW",
+    "LabelPremiereProgram": "PREMIERE",
+    "HeaderChangeFolderType": "Change Folder Type",
+    "HeaderChangeFolderTypeHelp": "To change the folder type, please remove and rebuild the collection with the new type.",
+    "HeaderAlert": "Alert",
+    "MessagePleaseRestart": "Please restart to finish updating.",
+    "ButtonRestart": "Reiniciar",
+    "MessagePleaseRefreshPage": "Please refresh this page to receive new updates from the server.",
+    "ButtonHide": "Hide",
+    "MessageSettingsSaved": "Settings saved.",
+    "ButtonSignOut": "Sign Out",
+    "ButtonMyProfile": "My Profile",
+    "ButtonMyPreferences": "My Preferences",
+    "MessageBrowserDoesNotSupportWebSockets": "This browser does not support web sockets. For a better experience, try a newer browser such as Chrome, Firefox, IE10+, Safari (iOS) or Opera.",
+    "LabelInstallingPackage": "Installing {0}",
+    "LabelPackageInstallCompleted": "{0} installation completed.",
+    "LabelPackageInstallFailed": "{0} installation failed.",
+    "LabelPackageInstallCancelled": "{0} installation cancelled.",
+    "TabServer": "Servidor",
+    "TabUsers": "Users",
+    "TabLibrary": "Library",
+    "TabMetadata": "Metadatos",
+    "TabDLNA": "DLNA",
+    "TabLiveTV": "Live TV",
+    "TabAutoOrganize": "Auto-Organize",
+    "TabPlugins": "Plugins",
+    "TabAdvanced": "Avanzado",
+    "TabHelp": "Help",
+    "TabScheduledTasks": "Scheduled Tasks",
+    "ButtonFullscreen": "Fullscreen",
+    "ButtonAudioTracks": "Audio Tracks",
+    "ButtonSubtitles": "Subt\u00edtulos",
+    "ButtonScenes": "Escenas",
+    "ButtonQuality": "Quality"
 }
 }

+ 83 - 3
MediaBrowser.Server.Implementations/Localization/JavaScript/fr.json

@@ -38,7 +38,6 @@
     "LabelEpisode": "\u00c9pisode",
     "LabelEpisode": "\u00c9pisode",
     "LabelSeries": "S\u00e9ries",
     "LabelSeries": "S\u00e9ries",
     "LabelStopping": "En cours d'arr\u00eat",
     "LabelStopping": "En cours d'arr\u00eat",
-    "ButtonStop": "Arr\u00eat",
     "LabelCancelled": "(annull\u00e9)",
     "LabelCancelled": "(annull\u00e9)",
     "LabelFailed": "(\u00e9chou\u00e9)",
     "LabelFailed": "(\u00e9chou\u00e9)",
     "LabelAbortedByServerShutdown": "(Annul\u00e9 par fermeture du serveur)",
     "LabelAbortedByServerShutdown": "(Annul\u00e9 par fermeture du serveur)",
@@ -58,6 +57,7 @@
     "LabelUnknownLanguage": "Langue inconnue",
     "LabelUnknownLanguage": "Langue inconnue",
     "ButtonMute": "Sourdine",
     "ButtonMute": "Sourdine",
     "ButtonUnmute": "D\u00e9sactiver sourdine",
     "ButtonUnmute": "D\u00e9sactiver sourdine",
+    "ButtonStop": "Arr\u00eat",
     "ButtonNextTrack": "Piste suivante",
     "ButtonNextTrack": "Piste suivante",
     "ButtonPause": "Pause",
     "ButtonPause": "Pause",
     "ButtonPlay": "Lire",
     "ButtonPlay": "Lire",
@@ -106,7 +106,6 @@
     "HeaderResetTuner": "Red\u00e9marrer tuner",
     "HeaderResetTuner": "Red\u00e9marrer tuner",
     "MessageConfirmResetTuner": "Are you sure you wish to reset this tuner? Any active players or recordings will be abruptly stopped.",
     "MessageConfirmResetTuner": "Are you sure you wish to reset this tuner? Any active players or recordings will be abruptly stopped.",
     "ButtonCancelSeries": "Annuler s\u00e9ries",
     "ButtonCancelSeries": "Annuler s\u00e9ries",
-    "LabelAllChannels": "Toutes les cha\u00eenes",
     "HeaderSeriesRecordings": "Enregistrements de s\u00e9ries",
     "HeaderSeriesRecordings": "Enregistrements de s\u00e9ries",
     "LabelAnytime": "N'importe quelle heure",
     "LabelAnytime": "N'importe quelle heure",
     "StatusRecording": "En cours d'enregistrement",
     "StatusRecording": "En cours d'enregistrement",
@@ -233,5 +232,86 @@
     "OptionBlockChannelContent": "Internet Channel Content",
     "OptionBlockChannelContent": "Internet Channel Content",
     "ButtonRevoke": "Revoke",
     "ButtonRevoke": "Revoke",
     "MessageConfirmRevokeApiKey": "Are you sure you wish to revoke this api key? The application's connection to Media Browser will be abruptly terminated.",
     "MessageConfirmRevokeApiKey": "Are you sure you wish to revoke this api key? The application's connection to Media Browser will be abruptly terminated.",
-    "HeaderConfirmRevokeApiKey": "Revoke Api Key"
+    "HeaderConfirmRevokeApiKey": "Revoke Api Key",
+    "ValueContainer": "Container: {0}",
+    "ValueAudioCodec": "Audio Codec: {0}",
+    "ValueVideoCodec": "Video Codec: {0}",
+    "ValueCodec": "Codec: {0}",
+    "ValueConditions": "Conditions: {0}",
+    "LabelAll": "All",
+    "HeaderDeleteImage": "Delete Image",
+    "MessageFileNotFound": "File not found.",
+    "MessageFileReadError": "An error occurred reading this file.",
+    "ButtonNextPage": "Next Page",
+    "ButtonPreviousPage": "Previous Page",
+    "ButtonMoveLeft": "Move left",
+    "ButtonMoveRight": "Move right",
+    "ButtonBrowseOnlineImages": "Browse online images",
+    "HeaderDeleteItem": "Delete Item",
+    "ConfirmDeleteItem": "Are you sure you wish to delete this item from your library?",
+    "MessagePleaseEnterNameOrId": "Please enter a name or an external Id.",
+    "MessageValueNotCorrect": "The value entered is not correct. Please try again.",
+    "MessageItemSaved": "Item saved.",
+    "OptionEnded": "Termin\u00e9",
+    "OptionContinuing": "En cours",
+    "OptionOff": "Off",
+    "OptionOn": "On",
+    "HeaderFields": "Fields",
+    "HeaderFieldsHelp": "Slide a field to 'off' to lock it and prevent it's data from being changed.",
+    "HeaderLiveTV": "Live TV",
+    "MissingLocalTrailer": "Missing local trailer.",
+    "MissingPrimaryImage": "Missing primary image.",
+    "MissingBackdropImage": "Missing backdrop image.",
+    "MissingLogoImage": "Missing logo image.",
+    "MissingEpisode": "Missing episode.",
+    "OptionScreenshots": "Screenshots",
+    "OptionBackdrops": "Backdrops",
+    "OptionImages": "Images",
+    "OptionKeywords": "Keywords",
+    "OptionTags": "Tags",
+    "OptionStudios": "Studios",
+    "OptionName": "Name",
+    "OptionOverview": "Overview",
+    "OptionGenres": "Genres",
+    "OptionParentalRating": "Note d'\u00e9valuation de contr\u00f4le parental",
+    "OptionPeople": "People",
+    "OptionRuntime": "Dur\u00e9e",
+    "OptionProductionLocations": "Production Locations",
+    "OptionBirthLocation": "Birth Location",
+    "LabelAllChannels": "Toutes les cha\u00eenes",
+    "LabelLiveProgram": "LIVE",
+    "LabelNewProgram": "NEW",
+    "LabelPremiereProgram": "PREMIERE",
+    "HeaderChangeFolderType": "Change Folder Type",
+    "HeaderChangeFolderTypeHelp": "To change the folder type, please remove and rebuild the collection with the new type.",
+    "HeaderAlert": "Alert",
+    "MessagePleaseRestart": "Please restart to finish updating.",
+    "ButtonRestart": "Red\u00e9marrer",
+    "MessagePleaseRefreshPage": "Please refresh this page to receive new updates from the server.",
+    "ButtonHide": "Hide",
+    "MessageSettingsSaved": "Settings saved.",
+    "ButtonSignOut": "Sign Out",
+    "ButtonMyProfile": "My Profile",
+    "ButtonMyPreferences": "My Preferences",
+    "MessageBrowserDoesNotSupportWebSockets": "This browser does not support web sockets. For a better experience, try a newer browser such as Chrome, Firefox, IE10+, Safari (iOS) or Opera.",
+    "LabelInstallingPackage": "Installing {0}",
+    "LabelPackageInstallCompleted": "{0} installation completed.",
+    "LabelPackageInstallFailed": "{0} installation failed.",
+    "LabelPackageInstallCancelled": "{0} installation cancelled.",
+    "TabServer": "Serveur",
+    "TabUsers": "Users",
+    "TabLibrary": "Library",
+    "TabMetadata": "M\u00e9tadonn\u00e9es",
+    "TabDLNA": "DLNA",
+    "TabLiveTV": "Live TV",
+    "TabAutoOrganize": "Auto-Organize",
+    "TabPlugins": "Plugins",
+    "TabAdvanced": "Avanc\u00e9",
+    "TabHelp": "Help",
+    "TabScheduledTasks": "Scheduled Tasks",
+    "ButtonFullscreen": "Fullscreen",
+    "ButtonAudioTracks": "Audio Tracks",
+    "ButtonSubtitles": "Sous-titres",
+    "ButtonScenes": "Sc\u00e8nes",
+    "ButtonQuality": "Quality"
 }
 }

+ 83 - 3
MediaBrowser.Server.Implementations/Localization/JavaScript/he.json

@@ -38,7 +38,6 @@
     "LabelEpisode": "Episode",
     "LabelEpisode": "Episode",
     "LabelSeries": "Series",
     "LabelSeries": "Series",
     "LabelStopping": "Stopping",
     "LabelStopping": "Stopping",
-    "ButtonStop": "Stop",
     "LabelCancelled": "(cancelled)",
     "LabelCancelled": "(cancelled)",
     "LabelFailed": "(failed)",
     "LabelFailed": "(failed)",
     "LabelAbortedByServerShutdown": "(Aborted by server shutdown)",
     "LabelAbortedByServerShutdown": "(Aborted by server shutdown)",
@@ -58,6 +57,7 @@
     "LabelUnknownLanguage": "Unknown language",
     "LabelUnknownLanguage": "Unknown language",
     "ButtonMute": "Mute",
     "ButtonMute": "Mute",
     "ButtonUnmute": "Unmute",
     "ButtonUnmute": "Unmute",
+    "ButtonStop": "Stop",
     "ButtonNextTrack": "Next Track",
     "ButtonNextTrack": "Next Track",
     "ButtonPause": "Pause",
     "ButtonPause": "Pause",
     "ButtonPlay": "\u05e0\u05d2\u05df",
     "ButtonPlay": "\u05e0\u05d2\u05df",
@@ -106,7 +106,6 @@
     "HeaderResetTuner": "Reset Tuner",
     "HeaderResetTuner": "Reset Tuner",
     "MessageConfirmResetTuner": "Are you sure you wish to reset this tuner? Any active players or recordings will be abruptly stopped.",
     "MessageConfirmResetTuner": "Are you sure you wish to reset this tuner? Any active players or recordings will be abruptly stopped.",
     "ButtonCancelSeries": "Cancel Series",
     "ButtonCancelSeries": "Cancel Series",
-    "LabelAllChannels": "All channels",
     "HeaderSeriesRecordings": "Series Recordings",
     "HeaderSeriesRecordings": "Series Recordings",
     "LabelAnytime": "Any time",
     "LabelAnytime": "Any time",
     "StatusRecording": "Recording",
     "StatusRecording": "Recording",
@@ -233,5 +232,86 @@
     "OptionBlockChannelContent": "Internet Channel Content",
     "OptionBlockChannelContent": "Internet Channel Content",
     "ButtonRevoke": "Revoke",
     "ButtonRevoke": "Revoke",
     "MessageConfirmRevokeApiKey": "Are you sure you wish to revoke this api key? The application's connection to Media Browser will be abruptly terminated.",
     "MessageConfirmRevokeApiKey": "Are you sure you wish to revoke this api key? The application's connection to Media Browser will be abruptly terminated.",
-    "HeaderConfirmRevokeApiKey": "Revoke Api Key"
+    "HeaderConfirmRevokeApiKey": "Revoke Api Key",
+    "ValueContainer": "Container: {0}",
+    "ValueAudioCodec": "Audio Codec: {0}",
+    "ValueVideoCodec": "Video Codec: {0}",
+    "ValueCodec": "Codec: {0}",
+    "ValueConditions": "Conditions: {0}",
+    "LabelAll": "All",
+    "HeaderDeleteImage": "Delete Image",
+    "MessageFileNotFound": "File not found.",
+    "MessageFileReadError": "An error occurred reading this file.",
+    "ButtonNextPage": "Next Page",
+    "ButtonPreviousPage": "Previous Page",
+    "ButtonMoveLeft": "Move left",
+    "ButtonMoveRight": "Move right",
+    "ButtonBrowseOnlineImages": "Browse online images",
+    "HeaderDeleteItem": "Delete Item",
+    "ConfirmDeleteItem": "Are you sure you wish to delete this item from your library?",
+    "MessagePleaseEnterNameOrId": "Please enter a name or an external Id.",
+    "MessageValueNotCorrect": "The value entered is not correct. Please try again.",
+    "MessageItemSaved": "Item saved.",
+    "OptionEnded": "\u05d4\u05e1\u05ea\u05d9\u05d9\u05dd",
+    "OptionContinuing": "\u05de\u05de\u05e9\u05d9\u05da",
+    "OptionOff": "\u05db\u05d1\u05d5\u05d9",
+    "OptionOn": "\u05e4\u05d5\u05e2\u05dc",
+    "HeaderFields": "Fields",
+    "HeaderFieldsHelp": "Slide a field to 'off' to lock it and prevent it's data from being changed.",
+    "HeaderLiveTV": "Live TV",
+    "MissingLocalTrailer": "Missing local trailer.",
+    "MissingPrimaryImage": "Missing primary image.",
+    "MissingBackdropImage": "Missing backdrop image.",
+    "MissingLogoImage": "Missing logo image.",
+    "MissingEpisode": "Missing episode.",
+    "OptionScreenshots": "Screenshots",
+    "OptionBackdrops": "Backdrops",
+    "OptionImages": "Images",
+    "OptionKeywords": "Keywords",
+    "OptionTags": "Tags",
+    "OptionStudios": "Studios",
+    "OptionName": "Name",
+    "OptionOverview": "Overview",
+    "OptionGenres": "Genres",
+    "OptionParentalRating": "\u05d3\u05d9\u05e8\u05d5\u05d2 \u05d1\u05e7\u05e8\u05ea \u05d4\u05d5\u05e8\u05d9\u05dd",
+    "OptionPeople": "People",
+    "OptionRuntime": "\u05de\u05e9\u05da",
+    "OptionProductionLocations": "Production Locations",
+    "OptionBirthLocation": "Birth Location",
+    "LabelAllChannels": "All channels",
+    "LabelLiveProgram": "LIVE",
+    "LabelNewProgram": "NEW",
+    "LabelPremiereProgram": "PREMIERE",
+    "HeaderChangeFolderType": "Change Folder Type",
+    "HeaderChangeFolderTypeHelp": "To change the folder type, please remove and rebuild the collection with the new type.",
+    "HeaderAlert": "Alert",
+    "MessagePleaseRestart": "Please restart to finish updating.",
+    "ButtonRestart": "\u05d4\u05ea\u05d7\u05e8 \u05de\u05d7\u05d3\u05e9",
+    "MessagePleaseRefreshPage": "Please refresh this page to receive new updates from the server.",
+    "ButtonHide": "Hide",
+    "MessageSettingsSaved": "Settings saved.",
+    "ButtonSignOut": "Sign Out",
+    "ButtonMyProfile": "My Profile",
+    "ButtonMyPreferences": "My Preferences",
+    "MessageBrowserDoesNotSupportWebSockets": "This browser does not support web sockets. For a better experience, try a newer browser such as Chrome, Firefox, IE10+, Safari (iOS) or Opera.",
+    "LabelInstallingPackage": "Installing {0}",
+    "LabelPackageInstallCompleted": "{0} installation completed.",
+    "LabelPackageInstallFailed": "{0} installation failed.",
+    "LabelPackageInstallCancelled": "{0} installation cancelled.",
+    "TabServer": "\u05e9\u05e8\u05ea",
+    "TabUsers": "Users",
+    "TabLibrary": "Library",
+    "TabMetadata": "Metadata",
+    "TabDLNA": "DLNA",
+    "TabLiveTV": "Live TV",
+    "TabAutoOrganize": "Auto-Organize",
+    "TabPlugins": "Plugins",
+    "TabAdvanced": "\u05de\u05ea\u05e7\u05d3\u05dd",
+    "TabHelp": "Help",
+    "TabScheduledTasks": "Scheduled Tasks",
+    "ButtonFullscreen": "Fullscreen",
+    "ButtonAudioTracks": "Audio Tracks",
+    "ButtonSubtitles": "Subtitles",
+    "ButtonScenes": "Scenes",
+    "ButtonQuality": "Quality"
 }
 }

+ 83 - 3
MediaBrowser.Server.Implementations/Localization/JavaScript/it.json

@@ -38,7 +38,6 @@
     "LabelEpisode": "Episodio",
     "LabelEpisode": "Episodio",
     "LabelSeries": "Serie",
     "LabelSeries": "Serie",
     "LabelStopping": "Sto fermando",
     "LabelStopping": "Sto fermando",
-    "ButtonStop": "Stop",
     "LabelCancelled": "(cancellato)",
     "LabelCancelled": "(cancellato)",
     "LabelFailed": "(fallito)",
     "LabelFailed": "(fallito)",
     "LabelAbortedByServerShutdown": "(Interrotto dalla chiusura del server)",
     "LabelAbortedByServerShutdown": "(Interrotto dalla chiusura del server)",
@@ -58,6 +57,7 @@
     "LabelUnknownLanguage": "(linguaggio sconosciuto)",
     "LabelUnknownLanguage": "(linguaggio sconosciuto)",
     "ButtonMute": "Muto",
     "ButtonMute": "Muto",
     "ButtonUnmute": "Togli muto",
     "ButtonUnmute": "Togli muto",
+    "ButtonStop": "Stop",
     "ButtonNextTrack": "Prossimo",
     "ButtonNextTrack": "Prossimo",
     "ButtonPause": "Pausa",
     "ButtonPause": "Pausa",
     "ButtonPlay": "Riproduci",
     "ButtonPlay": "Riproduci",
@@ -106,7 +106,6 @@
     "HeaderResetTuner": "Riavvia Scheda TV",
     "HeaderResetTuner": "Riavvia Scheda TV",
     "MessageConfirmResetTuner": "Sei sicuro di voler ripristinare questo sintonizzatore? Tutti i giocatori attivi o registrazioni saranno bruscamente fermato.",
     "MessageConfirmResetTuner": "Sei sicuro di voler ripristinare questo sintonizzatore? Tutti i giocatori attivi o registrazioni saranno bruscamente fermato.",
     "ButtonCancelSeries": "Serie cancellate",
     "ButtonCancelSeries": "Serie cancellate",
-    "LabelAllChannels": "Tutti i canali",
     "HeaderSeriesRecordings": "Serie registrate",
     "HeaderSeriesRecordings": "Serie registrate",
     "LabelAnytime": "Qualsiasi ora",
     "LabelAnytime": "Qualsiasi ora",
     "StatusRecording": "Registrazione",
     "StatusRecording": "Registrazione",
@@ -233,5 +232,86 @@
     "OptionBlockChannelContent": "Internet Channel Content",
     "OptionBlockChannelContent": "Internet Channel Content",
     "ButtonRevoke": "Revoke",
     "ButtonRevoke": "Revoke",
     "MessageConfirmRevokeApiKey": "Are you sure you wish to revoke this api key? The application's connection to Media Browser will be abruptly terminated.",
     "MessageConfirmRevokeApiKey": "Are you sure you wish to revoke this api key? The application's connection to Media Browser will be abruptly terminated.",
-    "HeaderConfirmRevokeApiKey": "Revoke Api Key"
+    "HeaderConfirmRevokeApiKey": "Revoke Api Key",
+    "ValueContainer": "Container: {0}",
+    "ValueAudioCodec": "Audio Codec: {0}",
+    "ValueVideoCodec": "Video Codec: {0}",
+    "ValueCodec": "Codec: {0}",
+    "ValueConditions": "Conditions: {0}",
+    "LabelAll": "All",
+    "HeaderDeleteImage": "Delete Image",
+    "MessageFileNotFound": "File not found.",
+    "MessageFileReadError": "An error occurred reading this file.",
+    "ButtonNextPage": "Next Page",
+    "ButtonPreviousPage": "Previous Page",
+    "ButtonMoveLeft": "Move left",
+    "ButtonMoveRight": "Move right",
+    "ButtonBrowseOnlineImages": "Browse online images",
+    "HeaderDeleteItem": "Delete Item",
+    "ConfirmDeleteItem": "Are you sure you wish to delete this item from your library?",
+    "MessagePleaseEnterNameOrId": "Please enter a name or an external Id.",
+    "MessageValueNotCorrect": "The value entered is not correct. Please try again.",
+    "MessageItemSaved": "Item saved.",
+    "OptionEnded": "Finito",
+    "OptionContinuing": "In corso",
+    "OptionOff": "Off",
+    "OptionOn": "On",
+    "HeaderFields": "Fields",
+    "HeaderFieldsHelp": "Slide a field to 'off' to lock it and prevent it's data from being changed.",
+    "HeaderLiveTV": "Live TV",
+    "MissingLocalTrailer": "Missing local trailer.",
+    "MissingPrimaryImage": "Missing primary image.",
+    "MissingBackdropImage": "Missing backdrop image.",
+    "MissingLogoImage": "Missing logo image.",
+    "MissingEpisode": "Missing episode.",
+    "OptionScreenshots": "Screenshots",
+    "OptionBackdrops": "Backdrops",
+    "OptionImages": "Images",
+    "OptionKeywords": "Keywords",
+    "OptionTags": "Tags",
+    "OptionStudios": "Studios",
+    "OptionName": "Name",
+    "OptionOverview": "Overview",
+    "OptionGenres": "Genres",
+    "OptionParentalRating": "Voto Genitori",
+    "OptionPeople": "People",
+    "OptionRuntime": "Durata",
+    "OptionProductionLocations": "Production Locations",
+    "OptionBirthLocation": "Birth Location",
+    "LabelAllChannels": "Tutti i canali",
+    "LabelLiveProgram": "LIVE",
+    "LabelNewProgram": "NEW",
+    "LabelPremiereProgram": "PREMIERE",
+    "HeaderChangeFolderType": "Change Folder Type",
+    "HeaderChangeFolderTypeHelp": "To change the folder type, please remove and rebuild the collection with the new type.",
+    "HeaderAlert": "Alert",
+    "MessagePleaseRestart": "Please restart to finish updating.",
+    "ButtonRestart": "Riavvia",
+    "MessagePleaseRefreshPage": "Please refresh this page to receive new updates from the server.",
+    "ButtonHide": "Hide",
+    "MessageSettingsSaved": "Settings saved.",
+    "ButtonSignOut": "Sign Out",
+    "ButtonMyProfile": "My Profile",
+    "ButtonMyPreferences": "My Preferences",
+    "MessageBrowserDoesNotSupportWebSockets": "This browser does not support web sockets. For a better experience, try a newer browser such as Chrome, Firefox, IE10+, Safari (iOS) or Opera.",
+    "LabelInstallingPackage": "Installing {0}",
+    "LabelPackageInstallCompleted": "{0} installation completed.",
+    "LabelPackageInstallFailed": "{0} installation failed.",
+    "LabelPackageInstallCancelled": "{0} installation cancelled.",
+    "TabServer": "Server",
+    "TabUsers": "Users",
+    "TabLibrary": "Library",
+    "TabMetadata": "Metadata",
+    "TabDLNA": "DLNA",
+    "TabLiveTV": "Live TV",
+    "TabAutoOrganize": "Auto-Organize",
+    "TabPlugins": "Plugins",
+    "TabAdvanced": "Avanzato",
+    "TabHelp": "Help",
+    "TabScheduledTasks": "Scheduled Tasks",
+    "ButtonFullscreen": "Fullscreen",
+    "ButtonAudioTracks": "Audio Tracks",
+    "ButtonSubtitles": "Sottotitoli",
+    "ButtonScenes": "Scene",
+    "ButtonQuality": "Quality"
 }
 }

+ 321 - 238
MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json

@@ -1,240 +1,323 @@
 {
 {
     "SettingsSaved": "Settings saved.",
     "SettingsSaved": "Settings saved.",
-	"AddUser": "Add User",
-	"Users": "Users",
-	"Delete": "Delete",
-	"Administrator": "Administrator",
-	"Password": "Password",
-	"DeleteImage": "Delete Image",
-	"DeleteImageConfirmation": "Are you sure you wish to delete this image?",
-	"FileReadCancelled": "The file read has been canceled.",
-	"FileNotFound": "File not found.",
-	"FileReadError": "An error occurred while reading the file.",
-	"DeleteUser": "Delete User",
-	"DeleteUserConfirmation": "Are you sure you wish to delete {0}?",
-	"PasswordResetHeader": "Password Reset",
-	"PasswordResetComplete": "The password has been reset.",
-	"PasswordResetConfirmation": "Are you sure you wish to reset the password?",
-	"PasswordSaved": "Password saved.",
-	"PasswordMatchError": "Password and password confirmation must match.",
-	"OptionRelease": "Official Release",
-	"OptionBeta": "Beta",
-	"OptionDev": "Dev (Unstable)",
-	"UninstallPluginHeader": "Uninstall Plugin",
-	"UninstallPluginConfirmation": "Are you sure you wish to uninstall {0}?",
-	"NoPluginConfigurationMessage": "This plugin has nothing to configure.",
-	"NoPluginsInstalledMessage": "You have no plugins installed.",
-	"BrowsePluginCatalogMessage": "Browse our plugin catalog to view available plugins.",
-	"MessageKeyEmailedTo": "Key emailed to {0}.",
-	"MessageKeysLinked": "Keys linked.",
-	"HeaderConfirmation": "Confirmation",
-	"MessageKeyUpdated": "Thank you. Your supporter key has been updated.",
-	"MessageKeyRemoved": "Thank you. Your supporter key has been removed.",
-	"ErrorLaunchingChromecast": "There was an error launching chromecast. Please ensure your device is connected to your wireless network.",
-	"HeaderSearch": "Search",
-	"LabelArtist": "Artist",
-	"LabelMovie": "Movie",
-	"LabelMusicVideo": "Music Video",
-	"LabelEpisode": "Episode",
-	"LabelSeries": "Series",
-	"LabelStopping": "Stopping",
-	"ButtonStop": "Stop",
-	"LabelCancelled": "(cancelled)",
-	"LabelFailed": "(failed)",
-	"LabelAbortedByServerShutdown": "(Aborted by server shutdown)",
-	"LabelScheduledTaskLastRan": "Last ran {0}, taking {1}.",
-	"HeaderDeleteTaskTrigger": "Delete Task Trigger",
-	"HeaderTaskTriggers": "Task Triggers",
-	"MessageDeleteTaskTrigger": "Are you sure you wish to delete this task trigger?",
-	"MessageNoPluginsInstalled": "You have no plugins installed.",
-	"LabelVersionInstalled": "{0} installed",
-	"LabelNumberReviews": "{0} Reviews",
-	"LabelFree": "Free",
-	"HeaderSelectAudio": "Select Audio",
-	"HeaderSelectSubtitles": "Select Subtitles",
-	"LabelDefaultStream": "(Default)",
-	"LabelForcedStream": "(Forced)",
-	"LabelDefaultForcedStream": "(Default/Forced)",
-	"LabelUnknownLanguage": "Unknown language",
-	"ButtonMute": "Mute",
-	"ButtonUnmute": "Unmute",
-	"ButtonStop": "Stop",
-	"ButtonNextTrack": "Next Track",
-	"ButtonPause": "Pause",
-	"ButtonPlay": "Play",
-	"ButtonEdit": "Edit",
-	"ButtonQueue": "Queue",
-	"ButtonPlayTrailer": "Play trailer",
-	"ButtonPlaylist": "Playlist",
-	"ButtonPreviousTrack": "Previous Track",
-	"LabelEnabled": "Enabled",
-	"LabelDisabled": "Disabled",
-	"ButtonMoreInformation": "More Information",
-	"LabelNoUnreadNotifications": "No unread notifications.",
-	"ButtonViewNotifications": "View notifications",
-	"ButtonMarkTheseRead": "Mark these read",
-	"ButtonClose": "Close",
-	"LabelAllPlaysSentToPlayer": "All plays will be sent to the selected player.",
-	"MessageInvalidUser": "Invalid user or password.",
-	"HeaderAllRecordings": "All Recordings",
-	"RecommendationBecauseYouLike": "Because you like {0}",
-	"RecommendationBecauseYouWatched": "Because you watched {0}",
-	"RecommendationDirectedBy": "Directed by {0}",
-	"RecommendationStarring": "Starring {0}",
-	"HeaderConfirmRecordingCancellation": "Confirm Recording Cancellation",
-	"MessageConfirmRecordingCancellation": "Are you sure you wish to cancel this recording?",
-	"MessageRecordingCancelled": "Recording cancelled.",
-	"HeaderConfirmSeriesCancellation": "Confirm Series Cancellation",
-	"MessageConfirmSeriesCancellation": "Are you sure you wish to cancel this series?",
-	"MessageSeriesCancelled": "Series cancelled.",
-	"HeaderConfirmRecordingDeletion": "Confirm Recording Deletion",
-	"MessageConfirmRecordingDeletion": "Are you sure you wish to delete this recording?",
-	"MessageRecordingDeleted": "Recording deleted.",
-	"ButonCancelRecording": "Cancel Recording",
-	"MessageRecordingSaved": "Recording saved.",
-	"OptionSunday": "Sunday",
-	"OptionMonday": "Monday",
-	"OptionTuesday": "Tuesday",
-	"OptionWednesday": "Wednesday",
-	"OptionThursday": "Thursday",
-	"OptionFriday": "Friday",
-	"OptionSaturday": "Saturday",
-	"HeaderConfirmDeletion": "Confirm Deletion",
-	"MessageConfirmPathSubstitutionDeletion": "Are you sure you wish to delete this path substitution?",
-	"LiveTvUpdateAvailable": "(Update available)",
-	"LabelVersionUpToDate": "Up to date!",
-	"ButtonResetTuner": "Reset tuner",
-	"HeaderResetTuner": "Reset Tuner",
-	"MessageConfirmResetTuner": "Are you sure you wish to reset this tuner? Any active players or recordings will be abruptly stopped.",
-	"ButtonCancelSeries": "Cancel Series",
-	"LabelAllChannels": "All channels",
-	"HeaderSeriesRecordings": "Series Recordings",
-	"LabelAnytime": "Any time",
-	"StatusRecording": "Recording",
-	"StatusWatching": "Watching",
-	"StatusRecordingProgram": "Recording {0}",
-	"StatusWatchingProgram": "Watching {0}",
-	"HeaderSplitMedia": "Split Media Apart",
-	"MessageConfirmSplitMedia": "Are you sure you wish to split the media sources into separate items?",
-	"HeaderError": "Error",
-	"MessagePleaseSelectOneItem": "Please select at least one item.",
-	"MessagePleaseSelectTwoItems": "Please select at least two items.",
-	"MessageTheFollowingItemsWillBeGrouped": "The following titles will be grouped into one item:",
-	"MessageConfirmItemGrouping": "Media Browser clients will automatically choose the optimal version to play based on device and network performance. Are you sure you wish to continue?",
-	"HeaderResume": "Resume",
-	"HeaderMyViews": "My Views",
-	"HeaderLibraryFolders": "Media Folders",
-	"HeaderLatestMedia": "Latest Media",
-	"ButtonMore": "More...",
-	"HeaderFavoriteMovies": "Favorite Movies",
-	"HeaderFavoriteShows": "Favorite Shows",
-	"HeaderFavoriteEpisodes": "Favorite Episodes",
-	"HeaderFavoriteGames": "Favorite Games",
-	"HeaderRatingsDownloads": "Rating / Downloads",
-	"HeaderConfirmProfileDeletion": "Confirm Profile Deletion",
-	"MessageConfirmProfileDeletion": "Are you sure you wish to delete this profile?",
-	"HeaderSelectServerCachePath": "Select Server Cache Path",
-	"HeaderSelectTranscodingPath": "Select Transcoding Temporary Path",
-	"HeaderSelectImagesByNamePath": "Select Images By Name Path",
-	"HeaderSelectMetadataPath": "Select Metadata Path",
-	"HeaderSelectServerCachePathHelp": "Browse or enter the path to use for server cache files. The folder must be writeable. The location of this folder will directly impact server performance and should ideally be placed on a solid state drive.",
-	"HeaderSelectTranscodingPathHelp": "Browse or enter the path to use for transcoding temporary files. The folder must be writeable.",
-	"HeaderSelectImagesByNamePathHelp": "Browse or enter the path to your items by name folder. The folder must be writeable.",
-	"HeaderSelectMetadataPathHelp": "Browse or enter the path you'd like to store metadata within. The folder must be writeable.",
-	"HeaderSelectChannelDownloadPath": "Select Channel Download Path",
-	"HeaderSelectChannelDownloadPathHelp": "Browse or enter the path to use for storing channel cache files. The folder must be writeable.",
-	"OptionNewCollection": "New...",
-	"ButtonAdd": "Add",
-	"ButtonRemove": "Remove",
-	"LabelChapterDownloaders": "Chapter downloaders:",
-	"LabelChapterDownloadersHelp": "Enable and rank your preferred chapter downloaders in order of priority. Lower priority downloaders will only be used to fill in missing information.",
-	"HeaderFavoriteAlbums": "Favorite Albums",
-	"HeaderLatestChannelMedia": "Latest Channel Items",
-	"ButtonOrganizeFile": "Organize File",
-	"ButtonDeleteFile": "Delete File",
-	"HeaderOrganizeFile": "Organize File",
-	"HeaderDeleteFile": "Delete File",
-	"StatusSkipped": "Skipped",
-	"StatusFailed": "Failed",
-	"StatusSuccess": "Success",
-	"MessageFileWillBeDeleted": "The following file will be deleted:",
-	"MessageSureYouWishToProceed": "Are you sure you wish to proceed?",
-	"MessageDuplicatesWillBeDeleted": "In addition the following dupliates will be deleted:",
-	"MessageFollowingFileWillBeMovedFrom": "The following file will be moved from:",
-	"MessageDestinationTo": "to:",
-	"HeaderSelectWatchFolder": "Select Watch Folder",
-	"HeaderSelectWatchFolderHelp": "Browse or enter the path to your watch folder. The folder must be writeable.",
-	"OrganizePatternResult": "Result: {0}",
-	"HeaderRestart": "Restart",
-	"HeaderShutdown": "Shutdown",
-	"MessageConfirmRestart": "Are you sure you wish to restart Media Browser Server?",
-	"MessageConfirmShutdown": "Are you sure you wish to shutdown Media Browser Server?",
-	"ButtonUpdateNow": "Update Now",
-	"NewVersionOfSomethingAvailable": "A new version of {0} is available!",
-	"VersionXIsAvailableForDownload": "Version {0} is now available for download.",
-	"LabelVersionNumber": "Version {0}",
-	"LabelPlayMethodTranscoding": "Transcoding",
-	"LabelPlayMethodDirectStream": "Direct Streaming",
-	"LabelPlayMethodDirectPlay": "Direct Playing",
-	"LabelAudioCodec": "Audio: {0}",
-	"LabelVideoCodec": "Video: {0}",
-	"LabelRemoteAccessUrl": "Remote access: {0}",
-	"LabelRunningOnPort": "Running on port {0}.",
-	"LabelRunningOnPorts": "Running on ports {0} and {1}.",
-	"HeaderLatestFromChannel": "Latest from {0}",
-	"ButtonDownload": "Download",
-	"LabelUnknownLanaguage": "Unknown language",
-	"HeaderCurrentSubtitles": "Current Subtitles",
-	"MessageDownloadQueued": "The download has been queued.",
-	"MessageAreYouSureDeleteSubtitles": "Are you sure you wish to delete this subtitle file?",
-	"ButtonRemoteControl": "Remote Control",
-	"HeaderLatestTvRecordings": "Latest Recordings",
-	"ButtonOk": "Ok",
-	"ButtonCancel": "Cancel",
-	"ButtonRefresh": "Refresh",
-	"LabelCurrentPath": "Current path:",
-	"HeaderSelectMediaPath": "Select Media Path",
-	"ButtonNetwork": "Network",
-	"MessageDirectoryPickerInstruction": "Network paths can be entered manually in the event the Network button fails to locate your devices. For example, {0} or {1}.",
-	"HeaderMenu": "Menu",
-	"ButtonOpen": "Open",
-	"ButtonOpenInNewTab": "Open in new tab",
-	"ButtonShuffle": "Shuffle",
-	"ButtonInstantMix": "Instant mix",
-	"ButtonResume": "Resume",
-	"HeaderScenes": "Scenes",
-	"HeaderAudioTracks": "Audio Tracks",
-	"LabelUnknownLanguage": "Unknown language",
-	"HeaderSubtitles": "Subtitles",
-	"HeaderVideoQuality": "Video Quality",
-	"MessageErrorPlayingVideo": "There was an error playing the video.",
-	"MessageEnsureOpenTuner": "Please ensure there is an open tuner availalble.",
-	"ButtonHome": "Home",
-	"ButtonDashboard": "Dashboard",
-	"ButtonReports": "Reports",
-	"ButtonMetadataManager": "Metadata Manager",
-	"HeaderTime": "Time",
-	"HeaderName": "Name",
-	"HeaderAlbum": "Album",
-	"HeaderAlbumArtist": "Album Artist",
-	"HeaderArtist": "Artist",
-	"LabelAddedOnDate": "Added {0}",
-	"ButtonStart": "Start",
-	"ButtonStop": "Stop",
-	"HeaderChannels": "Channels",
-	"HeaderMediaFolders": "Media Folders",
-	"HeaderBlockItemsWithNoRating": "Block items with no rating information:",
-	"OptionBlockOthers": "Others",
-	"OptionBlockTvShows": "TV Shows",
-	"OptionBlockTrailers": "Trailers",
-	"OptionBlockMusic": "Music",
-	"OptionBlockMovies": "Movies",
-	"OptionBlockBooks": "Books",
-	"OptionBlockGames": "Games",
-	"OptionBlockLiveTvPrograms": "Live TV Programs",
-	"OptionBlockLiveTvChannels": "Live TV Channels",
-	"OptionBlockChannelContent": "Internet Channel Content",
-	"ButtonRevoke": "Revoke",
-	"MessageConfirmRevokeApiKey": "Are you sure you wish to revoke this api key? The application's connection to Media Browser will be abruptly terminated.",
-	"HeaderConfirmRevokeApiKey": "Revoke Api Key"
-}
+    "AddUser": "Add User",
+    "Users": "Users",
+    "Delete": "Delete",
+    "Administrator": "Administrator",
+    "Password": "Password",
+    "DeleteImage": "Delete Image",
+    "DeleteImageConfirmation": "Are you sure you wish to delete this image?",
+    "FileReadCancelled": "The file read has been canceled.",
+    "FileNotFound": "File not found.",
+    "FileReadError": "An error occurred while reading the file.",
+    "DeleteUser": "Delete User",
+    "DeleteUserConfirmation": "Are you sure you wish to delete {0}?",
+    "PasswordResetHeader": "Password Reset",
+    "PasswordResetComplete": "The password has been reset.",
+    "PasswordResetConfirmation": "Are you sure you wish to reset the password?",
+    "PasswordSaved": "Password saved.",
+    "PasswordMatchError": "Password and password confirmation must match.",
+    "OptionRelease": "Official Release",
+    "OptionBeta": "Beta",
+    "OptionDev": "Dev (Unstable)",
+    "UninstallPluginHeader": "Uninstall Plugin",
+    "UninstallPluginConfirmation": "Are you sure you wish to uninstall {0}?",
+    "NoPluginConfigurationMessage": "This plugin has nothing to configure.",
+    "NoPluginsInstalledMessage": "You have no plugins installed.",
+    "BrowsePluginCatalogMessage": "Browse our plugin catalog to view available plugins.",
+    "MessageKeyEmailedTo": "Key emailed to {0}.",
+    "MessageKeysLinked": "Keys linked.",
+    "HeaderConfirmation": "Confirmation",
+    "MessageKeyUpdated": "Thank you. Your supporter key has been updated.",
+    "MessageKeyRemoved": "Thank you. Your supporter key has been removed.",
+    "ErrorLaunchingChromecast": "There was an error launching chromecast. Please ensure your device is connected to your wireless network.",
+    "HeaderSearch": "Search",
+    "LabelArtist": "Artist",
+    "LabelMovie": "Movie",
+    "LabelMusicVideo": "Music Video",
+    "LabelEpisode": "Episode",
+    "LabelSeries": "Series",
+    "LabelStopping": "Stopping",
+    "LabelCancelled": "(cancelled)",
+    "LabelFailed": "(failed)",
+    "LabelAbortedByServerShutdown": "(Aborted by server shutdown)",
+    "LabelScheduledTaskLastRan": "Last ran {0}, taking {1}.",
+    "HeaderDeleteTaskTrigger": "Delete Task Trigger",
+    "HeaderTaskTriggers": "Task Triggers",
+    "MessageDeleteTaskTrigger": "Are you sure you wish to delete this task trigger?",
+    "MessageNoPluginsInstalled": "You have no plugins installed.",
+    "LabelVersionInstalled": "{0} installed",
+    "LabelNumberReviews": "{0} Reviews",
+    "LabelFree": "Free",
+    "HeaderSelectAudio": "Select Audio",
+    "HeaderSelectSubtitles": "Select Subtitles",
+    "LabelDefaultStream": "(Default)",
+    "LabelForcedStream": "(Forced)",
+    "LabelDefaultForcedStream": "(Default/Forced)",
+    "LabelUnknownLanguage": "Unknown language",
+    "ButtonMute": "Mute",
+    "ButtonUnmute": "Unmute",
+    "ButtonStop": "Stop",
+    "ButtonNextTrack": "Next Track",
+    "ButtonPause": "Pause",
+    "ButtonPlay": "Play",
+    "ButtonEdit": "Edit",
+    "ButtonQueue": "Queue",
+    "ButtonPlayTrailer": "Play trailer",
+    "ButtonPlaylist": "Playlist",
+    "ButtonPreviousTrack": "Previous Track",
+    "LabelEnabled": "Enabled",
+    "LabelDisabled": "Disabled",
+    "ButtonMoreInformation": "More Information",
+    "LabelNoUnreadNotifications": "No unread notifications.",
+    "ButtonViewNotifications": "View notifications",
+    "ButtonMarkTheseRead": "Mark these read",
+    "ButtonClose": "Close",
+    "LabelAllPlaysSentToPlayer": "All plays will be sent to the selected player.",
+    "MessageInvalidUser": "Invalid user or password.",
+    "HeaderAllRecordings": "All Recordings",
+    "RecommendationBecauseYouLike": "Because you like {0}",
+    "RecommendationBecauseYouWatched": "Because you watched {0}",
+    "RecommendationDirectedBy": "Directed by {0}",
+    "RecommendationStarring": "Starring {0}",
+    "HeaderConfirmRecordingCancellation": "Confirm Recording Cancellation",
+    "MessageConfirmRecordingCancellation": "Are you sure you wish to cancel this recording?",
+    "MessageRecordingCancelled": "Recording cancelled.",
+    "HeaderConfirmSeriesCancellation": "Confirm Series Cancellation",
+    "MessageConfirmSeriesCancellation": "Are you sure you wish to cancel this series?",
+    "MessageSeriesCancelled": "Series cancelled.",
+    "HeaderConfirmRecordingDeletion": "Confirm Recording Deletion",
+    "MessageConfirmRecordingDeletion": "Are you sure you wish to delete this recording?",
+    "MessageRecordingDeleted": "Recording deleted.",
+    "ButonCancelRecording": "Cancel Recording",
+    "MessageRecordingSaved": "Recording saved.",
+    "OptionSunday": "Sunday",
+    "OptionMonday": "Monday",
+    "OptionTuesday": "Tuesday",
+    "OptionWednesday": "Wednesday",
+    "OptionThursday": "Thursday",
+    "OptionFriday": "Friday",
+    "OptionSaturday": "Saturday",
+    "HeaderConfirmDeletion": "Confirm Deletion",
+    "MessageConfirmPathSubstitutionDeletion": "Are you sure you wish to delete this path substitution?",
+    "LiveTvUpdateAvailable": "(Update available)",
+    "LabelVersionUpToDate": "Up to date!",
+    "ButtonResetTuner": "Reset tuner",
+    "HeaderResetTuner": "Reset Tuner",
+    "MessageConfirmResetTuner": "Are you sure you wish to reset this tuner? Any active players or recordings will be abruptly stopped.",
+    "ButtonCancelSeries": "Cancel Series",
+    "HeaderSeriesRecordings": "Series Recordings",
+    "LabelAnytime": "Any time",
+    "StatusRecording": "Recording",
+    "StatusWatching": "Watching",
+    "StatusRecordingProgram": "Recording {0}",
+    "StatusWatchingProgram": "Watching {0}",
+    "HeaderSplitMedia": "Split Media Apart",
+    "MessageConfirmSplitMedia": "Are you sure you wish to split the media sources into separate items?",
+    "HeaderError": "Error",
+    "MessagePleaseSelectOneItem": "Please select at least one item.",
+    "MessagePleaseSelectTwoItems": "Please select at least two items.",
+    "MessageTheFollowingItemsWillBeGrouped": "The following titles will be grouped into one item:",
+    "MessageConfirmItemGrouping": "Media Browser clients will automatically choose the optimal version to play based on device and network performance. Are you sure you wish to continue?",
+    "HeaderResume": "Resume",
+    "HeaderMyViews": "My Views",
+    "HeaderLibraryFolders": "Media Folders",
+    "HeaderLatestMedia": "Latest Media",
+    "ButtonMore": "More...",
+    "HeaderFavoriteMovies": "Favorite Movies",
+    "HeaderFavoriteShows": "Favorite Shows",
+    "HeaderFavoriteEpisodes": "Favorite Episodes",
+    "HeaderFavoriteGames": "Favorite Games",
+    "HeaderRatingsDownloads": "Rating / Downloads",
+    "HeaderConfirmProfileDeletion": "Confirm Profile Deletion",
+    "MessageConfirmProfileDeletion": "Are you sure you wish to delete this profile?",
+    "HeaderSelectServerCachePath": "Select Server Cache Path",
+    "HeaderSelectTranscodingPath": "Select Transcoding Temporary Path",
+    "HeaderSelectImagesByNamePath": "Select Images By Name Path",
+    "HeaderSelectMetadataPath": "Select Metadata Path",
+    "HeaderSelectServerCachePathHelp": "Browse or enter the path to use for server cache files. The folder must be writeable. The location of this folder will directly impact server performance and should ideally be placed on a solid state drive.",
+    "HeaderSelectTranscodingPathHelp": "Browse or enter the path to use for transcoding temporary files. The folder must be writeable.",
+    "HeaderSelectImagesByNamePathHelp": "Browse or enter the path to your items by name folder. The folder must be writeable.",
+    "HeaderSelectMetadataPathHelp": "Browse or enter the path you'd like to store metadata within. The folder must be writeable.",
+    "HeaderSelectChannelDownloadPath": "Select Channel Download Path",
+    "HeaderSelectChannelDownloadPathHelp": "Browse or enter the path to use for storing channel cache files. The folder must be writeable.",
+    "OptionNewCollection": "New...",
+    "ButtonAdd": "Add",
+    "ButtonRemove": "Remove",
+    "LabelChapterDownloaders": "Chapter downloaders:",
+    "LabelChapterDownloadersHelp": "Enable and rank your preferred chapter downloaders in order of priority. Lower priority downloaders will only be used to fill in missing information.",
+    "HeaderFavoriteAlbums": "Favorite Albums",
+    "HeaderLatestChannelMedia": "Latest Channel Items",
+    "ButtonOrganizeFile": "Organize File",
+    "ButtonDeleteFile": "Delete File",
+    "HeaderOrganizeFile": "Organize File",
+    "HeaderDeleteFile": "Delete File",
+    "StatusSkipped": "Skipped",
+    "StatusFailed": "Failed",
+    "StatusSuccess": "Success",
+    "MessageFileWillBeDeleted": "The following file will be deleted:",
+    "MessageSureYouWishToProceed": "Are you sure you wish to proceed?",
+    "MessageDuplicatesWillBeDeleted": "In addition the following dupliates will be deleted:",
+    "MessageFollowingFileWillBeMovedFrom": "The following file will be moved from:",
+    "MessageDestinationTo": "to:",
+    "HeaderSelectWatchFolder": "Select Watch Folder",
+    "HeaderSelectWatchFolderHelp": "Browse or enter the path to your watch folder. The folder must be writeable.",
+    "OrganizePatternResult": "Result: {0}",
+    "HeaderRestart": "Restart",
+    "HeaderShutdown": "Shutdown",
+    "MessageConfirmRestart": "Are you sure you wish to restart Media Browser Server?",
+    "MessageConfirmShutdown": "Are you sure you wish to shutdown Media Browser Server?",
+    "ButtonUpdateNow": "Update Now",
+    "NewVersionOfSomethingAvailable": "A new version of {0} is available!",
+    "VersionXIsAvailableForDownload": "Version {0} is now available for download.",
+    "LabelVersionNumber": "Version {0}",
+    "LabelPlayMethodTranscoding": "Transcoding",
+    "LabelPlayMethodDirectStream": "Direct Streaming",
+    "LabelPlayMethodDirectPlay": "Direct Playing",
+    "LabelAudioCodec": "Audio: {0}",
+    "LabelVideoCodec": "Video: {0}",
+    "LabelRemoteAccessUrl": "Remote access: {0}",
+    "LabelRunningOnPort": "Running on port {0}.",
+    "LabelRunningOnPorts": "Running on ports {0} and {1}.",
+    "HeaderLatestFromChannel": "Latest from {0}",
+    "ButtonDownload": "Download",
+    "LabelUnknownLanaguage": "Unknown language",
+    "HeaderCurrentSubtitles": "Current Subtitles",
+    "MessageDownloadQueued": "The download has been queued.",
+    "MessageAreYouSureDeleteSubtitles": "Are you sure you wish to delete this subtitle file?",
+    "ButtonRemoteControl": "Remote Control",
+    "HeaderLatestTvRecordings": "Latest Recordings",
+    "ButtonOk": "Ok",
+    "ButtonCancel": "Cancel",
+    "ButtonRefresh": "Refresh",
+    "LabelCurrentPath": "Current path:",
+    "HeaderSelectMediaPath": "Select Media Path",
+    "ButtonNetwork": "Network",
+    "MessageDirectoryPickerInstruction": "Network paths can be entered manually in the event the Network button fails to locate your devices. For example, {0} or {1}.",
+    "HeaderMenu": "Menu",
+    "ButtonOpen": "Open",
+    "ButtonOpenInNewTab": "Open in new tab",
+    "ButtonShuffle": "Shuffle",
+    "ButtonInstantMix": "Instant mix",
+    "ButtonResume": "Resume",
+    "HeaderScenes": "Scenes",
+    "HeaderAudioTracks": "Audio Tracks",
+    "LabelUnknownLanguage": "Unknown language",
+    "HeaderSubtitles": "Subtitles",
+    "HeaderVideoQuality": "Video Quality",
+    "MessageErrorPlayingVideo": "There was an error playing the video.",
+    "MessageEnsureOpenTuner": "Please ensure there is an open tuner availalble.",
+    "ButtonHome": "Home",
+    "ButtonDashboard": "Dashboard",
+    "ButtonReports": "Reports",
+    "ButtonMetadataManager": "Metadata Manager",
+    "HeaderTime": "Time",
+    "HeaderName": "Name",
+    "HeaderAlbum": "Album",
+    "HeaderAlbumArtist": "Album Artist",
+    "HeaderArtist": "Artist",
+    "LabelAddedOnDate": "Added {0}",
+    "ButtonStart": "Start",
+    "HeaderChannels": "Channels",
+    "HeaderMediaFolders": "Media Folders",
+    "HeaderBlockItemsWithNoRating": "Block items with no rating information:",
+    "OptionBlockOthers": "Others",
+    "OptionBlockTvShows": "TV Shows",
+    "OptionBlockTrailers": "Trailers",
+    "OptionBlockMusic": "Music",
+    "OptionBlockMovies": "Movies",
+    "OptionBlockBooks": "Books",
+    "OptionBlockGames": "Games",
+    "OptionBlockLiveTvPrograms": "Live TV Programs",
+    "OptionBlockLiveTvChannels": "Live TV Channels",
+    "OptionBlockChannelContent": "Internet Channel Content",
+    "ButtonRevoke": "Revoke",
+    "MessageConfirmRevokeApiKey": "Are you sure you wish to revoke this api key? The application's connection to Media Browser will be abruptly terminated.",
+    "HeaderConfirmRevokeApiKey": "Revoke Api Key",
+    "ValueContainer": "Container: {0}",
+    "ValueAudioCodec": "Audio Codec: {0}",
+    "ValueVideoCodec": "Video Codec: {0}",
+    "ValueCodec": "Codec: {0}",
+    "ValueConditions": "Conditions: {0}",
+    "LabelAll": "All",
+    "HeaderDeleteImage": "Delete Image",
+    "DeleteImageConfirmation": "Are you sure you wish to delete this image?",
+    "MessageFileNotFound": "File not found.",
+    "MessageFileReadError": "An error occurred reading this file.",
+    "ButtonNextPage": "Next Page",
+    "ButtonPreviousPage": "Previous Page",
+    "ButtonMoveLeft": "Move left",
+    "ButtonMoveRight": "Move right",
+    "ButtonBrowseOnlineImages": "Browse online images",
+    "HeaderDeleteItem": "Delete Item",
+    "ConfirmDeleteItem": "Are you sure you wish to delete this item from your library?",
+    "MessagePleaseEnterNameOrId": "Please enter a name or an external Id.",
+    "MessageValueNotCorrect": "The value entered is not correct. Please try again.",
+    "MessageItemSaved": "Item saved.",
+    "OptionEnded": "Ended",
+    "OptionContinuing": "Continuing",
+    "OptionOff": "Off",
+    "OptionOn": "On",
+    "HeaderFields": "Fields",
+    "HeaderFieldsHelp": "Slide a field to 'off' to lock it and prevent it's data from being changed.",
+    "HeaderLiveTV": "Live TV",
+    "HeaderMediaFolders": "Media Folders",
+    "MissingLocalTrailer": "Missing local trailer.",
+    "MissingPrimaryImage": "Missing primary image.",
+    "MissingBackdropImage": "Missing backdrop image.",
+    "MissingLogoImage": "Missing logo image.",
+    "MissingEpisode": "Missing episode.",
+    "OptionScreenshots": "Screenshots",
+    "OptionBackdrops": "Backdrops",
+    "OptionImages": "Images",
+    "OptionKeywords": "Keywords",
+    "OptionTags": "Tags",
+    "OptionStudios": "Studios",
+    "OptionName": "Name",
+    "OptionOverview": "Overview",
+    "OptionGenres": "Genres",
+    "OptionParentalRating": "Parental Rating",
+    "OptionPeople": "People",
+    "OptionRuntime": "Runtime",
+    "OptionProductionLocations": "Production Locations",
+    "OptionBirthLocation": "Birth Location",
+    "LabelAllChannels": "All channels",
+    "LabelLiveProgram": "LIVE",
+    "LabelNewProgram": "NEW",
+    "LabelPremiereProgram": "PREMIERE",
+    "HeaderChangeFolderType": "Change Folder Type",
+    "HeaderChangeFolderTypeHelp": "To change the folder type, please remove and rebuild the collection with the new type.",
+    "HeaderAlert": "Alert",
+    "MessagePleaseRestart": "Please restart to finish updating.",
+    "ButtonRestart": "Restart",
+    "ButtonRefresh": "Refresh",
+    "MessagePleaseRefreshPage": "Please refresh this page to receive new updates from the server.",
+    "ButtonHide": "Hide",
+    "MessageSettingsSaved": "Settings saved.",
+    "ButtonSignOut": "Sign Out",
+    "ButtonMyProfile": "My Profile",
+    "ButtonMyPreferences":  "My Preferences",
+    "MessageBrowserDoesNotSupportWebSockets":  "This browser does not support web sockets. For a better experience, try a newer browser such as Chrome, Firefox, IE10+, Safari (iOS) or Opera.",
+    "LabelInstallingPackage":  "Installing {0}",
+    "LabelPackageInstallCompleted":  "{0} installation completed.",
+    "LabelPackageInstallFailed":  "{0} installation failed.",
+    "LabelPackageInstallCancelled":  "{0} installation cancelled.",
+    "TabServer":  "Server",
+    "TabUsers":  "Users",
+    "TabLibrary":  "Library",
+    "TabMetadata":  "Metadata",
+    "TabDLNA":  "DLNA",
+    "TabLiveTV":  "Live TV",
+    "TabAutoOrganize":  "Auto-Organize",
+    "TabPlugins":  "Plugins",
+    "TabAdvanced":  "Advanced",
+    "TabHelp":  "Help",
+    "TabScheduledTasks":  "Scheduled Tasks",
+    "ButtonFullscreen":  "Fullscreen",
+    "ButtonMute":  "Mute",
+    "ButtonUnmute":  "Unmute",
+    "ButtonAudioTracks":  "Audio Tracks",
+    "ButtonSubtitles":  "Subtitles",
+    "ButtonScenes":  "Scenes",
+    "ButtonQuality":  "Quality"
+}

+ 83 - 3
MediaBrowser.Server.Implementations/Localization/JavaScript/kk.json

@@ -38,7 +38,6 @@
     "LabelEpisode": "\u042d\u043f\u0438\u0437\u043e\u0434",
     "LabelEpisode": "\u042d\u043f\u0438\u0437\u043e\u0434",
     "LabelSeries": "\u0421\u0435\u0440\u0438\u0430\u043b",
     "LabelSeries": "\u0421\u0435\u0440\u0438\u0430\u043b",
     "LabelStopping": "\u0422\u043e\u049b\u0442\u0430\u0442\u044b\u043b\u0443\u0434\u0430",
     "LabelStopping": "\u0422\u043e\u049b\u0442\u0430\u0442\u044b\u043b\u0443\u0434\u0430",
-    "ButtonStop": "\u0422\u043e\u049b\u0442\u0430\u0442\u0443",
     "LabelCancelled": "(\u0431\u043e\u043b\u0434\u044b\u0440\u044b\u043b\u043c\u0430\u0434\u044b)",
     "LabelCancelled": "(\u0431\u043e\u043b\u0434\u044b\u0440\u044b\u043b\u043c\u0430\u0434\u044b)",
     "LabelFailed": "(\u0441\u04d9\u0442\u0441\u0456\u0437)",
     "LabelFailed": "(\u0441\u04d9\u0442\u0441\u0456\u0437)",
     "LabelAbortedByServerShutdown": "(\u0421\u0435\u0440\u0432\u0435\u0440 \u0436\u04b1\u043c\u044b\u0441\u044b \u0430\u044f\u049b\u0442\u0430\u043b\u0443\u044b\u043d\u0430 \u0431\u0430\u0439\u043b\u0430\u043d\u044b\u0441\u0442\u044b \u04af\u0437\u0456\u043b\u0434\u0456)",
     "LabelAbortedByServerShutdown": "(\u0421\u0435\u0440\u0432\u0435\u0440 \u0436\u04b1\u043c\u044b\u0441\u044b \u0430\u044f\u049b\u0442\u0430\u043b\u0443\u044b\u043d\u0430 \u0431\u0430\u0439\u043b\u0430\u043d\u044b\u0441\u0442\u044b \u04af\u0437\u0456\u043b\u0434\u0456)",
@@ -58,6 +57,7 @@
     "LabelUnknownLanguage": "\u0411\u0435\u043b\u0433\u0456\u0441\u0456\u0437 \u0442\u0456\u043b",
     "LabelUnknownLanguage": "\u0411\u0435\u043b\u0433\u0456\u0441\u0456\u0437 \u0442\u0456\u043b",
     "ButtonMute": "\u0414\u044b\u0431\u044b\u0441\u0442\u044b \u04e9\u0448\u0456\u0440\u0443",
     "ButtonMute": "\u0414\u044b\u0431\u044b\u0441\u0442\u044b \u04e9\u0448\u0456\u0440\u0443",
     "ButtonUnmute": "\u0414\u044b\u0431\u044b\u0441\u0442\u044b \u049b\u043e\u0441\u0443",
     "ButtonUnmute": "\u0414\u044b\u0431\u044b\u0441\u0442\u044b \u049b\u043e\u0441\u0443",
+    "ButtonStop": "\u0422\u043e\u049b\u0442\u0430\u0442\u0443",
     "ButtonNextTrack": "\u041a\u0435\u043b\u0435\u0441\u0456 \u0436\u043e\u043b\u0448\u044b\u049b",
     "ButtonNextTrack": "\u041a\u0435\u043b\u0435\u0441\u0456 \u0436\u043e\u043b\u0448\u044b\u049b",
     "ButtonPause": "\u04ae\u0437\u0456\u043b\u0456\u0441",
     "ButtonPause": "\u04ae\u0437\u0456\u043b\u0456\u0441",
     "ButtonPlay": "\u041e\u0439\u043d\u0430\u0442\u0443",
     "ButtonPlay": "\u041e\u0439\u043d\u0430\u0442\u0443",
@@ -106,7 +106,6 @@
     "HeaderResetTuner": "\u0422\u044e\u043d\u0435\u0440\u0434\u0456 \u044b\u0441\u044b\u0440\u0443",
     "HeaderResetTuner": "\u0422\u044e\u043d\u0435\u0440\u0434\u0456 \u044b\u0441\u044b\u0440\u0443",
     "MessageConfirmResetTuner": "\u0428\u044b\u043d\u044b\u043c\u0435\u043d \u043e\u0441\u044b \u0442\u044e\u043d\u0435\u0440\u0434\u0456 \u044b\u0441\u044b\u0440\u0443 \u049b\u0430\u0436\u0435\u0442 \u043f\u0435? \u04d8\u0440 \u0431\u0435\u043b\u0441\u0435\u043d\u0434\u0456 \u043e\u0439\u043d\u0430\u0442\u049b\u044b\u0448\u0442\u0430\u0440 \u043d\u0435\u043c\u0435\u0441\u0435 \u0436\u0430\u0437\u0431\u0430\u043b\u0430\u0440 \u043a\u0435\u043d\u0435\u0442\u0442\u0435\u043d \u0442\u043e\u049b\u0442\u0430\u0442\u044b\u043b\u0430\u0434\u044b.",
     "MessageConfirmResetTuner": "\u0428\u044b\u043d\u044b\u043c\u0435\u043d \u043e\u0441\u044b \u0442\u044e\u043d\u0435\u0440\u0434\u0456 \u044b\u0441\u044b\u0440\u0443 \u049b\u0430\u0436\u0435\u0442 \u043f\u0435? \u04d8\u0440 \u0431\u0435\u043b\u0441\u0435\u043d\u0434\u0456 \u043e\u0439\u043d\u0430\u0442\u049b\u044b\u0448\u0442\u0430\u0440 \u043d\u0435\u043c\u0435\u0441\u0435 \u0436\u0430\u0437\u0431\u0430\u043b\u0430\u0440 \u043a\u0435\u043d\u0435\u0442\u0442\u0435\u043d \u0442\u043e\u049b\u0442\u0430\u0442\u044b\u043b\u0430\u0434\u044b.",
     "ButtonCancelSeries": "\u0421\u0435\u0440\u0438\u0430\u043b\u0434\u044b \u0431\u043e\u043b\u0434\u044b\u0440\u043c\u0430\u0443",
     "ButtonCancelSeries": "\u0421\u0435\u0440\u0438\u0430\u043b\u0434\u044b \u0431\u043e\u043b\u0434\u044b\u0440\u043c\u0430\u0443",
-    "LabelAllChannels": "\u0411\u0430\u0440\u043b\u044b\u049b \u0430\u0440\u043d\u0430\u043b\u0430\u0440",
     "HeaderSeriesRecordings": "\u0421\u0435\u0440\u0438\u0430\u043b \u0436\u0430\u0437\u0431\u0430\u043b\u0430\u0440\u044b",
     "HeaderSeriesRecordings": "\u0421\u0435\u0440\u0438\u0430\u043b \u0436\u0430\u0437\u0431\u0430\u043b\u0430\u0440\u044b",
     "LabelAnytime": "\u04d8\u0440 \u0443\u0430\u049b\u044b\u0442\u0442\u0430",
     "LabelAnytime": "\u04d8\u0440 \u0443\u0430\u049b\u044b\u0442\u0442\u0430",
     "StatusRecording": "\u0416\u0430\u0437\u0431\u0430",
     "StatusRecording": "\u0416\u0430\u0437\u0431\u0430",
@@ -233,5 +232,86 @@
     "OptionBlockChannelContent": "\u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0430\u0440\u043d\u0430 \u043c\u0430\u0437\u043c\u04b1\u043d\u044b",
     "OptionBlockChannelContent": "\u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0430\u0440\u043d\u0430 \u043c\u0430\u0437\u043c\u04b1\u043d\u044b",
     "ButtonRevoke": "\u0411\u0430\u0441 \u0442\u0430\u0440\u0442\u0443",
     "ButtonRevoke": "\u0411\u0430\u0441 \u0442\u0430\u0440\u0442\u0443",
     "MessageConfirmRevokeApiKey": "\u0428\u044b\u043d\u044b\u043c\u0435\u043d \u043e\u0441\u044b API \u043a\u0456\u043b\u0442\u0456\u043d\u0435\u043d \u0431\u0430\u0441 \u0442\u0430\u0440\u0442\u0443 \u049b\u0430\u0436\u0435\u0442 \u043f\u0435? \u049a\u043e\u043b\u0434\u0430\u043d\u0431\u0430 \u043c\u0435\u043d Media Browser \u0430\u0440\u0430\u0441\u044b\u043d\u0434\u0430\u0493\u044b \u049b\u043e\u0441\u044b\u043b\u044b\u043c \u043a\u0435\u043d\u0435\u0442 \u04af\u0437\u0456\u043b\u0435\u0434\u0456.",
     "MessageConfirmRevokeApiKey": "\u0428\u044b\u043d\u044b\u043c\u0435\u043d \u043e\u0441\u044b API \u043a\u0456\u043b\u0442\u0456\u043d\u0435\u043d \u0431\u0430\u0441 \u0442\u0430\u0440\u0442\u0443 \u049b\u0430\u0436\u0435\u0442 \u043f\u0435? \u049a\u043e\u043b\u0434\u0430\u043d\u0431\u0430 \u043c\u0435\u043d Media Browser \u0430\u0440\u0430\u0441\u044b\u043d\u0434\u0430\u0493\u044b \u049b\u043e\u0441\u044b\u043b\u044b\u043c \u043a\u0435\u043d\u0435\u0442 \u04af\u0437\u0456\u043b\u0435\u0434\u0456.",
-    "HeaderConfirmRevokeApiKey": "API \u043a\u0456\u043b\u0442\u0456\u043d\u0435\u043d \u0431\u0430\u0441 \u0442\u0430\u0440\u0442\u0443"
+    "HeaderConfirmRevokeApiKey": "API \u043a\u0456\u043b\u0442\u0456\u043d\u0435\u043d \u0431\u0430\u0441 \u0442\u0430\u0440\u0442\u0443",
+    "ValueContainer": "\u041a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440: {0}",
+    "ValueAudioCodec": "\u0414\u044b\u0431\u044b\u0441 \u043a\u043e\u0434\u0435\u0433\u0456: {0}",
+    "ValueVideoCodec": "\u0411\u0435\u0439\u043d\u0435 \u043a\u043e\u0434\u0435\u0433\u0456: {0}",
+    "ValueCodec": "\u041a\u043e\u0434\u0435\u043a: {0}",
+    "ValueConditions": "\u0428\u0430\u0440\u0442\u0442\u0430\u0440: {0}",
+    "LabelAll": "\u0411\u0430\u0440\u043b\u044b\u049b",
+    "HeaderDeleteImage": "\u0421\u0443\u0440\u0435\u0442\u0442\u0456 \u0436\u043e\u044e",
+    "MessageFileNotFound": "\u0424\u0430\u0439\u043b \u0442\u0430\u0431\u044b\u043b\u043c\u0430\u0434\u044b.",
+    "MessageFileReadError": "\u041e\u0441\u044b \u0444\u0430\u0439\u043b\u0434\u044b \u043e\u049b\u044b\u0493\u0430\u043d\u0434\u0430 \u049b\u0430\u0442\u0435 \u043f\u0430\u0439\u0434\u0430 \u0431\u043e\u043b\u0434\u044b.",
+    "ButtonNextPage": "\u041a\u0435\u043b\u0435\u0441\u0456 \u0431\u0435\u0442",
+    "ButtonPreviousPage": "\u0410\u043b\u0434\u044b\u043d\u0493\u044b \u0431\u0435\u0442",
+    "ButtonMoveLeft": "\u0421\u043e\u043b\u0493\u0430 \u0436\u044b\u043b\u0436\u044b\u0442\u0443",
+    "ButtonMoveRight": "\u041e\u04a3\u0493\u0430 \u0436\u044b\u043b\u0436\u044b\u0442\u0443",
+    "ButtonBrowseOnlineImages": "\u0416\u0435\u043b\u0456\u0434\u0435\u0433\u0456 \u0441\u0443\u0440\u0435\u0442\u0442\u0435\u0440\u0434\u0456 \u0448\u043e\u043b\u0443",
+    "HeaderDeleteItem": "\u042d\u043b\u0435\u043c\u0435\u043d\u0442\u0442\u0456 \u0436\u043e\u044e",
+    "ConfirmDeleteItem": "\u0428\u044b\u043d\u044b\u043c\u0435\u043d \u043e\u0441\u044b \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0442\u0456 \u0442\u0430\u0441\u0443\u0448\u044b\u0445\u0430\u043d\u0430\u0434\u0430\u043d \u0436\u043e\u044e \u049b\u0430\u0436\u0435\u0442 \u043f\u0435?",
+    "MessagePleaseEnterNameOrId": "Please enter a name or an external Id.",
+    "MessageValueNotCorrect": "\u0415\u043d\u0433\u0456\u0437\u0456\u043b\u0433\u0435\u043d \u043c\u04d9\u043d \u0434\u04b1\u0440\u044b\u0441 \u0435\u043c\u0435\u0441. \u04d8\u0440\u0435\u043a\u0435\u0442\u0442\u0456 \u049b\u0430\u0439\u0442\u0430\u043b\u0430\u04a3\u044b\u0437.",
+    "MessageItemSaved": "\u042d\u043b\u0435\u043c\u0435\u043d\u0442 \u0441\u0430\u049b\u0442\u0430\u043b\u0434\u044b.",
+    "OptionEnded": "\u0410\u044f\u049b\u0442\u0430\u043b\u0434\u044b",
+    "OptionContinuing": "\u0416\u0430\u043b\u0493\u0430\u0441\u0443\u0434\u0430",
+    "OptionOff": "\u04e8\u0448\u0456\u0440",
+    "OptionOn": "\u049a\u043e\u0441",
+    "HeaderFields": "\u04e8\u0440\u0456\u0441\u0442\u0435\u0440",
+    "HeaderFieldsHelp": "Slide a field to 'off' to lock it and prevent it's data from being changed.",
+    "HeaderLiveTV": "\u042d\u0444\u0438\u0440\u043b\u0456\u043a \u0422\u0414",
+    "MissingLocalTrailer": "\u0416\u0435\u0440\u0433\u0456\u043b\u0456\u043a\u0442\u0456 \u0442\u0440\u0435\u0439\u043b\u0435\u0440 \u0436\u043e\u049b.",
+    "MissingPrimaryImage": "\u0411\u0430\u0441\u0442\u0430\u043f\u049b\u044b \u0441\u0443\u0440\u0435\u0442 \u0436\u043e\u049b.",
+    "MissingBackdropImage": "\u0410\u0440\u0442\u049b\u044b \u0441\u0443\u0440\u0435\u0442 \u0436\u043e\u049b.",
+    "MissingLogoImage": "\u041b\u043e\u0433\u043e\u0442\u0438\u043f \u0441\u0443\u0440\u0435\u0442\u0456 \u0436\u043e\u049b.",
+    "MissingEpisode": "\u042d\u043f\u0438\u0437\u043e\u0434 \u0436\u043e\u049b.",
+    "OptionScreenshots": "\u042d\u043a\u0440\u0430\u043d \u0441\u0443\u0440\u0435\u0442\u0442\u0435\u0440\u0456",
+    "OptionBackdrops": "\u0410\u0440\u0442\u049b\u044b \u0441\u0443\u0440\u0435\u0442\u0442\u0435\u0440",
+    "OptionImages": "\u0421\u0443\u0440\u0435\u0442\u0442\u0435\u0440",
+    "OptionKeywords": "\u041a\u0456\u043b\u0442 \u0441\u04e9\u0437\u0434\u0435\u0440",
+    "OptionTags": "\u0422\u0435\u0433\u0442\u0435\u0440",
+    "OptionStudios": "\u0421\u0442\u0443\u0434\u0438\u044f\u043b\u0430\u0440",
+    "OptionName": "\u0410\u0442\u044b",
+    "OptionOverview": "\u0416\u0430\u043b\u043f\u044b \u0448\u043e\u043b\u0443",
+    "OptionGenres": "\u0416\u0430\u043d\u0440\u043b\u0430\u0440",
+    "OptionParentalRating": "\u0416\u0430\u0441\u0442\u0430\u0441 \u0441\u0430\u043d\u0430\u0442",
+    "OptionPeople": "\u0410\u0434\u0430\u043c\u0434\u0430\u0440",
+    "OptionRuntime": "\u041e\u0440\u044b\u043d\u0434\u0430\u0443 \u0443\u0430\u049b\u044b\u0442\u044b",
+    "OptionProductionLocations": "\u04e8\u043d\u0434\u0456\u0440\u0443 \u043e\u0440\u044b\u043d\u0434\u0430\u0440\u044b",
+    "OptionBirthLocation": "\u0422\u0443\u0493\u0430\u043d \u043e\u0440\u043d\u044b",
+    "LabelAllChannels": "\u0411\u0430\u0440\u043b\u044b\u049b \u0430\u0440\u043d\u0430\u043b\u0430\u0440",
+    "LabelLiveProgram": "\u0422\u0406\u041a\u0415\u041b\u0415\u0419 \u042d\u0424\u0418\u0420",
+    "LabelNewProgram": "\u0416\u0410\u04a2\u0410",
+    "LabelPremiereProgram": "\u0422\u04b0\u0421\u0410\u0423\u041a\u0415\u0421\u0415\u0420\u0406",
+    "HeaderChangeFolderType": "\u049a\u0430\u043b\u0442\u0430 \u0442\u04af\u0440\u0456\u043d \u04e9\u0437\u0433\u0435\u0440\u0442\u0443",
+    "HeaderChangeFolderTypeHelp": "To change the folder type, please remove and rebuild the collection with the new type.",
+    "HeaderAlert": "\u0415\u0441\u043a\u0435\u0440\u0442\u0443",
+    "MessagePleaseRestart": "\u0416\u0430\u04a3\u0430\u0440\u0442\u0443\u0434\u044b \u0430\u044f\u049b\u0442\u0430\u0443 \u04af\u0448\u0456\u043d \u049b\u0430\u0439\u0442\u0430 \u0456\u0441\u043a\u0435 \u049b\u043e\u0441\u044b\u04a3\u044b\u0437.",
+    "ButtonRestart": "\u049a\u0430\u0439\u0442\u0430 \u0456\u0441\u043a\u0435 \u049b\u043e\u0441\u0443",
+    "MessagePleaseRefreshPage": "Please refresh this page to receive new updates from the server.",
+    "ButtonHide": "\u0416\u0430\u0441\u044b\u0440\u0443",
+    "MessageSettingsSaved": "\u0422\u0435\u04a3\u0448\u0435\u043b\u0456\u043c \u0441\u0430\u049b\u0442\u0430\u043b\u0434\u044b.",
+    "ButtonSignOut": "\u0428\u044b\u0493\u0443",
+    "ButtonMyProfile": "\u041c\u0435\u043d\u0456\u04a3 \u043f\u0440\u043e\u0444\u0430\u0439\u043b\u044b\u043c",
+    "ButtonMyPreferences": "\u041c\u0435\u043d\u0456\u04a3 \u0442\u0435\u04a3\u0448\u0435\u043b\u0456\u043c\u0434\u0435\u0440\u0456\u043c",
+    "MessageBrowserDoesNotSupportWebSockets": "This browser does not support web sockets. For a better experience, try a newer browser such as Chrome, Firefox, IE10+, Safari (iOS) or Opera.",
+    "LabelInstallingPackage": "{0} \u043e\u0440\u043d\u0430\u0442\u044b\u043b\u0443\u0434\u0430",
+    "LabelPackageInstallCompleted": "{0} \u043e\u0440\u043d\u0430\u0442\u044b\u043b\u0443\u044b \u0430\u044f\u049b\u0442\u0430\u043b\u0434\u044b.",
+    "LabelPackageInstallFailed": "{0} \u043e\u0440\u043d\u0430\u0442\u044b\u043b\u0443\u044b \u0441\u04d9\u0442\u0441\u0456\u0437.",
+    "LabelPackageInstallCancelled": "{0} \u043e\u0440\u043d\u0430\u0442\u044b\u043b\u0443\u044b \u0431\u043e\u043b\u0434\u044b\u0440\u044b\u043b\u043c\u0430\u0434\u044b.",
+    "TabServer": "\u0421\u0435\u0440\u0432\u0435\u0440",
+    "TabUsers": "\u041f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u0443\u0448\u044b\u043b\u0430\u0440",
+    "TabLibrary": "\u0422\u0430\u0441\u0443\u0448\u044b\u0445\u0430\u043d\u0430",
+    "TabMetadata": "\u041c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a",
+    "TabDLNA": "DLNA",
+    "TabLiveTV": "\u042d\u0444\u0438\u0440\u043b\u0456\u043a \u0422\u0414",
+    "TabAutoOrganize": "\u0410\u0432\u0442\u043e\u04b1\u0439\u044b\u043c\u0434\u0430\u0441\u0442\u044b\u0440\u0443",
+    "TabPlugins": "\u041f\u043b\u0430\u0433\u0438\u043d\u0434\u0435\u0440",
+    "TabAdvanced": "\u041a\u0435\u04a3\u0435\u0439\u0442\u0456\u043b\u0433\u0435\u043d\u0434\u0435\u0440",
+    "TabHelp": "\u0410\u043d\u044b\u049b\u0442\u0430\u043c\u0430",
+    "TabScheduledTasks": "\u0416\u043e\u0441\u043f\u0430\u0440\u043b\u0430\u0443\u0448\u044b",
+    "ButtonFullscreen": "\u0422\u043e\u043b\u044b\u049b \u044d\u043a\u0440\u0430\u043d",
+    "ButtonAudioTracks": "\u0414\u044b\u0431\u044b\u0441 \u0436\u043e\u043b\u0448\u044b\u0493\u044b",
+    "ButtonSubtitles": "\u0421\u0443\u0431\u0442\u0438\u0442\u0440\u043b\u0435\u0440",
+    "ButtonScenes": "\u0421\u0430\u0445\u043d\u0430\u043b\u0430\u0440",
+    "ButtonQuality": "\u0421\u0430\u043f\u0430"
 }
 }

+ 83 - 3
MediaBrowser.Server.Implementations/Localization/JavaScript/ms.json

@@ -38,7 +38,6 @@
     "LabelEpisode": "Episode",
     "LabelEpisode": "Episode",
     "LabelSeries": "Series",
     "LabelSeries": "Series",
     "LabelStopping": "Stopping",
     "LabelStopping": "Stopping",
-    "ButtonStop": "Stop",
     "LabelCancelled": "(cancelled)",
     "LabelCancelled": "(cancelled)",
     "LabelFailed": "(failed)",
     "LabelFailed": "(failed)",
     "LabelAbortedByServerShutdown": "(Aborted by server shutdown)",
     "LabelAbortedByServerShutdown": "(Aborted by server shutdown)",
@@ -58,6 +57,7 @@
     "LabelUnknownLanguage": "Unknown language",
     "LabelUnknownLanguage": "Unknown language",
     "ButtonMute": "Mute",
     "ButtonMute": "Mute",
     "ButtonUnmute": "Unmute",
     "ButtonUnmute": "Unmute",
+    "ButtonStop": "Stop",
     "ButtonNextTrack": "Next Track",
     "ButtonNextTrack": "Next Track",
     "ButtonPause": "Pause",
     "ButtonPause": "Pause",
     "ButtonPlay": "Play",
     "ButtonPlay": "Play",
@@ -106,7 +106,6 @@
     "HeaderResetTuner": "Reset Tuner",
     "HeaderResetTuner": "Reset Tuner",
     "MessageConfirmResetTuner": "Are you sure you wish to reset this tuner? Any active players or recordings will be abruptly stopped.",
     "MessageConfirmResetTuner": "Are you sure you wish to reset this tuner? Any active players or recordings will be abruptly stopped.",
     "ButtonCancelSeries": "Cancel Series",
     "ButtonCancelSeries": "Cancel Series",
-    "LabelAllChannels": "All channels",
     "HeaderSeriesRecordings": "Series Recordings",
     "HeaderSeriesRecordings": "Series Recordings",
     "LabelAnytime": "Any time",
     "LabelAnytime": "Any time",
     "StatusRecording": "Recording",
     "StatusRecording": "Recording",
@@ -233,5 +232,86 @@
     "OptionBlockChannelContent": "Internet Channel Content",
     "OptionBlockChannelContent": "Internet Channel Content",
     "ButtonRevoke": "Revoke",
     "ButtonRevoke": "Revoke",
     "MessageConfirmRevokeApiKey": "Are you sure you wish to revoke this api key? The application's connection to Media Browser will be abruptly terminated.",
     "MessageConfirmRevokeApiKey": "Are you sure you wish to revoke this api key? The application's connection to Media Browser will be abruptly terminated.",
-    "HeaderConfirmRevokeApiKey": "Revoke Api Key"
+    "HeaderConfirmRevokeApiKey": "Revoke Api Key",
+    "ValueContainer": "Container: {0}",
+    "ValueAudioCodec": "Audio Codec: {0}",
+    "ValueVideoCodec": "Video Codec: {0}",
+    "ValueCodec": "Codec: {0}",
+    "ValueConditions": "Conditions: {0}",
+    "LabelAll": "All",
+    "HeaderDeleteImage": "Delete Image",
+    "MessageFileNotFound": "File not found.",
+    "MessageFileReadError": "An error occurred reading this file.",
+    "ButtonNextPage": "Next Page",
+    "ButtonPreviousPage": "Previous Page",
+    "ButtonMoveLeft": "Move left",
+    "ButtonMoveRight": "Move right",
+    "ButtonBrowseOnlineImages": "Browse online images",
+    "HeaderDeleteItem": "Delete Item",
+    "ConfirmDeleteItem": "Are you sure you wish to delete this item from your library?",
+    "MessagePleaseEnterNameOrId": "Please enter a name or an external Id.",
+    "MessageValueNotCorrect": "The value entered is not correct. Please try again.",
+    "MessageItemSaved": "Item saved.",
+    "OptionEnded": "Ended",
+    "OptionContinuing": "Continuing",
+    "OptionOff": "Off",
+    "OptionOn": "On",
+    "HeaderFields": "Fields",
+    "HeaderFieldsHelp": "Slide a field to 'off' to lock it and prevent it's data from being changed.",
+    "HeaderLiveTV": "Live TV",
+    "MissingLocalTrailer": "Missing local trailer.",
+    "MissingPrimaryImage": "Missing primary image.",
+    "MissingBackdropImage": "Missing backdrop image.",
+    "MissingLogoImage": "Missing logo image.",
+    "MissingEpisode": "Missing episode.",
+    "OptionScreenshots": "Screenshots",
+    "OptionBackdrops": "Backdrops",
+    "OptionImages": "Images",
+    "OptionKeywords": "Keywords",
+    "OptionTags": "Tags",
+    "OptionStudios": "Studios",
+    "OptionName": "Name",
+    "OptionOverview": "Overview",
+    "OptionGenres": "Genres",
+    "OptionParentalRating": "Parental Rating",
+    "OptionPeople": "People",
+    "OptionRuntime": "Runtime",
+    "OptionProductionLocations": "Production Locations",
+    "OptionBirthLocation": "Birth Location",
+    "LabelAllChannels": "All channels",
+    "LabelLiveProgram": "LIVE",
+    "LabelNewProgram": "NEW",
+    "LabelPremiereProgram": "PREMIERE",
+    "HeaderChangeFolderType": "Change Folder Type",
+    "HeaderChangeFolderTypeHelp": "To change the folder type, please remove and rebuild the collection with the new type.",
+    "HeaderAlert": "Alert",
+    "MessagePleaseRestart": "Please restart to finish updating.",
+    "ButtonRestart": "Restart",
+    "MessagePleaseRefreshPage": "Please refresh this page to receive new updates from the server.",
+    "ButtonHide": "Hide",
+    "MessageSettingsSaved": "Settings saved.",
+    "ButtonSignOut": "Sign Out",
+    "ButtonMyProfile": "My Profile",
+    "ButtonMyPreferences": "My Preferences",
+    "MessageBrowserDoesNotSupportWebSockets": "This browser does not support web sockets. For a better experience, try a newer browser such as Chrome, Firefox, IE10+, Safari (iOS) or Opera.",
+    "LabelInstallingPackage": "Installing {0}",
+    "LabelPackageInstallCompleted": "{0} installation completed.",
+    "LabelPackageInstallFailed": "{0} installation failed.",
+    "LabelPackageInstallCancelled": "{0} installation cancelled.",
+    "TabServer": "Server",
+    "TabUsers": "Users",
+    "TabLibrary": "Library",
+    "TabMetadata": "Metadata",
+    "TabDLNA": "DLNA",
+    "TabLiveTV": "Live TV",
+    "TabAutoOrganize": "Auto-Organize",
+    "TabPlugins": "Plugins",
+    "TabAdvanced": "Advanced",
+    "TabHelp": "Help",
+    "TabScheduledTasks": "Scheduled Tasks",
+    "ButtonFullscreen": "Fullscreen",
+    "ButtonAudioTracks": "Audio Tracks",
+    "ButtonSubtitles": "Subtitles",
+    "ButtonScenes": "Scenes",
+    "ButtonQuality": "Quality"
 }
 }

+ 83 - 3
MediaBrowser.Server.Implementations/Localization/JavaScript/nb.json

@@ -38,7 +38,6 @@
     "LabelEpisode": "Episode",
     "LabelEpisode": "Episode",
     "LabelSeries": "Series",
     "LabelSeries": "Series",
     "LabelStopping": "Stopping",
     "LabelStopping": "Stopping",
-    "ButtonStop": "Stop",
     "LabelCancelled": "(cancelled)",
     "LabelCancelled": "(cancelled)",
     "LabelFailed": "(failed)",
     "LabelFailed": "(failed)",
     "LabelAbortedByServerShutdown": "(Aborted by server shutdown)",
     "LabelAbortedByServerShutdown": "(Aborted by server shutdown)",
@@ -58,6 +57,7 @@
     "LabelUnknownLanguage": "Unknown language",
     "LabelUnknownLanguage": "Unknown language",
     "ButtonMute": "Mute",
     "ButtonMute": "Mute",
     "ButtonUnmute": "Unmute",
     "ButtonUnmute": "Unmute",
+    "ButtonStop": "Stop",
     "ButtonNextTrack": "Next Track",
     "ButtonNextTrack": "Next Track",
     "ButtonPause": "Pause",
     "ButtonPause": "Pause",
     "ButtonPlay": "Play",
     "ButtonPlay": "Play",
@@ -106,7 +106,6 @@
     "HeaderResetTuner": "Reset Tuner",
     "HeaderResetTuner": "Reset Tuner",
     "MessageConfirmResetTuner": "Are you sure you wish to reset this tuner? Any active players or recordings will be abruptly stopped.",
     "MessageConfirmResetTuner": "Are you sure you wish to reset this tuner? Any active players or recordings will be abruptly stopped.",
     "ButtonCancelSeries": "Cancel Series",
     "ButtonCancelSeries": "Cancel Series",
-    "LabelAllChannels": "All channels",
     "HeaderSeriesRecordings": "Series Recordings",
     "HeaderSeriesRecordings": "Series Recordings",
     "LabelAnytime": "Any time",
     "LabelAnytime": "Any time",
     "StatusRecording": "Recording",
     "StatusRecording": "Recording",
@@ -233,5 +232,86 @@
     "OptionBlockChannelContent": "Internet Channel Content",
     "OptionBlockChannelContent": "Internet Channel Content",
     "ButtonRevoke": "Revoke",
     "ButtonRevoke": "Revoke",
     "MessageConfirmRevokeApiKey": "Are you sure you wish to revoke this api key? The application's connection to Media Browser will be abruptly terminated.",
     "MessageConfirmRevokeApiKey": "Are you sure you wish to revoke this api key? The application's connection to Media Browser will be abruptly terminated.",
-    "HeaderConfirmRevokeApiKey": "Revoke Api Key"
+    "HeaderConfirmRevokeApiKey": "Revoke Api Key",
+    "ValueContainer": "Container: {0}",
+    "ValueAudioCodec": "Audio Codec: {0}",
+    "ValueVideoCodec": "Video Codec: {0}",
+    "ValueCodec": "Codec: {0}",
+    "ValueConditions": "Conditions: {0}",
+    "LabelAll": "All",
+    "HeaderDeleteImage": "Delete Image",
+    "MessageFileNotFound": "File not found.",
+    "MessageFileReadError": "An error occurred reading this file.",
+    "ButtonNextPage": "Next Page",
+    "ButtonPreviousPage": "Previous Page",
+    "ButtonMoveLeft": "Move left",
+    "ButtonMoveRight": "Move right",
+    "ButtonBrowseOnlineImages": "Browse online images",
+    "HeaderDeleteItem": "Delete Item",
+    "ConfirmDeleteItem": "Are you sure you wish to delete this item from your library?",
+    "MessagePleaseEnterNameOrId": "Please enter a name or an external Id.",
+    "MessageValueNotCorrect": "The value entered is not correct. Please try again.",
+    "MessageItemSaved": "Item saved.",
+    "OptionEnded": "Avsluttet",
+    "OptionContinuing": "Fortsetter",
+    "OptionOff": "Av",
+    "OptionOn": "P\u00e5",
+    "HeaderFields": "Fields",
+    "HeaderFieldsHelp": "Slide a field to 'off' to lock it and prevent it's data from being changed.",
+    "HeaderLiveTV": "Live TV",
+    "MissingLocalTrailer": "Missing local trailer.",
+    "MissingPrimaryImage": "Missing primary image.",
+    "MissingBackdropImage": "Missing backdrop image.",
+    "MissingLogoImage": "Missing logo image.",
+    "MissingEpisode": "Missing episode.",
+    "OptionScreenshots": "Screenshots",
+    "OptionBackdrops": "Backdrops",
+    "OptionImages": "Images",
+    "OptionKeywords": "Keywords",
+    "OptionTags": "Tags",
+    "OptionStudios": "Studios",
+    "OptionName": "Name",
+    "OptionOverview": "Overview",
+    "OptionGenres": "Genres",
+    "OptionParentalRating": "Parental Rating",
+    "OptionPeople": "People",
+    "OptionRuntime": "Spilletid",
+    "OptionProductionLocations": "Production Locations",
+    "OptionBirthLocation": "Birth Location",
+    "LabelAllChannels": "All channels",
+    "LabelLiveProgram": "LIVE",
+    "LabelNewProgram": "NEW",
+    "LabelPremiereProgram": "PREMIERE",
+    "HeaderChangeFolderType": "Change Folder Type",
+    "HeaderChangeFolderTypeHelp": "To change the folder type, please remove and rebuild the collection with the new type.",
+    "HeaderAlert": "Alert",
+    "MessagePleaseRestart": "Please restart to finish updating.",
+    "ButtonRestart": "Restart",
+    "MessagePleaseRefreshPage": "Please refresh this page to receive new updates from the server.",
+    "ButtonHide": "Hide",
+    "MessageSettingsSaved": "Settings saved.",
+    "ButtonSignOut": "Sign Out",
+    "ButtonMyProfile": "My Profile",
+    "ButtonMyPreferences": "My Preferences",
+    "MessageBrowserDoesNotSupportWebSockets": "This browser does not support web sockets. For a better experience, try a newer browser such as Chrome, Firefox, IE10+, Safari (iOS) or Opera.",
+    "LabelInstallingPackage": "Installing {0}",
+    "LabelPackageInstallCompleted": "{0} installation completed.",
+    "LabelPackageInstallFailed": "{0} installation failed.",
+    "LabelPackageInstallCancelled": "{0} installation cancelled.",
+    "TabServer": "Server",
+    "TabUsers": "Users",
+    "TabLibrary": "Library",
+    "TabMetadata": "Metadata",
+    "TabDLNA": "DLNA",
+    "TabLiveTV": "Live TV",
+    "TabAutoOrganize": "Auto-Organize",
+    "TabPlugins": "Plugins",
+    "TabAdvanced": "Avansert",
+    "TabHelp": "Help",
+    "TabScheduledTasks": "Scheduled Tasks",
+    "ButtonFullscreen": "Fullscreen",
+    "ButtonAudioTracks": "Audio Tracks",
+    "ButtonSubtitles": "Subtitles",
+    "ButtonScenes": "Scenes",
+    "ButtonQuality": "Quality"
 }
 }

+ 83 - 3
MediaBrowser.Server.Implementations/Localization/JavaScript/nl.json

@@ -38,7 +38,6 @@
     "LabelEpisode": "Aflevering",
     "LabelEpisode": "Aflevering",
     "LabelSeries": "Series",
     "LabelSeries": "Series",
     "LabelStopping": "Stoppen",
     "LabelStopping": "Stoppen",
-    "ButtonStop": "Stop",
     "LabelCancelled": "(Geannuleerd)",
     "LabelCancelled": "(Geannuleerd)",
     "LabelFailed": "(Mislukt)",
     "LabelFailed": "(Mislukt)",
     "LabelAbortedByServerShutdown": "(Afgebroken door afsluiten van de server)",
     "LabelAbortedByServerShutdown": "(Afgebroken door afsluiten van de server)",
@@ -58,6 +57,7 @@
     "LabelUnknownLanguage": "Onbekende taal",
     "LabelUnknownLanguage": "Onbekende taal",
     "ButtonMute": "Dempen",
     "ButtonMute": "Dempen",
     "ButtonUnmute": "Dempen opheffen",
     "ButtonUnmute": "Dempen opheffen",
+    "ButtonStop": "Stop",
     "ButtonNextTrack": "Volgend nummer",
     "ButtonNextTrack": "Volgend nummer",
     "ButtonPause": "Pauze",
     "ButtonPause": "Pauze",
     "ButtonPlay": "Afspelen",
     "ButtonPlay": "Afspelen",
@@ -106,7 +106,6 @@
     "HeaderResetTuner": "Reset Tuner",
     "HeaderResetTuner": "Reset Tuner",
     "MessageConfirmResetTuner": "Weet u zeker dat u deze tuner wilt resetten? Alle actieve spelers of opnamen zullen direct worden gestaakt.",
     "MessageConfirmResetTuner": "Weet u zeker dat u deze tuner wilt resetten? Alle actieve spelers of opnamen zullen direct worden gestaakt.",
     "ButtonCancelSeries": "Annuleren Series",
     "ButtonCancelSeries": "Annuleren Series",
-    "LabelAllChannels": "Alle kanalen",
     "HeaderSeriesRecordings": "Serie Opnames",
     "HeaderSeriesRecordings": "Serie Opnames",
     "LabelAnytime": "Elke keer",
     "LabelAnytime": "Elke keer",
     "StatusRecording": "Opname",
     "StatusRecording": "Opname",
@@ -233,5 +232,86 @@
     "OptionBlockChannelContent": "Internet kanaal Inhoud",
     "OptionBlockChannelContent": "Internet kanaal Inhoud",
     "ButtonRevoke": "Herroepen",
     "ButtonRevoke": "Herroepen",
     "MessageConfirmRevokeApiKey": "Weet u zeker dat u deze api-sleutel intrekt? Verbinding van de toepassing met Media Browser zal abrupt worden be\u00ebindigd.",
     "MessageConfirmRevokeApiKey": "Weet u zeker dat u deze api-sleutel intrekt? Verbinding van de toepassing met Media Browser zal abrupt worden be\u00ebindigd.",
-    "HeaderConfirmRevokeApiKey": "Intrekken Api Sleutel"
+    "HeaderConfirmRevokeApiKey": "Intrekken Api Sleutel",
+    "ValueContainer": "Container: {0}",
+    "ValueAudioCodec": "Audio Codec: {0}",
+    "ValueVideoCodec": "Video Codec: {0}",
+    "ValueCodec": "Codec: {0}",
+    "ValueConditions": "Voorwaarden: {0}",
+    "LabelAll": "Alles",
+    "HeaderDeleteImage": "Afbeelding verwijderen",
+    "MessageFileNotFound": "Bestand niet gevonden.",
+    "MessageFileReadError": "Er is een fout opgetreden bij het lezen van dit bestand.",
+    "ButtonNextPage": "Volgende pagina",
+    "ButtonPreviousPage": "Vorige Pagina",
+    "ButtonMoveLeft": "Verplaats naar links",
+    "ButtonMoveRight": "Verplaats naar rechts",
+    "ButtonBrowseOnlineImages": "Blader door online afbeeldingen",
+    "HeaderDeleteItem": "Item verwijderen",
+    "ConfirmDeleteItem": "Weet u zeker dat u dit item uit uw bibliotheek wilt verwijderen?",
+    "MessagePleaseEnterNameOrId": "Voer een naam of een externe Id in",
+    "MessageValueNotCorrect": "De ingevoerde waarde is niet correct. Probeer het opnieuw.",
+    "MessageItemSaved": "Item opgeslagen.",
+    "OptionEnded": "Gestopt",
+    "OptionContinuing": "Wordt vervolgd...",
+    "OptionOff": "Uit",
+    "OptionOn": "Aan",
+    "HeaderFields": "Velden",
+    "HeaderFieldsHelp": "Schuiven naar 'uit' om het te vergrendelen en om te voorkomen dat het de gegevens worden gewijzigd.",
+    "HeaderLiveTV": "Live TV",
+    "MissingLocalTrailer": "Lokale trailer ontbreekt.",
+    "MissingPrimaryImage": "Primaire afbeelding ontbreekt.",
+    "MissingBackdropImage": "Achtergrondafbeelding ontbreekt.",
+    "MissingLogoImage": "Logo ontbreekt.",
+    "MissingEpisode": "Ontbrekende aflevering.",
+    "OptionScreenshots": "Schermopnamen",
+    "OptionBackdrops": "Achtergronden",
+    "OptionImages": "Afbeeldingen",
+    "OptionKeywords": "Trefwoorden",
+    "OptionTags": "Tags",
+    "OptionStudios": "Studios",
+    "OptionName": "Naam",
+    "OptionOverview": "Overzicht",
+    "OptionGenres": "Genres",
+    "OptionParentalRating": "Kijkwijzer classificatie",
+    "OptionPeople": "Personen",
+    "OptionRuntime": "Speelduur",
+    "OptionProductionLocations": "Productie Locaties",
+    "OptionBirthLocation": "Geboorte Locatie",
+    "LabelAllChannels": "Alle kanalen",
+    "LabelLiveProgram": "LIVE",
+    "LabelNewProgram": "NIEUW",
+    "LabelPremiereProgram": "PREMIERE",
+    "HeaderChangeFolderType": "Verander Maptype",
+    "HeaderChangeFolderTypeHelp": "Als u het type map wilt wijzigen, verwijder het dan en maak dan een nieuwe collectie met het nieuwe type.",
+    "HeaderAlert": "Waarschuwing",
+    "MessagePleaseRestart": "Herstart om update te voltooien.",
+    "ButtonRestart": "Herstart",
+    "MessagePleaseRefreshPage": "Vernieuw deze pagina om nieuwe updates te ontvangen van de server.",
+    "ButtonHide": "Verbergen",
+    "MessageSettingsSaved": "Instellingen opgeslagen.",
+    "ButtonSignOut": "Afmelden",
+    "ButtonMyProfile": "Mijn profiel",
+    "ButtonMyPreferences": "Mijn Voorkeuren",
+    "MessageBrowserDoesNotSupportWebSockets": "Deze browser ondersteunt geen web sockets. Voor een betere ervaring, probeer een nieuwere browser zoals Chrome, Firefox, IE10 +, Safari (iOS) of Opera.",
+    "LabelInstallingPackage": "Installeren van {0}",
+    "LabelPackageInstallCompleted": "{0} installatie voltooid.",
+    "LabelPackageInstallFailed": "{0} installatie is mislukt.",
+    "LabelPackageInstallCancelled": "{0} installatie geannuleerd.",
+    "TabServer": "Server",
+    "TabUsers": "Gebruikers",
+    "TabLibrary": "Bibliotheek",
+    "TabMetadata": "Metagegevens",
+    "TabDLNA": "DLNA",
+    "TabLiveTV": "Live TV",
+    "TabAutoOrganize": "Automatisch-Organiseren",
+    "TabPlugins": "Plugins",
+    "TabAdvanced": "Geavanceerd",
+    "TabHelp": "Hulp",
+    "TabScheduledTasks": "Geplande taken",
+    "ButtonFullscreen": "Volledig scherm",
+    "ButtonAudioTracks": "Audio Tracks",
+    "ButtonSubtitles": "Ondertitels",
+    "ButtonScenes": "Scenes",
+    "ButtonQuality": "Kwaliteit"
 }
 }

+ 83 - 3
MediaBrowser.Server.Implementations/Localization/JavaScript/pl.json

@@ -38,7 +38,6 @@
     "LabelEpisode": "Episode",
     "LabelEpisode": "Episode",
     "LabelSeries": "Series",
     "LabelSeries": "Series",
     "LabelStopping": "Stopping",
     "LabelStopping": "Stopping",
-    "ButtonStop": "Stop",
     "LabelCancelled": "(cancelled)",
     "LabelCancelled": "(cancelled)",
     "LabelFailed": "(failed)",
     "LabelFailed": "(failed)",
     "LabelAbortedByServerShutdown": "(Aborted by server shutdown)",
     "LabelAbortedByServerShutdown": "(Aborted by server shutdown)",
@@ -58,6 +57,7 @@
     "LabelUnknownLanguage": "Unknown language",
     "LabelUnknownLanguage": "Unknown language",
     "ButtonMute": "Mute",
     "ButtonMute": "Mute",
     "ButtonUnmute": "Unmute",
     "ButtonUnmute": "Unmute",
+    "ButtonStop": "Stop",
     "ButtonNextTrack": "Next Track",
     "ButtonNextTrack": "Next Track",
     "ButtonPause": "Pause",
     "ButtonPause": "Pause",
     "ButtonPlay": "Play",
     "ButtonPlay": "Play",
@@ -106,7 +106,6 @@
     "HeaderResetTuner": "Reset Tuner",
     "HeaderResetTuner": "Reset Tuner",
     "MessageConfirmResetTuner": "Are you sure you wish to reset this tuner? Any active players or recordings will be abruptly stopped.",
     "MessageConfirmResetTuner": "Are you sure you wish to reset this tuner? Any active players or recordings will be abruptly stopped.",
     "ButtonCancelSeries": "Cancel Series",
     "ButtonCancelSeries": "Cancel Series",
-    "LabelAllChannels": "All channels",
     "HeaderSeriesRecordings": "Series Recordings",
     "HeaderSeriesRecordings": "Series Recordings",
     "LabelAnytime": "Any time",
     "LabelAnytime": "Any time",
     "StatusRecording": "Recording",
     "StatusRecording": "Recording",
@@ -233,5 +232,86 @@
     "OptionBlockChannelContent": "Internet Channel Content",
     "OptionBlockChannelContent": "Internet Channel Content",
     "ButtonRevoke": "Revoke",
     "ButtonRevoke": "Revoke",
     "MessageConfirmRevokeApiKey": "Are you sure you wish to revoke this api key? The application's connection to Media Browser will be abruptly terminated.",
     "MessageConfirmRevokeApiKey": "Are you sure you wish to revoke this api key? The application's connection to Media Browser will be abruptly terminated.",
-    "HeaderConfirmRevokeApiKey": "Revoke Api Key"
+    "HeaderConfirmRevokeApiKey": "Revoke Api Key",
+    "ValueContainer": "Container: {0}",
+    "ValueAudioCodec": "Audio Codec: {0}",
+    "ValueVideoCodec": "Video Codec: {0}",
+    "ValueCodec": "Codec: {0}",
+    "ValueConditions": "Conditions: {0}",
+    "LabelAll": "All",
+    "HeaderDeleteImage": "Delete Image",
+    "MessageFileNotFound": "File not found.",
+    "MessageFileReadError": "An error occurred reading this file.",
+    "ButtonNextPage": "Next Page",
+    "ButtonPreviousPage": "Previous Page",
+    "ButtonMoveLeft": "Move left",
+    "ButtonMoveRight": "Move right",
+    "ButtonBrowseOnlineImages": "Browse online images",
+    "HeaderDeleteItem": "Delete Item",
+    "ConfirmDeleteItem": "Are you sure you wish to delete this item from your library?",
+    "MessagePleaseEnterNameOrId": "Please enter a name or an external Id.",
+    "MessageValueNotCorrect": "The value entered is not correct. Please try again.",
+    "MessageItemSaved": "Item saved.",
+    "OptionEnded": "Ended",
+    "OptionContinuing": "Continuing",
+    "OptionOff": "Off",
+    "OptionOn": "On",
+    "HeaderFields": "Fields",
+    "HeaderFieldsHelp": "Slide a field to 'off' to lock it and prevent it's data from being changed.",
+    "HeaderLiveTV": "Live TV",
+    "MissingLocalTrailer": "Missing local trailer.",
+    "MissingPrimaryImage": "Missing primary image.",
+    "MissingBackdropImage": "Missing backdrop image.",
+    "MissingLogoImage": "Missing logo image.",
+    "MissingEpisode": "Missing episode.",
+    "OptionScreenshots": "Screenshots",
+    "OptionBackdrops": "Backdrops",
+    "OptionImages": "Images",
+    "OptionKeywords": "Keywords",
+    "OptionTags": "Tags",
+    "OptionStudios": "Studios",
+    "OptionName": "Name",
+    "OptionOverview": "Overview",
+    "OptionGenres": "Genres",
+    "OptionParentalRating": "Ocena rodzicielska",
+    "OptionPeople": "People",
+    "OptionRuntime": "D\u0142ugo\u015b\u0107 filmu",
+    "OptionProductionLocations": "Production Locations",
+    "OptionBirthLocation": "Birth Location",
+    "LabelAllChannels": "All channels",
+    "LabelLiveProgram": "LIVE",
+    "LabelNewProgram": "NEW",
+    "LabelPremiereProgram": "PREMIERE",
+    "HeaderChangeFolderType": "Change Folder Type",
+    "HeaderChangeFolderTypeHelp": "To change the folder type, please remove and rebuild the collection with the new type.",
+    "HeaderAlert": "Alert",
+    "MessagePleaseRestart": "Please restart to finish updating.",
+    "ButtonRestart": "Restart",
+    "MessagePleaseRefreshPage": "Please refresh this page to receive new updates from the server.",
+    "ButtonHide": "Hide",
+    "MessageSettingsSaved": "Settings saved.",
+    "ButtonSignOut": "Sign Out",
+    "ButtonMyProfile": "My Profile",
+    "ButtonMyPreferences": "My Preferences",
+    "MessageBrowserDoesNotSupportWebSockets": "This browser does not support web sockets. For a better experience, try a newer browser such as Chrome, Firefox, IE10+, Safari (iOS) or Opera.",
+    "LabelInstallingPackage": "Installing {0}",
+    "LabelPackageInstallCompleted": "{0} installation completed.",
+    "LabelPackageInstallFailed": "{0} installation failed.",
+    "LabelPackageInstallCancelled": "{0} installation cancelled.",
+    "TabServer": "Server",
+    "TabUsers": "Users",
+    "TabLibrary": "Library",
+    "TabMetadata": "Metadata",
+    "TabDLNA": "DLNA",
+    "TabLiveTV": "Live TV",
+    "TabAutoOrganize": "Auto-Organize",
+    "TabPlugins": "Plugins",
+    "TabAdvanced": "Zaawansowane",
+    "TabHelp": "Help",
+    "TabScheduledTasks": "Scheduled Tasks",
+    "ButtonFullscreen": "Fullscreen",
+    "ButtonAudioTracks": "Audio Tracks",
+    "ButtonSubtitles": "Subtitles",
+    "ButtonScenes": "Scenes",
+    "ButtonQuality": "Quality"
 }
 }

+ 84 - 4
MediaBrowser.Server.Implementations/Localization/JavaScript/pt_BR.json

@@ -38,7 +38,6 @@
     "LabelEpisode": "Epis\u00f3dio",
     "LabelEpisode": "Epis\u00f3dio",
     "LabelSeries": "S\u00e9ries",
     "LabelSeries": "S\u00e9ries",
     "LabelStopping": "Parando",
     "LabelStopping": "Parando",
-    "ButtonStop": "Parar",
     "LabelCancelled": "(cancelado)",
     "LabelCancelled": "(cancelado)",
     "LabelFailed": "(falhou)",
     "LabelFailed": "(falhou)",
     "LabelAbortedByServerShutdown": "(Abortada pelo desligamento do servidor)",
     "LabelAbortedByServerShutdown": "(Abortada pelo desligamento do servidor)",
@@ -58,6 +57,7 @@
     "LabelUnknownLanguage": "Idioma desconhecido",
     "LabelUnknownLanguage": "Idioma desconhecido",
     "ButtonMute": "Mudo",
     "ButtonMute": "Mudo",
     "ButtonUnmute": "Remover Mudo",
     "ButtonUnmute": "Remover Mudo",
+    "ButtonStop": "Parar",
     "ButtonNextTrack": "Pr\u00f3xima Faixa",
     "ButtonNextTrack": "Pr\u00f3xima Faixa",
     "ButtonPause": "Pausar",
     "ButtonPause": "Pausar",
     "ButtonPlay": "Reproduzir",
     "ButtonPlay": "Reproduzir",
@@ -106,7 +106,6 @@
     "HeaderResetTuner": "Reiniciar Sintonizador",
     "HeaderResetTuner": "Reiniciar Sintonizador",
     "MessageConfirmResetTuner": "Deseja realmente reiniciar este sintonizador? Qualquer reprodutor ativo ser\u00e1 abruptamente parado.",
     "MessageConfirmResetTuner": "Deseja realmente reiniciar este sintonizador? Qualquer reprodutor ativo ser\u00e1 abruptamente parado.",
     "ButtonCancelSeries": "Cancelar S\u00e9rie",
     "ButtonCancelSeries": "Cancelar S\u00e9rie",
-    "LabelAllChannels": "Todos os canais",
     "HeaderSeriesRecordings": "Grava\u00e7\u00f5es de S\u00e9ries",
     "HeaderSeriesRecordings": "Grava\u00e7\u00f5es de S\u00e9ries",
     "LabelAnytime": "Qualquer hora",
     "LabelAnytime": "Qualquer hora",
     "StatusRecording": "Gravando",
     "StatusRecording": "Gravando",
@@ -142,7 +141,7 @@
     "HeaderSelectMetadataPathHelp": "Localize ou digite o caminho que voc\u00ea gostaria de armazenar os metadados. A pasta deve ser grav\u00e1vel.",
     "HeaderSelectMetadataPathHelp": "Localize ou digite o caminho que voc\u00ea gostaria de armazenar os metadados. A pasta deve ser grav\u00e1vel.",
     "HeaderSelectChannelDownloadPath": "Selecione o Caminho para Download do Canal.",
     "HeaderSelectChannelDownloadPath": "Selecione o Caminho para Download do Canal.",
     "HeaderSelectChannelDownloadPathHelp": "Localize ou digite o caminho a ser usado para armazenamento de arquivos de cache do canal. A pasta deve permitir escrita.",
     "HeaderSelectChannelDownloadPathHelp": "Localize ou digite o caminho a ser usado para armazenamento de arquivos de cache do canal. A pasta deve permitir escrita.",
-    "OptionNewCollection": "Novo...",
+    "OptionNewCollection": "Nova...",
     "ButtonAdd": "Adicionar",
     "ButtonAdd": "Adicionar",
     "ButtonRemove": "Remover",
     "ButtonRemove": "Remover",
     "LabelChapterDownloaders": "Downloaders de cap\u00edtulos:",
     "LabelChapterDownloaders": "Downloaders de cap\u00edtulos:",
@@ -233,5 +232,86 @@
     "OptionBlockChannelContent": "Conte\u00fado do Canal de Internet",
     "OptionBlockChannelContent": "Conte\u00fado do Canal de Internet",
     "ButtonRevoke": "Revogar",
     "ButtonRevoke": "Revogar",
     "MessageConfirmRevokeApiKey": "Deseja realmente revogar esta chave da api? A conex\u00e3o da aplica\u00e7\u00e3o com o Media Browser ser\u00e1 abruptamente encerrada.",
     "MessageConfirmRevokeApiKey": "Deseja realmente revogar esta chave da api? A conex\u00e3o da aplica\u00e7\u00e3o com o Media Browser ser\u00e1 abruptamente encerrada.",
-    "HeaderConfirmRevokeApiKey": "Revogar Chave da Api"
+    "HeaderConfirmRevokeApiKey": "Revogar Chave da Api",
+    "ValueContainer": "Container: {0}",
+    "ValueAudioCodec": "Audio Codec: {0}",
+    "ValueVideoCodec": "Video Codec: {0}",
+    "ValueCodec": "Codec: {0}",
+    "ValueConditions": "Conditions: {0}",
+    "LabelAll": "All",
+    "HeaderDeleteImage": "Delete Image",
+    "MessageFileNotFound": "File not found.",
+    "MessageFileReadError": "An error occurred reading this file.",
+    "ButtonNextPage": "Next Page",
+    "ButtonPreviousPage": "Previous Page",
+    "ButtonMoveLeft": "Move left",
+    "ButtonMoveRight": "Move right",
+    "ButtonBrowseOnlineImages": "Browse online images",
+    "HeaderDeleteItem": "Delete Item",
+    "ConfirmDeleteItem": "Are you sure you wish to delete this item from your library?",
+    "MessagePleaseEnterNameOrId": "Please enter a name or an external Id.",
+    "MessageValueNotCorrect": "The value entered is not correct. Please try again.",
+    "MessageItemSaved": "Item saved.",
+    "OptionEnded": "Finalizada",
+    "OptionContinuing": "Em Exibi\u00e7\u00e3o",
+    "OptionOff": "Off",
+    "OptionOn": "On",
+    "HeaderFields": "Fields",
+    "HeaderFieldsHelp": "Slide a field to 'off' to lock it and prevent it's data from being changed.",
+    "HeaderLiveTV": "Live TV",
+    "MissingLocalTrailer": "Missing local trailer.",
+    "MissingPrimaryImage": "Missing primary image.",
+    "MissingBackdropImage": "Missing backdrop image.",
+    "MissingLogoImage": "Missing logo image.",
+    "MissingEpisode": "Missing episode.",
+    "OptionScreenshots": "Screenshots",
+    "OptionBackdrops": "Backdrops",
+    "OptionImages": "Images",
+    "OptionKeywords": "Keywords",
+    "OptionTags": "Tags",
+    "OptionStudios": "Studios",
+    "OptionName": "Name",
+    "OptionOverview": "Overview",
+    "OptionGenres": "Genres",
+    "OptionParentalRating": "Classifica\u00e7\u00e3o Parental",
+    "OptionPeople": "People",
+    "OptionRuntime": "Dura\u00e7\u00e3o",
+    "OptionProductionLocations": "Production Locations",
+    "OptionBirthLocation": "Birth Location",
+    "LabelAllChannels": "Todos os canais",
+    "LabelLiveProgram": "LIVE",
+    "LabelNewProgram": "NEW",
+    "LabelPremiereProgram": "PREMIERE",
+    "HeaderChangeFolderType": "Change Folder Type",
+    "HeaderChangeFolderTypeHelp": "To change the folder type, please remove and rebuild the collection with the new type.",
+    "HeaderAlert": "Alert",
+    "MessagePleaseRestart": "Please restart to finish updating.",
+    "ButtonRestart": "Reiniciar",
+    "MessagePleaseRefreshPage": "Please refresh this page to receive new updates from the server.",
+    "ButtonHide": "Hide",
+    "MessageSettingsSaved": "Settings saved.",
+    "ButtonSignOut": "Sign Out",
+    "ButtonMyProfile": "My Profile",
+    "ButtonMyPreferences": "My Preferences",
+    "MessageBrowserDoesNotSupportWebSockets": "This browser does not support web sockets. For a better experience, try a newer browser such as Chrome, Firefox, IE10+, Safari (iOS) or Opera.",
+    "LabelInstallingPackage": "Installing {0}",
+    "LabelPackageInstallCompleted": "{0} installation completed.",
+    "LabelPackageInstallFailed": "{0} installation failed.",
+    "LabelPackageInstallCancelled": "{0} installation cancelled.",
+    "TabServer": "Servidor",
+    "TabUsers": "Users",
+    "TabLibrary": "Library",
+    "TabMetadata": "Metadados",
+    "TabDLNA": "DLNA",
+    "TabLiveTV": "Live TV",
+    "TabAutoOrganize": "Auto-Organize",
+    "TabPlugins": "Plugins",
+    "TabAdvanced": "Avan\u00e7ado",
+    "TabHelp": "Help",
+    "TabScheduledTasks": "Scheduled Tasks",
+    "ButtonFullscreen": "Fullscreen",
+    "ButtonAudioTracks": "Audio Tracks",
+    "ButtonSubtitles": "Legendas",
+    "ButtonScenes": "Cenas",
+    "ButtonQuality": "Quality"
 }
 }

+ 83 - 3
MediaBrowser.Server.Implementations/Localization/JavaScript/pt_PT.json

@@ -38,7 +38,6 @@
     "LabelEpisode": "Episode",
     "LabelEpisode": "Episode",
     "LabelSeries": "Series",
     "LabelSeries": "Series",
     "LabelStopping": "Stopping",
     "LabelStopping": "Stopping",
-    "ButtonStop": "Parar",
     "LabelCancelled": "(cancelled)",
     "LabelCancelled": "(cancelled)",
     "LabelFailed": "(failed)",
     "LabelFailed": "(failed)",
     "LabelAbortedByServerShutdown": "(Aborted by server shutdown)",
     "LabelAbortedByServerShutdown": "(Aborted by server shutdown)",
@@ -58,6 +57,7 @@
     "LabelUnknownLanguage": "Unknown language",
     "LabelUnknownLanguage": "Unknown language",
     "ButtonMute": "Mute",
     "ButtonMute": "Mute",
     "ButtonUnmute": "Unmute",
     "ButtonUnmute": "Unmute",
+    "ButtonStop": "Parar",
     "ButtonNextTrack": "Pr\u00f3xima Faixa",
     "ButtonNextTrack": "Pr\u00f3xima Faixa",
     "ButtonPause": "Pausar",
     "ButtonPause": "Pausar",
     "ButtonPlay": "Reproduzir",
     "ButtonPlay": "Reproduzir",
@@ -106,7 +106,6 @@
     "HeaderResetTuner": "Reset Tuner",
     "HeaderResetTuner": "Reset Tuner",
     "MessageConfirmResetTuner": "Are you sure you wish to reset this tuner? Any active players or recordings will be abruptly stopped.",
     "MessageConfirmResetTuner": "Are you sure you wish to reset this tuner? Any active players or recordings will be abruptly stopped.",
     "ButtonCancelSeries": "Cancel Series",
     "ButtonCancelSeries": "Cancel Series",
-    "LabelAllChannels": "All channels",
     "HeaderSeriesRecordings": "Series Recordings",
     "HeaderSeriesRecordings": "Series Recordings",
     "LabelAnytime": "Any time",
     "LabelAnytime": "Any time",
     "StatusRecording": "Recording",
     "StatusRecording": "Recording",
@@ -233,5 +232,86 @@
     "OptionBlockChannelContent": "Internet Channel Content",
     "OptionBlockChannelContent": "Internet Channel Content",
     "ButtonRevoke": "Revoke",
     "ButtonRevoke": "Revoke",
     "MessageConfirmRevokeApiKey": "Are you sure you wish to revoke this api key? The application's connection to Media Browser will be abruptly terminated.",
     "MessageConfirmRevokeApiKey": "Are you sure you wish to revoke this api key? The application's connection to Media Browser will be abruptly terminated.",
-    "HeaderConfirmRevokeApiKey": "Revoke Api Key"
+    "HeaderConfirmRevokeApiKey": "Revoke Api Key",
+    "ValueContainer": "Container: {0}",
+    "ValueAudioCodec": "Audio Codec: {0}",
+    "ValueVideoCodec": "Video Codec: {0}",
+    "ValueCodec": "Codec: {0}",
+    "ValueConditions": "Conditions: {0}",
+    "LabelAll": "All",
+    "HeaderDeleteImage": "Delete Image",
+    "MessageFileNotFound": "File not found.",
+    "MessageFileReadError": "An error occurred reading this file.",
+    "ButtonNextPage": "Next Page",
+    "ButtonPreviousPage": "Previous Page",
+    "ButtonMoveLeft": "Move left",
+    "ButtonMoveRight": "Move right",
+    "ButtonBrowseOnlineImages": "Browse online images",
+    "HeaderDeleteItem": "Delete Item",
+    "ConfirmDeleteItem": "Are you sure you wish to delete this item from your library?",
+    "MessagePleaseEnterNameOrId": "Please enter a name or an external Id.",
+    "MessageValueNotCorrect": "The value entered is not correct. Please try again.",
+    "MessageItemSaved": "Item saved.",
+    "OptionEnded": "Terminado",
+    "OptionContinuing": "A Continuar",
+    "OptionOff": "Desligado",
+    "OptionOn": "Ligado",
+    "HeaderFields": "Fields",
+    "HeaderFieldsHelp": "Slide a field to 'off' to lock it and prevent it's data from being changed.",
+    "HeaderLiveTV": "Live TV",
+    "MissingLocalTrailer": "Missing local trailer.",
+    "MissingPrimaryImage": "Missing primary image.",
+    "MissingBackdropImage": "Missing backdrop image.",
+    "MissingLogoImage": "Missing logo image.",
+    "MissingEpisode": "Missing episode.",
+    "OptionScreenshots": "Screenshots",
+    "OptionBackdrops": "Backdrops",
+    "OptionImages": "Images",
+    "OptionKeywords": "Keywords",
+    "OptionTags": "Tags",
+    "OptionStudios": "Studios",
+    "OptionName": "Name",
+    "OptionOverview": "Overview",
+    "OptionGenres": "Genres",
+    "OptionParentalRating": "Classifica\u00e7\u00e3o Parental",
+    "OptionPeople": "People",
+    "OptionRuntime": "Dura\u00e7\u00e3o",
+    "OptionProductionLocations": "Production Locations",
+    "OptionBirthLocation": "Birth Location",
+    "LabelAllChannels": "All channels",
+    "LabelLiveProgram": "LIVE",
+    "LabelNewProgram": "NEW",
+    "LabelPremiereProgram": "PREMIERE",
+    "HeaderChangeFolderType": "Change Folder Type",
+    "HeaderChangeFolderTypeHelp": "To change the folder type, please remove and rebuild the collection with the new type.",
+    "HeaderAlert": "Alert",
+    "MessagePleaseRestart": "Please restart to finish updating.",
+    "ButtonRestart": "Reiniciar",
+    "MessagePleaseRefreshPage": "Please refresh this page to receive new updates from the server.",
+    "ButtonHide": "Hide",
+    "MessageSettingsSaved": "Settings saved.",
+    "ButtonSignOut": "Sign Out",
+    "ButtonMyProfile": "My Profile",
+    "ButtonMyPreferences": "My Preferences",
+    "MessageBrowserDoesNotSupportWebSockets": "This browser does not support web sockets. For a better experience, try a newer browser such as Chrome, Firefox, IE10+, Safari (iOS) or Opera.",
+    "LabelInstallingPackage": "Installing {0}",
+    "LabelPackageInstallCompleted": "{0} installation completed.",
+    "LabelPackageInstallFailed": "{0} installation failed.",
+    "LabelPackageInstallCancelled": "{0} installation cancelled.",
+    "TabServer": "Servidor",
+    "TabUsers": "Users",
+    "TabLibrary": "Library",
+    "TabMetadata": "Metadados",
+    "TabDLNA": "DLNA",
+    "TabLiveTV": "Live TV",
+    "TabAutoOrganize": "Auto-Organize",
+    "TabPlugins": "Plugins",
+    "TabAdvanced": "Avan\u00e7ado",
+    "TabHelp": "Help",
+    "TabScheduledTasks": "Scheduled Tasks",
+    "ButtonFullscreen": "Fullscreen",
+    "ButtonAudioTracks": "Audio Tracks",
+    "ButtonSubtitles": "Legendas",
+    "ButtonScenes": "Cenas",
+    "ButtonQuality": "Quality"
 }
 }

+ 83 - 3
MediaBrowser.Server.Implementations/Localization/JavaScript/ru.json

@@ -38,7 +38,6 @@
     "LabelEpisode": "\u042d\u043f\u0438\u0437\u043e\u0434",
     "LabelEpisode": "\u042d\u043f\u0438\u0437\u043e\u0434",
     "LabelSeries": "\u0421\u0435\u0440\u0438\u0430\u043b",
     "LabelSeries": "\u0421\u0435\u0440\u0438\u0430\u043b",
     "LabelStopping": "\u041e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e",
     "LabelStopping": "\u041e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e",
-    "ButtonStop": "\u041e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c",
     "LabelCancelled": "(\u043e\u0442\u043c\u0435\u043d\u0435\u043d\u043e)",
     "LabelCancelled": "(\u043e\u0442\u043c\u0435\u043d\u0435\u043d\u043e)",
     "LabelFailed": "(\u043d\u0435\u0443\u0434\u0430\u0447\u043d\u043e)",
     "LabelFailed": "(\u043d\u0435\u0443\u0434\u0430\u0447\u043d\u043e)",
     "LabelAbortedByServerShutdown": "(\u041f\u0440\u0435\u0440\u0432\u0430\u043d\u043e \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0430)",
     "LabelAbortedByServerShutdown": "(\u041f\u0440\u0435\u0440\u0432\u0430\u043d\u043e \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0430)",
@@ -58,6 +57,7 @@
     "LabelUnknownLanguage": "\u041d\u0435\u043e\u043f\u043e\u0437\u043d\u0430\u043d\u043d\u044b\u0439 \u044f\u0437\u044b\u043a",
     "LabelUnknownLanguage": "\u041d\u0435\u043e\u043f\u043e\u0437\u043d\u0430\u043d\u043d\u044b\u0439 \u044f\u0437\u044b\u043a",
     "ButtonMute": "\u041e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0437\u0432\u0443\u043a",
     "ButtonMute": "\u041e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0437\u0432\u0443\u043a",
     "ButtonUnmute": "\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0437\u0432\u0443\u043a",
     "ButtonUnmute": "\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0437\u0432\u0443\u043a",
+    "ButtonStop": "\u041e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c",
     "ButtonNextTrack": "\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u0434\u043e\u0440\u043e\u0436\u043a\u0430",
     "ButtonNextTrack": "\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u0434\u043e\u0440\u043e\u0436\u043a\u0430",
     "ButtonPause": "\u041f\u0430\u0443\u0437\u0430",
     "ButtonPause": "\u041f\u0430\u0443\u0437\u0430",
     "ButtonPlay": "\u0412\u043e\u0441\u043f\u0440",
     "ButtonPlay": "\u0412\u043e\u0441\u043f\u0440",
@@ -106,7 +106,6 @@
     "HeaderResetTuner": "\u0421\u0431\u0440\u043e\u0441 \u0442\u044e\u043d\u0435\u0440\u0430",
     "HeaderResetTuner": "\u0421\u0431\u0440\u043e\u0441 \u0442\u044e\u043d\u0435\u0440\u0430",
     "MessageConfirmResetTuner": "\u0412\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u0441\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0439 \u0442\u044e\u043d\u0435\u0440? \u041b\u044e\u0431\u044b\u0435 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0435 \u043f\u043b\u0435\u0439\u0435\u0440\u044b \u0438\u043b\u0438 \u0437\u0430\u043f\u0438\u0441\u0438 \u0437\u0430\u043f\u0438\u0441\u0438 \u0431\u0443\u0434\u0443\u0442 \u0432\u043d\u0435\u0437\u0430\u043f\u043d\u043e \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u044b.",
     "MessageConfirmResetTuner": "\u0412\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u0441\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0439 \u0442\u044e\u043d\u0435\u0440? \u041b\u044e\u0431\u044b\u0435 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0435 \u043f\u043b\u0435\u0439\u0435\u0440\u044b \u0438\u043b\u0438 \u0437\u0430\u043f\u0438\u0441\u0438 \u0437\u0430\u043f\u0438\u0441\u0438 \u0431\u0443\u0434\u0443\u0442 \u0432\u043d\u0435\u0437\u0430\u043f\u043d\u043e \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u044b.",
     "ButtonCancelSeries": "\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c \u0441\u0435\u0440\u0438\u044e",
     "ButtonCancelSeries": "\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c \u0441\u0435\u0440\u0438\u044e",
-    "LabelAllChannels": "\u0412\u0441\u0435 \u043a\u0430\u043d\u0430\u043b\u044b",
     "HeaderSeriesRecordings": "\u0417\u0430\u043f\u0438\u0441\u0438 \u0441\u0435\u0440\u0438\u0439",
     "HeaderSeriesRecordings": "\u0417\u0430\u043f\u0438\u0441\u0438 \u0441\u0435\u0440\u0438\u0439",
     "LabelAnytime": "\u041b\u044e\u0431\u043e\u0435 \u0432\u0440\u0435\u043c\u044f",
     "LabelAnytime": "\u041b\u044e\u0431\u043e\u0435 \u0432\u0440\u0435\u043c\u044f",
     "StatusRecording": "\u0417\u0430\u043f\u0438\u0441\u044c",
     "StatusRecording": "\u0417\u0430\u043f\u0438\u0441\u044c",
@@ -233,5 +232,86 @@
     "OptionBlockChannelContent": "\u0421\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442-\u043a\u0430\u043d\u0430\u043b\u043e\u0432",
     "OptionBlockChannelContent": "\u0421\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442-\u043a\u0430\u043d\u0430\u043b\u043e\u0432",
     "ButtonRevoke": "\u041e\u0442\u043e\u0437\u0432\u0430\u0442\u044c",
     "ButtonRevoke": "\u041e\u0442\u043e\u0437\u0432\u0430\u0442\u044c",
     "MessageConfirmRevokeApiKey": "\u0412\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u043e\u0442\u043e\u0437\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 API?  \u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043a Media Browser \u0431\u0443\u0434\u0435\u0442 \u0440\u0435\u0437\u043a\u043e \u043e\u0431\u043e\u0440\u0432\u0430\u043d\u043e.",
     "MessageConfirmRevokeApiKey": "\u0412\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u043e\u0442\u043e\u0437\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 API?  \u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043a Media Browser \u0431\u0443\u0434\u0435\u0442 \u0440\u0435\u0437\u043a\u043e \u043e\u0431\u043e\u0440\u0432\u0430\u043d\u043e.",
-    "HeaderConfirmRevokeApiKey": "\u041e\u0442\u0437\u044b\u0432 \u043a\u043b\u044e\u0447\u0430 API"
+    "HeaderConfirmRevokeApiKey": "\u041e\u0442\u0437\u044b\u0432 \u043a\u043b\u044e\u0447\u0430 API",
+    "ValueContainer": "\u041a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440: {0}",
+    "ValueAudioCodec": "\u0410\u0443\u0434\u0438\u043e \u043a\u043e\u0434\u0435\u043a: {0}",
+    "ValueVideoCodec": "\u0412\u0438\u0434\u0435\u043e \u043a\u043e\u0434\u0435\u043a: {0}",
+    "ValueCodec": "\u041a\u043e\u0434\u0435\u043a: {0}",
+    "ValueConditions": "\u0423\u0441\u043b\u043e\u0432\u0438\u044f: {0}",
+    "LabelAll": "\u0412\u0441\u0435",
+    "HeaderDeleteImage": "\u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0440\u0438\u0441\u0443\u043d\u043a\u0430",
+    "MessageFileNotFound": "\u0424\u0430\u0439\u043b \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d.",
+    "MessageFileReadError": "\u041f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u043e\u0448\u0438\u0431\u043a\u0430 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0447\u0442\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430.",
+    "ButtonNextPage": "\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430",
+    "ButtonPreviousPage": "\u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430",
+    "ButtonMoveLeft": "\u0414\u0432\u0438\u0433\u0430\u0442\u044c \u0432\u043b\u0435\u0432\u043e",
+    "ButtonMoveRight": "\u0414\u0432\u0438\u0433\u0430\u0442\u044c \u0432\u043f\u0440\u0430\u0432\u043e",
+    "ButtonBrowseOnlineImages": "\u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043e\u043d\u043b\u0430\u0439\u043d \u0440\u0438\u0441\u0443\u043d\u043a\u0438",
+    "HeaderDeleteItem": "\u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430",
+    "ConfirmDeleteItem": "\u0412\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0438\u0437 \u043c\u0435\u0434\u0438\u0430\u0442\u0435\u043a\u0438?",
+    "MessagePleaseEnterNameOrId": "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0438\u043b\u0438 \u0432\u043d\u0435\u0448\u043d\u0438\u0439 ID.",
+    "MessageValueNotCorrect": "\u0412\u0432\u0435\u0434\u0451\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e. \u041f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u0435 \u043f\u043e\u043f\u044b\u0442\u043a\u0443.",
+    "MessageItemSaved": "\u042d\u043b\u0435\u043c\u0435\u043d\u0442 \u0431\u044b\u043b \u0441\u043e\u0445\u0440\u0430\u043d\u0451\u043d.",
+    "OptionEnded": "\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u043e",
+    "OptionContinuing": "\u041f\u0440\u043e\u0434\u043b\u0435\u043d\u043e",
+    "OptionOff": "\u0412\u044b\u043a\u043b",
+    "OptionOn": "\u0412\u043a\u043b",
+    "HeaderFields": "\u041f\u043e\u043b\u044f",
+    "HeaderFieldsHelp": "\u041f\u0435\u0440\u0435\u0434\u0432\u0438\u043d\u044c\u0442\u0435 \u043f\u043e\u043b\u0435 \u043d\u0430 \"\u0412\u042b\u041a\u041b\", \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u0438 \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0442\u0438\u0442\u044c \u043e\u0442 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0435\u0433\u043e \u0434\u0430\u043d\u043d\u044b\u0445.",
+    "HeaderLiveTV": "\u0422\u0412 \u044d\u0444\u0438\u0440",
+    "MissingLocalTrailer": "\u041f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0439 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0442\u0440\u0435\u0439\u043b\u0435\u0440.",
+    "MissingPrimaryImage": "\u041f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0439 \u043f\u0435\u0440\u0432\u0438\u0447\u043d\u044b\u0439 \u0440\u0438\u0441\u0443\u043d\u043e\u043a.",
+    "MissingBackdropImage": "\u041f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0439 \u0440\u0438\u0441\u0443\u043d\u043e\u043a \u0437\u0430\u0434\u043d\u0438\u043a\u0430.",
+    "MissingLogoImage": "\u041f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0439 \u0440\u0438\u0441\u0443\u043d\u043e\u043a \u043b\u043e\u0433\u043e\u0442\u0438\u043f\u0430.",
+    "MissingEpisode": "\u041f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0439 \u044d\u043f\u0438\u0437\u043e\u0434.",
+    "OptionScreenshots": "\u0421\u043d\u0438\u043c\u043a\u0438 \u044d\u043a\u0440\u0430\u043d\u0430",
+    "OptionBackdrops": "\u0417\u0430\u0434\u043d\u0438\u043a\u0438",
+    "OptionImages": "\u0420\u0438\u0441\u0443\u043d\u043a\u0438",
+    "OptionKeywords": "\u041a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0441\u043b\u043e\u0432\u0430",
+    "OptionTags": "\u0422\u0435\u0433\u0438",
+    "OptionStudios": "\u0421\u0442\u0443\u0434\u0438\u0438",
+    "OptionName": "\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435",
+    "OptionOverview": "\u041e\u0431\u043e\u0437\u0440\u0435\u043d\u0438\u0435",
+    "OptionGenres": "\u0416\u0430\u043d\u0440\u044b",
+    "OptionParentalRating": "\u0412\u043e\u0437\u0440\u0430\u0441\u0442\u043d\u0430\u044f \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044f",
+    "OptionPeople": "\u041b\u044e\u0434\u0438",
+    "OptionRuntime": "\u0414\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c",
+    "OptionProductionLocations": "\u041c\u0435\u0441\u0442\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0430",
+    "OptionBirthLocation": "\u041c\u0435\u0441\u0442\u043e \u0440\u043e\u0436\u0434\u0435\u043d\u0438\u044f",
+    "LabelAllChannels": "\u0412\u0441\u0435 \u043a\u0430\u043d\u0430\u043b\u044b",
+    "LabelLiveProgram": "\u041f\u0420\u042f\u041c\u041e\u0419 \u042d\u0424\u0418\u0420",
+    "LabelNewProgram": "\u041d\u041e\u0412\u041e\u0415",
+    "LabelPremiereProgram": "\u041f\u0420\u0415\u041c\u042c\u0415\u0420\u0410",
+    "HeaderChangeFolderType": "\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0442\u0438\u043f\u0430 \u043f\u0430\u043f\u043a\u0438",
+    "HeaderChangeFolderTypeHelp": "\u0427\u0442\u043e\u0431\u044b \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0442\u0438\u043f \u043f\u0430\u043f\u043a\u0438, \u0443\u0434\u0430\u043b\u0438\u0442\u0435 \u0438 \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u043e\u0439\u0442\u0435 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044e \u0441 \u043d\u043e\u0432\u044b\u043c \u0442\u0438\u043f\u043e\u043c.",
+    "HeaderAlert": "\u041e\u043f\u043e\u0432\u0435\u0449\u0435\u043d\u0438\u0435",
+    "MessagePleaseRestart": "\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435, \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044c \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435.",
+    "ButtonRestart": "\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c",
+    "MessagePleaseRefreshPage": "\u041f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435 \u0434\u0430\u043d\u043d\u0443\u044e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043d\u043e\u0432\u044b\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0442 \u0441\u0435\u0440\u0432\u0435\u0440\u0430.",
+    "ButtonHide": "\u0421\u043a\u0440\u044b\u0442\u044c",
+    "MessageSettingsSaved": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0431\u044b\u043b\u0430 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0430.",
+    "ButtonSignOut": "\u0412\u044b\u0439\u0442\u0438",
+    "ButtonMyProfile": "\u041c\u043e\u0439 \u043f\u0440\u043e\u0444\u0438\u043b\u044c",
+    "ButtonMyPreferences": "\u041c\u043e\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438",
+    "MessageBrowserDoesNotSupportWebSockets": "\u0414\u0430\u043d\u043d\u044b\u0439 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0432\u0435\u0431-\u0441\u043e\u043a\u0435\u0442\u044b. \u0414\u043b\u044f \u0431\u043e\u043b\u0435\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u0434\u0435\u043b\u0430\u0439\u0442\u0435 \u043f\u043e\u043f\u044b\u0442\u043a\u0443 \u0441 \u043d\u043e\u0432\u044b\u043c \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043e\u043c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, Chrome, Firefox, IE10+, Safari (iOS) \u0438\u043b\u0438 Opera.",
+    "LabelInstallingPackage": "\u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f {0}",
+    "LabelPackageInstallCompleted": "\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 {0} \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0430.",
+    "LabelPackageInstallFailed": "\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 {0} \u043d\u0435\u0443\u0434\u0430\u0447\u043d\u0430.",
+    "LabelPackageInstallCancelled": "\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 {0} \u043e\u0442\u043c\u0435\u043d\u0435\u043d\u0430.",
+    "TabServer": "\u0421\u0435\u0440\u0432\u0435\u0440",
+    "TabUsers": "\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438",
+    "TabLibrary": "\u041c\u0435\u0434\u0438\u0430\u0442\u0435\u043a\u0430",
+    "TabMetadata": "\u041c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435",
+    "TabDLNA": "DLNA-\u0440\u0435\u0436\u0438\u043c",
+    "TabLiveTV": "\u0422\u0412 \u044d\u0444\u0438\u0440",
+    "TabAutoOrganize": "\u0410\u0432\u0442\u043e\u0440\u0435\u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f",
+    "TabPlugins": "\u041f\u043b\u0430\u0433\u0438\u043d\u044b",
+    "TabAdvanced": "\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u044b\u0435",
+    "TabHelp": "\u0421\u043f\u0440\u0430\u0432\u043a\u0430",
+    "TabScheduledTasks": "\u041f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a",
+    "ButtonFullscreen": "\u041f\u043e\u043b\u043d\u044b\u0439 \u044d\u043a\u0440\u0430\u043d",
+    "ButtonAudioTracks": "\u0410\u0443\u0434\u0438\u043e \u0434\u043e\u0440\u043e\u0436\u043a\u0438",
+    "ButtonSubtitles": "\u0421\u0443\u0431\u0442\u0438\u0442\u0440\u044b",
+    "ButtonScenes": "\u0421\u0446\u0435\u043d\u044b",
+    "ButtonQuality": "\u041a\u0430\u0447\u0435\u0441\u0442\u0432\u043e"
 }
 }

+ 96 - 16
MediaBrowser.Server.Implementations/Localization/JavaScript/sv.json

@@ -38,7 +38,6 @@
     "LabelEpisode": "Avsnitt",
     "LabelEpisode": "Avsnitt",
     "LabelSeries": "Serie",
     "LabelSeries": "Serie",
     "LabelStopping": "Avbryter",
     "LabelStopping": "Avbryter",
-    "ButtonStop": "Stopp",
     "LabelCancelled": "(avbr\u00f6ts)",
     "LabelCancelled": "(avbr\u00f6ts)",
     "LabelFailed": "(misslyckades)",
     "LabelFailed": "(misslyckades)",
     "LabelAbortedByServerShutdown": "(avbr\u00f6ts eftersom servern st\u00e4ngdes av)",
     "LabelAbortedByServerShutdown": "(avbr\u00f6ts eftersom servern st\u00e4ngdes av)",
@@ -58,6 +57,7 @@
     "LabelUnknownLanguage": "Ok\u00e4nt spr\u00e5k",
     "LabelUnknownLanguage": "Ok\u00e4nt spr\u00e5k",
     "ButtonMute": "Tyst",
     "ButtonMute": "Tyst",
     "ButtonUnmute": "Muting av",
     "ButtonUnmute": "Muting av",
+    "ButtonStop": "Stopp",
     "ButtonNextTrack": "N\u00e4sta sp\u00e5r",
     "ButtonNextTrack": "N\u00e4sta sp\u00e5r",
     "ButtonPause": "Paus",
     "ButtonPause": "Paus",
     "ButtonPlay": "Spela upp",
     "ButtonPlay": "Spela upp",
@@ -106,7 +106,6 @@
     "HeaderResetTuner": "\u00c5terst\u00e4ll mottagare",
     "HeaderResetTuner": "\u00c5terst\u00e4ll mottagare",
     "MessageConfirmResetTuner": "Vill du verkligen \u00e5terst\u00e4lla den h\u00e4r mottagaren? Alla aktiva uppspelare och inspelningar kommer att avbrytas utan f\u00f6rvarning.",
     "MessageConfirmResetTuner": "Vill du verkligen \u00e5terst\u00e4lla den h\u00e4r mottagaren? Alla aktiva uppspelare och inspelningar kommer att avbrytas utan f\u00f6rvarning.",
     "ButtonCancelSeries": "Avbryt serieinspelning",
     "ButtonCancelSeries": "Avbryt serieinspelning",
-    "LabelAllChannels": "Alla kanaler",
     "HeaderSeriesRecordings": "Serieinspelningar",
     "HeaderSeriesRecordings": "Serieinspelningar",
     "LabelAnytime": "N\u00e4r som helst",
     "LabelAnytime": "N\u00e4r som helst",
     "StatusRecording": "Inspelning p\u00e5g\u00e5r",
     "StatusRecording": "Inspelning p\u00e5g\u00e5r",
@@ -216,22 +215,103 @@
     "HeaderAlbum": "Album",
     "HeaderAlbum": "Album",
     "HeaderAlbumArtist": "Albumartist",
     "HeaderAlbumArtist": "Albumartist",
     "HeaderArtist": "Artist",
     "HeaderArtist": "Artist",
-    "LabelAddedOnDate": "Added {0}",
+    "LabelAddedOnDate": "{0} tillagd",
     "ButtonStart": "Start",
     "ButtonStart": "Start",
     "HeaderChannels": "Kanaler",
     "HeaderChannels": "Kanaler",
     "HeaderMediaFolders": "Mediamappar",
     "HeaderMediaFolders": "Mediamappar",
-    "HeaderBlockItemsWithNoRating": "Block items with no rating information:",
-    "OptionBlockOthers": "Others",
-    "OptionBlockTvShows": "TV Shows",
+    "HeaderBlockItemsWithNoRating": "Blockera objekt utan \u00e5ldersgr\u00e4ns:",
+    "OptionBlockOthers": "\u00d6vrigt",
+    "OptionBlockTvShows": "TV-serier",
     "OptionBlockTrailers": "Trailers",
     "OptionBlockTrailers": "Trailers",
-    "OptionBlockMusic": "Music",
-    "OptionBlockMovies": "Movies",
-    "OptionBlockBooks": "Books",
-    "OptionBlockGames": "Games",
-    "OptionBlockLiveTvPrograms": "Live TV Programs",
-    "OptionBlockLiveTvChannels": "Live TV Channels",
-    "OptionBlockChannelContent": "Internet Channel Content",
-    "ButtonRevoke": "Revoke",
-    "MessageConfirmRevokeApiKey": "Are you sure you wish to revoke this api key? The application's connection to Media Browser will be abruptly terminated.",
-    "HeaderConfirmRevokeApiKey": "Revoke Api Key"
+    "OptionBlockMusic": "Musik",
+    "OptionBlockMovies": "Filmer",
+    "OptionBlockBooks": "B\u00f6cker",
+    "OptionBlockGames": "Spel",
+    "OptionBlockLiveTvPrograms": "TV-program",
+    "OptionBlockLiveTvChannels": "TV-kanaler",
+    "OptionBlockChannelContent": "Kanalinneh\u00e5ll fr\u00e5n Internet",
+    "ButtonRevoke": "\u00c5terkalla",
+    "MessageConfirmRevokeApiKey": "\u00c4r du s\u00e4ker p\u00e5 att du vill \u00e5terkalla den h\u00e4r API-nyckeln? Programmets anslutning till Media Browser kommer att avbrytas omg\u00e5ende.",
+    "HeaderConfirmRevokeApiKey": "\u00c5terkalla API-nyckel",
+    "ValueContainer": "Container: {0}",
+    "ValueAudioCodec": "Audio Codec: {0}",
+    "ValueVideoCodec": "Video Codec: {0}",
+    "ValueCodec": "Codec: {0}",
+    "ValueConditions": "Conditions: {0}",
+    "LabelAll": "All",
+    "HeaderDeleteImage": "Delete Image",
+    "MessageFileNotFound": "File not found.",
+    "MessageFileReadError": "An error occurred reading this file.",
+    "ButtonNextPage": "Next Page",
+    "ButtonPreviousPage": "Previous Page",
+    "ButtonMoveLeft": "Move left",
+    "ButtonMoveRight": "Move right",
+    "ButtonBrowseOnlineImages": "Browse online images",
+    "HeaderDeleteItem": "Delete Item",
+    "ConfirmDeleteItem": "Are you sure you wish to delete this item from your library?",
+    "MessagePleaseEnterNameOrId": "Please enter a name or an external Id.",
+    "MessageValueNotCorrect": "The value entered is not correct. Please try again.",
+    "MessageItemSaved": "Item saved.",
+    "OptionEnded": "Avslutad",
+    "OptionContinuing": "P\u00e5g\u00e5ende",
+    "OptionOff": "Av",
+    "OptionOn": "P\u00e5",
+    "HeaderFields": "Fields",
+    "HeaderFieldsHelp": "Slide a field to 'off' to lock it and prevent it's data from being changed.",
+    "HeaderLiveTV": "Live TV",
+    "MissingLocalTrailer": "Missing local trailer.",
+    "MissingPrimaryImage": "Missing primary image.",
+    "MissingBackdropImage": "Missing backdrop image.",
+    "MissingLogoImage": "Missing logo image.",
+    "MissingEpisode": "Missing episode.",
+    "OptionScreenshots": "Screenshots",
+    "OptionBackdrops": "Backdrops",
+    "OptionImages": "Images",
+    "OptionKeywords": "Keywords",
+    "OptionTags": "Tags",
+    "OptionStudios": "Studios",
+    "OptionName": "Name",
+    "OptionOverview": "Overview",
+    "OptionGenres": "Genres",
+    "OptionParentalRating": "F\u00f6r\u00e4ldraklassning",
+    "OptionPeople": "People",
+    "OptionRuntime": "Speltid",
+    "OptionProductionLocations": "Production Locations",
+    "OptionBirthLocation": "Birth Location",
+    "LabelAllChannels": "Alla kanaler",
+    "LabelLiveProgram": "LIVE",
+    "LabelNewProgram": "NEW",
+    "LabelPremiereProgram": "PREMIERE",
+    "HeaderChangeFolderType": "Change Folder Type",
+    "HeaderChangeFolderTypeHelp": "To change the folder type, please remove and rebuild the collection with the new type.",
+    "HeaderAlert": "Alert",
+    "MessagePleaseRestart": "Please restart to finish updating.",
+    "ButtonRestart": "Starta om",
+    "MessagePleaseRefreshPage": "Please refresh this page to receive new updates from the server.",
+    "ButtonHide": "Hide",
+    "MessageSettingsSaved": "Settings saved.",
+    "ButtonSignOut": "Sign Out",
+    "ButtonMyProfile": "My Profile",
+    "ButtonMyPreferences": "My Preferences",
+    "MessageBrowserDoesNotSupportWebSockets": "This browser does not support web sockets. For a better experience, try a newer browser such as Chrome, Firefox, IE10+, Safari (iOS) or Opera.",
+    "LabelInstallingPackage": "Installing {0}",
+    "LabelPackageInstallCompleted": "{0} installation completed.",
+    "LabelPackageInstallFailed": "{0} installation failed.",
+    "LabelPackageInstallCancelled": "{0} installation cancelled.",
+    "TabServer": "Server",
+    "TabUsers": "Users",
+    "TabLibrary": "Library",
+    "TabMetadata": "Metadata",
+    "TabDLNA": "DLNA",
+    "TabLiveTV": "Live TV",
+    "TabAutoOrganize": "Auto-Organize",
+    "TabPlugins": "Plugins",
+    "TabAdvanced": "Avancerat",
+    "TabHelp": "Help",
+    "TabScheduledTasks": "Scheduled Tasks",
+    "ButtonFullscreen": "Fullscreen",
+    "ButtonAudioTracks": "Audio Tracks",
+    "ButtonSubtitles": "Undertexter",
+    "ButtonScenes": "Scener",
+    "ButtonQuality": "Quality"
 }
 }

+ 83 - 3
MediaBrowser.Server.Implementations/Localization/JavaScript/vi.json

@@ -38,7 +38,6 @@
     "LabelEpisode": "Episode",
     "LabelEpisode": "Episode",
     "LabelSeries": "Series",
     "LabelSeries": "Series",
     "LabelStopping": "Stopping",
     "LabelStopping": "Stopping",
-    "ButtonStop": "Stop",
     "LabelCancelled": "(cancelled)",
     "LabelCancelled": "(cancelled)",
     "LabelFailed": "(failed)",
     "LabelFailed": "(failed)",
     "LabelAbortedByServerShutdown": "(Aborted by server shutdown)",
     "LabelAbortedByServerShutdown": "(Aborted by server shutdown)",
@@ -58,6 +57,7 @@
     "LabelUnknownLanguage": "Unknown language",
     "LabelUnknownLanguage": "Unknown language",
     "ButtonMute": "Mute",
     "ButtonMute": "Mute",
     "ButtonUnmute": "Unmute",
     "ButtonUnmute": "Unmute",
+    "ButtonStop": "Stop",
     "ButtonNextTrack": "Next Track",
     "ButtonNextTrack": "Next Track",
     "ButtonPause": "Pause",
     "ButtonPause": "Pause",
     "ButtonPlay": "Play",
     "ButtonPlay": "Play",
@@ -106,7 +106,6 @@
     "HeaderResetTuner": "Reset Tuner",
     "HeaderResetTuner": "Reset Tuner",
     "MessageConfirmResetTuner": "Are you sure you wish to reset this tuner? Any active players or recordings will be abruptly stopped.",
     "MessageConfirmResetTuner": "Are you sure you wish to reset this tuner? Any active players or recordings will be abruptly stopped.",
     "ButtonCancelSeries": "Cancel Series",
     "ButtonCancelSeries": "Cancel Series",
-    "LabelAllChannels": "All channels",
     "HeaderSeriesRecordings": "Series Recordings",
     "HeaderSeriesRecordings": "Series Recordings",
     "LabelAnytime": "Any time",
     "LabelAnytime": "Any time",
     "StatusRecording": "Recording",
     "StatusRecording": "Recording",
@@ -233,5 +232,86 @@
     "OptionBlockChannelContent": "Internet Channel Content",
     "OptionBlockChannelContent": "Internet Channel Content",
     "ButtonRevoke": "Revoke",
     "ButtonRevoke": "Revoke",
     "MessageConfirmRevokeApiKey": "Are you sure you wish to revoke this api key? The application's connection to Media Browser will be abruptly terminated.",
     "MessageConfirmRevokeApiKey": "Are you sure you wish to revoke this api key? The application's connection to Media Browser will be abruptly terminated.",
-    "HeaderConfirmRevokeApiKey": "Revoke Api Key"
+    "HeaderConfirmRevokeApiKey": "Revoke Api Key",
+    "ValueContainer": "Container: {0}",
+    "ValueAudioCodec": "Audio Codec: {0}",
+    "ValueVideoCodec": "Video Codec: {0}",
+    "ValueCodec": "Codec: {0}",
+    "ValueConditions": "Conditions: {0}",
+    "LabelAll": "All",
+    "HeaderDeleteImage": "Delete Image",
+    "MessageFileNotFound": "File not found.",
+    "MessageFileReadError": "An error occurred reading this file.",
+    "ButtonNextPage": "Next Page",
+    "ButtonPreviousPage": "Previous Page",
+    "ButtonMoveLeft": "Move left",
+    "ButtonMoveRight": "Move right",
+    "ButtonBrowseOnlineImages": "Browse online images",
+    "HeaderDeleteItem": "Delete Item",
+    "ConfirmDeleteItem": "Are you sure you wish to delete this item from your library?",
+    "MessagePleaseEnterNameOrId": "Please enter a name or an external Id.",
+    "MessageValueNotCorrect": "The value entered is not correct. Please try again.",
+    "MessageItemSaved": "Item saved.",
+    "OptionEnded": "Ended",
+    "OptionContinuing": "Continuing",
+    "OptionOff": "Off",
+    "OptionOn": "On",
+    "HeaderFields": "Fields",
+    "HeaderFieldsHelp": "Slide a field to 'off' to lock it and prevent it's data from being changed.",
+    "HeaderLiveTV": "Live TV",
+    "MissingLocalTrailer": "Missing local trailer.",
+    "MissingPrimaryImage": "Missing primary image.",
+    "MissingBackdropImage": "Missing backdrop image.",
+    "MissingLogoImage": "Missing logo image.",
+    "MissingEpisode": "Missing episode.",
+    "OptionScreenshots": "Screenshots",
+    "OptionBackdrops": "Backdrops",
+    "OptionImages": "Images",
+    "OptionKeywords": "Keywords",
+    "OptionTags": "Tags",
+    "OptionStudios": "Studios",
+    "OptionName": "Name",
+    "OptionOverview": "Overview",
+    "OptionGenres": "Genres",
+    "OptionParentalRating": "Parental Rating",
+    "OptionPeople": "People",
+    "OptionRuntime": "Th\u1eddi gian ph\u00e1t",
+    "OptionProductionLocations": "Production Locations",
+    "OptionBirthLocation": "Birth Location",
+    "LabelAllChannels": "All channels",
+    "LabelLiveProgram": "LIVE",
+    "LabelNewProgram": "NEW",
+    "LabelPremiereProgram": "PREMIERE",
+    "HeaderChangeFolderType": "Change Folder Type",
+    "HeaderChangeFolderTypeHelp": "To change the folder type, please remove and rebuild the collection with the new type.",
+    "HeaderAlert": "Alert",
+    "MessagePleaseRestart": "Please restart to finish updating.",
+    "ButtonRestart": "Restart",
+    "MessagePleaseRefreshPage": "Please refresh this page to receive new updates from the server.",
+    "ButtonHide": "Hide",
+    "MessageSettingsSaved": "Settings saved.",
+    "ButtonSignOut": "Sign Out",
+    "ButtonMyProfile": "My Profile",
+    "ButtonMyPreferences": "My Preferences",
+    "MessageBrowserDoesNotSupportWebSockets": "This browser does not support web sockets. For a better experience, try a newer browser such as Chrome, Firefox, IE10+, Safari (iOS) or Opera.",
+    "LabelInstallingPackage": "Installing {0}",
+    "LabelPackageInstallCompleted": "{0} installation completed.",
+    "LabelPackageInstallFailed": "{0} installation failed.",
+    "LabelPackageInstallCancelled": "{0} installation cancelled.",
+    "TabServer": "M\u00e1y ch\u1ee7",
+    "TabUsers": "Users",
+    "TabLibrary": "Library",
+    "TabMetadata": "Metadata",
+    "TabDLNA": "DLNA",
+    "TabLiveTV": "Live TV",
+    "TabAutoOrganize": "Auto-Organize",
+    "TabPlugins": "Plugins",
+    "TabAdvanced": "Advanced",
+    "TabHelp": "Help",
+    "TabScheduledTasks": "Scheduled Tasks",
+    "ButtonFullscreen": "Fullscreen",
+    "ButtonAudioTracks": "Audio Tracks",
+    "ButtonSubtitles": "Subtitles",
+    "ButtonScenes": "Scenes",
+    "ButtonQuality": "Quality"
 }
 }

+ 83 - 3
MediaBrowser.Server.Implementations/Localization/JavaScript/zh_TW.json

@@ -38,7 +38,6 @@
     "LabelEpisode": "Episode",
     "LabelEpisode": "Episode",
     "LabelSeries": "Series",
     "LabelSeries": "Series",
     "LabelStopping": "Stopping",
     "LabelStopping": "Stopping",
-    "ButtonStop": "Stop",
     "LabelCancelled": "(cancelled)",
     "LabelCancelled": "(cancelled)",
     "LabelFailed": "(failed)",
     "LabelFailed": "(failed)",
     "LabelAbortedByServerShutdown": "(Aborted by server shutdown)",
     "LabelAbortedByServerShutdown": "(Aborted by server shutdown)",
@@ -58,6 +57,7 @@
     "LabelUnknownLanguage": "Unknown language",
     "LabelUnknownLanguage": "Unknown language",
     "ButtonMute": "Mute",
     "ButtonMute": "Mute",
     "ButtonUnmute": "Unmute",
     "ButtonUnmute": "Unmute",
+    "ButtonStop": "Stop",
     "ButtonNextTrack": "Next Track",
     "ButtonNextTrack": "Next Track",
     "ButtonPause": "Pause",
     "ButtonPause": "Pause",
     "ButtonPlay": "\u64ad\u653e",
     "ButtonPlay": "\u64ad\u653e",
@@ -106,7 +106,6 @@
     "HeaderResetTuner": "Reset Tuner",
     "HeaderResetTuner": "Reset Tuner",
     "MessageConfirmResetTuner": "Are you sure you wish to reset this tuner? Any active players or recordings will be abruptly stopped.",
     "MessageConfirmResetTuner": "Are you sure you wish to reset this tuner? Any active players or recordings will be abruptly stopped.",
     "ButtonCancelSeries": "Cancel Series",
     "ButtonCancelSeries": "Cancel Series",
-    "LabelAllChannels": "All channels",
     "HeaderSeriesRecordings": "Series Recordings",
     "HeaderSeriesRecordings": "Series Recordings",
     "LabelAnytime": "Any time",
     "LabelAnytime": "Any time",
     "StatusRecording": "Recording",
     "StatusRecording": "Recording",
@@ -233,5 +232,86 @@
     "OptionBlockChannelContent": "Internet Channel Content",
     "OptionBlockChannelContent": "Internet Channel Content",
     "ButtonRevoke": "Revoke",
     "ButtonRevoke": "Revoke",
     "MessageConfirmRevokeApiKey": "Are you sure you wish to revoke this api key? The application's connection to Media Browser will be abruptly terminated.",
     "MessageConfirmRevokeApiKey": "Are you sure you wish to revoke this api key? The application's connection to Media Browser will be abruptly terminated.",
-    "HeaderConfirmRevokeApiKey": "Revoke Api Key"
+    "HeaderConfirmRevokeApiKey": "Revoke Api Key",
+    "ValueContainer": "Container: {0}",
+    "ValueAudioCodec": "Audio Codec: {0}",
+    "ValueVideoCodec": "Video Codec: {0}",
+    "ValueCodec": "Codec: {0}",
+    "ValueConditions": "Conditions: {0}",
+    "LabelAll": "All",
+    "HeaderDeleteImage": "Delete Image",
+    "MessageFileNotFound": "File not found.",
+    "MessageFileReadError": "An error occurred reading this file.",
+    "ButtonNextPage": "Next Page",
+    "ButtonPreviousPage": "Previous Page",
+    "ButtonMoveLeft": "Move left",
+    "ButtonMoveRight": "Move right",
+    "ButtonBrowseOnlineImages": "Browse online images",
+    "HeaderDeleteItem": "Delete Item",
+    "ConfirmDeleteItem": "Are you sure you wish to delete this item from your library?",
+    "MessagePleaseEnterNameOrId": "Please enter a name or an external Id.",
+    "MessageValueNotCorrect": "The value entered is not correct. Please try again.",
+    "MessageItemSaved": "Item saved.",
+    "OptionEnded": "\u5b8c\u7d50",
+    "OptionContinuing": "\u6301\u7e8c",
+    "OptionOff": "\u95dc\u9589",
+    "OptionOn": "\u958b\u555f",
+    "HeaderFields": "Fields",
+    "HeaderFieldsHelp": "Slide a field to 'off' to lock it and prevent it's data from being changed.",
+    "HeaderLiveTV": "Live TV",
+    "MissingLocalTrailer": "Missing local trailer.",
+    "MissingPrimaryImage": "Missing primary image.",
+    "MissingBackdropImage": "Missing backdrop image.",
+    "MissingLogoImage": "Missing logo image.",
+    "MissingEpisode": "Missing episode.",
+    "OptionScreenshots": "Screenshots",
+    "OptionBackdrops": "Backdrops",
+    "OptionImages": "Images",
+    "OptionKeywords": "Keywords",
+    "OptionTags": "Tags",
+    "OptionStudios": "Studios",
+    "OptionName": "Name",
+    "OptionOverview": "Overview",
+    "OptionGenres": "Genres",
+    "OptionParentalRating": "\u5bb6\u9577\u8a55\u7d1a",
+    "OptionPeople": "People",
+    "OptionRuntime": "\u64ad\u653e\u9577\u5ea6",
+    "OptionProductionLocations": "Production Locations",
+    "OptionBirthLocation": "Birth Location",
+    "LabelAllChannels": "All channels",
+    "LabelLiveProgram": "LIVE",
+    "LabelNewProgram": "NEW",
+    "LabelPremiereProgram": "PREMIERE",
+    "HeaderChangeFolderType": "Change Folder Type",
+    "HeaderChangeFolderTypeHelp": "To change the folder type, please remove and rebuild the collection with the new type.",
+    "HeaderAlert": "Alert",
+    "MessagePleaseRestart": "Please restart to finish updating.",
+    "ButtonRestart": "Restart",
+    "MessagePleaseRefreshPage": "Please refresh this page to receive new updates from the server.",
+    "ButtonHide": "Hide",
+    "MessageSettingsSaved": "Settings saved.",
+    "ButtonSignOut": "Sign Out",
+    "ButtonMyProfile": "My Profile",
+    "ButtonMyPreferences": "My Preferences",
+    "MessageBrowserDoesNotSupportWebSockets": "This browser does not support web sockets. For a better experience, try a newer browser such as Chrome, Firefox, IE10+, Safari (iOS) or Opera.",
+    "LabelInstallingPackage": "Installing {0}",
+    "LabelPackageInstallCompleted": "{0} installation completed.",
+    "LabelPackageInstallFailed": "{0} installation failed.",
+    "LabelPackageInstallCancelled": "{0} installation cancelled.",
+    "TabServer": "\u4f3a\u670d\u5668",
+    "TabUsers": "Users",
+    "TabLibrary": "Library",
+    "TabMetadata": "\u5a92\u9ad4\u8cc7\u6599",
+    "TabDLNA": "DLNA",
+    "TabLiveTV": "Live TV",
+    "TabAutoOrganize": "Auto-Organize",
+    "TabPlugins": "Plugins",
+    "TabAdvanced": "\u9032\u968e",
+    "TabHelp": "Help",
+    "TabScheduledTasks": "Scheduled Tasks",
+    "ButtonFullscreen": "Fullscreen",
+    "ButtonAudioTracks": "Audio Tracks",
+    "ButtonSubtitles": "Subtitles",
+    "ButtonScenes": "Scenes",
+    "ButtonQuality": "Quality"
 }
 }

+ 3 - 4
MediaBrowser.Server.Implementations/Localization/Server/ar.json

@@ -630,8 +630,8 @@
     "ButtonScenes": "Scenes",
     "ButtonScenes": "Scenes",
     "ButtonSubtitles": "Subtitles",
     "ButtonSubtitles": "Subtitles",
     "ButtonAudioTracks": "Audio tracks",
     "ButtonAudioTracks": "Audio tracks",
-    "ButtonPreviousTrack": "Previous track",
-    "ButtonNextTrack": "Next track",
+    "ButtonPreviousTrack": "Previous Track",
+    "ButtonNextTrack": "Next Track",
     "ButtonStop": "Stop",
     "ButtonStop": "Stop",
     "ButtonPause": "Pause",
     "ButtonPause": "Pause",
     "LabelGroupMoviesIntoCollections": "Group movies into collections",
     "LabelGroupMoviesIntoCollections": "Group movies into collections",
@@ -744,7 +744,6 @@
     "LabelDisplayPluginsFor": "Display plugins for:",
     "LabelDisplayPluginsFor": "Display plugins for:",
     "PluginTabMediaBrowserClassic": "MB Classic",
     "PluginTabMediaBrowserClassic": "MB Classic",
     "PluginTabMediaBrowserTheater": "MB Theater",
     "PluginTabMediaBrowserTheater": "MB Theater",
-    "TabOtherPlugins": "Others",
     "LabelEpisodeName": "Episode name",
     "LabelEpisodeName": "Episode name",
     "LabelSeriesName": "Series name",
     "LabelSeriesName": "Series name",
     "ValueSeriesNamePeriod": "Series.name",
     "ValueSeriesNamePeriod": "Series.name",
@@ -845,7 +844,7 @@
     "HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.",
     "HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.",
     "LabelLoginDisclaimer": "Login disclaimer:",
     "LabelLoginDisclaimer": "Login disclaimer:",
     "LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.",
     "LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.",
-    "LabelAutomaticallyDonate": "Automatically donate this amount each month",
+    "LabelAutomaticallyDonate": "Automatically donate this amount every six months",
     "LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.",
     "LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.",
     "OptionList": "List",
     "OptionList": "List",
     "TabDashboard": "Dashboard",
     "TabDashboard": "Dashboard",

+ 3 - 4
MediaBrowser.Server.Implementations/Localization/Server/ca.json

@@ -630,8 +630,8 @@
     "ButtonScenes": "Scenes",
     "ButtonScenes": "Scenes",
     "ButtonSubtitles": "Subtitles",
     "ButtonSubtitles": "Subtitles",
     "ButtonAudioTracks": "Audio tracks",
     "ButtonAudioTracks": "Audio tracks",
-    "ButtonPreviousTrack": "Previous track",
-    "ButtonNextTrack": "Next track",
+    "ButtonPreviousTrack": "Previous Track",
+    "ButtonNextTrack": "Next Track",
     "ButtonStop": "Stop",
     "ButtonStop": "Stop",
     "ButtonPause": "Pause",
     "ButtonPause": "Pause",
     "LabelGroupMoviesIntoCollections": "Group movies into collections",
     "LabelGroupMoviesIntoCollections": "Group movies into collections",
@@ -744,7 +744,6 @@
     "LabelDisplayPluginsFor": "Display plugins for:",
     "LabelDisplayPluginsFor": "Display plugins for:",
     "PluginTabMediaBrowserClassic": "MB Classic",
     "PluginTabMediaBrowserClassic": "MB Classic",
     "PluginTabMediaBrowserTheater": "MB Theater",
     "PluginTabMediaBrowserTheater": "MB Theater",
-    "TabOtherPlugins": "Others",
     "LabelEpisodeName": "Episode name",
     "LabelEpisodeName": "Episode name",
     "LabelSeriesName": "Series name",
     "LabelSeriesName": "Series name",
     "ValueSeriesNamePeriod": "Series.name",
     "ValueSeriesNamePeriod": "Series.name",
@@ -845,7 +844,7 @@
     "HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.",
     "HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.",
     "LabelLoginDisclaimer": "Login disclaimer:",
     "LabelLoginDisclaimer": "Login disclaimer:",
     "LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.",
     "LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.",
-    "LabelAutomaticallyDonate": "Automatically donate this amount each month",
+    "LabelAutomaticallyDonate": "Automatically donate this amount every six months",
     "LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.",
     "LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.",
     "OptionList": "List",
     "OptionList": "List",
     "TabDashboard": "Dashboard",
     "TabDashboard": "Dashboard",

+ 4 - 5
MediaBrowser.Server.Implementations/Localization/Server/cs.json

@@ -479,7 +479,7 @@
     "HeaderProgram": "Program",
     "HeaderProgram": "Program",
     "HeaderClients": "Klienti",
     "HeaderClients": "Klienti",
     "LabelCompleted": "Hotovo",
     "LabelCompleted": "Hotovo",
-    "LabelFailed": "Failed",
+    "LabelFailed": "Chyba",
     "LabelSkipped": "P\u0159esko\u010deno",
     "LabelSkipped": "P\u0159esko\u010deno",
     "HeaderEpisodeOrganization": "Organizace epizod",
     "HeaderEpisodeOrganization": "Organizace epizod",
     "LabelSeries": "Series:",
     "LabelSeries": "Series:",
@@ -630,8 +630,8 @@
     "ButtonScenes": "Sc\u00e9ny",
     "ButtonScenes": "Sc\u00e9ny",
     "ButtonSubtitles": "Titulky",
     "ButtonSubtitles": "Titulky",
     "ButtonAudioTracks": "Audio stopy",
     "ButtonAudioTracks": "Audio stopy",
-    "ButtonPreviousTrack": "Previous track",
-    "ButtonNextTrack": "Next track",
+    "ButtonPreviousTrack": "P\u0159edchod\u00ed stopa",
+    "ButtonNextTrack": "Next Track",
     "ButtonStop": "Stop",
     "ButtonStop": "Stop",
     "ButtonPause": "Pause",
     "ButtonPause": "Pause",
     "LabelGroupMoviesIntoCollections": "Group movies into collections",
     "LabelGroupMoviesIntoCollections": "Group movies into collections",
@@ -744,7 +744,6 @@
     "LabelDisplayPluginsFor": "Display plugins for:",
     "LabelDisplayPluginsFor": "Display plugins for:",
     "PluginTabMediaBrowserClassic": "MB Classic",
     "PluginTabMediaBrowserClassic": "MB Classic",
     "PluginTabMediaBrowserTheater": "MB Theater",
     "PluginTabMediaBrowserTheater": "MB Theater",
-    "TabOtherPlugins": "Others",
     "LabelEpisodeName": "Episode name",
     "LabelEpisodeName": "Episode name",
     "LabelSeriesName": "Series name",
     "LabelSeriesName": "Series name",
     "ValueSeriesNamePeriod": "Series.name",
     "ValueSeriesNamePeriod": "Series.name",
@@ -845,7 +844,7 @@
     "HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.",
     "HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.",
     "LabelLoginDisclaimer": "Login disclaimer:",
     "LabelLoginDisclaimer": "Login disclaimer:",
     "LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.",
     "LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.",
-    "LabelAutomaticallyDonate": "Automatically donate this amount each month",
+    "LabelAutomaticallyDonate": "Automatically donate this amount every six months",
     "LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.",
     "LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.",
     "OptionList": "Seznam",
     "OptionList": "Seznam",
     "TabDashboard": "Dashboard",
     "TabDashboard": "Dashboard",

+ 3 - 4
MediaBrowser.Server.Implementations/Localization/Server/da.json

@@ -630,8 +630,8 @@
     "ButtonScenes": "Scener",
     "ButtonScenes": "Scener",
     "ButtonSubtitles": "Undertekster",
     "ButtonSubtitles": "Undertekster",
     "ButtonAudioTracks": "Lyd filer",
     "ButtonAudioTracks": "Lyd filer",
-    "ButtonPreviousTrack": "Previous track",
-    "ButtonNextTrack": "Next track",
+    "ButtonPreviousTrack": "Previous Track",
+    "ButtonNextTrack": "Next Track",
     "ButtonStop": "Stop",
     "ButtonStop": "Stop",
     "ButtonPause": "Pause",
     "ButtonPause": "Pause",
     "LabelGroupMoviesIntoCollections": "Group movies into collections",
     "LabelGroupMoviesIntoCollections": "Group movies into collections",
@@ -744,7 +744,6 @@
     "LabelDisplayPluginsFor": "Display plugins for:",
     "LabelDisplayPluginsFor": "Display plugins for:",
     "PluginTabMediaBrowserClassic": "MB Classic",
     "PluginTabMediaBrowserClassic": "MB Classic",
     "PluginTabMediaBrowserTheater": "MB Theater",
     "PluginTabMediaBrowserTheater": "MB Theater",
-    "TabOtherPlugins": "Others",
     "LabelEpisodeName": "Episode name",
     "LabelEpisodeName": "Episode name",
     "LabelSeriesName": "Series name",
     "LabelSeriesName": "Series name",
     "ValueSeriesNamePeriod": "Series.name",
     "ValueSeriesNamePeriod": "Series.name",
@@ -845,7 +844,7 @@
     "HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.",
     "HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.",
     "LabelLoginDisclaimer": "Login disclaimer:",
     "LabelLoginDisclaimer": "Login disclaimer:",
     "LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.",
     "LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.",
-    "LabelAutomaticallyDonate": "Automatically donate this amount each month",
+    "LabelAutomaticallyDonate": "Automatically donate this amount every six months",
     "LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.",
     "LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.",
     "OptionList": "List",
     "OptionList": "List",
     "TabDashboard": "Dashboard",
     "TabDashboard": "Dashboard",

+ 5 - 6
MediaBrowser.Server.Implementations/Localization/Server/de.json

@@ -479,10 +479,10 @@
     "HeaderProgram": "Programm",
     "HeaderProgram": "Programm",
     "HeaderClients": "Clients",
     "HeaderClients": "Clients",
     "LabelCompleted": "Fertiggestellt",
     "LabelCompleted": "Fertiggestellt",
-    "LabelFailed": "Failed",
+    "LabelFailed": "Gescheitert",
     "LabelSkipped": "\u00dcbersprungen",
     "LabelSkipped": "\u00dcbersprungen",
     "HeaderEpisodeOrganization": "Episodensortierung",
     "HeaderEpisodeOrganization": "Episodensortierung",
-    "LabelSeries": "Series:",
+    "LabelSeries": "Serien:",
     "LabelSeasonNumber": "Staffelnummer",
     "LabelSeasonNumber": "Staffelnummer",
     "LabelEpisodeNumber": "Episodennummer",
     "LabelEpisodeNumber": "Episodennummer",
     "LabelEndingEpisodeNumber": "Ending episode number",
     "LabelEndingEpisodeNumber": "Ending episode number",
@@ -630,8 +630,8 @@
     "ButtonScenes": "Szenen",
     "ButtonScenes": "Szenen",
     "ButtonSubtitles": "Untertitel",
     "ButtonSubtitles": "Untertitel",
     "ButtonAudioTracks": "Audiospuren",
     "ButtonAudioTracks": "Audiospuren",
-    "ButtonPreviousTrack": "Previous track",
-    "ButtonNextTrack": "Next track",
+    "ButtonPreviousTrack": "Vorheriger Track",
+    "ButtonNextTrack": "N\u00e4chster Track",
     "ButtonStop": "Stop",
     "ButtonStop": "Stop",
     "ButtonPause": "Pause",
     "ButtonPause": "Pause",
     "LabelGroupMoviesIntoCollections": "Gruppiere Filme in Collections",
     "LabelGroupMoviesIntoCollections": "Gruppiere Filme in Collections",
@@ -744,7 +744,6 @@
     "LabelDisplayPluginsFor": "Display plugins for:",
     "LabelDisplayPluginsFor": "Display plugins for:",
     "PluginTabMediaBrowserClassic": "MB Classic",
     "PluginTabMediaBrowserClassic": "MB Classic",
     "PluginTabMediaBrowserTheater": "MB Theater",
     "PluginTabMediaBrowserTheater": "MB Theater",
-    "TabOtherPlugins": "Andere",
     "LabelEpisodeName": "Episodentitel",
     "LabelEpisodeName": "Episodentitel",
     "LabelSeriesName": "Serientitel",
     "LabelSeriesName": "Serientitel",
     "ValueSeriesNamePeriod": "Series.name",
     "ValueSeriesNamePeriod": "Series.name",
@@ -845,7 +844,7 @@
     "HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.",
     "HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.",
     "LabelLoginDisclaimer": "Login disclaimer:",
     "LabelLoginDisclaimer": "Login disclaimer:",
     "LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.",
     "LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.",
-    "LabelAutomaticallyDonate": "Automatically donate this amount each month",
+    "LabelAutomaticallyDonate": "Automatically donate this amount every six months",
     "LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.",
     "LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.",
     "OptionList": "List",
     "OptionList": "List",
     "TabDashboard": "Dashboard",
     "TabDashboard": "Dashboard",

+ 3 - 4
MediaBrowser.Server.Implementations/Localization/Server/el.json

@@ -630,8 +630,8 @@
     "ButtonScenes": "Scenes",
     "ButtonScenes": "Scenes",
     "ButtonSubtitles": "Subtitles",
     "ButtonSubtitles": "Subtitles",
     "ButtonAudioTracks": "Audio tracks",
     "ButtonAudioTracks": "Audio tracks",
-    "ButtonPreviousTrack": "Previous track",
-    "ButtonNextTrack": "Next track",
+    "ButtonPreviousTrack": "Previous Track",
+    "ButtonNextTrack": "Next Track",
     "ButtonStop": "Stop",
     "ButtonStop": "Stop",
     "ButtonPause": "Pause",
     "ButtonPause": "Pause",
     "LabelGroupMoviesIntoCollections": "Group movies into collections",
     "LabelGroupMoviesIntoCollections": "Group movies into collections",
@@ -744,7 +744,6 @@
     "LabelDisplayPluginsFor": "Display plugins for:",
     "LabelDisplayPluginsFor": "Display plugins for:",
     "PluginTabMediaBrowserClassic": "MB Classic",
     "PluginTabMediaBrowserClassic": "MB Classic",
     "PluginTabMediaBrowserTheater": "MB Theater",
     "PluginTabMediaBrowserTheater": "MB Theater",
-    "TabOtherPlugins": "Others",
     "LabelEpisodeName": "Episode name",
     "LabelEpisodeName": "Episode name",
     "LabelSeriesName": "Series name",
     "LabelSeriesName": "Series name",
     "ValueSeriesNamePeriod": "Series.name",
     "ValueSeriesNamePeriod": "Series.name",
@@ -845,7 +844,7 @@
     "HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.",
     "HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.",
     "LabelLoginDisclaimer": "Login disclaimer:",
     "LabelLoginDisclaimer": "Login disclaimer:",
     "LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.",
     "LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.",
-    "LabelAutomaticallyDonate": "Automatically donate this amount each month",
+    "LabelAutomaticallyDonate": "Automatically donate this amount every six months",
     "LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.",
     "LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.",
     "OptionList": "List",
     "OptionList": "List",
     "TabDashboard": "Dashboard",
     "TabDashboard": "Dashboard",

+ 3 - 4
MediaBrowser.Server.Implementations/Localization/Server/en_GB.json

@@ -630,8 +630,8 @@
     "ButtonScenes": "Scenes",
     "ButtonScenes": "Scenes",
     "ButtonSubtitles": "Subtitles",
     "ButtonSubtitles": "Subtitles",
     "ButtonAudioTracks": "Audio tracks",
     "ButtonAudioTracks": "Audio tracks",
-    "ButtonPreviousTrack": "Previous track",
-    "ButtonNextTrack": "Next track",
+    "ButtonPreviousTrack": "Previous Track",
+    "ButtonNextTrack": "Next Track",
     "ButtonStop": "Stop",
     "ButtonStop": "Stop",
     "ButtonPause": "Pause",
     "ButtonPause": "Pause",
     "LabelGroupMoviesIntoCollections": "Group movies into collections",
     "LabelGroupMoviesIntoCollections": "Group movies into collections",
@@ -744,7 +744,6 @@
     "LabelDisplayPluginsFor": "Display plugins for:",
     "LabelDisplayPluginsFor": "Display plugins for:",
     "PluginTabMediaBrowserClassic": "MB Classic",
     "PluginTabMediaBrowserClassic": "MB Classic",
     "PluginTabMediaBrowserTheater": "MB Theater",
     "PluginTabMediaBrowserTheater": "MB Theater",
-    "TabOtherPlugins": "Others",
     "LabelEpisodeName": "Episode name",
     "LabelEpisodeName": "Episode name",
     "LabelSeriesName": "Series name",
     "LabelSeriesName": "Series name",
     "ValueSeriesNamePeriod": "Series.name",
     "ValueSeriesNamePeriod": "Series.name",
@@ -845,7 +844,7 @@
     "HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.",
     "HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.",
     "LabelLoginDisclaimer": "Login disclaimer:",
     "LabelLoginDisclaimer": "Login disclaimer:",
     "LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.",
     "LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.",
-    "LabelAutomaticallyDonate": "Automatically donate this amount each month",
+    "LabelAutomaticallyDonate": "Automatically donate this amount every six months",
     "LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.",
     "LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.",
     "OptionList": "List",
     "OptionList": "List",
     "TabDashboard": "Dashboard",
     "TabDashboard": "Dashboard",

+ 3 - 4
MediaBrowser.Server.Implementations/Localization/Server/en_US.json

@@ -630,8 +630,8 @@
     "ButtonScenes": "Scenes",
     "ButtonScenes": "Scenes",
     "ButtonSubtitles": "Subtitles",
     "ButtonSubtitles": "Subtitles",
     "ButtonAudioTracks": "Audio tracks",
     "ButtonAudioTracks": "Audio tracks",
-    "ButtonPreviousTrack": "Previous track",
-    "ButtonNextTrack": "Next track",
+    "ButtonPreviousTrack": "Previous Track",
+    "ButtonNextTrack": "Next Track",
     "ButtonStop": "Stop",
     "ButtonStop": "Stop",
     "ButtonPause": "Pause",
     "ButtonPause": "Pause",
     "LabelGroupMoviesIntoCollections": "Group movies into collections",
     "LabelGroupMoviesIntoCollections": "Group movies into collections",
@@ -744,7 +744,6 @@
     "LabelDisplayPluginsFor": "Display plugins for:",
     "LabelDisplayPluginsFor": "Display plugins for:",
     "PluginTabMediaBrowserClassic": "MB Classic",
     "PluginTabMediaBrowserClassic": "MB Classic",
     "PluginTabMediaBrowserTheater": "MB Theater",
     "PluginTabMediaBrowserTheater": "MB Theater",
-    "TabOtherPlugins": "Others",
     "LabelEpisodeName": "Episode name",
     "LabelEpisodeName": "Episode name",
     "LabelSeriesName": "Series name",
     "LabelSeriesName": "Series name",
     "ValueSeriesNamePeriod": "Series.name",
     "ValueSeriesNamePeriod": "Series.name",
@@ -845,7 +844,7 @@
     "HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.",
     "HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.",
     "LabelLoginDisclaimer": "Login disclaimer:",
     "LabelLoginDisclaimer": "Login disclaimer:",
     "LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.",
     "LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.",
-    "LabelAutomaticallyDonate": "Automatically donate this amount each month",
+    "LabelAutomaticallyDonate": "Automatically donate this amount every six months",
     "LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.",
     "LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.",
     "OptionList": "List",
     "OptionList": "List",
     "TabDashboard": "Dashboard",
     "TabDashboard": "Dashboard",

+ 2 - 3
MediaBrowser.Server.Implementations/Localization/Server/es.json

@@ -479,10 +479,10 @@
     "HeaderProgram": "Programa",
     "HeaderProgram": "Programa",
     "HeaderClients": "Clientes",
     "HeaderClients": "Clientes",
     "LabelCompleted": "Completado",
     "LabelCompleted": "Completado",
-    "LabelFailed": "Error",
+    "LabelFailed": "Err\u00f3neo",
     "LabelSkipped": "Omitido",
     "LabelSkipped": "Omitido",
     "HeaderEpisodeOrganization": "Organizaci\u00f3n de episodios",
     "HeaderEpisodeOrganization": "Organizaci\u00f3n de episodios",
-    "LabelSeries": "Series:",
+    "LabelSeries": "Serie:",
     "LabelSeasonNumber": "Temporada n\u00famero:",
     "LabelSeasonNumber": "Temporada n\u00famero:",
     "LabelEpisodeNumber": "Episodio n\u00famero:",
     "LabelEpisodeNumber": "Episodio n\u00famero:",
     "LabelEndingEpisodeNumber": "N\u00famero episodio final:",
     "LabelEndingEpisodeNumber": "N\u00famero episodio final:",
@@ -744,7 +744,6 @@
     "LabelDisplayPluginsFor": "Mostrar plugins para:",
     "LabelDisplayPluginsFor": "Mostrar plugins para:",
     "PluginTabMediaBrowserClassic": "MB Classic",
     "PluginTabMediaBrowserClassic": "MB Classic",
     "PluginTabMediaBrowserTheater": "MB Theater",
     "PluginTabMediaBrowserTheater": "MB Theater",
-    "TabOtherPlugins": "Otros",
     "LabelEpisodeName": "Nombre episodio",
     "LabelEpisodeName": "Nombre episodio",
     "LabelSeriesName": "Nombre de la serie",
     "LabelSeriesName": "Nombre de la serie",
     "ValueSeriesNamePeriod": "Series.name",
     "ValueSeriesNamePeriod": "Series.name",

+ 3 - 4
MediaBrowser.Server.Implementations/Localization/Server/es_MX.json

@@ -630,8 +630,8 @@
     "ButtonScenes": "Escenas",
     "ButtonScenes": "Escenas",
     "ButtonSubtitles": "Subt\u00edtulos",
     "ButtonSubtitles": "Subt\u00edtulos",
     "ButtonAudioTracks": "Pistas de audio",
     "ButtonAudioTracks": "Pistas de audio",
-    "ButtonPreviousTrack": "Pista anterior",
-    "ButtonNextTrack": "Pista siguiente",
+    "ButtonPreviousTrack": "Pista Anterior",
+    "ButtonNextTrack": "Pista Siguiente",
     "ButtonStop": "Detener",
     "ButtonStop": "Detener",
     "ButtonPause": "Pausar",
     "ButtonPause": "Pausar",
     "LabelGroupMoviesIntoCollections": "Agrupar pel\u00edculas en colecciones",
     "LabelGroupMoviesIntoCollections": "Agrupar pel\u00edculas en colecciones",
@@ -744,7 +744,6 @@
     "LabelDisplayPluginsFor": "Desplegar complementos para:",
     "LabelDisplayPluginsFor": "Desplegar complementos para:",
     "PluginTabMediaBrowserClassic": "MB Classic",
     "PluginTabMediaBrowserClassic": "MB Classic",
     "PluginTabMediaBrowserTheater": "MB Theater",
     "PluginTabMediaBrowserTheater": "MB Theater",
-    "TabOtherPlugins": "Otros",
     "LabelEpisodeName": "Nombre del episodio",
     "LabelEpisodeName": "Nombre del episodio",
     "LabelSeriesName": "Nombre de la serie",
     "LabelSeriesName": "Nombre de la serie",
     "ValueSeriesNamePeriod": "Nombre.serie",
     "ValueSeriesNamePeriod": "Nombre.serie",
@@ -845,7 +844,7 @@
     "HeaderBrandingHelp": "Personaliza la apariencia de Media Browser para ajustarla a las necesidades de tu grupo u organizaci\u00f3n.",
     "HeaderBrandingHelp": "Personaliza la apariencia de Media Browser para ajustarla a las necesidades de tu grupo u organizaci\u00f3n.",
     "LabelLoginDisclaimer": "Aviso de Inicio de Sesi\u00f3n:",
     "LabelLoginDisclaimer": "Aviso de Inicio de Sesi\u00f3n:",
     "LabelLoginDisclaimerHelp": "Esto se mostrara al final de la pagina de inicio de sesi\u00f3n.",
     "LabelLoginDisclaimerHelp": "Esto se mostrara al final de la pagina de inicio de sesi\u00f3n.",
-    "LabelAutomaticallyDonate": "Donar autom\u00e1ticamente esta cantidad cada mes",
+    "LabelAutomaticallyDonate": "Donar autom\u00e1ticamente esta cantidad cada seis meses",
     "LabelAutomaticallyDonateHelp": "Puedes cancelarlo en cualquier momento por medio de tu cuenta PayPal.",
     "LabelAutomaticallyDonateHelp": "Puedes cancelarlo en cualquier momento por medio de tu cuenta PayPal.",
     "OptionList": "Lista",
     "OptionList": "Lista",
     "TabDashboard": "Panel de Control",
     "TabDashboard": "Panel de Control",

+ 6 - 7
MediaBrowser.Server.Implementations/Localization/Server/fr.json

@@ -396,7 +396,7 @@
     "HeaderCastCrew": "\u00c9quipe de tournage",
     "HeaderCastCrew": "\u00c9quipe de tournage",
     "HeaderAdditionalParts": "Parties Additionelles",
     "HeaderAdditionalParts": "Parties Additionelles",
     "ButtonSplitVersionsApart": "S\u00e9parer les versions",
     "ButtonSplitVersionsApart": "S\u00e9parer les versions",
-    "ButtonPlayTrailer": "Trailer",
+    "ButtonPlayTrailer": "Bande-annonce",
     "LabelMissing": "Manquant(s)",
     "LabelMissing": "Manquant(s)",
     "LabelOffline": "Hors ligne",
     "LabelOffline": "Hors ligne",
     "PathSubstitutionHelp": "Les substitutions de chemins d'acc\u00e8s sont utilis\u00e9es pour faire correspondre un chemin d'acc\u00e8s du serveur \u00e0 un chemin d'acc\u00e8s accessible par les clients. En autorisant un acc\u00e8s direct aux m\u00e9dias du serveur, les clients pourront les lire directement du r\u00e9seau et \u00e9viter l'utilisation inutiles des ressources du serveur en demandant du transcodage.",
     "PathSubstitutionHelp": "Les substitutions de chemins d'acc\u00e8s sont utilis\u00e9es pour faire correspondre un chemin d'acc\u00e8s du serveur \u00e0 un chemin d'acc\u00e8s accessible par les clients. En autorisant un acc\u00e8s direct aux m\u00e9dias du serveur, les clients pourront les lire directement du r\u00e9seau et \u00e9viter l'utilisation inutiles des ressources du serveur en demandant du transcodage.",
@@ -479,10 +479,10 @@
     "HeaderProgram": "Programme",
     "HeaderProgram": "Programme",
     "HeaderClients": "Clients",
     "HeaderClients": "Clients",
     "LabelCompleted": "Compl\u00e9t\u00e9",
     "LabelCompleted": "Compl\u00e9t\u00e9",
-    "LabelFailed": "Failed",
+    "LabelFailed": "\u00c9chec",
     "LabelSkipped": "Saut\u00e9",
     "LabelSkipped": "Saut\u00e9",
     "HeaderEpisodeOrganization": "Organisation d'\u00e9pisodes",
     "HeaderEpisodeOrganization": "Organisation d'\u00e9pisodes",
-    "LabelSeries": "Series:",
+    "LabelSeries": "S\u00e9ries:",
     "LabelSeasonNumber": "Num\u00e9ro de saison",
     "LabelSeasonNumber": "Num\u00e9ro de saison",
     "LabelEpisodeNumber": "Num\u00e9ro d'\u00e9pisode",
     "LabelEpisodeNumber": "Num\u00e9ro d'\u00e9pisode",
     "LabelEndingEpisodeNumber": "Num\u00e9ro d'\u00e9pisode se terminant",
     "LabelEndingEpisodeNumber": "Num\u00e9ro d'\u00e9pisode se terminant",
@@ -630,8 +630,8 @@
     "ButtonScenes": "Sc\u00e8nes",
     "ButtonScenes": "Sc\u00e8nes",
     "ButtonSubtitles": "Sous-titres",
     "ButtonSubtitles": "Sous-titres",
     "ButtonAudioTracks": "Piste audio",
     "ButtonAudioTracks": "Piste audio",
-    "ButtonPreviousTrack": "Previous track",
-    "ButtonNextTrack": "Next track",
+    "ButtonPreviousTrack": "Piste pr\u00e9c\u00e9dante",
+    "ButtonNextTrack": "Piste suivante",
     "ButtonStop": "Arr\u00eat",
     "ButtonStop": "Arr\u00eat",
     "ButtonPause": "Pause",
     "ButtonPause": "Pause",
     "LabelGroupMoviesIntoCollections": "Grouper les films en collections",
     "LabelGroupMoviesIntoCollections": "Grouper les films en collections",
@@ -744,7 +744,6 @@
     "LabelDisplayPluginsFor": "Afficher les plugins pour:",
     "LabelDisplayPluginsFor": "Afficher les plugins pour:",
     "PluginTabMediaBrowserClassic": "MB Classic",
     "PluginTabMediaBrowserClassic": "MB Classic",
     "PluginTabMediaBrowserTheater": "MB Theatre",
     "PluginTabMediaBrowserTheater": "MB Theatre",
-    "TabOtherPlugins": "Autres",
     "LabelEpisodeName": "Nom d'\u00e9pisode",
     "LabelEpisodeName": "Nom d'\u00e9pisode",
     "LabelSeriesName": "Nom de s\u00e9ries",
     "LabelSeriesName": "Nom de s\u00e9ries",
     "ValueSeriesNamePeriod": "Series.name",
     "ValueSeriesNamePeriod": "Series.name",
@@ -845,7 +844,7 @@
     "HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.",
     "HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.",
     "LabelLoginDisclaimer": "Login disclaimer:",
     "LabelLoginDisclaimer": "Login disclaimer:",
     "LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.",
     "LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.",
-    "LabelAutomaticallyDonate": "Automatically donate this amount each month",
+    "LabelAutomaticallyDonate": "Automatically donate this amount every six months",
     "LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.",
     "LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.",
     "OptionList": "List",
     "OptionList": "List",
     "TabDashboard": "Dashboard",
     "TabDashboard": "Dashboard",

+ 6 - 7
MediaBrowser.Server.Implementations/Localization/Server/he.json

@@ -396,7 +396,7 @@
     "HeaderCastCrew": "\u05e9\u05d7\u05e7\u05e0\u05d9\u05dd \u05d5\u05e6\u05d5\u05d5\u05ea",
     "HeaderCastCrew": "\u05e9\u05d7\u05e7\u05e0\u05d9\u05dd \u05d5\u05e6\u05d5\u05d5\u05ea",
     "HeaderAdditionalParts": "\u05d7\u05dc\u05e7\u05d9\u05dd \u05e0\u05d5\u05e1\u05e4\u05d9\u05dd",
     "HeaderAdditionalParts": "\u05d7\u05dc\u05e7\u05d9\u05dd \u05e0\u05d5\u05e1\u05e4\u05d9\u05dd",
     "ButtonSplitVersionsApart": "\u05e4\u05e6\u05dc \u05d2\u05e8\u05e1\u05d0\u05d5\u05ea \u05d1\u05e0\u05e4\u05e8\u05d3",
     "ButtonSplitVersionsApart": "\u05e4\u05e6\u05dc \u05d2\u05e8\u05e1\u05d0\u05d5\u05ea \u05d1\u05e0\u05e4\u05e8\u05d3",
-    "ButtonPlayTrailer": "Trailer",
+    "ButtonPlayTrailer": "\u05d8\u05e8\u05d9\u05d9\u05dc\u05e8\u05d9\u05dd",
     "LabelMissing": "\u05d7\u05e1\u05e8",
     "LabelMissing": "\u05d7\u05e1\u05e8",
     "LabelOffline": "\u05dc\u05d0 \u05de\u05e7\u05d5\u05d5\u05df",
     "LabelOffline": "\u05dc\u05d0 \u05de\u05e7\u05d5\u05d5\u05df",
     "PathSubstitutionHelp": "\u05e0\u05ea\u05d9\u05d1\u05d9\u05dd \u05d7\u05dc\u05d5\u05e4\u05d9\u05d9\u05dd \u05d4\u05dd \u05dc\u05e6\u05d5\u05e8\u05da \u05de\u05d9\u05e4\u05d5\u05d9 \u05e0\u05ea\u05d9\u05d1\u05d9\u05dd \u05d1\u05e9\u05e8\u05ea \u05dc\u05e0\u05ea\u05d9\u05d1\u05d9\u05dd \u05e9\u05de\u05e9\u05ea\u05de\u05e9\u05d9\u05dd \u05d9\u05db\u05d5\u05dc\u05d9\u05dd \u05dc\u05d2\u05e9\u05ea \u05d0\u05dc\u05d9\u05d4\u05dd. \u05e2\u05dc \u05d9\u05d3\u05d9 \u05d4\u05e8\u05e9\u05d0\u05d4 \u05dc\u05de\u05e9\u05ea\u05de\u05e9\u05d9\u05dd \u05d2\u05d9\u05e9\u05d4 \u05d9\u05e9\u05d9\u05e8\u05d4 \u05dc\u05de\u05d3\u05d9\u05d4 \u05d1\u05e9\u05e8\u05ea \u05d0\u05dd \u05d9\u05db\u05d5\u05dc\u05d9\u05dd \u05dc\u05e0\u05d2\u05df \u05d0\u05ea \u05d4\u05e7\u05d1\u05e6\u05d9\u05dd \u05d9\u05e9\u05d9\u05e8\u05d5\u05ea \u05e2\u05dc \u05d2\u05d1\u05d9 \u05d4\u05e8\u05e9\u05ea \u05d5\u05dc\u05d4\u05d9\u05de\u05e0\u05e2 \u05de\u05e9\u05d9\u05de\u05d5\u05e9 \u05d1\u05de\u05e9\u05d0\u05d1\u05d9 \u05d4\u05e9\u05e8\u05ea \u05dc\u05e6\u05d5\u05e8\u05da \u05e7\u05d9\u05d3\u05d5\u05d3 \u05d5\u05e9\u05d9\u05d3\u05d5\u05e8.",
     "PathSubstitutionHelp": "\u05e0\u05ea\u05d9\u05d1\u05d9\u05dd \u05d7\u05dc\u05d5\u05e4\u05d9\u05d9\u05dd \u05d4\u05dd \u05dc\u05e6\u05d5\u05e8\u05da \u05de\u05d9\u05e4\u05d5\u05d9 \u05e0\u05ea\u05d9\u05d1\u05d9\u05dd \u05d1\u05e9\u05e8\u05ea \u05dc\u05e0\u05ea\u05d9\u05d1\u05d9\u05dd \u05e9\u05de\u05e9\u05ea\u05de\u05e9\u05d9\u05dd \u05d9\u05db\u05d5\u05dc\u05d9\u05dd \u05dc\u05d2\u05e9\u05ea \u05d0\u05dc\u05d9\u05d4\u05dd. \u05e2\u05dc \u05d9\u05d3\u05d9 \u05d4\u05e8\u05e9\u05d0\u05d4 \u05dc\u05de\u05e9\u05ea\u05de\u05e9\u05d9\u05dd \u05d2\u05d9\u05e9\u05d4 \u05d9\u05e9\u05d9\u05e8\u05d4 \u05dc\u05de\u05d3\u05d9\u05d4 \u05d1\u05e9\u05e8\u05ea \u05d0\u05dd \u05d9\u05db\u05d5\u05dc\u05d9\u05dd \u05dc\u05e0\u05d2\u05df \u05d0\u05ea \u05d4\u05e7\u05d1\u05e6\u05d9\u05dd \u05d9\u05e9\u05d9\u05e8\u05d5\u05ea \u05e2\u05dc \u05d2\u05d1\u05d9 \u05d4\u05e8\u05e9\u05ea \u05d5\u05dc\u05d4\u05d9\u05de\u05e0\u05e2 \u05de\u05e9\u05d9\u05de\u05d5\u05e9 \u05d1\u05de\u05e9\u05d0\u05d1\u05d9 \u05d4\u05e9\u05e8\u05ea \u05dc\u05e6\u05d5\u05e8\u05da \u05e7\u05d9\u05d3\u05d5\u05d3 \u05d5\u05e9\u05d9\u05d3\u05d5\u05e8.",
@@ -479,10 +479,10 @@
     "HeaderProgram": "\u05ea\u05d5\u05db\u05e0\u05d4",
     "HeaderProgram": "\u05ea\u05d5\u05db\u05e0\u05d4",
     "HeaderClients": "\u05de\u05e9\u05ea\u05de\u05e9\u05d9\u05dd",
     "HeaderClients": "\u05de\u05e9\u05ea\u05de\u05e9\u05d9\u05dd",
     "LabelCompleted": "\u05d4\u05d5\u05e9\u05dc\u05dd",
     "LabelCompleted": "\u05d4\u05d5\u05e9\u05dc\u05dd",
-    "LabelFailed": "Failed",
+    "LabelFailed": "\u05e0\u05db\u05e9\u05dc",
     "LabelSkipped": "\u05d3\u05d5\u05dc\u05d2",
     "LabelSkipped": "\u05d3\u05d5\u05dc\u05d2",
     "HeaderEpisodeOrganization": "\u05d0\u05d9\u05e8\u05d2\u05d5\u05df \u05e4\u05e8\u05e7\u05d9\u05dd",
     "HeaderEpisodeOrganization": "\u05d0\u05d9\u05e8\u05d2\u05d5\u05df \u05e4\u05e8\u05e7\u05d9\u05dd",
-    "LabelSeries": "Series:",
+    "LabelSeries": "\u05e1\u05d3\u05e8\u05d4:",
     "LabelSeasonNumber": "\u05de\u05e1\u05e4\u05e8 \u05e2\u05d5\u05e0\u05d4:",
     "LabelSeasonNumber": "\u05de\u05e1\u05e4\u05e8 \u05e2\u05d5\u05e0\u05d4:",
     "LabelEpisodeNumber": "\u05de\u05e1\u05e4\u05e8 \u05e4\u05e8\u05e7:",
     "LabelEpisodeNumber": "\u05de\u05e1\u05e4\u05e8 \u05e4\u05e8\u05e7:",
     "LabelEndingEpisodeNumber": "\u05de\u05e1\u05e4\u05e8 \u05e1\u05d9\u05d5\u05dd \u05e4\u05e8\u05e7:",
     "LabelEndingEpisodeNumber": "\u05de\u05e1\u05e4\u05e8 \u05e1\u05d9\u05d5\u05dd \u05e4\u05e8\u05e7:",
@@ -630,8 +630,8 @@
     "ButtonScenes": "Scenes",
     "ButtonScenes": "Scenes",
     "ButtonSubtitles": "Subtitles",
     "ButtonSubtitles": "Subtitles",
     "ButtonAudioTracks": "Audio tracks",
     "ButtonAudioTracks": "Audio tracks",
-    "ButtonPreviousTrack": "Previous track",
-    "ButtonNextTrack": "Next track",
+    "ButtonPreviousTrack": "Previous Track",
+    "ButtonNextTrack": "Next Track",
     "ButtonStop": "Stop",
     "ButtonStop": "Stop",
     "ButtonPause": "Pause",
     "ButtonPause": "Pause",
     "LabelGroupMoviesIntoCollections": "Group movies into collections",
     "LabelGroupMoviesIntoCollections": "Group movies into collections",
@@ -744,7 +744,6 @@
     "LabelDisplayPluginsFor": "Display plugins for:",
     "LabelDisplayPluginsFor": "Display plugins for:",
     "PluginTabMediaBrowserClassic": "MB Classic",
     "PluginTabMediaBrowserClassic": "MB Classic",
     "PluginTabMediaBrowserTheater": "MB Theater",
     "PluginTabMediaBrowserTheater": "MB Theater",
-    "TabOtherPlugins": "Others",
     "LabelEpisodeName": "Episode name",
     "LabelEpisodeName": "Episode name",
     "LabelSeriesName": "Series name",
     "LabelSeriesName": "Series name",
     "ValueSeriesNamePeriod": "Series.name",
     "ValueSeriesNamePeriod": "Series.name",
@@ -845,7 +844,7 @@
     "HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.",
     "HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.",
     "LabelLoginDisclaimer": "Login disclaimer:",
     "LabelLoginDisclaimer": "Login disclaimer:",
     "LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.",
     "LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.",
-    "LabelAutomaticallyDonate": "Automatically donate this amount each month",
+    "LabelAutomaticallyDonate": "Automatically donate this amount every six months",
     "LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.",
     "LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.",
     "OptionList": "List",
     "OptionList": "List",
     "TabDashboard": "Dashboard",
     "TabDashboard": "Dashboard",

+ 4 - 5
MediaBrowser.Server.Implementations/Localization/Server/it.json

@@ -479,10 +479,10 @@
     "HeaderProgram": "Programma",
     "HeaderProgram": "Programma",
     "HeaderClients": "Dispositivi",
     "HeaderClients": "Dispositivi",
     "LabelCompleted": "Completato",
     "LabelCompleted": "Completato",
-    "LabelFailed": "Failed",
+    "LabelFailed": "Fallito",
     "LabelSkipped": "Saltato",
     "LabelSkipped": "Saltato",
     "HeaderEpisodeOrganization": "Organizzazione Episodi",
     "HeaderEpisodeOrganization": "Organizzazione Episodi",
-    "LabelSeries": "Series:",
+    "LabelSeries": "Serie:",
     "LabelSeasonNumber": "Numero Stagione:",
     "LabelSeasonNumber": "Numero Stagione:",
     "LabelEpisodeNumber": "Numero Episodio:",
     "LabelEpisodeNumber": "Numero Episodio:",
     "LabelEndingEpisodeNumber": "Ultimo Episodio Numero:",
     "LabelEndingEpisodeNumber": "Ultimo Episodio Numero:",
@@ -630,8 +630,8 @@
     "ButtonScenes": "Scene",
     "ButtonScenes": "Scene",
     "ButtonSubtitles": "Sottotitoli",
     "ButtonSubtitles": "Sottotitoli",
     "ButtonAudioTracks": "Traccia Audio",
     "ButtonAudioTracks": "Traccia Audio",
-    "ButtonPreviousTrack": "Previous track",
-    "ButtonNextTrack": "Next track",
+    "ButtonPreviousTrack": "Precedente",
+    "ButtonNextTrack": "Prossimo",
     "ButtonStop": "Stop",
     "ButtonStop": "Stop",
     "ButtonPause": "Pausa",
     "ButtonPause": "Pausa",
     "LabelGroupMoviesIntoCollections": "Raggruppa i film nelle collection",
     "LabelGroupMoviesIntoCollections": "Raggruppa i film nelle collection",
@@ -744,7 +744,6 @@
     "LabelDisplayPluginsFor": "Mostra plugin per:",
     "LabelDisplayPluginsFor": "Mostra plugin per:",
     "PluginTabMediaBrowserClassic": "MB Classic",
     "PluginTabMediaBrowserClassic": "MB Classic",
     "PluginTabMediaBrowserTheater": "MB Theater",
     "PluginTabMediaBrowserTheater": "MB Theater",
-    "TabOtherPlugins": "Altri",
     "LabelEpisodeName": "Nome episodio",
     "LabelEpisodeName": "Nome episodio",
     "LabelSeriesName": "Nome serie",
     "LabelSeriesName": "Nome serie",
     "ValueSeriesNamePeriod": "Nome Serie",
     "ValueSeriesNamePeriod": "Nome Serie",

File diff suppressed because it is too large
+ 0 - 0
MediaBrowser.Server.Implementations/Localization/Server/kk.json


+ 3 - 4
MediaBrowser.Server.Implementations/Localization/Server/ms.json

@@ -630,8 +630,8 @@
     "ButtonScenes": "Scenes",
     "ButtonScenes": "Scenes",
     "ButtonSubtitles": "Subtitles",
     "ButtonSubtitles": "Subtitles",
     "ButtonAudioTracks": "Audio tracks",
     "ButtonAudioTracks": "Audio tracks",
-    "ButtonPreviousTrack": "Previous track",
-    "ButtonNextTrack": "Next track",
+    "ButtonPreviousTrack": "Previous Track",
+    "ButtonNextTrack": "Next Track",
     "ButtonStop": "Stop",
     "ButtonStop": "Stop",
     "ButtonPause": "Pause",
     "ButtonPause": "Pause",
     "LabelGroupMoviesIntoCollections": "Group movies into collections",
     "LabelGroupMoviesIntoCollections": "Group movies into collections",
@@ -744,7 +744,6 @@
     "LabelDisplayPluginsFor": "Display plugins for:",
     "LabelDisplayPluginsFor": "Display plugins for:",
     "PluginTabMediaBrowserClassic": "MB Classic",
     "PluginTabMediaBrowserClassic": "MB Classic",
     "PluginTabMediaBrowserTheater": "MB Theater",
     "PluginTabMediaBrowserTheater": "MB Theater",
-    "TabOtherPlugins": "Others",
     "LabelEpisodeName": "Episode name",
     "LabelEpisodeName": "Episode name",
     "LabelSeriesName": "Series name",
     "LabelSeriesName": "Series name",
     "ValueSeriesNamePeriod": "Series.name",
     "ValueSeriesNamePeriod": "Series.name",
@@ -845,7 +844,7 @@
     "HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.",
     "HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.",
     "LabelLoginDisclaimer": "Login disclaimer:",
     "LabelLoginDisclaimer": "Login disclaimer:",
     "LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.",
     "LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.",
-    "LabelAutomaticallyDonate": "Automatically donate this amount each month",
+    "LabelAutomaticallyDonate": "Automatically donate this amount every six months",
     "LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.",
     "LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.",
     "OptionList": "List",
     "OptionList": "List",
     "TabDashboard": "Dashboard",
     "TabDashboard": "Dashboard",

+ 3 - 4
MediaBrowser.Server.Implementations/Localization/Server/nb.json

@@ -630,8 +630,8 @@
     "ButtonScenes": "Scenes",
     "ButtonScenes": "Scenes",
     "ButtonSubtitles": "Subtitles",
     "ButtonSubtitles": "Subtitles",
     "ButtonAudioTracks": "Audio tracks",
     "ButtonAudioTracks": "Audio tracks",
-    "ButtonPreviousTrack": "Previous track",
-    "ButtonNextTrack": "Next track",
+    "ButtonPreviousTrack": "Previous Track",
+    "ButtonNextTrack": "Next Track",
     "ButtonStop": "Stop",
     "ButtonStop": "Stop",
     "ButtonPause": "Pause",
     "ButtonPause": "Pause",
     "LabelGroupMoviesIntoCollections": "Group movies into collections",
     "LabelGroupMoviesIntoCollections": "Group movies into collections",
@@ -744,7 +744,6 @@
     "LabelDisplayPluginsFor": "Display plugins for:",
     "LabelDisplayPluginsFor": "Display plugins for:",
     "PluginTabMediaBrowserClassic": "MB Classic",
     "PluginTabMediaBrowserClassic": "MB Classic",
     "PluginTabMediaBrowserTheater": "MB Theater",
     "PluginTabMediaBrowserTheater": "MB Theater",
-    "TabOtherPlugins": "Others",
     "LabelEpisodeName": "Episode name",
     "LabelEpisodeName": "Episode name",
     "LabelSeriesName": "Series name",
     "LabelSeriesName": "Series name",
     "ValueSeriesNamePeriod": "Series.name",
     "ValueSeriesNamePeriod": "Series.name",
@@ -845,7 +844,7 @@
     "HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.",
     "HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.",
     "LabelLoginDisclaimer": "Login disclaimer:",
     "LabelLoginDisclaimer": "Login disclaimer:",
     "LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.",
     "LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.",
-    "LabelAutomaticallyDonate": "Automatically donate this amount each month",
+    "LabelAutomaticallyDonate": "Automatically donate this amount every six months",
     "LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.",
     "LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.",
     "OptionList": "List",
     "OptionList": "List",
     "TabDashboard": "Dashboard",
     "TabDashboard": "Dashboard",

+ 3 - 4
MediaBrowser.Server.Implementations/Localization/Server/nl.json

@@ -630,8 +630,8 @@
     "ButtonScenes": "Scenes",
     "ButtonScenes": "Scenes",
     "ButtonSubtitles": "Ondertitels",
     "ButtonSubtitles": "Ondertitels",
     "ButtonAudioTracks": "Audio tracks",
     "ButtonAudioTracks": "Audio tracks",
-    "ButtonPreviousTrack": "Vorige track",
-    "ButtonNextTrack": "Volgende track",
+    "ButtonPreviousTrack": "Vorig nummer",
+    "ButtonNextTrack": "Volgend nummer",
     "ButtonStop": "Stop",
     "ButtonStop": "Stop",
     "ButtonPause": "Pauze",
     "ButtonPause": "Pauze",
     "LabelGroupMoviesIntoCollections": "Groepeer films in verzamelingen",
     "LabelGroupMoviesIntoCollections": "Groepeer films in verzamelingen",
@@ -744,7 +744,6 @@
     "LabelDisplayPluginsFor": "Toon plugins voor:",
     "LabelDisplayPluginsFor": "Toon plugins voor:",
     "PluginTabMediaBrowserClassic": "MB Classic",
     "PluginTabMediaBrowserClassic": "MB Classic",
     "PluginTabMediaBrowserTheater": "MB Theater",
     "PluginTabMediaBrowserTheater": "MB Theater",
-    "TabOtherPlugins": "Overig",
     "LabelEpisodeName": "Naam aflevering",
     "LabelEpisodeName": "Naam aflevering",
     "LabelSeriesName": "Naam serie",
     "LabelSeriesName": "Naam serie",
     "ValueSeriesNamePeriod": "Naam.Serie",
     "ValueSeriesNamePeriod": "Naam.Serie",
@@ -838,7 +837,7 @@
     "LabelDisplayCollectionsView": "Toon Collecties in Mijn Overzichten om film collecties te tonen",
     "LabelDisplayCollectionsView": "Toon Collecties in Mijn Overzichten om film collecties te tonen",
     "LabelXbmcMetadataEnableExtraThumbs": "Kopieer extrafanart naar extrathunms",
     "LabelXbmcMetadataEnableExtraThumbs": "Kopieer extrafanart naar extrathunms",
     "LabelXbmcMetadataEnableExtraThumbsHelp": "Als er afbeeldingen gedownload worden kunnen deze in extrafanart en extrathumbs worden opgeslagen voor maximale compatibiliteit met XBMC skins",
     "LabelXbmcMetadataEnableExtraThumbsHelp": "Als er afbeeldingen gedownload worden kunnen deze in extrafanart en extrathumbs worden opgeslagen voor maximale compatibiliteit met XBMC skins",
-    "TabServices": "diensten",
+    "TabServices": "Meta Diensten",
     "TabLogs": "Logboeken",
     "TabLogs": "Logboeken",
     "HeaderServerLogFiles": "Server logboek bestanden:",
     "HeaderServerLogFiles": "Server logboek bestanden:",
     "TabBranding": "Huisstijl",
     "TabBranding": "Huisstijl",

+ 3 - 4
MediaBrowser.Server.Implementations/Localization/Server/pl.json

@@ -630,8 +630,8 @@
     "ButtonScenes": "Scenes",
     "ButtonScenes": "Scenes",
     "ButtonSubtitles": "Subtitles",
     "ButtonSubtitles": "Subtitles",
     "ButtonAudioTracks": "Audio tracks",
     "ButtonAudioTracks": "Audio tracks",
-    "ButtonPreviousTrack": "Previous track",
-    "ButtonNextTrack": "Next track",
+    "ButtonPreviousTrack": "Previous Track",
+    "ButtonNextTrack": "Next Track",
     "ButtonStop": "Stop",
     "ButtonStop": "Stop",
     "ButtonPause": "Pause",
     "ButtonPause": "Pause",
     "LabelGroupMoviesIntoCollections": "Group movies into collections",
     "LabelGroupMoviesIntoCollections": "Group movies into collections",
@@ -744,7 +744,6 @@
     "LabelDisplayPluginsFor": "Display plugins for:",
     "LabelDisplayPluginsFor": "Display plugins for:",
     "PluginTabMediaBrowserClassic": "MB Classic",
     "PluginTabMediaBrowserClassic": "MB Classic",
     "PluginTabMediaBrowserTheater": "MB Theater",
     "PluginTabMediaBrowserTheater": "MB Theater",
-    "TabOtherPlugins": "Others",
     "LabelEpisodeName": "Episode name",
     "LabelEpisodeName": "Episode name",
     "LabelSeriesName": "Series name",
     "LabelSeriesName": "Series name",
     "ValueSeriesNamePeriod": "Series.name",
     "ValueSeriesNamePeriod": "Series.name",
@@ -845,7 +844,7 @@
     "HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.",
     "HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.",
     "LabelLoginDisclaimer": "Login disclaimer:",
     "LabelLoginDisclaimer": "Login disclaimer:",
     "LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.",
     "LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.",
-    "LabelAutomaticallyDonate": "Automatically donate this amount each month",
+    "LabelAutomaticallyDonate": "Automatically donate this amount every six months",
     "LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.",
     "LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.",
     "OptionList": "List",
     "OptionList": "List",
     "TabDashboard": "Dashboard",
     "TabDashboard": "Dashboard",

+ 4 - 5
MediaBrowser.Server.Implementations/Localization/Server/pt_BR.json

@@ -35,7 +35,7 @@
     "LabelEnableAutomaticPortMappingHelp": "UPnP permite uma configura\u00e7\u00e3o automatizada do roteador para acesso remoto f\u00e1cil. Isto pode n\u00e3o funcionar em alguns modelos de roteadores.",
     "LabelEnableAutomaticPortMappingHelp": "UPnP permite uma configura\u00e7\u00e3o automatizada do roteador para acesso remoto f\u00e1cil. Isto pode n\u00e3o funcionar em alguns modelos de roteadores.",
     "ButtonOk": "Ok",
     "ButtonOk": "Ok",
     "ButtonCancel": "Cancelar",
     "ButtonCancel": "Cancelar",
-    "ButtonNew": "Novo",
+    "ButtonNew": "Nova",
     "HeaderSetupLibrary": "Configurar sua biblioteca de m\u00eddias",
     "HeaderSetupLibrary": "Configurar sua biblioteca de m\u00eddias",
     "ButtonAddMediaFolder": "Adicionar pasta de m\u00eddias",
     "ButtonAddMediaFolder": "Adicionar pasta de m\u00eddias",
     "LabelFolderType": "Tipo de pasta:",
     "LabelFolderType": "Tipo de pasta:",
@@ -630,8 +630,8 @@
     "ButtonScenes": "Cenas",
     "ButtonScenes": "Cenas",
     "ButtonSubtitles": "Legendas",
     "ButtonSubtitles": "Legendas",
     "ButtonAudioTracks": "Faixas de \u00e1udio",
     "ButtonAudioTracks": "Faixas de \u00e1udio",
-    "ButtonPreviousTrack": "Faixa anterior",
-    "ButtonNextTrack": "Pr\u00f3xima faixa",
+    "ButtonPreviousTrack": "Faixa Anterior",
+    "ButtonNextTrack": "Pr\u00f3xima Faixa",
     "ButtonStop": "Parar",
     "ButtonStop": "Parar",
     "ButtonPause": "Pausar",
     "ButtonPause": "Pausar",
     "LabelGroupMoviesIntoCollections": "Agrupar filmes nas cole\u00e7\u00f5es",
     "LabelGroupMoviesIntoCollections": "Agrupar filmes nas cole\u00e7\u00f5es",
@@ -744,7 +744,6 @@
     "LabelDisplayPluginsFor": "Exibir plugins para:",
     "LabelDisplayPluginsFor": "Exibir plugins para:",
     "PluginTabMediaBrowserClassic": "MB Classic",
     "PluginTabMediaBrowserClassic": "MB Classic",
     "PluginTabMediaBrowserTheater": "MB Theater",
     "PluginTabMediaBrowserTheater": "MB Theater",
-    "TabOtherPlugins": "Outros",
     "LabelEpisodeName": "Nome do epis\u00f3dio",
     "LabelEpisodeName": "Nome do epis\u00f3dio",
     "LabelSeriesName": "Nome da s\u00e9rie",
     "LabelSeriesName": "Nome da s\u00e9rie",
     "ValueSeriesNamePeriod": "Nome.s\u00e9rie",
     "ValueSeriesNamePeriod": "Nome.s\u00e9rie",
@@ -845,7 +844,7 @@
     "HeaderBrandingHelp": "Personalizar a apar\u00eancia do Media Browser para as necessidades de seu grupo ou organiza\u00e7\u00e3o.",
     "HeaderBrandingHelp": "Personalizar a apar\u00eancia do Media Browser para as necessidades de seu grupo ou organiza\u00e7\u00e3o.",
     "LabelLoginDisclaimer": "Aviso legal no login:",
     "LabelLoginDisclaimer": "Aviso legal no login:",
     "LabelLoginDisclaimerHelp": "Isto ser\u00e1 exibido na parte inferior da p\u00e1gina de login.",
     "LabelLoginDisclaimerHelp": "Isto ser\u00e1 exibido na parte inferior da p\u00e1gina de login.",
-    "LabelAutomaticallyDonate": "Doar automaticamente esta quantidade a cada m\u00eas",
+    "LabelAutomaticallyDonate": "Doar automaticamente esta quantidade a cada seis meses",
     "LabelAutomaticallyDonateHelp": "Voc\u00ea pode cancelar a qualquer momento atrav\u00e9s de sua conta do PayPal.",
     "LabelAutomaticallyDonateHelp": "Voc\u00ea pode cancelar a qualquer momento atrav\u00e9s de sua conta do PayPal.",
     "OptionList": "Lista",
     "OptionList": "Lista",
     "TabDashboard": "Painel",
     "TabDashboard": "Painel",

+ 5 - 6
MediaBrowser.Server.Implementations/Localization/Server/pt_PT.json

@@ -479,10 +479,10 @@
     "HeaderProgram": "Programa",
     "HeaderProgram": "Programa",
     "HeaderClients": "Clientes",
     "HeaderClients": "Clientes",
     "LabelCompleted": "Terminado",
     "LabelCompleted": "Terminado",
-    "LabelFailed": "Failed",
+    "LabelFailed": "Falhou",
     "LabelSkipped": "Ignorado",
     "LabelSkipped": "Ignorado",
     "HeaderEpisodeOrganization": "Organiza\u00e7\u00e3o dos Epis\u00f3dios",
     "HeaderEpisodeOrganization": "Organiza\u00e7\u00e3o dos Epis\u00f3dios",
-    "LabelSeries": "Series:",
+    "LabelSeries": "S\u00e9rie:",
     "LabelSeasonNumber": "N\u00famero da temporada",
     "LabelSeasonNumber": "N\u00famero da temporada",
     "LabelEpisodeNumber": "N\u00famero do epis\u00f3dio",
     "LabelEpisodeNumber": "N\u00famero do epis\u00f3dio",
     "LabelEndingEpisodeNumber": "N\u00famero do epis\u00f3dio final",
     "LabelEndingEpisodeNumber": "N\u00famero do epis\u00f3dio final",
@@ -630,8 +630,8 @@
     "ButtonScenes": "Cenas",
     "ButtonScenes": "Cenas",
     "ButtonSubtitles": "Legendas",
     "ButtonSubtitles": "Legendas",
     "ButtonAudioTracks": "Faixas de \u00e1udio",
     "ButtonAudioTracks": "Faixas de \u00e1udio",
-    "ButtonPreviousTrack": "Previous track",
-    "ButtonNextTrack": "Next track",
+    "ButtonPreviousTrack": "Faixa Anterior",
+    "ButtonNextTrack": "Pr\u00f3xima Faixa",
     "ButtonStop": "Parar",
     "ButtonStop": "Parar",
     "ButtonPause": "Pausar",
     "ButtonPause": "Pausar",
     "LabelGroupMoviesIntoCollections": "Group movies into collections",
     "LabelGroupMoviesIntoCollections": "Group movies into collections",
@@ -744,7 +744,6 @@
     "LabelDisplayPluginsFor": "Exibir extens\u00f5es para:",
     "LabelDisplayPluginsFor": "Exibir extens\u00f5es para:",
     "PluginTabMediaBrowserClassic": "MB Classic",
     "PluginTabMediaBrowserClassic": "MB Classic",
     "PluginTabMediaBrowserTheater": "MB Theater",
     "PluginTabMediaBrowserTheater": "MB Theater",
-    "TabOtherPlugins": "Outros",
     "LabelEpisodeName": "Nome do epis\u00f3dio",
     "LabelEpisodeName": "Nome do epis\u00f3dio",
     "LabelSeriesName": "Nome da s\u00e9rie",
     "LabelSeriesName": "Nome da s\u00e9rie",
     "ValueSeriesNamePeriod": "Nome.da.s\u00e9rie",
     "ValueSeriesNamePeriod": "Nome.da.s\u00e9rie",
@@ -845,7 +844,7 @@
     "HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.",
     "HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.",
     "LabelLoginDisclaimer": "Login disclaimer:",
     "LabelLoginDisclaimer": "Login disclaimer:",
     "LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.",
     "LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.",
-    "LabelAutomaticallyDonate": "Automatically donate this amount each month",
+    "LabelAutomaticallyDonate": "Automatically donate this amount every six months",
     "LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.",
     "LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.",
     "OptionList": "List",
     "OptionList": "List",
     "TabDashboard": "Dashboard",
     "TabDashboard": "Dashboard",

File diff suppressed because it is too large
+ 0 - 0
MediaBrowser.Server.Implementations/Localization/Server/ru.json


+ 2 - 2
MediaBrowser.Server.Implementations/Localization/Server/server.json

@@ -755,7 +755,6 @@
 	"LabelDisplayPluginsFor": "Display plugins for:",
 	"LabelDisplayPluginsFor": "Display plugins for:",
 	"PluginTabMediaBrowserClassic": "MB Classic",
 	"PluginTabMediaBrowserClassic": "MB Classic",
 	"PluginTabMediaBrowserTheater": "MB Theater",
 	"PluginTabMediaBrowserTheater": "MB Theater",
-	"TabOtherPlugins": "Others",
 	"LabelEpisodeName": "Episode name",
 	"LabelEpisodeName": "Episode name",
 	"LabelSeriesName": "Series name",
 	"LabelSeriesName": "Series name",
 	"ValueSeriesNamePeriod": "Series.name",
 	"ValueSeriesNamePeriod": "Series.name",
@@ -882,5 +881,6 @@
 	"HeaderNewApiKey": "New Api Key",
 	"HeaderNewApiKey": "New Api Key",
 	"LabelAppName": "App name",
 	"LabelAppName": "App name",
 	"LabelAppNameExample": "Example: Sickbeard, NzbDrone",
 	"LabelAppNameExample": "Example: Sickbeard, NzbDrone",
-	"HeaderNewApiKeyHelp": "Grant an application permission to communicate with Media Browser."
+	"HeaderNewApiKeyHelp": "Grant an application permission to communicate with Media Browser.",
+    "ButtonEnterSupporterKey":  "Enter supporter key"
 }
 }

+ 21 - 22
MediaBrowser.Server.Implementations/Localization/Server/sv.json

@@ -479,10 +479,10 @@
     "HeaderProgram": "Program",
     "HeaderProgram": "Program",
     "HeaderClients": "Klienter",
     "HeaderClients": "Klienter",
     "LabelCompleted": "Klar",
     "LabelCompleted": "Klar",
-    "LabelFailed": "Failed",
+    "LabelFailed": "Misslyckades",
     "LabelSkipped": "Hoppades \u00f6ver",
     "LabelSkipped": "Hoppades \u00f6ver",
     "HeaderEpisodeOrganization": "Katalogisering av avsnitt",
     "HeaderEpisodeOrganization": "Katalogisering av avsnitt",
-    "LabelSeries": "Series:",
+    "LabelSeries": "Serie:",
     "LabelSeasonNumber": "S\u00e4songsnummer:",
     "LabelSeasonNumber": "S\u00e4songsnummer:",
     "LabelEpisodeNumber": "Avsnittsnummer:",
     "LabelEpisodeNumber": "Avsnittsnummer:",
     "LabelEndingEpisodeNumber": "Avslutande avsnittsnummer:",
     "LabelEndingEpisodeNumber": "Avslutande avsnittsnummer:",
@@ -630,8 +630,8 @@
     "ButtonScenes": "Scener",
     "ButtonScenes": "Scener",
     "ButtonSubtitles": "Undertexter",
     "ButtonSubtitles": "Undertexter",
     "ButtonAudioTracks": "Ljudsp\u00e5r",
     "ButtonAudioTracks": "Ljudsp\u00e5r",
-    "ButtonPreviousTrack": "Previous track",
-    "ButtonNextTrack": "Next track",
+    "ButtonPreviousTrack": "F\u00f6reg\u00e5ende sp\u00e5r",
+    "ButtonNextTrack": "N\u00e4sta sp\u00e5r",
     "ButtonStop": "Stopp",
     "ButtonStop": "Stopp",
     "ButtonPause": "Paus",
     "ButtonPause": "Paus",
     "LabelGroupMoviesIntoCollections": "Gruppera filmer i samlingsboxar",
     "LabelGroupMoviesIntoCollections": "Gruppera filmer i samlingsboxar",
@@ -744,7 +744,6 @@
     "LabelDisplayPluginsFor": "Visa till\u00e4gg f\u00f6r:",
     "LabelDisplayPluginsFor": "Visa till\u00e4gg f\u00f6r:",
     "PluginTabMediaBrowserClassic": "MB Classic",
     "PluginTabMediaBrowserClassic": "MB Classic",
     "PluginTabMediaBrowserTheater": "MB Theater",
     "PluginTabMediaBrowserTheater": "MB Theater",
-    "TabOtherPlugins": "\u00d6vriga",
     "LabelEpisodeName": "Avsnittstitel",
     "LabelEpisodeName": "Avsnittstitel",
     "LabelSeriesName": "Serietitel",
     "LabelSeriesName": "Serietitel",
     "ValueSeriesNamePeriod": "Series.name",
     "ValueSeriesNamePeriod": "Series.name",
@@ -847,26 +846,26 @@
     "LabelLoginDisclaimerHelp": "Detta visas l\u00e4ngst ned p\u00e5 inloggningssidan.",
     "LabelLoginDisclaimerHelp": "Detta visas l\u00e4ngst ned p\u00e5 inloggningssidan.",
     "LabelAutomaticallyDonate": "Donera automatiskt detta belopp varje m\u00e5nad",
     "LabelAutomaticallyDonate": "Donera automatiskt detta belopp varje m\u00e5nad",
     "LabelAutomaticallyDonateHelp": "Du kan avbryta n\u00e4r som helst via ditt PayPal-konto.",
     "LabelAutomaticallyDonateHelp": "Du kan avbryta n\u00e4r som helst via ditt PayPal-konto.",
-    "OptionList": "List",
-    "TabDashboard": "Dashboard",
+    "OptionList": "Lista",
+    "TabDashboard": "Kontrollpanel",
     "TitleServer": "Server",
     "TitleServer": "Server",
     "LabelCache": "Cache:",
     "LabelCache": "Cache:",
-    "LabelLogs": "Logs:",
-    "LabelMetadata": "Metadata:",
+    "LabelLogs": "Loggfiler:",
+    "LabelMetadata": "Metadata",
     "LabelImagesByName": "Images by name:",
     "LabelImagesByName": "Images by name:",
-    "LabelTranscodingTemporaryFiles": "Transcoding temporary files:",
-    "HeaderLatestMusic": "Latest Music",
+    "LabelTranscodingTemporaryFiles": "Tillf\u00e4lliga omkodningsfiler:",
+    "HeaderLatestMusic": "Nytillkommen musik",
     "HeaderBranding": "Branding",
     "HeaderBranding": "Branding",
-    "HeaderApiKeys": "Api Keys",
-    "HeaderApiKeysHelp": "External applications are required to have an Api key in order to communicate with Media Browser. Keys are issued by logging in with a Media Browser account, or by manually granting the application a key.",
-    "HeaderApiKey": "Api Key",
+    "HeaderApiKeys": "API-nycklar",
+    "HeaderApiKeysHelp": "Externa program m\u00e5ste ha en API-nyckel f\u00f6r att kommunicera med Media Browser. Nycklar skapas genom inloggning med ett Media Browser-konto eller genom att manuellt tilldela ett program en nyckel.",
+    "HeaderApiKey": "API-nyckel",
     "HeaderApp": "App",
     "HeaderApp": "App",
-    "HeaderDevice": "Device",
-    "HeaderUser": "User",
-    "HeaderDateIssued": "Date Issued",
-    "LabelChapterName": "Chapter {0}",
-    "HeaderNewApiKey": "New Api Key",
-    "LabelAppName": "App name",
-    "LabelAppNameExample": "Example: Sickbeard, NzbDrone",
-    "HeaderNewApiKeyHelp": "Grant an application permission to communicate with Media Browser."
+    "HeaderDevice": "Enhet",
+    "HeaderUser": "Anv\u00e4ndare",
+    "HeaderDateIssued": "Utgivningsdatum",
+    "LabelChapterName": "Kapitel {0}",
+    "HeaderNewApiKey": "Ny API-nyckel",
+    "LabelAppName": "Appens namn",
+    "LabelAppNameExample": "Exempel: Sickbeard, NzbDrone",
+    "HeaderNewApiKeyHelp": "Till\u00e5t en app att kommunicera med Media Browser"
 }
 }

+ 3 - 4
MediaBrowser.Server.Implementations/Localization/Server/vi.json

@@ -630,8 +630,8 @@
     "ButtonScenes": "Scenes",
     "ButtonScenes": "Scenes",
     "ButtonSubtitles": "Subtitles",
     "ButtonSubtitles": "Subtitles",
     "ButtonAudioTracks": "Audio tracks",
     "ButtonAudioTracks": "Audio tracks",
-    "ButtonPreviousTrack": "Previous track",
-    "ButtonNextTrack": "Next track",
+    "ButtonPreviousTrack": "Previous Track",
+    "ButtonNextTrack": "Next Track",
     "ButtonStop": "Stop",
     "ButtonStop": "Stop",
     "ButtonPause": "Pause",
     "ButtonPause": "Pause",
     "LabelGroupMoviesIntoCollections": "Group movies into collections",
     "LabelGroupMoviesIntoCollections": "Group movies into collections",
@@ -744,7 +744,6 @@
     "LabelDisplayPluginsFor": "Display plugins for:",
     "LabelDisplayPluginsFor": "Display plugins for:",
     "PluginTabMediaBrowserClassic": "MB Classic",
     "PluginTabMediaBrowserClassic": "MB Classic",
     "PluginTabMediaBrowserTheater": "MB Theater",
     "PluginTabMediaBrowserTheater": "MB Theater",
-    "TabOtherPlugins": "Others",
     "LabelEpisodeName": "Episode name",
     "LabelEpisodeName": "Episode name",
     "LabelSeriesName": "Series name",
     "LabelSeriesName": "Series name",
     "ValueSeriesNamePeriod": "Series.name",
     "ValueSeriesNamePeriod": "Series.name",
@@ -845,7 +844,7 @@
     "HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.",
     "HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.",
     "LabelLoginDisclaimer": "Login disclaimer:",
     "LabelLoginDisclaimer": "Login disclaimer:",
     "LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.",
     "LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.",
-    "LabelAutomaticallyDonate": "Automatically donate this amount each month",
+    "LabelAutomaticallyDonate": "Automatically donate this amount every six months",
     "LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.",
     "LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.",
     "OptionList": "List",
     "OptionList": "List",
     "TabDashboard": "Dashboard",
     "TabDashboard": "Dashboard",

+ 4 - 5
MediaBrowser.Server.Implementations/Localization/Server/zh_TW.json

@@ -396,7 +396,7 @@
     "HeaderCastCrew": "\u62cd\u651d\u4eba\u54e1\u53ca\u6f14\u54e1",
     "HeaderCastCrew": "\u62cd\u651d\u4eba\u54e1\u53ca\u6f14\u54e1",
     "HeaderAdditionalParts": "\u9644\u52a0\u90e8\u4efd",
     "HeaderAdditionalParts": "\u9644\u52a0\u90e8\u4efd",
     "ButtonSplitVersionsApart": "Split Versions Apart",
     "ButtonSplitVersionsApart": "Split Versions Apart",
-    "ButtonPlayTrailer": "Trailer",
+    "ButtonPlayTrailer": "\u9810\u544a",
     "LabelMissing": "\u7f3a\u5c11",
     "LabelMissing": "\u7f3a\u5c11",
     "LabelOffline": "\u96e2\u7dda",
     "LabelOffline": "\u96e2\u7dda",
     "PathSubstitutionHelp": "Path substitutions are used for mapping a path on the server to a path that clients are able to access. By allowing clients direct access to media on the server they may be able to play them directly over the network and avoid using server resources to stream and transcode them.",
     "PathSubstitutionHelp": "Path substitutions are used for mapping a path on the server to a path that clients are able to access. By allowing clients direct access to media on the server they may be able to play them directly over the network and avoid using server resources to stream and transcode them.",
@@ -630,8 +630,8 @@
     "ButtonScenes": "Scenes",
     "ButtonScenes": "Scenes",
     "ButtonSubtitles": "Subtitles",
     "ButtonSubtitles": "Subtitles",
     "ButtonAudioTracks": "Audio tracks",
     "ButtonAudioTracks": "Audio tracks",
-    "ButtonPreviousTrack": "Previous track",
-    "ButtonNextTrack": "Next track",
+    "ButtonPreviousTrack": "Previous Track",
+    "ButtonNextTrack": "Next Track",
     "ButtonStop": "Stop",
     "ButtonStop": "Stop",
     "ButtonPause": "Pause",
     "ButtonPause": "Pause",
     "LabelGroupMoviesIntoCollections": "Group movies into collections",
     "LabelGroupMoviesIntoCollections": "Group movies into collections",
@@ -744,7 +744,6 @@
     "LabelDisplayPluginsFor": "Display plugins for:",
     "LabelDisplayPluginsFor": "Display plugins for:",
     "PluginTabMediaBrowserClassic": "MB Classic",
     "PluginTabMediaBrowserClassic": "MB Classic",
     "PluginTabMediaBrowserTheater": "MB Theater",
     "PluginTabMediaBrowserTheater": "MB Theater",
-    "TabOtherPlugins": "Others",
     "LabelEpisodeName": "Episode name",
     "LabelEpisodeName": "Episode name",
     "LabelSeriesName": "Series name",
     "LabelSeriesName": "Series name",
     "ValueSeriesNamePeriod": "Series.name",
     "ValueSeriesNamePeriod": "Series.name",
@@ -845,7 +844,7 @@
     "HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.",
     "HeaderBrandingHelp": "Customize the appearance of Media Browser to fit the needs of your group or organization.",
     "LabelLoginDisclaimer": "Login disclaimer:",
     "LabelLoginDisclaimer": "Login disclaimer:",
     "LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.",
     "LabelLoginDisclaimerHelp": "This will be displayed at the bottom of the login page.",
-    "LabelAutomaticallyDonate": "Automatically donate this amount each month",
+    "LabelAutomaticallyDonate": "Automatically donate this amount every six months",
     "LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.",
     "LabelAutomaticallyDonateHelp": "You can cancel at any time via your PayPal account.",
     "OptionList": "List",
     "OptionList": "List",
     "TabDashboard": "Dashboard",
     "TabDashboard": "Dashboard",

+ 3 - 0
MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj

@@ -158,6 +158,9 @@
     <Content Include="dashboard-ui\css\images\clients\amazon.png">
     <Content Include="dashboard-ui\css\images\clients\amazon.png">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </Content>
     </Content>
+    <Content Include="dashboard-ui\css\images\clients\chrome_companion.png">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
     <Content Include="dashboard-ui\css\images\clients\mediaportal.png">
     <Content Include="dashboard-ui\css\images\clients\mediaportal.png">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </Content>
     </Content>

Some files were not shown because too many files changed in this diff