diff --git a/intl/spanish.h b/intl/spanish.h
index 7bd9bddfd5..a8111c5811 100644
--- a/intl/spanish.h
+++ b/intl/spanish.h
@@ -76,7 +76,7 @@
 #define RETRO_LBL_DISK_EJECT_TOGGLE "Alt. expulsar disco"
 #define RETRO_LBL_DISK_NEXT "Cambiar a siguiente disco"
 #define RETRO_LBL_DISK_PREV "Cambiar a disco anterior"
-#define RETRO_LBL_GRAB_MOUSE_TOGGLE "Alternar uso de rat�n"
+#define RETRO_LBL_GRAB_MOUSE_TOGGLE "Alternar captura de rat�n"
 #define RETRO_LBL_MENU_TOGGLE "Alternar men�"
 
 #endif
diff --git a/menu/intl/menu_hash_es.c b/menu/intl/menu_hash_es.c
index 71ac591d1e..45e7af2051 100644
--- a/menu/intl/menu_hash_es.c
+++ b/menu/intl/menu_hash_es.c
@@ -250,9 +250,9 @@ const char *menu_hash_to_str_es(uint32_t hash)
       case MENU_LABEL_VALUE_VIDEO_FILTER_DIR:
          return "Carpeta de filtros de v�deo";
       case MENU_LABEL_VALUE_OVERLAY_DIRECTORY:
-         return "Carpeta de superimposiciones";
+         return "Carpeta de sobreimposiciones";
       case MENU_LABEL_VALUE_OSK_OVERLAY_DIRECTORY:
-         return "Carpeta de teclados superimpuestos";
+         return "Carpeta de teclados sobreimpuestos";
       case MENU_LABEL_VALUE_NETPLAY_CLIENT_SWAP_INPUT:
          return "Intercambiar entrada en red";
       case MENU_LABEL_VALUE_NETPLAY_SPECTATOR_MODE_ENABLE:
@@ -416,7 +416,7 @@ const char *menu_hash_to_str_es(uint32_t hash)
       case MENU_LABEL_VALUE_INPUT_OSK_OVERLAY_ENABLE:
          return "Mostrar teclado superpuesto";
       case MENU_LABEL_VALUE_INPUT_OVERLAY_ENABLE:
-         return "Mostrar superimposici�n";
+         return "Mostrar sobreimposici�n";
       case MENU_LABEL_VALUE_VIDEO_MONITOR_INDEX:
          return "�ndice del monitor";
       case MENU_LABEL_VALUE_VIDEO_FRAME_DELAY:
@@ -436,7 +436,7 @@ const char *menu_hash_to_str_es(uint32_t hash)
       case MENU_LABEL_VALUE_AUDIO_OUTPUT_RATE:
          return "Frecuencia de salida de sonido (KHz)";
       case MENU_LABEL_VALUE_AUDIO_MAX_TIMING_SKEW:
-         return "Corte m�ximo de sincron�a de sonido";
+         return "Variaci�n m�xima de sincron�a de sonido";
       case MENU_LABEL_VALUE_CHEAT_NUM_PASSES:
          return "Pasadas de trucos";
       case MENU_LABEL_VALUE_REMAP_FILE_SAVE_CORE:
@@ -648,7 +648,7 @@ const char *menu_hash_to_str_es(uint32_t hash)
       case MENU_LABEL_VALUE_UPDATE_DATABASES:
          return "Actualizar bases de datos";
       case MENU_LABEL_VALUE_UPDATE_OVERLAYS:
-         return "Actualizar sobreimposiciones";
+         return "Actualizar superimposiciones";
       case MENU_LABEL_VALUE_UPDATE_CG_SHADERS:
          return "Actualizar shaders Cg";
       case MENU_LABEL_VALUE_UPDATE_GLSL_SHADERS:
@@ -710,7 +710,7 @@ const char *menu_hash_to_str_es(uint32_t hash)
       case MENU_LABEL_VALUE_SYSTEM_INFO_LIBRETRODB_SUPPORT:
          return "Soporte de LibretroDB";
       case MENU_LABEL_VALUE_SYSTEM_INFO_OVERLAY_SUPPORT:
-         return "Soporte de sobreimposiciones";
+         return "Soporte de superimposiciones";
       case MENU_LABEL_VALUE_SYSTEM_INFO_COMMAND_IFACE_SUPPORT:
          return "Soporte de interfaz de comandos";
       case MENU_LABEL_VALUE_SYSTEM_INFO_NETWORK_COMMAND_IFACE_SUPPORT:
@@ -846,7 +846,7 @@ const char *menu_hash_to_str_es(uint32_t hash)
       case MENU_LABEL_VALUE_ONSCREEN_DISPLAY_SETTINGS:
          return "Textos en pantalla (OSD)";
       case MENU_LABEL_VALUE_OVERLAY_SETTINGS:
-         return "Sobreimposici�n";
+         return "Superimposici�n";
       case MENU_LABEL_VALUE_MENU_SETTINGS:
          return "Men�";
       case MENU_LABEL_VALUE_MULTIMEDIA_SETTINGS:
@@ -908,7 +908,7 @@ const char *menu_hash_to_str_es(uint32_t hash)
       case MENU_VALUE_SEARCH:
          return "Buscar:";
       case MENU_LABEL_VALUE_USE_BUILTIN_IMAGE_VIEWER:
