1
0
mirror of https://github.com/libretro/RetroArch synced 2024-07-08 12:15:49 +00:00
RetroArch/intl/msg_hash_pt_pt.c
2018-03-10 18:42:45 +01:00

947 lines
37 KiB
C

/* RetroArch - A frontend for libretro.
* Copyright (C) 2011-2017 - Daniel De Matteis
*
* RetroArch 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 Found-
* ation, either version 3 of the License, or (at your option) any later version.
*
* RetroArch 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.
*
* You should have received a copy of the GNU General Public License along with RetroArch.
* If not, see <http://www.gnu.org/licenses/>.
*/
#include <stdio.h>
#include <stdint.h>
#include <string.h>
#include <compat/strl.h>
#include <string/stdstring.h>
#include "../msg_hash.h"
#include "../../configuration.h"
int menu_hash_get_help_pt_pt_enum(enum msg_hash_enums msg, char *s, size_t len)
{
settings_t *settings = config_get_ptr();
switch (msg)
{
case MENU_ENUM_LABEL_CORE_LIST:
snprintf(s, len,
"Carregar Core. \n"
" \n"
"Busca uma implementação de um core \n"
"libretro. Onde a busca inicia depende \n"
"do caminho do seu Diretório de Cores. \n"
"Se não definido, começará no raiz. \n"
" \n"
"Se o Diretório de Cores estiver definido, \n"
"o menu o usará como pasta inicial. Se for um \n"
"caminho completo, ele começará na pasta onde \n"
"o arquivo estiver.");
break;
case MENU_ENUM_LABEL_INPUT_DRIVER:
{
const char *lbl = settings ? settings->arrays.input_driver : NULL;
if (string_is_equal(lbl, msg_hash_to_str(MENU_ENUM_LABEL_INPUT_DRIVER_UDEV)))
snprintf(s, len,
"Driver de entrada udev. \n"
" \n"
"Esse driver funciona sem o X. \n"
" \n"
"Ele usa a recente API de joypads \n"
"evdev para suporte a joystick. \n"
"Suporta Hot-Swap e force feedback \n"
"(se suportado pelo dispositivo). \n"
" \n"
"O driver lê os eventos evdev para suporte a \n"
"teclado. Suporta também callback de teclado, \n"
"mouses e touchpads. \n"
" \n"
"Em geral, na maioria das distribuições, os nós \n"
"/dev/input são root-only (modo 600). Mas você pode \n"
"definir uma regra udev para dar acesso a non-roots."
);
else if (string_is_equal(lbl, msg_hash_to_str(MENU_ENUM_LABEL_INPUT_DRIVER_LINUXRAW)))
snprintf(s, len,
"Driver de Entrada linuxraw. \n"
" \n"
"Esse driver requer um TTY ativo. Eventos de \n"
"teclado são lidos diretamente do TTY, tornando-o \n"
"simples, mas não tão flexível quanto o udev. \n" "Mouses, etc, não são suportados. \n"
" \n"
"Esse driver usa a antiga API de joysticks \n"
"(/dev/input/js*).");
else
snprintf(s, len,
"Driver de Entrada.\n"
" \n"
"Dependendo do driver de vídeo, pode ser necessário \n"
"forçar um driver de entrada diferente.");
}
break;
case MENU_ENUM_LABEL_LOAD_CONTENT_HISTORY:
snprintf(s, len,
"Carregando conteúdo do histórico. \n"
" \n"
"Ao carregar conteúdos, suas combinações com \n"
"cores são salvas no histórico. \n"
" \n"
"O histórico é salvo em um arquivo no mesmo \n"
"diretório do arquivo de configuração. Se nenhuma \n"
"configuração tiver sido carregada, o histórico \n"
"não será salvo ou carregado e não vai existir no \n"
"menu principal."
);
break;
case MENU_ENUM_LABEL_VIDEO_DRIVER:
snprintf(s, len,
"Driver de Vídeo em uso.");
if (string_is_equal(settings->arrays.video_driver, "gl"))
{
snprintf(s, len,
"Driver de Vídeo OpenGL. \n"
" \n"
"Esse driver permite o uso de cores libretro GL \n"
"em adição às implementações de cores de \n"
"renderização por software.\n"
" \n"
"O desempenho das implementações dos cores de\n"
"renderização por software e libretro GL \n"
"depende do driver GL instalado em sua \n"
"placa de vídeo.");
}
else if (string_is_equal(settings->arrays.video_driver, "sdl2"))
{
snprintf(s, len,
"Driver de Vídeo SDL 2.\n"
" \n"
"Esse é um driver de vídeo SDL 2 de \n"
"renderização por software.\n"
" \n"
"O desempenho das implementações dos cores de \n"
"renderização por software depende da \n"
"implementação SDL de sua plataforma.");
}
else if (string_is_equal(settings->arrays.video_driver, "sdl1"))
{
snprintf(s, len,
"Driver de Vídeo SDL.\n"
" \n"
"Esse é um driver de vídeo SDL 1.2 de \n"
"renderização por software.\n"
" \n"
"O desemprenho é considerado subótimo. \n"
"Considere seu uso apenas em último caso.");
}
else if (string_is_equal(settings->arrays.video_driver, "d3d"))
{
snprintf(s, len,
"Driver de Vídeo Direct3D. \n"
" \n"
"O desempenho das implementações dos cores de\n"
"renderização por software depende do driver \n"
"D3D instalado em sua placa de vídeo.");
}
else if (string_is_equal(settings->arrays.video_driver, "exynos"))
{
snprintf(s, len,
"Driver de Vídeo Exynos-G2D. \n"
" \n"
"Esse é um driver de vídeo Exynos de baixo nível. \n"
"Usa o bloco G2D do SoC Samsung Exynos \n"
"para operações de blit. \n"
" \n"
"O desempenho para cores de renderização por \n"
"software deve ser ótimo.");
}
else if (string_is_equal(settings->arrays.video_driver, "sunxi"))
{
snprintf(s, len,
"Driver de Vídeo Sunxi-G2D. \n"
" \n"
"Esse é um driver de vídeo Sunxi de baixo nível. \n"
"Usa o bloco G2D dos SoCs Allwinner.");
}
break;
case MENU_ENUM_LABEL_AUDIO_DSP_PLUGIN:
snprintf(s, len,
"Plugin de DSP de Áudio.\n"
"Processa áudio antes de ser enviado ao \n"
"driver."
);
break;
case MENU_ENUM_LABEL_AUDIO_RESAMPLER_DRIVER:
{
const char *lbl = settings ? settings->arrays.audio_resampler : NULL;
if (string_is_equal(lbl, msg_hash_to_str(MENU_ENUM_LABEL_AUDIO_RESAMPLER_DRIVER_SINC)))
strlcpy(s,
"Implementação Windowed SINC.", len);
else if (string_is_equal(lbl, msg_hash_to_str(MENU_ENUM_LABEL_AUDIO_RESAMPLER_DRIVER_CC)))
strlcpy(s,
"Implementação Convoluted Cosine.", len);
}
break;
case MENU_ENUM_LABEL_VIDEO_SHADER_PRESET:
snprintf(s, len,
"Carregar Predefinições de Shader. \n"
" \n"
" Carregar predefinições em "
#ifdef HAVE_CG
"Cg"
#endif
#ifdef HAVE_GLSL
#ifdef HAVE_CG
"/"
#endif
"GLSL"
#endif
#ifdef HAVE_HLSL
#if defined(HAVE_CG) || defined(HAVE_HLSL)
"/"
#endif
"HLSL"
#endif
" diretamente. \n"
"O menu de shaders é atualizado de acordo. \n"
" \n"
"Se o CGP usar métodos de interpolação complexos, \n"
"(fator de escala diferente para X e Y) o fator \n"
"de escala mostrado no menu poderá não ser \n"
"correto."
);
break;
case MENU_ENUM_LABEL_VIDEO_SHADER_SCALE_PASS:
snprintf(s, len,
"Escala para este passo. \n"
" \n"
"O fator de escala se acumula, i.e. 2x \n"
"para o primeiro passo e 2x para o segundo \n"
"vai lhe fornecer uma escala total de 4x. \n"
" \n"
"Se houver um fator de escala no último \n"
"passo, o resultado será esticado na tela \n"
"com o filtro especificado em 'Filtro \n"
"Padrão'. \n"
" \n"
"Se 'Tanto faz' estiver definido, a escala \n"
"de 1x ou o esticamento para tela cheia serão \n"
"usados dependendo se o primeiro foi ou não \n"
"definido no último passo."
);
break;
case MENU_ENUM_LABEL_VIDEO_SHADER_NUM_PASSES:
snprintf(s, len,
"Número de Shaders. \n"
" \n"
"O RetroArch permite que você combine vários \n"
"shaders com número arbitrário de passos, filtros \n"
"de hardware e fatores de escala personalizados. \n"
" \n"
"Essa opção especifica o número de passos a usar. \n"
"Se for definido como 0 e usada a opção Aplicar \n"
"Alterações de Shaders, será usado um shader vazio. \n"
" \n"
"A opção Filtro Padrão irá afetar o filtro \n"
"de esticamento.");
break;
case MENU_ENUM_LABEL_VIDEO_SHADER_PARAMETERS:
snprintf(s, len,
"Parâmetros de Shaders. \n"
" \n"
"Modifica o shader em uso diretamente. Não será \n"
"salvo no arquivo de predefinições CGP/GLSLP.");
break;
case MENU_ENUM_LABEL_VIDEO_SHADER_PRESET_PARAMETERS:
snprintf(s, len,
"Parâmetros de Predefinições de Shader. \n"
" \n"
"Modifica as predefinições de shader em uso no menu."
);
break;
case MENU_ENUM_LABEL_VIDEO_SHADER_PASS:
snprintf(s, len,
"Caminho do shader. \n"
" \n"
"Todos os shaders devem ser do mesmo \n"
"tipo (i.e. CG, GLSL ou HLSL). \n"
" \n"
"Defina o Diretório de Shaders para indicar \n"
"onde o buscador começa a procurar pelos \n"
"shaders."
);
break;
case MENU_ENUM_LABEL_CONFIG_SAVE_ON_EXIT:
snprintf(s, len,
"Salva configuração ao sair. Útil para\n"
"o menu, pois as definições podem ser\n"
"modificadas. Sobrescreve a configuração.\n"
" \n"
"#includes e comentários não são \n"
"preservados. \n"
" \n"
"Por design, o arquivo de configuração \n"
"é considerado imutável, pois ele é \n"
"provavelmente mantido pelo usuário, \n"
"e não deve ser sobrescrito sem o \n"
"seu conhecimento."
#if defined(RARCH_CONSOLE) || defined(RARCH_MOBILE)
"\nPorém, isso não funciona assim nos \n"
"consoles, pois abrir o arquivo de \n"
"configuração manualmente não é \n"
"realmente uma opção."
#endif
);
break;
case MENU_ENUM_LABEL_VIDEO_SHADER_FILTER_PASS:
snprintf(s, len,
"Filtro de hardware para este passo. \n"
" \n"
"Se 'Tanto faz' estiver definido, o 'Filtro \n"
"Padrão' será usado."
);
break;
case MENU_ENUM_LABEL_AUTOSAVE_INTERVAL:
snprintf(s, len,
"Salva automaticamente a SRAM \n"
"em intervalos regulares.\n"
" \n"
"Está desativado por padrão. O intervalo é \n"
"medido em segundos. \n"
" \n"
"Um valor de 0 desativa o salvamento \n"
"automático.");
break;
case MENU_ENUM_LABEL_INPUT_BIND_DEVICE_TYPE:
snprintf(s, len,
"Tipo de Dispositivo de Entrada. \n"
" \n"
"Escolhe o dispositivo a usar. Isso é \n"
"relevante para o core libretro."
);
break;
case MENU_ENUM_LABEL_LIBRETRO_LOG_LEVEL:
snprintf(s, len,
"Define o nível de registro para os cores \n"
"(GET_LOG_INTERFACE). \n"
" \n"
" Se o nível de registro de um core \n"
" libretro estiver abaixo de libretro_log, \n"
" esse será ignorado.\n"
" \n"
" Registros DEBUG são sempre ignorados a menos \n"
" que o modo prolixo seja ativado (--verbose).\n"
" \n"
" DEBUG = 0\n"
" INFO = 1\n"
" WARN = 2\n"
" ERROR = 3"
);
break;
case MENU_ENUM_LABEL_STATE_SLOT_INCREASE:
case MENU_ENUM_LABEL_STATE_SLOT_DECREASE:
snprintf(s, len,
"Slot de Savestates.\n"
" \n"
" Com o slot definido em 0, o nome do Savestate \n"
" será *.state (ou o que estiver definido em commandline).\n"
"Se diferente de 0, o nome será (caminho)(d), \n"
"em que (d) é o número do slot.");
break;
case MENU_ENUM_LABEL_SHADER_APPLY_CHANGES:
snprintf(s, len,
"Aplicar Alterações de Shaders. \n"
" \n"
"Após alterar definições de shaders, use-o para \n"
"aplicar as mudanças. \n"
" \n"
"Mudar definições de shaders é uma operação \n"
"computacionalmente cara e deve ser \n"
"realizada explicitamente. \n"
" \n"
"Quando se aplicam shaders, as definições do menu \n"
"de shaders são salvas em um arquivo temporário \n"
"(menu.cgp ou menu.glslp) e carregadas. O arquivo \n"
"persiste ao fechar o RetroArch. Ele é salvo \n"
"no Diretório de Shaders."
);
break;
case MENU_ENUM_LABEL_MENU_TOGGLE:
snprintf(s, len,
"Alterna menu.");
break;
case MENU_ENUM_LABEL_GRAB_MOUSE_TOGGLE:
snprintf(s, len,
"Alterna uso de mouse.\n"
" \n"
"Quando o mouse é usado, RetroArch o esconde e \n"
"mantém o seu ponteiro dentro da janela para \n"
"permitir que a entrada relativa do mouse \n"
"funcione melhor.");
break;
case MENU_ENUM_LABEL_DISK_NEXT:
snprintf(s, len,
"Circula por imagens de discos. Usar \n"
"após ejetar. \n"
" \n"
" Finaliza ao usar ejetar novamente.");
break;
case MENU_ENUM_LABEL_VIDEO_FILTER:
#ifdef HAVE_FILTERS_BUILTIN
snprintf(s, len,
"Filtro de vídeo baseado em CPU.");
#else
snprintf(s, len,
"Filtro de vídeo baseado em CPU.\n"
" \n"
"Caminho para uma biblioteca dinâmica.");
#endif
break;
case MENU_ENUM_LABEL_AUDIO_DEVICE:
snprintf(s, len,
"Sobrepõe-se ao dispositivo de áudio padrão \n"
"que está em uso.\n"
"É dependente do driver. \n"
#ifdef HAVE_ALSA
" \n"
"ALSA precisa de um dispositivo PCM."
#endif
#ifdef HAVE_OSS
" \n"
"OSS precisa de um caminho (ex.: /dev/dsp)."
#endif
#ifdef HAVE_JACK
" \n"
"JACK precisa de portas (ex.: system:playback1\n"
",system:playback_2)."
#endif
#ifdef HAVE_RSOUND
" \n"
"RSound precisa de um endereço IP para \n"
"servidor RSound."
#endif
);
break;
case MENU_ENUM_LABEL_DISK_EJECT_TOGGLE:
snprintf(s, len,
"Alterna ejeção para discos.\n"
" \n"
"Usado para conteúdos multidiscos.");
break;
case MENU_ENUM_LABEL_ENABLE_HOTKEY:
snprintf(s, len,
"Ativar outras hotkeys.\n"
" \n"
" Se esta hotkey é usada por teclado, joybutton \n"
"ou joyaxis, todas as outras hotkeys serão \n"
"desativadas a menos que esta hotkey esteja sendo \n"
"usada ao mesmo tempo. \n"
" \n"
"Isso é útil para implementações RETRO_KEYBOARD que \n"
"consultam uma grande área do teclado, cujo caminho \n"
"deve estar livre das hotkeys.");
break;
case MENU_ENUM_LABEL_REWIND_ENABLE:
snprintf(s, len,
"Ativa retrocesso.\n"
" \n"
"Essa opção causa uma perda de desempenho, \n"
"por isso está desativada por padrão.");
break;
case MENU_ENUM_LABEL_LIBRETRO_DIR_PATH:
snprintf(s, len,
"Diretórios de Cores. \n"
" \n"
"Um diretório onde são buscadas as \n"
"implementações de cores libretro.");
break;
case MENU_ENUM_LABEL_VIDEO_REFRESH_RATE_AUTO:
{
/* Work around C89 limitations */
const char * u =
"Taxa de Atualização Automática.\n"
" \n"
"A taxa de atualização exata de nosso monitor (Hz).\n"
"É usada para calcular a taxa de entrada de áudio \n"
"com a fórmula: \n"
" \n"
"audio_input_rate = game input rate * display \n"
"refresh rate / game refresh rate\n"
" \n";
const char * t =
"Se a implementação não informar valores, \n"
"valores NTSC serão assumidos por questão de \n"
"compatibilidade.\n"
" \n"
"Esse valor deve ficar próximo de 60Hz para \n"
"evitar grandes mudanças de pitch. Se o monitor \n"
"não rodar a 60Hz, ou algo próximo a isso, desative\n"
"o VSync, e deixe-o com valores padrão.";
strlcpy(s, u, len);
strlcat(s, t, len);
}
break;
case MENU_ENUM_LABEL_VIDEO_ROTATION:
snprintf(s, len,
"Força uma certa rotação da tela. \n"
" \n"
"A rotação é adicionada a outras definidas\n"
"por conjuntos de cores (veja Permitir\n"
"Rotação de Vídeo).");
break;
case MENU_ENUM_LABEL_VIDEO_SCALE:
snprintf(s, len,
"Resolução de tela cheia.\n"
" \n"
"Resolução 0 usa a resolução \n"
"do ambiente.\n");
break;
case MENU_ENUM_LABEL_FASTFORWARD_RATIO:
snprintf(s, len,
"Taxa de Avanço Rápido."
" \n"
"A taxa máxima na qual o conteúdo será\n"
"executado ao se usar o Avanço Rápido.\n"
" \n"
" (Ex.: 5.0 para conteúdo 60 fps => 300 fps \n"
"máximo).\n"
" \n"
"RetroArch entra em modo sleep para assegurar \n"
"que a taxa máxima não será excedida.\n"
"Não confie que esse teto tenha exatidão \n"
"perfeita.");
break;
case MENU_ENUM_LABEL_VIDEO_MONITOR_INDEX:
snprintf(s, len,
"Preferência de monitor.\n"
" \n"
"0 (padrão) significa nenhum monitor é \n"
"preferido, 1 e demais (1 é o primeiro \n"
"monitor), sugere ao RetroArch usar esse \n"
"monitor em particular.");
break;
case MENU_ENUM_LABEL_VIDEO_CROP_OVERSCAN:
snprintf(s, len,
"Força o descarte de quadros overscanned. \n"
" \n"
"O comportamento exato dessa opção é \n"
"específico da implementação do core.");
break;
case MENU_ENUM_LABEL_VIDEO_SCALE_INTEGER:
snprintf(s, len,
"Só interpola vídeo em escalas múltiplas \n"
"inteiras da resolução nativa.\n"
" \n"
"O tamanho base depende da geometria e da \n"
"relação de aspecto informadas pelo sistema.\n"
" \n"
"Se Forçar Aspecto não estiver definida, X/Y \n"
"serão escalonados em inteiros independentemente.");
break;
case MENU_ENUM_LABEL_AUDIO_VOLUME:
snprintf(s, len,
"Volume de som, em dB.\n"
" \n"
" 0 dB representa o nível normal do volume. Nenhum ganho será aplicado.\n"
"O ganho pode ser controlado em execução com \n"
"Aumentar volume / Diminuir volume.");
break;
case MENU_ENUM_LABEL_AUDIO_RATE_CONTROL_DELTA:
snprintf(s, len,
"Controlo de taxa de som.\n"
" \n"
"Se o valor 0 estiver definido, o controlo da taxa será desativado.\n"
"Outros valores controlam a variação da taxa \n"
"de som.\n"
" \n"
"Define o intervalo de variação da taxa de entrada, \n"
"em termos de regulação.\n"
" \n"
" A taxa de entrada é definida como: \n"
" taxa entrada * (1.0 +/- (Controlo da taxa de som))");
break;
case MENU_ENUM_LABEL_AUDIO_MAX_TIMING_SKEW:
snprintf(s, len,
"Distorção de som máxima.\n"
" \n"
"Define a máxima variação da taxa de entrada.\n"
"Você pode querer aumentá-la para obter grandes\n"
"variações no compasso, por exemplo, ao executar\n"
"núcleos PAL em ecrãs NTSC, sofrendo uma penalização da tonalidade\n"
"do som.\n"
" \n"
" A taxa de entrada é definida como: \n"
" taxa de entrada * (1.0 +/- (distorção máxima do som))");
break;
case MENU_ENUM_LABEL_OVERLAY_NEXT:
snprintf(s, len,
"Muda para o próximo overlay.\n"
" \n"
"Navegação circular.");
break;
case MENU_ENUM_LABEL_LOG_VERBOSITY:
snprintf(s, len,
"Ativa ou desativa o nível de verbosidade \n"
"do frontend.");
break;
case MENU_ENUM_LABEL_VOLUME_UP:
snprintf(s, len,
"Aumenta o volume de som.");
break;
case MENU_ENUM_LABEL_VOLUME_DOWN:
snprintf(s, len,
"Diminui o volume do som.");
break;
case MENU_ENUM_LABEL_VIDEO_DISABLE_COMPOSITION:
snprintf(s, len,
"Força a desativação de composição.\n"
"Válido apenas para o Windows Vista/7.");
break;
case MENU_ENUM_LABEL_PERFCNT_ENABLE:
snprintf(s, len,
"Ativa ou desativa contadores de desempenho \n"
"do frontend.");
break;
case MENU_ENUM_LABEL_SYSTEM_DIRECTORY:
snprintf(s, len,
"Pasta do sistema. \n"
" \n"
"Define a pasta 'system'.\n"
"Os núcleos poderão consultar esta pasta\n"
"para carregar BIOS, configurações\n"
"específicas de sistema, etc.");
break;
case MENU_ENUM_LABEL_SAVESTATE_AUTO_SAVE:
snprintf(s, len,
"Guardar automaticamente o estado de gravação ao sair \n"
"do RetroArch.\n"
" \n"
"O RetroArch carregará automaticamente qualquer\n"
"estado de gravação com este caminho ao iniciar, \n"
"caso a opção 'Carregar estado de gravação automaticamente' estiver ativa.");
break;
case MENU_ENUM_LABEL_VIDEO_THREADED:
snprintf(s, len,
"Utiliza um controlador de vídeo segmentado.\n"
" \n"
"Utilizando esta opção, poderá melhorar o desempenho, \n"
"com um custo a nível de latência e mais engasgamentos \n"
"de vídeo.");
break;
case MENU_ENUM_LABEL_VIDEO_VSYNC:
snprintf(s, len,
"Sincronia vertical de vídeo.\n");
break;
case MENU_ENUM_LABEL_VIDEO_HARD_SYNC:
snprintf(s, len,
"Tenta sincronizar o processador com a GPU, \n"
"com recurso ao hardware.\n"
" \n"
"Pode reduzir a latência, a troco de uma \n"
"diminuição de desempenho.");
break;
case MENU_ENUM_LABEL_REWIND_GRANULARITY:
snprintf(s, len,
"Granularidade da função de retrocedimento \n"
"do tempo.\n"
"Ao retroceder um número definido de \n"
"fotogramas, você poderá retroceder vários \n"
"fotogramas de cada vez, aumentando assim a velocidade \n"
"do retrocedimento.");
break;
case MENU_ENUM_LABEL_SCREENSHOT:
snprintf(s, len,
"Obtem uma captura de ecrã.");
break;
case MENU_ENUM_LABEL_VIDEO_FRAME_DELAY:
snprintf(s, len,
"Define quantos milissegundos serão utilizados \n"
"para atraso, após a sincronização vertical, \n"
"antes de iniciar o núcleo.\n"
"Pode reduzir a latência a troco de\n"
"um aumento do risco de engasgamento de vídeo.\n"
" \n"
"O valor máximo é 15.");
break;
case MENU_ENUM_LABEL_VIDEO_HARD_SYNC_FRAMES:
snprintf(s, len,
"Define quantos fotogramas o processador pode processar \n"
"à frente da da GPU com a opção 'Sincronismo \n"
"de GPU através de hardware' ativada.\n"
" \n"
"O valor máximo é 3.\n"
" \n"
" 0: Sincroniza com a GPU de imediato.\n"
" 1: Sincroniza com o fotograma anterior.\n"
" 2: Etc ...");
break;
case MENU_ENUM_LABEL_VIDEO_BLACK_FRAME_INSERTION:
snprintf(s, len,
"Introduz um fotograma preto entre fotogramas. \n"
" \n"
"Útil para monitores de 120 Hz que executam \n"
"conteúdo a 60 Hz, eliminando o efeito \n"
"'ghosting'.\n"
" \n"
"A taxa de atualização de vídeo deve ainda \n"
"ser configurada para 60 Hz \n"
"(divida a taxa de atualização por 2).");
break;
case MENU_ENUM_LABEL_RGUI_SHOW_START_SCREEN:
snprintf(s, len,
"Mostra o ecrã inicial no menu.\n"
"Esta definição é desativada automaticamente quando\n"
"vista pela primeira vez.\n"
" \n"
"Esta definição é definida na configuração apenas quando a\n"
"opção 'Guardar configuração ao sair' estiver ativada.\n");
break;
case MENU_ENUM_LABEL_VIDEO_FULLSCREEN:
snprintf(s, len, "Ativa/desativa ecrã completo.");
break;
case MENU_ENUM_LABEL_BLOCK_SRAM_OVERWRITE:
snprintf(s, len,
"Previne a sobrescrição da SRAM durante \n"
"o carregamento de estados de gravação.\n"
" \n"
"Pode originar erros durante a execução de conteúdos.");
break;
case MENU_ENUM_LABEL_PAUSE_NONACTIVE:
snprintf(s, len,
"Colocar em pausa o jogo quando o foco da janela \n"
"for perdido.");
break;
case MENU_ENUM_LABEL_VIDEO_GPU_SCREENSHOT:
snprintf(s, len,
"Captura vídeo renderizado da saída da \n"
"GPU, caso esteja disponível.");
break;
case MENU_ENUM_LABEL_SCREENSHOT_DIRECTORY:
snprintf(s, len,
"Pasta de capturas de ecrã. \n"
" \n"
"Pasta para armazenamento das capturas de ecrã."
);
break;
case MENU_ENUM_LABEL_VIDEO_SWAP_INTERVAL:
snprintf(s, len,
"Intervalo de troca de sincronização vertical.\n"
" \n"
"Utiliza um intervalo de troca personalizado. \n"
"Use-o para reduzir até metade a taxa de \n"
"atualização do ecrã.");
break;
case MENU_ENUM_LABEL_SAVEFILE_DIRECTORY:
snprintf(s, len,
"Pasta de jogos guardados. \n"
" \n"
"Guarda todos os ficheiros de gravação (*.srm) nesta \n"
"pasta, tais como ficheiros relacionados: \n"
".bsv, .rt, .psrm, etc.\n"
" \n"
"Pode perder prevalência em relação a opções explícitas\n"
"passadas como parâmetros na linha de comandos.");
break;
case MENU_ENUM_LABEL_SAVESTATE_DIRECTORY:
snprintf(s, len,
"Pasta de gravação de estados. \n"
" \n"
"Todos os estados de gravação (*.state) serão \n"
"guardados nesta pasta.\n"
" \n"
"Pode deixar de ter prevalência em relação a opções explícitas\n"
"passadas como parâmetros na linha de comandos.");
break;
case MENU_ENUM_LABEL_ASSETS_DIRECTORY:
snprintf(s, len,
"Pasta de recursos (assets). \n"
" \n"
"Esta localização é consultada por omissão \n"
"pela interface do menu para procura de recursos (assets) \n"
"recarregáveis.");
break;
case MENU_ENUM_LABEL_DYNAMIC_WALLPAPERS_DIRECTORY:
snprintf(s, len,
"Pasta de imagens de fundo dinâmicos. \n"
" \n"
" O lugar para armazenar imagens de fundo que \n"
"serão carregadas dinamicamente pelo menu, \n"
"dependendo do contexto.");
break;
case MENU_ENUM_LABEL_SLOWMOTION_RATIO:
snprintf(s, len,
"Rácio da câmera lenta."
" \n"
"Quando ativo, o conteúdo será executado numa velocidade\n"
"reduzida por esse fator.");
break;
case MENU_ENUM_LABEL_INPUT_AXIS_THRESHOLD:
snprintf(s, len,
"Define o limite de eixo.\n"
" \n"
"Representa o valor que deve ser atingido para\n"
"significar o pressionamento de um botão.\n"
" Valores possíveis são [0.0, 1.0].");
break;
case MENU_ENUM_LABEL_INPUT_TURBO_PERIOD:
snprintf(s, len,
"Período de turbo.\n"
" \n"
"Descreve a velocidade com que os botões\n"
"com turbo ativo se alternam entre si."
);
break;
case MENU_ENUM_LABEL_INPUT_AUTODETECT_ENABLE:
snprintf(s, len,
"Ativa auto-detecção de periféricos de entrada.\n"
" \n"
"Os comandos serão configurados, de forma automática, \n"
"através do Plug and Play.");
break;
case MENU_ENUM_LABEL_CAMERA_ALLOW:
snprintf(s, len,
"Autorizar ou desautorizar o acesso da câmera \n"
"pelos núcleos.");
break;
case MENU_ENUM_LABEL_LOCATION_ALLOW:
snprintf(s, len,
"Autorizar ou desautorizar o acesso de \n"
"serviços de localização pelos núcleos.");
break;
case MENU_ENUM_LABEL_TURBO:
snprintf(s, len,
"Ativar turbo.\n"
" \n"
"Se manter o botão turbo pressionado e pressionar outro \n"
"botão, este último entrará no modo \n"
"turbo e o seu estado será modulado com \n"
"um sinal periódico. \n"
" \n"
"A modulação pára quando o próprio botão \n"
"(não o botão de turbo) já no se encontrar pressionado.");
break;
case MENU_ENUM_LABEL_OSK_ENABLE:
snprintf(s, len,
"Ativar/desativar teclado no ecrã.");
break;
case MENU_ENUM_LABEL_AUDIO_MUTE:
snprintf(s, len,
"Silenciar ou remover silêncio do dispositivo.");
break;
case MENU_ENUM_LABEL_REWIND:
snprintf(s, len,
"Mantenha o botão pressionado para\n"
"ativar o retrocedimento do tempo. \n"
"O retrocedimento de tempo deve estar ativo.");
break;
case MENU_ENUM_LABEL_EXIT_EMULATOR:
snprintf(s, len,
"Tecla para encerrar o RetroArch."
#if !defined(RARCH_MOBILE) && !defined(RARCH_CONSOLE)
"\nSe o fechar abruptamente, \n"
"(SIGKILL, etc) sairá sem guardar a RAM, entre outros dados.\n"
"Em sistemas baseados em Unix,\n"
"o SIGINT/SIGTERM permite um\n"
"encerramento seguro."
#endif
);
break;
case MENU_ENUM_LABEL_LOAD_STATE:
snprintf(s, len,
"Carrega o estado de gravação.");
break;
case MENU_ENUM_LABEL_SAVE_STATE:
snprintf(s, len,
"Guarda o estado de gravação.");
break;
case MENU_ENUM_LABEL_CHEAT_INDEX_PLUS:
snprintf(s, len,
"Incrementa o índice de batota.\n");
break;
case MENU_ENUM_LABEL_CHEAT_INDEX_MINUS:
snprintf(s, len,
"Decrementa o índice de batota.\n");
break;
case MENU_ENUM_LABEL_SHADER_PREV:
snprintf(s, len,
"Aplica o shader anterior na pasta.");
break;
case MENU_ENUM_LABEL_SHADER_NEXT:
snprintf(s, len,
"Aplica o próximo shader na pasta.");
break;
case MENU_ENUM_LABEL_RESET:
snprintf(s, len,
"Reinicia o conteúdo.\n");
break;
case MENU_ENUM_LABEL_PAUSE_TOGGLE:
snprintf(s, len,
"Pausa/resume o conteúdo.");
break;
case MENU_ENUM_LABEL_CHEAT_TOGGLE:
snprintf(s, len,
"Alterna entre os índices de batota.\n");
break;
case MENU_ENUM_LABEL_HOLD_FAST_FORWARD:
snprintf(s, len,
"Continue a pressionar para ativar a função de avanço rápido. Se soltar o botão \n"
"irá desativar a função de avanço-rápido.");
break;
case MENU_ENUM_LABEL_SLOWMOTION_HOLD:
snprintf(s, len,
"Continue a pressionar para manter o modo de câmera lenta.");
break;
case MENU_ENUM_LABEL_FRAME_ADVANCE:
snprintf(s, len,
"O fotograma avança enquanto o conteúdo está em pausa.");
break;
case MENU_ENUM_LABEL_MOVIE_RECORD_TOGGLE:
snprintf(s, len,
"Ativa ou desativa a gravação.");
break;
case MENU_ENUM_LABEL_L_X_PLUS:
case MENU_ENUM_LABEL_L_X_MINUS:
case MENU_ENUM_LABEL_L_Y_PLUS:
case MENU_ENUM_LABEL_L_Y_MINUS:
case MENU_ENUM_LABEL_R_X_PLUS:
case MENU_ENUM_LABEL_R_X_MINUS:
case MENU_ENUM_LABEL_R_Y_PLUS:
case MENU_ENUM_LABEL_R_Y_MINUS:
snprintf(s, len,
"Eixo para o analógico (esquema DualShock).\n"
" \n"
"A associação é feita normalmente, no entanto, se um analógico real \n"
"for associado, pode ser lido como um analógico\n"
"verdadeiro. \n"
" \n"
"O eixo positivo X é para direita. \n"
"O eixo positivo Y é para baixo.");
break;
case MSG_UNKNOWN:
default:
if (s[0] == '\0')
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_INFORMATION_AVAILABLE), len);
return -1;
}
return 0;
}
const char *msg_hash_to_str_pt_pt(enum msg_hash_enums msg)
{
switch (msg)
{
#include "msg_hash_pt_pt.h"
default:
break;
}
return "null";
}