1 /*  RetroArch - A frontend for libretro.
2  *  Copyright (C) 2011-2017 - Daniel De Matteis
3  *  Copyright (C) 2016-2019 - Brad Parker
4  *
5  *  RetroArch is free software: you can redistribute it and/or modify it under the terms
6  *  of the GNU General Public License as published by the Free Software Found-
7  *  ation, either version 3 of the License, or (at your option) any later version.
8  *
9  *  RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
10  *  without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11  *  PURPOSE.  See the GNU General Public License for more details.
12  *
13  *  You should have received a copy of the GNU General Public License along with RetroArch.
14  *  If not, see <http://www.gnu.org/licenses/>.
15  */
16 
17 #include <stdio.h>
18 #include <stdint.h>
19 #include <stddef.h>
20 
21 #include <compat/strl.h>
22 #include <string/stdstring.h>
23 
24 #include "../msg_hash.h"
25 #include "../verbosity.h"
26 
27 #ifdef RARCH_INTERNAL
28 #include "../configuration.h"
29 
30 #if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900)
31 #if (_MSC_VER >= 1700)
32 /* https://support.microsoft.com/en-us/kb/980263 */
33 #pragma execution_character_set("utf-8")
34 #endif
35 #pragma warning(disable:4566)
36 #endif
37 
msg_hash_get_help_pt_br_enum(enum msg_hash_enums msg,char * s,size_t len)38 int msg_hash_get_help_pt_br_enum(enum msg_hash_enums msg, char *s, size_t len)
39 {
40     settings_t *settings = config_get_ptr();
41 
42     if (msg == MENU_ENUM_LABEL_CONNECT_NETPLAY_ROOM)
43     {
44        snprintf(s, len,
45              "TODO/FIXME - Fill in message here."
46              );
47        return 0;
48     }
49     if (msg <= MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_END &&
50         msg >= MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_BEGIN)
51     {
52        unsigned idx = msg - MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_BEGIN;
53 
54        switch (idx)
55        {
56           case RARCH_FAST_FORWARD_KEY:
57              snprintf(s, len,
58                    "Alternar entre avanço rápido e \n"
59                    "velocidade normal."
60                    );
61              break;
62           case RARCH_FAST_FORWARD_HOLD_KEY:
63              snprintf(s, len,
64                    "Manter pressionado para avanço rápido. \n"
65                    " \n"
66                    "Soltar o botão desativa o avanço rápido."
67                    );
68              break;
69           case RARCH_SLOWMOTION_KEY:
70              snprintf(s, len,
71                    "Alternar câmera lenta.");
72              break;
73           case RARCH_SLOWMOTION_HOLD_KEY:
74              snprintf(s, len,
75                    "Manter pressionado para câmera lenta.");
76              break;
77           case RARCH_PAUSE_TOGGLE:
78              snprintf(s, len,
79                    "Alternar estado pausado e não-pausado.");
80              break;
81           case RARCH_FRAMEADVANCE:
82              snprintf(s, len,
83                    "Avanço de quadro do conteúdo pausado.");
84              break;
85           case RARCH_SHADER_NEXT:
86              snprintf(s, len,
87                    "Aplicar o próximo shader do diretório.");
88              break;
89           case RARCH_SHADER_PREV:
90              snprintf(s, len,
91                    "Aplicar o shader anterior do diretório.");
92              break;
93           case RARCH_CHEAT_INDEX_PLUS:
94           case RARCH_CHEAT_INDEX_MINUS:
95           case RARCH_CHEAT_TOGGLE:
96              snprintf(s, len,
97                    "Trapaças.");
98              break;
99           case RARCH_RESET:
100              snprintf(s, len,
101                    "Reiniciar o conteúdo.");
102              break;
103           case RARCH_SCREENSHOT:
104              snprintf(s, len,
105                    "Capturar tela.");
106              break;
107           case RARCH_MUTE:
108              snprintf(s, len,
109                    "Habilitar/desabilitar áudio.");
110              break;
111           case RARCH_OSK:
112              snprintf(s, len,
113                    "Alternar o teclado virtual.");
114              break;
115           case RARCH_FPS_TOGGLE:
116              snprintf(s, len,
117                    "Alternar contador de quadros por segundo.");
118              break;
119           case RARCH_SEND_DEBUG_INFO:
120              snprintf(s, len,
121                    "Envia informações de diagnóstico sobre o seu dispositivo e a configuração do RetroArch aos nossos servidores para análise.");
122              break;
123           case RARCH_NETPLAY_HOST_TOGGLE:
124              snprintf(s, len,
125                    "Ativar ou desativar a hospedagem de jogo em rede.");
126              break;
127           case RARCH_NETPLAY_GAME_WATCH:
128              snprintf(s, len,
129                    "Alternar modo jogador ou espectador do jogo em rede.");
130              break;
131           case RARCH_ENABLE_HOTKEY:
132              snprintf(s, len,
133                    "Habilitar outras teclas de atalho. \n"
134                    " \n"
135                    "Se essa tecla de atalho estiver vinculada \n"
136                    "ao teclado ou botão / eixo de joypad, todas \n"
137                    "as outras teclas de atalho serão desabilitadas \n"
138                    "a menos que essa tecla de atalho também esteja \n"
139                    "pressionada ao mesmo tempo. \n"
140                    " \n"
141                    "Como alternativa, todas as teclas de atalho \n"
142                    "para teclado podem ser desativadas pelo usuário.");
143              break;
144           case RARCH_VOLUME_UP:
145              snprintf(s, len,
146                    "Aumentar o volume do áudio.");
147              break;
148           case RARCH_VOLUME_DOWN:
149              snprintf(s, len,
150                    "Diminuir o volume do áudio.");
151              break;
152           case RARCH_OVERLAY_NEXT:
153              snprintf(s, len,
154                    "Mudar para a próxima sobreposição.");
155              break;
156           case RARCH_DISK_EJECT_TOGGLE:
157              snprintf(s, len,
158                    "Alternar ejeção de disco. \n"
159                    " \n"
160                    "Usado para conteúdo em vários discos. ");
161              break;
162           case RARCH_DISK_NEXT:
163           case RARCH_DISK_PREV:
164              snprintf(s, len,
165                    "Alternar pelas imagens de disco. Utilizado. \n"
166                    "após a ejeção. \n"
167                    " \n"
168                    "Concluído após alternar novamente a ejeção.");
169              break;
170           case RARCH_GRAB_MOUSE_TOGGLE:
171              snprintf(s, len,
172                    "Alternar captura de Mouse. \n"
173                    " \n"
174                    "Quando o Mouse é capturado, o RetroArch oculta \n"
175                    "o cursor do mouse, e mantém o mouse dentro \n"
176                    "da janela para permitir que a entrada de Mouse \n"
177                    "relativa funcione melhor.");
178              break;
179           case RARCH_GAME_FOCUS_TOGGLE:
180              snprintf(s, len,
181                    "Alternar o foco do jogo.\n"
182                    " \n"
183                    "Quando um jogo tem foco, o RetroArch irá \n"
184                    "desabilitar as teclas de atalho e manter \n"
185                    "o cursor do mouse dentro da janela.");
186              break;
187           case RARCH_MENU_TOGGLE:
188                 snprintf(s, len, "Mostrar ou ocultar o menu.");
189              break;
190           case RARCH_LOAD_STATE_KEY:
191              snprintf(s, len,
192                    "Carregar jogo salvo.");
193              break;
194           case RARCH_FULLSCREEN_TOGGLE_KEY:
195              snprintf(s, len,
196                    "Alternar tela cheia.");
197              break;
198           case RARCH_QUIT_KEY:
199              snprintf(s, len,
200                    "Tecla para sair do RetroArch de modo limpo. \n"
201                    " \n"
202                    "Encerrá-lo de forma brusca (SIGKILL, etc.) irá \n"
203                    "terminar o RetroArch sem salvar RAM, etc."
204 #ifdef __unix__
205                    "\nEm sistemas do tipo Unix, SIGINT/SIGTERM \n"
206                    "permitem uma desinicialização limpa."
207 #endif
208                    "");
209              break;
210           case RARCH_STATE_SLOT_PLUS:
211           case RARCH_STATE_SLOT_MINUS:
212              snprintf(s, len,
213                    "Compartimentos de jogo salvo.\n"
214                    " \n"
215                    "Com o compartimento é definido em 0, o nome do \n"
216                    "jogo salvo é *.state \n"
217                    "(ou a definição da linha de comando). \n"
218                    " \n"
219                    "Quando o compartimento não for 0, o caminho será \n"
220                    "(caminho)(n), onde (n) é o número do compartimento.");
221              break;
222           case RARCH_SAVE_STATE_KEY:
223              snprintf(s, len,
224                          "Salvar jogo.");
225              break;
226           case RARCH_REWIND:
227              snprintf(s, len,
228                    "Manter o botão pressionado para \n"
229                    "Rebobinar. \n"
230                    " \n"
231                    "Rebobinar precisa estar habilitado.");
232              break;
233           case RARCH_BSV_RECORD_TOGGLE:
234              snprintf(s, len,
235                    "Alternar entre gravando ou não.");
236              break;
237           default:
238              if (string_is_empty(s))
239                 strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_INFORMATION_AVAILABLE), len);
240              break;
241        }
242 
243        return 0;
244     }
245 
246     switch (msg)
247     {
248         case MENU_ENUM_LABEL_ACCOUNTS_RETRO_ACHIEVEMENTS:
249             snprintf(s, len, "Detalhes de acesso para \n"
250                     "sua conta RetroAchievements. \n"
251                     " \n"
252                     "Visite retroachievements.org e inscreva-se \n"
253                     "em uma conta gratuita. \n"
254                     " \n"
255                     "Após o registro, você precisa \n"
256                     "cadastrar o nome de usuário e a senha \n"
257                     "no RetroArch.");
258             break;
259         case MENU_ENUM_LABEL_CHEEVOS_USERNAME:
260             snprintf(s, len, "Nome de usuário da conta RetroAchievements.");
261             break;
262         case MENU_ENUM_LABEL_CHEEVOS_PASSWORD:
263             snprintf(s, len, "Senha da conta RetroAchievements.");
264             break;
265         case MENU_ENUM_LABEL_USER_LANGUAGE:
266             snprintf(s, len, "Altera o idioma do menu e todas as mensagens \n"
267                     "na tela de acordo com o idioma selecionado \n"
268                     "aqui. \n"
269                     " \n"
270                     "Requer a reinicialização para que as \n"
271                     "alterações entrem em vigor. \n"
272                     " \n"
273                     "NOTA: nem todos os idiomas podem estar atualmente \n"
274                     "implementados. \n"
275                     " \n"
276                     "No caso de um idioma não estar implementado, \n"
277                     "retorna para Inglês.");
278             break;
279         case MENU_ENUM_LABEL_VIDEO_FONT_PATH:
280             snprintf(s, len, "Mudar a fonte que é utilizada \n"
281                     "para o texto da Exibição na Tela.");
282             break;
283         case MENU_ENUM_LABEL_GAME_SPECIFIC_OPTIONS:
284             snprintf(s, len, "Autocarregar opções de núcleo específicas do conteúdo.");
285             break;
286         case MENU_ENUM_LABEL_AUTO_OVERRIDES_ENABLE:
287             snprintf(s, len, "Autocarregar configurações de personalização.");
288             break;
289         case MENU_ENUM_LABEL_AUTO_REMAPS_ENABLE:
290             snprintf(s, len, "Autocarregar arquivos de remapeamento de entrada.");
291             break;
292         case MENU_ENUM_LABEL_SORT_SAVESTATES_ENABLE:
293             snprintf(s, len, "Ordenar jogos salvos em pastas \n"
294                     "com o nome do núcleo Libretro utilizado.");
295             break;
296         case MENU_ENUM_LABEL_SORT_SAVEFILES_ENABLE:
297             snprintf(s, len, "Ordenar dados da memória do jogo em pastas \n"
298                     "com o nome do núcleo Libretro utilizado.");
299             break;
300         case MENU_ENUM_LABEL_RESUME_CONTENT:
301             snprintf(s, len, "Sair do menu e retornar \n"
302                     "ao conteúdo.");
303             break;
304         case MENU_ENUM_LABEL_RESTART_CONTENT:
305             snprintf(s, len, "Reiniciar o conteúdo do começo.");
306             break;
307         case MENU_ENUM_LABEL_CLOSE_CONTENT:
308             snprintf(s, len, "Fechar e descarregar o conteúdo \n"
309                     "da memória.");
310             break;
311         case MENU_ENUM_LABEL_UNDO_LOAD_STATE:
312             snprintf(s, len, "Se um jogo salvo foi carregado, o \n"
313                     "conteúdo irá retornar ao estado anterior \n"
314                     "ao carregamento.");
315             break;
316         case MENU_ENUM_LABEL_UNDO_SAVE_STATE:
317             snprintf(s, len, "Se um jogo salvo for sobrescrito, ele irá \n"
318                     "retornar ao jogo salvo anterior.");
319             break;
320         case MENU_ENUM_LABEL_TAKE_SCREENSHOT:
321             snprintf(s, len, "Capturar a tela. \n"
322                     " \n"
323                     "As imagens capturadas serão armazenadas dentro \n"
324                     "do diretório de captura de telas.");
325             break;
326         case MENU_ENUM_LABEL_ADD_TO_FAVORITES:
327             snprintf(s, len, "Adicionar o item aos seus favoritos.");
328             break;
329         case MENU_ENUM_LABEL_RUN:
330             snprintf(s, len, "Iniciar o conteúdo.");
331             break;
332         case MENU_ENUM_LABEL_INFORMATION:
333             snprintf(s, len, "Exibir informação adicional \n"
334                     "de metadados sobre o conteúdo.");
335             break;
336         case MENU_ENUM_LABEL_FILE_BROWSER_CONFIG:
337             snprintf(s, len, "Arquivo de configuração.");
338             break;
339         case MENU_ENUM_LABEL_FILE_BROWSER_COMPRESSED_ARCHIVE:
340             snprintf(s, len, "Arquivo comprimido.");
341             break;
342         case MENU_ENUM_LABEL_FILE_BROWSER_RECORD_CONFIG:
343             snprintf(s, len, "Arquivo de configuração de gravação.");
344             break;
345         case MENU_ENUM_LABEL_FILE_BROWSER_CURSOR:
346             snprintf(s, len, "Arquivo de cursor da base de dados.");
347             break;
348         case MENU_ENUM_LABEL_FILE_CONFIG:
349             snprintf(s, len, "Arquivo de configuração.");
350             break;
351         case MENU_ENUM_LABEL_SCAN_THIS_DIRECTORY:
352             snprintf(s, len,
353                      "Selecione para analisar o diretório \n"
354                              "atual por conteúdo.");
355             break;
356         case MENU_ENUM_LABEL_USE_THIS_DIRECTORY:
357             snprintf(s, len,
358                      "Selecione para definir esse como o diretório.");
359             break;
360         case MENU_ENUM_LABEL_CONTENT_DATABASE_DIRECTORY:
361             snprintf(s, len,
362                      "Diretório da base de dados de conteúdo. \n"
363                              " \n"
364                              "Caminho para o diretório \n"
365                              "da base de dados de conteúdo.");
366             break;
367         case MENU_ENUM_LABEL_THUMBNAILS_DIRECTORY:
368             snprintf(s, len,
369                      "Diretório de miniaturas. \n"
370                              " \n"
371                              "Para armazenar arquivos de miniaturas.");
372             break;
373         case MENU_ENUM_LABEL_LIBRETRO_INFO_PATH:
374             snprintf(s, len,
375                      "Diretório de informações de núcleos. \n"
376                              " \n"
377                              "Um diretório por onde procurar \n"
378                              "informação sobre os núcleos Libretro.");
379             break;
380         case MENU_ENUM_LABEL_PLAYLIST_DIRECTORY:
381             snprintf(s, len,
382                      "Diretório de lista de reprodução. \n"
383                              " \n"
384                              "Salva todos os arquivos de \n"
385                              "lista de reprodução neste diretório.");
386             break;
387         case MENU_ENUM_LABEL_DUMMY_ON_CORE_SHUTDOWN:
388             snprintf(s, len,
389                      "Alguns núcleos podem ter \n"
390                              "um recurso de desligamento. \n"
391                              " \n"
392                              "Se esta opção for deixada desabilitada, \n"
393                              "selecionar o procedimento de desligamento \n"
394                              "irá fazer com que o RetroArch seja encerrado. \n"
395                              " \n"
396                              "Habilitar esta opção irá carregar um \n"
397                              "núcleo modelo, permanecendo dentro do menu \n"
398                              "e o RetroArch não irá ser encerrado.");
399             break;
400         case MENU_ENUM_LABEL_CHECK_FOR_MISSING_FIRMWARE:
401             snprintf(s, len,
402                      "Alguns núcleos podem precisar de \n"
403                              "arquivos de firmware ou BIOS. \n"
404                              " \n"
405                              "Se esta opção estiver desabilitada, \n"
406                              "será feito uma tentativa de carregar \n"
407                              "mesmo que o firmware esteja faltando. \n");
408             break;
409         case MENU_ENUM_LABEL_PARENT_DIRECTORY:
410             snprintf(s, len,
411                      "Retornar ao diretório superior.");
412             break;
413         case MENU_ENUM_LABEL_FILE_BROWSER_OPEN_UWP_PERMISSIONS:
414             snprintf(s, len,
415                      "Abra as configurações de permissão do Windows \n"
416                      "para ativar o recurso broadFileSystemAccess.");
417             break;
418         case MENU_ENUM_LABEL_FILE_BROWSER_OPEN_PICKER:
419            snprintf(s, len,
420                      "Abra o seletor de arquivos do sistema para \n"
421                      "acessar os diretórios adicionais.");
422            break;
423         case MENU_ENUM_LABEL_FILE_BROWSER_SHADER_PRESET:
424             snprintf(s, len,
425                      "Arquivo de predefinição de shader.");
426             break;
427         case MENU_ENUM_LABEL_FILE_BROWSER_SHADER:
428             snprintf(s, len,
429                      "Arquivo de shader.");
430             break;
431         case MENU_ENUM_LABEL_FILE_BROWSER_REMAP:
432             snprintf(s, len,
433                      "Arquivo de remapeamento de controles.");
434             break;
435         case MENU_ENUM_LABEL_FILE_BROWSER_CHEAT:
436             snprintf(s, len,
437                      "Arquivo de trapaça.");
438             break;
439         case MENU_ENUM_LABEL_FILE_BROWSER_OVERLAY:
440             snprintf(s, len,
441                      "Arquivo de sobreposição.");
442             break;
443         case MENU_ENUM_LABEL_FILE_BROWSER_RDB:
444             snprintf(s, len,
445                      "Arquivo de base de dados.");
446             break;
447         case MENU_ENUM_LABEL_FILE_BROWSER_FONT:
448             snprintf(s, len,
449                      "Arquivo de fonte TrueType.");
450             break;
451         case MENU_ENUM_LABEL_FILE_BROWSER_PLAIN_FILE:
452             snprintf(s, len,
453                      "Arquivo comum.");
454             break;
455         case MENU_ENUM_LABEL_FILE_BROWSER_MOVIE_OPEN:
456             snprintf(s, len,
457                      "Vídeo. \n"
458                              " \n"
459                              "Selecione para abrir este arquivo \n"
460                              "com o reprodutor de vídeo");
461             break;
462         case MENU_ENUM_LABEL_FILE_BROWSER_MUSIC_OPEN:
463             snprintf(s, len,
464                      "Música. \n"
465                              " \n"
466                              "Selecione para abrir este arquivo \n"
467                              "com o reprodutor de música.");
468             break;
469         case MENU_ENUM_LABEL_FILE_BROWSER_IMAGE:
470             snprintf(s, len,
471                      "Arquivo de imagem.");
472             break;
473         case MENU_ENUM_LABEL_FILE_BROWSER_IMAGE_OPEN_WITH_VIEWER:
474             snprintf(s, len,
475                      "Imagem. \n"
476                              " \n"
477                              "Selecione para abrir este arquivo \n"
478                              "com o visualizador de imagens.");
479             break;
480         case MENU_ENUM_LABEL_FILE_BROWSER_CORE_SELECT_FROM_COLLECTION:
481             snprintf(s, len,
482                      "Núcleo Libretro. \n"
483                              " \n"
484                              "Selecionar esta opção associa este \n"
485                              "núcleo com o jogo.");
486             break;
487         case MENU_ENUM_LABEL_FILE_BROWSER_CORE:
488             snprintf(s, len,
489                      "Núcleo Libretro. \n"
490                              " \n"
491                              "Selecione este arquivo para que o \n"
492                              "RetroArch carregue este núcleo.");
493             break;
494         case MENU_ENUM_LABEL_FILE_BROWSER_DIRECTORY:
495             snprintf(s, len,
496                      "Diretório. \n"
497                              " \n"
498                              "Selecione para abrir esse diretório.");
499             break;
500         case MENU_ENUM_LABEL_CACHE_DIRECTORY:
501             snprintf(s, len,
502                      "Diretório de cache. \n"
503                              " \n"
504                              "Conteúdo descomprimido pelo RetroArch será \n"
505                              "temporariamente extraído para este diretório.");
506             break;
507         case MENU_ENUM_LABEL_HISTORY_LIST_ENABLE:
508             snprintf(s, len,
509                      "Se habilitado, todo o conteúdo carregado \n"
510                              "no RetroArch será automaticamente \n"
511                              "adicionado a lista de histórico recente.");
512             break;
513         case MENU_ENUM_LABEL_RGUI_BROWSER_DIRECTORY:
514             snprintf(s, len,
515                      "Diretório do navegador de arquivos. \n"
516                              " \n"
517                              "Define o diretório inicial para o \n"
518                              "navegador de arquivos do menu. \n");
519             break;
520         case MENU_ENUM_LABEL_INPUT_POLL_TYPE_BEHAVIOR:
521             snprintf(s, len,
522                      "Influencia como a chamada seletiva da \n"
523                              "entrada é feita dentro do RetroArch. \n"
524                              " \n"
525                              "Mais cedo - A chamada da entrada é realizada \n"
526                              "antes do quadro ser processado. \n"
527                              "Normal - A chamada da entrada é realizada \n"
528                              "quando a chamada é requisitada. \n"
529                              "Mais tarde - A chamada seletiva é realizada \n"
530                              "no primeiro estado de entrada requisitado \n"
531                              "pelo quadro. \n"
532                              " \n"
533                              "Definir como 'Mais cedo' ou 'Mais tarde' pode resultar \n"
534                              "em menos latência, \n"
535                              "dependendo da sua configuração.\n\n"
536                              "Será ignorado no jogo em rede."
537             );
538             break;
539         case MENU_ENUM_LABEL_INPUT_DESCRIPTOR_HIDE_UNBOUND:
540             snprintf(s, len,
541                      "Ocultar descritores de entrada que não foram \n"
542                              "definidos pelo núcleo.");
543             break;
544         case MENU_ENUM_LABEL_VIDEO_REFRESH_RATE:
545             snprintf(s, len,
546                      "Taxa de atualização de vídeo do seu monitor. \n"
547                              "Utilizado para calcular uma taxa de \n"
548                              "entrada de áudio adequada.");
549             break;
550         case MENU_ENUM_LABEL_VIDEO_FORCE_SRGB_DISABLE:
551             snprintf(s, len,
552                      "Desabilitar a força o suporte sRGB FBO. \n"
553                              "Alguns drivers Intel OpenGL no Windows \n"
554                              "possuem problemas de vídeo com o recurso \n"
555                              "sRGB FBO se estiver habilitado.");
556             break;
557         case MENU_ENUM_LABEL_AUDIO_ENABLE:
558             snprintf(s, len,
559                      "Habilitar saída de áudio.");
560             break;
561         case MENU_ENUM_LABEL_AUDIO_SYNC:
562             snprintf(s, len,
563                      "Sincronizar áudio (recomendado).");
564             break;
565         case MENU_ENUM_LABEL_AUDIO_LATENCY:
566             snprintf(s, len,
567                      "Latência de áudio desejada, em milissegundos. \n"
568                              "Pode não ser honrado se o driver de áudio \n"
569                              "não puder prover a latência desejada.");
570             break;
571         case MENU_ENUM_LABEL_VIDEO_ALLOW_ROTATE:
572             snprintf(s, len,
573                      "Permitir que os núcleos definam a rotação. \n"
574                              "Se for falso, pedidos de rotação são honrados, \n"
575                              "porém ignorados. \n"
576                              "Útil para configurações onde se rotaciona \n"
577                              "manualmente a tela.");
578             break;
579         case MENU_ENUM_LABEL_INPUT_DESCRIPTOR_LABEL_SHOW:
580             snprintf(s, len,
581                      "Exibir os descritores de entrada definidos \n"
582                              "pelo núcleo em vez dos padrões.");
583             break;
584         case MENU_ENUM_LABEL_CONTENT_HISTORY_SIZE:
585             snprintf(s, len,
586                      "Número de itens para manter na \n"
587                              "lista de reprodução recente.");
588             break;
589         case MENU_ENUM_LABEL_VIDEO_WINDOWED_FULLSCREEN:
590             snprintf(s, len,
591                      "Utilizar ou não o modo janela quando \n"
592                              "em tela cheia.");
593             break;
594         case MENU_ENUM_LABEL_VIDEO_FONT_SIZE:
595             snprintf(s, len,
596                      "Tamanho da fonte para mensagens na tela.");
597             break;
598         case MENU_ENUM_LABEL_SAVESTATE_AUTO_INDEX:
599             snprintf(s, len,
600                      "Automaticamente aumenta o índice de box \n"
601                              "a cada salvamento, gerando vários arquivos \n"
602                              "de jogo salvo. \n"
603                              "Quando o conteúdo for carregado, o box \n"
604                              "de jogo salvo será o do valor existente \n"
605                              "mais alto (último jogo salvo).");
606             break;
607         case MENU_ENUM_LABEL_FPS_SHOW:
608             snprintf(s, len,
609                      "Habilitar a exibição de quadros \n"
610                              "por segundos.");
611             break;
612         case MENU_ENUM_LABEL_MEMORY_SHOW:
613             snprintf(s, len,
614                      "Inclui a exibição da memória atual \n"
615                              "uso/total com FPS/Quadros.");
616             break;
617         case MENU_ENUM_LABEL_VIDEO_FONT_ENABLE:
618             snprintf(s, len,
619                      "Exibir ou ocultar mensagens na tela.");
620             break;
621         case MENU_ENUM_LABEL_VIDEO_MESSAGE_POS_X:
622         case MENU_ENUM_LABEL_VIDEO_MESSAGE_POS_Y:
623             snprintf(s, len,
624                      "Deslocamento de onde as mensagens \n"
625                              "serão colocadas na tela. Os valores aceitos \n"
626                              "são na faixa de [0.0, 1.0].");
627             break;
628         case MENU_ENUM_LABEL_INPUT_OVERLAY_ENABLE:
629             snprintf(s, len,
630                      "Habilitar ou desabilitar \n"
631                      "a sobreposição atual.");
632             break;
633         case MENU_ENUM_LABEL_INPUT_OVERLAY_HIDE_IN_MENU:
634             snprintf(s, len,
635                      "Ocultar a exibição de sobreposição \n"
636                              "dentro do menu.");
637             break;
638         case MENU_ENUM_LABEL_INPUT_OVERLAY_SHOW_PHYSICAL_INPUTS:
639             snprintf(s, len,
640                       "Exibir comandos do teclado/controle na \n"
641                             "sobreposição.");
642             break;
643         case MENU_ENUM_LABEL_INPUT_OVERLAY_SHOW_PHYSICAL_INPUTS_PORT:
644             snprintf(s, len,
645                       "Seleciona a porta de escuta dos comandos do controle \n"
646                             "a serem exibidos na sobreposição.");
647             break;
648         case MENU_ENUM_LABEL_OVERLAY_PRESET:
649             snprintf(s, len,
650                      "Caminho para predefinição de sobreposição.");
651             break;
652         case MENU_ENUM_LABEL_OVERLAY_OPACITY:
653             snprintf(s, len,
654                      "Opacidade da sobreposição.");
655             break;
656         case MENU_ENUM_LABEL_VIDEO_LAYOUT_ENABLE:
657             snprintf(s, len,
658                      "Ativar ou desativar o esquema de vídeo atual.");
659             break;
660         case MENU_ENUM_LABEL_VIDEO_LAYOUT_PATH:
661             snprintf(s, len,
662                      "Caminho para o esquema de vídeo.");
663             break;
664         case MENU_ENUM_LABEL_VIDEO_LAYOUT_SELECTED_VIEW:
665             snprintf(s, len,
666                      "Os esquemas podem conter várias visualizações. \n"
667                      "Selecione uma visualização.");
668             break;
669         case MENU_ENUM_LABEL_INPUT_BIND_TIMEOUT:
670             snprintf(s, len,
671                      "Tempo limite para vínculo de entrada \n"
672                              "(em segundos). \n"
673                              "Quantos segundos aguardar até prosseguir \n"
674                              "para o próximo vínculo.");
675             break;
676         case MENU_ENUM_LABEL_INPUT_BIND_HOLD:
677             snprintf(s, len,
678                "Tempo de pressionamento do vínculo de entrada (em segundos). \n"
679                "Quantidade de segundos para manter uma entrada para vinculá-la.");
680             break;
681         case MENU_ENUM_LABEL_OVERLAY_SCALE:
682             snprintf(s, len,
683                      "Escala da sobreposição.");
684             break;
685         case MENU_ENUM_LABEL_AUDIO_OUTPUT_RATE:
686             snprintf(s, len,
687                      "Taxa de amostragem da saída de áudio.");
688             break;
689         case MENU_ENUM_LABEL_VIDEO_SHARED_CONTEXT:
690             snprintf(s, len,
691                      "Defina como verdadeiro se os núcleos \n"
692                              "renderizados por hardware devem ter seu \n"
693                              "próprio contexto privado. \n"
694                              "Evita ter que assumir mudanças de \n"
695                              "estado de hardware entre quadros."
696             );
697             break;
698         case MENU_ENUM_LABEL_CORE_LIST:
699             snprintf(s, len,
700                      "Carregar núcleo. \n"
701                              " \n"
702                              "Procurar por uma implementação de núcleo \n"
703                              "Libretro. Aonde o navegador de arquivos \n"
704                              "inicia depende do seu caminho \n"
705                              "Diretório de Núcleo. \n"
706                              "Se não definido, inicia na raiz. \n"
707                              " \n"
708                              "Se Diretório de Núcleo estiver definido, o menu \n"
709                              "irá utilizar o caminho como local inicial. \n"
710                              "Se Diretório de Núcleo for um caminho completo, \n"
711                              "ele irá iniciar na pasta do aonde o arquivo está.");
712             break;
713         case MENU_ENUM_LABEL_VALUE_MENU_ENUM_CONTROLS_PROLOG:
714             snprintf(s, len,
715                      "Você pode utilizar os seguintes controles \n"
716                              "abaixo tanto no seu Gamepad quanto no \n"
717                              "teclado a fim de controlar o menu: \n"
718                              " \n"
719             );
720             break;
721         case MENU_ENUM_LABEL_WELCOME_TO_RETROARCH:
722             snprintf(s, len,
723                      "Bem-vindo ao RetroArch \n"
724             );
725             break;
726         case MENU_ENUM_LABEL_VALUE_HELP_AUDIO_VIDEO_TROUBLESHOOTING_DESC: {
727             /* Work around C89 limitations */
728             char u[501];
729             const char *t =
730                     "O RetroArch utiliza uma forma única de \n"
731                             "sincronização de áudio/video aonde ele \n"
732                             "precisa ser calibrado pela taxa de \n"
733                             "atualização da sua tela para um melhor \n"
734                             "resultado no desempenho. \n"
735                             " \n"
736                             "Se você experimentar qualquer estalido \n"
737                             "no áudio ou rasgo de vídeo, normalmente \n"
738                             "isto significa que você precisa calibrar \n"
739                             "as configurações. Algumas escolhas abaixo: \n"
740                             " \n";
741             snprintf(u, sizeof(u), /* can't inline this due to the printf arguments */
742                      "a) Vá para '%s' -> '%s', e habilite \n"
743                              "'Vídeo paralelizado'. A taxa de atualização \n"
744                              "não irá importar neste modo, a taxa de \n"
745                              "quadros será maior, mas o vídeo será \n"
746                              "menos fluído. \n"
747                              "b) Vá para '%s' -> '%s', e observe \n"
748                              "'%s'. Deixe executar até \n"
749                              "2048 quadros, então pressione 'OK'.",
750                      msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SETTINGS),
751                      msg_hash_to_str(MENU_ENUM_LABEL_VALUE_VIDEO_SETTINGS),
752                      msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SETTINGS),
753                      msg_hash_to_str(MENU_ENUM_LABEL_VALUE_VIDEO_SETTINGS),
754                      msg_hash_to_str(MENU_ENUM_LABEL_VALUE_VIDEO_REFRESH_RATE_AUTO));
755             strlcpy(s, t, len);
756             strlcat(s, u, len);
757         }
758             break;
759         case MENU_ENUM_LABEL_VALUE_HELP_SCANNING_CONTENT_DESC:
760             snprintf(s, len,
761                      "Para analisar por conteúdo, vá para \n"
762                              "'%s' e selecione \n"
763                              "'%s' ou '%s'. \n"
764                              " \n"
765                              "Os arquivos serão comparados com as \n"
766                              "entradas do banco de dados. \n"
767                              "Se houver uma correspondência, um registro \n"
768                              "será adicionado à uma lista de reprodução. \n"
769                              " \n"
770                              "Você poderá então acessar facilmente este \n"
771                              "conteúdo indo até \n"
772                              "'%s' -> '%s'\n"
773                              "em vez de ter que utilizar o \n"
774                              "navegador de arquivos todas as vezes.\n"
775                              " \n"
776                              "NOTA: Conteúdo para alguns núcleos pode ainda \n"
777                              "não ser reconhecido.",
778                      msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ADD_CONTENT_LIST),
779                      msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SCAN_DIRECTORY),
780                      msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SCAN_FILE),
781                      msg_hash_to_str(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_LIST),
782                      msg_hash_to_str(MENU_ENUM_LABEL_VALUE_PLAYLISTS_TAB)
783             );
784             break;
785         case MENU_ENUM_LABEL_VALUE_EXTRACTING_PLEASE_WAIT:
786             snprintf(s, len,
787                      "Bem-vindo ao RetroArch\n"
788                              "\n"
789                              "Extraindo recursos, por favor aguarde. \n"
790                              "Isso pode levar algum tempo...\n"
791             );
792             break;
793         case MENU_ENUM_LABEL_INPUT_DRIVER:
794             {
795                const char *lbl = settings ? settings->arrays.input_driver : NULL;
796 
797                if (string_is_equal(lbl, msg_hash_to_str(MENU_ENUM_LABEL_INPUT_DRIVER_UDEV)))
798                      snprintf(s, len,
799                            "Driver de entrada udev. \n"
800                            " \n"
801                            "Utiliza a recente API evdev joypad \n"
802                            "para suporte a Joystick. Suporta \n"
803                            "hotplugging e force feedback. \n"
804                            " \n"
805                            "O driver lê eventos evdev para suporte \n"
806                            "a teclado. Também suporta keyboard callback, \n"
807                            "Mouses e Touchpads. \n"
808                            " \n"
809                            "Por padrão na maioria das distros, \n"
810                            "nodes /dev/input são somente root (mode 600). \n"
811                            "Você pode criar uma regra udev para torná-los \n"
812                            "acessíveis para não root."
813                            );
814                else if (string_is_equal(lbl,
815                         msg_hash_to_str(MENU_ENUM_LABEL_INPUT_DRIVER_LINUXRAW)))
816                      snprintf(s, len,
817                            "Driver de entrada linuxraw. \n"
818                            " \n"
819                            "Este driver requer um TTY ativo. Eventos de \n"
820                            "teclado são lidos diretamente do TTY o que \n"
821                            "o torna simples, mas não tão flexível, \n"
822                            "quanto udev. \n"
823                            "Mouses, etc, não são suportados de nenhum \n"
824                            "modo. \n"
825                            " \n"
826                            "Este driver utiliza a antiga API de Joystick \n"
827                            "(/dev/input/js*).");
828                else
829                      snprintf(s, len,
830                            "Driver de entrada.\n"
831                            " \n"
832                            "Dependendo do driver de vídeo, pode \n"
833                            "forçar um driver de entrada diferente.");
834             }
835             break;
836         case MENU_ENUM_LABEL_LOAD_CONTENT_LIST:
837             snprintf(s, len,
838                      "Carregar Conteúdo. \n"
839                              "Navegar por conteúdo. \n"
840                              " \n"
841                              "Para carregar conteúdo, você precisa de \n"
842                              "um 'Núcleo' para utilizar, e um arquivo \n"
843                              "de conteúdo."
844                              " \n"
845                              "Para controlar aonde o menu inicia \n"
846                              "a procura pelo conteúdo, configure \n"
847                              "'Diretório do Navegador de Arquivos'. \n"
848                              "Se não estiver configurado, ele irá \n"
849                              "iniciar na raiz. \n"
850                              " \n"
851                              "O navegador irá filtrar as \n"
852                              "extensões para o último núcleo definido \n"
853                              "em 'Carregar Núcleo', o qual será utilizado \n"
854                              "quando o conteúdo for carregado."
855             );
856             break;
857         case MENU_ENUM_LABEL_LOAD_CONTENT_HISTORY:
858             snprintf(s, len,
859                      "Carregando conteúdo do histórico. \n"
860                              " \n"
861                              "Ao carregar conteúdo, combinações de núcleo \n"
862                              "Libretro e conteúdo são salvas no histórico. \n"
863                              " \n"
864                              "O histórico é salvo em um arquivo no mesmo \n"
865                              "diretório do arquivo de configuração do \n"
866                              "RetroArch. \n"
867                              "Se nenhum arquivo de configuração foi  \n"
868                              "carregado na inicialização, o histórico \n"
869                              "não será salvo ou carregado, e não irá \n"
870                              "existir no menu principal."
871             );
872             break;
873         case MENU_ENUM_LABEL_VIDEO_DRIVER:
874             {
875                const char *video_driver = settings->arrays.video_driver;
876 
877                snprintf(s, len,
878                      "Driver de vídeo atual.");
879 
880                if (string_is_equal(video_driver, "gl"))
881                {
882                   snprintf(s, len,
883                         "Driver de vídeo OpenGL. \n"
884                         " \n"
885                         "Este driver permite utilizar núcleos \n"
886                         "Libretro GL, além de implementações \n"
887                         "de núcleo renderizados por software.\n"
888                         " \n"
889                         "O desempenho de implementações de núcleo \n"
890                         "Libretro GL ou renderizados por software \n"
891                         "é dependente do driver GL de sua placa de vídeo.");
892                }
893                else if (string_is_equal(video_driver, "sdl2"))
894                {
895                   snprintf(s, len,
896                         "Driver de vídeo SDL 2.\n"
897                         " \n"
898                         "Este é um driver de vídeo SDL 2 renderizado \n"
899                         "por software.\n"
900                         " \n"
901                         "O desempenho para implementações de núcleo \n"
902                         "libretro renderizados por software é dependente \n"
903                         "da implementação SDL da sua plataforma.");
904                }
905                else if (string_is_equal(video_driver, "sdl1"))
906                {
907                   snprintf(s, len,
908                         "Driver de vídeo SDL. \n"
909                         " \n"
910                         "Este é um driver de vídeo SDL 1.2 renderizado \n"
911                         "por software.\n"
912                         " \n"
913                         "O desempenho é considerado medíocre. \n"
914                         "Cosidere utilizar apenas como último recurso.");
915                }
916                else if (string_is_equal(video_driver, "d3d"))
917                {
918                   snprintf(s, len,
919                         "Driver de vídeo Direct3D. \n"
920                         " \n"
921                         "O desempenho de núcleos renderizados por \n"
922                         "software depende do driver D3D de base da\n"
923                         "sua placa de vídeo).");
924                }
925                else if (string_is_equal(video_driver, "exynos"))
926                {
927                   snprintf(s, len,
928                         "Driver de vídeo Exynos-G2D. \n"
929                         " \n"
930                         "Este é um driver de vídeo Exynos de baixo-nível. \n"
931                         "Utiliza o bloco G2D em SoCs Samsung Exynos \n"
932                         "para operações blit. \n"
933                         " \n"
934                         "O desempenho de núcleos renderizados por \n"
935                         "por hardware deve ser ótimo.");
936                }
937                else if (string_is_equal(video_driver, "drm"))
938                {
939                   snprintf(s, len,
940                         "Driver de vídeo Plain DRM. \n"
941                         " \n"
942                         "Este é um driver de vídeo de baixo-nível \n"
943                         "usando libdrm para escala por hardware \n"
944                         "utilizando sobreposições de GPU.");
945                }
946                else if (string_is_equal(video_driver, "sunxi"))
947                {
948                   snprintf(s, len,
949                         "Driver de vídeo Sunxi-G2D. \n"
950                         " \n"
951                         "Este é um driver de vídeo Sunxi de baixo-nível. \n"
952                         "Utiliza o bloco G2D de SoCs Allwinner.");
953                }
954             }
955             break;
956         case MENU_ENUM_LABEL_AUDIO_DSP_PLUGIN:
957             snprintf(s, len,
958                      "Plugin DSP de áudio. \n"
959                              "Processa o áudio antes que seja \n"
960                              "enviado para o driver."
961             );
962             break;
963         case MENU_ENUM_LABEL_AUDIO_RESAMPLER_DRIVER:
964             {
965                const char *lbl = settings ? settings->arrays.audio_resampler : NULL;
966 
967                if (string_is_equal(lbl, msg_hash_to_str(
968                            MENU_ENUM_LABEL_AUDIO_RESAMPLER_DRIVER_SINC)))
969                   strlcpy(s,
970                         "Implementação SINC em janelas.", len);
971                else if (string_is_equal(lbl, msg_hash_to_str(
972                            MENU_ENUM_LABEL_AUDIO_RESAMPLER_DRIVER_CC)))
973                   strlcpy(s,
974                         "Implementação de cossenos complicados.", len);
975                else if (string_is_empty(s))
976                   strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_INFORMATION_AVAILABLE), len);
977             }
978             break;
979 
980 		case MENU_ENUM_LABEL_CRT_SWITCH_RESOLUTION: snprintf(s, len, "DEFINIR CRT");
981 			break;
982 
983 		case MENU_ENUM_LABEL_CRT_SWITCH_RESOLUTION_SUPER: snprintf(s, len, "DEFINIR CRT SUPER");
984 			break;
985 
986         case MENU_ENUM_LABEL_VIDEO_SHADER_PRESET:
987             snprintf(s, len,
988                      "Carregar predefinição de shader. \n"
989                              " \n"
990                              "Carregar uma predefinição de shader \n"
991                              "diretamente."
992                              "O menu de shader é atualizado adequadamente. \n"
993                              " \n"
994                              "Se o CGP usa métodos de escala que não sejam \n"
995                              "simples, (e.x. escala da origem, mesmo fator de \n"
996                              "escala para X/Y), o fator de escala exibido \n"
997                              "no menu pode não estar correto."
998             );
999             break;
1000         case MENU_ENUM_LABEL_VIDEO_SHADER_SCALE_PASS:
1001             snprintf(s, len,
1002                      "Escala para este estágio. \n"
1003                              " \n"
1004                              "O fator de escala acumula, e.x. 2x para o \n"
1005                              "primeiro estágio e 2x para o segundo \n"
1006                              "estágio resulta numa escala total de 4x. \n"
1007                              " \n"
1008                              "Se houver um fator de escala para o último \n"
1009                              "estágio, o resultado é alongado na \n"
1010                              "tela com o filtro especificado em \n"
1011                              "'Filtro Padrão'. \n"
1012                              " \n"
1013                              "Se 'Não Importa' estiver definido, escala \n"
1014                              "de 1x ou alongar para tela cheia será \n"
1015                              "utilizado dependendo se é o último estágio \n"
1016                              "ou não."
1017             );
1018             break;
1019         case MENU_ENUM_LABEL_VIDEO_SHADER_NUM_PASSES:
1020             snprintf(s, len,
1021                      "Estágios de shader. \n"
1022                              " \n"
1023                              "O RetroArch permite a você misturar e \n"
1024                              "combinar vários shaders com um número \n"
1025                              "arbitrário de estágios de shader, \n"
1026                              "com filtros de hardware personalizados \n"
1027                              "e fatores de escala.\n"
1028                              " \n"
1029                              "Esta opção especifica o número de estágios \n"
1030                              "de shader a ser utilizado. Se você definir \n"
1031                              "isto como 0, e utilizar Aplicar Alterações \n"
1032                              "de shader, você irá utilizar um shader \n"
1033                              "'em branco'."
1034                              " \n"
1035                              "A opção Filtro Padrão terá efeito no \n"
1036                              "filtro de alongamento.");
1037             break;
1038         case MENU_ENUM_LABEL_VIDEO_SHADER_PARAMETERS:
1039             snprintf(s, len,
1040                      "Parâmetros de shader. \n"
1041                              " \n"
1042                              "Modifica diretamente o shader atual. \n"
1043                              "Ele não será salvo no arquivo de \n"
1044                              "predefinição CGP/GLSLP.");
1045             break;
1046         case MENU_ENUM_LABEL_VIDEO_SHADER_PRESET_PARAMETERS:
1047             snprintf(s, len,
1048                      "Parâmetros de Predefinição de shader. \n"
1049                              " \n"
1050                              "Modifica a predefinição de shader \n"
1051                              "atualmente usada no menu."
1052             );
1053             break;
1054         case MENU_ENUM_LABEL_VIDEO_SHADER_PASS:
1055             snprintf(s, len,
1056                      "Caminho para o shader. \n"
1057                              " \n"
1058                              "Todos os shaders devem ser do mesmo \n"
1059                              "tipo (e.x. CG, GLSL ou HLSL). \n"
1060                              " \n"
1061                              "Defina o Diretório de shaders para estipular \n"
1062                              "onde o navegador de arquivos começa a busca \n"
1063                              "pelos shaders."
1064             );
1065             break;
1066         case MENU_ENUM_LABEL_CONFIGURATION_SETTINGS:
1067             snprintf(s, len,
1068                      "Determina como arquivos de configuração \n"
1069                              "são carregados e priorizados.");
1070             break;
1071         case MENU_ENUM_LABEL_CONFIG_SAVE_ON_EXIT:
1072             snprintf(s, len,
1073                      "Salvar configuração em disco ao sair. \n"
1074                              "Útil para o menu, já que as configurações \n"
1075                              "podem ser modificadas. \n"
1076                              "Sobrescreve a configuração. \n"
1077                              " \n"
1078                              "#inclusões e comentários não são \n"
1079                              "preservados. \n"
1080                              " \n"
1081                              "Por design, o arquivo de configuração é \n"
1082                              "considerado imutável já que é \n"
1083                              "provavelmente mantido pelo usuário, \n"
1084                              "e não deve ser sobrescrito \n"
1085                              "por trás das costas dele."
1086 #if defined(RARCH_CONSOLE) || defined(RARCH_MOBILE)
1087             "\nContudo, este não é o caso em \n"
1088             "consoles, onde olhar o arquivo \n"
1089             "de configuração manualmente \n"
1090             "não é realmente uma opção."
1091 #endif
1092             );
1093             break;
1094         case MENU_ENUM_LABEL_CONFIRM_ON_EXIT:
1095             snprintf(s, len, "Tem certeza que deseja sair?");
1096             break;
1097         case MENU_ENUM_LABEL_SHOW_HIDDEN_FILES:
1098             snprintf(s, len, "Exibir arquivos e \n"
1099                     "pastas ocultos.");
1100             break;
1101         case MENU_ENUM_LABEL_VIDEO_SHADER_FILTER_PASS:
1102             snprintf(s, len,
1103                      "Filtro de hardware para esse estágio. \n"
1104                              " \n"
1105                              "Se 'Não importa' estiver definido, \n"
1106                              "'Filtro padrão' será utilizado."
1107             );
1108             break;
1109         case MENU_ENUM_LABEL_AUTOSAVE_INTERVAL:
1110             snprintf(s, len,
1111                      "Salva automaticamente a SRAM \n"
1112                              "não volátil em um intervalo regular. \n"
1113                              " \n"
1114                              "Isso é desativado por padrão a menos \n"
1115                              "que seja definido de outra forma. \n"
1116                              "O intervalo é medido em segundos. \n"
1117                              " \n"
1118                              "O valor 0 desativa o salvamento automático.");
1119             break;
1120         case MENU_ENUM_LABEL_INPUT_BIND_DEVICE_TYPE:
1121             snprintf(s, len,
1122                      "Tipo de dispositivo de entrada. \n"
1123                              " \n"
1124                              "Escolhe qual tipo de dispositivo utilizar. \n"
1125                              "Isto é relevante para o núcleo Libretro."
1126             );
1127             break;
1128         case MENU_ENUM_LABEL_LIBRETRO_LOG_LEVEL:
1129             snprintf(s, len,
1130                      "Define o nível de registro de eventos dos \n"
1131                              "núcleos Libretro. (GET_LOG_INTERFACE) \n"
1132                              " \n"
1133                              " Se o nível do registro de evento emitido \n"
1134                              " pelo núcleo Libretro for abaixo do nível \n"
1135                              " libretro_log, ele é ignorado.\n"
1136                              " \n"
1137                              " Registros DEBUG são sempre ignorados a menos \n"
1138                              " que o modo verboso esteja ativado (--verbose).\n"
1139                              " \n"
1140                              " DEBUG = 0\n"
1141                              " INFO  = 1\n"
1142                              " WARN  = 2\n"
1143                              " ERROR = 3"
1144             );
1145             break;
1146         case MENU_ENUM_LABEL_STATE_SLOT_INCREASE:
1147         case MENU_ENUM_LABEL_STATE_SLOT_DECREASE:
1148             snprintf(s, len,
1149                      "Compartimento de jogo salvo.\n"
1150                              " \n"
1151                              "Com o compartimento definido em 0, o nome do \n"
1152                              "jogo salvo é *.state \n"
1153                              "(ou a definição da linha de comando) \n"
1154                              "Quando o compartimento não for 0, o caminho será \n"
1155                              "(caminho)(n), onde (n) é o número do box.");
1156             break;
1157         case MENU_ENUM_LABEL_SHADER_APPLY_CHANGES:
1158             snprintf(s, len,
1159                      "Aplicar alterações de shader. \n"
1160                              " \n"
1161                              "Após alterar as configurações de shader, \n"
1162                              "utilize essa opção para aplicar as alterações. \n"
1163                              " \n"
1164                              "Alterar as configurações de shader é uma \n"
1165                              "operação relativamente trabalhosa, então \n"
1166                              "deve ser feita de modo explícito. \n"
1167                              " \n"
1168                              "Ao aplicar os shaders, as configurações de \n"
1169                              "shader do menu são salvas em um dos arquivos \n"
1170                              "temporários (menu.cgp ou menu.glslp) \n"
1171                              "e carregadas. \n"
1172                              "O arquivo permanece salvo no Diretório \n"
1173                              "de shaders após o RetroArch encerrar."
1174             );
1175             break;
1176         case MENU_ENUM_LABEL_SHADER_WATCH_FOR_CHANGES:
1177             snprintf(s, len,
1178                      "Ver arquivos de shader para mudanças. \n"
1179                      " \n"
1180                      "Depois de salvar as alterações em um shader no disco, \n"
1181                      "ele será automaticamente recompilado \n"
1182                      "e aplicado ao conteúdo em execução."
1183             );
1184             break;
1185         case MENU_ENUM_LABEL_MENU_TOGGLE:
1186             snprintf(s, len,
1187                      "Alternar o menu.");
1188             break;
1189         case MENU_ENUM_LABEL_GRAB_MOUSE_TOGGLE:
1190             snprintf(s, len,
1191                      "Alternar captura do mouse.\n"
1192                              " \n"
1193                              "Quando o mouse é capturado, o RetroArch oculta \n"
1194                              "o cursor do mouse, e mantém o mouse dentro \n"
1195                              "da janela para permitir que a entrada de Mouse \n"
1196                              "relativa funcione melhor.");
1197             break;
1198         case MENU_ENUM_LABEL_GAME_FOCUS_TOGGLE:
1199             snprintf(s, len,
1200                      "Alternar o foco do jogo.\n"
1201                              " \n"
1202                              "Quando um jogo tem foco, o RetroArch irá \n"
1203                              "desabilitar as teclas de atalho e manter \n"
1204                              "o cursor do mouse dentro da janela.");
1205             break;
1206         case MENU_ENUM_LABEL_DISK_NEXT:
1207             snprintf(s, len,
1208                      "Alternar pelas imagens de disco. Utilizado \n"
1209                              "após a ejeção. \n"
1210                              " \n"
1211                              "Concluído após alternar novamente a ejeção.");
1212             break;
1213         case MENU_ENUM_LABEL_VIDEO_FILTER:
1214 #ifdef HAVE_FILTERS_BUILTIN
1215             snprintf(s, len,
1216                   "Filtro de vídeo por CPU.");
1217 #else
1218             snprintf(s, len,
1219                      "Filtro de vídeo por CPU.\n"
1220                              " \n"
1221                              "Caminho para uma biblioteca dinâmica.");
1222 #endif
1223             break;
1224         case MENU_ENUM_LABEL_AUDIO_DEVICE:
1225             snprintf(s, len,
1226                      "Substitui o dispositivo de áudio padrão \n"
1227                              "utilizado pelo driver de áudio. \n"
1228                              "Isto depende do driver. \n"
1229 #ifdef HAVE_ALSA
1230             " \n"
1231             "ALSA quer um dispositivo PCM."
1232 #endif
1233 #ifdef HAVE_OSS
1234             " \n"
1235             "OSS quer um caminho (ex: /dev/dsp)."
1236 #endif
1237 #ifdef HAVE_JACK
1238             " \n"
1239             "JACK quer nomes de porta (ex: system:playback1 \n"
1240             ",system:playback_2)."
1241 #endif
1242 #ifdef HAVE_RSOUND
1243             " \n"
1244             "RSound quer um endereço IP para um \n"
1245             "servidor RSound."
1246 #endif
1247             );
1248             break;
1249         case MENU_ENUM_LABEL_DISK_EJECT_TOGGLE:
1250             snprintf(s, len,
1251                      "Alternar ejeção de disco.\n"
1252                              " \n"
1253                              "Usado para conteúdo em vários discos.");
1254             break;
1255         case MENU_ENUM_LABEL_ENABLE_HOTKEY:
1256             snprintf(s, len,
1257                      "Habilitar outras teclas de atalho. \n"
1258                              " \n"
1259                              "Se essa tecla de atalho estiver vinculada \n"
1260                              "ao teclado ou botão / eixo de joypad, todas \n"
1261                              "as outras teclas de atalho serão desabilitadas \n"
1262                              "a menos que essa tecla de atalho também esteja \n"
1263                              "pressionada ao mesmo tempo. \n"
1264                              " \n"
1265                              "Isso é útil para implementações com foco \n"
1266                              "RETRO_KEYBOARD que consultam uma grande \n"
1267                              "parte do teclado, quando não é desejável \n"
1268                              "que as teclas de atalho atrapalhem.");
1269             break;
1270         case MENU_ENUM_LABEL_REWIND_ENABLE:
1271             snprintf(s, len,
1272                      "Habilitar rebobinamento. \n"
1273                              " \n"
1274                              "Causa impacto no desempenho, por \n"
1275                              "isso vem desabilitado por padrão.");
1276             break;
1277         case MENU_ENUM_LABEL_CHEAT_APPLY_AFTER_TOGGLE:
1278             snprintf(s, len,
1279                      "Aplicar trapaça imediatamente após a alternância.");
1280             break;
1281         case MENU_ENUM_LABEL_CHEAT_APPLY_AFTER_LOAD:
1282             snprintf(s, len,
1283                      "Aplicar trapaças automaticamente quando o jogo for carregado.");
1284             break;
1285         case MENU_ENUM_LABEL_LIBRETRO_DIR_PATH:
1286             snprintf(s, len,
1287                      "Diretório de núcleo. \n"
1288                              " \n"
1289                              "Um diretório aonde buscar por \n"
1290                              "implementações de núcleo Libretro.");
1291             break;
1292         case MENU_ENUM_LABEL_VIDEO_REFRESH_RATE_AUTO:
1293             snprintf(s, len,
1294                      "Taxa de atualização automática.\n"
1295                              " \n"
1296                              "A precisa taxa de atualização do monitor (Hz). \n"
1297                              "É usado para calcular a taxa de entrada de áudio \n"
1298                              "com a fórmula: \n"
1299                              " \n"
1300                              "taxa_ent_áudio = taxa de ent. do jogo * \n"
1301                              "taxa de atualiz. / taxa de atualiz. do jogo \n"
1302                              " \n"
1303                              "Se a implementação não reportar um valor, o padrão \n"
1304                              "NTSC será usado para garantir compatibilidade\n"
1305                              " \n"
1306                              "O valor deve ficar próximo a 60 Hz para evitar grandes \n"
1307                              "alterações de tom. Se o seu monitor não rodar a 60Hz, \n"
1308                              "desabilite o VSync e deixe o padrão.");
1309             break;
1310         case MENU_ENUM_LABEL_VIDEO_REFRESH_RATE_POLLED:
1311             snprintf(s, len,
1312                      "Definir taxa de atualização encontrada\n"
1313                              " \n"
1314                             "Define a taxa de atualização para o valor\n"
1315                             "real pesquisado no driver de vídeo.");
1316             break;
1317         case MENU_ENUM_LABEL_VIDEO_ROTATION:
1318             snprintf(s, len,
1319                      "Forçar uma rotação específica \n"
1320                              "da tela. \n"
1321                              " \n"
1322                              "A rotação é adicionada a rotação que o \n"
1323                              "núcleo Libretro define (consulte Permitir \n"
1324                              "Rotação).");
1325             break;
1326         case MENU_ENUM_LABEL_VIDEO_SCALE:
1327             snprintf(s, len,
1328                      "Resolução em tela cheia.\n"
1329                              " \n"
1330                              "Resolução definida para 0 \n"
1331                              "usa a resolução do ambiente.\n");
1332             break;
1333         case MENU_ENUM_LABEL_FASTFORWARD_RATIO:
1334             snprintf(s, len,
1335                      "Taxa de avanço rápido."
1336                              " \n"
1337                              "A taxa máxima na qual o conteúdo será \n"
1338                              "executado quando utilizado o Avanço Rápido. \n"
1339                              " \n"
1340                              "(ex: 5.0x para conteúdos em 60fps = 300 \n"
1341                              "fps máx). \n"
1342                              " \n"
1343                              "O RetroArch entra em 'sleep' para garantir \n"
1344                              "que a taxa máxima não seja excedida. \n"
1345                              "Não confie na precisão dessa limitação..");
1346             break;
1347         case MENU_ENUM_LABEL_VRR_RUNLOOP_ENABLE:
1348             snprintf(s, len,
1349                      "Sincronizar com a taxa de quadros exata do conteúdo.\n"
1350                              " \n"
1351                              "Esta opção é o equivalente de forçar a velocidade x1\n"
1352                              "enquanto ainda permite o avanço rápido.\n"
1353                              "Sem desvio da taxa de atualização solicitada pelo núcleo\n"
1354                              "e sem Controle de Taxa Dinâmica do som).");
1355             break;
1356         case MENU_ENUM_LABEL_VIDEO_MONITOR_INDEX:
1357             snprintf(s, len,
1358                      "Dar preferência a qual monitor. \n"
1359                              " \n"
1360                              "0 (padrão) significa que nenhum é preferido \n"
1361                              "em particular, 1 e acima disso (1 sendo \n"
1362                              "o primeiro monitor), sugere ao RetroArch \n"
1363                              "para usar aquele monitor em especial.");
1364             break;
1365         case MENU_ENUM_LABEL_VIDEO_CROP_OVERSCAN:
1366             snprintf(s, len,
1367                      "Forçar o recorte de quadros em \n"
1368                              "overscan. \n"
1369                              " \n"
1370                              "O comportamento exato desta opção \n"
1371                              "é específico da implementação do núcleo.");
1372             break;
1373         case MENU_ENUM_LABEL_VIDEO_SCALE_INTEGER:
1374             snprintf(s, len,
1375                      "Apenas dimensiona o vídeo em valores \n"
1376                              "inteiros.\n"
1377                              " \n"
1378                              "O tamanho de base depende da geometria \n"
1379                              "relatada pelo sistema e da proporção de tela.\n"
1380                              " \n"
1381                              "Se a função 'Forçar proporção' não estiver \n"
1382                              "definida, X / Y serão dimensionados em \n"
1383                              "valores inteiros independentemente.");
1384             break;
1385         case MENU_ENUM_LABEL_AUDIO_VOLUME:
1386             snprintf(s, len,
1387                      "Volume de áudio, expresso em dB.\n"
1388                              " \n"
1389                              "0dB é volume normal, nenhum ganho é aplicado. \n"
1390                              "O ganho pode ser controlado na execução com \n"
1391                              "as teclas de controle de volume.");
1392             break;
1393         case MENU_ENUM_LABEL_AUDIO_RATE_CONTROL_DELTA:
1394             snprintf(s, len,
1395                      "Controle dinâmico de taxa de áudio. \n"
1396                              " \n"
1397                              "Definido para 0 desativa o controle de taxa. \n"
1398                              "Qualquer outro valor controla o delta \n"
1399                              "do ajuste de taxa.\n"
1400                              " \n"
1401                              "Define o quanto a taxa de entrada pode ser \n"
1402                              "ajustada dinamicamente. \n"
1403                              " \n"
1404                              " A taxa de entrada é definida como: \n"
1405                              "taxa de ent * (1.0 +/- (delta ajus de taxa))");
1406             break;
1407         case MENU_ENUM_LABEL_AUDIO_MAX_TIMING_SKEW:
1408             snprintf(s, len,
1409                      "Desvio máximo de tempo de áudio. \n"
1410                              " \n"
1411                              "Define a mudança máxima na taxa de saída \n"
1412                              "de áudio. Se aumentado habilita grandes \n"
1413                              "mudanças no sincronismo ao custo de \n"
1414                              "imprecisão na tonalidade de áudio \n"
1415                              "(ex: rodando núcleos PAL em modo NTSC). \n"
1416                              " \n"
1417                              "A taxa de entrada é definida como: \n"
1418                              "taxa de ent * (1.0 +/- (desv máx de tempo))");
1419             break;
1420         case MENU_ENUM_LABEL_OVERLAY_NEXT:
1421             snprintf(s, len,
1422                      "Mudar para a próxima sobreposição.\n"
1423                              " \n"
1424                              "Circula pela opções.");
1425             break;
1426         case MENU_ENUM_LABEL_LOG_VERBOSITY:
1427             snprintf(s, len,
1428                      "Habilitar ou desabilitar o nível \n"
1429                              "de verbosidade da interface.");
1430             break;
1431         case MENU_ENUM_LABEL_VOLUME_UP:
1432             snprintf(s, len,
1433                      "Aumentar o volume de áudio.");
1434             break;
1435         case MENU_ENUM_LABEL_VOLUME_DOWN:
1436             snprintf(s, len,
1437                      "Diminuir o volume de áudio.");
1438             break;
1439         case MENU_ENUM_LABEL_VIDEO_DISABLE_COMPOSITION:
1440             snprintf(s, len,
1441                      "Desligar a composição a força. \n"
1442                              "Válido somente no Windows Vista/7 por enquanto.");
1443             break;
1444         case MENU_ENUM_LABEL_PERFCNT_ENABLE:
1445             snprintf(s, len,
1446                      "Habilitar ou desabilitar os contadores \n"
1447                              "de desempenho da interface.");
1448             break;
1449         case MENU_ENUM_LABEL_SYSTEM_DIRECTORY:
1450             snprintf(s, len,
1451                      "Diretório de sistema. \n"
1452                              " \n"
1453                              "Define o diretório de 'sistema'. \n"
1454                              "Os núcleos podem consultar este \n"
1455                              "diretório para carregar arquivos de BIOS, \n"
1456                              "configurações específicas do sistema, etc.");
1457             break;
1458         case MENU_ENUM_LABEL_SAVESTATE_AUTO_SAVE:
1459         case MENU_ENUM_LABEL_SAVESTATE_AUTO_LOAD:
1460             snprintf(s, len,
1461                      "Cria automaticamente um jogo salvo \n"
1462                              "no final da execução do RetroArch. \n"
1463                              " \n"
1464                              "O RetroArch irá carregar automaticamente \n"
1465                              "qualquer jogo salvo com esse caminho \n"
1466                              "na inicialização se a função \n"
1467                              "'Carregar automaticamente jogo salvo' \n"
1468                              "estiver habilitada.");
1469             break;
1470         case MENU_ENUM_LABEL_VIDEO_THREADED:
1471             snprintf(s, len,
1472                      "Usar vídeo paralelizado. \n"
1473                              " \n"
1474                              "Utilizar esta função pode melhorar o \n"
1475                              "desempenho ao custo de latência e mais \n"
1476                              "engasgamento de vídeo.");
1477             break;
1478         case MENU_ENUM_LABEL_VIDEO_VSYNC:
1479             snprintf(s, len,
1480                      "V-Sync de vídeo.\n");
1481             break;
1482         case MENU_ENUM_LABEL_VIDEO_HARD_SYNC:
1483             snprintf(s, len,
1484                      "Tentar a sincronia rígida entre \n"
1485                              "CPU e GPU. \n"
1486                              " \n"
1487                              "Reduz a latência ao custo de \n"
1488                              "desempenho.");
1489             break;
1490         case MENU_ENUM_LABEL_REWIND_GRANULARITY:
1491             snprintf(s, len,
1492                      "Níveis do rebobinamento.\n"
1493                              " \n"
1494                              " Ao rebobinar o número definido de quadros, \n"
1495                              "você pode rebobinar vários quadros por vez, \n"
1496                              "aumentando a velocidade de rebobinamento.");
1497             break;
1498         case MENU_ENUM_LABEL_REWIND_BUFFER_SIZE:
1499             snprintf(s, len,
1500                      "Tamanho do buffer do rebobinamento (MB).\n"
1501                              " \n"
1502                              " A quantidade de memória em MB a ser reservada  \n"
1503                              "para  rebobinamento. Aumentar este valor aumenta  \n"
1504                              "o comprimento do histórico de rebobinagem.\n");
1505             break;
1506         case MENU_ENUM_LABEL_REWIND_BUFFER_SIZE_STEP:
1507             snprintf(s, len,
1508                      "Tamanho do intervalo de ajuste do buffer (MB).\n"
1509                              " \n"
1510                              " Cada vez que você aumentar ou diminuir o valor do \n"
1511                              "tamanho do buffer de rebobinamento por meio  \n"
1512                              "dessa interface, ele será alterado por esse valor.\n");
1513             break;
1514         case MENU_ENUM_LABEL_SCREENSHOT:
1515             snprintf(s, len,
1516                      "Capturar tela.");
1517             break;
1518         case MENU_ENUM_LABEL_VIDEO_FRAME_DELAY:
1519             snprintf(s, len,
1520                      "Define quantos milissegundos atrasar \n"
1521                              "após o V-Sync antes de rodar o núcleo. \n"
1522                              "\n"
1523                              "Reduz a latência ao custo de maior \n"
1524                              "risco de engasgamento de vídeo. \n"
1525                              " \n"
1526                              "O máximo é 15.");
1527             break;
1528         case MENU_ENUM_LABEL_VIDEO_SHADER_DELAY:
1529             snprintf(s, len,
1530                      "Define por quantos milissegundos o carregamento automático\n"
1531                              "de shaders será atrasado.\n"
1532                              "\n"
1533                              "Pode solucionar problemas gráficos devido ao uso de \n"
1534                              "software de 'captura de tela', como software de streaming.");
1535             break;
1536         case MENU_ENUM_LABEL_VIDEO_HARD_SYNC_FRAMES:
1537             snprintf(s, len,
1538                      "Define quantos quadros a CPU pode rodar \n"
1539                              "à frente da GPU quando utilizando o \n"
1540                              "recurso 'Sincronização Rígida de GPU'. \n"
1541                              " \n"
1542                              "O máximo é 3. \n"
1543                              " \n"
1544                              " 0: Sincroniza na GPU imediatamente. \n"
1545                              " 1: Sincroniza no quadro anterior. \n"
1546                              " 2: Etc...");
1547             break;
1548         case MENU_ENUM_LABEL_VIDEO_BLACK_FRAME_INSERTION:
1549             snprintf(s, len,
1550                      "Inserir um quadro opaco entre quadros.\n"
1551                              " \n"
1552                              "Útil para usuários com telas de 120Hz que \n"
1553                              "desejam jogar conteúdos em 60Hz \n"
1554                              "para eliminar efeito de sombra. \n"
1555                              " \n"
1556                              "A taxa de atualização de vídeo ainda deve \n"
1557                              "ser configurada como se fosse uma tela de \n"
1558                              "60Hz (dividir a taxa de atualização por 2).");
1559             break;
1560         case MENU_ENUM_LABEL_RGUI_SHOW_START_SCREEN:
1561             snprintf(s, len,
1562                      "Exibir a tela inicial no menu.\n"
1563                              "É automaticamente definido como falso após \n"
1564                              "o programa iniciar pela primeira vez. \n"
1565                              " \n"
1566                              "Somente é atualizado no arquivo de \n"
1567                              "configuração se 'Salvar Configuração ao Sair' \n"
1568                              "estiver habilitado.");
1569             break;
1570         case MENU_ENUM_LABEL_VIDEO_FULLSCREEN:
1571             snprintf(s, len, "Alternar tela cheia.");
1572             break;
1573         case MENU_ENUM_LABEL_BLOCK_SRAM_OVERWRITE:
1574             snprintf(s, len,
1575                      "Bloqueia a SRAM de ser sobrescrita \n"
1576                              "ao carregar um jogo salvo. \n"
1577                              " \n"
1578                              "Pode causar problemas no jogo.");
1579             break;
1580         case MENU_ENUM_LABEL_PAUSE_NONACTIVE:
1581             snprintf(s, len,
1582                      "Pausar o jogo quando o foco da janela \n"
1583                              "for perdido.");
1584             break;
1585         case MENU_ENUM_LABEL_VIDEO_GPU_SCREENSHOT:
1586             snprintf(s, len,
1587                      "Capturas de tela com shader \n"
1588                              "de GPU, se disponível.");
1589             break;
1590         case MENU_ENUM_LABEL_SCREENSHOT_DIRECTORY:
1591             snprintf(s, len,
1592                      "Diretório de Capturas de Tela. \n"
1593                              " \n"
1594                              "Diretório para armazenar as capturas de tela."
1595             );
1596             break;
1597         case MENU_ENUM_LABEL_VIDEO_SWAP_INTERVAL:
1598             snprintf(s, len,
1599                      "Intervalo de troca da sincronia vertical \n"
1600                              "(V-Sync). \n"
1601                              " \n"
1602                              "Usa um intervalo de troca personalizado \n"
1603                              "para V-Sync. Defina para reduzir \n"
1604                              "efetivamente a taxa de atualização \n"
1605                              "do monitor pela metade.");
1606             break;
1607         case MENU_ENUM_LABEL_SAVEFILE_DIRECTORY:
1608             snprintf(s, len,
1609                      "Diretório de dados da memória do jogo. \n"
1610                              " \n"
1611                              "Salvar todos os dados da memória do jogo (*.srm) \n"
1612                              "neste diretório. Isso inclui arquivos \n"
1613                              "relacionados, como .bsv, .rt, .psrm, etc... \n"
1614                              " \n"
1615                              "Será substituído por opções definidas \n"
1616                              "explicitamente na linha de comando.");
1617             break;
1618         case MENU_ENUM_LABEL_SAVESTATE_DIRECTORY:
1619             snprintf(s, len,
1620                      "Diretório de jogos salvos. \n"
1621                              " \n"
1622                              "Salvar todos os jogos salvos \n"
1623                              "(*.state) neste diretório. \n"
1624                              " \n"
1625                              "Será substituído por opções definidas \n"
1626                              "explicitamente na linha de comando.");
1627             break;
1628         case MENU_ENUM_LABEL_ASSETS_DIRECTORY:
1629             snprintf(s, len,
1630                      "Diretório de recursos. \n"
1631                              " \n"
1632                              "Esta localização é consultada por padrão \n"
1633                              "quando a interface do menu tenta procurar \n"
1634                              "por recursos carregáveis, etc.");
1635             break;
1636         case MENU_ENUM_LABEL_DYNAMIC_WALLPAPERS_DIRECTORY:
1637             snprintf(s, len,
1638                      "Diretório de planos de fundo dinâmicos. \n"
1639                              " \n"
1640                              "O local para armazenar planos de fundo \n"
1641                              "dinamicamente carregados pelo menu \n"
1642                              "dependendo do contexto.");
1643             break;
1644         case MENU_ENUM_LABEL_SLOWMOTION_RATIO:
1645             snprintf(s, len,
1646                      "Taxa de câmera lenta."
1647                              " \n"
1648                              "Quando está em Câmera Lenta, o conteúdo será \n"
1649                              "diminuído pelo fator especificado/definido.");
1650             break;
1651         case MENU_ENUM_LABEL_INPUT_BUTTON_AXIS_THRESHOLD:
1652             snprintf(s, len,
1653                      "Define a zona morta do controle analógico. \n"
1654                              " \n"
1655                              "Até que ponto um eixo deve ser \n"
1656                              "movido para resultar em um botão pressionado. \n"
1657                              "Os valores aceitos são entre [0.0, 1.0].");
1658             break;
1659         case MENU_ENUM_LABEL_INPUT_TURBO_PERIOD:
1660             snprintf(s, len,
1661                      "Período do turbo.\n"
1662                              " \n"
1663                              "Descreve o período quando os botões \n"
1664                              "com turbo habilitado são alternados. \n"
1665                              " \n"
1666                              "Os números são descritos em quadros."
1667             );
1668             break;
1669         case MENU_ENUM_LABEL_INPUT_TURBO_MODE:
1670             snprintf(s, len,
1671                   "Modo turbo.\n"
1672                   " \n"
1673                   "Seleciona o comportamento geral do modo turbo."
1674                   );
1675             break;
1676         case MENU_ENUM_LABEL_INPUT_TURBO_DEFAULT_BUTTON:
1677             snprintf(s, len,
1678                   "Botão padrão de turbo.\n"
1679                   " \n"
1680                   "O botão individual para o modo turbo.\n"
1681                   );
1682             break;
1683         case MENU_ENUM_LABEL_INPUT_DUTY_CYCLE:
1684             snprintf(s, len,
1685                      "Ciclo de trabalho.\n"
1686                              " \n"
1687                              "Descreve quão longo deve ser o período \n"
1688                              "de um botão com turbo habilitado. \n"
1689                              " \n"
1690                              "Os números são descritos em quadros."
1691             );
1692             break;
1693         case MENU_ENUM_LABEL_INPUT_TOUCH_ENABLE:
1694             snprintf(s, len, "Habilitar suporte a toque.");
1695             break;
1696         case MENU_ENUM_LABEL_INPUT_PREFER_FRONT_TOUCH:
1697             snprintf(s, len, "Usar toque frontal ao invés de traseiro.");
1698             break;
1699         case MENU_ENUM_LABEL_MOUSE_ENABLE:
1700             snprintf(s, len, "Habilitar controle do menu por Mouse.");
1701             break;
1702         case MENU_ENUM_LABEL_POINTER_ENABLE:
1703             snprintf(s, len, "Habilitar controle do menu por toque.");
1704             break;
1705         case MENU_ENUM_LABEL_MENU_WALLPAPER:
1706             snprintf(s, len,
1707                     "Selecionar uma imagem para definir como \n"
1708                              "plano de fundo.");
1709             break;
1710         case MENU_ENUM_LABEL_NAVIGATION_WRAPAROUND:
1711             snprintf(s, len,
1712                      "Voltar ao início e/ou final \n"
1713                              "se o limite da lista for alcançado \n"
1714                              "horizontalmente ou verticalmente.");
1715             break;
1716         case MENU_ENUM_LABEL_PAUSE_LIBRETRO:
1717             snprintf(s, len,
1718                      "Se desativado, o jogo continuará sendo \n"
1719                              "executado em segundo plano quando o \n"
1720                              "menu estiver ativo.");
1721             break;
1722         case MENU_ENUM_LABEL_SUSPEND_SCREENSAVER_ENABLE:
1723             snprintf(s, len,
1724                      "Desativar o protetor de tela. É uma sugestão \n"
1725                              "que não precisa necessariamente ser \n"
1726                              "honrada pelo driver de vídeo.");
1727             break;
1728         case MENU_ENUM_LABEL_NETPLAY_MODE:
1729             snprintf(s, len,
1730                      "Modo cliente do jogo em rede para o usuário atual. \n"
1731                              "Será modo 'Servidor' se estiver desabilitado.");
1732             break;
1733         case MENU_ENUM_LABEL_NETPLAY_DELAY_FRAMES:
1734             snprintf(s, len,
1735                      "A quantidade de atraso de quadros para \n"
1736                              "utilizar no jogo em rede. \n"
1737                              " \n"
1738                              "Aumentar este valor irá aumentar o \n"
1739                              "desempenho, mas introduz mais latência.");
1740             break;
1741         case MENU_ENUM_LABEL_NETPLAY_PUBLIC_ANNOUNCE:
1742             snprintf(s, len,
1743                      "Define se os jogos de jogo em rede são anunciados \n"
1744                              "publicamente. \n"
1745                              " \n"
1746                              "Se definido como falso, os clientes \n"
1747                              "deverão conectar manualmente em vez \n"
1748                              "de usar o lobby público.");
1749             break;
1750         case MENU_ENUM_LABEL_NETPLAY_START_AS_SPECTATOR:
1751             snprintf(s, len,
1752                      "Define se o jogo em rede deve iniciar em \n"
1753                              "modo espectador. \n"
1754                              " \n"
1755                              "Se definido como verdadeiro, o jogo em rede estará \n"
1756                              "em modo espectador no começo. Sempre é possível \n"
1757                              "alterar o modo mais tarde.");
1758             break;
1759         case MENU_ENUM_LABEL_NETPLAY_ALLOW_SLAVES:
1760             snprintf(s, len,
1761                      "Define se conexões em modo escravo são \n"
1762                              "permitidas. \n"
1763                              " \n"
1764                              "Clientes em modo escravo requerem muito pouco \n"
1765                              "poder de processamento em ambos os lados, mas \n"
1766                              "irão sofrer significativamente da latência de rede.");
1767             break;
1768         case MENU_ENUM_LABEL_NETPLAY_REQUIRE_SLAVES:
1769             snprintf(s, len,
1770                      "Define se conexões que não estão \n"
1771                             "em modo escravo são proibidas. \n"
1772                              " \n"
1773                              "Não recomendado, exceto para redes muito \n"
1774                              "rápidas com máquinas muito lentas. \n");
1775             break;
1776         case MENU_ENUM_LABEL_NETPLAY_STATELESS_MODE:
1777             snprintf(s, len,
1778                      "Define se o jogo em rede deve executar em um modo \n"
1779                              "que não utilize jogos salvos. \n"
1780                              " \n"
1781                              "Se definido como verdadeiro, uma rede muito \n"
1782                              "rápida é necessária, mas Voltar Atrás não é \n"
1783                              "permitido, então não haverá oscilação \n"
1784                              "no jogo em rede.");
1785             break;
1786         case MENU_ENUM_LABEL_NETPLAY_CHECK_FRAMES:
1787             snprintf(s, len,
1788                      "Frequência em quadros na qual o jogo em rede \n"
1789                              "irá verificar se o anfitrião e o cliente \n"
1790                              "estão sincronizados. \n"
1791                              " \n"
1792                              "Na maioria dos núcleos, este valor não terá efeito \n"
1793                              "e pode ser ignorado. Com núcleos não determinísticos, \n"
1794                              "este valor define a frequência com que os pares\n"
1795                              "serão sincronizados. Em núcleos defeituosos, valores \n"
1796                              "diferentes de zero irão causar problemas de desempenho \n"
1797                              "Defina como zero para desativar verificações\n"
1798                              "Este valor só é usado no anfitrião do jogo em rede. \n");
1799             break;
1800         case MENU_ENUM_LABEL_NETPLAY_INPUT_LATENCY_FRAMES_MIN:
1801             snprintf(s, len,
1802                      "O número de quadros de latência de entrada \n"
1803                      "que pode ser usado pelo jogo em rede para \n"
1804                      "mascarar a latência de rede. \n"
1805                      " \n"
1806                      "Quando usando jogo em rede, esta opção atrasa a \n"
1807                      "entrada local, de modo que o quadro em \n"
1808                      "execução fique mais próximo do quadro \n"
1809                      "recebido pela rede. Isso reduz a oscilação \n"
1810                      "e torna o jogo em rede menos intenso para a CPU, \n"
1811                      "mas ao custo de atraso perceptível na entrada. \n");
1812             break;
1813         case MENU_ENUM_LABEL_NETPLAY_INPUT_LATENCY_FRAMES_RANGE:
1814             snprintf(s, len,
1815                      "O intervalo de quadros de latência \n"
1816                      "de entrada que pode ser usado pelo jogo em rede \n"
1817                      "para mascarar a latência da rede. \n"
1818                      "\n"
1819                      "Se habilitado, o jogo em rede irá ajustar o número \n"
1820                      "de quadros de latência de entrada \n"
1821                      "dinamicamente para balancear tempo de CPU, \n"
1822                      "latência de entrada e latência de rede. Isso \n"
1823                      "reduz a oscilação e torna o jogo em rede menos intensivo \n"
1824                      "para a CPU, mas ao custo de atraso imprevisível \n"
1825                      "na entrada.");
1826             break;
1827         case MENU_ENUM_LABEL_NETPLAY_NAT_TRAVERSAL:
1828             snprintf(s, len,
1829                      "Quando hospedando, tentar escutar por \n"
1830                              "conexões da internet pública usando UPnP \n"
1831                              "ou tecnologias similares para escapar de LANs. \n");
1832             break;
1833         case MENU_ENUM_LABEL_NETPLAY_USE_MITM_SERVER:
1834             snprintf(s, len,
1835                      "Quando hospedando, transmitir a conexão \n"
1836                              "através de um servidor 'homem no meio' \n"
1837                              "para contornar problemas de firewall \n"
1838                              "ou NAT/UPnP. \n");
1839             break;
1840         case MENU_ENUM_LABEL_NETPLAY_MITM_SERVER:
1841             snprintf(s, len,
1842                      "Especifica o servidor homem no meio \n"
1843                              "para usar no jogo em rede. Um servidor localizado \n"
1844                              "mais perto de você pode ter menos latência. \n");
1845             break;
1846         case MENU_ENUM_LABEL_VIDEO_MAX_SWAPCHAIN_IMAGES:
1847             snprintf(s, len,
1848                      "Máximo de imagens na cadeia de trocas. \n"
1849                              "Isto pode informar ao driver de vídeo para \n"
1850                              "usar um modo de buffer específico. \n"
1851                              " \n"
1852                              "Buffer único - 1\n"
1853                              "Buffer duplo - 2\n"
1854                              "Buffer triplo - 3\n"
1855                              " \n"
1856                              "Definir o modo de buffer correto pode \n"
1857                              "ter um grande impacto na latência.");
1858             break;
1859         case MENU_ENUM_LABEL_VIDEO_SMOOTH:
1860             snprintf(s, len,
1861                      "Suaviza a imagem com filtragem bilinear. \n"
1862                              "Deve ser desativado se estiver usando shaders.");
1863             break;
1864       case MENU_ENUM_LABEL_VIDEO_CTX_SCALING:
1865          snprintf(s, len,
1866 #ifdef HAVE_ODROIDGO2
1867                "Escala RGA e filtragem bicúbica. Pode quebrar os widgets."
1868 #else
1869                "Escala de contexto de hardware (se disponível)."
1870 #endif
1871          );
1872          break;
1873         case MENU_ENUM_LABEL_TIMEDATE_ENABLE:
1874             snprintf(s, len,
1875                      "Exibir data e/ou hora atuais dentro do menu.");
1876             break;
1877         case MENU_ENUM_LABEL_TIMEDATE_STYLE:
1878            snprintf(s, len,
1879               "Estilo para mostrar a data atual e/ou a hora.");
1880            break;
1881         case MENU_ENUM_LABEL_BATTERY_LEVEL_ENABLE:
1882             snprintf(s, len,
1883                      "Exibir o nível atual de bateria dentro do menu.");
1884             break;
1885         case MENU_ENUM_LABEL_CORE_ENABLE:
1886             snprintf(s, len,
1887                      "Exibir o nome do núcleo atual dentro do menu.");
1888             break;
1889         case MENU_ENUM_LABEL_NETPLAY_ENABLE_HOST:
1890             snprintf(s, len,
1891                      "Habilitar o jogo em rede no \n"
1892                      "modo anfitrião (servidor).");
1893             break;
1894         case MENU_ENUM_LABEL_NETPLAY_ENABLE_CLIENT:
1895             snprintf(s, len,
1896                      "Habilitar o jogo em rede no modo cliente.");
1897             break;
1898         case MENU_ENUM_LABEL_NETPLAY_DISCONNECT:
1899             snprintf(s, len,
1900                      "Desconectar de uma conexão de jogo em rede ativa.");
1901             break;
1902         case MENU_ENUM_LABEL_NETPLAY_LAN_SCAN_SETTINGS:
1903             snprintf(s, len,
1904                      "Buscar por e conectar aos anfitriões \n"
1905                      "de jogo em rede na rede local.");
1906             break;
1907         case MENU_ENUM_LABEL_NETPLAY_SETTINGS:
1908             snprintf(s, len,
1909                      "Configurações relacionadas ao jogo em rede.");
1910             break;
1911         case MENU_ENUM_LABEL_DYNAMIC_WALLPAPER:
1912             snprintf(s, len,
1913                      "Carregar dinamicamente um novo plano de \n"
1914                              "fundo dependendo do contexto.");
1915             break;
1916         case MENU_ENUM_LABEL_CORE_UPDATER_BUILDBOT_URL:
1917             snprintf(s, len,
1918                      "URL para o diretório de atualização \n"
1919                              "de núcleos no buildbot do Libreto.");
1920             break;
1921         case MENU_ENUM_LABEL_BUILDBOT_ASSETS_URL:
1922             snprintf(s, len,
1923                      "URL para o diretório de atualizações \n"
1924                              "de recursos no buildbot do Libretro.");
1925             break;
1926         case MENU_ENUM_LABEL_INPUT_REMAP_BINDS_ENABLE:
1927             snprintf(s, len,
1928                      "Se habilitado, substitui os vínculos da \n"
1929                              "entrada com os vínculos remapeados \n"
1930                              "definidos para o núcleo atual.");
1931             break;
1932         case MENU_ENUM_LABEL_OVERLAY_DIRECTORY:
1933             snprintf(s, len,
1934                      "Diretório de Sobreposições. \n"
1935                              " \n"
1936                              "Define um diretório onde as sobreposições \n"
1937                              "são mantidas para fácil acesso.");
1938             break;
1939         case MENU_ENUM_LABEL_VIDEO_LAYOUT_DIRECTORY:
1940             snprintf(s, len,
1941                      "Diretório do esquema de vídeo. \n"
1942                              " \n"
1943                              "Define um diretório onde os esquemas de vídeo \n"
1944                              "são mantidos para facilitar o acesso.");
1945             break;
1946         case MENU_ENUM_LABEL_INPUT_MAX_USERS:
1947             snprintf(s, len,
1948                      "Número máximo de usuários \n"
1949                              "suportados pelo RetroArch.");
1950             break;
1951         case MENU_ENUM_LABEL_CORE_UPDATER_AUTO_EXTRACT_ARCHIVE:
1952             snprintf(s, len,
1953                      "Após o download, extrair automaticamente \n"
1954                              "os arquivos contidos nos arquivos \n"
1955                              "comprimidos baixados.");
1956             break;
1957         case MENU_ENUM_LABEL_NAVIGATION_BROWSER_FILTER_SUPPORTED_EXTENSIONS_ENABLE:
1958             snprintf(s, len,
1959                      "Filtrar arquivos em exibição \n"
1960                              "por extensões suportadas.");
1961             break;
1962         case MENU_ENUM_LABEL_NETPLAY_NICKNAME:
1963             snprintf(s, len,
1964                      "O nome de usuário da pessoa executando \n"
1965                              "o RetroArch. \n"
1966                              "Será utilizado para jogos online.");
1967             break;
1968         case MENU_ENUM_LABEL_NETPLAY_TCP_UDP_PORT:
1969             snprintf(s, len,
1970                      "A porta do endereço de IP do anfitrião. \n"
1971                              "Pode ser ou uma porta TCP ou uma porta UDP.");
1972             break;
1973         case MENU_ENUM_LABEL_NETPLAY_SPECTATOR_MODE_ENABLE:
1974             snprintf(s, len,
1975                      "Habilitar ou desabilitar o modo espectador \n"
1976                              "para o usuário durante o jogo em rede.");
1977             break;
1978         case MENU_ENUM_LABEL_NETPLAY_IP_ADDRESS:
1979             snprintf(s, len,
1980                      "O endereço do anfitrião a se conectar.");
1981             break;
1982         case MENU_ENUM_LABEL_NETPLAY_PASSWORD:
1983             snprintf(s, len,
1984                      "A senha para conectar ao anfitrião de jogo em rede \n"
1985                              "Utilizado apenas em modo anfitrião.");
1986             break;
1987         case MENU_ENUM_LABEL_NETPLAY_SPECTATE_PASSWORD:
1988             snprintf(s, len,
1989                      "A senha para conectar ao anfitrião \n"
1990                              "de jogo em rede apenas com privilégios de \n"
1991                              "espectador. Utilizado apenas em modo \n"
1992                              "anfitrião.");
1993             break;
1994         case MENU_ENUM_LABEL_STDIN_CMD_ENABLE:
1995             snprintf(s, len,
1996                      "Habilitar interface de comando stdin.");
1997             break;
1998         case MENU_ENUM_LABEL_UI_COMPANION_START_ON_BOOT:
1999             snprintf(s, len,
2000                      "Rodar o Companheiro de Interface de Usuário \n"
2001                              "na inicialização (se disponível).");
2002             break;
2003         case MENU_ENUM_LABEL_MENU_DRIVER:
2004             snprintf(s, len, "Driver de menu a ser utilizado.");
2005             break;
2006         case MENU_ENUM_LABEL_INPUT_MENU_ENUM_TOGGLE_GAMEPAD_COMBO:
2007             snprintf(s, len,
2008                      "Combinação de botões do Gamepad \n"
2009                              "para alternar o menu. \n"
2010                              " \n"
2011                              "0 - Nenhuma \n"
2012                              "1 - Pressionar L + R + Y + Direcional \n"
2013                              "para baixo simultaneamente. \n"
2014                              "2 - Pressionar L3 + R3 simultaneamente. \n"
2015                              "3 - Pressionar Start + Select simultaneamente.");
2016             break;
2017         case MENU_ENUM_LABEL_INPUT_ALL_USERS_CONTROL_MENU:
2018             snprintf(s, len, "Permitir controlar o menu a qualquer usuário. \n"
2019                     " \n"
2020                     "Se desabilitado, apenas o Usuário 1 \n"
2021                     "poderá controlar o menu.");
2022             break;
2023         case MENU_ENUM_LABEL_INPUT_AUTODETECT_ENABLE:
2024             snprintf(s, len,
2025                      "Habilitar a detecção automática de entrada. \n"
2026                              " \n"
2027                              "Vai tentar autoconfigurar \n"
2028                              "Joypads no estilo 'Plug-and-Play'.");
2029             break;
2030         case MENU_ENUM_LABEL_CAMERA_ALLOW:
2031             snprintf(s, len,
2032                      "Permitir ou negar acesso a câmera \n"
2033                              "pelos núcleos.");
2034             break;
2035         case MENU_ENUM_LABEL_LOCATION_ALLOW:
2036             snprintf(s, len,
2037                      "Permitir ou negar acesso aos \n"
2038                              "serviços de localização pelos núcleos.");
2039             break;
2040         case MENU_ENUM_LABEL_TURBO:
2041             snprintf(s, len,
2042                      "Habilitar turbo.\n"
2043                              " \n"
2044                              "Manter o turbo pressionado enquanto \n"
2045                              "pressiona outro botão faz com que o \n"
2046                              "botão entre em modo turbo, onde o estado \n"
2047                              "do botão é modulado com um sinal periódico. \n"
2048                              " \n"
2049                              "A modulação termina quando o botão em si \n"
2050                              "mesmo (não o botão de turbo) for liberado.");
2051             break;
2052         case MENU_ENUM_LABEL_OSK_ENABLE:
2053             snprintf(s, len,
2054                      "Habilitar/desabilitar teclado virtual.");
2055             break;
2056         case MENU_ENUM_LABEL_AUDIO_MUTE:
2057             snprintf(s, len,
2058                      "Áudio mudo/não-mudo.");
2059             break;
2060         case MENU_ENUM_LABEL_REWIND:
2061             snprintf(s, len,
2062                      "Manter o botão pressionado para \n"
2063                      "Voltar Atrás. \n"
2064                              " \n"
2065                              "Voltar Atrás precisa estar habilitado.");
2066             break;
2067         case MENU_ENUM_LABEL_EXIT_EMULATOR:
2068             snprintf(s, len,
2069                      "Tecla para sair do RetroArch de modo limpo."
2070 #if !defined(RARCH_MOBILE) && !defined(RARCH_CONSOLE)
2071                             "\nEncerrá-lo de forma brusca (SIGKILL, \n"
2072                             "etc) irá terminar sem salvar \n"
2073                             "RAM, etc. Em Unix-likes, \n"
2074                             "SIGINT/SIGTERM permitem \n"
2075                             "uma desinicialização limpa."
2076 #endif
2077             );
2078             break;
2079         case MENU_ENUM_LABEL_LOAD_STATE:
2080             snprintf(s, len,
2081                      "Carregar jogo salvo.");
2082             break;
2083         case MENU_ENUM_LABEL_SAVE_STATE:
2084             snprintf(s, len,
2085                      "Salvar jogo.");
2086             break;
2087         case MENU_ENUM_LABEL_NETPLAY_GAME_WATCH:
2088             snprintf(s, len,
2089                      "Alternar modo jogador/espectador do jogo em rede.");
2090             break;
2091         case MENU_ENUM_LABEL_CHEAT_INDEX_PLUS:
2092             snprintf(s, len,
2093                      "Aumentar o índice de trapaça. \n");
2094             break;
2095         case MENU_ENUM_LABEL_CHEAT_INDEX_MINUS:
2096             snprintf(s, len,
2097                      "Diminuir o índice de trapaça. \n");
2098             break;
2099         case MENU_ENUM_LABEL_SHADER_PREV:
2100             snprintf(s, len,
2101                      "Aplicar o shader anterior no diretório.");
2102             break;
2103         case MENU_ENUM_LABEL_SHADER_NEXT:
2104             snprintf(s, len,
2105                      "Aplicar o próximo shader do diretório.");
2106             break;
2107         case MENU_ENUM_LABEL_RESET:
2108             snprintf(s, len,
2109                      "Reiniciar o conteúdo. \n");
2110             break;
2111         case MENU_ENUM_LABEL_PAUSE_TOGGLE:
2112             snprintf(s, len,
2113                      "Alternar estado pausado e não-pausado.");
2114             break;
2115         case MENU_ENUM_LABEL_CHEAT_TOGGLE:
2116             snprintf(s, len,
2117                      "Alternar índice de trapaça. \n");
2118             break;
2119         case MENU_ENUM_LABEL_CHEAT_IDX:
2120             snprintf(s, len,
2121                      "Posição do índice na lista.\n");
2122             break;
2123         case MENU_ENUM_LABEL_CHEAT_ADDRESS_BIT_POSITION:
2124             snprintf(s, len,
2125                      "Bitmask o endereço quando o tamanho da busca da memória for < 8-bit.\n");
2126             break;
2127         case MENU_ENUM_LABEL_CHEAT_REPEAT_COUNT:
2128             snprintf(s, len,
2129                      "O número de vezes que a trapaça será aplicada.\nUse com as outras duas opções de iteração para afetar grandes áreas de memória.");
2130             break;
2131         case MENU_ENUM_LABEL_CHEAT_REPEAT_ADD_TO_ADDRESS:
2132             snprintf(s, len,
2133                      "Após cada 'Número de iterações', o endereço de memória será aumentado por este número multiplicado pelo 'Tamanho da pesquisa na memória'.");
2134             break;
2135         case MENU_ENUM_LABEL_CHEAT_REPEAT_ADD_TO_VALUE:
2136             snprintf(s, len,
2137                      "Após cada 'Número de iterações', o valor será aumentado por esse valor.");
2138             break;
2139         case MENU_ENUM_LABEL_CHEAT_MATCH_IDX:
2140             snprintf(s, len,
2141                      "Selecionar a coincidência para visualizar.");
2142             break;
2143         case MENU_ENUM_LABEL_CHEAT_START_OR_CONT:
2144             snprintf(s, len,
2145                      "Verificar a memória para criar novas trapaças");
2146             break;
2147         case MENU_ENUM_LABEL_CHEAT_START_OR_RESTART:
2148             snprintf(s, len,
2149                      "Esquerda/Direita para alterar o tamanho do bit\n");
2150             break;
2151         case MENU_ENUM_LABEL_CHEAT_SEARCH_EXACT:
2152             snprintf(s, len,
2153                      "Esquerda/Direita para alterar o valor\n");
2154             break;
2155         case MENU_ENUM_LABEL_CHEAT_SEARCH_LT:
2156             snprintf(s, len,
2157                      " ");
2158             break;
2159         case MENU_ENUM_LABEL_CHEAT_SEARCH_GT:
2160             snprintf(s, len,
2161                      " ");
2162             break;
2163         case MENU_ENUM_LABEL_CHEAT_SEARCH_EQ:
2164             snprintf(s, len,
2165                      " ");
2166             break;
2167         case MENU_ENUM_LABEL_CHEAT_SEARCH_NEQ:
2168             snprintf(s, len,
2169                      " ");
2170             break;
2171         case MENU_ENUM_LABEL_CHEAT_SEARCH_EQPLUS:
2172             snprintf(s, len,
2173                      "Esquerda/Direita para alterar o valor\n");
2174             break;
2175         case MENU_ENUM_LABEL_CHEAT_SEARCH_EQMINUS:
2176             snprintf(s, len,
2177                      "Esquerda/Direita para alterar o valor\n");
2178             break;
2179         case MENU_ENUM_LABEL_CHEAT_ADD_MATCHES:
2180             snprintf(s, len,
2181                      " ");
2182             break;
2183         case MENU_ENUM_LABEL_CHEAT_VIEW_MATCHES:
2184             snprintf(s, len,
2185                      " ");
2186             break;
2187         case MENU_ENUM_LABEL_CHEAT_CREATE_OPTION:
2188             snprintf(s, len,
2189                      " ");
2190             break;
2191         case MENU_ENUM_LABEL_CHEAT_DELETE_OPTION:
2192             snprintf(s, len,
2193                      " ");
2194             break;
2195         case MENU_ENUM_LABEL_CHEAT_ADD_NEW_TOP:
2196             snprintf(s, len,
2197                      " ");
2198             break;
2199         case MENU_ENUM_LABEL_CHEAT_RELOAD_CHEATS:
2200             snprintf(s, len,
2201                      " ");
2202             break;
2203         case MENU_ENUM_LABEL_CHEAT_ADD_NEW_BOTTOM:
2204             snprintf(s, len,
2205                      " ");
2206             break;
2207         case MENU_ENUM_LABEL_CHEAT_DELETE_ALL:
2208             snprintf(s, len,
2209                      " ");
2210             break;
2211         case MENU_ENUM_LABEL_CHEAT_BIG_ENDIAN:
2212             snprintf(s, len,
2213                      "Big endian    : 258 = 0x0102\n"
2214                      "Little endian : 258 = 0x0201");
2215             break;
2216         case MENU_ENUM_LABEL_HOLD_FAST_FORWARD:
2217             snprintf(s, len,
2218                      "Manter pressionado para avanço rápido \n"
2219                              "Soltar o botão desativa o avanço rápido.");
2220             break;
2221         case MENU_ENUM_LABEL_SLOWMOTION_HOLD:
2222             snprintf(s, len,
2223                      "Manter pressionado para câmera lenta.");
2224             break;
2225         case MENU_ENUM_LABEL_FRAME_ADVANCE:
2226             snprintf(s, len,
2227                      "Avanço de quadro quando o conteúdo \n"
2228                      "estiver pausado.");
2229             break;
2230         case MENU_ENUM_LABEL_BSV_RECORD_TOGGLE:
2231             snprintf(s, len,
2232                      "Alternar entre gravando ou não.");
2233             break;
2234         case MENU_ENUM_LABEL_L_X_PLUS:
2235         case MENU_ENUM_LABEL_L_X_MINUS:
2236         case MENU_ENUM_LABEL_L_Y_PLUS:
2237         case MENU_ENUM_LABEL_L_Y_MINUS:
2238         case MENU_ENUM_LABEL_R_X_PLUS:
2239         case MENU_ENUM_LABEL_R_X_MINUS:
2240         case MENU_ENUM_LABEL_R_Y_PLUS:
2241         case MENU_ENUM_LABEL_R_Y_MINUS:
2242             snprintf(s, len,
2243                      "Eixos para controle analógico (tipo DualShock). \n"
2244                              " \n"
2245                              "Vinculado como de costume, contudo, \n"
2246                              "se um eixo analógico real \n"
2247                              "estiver vinculado, ele pode ser lido \n"
2248                              "como um analógico verdadeiro. \n"
2249                              " \n"
2250                              "Eixo X positivo é direita. \n"
2251                              "Eixo Y positivo é para baixo.");
2252             break;
2253         case MENU_ENUM_LABEL_VALUE_WHAT_IS_A_CORE_DESC:
2254             snprintf(s, len,
2255                      "O RetroArch sozinho não faz nada. \n"
2256                             " \n"
2257                             "Para fazê-lo funcionar, você precisa \n"
2258                             "carregar um programa nele. \n"
2259                             "\n"
2260                             "Nós chamamos esses programas de \n"
2261                             "'Núcleo Libretro', ou 'núcleo' para encurtar. \n"
2262                             " \n"
2263                             "Para carregar um núcleo, selecione um \n"
2264                             "em 'Carregar Núcleo'.\n"
2265                             " \n"
2266 #ifdef HAVE_NETWORKING
2267                     "Você pode obter núcleos de várias formas: \n"
2268                     "* Baixando-os, indo em \n"
2269                     "'%s' -> '%s'.\n"
2270                     "* Movendo-os manualmente para \n"
2271                     "'%s'.",
2272                     msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ONLINE_UPDATER),
2273                     msg_hash_to_str(MENU_ENUM_LABEL_VALUE_CORE_UPDATER_LIST),
2274                     msg_hash_to_str(MENU_ENUM_LABEL_VALUE_LIBRETRO_DIR_PATH)
2275 #else
2276                             "Você pode obter núcleos \n"
2277                             "movendo-os manualmente para \n"
2278                             "'%s'.",
2279                      msg_hash_to_str(MENU_ENUM_LABEL_VALUE_LIBRETRO_DIR_PATH)
2280 #endif
2281             );
2282             break;
2283         case MENU_ENUM_LABEL_VALUE_HELP_CHANGE_VIRTUAL_GAMEPAD_DESC:
2284             snprintf(s, len,
2285                      "Você pode alterar a sobreposição de \n"
2286                              "gamepad virtual indo em \n"
2287                              "'%s' -> '%s'. \n"
2288                              " \n"
2289                              "De lá você pode alterar a sobreposição, \n"
2290                              "mudar o tamanho e opacidade dos botões, etc. \n"
2291                              " \n"
2292                              "NOTA: Por padrão, as sobreposições de gamepad \n"
2293                              "virtual ficam ocultas quando dentro do menu. \n"
2294                              "Se você quiser alterar este comportamento, \n"
2295                              "você pode definir '%s' como falso.",
2296                      msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SETTINGS),
2297                      msg_hash_to_str(MENU_ENUM_LABEL_VALUE_OVERLAY_SETTINGS),
2298                      msg_hash_to_str(MENU_ENUM_LABEL_VALUE_INPUT_OVERLAY_HIDE_IN_MENU)
2299             );
2300             break;
2301         case MENU_ENUM_LABEL_VALUE_VIDEO_MESSAGE_BGCOLOR_ENABLE:
2302             snprintf(s, len,
2303                      "Ativa uma cor de fundo para a exibição da tela (OSD).");
2304             break;
2305         case MENU_ENUM_LABEL_VALUE_VIDEO_MESSAGE_BGCOLOR_RED:
2306             snprintf(s, len,
2307                      "Define o valor vermelho da cor de fundo da exibição da tela (OSD). Valores válidos estão entre 0 e 255.");
2308             break;
2309         case MENU_ENUM_LABEL_VALUE_VIDEO_MESSAGE_BGCOLOR_GREEN:
2310             snprintf(s, len,
2311                      "Define o valor verde da cor de fundo da exibição da tela (OSD). Valores válidos estão entre 0 e 255.");
2312             break;
2313         case MENU_ENUM_LABEL_VALUE_VIDEO_MESSAGE_BGCOLOR_BLUE:
2314             snprintf(s, len,
2315                      "Define o valor azul da cor de fundo da exibição da tela (OSD). Valores válidos estão entre 0 e 255.");
2316             break;
2317         case MENU_ENUM_LABEL_VALUE_VIDEO_MESSAGE_BGCOLOR_OPACITY:
2318             snprintf(s, len,
2319                      "Define a opacidade da cor de fundo da exibição da tela (OSD). Valores válidos estão entre 0.0 e 1.0.");
2320             break;
2321         case MENU_ENUM_LABEL_VALUE_VIDEO_MESSAGE_COLOR_RED:
2322             snprintf(s, len,
2323                      "Define o valor vermelho da cor do texto da exibição da tela (OSD). Valores válidos estão entre 0 e 255.");
2324             break;
2325         case MENU_ENUM_LABEL_VALUE_VIDEO_MESSAGE_COLOR_GREEN:
2326             snprintf(s, len,
2327                      "Define o valor verde da cor do texto da exibição da tela (OSD). Valores válidos estão entre 0 e 255.");
2328             break;
2329         case MENU_ENUM_LABEL_VALUE_VIDEO_MESSAGE_COLOR_BLUE:
2330             snprintf(s, len,
2331                      "Define o valor azul da cor do texto da exibição da tela (OSD). Valores válidos estão entre 0 e 255.");
2332             break;
2333         case MENU_ENUM_LABEL_MIDI_DRIVER:
2334             snprintf(s, len,
2335                      "Driver MIDI a ser utilizado.");
2336             break;
2337         case MENU_ENUM_LABEL_MIDI_INPUT:
2338             snprintf(s, len,
2339                      "Define o dispositivo de entrada (driver específico).\n"
2340                      "Quando definido para \"Off\", a entrada MIDI será desativada.\n"
2341                      "O nome do dispositivo também pode ser digitado.");
2342             break;
2343         case MENU_ENUM_LABEL_MIDI_OUTPUT:
2344             snprintf(s, len,
2345                      "Define o dispositivo de saída (driver específico).\n"
2346                      "Quando definido para \"Off\", a saída MIDI será desativada.\n"
2347                      "O nome do dispositivo também pode ser digitado.\n"
2348                      " \n"
2349                      "Quando a saída MIDI é ativada e o núcleo e o jogo suportam a saída MIDI,,\n"
2350                      "Quando a saída MIDI é ativada e o núcleo e o jogo suportam a saída MIDI,\n"
2351                      "No caso do driver MIDI \"null\", isso significa que esses sons não serão audíveis.");
2352             break;
2353         case MENU_ENUM_LABEL_MIDI_VOLUME:
2354             snprintf(s, len,
2355                      "Define o volume principal do dispositivo de saída.");
2356             break;
2357         default:
2358             if (string_is_empty(s))
2359                 strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_INFORMATION_AVAILABLE), len);
2360             return -1;
2361     }
2362 
2363     return 0;
2364 }
2365 #endif
2366 
2367 #ifdef HAVE_MENU
menu_hash_to_str_pt_br_label_enum(enum msg_hash_enums msg)2368 static const char *menu_hash_to_str_pt_br_label_enum(enum msg_hash_enums msg)
2369 {
2370    if (msg <= MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_END &&
2371          msg >= MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_BEGIN)
2372    {
2373       static char hotkey_lbl[128] = {0};
2374       unsigned idx = msg - MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_BEGIN;
2375       snprintf(hotkey_lbl, sizeof(hotkey_lbl), "input_hotkey_binds_%d", idx);
2376       return hotkey_lbl;
2377    }
2378 
2379    switch (msg)
2380    {
2381 #include "msg_hash_lbl.h"
2382       default:
2383 #if 0
2384          RARCH_LOG("Unimplemented: [%d]\n", msg);
2385 #endif
2386          break;
2387    }
2388 
2389    return "null";
2390 }
2391 #endif
2392 
msg_hash_to_str_pt_br(enum msg_hash_enums msg)2393 const char *msg_hash_to_str_pt_br(enum msg_hash_enums msg) {
2394 #ifdef HAVE_MENU
2395     const char *ret = menu_hash_to_str_pt_br_label_enum(msg);
2396 
2397     if (ret && !string_is_equal(ret, "null"))
2398        return ret;
2399 #endif
2400 
2401     switch (msg) {
2402 #include "msg_hash_pt_br.h"
2403         default:
2404 #if 0
2405             RARCH_LOG("Unimplemented: [%d]\n", msg);
2406             {
2407                RARCH_LOG("[%d] : %s\n", msg - 1, msg_hash_to_str(((enum msg_hash_enums)(msg - 1))));
2408             }
2409 #endif
2410             break;
2411     }
2412 
2413     return "null";
2414 }
2415