-         return "Utilizar visualizador de im�genes integrado";
+         return "Usar visualizador de im�genes integrado";
       default:
          break;
    }
@@ -926,9 +926,9 @@ int menu_hash_get_help_es(uint32_t hash, char *s, size_t len)
       case MENU_LABEL_VALUE_HELP_AUDIO_VIDEO_TROUBLESHOOTING_DESC:
          snprintf(s, len,
                "RetroArch utiliza un formato �nico para\n"
-               "sincronizar v�deo y sonido que necesita ser\n"
-               "calibrado con la tasa de actualizaci�n de tu\n"
-               "monitor para obtener el mejor rendimiento.\n"
+               "sincronizar v�deo y sonido que necesita\n"
+               "calibrarse con la tasa de actualizaci�n de\n"
+               "tu monitor para obtener el mejor rendimiento.\n"
                " \n"
                "Si notas cortes de sonido o en la imagen,\n"
                "lo normal es que necesites calibrar estos\n"
@@ -1197,7 +1197,7 @@ int menu_hash_get_help_es(uint32_t hash, char *s, size_t len)
          snprintf(s, len,
                "Cargar preajustes de shaders. \n"
                " \n"
-               " Carga un preajuste "
+               " Carga directamente un preajuste "
 #ifdef HAVE_CG
                "Cg"
 #endif
@@ -1213,7 +1213,7 @@ int menu_hash_get_help_es(uint32_t hash, char *s, size_t len)
 #endif
                "HLSL"
 #endif
-               " directamente. \n"
+               ". \n"
                "El men� de shaders se actualizar�. \n"
                " \n"
                "Si el CGP utiliza m�todos de escalado \n"
@@ -1227,122 +1227,133 @@ int menu_hash_get_help_es(uint32_t hash, char *s, size_t len)
          snprintf(s, len,
                "La escala de esta pasada. \n"
                " \n"
-               "The scale factor accumulates, i.e. 2x \n"
-               "for first pass and 2x for second pass \n"
-               "will give you a 4x total scale. \n"
+               "El factor de escala es acumulativo, \n"
+			   "por ejemplo: 2x para el primer pase y \n"
+			   "2x para el segundo dar� una escala \n"
+			   "total de 4x. \n"
                " \n"
-               "If there is a scale factor for last \n"
-               "pass, the result is stretched to \n"
-               "screen with the filter specified in \n"
-               "'Default Filter'. \n"
+               "Si el �ltimo pase tiene un factor de \n"
+			   "escala, el resultado se estirar� por \n"
+			   "toda la pantalla con el filtro espe- \n"
+			   "cificado en 'Filtro predeterminado'. \n"
                " \n"
-               "If 'Don't Care' is set, either 1x \n"
-               "scale or stretch to fullscreen will \n"
-               "be used depending if it's not the last \n"
-               "pass or not."
+               "Si has seleccionado 'No importa', se \n"
+			   "utilizar� o bien la escala 1x o se \n"
+			   "estirar� a pantalla completa en funci�n \n"
+			   "de si es el �ltimo pase o no."
                );
          break;
       case MENU_LABEL_VIDEO_SHADER_NUM_PASSES:
          snprintf(s, len,
-               "Shader Passes. \n"
+               "Pases de shaders. \n"
                " \n"
-               "RetroArch allows you to mix and match various \n"
-               "shaders with arbitrary shader passes, with \n"
-               "custom hardware filters and scale factors. \n"
+               "RetroArch permite mezclar diversos shaders \n"
+			   "con pasadas arbitrarias, filtros persona- \n"
+			   "lizados de hardware y factores de escala. \n"
                " \n"
-               "This option specifies the number of shader \n"
-               "passes to use. If you set this to 0, and use \n"
-               "Apply Shader Changes, you use a 'blank' shader. \n"
+               "Esta opci�n especifica la cantidad de pasadas \n"
+			   "de shaders a utilizar. Si seleccionas 0 y \n"
+			   "luego 'Aplicar cambios en shaders', \n"
+			   "utilizar�s un shader 'en blanco'. \n"
                " \n"
-               "The Default Filter option will affect the \n"
-               "stretching filter.");
+               "La opci�n filtro predeterminado afectar� \n"
+			   "al filtro de estiramiento.");
          break;
       case MENU_LABEL_VIDEO_SHADER_PARAMETERS:
          snprintf(s, len,
-               "Shader Parameters. \n"
+               "Par�metros de shaders. \n"
                " \n"
-               "Modifies current shader directly. Will not be \n"
-               "saved to CGP/GLSLP preset file.");
+               "Modifica directamente el shader actual. \n"
+			   "No se guardar� en el preajuste CGP/GLSLP.");
          break;
       case MENU_LABEL_VIDEO_SHADER_PRESET_PARAMETERS:
          snprintf(s, len,
-               "Shader Preset Parameters. \n"
+               "Par�metros del preajuste de shaders. \n"
                " \n"
-               "Modifies shader preset currently in menu."
+               "Modifica el preajuste de shaders que \n"
+			   "se encuentra actualmente en el men�."
                );
          break;
       case MENU_LABEL_VIDEO_SHADER_PASS:
          snprintf(s, len,
-               "Path to shader. \n"
+               "Ruta al shader. \n"
                " \n"
-               "All shaders must be of the same \n"
-               "type (i.e. CG, GLSL or HLSL). \n"
+               "Todos los shaders deben ser del \n"
+			   "mismo tipo (por ejemplo: CG, GLSL \n"
+			   "o HLSL). \n"
                " \n"
-               "Set Shader Directory to set where \n"
-               "the browser starts to look for \n"
-               "shaders."
+               "Modifica la carpeta de shaders para \n"
+			   "indicar la ruta en la que el navegador \n"
+			   "comenzar� a buscar shaders."
                );
          break;
       case MENU_LABEL_CONFIG_SAVE_ON_EXIT:
          snprintf(s, len,
-               "Saves config to disk on exit.\n"
-               "Useful for menu as settings can be\n"
-               "modified. Overwrites the config.\n"
+               "Guarda la configuraci�n al salir.\n"
+               "Es �til para el men�, ya que los \n"
+			   "ajustes pueden ser modificados. \n"
+			   "Sobrescribir� la configuraci�n. \n"
                " \n"
-               "#include's and comments are not \n"
-               "preserved. \n"
+               "No se preservar�n los #include \n"
+			   "y los comentarios. \n"
                " \n"
-               "By design, the config file is \n"
-               "considered immutable as it is \n"
-               "likely maintained by the user, \n"
-               "and should not be overwritten \n"
-               "behind the user's back."
+               "El archivo de configuraci�n se \n"
+			   "considera inmutable por dise�o \n"
+			   "ya que es probable que el usuario \n"
+			   "lo controle, y no deber�a ser \n"
+			   "sobrescrito sin que el usuario \n"
+			   "no se entere."
 #if defined(RARCH_CONSOLE) || defined(RARCH_MOBILE)
-               "\nThis is not not the case on \n"
-               "consoles however, where \n"
-               "looking at the config file \n"
-               "manually isn't really an option."
+               "\nSin embargo, no suele ser el caso \n"
+			   "en consolas, donde no es posible \n"
+			   "examinar el archivo de configuraci�n \n"
+			   "de forma manual."
 #endif
                );
          break;
       case MENU_LABEL_VIDEO_SHADER_FILTER_PASS:
          snprintf(s, len,
-               "Hardware filter for this pass. \n"
+               "Filtro de hardware para esta pasada. \n"
                " \n"
-               "If 'Don't Care' is set, 'Default \n"
-               "Filter' will be used."
+               "Si se ha seleccionado 'No importa', \n"
+			   "se utilizar� el filtro predeterminado."
                );
          break;
       case MENU_LABEL_AUTOSAVE_INTERVAL:
          snprintf(s, len,
-               "Autosaves the non-volatile SRAM \n"
-               "at a regular interval.\n"
+               "Guarda autom�ticamente la SRAM \n"
+			   "no vol�til en intervalos regulares.\n"
                " \n"
-               "This is disabled by default unless set \n"
-               "otherwise. The interval is measured in \n"
-               "seconds. \n"
+               "Esta opci�n est� desactivada por \n"
+			   "defecto a menos que se haya configurado \n"
+			   "lo contrario. El intervalo se mide \n"
+			   "en segundos. \n"
                " \n"
-               "A value of 0 disables autosave.");
+               "Si utlizas 0, desactivar�s el \n"
+			   "guardado autom�tico.");
          break;
       case MENU_LABEL_INPUT_BIND_DEVICE_TYPE:
          snprintf(s, len,
-               "Input Device Type. \n"
+               "Tipo de dispositivo de entrada. \n"
                " \n"
-               "Picks which device type to use. This is \n"
-               "relevant for the libretro core itself."
+               "Selecciona el tipo de dispositivo a \n"
+			   "utilizar. Es relevante para el n�cleo \n"
+			   "de libretro."
                );
          break;
       case MENU_LABEL_LIBRETRO_LOG_LEVEL:
          snprintf(s, len,
-               "Sets log level for libretro cores \n"
-               "(GET_LOG_INTERFACE). \n"
+               "Ajusta el nivel de registro de los \n"
+			   "n�cleos de libretro (GET_LOG_INTERFACE). \n"
                " \n"
-               " If a log level issued by a libretro \n"
-               " core is below libretro_log level, it \n"
-               " is ignored.\n"
+               " Si un nivel de registro indicado por \n"
+			   " un n�cleo de libretro est� por debajo \n"
+			   " del nivel indicado en libretro_log, \n"
+			   " ser� ignorado.\n"
                " \n"
-               " DEBUG logs are always ignored unless \n"
-               " verbose mode is activated (--verbose).\n"
+               " Los registros DEBUG siempre son ignorados \n"
+			   " a menos que est� activado el modo \n"
+			   " de verbosidad (--verbose).\n"
                " \n"
                " DEBUG = 0\n"
                " INFO  = 1\n"
@@ -1353,397 +1364,442 @@ int menu_hash_get_help_es(uint32_t hash, char *s, size_t len)
       case MENU_LABEL_STATE_SLOT_INCREASE:
       case MENU_LABEL_STATE_SLOT_DECREASE:
          snprintf(s, len,
-               "State slots.\n"
+               "Ranuras de guardados r�pidos.\n"
                " \n"
-               " With slot set to 0, save state name is *.state \n"
-               " (or whatever defined on commandline).\n"
-               "When slot is != 0, path will be (path)(d), \n"
-               "where (d) is slot number.");
+               " Si se selecciona la ranura 0, el nombre \n"
+			   " del guardado r�pido es *.state \n"
+               " (o lo que est� definido en la l�nea \n"
+			   "de comandos).\n"
+               "Si la ranura es != 0, la ruta ser� (path)(d), \n"
+               "siendo (d) el n�mero de ranura.");
          break;
       case MENU_LABEL_SHADER_APPLY_CHANGES:
          snprintf(s, len,
-               "Apply Shader Changes. \n"
+               "Aplicar cambios en shaders. \n"
                " \n"
-               "After changing shader settings, use this to \n"
-               "apply changes. \n"
+               "Despu�s de cambiar los ajustes de shaders, \n"
+			   "utiliza esta opci�n para aplicar los \n"
+			   "cambios. \n"
                " \n"
-               "Changing shader settings is a somewhat \n"
-               "expensive operation so it has to be \n"
-               "done explicitly. \n"
+               "Los cambios en los shaders es una \n"
+			   "operaci�n que ocupa bastante memoria, \n"
+			   "as� que han de hacerse de forma \n"
+			   "expl�cita. \n"
                " \n"
-               "When you apply shaders, the menu shader \n"
-               "settings are saved to a temporary file (either \n"
-               "menu.cgp or menu.glslp) and loaded. The file \n"
-               "persists after RetroArch exits. The file is \n"
-               "saved to Shader Directory."
+               "Al aplicar shaders, se guarda su configuraci�n \n"
+			   "a un archivo temporal (menu.cgp ormenu.glslp) \n"
+			   "y se cargan. El archivo persistir� al \n"
+			   "abandonar RetroArch. El archivo se guarda en \n"
+			   "la carpeta Shader."
                );
          break;
       case MENU_LABEL_INPUT_BIND_DEVICE_ID:
          snprintf(s, len,
-               "Input Device. \n"
+               "Dispositivo de entrada. \n"
                " \n"
-               "Picks which gamepad to use for user N. \n"
-               "The name of the pad is available."
+               "Selecciona el mando a utilizar por \n"
+			   "el usuario N. \n"
+               "El nombre del mando est� disponible."
                );
          break;
       case MENU_LABEL_MENU_TOGGLE:
          snprintf(s, len,
-               "Toggles menu.");
+               "Muestra u oculta el men�.");
          break;
       case MENU_LABEL_GRAB_MOUSE_TOGGLE:
          snprintf(s, len,
-               "Toggles mouse grab.\n"
+               "Permite o no capturar el rat�n.\n"
                " \n"
-               "When mouse is grabbed, RetroArch hides the \n"
-               "mouse, and keeps the mouse pointer inside \n"
-               "the window to allow relative mouse input to \n"
-               "work better.");
+               "Al capturar el rat�n, RetroArch lo oculta \n"
+			   "y mantiene el puntero del rat�n dentro de \n"
+			   "la ventana para que la entrada relativa \n"
+			   "del rat�n funcione mejor.");
          break;
       case MENU_LABEL_DISK_NEXT:
          snprintf(s, len,
-               "Cycles through disk images. Use after \n"
-               "ejecting. \n"
+               "Rota entre las im�genes de disco. \n"
+			   "Utiliza esta opci�n despu�s de \n"
+			   "expulsar un disco. \n"
                " \n"
-               " Complete by toggling eject again.");
+               " Termina la operaci�n volviendo \n"
+			   " a conmutar el bot�n de expulsi�n.");
          break;
       case MENU_LABEL_VIDEO_FILTER:
 #ifdef HAVE_FILTERS_BUILTIN
          snprintf(s, len,
-               "CPU-based video filter.");
+               "Filtro de v�deo basado en la CPU.");
 #else
          snprintf(s, len,
-               "CPU-based video filter.\n"
+               "Filtro de v�deo basado en la CPU.\n"
                " \n"
-               "Path to a dynamic library.");
+               "Ruta a una librer�a din�mica.");
 #endif
          break;
       case MENU_LABEL_AUDIO_DEVICE:
          snprintf(s, len,
-               "Override the default audio device \n"
-               "the audio driver uses.\n"
-               "This is driver dependent. E.g.\n"
+               "Anula el dispositivo de sonido \n"
+			   "predeterminado que utiliza el \n"
+			   "controlador de sonido.\n"
+               "Esta opci�n depende del contro- \n"
+			   "lador. Por ejemplo:\n"
 #ifdef HAVE_ALSA
                " \n"
-               "ALSA wants a PCM device."
+               "ALSA necesita un dispositivo PCM."
 #endif
 #ifdef HAVE_OSS
                " \n"
-               "OSS wants a path (e.g. /dev/dsp)."
+               "OSS necesita una ruta (por ejemplo: \n"
+			   "/dev/dsp)."
 #endif
 #ifdef HAVE_JACK
                " \n"
-               "JACK wants portnames (e.g. system:playback1\n"
+               "JACK necesita nombres de puertos \n"
+			   "(por ejemplo: system:playback1\n"
                ",system:playback_2)."
 #endif
 #ifdef HAVE_RSOUND
                " \n"
-               "RSound wants an IP address to an RSound \n"
-               "server."
+               "RSound necesita una direcci�n IP \n"
+			   "de un servidor RSound."
 #endif
                );
          break;
       case MENU_LABEL_DISK_EJECT_TOGGLE:
          snprintf(s, len,
-               "Toggles eject for disks.\n"
+               "Alterna el bot�n de expulsi�n \n"
+			   "de discos.\n"
                " \n"
-               "Used for multiple-disk content.");
+               "Se utiliza para contenidos \n"
+			   "que utilicen varios discos.");
          break;
       case MENU_LABEL_ENABLE_HOTKEY:
          snprintf(s, len,
-               "Enable other hotkeys.\n"
+               "Activa otras teclas r�pidas.\n"
                " \n"
-               " If this hotkey is bound to either keyboard, \n"
-               "joybutton or joyaxis, all other hotkeys will \n"
-               "be disabled unless this hotkey is also held \n"
-               "at the same time. \n"
+               "Si esta tecla r�pida est� asignada a un \n"
+			   "teclado, un bot�n o un eje de un joystick, \n"
+			   "el resto de teclas r�pidas se desactivar�n \n"
+			   "a menos que esta tecla se mantenga pulsada \n"
+			   "al mismo tiempo. \n"
                " \n"
-               "This is useful for RETRO_KEYBOARD centric \n"
-               "implementations which query a large area of \n"
-               "the keyboard, where it is not desirable that \n"
-               "hotkeys get in the way.");
+               "Esto sirve para implementaciones centradas \n"
+			   "en RETRO_KEYBOARD, que ocupan una gran \n"
+			   "porci�n del teclado y no es una buena idea \n"
+			   "que las teclas r�pidas interfieran con \n"
+			   "el funcionamiento normal.");
          break;
       case MENU_LABEL_REWIND_ENABLE:
          snprintf(s, len,
-               "Enable rewinding.\n"
+               "Activa el rebobinado.\n"
                " \n"
-               "This will take a performance hit, \n"
-               "so it is disabled by default.");
+               "Esto consume rendimiento, as� que \n"
+			   "est� desactivado por defecto.");
          break;
       case MENU_LABEL_LIBRETRO_DIR_PATH:
          snprintf(s, len,
-               "Core Directory. \n"
+               "Carpeta de n�cleos. \n"
                " \n"
-               "A directory for where to search for \n"
-               "libretro core implementations.");
+               "Una carpeta donde se buscar�n las \n"
+			   "implementaciones de n�cleos libretro.");
          break;
       case MENU_LABEL_VIDEO_REFRESH_RATE_AUTO:
          snprintf(s, len,
-               "Refresh Rate Auto.\n"
+               "Tasa de actualizaci�n autom�tica.\n"
                " \n"
-               "The accurate refresh rate of our monitor (Hz).\n"
-               "This is used to calculate audio input rate with \n"
-               "the formula: \n"
+               "La tasa de actualizaci�n precisa del monitor \n"
+			   "(Hz). Se utiliza para calcular la frecuencia \n"
+			   "de entrada de sonido con esta f�rmula: \n"
                " \n"
-               "audio_input_rate = game input rate * display \n"
-               "refresh rate / game refresh rate\n"
+               "audio_input_rate = veloc. de entrada de juego \n"
+			   "* tasa de actualizaci�n de pantalla / tasa de \n"
+			   "actualizaci�n de juego\n"
                " \n"
-               "If the implementation does not report any \n"
-               "values, NTSC defaults will be assumed for \n"
-               "compatibility.\n"
+               "Si la implementaci�n no indica un valor, se \n"
+			   "asumir� de forma predeterminada el sistema \n"
+			   "NTSC por compatibilidad.\n"
                " \n"
-               "This value should stay close to 60Hz to avoid \n"
-               "large pitch changes. If your monitor does \n"
-               "not run at 60Hz, or something close to it, \n"
-               "disable VSync, and leave this at its default.");
+               "Este valor deber�a ser lo m�s similar a 60Hz \n"
+			   "para evitar cambios en el tono. Si tu \n"
+			   "monitor no funciona a 60Hz o similar, \n"
+			   "desactiva la sincron�a vertical y deja \n"
+			   "esta opci�n en su valor predeterminado.");
          break;
       case MENU_LABEL_VIDEO_ROTATION:
          snprintf(s, len,
-               "Forces a certain rotation \n"
-               "of the screen.\n"
+               "Fuerza una rotaci�n concreta \n"
+			   "de la pantalla.\n"
                " \n"
-               "The rotation is added to rotations which\n"
-               "the libretro core sets (see Video Allow\n"
-               "Rotate).");
+               "La rotaci�n se a�ade a las rotaciones \n"
+			   "que indique el n�cleo libretro (ver \n"
+			   "Permitir rotaci�n de v�deo).");
          break;
       case MENU_LABEL_VIDEO_SCALE:
          snprintf(s, len,
-               "Fullscreen resolution.\n"
+               "Resoluci�n en pantalla completa.\n"
                " \n"
-               "Resolution of 0 uses the \n"
-               "resolution of the environment.\n");
+               "Si se indica 0, se utilizar� la \n"
+			   "resoluci�n del entorno.\n");
          break;
       case MENU_LABEL_FASTFORWARD_RATIO:
          snprintf(s, len,
-               "Fastforward ratio."
+               "Proporci�n de aceleraci�n."
                " \n"
-               "The maximum rate at which content will\n"
-               "be run when using fast forward.\n"
+               "Indica la velocidad m�xima a la que \n"
+			   "se ejecutar� el contenido mientras \n"
+			   "es acelerado.\n"
                " \n"
-               " (E.g. 5.0 for 60 fps content => 300 fps \n"
-               "cap).\n"
+               " (Por ejemplo, 5.0 para un contenido \n"
+			   "a 60 FPS => M�ximo de 300 FPS).\n"
                " \n"
-               "RetroArch will go to sleep to ensure that \n"
-               "the maximum rate will not be exceeded.\n"
-               "Do not rely on this cap to be perfectly \n"
-               "accurate.");
+               "RetroArch pasar� a segundo plano \n"
+			   "para asegurarse de que no se supere \n"
+			   "la velocidad m�xima. Este l�mite \n"
+			   "no es completamente preciso.");
          break;
       case MENU_LABEL_VIDEO_MONITOR_INDEX:
          snprintf(s, len,
-               "Which monitor to prefer.\n"
+               "Monitor preferido.\n"
                " \n"
-               "0 (default) means no particular monitor \n"
-               "is preferred, 1 and up (1 being first \n"
-               "monitor), suggests RetroArch to use that \n"
-               "particular monitor.");
+               "0 (predeterminado) significa que no hay \n"
+			   "preferencia por un monitor en concreto, \n"
+			   "y de 1 en adelante (siendo 1 el primer \n"
+			   "monitor) sugiere a RetroArch que \n"
+			   "utilice ese monitor espec�fico.");
          break;
       case MENU_LABEL_VIDEO_CROP_OVERSCAN:
          snprintf(s, len,
-               "Forces cropping of overscanned \n"
-               "frames.\n"
+               "Obliga a recortar los fotogramas \n"
+			   "con overscan.\n"
                " \n"
-               "Exact behavior of this option is \n"
-               "core-implementation specific.");
+               "El comportamiento exacto de esta \n"
+			   "opci�n depende de la implementaci�n \n"
+			   "del n�cleo.");
          break;
       case MENU_LABEL_VIDEO_SCALE_INTEGER:
          snprintf(s, len,
-               "Only scales video in integer \n"
-               "steps.\n"
+               "Solo escala el v�deo con n�meros \n"
+			   "enteros.\n"
                " \n"
-               "The base size depends on system-reported \n"
-               "geometry and aspect ratio.\n"
+               "El tama�o base depende de la geometr�a \n"
+			   "que indique el sistema y de la \n"
+			   "proporci�n de aspecto.\n"
                " \n"
-               "If Force Aspect is not set, X/Y will be \n"
-               "integer scaled independently.");
+               "Si no se ha configurado la opci�n \n"
+			   "Forzar proporci�n, los valores X/Y \n"
+			   "se escalar�n de forma independiente \n"
+			   "seg�n n�meros enteros.");
          break;
       case MENU_LABEL_AUDIO_VOLUME:
          snprintf(s, len,
-               "Audio volume, expressed in dB.\n"
+               "Volumen de sonido expresado en dB.\n"
                " \n"
-               " 0 dB is normal volume. No gain will be applied.\n"
-               "Gain can be controlled in runtime with Input\n"
-               "Volume Up / Input Volume Down.");
+               "0 dB es el volumen normal, sin ganancia \n"
+			   "aplicada. La ganancia se puede controlar \n"
+			   "en tiempo real con los botones de \n"
+			   "Subir volumen / Bajar volumen.");
          break;
       case MENU_LABEL_AUDIO_RATE_CONTROL_DELTA:
          snprintf(s, len,
-               "Audio rate control.\n"
+               "Control de la frecuencia de sonido.\n"
                " \n"
-               "Setting this to 0 disables rate control.\n"
-               "Any other value controls audio rate control \n"
-               "delta.\n"
+               "Si seleccionas 0, desactivar�s el control \n"
+			   "de la frecuencia. Cualquier otro valor \n"
+			   "cambiar� el delta de control de la \n"
+			   "frecuencia de sonido.\n"
                " \n"
-               "Defines how much input rate can be adjusted \n"
-               "dynamically.\n"
+               "Define cu�nta frecuencia de entrada puede \n"
+			   "ajustarse de forma din�mica.\n"
                " \n"
-               " Input rate is defined as: \n"
-               " input rate * (1.0 +/- (rate control delta))");
+               " La frecuencia de entrada se define como: \n"
+               " frecuencia de entrada * (1.0 +/- \n"
+			   "(delta de control de frecuencia))");
          break;
       case MENU_LABEL_AUDIO_MAX_TIMING_SKEW:
          snprintf(s, len,
-               "Maximum audio timing skew.\n"
+               "Variaci�n m�xima en la sincron�a de \n"
+			   "sonido.\n"
                " \n"
-               "Defines the maximum change in input rate.\n"
-               "You may want to increase this to enable\n"
-               "very large changes in timing, for example\n"
-               "running PAL cores on NTSC displays, at the\n"
-               "cost of inaccurate audio pitch.\n"
+               "Define la variaci�n m�xima de la \n"
+			   "frecuencia de entrada. Podr�as aumentar \n"
+			   "el valor para cambiar la sincron�a, por \n"
+			   "ejemplo, si ejecutas n�cleos PAL en \n"
+			   "monitores NTSC, a cambio de tener un \n"
+			   "tono de sonido impreciso.\n"
                " \n"
-               " Input rate is defined as: \n"
-               " input rate * (1.0 +/- (max timing skew))");
+               " La frecuencia de entrada se define como: \n"
+               " frecuencia de entrada * (1.0 +/- \n"
+			   "(variaci�n m�xima de sincron�a))");
          break;
       case MENU_LABEL_OVERLAY_NEXT:
          snprintf(s, len,
-               "Toggles to next overlay.\n"
+               "Cambia a la siguiente sobreimposici�n.\n"
                " \n"
-               "Wraps around.");
+               "Se expande alrededor.");
          break;
       case MENU_LABEL_LOG_VERBOSITY:
          snprintf(s, len,
-               "Enable or disable verbosity level \n"
-               "of frontend.");
+               "Activa o desactiva el nivel de \n"
+			   "verbosidad del frontend.");
          break;
       case MENU_LABEL_VOLUME_UP:
          snprintf(s, len,
-               "Increases audio volume.");
+               "Aumenta el volumen del sonido.");
          break;
       case MENU_LABEL_VOLUME_DOWN:
          snprintf(s, len,
-               "Decreases audio volume.");
+               "Disminuye el volumen del sonido.");
          break;
       case MENU_LABEL_VIDEO_DISABLE_COMPOSITION:
          snprintf(s, len,
-               "Forcibly disable composition.\n"
-               "Only valid on Windows Vista/7 for now.");
+               "Desactiva por la fuerza la composici�n.\n"
+               "Actualmente solo funciona en \n"
+			   "Windows Vista/7.");
          break;
       case MENU_LABEL_PERFCNT_ENABLE:
          snprintf(s, len,
-               "Enable or disable frontend \n"
-               "performance counters.");
+               "Activa o desactiva los contadores \n"
+			   "de rendimiento del frontend.");
          break;
       case MENU_LABEL_SYSTEM_DIRECTORY:
          snprintf(s, len,
-               "System Directory. \n"
+               "Carpeta de sistemas. \n"
                " \n"
-               "Sets the 'system' directory.\n"
-               "Cores can query for this\n"
-               "directory to load BIOSes, \n"
-               "system-specific configs, etc.");
+               "Asigna la carpeta 'system'.\n"
+			   "Los n�cleos pueden buscar dentro \n"
+			   "de ella para cargar BIOS, \n"
+			   "configuraciones espec�ficas para \n"
+			   "un sistema, etc.");
          break;
       case MENU_LABEL_SAVESTATE_AUTO_SAVE:
          snprintf(s, len,
-               "Automatically saves a savestate at the \n"
-               "end of RetroArch's lifetime.\n"
+               "Guarda autom�ticamente un guardado r�pido \n"
+			   "al terminar la ejecuci�n de RetroArch.\n"
                " \n"
-               "RetroArch will automatically load any savestate\n"
-               "with this path on startup if 'Auto Load State\n"
-               "is enabled.");
+               "RetroArch cargar� autom�ticamente cualquier \n"
+			   "guardado r�pido que se encuentre en esa ruta \n"
+			   "al arrancar si la opci�n 'Cargar guardado \n"
+			   "r�pido autom�ticamente' est� activada.");
          break;
       case MENU_LABEL_VIDEO_THREADED:
          snprintf(s, len,
-               "Use threaded video driver.\n"
+               "Utilizar un controlador de v�deo \n"
+			   "multin�cleo.\n"
                " \n"
-               "Using this might improve performance at \n"
-               "possible cost of latency and more video \n"
-               "stuttering.");
+               "Esta opci�n podr�a mejorar el rendimiento \n"
+			   "a costa de ganar retraso y perder fluidez \n"
+			   "de v�deo.");
          break;
       case MENU_LABEL_VIDEO_VSYNC:
          snprintf(s, len,
-               "Video V-Sync.\n");
+               "Sincron�a vertical para v�deo.\n");
          break;
       case MENU_LABEL_VIDEO_HARD_SYNC:
          snprintf(s, len,
-               "Attempts to hard-synchronize \n"
-               "CPU and GPU.\n"
+               "Intenta sincronizar la CPU \n"
+			   "y la GPU por hardware.\n"
                " \n"
-               "Can reduce latency at cost of \n"
-               "performance.");
+               "Puede reducir el retraso a costa \n"
+			   "de perder rendimiento.");
          break;
       case MENU_LABEL_REWIND_GRANULARITY:
          snprintf(s, len,
-               "Rewind granularity.\n"
+               "Nivel de detalle del rebobinado.\n"
                " \n"
-               " When rewinding defined number of \n"
-               "frames, you can rewind several frames \n"
-               "at a time, increasing the rewinding \n"
-               "speed.");
+               "Cuando se rebobina un n�mero determinado \n"
+               "de fotogramas, puedes rebobinar varios \n"
+			   "fotogramas a la vez, aumentando la \n"
+			   "velocidad de rebobinado.");
          break;
       case MENU_LABEL_SCREENSHOT:
          snprintf(s, len,
-               "Take screenshot.");
+               "Capturar la pantalla.");
          break;
       case MENU_LABEL_VIDEO_FRAME_DELAY:
          snprintf(s, len,
-               "Sets how many milliseconds to delay\n"
-               "after VSync before running the core.\n"
+               "Ajusta la cantidad de retraso en \n"
+			   "milisegundos despu�s de la sincron�a \n"
+			   "vertical antes de ejecutar el n�cleo.\n"
                "\n"
-               "Can reduce latency at cost of\n"
-               "higher risk of stuttering.\n"
+               "Puede reducir el retraso a costa de \n"
+			   "aumentar la probabilidad de perder \n"
+			   "fluidez.\n"
                " \n"
-               "Maximum is 15.");
+               "El valor m�ximo es 15.");
          break;
       case MENU_LABEL_VIDEO_HARD_SYNC_FRAMES:
          snprintf(s, len,
-               "Sets how many frames CPU can \n"
-               "run ahead of GPU when using 'GPU \n"
-               "Hard Sync'.\n"
+               "Ajusta la cantidad de fotogramas \n"
+			   "que puede adelantar la CPU a la GPU \n"
+			   "al utilizar 'Sincronizar fotogramas \n"
+			   "de CPU por hardware'.\n"
                " \n"
-               "Maximum is 3.\n"
+               "El valor m�ximo es 3.\n"
                " \n"
-               " 0: Syncs to GPU immediately.\n"
-               " 1: Syncs to previous frame.\n"
-               " 2: Etc ...");
+               " 0: Sincroniza inmediatamente a GPU.\n"
+               " 1: Sincroniza con el fotograma anterior.\n"
+               " 2: Etc...");
          break;
       case MENU_LABEL_VIDEO_BLACK_FRAME_INSERTION:
          snprintf(s, len,
-               "Inserts a black frame inbetween \n"
-               "frames.\n"
+               "Introduce un fotograma negro \n"
+			   "entre fotogramas.\n"
                " \n"
-               "Useful for 120 Hz monitors who want to \n"
-               "play 60 Hz material with eliminated \n"
-               "ghosting.\n"
+               "Es �til para los monitores que \n"
+			   "funcionan a 120 Hz y quieren jugar \n"
+			   "a material a 60 Hz eliminando el \n"
+			   "ghosting.\n"
                " \n"
-               "Video refresh rate should still be \n"
-               "configured as if it is a 60 Hz monitor \n"
-               "(divide refresh rate by 2).");
+               "La tasa de actualizaci�n de v�deo \n"
+			   "a�n debe configurarse como si utilizaras \n"
+			   "un monitor de 60 Hz (divide la tasa \n"
+			   "de refresco entre 2).");
          break;
       case MENU_LABEL_RGUI_SHOW_START_SCREEN:
          snprintf(s, len,
-               "Show startup screen in menu.\n"
-               "Is automatically set to false when seen\n"
-               "for the first time.\n"
+               "Muestra la pantalla de inicio en el men�.\n"
+               "Se desactiva autom�ticamente cuando se \n"
+			   "ha visto por primera vez.\n"
                " \n"
-               "This is only updated in config if\n"
-               "'Save Configuration on Exit' is enabled.\n");
+               "Esta opci�n solo se actualiza dentro \n"
+			   "de la configuraci�n si 'Guardar \n"
+			   "configuraci�n al salir' est� activado.\n");
          break;
       case MENU_LABEL_CORE_SPECIFIC_CONFIG:
          snprintf(s, len,
-               "Load up a specific config file \n"
-               "based on the core being used.\n");
+               "Carga un archivo de configuraci�n \n"
+			   "concreto en funci�n del n�cleo \n"
+			   "que se vaya a utilizar.\n");
          break;
       case MENU_LABEL_VIDEO_FULLSCREEN:
