Spanish (Selfless Heroes) - en to es translation catalogue (266 entries)

[ctx: .title_levellist]
en: Levels
es: Niveles

[ctx: .head_meta_og_description]
en: Selfless Heroes is a game that will teach you how to program without you noticing. Solve puzzles and help your heroes emerge victorious from the dungeon!
es: Selfless Heroes es un juego que te enseñará a programar sin que te des cuenta. ¡Resuelve rompecabezas y ayuda a tus héroes a salir victorioso del calabozo!

[ctx: .head_meta_description]
en: Selfless Heroes is a game that will teach you how to program without you noticing. Solve puzzles and help your heroes emerge victorious from the dungeon!
es: Selfless Heroes es un juego que te enseñará a programar sin que te des cuenta. ¡Resuelve rompecabezasa y ayuda a tus héroes a salir victoriosos del calabozo!

[ctx: .head_meta_keywords]
en: puzzle game, video game, serious game, programming, development, puzzle, education, fun, logic, algorithm
es: juego rompecabeza, videojuego, juegos serios, programación, desarrollo, rompecabezas, educación, diversión, lógica, algoritmo

[ctx: .app_exit_warning_modal]
en: Are you sure you want to
    leave Selfless Heroes?
es: ¿Seguro quieres 
    salir de Selfless Heroes ?

[ctx: .app_fullscreen_modal]
en: In order to have the best game experience,
    it is recommended to go fullscreen.
es: Para tener la mejor experiencia de juego,
    es recomendado jugar en pantalla completa.

[ctx: .app_fullscreen_modal_stop_propose]
en: Don't show this message again
es: No volver a mostrar este mensaje

[ctx: .app_warn_local_storage_modal_1]
en: The online version of Selfless Heroes saves your game in the browser.
    
    If you delete your history or use a cleaning utility such as CCleaner, you may delete your game.
es: La versión en línea de Selfless Heroes guarda tu juego en el explorador.
    
    Si eliminas tu historial o utilizas una herramienta de limpieza como CCleaner, puedes borrar tu juego.

[ctx: .app_warn_local_storage_modal_2]
en: 
    To make sure you don't lose your game:
es: 
    Para asegurar de que no pierdas tu juego

[ctx: .app_warn_local_storage_modal_3]
en: install Selfless Heroes
es: instalar Selfless Heroes

[ctx: .app_warn_local_storage_modal_4]
en: 
    or
    save your game (%%mdi mdi-content-save-move$%%)
es: 
    o
    guarda tu juego (%%mdi mdi-content-save-move$%%)

[ctx: .app_warn_local_storage_modal_stop_warning]
en: Don't show this message again
es: No volver a mostrar este mensaje

[ctx: .navigation_exit_button]
en: Exit
es: Salir

[ctx: .navigation_menu_button]
en: Menu
es: Menú

[ctx: .navigation_discord_button]
en: Join the community on Discord
es: Únete a la comunidad en Discord

[ctx: .menu_fullscreen_label]
en: Fullscreen
es: Pantalla completa

[ctx: .menu_enable_fullscreen]
en: Fullscreen
es: Pantalla completa

[ctx: .menu_disable_fullscreen]
en: Exit fullscreen
es: Salir de la pantalla completa

[ctx: .menu_music_label]
en: Music
es: Música

[ctx: .menu_sound_label]
en: Sound
es: Sonido

[ctx: .mute_button_mute]
en: Mute
es: Silenciar

[ctx: .mute_button_unmute]
en: Unmute
es: Activar el sonido

[ctx: .menu_language_label]
en: Language
es: Idioma

[ctx: .menu_credits_label]
en: credits
es: créditos

[ctx: .menu_credits_link]
en: view online
es: ver en línea

[ctx: .screen_size_warning_1]
en: The screen of your device is too small to play Selfless Heroes
es: La pantalla de tu dispositivo es muy pequeña para jugar Selfless Heroes

[ctx: .screen_size_warning_2]
en: Selfless Heroes is designed to work on desktop, laptop and tablet. To play this game, you must have a screen size of at least {minMaxDimension} x {minMinDimension} pixels: your screen is only {maxDimension} x {minDimension} pixels.
es: Selfless Heroes está diseñado para trabajar en escritorio, portátil y tablet. Para jugar este juego, debes tener una pantalla de al menos {minMaxDimension} x {minMinDimension} pixeles: Tu pantalla es sólo de {maxDimension} x {minDimension} pixeles.

[ctx: .home_new_game]
en: new game:
es: nuevo juego:

[ctx: .home_new_career_name_placeholder]
en: pseudo
es: seudo

[ctx: .home_new_career_or_separator]
en: or
es: o

[ctx: .home_load_career_button]
en: %%mdi mdi-content-save-move$%% Load a game
es: %%mdi mdi-content-save-move$%% Cargar un juego

[ctx: .home_save_career_button]
en: Save as…
es: Guardar como…

[ctx: .home_remove_career_button]
en: Remove
es: Remover

[ctx: .home_remove_career_warning]
en: Are you really sure you want to delete this game?
    All progress will be lost.
es: Estás seguro que quieres eliminar este juego?
    Todo el progreso será perdido.

[ctx: .home_drop_career_file]
en: Load a saved game
    %%mdi mdi-content-save-move$%% .shsv file
es: Cargar un juego guardado
    Archivo %%mdi mdi-content-save-move$%% .shsv

[ctx: .home_wrong_file_format_error]
en: This file is not a valid .shsv file
es: El archivo no es un archivo .shsv válido

[ctx: .level_list_back_button]
en: Back
es: Atrás

[ctx: .level_list_boss_label]
en: BOSS
es: JEFE

[ctx: .level_list_premium_levels_button]
en: Unlock more levels
es: Desbloquea más niveles

[ctx: .premium_modal_title]
en: Premium content
es: Contenido premium

[ctx: .premium_modal_content_description]
en: %%content-number$3%% new level categories for a total of
    %%content-number$34%% additional levels
