diff --git a/i18n.md b/i18n.md index 06f4b9c..6c67e46 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/client/i18n/lang/`. +Clone this repository, create a new file `lang_.properties` in `src/main/resources/com/stream_pi/client/i18n/lang/`. Example: `lang_en_IN.properties` @@ -41,6 +41,7 @@ You may also send a PR with appropriate details if you want to improve an existi | [`hi`][hi] | 🇮🇳 Hindi (हिंदी) | | [`mr`][mr] | 🇮🇳 Marathi (मराठी) * | | [`nl_NL`][nl_NL] | 🇮🇳 Dutch - Netherlands (Nederlands - Nederland) * | +| [`pt_BR`][pt_BR] | 🇧🇷 Português - Brasil | @@ -55,3 +56,4 @@ You may also send a PR with appropriate details if you want to improve an existi [hi]: https://github.com/stream-pi/client/blob/master/src/main/resources/com/stream_pi/client/i18n/lang_hi.properties [mr]: https://github.com/stream-pi/client/blob/master/src/main/resources/com/stream_pi/client/i18n/lang_mr.properties [nl_NL]: https://github.com/stream-pi/client/blob/master/src/main/resources/com/stream_pi/client/i18n/lang_nl_NL.properties +[pt_BR]: https://github.com/stream-pi/client/blob/master/src/main/resources/com/stream_pi/client/i18n/lang_pt_BR.properties diff --git a/src/main/resources/com/stream_pi/client/i18n/i18n.properties b/src/main/resources/com/stream_pi/client/i18n/i18n.properties index 1f5c6a1..732c5b3 100644 --- a/src/main/resources/com/stream_pi/client/i18n/i18n.properties +++ b/src/main/resources/com/stream_pi/client/i18n/i18n.properties @@ -24,3 +24,4 @@ fr = Français hi = हिन्दी mr = मराठी nl_NL = Nederlands (Nederland) +pt_BR = Português (Brasil) diff --git a/src/main/resources/com/stream_pi/client/i18n/lang_pt_BR.properties b/src/main/resources/com/stream_pi/client/i18n/lang_pt_BR.properties new file mode 100644 index 0000000..f9c3e4b --- /dev/null +++ b/src/main/resources/com/stream_pi/client/i18n/lang_pt_BR.properties @@ -0,0 +1,196 @@ + +# +# 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 = Cliente Stream-Pi +validationError = Por favor corrija os seguintes erros e tente novamente:\n%s +nameCannotBeBlank = Nome não pode ficar em branco. +serverHostNameOrIPCannotBeBlank = Nome/IP do servidor não pode ficar em branco. +serverPortMustBeGreaterThan1024 = Porta do Servidor tem que ser maior que 1024. +serverPortMustBeLesserThan65535 = Porta do Servidor tem que ser menor que 65535. +serverPortMustBeInteger = Porta do Servidor precisa ser um número inteiro. +serverHostNameOrIP = Nome/IP do servidor +serverPort = Porta do Servidor +name = Nome + +# ==================================== +# controller +# ==================================== + +# Controller +controller.Controller.noBrowserDetected = Nenhum navegador detectado! +controller.Controller.failedToStartBrowser = Falha ao iniciar navegador!\n%s +controller.Controller.browserNotSupportedInFBMode = Navegador não é suportado no modo de buffer de quadro (modo console)! +controller.Controller.unableToDeleteStarterFile = Não foi possível excluir o arquivo inicial. Isso provavelmente ocorreu porque você executou o Stream-Pi como root anteriormente. Reinicie o Stream-Pi como root, desative a opção "Iniciar na Inicialização", saia e reinicie o Stream-Pi como usuário normal. +controller.Controller.factoryResetUnsuccessful = Não foi possível realizar a reinicialização de fábrica com sucesso. Por favor, exclua o diretório\n%s + + + + +# ==================================== +# actiongridpane +# ==================================== + +# ActionGridPane +actiongridpane.ActionGridPane.failedToRenderActions = Não foi possível renderizar a seguinte ação:\n%s +actiongridpane.ActionGridPane.actionOutOfBounds = Ação (%s) (%s) está fora dos limites. Considere aumentar as linhas/colunas do perfil atual e realocá-lo/excluí-lo. + + +# ==================================== +# firsttimeuse +# ==================================== + +# FinalConfigPane +firsttimeuse.FinalConfigPane.subHeading = Estamos quase terminando a configuração. Tudo o que você precisa fazer agora é inserir os detalhes a seguir e estará pronto(a) para começar! +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. +firsttimeuse.FinalConfigPane.confirm = Confirmar + +# FirstTimeUse +firsttimeuse.FirstTimeUse.next = Próximo +firsttimeuse.FirstTimeUse.previous = Anterior +firsttimeuse.FirstTimeUse.licenseAgreement = Acordo de Licença +firsttimeuse.FirstTimeUse.agreeAndContinue = Aceitar e continuar +firsttimeuse.FirstTimeUse.finishingUp = Finalizando ... + +# Welcome Pane +firsttimeuse.WelcomePane.welcome = Bem-vindo(a)! + + +# ==================================== +# 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 +window.settings.about.About.donate = DOAÇÕES + +# ContactTab +window.settings.about.ContactTab.github = GitHub +window.settings.about.ContactTab.discord = Discord +window.settings.about.ContactTab.website = Website +window.settings.about.ContactTab.twitter = Twitter +window.settings.about.ContactTab.matrix = Matrix + +# ContributorsTab +window.settings.about.ContributorsTab.team = Equipe +window.settings.about.ContributorsTab.server = Servidor +window.settings.about.ContributorsTab.client = Cliente +window.settings.about.ContributorsTab.actionAPI = API de ação +window.settings.about.ContributorsTab.themeAPI = API de tema +window.settings.about.ContributorsTab.util = Utilitários + +# ================ + + +# GeneralTab +window.settings.GeneralTab.startOnBoot = Iniciar no Boot +window.settings.GeneralTab.screenSaver = Protetor de Tela +window.settings.GeneralTab.oledBurnInProtector = Protetor de Burn-In para OLED +window.settings.GeneralTab.tryConnectToServerOnActionClick = Tentar conectar ao servidor ao clicar em ação +window.settings.GeneralTab.fullScreen = Tela Cheia +window.settings.GeneralTab.vibrateOnActionClick = Vibrar ao Clicar em Ação +window.settings.GeneralTab.connectOnStartup = Conectar na Inicialização +window.settings.GeneralTab.showCursor = Mostrar Cursor +window.settings.GeneralTab.invertGridOnRotate = Inverter Grade ao Rotacionar +window.settings.GeneralTab.themes = Temas +window.settings.GeneralTab.icons = Ícones +window.settings.GeneralTab.profiles = Perfis +window.settings.GeneralTab.checkForUpdates = Verificar Atualizações +window.settings.GeneralTab.factoryReset = Restaurar Configurações de Fábrica +window.settings.GeneralTab.screenTimeoutInSeconds = Tempo de Tela (segundos) +window.settings.GeneralTab.save = Salvar +window.settings.GeneralTab.connect = Conectar +window.settings.GeneralTab.exit = Sair +window.settings.GeneralTab.shutdown = Desligar +window.settings.GeneralTab.connection = Conexão +window.settings.GeneralTab.client = Cliente +window.settings.GeneralTab.currentProfile = Perfil Atual +window.settings.GeneralTab.theme = Tema +window.settings.GeneralTab.locations = Localizações +window.settings.GeneralTab.others = Outros +window.settings.GeneralTab.language = Idioma +window.settings.GeneralTab.resetAreYouSure = Você tem certeza?\nIsso apagará tudo. +window.settings.GeneralTab.disconnect = Desconectar +window.settings.GeneralTab.screenTimeoutCannotBeBelow15Seconds = O Tempo de Tela não pode ser inferior a 15 segundos. +window.settings.GeneralTab.screenTimeoutMustBeInteger = O Tempo de Tela deve ser um número inteiro. +window.settings.GeneralTab.unableToDeleteStarterFile = Não foi possível excluir o arquivo inicial. +window.settings.GeneralTab.vibrationNotSupported = Vibração não suportada. +window.settings.GeneralTab.restart = Reiniciar +window.settings.GeneralTab.failedToShutdown = Falha ao desligar!\n%s +window.settings.GeneralTab.restartPromptWarning = Reiniciar?\nTodas as suas conexões atuais serão desconectadas. + + +# SettingsBase +window.settings.SettingsBase.settings = Configurações +window.settings.SettingsBase.about = Sobre +window.settings.SettingsBase.close = Fecha + + +# ==================================== +# base +# ==================================== + +# Base +window.Base.failedToAccessFileSystem = Não foi possível acessar Failed to access file system! +window.Base.defaultThemeCorrupt = Tema padrão (%s) está corrompido is corrupt. \nPor favor restaure ou reinstale o tema. +window.Base.failedToLoadThemes = Falha ao carregar os temas.\n%s +window.Base.revertedToDefaultTheme = Revertido ao tema padrão (%s) + + +# ==================================== +# io +# ==================================== + +# Config + +io.config.unableToReadConfig = Não foi possível ler configuração.\n%s +io.config.unableToSaveConfig = Não foi possível salvar configuração.\n%s + + +# ==================================== +# profile +# ==================================== + +# ClientProfile +profile.ClientProfile.failedToParseProfile = Falha ao analisar o perfil em %s.\n%s +profile.ClientProfile.unableToCreateProfileFile = Não foi possível criar arquivo de perfil. +profile.ClientProfile.duplicateProfileFileExists = Arquivo de perfil duplicado com o mesmo nome %s já existe. + +# ClientProfiles +profile.ClientProfiles.profileFolderNotADirectoryOrDoesNotExist = Pasta do perfil (%s) não é um diretório ou não existe. +profile.ClientProfiles.profileFoldersIsNull = Arquivos da pasta de perfil (%s) são nulos. +profile.ClientProfiles.defaultProfileBad = Perfil padrão (%s) corrompido.\n%s + + +# ==================================== +# connection +# ==================================== + +# Client +connection.Client.failedToConnectToServer = Não foi possível conectar ao servidor. Por favor verifique as configurações e a conexão e tente novamente. +connection.Client.failedToSetUpIOStreams = Falha ao configurar os fluxos de E/S.\n%s +connection.Client.failedToWriteToIOStream = Falha ao escreve no fluxo de E/S.\n%s +connection.Client.accidentallyDisconnectedFromServer = Desconectado acidentalmente de %s. +connection.Client.disconnectedFromServer = Desconectado de %s.