-         snprintf(s, len, "Toggles fullscreen.");
+         snprintf(s, len, 
+		        "Activa o desactiva el modo \n"
+				"en pantalla completa.");
          break;
       case MENU_LABEL_BLOCK_SRAM_OVERWRITE:
          snprintf(s, len,
-               "Block SRAM from being overwritten \n"
-               "when loading save states.\n"
+               "Impide que la SRAM sea sobrescrita \n"
+			   "mientras se carga un guardado r�pido.\n"
                " \n"
-               "Might potentially lead to buggy games.");
+               "Podr�a provocar defectos en los \n"
+			   "juegos.");
          break;
       case MENU_LABEL_PAUSE_NONACTIVE:
          snprintf(s, len,
-               "Pause gameplay when window focus \n"
-               "is lost.");
+               "Pausa el juego cuando la ventana \n"
+			   "pasa a estar en segundo plano.");
          break;
       case MENU_LABEL_VIDEO_GPU_SCREENSHOT:
          snprintf(s, len,
-               "Screenshots output of GPU shaded \n"
-               "material if available.");
+               "Si es posible, las capturas de \n"
+			   "pantalla se realizan del material \n"
+			   "pos-shaders de GPU.");
          break;
       case MENU_LABEL_SCREENSHOT_DIRECTORY:
          snprintf(s, len,
-               "Screenshot Directory. \n"
+               "Carpeta de capturas de pantalla. \n"
                " \n"
-               "Directory to dump screenshots to."
+               "En esta carpeta se guardar�n \n"
+			   "las capturas de pantalla."
                );
          break;
       case MENU_LABEL_VIDEO_SWAP_INTERVAL: