From 7d0d06ad176fb2e8907a923e869ba768554d1ad5 Mon Sep 17 00:00:00 2001 From: discollizard <49206310+discollizard@users.noreply.github.com> Date: Tue, 11 Jun 2024 13:05:18 -0300 Subject: [PATCH] brazilian portuguese translation (#293) * brazilian portuguese translation * added line break to fit text in line * brazilian portuguese translation added to SysDVRConfig * Enable SetLanguage_PTBR --------- Co-authored-by: discollizard Co-authored-by: exelix <13405476+exelix11@users.noreply.github.com> --- .../Resources/resources/strings/pt-BR.json | 185 ++++++++++++++++++ .../romfs/strings/brazilianPortuguese.json | 78 ++++++++ SysDVRConfig/source/translaton.cpp | 2 +- 3 files changed, 264 insertions(+), 1 deletion(-) create mode 100644 Client/Platform/Resources/resources/strings/pt-BR.json create mode 100644 SysDVRConfig/romfs/strings/brazilianPortuguese.json diff --git a/Client/Platform/Resources/resources/strings/pt-BR.json b/Client/Platform/Resources/resources/strings/pt-BR.json new file mode 100644 index 0000000..bcd1dbb --- /dev/null +++ b/Client/Platform/Resources/resources/strings/pt-BR.json @@ -0,0 +1,185 @@ +{ + // For more context see the documentation in https://github.com/exelix11/SysDVR/blob/translation-support/Client/Core/StringTable.cs + "translationName": "Brazilian Portuguese", + "translationAuthor": "discollizard", + "systemLocale": [ + "pt-br" + ], + // Optional fields for non-latin alphabets + // "fontName": "OpenSans.ttf", + // "imGuiGlyphRange": "NotSpecified", + "legacyPlayer": { + "starting": "Iniciando em modo legado...", + "audioOnly": "Saída de vídeo não requisitada, aperte enter para sair", + "started": "Começando a transmitir. Lista de atalhos do teclado:\n\t- F11: habilitar tela cheia\n\t- esc: sair\n\t- enter: mostrar informações de debug", + "multipleDevicesLine1": "Vários dispositivos encontrados:", + "multipleDevicesLine2": "O primeiro será usado. Você pode selecionar algum em específico usando a opção --serial na linha de comando", + "deviceNotFoundRetry": "Dispositivo não encontrado, tentando novamente em 5 segundos...", + "usbDeviceNotFound": "Nenhum dispositivo USB encontrado", + //Translator note: the --help command line option can not be translated, you can specify "english only" when referring to it + "noStreamingError": "Nenhuma transmissão foi requisitada. Para ajuda, use --help (apenas em inglês)", + "tcpWithoutIPError": "Modo TCP sem um IP alvo não é suportado no modo legado, use --help para ajuda (apenas em inglês)", + "commandLineError": "Linha de comando inválida. O player legado apenas suporta algumas opções, use --help para ajuda (apenas em inglês)" + }, + "connection": { + "title": "Conectando", + "error": "Erro fatal", + "autoConnect": "SysDVR vai se conectar automaticamente ao primeiro dispositivo válido", + "autoConnectWithSerial": "SysDVR vai se conectar automaticamente ao console com o serial contendo: {0}", + "autoConnectCancelButton": "Cancelar conexão automática", + "deviceNotCompatible": "O dispositivo selecionado não é compatível com esta versão do cliente. Certifique-se que você está usando a mesma versão do SysDVR no console e neste dispositivo.", + "connectionInProgress": "Conectando ao console (tentativa {0} de {1}", + "manualConnection": "Conexão manual" + }, + "homePage": { + "initializationErrorTitle": "Erro de inicialização", + "networkButton": "Modo rede", + "usbButton": "Modo USB", + "channelLabel": "Selecione o modo de transmissão", + "channelVideo": "Somente vídeo", + "channelAudio": "Somente áudio", + "channelBoth": "Transmitir ambos", + "settingsButton": "Configurações", + //Translator note: the guide on github is only in english, you can specify "english only" when referring to it + "guideButton": "Guia", + "githubButton": "Página do Github (apenas em inglês)", + "fileAccess": "Aviso: Permissão de acesso a arquivos não foi dada, gravações podem falhar.", + "fileAccessRequestButton": "Requerir permissão", + "driverInstallButton": "Driver USB" + }, + "general": { + "popupCloseButton": "Fechar", + "yesButton": "Sim", + "noButton": "Não", + "cancelButton": "Cancelar", + "applyButton": "Aplicar", + "backButton": "Voltar", + "popupErrorTitle": "Erro", + "errorMessage": "Erro:", + "placeholderSerial": "(serial escondido)" + }, + "networkScan": { + "title": "Buscando dispositivos de rede...", + "manualConnectLabel": "Não consegue encontrar seu dispositivo?", + "manualConnectButton": "Usar endereço IP", + "connectByIPLabel": "Esse é o endereço IP local do seu console, ele deve se parecer com 192.168.X.Y. Você pode encontrá-lo nas configurações do console ou no programa SysDVR-Settings.\nSe você não consegue se conectar, tenha certeza que habilitou o modo TCP bridge no console.", + "connectByIPButton": "Conectar", + "ipConnectDialogTitle": "Digite o endereço IP do console", + "firewallLabel": "Lembre-se de permitir o cliente SysDVR no seu firewall, senão, não conseguirá detectar consoles. Algumas redes podem bloquear a descoberta, nesse caso você terá que conectar por IP." + }, + "settings": { + "heading": "Essas configurações são automaticamente aplicadas para a sessão atual, mas você pode salvá-las para que elas sejam persistentes", + "saveButton": "Salvar mudanças", + "resetButton": "Redefinir ao padrão", + "restartWarnLabel": "Algumas mudanças demandam que o SysDVR seja reiniciado", + "tab_General": "Geral", + "tab_Performance": "Performance", + "tab_Advanced": "Avançado", + "hideSerials": "Esconder seriais de console da interface gráfica", + "hotkeys": "Habilitar hotkeys na visualização do player", + "recordingsOutputPath": "Caminho de saída das gravações de vídeo:", + "recordingsOutputDialogTitle": "Selecione o caminho de saída das gravações de vídeo", + "screenshotOutputPath": "Caminho de saída das capturas de tela:", + "screenshotOutputDialogTitle": "Selecione o caminho de saída das capturas de tela", + "changePathButton": "Mudar", + "screenshotToClipboard": "Copiar capturas de tela para a área de transferência em vez de salvá-las como arquivos (Aperte SHIFT para fazer\n o contrário durante uma captura)", + "defaultVolume": "Volume de áudio padrão", + "scaleMode": "Modo de escala", + "scaleMode_Linear": "Linear (padrão)", + "scaleMode_Narest": "Mais próximo (baixo overhead)", + "scaleMode_Best": "Melhor (alta qualidade, depende do sistema)", + "audioMode": "Modo player de áudio", + "audioMode_Auto": "Automático (padrão)", + "audioMode_Sync": "Sincronizado", + "audioMode_Compatible": "Compatível (tente este se tiver problemas com o áudio)", + "defaultStreaming": "Modo de transmissão padrão", + "defaultStreaming_Both": "Ambos canais", + "defaultStreaming_Video": "Somente vídeo", + "defaultStreaming_Audio": "Somente áudio", + "saveFailedError": "Erro ao salvar configurações", + "performanceRenderingLabel": "Essas opções afetam o pipeline de renderização do cliente. Quando remover os limites, SysDVR-client irá sincronizar com o evento de vsync do seu dispositivo. Isto deverá remover qualquer latência que é devida ao pipeline de renderização mas pode usar mais recursos em dispositivos móveis.", + "uncapStreaming": "Remover limite da taxa de quadros da transmissão", + "uncapGUI": "Remover limite da taxa de quadros da interface gráfica", + "performanceStreamingLabel": "Estas opções afetam a qualidade de transmissão do SysDVR, as padrões são geralmente boas", + "audioBatching": "Batching de áudio", + // Translator note: NAL is the name of individual packets in a h264 video stream + "cachePackets": "Guardar pacotes de vídeo (NAL) localmente e reproduzí-los quando necessário", + "cachePacketsKeyframes": "Aplicar cache de pacote apenas a keyframes (H264 IDR frames)", + "forceSDLSoftwareRenderer": "Forçar renderização por software SDL", + "printRealtimeLogs": "Mostrar informações de transmissão em tempo real", + "verboseDebugging": "Habilitar logging detalhado", + "disableSynchronization": "Desabilitar sincronização de áudio e vídeo", + "disableBacklight": "Desligar a luz de fundo do console durante a transmissão", + "disableBacklightWarn": "Esta funcionalidade é experimental e pode causar problemas. Você pode ligar e desligar a tela para voltar ao normal.", + "analyzeKeyframes": "Analisar keyframe NALs durante a transmissão", + "analyzeNALs": "Analisar todo pacote NAL", + "guiScale": "Tamanho da interface gráfica", + "decoderPopupTitle": "Selecionar decodificador de vídeo", + "decoderChangeButton": "Configurar decodificador acelerado por hardware", + "decoderResetButton": "Desabilitar decodificador por hardware ({0})", + "decderPopupHeading": "Selecione um decodificador", + "decderPopupContent": "Note que talvez nem todos os decodificadores serão compatíveis com o seu sistema, reverta esta opção em caso de problemas.\nVocê pode conseguir mais decodificadores ao obter uma build customizada das livrarias ffmpeg (libavcodec) e substituir a que é inclusa no SysDVR-Client.\n\nEsta funcionalidade é feita para mini-PCs como o Raspberry pi, onde a decodificação por software pode não ser suficiente. Em computadores desktop e smartphones esta configuração não deve ser utilizada.", + "invalidPathError": "O caminho selecionado não existe, tente novamente.", + "pathSelectDialog": "Selecionar caminho" + }, + "player": { + "confirmQuitPopupTitle": "Confirmar saída", + "confirmQuitLabel": "Você tem certeza que quer sair?", + "shortcuts": "Atalhos do teclado:\n - S : capturar tela\n - R : começar/parar gravação\n - F : habilitar tela cheia\n - Up/Down : mudar volume de áudio\n - Esc : sair", + "audioOnlyMode": "A transmissão está definida para somente áudio.", + "takeScreenshot": "Capturar tela", + "startRecording": "Começar gravação", + "stopRecording": "Parar gravação", + "recordingStartedMessage": "Gravando em {0}", + "recordingSuccessMessage": "Gravação finalizada", + "stopStreaming": "Parar a transmissão", + "debugInfo": "Informação de debug", + "enterFullScreen": "Tela cheia", + "hideOverlayLabel": "Toque em qualquer lugar para esconder o overlay", + "screenshotSavedToClip": "Captura de tela salva na área de transferência", + "screenshotSaved": "Captura de tela salva em {0}", + "androidPermissionError": "Tenha certeza que o aplicativo tem permissão de acesso a arquivos!", + "customDecoderError": "Decodificador {0} não encontrado, usando {1} no lugar", + "customDecoderEnabled": "Usando decodificador customizado {0}. Em caso de problemas, tente desabilitar esta opção para usar o padrão.", + "playerInitializationMessage": "Iniciando player de vídeo com o codec {0}.", + "volumePercent": "Volume {0} %" + }, + "usb": { + "title": "Conectar por USB", + "noDevicesLabel": "Dispositivos USB não foram encontrados.", + "noDevicesHelp": "Tenha certeza que o SysDVR estã instalado em seu console e que está rodando em modo USB.", + "noDevicesHelpWindows": "Na primeira vez que você roda o SysDVR no Windows, você deve instalar o driver USB. Siga o guia.", + "noDevicesHelpLinux": "Para usar o modo USB no Linux corretamente, você precisará instalar a regra udev necessária de acordo com o guia", + "noDevicesHelpAndroid": "Se houverem problemas, certifique-se que seu dispositivo oferece suporte a USB OTG. Note que certos cabos USB C para USB C são conhecidos por causar problemas. Tente com um adaptador OTG na porta USB de seu celular", + "refreshButton": "Atualizar lista de dispositivos" + }, + "errors": { + "settingsPathMissing": "Não foi possível encontrar um caminho válido para salvar as configurações", + "versionTroubleshooting": "Certifique-se de usar a mesma versão no seu PC e no seu console. Você poderá ter que reiniciar seu console.", + "consoleRejectWrongVersion": "Seu console rejeitou a conexão pois estã rodando uma versão diferente do SysDVR.", + "initialPacketError": "Erro ao iniciar comunicação. Seu console pode estar rodando uma versão incompatível do SysDVR.", + "initialPacketWrongVersion": "Seu console diz estar usando uma versão incompatível do SysDVR.", + "disconnectUnknownError": "O console foi desconectado mas nenhum erro foi reportado.", + "usbResetMessage": "Aviso USB: Não foi possível comunicar com o console ({0}). Resetando a conexão...", + "usbTimeoutError": "Aviso USB: Não foi possível comunicar com o console. Tente iniciar um jogo compatível, desligar seu console ou reiniciá-lo." + }, + "usbDriver": { + "title": "Instalação de Driver", + "description": "SysDVR agora usa drivers ADB Android padrão.\nO driver é assinado pela Google, portanto, é seguro para instalar e não requer nenhum passo de instalação complexo.", + "installButton": "Instalar", + "checkAgainButton": "Checar status novamente", + "installInfo": "Se escolher instalar o driver ele será instalado a partir de", + "fileHashInfo": "O hash SHA256 esperado do arquivo zip é", + "installing": "Instalação em progresso...", + "statusDownload": "Baixando o driver...", + "statusInstall": "Instalando o driver...", + "statusClenaup": "Removendo arquivos temporários...", + "statusDone": "Feito", + "detectOk": "Parece que o driver já foi instalado. A não ser que hajam problemas, NÃO é necessário instalá-lo de novo.", + "detectNotInstalled": "Parece que o driver não foi instalado. Você precisa instalá-lo para usar o SysDVR.", + "detectNoDevice": "Parece que o Windows nunca detectou o ID de dispositivo do SysDVR. Habilite o modo USB no SysDVR-Settings e conecte seu console. Note que cabos USB-C para USB-C podem não funcionar.", + "installSucceeded": "A instalação foi realizada com sucesso", + "installFailed": "Instalação falhou", + "detectionFailed": "Erro ao detectar o status do driver" + } +} diff --git a/SysDVRConfig/romfs/strings/brazilianPortuguese.json b/SysDVRConfig/romfs/strings/brazilianPortuguese.json new file mode 100644 index 0000000..44a4b10 --- /dev/null +++ b/SysDVRConfig/romfs/strings/brazilianPortuguese.json @@ -0,0 +1,78 @@ +{ + "LanguageName": "Brazilian portuguese", + "FontName": "opensans.ttf", + "ImguiGlyphRange": "Default", + "TranslationAuthor": "discollizard", + "Connecting": { + "Description": "Se você acabou de ligar seu console, pode demorar até 20 segundos", + "Title": "Conectando ao SysDVR...", + "Troubleshoot1": "Se você não consegue passar desta dela, o SysDVR não está rodando", + "Troubleshoot2": "Certifique-se que seu setup está correto e reinicie seu console para continuar" + }, + "Error": { + "BootModeChangeFailed": "Não foi possível definir modo de boot", + "FailExitButton": "Clique ou aperte + para sair", + "FailedToDetectMode": "Não foi possível detectar o modo SysDVR atual", + "InvalidMode": "O modo SysDVR reportado não é válido", + "ModeChangeFailed": "Falha ao mudar modo", + "NewerVersion": "Você está usando uma versão mais nova do SysDVR", + "OlderVersion": "Você está usando uma versão desatualizada do SysDVR", + "SysdvrVersionError": "Não foi possível saber a versão do SysDVR", + "SysmoduleConnectionFailed": "Não foi possível conectar ao SysDVR.", + "SysmoduleConnectionTroubleshoot": "Se você acabou de instalar, reinicie seu console. Caso contrário, espere um pouco e tente novamente.\n Isto é normal se estiver usando uma versão do SysDVR que seja USB-Only.", + "SysmoduleConnectionTroubleshootLink": "Para suporte, veja a página de troubleshooting:", + "TroubleshootBootMode": "Tente verificar que seu cartão SD não esteja corrompido", + "TroubleshootReboot": "Tente reiniciar seu console", + "VersionTroubleshoot": "Por favor, baixe a versão mais recente no Github", + "NotInstalled" : "SysDVR não está instalado no seu console", + "NotInsalledSecondLine" : "O arquivo /atmosphere/contents/00FF0000A53BB665/exefs.nsp não foi encontrado no seu cartão SD. Isto significa que você não extraiu o zip do SysDVR corretamente. Conserte o problema e reinicie o console." + }, + "Guide": { + "GuideTitle": "O guia está hospedado no Github:" + }, + "Main": { + "ActiveMode": "Habilitado", + "ConsoleIPPlcaceholder": "", + "DefaultMode": "Ao inicializar", + "ModeDisabled": "Parar de transmitir", + "ModeRtsp": "Transmita diretamente para qualquer player de vídeo via RSTP.\nQuando você habilitar e aplicar, abra rtsp://{}:6666/ em qualquer player de vídeo, como MPV ou VLC.\nEste modo não requer o SysDVR-Client no seu PC.\nPara modos em rede, é recomendado que se use um adaptador LAN.", + "ModeRtspTitle": "Modo de rede simples (RTSP)", + "ModeTcp": "Transmita a aplicação SysDVR-Client via rede. Isto é mais estável que o modo de rede simples.\nPara configurar SysDVR-Client no seu PC, consulte o guia no GitHub.\nPara modos em rede, é recomendado que se use um adaptador LAN.", + "ModeTcpTitle": "TCP Bridge", + "ModeUsb": "Use este modo para transmitir à aplicação SysDVR-Client USB.\nPara configurar SysDVR-Client no seu PC, consulte o guia no GitHub", + "ModeUsbTitle": "USB", + "OptGuide": "Guia", + "OptPatchManager": "Gerenciador dvr-patches", + "OptSave": "Salvar e sair", + "OptSetDefault": "Definir modo atual como padrão ao inicializar", + "SelectMode": "Selecionar modo" + }, + "Patches": { + "BackButton": "Voltar", + "CurlError": "Erro ao inicializar Curl", + "CurlGETFailed": "Curl GET falhou", + "CurlNoData": "Nenhum dado foi recebido", + "Description": "dvr-patches são patches do sistema que permitem a transmissão da maioria dos jogos incompatíveis com o SysDVR. Alguns jogos são ditos que não funcionam. Você pode ler mais no issue tracker em https://github.com/exelix11/dvr-patches.\nVocê pode também baixar o zip manualmente do repositório GitHub em um computador.", + "DownloadButton": "Baixar e instalar", + "DownloadOk": "Atualização baixada.", + "LatestVer": "Você já está usando a versão mais nova de dvr-patches.", + "Loading": "Carregando...", + "NewVerAvail": "Nova versão de dvr-patches disponível:", + "NoLinkFound": "Não foi encontrada uma fonte de atualização", + "ParseDownloadFailure": "Erro ao encontrar link de download para a release", + "ParseReleaseFailure": "Erro ao interpretar informações de release", + "ParseTagCommitFailure": "Erro ao encontrar commit para tag", + "ParseTagFailure": "Erro ao interpretar informações de tags do GitHub", + "RebootButton": "Reiniciar agora", + "RebootWarning": "Para aplicar as mudanças, é necessário reiniciar o console ", + "SdcardPath": "Caminho do cartão SD:", + "SearchLatestButton": "Buscar os patches mais novos no GitHub", + "Status": "dvr-patches status:", + "StatusInstalled": "%s do commit instalado", + "StatusNotInstalled": "não instalado", + "StatusUnknownVersion": "instalado, versão desconhecida", + "Title": "dvr-patches manager", + "UninstallButton": "Desinstalar", + "ZipExtractFail": "Erro ao abrir arquivo zip" + } +} \ No newline at end of file diff --git a/SysDVRConfig/source/translaton.cpp b/SysDVRConfig/source/translaton.cpp index 38e3db4..c644051 100644 --- a/SysDVRConfig/source/translaton.cpp +++ b/SysDVRConfig/source/translaton.cpp @@ -36,7 +36,7 @@ namespace Strings //{ "SetLanguage_RU", ASSET("strings/example.json")}, //{ "SetLanguage_FRCA", ASSET("strings/example.json")}, { "SetLanguage_ES419", ASSET("strings/spanish.json")}, - //{ "SetLanguage_PTBR", ASSET("strings/example.json")}, + { "SetLanguage_PTBR", ASSET("strings/brazilianPortuguese.json")} }; #define STRING_META_ITERATE(v1) cb(ptr, obj.v1);