es: %%content-number$3%% nuevas categorías de nivel de un total de
    %%content-number$34%% niveles adicionales

[ctx: .premium_modal_action_variables]
en: Heroes can calculate
    and write on eggs
es: Los héroes pueden calcular
    y escribir en huevos

[ctx: .premium_modal_action_speach]
en: Heroes can speak
    to each other
es: Los héroes pueden hablar
    entre ellos

[ctx: .premium_modal_action_clone]
en: Heroes can clone themselves
es: Los héroes pueden clonarse a sí mismos

[ctx: .premium_modal_back_button]
en: back
es: atrás

[ctx: .premium_modal_unlock_button]
en: unlock
    premium content
es: desbloquear
    contenido premium

[ctx: .unlock_premium_modal_title]
en: Unlock premium content
es: Desbloquear contenido premium

[ctx: .unlock_premium_modal_get_key_button]
en: get activation key
es: obtener clave de activación

[ctx: .unlock_premium_modal_activation_key_label]
en: activation key:
es: clave de activación:

[ctx: .unlock_premium_modal_wrong_activation_key]
en: This is not a valid activation key.
es: Esta no es una clave de activación válida.

[ctx: .premium_activated_modal]
en: Congratulations!
    
    You've successfully unlocked Selfless Heroes premium content.
es: ¡Enhorabuena!
    
    Has desbloqueado satisfactoriamente el contenido premium de Selfless Heroes.

[ctx: .level_details_edit_button]
en: play
es: jugar

[ctx: .level_details_edit_button_tooltip]
en: Play
es: Jugar

[ctx: .level_details_back_button]
en: back
es: atrás

[ctx: .level_details_back_button_tooltip]
en: Back
es: Atrás

[ctx: .level_details_add_solution_button]
en: New solution
es: Solución nueva

[ctx: .level_details_duplicate_solution_button]
en: Duplicate
es: Duplicar

[ctx: .level_details_duplicate_solution_suffix]
en:  copy
es:  copia

[ctx: .level_details_delete_solution_button]
en: Delete
es: Eliminar

[ctx: .level_details_rename_solution_button]
en: Rename
es: Renombrar

[ctx: .level_details_name_input_placeholder]
en: name
es: nombre

[ctx: .level_details_delete_solution_warning]
en: Are you really sure you want to delete this solution?
es: Estás seguro que quieres eliminar esta solución?

[ctx: .modal_cancel_button]
en: cancel
es: cancelar

[ctx: .modal_close_button]
en: Close
es: Cerrar

[ctx: .modal_confirm_yes]
en: yes
es: si

[ctx: .tutorial_button_next]
en: Next
es: Siguiente

[ctx: .tutorial_basic_step_tutorial_warning]
en: It is advisable to follow this tutorial carefully in order to be able to play as soon as possible.
    
    Click on the arrow to launch the tutorial.
es: Es aconsejable seguir este tutorial cuidadosamente para poder jugar lo antes posible.
    
    Haz click en la flecha para iniciar el tutorial.

[ctx: .tutorial_basic_step_graphcode]
en: The heroes follow these instructions step by step
es: Los héroes siguen estas instrucciones paso a paso

[ctx: .tutorial_basic_step_palette]
en: Drag new instructions from here to change heroes behavior
es: Arrastra nuevas instrucciones desde aquí para cambiar el comportamiento de los héroes

[ctx: .tutorial_basic_step_objective]
en: To see the level objective click here
es: Para ver el objetivo del nivel presiona aquí

[ctx: .tutorial_basic_step_runbar]
en: When your program is ready, click here to run it
es: Cuando tu programa esté listo, presiona aquí para ejecutarlo

[ctx: .tutorial_basic_step_help]
en: If you need more help or want to see this tutorial again, click here
es: Si necesitas más ayuda o deseas ver este tutorial nuevamente, presiona aquí

[ctx: .tutorial_advanced_step_undo]
en: Undo last edit
es: Deshacer la última edición

[ctx: .tutorial_advanced_step_redo]
en: Redo
es: Rehacer

[ctx: .tutorial_advanced_step_delete]
en: Delete all instructions
es: Eliminar todas las instrucciones

[ctx: .tutorial_advanced_step_editor_switch]
en: Switch to code editor.
    Code editor can be used to copy a code from one level to another.
    It is also intended to be used by advanced players who want to write their program using code instead of the graphic interface.
es: Cambiar al editor de código.
    El editor de código puede ser utilizado para copiar código de un nivel a otro.
    Tambien está diseñado para utilizarse por jugadores avanzados que quieren escribir su programa utilizando código en vez de la interfaz gráfica.

[ctx: .tutorial_advanced_step_game]
en: Select a hero by clicking on it to better follow its behaviour.
    While the program is running, a blue cursor will appear to the left of the instructions to show at which step of the program the selected hero is.
es: Selecciona un héroe presionando sobre él para seguir mejor su comportamiento.
    Mientras que el programa está corriendo, un cursor azul aparecerá a la izquierda de las instrucciones para mostrar en qué paso del programa está el héroe seleccionado.

[ctx: .tutorial_advanced_step_play_pause]
en: Run or pause the program
es: Ejecutar o pausar el programa

[ctx: .tutorial_advanced_step_step]
en: Run the program step by step
es: Ejecutar el programa paso por paso

[ctx: .tutorial_advanced_step_stop]
en: Stop the program
es: Detener el programa

[ctx: .tutorial_advanced_step_speed]
en: Speed setting
es: Ajuste de velocidad

[ctx: .tutorial_advanced_step_menu]
en: Open the menu
es: Abrir el menú

[ctx: .level_back_button]
en: Back to level list
es: Volver a la lista de niveles

[ctx: .level_help_button]
en: Help
es: Ayuda

[ctx: .level_objective_button]
en: Objective
es: Objetivo

[ctx: .level_help_modal_title]
en: Help
es: Ayuda

