{
  "title": "Aprendiendo NODE.JS!",
  "exercise": {
    "HELLO WORLD": "HOLA MUNDO",
    "BABY STEPS":  "PASOS DE BEBE",
    "MY FIRST I/O!": "MI PRIMER I/O!",
    "MY FIRST ASYNC I/O!": "MI PRIMER I/O ASINCRÓNICO!",
    "FILTERED LS": "LS FILTRADO",
    "MAKE IT MODULAR": "HAZLO MODULAR",
    "HTTP CLIENT": "CLIENTE HTTP",
    "HTTP COLLECT": "COLECCIÓN HTTP",
    "JUGGLING ASYNC": "MALABARES CON ASINCRONISMO",
    "TIME SERVER": "SERVIDOR DE TIEMPO",
    "HTTP FILE SERVER": "SERVIDOR DE ARCHIVOS HTTP",
    "HTTP UPPERCASERER": "TRANSFORMADOR A MAYÚSCULAS HTTP",
    "HTTP JSON API SERVER": "API JSON EN SERVIDOR HTTP"
  },
  "common": {
    "exercise": {
      "pass": {
        "sync": "Método síncrono utilizado: {{{method}}}",
        "async": "Método asíncrono utilizado: {{{method}}}"
      },
      "fail": {
        "sync": "Método síncrono utilizado: {{{method}}}",
        "async": "Método asíncrono utilizado: {{{method}}}",
        "unused": "Método asíncrono del módulo `fs` utilizado.",
        "unexpected_error": "Error inesperado del server HTTP: {{{message}}}",
        "connection": "Error al connectarse a {{{address}}}: {{{message}}}"
      }
    }
  },
  "exercises": {
    "MAKE IT MODULAR": {
      "fail": {
        "missing_module": "No utilizaste un archivo de módulo adicional, debes utilizar require() para resolver este ejercicio",
        "loadError": "Error cargando archivo de módulo [{{path}}]: {{{message}}}",
        "mod": {
          "_base": "Tu archivo de módulo adicional [{{path}}] {{{message}}}",
          "no_export": "no exporta un {{{method}}}. Debes utilizar la forma `module.exports = function () {}`.",
          "singleFunction": "una sola función",
          "arguments": "exporta una función que toma menos argumentos que {{{three}}}. Debes recibir un directorio, un filtro y un {{{callback}}}.",
          "arguments_three": "tres",
          "arguments_callback": "callback",
          "missing_callback": "no llamó el argumento callback después de un error de parte de fs.readdir()",
          "missing_error": "no parece pasar de vuelta un error recibido de `fs.readdir()`.\n Utiliza el siguiente patrón idiomático de Node.js adentro de tu callback a `fs.readdir()`:\n\tif (err)\n\t  return callback(err)",
          "callback_arguments": "no retornó dos argumentos en la función callback (esperado `null` y un arreglo de nombres de archivos)",
          "dont_use_dot": "aparentemente espera una extensión con prefijo del tipo '.', debería recibir el segundo argumento de la consola sin el agregado '.'",
          "array_wrong_size": "no retornó un arreglo con el número correcto de elementos como segundo parámetro del callback",
          "dotExt": "podría estar coincidiendo con \"ext\" en vez de \".ext\"",
          "array_comparison": "no retornó la correcta lista de archivos como segundo parámetro del callback",
          "missing_array_argument": "no retornó un objeto Array como segundo argumento del callback",
          "callback_error": "retornó un error en su callback:\n\t{{{error}}}",
          "timeout": "no llamó al argumento callback ",
          "unexpected": "disparó un error:\n\t{{{error}}}"
        }
      },
      "pass": {
        "singleFunction": "El archivo de módulo adicional exporta una sola función",
        "arguments": "El archivo de módulo adicional exporta una función que toma {{{count}}} argumentos",
        "error": "El archivo de módulo adicional maneja los errores correctamente",
        "callback": "El archivo de módulo adicional maneja el argumento callback ",
        "callback_arguments": "El archivo de módulo adicional retornó dos argumentos en la función callback",
        "array_argument": "El archivo de módulo adicional retornó el número correcto de elementos en el segundo argumento del callback",
        "dont_use_dot":"El archivo de módulo adicional maneja correctamente la extensión con prefijo '.'",
        "array_size": "El archivo de módulo adicional retornó el número correcto de elementos en el segundo argumento del callback",
        "final": "El archivo de módulo adicional retornó la lista correcta de archivos en el segundo argumento del callback"
      }
    },
    "TIME SERVER": {
      "fail": {
        "connection": "Error conectandose a localhost:{{port}}: {{{message}}}"
      }
    },
    "HTTP FILE SERVER": {
      "fail": {
        "no_createReadStream": "Otro método de fs utilizado en vez de fs.createReadStream(): {{{method}}}"
      }
    }
  }
}
