{
    "navigation_exit_button": "Salir",
    "navigation_menu_button": "Menú",
    "navigation_discord_button": "Únete a la comunidad en Discord",
    "menu_fullscreen_label": "Pantalla completa",
    "menu_enable_fullscreen": "Pantalla completa",
    "menu_disable_fullscreen": "Salir de la pantalla completa",
    "menu_sound_label": "Sonido",
    "menu_music_label": "Música",
    "mute_button_mute": "Silenciar",
    "mute_button_unmute": "Activar el sonido",
    "menu_language_label": "Idioma",
    "menu_credits_label": "créditos",
    "menu_credits_link": "ver en línea",
    "type_anchor": "ancla",
    "type_assign": "asignación",
    "type_direction": "dirección",
    "graph_node_if": "si",
    "graph_node_else": "si no",
    "graph_node_jump": "salto",
    "graph_node_clone": "clon",
    "graph_node_function_step": "ir",
    "graph_node_function_fireball": "bola de fuego",
    "graph_node_function_take": "tomar",
    "graph_node_function_drop": "soltar",
    "graph_node_function_write": "escribir",
    "graph_node_function_tell": "decir",
    "graph_node_function_tell_after_1": "a",
    "graph_node_function_listen": "escuchar",
    "graph_node_function_set": "establecer",
    "graph_node_function_calc": "calc",
    "graph_node_function_nearest": "más cercano",
    "operator_boolean_and": "y",
    "operator_boolean_or": "o",
    "operator_boolean_delete": "suprimir",
    "drop_down_list_direction": "dirección",
    "drop_down_list_number": "número",
    "drop_down_list_my_item_literal": "mi ítem",
    "drop_down_list_everyone_literal": "todo el mundo",
    "drop_down_list_message_literal_hey": "\"hey\"",
    "drop_down_list_message_literal_lol": "\"lol\"",
    "drop_down_list_message_literal_ho": "\"ho\"",
    "drop_down_list_message_literal_kiss": "\"beso\"",
    "drop_down_list_message_literal_stop": "\"detener\"",
    "drop_down_list_message_literal_wait": "\"esperar\"",
    "drop_down_list_message_literal_ok": "\"ok\"",
    "drop_down_list_message_literal_coffee": "\"café\"",
    "drop_down_list_object_type_nothing": "nada",
    "drop_down_list_object_type_hero": "héroe",
    "drop_down_list_object_type_npc": "bestia",
    "drop_down_list_object_type_switch": "botón",
    "drop_down_list_object_type_bonfire": "fuego",
    "drop_down_list_object_type_cauldron": "caldero",
    "drop_down_list_object_type_spikes": "picas",
    "drop_down_list_object_type_egg": "huevo",
    "drop_down_list_terrain_type_wall": "muro",
    "drop_down_list_terrain_type_floor": "suelo",
    "drop_down_list_terrain_type_hole": "hueco",
    "drop_down_list_terrain_type_infected": "infectado",
    "drop_down_list_terrain_type_void": "vacío",
    "app_fullscreen_modal": "Para tener la mejor experiencia de juego,\nes recomendado jugar en pantalla completa.",
    "app_exit_warning_modal": "¿Seguro quieres \nsalir de Selfless Heroes ?",
    "head_meta_keywords": "juego rompecabeza, videojuego, juegos serios, programación, desarrollo, rompecabezas, educación, diversión, lógica, algoritmo",
    "head_meta_og_description": "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!",
    "title_levellist": "Niveles",
    "app_fullscreen_modal_stop_propose": "No volver a mostrar este mensaje",
    "head_meta_description": "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!",
    "level_list_premium_levels_button": "Desbloquea más niveles",
    "premium_modal_content_description": "%%content-number$3%% nuevas categorías de nivel de un total de\n%%content-number$34%% niveles adicionales",
    "unlock_premium_modal_activation_key_label": "clave de activación:",
    "level_details_delete_solution_warning": "Estás seguro que quieres eliminar esta solución?",
    "tutorial_basic_step_tutorial_warning": "Es aconsejable seguir este tutorial cuidadosamente para poder jugar lo antes posible.\n\nHaz click en la flecha para iniciar el tutorial.",
    "premium_modal_unlock_button": "desbloquear\ncontenido premium",
    "unlock_premium_modal_title": "Desbloquear contenido premium",
    "unlock_premium_modal_get_key_button": "obtener clave de activación",
    "unlock_premium_modal_wrong_activation_key": "Esta no es una clave de activación válida.",
    "level_details_edit_button": "jugar",
    "level_details_edit_button_tooltip": "Jugar",
    "level_details_back_button": "atrás",
    "level_details_back_button_tooltip": "Atrás",
    "level_details_add_solution_button": "Solución nueva",
    "level_details_duplicate_solution_button": "Duplicar",
    "tutorial_advanced_step_editor_switch": "Cambiar al editor de código.\nEl editor de código puede ser utilizado para copiar código de un nivel a otro.\nTambien está diseñado para utilizarse por jugadores avanzados que quieren escribir su programa utilizando código en vez de la interfaz gráfica.",
    "tutorial_advanced_step_game": "Selecciona un héroe presionando sobre él para seguir mejor su comportamiento.\nMientras 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.",
    "level_help_tab_general_objectives_star2_advice": "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.",
    "level_help_tab_general_objectives_star3_advice": "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).",
    "level_details_duplicate_solution_suffix": " copia",
    "level_help_tab_if_statement_2": "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\".",
    "level_details_delete_solution_button": "Eliminar",
    "level_help_tab_if_statement_3": "%%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.",
    "app_warn_local_storage_modal_2": "\nPara asegurar de que no pierdas tu juego\n\n",
    "app_warn_local_storage_modal_3": "instalar Selfless Heroes",
    "app_warn_local_storage_modal_4": "\no\nguarda tu juego (%%mdi mdi-content-save-move$%%)",
    "app_warn_local_storage_modal_stop_warning": "No volver a mostrar este mensaje",
    "screen_size_warning_1": "La pantalla de tu dispositivo es muy pequeña para jugar Selfless Heroes",
    "screen_size_warning_2": "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.",
    "home_new_game": "nuevo juego:",
    "home_new_career_or_separator": "o",
    "home_load_career_button": "%%mdi mdi-content-save-move$%% Cargar un juego",
    "home_save_career_button": "Guardar como…",
    "home_remove_career_button": "Remover",
    "home_remove_career_warning": "Estás seguro que quieres eliminar este juego?\nTodo el progreso será perdido.",
    "home_drop_career_file": "Cargar un juego guardado\nArchivo %%mdi mdi-content-save-move$%% .shsv",
    "home_wrong_file_format_error": "El archivo no es un archivo .shsv válido",
    "level_list_back_button": "Atrás",
    "level_list_bonus_label": "BONUS",
    "level_list_boss_label": "JEFE",
    "premium_modal_title": "Contenido premium",
    "premium_modal_action_variables": "Los héroes pueden calcular\ny escribir en huevos",
    "premium_modal_action_speach": "Los héroes pueden hablar\nentre ellos",
    "premium_modal_action_clone": "Los héroes pueden clonarse a sí mismos",
    "premium_modal_back_button": "atrás",
    "level_details_rename_solution_button": "Renombrar",
    "level_details_name_input_placeholder": "nombre",
    "modal_confirm_button": "ok",
    "modal_cancel_button": "cancelar",
    "modal_close_button": "Cerrar",
    "modal_confirm_yes": "si",
    "modal_cancel_no": "no",
    "tutorial_button_next": "Siguiente",
    "tutorial_basic_step_graphcode": "Los héroes siguen estas instrucciones paso a paso",
    "tutorial_basic_step_palette": "Arrastra nuevas instrucciones desde aquí para cambiar el comportamiento de los héroes",
    "tutorial_basic_step_objective": "Para ver el objetivo del nivel presiona aquí",
    "tutorial_basic_step_runbar": "Cuando tu programa esté listo, presiona aquí para ejecutarlo",
    "tutorial_basic_step_help": "Si necesitas más ayuda o deseas ver este tutorial nuevamente, presiona aquí",
    "tutorial_advanced_step_undo": "Deshacer la última edición",
    "tutorial_advanced_step_redo": "Rehacer",
    "tutorial_advanced_step_delete": "Eliminar todas las instrucciones",
    "tutorial_advanced_step_play_pause": "Ejecutar o pausar el programa",
    "tutorial_advanced_step_step": "Ejecutar el programa paso por paso",
    "tutorial_advanced_step_stop": "Detener el programa",
    "tutorial_advanced_step_speed": "Ajuste de velocidad",
    "tutorial_advanced_step_menu": "Abrir el menú",
    "level_back_button": "Volver a la lista de niveles",
    "level_help_button": "Ayuda",
    "level_objective_button": "Objetivo",
    "level_help_modal_title": "Ayuda",
    "level_help_modal_tab_general_title": "general",
    "level_help_basic_tutorial_button": "Tutorial básico",
    "level_help_advanced_tutorial_button": "Tutorial avanzado",
    "level_help_tab_general_objectives_star1": "estrella 1:",
    "level_help_tab_general_objectives_star1_objective": "lograr el objetivo del nivel",
    "level_help_tab_general_objectives_stars": "Hay 3 estrellas para obtener por nivel:",
    "level_help_tab_general_objectives_star2": "estrella 2:",
    "level_help_tab_general_objectives_star3": "estrella 3:",
    "level_help_tab_general_objectives_star2_objective": "objetivo secundario tiempo de ejecución",
    "level_help_tab_general_objectives_star3_objective": "objetivo secundario longitud del código",
    "level_help_tab_statement_code_example": "ejemplo de código:",
    "level_help_tab_statement_graph_code_example": "ejemplo:",
    "level_help_tab_if_statement_1": "%%statement branching-statement$si%% permite ejecutar instrucciones solo si cierta condición es verdadera.",
    "level_help_tab_jump_statement_1": "%%statement branching-statement$salto%% te permite saltar para atrás o para adelante en el programa.",
    "level_help_tab_if_statement_6": "Presiona en el signo más para añadir otras condiciones.",
    "level_help_tab_jump_statement_2": "Podrías leer el ejemplo de arriba como \"Ve a la derecha infinitas veces\".",
    "level_help_tab_jump_statement_6": "Podrías leer el ejemplo de arriba como \"Ve a la derecha mientras que el cuadrado de la derecha no sea un muro\".",
    "level_help_tab_clone_statement_1": "%%statement branching-statement$clon%% crea un clon del héroe a su lado.",
    "level_help_tab_clone_statement_2": "Podrías leer el ejemplo de arriba como \"Crea un clon a tu izquierda. Luego ve a la derecha\".\n\nPara 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%%.",
    "level_help_tab_if_statement_4": "%%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%%.\nSi eliminas todas las instrucciones dentro de %%statement branching-statement$else%%, desaparecerá.",
    "level_help_tab_if_statement_7": "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\".",
    "home_new_career_name_placeholder": "seudo",
    "premium_activated_modal": "¡Enhorabuena!\n\nHas desbloqueado satisfactoriamente el contenido premium de Selfless Heroes.",
    "level_help_tab_jump_statement_4": "La primer línea crea un \"ancla\" llamada \"a\". La tercer línea dice saltar a este ancla.\nPuedes escoger cualquier nombre que desees para tus anclas. Cada salto debe coincidir con una única ancla.",
    "level_help_tab_jump_statement_5": "%%statement branching-statement$salto%% usualmente es utilizado con %%statement branching-statement$si%% para crear bucles que se detienen dada una condición.",
    "app_warn_local_storage_modal_1": "La versión en línea de Selfless Heroes guarda tu juego en el explorador.\n\nSi eliminas tu historial o utilizas una herramienta de limpieza como CCleaner, puedes borrar tu juego.",
    "code_state_not_runnable_modal": "Tu código contiene %%undefined$undefined%% palabras clave.\nReemplazalas por valores correctos antes de ejecutar tu código.",
    "level_help_tab_nearest_function_2": "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\".",
    "exception_mismatch_statement_template": "Escribiste algo erróneo después de este {statementType}.",
    "level_help_tab_step_function_2": "Podrías leer el ejemplo de arriba como \"Ve un paso a la izquierda o a la derecha\".",
    "level_help_tab_step_once_function_1": "%%statement action-statement$ir%% indica a tu héroe que vaya en una dirección.",
    "level_help_tab_step_function_1": "%%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.",
    "level_help_tab_take_function_1": "%%statement action-statement$tomar%% indica a tu héroe que tome un ítem.",
    "level_help_tab_drop_function_1": "%%statement action-statement$soltar%% indica a tu héroe que suelte su ítem.",
    "level_help_tab_write_function_1": "%%statement action-statement$escribir%% indica a tu héroe que escriba algo en su ítem.",
    "level_help_tab_drop_function_2": "Podrías leer el ejemplo de arriba como \"Suelta tu ítem en el cuadrado a tu derecha\".",
    "level_help_tab_fireball_function_2": "Podrías leer el ejemplo de arriba como \"Lanza una bola de fuego a la derecha\".",
    "level_help_tab_take_function_2": "Podrías leer el ejemplo de arriba como \"Si hay un huevo en el cuadrado a tu derecha, toma este huevo\".",
    "level_help_tab_write_function_2": "Podrías leer el ejemplo de arriba como \"Escribe 3 en tu ítem\".",
    "level_help_tab_set_function_2": "Podrías leer el ejemplo de arriba como \"Establece la variable 'a' a '3'\".",
    "level_help_tab_calc_function_2": "Podrías leer el ejemplo de arriba como \"Establece la variable 'b' a 'a + 2'\".",
    "level_help_tab_set_function_1": "%%statement assign-statement$establecer%% inicializa una variable.",
    "level_help_tab_calc_function_1": "%%statement assign-statement$calc%% hace un cálculo y sitúa el resultado en una variable.",
    "level_help_tab_fireball_function_1": "%%statement action-statement$bola de fuego%% lanza una bola de fuego en un cuadrado alrededor del héroe.\nSi la bola de fuego golpea a otro héroe lo matará. Puedes utilizar una bola de fuego para encender un %%icon icon-bonfire$%% fuego.",
    "level_help_tab_step_once_function_2": "Podrías leer el ejemplo de arriba como \"ve un paso a la derecha\".",
    "level_help_tab_tell_function_5": "Podrías leer el ejemplo de arriba como \"Dile \"hey\" a todos\".",
    "level_help_tab_listen_function_2": "Podrías leer el ejemplo de arriba como \"Espera a que un héroe te diga \"ey\" luego ve a la derecha\".",
    "code_state_ok_tooltip": "Tu código está listo para ser ejecutado",
    "level_help_tab_tell_function_1": "%%statement speach-statement$decir%% te permite darle un mensaje a otros heroes.",
    "editor_bar_undo_button": "Deshacer [ctrl+z]",
    "editor_bar_delete_button": "Eliminar",
    "editor_bar_redo_button": "Rehacer [ctrl+y]",
    "level_help_tab_listen_function_1": "%%statement speach-statement$escuchar%% indica al héroe que espere hasta que escuche un mensaje específico.",
    "level_help_tab_tell_function_4": "También puedes %%statement speach-statement$decir%% un mensaje a todos los %%icon icon-hero$%% héroes del nivel.",
    "level_modal_speed_target_unit": "pasos",
    "level_modal_length_target_unit": "líneas",
    "level_modal_secondary_objectives_difficulty_warning": "los objetivos secundarios pueden ser muy difíciles y suele ser imposible lograr ambos con la misma solución",
    "level_objective_modal_objective_title": "objetivo",
    "level_objective_modal_secondary_objectives_title": "objetivos secundarios",
    "win_modal_testing_explanation": "tu solución es probada para asegurar que funcione siempre",
    "win_modal_prior_code_length": "tu más pequeña fue de %%score-number${minLength}%% líneas",
    "win_modal_prior_code_speed": "tu más rápida fue de %%score-number${minStep}%% pasos",
    "win_modal_back_button": "atrás",
    "win_modal_continue_edit_button": "mejorar",
    "run_bar_speed_range": "Velocidad [alt+←] [alt+→]",
    "editor_bar_switch_to_code": "Cambiar al editor de código [ctrl+e]",
    "code_state_not_runnable_tooltip": "Tus instrucciones no están completas:\npresióname para más detalles",
    "code_state_not_compilable_tooltip": "Hay un error en tu código:\npresióname para más detalles",
    "switch_editor_warning": "Hay un error en tu código.\nSi cambias al editor gráfico ahora,\npartes de él corren el riesgo de ser borradas.",
    "code_error_position_template": "línea {line}",
    "errors_modal_title": "Errores",
    "exception_mismatch_keyword_template": "Escribiste algo erróneo después de este %%keyword${statementType}%%.",
    "loss_reason_too_many_steps": "Tu programa toma mucho tiempo",
    "loss_reason_all_hero_ended": "Tus héroes se han dormido antes de completar el objetivo",
    "loss_reason_all_hero_dead": "Todos tus héroes están muertos",
    "loss_reason_one_hero_dead": "Uno de tus héroes está muerto",
    "level_test_failed_modal": "Algunas de las pruebas han fallado.\nHemos reproducido la misma situación como en estos intentos fallidos.",
    "level_help_tab_tell_function_2": "Podrías leer el ejemplo anterior como \"Dile \"ok\" al héroe a tu derecha\".",
    "run_bar_pause_button": "Pausa [ctrl+espacio]",
    "editor_bar_switch_to_graph": "Cambiar al editor gráfico [ctrl+e]",
    "code_state_ok_modal": "Tu código está listo para ser ejecutado",
    "run_bar_play_button": "Ejecutar [ctrl+espacio]",
    "run_bar_step_button": "Paso a paso [ctrl+entrar]",
    "run_bar_stop_button": "Detener [ctrl+retroceso]",
    "level_help_tab_nearest_function_1": "%%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.",
    "level_help_tab_clone_statement_4": "El clon creado inicia su vida con los mismos valores de variables que su creador.\n\n%%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.",
    "level_help_tab_calc_function_4": "En Selfless Heroes, sólo hay números enteros.\n\nEl operador %%type-operator$\"/\"%% es la división entera.\nPor ejemplo, %%type-operator$9 / 2 = 4%%.\n\nEl operador %%type-operator$\"%\"%% se llama \"módulo\". Calcula el resto de la división entera.\nPor ejemplo, %%type-operator$9 % 2 = 1%% porque %%type-operator$9 / 2 = 4 tiene un resto de 1%%.",
    "exception_forbidden_message_literal_template": "%%string$\"{message}\"%% mensaje no está permitido. Utiliza uno de los siguientes en su lugar: %%string${allowedMessages}%%.",
    "exception_forbidden_primary_statement_template": "%%keyword${statementType}%% no está disponible en este nivel.",
    "exception_forbidden_message_literal_type_template": "Mensajes no están disponibles en este nivel.",
    "exception_forbidden_arithmetic_operator_literal_type_template": "Los operadores aritméticos no están disponibles en este nivel.",
    "exception_mismatch_function_template": "Escribiste algo erróneo después de la función %%function${keyword}()%%.",
    "exception_invalid_clone_params_template": "%%keyword${statementType}%% espera una dirección (%%literal${allowedDirections}%%) y un ancla.",
    "exception_invalid_variable_identifier_template": "%%variable${variable}%% nombre de variable no está permitido. Utiliza uno de los siguientes en su lugar: %%variable${allowedIdentifiers}%%.",
    "exception_forbidden_integer_template": "%%number${value}%% el número o es demasiado pequeño o demasiado grande: los números deben estar entre %%number${min}%% y %%number${max}%%.",
    "exception_invalid_value_function_template": "%%function${code}%% no es una función válida. Utiliza uno de los siguientes en su lugar: %%function${allowedFunctions}%%.",
    "exception_forbidden_integer_literal_type_template": "Los números no están disponibles en este nivel.",
    "exception_invalid_action_function_template": "%%function${code}%% no es una acción válida. Utiliza uno de los siguientes en su lugar: %%function${allowedFunctions}%%.",
    "exception_forbidden_action_function_template": "%%function${keyword}()%% no está disponible en este nivel. Utiliza uno de los siguientes en su lugar: %%function${allowedFunctions}%%",
    "exception_forbidden_direction_literal_type_template": "Las direcciones no están disponibles en este nivel.",
    "exception_forbidden_everyone_literal_type_template": "%%literal$everyone%% no está disponible en este nivel.",
    "exception_forbidden_myitem_literal_type_template": "%%literal$myitem%% no está disponible en este nivel.",
    "exception_forbidden_object_type_literal_type_template": "Los tipos de objeto no están disponibles en este nivel.",
    "exception_forbidden_terrain_type_literal_type_template": "Los tipos de terreno no están disponibles en este nivel.",
    "exception_invalid_params_one_dir_integer_variable_myitem_template": "%%function${keyword}()%% requiere exactamente un parámetro que puede ser un número, una variable, una dirección o %%literal$myitem%%",
    "exception_invalid_dir_integer_variable_myitem_param_template": "%%variable${param}%% no es un número, variable, dirección o %%literal$myitem%% válido",
    "exception_invalid_dir_variable_param_template": "%%variable${param}%% no es una variable o dirección válida. Puedes usar estos en su lugar: %%variable${allowedVariables}%% %%literal${allowedDirections}%%",
    "exception_invalid_params_one_integer_or_variable_template": "%%function${keyword}()%% requiere exactamente un parámetro que puede ser un número o una variable (%%variable${allowedVariables}%%)",
    "exception_invalid_params_one_integer_template": "%%function${keyword}()%% requiere exactamente un parámetro numérico",
    "exception_invalid_integer_param_template": "%%variable${param}%% no es un número válido",
    "exception_invalid_integer_or_variable_param_template": "%%variable${param}%% no es un número o variable válido",
    "exception_invalid_params_one_dir_template": "%%function${keyword}()%% requiere exactamente un parámetro direccional: %%literal${directions}%%",
    "exception_invalid_params_one_dir_variable_template": "%%function${keyword}()%% requiere una dirección (%%literal${allowedDirections}%%) o una variable (%%variable${allowedVariables}%%)",
    "exception_invalid_params_one_more_dir_variable_template": "%%function${keyword}()%% requiere uno o más parámetros de dirección (%%literal${allowedDirections}%%) o una variable (%%variable${allowedVariables}%%)",
    "exception_invalid_params_one_object_type_param_template": "%%function${keyword}()%% requiere exactamente un parámetro de tipo de objeto: %%literal${allowedValues}%%",
    "exception_invalid_direction_param_template": "%%variable${param}%% no es una dirección válida. Usa uno de estos en su lugar: %%literal${allowedValues}%%",
    "exception_invalid_object_type_param_template": "%%variable${param}%% no es un tipo de objeto válido. Usa uno de estos en su lugar: %%literal${allowedValues}%%",
    "exception_invalid_direction_param_not_here_template": "%%function${keyword}()%% no acepta la dirección %%literal${param}%%. Usa uno de estos en su lugar: %%literal${allowedValues}%%",
    "exception_primary_statement_invalid_direction_param_not_here_template": "%%keyword${keyword}%% no acepta la dirección %%literal${param}%%. Usa uno de estos en su lugar: %%literal${allowedValues}%%",
    "exception_invalid_object_type_param_not_nothing_template": "%%function${keyword}()%% no acepta el tipo de objeto %%literal${param}%%. Usa uno de estos en su lugar: %%literal${allowedValues}%%",
    "exception_invalid_params_calc_function_template": "%%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}%%)",
    "exception_invalid_params_tell_function_template": "%%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%%",
    "exception_duplicate_param_template": "No se puede pasar el parámetro %%literal${param}%% dos veces a %%function${keyword}()%%",
    "exception_multiple_param_several_types_template": "Cuando uno da varios parámetros a la función %%function${keyword}()%%, deben ser del mismo tipo",
    "exception_forbidden_object_type_template": "El tipo de objeto %%literal${keyword}%% no está disponible en este nivel. Puedes usar uno de los siguientes: %%literal${allowedValues}%%",
    "exception_forbidden_terrain_type_template": "El tipo de terreno %%literal${keyword}%% no está disponible en este nivel. Puede usar uno de los siguientes: %%literal${allowedValues}%%",
    "exception_boolean_no_comparison_operator_template": "Una condición debe contener un comparador válido como estos: %%operator${allowedOperators}%%",
    "exception_invalid_expression_template": "%%variable${code}%% no es una palabra clave válida",
    "exception_invalid_statement_template": "%%variable${code}%% no es una instrucción válida",
    "exception_forbidden_variable_identifier_template": "%%variable${variable}%% variable no está disponible en este nivel. Utiliza uno de los siguientes: %%variable${allowedNames}%%",
    "exception_all_forbidden_variable_identifier_template": "Las variables no están disponibles en este nivel",
    "exception_open_statement_template": "La condición %%keyword${keyword}%% debe cerrarse con un %%code$:%%",
    "exception_else_no_if_template": "%%keyword${elseKeyword}%% sin %%keyword${ifKeyword}%% antes",
    "exception_endif_no_if_template": "%%keyword${endifKeyword}%% sin %%keyword${ifKeyword}%% antes",
    "exception_if_no_endif_template": "%%keyword${ifKeyword}%% sin %%keyword${endifKeyword}%%",
    "exception_duplicate_anchor_template": "%%bracket${anchorName}:%% encontrado dos veces. Las anclas deben tener nombres únicos",
    "exception_jump_to_unknown_anchor_template": "%%keyword${jumpKeyword}%% a ancla desconocida %%bracket${anchorName}:%%",
    "exception_forbidden_value_function_template": "%%function${keyword}()%% no está disponible en este nivel. Utiliza uno de los siguientes en su lugar: %%function${allowedFunctions}%%",
    "home_local_level_loading_error": "Este archivo no es un archivo .shlv válido:"
}
