From 75e0de636e3b90840911894dfca9c204f164466d Mon Sep 17 00:00:00 2001 From: Souryo Date: Tue, 20 Dec 2016 23:04:20 -0500 Subject: [PATCH] UI: Portuguese translation (thanks to ThallesAps!) --- Core/EmulationSettings.h | 3 +- Core/MessageManager.cpp | 65 +++ Core/MessageManager.h | 1 + GUI.NET/Dependencies/resources.en.xml | 1 + GUI.NET/Dependencies/resources.es.xml | 1 + GUI.NET/Dependencies/resources.fr.xml | 1 + GUI.NET/Dependencies/resources.ja.xml | 1 + GUI.NET/Dependencies/resources.pt.xml | 635 ++++++++++++++++++++++++++ GUI.NET/Dependencies/resources.ru.xml | 1 + GUI.NET/Dependencies/resources.uk.xml | 1 + GUI.NET/Forms/ResourceHelper.cs | 5 +- GUI.NET/GUI.NET.csproj | 4 + GUI.NET/Program.cs | 2 + 13 files changed, 719 insertions(+), 2 deletions(-) create mode 100644 GUI.NET/Dependencies/resources.pt.xml diff --git a/Core/EmulationSettings.h b/Core/EmulationSettings.h index 174d9311..4eff9d91 100644 --- a/Core/EmulationSettings.h +++ b/Core/EmulationSettings.h @@ -246,7 +246,8 @@ enum class Language Japanese = 3, Russian = 4, Spanish = 5, - Ukrainian = 6 + Ukrainian = 6, + Portuguese = 7, }; enum class StereoFilter diff --git a/Core/MessageManager.cpp b/Core/MessageManager.cpp index 95256383..aa0d3bdd 100644 --- a/Core/MessageManager.cpp +++ b/Core/MessageManager.cpp @@ -388,6 +388,70 @@ std::unordered_map MessageManager::_ukResources = { { "SynchronizationCompleted", u8"Синхронізація завершена." } }; +std::unordered_map MessageManager::_ptResources = { + { "Cheats", u8"Cheats" }, + { "Debug", u8"Debug" }, + { "EmulationSpeed", u8"Velocidade" }, + { "ClockRate", u8"Frequência do Clock" }, + { "Error", u8"Erro" }, + { "GameInfo", u8"Informações do Jogo" }, + { "GameLoaded", u8"Jogo Carregado" }, + { "IPS", u8"IPS" }, + { "Movies", u8"Vídeos" }, + { "NetPlay", u8"Jogo Online" }, + { "Region", u8"Região" }, + { "SaveStates", u8"Save States" }, + { "ScreenshotSaved", u8"Screenshot salva" }, + { "SoundRecorder", u8"Gravador de Som" }, + { "Test", u8"Teste" }, + + { "ApplyingIps", u8"Aplicando patch: %1" }, + { "CheatApplied", u8"1 cheat aplicado." }, + { "CheatsApplied", u8"%1 cheats aplicados." }, + { "ConnectedToServer", u8"Conectado ao servidor." }, + { "ConnectedAsPlayer", u8"Conectado como jogador %1" }, + { "ConnectedAsSpectator", u8"Conectado como espectador." }, + { "ConnectionLost", u8"Conexão com o servidor perdida." }, + { "CouldNotConnect", u8"Não foi possível conectar ao servidor." }, + { "CouldNotIniitalizeAudioSystem", u8"Não foi possível iniciar o sistema de som" }, + { "CouldNotFindRom", u8"Não foi possível encontrar a ROM procurada." }, + { "CouldNotLoadFile", u8"Não foi possível carregar o arquivo: %1" }, + { "EmulationMaximumSpeed", u8"Velocidade Máxima" }, + { "EmulationSpeedPercent", u8"%1%" }, + { "GameCrash", u8"O jogo crashou (%1)" }, + { "Lag", u8"Lag" }, + { "Mapper", u8"Mapeado: %1, SubMapeado: %2" }, + { "MovieEnded", u8"Vídeo terminado." }, + { "MovieInvalid", u8"Tipo de vídeo inválido." }, + { "MovieMissingRom", u8"A ROM (%1) do vídeo selecionado não se encontra." }, + { "MovieNewerVersion", u8"Não se pode carregar vídeos criados com uma versão mais recente de Mesen. Por favor baixe a última versão." }, + { "MovieIncompatibleVersion", u8"Este vídeo é incompatível com esta versão de Mesen." }, + { "MoviePlaying", u8"Reproduzindo vídeo: %1" }, + { "MovieRecordingTo", u8"Gravando a: %1" }, + { "MovieSaved", u8"Vídeo salvo no arquivo: %1" }, + { "NetplayVersionMismatch", u8"%1 não está executando a mesma versão de Mesen e foi desconectado." }, + { "PrgSizeWarning", u8"O tamanho de PRG é menor que 32kb" }, + { "SaveStateEmpty", u8"O Save State está vazio." }, + { "SaveStateIncompatibleVersion", u8"Save State #%1 incompatível com esta versão de Mesen." }, + { "SaveStateInvalidFile", u8"Save State inválido." }, + { "SaveStateLoaded", u8"Save State #%1 carregado." }, + { "SaveStateNewerVersion", u8"Não se pode carregar um save state com uma versão mais recente de Mesen. Por favor baixe a última versão." }, + { "SaveStateSaved", u8"Save State #%1 salvo." }, + { "SaveStateSlotSelected", u8"Slot do Save State #%1 elegido." }, + { "ScanlineTimingWarning", u8"O timing de PPU foi trocado." }, + { "ServerStarted", u8"Servidor iniciado (Port: %1)" }, + { "ServerStopped", u8"Servidor parado" }, + { "SoundRecorderStarted", u8"Gravando em: %1" }, + { "SoundRecorderStopped", u8"Gravação salva em: %1" }, + { "TestFileSavedTo", u8"Arquivo teste salvo em: %1" }, + { "UnsupportedMapper", u8"Mapa (%1) não suportado, não se pode carregar o jogo." }, + + { "GoogleDrive", u8"Google Drive" }, + { "SynchronizationStarted", u8"Sincronização iniciada." }, + { "SynchronizationFailed", u8"Sincronização falhou." }, + { "SynchronizationCompleted", u8"Sincronização completada." }, +}; + std::list MessageManager::_log; SimpleLock MessageManager::_logLock; IMessageManager* MessageManager::_messageManager = nullptr; @@ -408,6 +472,7 @@ string MessageManager::Localize(string key) case Language::Russian: resources = &_ruResources; break; case Language::Spanish: resources = &_esResources; break; case Language::Ukrainian: resources = &_ukResources; break; + case Language::Portuguese: resources = &_ptResources; break; } if(resources) { if(resources->find(key) != resources->end()) { diff --git a/Core/MessageManager.h b/Core/MessageManager.h index a0889ca1..ee104750 100644 --- a/Core/MessageManager.h +++ b/Core/MessageManager.h @@ -18,6 +18,7 @@ private: static std::unordered_map _ruResources; static std::unordered_map _esResources; static std::unordered_map _ukResources; + static std::unordered_map _ptResources; static SimpleLock _logLock; static std::list _log; diff --git a/GUI.NET/Dependencies/resources.en.xml b/GUI.NET/Dependencies/resources.en.xml index c369deb9..7ebe5256 100644 --- a/GUI.NET/Dependencies/resources.en.xml +++ b/GUI.NET/Dependencies/resources.en.xml @@ -140,6 +140,7 @@ English Français 日本語 + Português Русский Español Українська diff --git a/GUI.NET/Dependencies/resources.es.xml b/GUI.NET/Dependencies/resources.es.xml index 198cfd5c..a8272734 100644 --- a/GUI.NET/Dependencies/resources.es.xml +++ b/GUI.NET/Dependencies/resources.es.xml @@ -626,6 +626,7 @@ English Français 日本語 + Português Русский Español Українська diff --git a/GUI.NET/Dependencies/resources.fr.xml b/GUI.NET/Dependencies/resources.fr.xml index cd8a786c..6ee1f06f 100644 --- a/GUI.NET/Dependencies/resources.fr.xml +++ b/GUI.NET/Dependencies/resources.fr.xml @@ -624,6 +624,7 @@ English Français 日本語 + Português Русский Español Українська diff --git a/GUI.NET/Dependencies/resources.ja.xml b/GUI.NET/Dependencies/resources.ja.xml index 8982e0b1..8bf1dc82 100644 --- a/GUI.NET/Dependencies/resources.ja.xml +++ b/GUI.NET/Dependencies/resources.ja.xml @@ -606,6 +606,7 @@ English Français 日本語 + Português Русский Español Українська diff --git a/GUI.NET/Dependencies/resources.pt.xml b/GUI.NET/Dependencies/resources.pt.xml new file mode 100644 index 00000000..b69a5c04 --- /dev/null +++ b/GUI.NET/Dependencies/resources.pt.xml @@ -0,0 +1,635 @@ + + + +
+ Arquivo + Abrir + Save State + Load State + Arquivos recentes + Sair + Jogo + Pausar + Resetar + Power Cycle + Trocar o lado do disco + Selecionar o disco + Ejetar o disco + Configuração de jogo VS + Inserir moeda (1) + Inserir moeda (2) + Opções + Velocidade + Normal (100%) + Aumentar velocidade + Reduzir velocidade + Velocidade máxima + Triplo (300%) + Dobro (200%) + Metade (50%) + Um Quarto (25%) + Mostrar FPS + Tamanho do vídeo + 1x + 2x + 3x + 4x + Personalizar + Tela Cheia + Filtro de vídeo + Nenhum + NTSC + Usar interpolação Bilinear + Audio + Controles + Região + Auto + NTSC + PAL + Dendy + Vídeo + Emulação + Preferências + Ferramentas + Jogo online + Iniciar Servidor + Conectar a um Servidor + Selecionar Controles + Jogador 1 + Jogador 2 + Jogador 3 + Jogador 4 + Espectador + Buscar um servidor público... + Configurar perfil + Vídeos + Reproduzir... + Gravar a partir... + Do início do jogo + Do estado atual + Parar + Gravar som + Gravar... + Parar + Cheats + Testes + Iniciar... + Gravar a partir de... + Iniciar + Agora + Vídeo + Teste + Parar gravação + Executar todos os testes + Depurar + Janela de log + Tirar screenshot + Carregar Jogo Aleatório + Ajuda + Procurar atualizações + Reportar um erro + Sobre... + + + Extraindo arquivo, por favor espere... + + + Título + Artista + Copyright + Chip de áudio +
+
+ Encerrar +
+
+ Geral + Avançado + Inverter ciclos de canais quadrados (imita velhos clones) + Cortar o canal de triângulo a frequências ultrassônicas (reduz os "pops") + Reduz sons "popping" no canal DMC + Efeitos + Estéreo + Desativar + Atrasado + Panorâmico + ms + (Ângulo em graus) + Habilitar Crossfeed: + Ressonância + Ativar a ressonância + Atraso: + Força: + Silenciar Mesen quando estiver em segundo plano + Abaixar o volume do Mesen quando estiver em segundo plano + Ativar o som + Frequência de amostra: + ms + Valores baixos podem causar problemas no som + Latência: + Dispositivo: + Volume + Volume + Reiniciar + OK + Cancelar + DMC + Ruído + Triângulo + Quadrado 2 + Quadrado 1 + Master + FDS + MMC5 + VRC6 + VRC7 + Namco + Sunsoft + + Panning + DMC + Ruído + Triângulo + Quadrado 2 + Quadrado 1 + FDS + MMC5 + VRC6 + VRC7 + Namco + Sunsoft +
+
+ OK + Cancelar + Controles + Configuração + Configuração + Jogador 1: + Jogador 2: + Jogador 4: + Jogador 3: + Configuração + Configuração + Tipo de console: + Expansion Port: + Utilizar acessório para 4 jogadores + Configurar controles automaticamente ao carregar um jogo + Acessos diretos + + Avançado + Controladores de tela + Jogador 1 + Jogador 2 + Jogador 3 + Jogador 4 + Posição da tela + Mostrar horizontalmente +
+
+ Velocidade de modo turbo: + Rápido + Lento + Mapeado #1 + Mapeado #2 + Mapeado #3 + Selecionar valor preestablecido... + Teclado + Utilizar teclas WASD + Utilizar setas + Controles de FCEUX + Controles de Nestopia + Controle de Xbox + Layout #1 + Layout #2 + Controle de Ps4 + Layout #1 + Layout #2 + Controle de SNES30 + Layout #1 + Layout #2 + Mapeado #4 + Reiniciar + Desfazer controles + OK + Cancelar +
+
+ Geral + Escala: + Filtro: + Ativar a sincronização vertical + Formato de imagem: + Utilizar a interpolação Bilinear + Mostrar FPS + Utilizar os packs de Alta Definição do HDNes + Overscan + Recorte + Esquerda + Cima + Abaixo + Direita + Paleta + Por padrão (NTSC) + Escolher uma paleta... + Exportar arquivo .pal + Carregar arquivo .pal + Imagem + Escolher filtro predefinido... + Parâmetros comuns + Brilho + Contraste + Cor + Saturação + Parâmetros de filtro NTSC + Artefato + Dispersão de cores + Camadas de distorção + Gama + Resolução + Nitidez + Combinar imagens alternadas + Linhas de scan + Linhas de scan + Reiniciar + Composto + S-Video + RGB + Monocromo + + Avançado + Desabilitar background + Desabilitar sprites + Forçar ver background em primeira coluna + Forçar ver sprite em primeira coluna + + OK + Cancelar +
+
+ Geral + % (0 = Velocidade máxima) + % (0 = Velocidade máxima) + Velocidade de avanço rápido: + Velocidade de emulação: + + Avançado + Utilizar a versão alternativa de componentes de IRQs de MMC3 + Permitir as entradas inválidas (Cima+Baixo e Esquerda+Direita ao mesmo tempo) + Estado inicial da memória durante o início: + Eliminar o limite de sprites (Reduz as piscadas em alguns jogos) + + Overclocking + Overclocking de CPU + ATENÇÃO: O overclock afeta a estabilidade da emulação e pode bloquear alguns jogos! + Multiplicar a frequência de clock: + % (Recomendado: 100%) + + Sincronização de PPU + Número de linhas de scan adicionais antes de NMI: + Número de linhas de scan adicionais depois de NMI: + Frequência de clock (NTSC): + Frequência de clock (PAL): + Frequência de clock (Dendy): + + Não realizar overclock a APU (Previne a troca de tom causado por overclocking) + + Ver contador de lag + Reiniciar contador de lag + + OK + Cancelar +
+
+ Geral + Idioma de tela: + Permitir apenas uma cópia de Mesen por vez + Buscar atualizações automaticamente + Pausar a emulação ao finalizar o vídeo + Permitir inputs quando Mesen estiver em segundo plano + Pausar a emulação quando Mesen estiver em segundo plano + Carregar os arquivos IPS automaticamente + Abrir a pasta de Mesen + Associação de arquivos + Associação de arquivos + .NES + .FDS (Famicom Disk System) + .MMO (Vídeos do Mesen) + .MST (Partidas guardadas do Mesen) + Avançado + Inserir a parte A do disco 1 ao carregar um jogo FDS + Atalhos + Ação + Atalho #1 + Atalho #2 + Cópias de segurança + Save state automático + Criar uma cópia de segurança de cada state + minutos (Aperte F6 para carregar) + Mostrar uma notificação na tela ao fazer a cópia de segurança automática + Cópia de segurança online + Aumentar a velocidade da emulação de jogos ao carregar no FDS + + Salvar online + Mesen pode utilizar Google Drive para armazenar saves em sua conta do Google Drive. Quando se habilita a integração, todos os dados de cópia de segurança de seus jogos (arquivos .sav e save states) são facilmente acessíveis de qualquer computador. + A integração com o Google Drive está ativada. + Desativar a integração com o Google Drive + Ativar a integração com o Google Drive + Última sincronização: + Ressincronizar + + Desabilitar a base de dados de jogos + + NSF + Reproduzir a seguinte track depois + milisegundos de silêncio + Limitar a duração de tracks a + segundos + Desabilitar as IRQs da APU (Recomendado) + + OK + Cancelar +
+
+ 8888 + Port: + Servidor público + Nome do servidor: + Permitir espectadores + Número máximo de jogadores: + Senha: + OK + Cancelar +
+
+ 8888 + Servidor host: + Port: + Entrar como espectador + OK + Cancelar +
+
+ Buscar + Ok + Cancelar +
+
+ Importar Opções + Arquivo de cheat: + Jogo: + Buscar... + Buscar... + Importar + Cancelar +
+
+ Cheats + Mostrar apenas os cheats para o jogo atual + Adicionar cheat + Deletar + Deletar os cheats selecionados + Deletar todos os cheats do jogo selecionado + Adicionar cheat + Deletar + Deletar + Jogo + Nome do cheat + Cheat + Da lista de cheats de Mesen + De um arquivo + Importar + Exportar + Todos os cheats + Jogo Selecionado + Exportar + Cheats selecionados + Exportar + Pesquisa de cheats + Reiniciar + Desfazer + O valor atual é + O valor anterior é + Adicionar filtro atual + Adicionar filtro anterior + Criar um cheat + Criar um cheat + a + Pausar o jogo automaticamente quando a janela estiver ativada + Desabilitar todos os cheats + OK + Cancelar +
+
+ Jogo: + Nome do cheat: + Cheat + Personalizado: + Game Genie: + Pro Action Rocky: + Direção: + Novo valor: + Memória + Cheat do Jogo + Comparar valor + Buscar... + Cheat ativado + OK + Cancelar +
+
+ Mesen + © 2016 M. Bibaud (aka Sour) + Sitio web: + www.mesen.ca + Version: 0.6.0 (Beta) + &OK +
+
+ Jogo + Modelo de PPU + Comutadores DIP +
+
+ Última versão: + Versão atual: + Changelog + Atualizar + Cancelar +
+
+ Pressione qualquer tecla do teclado ou do joystick para registrar esse botão. +
+
+ Nome + Ok + Cancelar +
+
+ Cancelar + Ok + Buscar +
+
+ + Todos os tipos de arquivo (*.*)|*.* + Vídeos (*.mmo)|*.mmo|Todos os arquivos (*.*)|*.* + Arquivos wave (*.wav)|*.wav|Todos os arquivos (*.*)|*.* + Arquivos pal (*.pal)|*.pal|Todos os arquivos (*.*)|*.* + Todos os formatos suportados (*.nes, *.zip, *.7z, *.fds, *.nsf, *.nsfe, *.unf)|*.NES;*.ZIP;*.7z;*.FDS;*.NSF;*.NSFE;*.UNF|Roms de NES (*.nes, *.unf)|*.NES;*.UNF|Roms de Famicom Disk System (*.fds)|*.FDS|Arquivos NSF (*.nsf, *.nsfe)|*.NSF;*.NSFE|Arquivos ZIP (*.zip)|*.ZIP|Arquivos 7-Zip (*.7z)|*.7z|Todos os arquivos (*.*)|*.* + Todos os formatos suportados (*.nes, *.zip, *.7z, *.fds, *.nsf, *.nsfe, *.unf, *.ips)|*.NES;*.ZIP;*.7z;*.IPS;*.FDS;*.NSF;*.NSFE;*.UNF|Roms de NES(*.nes, *.unf)|*.NES;*.UNF|Roms de Famicom Disk System (*.fds)|*.FDS|Arquivos NSF (*.nsf, *.nsfe)|*.NSF;*.NSFE|Arquivos ZIP (*.zip)|*.ZIP|Arquivos 7-Zip (*.7z)|*.7z|Arquivos IPS (*.ips)|*.IPS|Todos os arquivos (*.*)|*.* + Arquivos de teste (*.mtp)|*.mtp|Todos os arquivos (*.*)|*.* + Todos os formatos suportados (*.cht, *.xml)|*.cht;*.xml + + Continuar + Pausar + Iniciar servidor + Parar servidor + Conectar a um servidor + Deconectar + Jogador {0} + + {0} e {1} cheats de jogos presentes na base de dados + {0} cheats foram importados para o jogo {1}. + + {0} roms encontradas + + Mesen não encontrou nenhum jogo para carregar. + + Track seguinte (Espera para jogar mais rápido) + [sem nome] + [desconhecido] + O pacote Visual C++ Redistributable para Visual Studio 2015 não foi instalado corretamente. + <Não há cópia de segurança> + Houve um erro na busca por atualizações. Detalhes do erro: {0} + Não foi encontrada uma bios para FDS. É preciso de uma bios para jogos do FDS. Deseja selecionar uma bios manualmente? + Disco {0} Cara {1} + Arquivo não encontrado: {0} + A bios selecionada não é válida. + Esta opção permite os pacotes de gráficos de alta resolução sejam carregados no mesmo formato que os do emulador HDNes. Os pacotes de alta resolução devem ser colocados nos "HdPacks" em uma subpasta com o mesmo nome da ROM. Exemplo: Um pacote para "MinhaRom.nes" deve ser colocado em "HdPacks\MinhaRom\hires.txt". Nota: O suporte para os pacotes de alta resolução não é perfeito - algumas limitações seguem presentes. + Já utiliza a versão mais recente do Mesen. + Aplicar o patch e reiniciar o jogo? + Selecione a ROM que corresponde ao arquivo IPS selecionado. + Não foi possível baixar o arquivo. Verifique sua conexão com a internet e tente de novo. Detalhes do erro: + Mesen deve baixar e instalar o pacote redistribuível de Visual C++ de Microsoft Visual Studio 2015 antes de poder continuar. Gostaria de instalar agora? + Mesen não pode iniciar devido a falta de arquivos. Erro: Não se encontra o arquivo MesenCore.dll. + Houve um erro inesperado. Detalhes do erro: {0} + Erro ao baixar - o arquivo parece estar danificado. Por favor, visite o site de Mesen para baixar manualmente a versão mais recente. + A atualização foi realizada com sucesso. + O processo de atualização não se pode iniciar porque faltam alguns arquivos. + Microsoft .NET Framework 4.5 não foi encontrado. Por favor, baixe a versão mais recente de .NET Framework do site da Microsoft e tente novamente. + + Mesen não foi capaz de conectar a sua conta do Google Drive, por favor tente novamente. + + O arquivo selecionado ({0}) não é um arquivo de cheats válido. + O arquivo selecionado ({0}) não é um arquivo XML válido. + Fast Forward + Aumentar velocidade + Reduzir velocidade + Pausar + Reiniciar + Tirar screenshot + FDS - Mudar lado do disco + FDS - Inserir próximo disco + VS - Inserir moeda (1) + VS - Inserir moeda (2) + VS - Botão de serviço + Ir ao próximo save state + Ir ao save sate anterior + Save State + Load State + O arquivo de cheats selecionado ({0}) não contém cheats que pertencem ao jogo selecionado. + + + + Ninguno + Controle padrão + Zapper + Controle Arkanoid + + + Auto + NTSC (8:7) + PAL (11:8) + Padrão (4:3) + Widescreen (16:9) + + + Nenhum + NTSC + xBRZ 2x + xBRZ 3x + xBRZ 4x + xBRZ 5x + xBRZ 6x + HQ 2x + HQ 3x + HQ 4x + Escala 2x + Escala 3x + Escala 4x + 2xSai + Super2xSai + SuperEagle + Preescala 2x + Preescala 3x + Preescala 4x + + + NES + Famicom + + + Nenhum + Zapper + Adaptador para 4 jogadores + Controle Arkanoid + Oeka Kids Tablet + + + RP2C03 + RP2C04-0001 + RP2C04-0002 + RP2C04-0003 + RP2C04-0004 + RP2C05-01 + RP2C05-02 + RP2C05-03 + RP2C05-04 + RP2C05-05 + + + Superior Esquerdo + Superior direito + Inferior Esquerdo + Inferior Direito + + + Todos os bits a 0 (Defeito) + Todos os bits a 1 + Valores aleatórios + + + Menor que + Igual que + Não igual que + Maior que + + + Menor + Igual + Não igual + Maior + + + Definir como idioma padrão + English + Français + 日本語 + Português + Русский + Español + Українська + + +
\ No newline at end of file diff --git a/GUI.NET/Dependencies/resources.ru.xml b/GUI.NET/Dependencies/resources.ru.xml index faff9dc6..cd39c8cb 100644 --- a/GUI.NET/Dependencies/resources.ru.xml +++ b/GUI.NET/Dependencies/resources.ru.xml @@ -615,6 +615,7 @@ English Français 日本語 + Português Русский Español Українська diff --git a/GUI.NET/Dependencies/resources.uk.xml b/GUI.NET/Dependencies/resources.uk.xml index 9a199dc9..b24e394a 100644 --- a/GUI.NET/Dependencies/resources.uk.xml +++ b/GUI.NET/Dependencies/resources.uk.xml @@ -614,6 +614,7 @@ English Français 日本語 + Português Русский Español Українська diff --git a/GUI.NET/Forms/ResourceHelper.cs b/GUI.NET/Forms/ResourceHelper.cs index 7e047922..264a296a 100644 --- a/GUI.NET/Forms/ResourceHelper.cs +++ b/GUI.NET/Forms/ResourceHelper.cs @@ -22,7 +22,8 @@ namespace Mesen.GUI.Forms Japanese = 3, Russian = 4, Spanish = 5, - Ukrainian = 6 + Ukrainian = 6, + Portuguese = 7, } class ResourceHelper @@ -53,6 +54,7 @@ namespace Mesen.GUI.Forms case "ru": language = Language.Russian; break; case "es": language = Language.Spanish; break; case "uk": language = Language.Ukrainian; break; + case "pt": language = Language.Portuguese; break; } } @@ -66,6 +68,7 @@ namespace Mesen.GUI.Forms case Language.Russian: filename = "resources.ru.xml"; break; case Language.Spanish: filename = "resources.es.xml"; break; case Language.Ukrainian: filename = "resources.uk.xml"; break; + case Language.Portuguese: filename = "resources.pt.xml"; break; } _language = language; diff --git a/GUI.NET/GUI.NET.csproj b/GUI.NET/GUI.NET.csproj index b6e1a5c6..45b48d09 100644 --- a/GUI.NET/GUI.NET.csproj +++ b/GUI.NET/GUI.NET.csproj @@ -870,6 +870,10 @@ Always + + Always + Designer + Always Designer diff --git a/GUI.NET/Program.cs b/GUI.NET/Program.cs index 42e48595..fc52f4e2 100644 --- a/GUI.NET/Program.cs +++ b/GUI.NET/Program.cs @@ -87,6 +87,7 @@ namespace Mesen.GUI case Language.Russian: message = "Microsoft .NET Framework 4.5 не найден. Пожалуйста загрузите и установите последнюю версию .NET Framework с сайта Microsoft и попробуйте снова."; break; case Language.Spanish: message = "Microsoft .NET Framework 4.5 no se ha encontrado. Por favor, descargue la versión más reciente de .NET Framework desde el sitio de Microsoft y vuelva a intentarlo."; break; case Language.Ukrainian: message = "Microsoft .NET Framework 4.5 не знайдений. Будь ласка завантажте і встановіть останню версію .NET Framework з сайту Microsoft і спробуйте знову."; break; + case Language.Portuguese: message = "Microsoft .NET Framework 4.5 não foi encontrado. Por favor, baixe a versão mais recente de .NET Framework do site da Microsoft e tente novamente."; break; } MessageBox.Show(message, "Mesen", MessageBoxButtons.OK, MessageBoxIcon.Error); return; @@ -98,6 +99,7 @@ namespace Mesen.GUI case Language.Russian: message = "Неизвестная ошибка. Подробно: {0}"; break; case Language.Spanish: message = "Se ha producido un error inesperado. Detalles del error: {0}"; break; case Language.Ukrainian: message = "Невідома помилка. Детально: {0}"; break; + case Language.Portuguese: message = "Houve um erro inesperado. Detalhes do erro: {0}"; break; } MessageBox.Show(string.Format(message, e.ToString()), "Mesen", MessageBoxButtons.OK, MessageBoxIcon.Error); }