diff --git a/CMakeLists.txt b/CMakeLists.txt
index e476d1e77..0f0721504 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -702,8 +702,7 @@ if(NOT BUILD_HYDRA_CORE AND NOT BUILD_LIBRETRO_CORE)
)
# Translation files in Qt's .ts format. Will be converted into binary files and embedded into the executable
- set(TRANSLATIONS_TS docs/translations/en.ts docs/translations/el.ts docs/translations/es.ts)
-
+ set(TRANSLATIONS_TS docs/translations/en.ts docs/translations/el.ts docs/translations/es.ts docs/translations/pt_br.ts)
set_source_files_properties(${TRANSLATIONS_TS} PROPERTIES OUTPUT_LOCATION "${CMAKE_CURRENT_BINARY_DIR}/translations")
qt_add_translation(TRANSLATIONS_QM ${TRANSLATIONS_TS})
diff --git a/docs/translations/pt_br.ts b/docs/translations/pt_br.ts
new file mode 100644
index 000000000..e2afe3a97
--- /dev/null
+++ b/docs/translations/pt_br.ts
@@ -0,0 +1,764 @@
+
+
+ AboutWindow
+
+
+ About Panda3DS
+ Sobre o Panda3DS
+
+
+
+ Panda3DS is a free and open source Nintendo 3DS emulator, for Windows, MacOS and Linux
+ Panda3DS é um emulador gratuito e open-source para Windows, MacOS e Linux
+
+
+
+ Visit panda3ds.com for help with Panda3DS and links to our official support sites.
+ Visite panda3ds.com para obter ajuda e links de suporte oficial.
+
+
+
+ Panda3DS is developed by volunteers in their spare time. Below is a list of some of these volunteers who've agreed to be listed here, in no particular order.<br>If you think you should be listed here too, please inform us<br><br>- Peach (wheremyfoodat)<br>- noumidev<br>- liuk707<br>- Wunk<br>- marysaka<br>- Sky<br>- merryhime<br>- TGP17<br>- Shadow<br>
+ Panda3DS é desenvolvido por voluntários em seu tempo livre. Abaixo a lista de alguns volutário<br>(Lista sem nenhuma ordem específica)<br>Se acha que seu nome deveria estar listado aqui por favor informe-nos<br><br>- Peach (wheremyfoodat)<br>- noumidev<br>- liuk707<br>- Wunk<br>- marysaka<br>- Sky<br>- merryhime<br>- TGP17<br>- Shadow<br>
+
+
+
+ CheatEditDialog
+
+
+ Edit Cheat
+ Editar Trapaças
+
+
+
+ Cheat name
+ Nome da trapaça
+
+
+
+ CheatEntryWidget
+
+
+ Edit
+ Editar
+
+
+
+ CheatsWindow
+
+
+ Cheats
+ Trapaça
+
+
+
+ Add
+ Adicionar
+
+
+
+ Remove
+ Sair
+
+
+
+ ConfigWindow
+
+
+ Configuration
+ Configurações
+
+
+
+ Interface Settings
+ Configurações da interface
+
+
+
+ System
+ Sistema
+
+
+
+ Light
+ Claro
+
+
+
+ Dark
+ Escuro
+
+
+
+ Greetings Cat
+
+
+
+
+ Cream
+
+
+
+
+ Color theme
+ Tema de color
+
+
+
+ Happy panda
+ Panda feliz
+
+
+
+ Happy panda (colourful)
+ Panda feliz (colorido)
+
+
+
+ Sleepy panda
+ Panda sonolento
+
+
+
+ Cow panda
+ Panda vaca
+
+
+
+ The penguin from SkyEmu
+ O pinguim do SkyEmu
+
+
+
+ Window icon
+ Icone da janela
+
+
+
+ Language
+ Idioma
+
+
+
+ Show version on window title
+ Mostrar versão na barra de título
+
+
+
+ Alber v%1
+ Alber v%1
+
+
+
+ Alber
+ Alber
+
+
+
+ Remember window position
+ Lembrar posição da janela
+
+
+
+ General Settings
+ Configurações gerais
+
+
+
+ Browse...
+ Navegar...
+
+
+
+ Select Directory
+ Selecionar o diretório
+
+
+
+ Default ROMs path
+ Diretório padrão das ROMs
+
+
+
+ Enable Discord RPC
+ Ativar Discord RPC
+
+
+
+ Use portable build
+ Usar build portatil
+
+
+
+ Print version in console output
+ Imprimir versão no console
+
+
+
+ Graphics Settings
+ Configurações gráficas
+
+
+
+
+ Null
+ Nulo
+
+
+
+ OpenGL
+ OpenGL
+
+
+
+ Vulkan
+ Vulkan
+
+
+
+ GPU renderer
+ Renderizador GPU
+
+
+
+ Enable Renderdoc
+ Ativar Renderdoc
+
+
+
+ Enable shader JIT
+ Ativar JIT de shaders
+
+
+
+ Enable VSync
+ Ativar VSync
+
+
+
+ Use ubershaders (No stutter, maybe slower)
+ Usar ubershaders (No stuttering, puede ser más lento)
+
+
+
+ Accurate shader multiplication
+ Multiplicação precisa de shaders
+
+
+
+ Accelerate shaders
+ Graficos acelerados
+
+
+
+ Force shadergen when rendering lights
+ Forçar shadergen ao renderizar luzes.
+
+
+
+ Light threshold for forcing shadergen
+ Limear de luzes para forçar shadergen
+
+
+
+ Audio Settings
+ Configurações de audio
+
+
+
+ LLE
+ LLE
+
+
+
+ HLE
+ HLE
+
+
+
+ DSP emulation
+ Emulação DSP
+
+
+
+ Enable audio
+ Ativar audio
+
+
+
+ Enable AAC audio
+ Ativar audio AAC
+
+
+
+ Print DSP firmware
+ Imprimir firmware DSP
+
+
+
+ Mute audio device
+ Silenciar dispositivo de audio
+
+
+
+ Cubic
+ Cúbico
+
+
+
+ Linear
+ Linear
+
+
+
+ Volume curve
+ Curva de volume
+
+
+
+ Audio device volume
+ Volume do dispositivo de audio
+
+
+
+ Battery Settings
+ Configurações de bateria
+
+
+
+ Battery percentage
+ Porcentagem da bateria
+
+
+
+ Charger plugged
+ Carregador conectado
+
+
+
+ SD Card Settings
+ Configurações do cartão de memoria
+
+
+
+ Enable virtual SD card
+ Ativar cartão de memoria virtual
+
+
+
+ Write protect virtual SD card
+ Proteger cartão de memoria virtual contra escrita
+
+
+
+ Interface
+ Interface
+
+
+
+ User Interface settings
+ Configurações da interface de usuario
+
+
+
+ General
+ Geral
+
+
+
+ General emulator settings
+ Configurações gerais do emulador
+
+
+
+ Graphics
+ Gráficos
+
+
+
+ Graphics emulation and output settings
+ Configurações da emulação e saida de video
+
+
+
+ Audio
+ Audio
+
+
+
+ Audio emulation and output settings
+ Configurações da emulação e saida de audio
+
+
+
+ Battery
+ Bateria
+
+
+
+ Battery emulation settings
+ Configuração da emulação da bateria
+
+
+
+ SD Card
+ Cartão de memoria
+
+
+
+ SD Card emulation settings
+ Configurar a emulação do cartão de memoria
+
+
+
+ Language change successful
+ Idioma alterado com sucesso
+
+
+
+ Restart Panda3DS for the new language to be used.
+ Para aplicar o novo idioma feche e abra o emulador.
+
+
+
+ Language change failed
+ A mudaça de idioma falhou
+
+
+
+ The language you selected is not included in Panda3DS. If you're seeing this, someone messed up the language UI code...
+ O idioma selecionado não existe no Panda3DS. Se você esta vendo esse erro existe um erro no codigo...
+
+
+
+ MainWindow
+
+
+ Alber
+ Alber
+
+
+
+ File
+ Arquivo
+
+
+
+ Emulation
+ Emulação
+
+
+
+ Tools
+ Ferramentas
+
+
+
+ About
+ Sobre
+
+
+
+ Load game
+ Carregar jogo
+
+
+
+ Load Lua script
+ Carregar Script Lua
+
+
+
+ Open Panda3DS folder
+ Abrir pasta do Panda3DS
+
+
+
+ Pause
+ Pausar
+
+
+
+ Resume
+ Continuar
+
+
+
+ Reset
+ Reiniciar
+
+
+
+ Configure
+ Configurar
+
+
+
+ Dump RomFS
+ Extrair RomFS
+
+
+
+ Open Lua Editor
+ Abrir editor Lua
+
+
+
+ Open Cheats Editor
+ Abrir editor de trapaças
+
+
+
+ Open Patch Window
+ Abrir janela de trapaças
+
+
+
+ Open Shader Editor
+ Abrir editor de shaders
+
+
+
+ Dump loaded DSP firmware
+ Extrair firmware DSP carregado
+
+
+
+ About Panda3DS
+ Sobre o Panda3DS
+
+
+
+ Select 3DS ROM to load
+ Selecione uma ROM de 3DS para carregar
+
+
+
+ Nintendo 3DS ROMs (*.3ds *.cci *.cxi *.app *.ncch *.3dsx *.elf *.axf)
+ ROMs de Nintendo 3DS (*.3ds *.cci *.cxi *.app *.ncch *.3dsx *.elf *.axf)
+
+
+
+ Select Lua script to load
+ Selecione uma ROM de 3DS para carregar
+
+
+
+ Lua scripts (*.lua *.txt)
+ Scripts Lua (*.lua *.txt)
+
+
+
+ Select folder to dump RomFS files to
+ Selecione onde a RomFS será extraida
+
+
+
+ Invalid format for RomFS dumping
+ Formato de RomFS inválido
+
+
+
+ The currently loaded app is not in a format that supports RomFS
+ O aplicativo carregado não suporta RomFS
+
+
+
+
+
+ OK
+ OK
+
+
+
+ No RomFS found
+ RomFS no encontrado
+
+
+
+ No RomFS partition was found in the loaded app
+ A partição RomFS não foi encontrada no aplicativo
+
+
+
+ Select file
+ Selecionar arquivo
+
+
+
+ DSP firmware file (*.cdc)
+ Arquivo do firmware DSP (*.cdc)
+
+
+
+ No DSP firmware loaded
+ Nenhum firmware DSP carregado
+
+
+
+ The currently loaded app has not uploaded a firmware to the DSP
+ A aplicação não carregou um firmware DSP
+
+
+
+ Failed to open output file
+ Erro ao abrir arquvio de destino
+
+
+
+ The currently loaded DSP firmware could not be written to the selected file. Please make sure you have permission to access this file
+ O firmware DSP carregado não pode escrever no arquivo selecionado. Porfavor veja se você tem permissão para modificalo-lo.
+
+
+
+ PatchWindow
+
+
+ ROM patcher
+ Editor de ROM
+
+
+
+ Select input file
+ Selecione o arquivo de entrada
+
+
+
+
+ Select
+ Selecionar
+
+
+
+
+ Select patch file
+ Seleciona um arquivo de patch
+
+
+
+ Apply patch
+ Aplicar patch
+
+
+
+ Select file to patch
+ Selecione um arquivo para editar
+
+
+
+
+ All files (*.*)
+ Todos os arquivos (*.*)
+
+
+
+ Patch files (*.ips *.ups *.bps)
+ Arquivos de patch (*.ips *.ups *.bps)
+
+
+
+ Paths not provided correctly
+ Diretórios não fornecidos corretamente
+
+
+
+ Please provide paths for both the input file and the patch file
+ Por favor selecione os diretórios tanto para o arquivo de origem como para o patch
+
+
+
+ Select file
+ Selecionar arquivo
+
+
+
+ No output path
+ Sem diretório de saida
+
+
+
+ No path was provided for the output file, no patching was done
+ Nenhum diretorio de destino foi fornecido, patch não aplicado.
+
+
+
+ Unknown patch format
+ Formato de patch desconhecido
+
+
+
+ Unknown format for patch file. Currently IPS, UPS and BPS are supported
+ Arquivo de patch inválido. Atualmete são suportado patches nos formatos IPS, UPS e BPS
+
+
+
+ Failed to open input files
+ Falha ao abrir os arquivos
+
+
+
+ Make sure they're in a directory Panda3DS has access to
+ Certifique-se de que eles estejam em um diretório ao qual o Panda3DS tenha acesso
+
+
+
+ Patching Success
+ Patch aplicado
+
+
+
+ Your file was patched successfully.
+ O patch foi aplicado com sucesso ao arquivo
+
+
+
+ Checksum mismatch
+ Checagem inválido
+
+
+
+ Patch was applied successfully but a checksum mismatch was detected. The input or output files might not be correct
+ O patch foi aplicado com sucesso porem a checagem falhou. O arquivo de origem ou destino pode não estar correto.
+
+
+
+ Patching error
+ Erro de patch
+
+
+
+ An error occured while patching
+ Um erro ocorreu ao aplicar o patch
+
+
+
+ PatchWindow::PatchWindow
+
+
+ OK
+ OK
+
+
+
+ ShaderEditorWindow
+
+
+ Reload shader
+ Recargar shader
+
+
+
+ TextEditorWindow
+
+
+ Lua Editor
+ Editor Lua
+
+
+
+ Load script
+ Cargar script
+
+
+
+
diff --git a/src/panda_qt/translations.cpp b/src/panda_qt/translations.cpp
index f857f7a57..857ccdbb6 100644
--- a/src/panda_qt/translations.cpp
+++ b/src/panda_qt/translations.cpp
@@ -46,10 +46,11 @@ struct LanguageInfo {
// Please keep this list mostly in alphabetical order.
// Also, for Unicode characters in language names, use Unicode keycodes instead of writing out the name,
// as some compilers/toolchains may not enjoy Unicode in source files.
-static std::array languages = {
+static std::array languages = {
LanguageInfo(QStringLiteral(u"English"), "en"), // English
LanguageInfo(QStringLiteral(u"\u0395\u03BB\u03BB\u03B7\u03BD\u03B9\u03BA\u03AC"), "el"), // Greek
LanguageInfo(QStringLiteral(u"Espa\u00F1ol"), "es"), // Spanish
+ LanguageInfo(QStringLiteral(u"Portugu\u00EAs (Brasil)"), "pt_br") // Portuguese (Brazilian)
};
QComboBox* ConfigWindow::createLanguageSelect() {