From 5a014b093ccefed72fa09c3b19b18d4ee7578218 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sun, 30 Mar 2014 21:00:47 -0400 Subject: add localization stub --- .../Localization/JavaScript/javascript.json | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json (limited to 'MediaBrowser.Server.Implementations/Localization/JavaScript') diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json new file mode 100644 index 000000000..44600aa35 --- /dev/null +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json @@ -0,0 +1,3 @@ +{ + "LabelTest": "Text" +} \ No newline at end of file -- cgit v1.2.3 From c0801e4f6de87f6a14409b7f399cfd52b3ce88e8 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sun, 30 Mar 2014 22:33:10 -0400 Subject: added web client localization --- .../Localization/ILocalizationManager.cs | 7 ++++++ .../IO/LibraryMonitor.cs | 8 ++++-- .../Localization/JavaScript/en_US.json | 21 ++++++++++++++++ .../Localization/JavaScript/javascript.json | 20 ++++++++++++++- .../Localization/JavaScript/pt_PT.json | 21 ++++++++++++++++ .../Localization/LocalizationManager.cs | 8 ++++-- .../Localization/Server/de.json | 17 +++++++++++++ .../Localization/Server/en_US.json | 17 +++++++++++++ .../Localization/Server/pt_PT.json | 17 +++++++++++++ .../Localization/Server/ru.json | 17 +++++++++++++ .../MediaBrowser.Server.Implementations.csproj | 6 +++++ MediaBrowser.WebDashboard/Api/DashboardService.cs | 29 ++++++++++++++-------- .../MediaBrowser.WebDashboard.csproj | 6 +++++ 13 files changed, 178 insertions(+), 16 deletions(-) create mode 100644 MediaBrowser.Server.Implementations/Localization/JavaScript/en_US.json create mode 100644 MediaBrowser.Server.Implementations/Localization/JavaScript/pt_PT.json create mode 100644 MediaBrowser.Server.Implementations/Localization/Server/de.json create mode 100644 MediaBrowser.Server.Implementations/Localization/Server/en_US.json create mode 100644 MediaBrowser.Server.Implementations/Localization/Server/pt_PT.json create mode 100644 MediaBrowser.Server.Implementations/Localization/Server/ru.json (limited to 'MediaBrowser.Server.Implementations/Localization/JavaScript') diff --git a/MediaBrowser.Controller/Localization/ILocalizationManager.cs b/MediaBrowser.Controller/Localization/ILocalizationManager.cs index 5993c7ac5..f41940ed4 100644 --- a/MediaBrowser.Controller/Localization/ILocalizationManager.cs +++ b/MediaBrowser.Controller/Localization/ILocalizationManager.cs @@ -61,5 +61,12 @@ namespace MediaBrowser.Controller.Localization /// /// IEnumerable{LocalizatonOption}. IEnumerable GetLocalizationOptions(); + + /// + /// Gets the java script localization dictionary. + /// + /// The culture. + /// Dictionary{System.StringSystem.String}. + Dictionary GetJavaScriptLocalizationDictionary(string culture); } } diff --git a/MediaBrowser.Server.Implementations/IO/LibraryMonitor.cs b/MediaBrowser.Server.Implementations/IO/LibraryMonitor.cs index 08add952a..5b65a60c8 100644 --- a/MediaBrowser.Server.Implementations/IO/LibraryMonitor.cs +++ b/MediaBrowser.Server.Implementations/IO/LibraryMonitor.cs @@ -257,8 +257,12 @@ namespace MediaBrowser.Server.Implementations.IO InternalBufferSize = 32767 }; - newWatcher.NotifyFilter = NotifyFilters.CreationTime | NotifyFilters.DirectoryName | - NotifyFilters.FileName | NotifyFilters.LastWrite | NotifyFilters.Size; + newWatcher.NotifyFilter = NotifyFilters.CreationTime | + NotifyFilters.DirectoryName | + NotifyFilters.FileName | + NotifyFilters.LastWrite | + NotifyFilters.Size | + NotifyFilters.Attributes; newWatcher.Created += watcher_Changed; newWatcher.Deleted += watcher_Changed; diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/en_US.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/en_US.json new file mode 100644 index 000000000..45f0d7e13 --- /dev/null +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/en_US.json @@ -0,0 +1,21 @@ +{ + "SettingsSaved": "Settings saved.", + "AddUser": "Add User", + "Users": "Users", + "Delete": "Delete", + "Administrator": "Administrator", + "Password": "Password", + "CreatePassword": "Create Password", + "DeleteImage": "Delete Image", + "DeleteImageConfirmation": "Are you sure you wish to delete this image?", + "FileReadCancelled": "The file read has been cancelled.", + "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." +} \ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json index 44600aa35..41f8508a5 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json @@ -1,3 +1,21 @@ { - "LabelTest": "Text" + "SettingsSaved": "Settings saved.", + "AddUser": "Add User", + "Users": "Users", + "Delete": "Delete", + "Administrator": "Administrator", + "Password": "Password", + "CreatePassword": "Create Password", + "DeleteImage": "Delete Image", + "DeleteImageConfirmation": "Are you sure you wish to delete this image?", + "FileReadCancelled": "The file read has been cancelled.", + "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." } \ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/pt_PT.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/pt_PT.json new file mode 100644 index 000000000..25d3ff944 --- /dev/null +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/pt_PT.json @@ -0,0 +1,21 @@ +{ + "SettingsSaved": "Configura\u00e7\u00f5es guardadas.", + "AddUser": "Adicionar Utilizador", + "Users": "Utilizadores", + "Delete": "Apagar", + "Administrator": "Administrador", + "Password": "Senha", + "CreatePassword": "Criar Senha", + "DeleteImage": "Apagar Imagem", + "DeleteImageConfirmation": "Tem a certeza que pretende apagar a imagem?", + "FileReadCancelled": "The file read has been cancelled.", + "FileNotFound": "Ficheiro n\u00e3o encontrado", + "FileReadError": "Ocorreu um erro ao ler o ficheiro.", + "DeleteUser": "Apagar Utilizador", + "DeleteUserConfirmation": "Tem a certeza que pretende apagar {0}?", + "PasswordResetHeader": "Password Reset", + "PasswordResetComplete": "The password has been reset.", + "PasswordResetConfirmation": "Are you sure you wish to reset the password?", + "PasswordSaved": "Senha guardada.", + "PasswordMatchError": "Password and password confirmation must match." +} \ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/Localization/LocalizationManager.cs b/MediaBrowser.Server.Implementations/Localization/LocalizationManager.cs index badf5f93c..6f39c6759 100644 --- a/MediaBrowser.Server.Implementations/Localization/LocalizationManager.cs +++ b/MediaBrowser.Server.Implementations/Localization/LocalizationManager.cs @@ -333,8 +333,12 @@ namespace MediaBrowser.Server.Implementations.Localization { return new List { - new LocalizatonOption{ Name="English (United States)", Value="en-us"} - }; + new LocalizatonOption{ Name="English (United States)", Value="en-us"}, + new LocalizatonOption{ Name="German", Value="de"}, + new LocalizatonOption{ Name="Portuguese (Portugal)", Value="pt-PT"}, + new LocalizatonOption{ Name="Russian", Value="ru"} + + }.OrderBy(i => i.Name); } public string LocalizeDocument(string document, string culture, Func tokenBuilder) diff --git a/MediaBrowser.Server.Implementations/Localization/Server/de.json b/MediaBrowser.Server.Implementations/Localization/Server/de.json new file mode 100644 index 000000000..ab3271b50 --- /dev/null +++ b/MediaBrowser.Server.Implementations/Localization/Server/de.json @@ -0,0 +1,17 @@ +{ + "LabelExit": "Ende", + "LabelVisitCommunity": "Besuche die Community", + "LabelGithubWiki": "Github Wiki", + "LabelSwagger": "Swagger", + "LabelStandard": "Standard", + "LabelViewApiDocumentation": "Zeige Api Dokumentation", + "LabelBrowseLibrary": "Durchsuche Bibliothek", + "LabelConfigureMediaBrowser": "Konfiguriere Media Browser", + "LabelOpenLibraryViewer": "\u00d6ffne Bibliothekenansicht", + "LabelRestartServer": "Server neustarten", + "LabelShowLogWindow": "Zeige Log Fenster", + "LabelPrevious": "Vorheriges", + "LabelFinish": "Ende", + "LabelNext": "N\u00e4chstes", + "LabelYoureDone": "Du bist fertig!" +} \ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/Localization/Server/en_US.json b/MediaBrowser.Server.Implementations/Localization/Server/en_US.json new file mode 100644 index 000000000..f74cca1eb --- /dev/null +++ b/MediaBrowser.Server.Implementations/Localization/Server/en_US.json @@ -0,0 +1,17 @@ +{ + "LabelExit": "Exit", + "LabelVisitCommunity": "Visit Community", + "LabelGithubWiki": "Github Wiki", + "LabelSwagger": "Swagger", + "LabelStandard": "Standard", + "LabelViewApiDocumentation": "View Api Documentation", + "LabelBrowseLibrary": "Browse Library", + "LabelConfigureMediaBrowser": "Configure Media Browser", + "LabelOpenLibraryViewer": "Open Library Viewer", + "LabelRestartServer": "Restart Server", + "LabelShowLogWindow": "Show Log Window", + "LabelPrevious": "Previous", + "LabelFinish": "Finish", + "LabelNext": "Next", + "LabelYoureDone": "You're Done!" +} \ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/Localization/Server/pt_PT.json b/MediaBrowser.Server.Implementations/Localization/Server/pt_PT.json new file mode 100644 index 000000000..700314708 --- /dev/null +++ b/MediaBrowser.Server.Implementations/Localization/Server/pt_PT.json @@ -0,0 +1,17 @@ +{ + "LabelExit": "Sair", + "LabelVisitCommunity": "Visitar a Comunidade", + "LabelGithubWiki": "Wiki Github", + "LabelSwagger": "Swagger", + "LabelStandard": "Padr\u00e3o", + "LabelViewApiDocumentation": "Ver Documenta\u00e7\u00e3o da API", + "LabelBrowseLibrary": "Navegar na Biblioteca", + "LabelConfigureMediaBrowser": "Configurar Media Browser", + "LabelOpenLibraryViewer": "Abrir Visualizador da Biblioteca", + "LabelRestartServer": "Reiniciar Servidor", + "LabelShowLogWindow": "Mostrar Janela de Log", + "LabelPrevious": "Anterior", + "LabelFinish": "Terminar", + "LabelNext": "Seguinte", + "LabelYoureDone": "Concluiu!" +} \ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/Localization/Server/ru.json b/MediaBrowser.Server.Implementations/Localization/Server/ru.json new file mode 100644 index 000000000..4cc6b90f7 --- /dev/null +++ b/MediaBrowser.Server.Implementations/Localization/Server/ru.json @@ -0,0 +1,17 @@ +{ + "LabelExit": "\u0412\u044b\u0445\u043e\u0434", + "LabelVisitCommunity": "\u041f\u043e\u0441\u0435\u0442\u0438\u0442\u044c \u0421\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e", + "LabelGithubWiki": "\u0412\u0438\u043a\u0438 \u043d\u0430 Github", + "LabelSwagger": "\u041e\u0444\u043e\u0440\u043c\u043b\u0435\u043d\u0438\u0435", + "LabelStandard": "\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439", + "LabelViewApiDocumentation": "\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e API", + "LabelBrowseLibrary": "\u041e\u0431\u043e\u0437\u0440\u0435\u0432\u0430\u0442\u0435\u043b\u044c \u041c\u0435\u0434\u0438\u0430\u0442\u0435\u043a\u0438", + "LabelConfigureMediaBrowser": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 Media Browser", + "LabelOpenLibraryViewer": "\u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 \u041c\u0435\u0434\u0438\u0430\u0442\u0435\u043a\u0438", + "LabelRestartServer": "\u041f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440", + "LabelShowLogWindow": "\u041e\u043a\u043d\u043e \u0416\u0443\u0440\u043d\u0430\u043b\u0430", + "LabelPrevious": "\u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0435", + "LabelFinish": "\u0417\u0430\u043a\u043e\u043d\u0447\u0438\u0442\u044c", + "LabelNext": "\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435", + "LabelYoureDone": "\u0412\u044b \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u043b\u0438!" +} \ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj index ac8dc9431..539b968c7 100644 --- a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj +++ b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj @@ -284,6 +284,12 @@ + + + + + + diff --git a/MediaBrowser.WebDashboard/Api/DashboardService.cs b/MediaBrowser.WebDashboard/Api/DashboardService.cs index 597381529..7313c089f 100644 --- a/MediaBrowser.WebDashboard/Api/DashboardService.cs +++ b/MediaBrowser.WebDashboard/Api/DashboardService.cs @@ -7,6 +7,7 @@ using MediaBrowser.Controller.Localization; using MediaBrowser.Controller.Net; using MediaBrowser.Controller.Plugins; using MediaBrowser.Model.Logging; +using MediaBrowser.Model.Serialization; using ServiceStack; using ServiceStack.Web; using System; @@ -100,6 +101,7 @@ namespace MediaBrowser.WebDashboard.Api private readonly IFileSystem _fileSystem; private readonly ILocalizationManager _localization; + private readonly IJsonSerializer _jsonSerializer; /// /// Initializes a new instance of the class. @@ -107,12 +109,13 @@ namespace MediaBrowser.WebDashboard.Api /// The app host. /// The server configuration manager. /// The file system. - public DashboardService(IServerApplicationHost appHost, IServerConfigurationManager serverConfigurationManager, IFileSystem fileSystem, ILocalizationManager localization) + public DashboardService(IServerApplicationHost appHost, IServerConfigurationManager serverConfigurationManager, IFileSystem fileSystem, ILocalizationManager localization, IJsonSerializer jsonSerializer) { _appHost = appHost; _serverConfigurationManager = serverConfigurationManager; _fileSystem = fileSystem; _localization = localization; + _jsonSerializer = jsonSerializer; } /// @@ -484,7 +487,7 @@ namespace MediaBrowser.WebDashboard.Api { Logger.ErrorException("Error minifying javascript", ex); } - + var bytes = Encoding.UTF8.GetBytes(js); await memoryStream.WriteAsync(bytes, 0, bytes.Length).ConfigureAwait(false); @@ -524,6 +527,7 @@ namespace MediaBrowser.WebDashboard.Api "autoorganizelog.js", "channels.js", "channelitems.js", + "dashboardgeneral.js", "dashboardinfo.js", "dashboardpage.js", "directorybrowser.js", @@ -619,7 +623,10 @@ namespace MediaBrowser.WebDashboard.Api private async Task AppendLocalization(Stream stream) { + var js = "window.localizationGlossary=" + _jsonSerializer.SerializeToString(_localization.GetJavaScriptLocalizationDictionary(GetLocalizationCulture())); + var bytes = Encoding.UTF8.GetBytes(js); + await stream.WriteAsync(bytes, 0, bytes.Length).ConfigureAwait(false); } /// @@ -668,16 +675,16 @@ namespace MediaBrowser.WebDashboard.Api var css = builder.ToString(); - try - { - var result = new KristensenCssMinifier().Minify(builder.ToString(), false, Encoding.UTF8); + //try + //{ + // var result = new KristensenCssMinifier().Minify(builder.ToString(), false, Encoding.UTF8); - //css = result.MinifiedContent; - } - catch (Exception ex) - { - Logger.ErrorException("Error minifying css", ex); - } + // css = result.MinifiedContent; + //} + //catch (Exception ex) + //{ + // Logger.ErrorException("Error minifying css", ex); + //} var memoryStream = new MemoryStream(Encoding.UTF8.GetBytes(css)); diff --git a/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj b/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj index 211f216d5..0ddb05577 100644 --- a/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj +++ b/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj @@ -224,6 +224,9 @@ PreserveNewest + + PreserveNewest + PreserveNewest @@ -518,6 +521,9 @@ PreserveNewest + + PreserveNewest + PreserveNewest -- cgit v1.2.3 From bb5386bb3a8b71406728f8bd2249cf6e02a34ed2 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Mon, 31 Mar 2014 17:04:22 -0400 Subject: added more remote control commands --- MediaBrowser.Api/Playback/BaseStreamingService.cs | 4 +- MediaBrowser.Api/SessionsService.cs | 74 +++++++++++++++++++++- .../Session/ISessionController.cs | 10 +-- MediaBrowser.Controller/Session/ISessionManager.cs | 8 +-- MediaBrowser.Dlna/PlayTo/DlnaController.cs | 44 +++++++------ .../Encoder/EncodingUtils.cs | 4 +- MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs | 2 +- .../MediaBrowser.Model.Portable.csproj | 7 +- .../MediaBrowser.Model.net35.csproj | 7 +- MediaBrowser.Model/ApiClient/IApiClient.cs | 10 +-- MediaBrowser.Model/ApiClient/IServerEvents.cs | 5 +- MediaBrowser.Model/ApiClient/ServerEventArgs.cs | 4 +- MediaBrowser.Model/MediaBrowser.Model.csproj | 3 +- MediaBrowser.Model/Session/GeneralCommand.cs | 48 ++++++++++++++ MediaBrowser.Model/Session/GenericCommand.cs | 48 -------------- MediaBrowser.Model/Session/SystemCommand.cs | 14 ---- MediaBrowser.Model/System/SystemInfo.cs | 6 ++ .../Library/Resolvers/Movies/MovieResolver.cs | 9 +-- .../Localization/JavaScript/de.json | 31 +++++++++ .../Localization/JavaScript/en_US.json | 12 +++- .../Localization/JavaScript/es.json | 31 +++++++++ .../Localization/JavaScript/fr.json | 31 +++++++++ .../Localization/JavaScript/javascript.json | 12 +++- .../Localization/JavaScript/nl.json | 31 +++++++++ .../Localization/JavaScript/pt_PT.json | 20 ++++-- .../Localization/JavaScript/ru.json | 31 +++++++++ .../Localization/JavaScript/zh_TW.json | 31 +++++++++ .../Localization/LocalizationManager.cs | 11 +++- .../Localization/Server/de.json | 37 ++++++++++- .../Localization/Server/en_US.json | 35 +++++++++- .../Localization/Server/es.json | 50 +++++++++++++++ .../Localization/Server/fr.json | 50 +++++++++++++++ .../Localization/Server/nl.json | 50 +++++++++++++++ .../Localization/Server/pt_BR.json | 50 +++++++++++++++ .../Localization/Server/pt_PT.json | 35 +++++++++- .../Localization/Server/ru.json | 49 +++++++++++--- .../Localization/Server/server.json | 35 +++++++++- .../Localization/Server/zh_TW.json | 50 +++++++++++++++ .../MediaBrowser.Server.Implementations.csproj | 11 ++++ .../Roku/RokuSessionController.cs | 14 +--- .../Session/SessionManager.cs | 8 +-- .../Session/WebSocketController.cs | 18 +----- MediaBrowser.ServerApplication/ApplicationHost.cs | 1 + MediaBrowser.WebDashboard/Api/DashboardService.cs | 2 +- 44 files changed, 855 insertions(+), 188 deletions(-) create mode 100644 MediaBrowser.Model/Session/GeneralCommand.cs delete mode 100644 MediaBrowser.Model/Session/GenericCommand.cs delete mode 100644 MediaBrowser.Model/Session/SystemCommand.cs create mode 100644 MediaBrowser.Server.Implementations/Localization/JavaScript/de.json create mode 100644 MediaBrowser.Server.Implementations/Localization/JavaScript/es.json create mode 100644 MediaBrowser.Server.Implementations/Localization/JavaScript/fr.json create mode 100644 MediaBrowser.Server.Implementations/Localization/JavaScript/nl.json create mode 100644 MediaBrowser.Server.Implementations/Localization/JavaScript/ru.json create mode 100644 MediaBrowser.Server.Implementations/Localization/JavaScript/zh_TW.json create mode 100644 MediaBrowser.Server.Implementations/Localization/Server/es.json create mode 100644 MediaBrowser.Server.Implementations/Localization/Server/fr.json create mode 100644 MediaBrowser.Server.Implementations/Localization/Server/nl.json create mode 100644 MediaBrowser.Server.Implementations/Localization/Server/pt_BR.json create mode 100644 MediaBrowser.Server.Implementations/Localization/Server/zh_TW.json (limited to 'MediaBrowser.Server.Implementations/Localization/JavaScript') diff --git a/MediaBrowser.Api/Playback/BaseStreamingService.cs b/MediaBrowser.Api/Playback/BaseStreamingService.cs index 5ed77356b..e6ec38846 100644 --- a/MediaBrowser.Api/Playback/BaseStreamingService.cs +++ b/MediaBrowser.Api/Playback/BaseStreamingService.cs @@ -734,7 +734,9 @@ namespace MediaBrowser.Api.Playback { if (audioStream != null) { - if (audioStream.Channels > 2 && string.Equals(request.AudioCodec, "wma", StringComparison.OrdinalIgnoreCase)) + var codec = request.AudioCodec ?? string.Empty; + + if (audioStream.Channels > 2 && codec.IndexOf("wma", StringComparison.OrdinalIgnoreCase) != -1) { // wmav2 currently only supports two channel output return 2; diff --git a/MediaBrowser.Api/SessionsService.cs b/MediaBrowser.Api/SessionsService.cs index a509c876c..1f3bcf75b 100644 --- a/MediaBrowser.Api/SessionsService.cs +++ b/MediaBrowser.Api/SessionsService.cs @@ -146,7 +146,36 @@ namespace MediaBrowser.Api /// /// The play command. [ApiMember(Name = "Command", Description = "The command to send.", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")] - public SystemCommand Command { get; set; } + public string Command { get; set; } + } + + [Route("/Sessions/{Id}/Command/{Command}", "POST", Summary = "Issues a system command to a client")] + public class SendGeneralCommand : IReturnVoid + { + /// + /// Gets or sets the id. + /// + /// The id. + [ApiMember(Name = "Id", Description = "Session Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")] + public Guid Id { get; set; } + + /// + /// Gets or sets the command. + /// + /// The play command. + [ApiMember(Name = "Command", Description = "The command to send.", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")] + public string Command { get; set; } + } + + [Route("/Sessions/{Id}/Command", "POST", Summary = "Issues a system command to a client")] + public class SendFullGeneralCommand : GeneralCommand, IReturnVoid + { + /// + /// Gets or sets the id. + /// + /// The id. + [ApiMember(Name = "Id", Description = "Session Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")] + public Guid Id { get; set; } } [Route("/Sessions/{Id}/Message", "POST", Summary = "Issues a command to a client to display a message to the user")] @@ -301,9 +330,22 @@ namespace MediaBrowser.Api /// The request. public void Post(SendSystemCommand request) { - var task = _sessionManager.SendSystemCommand(GetSession().Id, request.Id, request.Command, CancellationToken.None); + GeneralCommandType commandType; - Task.WaitAll(task); + if (Enum.TryParse(request.Command, true, out commandType)) + { + var currentSession = GetSession(); + + var command = new GeneralCommand + { + Name = commandType.ToString(), + ControllingUserId = currentSession.UserId.HasValue ? currentSession.UserId.Value.ToString("N") : null + }; + + var task = _sessionManager.SendGeneralCommand(currentSession.Id, request.Id, command, CancellationToken.None); + + Task.WaitAll(task); + } } /// @@ -343,6 +385,32 @@ namespace MediaBrowser.Api Task.WaitAll(task); } + public void Post(SendGeneralCommand request) + { + var currentSession = GetSession(); + + var command = new GeneralCommand + { + Name = request.Command, + ControllingUserId = currentSession.UserId.HasValue ? currentSession.UserId.Value.ToString("N") : null + }; + + var task = _sessionManager.SendGeneralCommand(currentSession.Id, request.Id, command, CancellationToken.None); + + Task.WaitAll(task); + } + + public void Post(SendFullGeneralCommand request) + { + var currentSession = GetSession(); + + request.ControllingUserId = currentSession.UserId.HasValue ? currentSession.UserId.Value.ToString("N") : null; + + var task = _sessionManager.SendGeneralCommand(currentSession.Id, request.Id, request, CancellationToken.None); + + Task.WaitAll(task); + } + public void Post(AddUserToSession request) { _sessionManager.AddAdditionalUser(request.Id, request.UserId); diff --git a/MediaBrowser.Controller/Session/ISessionController.cs b/MediaBrowser.Controller/Session/ISessionController.cs index 02cc875bd..cf57f6621 100644 --- a/MediaBrowser.Controller/Session/ISessionController.cs +++ b/MediaBrowser.Controller/Session/ISessionController.cs @@ -19,14 +19,6 @@ namespace MediaBrowser.Controller.Session /// true if this instance is session active; otherwise, false. bool IsSessionActive { get; } - /// - /// Sends the system command. - /// - /// The command. - /// The cancellation token. - /// Task. - Task SendSystemCommand(SystemCommand command, CancellationToken cancellationToken); - /// /// Sends the message command. /// @@ -65,7 +57,7 @@ namespace MediaBrowser.Controller.Session /// The command. /// The cancellation token. /// Task. - Task SendGenericCommand(GenericCommand command, CancellationToken cancellationToken); + Task SendGeneralCommand(GeneralCommand command, CancellationToken cancellationToken); /// /// Sends the library update info. diff --git a/MediaBrowser.Controller/Session/ISessionManager.cs b/MediaBrowser.Controller/Session/ISessionManager.cs index 459e43d08..434c51336 100644 --- a/MediaBrowser.Controller/Session/ISessionManager.cs +++ b/MediaBrowser.Controller/Session/ISessionManager.cs @@ -84,15 +84,15 @@ namespace MediaBrowser.Controller.Session Task ReportSessionEnded(Guid sessionId); /// - /// Sends the system command. + /// Sends the general command. /// /// The controlling session identifier. - /// The session id. + /// The session identifier. /// The command. /// The cancellation token. /// Task. - Task SendSystemCommand(Guid controllingSessionId, Guid sessionId, SystemCommand command, CancellationToken cancellationToken); - + Task SendGeneralCommand(Guid controllingSessionId, Guid sessionId, GeneralCommand command, CancellationToken cancellationToken); + /// /// Sends the message command. /// diff --git a/MediaBrowser.Dlna/PlayTo/DlnaController.cs b/MediaBrowser.Dlna/PlayTo/DlnaController.cs index 0c9f292ad..96df8c862 100644 --- a/MediaBrowser.Dlna/PlayTo/DlnaController.cs +++ b/MediaBrowser.Dlna/PlayTo/DlnaController.cs @@ -308,25 +308,6 @@ namespace MediaBrowser.Dlna.PlayTo return Task.FromResult(true); } - public Task SendSystemCommand(SystemCommand command, CancellationToken cancellationToken) - { - switch (command) - { - case SystemCommand.VolumeDown: - return _device.VolumeDown(); - case SystemCommand.VolumeUp: - return _device.VolumeUp(); - case SystemCommand.Mute: - return _device.VolumeDown(true); - case SystemCommand.Unmute: - return _device.VolumeUp(true); - case SystemCommand.ToggleMute: - return _device.ToggleMute(); - default: - return Task.FromResult(true); - } - } - public Task SendUserDataChangeInfo(UserDataChangeInfo info, CancellationToken cancellationToken) { return Task.FromResult(true); @@ -620,9 +601,30 @@ namespace MediaBrowser.Dlna.PlayTo } } - public Task SendGenericCommand(GenericCommand command, CancellationToken cancellationToken) + public Task SendGeneralCommand(GeneralCommand command, CancellationToken cancellationToken) { - throw new NotImplementedException(); + GeneralCommandType commandType; + + if (!Enum.TryParse(command.Name, true, out commandType)) + { + switch (commandType) + { + case GeneralCommandType.VolumeDown: + return _device.VolumeDown(); + case GeneralCommandType.VolumeUp: + return _device.VolumeUp(); + case GeneralCommandType.Mute: + return _device.VolumeDown(true); + case GeneralCommandType.Unmute: + return _device.VolumeUp(true); + case GeneralCommandType.ToggleMute: + return _device.ToggleMute(); + default: + return Task.FromResult(true); + } + } + + return Task.FromResult(true); } } } diff --git a/MediaBrowser.MediaEncoding/Encoder/EncodingUtils.cs b/MediaBrowser.MediaEncoding/Encoder/EncodingUtils.cs index 79d512dc1..4a9023c7f 100644 --- a/MediaBrowser.MediaEncoding/Encoder/EncodingUtils.cs +++ b/MediaBrowser.MediaEncoding/Encoder/EncodingUtils.cs @@ -180,7 +180,9 @@ namespace MediaBrowser.MediaEncoding.Encoder { if (audioStream != null) { - if (audioStream.Channels > 2 && string.Equals(request.AudioCodec, "wma", StringComparison.OrdinalIgnoreCase)) + var codec = request.AudioCodec ?? string.Empty; + + if (audioStream.Channels > 2 && codec.IndexOf("wma", StringComparison.OrdinalIgnoreCase) != -1) { // wmav2 currently only supports two channel output return 2; diff --git a/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs b/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs index 93df0c8b9..675d43be7 100644 --- a/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs +++ b/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs @@ -768,7 +768,7 @@ namespace MediaBrowser.MediaEncoding.Encoder } // Use ffmpeg to sample 100 (we can drop this if required using thumbnail=50 for 50 frames) frames and pick the best thumbnail. Have a fall back just in case. - var args = useIFrame ? string.Format("-i {0} -threads 0 -v quiet -vframes 1 -vf \"{2},thumbnail=80\" -f image2 \"{1}\"", inputPath, "-", vf) : + var args = useIFrame ? string.Format("-i {0} -threads 0 -v quiet -vframes 1 -vf \"{2},thumbnail=50\" -f image2 \"{1}\"", inputPath, "-", vf) : string.Format("-i {0} -threads 0 -v quiet -vframes 1 -vf \"{2}\" -f image2 \"{1}\"", inputPath, "-", vf); var probeSize = GetProbeSizeArgument(type); diff --git a/MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj b/MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj index 6c4d9d9e2..00fb2131c 100644 --- a/MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj +++ b/MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj @@ -428,8 +428,8 @@ Session\BrowseRequest.cs - - Session\GenericCommand.cs + + Session\GeneralCommand.cs Session\MessageCommand.cs @@ -449,9 +449,6 @@ Session\SessionInfoDto.cs - - Session\SystemCommand.cs - Session\UserDataChangeInfo.cs diff --git a/MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj b/MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj index b39cecc61..f8bc2a600 100644 --- a/MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj +++ b/MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj @@ -415,8 +415,8 @@ Session\BrowseRequest.cs - - Session\GenericCommand.cs + + Session\GeneralCommand.cs Session\MessageCommand.cs @@ -436,9 +436,6 @@ Session\SessionInfoDto.cs - - Session\SystemCommand.cs - Session\UserDataChangeInfo.cs diff --git a/MediaBrowser.Model/ApiClient/IApiClient.cs b/MediaBrowser.Model/ApiClient/IApiClient.cs index 28c5822e9..dc5e26be3 100644 --- a/MediaBrowser.Model/ApiClient/IApiClient.cs +++ b/MediaBrowser.Model/ApiClient/IApiClient.cs @@ -593,17 +593,9 @@ namespace MediaBrowser.Model.ApiClient /// Sends the command asynchronous. /// /// The session identifier. - /// The request. - /// Task. - Task SendCommandAsync(string sessionId, GenericCommand request); - - /// - /// Sends a system command to the client - /// - /// The session id. /// The command. /// Task. - Task SendSystemCommandAsync(string sessionId, SystemCommand command); + Task SendCommandAsync(string sessionId, GeneralCommand command); /// /// Instructs the client to display a message to the user diff --git a/MediaBrowser.Model/ApiClient/IServerEvents.cs b/MediaBrowser.Model/ApiClient/IServerEvents.cs index 0a38c63ad..63135baa2 100644 --- a/MediaBrowser.Model/ApiClient/IServerEvents.cs +++ b/MediaBrowser.Model/ApiClient/IServerEvents.cs @@ -1,4 +1,5 @@ -using System; +using MediaBrowser.Model.Session; +using System; namespace MediaBrowser.Model.ApiClient { @@ -66,7 +67,7 @@ namespace MediaBrowser.Model.ApiClient /// /// Occurs when [system command]. /// - event EventHandler SystemCommand; + event EventHandler GeneralCommand; /// /// Occurs when [notification added]. /// diff --git a/MediaBrowser.Model/ApiClient/ServerEventArgs.cs b/MediaBrowser.Model/ApiClient/ServerEventArgs.cs index d3212caf4..b7f709e95 100644 --- a/MediaBrowser.Model/ApiClient/ServerEventArgs.cs +++ b/MediaBrowser.Model/ApiClient/ServerEventArgs.cs @@ -152,13 +152,13 @@ namespace MediaBrowser.Model.ApiClient /// /// Class SystemCommandEventArgs /// - public class SystemCommandEventArgs : EventArgs + public class GeneralCommandEventArgs : EventArgs { /// /// Gets or sets the command. /// /// The command. - public SystemCommand Command { get; set; } + public GeneralCommand Command { get; set; } } /// diff --git a/MediaBrowser.Model/MediaBrowser.Model.csproj b/MediaBrowser.Model/MediaBrowser.Model.csproj index 207543fe8..0859f6999 100644 --- a/MediaBrowser.Model/MediaBrowser.Model.csproj +++ b/MediaBrowser.Model/MediaBrowser.Model.csproj @@ -132,7 +132,7 @@ - + @@ -171,7 +171,6 @@ - diff --git a/MediaBrowser.Model/Session/GeneralCommand.cs b/MediaBrowser.Model/Session/GeneralCommand.cs new file mode 100644 index 000000000..0de7d6dd8 --- /dev/null +++ b/MediaBrowser.Model/Session/GeneralCommand.cs @@ -0,0 +1,48 @@ +using System; +using System.Collections.Generic; + +namespace MediaBrowser.Model.Session +{ + public class GeneralCommand + { + public string Name { get; set; } + + public string ControllingUserId { get; set; } + + public Dictionary Arguments { get; set; } + + public GeneralCommand() + { + Arguments = new Dictionary(StringComparer.OrdinalIgnoreCase); + } + } + + /// + /// This exists simply to identify a set of known commands. + /// + public enum GeneralCommandType + { + MoveUp = 0, + MoveDown = 1, + MoveLeft = 2, + MoveRight = 3, + PageUp = 4, + PageDown = 5, + PreviousLetter = 6, + NextLetter = 7, + ToggleOsd = 8, + ToggleContextMenu = 9, + Select = 10, + Back = 11, + TakeScreenshot = 12, + SendKey = 13, + SendString = 14, + GoHome = 15, + GoToSettings = 16, + VolumeUp = 17, + VolumeDown = 18, + Mute = 19, + Unmute = 20, + ToggleMute = 21 + } +} diff --git a/MediaBrowser.Model/Session/GenericCommand.cs b/MediaBrowser.Model/Session/GenericCommand.cs deleted file mode 100644 index f7ea0a84a..000000000 --- a/MediaBrowser.Model/Session/GenericCommand.cs +++ /dev/null @@ -1,48 +0,0 @@ -using System; -using System.Collections.Generic; - -namespace MediaBrowser.Model.Session -{ - public class GenericCommand - { - public string Name { get; set; } - - public string ControllingUserId { get; set; } - - public Dictionary Arguments { get; set; } - - public GenericCommand() - { - Arguments = new Dictionary(StringComparer.OrdinalIgnoreCase); - } - } - - /// - /// This exists simply to identify a set of known commands. - /// - public enum CoreGenericCommand - { - MoveUp = 0, - MoveDown = 1, - MoveLeft = 2, - MoveRight = 3, - PageUp = 4, - PageDown = 5, - PreviousLetter = 6, - NextLetter = 7, - ToggleOsd = 8, - ToggleContextMenu = 9, - Select = 10, - Back = 11, - TakeScreenshot = 12, - SendKey = 13, - SendString = 14, - GoHome = 15, - GoToSettings = 16, - VolumeUp = 17, - VolumeDown = 18, - Mute = 19, - Unmute = 20, - ToggleMute = 21 - } -} diff --git a/MediaBrowser.Model/Session/SystemCommand.cs b/MediaBrowser.Model/Session/SystemCommand.cs deleted file mode 100644 index 2fcaef6e3..000000000 --- a/MediaBrowser.Model/Session/SystemCommand.cs +++ /dev/null @@ -1,14 +0,0 @@ - -namespace MediaBrowser.Model.Session -{ - public enum SystemCommand - { - GoHome, - GoToSettings, - VolumeUp, - VolumeDown, - Mute, - Unmute, - ToggleMute - } -} diff --git a/MediaBrowser.Model/System/SystemInfo.cs b/MediaBrowser.Model/System/SystemInfo.cs index ec31c5529..5b1e7d6bb 100644 --- a/MediaBrowser.Model/System/SystemInfo.cs +++ b/MediaBrowser.Model/System/SystemInfo.cs @@ -116,6 +116,12 @@ namespace MediaBrowser.Model.System /// The log path. public string LogPath { get; set; } + /// + /// Gets or sets the internal metadata path. + /// + /// The internal metadata path. + public string InternalMetadataPath { get; set; } + /// /// Gets or sets the transcoding temporary path. /// diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs b/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs index 13a1e8f16..558087a25 100644 --- a/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs +++ b/MediaBrowser.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs @@ -115,22 +115,19 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers.Movies } // Find movies that are mixed in the same folder - if (args.Path.IndexOf("[trailers]", StringComparison.OrdinalIgnoreCase) != -1 || - string.Equals(collectionType, CollectionType.Trailers, StringComparison.OrdinalIgnoreCase)) + if (string.Equals(collectionType, CollectionType.Trailers, StringComparison.OrdinalIgnoreCase)) { return ResolveVideo(args); } Video item = null; - if (args.Path.IndexOf("[musicvideos]", StringComparison.OrdinalIgnoreCase) != -1 || - string.Equals(collectionType, CollectionType.MusicVideos, StringComparison.OrdinalIgnoreCase)) + if (string.Equals(collectionType, CollectionType.MusicVideos, StringComparison.OrdinalIgnoreCase)) { item = ResolveVideo(args); } - if (args.Path.IndexOf("[adultvideos]", StringComparison.OrdinalIgnoreCase) != -1 || - string.Equals(collectionType, CollectionType.AdultVideos, StringComparison.OrdinalIgnoreCase)) + if (string.Equals(collectionType, CollectionType.AdultVideos, StringComparison.OrdinalIgnoreCase)) { item = ResolveVideo(args); } diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/de.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/de.json new file mode 100644 index 000000000..12cdb7035 --- /dev/null +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/de.json @@ -0,0 +1,31 @@ +{ + "SettingsSaved": "Einstellungen gespeichert", + "AddUser": "Benutzer hinzuf\u00fcgen", + "Users": "Benutzer", + "Delete": "L\u00f6schen", + "Administrator": "Administrator", + "Password": "Passwort", + "CreatePassword": "Passwort erstellen", + "DeleteImage": "Bild l\u00f6schen", + "DeleteImageConfirmation": "M\u00f6chten Sie das Bild wirklich l\u00f6schen?", + "FileReadCancelled": "Das Einlesen der Datei wurde abgebrochen.", + "FileNotFound": "Datei nicht gefunden", + "FileReadError": "Beim Lesen der Datei ist ein Fehler aufgetreten.", + "DeleteUser": "Benutzer l\u00f6schen", + "DeleteUserConfirmation": "M\u00f6chten Sie {0} wirklich l\u00f6schen?", + "PasswordResetHeader": "Passwort zur\u00fccksetzen", + "PasswordResetComplete": "Das Passwort wurde zur\u00fcckgesetzt.", + "PasswordResetConfirmation": "M\u00f6chten Sie das Passwort wirklich zur\u00fccksetzen?", + "PasswordSaved": "Passwort gespeichert", + "PasswordMatchError": "Passwort und Passwortbest\u00e4tigung stimmen nicht \u00fcberein.", + "OptionOff": "Aus", + "OptionOn": "Ein", + "OptionRelease": "Release", + "OptionBeta": "Beta", + "OptionDev": "Dev", + "UninstallPluginHeader": "Deinstalliere Plugin", + "UninstallPluginConfirmation": "M\u00f6chten Sie {0} wirklich deinstallieren?", + "NoPluginConfigurationMessage": "Bei diesem Plugin kann nichts eingestellt werden.", + "NoPluginsInstalledMessage": "Sie haben keine Plugins installiert.", + "BrowsePluginCatalogMessage": "Durchsuchen Sie unsere Bibliothek um alle verf\u00fcgbaren Plugins anzuzeigen." +} \ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/en_US.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/en_US.json index 45f0d7e13..7184d4724 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/en_US.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/en_US.json @@ -17,5 +17,15 @@ "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." + "PasswordMatchError": "Password and password confirmation must match.", + "OptionOff": "Off", + "OptionOn": "On", + "OptionRelease": "Release", + "OptionBeta": "Beta", + "OptionDev": "Dev", + "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." } \ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/es.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/es.json new file mode 100644 index 000000000..b0b9fd1a9 --- /dev/null +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/es.json @@ -0,0 +1,31 @@ +{ + "SettingsSaved": "Configuracion guardada", + "AddUser": "Agregar usuario", + "Users": "Usuarios", + "Delete": "Borrar", + "Administrator": "Administrador", + "Password": "Contrase\u00f1a", + "CreatePassword": "Crear Contrase\u00f1a", + "DeleteImage": "Borrar Imagen", + "DeleteImageConfirmation": "Esta seguro que desea borrar esta imagen?", + "FileReadCancelled": "La lectura del archivo se ha cancelado.", + "FileNotFound": "Archivo no encontrado.", + "FileReadError": "Se encontr\u00f3 un error al leer el archivo.", + "DeleteUser": "Borrar Usuario", + "DeleteUserConfirmation": "Esta seguro que desea eliminar a {0}?", + "PasswordResetHeader": "Restablecer contrase\u00f1a", + "PasswordResetComplete": "La contrase\u00f1a se ha restablecido.", + "PasswordResetConfirmation": "Esta seguro que desea restablecer la contrase\u00f1a?", + "PasswordSaved": "Contrase\u00f1a guardada.", + "PasswordMatchError": "La contrase\u00f1a y la confirmaci\u00f3n de la contrase\u00f1a deben de ser iguales.", + "OptionOff": "Apagado", + "OptionOn": "Prendido", + "OptionRelease": "Liberar", + "OptionBeta": "Beta", + "OptionDev": "Desarrollo", + "UninstallPluginHeader": "Desinstalar Plugin", + "UninstallPluginConfirmation": "Esta seguro que desea desinstalar {0}?", + "NoPluginConfigurationMessage": "El plugin no requiere configuraci\u00f3n", + "NoPluginsInstalledMessage": "No tiene plugins instalados.", + "BrowsePluginCatalogMessage": "Navegar el catalogo de plugins para ver los plugins disponibles." +} \ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/fr.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/fr.json new file mode 100644 index 000000000..9e1ebbfee --- /dev/null +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/fr.json @@ -0,0 +1,31 @@ +{ + "SettingsSaved": "Param\u00e8tres sauvegard\u00e9s.", + "AddUser": "Ajout\u00e9 Usager", + "Users": "Usagers", + "Delete": "Supprimer", + "Administrator": "Administrateur", + "Password": "Mot de passe", + "CreatePassword": "Cr\u00e9er mot de passe", + "DeleteImage": "Supprimer Image", + "DeleteImageConfirmation": "\u00cates-vous s\u00fbr de vouloir supprimer l'image?", + "FileReadCancelled": "La lecture du fichier a \u00e9t\u00e9 annul\u00e9e.", + "FileNotFound": "Fichier non trouv\u00e9", + "FileReadError": "Un erreur est survenue pendant la lecture du fichier.", + "DeleteUser": "Supprimer Usager", + "DeleteUserConfirmation": "\u00cates-vous s\u00fbr de vouloir supprimer {0}?", + "PasswordResetHeader": "Red\u00e9marrage du mot de passe", + "PasswordResetComplete": "Le mot de passe a \u00e9t\u00e9 red\u00e9marr\u00e9.", + "PasswordResetConfirmation": "\u00cates-vous s\u00fbr de vouloir red\u00e9marrer le mot de passe?", + "PasswordSaved": "Mot de passe sauvegard\u00e9.", + "PasswordMatchError": "Mot de passe et confirmation de mot de passe doivent correspondre.", + "OptionOff": "Off", + "OptionOn": "On", + "OptionRelease": "Lancement", + "OptionBeta": "Beta", + "OptionDev": "Dev", + "UninstallPluginHeader": "D\u00e9sinstaller module d'extention", + "UninstallPluginConfirmation": "\u00cates-vous s\u00fbr de vouloir d\u00e9sinstaller {0}?", + "NoPluginConfigurationMessage": "Ce module d'extension n'a rien \u00e0 configurer.", + "NoPluginsInstalledMessage": "Vous n'avez aucun module d'extension install\u00e9.", + "BrowsePluginCatalogMessage": "Explorer notre catalogue de modules d'extension pour voir ce qui est disponible." +} \ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json index 41f8508a5..6b014bf34 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/javascript.json @@ -17,5 +17,15 @@ "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." + "PasswordMatchError": "Password and password confirmation must match.", + "OptionOff": "Off", + "OptionOn": "On", + "OptionRelease": "Release", + "OptionBeta": "Beta", + "OptionDev": "Dev", + "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." } \ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/nl.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/nl.json new file mode 100644 index 000000000..17a343283 --- /dev/null +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/nl.json @@ -0,0 +1,31 @@ +{ + "SettingsSaved": "Instellingen opgeslagen.", + "AddUser": "Gebruiker toevoegen", + "Users": "Gebruikers", + "Delete": "Verwijderen", + "Administrator": "Beheerder", + "Password": "Wachtwoord", + "CreatePassword": "Maak wachtwoord", + "DeleteImage": "Verwijder afbeelding", + "DeleteImageConfirmation": "Weet je zeker dat je deze afbeelding wilt verwijderen?", + "FileReadCancelled": "Het lezen van het bestand is geannuleerd", + "FileNotFound": "Bestand niet gevonden.", + "FileReadError": "Er is een fout opgetreden bij het lezen van het bestand.", + "DeleteUser": "Verwijder gebruiker", + "DeleteUserConfirmation": "Weet je zeker dat je {0} wilt verwijderen?", + "PasswordResetHeader": "Wachtwoord opnieuw instellen", + "PasswordResetComplete": "Het wachtwoord is opnieuw ingesteld.", + "PasswordResetConfirmation": "Weet je zeker dat je het wachtwoord opnieuw in wilt stellen?", + "PasswordSaved": "Wachtwoord opgeslagen.", + "PasswordMatchError": "Wachtwoord en wachtwoord bevestiging moeten hetzelfde zijn.", + "OptionOff": "Uit", + "OptionOn": "Aan", + "OptionRelease": "Release", + "OptionBeta": "Beta", + "OptionDev": "Dev", + "UninstallPluginHeader": "Deinstalleer Plugin", + "UninstallPluginConfirmation": "Weet u zeker dat u {0} wilt deinstalleren?", + "NoPluginConfigurationMessage": "Deze plugin heeft niets in te stellen", + "NoPluginsInstalledMessage": "U heeft geen plugins geinstalleerd", + "BrowsePluginCatalogMessage": "Blader door de Plugincatalogus voor beschikbare plugins." +} \ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/pt_PT.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/pt_PT.json index 25d3ff944..e81a18e79 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/pt_PT.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/pt_PT.json @@ -8,14 +8,24 @@ "CreatePassword": "Criar Senha", "DeleteImage": "Apagar Imagem", "DeleteImageConfirmation": "Tem a certeza que pretende apagar a imagem?", - "FileReadCancelled": "The file read has been cancelled.", + "FileReadCancelled": "A leitura do ficheiro foi cancelada.", "FileNotFound": "Ficheiro n\u00e3o encontrado", "FileReadError": "Ocorreu um erro ao ler o ficheiro.", "DeleteUser": "Apagar Utilizador", "DeleteUserConfirmation": "Tem a certeza que pretende apagar {0}?", - "PasswordResetHeader": "Password Reset", - "PasswordResetComplete": "The password has been reset.", - "PasswordResetConfirmation": "Are you sure you wish to reset the password?", + "PasswordResetHeader": "Redefinir Senha", + "PasswordResetComplete": "A senha foi redefinida.", + "PasswordResetConfirmation": "Tem a certeza que pretende redefinir a senha?", "PasswordSaved": "Senha guardada.", - "PasswordMatchError": "Password and password confirmation must match." + "PasswordMatchError": "A senha e a confirma\u00e7\u00e3o da senha devem coincidir.", + "OptionOff": "Desligado", + "OptionOn": "Ligado", + "OptionRelease": "Final", + "OptionBeta": "Beta", + "OptionDev": "Dev", + "UninstallPluginHeader": "Desinstalar extens\u00e3o", + "UninstallPluginConfirmation": "Tem a certeza que pretende desinstalar {0}?", + "NoPluginConfigurationMessage": "Esta extens\u00e3o n\u00e3o \u00e9 configur\u00e1vel.", + "NoPluginsInstalledMessage": "N\u00e3o tem extens\u00f5es instaladas.", + "BrowsePluginCatalogMessage": "Navegue o nosso cat\u00e1logo de extens\u00f5es para ser as extens\u00f5es dispon\u00edveis." } \ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/ru.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/ru.json new file mode 100644 index 000000000..b54e3f129 --- /dev/null +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/ru.json @@ -0,0 +1,31 @@ +{ + "SettingsSaved": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u044b", + "AddUser": "\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f", + "Users": "\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438", + "Delete": "\u0423\u0434\u0430\u043b\u0438\u0442\u044c", + "Administrator": "\u0410\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440", + "Password": "\u041f\u0430\u0440\u043e\u043b\u044c", + "CreatePassword": "\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043f\u0430\u0440\u043e\u043b\u044c", + "DeleteImage": "\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435", + "DeleteImageConfirmation": "\u0412\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0436\u0435\u043b\u0430\u0435\u0442\u0435 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u044d\u0442\u043e \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435?", + "FileReadCancelled": "\u0427\u0442\u0435\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430 \u0431\u044b\u043b\u043e \u043e\u0442\u043c\u0435\u043d\u0435\u043d\u043e", + "FileNotFound": "\u0424\u0430\u0439\u043b \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d", + "FileReadError": "\u0412\u043e \u0432\u0440\u0435\u043c\u044f \u0447\u0442\u0435\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u0430 \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u043e\u0448\u0438\u0431\u043a\u0430", + "DeleteUser": "\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f", + "DeleteUserConfirmation": "\u0412\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0436\u0435\u043b\u0430\u0435\u0442\u0435 \u0443\u0434\u0430\u043b\u0438\u0442\u044c {0}?", + "PasswordResetHeader": "\u0421\u0431\u0440\u043e\u0441 \u043f\u0430\u0440\u043e\u043b\u044f", + "PasswordResetComplete": "\u041f\u0430\u0440\u043e\u043b\u044c \u0431\u044b\u043b \u0441\u0431\u0440\u043e\u0448\u0435\u043d", + "PasswordResetConfirmation": "\u0412\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0436\u0435\u043b\u0430\u0435\u0442\u0435 \u0441\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u043f\u0430\u0440\u043e\u043b\u044c?", + "PasswordSaved": "\u041f\u0430\u0440\u043e\u043b\u044c \u0441\u043e\u0445\u0440\u0430\u043d\u0451\u043d", + "PasswordMatchError": "\u041f\u043e\u043b\u044f \u041f\u0430\u0440\u043e\u043b\u044c \u0438 \u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f \u043f\u0430\u0440\u043e\u043b\u044f \u0434\u043e\u043b\u0436\u043d\u044b \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0442\u044c", + "OptionOff": "\u0412\u044b\u043a\u043b.", + "OptionOn": "\u0412\u043a\u043b.", + "OptionRelease": "\u0412\u044b\u043f\u0443\u0441\u043a", + "OptionBeta": "\u0411\u0435\u0442\u0430", + "OptionDev": "\u0420\u0430\u0437\u0440\u0430\u0431.", + "UninstallPluginHeader": "\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u043f\u043b\u0430\u0433\u0438\u043d", + "UninstallPluginConfirmation": "\u0412\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0436\u0435\u043b\u0430\u0435\u0442\u0435 \u0443\u0434\u0430\u043b\u0438\u0442\u044c {0}?", + "NoPluginConfigurationMessage": "\u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u043b\u0430\u0433\u0438\u043d\u0430 \u043d\u0435\u0442 \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a", + "NoPluginsInstalledMessage": "\u0423 \u0412\u0430\u0441 \u043d\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e \u043d\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u043f\u043b\u0430\u0433\u0438\u043d\u0430.", + "BrowsePluginCatalogMessage": "\u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u043d\u0430\u0448 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u0434\u043b\u044f \u043e\u0431\u0437\u043e\u0440\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u0432." +} \ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/zh_TW.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/zh_TW.json new file mode 100644 index 000000000..ca7b3a7c7 --- /dev/null +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/zh_TW.json @@ -0,0 +1,31 @@ +{ + "SettingsSaved": "\u8a2d\u7f6e\u5df2\u4fdd\u5b58", + "AddUser": "Add User", + "Users": "\u7528\u6236", + "Delete": "\u522a\u9664", + "Administrator": "\u7ba1\u7406\u54e1", + "Password": "\u5bc6\u78bc", + "CreatePassword": "\u5275\u5efa\u5bc6\u78bc", + "DeleteImage": "\u522a\u9664\u5716\u50cf", + "DeleteImageConfirmation": "\u4f60\u78ba\u5b9a\u8981\u522a\u9664\u9019\u5f35\u5716\u7247\uff1f", + "FileReadCancelled": "The file read has been cancelled.", + "FileNotFound": "File not found.", + "FileReadError": "An error occurred while reading the file.", + "DeleteUser": "\u522a\u9664\u7528\u6236", + "DeleteUserConfirmation": "Are you sure you wish to delete {0}?", + "PasswordResetHeader": "\u91cd\u8a2d\u5bc6\u78bc", + "PasswordResetComplete": "\u5bc6\u78bc\u5df2\u91cd\u8a2d", + "PasswordResetConfirmation": "\u4f60\u78ba\u5b9a\u8981\u91cd\u8a2d\u5bc6\u78bc\uff1f", + "PasswordSaved": "\u5bc6\u78bc\u5df2\u4fdd\u5b58\u3002", + "PasswordMatchError": "\u5bc6\u78bc\u548c\u78ba\u8a8d\u5bc6\u78bc\u5fc5\u9808\u4e00\u81f4\u3002", + "OptionOff": "Off", + "OptionOn": "On", + "OptionRelease": "Release", + "OptionBeta": "Beta", + "OptionDev": "Dev", + "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." +} \ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/Localization/LocalizationManager.cs b/MediaBrowser.Server.Implementations/Localization/LocalizationManager.cs index 6f39c6759..9b907ef74 100644 --- a/MediaBrowser.Server.Implementations/Localization/LocalizationManager.cs +++ b/MediaBrowser.Server.Implementations/Localization/LocalizationManager.cs @@ -1,4 +1,5 @@ -using MediaBrowser.Common.IO; +using MediaBrowser.Common.Extensions; +using MediaBrowser.Common.IO; using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Localization; using MediaBrowser.Model.Entities; @@ -12,7 +13,6 @@ using System.Globalization; using System.IO; using System.Linq; using System.Reflection; -using MediaBrowser.Common.Extensions; namespace MediaBrowser.Server.Implementations.Localization { @@ -334,9 +334,14 @@ namespace MediaBrowser.Server.Implementations.Localization return new List { new LocalizatonOption{ Name="English (United States)", Value="en-us"}, + new LocalizatonOption{ Name="Chinese Traditional", Value="zh-TW"}, + new LocalizatonOption{ Name="Dutch", Value="nl"}, + new LocalizatonOption{ Name="French", Value="fr"}, new LocalizatonOption{ Name="German", Value="de"}, + new LocalizatonOption{ Name="Portuguese (Brazil)", Value="pt-BR"}, new LocalizatonOption{ Name="Portuguese (Portugal)", Value="pt-PT"}, - new LocalizatonOption{ Name="Russian", Value="ru"} + new LocalizatonOption{ Name="Russian", Value="ru"}, + new LocalizatonOption{ Name="Spanish", Value="es"} }.OrderBy(i => i.Name); } diff --git a/MediaBrowser.Server.Implementations/Localization/Server/de.json b/MediaBrowser.Server.Implementations/Localization/Server/de.json index ab3271b50..0aeaf3c50 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/de.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/de.json @@ -4,7 +4,7 @@ "LabelGithubWiki": "Github Wiki", "LabelSwagger": "Swagger", "LabelStandard": "Standard", - "LabelViewApiDocumentation": "Zeige Api Dokumentation", + "LabelViewApiDocumentation": "Zeige API Dokumentation", "LabelBrowseLibrary": "Durchsuche Bibliothek", "LabelConfigureMediaBrowser": "Konfiguriere Media Browser", "LabelOpenLibraryViewer": "\u00d6ffne Bibliothekenansicht", @@ -13,5 +13,38 @@ "LabelPrevious": "Vorheriges", "LabelFinish": "Ende", "LabelNext": "N\u00e4chstes", - "LabelYoureDone": "Du bist fertig!" + "LabelYoureDone": "Du bist fertig!", + "WelcomeToMediaBrowser": "Welcome to Media Browser!", + "LabelMediaBrowser": "Media Browser", + "ThisWizardWillGuideYou": "This wizard will help guide you through the setup process.", + "TellUsAboutYourself": "Tell us about yourself", + "LabelYourFirstName": "Your first name:", + "MoreUsersCanBeAddedLater": "More users can be added later within the Dashboard.", + "UserProfilesIntro": "Media Browser includes built-in support for user profiles, enabling each user to have their own display settings, playstate and parental controls.", + "LabelWindowsService": "Windows Service", + "AWindowsServiceHasBeenInstalled": "A Windows Service has been installed.", + "WindowsServiceIntro1": "Media Browser Server normally runs as a desktop application with a tray icon, but if you prefer to run it as a background service, it can be started from the windows services control panel instead.", + "WindowsServiceIntro2": "If using the windows service, please note that it cannot be run at the same time as the tray icon, so you'll need to exit the tray in order to run the service. The service will also need to be configured with administrative privileges via the control panel. Please note that at this time the service is unable to self-update, so new versions will require manual interaction.", + "WizardCompleted": "That's all we need for now. Media Browser has begun collecting information about your media library. Check out some of our apps, and then click Finish<\/b> to view the Dashboard<\/b>.", + "LabelConfigureSettings": "Configure settings", + "LabelEnableVideoImageExtraction": "Enable video image extraction", + "VideoImageExtractionHelp": "For videos that don't already have images, and that we're unable to find internet images for. This will add some additional time to the initial library scan but will result in a more pleasing presentation.", + "LabelEnableChapterImageExtractionForMovies": "Extract chapter image extraction for Movies", + "LabelChapterImageExtractionForMoviesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs as a nightly scheduled task at 4am, although this is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", + "LabelEnableAutomaticPortMapping": "Enable automatic port mapping", + "LabelEnableAutomaticPortMappingHelp": "UPnP allows automated router configuration for easy remote access. This may not work with some router models.", + "ButtonOk": "Ok", + "ButtonCancel": "Cancel", + "HeaderSetupLibrary": "Setup your media library", + "ButtonAddMediaFolder": "Add media folder", + "LabelFolderType": "Folder type:", + "MediaFolderHelpPluginRequired": "* Requires the use of a plugin, e.g. GameBrowser or MB Bookshelf.", + "ReferToMediaLibraryWiki": "Refer to the media library wiki.", + "LabelCountry": "Country:", + "LabelLanguage": "Language:", + "HeaderPreferredMetadataLanguage": "Preferred metadata language:", + "LabelSaveLocalMetadata": "Save artwork and metadata into media folders", + "LabelSaveLocalMetadataHelp": "Saving artwork and metadata directly into media folders will put them in a place where they can be easily edited.", + "LabelDownloadInternetMetadata": "Download artwork and metadata from the internet", + "LabelDownloadInternetMetadataHelp": "Media Browser can download information about your media to enable rich presentations." } \ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/Localization/Server/en_US.json b/MediaBrowser.Server.Implementations/Localization/Server/en_US.json index f74cca1eb..40269bde3 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/en_US.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/en_US.json @@ -13,5 +13,38 @@ "LabelPrevious": "Previous", "LabelFinish": "Finish", "LabelNext": "Next", - "LabelYoureDone": "You're Done!" + "LabelYoureDone": "You're Done!", + "WelcomeToMediaBrowser": "Welcome to Media Browser!", + "LabelMediaBrowser": "Media Browser", + "ThisWizardWillGuideYou": "This wizard will help guide you through the setup process.", + "TellUsAboutYourself": "Tell us about yourself", + "LabelYourFirstName": "Your first name:", + "MoreUsersCanBeAddedLater": "More users can be added later within the Dashboard.", + "UserProfilesIntro": "Media Browser includes built-in support for user profiles, enabling each user to have their own display settings, playstate and parental controls.", + "LabelWindowsService": "Windows Service", + "AWindowsServiceHasBeenInstalled": "A Windows Service has been installed.", + "WindowsServiceIntro1": "Media Browser Server normally runs as a desktop application with a tray icon, but if you prefer to run it as a background service, it can be started from the windows services control panel instead.", + "WindowsServiceIntro2": "If using the windows service, please note that it cannot be run at the same time as the tray icon, so you'll need to exit the tray in order to run the service. The service will also need to be configured with administrative privileges via the control panel. Please note that at this time the service is unable to self-update, so new versions will require manual interaction.", + "WizardCompleted": "That's all we need for now. Media Browser has begun collecting information about your media library. Check out some of our apps, and then click Finish<\/b> to view the Dashboard<\/b>.", + "LabelConfigureSettings": "Configure settings", + "LabelEnableVideoImageExtraction": "Enable video image extraction", + "VideoImageExtractionHelp": "For videos that don't already have images, and that we're unable to find internet images for. This will add some additional time to the initial library scan but will result in a more pleasing presentation.", + "LabelEnableChapterImageExtractionForMovies": "Extract chapter image extraction for Movies", + "LabelChapterImageExtractionForMoviesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs as a nightly scheduled task at 4am, although this is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", + "LabelEnableAutomaticPortMapping": "Enable automatic port mapping", + "LabelEnableAutomaticPortMappingHelp": "UPnP allows automated router configuration for easy remote access. This may not work with some router models.", + "ButtonOk": "Ok", + "ButtonCancel": "Cancel", + "HeaderSetupLibrary": "Setup your media library", + "ButtonAddMediaFolder": "Add media folder", + "LabelFolderType": "Folder type:", + "MediaFolderHelpPluginRequired": "* Requires the use of a plugin, e.g. GameBrowser or MB Bookshelf.", + "ReferToMediaLibraryWiki": "Refer to the media library wiki.", + "LabelCountry": "Country:", + "LabelLanguage": "Language:", + "HeaderPreferredMetadataLanguage": "Preferred metadata language:", + "LabelSaveLocalMetadata": "Save artwork and metadata into media folders", + "LabelSaveLocalMetadataHelp": "Saving artwork and metadata directly into media folders will put them in a place where they can be easily edited.", + "LabelDownloadInternetMetadata": "Download artwork and metadata from the internet", + "LabelDownloadInternetMetadataHelp": "Media Browser can download information about your media to enable rich presentations." } \ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/Localization/Server/es.json b/MediaBrowser.Server.Implementations/Localization/Server/es.json new file mode 100644 index 000000000..f475e1db4 --- /dev/null +++ b/MediaBrowser.Server.Implementations/Localization/Server/es.json @@ -0,0 +1,50 @@ +{ + "LabelExit": "Salir", + "LabelVisitCommunity": "Visitar la comunidad", + "LabelGithubWiki": "Wiki de Github", + "LabelSwagger": "Swagger", + "LabelStandard": "Estandar", + "LabelViewApiDocumentation": "Ver documentacion de Api", + "LabelBrowseLibrary": "Navegar biblioteca", + "LabelConfigureMediaBrowser": "Configurar Media Browser", + "LabelOpenLibraryViewer": "Abrir el visor de la biblioteca", + "LabelRestartServer": "reiniciar el servidor", + "LabelShowLogWindow": "Mostrar la ventana del log", + "LabelPrevious": "Anterior", + "LabelFinish": "Terminar", + "LabelNext": "Siguiente", + "LabelYoureDone": "Ha Terminado!", + "WelcomeToMediaBrowser": "Welcome to Media Browser!", + "LabelMediaBrowser": "Media Browser", + "ThisWizardWillGuideYou": "This wizard will help guide you through the setup process.", + "TellUsAboutYourself": "Tell us about yourself", + "LabelYourFirstName": "Your first name:", + "MoreUsersCanBeAddedLater": "More users can be added later within the Dashboard.", + "UserProfilesIntro": "Media Browser includes built-in support for user profiles, enabling each user to have their own display settings, playstate and parental controls.", + "LabelWindowsService": "Windows Service", + "AWindowsServiceHasBeenInstalled": "A Windows Service has been installed.", + "WindowsServiceIntro1": "Media Browser Server normally runs as a desktop application with a tray icon, but if you prefer to run it as a background service, it can be started from the windows services control panel instead.", + "WindowsServiceIntro2": "If using the windows service, please note that it cannot be run at the same time as the tray icon, so you'll need to exit the tray in order to run the service. The service will also need to be configured with administrative privileges via the control panel. Please note that at this time the service is unable to self-update, so new versions will require manual interaction.", + "WizardCompleted": "That's all we need for now. Media Browser has begun collecting information about your media library. Check out some of our apps, and then click Finish<\/b> to view the Dashboard<\/b>.", + "LabelConfigureSettings": "Configure settings", + "LabelEnableVideoImageExtraction": "Enable video image extraction", + "VideoImageExtractionHelp": "For videos that don't already have images, and that we're unable to find internet images for. This will add some additional time to the initial library scan but will result in a more pleasing presentation.", + "LabelEnableChapterImageExtractionForMovies": "Extract chapter image extraction for Movies", + "LabelChapterImageExtractionForMoviesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs as a nightly scheduled task at 4am, although this is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", + "LabelEnableAutomaticPortMapping": "Enable automatic port mapping", + "LabelEnableAutomaticPortMappingHelp": "UPnP allows automated router configuration for easy remote access. This may not work with some router models.", + "ButtonOk": "Ok", + "ButtonCancel": "Cancel", + "HeaderSetupLibrary": "Setup your media library", + "ButtonAddMediaFolder": "Add media folder", + "LabelFolderType": "Folder type:", + "MediaFolderHelpPluginRequired": "* Requires the use of a plugin, e.g. GameBrowser or MB Bookshelf.", + "ReferToMediaLibraryWiki": "Refer to the media library wiki.", + "LabelCountry": "Country:", + "LabelLanguage": "Language:", + "HeaderPreferredMetadataLanguage": "Preferred metadata language:", + "LabelSaveLocalMetadata": "Save artwork and metadata into media folders", + "LabelSaveLocalMetadataHelp": "Saving artwork and metadata directly into media folders will put them in a place where they can be easily edited.", + "LabelDownloadInternetMetadata": "Download artwork and metadata from the internet", + "LabelDownloadInternetMetadataHelp": "Media Browser can download information about your media to enable rich presentations." +} \ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/Localization/Server/fr.json b/MediaBrowser.Server.Implementations/Localization/Server/fr.json new file mode 100644 index 000000000..038fb5607 --- /dev/null +++ b/MediaBrowser.Server.Implementations/Localization/Server/fr.json @@ -0,0 +1,50 @@ +{ + "LabelExit": "Quitter", + "LabelVisitCommunity": "Visiter Communaut\u00e9", + "LabelGithubWiki": "GitHub Wiki", + "LabelSwagger": "Swagger", + "LabelStandard": "Standard", + "LabelViewApiDocumentation": "Consulter la documentation API", + "LabelBrowseLibrary": "Naviguer la biblioth\u00e8que", + "LabelConfigureMediaBrowser": "Configurer Media Browser", + "LabelOpenLibraryViewer": "Ouvrir le navigateur de biblioth\u00e8que", + "LabelRestartServer": "Red\u00e9marrer Serveur", + "LabelShowLogWindow": "Afficher la fen\u00eatre du journal d'\u00e9v\u00e8nements", + "LabelPrevious": "Pr\u00e9c\u00e9dant", + "LabelFinish": "Termin\u00e9", + "LabelNext": "Suivant", + "LabelYoureDone": "Vous avez Termin\u00e9!", + "WelcomeToMediaBrowser": "Welcome to Media Browser!", + "LabelMediaBrowser": "Media Browser", + "ThisWizardWillGuideYou": "This wizard will help guide you through the setup process.", + "TellUsAboutYourself": "Tell us about yourself", + "LabelYourFirstName": "Your first name:", + "MoreUsersCanBeAddedLater": "More users can be added later within the Dashboard.", + "UserProfilesIntro": "Media Browser includes built-in support for user profiles, enabling each user to have their own display settings, playstate and parental controls.", + "LabelWindowsService": "Windows Service", + "AWindowsServiceHasBeenInstalled": "A Windows Service has been installed.", + "WindowsServiceIntro1": "Media Browser Server normally runs as a desktop application with a tray icon, but if you prefer to run it as a background service, it can be started from the windows services control panel instead.", + "WindowsServiceIntro2": "If using the windows service, please note that it cannot be run at the same time as the tray icon, so you'll need to exit the tray in order to run the service. The service will also need to be configured with administrative privileges via the control panel. Please note that at this time the service is unable to self-update, so new versions will require manual interaction.", + "WizardCompleted": "That's all we need for now. Media Browser has begun collecting information about your media library. Check out some of our apps, and then click Finish<\/b> to view the Dashboard<\/b>.", + "LabelConfigureSettings": "Configure settings", + "LabelEnableVideoImageExtraction": "Enable video image extraction", + "VideoImageExtractionHelp": "For videos that don't already have images, and that we're unable to find internet images for. This will add some additional time to the initial library scan but will result in a more pleasing presentation.", + "LabelEnableChapterImageExtractionForMovies": "Extract chapter image extraction for Movies", + "LabelChapterImageExtractionForMoviesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs as a nightly scheduled task at 4am, although this is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", + "LabelEnableAutomaticPortMapping": "Enable automatic port mapping", + "LabelEnableAutomaticPortMappingHelp": "UPnP allows automated router configuration for easy remote access. This may not work with some router models.", + "ButtonOk": "Ok", + "ButtonCancel": "Cancel", + "HeaderSetupLibrary": "Setup your media library", + "ButtonAddMediaFolder": "Add media folder", + "LabelFolderType": "Folder type:", + "MediaFolderHelpPluginRequired": "* Requires the use of a plugin, e.g. GameBrowser or MB Bookshelf.", + "ReferToMediaLibraryWiki": "Refer to the media library wiki.", + "LabelCountry": "Country:", + "LabelLanguage": "Language:", + "HeaderPreferredMetadataLanguage": "Preferred metadata language:", + "LabelSaveLocalMetadata": "Save artwork and metadata into media folders", + "LabelSaveLocalMetadataHelp": "Saving artwork and metadata directly into media folders will put them in a place where they can be easily edited.", + "LabelDownloadInternetMetadata": "Download artwork and metadata from the internet", + "LabelDownloadInternetMetadataHelp": "Media Browser can download information about your media to enable rich presentations." +} \ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/Localization/Server/nl.json b/MediaBrowser.Server.Implementations/Localization/Server/nl.json new file mode 100644 index 000000000..0fcf20a53 --- /dev/null +++ b/MediaBrowser.Server.Implementations/Localization/Server/nl.json @@ -0,0 +1,50 @@ +{ + "LabelExit": "Afsluiten", + "LabelVisitCommunity": "Bezoek de community", + "LabelGithubWiki": "Github Wiki", + "LabelSwagger": "Swagger", + "LabelStandard": "Standaard", + "LabelViewApiDocumentation": "Bekijk Api documentatie", + "LabelBrowseLibrary": "Bekijk bibliotheek", + "LabelConfigureMediaBrowser": "Configureer Media Browser", + "LabelOpenLibraryViewer": "Open bibliotheek verkenner", + "LabelRestartServer": "Herstart server", + "LabelShowLogWindow": "Toon log venster", + "LabelPrevious": "Vorige", + "LabelFinish": "Finish", + "LabelNext": "Volgende", + "LabelYoureDone": "Gereed!", + "WelcomeToMediaBrowser": "Welcome to Media Browser!", + "LabelMediaBrowser": "Media Browser", + "ThisWizardWillGuideYou": "This wizard will help guide you through the setup process.", + "TellUsAboutYourself": "Tell us about yourself", + "LabelYourFirstName": "Your first name:", + "MoreUsersCanBeAddedLater": "More users can be added later within the Dashboard.", + "UserProfilesIntro": "Media Browser includes built-in support for user profiles, enabling each user to have their own display settings, playstate and parental controls.", + "LabelWindowsService": "Windows Service", + "AWindowsServiceHasBeenInstalled": "A Windows Service has been installed.", + "WindowsServiceIntro1": "Media Browser Server normally runs as a desktop application with a tray icon, but if you prefer to run it as a background service, it can be started from the windows services control panel instead.", + "WindowsServiceIntro2": "If using the windows service, please note that it cannot be run at the same time as the tray icon, so you'll need to exit the tray in order to run the service. The service will also need to be configured with administrative privileges via the control panel. Please note that at this time the service is unable to self-update, so new versions will require manual interaction.", + "WizardCompleted": "That's all we need for now. Media Browser has begun collecting information about your media library. Check out some of our apps, and then click Finish<\/b> to view the Dashboard<\/b>.", + "LabelConfigureSettings": "Configure settings", + "LabelEnableVideoImageExtraction": "Enable video image extraction", + "VideoImageExtractionHelp": "For videos that don't already have images, and that we're unable to find internet images for. This will add some additional time to the initial library scan but will result in a more pleasing presentation.", + "LabelEnableChapterImageExtractionForMovies": "Extract chapter image extraction for Movies", + "LabelChapterImageExtractionForMoviesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs as a nightly scheduled task at 4am, although this is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", + "LabelEnableAutomaticPortMapping": "Enable automatic port mapping", + "LabelEnableAutomaticPortMappingHelp": "UPnP allows automated router configuration for easy remote access. This may not work with some router models.", + "ButtonOk": "Ok", + "ButtonCancel": "Cancel", + "HeaderSetupLibrary": "Setup your media library", + "ButtonAddMediaFolder": "Add media folder", + "LabelFolderType": "Folder type:", + "MediaFolderHelpPluginRequired": "* Requires the use of a plugin, e.g. GameBrowser or MB Bookshelf.", + "ReferToMediaLibraryWiki": "Refer to the media library wiki.", + "LabelCountry": "Country:", + "LabelLanguage": "Language:", + "HeaderPreferredMetadataLanguage": "Preferred metadata language:", + "LabelSaveLocalMetadata": "Save artwork and metadata into media folders", + "LabelSaveLocalMetadataHelp": "Saving artwork and metadata directly into media folders will put them in a place where they can be easily edited.", + "LabelDownloadInternetMetadata": "Download artwork and metadata from the internet", + "LabelDownloadInternetMetadataHelp": "Media Browser can download information about your media to enable rich presentations." +} \ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/Localization/Server/pt_BR.json b/MediaBrowser.Server.Implementations/Localization/Server/pt_BR.json new file mode 100644 index 000000000..a7997e5a2 --- /dev/null +++ b/MediaBrowser.Server.Implementations/Localization/Server/pt_BR.json @@ -0,0 +1,50 @@ +{ + "LabelExit": "Sair", + "LabelVisitCommunity": "Visite o Community", + "LabelGithubWiki": "Wiki do Github", + "LabelSwagger": "Swagger", + "LabelStandard": "Standard", + "LabelViewApiDocumentation": "View Api Documentation", + "LabelBrowseLibrary": "Browse Library", + "LabelConfigureMediaBrowser": "Configure Media Browser", + "LabelOpenLibraryViewer": "Open Library Viewer", + "LabelRestartServer": "Restart Server", + "LabelShowLogWindow": "Show Log Window", + "LabelPrevious": "Previous", + "LabelFinish": "Finish", + "LabelNext": "Next", + "LabelYoureDone": "You're Done!", + "WelcomeToMediaBrowser": "Welcome to Media Browser!", + "LabelMediaBrowser": "Media Browser", + "ThisWizardWillGuideYou": "This wizard will help guide you through the setup process.", + "TellUsAboutYourself": "Tell us about yourself", + "LabelYourFirstName": "Your first name:", + "MoreUsersCanBeAddedLater": "More users can be added later within the Dashboard.", + "UserProfilesIntro": "Media Browser includes built-in support for user profiles, enabling each user to have their own display settings, playstate and parental controls.", + "LabelWindowsService": "Windows Service", + "AWindowsServiceHasBeenInstalled": "A Windows Service has been installed.", + "WindowsServiceIntro1": "Media Browser Server normally runs as a desktop application with a tray icon, but if you prefer to run it as a background service, it can be started from the windows services control panel instead.", + "WindowsServiceIntro2": "If using the windows service, please note that it cannot be run at the same time as the tray icon, so you'll need to exit the tray in order to run the service. The service will also need to be configured with administrative privileges via the control panel. Please note that at this time the service is unable to self-update, so new versions will require manual interaction.", + "WizardCompleted": "That's all we need for now. Media Browser has begun collecting information about your media library. Check out some of our apps, and then click Finish<\/b> to view the Dashboard<\/b>.", + "LabelConfigureSettings": "Configure settings", + "LabelEnableVideoImageExtraction": "Enable video image extraction", + "VideoImageExtractionHelp": "For videos that don't already have images, and that we're unable to find internet images for. This will add some additional time to the initial library scan but will result in a more pleasing presentation.", + "LabelEnableChapterImageExtractionForMovies": "Extract chapter image extraction for Movies", + "LabelChapterImageExtractionForMoviesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs as a nightly scheduled task at 4am, although this is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", + "LabelEnableAutomaticPortMapping": "Enable automatic port mapping", + "LabelEnableAutomaticPortMappingHelp": "UPnP allows automated router configuration for easy remote access. This may not work with some router models.", + "ButtonOk": "Ok", + "ButtonCancel": "Cancel", + "HeaderSetupLibrary": "Setup your media library", + "ButtonAddMediaFolder": "Add media folder", + "LabelFolderType": "Folder type:", + "MediaFolderHelpPluginRequired": "* Requires the use of a plugin, e.g. GameBrowser or MB Bookshelf.", + "ReferToMediaLibraryWiki": "Refer to the media library wiki.", + "LabelCountry": "Country:", + "LabelLanguage": "Language:", + "HeaderPreferredMetadataLanguage": "Preferred metadata language:", + "LabelSaveLocalMetadata": "Save artwork and metadata into media folders", + "LabelSaveLocalMetadataHelp": "Saving artwork and metadata directly into media folders will put them in a place where they can be easily edited.", + "LabelDownloadInternetMetadata": "Download artwork and metadata from the internet", + "LabelDownloadInternetMetadataHelp": "Media Browser can download information about your media to enable rich presentations." +} \ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/Localization/Server/pt_PT.json b/MediaBrowser.Server.Implementations/Localization/Server/pt_PT.json index 700314708..9fddc4f98 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/pt_PT.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/pt_PT.json @@ -13,5 +13,38 @@ "LabelPrevious": "Anterior", "LabelFinish": "Terminar", "LabelNext": "Seguinte", - "LabelYoureDone": "Concluiu!" + "LabelYoureDone": "Concluiu!", + "WelcomeToMediaBrowser": "Welcome to Media Browser!", + "LabelMediaBrowser": "Media Browser", + "ThisWizardWillGuideYou": "This wizard will help guide you through the setup process.", + "TellUsAboutYourself": "Tell us about yourself", + "LabelYourFirstName": "Your first name:", + "MoreUsersCanBeAddedLater": "More users can be added later within the Dashboard.", + "UserProfilesIntro": "Media Browser includes built-in support for user profiles, enabling each user to have their own display settings, playstate and parental controls.", + "LabelWindowsService": "Windows Service", + "AWindowsServiceHasBeenInstalled": "A Windows Service has been installed.", + "WindowsServiceIntro1": "Media Browser Server normally runs as a desktop application with a tray icon, but if you prefer to run it as a background service, it can be started from the windows services control panel instead.", + "WindowsServiceIntro2": "If using the windows service, please note that it cannot be run at the same time as the tray icon, so you'll need to exit the tray in order to run the service. The service will also need to be configured with administrative privileges via the control panel. Please note that at this time the service is unable to self-update, so new versions will require manual interaction.", + "WizardCompleted": "That's all we need for now. Media Browser has begun collecting information about your media library. Check out some of our apps, and then click Finish<\/b> to view the Dashboard<\/b>.", + "LabelConfigureSettings": "Configure settings", + "LabelEnableVideoImageExtraction": "Enable video image extraction", + "VideoImageExtractionHelp": "For videos that don't already have images, and that we're unable to find internet images for. This will add some additional time to the initial library scan but will result in a more pleasing presentation.", + "LabelEnableChapterImageExtractionForMovies": "Extract chapter image extraction for Movies", + "LabelChapterImageExtractionForMoviesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs as a nightly scheduled task at 4am, although this is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", + "LabelEnableAutomaticPortMapping": "Enable automatic port mapping", + "LabelEnableAutomaticPortMappingHelp": "UPnP allows automated router configuration for easy remote access. This may not work with some router models.", + "ButtonOk": "Ok", + "ButtonCancel": "Cancel", + "HeaderSetupLibrary": "Setup your media library", + "ButtonAddMediaFolder": "Add media folder", + "LabelFolderType": "Folder type:", + "MediaFolderHelpPluginRequired": "* Requires the use of a plugin, e.g. GameBrowser or MB Bookshelf.", + "ReferToMediaLibraryWiki": "Refer to the media library wiki.", + "LabelCountry": "Country:", + "LabelLanguage": "Language:", + "HeaderPreferredMetadataLanguage": "Preferred metadata language:", + "LabelSaveLocalMetadata": "Save artwork and metadata into media folders", + "LabelSaveLocalMetadataHelp": "Saving artwork and metadata directly into media folders will put them in a place where they can be easily edited.", + "LabelDownloadInternetMetadata": "Download artwork and metadata from the internet", + "LabelDownloadInternetMetadataHelp": "Media Browser can download information about your media to enable rich presentations." } \ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/Localization/Server/ru.json b/MediaBrowser.Server.Implementations/Localization/Server/ru.json index 4cc6b90f7..5b673132e 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/ru.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/ru.json @@ -2,16 +2,49 @@ "LabelExit": "\u0412\u044b\u0445\u043e\u0434", "LabelVisitCommunity": "\u041f\u043e\u0441\u0435\u0442\u0438\u0442\u044c \u0421\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e", "LabelGithubWiki": "\u0412\u0438\u043a\u0438 \u043d\u0430 Github", - "LabelSwagger": "\u041e\u0444\u043e\u0440\u043c\u043b\u0435\u043d\u0438\u0435", - "LabelStandard": "\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439", + "LabelSwagger": "\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 Swagger", + "LabelStandard": "\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0430\u044f", "LabelViewApiDocumentation": "\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e API", "LabelBrowseLibrary": "\u041e\u0431\u043e\u0437\u0440\u0435\u0432\u0430\u0442\u0435\u043b\u044c \u041c\u0435\u0434\u0438\u0430\u0442\u0435\u043a\u0438", - "LabelConfigureMediaBrowser": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 Media Browser", - "LabelOpenLibraryViewer": "\u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 \u041c\u0435\u0434\u0438\u0430\u0442\u0435\u043a\u0438", - "LabelRestartServer": "\u041f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440", - "LabelShowLogWindow": "\u041e\u043a\u043d\u043e \u0416\u0443\u0440\u043d\u0430\u043b\u0430", + "LabelConfigureMediaBrowser": "\u041d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c Media Browser", + "LabelOpenLibraryViewer": "\u0418\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u044c \u041c\u0435\u0434\u0438\u0430\u0442\u0435\u043a\u0443", + "LabelRestartServer": "\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440", + "LabelShowLogWindow": "\u041e\u0442\u043a\u0440\u044b\u0442\u044c \u0416\u0443\u0440\u043d\u0430\u043b \u0432 \u043e\u043a\u043d\u0435", "LabelPrevious": "\u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0435", - "LabelFinish": "\u0417\u0430\u043a\u043e\u043d\u0447\u0438\u0442\u044c", + "LabelFinish": "\u0417\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044c", "LabelNext": "\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435", - "LabelYoureDone": "\u0412\u044b \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u043b\u0438!" + "LabelYoureDone": "\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u043e!", + "WelcomeToMediaBrowser": "Welcome to Media Browser!", + "LabelMediaBrowser": "Media Browser", + "ThisWizardWillGuideYou": "This wizard will help guide you through the setup process.", + "TellUsAboutYourself": "Tell us about yourself", + "LabelYourFirstName": "Your first name:", + "MoreUsersCanBeAddedLater": "More users can be added later within the Dashboard.", + "UserProfilesIntro": "Media Browser includes built-in support for user profiles, enabling each user to have their own display settings, playstate and parental controls.", + "LabelWindowsService": "Windows Service", + "AWindowsServiceHasBeenInstalled": "A Windows Service has been installed.", + "WindowsServiceIntro1": "Media Browser Server normally runs as a desktop application with a tray icon, but if you prefer to run it as a background service, it can be started from the windows services control panel instead.", + "WindowsServiceIntro2": "If using the windows service, please note that it cannot be run at the same time as the tray icon, so you'll need to exit the tray in order to run the service. The service will also need to be configured with administrative privileges via the control panel. Please note that at this time the service is unable to self-update, so new versions will require manual interaction.", + "WizardCompleted": "That's all we need for now. Media Browser has begun collecting information about your media library. Check out some of our apps, and then click Finish<\/b> to view the Dashboard<\/b>.", + "LabelConfigureSettings": "Configure settings", + "LabelEnableVideoImageExtraction": "Enable video image extraction", + "VideoImageExtractionHelp": "For videos that don't already have images, and that we're unable to find internet images for. This will add some additional time to the initial library scan but will result in a more pleasing presentation.", + "LabelEnableChapterImageExtractionForMovies": "Extract chapter image extraction for Movies", + "LabelChapterImageExtractionForMoviesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs as a nightly scheduled task at 4am, although this is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", + "LabelEnableAutomaticPortMapping": "Enable automatic port mapping", + "LabelEnableAutomaticPortMappingHelp": "UPnP allows automated router configuration for easy remote access. This may not work with some router models.", + "ButtonOk": "Ok", + "ButtonCancel": "Cancel", + "HeaderSetupLibrary": "Setup your media library", + "ButtonAddMediaFolder": "Add media folder", + "LabelFolderType": "Folder type:", + "MediaFolderHelpPluginRequired": "* Requires the use of a plugin, e.g. GameBrowser or MB Bookshelf.", + "ReferToMediaLibraryWiki": "Refer to the media library wiki.", + "LabelCountry": "Country:", + "LabelLanguage": "Language:", + "HeaderPreferredMetadataLanguage": "Preferred metadata language:", + "LabelSaveLocalMetadata": "Save artwork and metadata into media folders", + "LabelSaveLocalMetadataHelp": "Saving artwork and metadata directly into media folders will put them in a place where they can be easily edited.", + "LabelDownloadInternetMetadata": "Download artwork and metadata from the internet", + "LabelDownloadInternetMetadataHelp": "Media Browser can download information about your media to enable rich presentations." } \ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/Localization/Server/server.json b/MediaBrowser.Server.Implementations/Localization/Server/server.json index 62a418391..9630509d3 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/server.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/server.json @@ -13,5 +13,38 @@ "LabelPrevious": "Previous", "LabelFinish": "Finish", "LabelNext": "Next", - "LabelYoureDone": "You're Done!" + "LabelYoureDone": "You're Done!", + "WelcomeToMediaBrowser": "Welcome to Media Browser!", + "LabelMediaBrowser": "Media Browser", + "ThisWizardWillGuideYou": "This wizard will help guide you through the setup process.", + "TellUsAboutYourself": "Tell us about yourself", + "LabelYourFirstName": "Your first name:", + "MoreUsersCanBeAddedLater": "More users can be added later within the Dashboard.", + "UserProfilesIntro": "Media Browser includes built-in support for user profiles, enabling each user to have their own display settings, playstate and parental controls.", + "LabelWindowsService": "Windows Service", + "AWindowsServiceHasBeenInstalled": "A Windows Service has been installed.", + "WindowsServiceIntro1": "Media Browser Server normally runs as a desktop application with a tray icon, but if you prefer to run it as a background service, it can be started from the windows services control panel instead.", + "WindowsServiceIntro2": "If using the windows service, please note that it cannot be run at the same time as the tray icon, so you'll need to exit the tray in order to run the service. The service will also need to be configured with administrative privileges via the control panel. Please note that at this time the service is unable to self-update, so new versions will require manual interaction.", + "WizardCompleted": "That's all we need for now. Media Browser has begun collecting information about your media library. Check out some of our apps, and then click Finish to view the Dashboard.", + "LabelConfigureSettings": "Configure settings", + "LabelEnableVideoImageExtraction": "Enable video image extraction", + "VideoImageExtractionHelp": "For videos that don't already have images, and that we're unable to find internet images for. This will add some additional time to the initial library scan but will result in a more pleasing presentation.", + "LabelEnableChapterImageExtractionForMovies": "Extract chapter image extraction for Movies", + "LabelChapterImageExtractionForMoviesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs as a nightly scheduled task at 4am, although this is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", + "LabelEnableAutomaticPortMapping": "Enable automatic port mapping", + "LabelEnableAutomaticPortMappingHelp": "UPnP allows automated router configuration for easy remote access. This may not work with some router models.", + "ButtonOk": "Ok", + "ButtonCancel": "Cancel", + "HeaderSetupLibrary": "Setup your media library", + "ButtonAddMediaFolder": "Add media folder", + "LabelFolderType": "Folder type:", + "MediaFolderHelpPluginRequired": "* Requires the use of a plugin, e.g. GameBrowser or MB Bookshelf.", + "ReferToMediaLibraryWiki": "Refer to the media library wiki.", + "LabelCountry": "Country:", + "LabelLanguage": "Language:", + "HeaderPreferredMetadataLanguage": "Preferred metadata language:", + "LabelSaveLocalMetadata": "Save artwork and metadata into media folders", + "LabelSaveLocalMetadataHelp": "Saving artwork and metadata directly into media folders will put them in a place where they can be easily edited.", + "LabelDownloadInternetMetadata": "Download artwork and metadata from the internet", + "LabelDownloadInternetMetadataHelp": "Media Browser can download information about your media to enable rich presentations." } \ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/Localization/Server/zh_TW.json b/MediaBrowser.Server.Implementations/Localization/Server/zh_TW.json new file mode 100644 index 000000000..6084c1511 --- /dev/null +++ b/MediaBrowser.Server.Implementations/Localization/Server/zh_TW.json @@ -0,0 +1,50 @@ +{ + "LabelExit": "\u96e2\u958b", + "LabelVisitCommunity": "\u8a2a\u554f\u793e\u5340", + "LabelGithubWiki": "Github Wiki", + "LabelSwagger": "Swagger", + "LabelStandard": "\u6a19\u6dee", + "LabelViewApiDocumentation": "View Api Documentation", + "LabelBrowseLibrary": "Browse Library", + "LabelConfigureMediaBrowser": "Configure Media Browser", + "LabelOpenLibraryViewer": "Open Library Viewer", + "LabelRestartServer": "\u91cd\u65b0\u555f\u52d5\u670d\u52d9\u5668", + "LabelShowLogWindow": "\u986f\u793a\u65e5\u8a8c\u8996\u7a97", + "LabelPrevious": "\u4e0a\u4e00\u500b", + "LabelFinish": "\u5b8c\u7d50", + "LabelNext": "\u4e0b\u4e00\u500b", + "LabelYoureDone": "You're Done!", + "WelcomeToMediaBrowser": "Welcome to Media Browser!", + "LabelMediaBrowser": "Media Browser", + "ThisWizardWillGuideYou": "This wizard will help guide you through the setup process.", + "TellUsAboutYourself": "Tell us about yourself", + "LabelYourFirstName": "Your first name:", + "MoreUsersCanBeAddedLater": "More users can be added later within the Dashboard.", + "UserProfilesIntro": "Media Browser includes built-in support for user profiles, enabling each user to have their own display settings, playstate and parental controls.", + "LabelWindowsService": "Windows Service", + "AWindowsServiceHasBeenInstalled": "A Windows Service has been installed.", + "WindowsServiceIntro1": "Media Browser Server normally runs as a desktop application with a tray icon, but if you prefer to run it as a background service, it can be started from the windows services control panel instead.", + "WindowsServiceIntro2": "If using the windows service, please note that it cannot be run at the same time as the tray icon, so you'll need to exit the tray in order to run the service. The service will also need to be configured with administrative privileges via the control panel. Please note that at this time the service is unable to self-update, so new versions will require manual interaction.", + "WizardCompleted": "That's all we need for now. Media Browser has begun collecting information about your media library. Check out some of our apps, and then click Finish<\/b> to view the Dashboard<\/b>.", + "LabelConfigureSettings": "Configure settings", + "LabelEnableVideoImageExtraction": "Enable video image extraction", + "VideoImageExtractionHelp": "For videos that don't already have images, and that we're unable to find internet images for. This will add some additional time to the initial library scan but will result in a more pleasing presentation.", + "LabelEnableChapterImageExtractionForMovies": "Extract chapter image extraction for Movies", + "LabelChapterImageExtractionForMoviesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs as a nightly scheduled task at 4am, although this is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", + "LabelEnableAutomaticPortMapping": "Enable automatic port mapping", + "LabelEnableAutomaticPortMappingHelp": "UPnP allows automated router configuration for easy remote access. This may not work with some router models.", + "ButtonOk": "Ok", + "ButtonCancel": "Cancel", + "HeaderSetupLibrary": "Setup your media library", + "ButtonAddMediaFolder": "Add media folder", + "LabelFolderType": "Folder type:", + "MediaFolderHelpPluginRequired": "* Requires the use of a plugin, e.g. GameBrowser or MB Bookshelf.", + "ReferToMediaLibraryWiki": "Refer to the media library wiki.", + "LabelCountry": "Country:", + "LabelLanguage": "Language:", + "HeaderPreferredMetadataLanguage": "Preferred metadata language:", + "LabelSaveLocalMetadata": "Save artwork and metadata into media folders", + "LabelSaveLocalMetadataHelp": "Saving artwork and metadata directly into media folders will put them in a place where they can be easily edited.", + "LabelDownloadInternetMetadata": "Download artwork and metadata from the internet", + "LabelDownloadInternetMetadataHelp": "Media Browser can download information about your media to enable rich presentations." +} \ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj index 539b968c7..d06cf0181 100644 --- a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj +++ b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj @@ -290,6 +290,17 @@ + + + + + + + + + + + diff --git a/MediaBrowser.Server.Implementations/Roku/RokuSessionController.cs b/MediaBrowser.Server.Implementations/Roku/RokuSessionController.cs index 7c8d71b4f..608e92b24 100644 --- a/MediaBrowser.Server.Implementations/Roku/RokuSessionController.cs +++ b/MediaBrowser.Server.Implementations/Roku/RokuSessionController.cs @@ -41,16 +41,6 @@ namespace MediaBrowser.Server.Implementations.Roku } } - public Task SendSystemCommand(SystemCommand command, CancellationToken cancellationToken) - { - return SendCommand(new WebSocketMessage - { - MessageType = "SystemCommand", - Data = command.ToString() - - }, cancellationToken); - } - public Task SendMessageCommand(MessageCommand command, CancellationToken cancellationToken) { return SendCommand(new WebSocketMessage @@ -148,9 +138,9 @@ namespace MediaBrowser.Server.Implementations.Roku } - public Task SendGenericCommand(GenericCommand command, CancellationToken cancellationToken) + public Task SendGeneralCommand(GeneralCommand command, CancellationToken cancellationToken) { - return SendCommand(new WebSocketMessage + return SendCommand(new WebSocketMessage { MessageType = "Command", Data = command diff --git a/MediaBrowser.Server.Implementations/Session/SessionManager.cs b/MediaBrowser.Server.Implementations/Session/SessionManager.cs index 00d2aa992..3b6e9fefb 100644 --- a/MediaBrowser.Server.Implementations/Session/SessionManager.cs +++ b/MediaBrowser.Server.Implementations/Session/SessionManager.cs @@ -661,24 +661,24 @@ namespace MediaBrowser.Server.Implementations.Session return session; } - public Task SendSystemCommand(Guid controllingSessionId, Guid sessionId, SystemCommand command, CancellationToken cancellationToken) + public Task SendMessageCommand(Guid controllingSessionId, Guid sessionId, MessageCommand command, CancellationToken cancellationToken) { var session = GetSessionForRemoteControl(sessionId); var controllingSession = GetSession(controllingSessionId); AssertCanControl(session, controllingSession); - return session.SessionController.SendSystemCommand(command, cancellationToken); + return session.SessionController.SendMessageCommand(command, cancellationToken); } - public Task SendMessageCommand(Guid controllingSessionId, Guid sessionId, MessageCommand command, CancellationToken cancellationToken) + public Task SendGeneralCommand(Guid controllingSessionId, Guid sessionId, GeneralCommand command, CancellationToken cancellationToken) { var session = GetSessionForRemoteControl(sessionId); var controllingSession = GetSession(controllingSessionId); AssertCanControl(session, controllingSession); - return session.SessionController.SendMessageCommand(command, cancellationToken); + return session.SessionController.SendGeneralCommand(command, cancellationToken); } public Task SendPlayCommand(Guid controllingSessionId, Guid sessionId, PlayRequest command, CancellationToken cancellationToken) diff --git a/MediaBrowser.Server.Implementations/Session/WebSocketController.cs b/MediaBrowser.Server.Implementations/Session/WebSocketController.cs index ddf4ec2ca..3bb84fa0e 100644 --- a/MediaBrowser.Server.Implementations/Session/WebSocketController.cs +++ b/MediaBrowser.Server.Implementations/Session/WebSocketController.cs @@ -57,18 +57,6 @@ namespace MediaBrowser.Server.Implementations.Session return socket; } - public Task SendSystemCommand(SystemCommand command, CancellationToken cancellationToken) - { - var socket = GetActiveSocket(); - - return socket.SendAsync(new WebSocketMessage - { - MessageType = "SystemCommand", - Data = command.ToString() - - }, cancellationToken); - } - public Task SendMessageCommand(MessageCommand command, CancellationToken cancellationToken) { var socket = GetActiveSocket(); @@ -199,13 +187,13 @@ namespace MediaBrowser.Server.Implementations.Session }, cancellationToken); } - public Task SendGenericCommand(GenericCommand command, CancellationToken cancellationToken) + public Task SendGeneralCommand(GeneralCommand command, CancellationToken cancellationToken) { var socket = GetActiveSocket(); - return socket.SendAsync(new WebSocketMessage + return socket.SendAsync(new WebSocketMessage { - MessageType = "Command", + MessageType = "GeneralCommand", Data = command }, cancellationToken); diff --git a/MediaBrowser.ServerApplication/ApplicationHost.cs b/MediaBrowser.ServerApplication/ApplicationHost.cs index 2575434f4..b545156ec 100644 --- a/MediaBrowser.ServerApplication/ApplicationHost.cs +++ b/MediaBrowser.ServerApplication/ApplicationHost.cs @@ -879,6 +879,7 @@ namespace MediaBrowser.ServerApplication ProgramDataPath = ApplicationPaths.ProgramDataPath, LogPath = ApplicationPaths.LogDirectoryPath, ItemsByNamePath = ApplicationPaths.ItemsByNamePath, + InternalMetadataPath = ApplicationPaths.InternalMetadataPath, CachePath = ApplicationPaths.CachePath, MacAddress = GetMacAddress(), HttpServerPortNumber = HttpServerPort, diff --git a/MediaBrowser.WebDashboard/Api/DashboardService.cs b/MediaBrowser.WebDashboard/Api/DashboardService.cs index 7313c089f..1b83fb2e9 100644 --- a/MediaBrowser.WebDashboard/Api/DashboardService.cs +++ b/MediaBrowser.WebDashboard/Api/DashboardService.cs @@ -219,7 +219,7 @@ namespace MediaBrowser.WebDashboard.Api var contentType = MimeTypes.GetMimeType(path); var isHtml = IsHtml(path); - var localizationCulture = isHtml ? GetLocalizationCulture() : null; + var localizationCulture = GetLocalizationCulture(); // Don't cache if not configured to do so // But always cache images to simulate production -- cgit v1.2.3 From 81e890aa722092a0562545375741064ee94f82ab Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Mon, 31 Mar 2014 22:09:07 -0400 Subject: updated nuget --- MediaBrowser.Model/ApiClient/IServerEvents.cs | 3 +- MediaBrowser.Model/ApiClient/ServerEventArgs.cs | 6 ++ .../Localization/JavaScript/pt_BR.json | 31 ++++++++ .../Localization/JavaScript/pt_PT.json | 2 +- .../Localization/JavaScript/ru.json | 2 +- .../Localization/Server/de.json | 42 +++++------ .../Localization/Server/fr.json | 60 ++++++++-------- .../Localization/Server/pt_BR.json | 84 +++++++++++----------- .../Localization/Server/ru.json | 56 +++++++-------- Nuget/MediaBrowser.Common.Internal.nuspec | 4 +- Nuget/MediaBrowser.Common.nuspec | 2 +- Nuget/MediaBrowser.Server.Core.nuspec | 4 +- 12 files changed, 166 insertions(+), 130 deletions(-) create mode 100644 MediaBrowser.Server.Implementations/Localization/JavaScript/pt_BR.json (limited to 'MediaBrowser.Server.Implementations/Localization/JavaScript') diff --git a/MediaBrowser.Model/ApiClient/IServerEvents.cs b/MediaBrowser.Model/ApiClient/IServerEvents.cs index 63135baa2..e13f3cc2c 100644 --- a/MediaBrowser.Model/ApiClient/IServerEvents.cs +++ b/MediaBrowser.Model/ApiClient/IServerEvents.cs @@ -1,5 +1,4 @@ -using MediaBrowser.Model.Session; -using System; +using System; namespace MediaBrowser.Model.ApiClient { diff --git a/MediaBrowser.Model/ApiClient/ServerEventArgs.cs b/MediaBrowser.Model/ApiClient/ServerEventArgs.cs index b7f709e95..6637edd74 100644 --- a/MediaBrowser.Model/ApiClient/ServerEventArgs.cs +++ b/MediaBrowser.Model/ApiClient/ServerEventArgs.cs @@ -159,6 +159,12 @@ namespace MediaBrowser.Model.ApiClient /// /// The command. public GeneralCommand Command { get; set; } + + /// + /// Gets or sets the type of the known command. + /// + /// The type of the known command. + public GeneralCommandType? KnownCommandType { get; set; } } /// diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/pt_BR.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/pt_BR.json new file mode 100644 index 000000000..73734c0c6 --- /dev/null +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/pt_BR.json @@ -0,0 +1,31 @@ +{ + "SettingsSaved": "Prefer\u00eancias salvas.", + "AddUser": "Adicionar Usu\u00e1rio", + "Users": "Usu\u00e1rios", + "Delete": "Apagar", + "Administrator": "Administrador", + "Password": "Senha", + "CreatePassword": "Criar Senha", + "DeleteImage": "Apagar Imagem", + "DeleteImageConfirmation": "Tem certeza que deseja apagar esta imagem?", + "FileReadCancelled": "A leitura do arquivo foi cancelada.", + "FileNotFound": "Arquivo n\u00e3o encontrado.", + "FileReadError": "Ocorreu um erro ao ler o arquivo.", + "DeleteUser": "Apagar Usu\u00e1rio", + "DeleteUserConfirmation": "Tem certeza que deseja apagar {0}?", + "PasswordResetHeader": "Redefinir Senha", + "PasswordResetComplete": "A senha foi redefinida.", + "PasswordResetConfirmation": "Deseja realmente redefinir a senha?", + "PasswordSaved": "Senha salva.", + "PasswordMatchError": "A senha e confirma\u00e7\u00e3o da senha devem conferir.", + "OptionOff": "Off", + "OptionOn": "On", + "OptionRelease": "Release", + "OptionBeta": "Beta", + "OptionDev": "Dev", + "UninstallPluginHeader": "Desintalar Plugin", + "UninstallPluginConfirmation": "Deseja realmente desinstalar {0}?", + "NoPluginConfigurationMessage": "Este plugin n\u00e3o necessita configurar.", + "NoPluginsInstalledMessage": "N\u00e3o existem plugins instalados.", + "BrowsePluginCatalogMessage": "Navegue pelo cat\u00e1logo de plugins para ver os dispon\u00edveis." +} \ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/pt_PT.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/pt_PT.json index e81a18e79..124564499 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/pt_PT.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/pt_PT.json @@ -27,5 +27,5 @@ "UninstallPluginConfirmation": "Tem a certeza que pretende desinstalar {0}?", "NoPluginConfigurationMessage": "Esta extens\u00e3o n\u00e3o \u00e9 configur\u00e1vel.", "NoPluginsInstalledMessage": "N\u00e3o tem extens\u00f5es instaladas.", - "BrowsePluginCatalogMessage": "Navegue o nosso cat\u00e1logo de extens\u00f5es para ser as extens\u00f5es dispon\u00edveis." + "BrowsePluginCatalogMessage": "Navegue o nosso cat\u00e1logo de extens\u00f5es para ver as extens\u00f5es dispon\u00edveis." } \ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/Localization/JavaScript/ru.json b/MediaBrowser.Server.Implementations/Localization/JavaScript/ru.json index b54e3f129..2657b9688 100644 --- a/MediaBrowser.Server.Implementations/Localization/JavaScript/ru.json +++ b/MediaBrowser.Server.Implementations/Localization/JavaScript/ru.json @@ -27,5 +27,5 @@ "UninstallPluginConfirmation": "\u0412\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0436\u0435\u043b\u0430\u0435\u0442\u0435 \u0443\u0434\u0430\u043b\u0438\u0442\u044c {0}?", "NoPluginConfigurationMessage": "\u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u043b\u0430\u0433\u0438\u043d\u0430 \u043d\u0435\u0442 \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a", "NoPluginsInstalledMessage": "\u0423 \u0412\u0430\u0441 \u043d\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e \u043d\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u043f\u043b\u0430\u0433\u0438\u043d\u0430.", - "BrowsePluginCatalogMessage": "\u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u043d\u0430\u0448 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u0434\u043b\u044f \u043e\u0431\u0437\u043e\u0440\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u0432." + "BrowsePluginCatalogMessage": "\u041e\u0437\u043d\u0430\u043a\u043e\u043c\u044c\u0442\u0435\u0441\u044c \u0441 \u043d\u0430\u0448\u0438\u043c \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u043e\u043c \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u0432." } \ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/Localization/Server/de.json b/MediaBrowser.Server.Implementations/Localization/Server/de.json index 0aeaf3c50..36d6993d8 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/de.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/de.json @@ -14,37 +14,37 @@ "LabelFinish": "Ende", "LabelNext": "N\u00e4chstes", "LabelYoureDone": "Du bist fertig!", - "WelcomeToMediaBrowser": "Welcome to Media Browser!", + "WelcomeToMediaBrowser": "Willkommen zu Media Browser!", "LabelMediaBrowser": "Media Browser", - "ThisWizardWillGuideYou": "This wizard will help guide you through the setup process.", - "TellUsAboutYourself": "Tell us about yourself", - "LabelYourFirstName": "Your first name:", - "MoreUsersCanBeAddedLater": "More users can be added later within the Dashboard.", + "ThisWizardWillGuideYou": "Dieser Assistent wird Sie durch den Einrichtungsprozess f\u00fchren.", + "TellUsAboutYourself": "Sagen Sie uns etwas \u00fcber sich selbst", + "LabelYourFirstName": "Ihr Vorname:", + "MoreUsersCanBeAddedLater": "Weitere Benutzer k\u00f6nnen Sie sp\u00e4ter im Dashboard hinzuf\u00fcgen.", "UserProfilesIntro": "Media Browser includes built-in support for user profiles, enabling each user to have their own display settings, playstate and parental controls.", "LabelWindowsService": "Windows Service", - "AWindowsServiceHasBeenInstalled": "A Windows Service has been installed.", + "AWindowsServiceHasBeenInstalled": "Ein Windows Service wurde installiert.", "WindowsServiceIntro1": "Media Browser Server normally runs as a desktop application with a tray icon, but if you prefer to run it as a background service, it can be started from the windows services control panel instead.", "WindowsServiceIntro2": "If using the windows service, please note that it cannot be run at the same time as the tray icon, so you'll need to exit the tray in order to run the service. The service will also need to be configured with administrative privileges via the control panel. Please note that at this time the service is unable to self-update, so new versions will require manual interaction.", "WizardCompleted": "That's all we need for now. Media Browser has begun collecting information about your media library. Check out some of our apps, and then click Finish<\/b> to view the Dashboard<\/b>.", - "LabelConfigureSettings": "Configure settings", - "LabelEnableVideoImageExtraction": "Enable video image extraction", - "VideoImageExtractionHelp": "For videos that don't already have images, and that we're unable to find internet images for. This will add some additional time to the initial library scan but will result in a more pleasing presentation.", - "LabelEnableChapterImageExtractionForMovies": "Extract chapter image extraction for Movies", + "LabelConfigureSettings": "Konfiguriere Einstellungen", + "LabelEnableVideoImageExtraction": "Aktiviere Videobild-Extrahierung", + "VideoImageExtractionHelp": "F\u00fcr Videos die noch keien Bilder haben, und f\u00fcr die wir keine Internetbilder finden k\u00f6nnen. Hierdurch wird der erste Bibliothekenscan etwas mehr Zeit beanspruchen, f\u00fchrt aber zu einer ansprechenderen Pr\u00e4sentation.", + "LabelEnableChapterImageExtractionForMovies": "Extrahiere Kapitelbilder f\u00fcr Filme", "LabelChapterImageExtractionForMoviesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs as a nightly scheduled task at 4am, although this is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", - "LabelEnableAutomaticPortMapping": "Enable automatic port mapping", + "LabelEnableAutomaticPortMapping": "Aktiviere automatische Portweiterleitung", "LabelEnableAutomaticPortMappingHelp": "UPnP allows automated router configuration for easy remote access. This may not work with some router models.", "ButtonOk": "Ok", - "ButtonCancel": "Cancel", - "HeaderSetupLibrary": "Setup your media library", - "ButtonAddMediaFolder": "Add media folder", - "LabelFolderType": "Folder type:", - "MediaFolderHelpPluginRequired": "* Requires the use of a plugin, e.g. GameBrowser or MB Bookshelf.", + "ButtonCancel": "Abbrechen", + "HeaderSetupLibrary": "Medienbibliothek einrichten", + "ButtonAddMediaFolder": "Medienordner hinzuf\u00fcgen", + "LabelFolderType": "Ordnertyp:", + "MediaFolderHelpPluginRequired": "* Ben\u00f6tigt ein Plugin, wie GameBrowser oder MB Bookshelf.", "ReferToMediaLibraryWiki": "Refer to the media library wiki.", - "LabelCountry": "Country:", - "LabelLanguage": "Language:", - "HeaderPreferredMetadataLanguage": "Preferred metadata language:", - "LabelSaveLocalMetadata": "Save artwork and metadata into media folders", + "LabelCountry": "Land:", + "LabelLanguage": "Sprache:", + "HeaderPreferredMetadataLanguage": "Bevorzugte Metadata Sprache:", + "LabelSaveLocalMetadata": "Speichere Bildmaterial und Metadaten in den Medienodnern", "LabelSaveLocalMetadataHelp": "Saving artwork and metadata directly into media folders will put them in a place where they can be easily edited.", - "LabelDownloadInternetMetadata": "Download artwork and metadata from the internet", + "LabelDownloadInternetMetadata": "Lade Bildmaterial und Metadaten aus dem Internet", "LabelDownloadInternetMetadataHelp": "Media Browser can download information about your media to enable rich presentations." } \ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/Localization/Server/fr.json b/MediaBrowser.Server.Implementations/Localization/Server/fr.json index 038fb5607..2c7e1b52b 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/fr.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/fr.json @@ -14,37 +14,37 @@ "LabelFinish": "Termin\u00e9", "LabelNext": "Suivant", "LabelYoureDone": "Vous avez Termin\u00e9!", - "WelcomeToMediaBrowser": "Welcome to Media Browser!", + "WelcomeToMediaBrowser": "Bienvenue \u00e0 Media Browser!", "LabelMediaBrowser": "Media Browser", - "ThisWizardWillGuideYou": "This wizard will help guide you through the setup process.", - "TellUsAboutYourself": "Tell us about yourself", - "LabelYourFirstName": "Your first name:", - "MoreUsersCanBeAddedLater": "More users can be added later within the Dashboard.", - "UserProfilesIntro": "Media Browser includes built-in support for user profiles, enabling each user to have their own display settings, playstate and parental controls.", - "LabelWindowsService": "Windows Service", - "AWindowsServiceHasBeenInstalled": "A Windows Service has been installed.", - "WindowsServiceIntro1": "Media Browser Server normally runs as a desktop application with a tray icon, but if you prefer to run it as a background service, it can be started from the windows services control panel instead.", - "WindowsServiceIntro2": "If using the windows service, please note that it cannot be run at the same time as the tray icon, so you'll need to exit the tray in order to run the service. The service will also need to be configured with administrative privileges via the control panel. Please note that at this time the service is unable to self-update, so new versions will require manual interaction.", - "WizardCompleted": "That's all we need for now. Media Browser has begun collecting information about your media library. Check out some of our apps, and then click Finish<\/b> to view the Dashboard<\/b>.", - "LabelConfigureSettings": "Configure settings", - "LabelEnableVideoImageExtraction": "Enable video image extraction", - "VideoImageExtractionHelp": "For videos that don't already have images, and that we're unable to find internet images for. This will add some additional time to the initial library scan but will result in a more pleasing presentation.", - "LabelEnableChapterImageExtractionForMovies": "Extract chapter image extraction for Movies", + "ThisWizardWillGuideYou": "Cet assistant vous guidera dans le processus de configuration.", + "TellUsAboutYourself": "Parlez-nous de vous", + "LabelYourFirstName": "Votre pr\u00e9nom:", + "MoreUsersCanBeAddedLater": "Plus d'usagers pourrons \u00eatre ajout\u00e9s ult\u00e9rieurement \u00e0 partir du tableau de bord.", + "UserProfilesIntro": "Media Browser supporte nativement les profiles d'usager, donnant la possibilit\u00e9 pour chaque usager d'avoir ses propres param\u00e8tres d'affichage, \u00e9tats de lecture et param\u00e8tres de contr\u00f4le parental.", + "LabelWindowsService": "Service Windows", + "AWindowsServiceHasBeenInstalled": "Un service Windows a \u00e9t\u00e9 install\u00e9.", + "WindowsServiceIntro1": "Media Browser, normalement, fonctionne en tant qu'application de bureau avec un ic\u00f4ne de barre de t\u00e2ches, mais si vous pr\u00e9f\u00e9rez son fonctionnement en tant que service d'arri\u00e8re-plan, il peut \u00eatre d\u00e9marr\u00e9 par le gestionnaire de service Windows.", + "WindowsServiceIntro2": "Si le service Windows est utilis\u00e9, veuillez noter qu'il ne peut pas fonctionner en m\u00eame temps que l'application par la barre de t\u00e2che, donc il faut fermer l'application de la barre de t\u00e2ches pour pouvoir ex\u00e9cuter le service. Le service devra aussi \u00eatre configur\u00e9 avec les droits administratifs par le panneau de configuration. Veuillez noter qu'actuellement les mise \u00e0 jour automatique par le service ne sont pas stables, donc les mises \u00e0 jour devront se faire par interaction manuelle.", + "WizardCompleted": "C'est tout ce dont nous avons besoins pour l'instant. Media Browser a commenc\u00e9 \u00e0 ramasser l'information sur votre biblioth\u00e8que de m\u00e9dia. Visiter quelques unes de nos applications, ensuite cliquer Termin\u00e9<\/b> pour voir le Tableau de bord<\/b>", + "LabelConfigureSettings": "Configurer param\u00e8tres", + "LabelEnableVideoImageExtraction": "Activer l'extraction d'image des videos", + "VideoImageExtractionHelp": "Pour les vid\u00e9os sans images et que nous n'avons pas trouv\u00e9 par Internet. Ce processus prolongera la mise \u00e0 jour initiale de biblioth\u00e8que mais offrira une meilleure pr\u00e9sentation visuelle.", + "LabelEnableChapterImageExtractionForMovies": "Extraire les images de chapitre pour les films", "LabelChapterImageExtractionForMoviesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs as a nightly scheduled task at 4am, although this is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", - "LabelEnableAutomaticPortMapping": "Enable automatic port mapping", - "LabelEnableAutomaticPortMappingHelp": "UPnP allows automated router configuration for easy remote access. This may not work with some router models.", + "LabelEnableAutomaticPortMapping": "Activer la configuration automatique de port", + "LabelEnableAutomaticPortMappingHelp": "UPnP permet la configuration automatique de routeur pour un acc\u00e8s distance facile. Ceci peut ne pas fonctionner sur certains mod\u00e8les de routeur.", "ButtonOk": "Ok", - "ButtonCancel": "Cancel", - "HeaderSetupLibrary": "Setup your media library", - "ButtonAddMediaFolder": "Add media folder", - "LabelFolderType": "Folder type:", - "MediaFolderHelpPluginRequired": "* Requires the use of a plugin, e.g. GameBrowser or MB Bookshelf.", - "ReferToMediaLibraryWiki": "Refer to the media library wiki.", - "LabelCountry": "Country:", - "LabelLanguage": "Language:", - "HeaderPreferredMetadataLanguage": "Preferred metadata language:", - "LabelSaveLocalMetadata": "Save artwork and metadata into media folders", - "LabelSaveLocalMetadataHelp": "Saving artwork and metadata directly into media folders will put them in a place where they can be easily edited.", - "LabelDownloadInternetMetadata": "Download artwork and metadata from the internet", - "LabelDownloadInternetMetadataHelp": "Media Browser can download information about your media to enable rich presentations." + "ButtonCancel": "Annuler", + "HeaderSetupLibrary": "Configurer votre biblioth\u00e8que de m\u00e9dia", + "ButtonAddMediaFolder": "Ajouter r\u00e9pertoire de m\u00e9dia", + "LabelFolderType": "Type de r\u00e9pertoire:", + "MediaFolderHelpPluginRequired": "* Requiert l'utilisation d'un plug-in, Ex: GameBrowser ou MB BookShelf", + "ReferToMediaLibraryWiki": "Se r\u00e9f\u00e9rer au wiki des biblioth\u00e8ques de m\u00e9dia", + "LabelCountry": "Pays:", + "LabelLanguage": "Langue:", + "HeaderPreferredMetadataLanguage": "Langue de m\u00e9tadonn\u00e9es pr\u00e9f\u00e9r\u00e9e:", + "LabelSaveLocalMetadata": "Enregistrer les images et m\u00e9tadonn\u00e9es dans les r\u00e9pertoires de m\u00e9dia", + "LabelSaveLocalMetadataHelp": "Enregistrer les images et m\u00e9tadonn\u00e9es dans les r\u00e9pertoires de m\u00e9dia va les placer \u00e0 un endroit o\u00f9 elles pourront facilement \u00eatre modifi\u00e9es.", + "LabelDownloadInternetMetadata": "T\u00e9l\u00e9charger les images et m\u00e9tadonn\u00e9es de Internet", + "LabelDownloadInternetMetadataHelp": "Media Browser peut t\u00e9l\u00e9charger l'information \u00e0 propos de votre m\u00e9dia pour offrir une pr\u00e9sentation plus riche." } \ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/Localization/Server/pt_BR.json b/MediaBrowser.Server.Implementations/Localization/Server/pt_BR.json index a7997e5a2..0ea78b956 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/pt_BR.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/pt_BR.json @@ -3,48 +3,48 @@ "LabelVisitCommunity": "Visite o Community", "LabelGithubWiki": "Wiki do Github", "LabelSwagger": "Swagger", - "LabelStandard": "Standard", - "LabelViewApiDocumentation": "View Api Documentation", - "LabelBrowseLibrary": "Browse Library", - "LabelConfigureMediaBrowser": "Configure Media Browser", - "LabelOpenLibraryViewer": "Open Library Viewer", - "LabelRestartServer": "Restart Server", - "LabelShowLogWindow": "Show Log Window", - "LabelPrevious": "Previous", - "LabelFinish": "Finish", - "LabelNext": "Next", - "LabelYoureDone": "You're Done!", - "WelcomeToMediaBrowser": "Welcome to Media Browser!", + "LabelStandard": "Padr\u00e3o", + "LabelViewApiDocumentation": "Ver documenta\u00e7\u00e3o da Api", + "LabelBrowseLibrary": "Navegar pela Biblioteca", + "LabelConfigureMediaBrowser": "Configurar Media Browser", + "LabelOpenLibraryViewer": "Abrir Visualizador da Biblioteca", + "LabelRestartServer": "Reiniciar Servidor", + "LabelShowLogWindow": "Mostrar Janela de Log", + "LabelPrevious": "Anterior", + "LabelFinish": "Terminar", + "LabelNext": "Pr\u00f3ximo", + "LabelYoureDone": "Pronto!", + "WelcomeToMediaBrowser": "Bem vindo ao Media Browser!", "LabelMediaBrowser": "Media Browser", - "ThisWizardWillGuideYou": "This wizard will help guide you through the setup process.", - "TellUsAboutYourself": "Tell us about yourself", - "LabelYourFirstName": "Your first name:", - "MoreUsersCanBeAddedLater": "More users can be added later within the Dashboard.", - "UserProfilesIntro": "Media Browser includes built-in support for user profiles, enabling each user to have their own display settings, playstate and parental controls.", - "LabelWindowsService": "Windows Service", - "AWindowsServiceHasBeenInstalled": "A Windows Service has been installed.", - "WindowsServiceIntro1": "Media Browser Server normally runs as a desktop application with a tray icon, but if you prefer to run it as a background service, it can be started from the windows services control panel instead.", - "WindowsServiceIntro2": "If using the windows service, please note that it cannot be run at the same time as the tray icon, so you'll need to exit the tray in order to run the service. The service will also need to be configured with administrative privileges via the control panel. Please note that at this time the service is unable to self-update, so new versions will require manual interaction.", - "WizardCompleted": "That's all we need for now. Media Browser has begun collecting information about your media library. Check out some of our apps, and then click Finish<\/b> to view the Dashboard<\/b>.", - "LabelConfigureSettings": "Configure settings", - "LabelEnableVideoImageExtraction": "Enable video image extraction", - "VideoImageExtractionHelp": "For videos that don't already have images, and that we're unable to find internet images for. This will add some additional time to the initial library scan but will result in a more pleasing presentation.", - "LabelEnableChapterImageExtractionForMovies": "Extract chapter image extraction for Movies", - "LabelChapterImageExtractionForMoviesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs as a nightly scheduled task at 4am, although this is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", - "LabelEnableAutomaticPortMapping": "Enable automatic port mapping", - "LabelEnableAutomaticPortMappingHelp": "UPnP allows automated router configuration for easy remote access. This may not work with some router models.", + "ThisWizardWillGuideYou": "Este assistente ir\u00e1 gui\u00e1-lo pelo processo de instala\u00e7\u00e3o.", + "TellUsAboutYourself": "Conte-nos sobre voc\u00ea", + "LabelYourFirstName": "Seu primeiro nome:", + "MoreUsersCanBeAddedLater": "Mais usu\u00e1rios podem ser adicionados dentro do Painel.", + "UserProfilesIntro": "Media Browser inclui suporte a perfis de usu\u00e1rios, permitindo a cada usu\u00e1rio ter suas prefer\u00eancias de visualiza\u00e7\u00e3o, status das reprodu\u00e7\u00f5es e controle dos pais.", + "LabelWindowsService": "Servi\u00e7o do Windows", + "AWindowsServiceHasBeenInstalled": "Foi instalado um Servi\u00e7o do Windows.", + "WindowsServiceIntro1": "O Servidor Media Browser normalmente \u00e9 executado como uma aplica\u00e7\u00e3o de desktop com um \u00edcone na bandeja do sistema, mas se preferir executar como servi\u00e7o pode inici\u00e1-lo no painel de controle de servi\u00e7os do Windows", + "WindowsServiceIntro2": "Se usar o servi\u00e7o do Windows, por favor certifique-se que n\u00e3o esteja sendo executado ao mesmo tempo que o \u00edcone na bandeja, se for ter\u00e1 que sair da app antes de executar o servi\u00e7o. O servi\u00e7o necessita ser configurado com privil\u00e9gios de administrador no painel de controle. Neste momento o servi\u00e7o n\u00e3o pode se auto-atualizar, por isso novas vers\u00f5es exigir\u00e3o intera\u00e7\u00e3o manual.", + "WizardCompleted": "Isto \u00e9 todo o necess\u00e1rio. Media Browser iniciou a coleta das informa\u00e7\u00f5es de sua biblioteca de m\u00eddia. Conhe\u00e7a algumas de nossas apps e clique Terminar<\/b> para ver o Painel<\/b>.", + "LabelConfigureSettings": "Configurar prefer\u00eancias", + "LabelEnableVideoImageExtraction": "Ativar extra\u00e7\u00e3o de imagens de v\u00eddeo", + "VideoImageExtractionHelp": "Para v\u00eddeos que n\u00e3o tenham imagens e que n\u00e3o possamos encontrar imagens na internet. Isto aumentar\u00e1 o tempo do rastreamento inicial da biblioteca mas resultar\u00e1 em uma apresenta\u00e7\u00e3o mais bonita.", + "LabelEnableChapterImageExtractionForMovies": "Extrair imagens de cap\u00edtulos dos Filmes", + "LabelChapterImageExtractionForMoviesHelp": "Extrair imagens de cap\u00edtulos permitir\u00e1 aos clientes mostrar menus gr\u00e1ficos de sele\u00e7\u00e3o de cenas. O processo pode ser lento, uso intenso de cpu e muito espa\u00e7o em disco. Ele executa como uma tarefa di\u00e1ria noturna \u00e0s 4:00hs, embora seja configur\u00e1vel na \u00e1rea de tarefas agendadas. N\u00e3o \u00e9 recomendado executar durante as horas de pico de uso.", + "LabelEnableAutomaticPortMapping": "Ativar mapeamento de porta autom\u00e1tico", + "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", - "ButtonCancel": "Cancel", - "HeaderSetupLibrary": "Setup your media library", - "ButtonAddMediaFolder": "Add media folder", - "LabelFolderType": "Folder type:", - "MediaFolderHelpPluginRequired": "* Requires the use of a plugin, e.g. GameBrowser or MB Bookshelf.", - "ReferToMediaLibraryWiki": "Refer to the media library wiki.", - "LabelCountry": "Country:", - "LabelLanguage": "Language:", - "HeaderPreferredMetadataLanguage": "Preferred metadata language:", - "LabelSaveLocalMetadata": "Save artwork and metadata into media folders", - "LabelSaveLocalMetadataHelp": "Saving artwork and metadata directly into media folders will put them in a place where they can be easily edited.", - "LabelDownloadInternetMetadata": "Download artwork and metadata from the internet", - "LabelDownloadInternetMetadataHelp": "Media Browser can download information about your media to enable rich presentations." + "ButtonCancel": "Cancelar", + "HeaderSetupLibrary": "Configurar sua biblioteca de m\u00eddias", + "ButtonAddMediaFolder": "Adicionar pasta de m\u00eddias", + "LabelFolderType": "Tipo de pasta:", + "MediaFolderHelpPluginRequired": "* Requer o uso de um plugin, ex. GameBrowser ou MB Bookshelf.", + "ReferToMediaLibraryWiki": "Consultar wiki da biblioteca de m\u00eddias", + "LabelCountry": "Pa\u00eds:", + "LabelLanguage": "Idioma:", + "HeaderPreferredMetadataLanguage": "Idioma preferido dos metadados:", + "LabelSaveLocalMetadata": "Salvar artwork e metadados dentro das pastas da m\u00eddia", + "LabelSaveLocalMetadataHelp": "Salvar artwork e metadados diretamente nas pastas da m\u00eddia, as deixar\u00e1 em um local f\u00e1cil para edit\u00e1-las.", + "LabelDownloadInternetMetadata": "Baixar artwork e metadados da internet", + "LabelDownloadInternetMetadataHelp": "Media Browser pode baixar informa\u00e7\u00f5es sobre sua m\u00eddia para melhorar a apresenta\u00e7\u00e3o." } \ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/Localization/Server/ru.json b/MediaBrowser.Server.Implementations/Localization/Server/ru.json index 5b673132e..076740f3c 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/ru.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/ru.json @@ -11,40 +11,40 @@ "LabelRestartServer": "\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440", "LabelShowLogWindow": "\u041e\u0442\u043a\u0440\u044b\u0442\u044c \u0416\u0443\u0440\u043d\u0430\u043b \u0432 \u043e\u043a\u043d\u0435", "LabelPrevious": "\u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0435", - "LabelFinish": "\u0417\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044c", + "LabelFinish": "\u0413\u043e\u0442\u043e\u0432\u043e", "LabelNext": "\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435", "LabelYoureDone": "\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u043e!", - "WelcomeToMediaBrowser": "Welcome to Media Browser!", + "WelcomeToMediaBrowser": "\u0414\u043e\u0431\u0440\u043e \u043f\u043e\u0436\u0430\u043b\u043e\u0432\u0430\u0442\u044c \u0432 Media Browser!", "LabelMediaBrowser": "Media Browser", - "ThisWizardWillGuideYou": "This wizard will help guide you through the setup process.", - "TellUsAboutYourself": "Tell us about yourself", - "LabelYourFirstName": "Your first name:", - "MoreUsersCanBeAddedLater": "More users can be added later within the Dashboard.", - "UserProfilesIntro": "Media Browser includes built-in support for user profiles, enabling each user to have their own display settings, playstate and parental controls.", - "LabelWindowsService": "Windows Service", - "AWindowsServiceHasBeenInstalled": "A Windows Service has been installed.", - "WindowsServiceIntro1": "Media Browser Server normally runs as a desktop application with a tray icon, but if you prefer to run it as a background service, it can be started from the windows services control panel instead.", + "ThisWizardWillGuideYou": "\u042d\u0442\u043e\u0442 \u043c\u0430\u0441\u0442\u0435\u0440 \u043f\u0440\u043e\u0432\u0435\u0434\u0451\u0442 \u0432\u0430\u0441 \u0447\u0435\u0440\u0435\u0437 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438.", + "TellUsAboutYourself": "\u0420\u0430\u0441\u0441\u043a\u0430\u0436\u0438\u0442\u0435 \u043d\u0430\u043c \u043e \u0441\u0435\u0431\u0435", + "LabelYourFirstName": "\u0412\u0430\u0448\u0435 \u0438\u043c\u044f", + "MoreUsersCanBeAddedLater": "\u041f\u043e\u0437\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0435\u0449\u0451 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0447\u0435\u0440\u0435\u0437 \u041f\u0430\u043d\u0435\u043b\u044c.", + "UserProfilesIntro": "Media Browser \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0432 \u0441\u0435\u0431\u044f \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u0443\u044e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u043f\u0440\u043e\u0444\u0438\u043b\u0435\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439, \u0447\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u0438\u043c\u0435\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f, \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044f.", + "LabelWindowsService": "\u0421\u043b\u0443\u0436\u0431\u0430 Windows", + "AWindowsServiceHasBeenInstalled": "\u0421\u043b\u0443\u0436\u0431\u0430 Windows \u0431\u044b\u043b\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430.", + "WindowsServiceIntro1": "Media Browser Server \u043e\u0431\u044b\u0447\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043a\u0430\u043a \u043d\u0430\u0441\u0442\u043e\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0441\u043e \u0437\u043d\u0430\u0447\u043a\u043e\u043c \u0432 \u043b\u043e\u0442\u043a\u0435, \u043d\u043e \u0435\u0441\u043b\u0438 \u0432\u044b \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0438\u0442\u0430\u0435\u0442\u0435, \u0447\u0442\u043e\u0431\u044b \u043e\u043d \u0440\u0430\u0431\u043e\u0442\u0430\u043b \u0432 \u0444\u043e\u043d\u043e\u0432\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435, \u0432\u043c\u0435\u0441\u0442\u043e \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0435\u0433\u043e \u0438\u0437 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u043b\u0443\u0436\u0431\u0430\u043c\u0438 Windows.", "WindowsServiceIntro2": "If using the windows service, please note that it cannot be run at the same time as the tray icon, so you'll need to exit the tray in order to run the service. The service will also need to be configured with administrative privileges via the control panel. Please note that at this time the service is unable to self-update, so new versions will require manual interaction.", "WizardCompleted": "That's all we need for now. Media Browser has begun collecting information about your media library. Check out some of our apps, and then click Finish<\/b> to view the Dashboard<\/b>.", - "LabelConfigureSettings": "Configure settings", - "LabelEnableVideoImageExtraction": "Enable video image extraction", + "LabelConfigureSettings": "\u041d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b", + "LabelEnableVideoImageExtraction": "\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u0438\u0437 \u0432\u0438\u0434\u0435\u043e", "VideoImageExtractionHelp": "For videos that don't already have images, and that we're unable to find internet images for. This will add some additional time to the initial library scan but will result in a more pleasing presentation.", - "LabelEnableChapterImageExtractionForMovies": "Extract chapter image extraction for Movies", + "LabelEnableChapterImageExtractionForMovies": "\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u0441\u0446\u0435\u043d \u0434\u043b\u044f \u0444\u0438\u043b\u044c\u043c\u043e\u0432", "LabelChapterImageExtractionForMoviesHelp": "Extracting chapter images will allow clients to display graphical scene selection menus. The process can be slow, cpu-intensive and may require several gigabytes of space. It runs as a nightly scheduled task at 4am, although this is configurable in the scheduled tasks area. It is not recommended to run this task during peak usage hours.", - "LabelEnableAutomaticPortMapping": "Enable automatic port mapping", + "LabelEnableAutomaticPortMapping": "\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0430\u0432\u0442\u043e-\u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0440\u0442\u043e\u0432", "LabelEnableAutomaticPortMappingHelp": "UPnP allows automated router configuration for easy remote access. This may not work with some router models.", - "ButtonOk": "Ok", - "ButtonCancel": "Cancel", - "HeaderSetupLibrary": "Setup your media library", - "ButtonAddMediaFolder": "Add media folder", - "LabelFolderType": "Folder type:", - "MediaFolderHelpPluginRequired": "* Requires the use of a plugin, e.g. GameBrowser or MB Bookshelf.", - "ReferToMediaLibraryWiki": "Refer to the media library wiki.", - "LabelCountry": "Country:", - "LabelLanguage": "Language:", - "HeaderPreferredMetadataLanguage": "Preferred metadata language:", - "LabelSaveLocalMetadata": "Save artwork and metadata into media folders", - "LabelSaveLocalMetadataHelp": "Saving artwork and metadata directly into media folders will put them in a place where they can be easily edited.", - "LabelDownloadInternetMetadata": "Download artwork and metadata from the internet", - "LabelDownloadInternetMetadataHelp": "Media Browser can download information about your media to enable rich presentations." + "ButtonOk": "\u041e\u041a", + "ButtonCancel": "\u041e\u0442\u043c\u0435\u043d\u0430", + "HeaderSetupLibrary": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0432\u0430\u0448\u0435\u0439 \u041c\u0435\u0434\u0438\u0430\u0442\u0435\u043a\u0438", + "ButtonAddMediaFolder": "\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043c\u0435\u0434\u0438\u0430\u043f\u0430\u043f\u043a\u0443", + "LabelFolderType": "\u0422\u0438\u043f \u043f\u0430\u043f\u043a\u0438:", + "MediaFolderHelpPluginRequired": "* \u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043b\u0430\u0433\u0438\u043d\u0430, \u043d\u043f\u0440. GameBrowser \u0438\u043b\u0438 MB Bookshelf.", + "ReferToMediaLibraryWiki": "\u0421\u043c. \u0432 \u0432\u0438\u043a\u0438 \u043f\u043e \u043c\u0435\u0434\u0438\u0430\u0442\u0435\u043a\u0435 (media library)", + "LabelCountry": "\u0421\u0442\u0440\u0430\u043d\u0430", + "LabelLanguage": "\u042f\u0437\u044b\u043a:", + "HeaderPreferredMetadataLanguage": "\u041f\u0440\u0435\u0434\u043f\u043e\u0447\u0442\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u044f\u0437\u044b\u043a \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0445", + "LabelSaveLocalMetadata": "\u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0438\u043b\u043b\u044e\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u0438 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u043c\u0435\u0434\u0438\u0430\u043f\u0430\u043f\u043a\u0430\u0445", + "LabelSaveLocalMetadataHelp": "\u0421\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0438\u043b\u043b\u044e\u0441\u0442\u0440\u0430\u0446\u0438\u0439 \u0438 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0432 \u043c\u0435\u0434\u0438\u0430\u043f\u0430\u043f\u043a\u0430\u0445, \u043f\u043e\u043c\u0435\u0449\u0430\u0435\u0442 \u0438\u0445 \u0432 \u0442\u0430\u043a\u043e\u0435 \u043c\u0435\u0441\u0442\u043e, \u0433\u0434\u0435 \u043e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043b\u0435\u0433\u043a\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u044b.", + "LabelDownloadInternetMetadata": "\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c \u0438\u043b\u043b\u044e\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u0438 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435 \u0447\u0435\u0440\u0435\u0437 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442", + "LabelDownloadInternetMetadataHelp": "Media Browser \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0441\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043e \u0432\u0430\u0448\u0435\u043c \u043c\u0435\u0434\u0438\u0430, \u0447\u0442\u043e\u0431\u044b \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u044b\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f." } \ No newline at end of file diff --git a/Nuget/MediaBrowser.Common.Internal.nuspec b/Nuget/MediaBrowser.Common.Internal.nuspec index a3b4533dd..e4deb4a0b 100644 --- a/Nuget/MediaBrowser.Common.Internal.nuspec +++ b/Nuget/MediaBrowser.Common.Internal.nuspec @@ -2,7 +2,7 @@ MediaBrowser.Common.Internal - 3.0.346 + 3.0.347 MediaBrowser.Common.Internal Luke ebr,Luke,scottisafool @@ -12,7 +12,7 @@ Contains common components shared by Media Browser Theater and Media Browser Server. Not intended for plugin developer consumption. Copyright © Media Browser 2013 - + diff --git a/Nuget/MediaBrowser.Common.nuspec b/Nuget/MediaBrowser.Common.nuspec index b80f673e3..f60e9d429 100644 --- a/Nuget/MediaBrowser.Common.nuspec +++ b/Nuget/MediaBrowser.Common.nuspec @@ -2,7 +2,7 @@ MediaBrowser.Common - 3.0.346 + 3.0.347 MediaBrowser.Common Media Browser Team ebr,Luke,scottisafool diff --git a/Nuget/MediaBrowser.Server.Core.nuspec b/Nuget/MediaBrowser.Server.Core.nuspec index eccfcccd2..f73cde199 100644 --- a/Nuget/MediaBrowser.Server.Core.nuspec +++ b/Nuget/MediaBrowser.Server.Core.nuspec @@ -2,7 +2,7 @@ MediaBrowser.Server.Core - 3.0.346 + 3.0.347 Media Browser.Server.Core Media Browser Team ebr,Luke,scottisafool @@ -12,7 +12,7 @@ Contains core components required to build plugins for Media Browser Server. Copyright © Media Browser 2013 - + -- cgit v1.2.3