From 7d1f0dfbf41cfe5cfead59148ab2e92754fef4eb Mon Sep 17 00:00:00 2001 From: Miguel Angel Mulero Martinez Date: Thu, 15 Mar 2018 10:03:30 +0100 Subject: [PATCH] Add Portuguese translation --- assets/windows/installer.nsi | 1 + locales/en/messages.json | 3 + locales/pt/messages.json | 3399 ++++++++++++++++++++++++++++++++++ src/js/localization.js | 2 +- 4 files changed, 3404 insertions(+), 1 deletion(-) create mode 100644 locales/pt/messages.json diff --git a/assets/windows/installer.nsi b/assets/windows/installer.nsi index 90cd76f2..5a790039 100644 --- a/assets/windows/installer.nsi +++ b/assets/windows/installer.nsi @@ -53,6 +53,7 @@ OutFile "..\..\${DEST_FOLDER}\${FILE_NAME_INSTALLER}" !insertmacro MUI_LANGUAGE "Japanese" !insertmacro MUI_LANGUAGE "Korean" !insertmacro MUI_LANGUAGE "Latvian" +!insertmacro MUI_LANGUAGE "Portuguese" !insertmacro MUI_LANGUAGE "SimpChinese" !insertmacro MUI_LANGUAGE "Spanish" diff --git a/locales/en/messages.json b/locales/en/messages.json index 4582089a..2f724e25 100644 --- a/locales/en/messages.json +++ b/locales/en/messages.json @@ -81,6 +81,9 @@ "language_lv": { "message": "Latvie\u0161u (lv)" }, + "language_pt": { + "message": "Portugu\u00EAs (pt)" + }, "language_zh_CN": { "message": "\u7b80\u4f53\u4e2d\u6587 (zh_CN)" }, diff --git a/locales/pt/messages.json b/locales/pt/messages.json new file mode 100644 index 00000000..5e73feb8 --- /dev/null +++ b/locales/pt/messages.json @@ -0,0 +1,3399 @@ +{ + "warningTitle": { + "message": "Alerta" + }, + "noticeTitle": { + "message": "Aviso" + }, + "options_title": { + "message": "Opções da aplicação" + }, + "connect": { + "message": "Conectar" + }, + "connecting": { + "message": "Conectando" + }, + "disconnect": { + "message": "Desconectar" + }, + "portsSelectManual": { + "message": "Selecionar" + }, + "portOverrideText": { + "message": "Porta:" + }, + "autoConnect": { + "message": "Auto-Conectar" + }, + "close": { + "message": "Fechar" + }, + "autoConnectEnabled": { + "message": "Auto-Conectar: Ativado - O Configurador tenta se conectar automaticamente assim que uma nova porta é detectada" + }, + "autoConnectDisabled": { + "message": "Auto-Conectar: Desativado - O usuário deve selecionar a porta serial correta e pressionar o botão \"Conectar\"" + }, + "expertMode": { + "message": "Ativar modo avançado" + }, + "permanentExpertMode": { + "message": "Sempre usar o modo avançado" + }, + "userLanguageSelect": { + "message": "Idioma (necessário reiniciar a aplicação)" + }, + "language_default": { + "message": "Padrão" + }, + "sensorDataFlashNotFound": { + "message": "Nenhuma memória
flash detectada", + "description": "Text of the dataflash image in the header of the page." + }, + "sensorDataFlashFreeSpace": { + "message": "Memória flash: espaço livre", + "description": "Text of the dataflash image in the header of the page." + }, + "sensorStatusGyro": { + "message": "Giroscópio" + }, + "sensorStatusGyroShort": { + "message": "Gyro", + "description": "Text of the image in the top sensors icons. Please keep it short." + }, + "sensorStatusAccel": { + "message": "Acelerômetro" + }, + "sensorStatusAccelShort": { + "message": "Accel", + "description": "Text of the image in the top sensors icons. Please keep it short." + }, + "sensorStatusMag": { + "message": "Magnetômetro" + }, + "sensorStatusMagShort": { + "message": "Mag", + "description": "Text of the image in the top sensors icons. Please keep it short." + }, + "sensorStatusBaro": { + "message": "Barômetro" + }, + "sensorStatusBaroShort": { + "message": "Baro", + "description": "Text of the image in the top sensors icons. Please keep it short." + }, + "sensorStatusGPS": { + "message": "GPS" + }, + "sensorStatusGPSShort": { + "message": "GPS", + "description": "Text of the image in the top sensors icons. Please keep it short." + }, + "sensorStatusSonar": { + "message": "Sonar \/ Medidor de distância" + }, + "sensorStatusSonarShort": { + "message": "Sonar", + "description": "Text of the image in the top sensors icons. Please keep it short." + }, + "checkForConfiguratorUnstableVersions": { + "message": "Mostrar notificações de atualizações para versões instáveis do configurador" + }, + "configuratorUpdateNotice": { + "message": "Você está usando uma versão antiga do Betaflight Configurator<\/b>.
A versão $1<\/b> está disponível online, por favor visite a página da nova versão<\/a> para efetuar o download e instalar a ultima versão com correções e melhorias.
Por favor feche a janela do configurador antes de atualizar." + }, + "configuratorUpdateWebsite": { + "message": "Ir para a Página Web do lançamento" + }, + "deviceRebooting": { + "message": "Dispositivo - Reiniciando<\/span>" + }, + "deviceReady": { + "message": "Dispositivo - Pronto<\/span>" + }, + "backupFileIncompatible": { + "message": "O arquivo de backup fornecido foi gerado para uma versão antiga do configurador e é incompatível com esta versão. Lamentamos" + }, + "backupFileUnmigratable": { + "message": "O arquivo de backup fornecido foi gerado por uma versão antiga do configurador e não é possível importar. Lamentamos." + }, + "configMigrationFrom": { + "message": "Migrando o arquivo de configuração gerado pelo configurador: $1" + }, + "configMigratedTo": { + "message": "Configuração migrada para o configurador: $1" + }, + "configMigrationSuccessful": { + "message": "Migração da configuração completa, migrações aplicadas: $1" + }, + "tabFirmwareFlasher": { + "message": "Atualização de firmware" + }, + "tabLanding": { + "message": "Bem-vindo" + }, + "tabHelp": { + "message": "Documentação & Suporte" + }, + "tabSetup": { + "message": "Configurações" + }, + "tabSetupOSD": { + "message": "Configuração do OSD" + }, + "tabConfiguration": { + "message": "Configuração" + }, + "tabPorts": { + "message": "Portas" + }, + "tabPidTuning": { + "message": "Afinação de PID" + }, + "tabReceiver": { + "message": "Receptor" + }, + "tabModeSelection": { + "message": "Seleção de modos" + }, + "tabServos": { + "message": "Servos" + }, + "tabFailsafe": { + "message": "Falhas" + }, + "tabTransponder": { + "message": "Transponder de corridas" + }, + "tabOsd": { + "message": "OSD" + }, + "tabPower": { + "message": "Energia & Bateria" + }, + "tabGPS": { + "message": "GPS" + }, + "tabMotorTesting": { + "message": "Motores" + }, + "tabLedStrip": { + "message": "Fita de LED" + }, + "tabRawSensorData": { + "message": "Sensores" + }, + "tabCLI": { + "message": "Linha de comandos" + }, + "tabLogging": { + "message": "Log por conexão" + }, + "tabOnboardLogging": { + "message": "Caixa Preta" + }, + "tabAdjustments": { + "message": "Ajustes" + }, + "tabAuxiliary": { + "message": "Modos" + }, + "logActionHide": { + "message": "Esconder Histórico" + }, + "logActionShow": { + "message": "Exibir Histórico" + }, + "serialPortOpened": { + "message": "Porta serial aberta com sucesso<\/span> com ID: $1" + }, + "serialPortOpenFail": { + "message": "Falha<\/span> ao abrir porta serial" + }, + "serialPortClosedOk": { + "message": "Porta serial fechada com sucesso<\/span>" + }, + "serialPortClosedFail": { + "message": "Falha<\/span> ao fechar a porta serial" + }, + "serialUnrecoverable": { + "message": "Falha<\/span> irrecuperável da conexão serial, desconectando..." + }, + "usbDeviceOpened": { + "message": "Dispositivo USB aberto com sucesso<\/span> com ID: $1" + }, + "usbDeviceOpenFail": { + "message": "Falha<\/span> ao abrir dispositivo USB!" + }, + "usbDeviceClosed": { + "message": "Dispositivo USB desconectado com sucesso<\/span>" + }, + "usbDeviceCloseFail": { + "message": "Falha<\/span> ao desconectar dispositivo USB" + }, + "usbDeviceUdevNotice": { + "message": "O udev rules<\/strong> foi instalado corretamente? Veja a documentação para instruções" + }, + "stm32UsbDfuNotFound": { + "message": "USB DFU não encontrado" + }, + "stm32TimedOut": { + "message": "STM32 - sem resposta, programação: FALHOU" + }, + "stm32WrongResponse": { + "message": "Comunicação falhou com o STM32, resposta incorreta, experada: $1 (0x$2) recebida: $3 (0x$4)" + }, + "stm32ContactingBootloader": { + "message": "Contactando bootloader ..." + }, + "stm32ContactingBootloaderFailed": { + "message": "Comunicação com o bootloader falhou" + }, + "stm32ResponseBootloaderFailed": { + "message": "Sem resposta do bootloader, programação: FALHOU" + }, + "stm32GlobalEraseExtended": { + "message": "Executando formatação global do chip (via formatação estendida) ..." + }, + "stm32LocalEraseExtended": { + "message": "Executando formatação local (via formatação estendida) ..." + }, + "stm32GlobalErase": { + "message": "Executando formatação global do chip ..." + }, + "stm32LocalErase": { + "message": "Executando formatação local ..." + }, + "stm32Erase": { + "message": "Formatando ..." + }, + "stm32Flashing": { + "message": "Atualizando ..." + }, + "stm32Verifying": { + "message": "Verificando ..." + }, + "stm32ProgrammingSuccessful": { + "message": "Programação: SUCESSO" + }, + "stm32ProgrammingFailed": { + "message": "Programação: FALHOU" + }, + "stm32AddressLoadFailed": { + "message": "Falha ao carregar endereço para setor de bytes de opção. Muito provavelmente devido a estar protegido contra leitura." + }, + "stm32AddressLoadSuccess": { + "message": "Sucesso ao carregar endereço de bytes de opção." + }, + "stm32AddressLoadUnknown": { + "message": "Erro desconhecido ao carregar endereço para setor de bytes de opção. Abortando." + }, + "stm32NotReadProtected": { + "message": "Proteção contra leitura não está ativada" + }, + "stm32ReadProtected": { + "message": "A placa parece estar protegida contra leitura. Desbloqueando. Não desligue\/desconecte!" + }, + "stm32UnprotectSuccessful": { + "message": "Desprotegida com sucesso." + }, + "stm32UnprotectUnplug": { + "message": "AÇÃO NECESSÁRIA: Desconecte e reconecte o controlador de voo em modo DFU para tentar atualizar novamente!" + }, + "stm32UnprotectFailed": { + "message": "Falha ao desbloquear a placa" + }, + "stm32UnprotectInitFailed": { + "message": "Falha ao iniciar a rotina de desbloqueio" + }, + "noConfigurationReceived": { + "message": "Nenhuma configuração foi recebida em 10 segundos<\/span>, a comunicação falhou<\/span>" + }, + "firmwareVersionNotSupported": { + "message": "Esta versão do firmware não é suportada<\/span>. Por favor atualize para um firmware que suporte a versão $1<\/strong> ou superior da API. Use a linha de comandos para fazer um backup antes de atualizar. O procedimento para fazer uma cópia de segurança\/restaurar encontra-se na documentação.
Como alternativa faça o download e use uma versão antiga do configurador caso não esteja preparado para efetuar a atualização." + }, + "firmwareTypeNotSupported": { + "message": "Firmware que não seja Cleanflight\/Betaflight não é suportado<\/span>, exceto na linha de comandos." + }, + "firmwareUpgradeRequired": { + "message": "O firmware deste dispositivo precisa ser atualizado para uma versão mais recente. Use a linha de comandos para realizar uma cópia de segurança antes da atualização. O procedimento para fazer uma cópia de segurança\/restaurar encontra-se na documentação.
Como alternativa faça o download e use uma versão antiga do configurador, caso não esteja preparado para efetuar a atualização." + }, + "infoVersions": { + "message": "Em execução - SO: $1<\/strong>, Chrome: $2<\/strong>, Configurador: $3<\/strong>" + }, + "releaseCheckLoaded": { + "message": "Informações da versão $1 carregadas do GitHub." + }, + "releaseCheckFailed": { + "message": "Query ao GitHub para a versão $1 falhou, usando as informações em cache. Razão: $2<\/code><\/b>" + }, + "releaseCheckCached": { + "message": "Usando informações em cache para as versões $1." + }, + "releaseCheckNoInfo": { + "message": "Nenhuma informação disponível para a versão $1." + }, + "tabSwitchConnectionRequired": { + "message": "Você precisa conectar<\/strong> antes de poder visualizar as abas." + }, + "tabSwitchWaitForOperation": { + "message": "Você não pode<\/span> realizar esta operação neste momento, por favor aguarde o fim da operação em execução..." + }, + "tabSwitchUpgradeRequired": { + "message": "Você precisa atualizar<\/strong> o firmware para a ultima versão do Betaflight antes de poder usar a aba $1." + }, + "firmwareVersion": { + "message": "Versão do firmware: $1<\/strong>" + }, + "apiVersionReceived": { + "message": "Versão da API MultiWii: $1<\/strong>" + }, + "uniqueDeviceIdReceived": { + "message": "ID único do dispositivo: 0x$1<\/strong>" + }, + "craftNameReceived": { + "message": "Nome da aeronave: $1<\/strong>" + }, + "armingDisabled": { + "message": "Armar Desativado<\/strong>" + }, + "armingEnabled": { + "message": "Permitido Armar<\/strong>" + }, + "runawayTakeoffPreventionDisabled": { + "message": "Prevenção de decolagem acidental temporariamente desativada<\/strong>" + }, + "runawayTakeoffPreventionEnabled": { + "message": "Prevenção de descolagem acidental ativada<\/strong>" + }, + "boardInfoReceived": { + "message": "Placa: $1<\/strong>, versão: $2<\/strong>" + }, + "buildInfoReceived": { + "message": "Firmware em execução disponibilizado em: $1<\/strong>" + }, + "fcInfoReceived": { + "message": "Informações do controlador de voo, identificador: $1<\/strong>, versão: $2<\/strong>" + }, + "versionLabelTarget": { + "message": "Destino" + }, + "versionLabelFirmware": { + "message": "Firmware" + }, + "versionLabelConfigurator": { + "message": "Configurador" + }, + "notifications_app_just_updated_to_version": { + "message": "Aplicação atualizada para a versão: $1" + }, + "notifications_click_here_to_start_app": { + "message": "Pressione aqui para iniciar a aplicação" + }, + "statusbar_port_utilization": { + "message": "Utilização da porta:" + }, + "statusbar_usage_download": { + "message": "D: $1%" + }, + "statusbar_usage_upload": { + "message": "U: $1%" + }, + "statusbar_packet_error": { + "message": "Erro de pacote:" + }, + "statusbar_i2c_error": { + "message": "Erro I2C:" + }, + "statusbar_cycle_time": { + "message": "Tempo de ciclo:" + }, + "statusbar_cpu_load": { + "message": "Carga do CPU: $1%" + }, + "dfu_connect_message": { + "message": "Por favor use a opção de atualização de firmware para acessar dispositivos DFU" + }, + "dfu_erased_kilobytes": { + "message": "$1 kB de memória flash foram apagadas com êxito<\/span>" + }, + "dfu_device_flash_info": { + "message": "Dispositivo detectado com memória flash de $1 KiB" + }, + "dfu_error_image_size": { + "message": "Erro:<\/span> A imagem fornecida é maior que memória flash disponível no chip! Imagem: $1 KiB, limite = $2 KiB" + }, + "eeprom_saved_ok": { + "message": "EEPROM salvo<\/span>" + }, + "defaultWelcomeIntro": { + "message": "Bem-vindo ao Configurador Betaflight<\/strong>, um utilitário feito para simplificar a atualização, configuração e otimização do seu controlador de voo." + }, + "defaultWelcomeHead": { + "message": "Hardware" + }, + "defaultWelcomeText": { + "message": "O Aplicativo suporta todos hardwares que conseguem usar o Betaflight. Verifique a aba de Atualização de firmware para a lista completa de hardwares.

Baixar o Betaflight Blackbox<\/a>

O código fonte do firmware pode ser baixado
aqui<\/a>
O arquivo binário mais recente do firmware está disponível
aqui<\/a>

Os
Drivers CP210x<\/a> mais recentes podem ser baixados aqui<\/a>
Os
Drivers STM USB VCP<\/a> podem ser baixados aqui<\/a>
O driver USB
Zadig<\/a> para Windows pode ser baixado aqui<\/a>
" + }, + "defaultContributingHead": { + "message": "Contribuir" + }, + "defaultContributingText": { + "message": "Se desejar ajudar o Betaflight a tornar-se ainda melhor, pode contribuir de várias formas, incluindo: