1 /* RetroArch - A frontend for libretro.
2 * Copyright (C) 2011-2017 - Daniel De Matteis
3 * Copyright (C) 2018 - Alfredo Monclus
4 * Copyright (C) 2019-2020 - Víctor González Fraile
5 *
6 * RetroArch is free software: you can redistribute it and/or modify it under the terms
7 * of the GNU General Public License as published by the Free Software Found-
8 * ation, either version 3 of the License, or (at your option) any later version.
9 *
10 * RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
11 * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12 * PURPOSE. See the GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License along with RetroArch.
15 * If not, see <http://www.gnu.org/licenses/>.
16 *
17 * CHARACTER/LINES HARD LIMIT (MEASURED BY THE LOWEST COMMON DENOMINATOR, THE RGUI INTERFACE):
18 * 48 CHARACTERS PER LINE
19 * 20 LINES PER SCREEN
20 *
21 * LÍMITES FIJOS DE CARACTERES/LÍNEAS (MEDIDOS SEGÚN EL DENOMINADOR COMÚN MÁS BAJO, LA INTERFAZ RGUI):
22 * 48 CARACTERES POR LÍNEA
23 * 20 LÍNEAS POR PANTALLA
24 */
25
26 #include <stdio.h>
27 #include <stdint.h>
28 #include <stddef.h>
29
30 #include <compat/strl.h>
31 #include <string/stdstring.h>
32
33 #include "../msg_hash.h"
34 #include "../verbosity.h"
35
36 #ifdef RARCH_INTERNAL
37 #include "../configuration.h"
38
39 #if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900)
40 #if (_MSC_VER >= 1700)
41 /* https://support.microsoft.com/en-us/kb/980263 */
42 #pragma execution_character_set("utf-8")
43 #endif
44 #pragma warning(disable:4566)
45 #endif
46
msg_hash_get_help_es_enum(enum msg_hash_enums msg,char * s,size_t len)47 int msg_hash_get_help_es_enum(enum msg_hash_enums msg, char *s, size_t len)
48 {
49 settings_t *settings = config_get_ptr();
50
51 if (msg == MENU_ENUM_LABEL_CONNECT_NETPLAY_ROOM)
52 {
53 snprintf(s, len,
54 "PENDIENTE: Rellenar este mensaje."
55 );
56 return 0;
57 }
58 if (msg <= MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_END &&
59 msg >= MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_BEGIN)
60 {
61 unsigned idx = msg - MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_BEGIN;
62
63 switch (idx)
64 {
65 case RARCH_FAST_FORWARD_KEY:
66 snprintf(s, len,
67 "Alterna entre la velocidad normal y\n"
68 "el avance rápido."
69 );
70 break;
71 case RARCH_FAST_FORWARD_HOLD_KEY:
72 snprintf(s, len,
73 "Mantén pulsado este botón para usar\n"
74 "el avance rápido."
75 );
76 break;
77 case RARCH_SLOWMOTION_KEY:
78 snprintf(s, len,
79 "Alterna la cámara lenta.");
80 break;
81 case RARCH_SLOWMOTION_HOLD_KEY:
82 snprintf(s, len,
83 "Mantén pulsado este botón para usar\n"
84 "la cámara lenta.");
85 break;
86 case RARCH_PAUSE_TOGGLE:
87 snprintf(s, len,
88 "Alterna el uso de la pausa.");
89 break;
90 case RARCH_FRAMEADVANCE:
91 snprintf(s, len,
92 "Avanza fotogramas mientras el contenido\n"
93 "está pausado.");
94 break;
95 case RARCH_SHADER_NEXT:
96 snprintf(s, len,
97 "Aplica el siguiente shader de la carpeta.");
98 break;
99 case RARCH_SHADER_PREV:
100 snprintf(s, len,
101 "Aplica el shader anterior de la carpeta.");
102 break;
103 case RARCH_CHEAT_INDEX_PLUS:
104 case RARCH_CHEAT_INDEX_MINUS:
105 case RARCH_CHEAT_TOGGLE:
106 snprintf(s, len,
107 "Trucos.");
108 break;
109 case RARCH_RESET:
110 snprintf(s, len,
111 "Reinicia el contenido.");
112 break;
113 case RARCH_SCREENSHOT:
114 snprintf(s, len,
115 "Captura la pantalla.");
116 break;
117 case RARCH_MUTE:
118 snprintf(s, len,
119 "Silencia o no el audio.");
120 break;
121 case RARCH_OSK:
122 snprintf(s, len,
123 "Alterna el teclado en pantalla.");
124 break;
125 case RARCH_FPS_TOGGLE:
126 snprintf(s, len,
127 "Muestra o no el contador de fotogramas\n"
128 "por segundo.");
129 break;
130 case RARCH_SEND_DEBUG_INFO:
131 snprintf(s, len,
132 "Envía información de diagnóstico de\n"
133 "tu dispositivo y la configuración de RetroArch\n"
134 "a nuestros servidores para su posterior\n"
135 "análisis.");
136 break;
137 case RARCH_NETPLAY_HOST_TOGGLE:
138 snprintf(s, len,
139 "Activa o desactiva el servidor de juego en red.");
140 break;
141 case RARCH_NETPLAY_GAME_WATCH:
142 snprintf(s, len,
143 "Cambia entre los modos de jugador o espectador\n"
144 "en el juego en red.");
145 break;
146 case RARCH_ENABLE_HOTKEY:
147 snprintf(s, len,
148 "Activa otras teclas rápidas.\n"
149 " \n"
150 "Si esta tecla rápida está asignada a un\n"
151 "teclado, un botón o un eje de un mando,\n"
152 "el resto de teclas rápidas se desactivarán\n"
153 "a menos que esta tecla sea pulsada\n"
154 "al mismo tiempo.\n"
155 " \n"
156 "Por otro lado, el usuario puede desactivar\n"
157 "todas las teclas rápidas del teclado.");
158 break;
159 case RARCH_VOLUME_UP:
160 snprintf(s, len,
161 "Aumenta el volumen del audio.");
162 break;
163 case RARCH_VOLUME_DOWN:
164 snprintf(s, len,
165 "Disminuye el volumen del audio.");
166 break;
167 case RARCH_OVERLAY_NEXT:
168 snprintf(s, len,
169 "Cambia a la siguiente superposición.\n"
170 " \n"
171 "Se expandirá sobre la pantalla.");
172 break;
173 case RARCH_DISK_EJECT_TOGGLE:
174 snprintf(s, len,
175 "Alterna el botón de expulsión\n"
176 "de discos.\n"
177 " \n"
178 "Se utiliza para contenidos\n"
179 "que utilicen varios discos.");
180 break;
181 case RARCH_DISK_NEXT:
182 case RARCH_DISK_PREV:
183 snprintf(s, len,
184 "Cambia de imagen de disco.\n"
185 "Utilízalo tras expulsar un disco.\n"
186 " \n"
187 "Termina la operación volviendo a pulsar\n"
188 "el botón de expulsión.");
189 break;
190 case RARCH_GRAB_MOUSE_TOGGLE:
191 snprintf(s, len,
192 "Permite o no capturar el ratón.\n"
193 " \n"
194 "Al capturar el ratón, RetroArch lo ocultará\n"
195 "y mantendrá el puntero del ratón dentro de\n"
196 "la ventana para que la entrada relativa\n"
197 "del ratón funcione mejor.");
198 break;
199 case RARCH_GAME_FOCUS_TOGGLE:
200 snprintf(s, len,
201 "Activa o desactiva la prioridad al juego.\n"
202 " \n"
203 "Cuando el juego tiene prioridad, RetroArch\n"
204 "desactivará las teclas rápidas y mantendrá\n"
205 "el puntero del ratón en el interior de\n"
206 "la ventana.");
207 break;
208 case RARCH_MENU_TOGGLE:
209 snprintf(s, len,
210 "Muestra u oculta el menú.");
211 break;
212 case RARCH_LOAD_STATE_KEY:
213 snprintf(s, len,
214 "Carga el guardado rápido.");
215 break;
216 case RARCH_FULLSCREEN_TOGGLE_KEY:
217 snprintf(s, len,
218 "Alterna entre los modos\n"
219 "de pantalla completa y ventana.");
220 break;
221 case RARCH_QUIT_KEY:
222 snprintf(s, len,
223 "Asigna una tecla para abandonar RetroArch\n"
224 "limpiamente.\n"
225 " \n"
226 "Si cierras el programa de cualquier forma\n"
227 "brusca (SIGKILL, etc.) no se guardarán los\n"
228 "progresos, la RAM, etc.\n"
229 #ifdef __unix__
230 "\nEn sistemas Unix, SIGINT/SIGTERM permite\n"
231 "un cierre limpio."
232 #endif
233 "");
234 break;
235 case RARCH_STATE_SLOT_PLUS:
236 case RARCH_STATE_SLOT_MINUS:
237 snprintf(s, len,
238 "Posiciones de guardados rápidos.\n"
239 " \n"
240 "Si se selecciona la posición 0, el nombre del\n"
241 "guardado rápido será *.state (o lo que esté\n"
242 "definido en la línea de comandos).\n"
243 " \n"
244 "Si la ranura es un valor distinto a 0, la ruta\n"
245 "será (path)(d), siendo (d) el número de\n"
246 "la posición.");
247 break;
248 case RARCH_SAVE_STATE_KEY:
249 snprintf(s, len,
250 "Guarda rápidamente la partida.");
251 break;
252 case RARCH_REWIND:
253 snprintf(s, len,
254 "Mantén pulsado este botón para rebobinar.\n"
255 " \n"
256 "Para que este botón funcione, debes tener\n"
257 "activada la opción de rebobinar.");
258 break;
259 case RARCH_BSV_RECORD_TOGGLE:
260 snprintf(s, len,
261 "Activa o desactiva la grabación.");
262 break;
263 default:
264 if (string_is_empty(s))
265 strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_INFORMATION_AVAILABLE), len);
266 break;
267 }
268
269 return 0;
270 }
271
272 switch (msg)
273 {
274 case MENU_ENUM_LABEL_ACCOUNTS_RETRO_ACHIEVEMENTS:
275 snprintf(s, len,
276 "Los datos para iniciar sesión con\n"
277 "tu cuenta de Retro Achievements.\n"
278 " \n"
279 "Visita retroachievements.org para\n"
280 "registrarte de forma gratuita.\n"
281 " \n"
282 "Una vez te hayas registrado, tendrás que\n"
283 "introducir tu nombre de usuario y tu\n"
284 "contraseña en RetroArch.");
285 break;
286 case MENU_ENUM_LABEL_CHEEVOS_USERNAME:
287 snprintf(s, len,
288 "El nombre de usuario de tu cuenta\n"
289 "de Retro Achievements.");
290 break;
291 case MENU_ENUM_LABEL_CHEEVOS_PASSWORD:
292 snprintf(s, len,
293 "La contraseña de tu cuenta\n"
294 "de Retro Achievements.");
295 break;
296 case MENU_ENUM_LABEL_USER_LANGUAGE:
297 snprintf(s, len,
298 "Traduce el menú y todos los mensajes\n"
299 "en pantalla al idioma que hayas seleccionado.\n"
300 " \n"
301 "Para aplicar los cambios es necesario\n"
302 "reiniciar.\n"
303 " \n"
304 "Nota: Puede que todos los idiomas\n"
305 "no estén implementados.\n"
306 " \n"
307 "Si un idioma no está implementado,\n"
308 "se traducirá al inglés por defecto.");
309 break;
310 case MENU_ENUM_LABEL_VIDEO_FONT_PATH:
311 snprintf(s, len,
312 "Cambia la fuente de letra utilizada\n"
313 "en los mensajes en pantalla.");
314 break;
315 case MENU_ENUM_LABEL_GAME_SPECIFIC_OPTIONS:
316 snprintf(s, len, "Carga automáticamente las opciones del núcleo\n"
317 "específicas para cada contenido.");
318 break;
319 case MENU_ENUM_LABEL_AUTO_OVERRIDES_ENABLE:
320 snprintf(s, len, "Carga automáticamente las configuraciones\n"
321 "personalizadas.");
322 break;
323 case MENU_ENUM_LABEL_AUTO_REMAPS_ENABLE:
324 snprintf(s, len, "Carga automáticamente los archivos\n"
325 "de reasignación de entrada.");
326 break;
327 case MENU_ENUM_LABEL_SORT_SAVESTATES_ENABLE:
328 snprintf(s, len, "Ordena los guardados rápidos mediante\n"
329 "carpetas con el nombre del núcleo libretro\n"
330 "correspondiente.");
331 break;
332 case MENU_ENUM_LABEL_SORT_SAVEFILES_ENABLE:
333 snprintf(s, len, "Ordena los guardados rápidos mediante\n"
334 "carpetas con el nombre del núcleo libretro\n"
335 "correspondiente.");
336 break;
337 case MENU_ENUM_LABEL_RESUME_CONTENT:
338 snprintf(s, len, "Abandona el menú y vuelve al contenido.");
339 break;
340 case MENU_ENUM_LABEL_RESTART_CONTENT:
341 snprintf(s, len, "Reinicia el contenido desde el principio.");
342 break;
343 case MENU_ENUM_LABEL_CLOSE_CONTENT:
344 snprintf(s, len, "Cierra el contenido\n"
345 "y lo descarga de la memoria.");
346 break;
347 case MENU_ENUM_LABEL_UNDO_LOAD_STATE:
348 snprintf(s, len, "Si se ha cargado un guardado rápido,\n"
349 "el contenido volverá al estado anterior\n"
350 "a dicha carga.");
351 break;
352 case MENU_ENUM_LABEL_UNDO_SAVE_STATE:
353 snprintf(s, len, "Si se ha sobrescrito un guardado rápido,\n"
354 "este volverá a su estado anterior.");
355 break;
356 case MENU_ENUM_LABEL_TAKE_SCREENSHOT:
357 snprintf(s, len, "Captura la pantalla en una imagen.\n"
358 " \n"
359 "La imagen se almacenará dentro de la carpeta\n"
360 "de capturas de pantalla.");
361 break;
362 case MENU_ENUM_LABEL_ADD_TO_FAVORITES:
363 snprintf(s, len, "Agrega esta entrada a tus favoritos.");
364 break;
365 case MENU_ENUM_LABEL_RUN:
366 snprintf(s, len, "Inicia el contenido.");
367 break;
368 case MENU_ENUM_LABEL_INFORMATION:
369 snprintf(s, len, "Muestra información adicional\n"
370 "de los metadatos del contenido.");
371 break;
372 case MENU_ENUM_LABEL_FILE_BROWSER_CONFIG:
373 snprintf(s, len, "Archivo de configuración.");
374 break;
375 case MENU_ENUM_LABEL_FILE_BROWSER_COMPRESSED_ARCHIVE:
376 snprintf(s, len, "Archivo comprimido.");
377 break;
378 case MENU_ENUM_LABEL_FILE_BROWSER_RECORD_CONFIG:
379 snprintf(s, len, "Archivo de configuración de grabaciones.");
380 break;
381 case MENU_ENUM_LABEL_FILE_BROWSER_CURSOR:
382 snprintf(s, len, "Archivos de base de datos de cursores.");
383 break;
384 case MENU_ENUM_LABEL_FILE_CONFIG:
385 snprintf(s, len, "Archivo de configuración.");
386 break;
387 case MENU_ENUM_LABEL_SCAN_THIS_DIRECTORY:
388 snprintf(s, len,
389 "Selecciona esta opción para buscar contenidos\n"
390 "en la carpeta actual.");
391 break;
392 case MENU_ENUM_LABEL_USE_THIS_DIRECTORY:
393 snprintf(s, len,
394 "Selecciona esta opción para asignar\n"
395 "esta carpeta.");
396 break;
397 case MENU_ENUM_LABEL_CONTENT_DATABASE_DIRECTORY:
398 snprintf(s, len,
399 "Carpeta de la base de datos de contenidos.\n"
400 " \n"
401 "La ruta de la carpeta con la base de datos\n"
402 "de contenidos.");
403 break;
404 case MENU_ENUM_LABEL_THUMBNAILS_DIRECTORY:
405 snprintf(s, len,
406 "Carpeta de miniaturas.\n"
407 " \n"
408 "Almacena los archivos de las miniaturas.");
409 break;
410 case MENU_ENUM_LABEL_LIBRETRO_INFO_PATH:
411 snprintf(s, len,
412 "Carpeta de información de núcleos.\n"
413 " \n"
414 "La carpeta donde se buscará la información\n"
415 "de los núcleos libretro.");
416 break;
417 case MENU_ENUM_LABEL_PLAYLIST_DIRECTORY:
418 snprintf(s, len,
419 "Carpeta de listas de reproducción.\n"
420 " \n"
421 "En esta carpeta se guardarán todos los archivos\n"
422 "de listas de reproducción.");
423 break;
424 case MENU_ENUM_LABEL_DUMMY_ON_CORE_SHUTDOWN:
425 snprintf(s, len,
426 "Algunos núcleos son capaces de apagarse.\n"
427 " \n"
428 "Si desactivas esta opción, al apagar el núcleo\n"
429 "también se cerrará RetroArch.\n"
430 " \n"
431 "De lo contrario, en vez de cerrar RetroArch\n"
432 "se cargará un núcleo vacío, lo que te permitirá\n"
433 "seguir en el menú.");
434 break;
435 case MENU_ENUM_LABEL_CHECK_FOR_MISSING_FIRMWARE:
436 snprintf(s, len,
437 "Algunos núcleos pueden necesitar archivos\n"
438 "de firmware o de BIOS.\n"
439 " \n"
440 "Si desactivas esta opción, el núcleo intentará\n"
441 "arrancar aunque falten dichos archivos.");
442 break;
443 case MENU_ENUM_LABEL_PARENT_DIRECTORY:
444 snprintf(s, len,
445 "Vuelve a la carpeta superior.");
446 break;
447 case MENU_ENUM_LABEL_FILE_BROWSER_OPEN_UWP_PERMISSIONS:
448 snprintf(s, len,
449 "Abre la configuración de permisos de Windows\n"
450 "para activar la característica\n"
451 "broadFileSystemAccess.");
452 break;
453 case MENU_ENUM_LABEL_FILE_BROWSER_OPEN_PICKER:
454 snprintf(s, len,
455 "Abre el selector de archivos del sistema\n"
456 "para acceder a carpetas adicionales.");
457 break;
458 case MENU_ENUM_LABEL_FILE_BROWSER_SHADER_PRESET:
459 snprintf(s, len,
460 "Archivo de preset de shaders.");
461 break;
462 case MENU_ENUM_LABEL_FILE_BROWSER_SHADER:
463 snprintf(s, len,
464 "Archivo de shader.");
465 break;
466 case MENU_ENUM_LABEL_FILE_BROWSER_REMAP:
467 snprintf(s, len,
468 "Archivo de reasignación de controles.");
469 break;
470 case MENU_ENUM_LABEL_FILE_BROWSER_CHEAT:
471 snprintf(s, len,
472 "Archivo de trucos.");
473 break;
474 case MENU_ENUM_LABEL_FILE_BROWSER_OVERLAY:
475 snprintf(s, len,
476 "Archivo de superposición.");
477 break;
478 case MENU_ENUM_LABEL_FILE_BROWSER_RDB:
479 snprintf(s, len,
480 "Archivo de base de datos.");
481 break;
482 case MENU_ENUM_LABEL_FILE_BROWSER_FONT:
483 snprintf(s, len,
484 "Archivo de fuente TrueType.");
485 break;
486 case MENU_ENUM_LABEL_FILE_BROWSER_PLAIN_FILE:
487 snprintf(s, len,
488 "Archivo de texto simple.");
489 break;
490 case MENU_ENUM_LABEL_FILE_BROWSER_MOVIE_OPEN:
491 snprintf(s, len,
492 "Vídeo.\n"
493 " \n"
494 "Selecciónalo para abrirlo con el reproductor\n"
495 "de vídeo.");
496 break;
497 case MENU_ENUM_LABEL_FILE_BROWSER_MUSIC_OPEN:
498 snprintf(s, len,
499 "Música.\n"
500 " \n"
501 "Selecciónala para abrirla con el reproductor\n"
502 "de música.");
503 break;
504 case MENU_ENUM_LABEL_FILE_BROWSER_IMAGE:
505 snprintf(s, len,
506 "Archivo de imagen.");
507 break;
508 case MENU_ENUM_LABEL_FILE_BROWSER_IMAGE_OPEN_WITH_VIEWER:
509 snprintf(s, len,
510 "Imagen.\n"
511 " \n"
512 "Selecciónala para abrirla con el visor\n"
513 "de imágenes.");
514 break;
515 case MENU_ENUM_LABEL_FILE_BROWSER_CORE_SELECT_FROM_COLLECTION:
516 snprintf(s, len,
517 "Núcleo libretro.\n"
518 " \n"
519 "Al seleccionar este núcleo lo asociarás\n"
520 "con el juego.");
521 break;
522 case MENU_ENUM_LABEL_FILE_BROWSER_CORE:
523 snprintf(s, len,
524 "Núcleo libretro.\n"
525 " \n"
526 "Selecciona este archivo para que RetroArch\n"
527 "cargue este núcleo.");
528 break;
529 case MENU_ENUM_LABEL_FILE_BROWSER_DIRECTORY:
530 snprintf(s, len,
531 "Carpeta.\n"
532 " \n"
533 "Selecciónala para abrirla.");
534 break;
535 case MENU_ENUM_LABEL_CACHE_DIRECTORY:
536 snprintf(s, len,
537 "Carpeta de caché.\n"
538 " \n"
539 "Los contenidos descomprimidos por RetroArch\n"
540 "se guardarán temporalmente en esta carpeta.");
541 break;
542 case MENU_ENUM_LABEL_HISTORY_LIST_ENABLE:
543 snprintf(s, len,
544 "Si esta opción está activada, todos los\n"
545 "contenidos cargados en RetroArch se agregarán\n"
546 "automáticamente al historial reciente.");
547 break;
548 case MENU_ENUM_LABEL_RGUI_BROWSER_DIRECTORY:
549 snprintf(s, len,
550 "Carpeta del explorador de archivos.\n"
551 " \n"
552 "Indica la carpeta de inicio para el explorador\n"
553 "de archivos del menú.");
554 break;
555 case MENU_ENUM_LABEL_INPUT_POLL_TYPE_BEHAVIOR:
556 snprintf(s, len,
557 "Influencia la forma de sondear la entrada\n"
558 "en RetroArch.\n"
559 " \n"
560 "Temprano: El sondeo se realizará antes\n"
561 "de procesar el fotograma.\n"
562 "Normal: El sondeo se realizará cuando\n"
563 "se solicite.\n"
564 "Tardío: El sondeo se realizará tras\n"
565 "la primera petición de estado de entrada\n"
566 "de cada fotograma.\n"
567 " \n"
568 "«Temprano» o «Tardío» pueden reducir\n"
569 "la latencia según tu configuración.\n"
570 "Esta opción será ignorada durante\n"
571 "el juego en red.");
572 break;
573 case MENU_ENUM_LABEL_INPUT_DESCRIPTOR_HIDE_UNBOUND:
574 snprintf(s, len,
575 "Oculta las descripciones de entrada que\n"
576 "no estén configuradas en el núcleo.");
577 break;
578 case MENU_ENUM_LABEL_VIDEO_REFRESH_RATE:
579 snprintf(s, len,
580 "La frecuencia de actualización de tu monitor.\n"
581 "Se utiliza para calcular la frecuencia de\n"
582 "audio más apropiada.");
583 break;
584 case MENU_ENUM_LABEL_VIDEO_FORCE_SRGB_DISABLE:
585 snprintf(s, len,
586 "Fuerza la desactivación del soporte FBO sRGB.\n"
587 "Algunos controladores OpenGL de Intel para\n"
588 "Windows dan problemas de vídeo al activar el\n"
589 "soporte de FBO sRGB.");
590 break;
591 case MENU_ENUM_LABEL_AUDIO_ENABLE:
592 snprintf(s, len,
593 "Activa la salida de audio.");
594 break;
595 case MENU_ENUM_LABEL_AUDIO_SYNC:
596 snprintf(s, len,
597 "Sincroniza el audio con el vídeo (recomendado).");
598 break;
599 case MENU_ENUM_LABEL_AUDIO_LATENCY:
600 snprintf(s, len,
601 "Latencia de audio deseada en milisegundos.\n"
602 "Si el controlador de audio no es capaz de\n"
603 "generar dicha latencia, este valor podría\n"
604 "ser ignorado.");
605 break;
606 case MENU_ENUM_LABEL_VIDEO_ALLOW_ROTATE:
607 snprintf(s, len,
608 "Permite que los núcleos puedan rotar la imagen.\n"
609 "Si esta opción está desactivada, las peticiones\n"
610 "de rotación serán reconocidas pero ignoradas.\n"
611 "Útil en aquellas configuraciones donde se\n"
612 "pueda rotar el monitor de forma manual.");
613 break;
614 case MENU_ENUM_LABEL_INPUT_DESCRIPTOR_LABEL_SHOW:
615 snprintf(s, len,
616 "Muestra las descripciones de entrada que\n"
617 "estén configuradas en el núcleo en lugar\n"
618 "de las predeterminadas.");
619 break;
620 case MENU_ENUM_LABEL_CONTENT_HISTORY_SIZE:
621 snprintf(s, len,
622 "El número de entradas que contendrá la lista\n"
623 "de reproducción con el historial de contenidos.");
624 break;
625 case MENU_ENUM_LABEL_VIDEO_WINDOWED_FULLSCREEN:
626 snprintf(s, len,
627 "Usar el modo en ventana al cambiar\n"
628 "a pantalla completa.");
629 break;
630 case MENU_ENUM_LABEL_VIDEO_FONT_SIZE:
631 snprintf(s, len,
632 "Cambia el tamaño de la fuente\n"
633 "de los mensajes en pantalla.");
634 break;
635 case MENU_ENUM_LABEL_SAVESTATE_AUTO_INDEX:
636 snprintf(s, len,
637 "Aumenta automáticamente el número de la\n"
638 "posición con cada guardado rápido, lo que\n"
639 "generará varios archivos.\n"
640 "Al cargar el contenido, se seleccionará la\n"
641 "posición de guardado con el valor más alto\n"
642 "disponible (el último guardado rápido).");
643 break;
644 case MENU_ENUM_LABEL_FPS_SHOW:
645 snprintf(s, len,
646 "Muestra la velocidad de fotogramas\n"
647 "por segundo actual.");
648 break;
649 case MENU_ENUM_LABEL_MEMORY_SHOW:
650 snprintf(s, len,
651 "Incorpora la información con el consumo actual\n"
652 "y total de memoria al contador de FPS/\n"
653 "fotogramas.");
654 break;
655 case MENU_ENUM_LABEL_VIDEO_FONT_ENABLE:
656 snprintf(s, len,
657 "Muestra los mensajes en pantalla.");
658 break;
659 case MENU_ENUM_LABEL_VIDEO_MESSAGE_POS_X:
660 case MENU_ENUM_LABEL_VIDEO_MESSAGE_POS_Y:
661 snprintf(s, len,
662 "Indica la posición de los mensajes en pantalla.\n"
663 "Los valores utilizan el rango [0.0, 1.0].");
664 break;
665 case MENU_ENUM_LABEL_INPUT_OVERLAY_ENABLE:
666 snprintf(s, len,
667 "Activa o desactiva la superposición actual.");
668 break;
669 case MENU_ENUM_LABEL_INPUT_OVERLAY_HIDE_IN_MENU:
670 snprintf(s, len,
671 "Oculta la superposición actual en el menú.");
672 break;
673 case MENU_ENUM_LABEL_INPUT_OVERLAY_SHOW_PHYSICAL_INPUTS:
674 snprintf(s, len,
675 "Muestra las pulsaciones de los botones\n"
676 "del mando o las teclas del teclado\n"
677 "en la superposición.");
678 break;
679 case MENU_ENUM_LABEL_INPUT_OVERLAY_SHOW_PHYSICAL_INPUTS_PORT:
680 snprintf(s, len,
681 "Selecciona el puerto en el que detectar\n"
682 "la entrada del controlador y mostrarla\n"
683 "en la superposición.");
684 break;
685 case MENU_ENUM_LABEL_OVERLAY_PRESET:
686 snprintf(s, len,
687 "Ruta a la superposición de entrada.");
688 break;
689 case MENU_ENUM_LABEL_OVERLAY_OPACITY:
690 snprintf(s, len,
691 "Opacidad de la superposición.");
692 break;
693 #ifdef HAVE_VIDEO_LAYOUT
694 case MENU_ENUM_LABEL_VIDEO_LAYOUT_ENABLE:
695 snprintf(s, len,
696 "Activa o desactiva el diseño de vídeo actual.");
697 break;
698 case MENU_ENUM_LABEL_VIDEO_LAYOUT_PATH:
699 snprintf(s, len,
700 "Ruta del diseño de vídeo.");
701 break;
702 case MENU_ENUM_LABEL_VIDEO_LAYOUT_SELECTED_VIEW:
703 snprintf(s, len,
704 "Los diseños pueden contener múltiples vistas.\n"
705 "Selecciona una.");
706 break;
707 #endif
708 case MENU_ENUM_LABEL_INPUT_BIND_TIMEOUT:
709 snprintf(s, len,
710 "Tiempo de espera para asignar una función\n"
711 "de entrada (en segundos).\n"
712 "Indica los segundos que se esperarán hasta\n"
713 "pasar a la siguiente asignación.");
714 break;
715 case MENU_ENUM_LABEL_INPUT_BIND_HOLD:
716 snprintf(s, len,
717 "Tiempo de pulsación para asignar una función\n"
718 "de entrada (en segundos).\n"
719 "Indica los segundos que deben pasar al mantener\n"
720 "una entrada para asignarla.");
721 break;
722 case MENU_ENUM_LABEL_OVERLAY_SCALE:
723 snprintf(s, len,
724 "Escala de la superposición.");
725 break;
726 case MENU_ENUM_LABEL_OVERLAY_CENTER_X:
727 snprintf(s, len,
728 "Compensación horizontal de la superposición.");
729 break;
730 case MENU_ENUM_LABEL_OVERLAY_CENTER_Y:
731 snprintf(s, len,
732 "Compensación vertical de la superposición.");
733 break;
734 case MENU_ENUM_LABEL_AUDIO_OUTPUT_RATE:
735 snprintf(s, len,
736 "Frecuencia de muestreo de la salida de audio.");
737 break;
738 case MENU_ENUM_LABEL_VIDEO_SHARED_CONTEXT:
739 snprintf(s, len,
740 "Activa esta opción para que los núcleos\n"
741 "renderizados por hardware tengan un contexto\n"
742 "privado. Evita tener que asumir cambios en\n"
743 "el estado del hardware entre fotogramas.");
744 break;
745 case MENU_ENUM_LABEL_CORE_LIST:
746 snprintf(s, len,
747 "Carga un núcleo.\n"
748 " \n"
749 "Busca una implementación de un núcleo libretro.\n"
750 "La posición inicial del explorador dependerá\n"
751 "de la ruta de la carpeta de núcleos.\n"
752 "Si está en blanco, empezará desde la raíz.\n"
753 " \n"
754 "Si la carpeta de núcleos es una carpeta,\n"
755 "se utilizará como posición inicial.\n"
756 "Si la carpeta es una ruta completa,\n"
757 "la posición será la carpeta donde\n"
758 "se encuentre el archivo.");
759 break;
760 case MENU_ENUM_LABEL_VALUE_MENU_ENUM_CONTROLS_PROLOG:
761 snprintf(s, len,
762 "Puedes utilizar los siguientes controles,\n"
763 "tanto con el mando como con el teclado,\n"
764 "para controlar el menú:\n"
765 " \n");
766 break;
767 case MENU_ENUM_LABEL_WELCOME_TO_RETROARCH:
768 snprintf(s, len,
769 "Te damos la bienvenida a RetroArch.\n");
770 break;
771 case MENU_ENUM_LABEL_VALUE_HELP_AUDIO_VIDEO_TROUBLESHOOTING_DESC: {
772 /* Work around C89 limitations */
773 /* Arreglo para saltarse la limitación de 509 caracteres por cadena. */
774 char u[501];
775 const char *t =
776 "RetroArch utiliza un formato único para\n"
777 "sincronizar el audio y el vídeo. Necesita\n"
778 "calibrarse con la frecuencia de actualización\n"
779 "del monitor para obtener los mejores resultados.\n"
780 " \n"
781 "Si notas cortes en el audio o la imagen,\n"
782 "lo normal es que necesites calibrar estos\n"
783 "ajustes. Prueba estas opciones:\n"
784 " \n";
785 snprintf(u, sizeof(u), /* can't inline this due to the printf arguments */
786 "a) Ve a «%s» -> «%s» y activa\n"
787 "«Vídeo multihilos». En este modo la frecuencia\n"
788 "de actualización es irrelevante, aumentarán\n"
789 "los FPS pero la imagen será menos fluida.\n"
790 " \n"
791 "b) Ve a «%s» -> «%s» y comprueba\n"
792 "«%s».\n"
793 "Deja que se ejecute durante 2048 fotogramas\n"
794 "y luego selecciona Aceptar.",
795 msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SETTINGS),
796 msg_hash_to_str(MENU_ENUM_LABEL_VALUE_VIDEO_SETTINGS),
797 msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SETTINGS),
798 msg_hash_to_str(MENU_ENUM_LABEL_VALUE_VIDEO_SETTINGS),
799 msg_hash_to_str(MENU_ENUM_LABEL_VALUE_VIDEO_REFRESH_RATE_AUTO));
800 strlcpy(s, t, len);
801 strlcat(s, u, len);
802 }
803 break;
804 case MENU_ENUM_LABEL_VALUE_HELP_SCANNING_CONTENT_DESC:
805 snprintf(s, len,
806 "Para escanear contenidos ve\n"
807 "a «%s» y selecciona\n"
808 "«%s» o «%s».\n"
809 " \n"
810 "Los archivos serán contrastados con\n"
811 "las entradas en la base de datos.\n"
812 "Si hay una coincidencia, se añadirá\n"
813 "una entrada en una lista de reproducción.\n"
814 " \n"
815 "Podrás acceder fácilmente a estos contenidos\n"
816 "a través de «%s» ->\n"
817 "«%s» en vez de tener que pasar\n"
818 "por el explorador de archivos\n"
819 "constantemente.\n"
820 " \n"
821 "NOTA: El contenido de algunos núcleos podría\n"
822 "no ser localizable.",
823 msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ADD_CONTENT_LIST),
824 msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SCAN_DIRECTORY),
825 msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SCAN_FILE),
826 msg_hash_to_str(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_LIST),
827 msg_hash_to_str(MENU_ENUM_LABEL_VALUE_PLAYLISTS_TAB)
828 );
829 break;
830 case MENU_ENUM_LABEL_VALUE_EXTRACTING_PLEASE_WAIT:
831 snprintf(s, len,
832 "Te damos la bienvenida a RetroArch.\n"
833 " \n"
834 "Extrayendo recursos. Espera, por favor.\n"
835 "Este proceso puede llevar un tiempo...\n"
836 );
837 break;
838 case MENU_ENUM_LABEL_INPUT_DRIVER:
839 {
840 const char *lbl = settings ? settings->arrays.input_driver : NULL;
841
842 if (string_is_equal(lbl, msg_hash_to_str(MENU_ENUM_LABEL_INPUT_DRIVER_UDEV)))
843 snprintf(s, len,
844 "Controlador de entrada udev.\n"
845 " \n"
846 "Utiliza la API evdev más reciente para dar\n"
847 "soporte para mandos. Permite hotplug\n"
848 "(conexión en caliente) y force feedback\n"
849 "(fuerza de respuesta).\n"
850 " \n"
851 "El controlador lee los eventos evdev para ser\n"
852 "compatible con teclados. También es compatible\n"
853 "con callbacks de teclado, ratones y pantallas\n"
854 "táctiles.\n"
855 " \n"
856 "La mayoría de las distros tienen los nodos\n"
857 "/dev/input en modo solo root (modo 600).\n"
858 "Puedes configurar una regla udev que los haga\n"
859 "accesibles a otros usuarios."
860 );
861 else if (string_is_equal(lbl,
862 msg_hash_to_str(MENU_ENUM_LABEL_INPUT_DRIVER_LINUXRAW)))
863 snprintf(s, len,
864 "Controlador de entrada linuxraw.\n"
865 " \n"
866 "Este controlador necesita un TTY activo.\n"
867 "Los eventos de teclado se leen directamente\n"
868 "desde el TTY, lo que es más simple pero\n"
869 "no tan flexible como udev.\n"
870 "No es compatible con ratones, etc.\n"
871 " \n"
872 "Este controlador utiliza la antigua API\n"
873 "de mandos (/dev/input/js*).");
874 else
875 snprintf(s, len,
876 "Controlador de entrada.\n"
877 " \n"
878 "El controlador de vídeo podría forzar el uso\n"
879 "de un controlador de entrada distinto.");
880 }
881 break;
882 case MENU_ENUM_LABEL_LOAD_CONTENT_LIST:
883 snprintf(s, len,
884 "Carga contenidos.\n"
885 "Busca contenidos.\n"
886 " \n"
887 "Para cargar contenidos necesitas un «núcleo»\n"
888 "y un archivo de contenido.\n"
889 " \n"
890 "Para controlar el lugar donde el menú\n"
891 "empezará a buscar contenidos, cambia\n"
892 "la carpeta del explorador de archivos.\n"
893 "En caso de que no esté configurada,\n"
894 "empezará a buscar desde la raíz.\n"
895 " \n"
896 "El explorador filtrará las extensiones\n"
897 "del último núcleo seleccionado en Cargar núcleo\n"
898 "y lo utilizará al cargar un contenido."
899 );
900 break;
901 case MENU_ENUM_LABEL_LOAD_CONTENT_HISTORY:
902 snprintf(s, len,
903 "Carga el contenido del historial.\n"
904 " \n"
905 "Cuando se cargan contenidos, se guardan\n"
906 "en el historial junto con las combinaciones\n"
907 "de núcleos de libretro.\n"
908 " \n"
909 "El historial se guarda en un archivo de la\n"
910 "carpeta donde está el archivo de configuración\n"
911 "de RetroArch. Si no se ha cargado un archivo\n"
912 "al iniciar RetroArch, no se guardará ni cargará\n"
913 "el historial, y la opción desaparecerá del\n"
914 "menú principal."
915 );
916 break;
917 case MENU_ENUM_LABEL_VIDEO_DRIVER:
918 {
919 const char *video_driver = settings->arrays.video_driver;
920
921 snprintf(s, len,
922 "Controlador de vídeo actual.");
923
924 if (string_is_equal(video_driver, "gl"))
925 {
926 snprintf(s, len,
927 "Controlador de vídeo OpenGL.\n"
928 " \n"
929 "Este controlador permite utilizar núcleos\n"
930 "OpenGL de libretro, más las implementaciones\n"
931 "renderizadas por software.\n"
932 " \n"
933 "El rendimiento de las implementaciones\n"
934 "libretro por software y OpenGL dependen\n"
935 "del controlador OpenGL de la tarjeta gráfica.");
936 }
937 else if (string_is_equal(video_driver, "sdl2"))
938 {
939 snprintf(s, len,
940 "Controlador de vídeo SDL 2.\n"
941 " \n"
942 "Este es un controlador de vídeo por software.\n"
943 " \n"
944 "El rendimiento para las implementaciones\n"
945 "libretro por software depende de\n"
946 "la implementación SDL de la plataforma.");
947 }
948 else if (string_is_equal(video_driver, "sdl1"))
949 {
950 snprintf(s, len,
951 "Controlador de vídeo SDL 1.2.\n"
952 " \n"
953 "Este es un controlador de vídeo por software.\n"
954 " \n"
955 "Su rendimiento es considerado inferior.\n"
956 "Utilízalo únicamente como último recurso.");
957 }
958 else if (string_is_equal(video_driver, "d3d"))
959 {
960 snprintf(s, len,
961 "Controlador de vídeo Direct3D.\n"
962 " \n"
963 "El rendimiento de los núcleos que rendericen\n"
964 "por software dependerá del controlador D3D\n"
965 "de tu tarjeta gráfica.");
966 }
967 else if (string_is_equal(video_driver, "exynos"))
968 {
969 snprintf(s, len,
970 "Controlador de vídeo Exynos-G2D.\n"
971 " \n"
972 "Este es un controlador de vídeo Exynos\n"
973 "de bajo nivel. Utiliza el bloque G2D\n"
974 "del SoC Exynos de Samsung para las operaciones\n"
975 "de blit.\n"
976 " \n"
977 "El rendimiento de los núcleos renderizados\n"
978 "por software debería ser óptimo.");
979 }
980 else if (string_is_equal(video_driver, "drm"))
981 {
982 snprintf(s, len,
983 "Controlador de vídeo de DRM simple.\n"
984 " \n"
985 "Este es un controlador de vídeo que usa\n"
986 "libdrm para escalado por hardware\n"
987 "mediante las superposiciones de la GPU.\n");
988 }
989 else if (string_is_equal(video_driver, "sunxi"))
990 {
991 snprintf(s, len,
992 "Controlador de vídeo Sunxi-G2D.\n"
993 " \n"
994 "Este es un controlador de vídeo Sunxi\n"
995 "de bajo nivel. Utiliza el bloque G2D\n"
996 "de los SoC Allwinner.");
997 }
998 }
999 break;
1000 case MENU_ENUM_LABEL_AUDIO_DSP_PLUGIN:
1001 snprintf(s, len,
1002 "Plugin de audio DSP.\n"
1003 "Procesa el audio antes de enviarlo\n"
1004 "al controlador."
1005 );
1006 break;
1007 case MENU_ENUM_LABEL_AUDIO_RESAMPLER_DRIVER:
1008 {
1009 const char *lbl = settings ? settings->arrays.audio_resampler : NULL;
1010
1011 if (string_is_equal(lbl, msg_hash_to_str(
1012 MENU_ENUM_LABEL_AUDIO_RESAMPLER_DRIVER_SINC)))
1013 strlcpy(s,
1014 "Implementación de ventana SINC.", len);
1015 else if (string_is_equal(lbl, msg_hash_to_str(
1016 MENU_ENUM_LABEL_AUDIO_RESAMPLER_DRIVER_CC)))
1017 strlcpy(s,
1018 "Implementación de cosenos complejos.", len);
1019 else if (string_is_empty(s))
1020 strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_INFORMATION_AVAILABLE), len);
1021 }
1022 break;
1023
1024 case MENU_ENUM_LABEL_CRT_SWITCH_RESOLUTION: snprintf(s, len, "Asignar CRT");
1025 break;
1026
1027 case MENU_ENUM_LABEL_CRT_SWITCH_RESOLUTION_SUPER: snprintf(s, len, "Asignar CRT SUPER");
1028 break;
1029
1030 case MENU_ENUM_LABEL_VIDEO_SHADER_PRESET:
1031 snprintf(s, len,
1032 "Carga presets de shaders.\n"
1033 " \n"
1034 "Carga un preset de shaders directamente.\n"
1035 "El menú de shaders se actualizará.\n"
1036 " \n"
1037 "Si el CGP utiliza métodos de escalado complejos\n"
1038 "(por ejemplo, escalado de origen, el mismo\n"
1039 "factor para X/Y), el menú podría mostrar\n"
1040 "un factor de escalado incorrecto."
1041 );
1042 break;
1043 case MENU_ENUM_LABEL_VIDEO_SHADER_SCALE_PASS:
1044 snprintf(s, len,
1045 "La escala de esta pasada.\n"
1046 " \n"
1047 "El factor de escala es acumulativo,\n"
1048 "por ejemplo: 2x para el primer pase y 2x\n"
1049 "para el segundo dará una escala total de 4x.\n"
1050 " \n"
1051 "Si el último pase tiene un factor de escala,\n"
1052 "el resultado se estirará por toda la pantalla\n"
1053 "con el filtro predeterminado.\n"
1054 " \n"
1055 "Si has seleccionado «No importa», se utilizará\n"
1056 "o bien la escala 1x o se estirará a pantalla\n"
1057 "completa dependiendo de si es el último pase\n"
1058 "o no."
1059 );
1060 break;
1061 case MENU_ENUM_LABEL_VIDEO_SHADER_NUM_PASSES:
1062 snprintf(s, len,
1063 "Pases de shaders.\n"
1064 " \n"
1065 "RetroArch permite combinar diversos shaders\n"
1066 "con pasadas arbitrarias, filtros personales\n"
1067 "de hardware y factores de escala.\n"
1068 " \n"
1069 "Esta opción especifica la cantidad de pasadas\n"
1070 "de shaders a utilizar. Si seleccionas 0 y luego\n"
1071 "«Aplicar cambios en shaders», utilizarás\n"
1072 "un shader «en blanco».\n"
1073 " \n"
1074 "La opción Filtro predeterminado cambiará\n"
1075 "el filtro de escalado.");
1076 break;
1077 case MENU_ENUM_LABEL_VIDEO_SHADER_PARAMETERS:
1078 snprintf(s, len,
1079 "Parámetros de shaders.\n"
1080 " \n"
1081 "Modifica directamente el shader actual.\n"
1082 "No se guardará en el preset CGP/GLSLP.");
1083 break;
1084 case MENU_ENUM_LABEL_VIDEO_SHADER_PRESET_PARAMETERS:
1085 snprintf(s, len,
1086 "Parámetros del preset de shaders.\n"
1087 " \n"
1088 "Modifica el preset de shaders\n"
1089 "que se encuentra actualmente en el menú."
1090 );
1091 break;
1092 case MENU_ENUM_LABEL_VIDEO_SHADER_PASS:
1093 snprintf(s, len,
1094 "Ruta al shader.\n"
1095 " \n"
1096 "Todos los shaders deben ser del mismo tipo\n"
1097 "(por ejemplo: CG, GLSL o HLSL).\n"
1098 " \n"
1099 "Modifica la carpeta de shaders para indicar\n"
1100 "la ruta en la que el navegador comenzará\n"
1101 "a buscar shaders."
1102 );
1103 break;
1104 case MENU_ENUM_LABEL_CONFIGURATION_SETTINGS:
1105 snprintf(s, len,
1106 "Determina el orden de carga de los archivos\n"
1107 "de configuración.");
1108 break;
1109 case MENU_ENUM_LABEL_CONFIG_SAVE_ON_EXIT:
1110 snprintf(s, len,
1111 "Guarda la configuración al salir.\n"
1112 "Es útil para el menú, ya que los ajustes\n"
1113 "pueden ser modificados. Sobrescribirá\n"
1114 "la configuración existente.\n"
1115 " \n"
1116 "No se preservarán los #include y\n"
1117 "los comentarios.\n"
1118 " \n"
1119 "El archivo de configuración se considera\n"
1120 "inmutable por diseño, ya que es probable\n"
1121 "que esté gestionado por el usuario,\n"
1122 "por lo que no debería ser sobrescrito\n"
1123 "sin el consentimiento del mismo."
1124 #if defined(RARCH_CONSOLE) || defined(RARCH_MOBILE)
1125 "\nSin embargo, este no suele ser el caso\n"
1126 "en consolas, donde no es posible examinar\n"
1127 "el archivo de configuración de forma manual."
1128 #endif
1129 );
1130 break;
1131 case MENU_ENUM_LABEL_CONFIRM_ON_EXIT:
1132 snprintf(s, len, "¿Seguro que quieres salir?");
1133 break;
1134 case MENU_ENUM_LABEL_SHOW_HIDDEN_FILES:
1135 snprintf(s, len, "Mostrar archivos y carpetas ocultos.");
1136 break;
1137 case MENU_ENUM_LABEL_VIDEO_SHADER_FILTER_PASS:
1138 snprintf(s, len,
1139 "Filtro de hardware para esta pasada.\n"
1140 " \n"
1141 "Si se ha seleccionado «No importa»,\n"
1142 "se utilizará el predeterminado."
1143 );
1144 break;
1145 case MENU_ENUM_LABEL_AUTOSAVE_INTERVAL:
1146 snprintf(s, len,
1147 "Guarda automáticamente la SaveRAM no volátil\n"
1148 "en intervalos regulares.\n"
1149 " \n"
1150 "Esta opción está desactivada por defecto\n"
1151 "a menos que se haya configurado lo contrario.\n"
1152 "El intervalo se mide en segundos.\n"
1153 " \n"
1154 "Si utilizas 0, desactivarás\n"
1155 "el guardado automático.");
1156 break;
1157 case MENU_ENUM_LABEL_INPUT_BIND_DEVICE_TYPE:
1158 snprintf(s, len,
1159 "Tipo de dispositivo de entrada.\n"
1160 " \n"
1161 "Selecciona el tipo de dispositivo a utilizar.\n"
1162 "Afecta al núcleo libretro."
1163 );
1164 break;
1165 case MENU_ENUM_LABEL_LIBRETRO_LOG_LEVEL:
1166 snprintf(s, len,
1167 "Ajusta el nivel de registro de los\n"
1168 "núcleos libretro (GET_LOG_INTERFACE).\n"
1169 " \n"
1170 " Si el nivel de un registro de un núcleo\n"
1171 " libretro está por debajo del nivel indicado\n"
1172 " en libretro_log, será ignorado.\n"
1173 " \n"
1174 " Los registros DEBUG siempre son ignorados\n"
1175 " a menos que esté activado el modo de verbosidad\n"
1176 " (--verbose).\n"
1177 " \n"
1178 " DEBUG = 0\n"
1179 " INFO = 1\n"
1180 " WARN = 2\n"
1181 " ERROR = 3"
1182 );
1183 break;
1184 case MENU_ENUM_LABEL_STATE_SLOT_INCREASE:
1185 case MENU_ENUM_LABEL_STATE_SLOT_DECREASE:
1186 snprintf(s, len,
1187 "Posiciones de guardados rápidos.\n"
1188 " \n"
1189 " Si se selecciona la posición 0, el nombre\n"
1190 " del guardado rápido será *.state (o lo que\n"
1191 " esté definido en la línea de comandos).\n"
1192 "Si la ranura es un valor distinto a 0,\n"
1193 "la ruta será (path)(d), siendo (d) el número\n"
1194 "de la posición.");
1195 break;
1196 case MENU_ENUM_LABEL_SHADER_APPLY_CHANGES:
1197 snprintf(s, len,
1198 "Aplica los cambios en los shaders.\n"
1199 " \n"
1200 "Cuando cambies los ajustes de shaders,\n"
1201 "puedes usar esta opción para aplicar\n"
1202 "los cambios.\n"
1203 " \n"
1204 "El cambio en los shaders es una operación\n"
1205 "que consume bastantes recursos, así que\n"
1206 "debe hacerse de forma explícita.\n"
1207 " \n"
1208 "Al aplicar shaders, se guarda su configuración\n"
1209 "en un archivo temporal (menu.cgp o menu.glslp)\n"
1210 "y se cargan. El archivo persistirá al abandonar\n"
1211 "RetroArch y se guardará en la carpeta Shader."
1212 );
1213 break;
1214 case MENU_ENUM_LABEL_SHADER_WATCH_FOR_CHANGES:
1215 snprintf(s, len,
1216 "Busca cambios en los archivos de shaders.\n"
1217 " \n"
1218 "Una vez hayas guardado los cambios\n"
1219 "de un shader del disco, el shader\n"
1220 "se recompilará automáticamente\n"
1221 "y se aplicará al contenido ejecutado."
1222 );
1223 break;
1224 case MENU_ENUM_LABEL_MENU_TOGGLE:
1225 snprintf(s, len,
1226 "Muestra u oculta el menú.");
1227 break;
1228 case MENU_ENUM_LABEL_GRAB_MOUSE_TOGGLE:
1229 snprintf(s, len,
1230 "Permite o no capturar el ratón.\n"
1231 " \n"
1232 "Al capturar el ratón, RetroArch lo ocultará\n"
1233 "y mantendrá el puntero del ratón dentro\n"
1234 "de la ventana para que la entrada relativa\n"
1235 "del ratón funcione mejor.");
1236 break;
1237 case MENU_ENUM_LABEL_GAME_FOCUS_TOGGLE:
1238 snprintf(s, len,
1239 "Activa o desactiva la prioridad al juego.\n"
1240 " \n"
1241 "Cuando el juego tiene prioridad, RetroArch\n"
1242 "desactivará las teclas rápidas y mantendrá\n"
1243 "el puntero del ratón en el interior\n"
1244 "de la ventana.");
1245 break;
1246 case MENU_ENUM_LABEL_DISK_NEXT:
1247 snprintf(s, len,
1248 "Cambia de imagen de disco.\n"
1249 "Utiliza esta opción tras expulsar un disco.\n"
1250 " \n"
1251 "Termina la operación volviendo a pulsar\n"
1252 "el botón de expulsión.");
1253 break;
1254 case MENU_ENUM_LABEL_VIDEO_FILTER:
1255 #ifdef HAVE_FILTERS_BUILTIN
1256 snprintf(s, len,
1257 "Filtro de vídeo basado en la CPU.");
1258 #else
1259 snprintf(s, len,
1260 "Filtro de vídeo basado en la CPU.\n"
1261 " \n"
1262 "Ruta a una librería dinámica.");
1263 #endif
1264 break;
1265 case MENU_ENUM_LABEL_AUDIO_DEVICE:
1266 snprintf(s, len,
1267 "Anula el dispositivo de audio predeterminado\n"
1268 "que utiliza el controlador de audio.\n"
1269 "Esta opción depende del controlador.\n"
1270 "Por ejemplo:\n"
1271 #ifdef HAVE_ALSA
1272 " \n"
1273 "ALSA necesita un dispositivo PCM."
1274 #endif
1275 #ifdef HAVE_OSS
1276 " \n"
1277 "OSS necesita una ruta (por ejemplo: /dev/dsp)."
1278 #endif
1279 #ifdef HAVE_JACK
1280 " \n"
1281 "JACK necesita nombres de puertos (por ejemplo:\n"
1282 "system:playback1,system:playback_2)."
1283 #endif
1284 #ifdef HAVE_RSOUND
1285 " \n"
1286 "RSound necesita una dirección IP\n"
1287 "de un servidor RSound."
1288 #endif
1289 );
1290 break;
1291 case MENU_ENUM_LABEL_DISK_EJECT_TOGGLE:
1292 snprintf(s, len,
1293 "Alterna el botón de expulsión de discos.\n"
1294 " \n"
1295 "Sirve para contenidos que utilicen\n"
1296 "varios discos.");
1297 break;
1298 case MENU_ENUM_LABEL_ENABLE_HOTKEY:
1299 snprintf(s, len,
1300 "Activa otras teclas rápidas.\n"
1301 " \n"
1302 "Si esta tecla rápida está asignada a un\n"
1303 "teclado, un botón o un eje de un mando,\n"
1304 "el resto de teclas rápidas se desactivarán\n"
1305 "a menos que esta tecla sea pulsada\n"
1306 "al mismo tiempo.\n"
1307 " \n"
1308 "Esto sirve para implementaciones centradas\n"
1309 "en RETRO_KEYBOARD, que ocupan una gran porción\n"
1310 "del teclado y en las que no conviene\n"
1311 "que las teclas rápidas interfieran con\n"
1312 "el funcionamiento normal.");
1313 break;
1314 case MENU_ENUM_LABEL_REWIND_ENABLE:
1315 snprintf(s, len,
1316 "Activa el rebobinado.\n"
1317 " \n"
1318 "Esta función afecta al rendimiento,\n"
1319 "así que está desactivada por defecto.");
1320 break;
1321 case MENU_ENUM_LABEL_CHEAT_APPLY_AFTER_TOGGLE:
1322 snprintf(s, len,
1323 "Aplica el truco nada más activarlo.");
1324 break;
1325 case MENU_ENUM_LABEL_CHEAT_APPLY_AFTER_LOAD:
1326 snprintf(s, len,
1327 "Aplica automáticamente los trucos nada más\n"
1328 "cargar el juego.");
1329 break;
1330 case MENU_ENUM_LABEL_LIBRETRO_DIR_PATH:
1331 snprintf(s, len,
1332 "Carpeta de núcleos.\n"
1333 " \n"
1334 "La carpeta donde se buscarán\n"
1335 "las implementaciones de núcleos libretro.");
1336 break;
1337 case MENU_ENUM_LABEL_VIDEO_REFRESH_RATE_AUTO: {
1338 /* Work around C89 limitations */
1339 /* Arreglo para saltarse la limitación de 509 caracteres por cadena. */
1340 char u[501];
1341 const char *t =
1342 "La frecuencia de actualización precisa del\n"
1343 "monitor (en Hz). Se utiliza para calcular\n"
1344 "la frecuencia de entrada de audio con esta\n"
1345 "fórmula:\n"
1346 " \n"
1347 "frecuencia de entrada de audio =\n"
1348 "velocidad de entrada de juego *\n"
1349 "frecuencia de actualización de pantalla /\n"
1350 "frecuencia de actualización de juego\n";
1351 snprintf(u, sizeof(u), /* can't inline this due to the printf arguments */
1352 " \n"
1353 "Si la implementación no indica un valor,\n"
1354 "se asumirá el sistema NTSC de forma\n"
1355 "predeterminada por motivos de compatibilidad.\n"
1356 " \n"
1357 "Este valor debería ser lo más similar a 60 Hz\n"
1358 "para evitar cambios en el tono. Si tu monitor\n"
1359 "no puede funcionar a una frecuencia igual\n"
1360 "o similar a 60 Hz, desactiva la sincronía\n"
1361 "vertical y deja esta opción en su valor\n"
1362 "predeterminado.");
1363 strlcpy(s, t, len);
1364 strlcat(s, u, len);
1365 }
1366 break;
1367 case MENU_ENUM_LABEL_VIDEO_REFRESH_RATE_POLLED:
1368 snprintf(s, len,
1369 "Asigna la frecuencia de actualización\n"
1370 "sondeada.\n"
1371 " \n"
1372 "Cambia la frecuencia de actualización al valor\n"
1373 "obtenido a través del controlador de vídeo.");
1374 break;
1375 case MENU_ENUM_LABEL_VIDEO_ROTATION:
1376 snprintf(s, len,
1377 "Fuerza una rotación concreta de la pantalla.\n"
1378 " \n"
1379 "La rotación se añade a las rotaciones\n"
1380 "que indique el núcleo libretro (ver\n"
1381 "Rotación de vídeo).");
1382 break;
1383 case MENU_ENUM_LABEL_VIDEO_SCALE:
1384 snprintf(s, len,
1385 "Resolución en pantalla completa.\n"
1386 " \n"
1387 "Si se indica 0, se utilizará la resolución\n"
1388 "del entorno.");
1389 break;
1390 case MENU_ENUM_LABEL_FASTFORWARD_RATIO:
1391 snprintf(s, len,
1392 "Ajusta la proporción del avance rápido."
1393 " \n"
1394 "Indica la velocidad máxima a la que se ejecutará\n"
1395 "el contenido durante el avance rápido.\n"
1396 " \n"
1397 "(Por ejemplo, 5.0 para un contenido a 60 FPS =>\n"
1398 "máximo de 300 FPS).\n"
1399 " \n"
1400 "RetroArch pasará a segundo plano para asegurarse\n"
1401 "de que no se supere la velocidad máxima.\n"
1402 "Este límite no es completamente preciso.");
1403 break;
1404 case MENU_ENUM_LABEL_VRR_RUNLOOP_ENABLE:
1405 snprintf(s, len,
1406 "Sincroniza los FPS al contenido.\n"
1407 " \n"
1408 "Esta opción es la equivalente a forzar\n"
1409 "una velocidad de 1x en el avance rápido.\n"
1410 "No habrá alteraciones respecto a la frecuencia\n"
1411 "de actualización solicitada por el núcleo\n"
1412 "ni control dinámico de la frecuencia de sonido.");
1413 break;
1414 case MENU_ENUM_LABEL_VIDEO_MONITOR_INDEX:
1415 snprintf(s, len,
1416 "Monitor preferido.\n"
1417 " \n"
1418 "0 (predeterminado) significa que no hay\n"
1419 "preferencia alguna y de 1 en adelante\n"
1420 "(siendo 1 el primer monitor) sugiere\n"
1421 "a RetroArch que utilice ese monitor específico.");
1422 break;
1423 case MENU_ENUM_LABEL_VIDEO_CROP_OVERSCAN:
1424 snprintf(s, len,
1425 "Fuerza a recortar los fotogramas con overscan.\n"
1426 " \n"
1427 "El comportamiento exacto de esta opción\n"
1428 "depende de la implementación del núcleo.");
1429 break;
1430 case MENU_ENUM_LABEL_VIDEO_SCALE_INTEGER:
1431 snprintf(s, len,
1432 "Limita el escalado del vídeo a números enteros.\n"
1433 " \n"
1434 "El tamaño base depende de la geometría\n"
1435 "que indique el sistema y de la relación\n"
1436 "de aspecto.\n"
1437 " \n"
1438 "Si no se ha configurado la opción\n"
1439 "Forzar proporción, los valores X/Y\n"
1440 "se escalarán de forma independiente\n"
1441 "utilizando números enteros.");
1442 break;
1443 case MENU_ENUM_LABEL_AUDIO_VOLUME:
1444 snprintf(s, len,
1445 "Volumen de audio expresado en dB.\n"
1446 " \n"
1447 "0 dB es el volumen normal sin ganancia\n"
1448 "aplicada. La ganancia se puede controlar\n"
1449 "en tiempo real con los botones\n"
1450 "de Subir volumen/Bajar volumen.");
1451 break;
1452 case MENU_ENUM_LABEL_AUDIO_RATE_CONTROL_DELTA:
1453 snprintf(s, len,
1454 "Control de la frecuencia de audio.\n"
1455 " \n"
1456 "Si seleccionas 0, desactivarás el control\n"
1457 "de la frecuencia. Cualquier otro valor cambiará\n"
1458 "el delta de control de la frecuencia de audio.\n"
1459 " \n"
1460 "Define cuánta frecuencia de entrada puede\n"
1461 "ajustarse de forma dinámica.\n"
1462 " \n"
1463 " La frecuencia de entrada se define como:\n"
1464 " frecuencia de entrada * (1.0 +/-\n"
1465 " (delta de control de frecuencia))");
1466 break;
1467 case MENU_ENUM_LABEL_AUDIO_MAX_TIMING_SKEW:
1468 snprintf(s, len,
1469 "Variación máxima en la sincronía de audio.\n"
1470 " \n"
1471 "Define la variación máxima de la frecuencia\n"
1472 "de entrada. Podrías aumentar el valor\n"
1473 "para cambiar la sincronía (por ejemplo,\n"
1474 "si ejecutas núcleos PAL en monitores NTSC)\n"
1475 "a cambio de alterar el tono de audio.\n"
1476 " \n"
1477 " La frecuencia de entrada se calcula así:\n"
1478 " frecuencia de entrada * (1.0 +/-\n"
1479 " (variación máxima de sincronía))");
1480 break;
1481 case MENU_ENUM_LABEL_OVERLAY_NEXT:
1482 snprintf(s, len,
1483 "Cambia a la siguiente superposición.\n"
1484 " \n"
1485 "Se expandirá sobre la pantalla.");
1486 break;
1487 case MENU_ENUM_LABEL_LOG_VERBOSITY:
1488 snprintf(s, len,
1489 "Activa o desactiva el nivel\n"
1490 "de verbosidad de la interfaz.");
1491 break;
1492 case MENU_ENUM_LABEL_VOLUME_UP:
1493 snprintf(s, len,
1494 "Aumenta el volumen del audio.");
1495 break;
1496 case MENU_ENUM_LABEL_VOLUME_DOWN:
1497 snprintf(s, len,
1498 "Disminuye el volumen del audio.");
1499 break;
1500 case MENU_ENUM_LABEL_VIDEO_DISABLE_COMPOSITION:
1501 snprintf(s, len,
1502 "Fuerza la desactivación de la composición.\n"
1503 "Actualmente solo funciona en Windows Vista/7.");
1504 break;
1505 case MENU_ENUM_LABEL_PERFCNT_ENABLE:
1506 snprintf(s, len,
1507 "Activa o desactiva los contadores\n"
1508 "de rendimiento de la interfaz.");
1509 break;
1510 case MENU_ENUM_LABEL_SYSTEM_DIRECTORY:
1511 snprintf(s, len,
1512 "Carpeta del sistema.\n"
1513 " \n"
1514 "Asigna la carpeta «system».\n"
1515 "Los núcleos pueden utilizarla para cargar BIOS,\n"
1516 "configuraciones específicas de un sistema, etc.");
1517 break;
1518 case MENU_ENUM_LABEL_SAVESTATE_AUTO_SAVE:
1519 case MENU_ENUM_LABEL_SAVESTATE_AUTO_LOAD:
1520 snprintf(s, len,
1521 "Guarda automáticamente un guardado rápido\n"
1522 "al cerrar RetroArch.\n"
1523 " \n"
1524 "RetroArch cargará al arrancar cualquier\n"
1525 "guardado rápido que se encuentre en esa ruta\n"
1526 "si la opción «Cargar guardado rápido\n"
1527 "automáticamente» está activada.");
1528 break;
1529 case MENU_ENUM_LABEL_VIDEO_THREADED:
1530 snprintf(s, len,
1531 "Utiliza un controlador de vídeo multihilos.\n"
1532 " \n"
1533 "Esta opción podría mejorar el rendimiento\n"
1534 "a costa de ganar retraso y perder fluidez\n"
1535 "de vídeo.");
1536 break;
1537 case MENU_ENUM_LABEL_VIDEO_VSYNC:
1538 snprintf(s, len,
1539 "Sincronía vertical de la señal de vídeo.");
1540 break;
1541 case MENU_ENUM_LABEL_VIDEO_HARD_SYNC:
1542 snprintf(s, len,
1543 "Intenta sincronizar la CPU y la GPU\n"
1544 "de una forma más estricta.\n"
1545 " \n"
1546 "Puede reducir el retraso a costa\n"
1547 "de perder rendimiento.");
1548 break;
1549 case MENU_ENUM_LABEL_REWIND_GRANULARITY:
1550 snprintf(s, len,
1551 "Nivel de detalle del rebobinado.\n"
1552 " \n"
1553 "Cuando se rebobina un número determinado\n"
1554 "de fotogramas, puedes rebobinar varios\n"
1555 "fotogramas a la vez, aumentando la velocidad\n"
1556 "de rebobinado.");
1557 break;
1558 case MENU_ENUM_LABEL_REWIND_BUFFER_SIZE:
1559 snprintf(s, len,
1560 "Tamaño del búfer de rebobinado (en MB).\n"
1561 " \n"
1562 "La cantidad de memoria a reservar para\n"
1563 "la función de rebobinado. Al aumentar\n"
1564 "este valor se incrementará la longitud\n"
1565 "del historial de rebobinado.");
1566 break;
1567 case MENU_ENUM_LABEL_REWIND_BUFFER_SIZE_STEP:
1568 snprintf(s, len,
1569 "Tamaño de los pasos del búfer de rebobinado\n"
1570 "(en MB).\n"
1571 " \n"
1572 "Cada vez que modifiques el valor del tamaño\n"
1573 "del búfer de rebobinado a través de esta\n"
1574 "interfaz, cambiará utilizando este valor.");
1575 break;
1576 case MENU_ENUM_LABEL_SCREENSHOT:
1577 snprintf(s, len,
1578 "Captura la pantalla.");
1579 break;
1580 case MENU_ENUM_LABEL_VIDEO_FRAME_DELAY:
1581 snprintf(s, len,
1582 "Ajusta la cantidad de retraso en milisegundos\n"
1583 "posteriores a la sincronía vertical con la que\n"
1584 "se ejecutará el núcleo.\n"
1585 " \n"
1586 "Puede reducir el retraso a costa de aumentar\n"
1587 "la probabilidad de perder fluidez.\n"
1588 " \n"
1589 "El valor máximo es 15.");
1590 break;
1591 case MENU_ENUM_LABEL_VIDEO_SHADER_DELAY:
1592 snprintf(s, len,
1593 "Ajusta la cantidad de milisegundos de retraso\n"
1594 "previos a la carga automática de shaders.\n"
1595 " \n"
1596 "Esto puede evitar defectos gráficos provocados\n"
1597 "por aplicaciones de captura de pantalla, como\n"
1598 "el software para streaming.");
1599 break;
1600 case MENU_ENUM_LABEL_VIDEO_HARD_SYNC_FRAMES:
1601 snprintf(s, len,
1602 "Ajusta la cantidad de fotogramas que puede\n"
1603 "adelantar la CPU a la GPU al utilizar\n"
1604 "«Sincronía estricta de CPU».\n"
1605 " \n"
1606 "El valor máximo es 3.\n"
1607 " \n"
1608 " 0: Sincroniza inmediatamente a GPU.\n"
1609 " 1: Sincroniza con el fotograma anterior.\n"
1610 " 2: Etcétera.");
1611 break;
1612 case MENU_ENUM_LABEL_VIDEO_BLACK_FRAME_INSERTION:
1613 snprintf(s, len,
1614 "Introduce fotogramas negros entre fotogramas.\n"
1615 " \n"
1616 "Es útil para los monitores que funcionan\n"
1617 "a 120 Hz y quieren jugar a contenidos a 60 Hz\n"
1618 "eliminando el efecto ghosting.\n"
1619 " \n"
1620 "La frecuencia de actualización de vídeo\n"
1621 "aún debe configurarse como si utilizaras\n"
1622 "un monitor de 60 Hz (divide la frecuencia\n"
1623 "de actualización entre 2).");
1624 break;
1625 case MENU_ENUM_LABEL_RGUI_SHOW_START_SCREEN:
1626 snprintf(s, len,
1627 "Muestra la pantalla de inicio en el menú.\n"
1628 "Esta pantalla se desactiva automáticamente\n"
1629 "cuando se ha visto por primera vez.\n"
1630 " \n"
1631 "Esta opción solo se actualizará dentro\n"
1632 "de la configuración si «Guardar configuración\n"
1633 "al salir» está activada.");
1634 break;
1635 case MENU_ENUM_LABEL_VIDEO_FULLSCREEN:
1636 snprintf(s, len,
1637 "Activa o desactiva el modo\n"
1638 "de pantalla completa.");
1639 break;
1640 case MENU_ENUM_LABEL_BLOCK_SRAM_OVERWRITE:
1641 snprintf(s, len,
1642 "Impide que la SaveRAM sea sobrescrita\n"
1643 "al cargar un guardado rápido.\n"
1644 " \n"
1645 "Podría provocar defectos en los juegos.");
1646 break;
1647 case MENU_ENUM_LABEL_PAUSE_NONACTIVE:
1648 snprintf(s, len,
1649 "Pausa el juego cuando la ventana\n"
1650 "pasa a estar en segundo plano.");
1651 break;
1652 case MENU_ENUM_LABEL_VIDEO_GPU_SCREENSHOT:
1653 snprintf(s, len,
1654 "Si es posible, las capturas de pantalla\n"
1655 "utilizarán la imagen de la GPU con los shaders\n"
1656 "ya aplicados.");
1657 break;
1658 case MENU_ENUM_LABEL_SCREENSHOT_DIRECTORY:
1659 snprintf(s, len,
1660 "Carpeta de capturas de pantalla.\n"
1661 " \n"
1662 "En esta carpeta se guardarán\n"
1663 "las capturas de pantalla."
1664 );
1665 break;
1666 case MENU_ENUM_LABEL_VIDEO_SWAP_INTERVAL:
1667 snprintf(s, len,
1668 "Intervalo de cambio de la sincronía vertical.\n"
1669 " \n"
1670 "Utiliza un intervalo personalizado\n"
1671 "para la sincronía vertical.\n"
1672 "Configúralo para reducir a la mitad\n"
1673 "la frecuencia de actualización del monitor.");
1674 break;
1675 case MENU_ENUM_LABEL_SAVEFILE_DIRECTORY:
1676 snprintf(s, len,
1677 "Carpeta de partidas guardadas.\n"
1678 " \n"
1679 "Almacena todas las partidas guardadas (*.srm)\n"
1680 "en esta carpeta. Incluye los archivos\n"
1681 "relacionados, como .bsv, .rt, .psrm, etcétera.\n"
1682 " \n"
1683 "Esta carpeta será ignorada si se utilizan\n"
1684 "explícitamente las opciones por línea\n"
1685 "de comandos.");
1686 break;
1687 case MENU_ENUM_LABEL_SAVESTATE_DIRECTORY:
1688 snprintf(s, len,
1689 "Carpeta de guardados rápidos.\n"
1690 " \n"
1691 "Almacena todos los guardados rápidos\n"
1692 "(*.state) en esta carpeta.\n"
1693 " \n"
1694 "Esta carpeta será ignorada si se utilizan\n"
1695 "explícitamente las opciones por línea\n"
1696 "de comandos.");
1697 break;
1698 case MENU_ENUM_LABEL_ASSETS_DIRECTORY:
1699 snprintf(s, len,
1700 "Carpeta de recursos.\n"
1701 " \n"
1702 "Esta ubicación es donde las interfaces\n"
1703 "de menús buscarán de forma predeterminada\n"
1704 "los recursos a cargar, etc.");
1705 break;
1706 case MENU_ENUM_LABEL_DYNAMIC_WALLPAPERS_DIRECTORY:
1707 snprintf(s, len,
1708 "Carpeta de fondos dinámicos de pantalla.\n"
1709 " \n"
1710 "Aquí se almacenan los fondos de pantalla\n"
1711 "que el menú cargará de forma dinámica\n"
1712 "según el contexto.");
1713 break;
1714 case MENU_ENUM_LABEL_SLOWMOTION_RATIO:
1715 snprintf(s, len,
1716 "Proporción de la cámara lenta.\n"
1717 " \n"
1718 "Al usar la cámara lenta, el contenido\n"
1719 "se ralentizará según este factor.");
1720 break;
1721 case MENU_ENUM_LABEL_INPUT_BUTTON_AXIS_THRESHOLD:
1722 snprintf(s, len,
1723 "Define el umbral de los ejes.\n"
1724 " \n"
1725 "Indica la distancia que debe alcanzar un eje\n"
1726 "para que el botón se considere presionado.\n"
1727 "Los valores disponibles son [0.0, 1.0].");
1728 break;
1729 case MENU_ENUM_LABEL_INPUT_TURBO_PERIOD:
1730 snprintf(s, len,
1731 "Duración del turbo.\n"
1732 " \n"
1733 "Indica la velocidad con la que se pulsan\n"
1734 "los botones en el modo turbo (en fotogramas)."
1735 );
1736 break;
1737 case MENU_ENUM_LABEL_INPUT_TURBO_MODE:
1738 snprintf(s, len,
1739 "Modo turbo.\n"
1740 " \n"
1741 "Selecciona el comportamiento básico\n"
1742 "del modo turbo."
1743 );
1744 break;
1745 case MENU_ENUM_LABEL_INPUT_TURBO_DEFAULT_BUTTON:
1746 snprintf(s, len,
1747 "Botón predeterminado del modo turbo.\n"
1748 " \n"
1749 "El botón individual predeterminado\n"
1750 "para el modo turbo.\n"
1751 );
1752 break;
1753 case MENU_ENUM_LABEL_INPUT_DUTY_CYCLE:
1754 snprintf(s, len,
1755 "Cambia el ciclo de trabajo.\n"
1756 " \n"
1757 "Describe la duración de un periodo\n"
1758 "de pulsación con turbo (en fotogramas)."
1759 );
1760 break;
1761 case MENU_ENUM_LABEL_INPUT_TOUCH_ENABLE:
1762 snprintf(s, len, "Activa el soporte táctil.");
1763 break;
1764 case MENU_ENUM_LABEL_INPUT_PREFER_FRONT_TOUCH:
1765 snprintf(s, len, "Utiliza la pantalla frontal\n"
1766 "en lugar de la trasera.");
1767 break;
1768 case MENU_ENUM_LABEL_MOUSE_ENABLE:
1769 snprintf(s, len, "Permite usar el ratón dentro del menú.");
1770 break;
1771 case MENU_ENUM_LABEL_POINTER_ENABLE:
1772 snprintf(s, len, "Permite usar la pantalla táctil\n"
1773 "dentro del menú.");
1774 break;
1775 case MENU_ENUM_LABEL_MENU_WALLPAPER:
1776 snprintf(s, len, "Ruta de la imagen que se usará\n"
1777 "como fondo de pantalla.");
1778 break;
1779 case MENU_ENUM_LABEL_NAVIGATION_WRAPAROUND:
1780 snprintf(s, len,
1781 "Indica si se debe volver al principio\n"
1782 "de una lista tras llegar a su final.");
1783 break;
1784 case MENU_ENUM_LABEL_PAUSE_LIBRETRO:
1785 snprintf(s, len,
1786 "Si desactivas esta opción, el juego\n"
1787 "seguirá en marcha en segundo plano\n"
1788 "mientras estás en el menú.");
1789 break;
1790 case MENU_ENUM_LABEL_SUSPEND_SCREENSAVER_ENABLE:
1791 snprintf(s, len,
1792 "Suspende el protector de pantalla.\n"
1793 "Es posible que el controlador de vídeo\n"
1794 "no respete este ajuste.");
1795 break;
1796 case MENU_ENUM_LABEL_NETPLAY_MODE:
1797 snprintf(s, len,
1798 "Ajusta el modo del cliente de juego en red\n"
1799 "para el usuario actual. Si esta opción está\n"
1800 "desactivada, se utilizará el modo servidor.");
1801 break;
1802 case MENU_ENUM_LABEL_NETPLAY_DELAY_FRAMES:
1803 snprintf(s, len,
1804 "Cantidad de fotogramas retrasados\n"
1805 "para el juego en red.\n"
1806 " \n"
1807 "Un valor elevado mejorará el rendimiento\n"
1808 "a costa de aumentar la latencia.");
1809 break;
1810 case MENU_ENUM_LABEL_NETPLAY_PUBLIC_ANNOUNCE:
1811 snprintf(s, len,
1812 "Indica si las partidas de juego en red\n"
1813 "serán anunciadas de forma pública.\n"
1814 " \n"
1815 "Si esta opción está desactivada,\n"
1816 "los clientes no podrán acceder mediante\n"
1817 "la sala pública, sino que deberán\n"
1818 "conectarse manualmente.");
1819 break;
1820 case MENU_ENUM_LABEL_NETPLAY_START_AS_SPECTATOR:
1821 snprintf(s, len,
1822 "Indica si se debe empezar el juego en red\n"
1823 "en modo espectador.\n"
1824 " \n"
1825 "Si esta opción está activada, el juego en red\n"
1826 "comenzará en modo espectador.\n"
1827 "Es posible cambiar el modo a posteriori.");
1828 break;
1829 case MENU_ENUM_LABEL_NETPLAY_ALLOW_SLAVES:
1830 snprintf(s, len,
1831 "Permite las conexiones en modo esclavo.\n"
1832 " \n"
1833 "Los clientes en modo esclavo consumen\n"
1834 "pocos recursos de CPU en ambos lados,\n"
1835 "pero tendrán más problemas de latencia\n"
1836 "de red.");
1837 break;
1838 case MENU_ENUM_LABEL_NETPLAY_REQUIRE_SLAVES:
1839 snprintf(s, len,
1840 "Bloquea las conexiones que no utilicen\n"
1841 "el modo esclavo.\n"
1842 " \n"
1843 "No se recomienda su uso salvo en redes\n"
1844 "muy rápidas con máquinas poco potentes.");
1845 break;
1846 case MENU_ENUM_LABEL_NETPLAY_STATELESS_MODE:
1847 snprintf(s, len,
1848 "Ejecuta el juego en red en un modo\n"
1849 "que no utiliza guardados rápidos.\n"
1850 " \n"
1851 "La activación de esta opción requiere\n"
1852 "de una red muy rápida, pero no se realizarán\n"
1853 "rebobinados, de modo que no habrá tirones\n"
1854 "durante la sesión.");
1855 break;
1856 case MENU_ENUM_LABEL_NETPLAY_CHECK_FRAMES: {
1857 /* Work around C89 limitations */
1858 /* Arreglo para saltarse la limitación de 509 caracteres por cadena. */
1859 char u[501];
1860 const char *t =
1861 "Indica la frecuencia (en fotogramas) con la que\n"
1862 "el servidor del juego en red verificará\n"
1863 "que está sincronizado con el cliente.\n"
1864 " \n"
1865 "Este valor no tiene efectos visibles en\n"
1866 "la mayoría de los núcleos y puede ser ignorado.\n"
1867 "En el caso de los núcleos no deterministas,\n"
1868 "este valor determina las veces en las que los\n"
1869 "clientes de juego en red serán sincronizados.\n";
1870 snprintf(u, sizeof(u), /* can't inline this due to the printf arguments */
1871 "En el caso de los núcleos con fallos, asignar\n"
1872 "un valor que no sea cero provocará problemas\n"
1873 "graves de rendimiento.\n"
1874 "Selecciona cero para no hacer comprobaciones.\n"
1875 "Este valor es usado únicamente por el servidor\n"
1876 "de juego en red.");
1877 strlcpy(s, t, len);
1878 strlcat(s, u, len);
1879 }
1880 break;
1881 case MENU_ENUM_LABEL_NETPLAY_INPUT_LATENCY_FRAMES_MIN:
1882 snprintf(s, len,
1883 "El número de fotogramas de retraso\n"
1884 "en la entrada que utilizará el juego en red\n"
1885 "para ocultar la latencia de red.\n"
1886 " \n"
1887 "Esta opción retrasa la entrada local en\n"
1888 "el juego en red para que el fotograma ejecutado\n"
1889 "sea más próximo a los fotogramas que se reciben\n"
1890 "a través de la red, reduciendo los tirones\n"
1891 "y el consumo de la CPU, pero genera un retraso\n"
1892 "en la entrada visible.");
1893 break;
1894 case MENU_ENUM_LABEL_NETPLAY_INPUT_LATENCY_FRAMES_RANGE:
1895 snprintf(s, len,
1896 "El rango de fotogramas de retraso de entrada\n"
1897 "que puede utilizar el juego en red para\n"
1898 "camuflar la latencia de red.\n"
1899 " \n"
1900 "Si esta opción está activada, el juego en red\n"
1901 "ajustará de forma dinámica el número de\n"
1902 "fotogramas de retraso en la entrada para\n"
1903 "equilibrar el tiempo de la CPU; el retraso\n"
1904 "de entrada y la latencia de red. Esto reduce\n"
1905 "los tirones y el consumo de la CPU, pero\n"
1906 "genera un retraso en la entrada impredecible.");
1907 break;
1908 case MENU_ENUM_LABEL_NETPLAY_NAT_TRAVERSAL:
1909 snprintf(s, len,
1910 "Al alojar un servidor, se intentará buscar\n"
1911 "conexiones de forma pública a través de\n"
1912 "Internet mediante UPnP u otras tecnologías\n"
1913 "pensadas para salir de redes locales.");
1914 break;
1915 case MENU_ENUM_LABEL_NETPLAY_USE_MITM_SERVER:
1916 snprintf(s, len,
1917 "Al alojar una sesión de juego en red, se\n"
1918 "retransmitirá la conexión a un servidor\n"
1919 "intermediario (man-in-the-middle) para sortear\n"
1920 "cortafuegos o problemas de NAT/UPnP.");
1921 break;
1922 case MENU_ENUM_LABEL_NETPLAY_MITM_SERVER:
1923 snprintf(s, len,
1924 "Especifica el servidor intermediario (man-\n"
1925 "in-the-middle) para el juego en red.\n"
1926 "Un servidor que esté físicamente más cerca\n"
1927 "de ti puede tener menos latencia.");
1928 break;
1929 case MENU_ENUM_LABEL_VIDEO_MAX_SWAPCHAIN_IMAGES:
1930 snprintf(s, len,
1931 "Indica la cantidad máxima de imágenes en\n"
1932 "swapchain. Esto indica al controlador de vídeo\n"
1933 "que utilice un búfer de vídeo concreto.\n"
1934 " \n"
1935 "Búfer simple: 1\n"
1936 "Búfer doble: 2\n"
1937 "Búfer triple: 3\n"
1938 " \n"
1939 "Si seleccionas el búfer más adecuado,\n"
1940 "podrás alterar la latencia.");
1941 break;
1942 case MENU_ENUM_LABEL_VIDEO_SMOOTH:
1943 snprintf(s, len,
1944 "Suaviza la imagen con un filtro bilineal.\n"
1945 "Desactiva esta opción si utilizas shaders.");
1946 break;
1947 case MENU_ENUM_LABEL_VIDEO_CTX_SCALING:
1948 snprintf(s, len,
1949 #ifdef HAVE_ODROIDGO2
1950 "Escalado RGA y filtrado bicúbico.\n"
1951 "Podría inutilizar los widgets."
1952 #else
1953 "Escalado según contexto del hardware\n"
1954 "(si existe)."
1955 #endif
1956 );
1957 break;
1958 case MENU_ENUM_LABEL_TIMEDATE_ENABLE:
1959 snprintf(s, len,
1960 "Muestra la fecha o la hora actuales\n"
1961 "en el menú.");
1962 break;
1963 case MENU_ENUM_LABEL_TIMEDATE_STYLE:
1964 snprintf(s, len,
1965 "Indica el formato de la fecha o la hora.");
1966 break;
1967 case MENU_ENUM_LABEL_BATTERY_LEVEL_ENABLE:
1968 snprintf(s, len,
1969 "Muestra la carga actual de la batería\n"
1970 "en el menú.");
1971 break;
1972 case MENU_ENUM_LABEL_CORE_ENABLE:
1973 snprintf(s, len,
1974 "Muestra el núcleo cargado actualmente\n"
1975 "en el menú.");
1976 break;
1977 case MENU_ENUM_LABEL_NETPLAY_ENABLE_HOST:
1978 snprintf(s, len,
1979 "Activa el juego en red utilizando\n"
1980 "el modo servidor.");
1981 break;
1982 case MENU_ENUM_LABEL_NETPLAY_ENABLE_CLIENT:
1983 snprintf(s, len,
1984 "Activa el juego en red utilizando\n"
1985 "el modo cliente.");
1986 break;
1987 case MENU_ENUM_LABEL_NETPLAY_DISCONNECT:
1988 snprintf(s, len,
1989 "Desconecta una sesión activa\n"
1990 "de juego en red.");
1991 break;
1992 case MENU_ENUM_LABEL_NETPLAY_LAN_SCAN_SETTINGS:
1993 snprintf(s, len,
1994 "Busca sesiones de juego en red\n"
1995 "en la red local.");
1996 break;
1997 case MENU_ENUM_LABEL_NETPLAY_SETTINGS:
1998 snprintf(s, len,
1999 "Este ajuste está relacionado\n"
2000 "con el juego en red.");
2001 break;
2002 case MENU_ENUM_LABEL_DYNAMIC_WALLPAPER:
2003 snprintf(s, len,
2004 "Carga fondos de pantalla de forma dinámica\n"
2005 "según el contexto.");
2006 break;
2007 case MENU_ENUM_LABEL_CORE_UPDATER_BUILDBOT_URL:
2008 snprintf(s, len,
2009 "La dirección URL al directorio del actualizador\n"
2010 "de núcleos del buildbot libretro.");
2011 break;
2012 case MENU_ENUM_LABEL_BUILDBOT_ASSETS_URL:
2013 snprintf(s, len,
2014 "La dirección URL al directorio del actualizador\n"
2015 "de recursos del buildbot libretro.");
2016 break;
2017 case MENU_ENUM_LABEL_INPUT_REMAP_BINDS_ENABLE:
2018 snprintf(s, len,
2019 "Esta opción reemplaza las asignaciones\n"
2020 "de entrada con las reasignaciones\n"
2021 "del núcleo actual.");
2022 break;
2023 case MENU_ENUM_LABEL_OVERLAY_DIRECTORY:
2024 snprintf(s, len,
2025 "Carpeta de superposiciones.\n"
2026 " \n"
2027 "Define la carpeta que contiene\n"
2028 "las superposiciones.");
2029 break;
2030 case MENU_ENUM_LABEL_VIDEO_LAYOUT_DIRECTORY:
2031 snprintf(s, len,
2032 "Carpeta de diseños de vídeo.\n"
2033 " \n"
2034 "Define la carpeta que contiene\n"
2035 "los diseños de vídeo.");
2036 break;
2037 case MENU_ENUM_LABEL_INPUT_MAX_USERS:
2038 snprintf(s, len,
2039 "Indica el número máximo de usuarios\n"
2040 "que puede alojar RetroArch.");
2041 break;
2042 case MENU_ENUM_LABEL_CORE_UPDATER_AUTO_EXTRACT_ARCHIVE:
2043 snprintf(s, len,
2044 "Extrae automáticamente los contenidos\n"
2045 "de los archivos comprimidos que\n"
2046 "se hayan descargado.");
2047 break;
2048 case MENU_ENUM_LABEL_NAVIGATION_BROWSER_FILTER_SUPPORTED_EXTENSIONS_ENABLE:
2049 snprintf(s, len,
2050 "Filtra los archivos que se muestren\n"
2051 "por sus extensiones.");
2052 break;
2053 case MENU_ENUM_LABEL_NETPLAY_NICKNAME:
2054 snprintf(s, len,
2055 "El nombre de usuario de la persona que esté\n"
2056 "utilizando RetroArch. Este nombre se utilizará\n"
2057 "en las partidas de juego en red.");
2058 break;
2059 case MENU_ENUM_LABEL_NETPLAY_TCP_UDP_PORT:
2060 snprintf(s, len,
2061 "El puerto de la dirección IP del servidor.\n"
2062 "Puede ser TCP o UDP.");
2063 break;
2064 case MENU_ENUM_LABEL_NETPLAY_SPECTATOR_MODE_ENABLE:
2065 snprintf(s, len,
2066 "Activa o desactiva el modo espectador\n"
2067 "para el juego en red.");
2068 break;
2069 case MENU_ENUM_LABEL_NETPLAY_IP_ADDRESS:
2070 snprintf(s, len,
2071 "La dirección del servidor\n"
2072 "al que quieres conectarte.");
2073 break;
2074 case MENU_ENUM_LABEL_NETPLAY_PASSWORD:
2075 snprintf(s, len,
2076 "La contraseña del servidor de juego en red.\n"
2077 "Solo se utiliza en el modo servidor.");
2078 break;
2079 case MENU_ENUM_LABEL_NETPLAY_SPECTATE_PASSWORD:
2080 snprintf(s, len,
2081 "La contraseña del servidor de juego en red\n"
2082 "para acceder con solo privilegios de espectador.\n"
2083 "Solo se utiliza en el modo servidor.");
2084 break;
2085 case MENU_ENUM_LABEL_STDIN_CMD_ENABLE:
2086 snprintf(s, len,
2087 "Activa la interfaz de comandos stdin.");
2088 break;
2089 case MENU_ENUM_LABEL_UI_COMPANION_START_ON_BOOT:
2090 snprintf(s, len,
2091 "Inicia el asistente de la interfaz al arrancar\n"
2092 "(si está disponible).");
2093 break;
2094 case MENU_ENUM_LABEL_MENU_DRIVER:
2095 snprintf(s, len,
2096 "Selecciona el controlador de menú a utilizar.");
2097 break;
2098 case MENU_ENUM_LABEL_INPUT_MENU_ENUM_TOGGLE_GAMEPAD_COMBO:
2099 snprintf(s, len,
2100 "Selecciona la combinación de botones del mando\n"
2101 "para abrir o cerrar el menú.\n"
2102 " \n"
2103 "0: Desactivar\n"
2104 "1: L + R + Cruceta abajo a la vez.\n"
2105 "2: L3 + R3 a la vez.\n"
2106 "3: Start + Select a la vez.");
2107 break;
2108 case MENU_ENUM_LABEL_INPUT_ALL_USERS_CONTROL_MENU:
2109 snprintf(s, len,
2110 "Permite que cualquier usuario\n"
2111 "pueda controlar el menú.\n"
2112 " \n"
2113 "Si esta opción está desactivada,\n"
2114 "solo podrá ser controlado por el usuario 1.");
2115 break;
2116 case MENU_ENUM_LABEL_INPUT_AUTODETECT_ENABLE:
2117 snprintf(s, len,
2118 "Activa la detección automática\n"
2119 "de dispositivos de entrada.\n"
2120 " \n"
2121 "Intentará configurar de forma automática\n"
2122 "los mandos que se conecten, de forma similar\n"
2123 "al sistema Plug-and-play.");
2124 break;
2125 case MENU_ENUM_LABEL_CAMERA_ALLOW:
2126 snprintf(s, len,
2127 "Permite el acceso a la cámara\n"
2128 "por parte de los núcleos.");
2129 break;
2130 case MENU_ENUM_LABEL_LOCATION_ALLOW:
2131 snprintf(s, len,
2132 "Permite el uso de los servicios\n"
2133 "de localización por parte de los núcleos.");
2134 break;
2135 case MENU_ENUM_LABEL_TURBO:
2136 snprintf(s, len,
2137 "Activa la función de turbo.\n"
2138 " \n"
2139 "Si mantienes pulsado el botón de turbo\n"
2140 "mientras pulsas otro botón, este último entrará\n"
2141 "en un modo turbo en el que el estado del botón\n"
2142 "se modula mediante una señal periódica.\n"
2143 " \n"
2144 "La modulación se detiene cuando se deja\n"
2145 "de pulsar el botón original (no el botón\n"
2146 "de turbo).");
2147 break;
2148 case MENU_ENUM_LABEL_OSK_ENABLE:
2149 snprintf(s, len,
2150 "Activa el teclado en pantalla.");
2151 break;
2152 case MENU_ENUM_LABEL_AUDIO_MUTE:
2153 snprintf(s, len,
2154 "Silencia o no el audio.");
2155 break;
2156 case MENU_ENUM_LABEL_REWIND:
2157 snprintf(s, len,
2158 "Mantén pulsado este botón para rebobinar.\n"
2159 " \n"
2160 "Para que este botón funcione, debes tener\n"
2161 "activada la opción de rebobinar.");
2162 break;
2163 case MENU_ENUM_LABEL_EXIT_EMULATOR:
2164 snprintf(s, len,
2165 "Asigna una tecla para abandonar\n"
2166 "RetroArch limpiamente."
2167 #if !defined(RARCH_MOBILE) && !defined(RARCH_CONSOLE)
2168 "\nSi cierras el programa de cualquier\n"
2169 "forma brusca (SIGKILL, etc.) no se guardarán\n"
2170 "los progresos, la RAM, etc.\n"
2171 "En sistemas Unix, SIGINT/SIGTERM permite\n"
2172 "un cierre limpio."
2173 #endif
2174 );
2175 break;
2176 case MENU_ENUM_LABEL_LOAD_STATE:
2177 snprintf(s, len,
2178 "Carga el guardado rápido.");
2179 break;
2180 case MENU_ENUM_LABEL_SAVE_STATE:
2181 snprintf(s, len,
2182 "Guarda rápidamente la partida.");
2183 break;
2184 case MENU_ENUM_LABEL_NETPLAY_GAME_WATCH:
2185 snprintf(s, len,
2186 "Cambia entre los modos de jugador o espectador\n"
2187 "en el juego en red.");
2188 break;
2189 case MENU_ENUM_LABEL_CHEAT_INDEX_PLUS:
2190 snprintf(s, len,
2191 "Aumenta el índice de trucos.");
2192 break;
2193 case MENU_ENUM_LABEL_CHEAT_INDEX_MINUS:
2194 snprintf(s, len,
2195 "Disminuye el índice de trucos.");
2196 break;
2197 case MENU_ENUM_LABEL_SHADER_PREV:
2198 snprintf(s, len,
2199 "Aplica el shader anterior de la carpeta.");
2200 break;
2201 case MENU_ENUM_LABEL_SHADER_NEXT:
2202 snprintf(s, len,
2203 "Aplica el siguiente shader de la carpeta.");
2204 break;
2205 case MENU_ENUM_LABEL_RESET:
2206 snprintf(s, len,
2207 "Reinicia el contenido.");
2208 break;
2209 case MENU_ENUM_LABEL_PAUSE_TOGGLE:
2210 snprintf(s, len,
2211 "Alterna el estado en pausa.");
2212 break;
2213 case MENU_ENUM_LABEL_CHEAT_TOGGLE:
2214 snprintf(s, len,
2215 "Alterna el índice de trucos.");
2216 break;
2217 case MENU_ENUM_LABEL_CHEAT_IDX:
2218 snprintf(s, len,
2219 "Muestra la posición en el índice de la lista.");
2220 break;
2221 case MENU_ENUM_LABEL_CHEAT_ADDRESS_BIT_POSITION:
2222 snprintf(s, len,
2223 "Bitmask de la dirección cuando el tamaño\n"
2224 "de la búsqueda de memoria es menor a 8 bits.");
2225 break;
2226 case MENU_ENUM_LABEL_CHEAT_REPEAT_COUNT:
2227 snprintf(s, len,
2228 "Indica la cantidad de veces\n"
2229 "que se aplicará el truco.\n"
2230 "Usar con las otras dos opciones\n"
2231 "de iteración para cubrir\n"
2232 "regiones grandes de memoria.");
2233 break;
2234 case MENU_ENUM_LABEL_CHEAT_REPEAT_ADD_TO_ADDRESS:
2235 snprintf(s, len,
2236 "Tras cada «Número de iteraciones»,\n"
2237 "se incrementará la dirección de memoria\n"
2238 "con este valor multiplicado por el tamaño\n"
2239 "de búsqueda de memoria.");
2240 break;
2241 case MENU_ENUM_LABEL_CHEAT_REPEAT_ADD_TO_VALUE:
2242 snprintf(s, len,
2243 "Tras cada «Número de iteraciones»,\n"
2244 "se incrementará el valor con esta cantidad.");
2245 break;
2246 case MENU_ENUM_LABEL_CHEAT_MATCH_IDX:
2247 snprintf(s, len,
2248 "Selecciona una coincidencia.");
2249 break;
2250 case MENU_ENUM_LABEL_CHEAT_START_OR_CONT:
2251 snprintf(s, len,
2252 "Busca en la memoria para crear trucos nuevos.");
2253 break;
2254 case MENU_ENUM_LABEL_CHEAT_START_OR_RESTART:
2255 snprintf(s, len,
2256 "Izquierda/Derecha para cambiar el bit-size.");
2257 break;
2258 case MENU_ENUM_LABEL_CHEAT_SEARCH_EXACT:
2259 snprintf(s, len,
2260 "Izquierda/Derecha para cambiar el valor.");
2261 break;
2262 case MENU_ENUM_LABEL_CHEAT_SEARCH_LT:
2263 snprintf(s, len,
2264 " ");
2265 break;
2266 case MENU_ENUM_LABEL_CHEAT_SEARCH_GT:
2267 snprintf(s, len,
2268 " ");
2269 break;
2270 case MENU_ENUM_LABEL_CHEAT_SEARCH_EQ:
2271 snprintf(s, len,
2272 " ");
2273 break;
2274 case MENU_ENUM_LABEL_CHEAT_SEARCH_NEQ:
2275 snprintf(s, len,
2276 " ");
2277 break;
2278 case MENU_ENUM_LABEL_CHEAT_SEARCH_EQPLUS:
2279 snprintf(s, len,
2280 "Izquierda/Derecha para cambiar el valor.");
2281 break;
2282 case MENU_ENUM_LABEL_CHEAT_SEARCH_EQMINUS:
2283 snprintf(s, len,
2284 "Izquierda/Derecha para cambiar el valor.");
2285 break;
2286 case MENU_ENUM_LABEL_CHEAT_ADD_MATCHES:
2287 snprintf(s, len,
2288 " ");
2289 break;
2290 case MENU_ENUM_LABEL_CHEAT_VIEW_MATCHES:
2291 snprintf(s, len,
2292 " ");
2293 break;
2294 case MENU_ENUM_LABEL_CHEAT_CREATE_OPTION:
2295 snprintf(s, len,
2296 " ");
2297 break;
2298 case MENU_ENUM_LABEL_CHEAT_DELETE_OPTION:
2299 snprintf(s, len,
2300 " ");
2301 break;
2302 case MENU_ENUM_LABEL_CHEAT_ADD_NEW_TOP:
2303 snprintf(s, len,
2304 " ");
2305 break;
2306 case MENU_ENUM_LABEL_CHEAT_RELOAD_CHEATS:
2307 snprintf(s, len,
2308 " ");
2309 break;
2310 case MENU_ENUM_LABEL_CHEAT_ADD_NEW_BOTTOM:
2311 snprintf(s, len,
2312 " ");
2313 break;
2314 case MENU_ENUM_LABEL_CHEAT_DELETE_ALL:
2315 snprintf(s, len,
2316 " ");
2317 break;
2318 case MENU_ENUM_LABEL_CHEAT_BIG_ENDIAN:
2319 snprintf(s, len,
2320 "Big endian : 258 = 0x0102\n"
2321 "Little endian : 258 = 0x0201");
2322 break;
2323 case MENU_ENUM_LABEL_HOLD_FAST_FORWARD:
2324 snprintf(s, len,
2325 "Mantén pulsado este botón para\n"
2326 "avanzar rápidamente. Suéltalo\n"
2327 "para volver a la velocidad normal.");
2328 break;
2329 case MENU_ENUM_LABEL_SLOWMOTION_HOLD:
2330 snprintf(s, len,
2331 "Mantén pulsado este botón para ir\n"
2332 "a cámara lenta.");
2333 break;
2334 case MENU_ENUM_LABEL_FRAME_ADVANCE:
2335 snprintf(s, len,
2336 "Avanza un fotograma mientras\n"
2337 "el contenido esté en pausa.");
2338 break;
2339 case MENU_ENUM_LABEL_BSV_RECORD_TOGGLE:
2340 snprintf(s, len,
2341 "Activa o desactiva la grabación.");
2342 break;
2343 case MENU_ENUM_LABEL_L_X_PLUS:
2344 case MENU_ENUM_LABEL_L_X_MINUS:
2345 case MENU_ENUM_LABEL_L_Y_PLUS:
2346 case MENU_ENUM_LABEL_L_Y_MINUS:
2347 case MENU_ENUM_LABEL_R_X_PLUS:
2348 case MENU_ENUM_LABEL_R_X_MINUS:
2349 case MENU_ENUM_LABEL_R_Y_PLUS:
2350 case MENU_ENUM_LABEL_R_Y_MINUS:
2351 snprintf(s, len,
2352 "El eje de un mando analógico\n"
2353 "(estilo DualShock).\n"
2354 " \n"
2355 "Se asigna como siempre, sin embargo, si se\n"
2356 "asigna un eje analógico real, puede leerse\n"
2357 "de forma analógica.\n"
2358 " \n"
2359 "El eje X positivo es hacia la derecha.\n"
2360 "El eje Y positivo es hacia abajo.");
2361 break;
2362 case MENU_ENUM_LABEL_VALUE_WHAT_IS_A_CORE_DESC:
2363 snprintf(s, len,
2364 "RetroArch, por sí solo, no hace nada.\n"
2365 " \n"
2366 "Para que haga algo necesitas cargar\n"
2367 "programas que llamamos «núcleos libretro»,\n"
2368 "o núcleos a secas.\n"
2369 " \n"
2370 "Para cargar un núcleo, selecciona uno\n"
2371 "en «Cargar núcleo».\n"
2372 " \n"
2373 #ifdef HAVE_NETWORKING
2374 "Puedes conseguir núcleos de varias formas:\n"
2375 "* Descárgalos en «%s» ->\n"
2376 "«%s».\n"
2377 "* Cópialos manualmente a la carpeta de núcleos.",
2378 msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ONLINE_UPDATER),
2379 msg_hash_to_str(MENU_ENUM_LABEL_VALUE_CORE_UPDATER_LIST)
2380 #else
2381 "Puedes conseguir núcleos si los copias\n"
2382 "en la carpeta de %s.",
2383 msg_hash_to_str(MENU_ENUM_LABEL_VALUE_LIBRETRO_DIR_PATH)
2384 #endif
2385 );
2386 break;
2387 case MENU_ENUM_LABEL_VALUE_HELP_CHANGE_VIRTUAL_GAMEPAD_DESC:
2388 snprintf(s, len,
2389 "Puedes cambiar la superposición del mando\n"
2390 "virtual si vas a «%s» ->\n"
2391 "«%s».\n"
2392 " \n"
2393 "Allí podrás cambiar la superposición,\n"
2394 "el tamaño y opacidad de sus botones, etc.\n"
2395 " \n"
2396 "NOTA: Las superposiciones de mandos virtuales\n"
2397 "están ocultas de forma predeterminada\n"
2398 "dentro del menú. Si quieres cambiar este\n"
2399 "comportamiento, desactiva\n"
2400 "«%s».",
2401 msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SETTINGS),
2402 msg_hash_to_str(MENU_ENUM_LABEL_VALUE_OVERLAY_SETTINGS),
2403 msg_hash_to_str(MENU_ENUM_LABEL_VALUE_INPUT_OVERLAY_HIDE_IN_MENU)
2404 );
2405 break;
2406 case MENU_ENUM_LABEL_VALUE_VIDEO_MESSAGE_BGCOLOR_ENABLE:
2407 snprintf(s, len,
2408 "Elige un color para el fondo\n"
2409 "de los mensajes en pantalla.");
2410 break;
2411 case MENU_ENUM_LABEL_VALUE_VIDEO_MESSAGE_BGCOLOR_RED:
2412 snprintf(s, len,
2413 "Ajusta el componente rojo del color\n"
2414 "de fondo de los mensajes en pantalla.\n"
2415 "Los valores válidos son de 0 a 255.");
2416 break;
2417 case MENU_ENUM_LABEL_VALUE_VIDEO_MESSAGE_BGCOLOR_GREEN:
2418 snprintf(s, len,
2419 "Ajusta el componente verde del color\n"
2420 "de fondo de los mensajes en pantalla.\n"
2421 "Los valores válidos son de 0 a 255.");
2422 break;
2423 case MENU_ENUM_LABEL_VALUE_VIDEO_MESSAGE_BGCOLOR_BLUE:
2424 snprintf(s, len,
2425 "Ajusta el componente azul del color\n"
2426 "de fondo de los mensajes en pantalla.\n"
2427 "Los valores válidos son de 0 a 255.");
2428 break;
2429 case MENU_ENUM_LABEL_VALUE_VIDEO_MESSAGE_BGCOLOR_OPACITY:
2430 snprintf(s, len,
2431 "Ajusta la opacidad del color de fondo\n"
2432 "de los mensajes en pantalla.\n"
2433 "Los valores válidos son de 0.0 a 1.0.");
2434 break;
2435 case MENU_ENUM_LABEL_VALUE_VIDEO_MESSAGE_COLOR_RED:
2436 snprintf(s, len,
2437 "Ajusta el componente rojo del color\n"
2438 "de los textos de los mensajes en pantalla.\n"
2439 "Los valores válidos son de 0 a 255.");
2440 break;
2441 case MENU_ENUM_LABEL_VALUE_VIDEO_MESSAGE_COLOR_GREEN:
2442 snprintf(s, len,
2443 "Ajusta el componente verde del color\n"
2444 "de los textos de los mensajes en pantalla.\n"
2445 "Los valores válidos son de 0 a 255.");
2446 break;
2447 case MENU_ENUM_LABEL_VALUE_VIDEO_MESSAGE_COLOR_BLUE:
2448 snprintf(s, len,
2449 "Ajusta el componente azul del color\n"
2450 "de los textos de los mensajes en pantalla.\n"
2451 "Los valores válidos son de 0 a 255.");
2452 break;
2453 case MENU_ENUM_LABEL_MIDI_DRIVER:
2454 snprintf(s, len,
2455 "Selecciona el controlador MIDI.");
2456 break;
2457 case MENU_ENUM_LABEL_MIDI_INPUT:
2458 snprintf(s, len,
2459 "Asigna el dispositivo de entrada\n"
2460 "(específico para el controlador).\n"
2461 "La entrada de sonido MIDI se desactivará\n"
2462 "al desactivar esta opción. También se puede\n"
2463 "introducir el nombre del dispositivo de\n"
2464 "forma manual.");
2465 break;
2466 case MENU_ENUM_LABEL_MIDI_OUTPUT:
2467 snprintf(s, len,
2468 "Asigna el dispositivo de salida\n"
2469 "(específico para el controlador).\n"
2470 "La salida de sonido MIDI se desactivará\n"
2471 "al desactivar esta opción. También se puede\n"
2472 "introducir el nombre del dispositivo de\n"
2473 "forma manual.\n"
2474 " \n"
2475 "Al activar la salida MIDI y si el núcleo\n"
2476 "y el juego o aplicación son compatibles\n"
2477 "con la salida MIDI, algunos o todos los sonidos\n"
2478 "(según el programa) serán generados por\n"
2479 "el dispositivo MIDI.\n"
2480 "Si se utiliza el controlador MIDI «vacío»,\n"
2481 "esos sonidos no se reproducirán.");
2482 break;
2483 case MENU_ENUM_LABEL_MIDI_VOLUME:
2484 snprintf(s, len,
2485 "Ajusta el volumen maestro\n"
2486 "del dispositivo de salida.");
2487 break;
2488 default:
2489 if (string_is_empty(s))
2490 strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_INFORMATION_AVAILABLE), len);
2491 return -1;
2492 }
2493
2494 return 0;
2495 }
2496 #endif
2497
2498 #ifdef HAVE_MENU
menu_hash_to_str_es_label_enum(enum msg_hash_enums msg)2499 static const char *menu_hash_to_str_es_label_enum(enum msg_hash_enums msg)
2500 {
2501 if (msg <= MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_END &&
2502 msg >= MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_BEGIN)
2503 {
2504 static char hotkey_lbl[128] = {0};
2505 unsigned idx = msg - MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_BEGIN;
2506 snprintf(hotkey_lbl, sizeof(hotkey_lbl), "input_hotkey_binds_%d", idx);
2507 return hotkey_lbl;
2508 }
2509
2510 switch (msg)
2511 {
2512 #include "msg_hash_lbl.h"
2513 default:
2514 #if 0
2515 RARCH_LOG("Sin implementar: [%d]\n", msg);
2516 #endif
2517 break;
2518 }
2519
2520 return "null";
2521 }
2522 #endif
2523
msg_hash_to_str_es(enum msg_hash_enums msg)2524 const char *msg_hash_to_str_es(enum msg_hash_enums msg) {
2525 #ifdef HAVE_MENU
2526 const char *ret = menu_hash_to_str_es_label_enum(msg);
2527
2528 if (ret && !string_is_equal(ret, "null"))
2529 return ret;
2530 #endif
2531
2532 switch (msg) {
2533 #include "msg_hash_es.h"
2534 default:
2535 #if 0
2536 RARCH_LOG("Sin implementar: [%d]\n", msg);
2537 {
2538 RARCH_LOG("[%d] : %s\n", msg - 1, msg_hash_to_str(((enum msg_hash_enums)(msg - 1))));
2539 }
2540 #endif
2541 break;
2542 }
2543
2544 return "null";
2545 }
2546