From f7f63de0cac8dd76230cff53f536bbeb34af5278 Mon Sep 17 00:00:00 2001 From: Legendary Redfox Date: Fri, 1 Nov 2024 18:21:23 -0300 Subject: [PATCH] added Brazilian Portuguese --- i18n.md | 6 +- .../com/stream_pi/server/i18n/i18n.properties | 1 + .../server/i18n/lang_pt_BR.properties | 353 ++++++++++++++++++ 3 files changed, 358 insertions(+), 2 deletions(-) create mode 100644 src/main/resources/com/stream_pi/server/i18n/lang_pt_BR.properties diff --git a/i18n.md b/i18n.md index a1f5de4..dc63d7a 100644 --- a/i18n.md +++ b/i18n.md @@ -1,6 +1,6 @@ # Translation -Clone this repository, create a new file `lang_.properties` in `src/main/resources/com/stream_pi/server/i18n/lang/`. +Clone this repository, create a new file `lang_.properties` in `src/main/resources/com/stream_pi/server/i18n/lang/`. Example file name: `lang_en_IN.properties` @@ -40,6 +40,7 @@ You may also send a PR with appropriate details if you want to improve an existi | [`fr`][fr] | 🇫🇷 French (Français) * | | [`hi`][hi] | 🇮🇳 Hindi (हिंदी) | | [`nl_NL`][nl_NL] | 🇳🇱 Dutch - Netherlands (Nederlands - Nederland) * | +| [`pt_BR`][pt_BR] | 🇧🇷 Português - Brasil | [fallback-locale]: https://github.com/stream-pi/server/blob/master/src/main/resources/com/stream_pi/server/i18n/lang_en.properties @@ -50,4 +51,5 @@ You may also send a PR with appropriate details if you want to improve an existi [es_ES]: https://github.com/stream-pi/server/blob/master/src/main/resources/com/stream_pi/server/i18n/lang_es_ES.properties [fr]: https://github.com/stream-pi/server/blob/master/src/main/resources/com/stream_pi/server/i18n/lang_fr.properties [hi]: https://github.com/stream-pi/server/blob/master/src/main/resources/com/stream_pi/server/i18n/lang_hi.properties -[nl_NL]: https://github.com/stream-pi/client/blob/master/src/main/resources/com/stream_pi/client/i18n/lang_nl_NL.properties +[nl_NL]: https://github.com/stream-pi/server/blob/master/src/main/resources/com/stream_pi/client/i18n/lang_nl_NL.properties +[pt_BR]: https://github.com/stream-pi/servr/blob/master/src/main/resources/com/stream_pi/client/i18n/lang_pt_BR.properties diff --git a/src/main/resources/com/stream_pi/server/i18n/i18n.properties b/src/main/resources/com/stream_pi/server/i18n/i18n.properties index 1b06130..1f3ae33 100644 --- a/src/main/resources/com/stream_pi/server/i18n/i18n.properties +++ b/src/main/resources/com/stream_pi/server/i18n/i18n.properties @@ -23,3 +23,4 @@ es_ES = Español (Spain) fr = Français hi = हिन्दी nl_NL = Nederlands (Nederland) +pt_BR = Português (Brazil) diff --git a/src/main/resources/com/stream_pi/server/i18n/lang_pt_BR.properties b/src/main/resources/com/stream_pi/server/i18n/lang_pt_BR.properties new file mode 100644 index 0000000..b245b7a --- /dev/null +++ b/src/main/resources/com/stream_pi/server/i18n/lang_pt_BR.properties @@ -0,0 +1,353 @@ + +# +# Stream-Pi - Free, Open-Source, Modular, Cross-Platform and Programmable Macro Pad +# Copyright (C) 2019-2022 Debayan Sutradhar (rnayabed), Samuel Quiñones (SamuelQuinones) +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# + +# Common + +windowTitle = Servidor Stream-Pi +validationError = Por favor corrija os seguintes erros e tente novamente:\n%s +noClientsConnected = Sem Clientes Conectados. +serverNameCannotBeBlank = Nome do servidor não pode ficar em branco. +serverPortMustBeGreaterThan1024 = A porta do servidor tem que ser maior do que 1024. +serverPortMustBeLesserThan65535 = A porta do servidor tem que ser menor do que 65535. +serverPortMustBeInteger = A porta do servidor deve ser um número inteiro. +actionSizeMustBeNumeric = O Tamanho da Ação precisa ser um valor numérico. +actionGapMustBeNumeric = A distância da Ação precisa ser um valor numérico. +actionDisplayTextFontSizeTooSmall = O tamanho da fonte do Display de Ação está muito pequeno. +actionDisplayTextFontSizeMustBeNumeric = O tamanho da fonte do Display de Ação padrão preisa ser um valor numérico. +save = Salvar +actionBoxSize = Tamanho da Caixa de Ação +actionBoxGap = Distância da Caixa de Ação +name = Nome +version = Versão %s +serverName = Nome do Servidor +serverPort = Porta do Servidor +serverIPBinding = Vinculação de IP do Servidor +methodCallFailed = %s falhou por %s\n %s +donate = DOAÇÕES +about = Sobre +website = Website +general = Geral +plugins = Plugins +themes = Temas +clients = Clientes +exit = Sair + + +# ====================================================== +# window +# ====================================================== + + +# Base +window.Base.noStoragePermission = Sem Permissão de Armazenamento. +window.Base.defaultThemeCorrupt = Tema padrão (%s) está corrompido is corrupt. \nPor favor restaure ou reinstale o tema. +window.Base.failedToLoadThemes = Problema ao Carregar Temas +window.Base.revertedToDefaultTheme = Revertido ao tema padrão (%s) + + +# =========================== +# settings +# =========================== + + +# ============ +# about +# ============ + +# About +window.settings.about.About.licenseTabHeading = Licença +window.settings.about.About.contributorsTabHeading = Contribuintes +window.settings.about.About.contactTabHeading = Contato +window.settings.about.About.serverCommunicationProtocolVersion = Protocolo de Comunicação %s +window.settings.about.About.buildNumber = Número da Build: %s + +# ContributorsTab +window.settings.about.ContributorsTab.team = Equipe +window.settings.about.ContributorsTab.server = Servidor +window.settings.about.ContributorsTab.client = Cliente + +# ============ + + +# GeneralSettings +window.settings.GeneralSettings.followProfileDefaults = Seguir os Padrões do Perfil +window.settings.GeneralTab.startOnBoot = Iniciar no Boot +window.settings.GeneralSettings.soundOnActionClicked = Som ao clicar na ação +window.settings.GeneralSettings.minimiseToTrayOnClose = Minimizar Para a Barra de Tarefas ao Fechar +window.settings.GeneralSettings.showPopupOnAlert = Mostrar popup em alertas +window.settings.GeneralSettings.checkForUpdates = Verificar atualizações +window.settings.GeneralSettings.factoryReset = Restaurar Configurações de Fábrica +window.settings.GeneralSettings.connection = Conexão +window.settings.GeneralSettings.actionGrid = Grid de Ações +window.settings.GeneralSettings.actionBoxDisplayTextFontSize = Tamanho da Fonte do Texto de Exibição da Caixa de Ação +window.settings.GeneralSettings.locations = Localizações +window.settings.GeneralSettings.plugins = Plugins +window.settings.GeneralSettings.themes = Temas +window.settings.GeneralSettings.others = Outros +window.settings.GeneralSettings.language = Idioma +window.settings.GeneralSettings.pluginsPathMustNotBeBlank = O Caminho dos Plugins não pode ficar em branco. +window.settings.GeneralSettings.themesPathMustNotBeBlank = O Caminho dos Temas não pode ficar em branco. +window.settings.GeneralSettings.unableToDeleteStarterFile = Não foi possível deletar o arquivo de inicialização. +window.settings.GeneralSettings.traySystemNotSupported = Barra de Tarefas do Sistema não é suportada nesta plataforma. +window.settings.GeneralSettings.soundFileCannotBeEmpty = O Arquivo de Sons não pode ser vazio. +window.settings.GeneralSettings.soundFileNotFound = Nenhum arquivo de som encontrado em %s.\nNão foi possível configurar som para click em ação. +window.settings.GeneralSettings.resetAreYouSure = Tem certeza?\nIsso irá apagar tudo. +window.settings.GeneralSettings.restart = Reiniciar +window.settings.GeneralSettings.needsToBeRestartedToApplySettings = O Servidor Stream-Pi precisa ser reiniciado para que essas mudanças tenham efeito. +window.settings.GeneralSettings.restartPromptWarning = Reiniciar?\nTodas as suas conexões atuais serão desconectadas. + + +# ClientsSettings +window.settings.ClientsSettings.clientCannotHaveBlankName = Cliente não pode ter nome em branco. +window.settings.ClientsSettings.profileNameCannotBeBlank = Nome do Perfil não pode ficar em branco. +window.settings.ClientsSettings.rowsCannotBeLesserThan1 = Número de linhas não pode ser menor do que 1. +window.settings.ClientsSettings.rowsMustBeInteger = Número de linhas precisa ser um número inteiro. +window.settings.ClientsSettings.columnsCannotBeLesserThan1 = Número de colunas não pode ser menor do que 1. +window.settings.ClientsSettings.columnsMustBeInteger = Número de colunas precisa ser um número inteiro. +window.settings.ClientsSettings.actionOutOfBounds = Ação %s está fora dos limites. Considere aumentar as linhas/colunas do perfil atual e realocá-lo/excluí-lo. +window.settings.ClientsSettings.addNewProfile = Adicionar novo Perfil +window.settings.ClientsSettings.theme = Tema +window.settings.ClientsSettings.startupProfile = Perfil de Inicialização +window.settings.ClientsSettings.platform = Platforma: %s +window.settings.ClientsSettings.untitledProfile = Perfil sem título +window.settings.ClientsSettings.cannotDeleteAllProfilesError = Não é possível deletar todos os perfis. +window.settings.ClientsSettings.cannotDeleteDefaultProfileError = Não é possível deletar perfil padrão. Mude o padrão para outro perfil para deletar este. +window.settings.ClientsSettings.remove = Remover +window.settings.ClientsSettings.profileRows = Linhas +window.settings.ClientsSettings.profileColumns = Colunas +window.settings.ClientsSettings.profileDefaultActionBoxDisplayTextFontSize = Tamanho Padrão da Fonte do Texto de Exibição da Caixa de Ação + + +# PluginsSettings +window.settings.PluginsSettings.pluginInitError = Erro ao inicializar Plugin. Resolva os problemas e reinicie. +window.settings.PluginsSettings.noPluginsInstalled = Sem Plugins instalados No Plugins installed. + + + +# SettingsBase +window.settings.SettingsBase.close = Fechar + + + +# =========================== +# helper +# =========================== + +# Helper +window.helper.Helper.chooseValue = Escolher valor + + + + +# =========================== +# firsttimeuse +# =========================== + +# FinalConfigPane +window.firsttimeuse.FinalConfigPane.subHeading = Você quase terminou de configurar o seu Servidor Stream-Pi. Agora, tudo o que você precisa fazer é escolher um nome para o seu Servidor Stream-Pi e selecionar a porta na qual deseja que ele opere.\nRecomendamos que você dê ao seu Servidor Stream-Pi um nome curto e utilize a porta padrão que já foi preenchida para você. Você pode alterá-la nas Configurações caso entre em conflito com outros serviços ou aplicativos. +window.firsttimeuse.FinalConfigPane.securityWarning = O Stream-Pi ainda não está criptografado. Use-o apenas em redes absolutamente privadas. Não utilize em redes públicas (Estação de Trem, Parque).\nO projeto Stream-Pi não se responsabiliza se o seu computador for comprometido devido à conexão do Stream-Pi a uma rede maliciosa. +window.firsttimeuse.FinalConfigPane.confirm = Confirmar + + +# FirstTimeUse +window.firsttimeuse.FirstTimeUse.next = Próximo +window.firsttimeuse.FirstTimeUse.previous = Anterior +window.firsttimeuse.FirstTimeUse.licenseAgreement = Acordo de Licença +window.firsttimeuse.FirstTimeUse.agreeAndContinue = Aceitar e continuar +window.firsttimeuse.FirstTimeUse.finishingUp = Finalizando ... + +# WelcomePane +window.firsttimeuse.WelcomePane.welcome = Bem-vindo(a)! + + +# =========================== +# windowmenubar +# =========================== + + +# WindowMenuBar + +window.windowmenubar.WindowMenuBar.showIPPortConfiguration = Mostrar Configurações de IP/Porta + + +# ================= +# filemenu +# ================= + +# FileMenu + +window.windowmenubar.filemenu.FileMenu.file = Arquivo +window.windowmenubar.filemenu.FileMenu.disconnectFromAllClients = Desconectar de todos os Clientes + + +# SettingsMenu + +window.windowmenubar.filemenu.SettingsMenu.settings = Configurações + +# ================= +# helpmenu +# ================= + +# HelpMenu + +window.windowmenubar.helpmenu.HelpMenu.help = Ajuda + + +# =========================== +# dashboard +# =========================== + + +# ============ +# actiondetailspane +# ============ + +# ActionDetailsPane +window.dashboard.actiondetailspane.ActionDetailsPane.openFolder = Abrir Pasta +window.dashboard.actiondetailspane.ActionDetailsPane.reset = Resetar +window.dashboard.actiondetailspane.ActionDetailsPane.return = Retornar +window.dashboard.actiondetailspane.ActionDetailsPane.clearIcon = Limpar Ícone +window.dashboard.actiondetailspane.ActionDetailsPane.hide = Esconder +window.dashboard.actiondetailspane.ActionDetailsPane.default = Padrão +window.dashboard.actiondetailspane.ActionDetailsPane.displayTextColour = Cor do Texto de Exibição +window.dashboard.actiondetailspane.ActionDetailsPane.backgroundColour = Cor de Fundo +window.dashboard.actiondetailspane.ActionDetailsPane.fontSize = Tamanho da Fonte +window.dashboard.actiondetailspane.ActionDetailsPane.alignment = Alinhamento +window.dashboard.actiondetailspane.ActionDetailsPane.images = Imagens +window.dashboard.actiondetailspane.ActionDetailsPane.icon = Ícone +window.dashboard.actiondetailspane.ActionDetailsPane.columnSpan = Largura em Colunas +window.dashboard.actiondetailspane.ActionDetailsPane.rowSpan = Altura em Linhas +window.dashboard.actiondetailspane.ActionDetailsPane.toggleOffIcon = Ícone Desativado +window.dashboard.actiondetailspane.ActionDetailsPane.toggleOnIcon = Ícone Ativado +window.dashboard.actiondetailspane.ActionDetailsPane.animated = Animado +window.dashboard.actiondetailspane.ActionDetailsPane.resetAreYouSure = Tem certeza de que deseja redefinir a ação? +window.dashboard.actiondetailspane.ActionDetailsPane.invalidAction = Ação Inválida (%s) +window.dashboard.actiondetailspane.ActionDetailsPane.combineAction = Combinar Ação +window.dashboard.actiondetailspane.ActionDetailsPane.folderAction = Ação de Pasta +window.dashboard.actiondetailspane.ActionDetailsPane.delayBeforeRunning = Atraso antes de executar (milissegundos) +window.dashboard.actiondetailspane.ActionDetailsPane.displayNameCannotBeBlank = O Nome de Exibição não pode estar em branco. +window.dashboard.actiondetailspane.ActionDetailsPane.bothIconAndDisplayTextCannotBeHidden = Tanto o Ícone quanto o Texto de Exibição não podem estar ocultos. +window.dashboard.actiondetailspane.ActionDetailsPane.displayTextCannotBeHiddenSinceThereIsNoIcon = O Texto de Exibição não pode estar oculto, pois não há ícone. +window.dashboard.actiondetailspane.ActionDetailsPane.rowSpanMustBeGreaterThan0 = A Altura em Linhas deve ser maior que 0. +window.dashboard.actiondetailspane.ActionDetailsPane.rowSpanCannotBeBiggerThanProfileRowsSize = A Altura em Linhas não pode ser maior que o tamanho das linhas do perfil. +window.dashboard.actiondetailspane.ActionDetailsPane.rowColumnSpanLocationConflict = Conflito de localização com Ação na Linha %s, Coluna %s. Mova-a antes de fazer isso. +window.dashboard.actiondetailspane.ActionDetailsPane.rowSpanMustBeInteger = A Altura em Linhas deve ser um número inteiro. +window.dashboard.actiondetailspane.ActionDetailsPane.columnSpanMustBeGreaterThan0 = A Largura em Colunas deve ser maior que 0. +window.dashboard.actiondetailspane.ActionDetailsPane.columnSpanCannotBeBiggerThanProfileRowsSize = A Largura em Colunas não pode ser maior que o tamanho das colunas do perfil. +window.dashboard.actiondetailspane.ActionDetailsPane.columnSpanMustBeInteger = A Largura em Colunas deve ser um número inteiro. +window.dashboard.actiondetailspane.ActionDetailsPane.delayBeforeRunningMustBeGreaterThan0 = O Atraso antes de executar deve ser maior que 0. +window.dashboard.actiondetailspane.ActionDetailsPane.delayBeforeRunningMustBeInteger = O Atraso antes de executar deve ser um número inteiro. +window.dashboard.actiondetailspane.ActionDetailsPane.deleteAreYouSure = Tem certeza de que deseja excluir a ação? + + +# ============ +# actiongridpane +# ============ + +# ActionBox +window.dashboard.actiongridpane.ActionBox.deleteAction = Delete Action +window.dashboard.actiongridpane.ActionBox.showToggleOff = Show Toggle Off +window.dashboard.actiongridpane.ActionBox.showToggleOn = Show Toggle On + +# ActionGridPane +window.dashboard.actiongridpane.ActionGridPane.externalPluginsAreNotSupportedHere = External Plugins are not supported here. +window.dashboard.actiongridpane.ActionGridPane.errorWhileRenderingFollowingActions = Error while rendering following actions: \n%s +window.dashboard.actiongridpane.ActionGridPane.actionOutsideBounds = Action %s (%s) falls outside bounds.\nConsidering increase rows/column from client settings and relocating/deleting it. + +# ClientAndProfileSelectorPane +window.dashboard.ClientAndProfileSelectorPane.chooseClient = Eescolher Cliente +window.dashboard.ClientAndProfileSelectorPane.chooseProfile = Escolher perfil + +# PluginsPane +window.dashboard.PluginsPane.plugins = Plugins +window.dashboard.PluginsPane.othersHeading = Stream-Pi + + + + + +# ====================================================== +# io +# ====================================================== + + +# =========================== +# config +# =========================== + +# Config +io.config.Config.unableToReadConfig = Não foi possível ler configuração.\n%s +io.config.Config.unableToSaveConfig = Não foi possível salvar configuração.\n%s + + + + + +# ====================================================== +# io +# ====================================================== + +# Controller +controller.Controller.IPAndPortNotAvailable = O IP atual que você selecionou (%s) não está disponível. Certifique-se que todas as outras instâncias do Stream-Pi estão encerradas. Caso ainda não funcione, por favor selecione um novo IP/Porta: +controller.Controller.proceed = Prosseguir +controller.Controller.actionClickSoundFileMissing = O arquivo de som para uma ação de click não foi encontrado. +controller.Controller.pluginNotInstalledOnServer = O plugin (%s) não está instalado no servidor. +controller.Controller.errorWhileRunningAction = Erro ao executar ação:\n%s +controller.Controller.willNowExit = O Serrvidor Stream-pi será encerrado agora. +controller.Controller.systemTrayOpen = Abrir +controller.Controller.IPPortConfiguration = Combinação IP/Porta +controller.Controller.port = Porta: %s +controller.Controller.IPs = IP(s): + + +# ====================================================== +# connection +# ====================================================== + +# MainServer +connection.MainServer.IOExceptionOccurred = Ocorreu uma exceção de E/S.\n%s + +# ClientConnection +connection.ClientConnection.failedToSetUpIOStreams = Falha ao configurar Fluxos de E/S.\n%s +connection.ClientConnection.serverClientCommunicationProtocolVersions = Protocolo de Comunicação do Servidor Versão: %s\nProtocolo de Comunicação do Cliente Versão: %s +connection.ClientConnection.accidentallyDisconnectedFromClient = Desconectado acidentalmente de %s. +connection.ClientConnection.failedToCloseSocket = Falha ao fechar o socket.\n%s +connection.ClientConnection.failedToWriteToIOStream = Falha ao escrever no Fluxo de E/S.\n%s +connection.ClientConnection.disconnectedFromClient = Desconectado de %s. +connection.ClientConnection.failedToCloneAction = Falha ao clonar ação.\n%s + + + +# ====================================================== +# combobox +# ====================================================== + +# IPChooserComboBox +combobox.IPChooserComboBox.allAddresses = Todos os Endereços +combobox.IPChooserComboBox.unableToRetrieveNetworkInterfaces = Não foi possível obter as interfaces de rede. + + + +# ====================================================== +# action +# ====================================================== + +# ExternalPlugins +action.ExternalPlugins.configXMLParseFailed = Falha ao analisar a configuração do plugin em %s. +action.ExternalPlugins.errorLoadingModulesHeading = Erro ao carregar módulos. +action.ExternalPlugins.errorLoadingModulesBody = %s\n\nPor favor corrija os erros. Outros plugins não serão carregados. +action.ExternalPlugins.theFollowingPluginsCouldNotBeLoaded = Os seguintes plugins não puderam ser carregados:\n%s +action.ExternalPlugins.initActionPluginsFailed = Os seguintes plugins não puderam ser inicializados:\n%s\nComo resultado, eles não foram carregados. +action.ExternalPlugins.savePluginSettingsFailed = Não foi possível salvar as configurações do plugin.\n%s