[ctx: .level_help_basic_tutorial_button]
en: Basic tutorial
es: Tutorial básico

[ctx: .level_help_advanced_tutorial_button]
en: Advanced tutorial
es: Tutorial avanzado

[ctx: .level_help_tab_general_objectives_stars]
en: There are 3 stars to win per level:
es: Hay 3 estrellas para obtener por nivel:

[ctx: .level_help_tab_general_objectives_star1]
en: star 1:
es: estrella 1:

[ctx: .level_help_tab_general_objectives_star1_objective]
en: achieve the level objective
es: lograr el objetivo del nivel

[ctx: .level_help_tab_general_objectives_star2]
en: star 2:
es: estrella 2:

[ctx: .level_help_tab_general_objectives_star2_objective]
en: run time secondary objective
es: objetivo secundario tiempo de ejecución

[ctx: .level_help_tab_general_objectives_star2_advice]
en: To achieve this objective, your program should take as few steps as possible to achieve the final result. In other words, it should go as fast as possible.
es: Para lograr este objetivo, tu programa debe tomar la menor cantidad de pasos posibles para lograr el resultado final. En otras palabras, debería ir lo más rápido posible.

[ctx: .level_help_tab_general_objectives_star3]
en: star 3:
es: estrella 3:

[ctx: .level_help_tab_general_objectives_star3_objective]
en: code length secondary objective
es: objetivo secundario longitud del código

