/* Page prose (es) */
"JobInThreeSteps" = "# Un trabajo en tres pasos dependientes\n\nDe vuelta a la **imprenta**. Para producir un cuadernillo, tres cosas deben ocurrir *en orden*, cada una necesitando la anterior:\n\n1. **Cargar un diseño** (una plantilla desde la que imprimir).\n2. **Renderizar una prueba** a partir de ese diseño (en cuántas páginas se convierte).\n3. **Encuadernar el cuadernillo** a partir de ese número de páginas.\n\nAquí están los tres bloques de construcción asíncronos. Cada uno simula una espera real (una lectura de disco, un renderizado, una tirada de encuadernación) con `asyncAfter`, y reporta de vuelta a través de un completion handler que lleva un `Result`. Como cada paso necesita el resultado anterior, cada llamada anida dentro del último handler. Ponemos esto en una pequeña clase para que venga con un detalle del mundo real: las clausuras capturan `self`, así que tenemos que pensar en los ciclos de retención.";
"JobInThreeSteps-2" = "**Míralo en acción:** tras alrededor de un segundo y medio verás `✅ Ready: Booklet(12 pages)`. Funciona. Pero mira *lo que costó* hacer que tres pasos ordenados funcionaran, y cada lugar donde esto podría haber salido mal en su lugar.\n\n* callout(Pruébalo): Borra el envoltorio `DispatchQueue.main.async { ... }` y llama a `completion(.success(booklet))` directamente. La salida se ve idéntica aquí, que es exactamente por qué un salto al hilo principal olvidado se publica tan fácilmente.\n\n[Anterior](@previous)  |  página 3 de 6  |  [Siguiente: Dónde se esconden los errores](@next)";