[ctx: .level_help_tab_general_objectives_star3_advice]
en: To achieve this objective, your program should be as few lines as possible (line numbers are displayed to the left of the heroes' instructions).
es: Para lograr este objetivo, tu programa debe tener la menor cantidad posible de líneas (los números de línea se muestran a la izquierda de las instrucciones de los héroes).

[ctx: .level_help_tab_statement_code_example]
en: code example:
es: ejemplo de código:

[ctx: .level_help_tab_statement_graph_code_example]
en: example:
es: ejemplo:

[ctx: .level_help_tab_if_statement_1]
en: %%statement branching-statement$if%% allows to run instructions only if a given condition is true.
es: %%statement branching-statement$si%% permite ejecutar instrucciones solo si cierta condición es verdadera.

[ctx: .level_help_tab_if_statement_2]
en: You could read the above example as "If the square to the right of me is a wall, then go to the left. Otherwise go to the right".
es: Podrías leer el ejemplo de arriba como "Si el cuadrado a mi derecha es un muro, entonces ve a la izquierda. De lo contrario ve a la derecha".

[ctx: .level_help_tab_if_statement_3]
en: %%statement branching-statement$if%% checks if the condition is true in which case it will run the instructions inside it (instructions to the right of the vertical gray line). Otherwise it will run the instructions inside the %%statement branching-statement$else%% if there is one.
es: %%statement branching-statement$si%% chequea si la condición es verdadera en cuyo caso deberá ejecutar las instrucciones dentro (instrucciones a la derecha de la línea vertical gris). De lo contrario correrá las instrucciones dentro de %%statement branching-statement$si no%% de haberlas.

[ctx: .level_help_tab_if_statement_4]
en: %%statement branching-statement$else%% is not initially part of the %%statement branching-statement$if%%. To make it appear, drag any instruction over the %%statement branching-statement$if%%.
    If you remove all the instructions inside %%statement branching-statement$else%%, it will disappear.
es: %%statement branching-statement$else%% no es inicialmente parte de %%statement branching-statement$if%%. Para hacer que aparezca, arrastra cualquier instrucción sobre el %%statement branching-statement$if%%.
    Si eliminas todas las instrucciones dentro de %%statement branching-statement$else%%, desaparecerá.

[ctx: .level_help_tab_if_statement_6]
en: Click on the plus sign to add other conditions.
es: Presiona en el signo más para añadir otras condiciones.

[ctx: .level_help_tab_if_statement_7]
en: You could read the above example as "If the square to the right of me is a wall or if the square to the right of me is a hole, then go to the left".
es: Podrías leer le ejemplo de arriba como "Si el cuadrado a mi derecha es un muro o si el cuadrado a mi derecha es un hueco, entonces ve a la izquierda".

[ctx: .level_help_tab_jump_statement_1]
en: %%statement branching-statement$jump%% allows to jump backward or forward in the program.
es: %%statement branching-statement$salto%% te permite saltar para atrás o para adelante en el programa.

[ctx: .level_help_tab_jump_statement_2]
en: You could read the above example as "Step to the right infinitely many times".
es: Podrías leer el ejemplo de arriba como "Ve a la derecha infinitas veces".

[ctx: .level_help_tab_jump_statement_4]
en: The first line creates an "anchor" named "a". The third line says to jump back to this anchor.
    You can choose any name you want for your anchors. Each jump must match a unique anchor.
es: La primer línea crea un "ancla" llamada "a". La tercer línea dice saltar a este ancla.
    Puedes escoger cualquier nombre que desees para tus anclas. Cada salto debe coincidir con una única ancla.

[ctx: .level_help_tab_jump_statement_5]
en: %%statement branching-statement$jump%% is usually used with %%statement branching-statement$if%% to create loops which stop at a condition.
es: %%statement branching-statement$salto%% usualmente es utilizado con %%statement branching-statement$si%% para crear bucles que se detienen dada una condición.

[ctx: .level_help_tab_jump_statement_6]
en: You could read the above example as "Step to the right as long as the square to the right is not a wall".
es: Podrías leer el ejemplo de arriba como "Ve a la derecha mientras que el cuadrado de la derecha no sea un muro".

[ctx: .level_help_tab_clone_statement_1]
en: %%statement branching-statement$clone%% creates a clone of the hero next to him.
es: %%statement branching-statement$clon%% crea un clon del héroe a su lado.

[ctx: .level_help_tab_clone_statement_2]
en: You could read the above example as "Create a clone on your left. Then step to the right".
    
    For the created hero, %%statement branching-statement$clone%% acts like %%statement branching-statement$jump%%. In this example, the created clone won't step to the right because he will begin to follow instructions after the arrow of %%statement branching-statement$clone%%.
es: Podrías leer el ejemplo de arriba como "Crea un clon a tu izquierda. Luego ve a la derecha".
    
    Para el héroe creado, %%statement branching-statement$clon%% actúa como %%statement branching-statement$salto%%. En este ejemplo, el clon creado no irá a la derecha porque comenzará a seguir instrucciones luego de la flecha de %%statement branching-statement$clon%%.

[ctx: .level_help_tab_clone_statement_4]
en: The created clone starts his life with the same variables values as his creator's.
    
    %%icon mdi mdi-alert-octagon-outline$%%Warning: if you try to create a clone on a square already occupied (by a %%icon icon-hero$%% hero, a %%icon icon-cauldron$%% cauldron etc.) or on a forbidden square (like a %%icon icon-wall$%% wall), the cloning process will fail. In certain levels, this failure causes the death of the hero trying to clone himself.
es: El clon creado inicia su vida con los mismos valores de variables que su creador.
    
    %%icon mdi mdi-alert-octagon-outline$%%Advertencia: Si intentas crear un clon en un cuadrado ocupado (por un %%icon icon-hero$%% héroe, un %%icon icon-cauldron$%% caldero etc.) o en un cuadrado prohibido (como un %%icon icon-wall$%% muro), el proceso de clonación fallará. En ciertos niveles, esta falla causa la muerte del héroe que intenta clonarse.

[ctx: .level_help_tab_step_function_1]
en: %%statement action-statement$step%% says to your hero to go in a direction. If you specify multiple directions, the hero will decide randomly between these directions.
es: %%statement action-statement$ir%% indica a tu héroe que vaya en una dirección. Si especificas varias direcciones, el héroe decidirá aleatoriamente entre esas direcciones.

[ctx: .level_help_tab_step_function_2]
en: You could read the above example as "Go one step to the left or to the right".
es: Podrías leer el ejemplo de arriba como "Ve un paso a la izquierda o a la derecha".

[ctx: .level_help_tab_step_once_function_1]
en: %%statement action-statement$step%% says to your hero to go in a direction.
es: %%statement action-statement$ir%% indica a tu héroe que vaya en una dirección.

[ctx: .level_help_tab_step_once_function_2]
en: You could read the above example as "Go one step to the right".
es: Podrías leer el ejemplo de arriba como "ve un paso a la derecha".

[ctx: .level_help_tab_fireball_function_1]
en: %%statement action-statement$fireball%% throws a fireball on a square around the hero.
    If the fireball hits another hero it will kill him. You can use a fireball to light a %%icon icon-bonfire$%% bonfire.
es: %%statement action-statement$bola de fuego%% lanza una bola de fuego en un cuadrado alrededor del héroe.
    Si la bola de fuego golpea a otro héroe lo matará. Puedes utilizar una bola de fuego para encender un %%icon icon-bonfire$%% fuego.

[ctx: .level_help_tab_fireball_function_2]
en: You could read the above example as "Throw a fireball to the right".
es: Podrías leer el ejemplo de arriba como "Lanza una bola de fuego a la derecha".

[ctx: .level_help_tab_take_function_1]
en: %%statement action-statement$take%% says to your hero to take an item.
es: %%statement action-statement$tomar%% indica a tu héroe que tome un ítem.

[ctx: .level_help_tab_take_function_2]
en: You could read the above example as "If there is an egg on the square on your right, take this egg".
es: Podrías leer el ejemplo de arriba como "Si hay un huevo en el cuadrado a tu derecha, toma este huevo".

[ctx: .level_help_tab_drop_function_1]
en: %%statement action-statement$drop%% says to your hero to drop his item.
es: %%statement action-statement$soltar%% indica a tu héroe que suelte su ítem.

[ctx: .level_help_tab_drop_function_2]
en: You could read the above example as "Drop your item on the square on your right".
es: Podrías leer el ejemplo de arriba como "Suelta tu ítem en el cuadrado a tu derecha".

[ctx: .level_help_tab_write_function_1]
en: %%statement action-statement$write%% says to your hero to write something on his item.
es: %%statement action-statement$escribir%% indica a tu héroe que escriba algo en su ítem.

[ctx: .level_help_tab_write_function_2]
en: You could read the above example as "Write 3 on your item".
es: Podrías leer el ejemplo de arriba como "Escribe 3 en tu ítem".

[ctx: .level_help_tab_set_function_1]
en: %%statement assign-statement$set%% initializes a variable.
es: %%statement assign-statement$establecer%% inicializa una variable.

[ctx: .level_help_tab_set_function_2]
en: You could read the above example as "Set the variable a to 3".
es: Podrías leer el ejemplo de arriba como "Establece la variable 'a' a '3'".

[ctx: .level_help_tab_calc_function_1]
en: %%statement assign-statement$calc%% makes a calculation and puts the result in a variable.
es: %%statement assign-statement$calc%% hace un cálculo y sitúa el resultado en una variable.

[ctx: .level_help_tab_calc_function_2]
en: You could read the above example as "Set the variable b to a + 2".
es: Podrías leer el ejemplo de arriba como "Establece la variable 'b' a 'a + 2'".

[ctx: .level_help_tab_calc_function_4]
en: In Selfless Heroes, there are only integer numbers.
    
    The operator %%type-operator$"/"%% is integer division.
    For example, %%type-operator$9 / 2 = 4%%.
    
    The operator %%type-operator$"%"%% is called "modulo". It calculates the remainder of the integer division.
    For example, %%type-operator$9 % 2 = 1%% because %%type-operator$9 / 2 = 4%% has a remainder of 1.
es: En Selfless Heroes, sólo hay números enteros.
    
    El operador %%type-operator$"/"%% es la división entera.
    Por ejemplo, %%type-operator$9 / 2 = 4%%.
    
    El operador %%type-operator$"%"%% se llama "módulo". Calcula el resto de la división entera.
    Por ejemplo, %%type-operator$9 % 2 = 1%% porque %%type-operator$9 / 2 = 4 tiene un resto de 1%%.

[ctx: .level_help_tab_nearest_function_1]
en: %%statement assign-statement$nearest%% searches for the nearest object of a given type (%%icon icon-cauldron$%% cauldron, %%icon icon-egg$%%egg etc.) and puts the result in a variable.
es: %%statement assign-statement$más cercano%% busca el objeto más cercano de un tipo dado (%%icon icon-cauldron$%% caldero, %%icon icon-egg$%% huevo etc.) y pone el resultado en una variable.

[ctx: .level_help_tab_nearest_function_2]
en: You could read the above example as "Memorize the nearest egg in the variable a and then go get that egg".
es: Podrías leer el ejemplo de arriba como "Memoriza el huevo más cercano en la variable a y luego ve a tomar ese huevo".

[ctx: .level_help_tab_tell_function_1]
en: %%statement speach-statement$tell%% allows you to say a message to other heroes.
es: %%statement speach-statement$decir%% te permite darle un mensaje a otros heroes.

[ctx: .level_help_tab_tell_function_2]
en: You could read the above example as "Tell 'ok' to the hero on the right of you".
es: Podrías leer el ejemplo anterior como "Dile "ok" al héroe a tu derecha".

[ctx: .level_help_tab_tell_function_4]
en: You can also %%statement speach-statement$tell%% a message to every %%icon icon-hero$%% hero of the level.
es: También puedes %%statement speach-statement$decir%% un mensaje a todos los %%icon icon-hero$%% héroes del nivel.

[ctx: .level_help_tab_tell_function_5]
en: You could read the above example as "Tell "hey" to everyone".
es: Podrías leer el ejemplo de arriba como "Dile "hey" a todos".

[ctx: .level_help_tab_listen_function_1]
en: %%statement speach-statement$listen%% tells the hero to wait until he hears a specific message.
es: %%statement speach-statement$escuchar%% indica al héroe que espere hasta que escuche un mensaje específico.

[ctx: .level_help_tab_listen_function_2]
en: You could read the above example as "Wait for a hero to tell you "hey" then go right".
es: Podrías leer el ejemplo de arriba como "Espera a que un héroe te diga "ey" luego ve a la derecha".

[ctx: .level_modal_speed_target_unit]
en: steps
es: pasos

[ctx: .level_modal_length_target_unit]
en: lines
es: líneas

[ctx: .level_modal_secondary_objectives_difficulty_warning]
en: secondary objectives can be very difficult and it is often impossible to achieve both with the same solution
es: los objetivos secundarios pueden ser muy difíciles y suele ser imposible lograr ambos con la misma solución

[ctx: .level_objective_modal_objective_title]
en: objective
es: objetivo

[ctx: .level_objective_modal_secondary_objectives_title]
en: secondary objectives
es: objetivos secundarios

[ctx: .win_modal_testing_explanation]
en: your solution is tested to make sure it works every time
es: tu solución es probada para asegurar que funcione siempre

[ctx: .win_modal_prior_code_speed]
en: your fastest was %%score-number${minStep}%% steps
es: tu más rápida fue de %%score-number${minStep}%% pasos

[ctx: .win_modal_prior_code_length]
en: your smallest was %%score-number${minLength}%% lines
es: tu más pequeña fue de %%score-number${minLength}%% líneas

[ctx: .win_modal_back_button]
en: back
es: atrás

[ctx: .win_modal_continue_edit_button]
en: improve
es: mejorar

[ctx: .run_bar_play_button]
en: Run [ctrl+space]
es: Ejecutar [ctrl+espacio]

[ctx: .run_bar_pause_button]
en: Pause [ctrl+space]
es: Pausa [ctrl+espacio]

[ctx: .run_bar_step_button]
en: Step by step [ctrl+enter]
es: Paso a paso [ctrl+entrar]

[ctx: .run_bar_stop_button]
en: Stop [ctrl+backspace]
es: Detener [ctrl+retroceso]

[ctx: .run_bar_speed_range]
en: Speed [alt+←] [alt+→]
es: Velocidad [alt+←] [alt+→]

[ctx: .editor_bar_undo_button]
en: Undo [ctrl+z]
es: Deshacer [ctrl+z]

[ctx: .editor_bar_redo_button]
en: Redo [ctrl+y]
es: Rehacer [ctrl+y]

[ctx: .editor_bar_delete_button]
en: Delete
es: Eliminar

[ctx: .editor_bar_switch_to_graph]
en: Switch to graphic editor [ctrl+e]
es: Cambiar al editor gráfico [ctrl+e]

[ctx: .editor_bar_switch_to_code]
en: Switch to code editor [ctrl+e]
es: Cambiar al editor de código [ctrl+e]

[ctx: .code_state_ok_tooltip]
en: Your code is ready to be run
es: Tu código está listo para ser ejecutado

[ctx: .code_state_not_runnable_tooltip]
en: Your instructions are not complete:
    click me for more details
es: Tus instrucciones no están completas:
    presióname para más detalles

[ctx: .code_state_not_compilable_tooltip]
en: There is an error in your code:
    click me for more details
es: Hay un error en tu código:
    presióname para más detalles

[ctx: .code_state_ok_modal]
en: Your code is ready to be run
es: Tu código está listo para ser ejecutado

[ctx: .code_state_not_runnable_modal]
en: Your code contains %%undefined$undefined%% keywords.
    Replace them by correct values before running your code.
es: Tu código contiene %%undefined$undefined%% palabras clave.
    Reemplazalas por valores correctos antes de ejecutar tu código.

[ctx: .switch_editor_warning]
en: There is an error in your code.
    If you switch to graphic editor now,
    parts of it risk to be erased.
es: Hay un error en tu código.
    Si cambias al editor gráfico ahora,
    partes de él corren el riesgo de ser borradas.

[ctx: .code_error_position_template]
en: line {line}
es: línea {line}

[ctx: .errors_modal_title]
en: Errors
es: Errores

[ctx: .exception_mismatch_statement_template]
en: you wrote something erroneous after this {statementType}.
es: Escribiste algo erróneo después de este {statementType}.

[ctx: .exception_mismatch_keyword_template]
en: you wrote something erroneous after this %%keyword${statementType}%%.
es: Escribiste algo erróneo después de este %%keyword${statementType}%%.

[ctx: .exception_forbidden_primary_statement_template]
en: %%keyword${statementType}%% is not available in this level.
es: %%keyword${statementType}%% no está disponible en este nivel.

[ctx: .exception_forbidden_message_literal_type_template]
en: messages are not available in this level.
es: Mensajes no están disponibles en este nivel.

[ctx: .exception_forbidden_arithmetic_operator_literal_type_template]
en: Arithmetic operators are not available in this level.
es: Los operadores aritméticos no están disponibles en este nivel.

[ctx: .exception_mismatch_function_template]
en: you wrote something erroneous after the function %%function${keyword}()%%.
es: Escribiste algo erróneo después de la función %%function${keyword}()%%.

[ctx: .exception_invalid_clone_params_template]
en: %%keyword${statementType}%% expects a direction (%%literal${allowedDirections}%%) and an anchor.
es: %%keyword${statementType}%% espera una dirección (%%literal${allowedDirections}%%) y un ancla.

[ctx: .exception_invalid_variable_identifier_template]
en: %%variable${variable}%% variable name is not allowed. Use one of the following instead: %%variable${allowedIdentifiers}%%.
es: %%variable${variable}%% nombre de variable no está permitido. Utiliza uno de los siguientes en su lugar: %%variable${allowedIdentifiers}%%.

[ctx: .exception_forbidden_integer_template]
en: %%number${value}%% number is either too small or too large: numbers must be between %%number${min}%% and %%number${max}%%.
es: %%number${value}%% el número o es demasiado pequeño o demasiado grande: los números deben estar entre %%number${min}%% y %%number${max}%%.

[ctx: .exception_forbidden_message_literal_template]
en: %%string$"{message}"%% message is not allowed. Use one of the following instead: %%string${allowedMessages}%%.
es: %%string$"{message}"%% mensaje no está permitido. Utiliza uno de los siguientes en su lugar: %%string${allowedMessages}%%.

[ctx: .exception_invalid_value_function_template]
en: %%function${code}%% is not a valid function. Use one of the following instead: %%function${allowedFunctions}%%.
es: %%function${code}%% no es una función válida. Utiliza uno de los siguientes en su lugar: %%function${allowedFunctions}%%.

[ctx: .exception_invalid_action_function_template]
en: %%function${code}%% is not a valid action. Use one of the following instead: %%function${allowedFunctions}%%.
es: %%function${code}%% no es una acción válida. Utiliza uno de los siguientes en su lugar: %%function${allowedFunctions}%%.

[ctx: .exception_forbidden_action_function_template]
en: %%function${keyword}()%% is not available in this level. Use one of the following instead: %%function${allowedFunctions}%%
es: %%function${keyword}()%% no está disponible en este nivel. Utiliza uno de los siguientes en su lugar: %%function${allowedFunctions}%%

[ctx: .exception_forbidden_value_function_template]
en: %%function${keyword}()%% is not available in this level. Use one of the following instead: %%function${allowedFunctions}%%
es: %%function${keyword}()%% no está disponible en este nivel. Utiliza uno de los siguientes en su lugar: %%function${allowedFunctions}%%

[ctx: .exception_forbidden_direction_literal_type_template]
en: Directions are not available in this level.
es: Las direcciones no están disponibles en este nivel.

[ctx: .exception_forbidden_everyone_literal_type_template]
en: %%literal$everyone%% is not available in this level.
es: %%literal$everyone%% no está disponible en este nivel.

[ctx: .exception_forbidden_integer_literal_type_template]
en: Numbers are not available in this level.
es: Los números no están disponibles en este nivel.

[ctx: .exception_forbidden_myitem_literal_type_template]
en: %%literal$myitem%% is not available in this level.
es: %%literal$myitem%% no está disponible en este nivel.

[ctx: .exception_forbidden_object_type_literal_type_template]
en: Object types are not available in this level.
es: Los tipos de objeto no están disponibles en este nivel.

[ctx: .exception_forbidden_terrain_type_literal_type_template]
en: Terrain types are not available in this level.
es: Los tipos de terreno no están disponibles en este nivel.

[ctx: .exception_invalid_params_one_dir_integer_variable_myitem_template]
en: %%function${keyword}()%% requires exactly one parameter which can be a number, a variable, a direction or %%literal$myitem%%
es: %%function${keyword}()%% requiere exactamente un parámetro que puede ser un número, una variable, una dirección o %%literal$myitem%%

[ctx: .exception_invalid_dir_integer_variable_myitem_param_template]
en: %%variable${param}%% is not a valid number, variable, direction or %%literal$myitem%%
es: %%variable${param}%% no es un número, variable, dirección o %%literal$myitem%% válido

[ctx: .exception_invalid_dir_variable_param_template]
en: %%variable${param}%% is not a valid variable or direction. You can use these instead: %%variable${allowedVariables}%% %%literal${allowedDirections}%%
es: %%variable${param}%% no es una variable o dirección válida. Puedes usar estos en su lugar: %%variable${allowedVariables}%% %%literal${allowedDirections}%%

[ctx: .exception_invalid_params_one_integer_or_variable_template]
en: %%function${keyword}()%% requires exactly one parameter which can be a number or a variable (%%variable${allowedVariables}%%)
es: %%function${keyword}()%% requiere exactamente un parámetro que puede ser un número o una variable (%%variable${allowedVariables}%%)

[ctx: .exception_invalid_params_one_integer_template]
en: %%function${keyword}()%% requires exactly one number parameter
es: %%function${keyword}()%% requiere exactamente un parámetro numérico

[ctx: .exception_invalid_integer_param_template]
en: %%variable${param}%% is not a valid number
es: %%variable${param}%% no es un número válido

[ctx: .exception_invalid_integer_or_variable_param_template]
en: %%variable${param}%% is not a valid number or variable
es: %%variable${param}%% no es un número o variable válido

[ctx: .exception_invalid_params_one_dir_template]
en: %%function${keyword}()%% requires exactly one direction parameter: %%literal${directions}%%
es: %%function${keyword}()%% requiere exactamente un parámetro direccional: %%literal${directions}%%

[ctx: .exception_invalid_params_one_dir_variable_template]
en: %%function${keyword}()%% requires one direction (%%literal${allowedDirections}%%) or a variable (%%variable${allowedVariables}%%)
es: %%function${keyword}()%% requiere una dirección (%%literal${allowedDirections}%%) o una variable (%%variable${allowedVariables}%%)

[ctx: .exception_invalid_params_one_more_dir_variable_template]
en: %%function${keyword}()%% requires one or more direction parameters (%%literal${allowedDirections}%%) or a variable (%%variable${allowedVariables}%%)
es: %%function${keyword}()%% requiere uno o más parámetros de dirección (%%literal${allowedDirections}%%) o una variable (%%variable${allowedVariables}%%)

[ctx: .exception_invalid_params_one_object_type_param_template]
en: %%function${keyword}()%% requires exactly one object type parameter: %%literal${allowedValues}%%
es: %%function${keyword}()%% requiere exactamente un parámetro de tipo de objeto: %%literal${allowedValues}%%

[ctx: .exception_invalid_direction_param_template]
en: %%variable${param}%% is not a valid direction. Use one of these instead: %%literal${allowedValues}%%
es: %%variable${param}%% no es una dirección válida. Usa uno de estos en su lugar: %%literal${allowedValues}%%

[ctx: .exception_invalid_object_type_param_template]
en: %%variable${param}%% is not a valid object type. Use one of these instead: %%literal${allowedValues}%%
es: %%variable${param}%% no es un tipo de objeto válido. Usa uno de estos en su lugar: %%literal${allowedValues}%%

[ctx: .exception_invalid_direction_param_not_here_template]
en: %%function${keyword}()%% does not accept direction %%literal${param}%%. Use one of these instead: %%literal${allowedValues}%%
es: %%function${keyword}()%% no acepta la dirección %%literal${param}%%. Usa uno de estos en su lugar: %%literal${allowedValues}%%

[ctx: .exception_primary_statement_invalid_direction_param_not_here_template]
en: %%keyword${keyword}%% does not accept direction %%literal${param}%%. Use one of these instead: %%literal${allowedValues}%%
es: %%keyword${keyword}%% no acepta la dirección %%literal${param}%%. Usa uno de estos en su lugar: %%literal${allowedValues}%%

[ctx: .exception_invalid_object_type_param_not_nothing_template]
en: %%function${keyword}()%% does not accept object type %%literal${param}%%. Use one of these instead: %%literal${allowedValues}%%
es: %%function${keyword}()%% no acepta el tipo de objeto %%literal${param}%%. Usa uno de estos en su lugar: %%literal${allowedValues}%%

[ctx: .exception_invalid_params_calc_function_template]
en: %%function${keyword}()%% takes 3 parameters. Params 1 and 3 must be either numbers, directions, %%literal$myitem%% or variables and param 2 must be an operator (%%operator${operators}%%)
es: %%function${keyword}()%% toma 3 parámetros. Los parámetros 1 y 3 deben ser números, direcciones, %%literal$myitem%% o variables y el parámetro 2 debe ser un operador (%%operator${operators}%%)

[ctx: .exception_invalid_params_tell_function_template]
en: %%function${keyword}()%% takes 2 parameters. Param 1 must be a message (%%string${allowedMessages}%%) and param 2 must be either a direction (%%literal${allowedDirections}%%) or %%literal$everyone%%
es: %%function${keyword}()%% toma 2 parámetros. El parámetro 1 debe ser un mensaje (%%string${allowedMessages}%%) y el parámetro 2 debe ser o una dirección (%%literal${allowedDirections}%%) o %%literal$everyone%%

[ctx: .exception_duplicate_param_template]
en: you cannot pass %%literal${param}%% parameter twice to %%function${keyword}()%%
es: No se puede pasar el parámetro %%literal${param}%% dos veces a %%function${keyword}()%%

[ctx: .exception_multiple_param_several_types_template]
en: when you give several parameters to the %%function${keyword}()%% function, they must be of the same type
es: Cuando uno da varios parámetros a la función %%function${keyword}()%%, deben ser del mismo tipo

[ctx: .exception_forbidden_object_type_template]
en: %%literal${keyword}%% object type is not available in this level. You can use one of the following: %%literal${allowedValues}%%
es: El tipo de objeto %%literal${keyword}%% no está disponible en este nivel. Puedes usar uno de los siguientes: %%literal${allowedValues}%%

[ctx: .exception_forbidden_terrain_type_template]
en: %%literal${keyword}%% terrain type is not available in this level. You can use one of the following: %%literal${allowedValues}%%
es: El tipo de terreno %%literal${keyword}%% no está disponible en este nivel. Puede usar uno de los siguientes: %%literal${allowedValues}%%

[ctx: .exception_boolean_no_comparison_operator_template]
en: a condition must contain a valid comparator like these: %%operator${allowedOperators}%%
es: Una condición debe contener un comparador válido como estos: %%operator${allowedOperators}%%

[ctx: .exception_invalid_expression_template]
en: %%variable${code}%% is not a valid keyword
es: %%variable${code}%% no es una palabra clave válida

[ctx: .exception_invalid_statement_template]
en: %%variable${code}%% is not a valid instruction
es: %%variable${code}%% no es una instrucción válida

[ctx: .exception_forbidden_variable_identifier_template]
en: %%variable${variable}%% variable is unavailable in this level. Use one of the following: %%variable${allowedNames}%%
es: %%variable${variable}%% variable no está disponible en este nivel. Utiliza uno de los siguientes: %%variable${allowedNames}%%

[ctx: .exception_all_forbidden_variable_identifier_template]
en: variables are not available in this level
es: Las variables no están disponibles en este nivel

[ctx: .exception_open_statement_template]
en: %%keyword${keyword}%% condition must be closed with a %%code$:%%
es: La condición %%keyword${keyword}%% debe cerrarse con un %%code$:%%

[ctx: .exception_else_no_if_template]
en: %%keyword${elseKeyword}%% without %%keyword${ifKeyword}%% before
es: %%keyword${elseKeyword}%% sin %%keyword${ifKeyword}%% antes

[ctx: .exception_endif_no_if_template]
en: %%keyword${endifKeyword}%% without %%keyword${ifKeyword}%% before
es: %%keyword${endifKeyword}%% sin %%keyword${ifKeyword}%% antes

[ctx: .exception_if_no_endif_template]
en: %%keyword${ifKeyword}%% without %%keyword${endifKeyword}%%
es: %%keyword${ifKeyword}%% sin %%keyword${endifKeyword}%%

[ctx: .exception_duplicate_anchor_template]
en: %%bracket${anchorName}:%% found twice. Anchors must have unique names
es: %%bracket${anchorName}:%% encontrado dos veces. Las anclas deben tener nombres únicos

[ctx: .exception_jump_to_unknown_anchor_template]
en: %%keyword${jumpKeyword}%% to unknown anchor %%bracket${anchorName}:%%
es: %%keyword${jumpKeyword}%% a ancla desconocida %%bracket${anchorName}:%%

[ctx: .type_anchor]
en: anchor
es: ancla

[ctx: .type_assign]
en: assignment
es: asignación

[ctx: .type_direction]
en: direction
es: dirección

[ctx: .graph_node_if]
en: if
es: si

[ctx: .graph_node_else]
en: else
es: si no

[ctx: .graph_node_jump]
en: jump
es: salto

[ctx: .graph_node_clone]
en: clone
es: clon

[ctx: .graph_node_function_step]
en: step
es: ir

[ctx: .graph_node_function_fireball]
en: fireball
es: bola de fuego

[ctx: .graph_node_function_take]
en: take
es: tomar

[ctx: .graph_node_function_drop]
en: drop
es: soltar

[ctx: .graph_node_function_write]
en: write
es: escribir

[ctx: .graph_node_function_tell]
en: tell
es: decir

[ctx: .graph_node_function_tell_after_1]
en: to
es: a

[ctx: .graph_node_function_listen]
en: listen
es: escuchar

[ctx: .graph_node_function_set]
en: set
es: establecer

[ctx: .graph_node_function_nearest]
en: nearest
es: más cercano

[ctx: .operator_boolean_and]
en: and
es: y

[ctx: .operator_boolean_or]
en: or
es: o

[ctx: .operator_boolean_delete]
en: delete
es: suprimir

[ctx: .drop_down_list_direction]
en: direction
es: dirección

[ctx: .drop_down_list_number]
en: number
es: número

[ctx: .drop_down_list_my_item_literal]
en: my item
es: mi ítem

[ctx: .drop_down_list_everyone_literal]
en: everyone
es: todo el mundo

[ctx: .drop_down_list_message_literal_kiss]
en: "kiss"
es: "beso"

[ctx: .drop_down_list_message_literal_stop]
en: "stop"
es: "detener"

[ctx: .drop_down_list_message_literal_wait]
en: "wait"
es: "esperar"

[ctx: .drop_down_list_message_literal_coffee]
en: "coffee"
es: "café"

[ctx: .drop_down_list_object_type_nothing]
en: nothing
es: nada

[ctx: .drop_down_list_object_type_hero]
en: hero
es: héroe

[ctx: .drop_down_list_object_type_npc]
en: beast
es: bestia

[ctx: .drop_down_list_object_type_switch]
en: switch
es: botón

[ctx: .drop_down_list_object_type_bonfire]
en: bonfire
es: fuego

[ctx: .drop_down_list_object_type_cauldron]
en: cauldron
es: caldero

[ctx: .drop_down_list_object_type_spikes]
en: spikes
es: picas

[ctx: .drop_down_list_object_type_egg]
en: egg
es: huevo

[ctx: .drop_down_list_terrain_type_wall]
en: wall
es: muro

[ctx: .drop_down_list_terrain_type_floor]
en: floor
es: suelo

[ctx: .drop_down_list_terrain_type_hole]
en: hole
es: hueco

[ctx: .drop_down_list_terrain_type_infected]
en: infected
es: infectado

[ctx: .drop_down_list_terrain_type_void]
en: nothing
es: vacío

[ctx: .level_test_failed_modal]
en: Some of the tests failed.
    We reproduced the same situation as in these failed attempts.
es: Algunas de las pruebas han fallado.
    Hemos reproducido la misma situación como en estos intentos fallidos.

[ctx: .loss_reason_too_many_steps]
en: Your program takes too much time
es: Tu programa toma mucho tiempo

[ctx: .loss_reason_all_hero_ended]
en: Your heroes fell asleep before completing the objective
es: Tus héroes se han dormido antes de completar el objetivo

[ctx: .loss_reason_all_hero_dead]
en: All your heroes are dead
es: Todos tus héroes están muertos

[ctx: .loss_reason_one_hero_dead]
en: One of your heroes is dead
es: Uno de tus héroes está muerto

[ctx: .home_local_level_loading_error]
en: This file is not a valid .shlv file:
es: Este archivo no es un archivo .shlv válido:
