diff --git a/es.po b/es.po
deleted file mode 100644
index fb85209e..00000000
--- a/es.po
+++ /dev/null
@@ -1,9639 +0,0 @@
-msgid ""
-msgstr ""
-"Project-Id-Version: Dojo: The Provable Game Engine\n"
-"POT-Creation-Date: \n"
-"PO-Revision-Date: \n"
-"Last-Translator: \n"
-"Language-Team: \n"
-"Language: es\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 3.4\n"
-
-#: src/SUMMARY.md:3
-msgid "Foreword"
-msgstr "Introducción"
-
-#: src/SUMMARY.md:4
-msgid "What is Dojo?"
-msgstr "¿Qué es Dojo?"
-
-#: src/SUMMARY.md:5
-msgid "AW Theory"
-msgstr "Teoría AW"
-
-#: src/SUMMARY.md:6
-msgid "Cairo Ecosystem"
-msgstr "Ecosistema de Cairo"
-
-#: src/SUMMARY.md:7
-msgid "FAQs"
-msgstr "Preguntas Frecuentes"
-
-#: src/SUMMARY.md:9
-msgid "Getting Started"
-msgstr "Primeros Pasos"
-
-#: src/SUMMARY.md:11
-msgid "Quick Start"
-msgstr "Inicio Rápido"
-
-#: src/SUMMARY.md:12
-msgid "Manual Install"
-msgstr "Manual de Instalación"
-
-#: src/SUMMARY.md:13
-msgid "Development Setup"
-msgstr "Configuración del Desarrollo"
-
-#: src/SUMMARY.md:14
-msgid "Contributing"
-msgstr "Colaboradores"
-
-#: src/SUMMARY.md:16
-msgid "Community"
-msgstr "Comunidad"
-
-#: src/SUMMARY.md:18
-msgid "Get Started"
-msgstr "Primeros Pasos"
-
-#: src/SUMMARY.md:20
-msgid "Architecture"
-msgstr "Arquitectura"
-
-#: src/SUMMARY.md:22 src/SUMMARY.md:45
-msgid "Overview"
-msgstr "Descripción General"
-
-#: src/SUMMARY.md:23
-msgid "World"
-msgstr "World"
-
-#: src/SUMMARY.md:24
-msgid "Systems"
-msgstr "Systems"
-
-#: src/SUMMARY.md:25
-msgid "Models"
-msgstr "Models"
-
-#: src/SUMMARY.md:26
-msgid "Commands"
-msgstr "Comandos"
-
-#: src/SUMMARY.md:27
-msgid "Config"
-msgstr "Configuración"
-
-#: src/SUMMARY.md:28
-msgid "Events"
-msgstr "Eventos"
-
-#: src/SUMMARY.md:29
-msgid "Authorization"
-msgstr "Autorización"
-
-#: src/SUMMARY.md:30
-msgid "Migration"
-msgstr "Migración"
-
-#: src/SUMMARY.md:31
-msgid "0.2.0 -> 0.3.0"
-msgstr "0.2.0 -> 0.3.0"
-
-#: src/SUMMARY.md:32
-msgid "ECS in 15 minutes"
-msgstr "ECS en 15 minutos"
-
-#: src/SUMMARY.md:34
-msgid "Entities"
-msgstr "Entidades"
-
-#: src/SUMMARY.md:35
-msgid "Testing"
-msgstr "Pruebas"
-
-#: src/SUMMARY.md:37
-msgid "Modules"
-msgstr "Módulos"
-
-#: src/SUMMARY.md:38
-msgid "ERC20"
-msgstr "ERC20"
-
-#: src/SUMMARY.md:39
-msgid "ERC721"
-msgstr "ERC721"
-
-#: src/SUMMARY.md:40
-msgid "ERC1155"
-msgstr "ERC1155"
-
-#: src/SUMMARY.md:41
-msgid "DeFi"
-msgstr "DeFi"
-
-#: src/SUMMARY.md:43
-msgid "Client SDKs"
-msgstr "Client SDKs"
-
-#: src/SUMMARY.md:46
-msgid "JS"
-msgstr "JS"
-
-#: src/SUMMARY.md:47
-msgid "Core"
-msgstr "Core"
-
-#: src/SUMMARY.md:48
-msgid "torii"
-msgstr "torii"
-
-#: src/SUMMARY.md:50
-msgid "Toolchain"
-msgstr "Herramientas"
-
-#: src/SUMMARY.md:52
-msgid "Dojoup"
-msgstr "Dojoup"
-
-#: src/SUMMARY.md:53
-msgid "Sozo"
-msgstr "Sozo"
-
-#: src/SUMMARY.md:54 src/SUMMARY.md:66 src/SUMMARY.md:68
-msgid "Reference"
-msgstr "Referencias"
-
-#: src/SUMMARY.md:55
-msgid "init"
-msgstr "init"
-
-#: src/SUMMARY.md:56
-msgid "build"
-msgstr "build"
-
-#: src/SUMMARY.md:57
-msgid "test"
-msgstr "test"
-
-#: src/SUMMARY.md:58
-msgid "migrate"
-msgstr "migrate"
-
-#: src/SUMMARY.md:59
-msgid "execute"
-msgstr "execute"
-
-#: src/SUMMARY.md:60
-msgid "register"
-msgstr "register"
-
-#: src/SUMMARY.md:61
-msgid "system"
-msgstr "system"
-
-#: src/SUMMARY.md:62
-msgid "component"
-msgstr "component"
-
-#: src/SUMMARY.md:63
-msgid "events"
-msgstr "events"
-
-#: src/SUMMARY.md:64
-msgid "auth"
-msgstr "auth"
-
-#: src/SUMMARY.md:65
-msgid "Katana"
-msgstr "Katana"
-
-#: src/SUMMARY.md:67
-msgid "Torii"
-msgstr "Torii"
-
-#: src/SUMMARY.md:69
-msgid "Graphql"
-msgstr "Graphql"
-
-#: src/SUMMARY.md:71
-msgid "Deploying"
-msgstr "Desplegando"
-
-#: src/SUMMARY.md:73
-msgid "Locally"
-msgstr "Localmente"
-
-#: src/SUMMARY.md:74
-msgid "Remote"
-msgstr "Remoto"
-
-#: src/SUMMARY.md:76
-msgid "Tutorial"
-msgstr "Tutorial"
-
-#: src/SUMMARY.md:78
-msgid "Onchain Chess"
-msgstr "Onchain Chess"
-
-#: src/SUMMARY.md:79
-msgid "0. Setup"
-msgstr "0. Configuración"
-
-#: src/SUMMARY.md:80
-msgid "1. Initiate"
-msgstr "1. Iniciar"
-
-#: src/SUMMARY.md:81
-msgid "2. Move"
-msgstr "2. Mover"
-
-#: src/SUMMARY.md:82
-msgid "3. Check Legal Move"
-msgstr "3. Comprobar Movimiento Legal"
-
-#: src/SUMMARY.md:83
-msgid "4. Test Chess"
-msgstr "4. Test Chess"
-
-#: src/SUMMARY.md:87
-msgid "Contributors"
-msgstr "Colaboradores"
-
-#: src/index.md:1
-msgid "Dojo"
-msgstr "Dojo"
-
-#: src/index.md:3
-msgid ""
-"> Dojo is an open-source project, currently in its early development phase, "
-"and warmly welcomes contributors. For additional resources, join the "
-"community on [Discord](https://discord.gg/vUN4Xq9Qv6) and check out the "
-"[contribution guide](./misc/contributors.md)."
-msgstr ""
-"> Dojo es un proyecto de código abierto, actualmente en su fase inicial de "
-"desarrollo, y da una calurosa bienvenida a los contribuyentes. Para obtener "
-"recursos adicionales, únase a la comunidad en [Discord](https://discord.gg/"
-"vUN4Xq9Qv6) y consulte la [guía de contribución](./misc/contributors.md)."
-
-#: src/index.md:7
-msgid "## Dojo: The Provable Game Engine"
-msgstr "## Dojo: El Provable Game Engine"
-
-#: src/index.md:9
-msgid ""
-"Dojo is a provable game engine built using [Cairo](https://github.com/"
-"starkware-libs/cairo). It establishes a standard for game development via "
-"smart contracts, blending best practices with streamlined development and "
-"deployment tools. With Dojo by your side, you can evolve from initial "
-"concept to a fully realized game in days, not weeks."
-msgstr ""
-"Dojo es un provable game engine (motor de juego demostrable) creado con [Cairo](https://github.com/"
-"starkware-libs/cairo). Establece un estándar para el desarrollo de juegos a "
-"través de smart contract, combinando las mejores prácticas con "
-"herramientas de desarrollo e implementación optimizadas. Con Dojo a tu lado, "
-"puedes evolucionar desde el concepto inicial hasta un juego completamente "
-"realizado en días, no semanas."
-
-#: src/index.md:11
-msgid ""
-"This book is dedicated to familiarizing you with the Dojo engine and the "
-"potential of Provable games. A special section on the [Theory](./theory/"
-"autonomous-worlds.md) elucidates this emergent concept of autonomous worlds "
-"and Provable games."
-msgstr ""
-"Este libro está dedicado a familiarizarte con el Dojo engine y el potencial "
-"de los Provable games. Una sección especial sobre la [Teoría](./theory/"
-"autonomous-worlds.md) elucida este concepto emergente de Autonomous Worlds y "
-"Provable games."
-
-#: src/index.md:13
-msgid ""
-"- [Quickstart](./getting-started/quick-start.md)\n"
-"- [What is Dojo? ](./theory/what-is-dojo.md)\n"
-"- [Explore the Architecture](./cairo/hello-dojo.md)"
-msgstr ""
-"- [Inicio Rápido](./getting-started/quick-start.md)\n"
-"- [¿Qué es Dojo? ](./theory/what-is-dojo.md)\n"
-"- [Explorar la Arquitectura](./cairo/hello-dojo.md)"
-
-#: src/index.md:18
-msgid "### Explainer"
-msgstr "### Explicación"
-
-#: src/index.md:20
-msgid ""
-"Here's a video of [Cartridge](https://cartridge.gg/)'s [Tarrence](https://"
-"twitter.com/tarrenceva) explaining how Dojo works at the 2023 [Autonomous "
-"Anonymous Summit](https://twitter.com/pet3rpan_/status/1666764726427353091):"
-msgstr ""
-"Aquí tienes un video de [Cartridge](https://cartridge.gg/) donde [Tarrence]"
-"(https://twitter.com/tarrenceva) explicando cómo funciona Dojo en la "
-"[Autonomous Anonymous Summit 2023](https://twitter.com/pet3rpan_/"
-"status/1666764726427353091):"
-
-#: src/index.md:22
-msgid ""
-""
-msgstr ""
-""
-
-#: src/index.md:30
-msgid "### Organizational Structure"
-msgstr "### Estructura Organizativa"
-
-#: src/index.md:31
-msgid ""
-"Dojo is an open-source initiative, licensed under Apache 2.0, dedicated to "
-"promoting and advancing the concept of Autonomous Worlds (AWs). It is "
-"spearheaded by [Cartridge](https://cartridge.gg/), [Realms & BibliothecaDAO]"
-"(https://bibliothecadao.xyz/), [briq](https://briq.construction/) and many "
-"more [contributors](https://github.com/orgs/dojoengine/people)."
-msgstr ""
-"Dojo es una iniciativa de código abierto, con licencia Apache 2.0, dedicada "
-"a promover y hacer avanzar el concepto de Autonomous Worlds (AWs). Está "
-"encabezado por [Cartridge](https://cartridge.gg/), [Realms & BibliothecaDAO]"
-"(https://bibliothecadao.xyz/), [briq](https://briq.construction/) y muchos "
-"más. [colaboradores](https://github.com/orgs/dojoengine/people)."
-
-#: src/index.md:33
-msgid "### How do I get involved?"
-msgstr "### ¿Cómo puedo involucrarme?"
-
-#: src/index.md:35
-msgid ""
-"Check out our [Github](https://github.com/dojoengine), our [Twitter](https://"
-"twitter.com/dojostarknet), [Discord](https://discord.gg/vUN4Xq9Qv6) and "
-"[contribution guide](https://book.dojoengine.org/misc/contributors.html)"
-msgstr ""
-"Consulte nuestro [Github](https://github.com/dojoengine), nuestro [Twitter]"
-"(https://twitter.com/dojostarknet), [Discord](https://discord.gg/vUN4Xq9Qv6) "
-"y [guía de contribución](https://book.dojoengine.org/misc/contributors.html)."
-
-#: src/theory/what-is-dojo.md:1
-msgid "# What is Dojo?"
-msgstr "## ¿Qué es Dojo?"
-
-#: src/theory/what-is-dojo.md:3
-msgid ""
-"Dojo is the culmination of lessons learned from attempts at building "
-"[onchain games](https://naavik.co/digest/primer-fully-on-chain-gaming), an "
-"emerging sector in the gaming industry. Any developer who has endeavored to "
-"build an on-chain game recognizes the inherent engineering hurdles - a "
-"realization that drove us to create Dojo. Just as you wouldn't recreate "
-"Unity every time you develop a new game, the same principle applies here. "
-"Dojo is designed to handle the complex infrastructure, allowing developers "
-"to focus on the unique aspects of their games."
-msgstr ""
-"Dojo es la culminación de las lecciones aprendidas en los intentos de crear "
-"[juegos on-chain](https://naavik.co/digest/primer-fully-on-chain-gaming), un "
-"sector emergente en la industria del juego. Cualquier desarrollador que haya "
-"intentado crear un juego en la cadena reconoce los obstáculos inherentes a "
-"la ingeniería, algo que nos impulsó a crear Dojo. Del mismo modo que no "
-"recrearías Unity cada vez que desarrollas un nuevo juego, aquí se aplica el "
-"mismo principio. Dojo está diseñado para manejar la compleja "
-"infraestructura, permitiendo a los desarrolladores centrarse en los aspectos "
-"únicos de sus juegos."
-
-#: src/theory/what-is-dojo.md:5
-msgid ""
-"Dojo aspires to be the go-to tool for building provable games. It is "
-"radically open-source, and all contributions are welcome."
-msgstr ""
-"Dojo aspira a convertirse en la herramienta de referencia para crear Provable "
-"games. Es radicalmente de código abierto, y todas las contribuciones "
-"son bienvenidas."
-
-#: src/theory/what-is-dojo.md:9
-msgid "## Stop building infrastructure; start building games"
-msgstr "## Deja de construir infraestructuras; empieza a construir juegos"
-
-#: src/theory/what-is-dojo.md:11
-msgid ""
-"Dojo's suite of tools takes the infrastructure complexity out of building on-"
-"chain games. It includes:"
-msgstr ""
-"El conjunto de herramientas de Dojo elimina la complejidad de la "
-"infraestructura para crear juegos en la cadena. Incluye:"
-
-#: src/theory/what-is-dojo.md:13
-msgid "### Entity Component System (ECS)"
-msgstr "### Entity Component System (ECS)"
-
-#: src/theory/what-is-dojo.md:15
-msgid ""
-"Dojo offers a standardized approach to building games on smart contracts. "
-"Recognizing the intricacies of game design, Dojo simplifies the development "
-"process, allowing creators to focus on gameplay logic. This standardization "
-"paves the way for an interconnected network of worlds, streamlining "
-"developer expertise and promoting game integration."
-msgstr ""
-"Dojo ofrece un enfoque estandarizado para crear juegos con contratos "
-"inteligentes. Al reconocer las complejidades del diseño de juegos, Dojo "
-"simplifica el proceso de desarrollo, permitiendo a los creadores centrarse "
-"en la lógica del juego. Esta estandarización allana el camino para una red "
-"interconectada de Worlds, optimizando la experiencia de los desarrolladores "
-"y promoviendo la integración de juegos."
-
-#: src/theory/what-is-dojo.md:17
-msgid ""
-"Utilizing the ECS (Entity Component System) as its core architecture, Dojo "
-"effectively manages the state and behavior of Autonomous Worlds (AWs). This "
-"model revolves around systems acting on entities, which are collections of "
-"pure data components. Systems efficiently determine which entities to "
-"process based on persistent queries over these components."
-msgstr ""
-"Utilizando el ECS (Entity Component System) como arquitectura central, Dojo "
-"gestiona eficazmente el estado y el comportamiento de los Autonomous Worlds "
-"(AWs). Este Model gira en torno a Systems que actúan sobre entidades, que "
-"son colecciones de componentes de datos puros. Los Systems determinan "
-"eficientemente qué entidades procesar basándose en consultas persistentes "
-"sobre estos componentes."
-
-#: src/theory/what-is-dojo.md:19
-msgid "Read detailed information about the [Dojo ECS](../cairo/overview.md)."
-msgstr "Lea información detallada sobre el [Dojo ECS](../cairo/overview.md)."
-
-#: src/theory/what-is-dojo.md:21
-msgid "### [Torii](/crates/torii/README.md) - Starknet Indexer"
-msgstr "### [Torii](/crates/torii/README.md) - Indexador Starknet"
-
-#: src/theory/what-is-dojo.md:23
-msgid ""
-"Building on-chain games often involves grappling with the challenge of "
-"indexing on-chain state. However, Dojo standardizes contract states to "
-"mirror traditional relational databases. This setup enables the [Torii "
-"Indexer](../toolchain/torii/overview.md) to auto-index all contract states, "
-"ensuring efficient and streamlined queries. Torii then exposes these states "
-"via a GraphQL API or gRPC (coming soon), allowing developers to easily query "
-"and retrieve data."
-msgstr ""
-"Construir juegos en la cadena a menudo implica enfrentarse al reto de "
-"indexar el estado en la cadena. Sin embargo, Dojo estandariza los estados de "
-"los contratos para reflejar las bases de datos relacionales tradicionales. "
-"Esta configuración permite al [Torii Indexer](../toolchain/torii/overview."
-"md) indexar automáticamente todos los estados del contrato, garantizando "
-"consultas eficientes y racionalizadas. Torii luego expone estos estados a "
-"través de una API GraphQL o gRPC (próximamente), permitiendo a los "
-"desarrolladores consultar y recuperar datos fácilmente."
-
-#: src/theory/what-is-dojo.md:25
-msgid ""
-"Using Torii drastically reduces the time and effort required to build on-"
-"chain games. It also eliminates the need to manually create indexers, which "
-"can be a tedious and error-prone process."
-msgstr ""
-"El uso de Torii reduce drásticamente el tiempo y el esfuerzo necesarios para "
-"crear juegos en la cadena. También elimina la necesidad de crear manualmente "
-"indexadores, que puede ser un proceso tedioso y propenso a errores."
-
-#: src/theory/what-is-dojo.md:27
-msgid ""
-"### [Katana](/crates/katana/README.md) - Blazingly fast development network"
-msgstr "### [Katana](/crates/katana/README.md) - Red de desarrollo rapidísima"
-
-#: src/theory/what-is-dojo.md:29
-msgid ""
-"Katana is a customizable StarkNet development network. It is blazingly fast "
-"and allows you to iterate on your game logic swiftly."
-msgstr ""
-"Katana es una red de desarrollo Starknet personalizable. Es rapidísima y te "
-"permite iterar sobre la lógica de tu juego con rapidez."
-
-#: src/theory/what-is-dojo.md:31
-msgid "### [Sozo CLI](/crates/sozo/README.md) - CLI Management Tool"
-msgstr "### [Sozo CLI](/crates/sozo/README.md) - Herramienta de Gestión CLI"
-
-#: src/theory/what-is-dojo.md:33
-msgid ""
-"Dojo worlds are poised to become some of the largest contracts. Sozo is a "
-"CLI tool that assists you in managing your worlds. It enables you to create, "
-"build, test, and deploy your worlds. Additionally, you can craft new "
-"components and systems and register them with your world."
-msgstr ""
-"Los Worlds Dojo están a punto de convertirse en algunos de los mayores "
-"contratos. Sozo es una herramienta CLI que te ayuda a gestionar tus Worlds. "
-"Te permite crear, construir, probar y desplegar tus Worlds. Además, puedes "
-"crear nuevos componentes y Systems y registrarlos en tu World."
-
-#: src/theory/what-is-dojo.md:35
-msgid "### What Dojo doesn't give you"
-msgstr "### Que no te ofrece Dojo"
-
-#: src/theory/what-is-dojo.md:37
-msgid ""
-"1. Visual graphics - While Dojo provides networking and contracts, it "
-"doesn't offer graphical engines. You can bring your graphics of choice! "
-"Integrate your Dojo world with Unreal, Godot, or Unity."
-msgstr ""
-"1. Gráficos visuales - Aunque Dojo proporciona redes y contratos, no ofrece "
-"motores gráficos. ¡Puedes traer los gráficos de tu elección! Integra tu "
-"World Dojo con Unreal, Godot o Unity."
-
-#: src/theory/what-is-dojo.md:39
-msgid "## Understanding the Dojo Workflow: A Visual Guide"
-msgstr "## Entendiendo el Workflow de Dojo: Una Guía Visual"
-
-#: src/theory/what-is-dojo.md:41
-msgid ""
-"To help you understand how `Sozo` works, we've created a visual guide that "
-"outlines the flow of execution using the powerful sozo tool and the katana "
-"development network."
-msgstr ""
-"Para ayudarle a entender cómo funciona `Sozo`, hemos creado una guía visual "
-"que describe el flujo de ejecución utilizando la potente herramienta sozo y "
-"la red de desarrollo katana."
-
-#: src/theory/what-is-dojo.md:43
-msgid ""
-"This visual representation will help you grasp the fundamental steps of "
-"working with Dojo, guiding you through the process of creating and managing "
-"your on-chain games."
-msgstr ""
-"Esta representación visual le ayudará a comprender los pasos fundamentales "
-"del trabajo con Dojo, guiándole a través del proceso de creación y gestión "
-"de sus juegos on-chain."
-
-#: src/theory/what-is-dojo.md:45
-msgid "Dojo Sozo Workflow"
-msgstr "Dojo Sozo Workflow"
-
-#: src/theory/autonomous-worlds.md:1
-msgid "## Autonomous Worlds"
-msgstr "## Autonomous Worlds "
-
-#: src/theory/autonomous-worlds.md:3
-msgid ""
-"> \"Autonomous worlds represent persistent, permissionless, and "
-"decentralized open environments that users can freely interact with and "
-"contribute to.\""
-msgstr ""
-"> \"Los Autonomous Worlds representan entornos abiertos persistentes, sin "
-"permisos y descentralizados con los que los usuarios pueden interactuar y "
-"contribuir libremente\"."
-
-#: src/theory/autonomous-worlds.md:5
-msgid ""
-"The precise definition of Autonomous Worlds (AWs) remains somewhat elusive, "
-"as it is more of an abstract concept that has yet to be fully crystallized. "
-"Lattice first [introduced](https://0xparc.org/blog/autonomous-worlds) the "
-"terminology in 2022, but the notion of open worlds operating on the "
-"blockchain has been around for a while. The abstraction introduced by MUD "
-"served as a catalyst for the market to recognize the potential of these "
-"worlds."
-msgstr ""
-"La definición precisa de Autonomous Worlds (AWs) sigue siendo algo difícil de "
-"alcanzar, ya que es más bien un concepto abstracto que aún no se ha "
-"cristalizado por completo. Lattice [introdujo](https://0xparc.org/blog/"
-"autonomous-worlds) la terminología por primera vez en 2022, pero la noción "
-"de Worlds abiertos operando en blockchain existe desde hace un tiempo. La "
-"abstracción introducida por la MUD sirvió de catalizador para que el mercado "
-"reconociera el potencial de estos Worlds."
-
-#: src/theory/autonomous-worlds.md:7
-msgid ""
-"Autonomous Worlds share notable similarities with blockchains in their "
-"fundamental nature. Once established, they persist, maintaining their state "
-"throughout the lifespan of the chain. Players can join or leave, and "
-"developers can expand these worlds by deploying features in a permissionless "
-"manner, much like how contracts are added to a chain. While there is no "
-"universally accepted definition for an Autonomous World, we believe that a "
-"game must possess at least the following two essential features to be "
-"considered as such:"
-msgstr ""
-"Los Autonomous Worlds comparten similitudes destacadas con las cadenas de "
-"bloques en su naturaleza fundamental. Una vez establecidos, persisten y "
-"mantienen su estado a lo largo de la vida útil de la cadena. Los jugadores "
-"pueden unirse o salir, y los desarrolladores pueden ampliar estos Worlds "
-"desplegando características de manera sin permisos, de manera similar a cómo "
-"se añaden contratos a una cadena. Aunque no existe una definición "
-"universalmente aceptada para un Autonomous Worlds, creemos que un juego debe "
-"poseer al menos las siguientes dos características esenciales para ser "
-"considerado como tal:"
-
-#: src/theory/autonomous-worlds.md:9
-msgid ""
-"1. Decentralized data availability layer: While the state execution may "
-"reside on a centralized layer, it is crucial that the state can be "
-"reconstructed if the execution layer ceases to exist. Rollups offer a "
-"solution, providing increased capacity execution layers while ensuring data "
-"is permanently settled on Ethereum. This guarantees the world's perpetual "
-"persistence.\n"
-"\n"
-"2. Permissionless entry point for expanding the world: The World contract "
-"must be capable of accepting new systems and components without requiring "
-"permission. While this doesn't imply that every component and system will be "
-"utilized, they must adhere to this pattern, ensuring open and unrestricted "
-"access for potential enhancements."
-msgstr ""
-"1. Capa de disponibilidad de datos descentralizada: Si bien la ejecución del "
-"estado puede residir en una capa centralizada, es crucial que el estado "
-"pueda reconstruirse si la capa de ejecución deja de existir. Los rollups "
-"ofrecen una solución que proporciona capas de ejecución de mayor capacidad y "
-"al mismo tiempo garantiza que los datos se establezcan permanentemente en "
-"Ethereum. Esto garantiza la persistencia perpetua del World.\n"
-"\n"
-"2. Punto de entrada permissionless para expandir el World: El contrato del "
-"World debe ser capaz de aceptar nuevos Systems y componentes sin necesidad "
-"de permiso. Si bien esto no implica que se utilizarán todos los componentes "
-"y Systems, deben cumplir con este patrón, garantizando un acceso abierto y "
-"sin restricciones para posibles mejoras."
-
-#: src/theory/autonomous-worlds.md:13
-msgid ""
-"We're firm believers in the potential for Autonomous Worlds to catalyze the "
-"exploration of novel forms in the medium provided by zk proofs and "
-"blockchain technology. This is not only about games, but also about new "
-"forms of artwork, coordination, fun, emerging from tinkering and radical "
-"innovation, eventually questioning the very notion of \"play\" in this brave "
-"new decentralized and trustless world."
-msgstr ""
-"Creemos firmemente en el potencial de los Autonomous Worlds para catalizar la "
-"exploración de formas novedosas en el medio proporcionado por las pruebas zk "
-"y la tecnología blockchain. No se trata sólo de juegos, sino también de "
-"nuevas formas de arte, coordinación y diversión que surgen de la innovación "
-"radical y los retoques, y que eventualmente cuestionan la noción misma de "
-"\"jugar\" en este nuevo y valiente World descentralizado y sin confianza."
-
-#: src/theory/autonomous-worlds.md:15
-msgid "### Homework"
-msgstr "### Tarea"
-
-#: src/theory/autonomous-worlds.md:16
-msgid ""
-"- [Wired - Autonomous Worlds Primer](https://www.wired.com/story/autonomous-"
-"worlds-aim-to-free-online-games-from-corporate-control/)\n"
-"- [0xParc - Autonomous Worlds (Part 1)](https://0xparc.org/blog/autonomous-"
-"worlds)\n"
-"- [Gubsheep - The Strongest Crypto Gaming Thesis](https://gubsheep.substack."
-"com/p/the-strongest-crypto-gaming-thesis)\n"
-"- [Lattice - MUD: An engine for Autonomous Worlds](https://lattice.xyz/blog/"
-"mud-an-engine-for-autonomous-worlds)\n"
-"- [Guiltygyoza - Game 2.0](https://www.guiltygyoza.xyz/2022/07/game2)\n"
-"- [Guiltygyoza - Composable Engineering](https://www.guiltygyoza.xyz/2023/05/"
-"composable-engineering)\n"
-"- [Jay Springett - Wind-up Worlds](https://www.thejaymo.net/2022/05/06/wind-"
-"up-worlds/)\n"
-"- [Are.na collection on Autonomous Worlds](https://www.are.na/sylve-chevet/"
-"on-chain-realities-and-autonomous-worlds)"
-msgstr ""
-"- [Wired - Autonomous Worlds Primer](https://www.wired.com/story/autonomous-"
-"worlds-aim-to-free-online-games-from-corporate-control/)\n"
-"- [0xParc - Autonomous Worlds (Part 1)](https://0xparc.org/blog/autonomous-"
-"worlds)\n"
-"- [Gubsheep - The Strongest Crypto Gaming Thesis](https://gubsheep.substack."
-"com/p/the-strongest-crypto-gaming-thesis)\n"
-"- [Lattice - MUD: An engine for Autonomous Worlds](https://lattice.xyz/blog/"
-"mud-an-engine-for-autonomous-worlds)\n"
-"- [Guiltygyoza - Game 2.0](https://www.guiltygyoza.xyz/2022/07/game2)\n"
-"- [Guiltygyoza - Composable Engineering](https://www.guiltygyoza.xyz/2023/05/"
-"composable-engineering)\n"
-"- [Jay Springett - Wind-up Worlds](https://www.thejaymo.net/2022/05/06/wind-"
-"up-worlds/)\n"
-"- [Are.na collection on Autonomous Worlds](https://www.are.na/sylve-chevet/"
-"on-chain-realities-and-autonomous-worlds)"
-
-#: src/theory/cairo.md:1
-msgid "# Provable games"
-msgstr "# Juegos probables"
-
-#: src/theory/cairo.md:3
-msgid ""
-"Provable games demand [zero-knowledge](https://ethereum.org/en/zero-"
-"knowledge-proofs/) properties for efficient scaling and verification of "
-"computations. [Cairo](https://book.starknet.io/chapter_1/what_is_cairo.html) "
-"addresses this need by providing a generalized language, eliminating the "
-"complexity of creating circuits to incorporate [SNARKs](https://consensys."
-"net/blog/developers/introduction-to-zk-snarks/). "
-msgstr ""
-"Los Provable games requieren propiedades de [zero-knowledge](https://"
-"ethereum.org/en/zero-knowledge-proofs/)(ZK) para una escalabilidad eficiente "
-"y verificación de cálculos. [Cairo](https://book.starknet.io/chapter_1/"
-"what_is_cairo.html) aborda esta necesidad proporcionando un lenguaje "
-"generalizado, eliminando la complejidad de crear circuitos para incorporar "
-"[SNARKs](https://consensys.net/blog/developers/introduction-to-zk-snarks/). "
-
-#: src/theory/cairo.md:5
-msgid ""
-"**You can simply program in Cairo and your applications become automatically "
-"provable**. "
-msgstr ""
-"**Puedes simplemente programar en Cairo y tus aplicaciones se vuelven "
-"automáticamente demostrables**. "
-
-#: src/theory/cairo.md:7
-msgid ""
-"Moreover, you can deploy your programs on the [Cairo Virtual Machine]"
-"(https://medium.com/starkware/cairo-welcome-on-board-1cf3487554f) (CVM), "
-"which is compatible with Starknet's Layer 2, Starknet appchains, and even in-"
-"browser through WebAssembly (WASM)! Dojo aims to supply straightforward ZK "
-"primitives to fuel your game development."
-msgstr ""
-"Además, puede implementar sus programas en la [Máquina Virtual de Cairo]"
-"(https://medium.com/starkware/cairo-welcome-on-board-1cf3487554f) (CVM), que "
-"es compatible con la Capa 2 de Starknet, las cadenas de aplicaciones de "
-"Starknet, ¡E incluso en el navegador a través de WebAssembly (WASM)! Dojo "
-"tiene como objetivo proporcionar primitivas ZK sencillas para impulsar el "
-"desarrollo de su juego."
-
-#: src/theory/cairo.md:9
-msgid ""
-"For more information about Starknet, Cairo and its tech stack, check out the "
-"[Starknet & Cairo book](https://book.starknet.io/)."
-msgstr ""
-"Para obtener más información sobre Starknet, Cairo y su stack tecnológico, "
-"visita el [libro de Starknet y Cairo](https://book.starknet.io/)."
-
-#: src/theory/cairo.md:11
-msgid "## Cairo"
-msgstr "## Cairo"
-
-#: src/theory/cairo.md:13
-msgid ""
-"Cairo is an open-source, Turing-complete smart contract language developed "
-"by Starkware, designed to power the Validity Rollup Starknet. The language "
-"enables highly expressive and verifiable computation, making it well-suited "
-"for building scalable and secure applications, including decentralized "
-"finance (DeFi) projects."
-msgstr ""
-"Cairo es un lenguaje de smart contract de código abierto y Turing "
-"completo, desarrollado por Starkware, diseñado para impulsar el Validity "
-"Rollup Starknet. El lenguaje permite una computación altamente expresiva y "
-"verificable, lo que lo hace adecuado para construir aplicaciones escalables "
-"y seguras, incluidos proyectos de finanzas descentralizadas (DeFi)"
-
-#: src/theory/cairo.md:15
-msgid ""
-"Dojo builds on Cairo to create a robust framework for developing Autonomous "
-"Worlds (AWs). By leveraging the capabilities of Cairo, Dojo aims to "
-"streamline the development process, improve maintainability, and enhance the "
-"performance of AWs."
-msgstr ""
-"Dojo se basa en Cairo al crear un framework para desarrollar Autonomous "
-"Worlds (AWs). Al aprovechar las capacidades de Cairo, Dojo tiene como "
-"objetivo agilizar el proceso de desarrollo, mejorar la mantenibilidad y "
-"mejorar el rendimiento de AWs."
-
-#: src/theory/cairo.md:17
-msgid ""
-"A key feature of the Dojo framework is its use of [commands](../cairo/"
-"commands.md). Commands are a design pattern that helps to reduce boilerplate "
-"code, resulting in cleaner and more maintainable applications. They achieve "
-"this by encapsulating specific actions or operations within self-contained, "
-"reusable units."
-msgstr ""
-"Una característica clave del framework Dojo es el uso de [comandos](../cairo/"
-"commands.md). Los comandos son un patrón de diseño que ayuda a reducir el "
-"código repetitivo, dando lugar a aplicaciones más limpias y fáciles de "
-"mantener. Esto se consigue encapsulando acciones u operaciones específicas "
-"en unidades autocontenidas y reutilizables."
-
-#: src/theory/cairo.md:19
-msgid ""
-"Developers can write commands freely within Systems, and the Cairo compiler "
-"takes care of inlining the appropriate functions. "
-msgstr ""
-"Los desarrolladores pueden escribir comandos libremente dentro de los "
-"Systems, y el compilador de Cairo se encarga de enlazar las funciones "
-"apropiadas. "
-
-#: src/theory/cairo.md:21
-msgid "#### Essential Reading"
-msgstr "#### Lectura Esencial"
-
-#: src/theory/cairo.md:22
-msgid ""
-"- [Cairo book](https://cairo-book.github.io/)\n"
-"- [Awesome Cairo](https://github.com/auditless/awesome-cairo)\n"
-"- [Starknet Book](https://book.starknet.io/)"
-msgstr ""
-"- [Cairo book](https://cairo-book.github.io/)\n"
-"- [Awesome Cairo](https://github.com/auditless/awesome-cairo)\n"
-"- [Starknet Book](https://book.starknet.io/)"
-
-#: src/theory/cairo.md:26
-msgid "### Starknet as an L2"
-msgstr "### Starknet como una L2"
-
-#: src/theory/cairo.md:28
-msgid ""
-"Starknet is a Validity Rollup Layer 2 (L2) solution designed to scale "
-"Ethereum. It operates by offering high transaction throughput and low gas "
-"costs while maintaining the same level of security as Ethereum Layer 1 (L1). "
-"The strategy it uses is akin to solving a sudoku puzzle: verifying a "
-"solution is easier than finding the solution from scratch. Similarly, "
-"Starknet replaces heavy and costly L1 computation with cheaper L1 "
-"verification through the use of STARK proofs computed off-chain."
-msgstr ""
-"Starknet es una solución de Capa 2 (L2) de Validity Rollup diseñada para "
-"escalar Ethereum. Opera ofreciendo una alta capacidad de transacciones y "
-"bajos costos de gas, manteniendo el mismo nivel de seguridad que Ethereum "
-"Capa 1 (L1). La estrategia que utiliza es similar a resolver un rompecabezas "
-"Sudoku: verificar una solución es más fácil que encontrar la solución desde "
-"cero. De manera similar, Starknet reemplaza la computación pesada y costosa "
-"en L1 con una verificación más económica en L1 mediante el uso de pruebas "
-"STARK calculadas fuera de la cadena."
-
-#: src/theory/cairo.md:30
-msgid ""
-"In more technical terms, Starknet is a permissionless Validity-Rollup (also "
-"known as a \"ZK-Rollup\") that supports general computation and currently "
-"runs as an L2 network over Ethereum. The network's L1 security is guaranteed "
-"by its utilization of the STARK cryptographic proof system, which is "
-"considered one of the safest and most scalable."
-msgstr ""
-"En términos más técnicos, Starknet es un Validity Rollup sin permisos "
-"(también conocido como \"ZK-Rollup\") que admite computación general y "
-"actualmente funciona como una red L2 sobre Ethereum. La seguridad de la red "
-"L1 está garantizada por su utilización del sistema de prueba criptográfica "
-"STARK, que se considera uno de los más seguros y escalables."
-
-#: src/theory/cairo.md:32
-msgid "### Starknet as an Appchain"
-msgstr "### Starknet como una Appchain"
-
-#: src/theory/cairo.md:34
-msgid ""
-"Cairo is an isomorphic, general-purpose language, optimized for Zero-"
-"Knowledge (ZK) proofs. It's the driving force behind Starknet, Starkex, and "
-"appchains. Remarkably, you can also run it in WebAssembly (WASM) to generate "
-"proofs on the client-side! The Dojo team is working closely with the [Madara]"
-"(https://github.com/keep-starknet-strange/madara) team to enable Starknet "
-"appchains to seamlessly run Dojo worlds."
-msgstr ""
-"Cairo es un lenguaje isomórfico de propósito general, optimizado para "
-"pruebas de conocimiento cero (ZK). Es la fuerza impulsora detrás de "
-"Starknet, Starkex y las appchains. Sorprendentemente, también se puede "
-"ejecutar en WebAssembly (WASM) para generar pruebas en el lado del cliente! "
-"El equipo de Dojo está trabajando en estrecha colaboración con el equipo de "
-"[Madara](https://github.com/keep-starknet-strange/madara) para permitir que "
-"las appchains de Starknet ejecuten sin problemas los Worlds de Dojo."
-
-#: src/theory/faqs.md:1
-msgid "# FAQs"
-msgstr "# Preguntas Frecuentes"
-
-#: src/theory/faqs.md:3
-msgid "#### Who owns Dojo?"
-msgstr "#### ¿Quién es el propietario de Dojo?"
-
-#: src/theory/faqs.md:5
-msgid ""
-"Dojo is strictly open-source and uses the Apache 2.0 license. Anyone can use "
-"Dojo for free, and anyone can contribute to the project."
-msgstr ""
-"Dojo es estrictamente open-source y utiliza la licencia Apache 2.0. "
-"Cualquiera puede utilizar Dojo de forma gratuita, y cualquiera puede "
-"contribuir al proyecto."
-
-#: src/theory/faqs.md:7
-msgid "#### Why Dojo?"
-msgstr "### ¿Por qué Dojo?"
-
-#: src/theory/faqs.md:9
-msgid ""
-"Dojo was created to solve problems the founders faced when building onchain "
-"games. It standardizes the process of building such games and provides a "
-"suite of tools to make it easier."
-msgstr ""
-"Dojo se creó para resolver los problemas a los que se enfrentaban sus "
-"fundadores a la hora de crear juegos on-chain. Estandariza el proceso de "
-"creación de este tipo de juegos y ofrece un conjunto de herramientas para "
-"facilitarlo."
-
-#: src/theory/faqs.md:11
-msgid "#### What is the Dojo roadmap?"
-msgstr "#### ¿Cuál es el roadmap de Dojo?"
-
-#: src/theory/faqs.md:13
-msgid ""
-"Dojo is rapidly evolving. You can find open issues on the [Dojo Github]"
-"(https://github.com/dojoengine/dojo/issues) and join the [Discord](https://"
-"discord.gg/vUN4Xq9Qv6) to get involved. If you have ideas for the project, "
-"please open an issue."
-msgstr ""
-"Dojo evoluciona rápidamente. Puedes encontrar temas abiertos en [Dojo Github]"
-"(https://github.com/dojoengine/dojo/issues) y unirte a [Discord](https://"
-"discord.gg/vUN4Xq9Qv6) para participar. Si tienes ideas para el proyecto, "
-"abre una incidencia."
-
-#: src/theory/faqs.md:15
-msgid "#### What is an onchain game?"
-msgstr "#### ¿Qué es un juego onchain?"
-
-#: src/theory/faqs.md:17
-msgid ""
-"Onchain games are games that exist entirely on a public blockchain network; "
-"all states and logic are onchain. Clients (like web browsers) do not exist "
-"on the chain but exist purely to interact with and interpret the onchain "
-"state."
-msgstr ""
-"Los juegos onchain son juegos que existen enteramente en una red pública "
-"blockchain; todos los estados y la lógica son onchain. Los clientes (como "
-"los navegadores web) no existen en la cadena, sino únicamente para "
-"interactuar con el estado onchain e interpretarlo."
-
-#: src/theory/faqs.md:19
-msgid "#### What is an autonomous world?"
-msgstr "#### ¿Qué es un Autonomous Worlds?"
-
-#: src/theory/faqs.md:21
-msgid ""
-"An autonomous world is one that exists entirely onchain. It's not controlled "
-"by any single entity but is instead governed by the rules set within that "
-"world. Dive deeper into the topic here: [Autonomous Worlds](../theory/"
-"autonomous-worlds.md)."
-msgstr ""
-"Un Autonomous Worlds es aquel que existe completamente on chain. No está "
-"controlado por ninguna entidad única, sino que se rige por las reglas "
-"establecidas dentro de ese World. Profundice en el tema aquí: [Autonomous "
-"Worlds](../theory/autonomous-worlds.md)."
-
-#: src/theory/faqs.md:23
-msgid "#### What is Cairo?"
-msgstr "#### ¿Qué es Cairo?"
-
-#: src/theory/faqs.md:25
-msgid ""
-"Cairo is an opensource programming language invented by Starkware. It's a "
-"Turing-complete language meant for general-purpose computation. It's a low-"
-"level language designed to compile to the Cairo Virtual Machine. Learn more "
-"about it here: [Cairo](../theory/cairo.md)."
-msgstr ""
-"Cairo es un lenguaje de programación de código abierto inventado por "
-"Starkware. Es un lenguaje Turing-completo pensado para computación de "
-"propósito general. Es un lenguaje de bajo nivel diseñado para compilar en la "
-"máquina virtual Cairo. Más información aquí: [Cairo](../theory/cairo.md)."
-
-#: src/theory/faqs.md:27
-msgid "#### What is a provable game?"
-msgstr "#### ¿Qué es un provable game?"
-
-#: src/theory/faqs.md:29
-msgid ""
-"Thanks to the magic of zero-knowledge proofs, we can ensure a game is fair "
-"by verifying a zk proof created off-chain. But what does that entail? "
-"Consider a game of chess. We aim for an experience where players trust each "
-"other's moves. In a straightforward approach — and given the simple rules of "
-"chess — if this were in a blockchain environment, every move would be a "
-"transaction on the blockchain. This is costly. We just want to know the "
-"winner, not every move."
-msgstr ""
-"Gracias a la magia de las zero-knowledge proofs, podemos asegurarnos de que "
-"un juego es justo verificando una prueba zk creada fuera de la cadena. Pero, "
-"¿qué implica eso? Pensemos en una partida de ajedrez. Nuestro objetivo es "
-"que los jugadores confíen en las jugadas de los demás. En un enfoque directo "
-"— y dadas las sencillas reglas del ajedrez — si esto fuera en un entorno de "
-"cadena de bloques, cada jugada sería una transacción en la cadena de "
-"bloques. Esto es costoso. Sólo queremos saber quién es el ganador, no cada "
-"jugada."
-
-#: src/theory/faqs.md:31
-msgid ""
-"With zk proofs and client communications, players can establish a state "
-"channel, sharing moves off-chain and ensuring their validity. At the end, a "
-"zk proof can be submitted to the blockchain to confirm the game's fairness. "
-"This constitutes a provable game."
-msgstr ""
-"Con las pruebas zk y las comunicaciones cliente, los jugadores pueden "
-"establecer un canal de estado, compartiendo movimientos fuera de la cadena y "
-"garantizando su validez. Al final, se puede enviar una prueba zk a la cadena "
-"de bloques para confirmar la equidad del juego. Esto constituye un provable "
-"game."
-
-#: src/getting-started/quick-start.md:1
-msgid "## Quick Start"
-msgstr "## Inicio Rápido"
-
-#: src/getting-started/quick-start.md:3
-msgid ""
-"> It is worth reading [theory](../theory/autonomous-worlds.md) to "
-"familiarize yourself with the concept of Autonomous Worlds (AWs) and the "
-"[Cairo ecosystem](../theory/cairo.md) before diving into the code."
-msgstr ""
-"> Merece la pena leer [teoría](../theory/autonomous-worlds.md) para "
-"familiarizarse con el concepto de Autonomous Worlds (AWs) y el [ecosistema de "
-"Cairo](../theory/cairo.md) antes de sumergirse en el código."
-
-#: src/getting-started/quick-start.md:6
-msgid "### Install Dojoup"
-msgstr "### Instalando Dojoup"
-
-#: src/getting-started/quick-start.md:8
-msgid ""
-"Dojo is built around a set of development tools - Katana, Torii and Sozo. "
-"Install them all easily with Dojoup. You can find detailed information about "
-"Dojoup [here](https://github.com/dojoengine/dojo/blob/master/dojoup/README."
-"md)."
-msgstr ""
-"Dojo está construido alrededor de un conjunto de herramientas de desarrollo "
-"- Katana, Torii y Sozo. Instálalas todas fácilmente con Dojoup. Puedes "
-"encontrar información detallada sobre Dojoup [aquí](https://github.com/"
-"dojoengine/dojo/blob/master/dojoup/README.md)."
-
-#: src/getting-started/quick-start.md:10 src/toolchain/dojoup.md:7
-msgid ""
-"```sh\n"
-"curl -L https://install.dojoengine.org | bash\n"
-"```"
-msgstr ""
-"```sh\n"
-"curl -L https://install.dojoengine.org | bash\n"
-"```"
-
-#: src/getting-started/quick-start.md:14
-msgid ""
-"This will install Dojoup, then simply follow the instructions on-screen,\n"
-"which will make the `dojoup` command available in your CLI."
-msgstr ""
-"Esto instalará Dojoup, luego simplemente sigue las instrucciones que "
-"aparecen en pantalla,\n"
-"lo que hará que el comando `dojoup` esté disponible en tu línea de comandos "
-"(CLI)."
-
-#: src/getting-started/quick-start.md:17 src/toolchain/dojoup.md:15
-msgid ""
-"```sh\n"
-"dojoup\n"
-"```"
-msgstr ""
-"```sh\n"
-"dojoup\n"
-"```"
-
-#: src/getting-started/quick-start.md:21
-msgid ""
-"For full `dojoup` reference and debugging see [Dojoup](../toolchain/dojoup."
-"md)."
-msgstr ""
-"Para una referencia completa y depuración de `dojoup` ver [Dojoup](../"
-"toolchain/dojoup.md)."
-
-#: src/getting-started/quick-start.md:23
-msgid "### Next steps"
-msgstr "### Próximos Pasos"
-
-#: src/getting-started/quick-start.md:25
-msgid ""
-"> Head to [Hello Dojo](../cairo/hello-dojo.md) to get create your first Dojo "
-"world."
-msgstr ""
-"> Dirígete a [Hello Dojo](../cairo/hello-dojo.md) para crear tu primer World "
-"Dojo."
-
-#: src/getting-started/from-source.md:1
-msgid "## Building from source"
-msgstr "## Construyendo desde el origen"
-
-#: src/getting-started/from-source.md:3
-msgid ""
-"> If you are just wanting to play with the toolchain, we strongly suggest "
-"following the [Quick Start](./quick-start.md) guide."
-msgstr ""
-"> Si sólo quieres jugar con la cadena de herramientas, te recomendamos "
-"encarecidamente que sigas la guía [Quick Start](./quick-start.md)."
-
-#: src/getting-started/from-source.md:5
-msgid "#### Prerequisites"
-msgstr "#### Requisitos Previos"
-
-#: src/getting-started/from-source.md:7
-msgid ""
-"You will need the [Rust](https://rust-lang.org) compiler and Cargo, the Rust "
-"package manager.\n"
-"The easiest way to install both is with [`rustup.rs`](https://rustup.rs/)."
-msgstr ""
-"Necesitarás el compilador de [Rust](https://rust-lang.org) y Cargo, el "
-"gestor de paquetes de Rust.\n"
-"La forma más sencilla de instalar ambos es utilizando [`rustup.rs`](https://"
-"rustup.rs/)."
-
-#: src/getting-started/from-source.md:10
-msgid ""
-"On Windows, you will also need a recent version of [Visual Studio](https://"
-"visualstudio.microsoft.com/downloads/),\n"
-"installed with the \"Desktop Development With C++\" Workloads option."
-msgstr ""
-"En Windows, también necesitarás una versión reciente de [Visual Studio]"
-"(https://visualstudio.microsoft.com/downloads/),\n"
-"instalada con la opción \"Desarrollo de escritorio con C++\" en las cargas "
-"de trabajo."
-
-#: src/getting-started/from-source.md:13
-msgid "#### Building"
-msgstr "#### Construyendo"
-
-#: src/getting-started/from-source.md:15
-msgid "You can either use the different [Dojoup](#using-dojoup) flags:"
-msgstr "Puedes utilizar las diferentes opciones de [Dojoup](#using-dojoup):"
-
-#: src/getting-started/from-source.md:17
-msgid ""
-"```sh\n"
-"dojoup --branch master\n"
-"dojoup --path path/to/dojo\n"
-"```"
-msgstr ""
-"```sh\n"
-"dojoup --branch master\n"
-"dojoup --path path/to/dojo\n"
-"```"
-
-#: src/getting-started/from-source.md:22
-msgid "Or, by using a single Cargo command:"
-msgstr "O bien, utilizando un solo comando de Cargo:"
-
-#: src/getting-started/from-source.md:24
-msgid ""
-"```sh\n"
-"cargo install --git https://github.com/dojoengine/dojo --force sozo katana "
-"torii\n"
-"```"
-msgstr ""
-"```sh\n"
-"cargo install --git https://github.com/dojoengine/dojo --force sozo katana "
-"torii\n"
-"```"
-
-#: src/getting-started/from-source.md:28
-msgid ""
-"Or, by manually building from a local copy of the [Dojo repository](https://"
-"github.com/dojoengine/dojo):"
-msgstr ""
-"O bien, construyendo manualmente desde una copia local del [repositorio de "
-"Dojo](https://github.com/dojoengine/dojo):"
-
-#: src/getting-started/from-source.md:30
-msgid ""
-"```sh\n"
-"# clone the repository\n"
-"git clone https://github.com/dojoengine/dojo.git\n"
-"cd dojo\n"
-"# install Sozo\n"
-"cargo install --path ./crates/sozo --force\n"
-"# install Katana\n"
-"cargo install --path ./crates/katana --force\n"
-"# install Torii\n"
-"cargo install --path ./crates/torii --force\n"
-"```"
-msgstr ""
-"```sh\n"
-"# clone the repository\n"
-"git clone https://github.com/dojoengine/dojo.git\n"
-"cd dojo\n"
-"# install Sozo\n"
-"cargo install --path ./crates/sozo --force\n"
-"# install Katana\n"
-"cargo install --path ./crates/katana --force\n"
-"# install Torii\n"
-"cargo install --path ./crates/torii --force\n"
-"```"
-
-#: src/getting-started/setup.md:1
-msgid "# Development Setup"
-msgstr "# Configuración de Desarrollo"
-
-#: src/getting-started/setup.md:3
-msgid ""
-"> This article is a guide to setting up a development environment for Dojo. "
-"It is not suggested to follow this guide if you are just wanting to play "
-"with the toolchain. We strongly suggest following the [Quick Start](../"
-"getting-started/quick-start.md) guide."
-msgstr ""
-"> Este artículo es una guía para configurar un entorno de desarrollo para "
-"Dojo. No se sugiere seguir esta guía si sólo quieres jugar con la cadena de "
-"herramientas. Sugerimos encarecidamente seguir la guía [Quick Start](../"
-"getting-started/quick-start.md)."
-
-#: src/getting-started/setup.md:5
-msgid "### Prerequisites"
-msgstr "#### Requisitos Previos"
-
-#: src/getting-started/setup.md:7
-msgid ""
-"- Rust\n"
-"- Cairo"
-msgstr ""
-"- Rust\n"
-"- Cairo"
-
-#: src/getting-started/setup.md:12
-msgid "## Guide"
-msgstr "## Guía"
-
-#: src/getting-started/setup.md:14
-msgid "### Clone"
-msgstr "### Clonar"
-
-#: src/getting-started/setup.md:16
-msgid ""
-"```sh\n"
-"git clone https://github.com/dojoengine/dojo.git\n"
-"```"
-msgstr ""
-"```sh\n"
-"git clone https://github.com/dojoengine/dojo.git\n"
-"```"
-
-#: src/getting-started/setup.md:20
-msgid "### Linux & Mac"
-msgstr "### Linux & Mac"
-
-#: src/getting-started/setup.md:22
-msgid "#### 1. Install Rust and Dependencies"
-msgstr "#### 1. Instalar Rust y Dependencias"
-
-#: src/getting-started/setup.md:24
-msgid ""
-"Start by installing Rust and running the test suite to confirm your setup:"
-msgstr ""
-"Comienza instalando Rust y ejecutando el conjunto de pruebas para confirmar "
-"la configuración:"
-
-#: src/getting-started/setup.md:26
-msgid ""
-"```sh\n"
-"rustup override set stable && rustup update && cargo test\n"
-"```"
-msgstr ""
-"```sh\n"
-"rustup override set stable && rustup update && cargo test\n"
-"```"
-
-#: src/getting-started/setup.md:30
-msgid ""
-"> Note: Depending on your Linux distribution, you may need to install "
-"additional dependencies. Make sure to install any suggested or missing "
-"dependencies that arise during the setup process."
-msgstr ""
-"> Nota: Dependiendo de la distribución de Linux que estés usando, es posible "
-"que necesites instalar dependencias adicionales. Asegúrate de instalar todas "
-"las dependencias sugeridas o faltantes que surjan durante el proceso de "
-"configuración."
-
-#: src/getting-started/setup.md:32
-msgid "#### 2. Install Scarb Package Manager"
-msgstr "#### 2. Instalar el Administrador de Paquetes Scarb"
-
-#: src/getting-started/setup.md:34
-msgid ""
-"Next, install the [Scarb](https://docs.swmansion.com/scarb) package manager "
-"by running:"
-msgstr ""
-"Luego, instala el gestor de paquetes [Scarb](https://docs.swmansion.com/"
-"scarb) ejecutando el siguiente comando:"
-
-#: src/getting-started/setup.md:36
-msgid ""
-"```sh\n"
-"curl --proto '=https' --tlsv1.2 -sSf https://docs.swmansion.com/scarb/"
-"install.sh | sh\n"
-"```"
-msgstr ""
-"```sh\n"
-"curl --proto '=https' --tlsv1.2 -sSf https://docs.swmansion.com/scarb/"
-"install.sh | sh\n"
-"```"
-
-#: src/getting-started/setup.md:40
-msgid "#### 3. Add the Cairo 1.0 VSCode Extension"
-msgstr "#### 3. Configura la extensión de Cairo para VSCode"
-
-#: src/getting-started/setup.md:42
-msgid ""
-"Install the [Cairo 1.0](https://marketplace.visualstudio.com/items?"
-"itemName=starkware.cairo1) extension for Visual Studio Code."
-msgstr ""
-"Instale la extensión [Cairo 1.0](https://marketplace.visualstudio.com/items?"
-"itemName=starkware.cairo1) para Visual Studio Code."
-
-#: src/getting-started/setup.md:45
-msgid "### Windows"
-msgstr "### Windows"
-
-#: src/getting-started/setup.md:47 src/getting-started/setup.md:51
-msgid "_Coming soon_"
-msgstr "_Próximamente_"
-
-#: src/getting-started/setup.md:49
-msgid "### Container"
-msgstr "### Contenedor"
-
-#: src/getting-started/contributing.md:1
-msgid "# Contributing to the Core"
-msgstr "# Contribuyendo al Core"
-
-#: src/getting-started/contributing.md:3
-msgid ""
-"Dojo is an open-source project, currently in its early development phase, "
-"and warmly welcomes contributors."
-msgstr ""
-"Dojo es un proyecto de open-source, actualmente en su fase inicial de "
-"desarrollo, y da una calurosa bienvenida a los colaboradores."
-
-#: src/getting-started/contributing.md:5
-msgid "## How to Contribute"
-msgstr "### Formas de Contribuir"
-
-#: src/getting-started/contributing.md:7
-msgid ""
-"Head to the [Github](https://github.com/dojoengine/dojo/issues) for open "
-"issues, if you see an issue that is unassigned, please request in the "
-"comments to be assigned to it. If you have an idea for a new feature, please "
-"create an issue with the `enhancement` tag."
-msgstr ""
-"Dirígete a [Github](https://github.com/dojoengine/dojo/issues) para ver las "
-"incidencias abiertas, si ves una incidencia que no está asignada, por favor "
-"solicita en los comentarios que te la asignen. Si tienes una idea para una "
-"nueva funcionalidad, crea una incidencia con la etiqueta `enhancement`."
-
-#: src/community/get-started.md:1
-msgid "## Get Started"
-msgstr "## Primeros Pasos"
-
-#: src/community/get-started.md:3
-msgid ""
-"- [Community Hub](https://dojoengine.notion.site/Dojo-Engine-Community-Hub-"
-"d316194b998941c48ddf771a4dd5ff08#bcd6a32db1b2406cb6c325f3b700d45a)\n"
-"- [Discord](https://discord.gg/KG9w9BmDrV)\n"
-"- [Twitter](https://twitter.com/dojostarknet)\n"
-"- [Awesome Dojo](https://github.com/dojoengine/awesome-dojo)"
-msgstr ""
-"- [Community Hub](https://dojoengine.notion.site/Dojo-Engine-Community-Hub-"
-"d316194b998941c48ddf771a4dd5ff08#bcd6a32db1b2406cb6c325f3b700d45a)\n"
-"- [Discord](https://discord.gg/KG9w9BmDrV)\n"
-"- [Twitter](https://twitter.com/dojostarknet)\n"
-"- [Awesome Dojo](https://github.com/dojoengine/awesome-dojo)"
-
-#: src/cairo/overview.md:1
-msgid ""
-"> You should have a good understanding of Cairo before proceeding. If you're "
-"unfamiliar with Cairo, we recommend you read the [Cairo documentation]"
-"(https://book.cairo-lang.org/title-page.html) first."
-msgstr ""
-"> Debe tener un buen conocimiento de Cairo antes de continuar. Si no está "
-"familiarizado con El Cairo, le recomendamos que lea primero la "
-"[documentación de El Cairo] (https://book.cairo-lang.org/title-page.html)."
-
-#: src/cairo/overview.md:3
-msgid "## A New Approach to Game Development"
-msgstr "## Un Nuevo Enfoque Para el Desarrollo de Juegos"
-
-#: src/cairo/overview.md:5
-msgid ""
-"Dojo provides an advanced abstraction layer over Cairo, mirroring React's "
-"relationship with JavaScript. Its specialized architecture simplifies game "
-"design and development. By leveraging Dojo, developers can use succinct "
-"commands that transform into comprehensive queries at compile time. This "
-"chapter delves deeper into Dojo's unique architecture."
-msgstr ""
-"Dojo proporciona una capa de abstracción avanzada sobre Cairo, reflejando la "
-"relación de React con JavaScript. Su arquitectura especializada simplifica "
-"el diseño y desarrollo de juegos. Al aprovechar Dojo, los desarrolladores "
-"pueden utilizar comandos concisos que se transforman en consultas completas "
-"en tiempo de compilación. Este capítulo profundiza en la arquitectura única "
-"de Dojo."
-
-#: src/cairo/overview.md:7
-msgid "#### Delving into the Architecture"
-msgstr "#### Profundizando en la Arquitectura"
-
-#: src/cairo/overview.md:9
-msgid ""
-"Dojo efficiently encapsulates boilerplate contracts within the compiler, "
-"letting developers concentrate on the distinct aspects of their game or app."
-msgstr ""
-"Dojo encapsula de manera eficiente contratos repetitivos dentro del "
-"compilador, lo que permite a los desarrolladores concentrarse en los "
-"distintos aspectos de su juego o aplicación."
-
-#: src/cairo/overview.md:11
-msgid "Consider this as the most basic Dojo world setup:"
-msgstr "Considere esto como la configuración de un World Dojo más básica:"
-
-#: src/cairo/overview.md:13
-msgid ""
-"```rust,ignore\n"
-"- src\n"
-" - main.cairo\n"
-" - lib.cairo\n"
-"- Scarb.toml\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-"- src\n"
-" - main.cairo\n"
-" - lib.cairo\n"
-"- Scarb.toml\n"
-"```"
-
-#: src/cairo/overview.md:20
-msgid ""
-"While seemingly simple, behind the scenes Dojo generates foundational "
-"contracts, setting the stage for you to focus purely on data and logic. "
-msgstr ""
-"Si bien parece simple, detrás de escena, Dojo genera contratos "
-"fundamentales, preparando el escenario para que usted se concentre "
-"únicamente en los datos y la lógica. "
-
-#: src/cairo/overview.md:22
-msgid "Lets take a look at the `main.cairo`:"
-msgstr "Echemos un vistazo al `main.cairo`:"
-
-#: src/cairo/overview.md:24
-msgid ""
-"```rust,ignore\n"
-"use dojo::world::{IWorldDispatcher, IWorldDispatcherTrait};\n"
-"use starknet::ContractAddress;\n"
-"\n"
-"// dojo data models\n"
-"#[derive(Model, Copy, Drop, Print, Serde)]\n"
-"struct Position {\n"
-" #[key] // primary key\n"
-" player: ContractAddress,\n"
-" vec: Vec2,\n"
-"}\n"
-"\n"
-"// regular cairo struct\n"
-"#[derive(Copy, Drop, Serde, Print, Introspect)]\n"
-"struct Vec2 {\n"
-" x: u32,\n"
-" y: u32\n"
-"}\n"
-"\n"
-"// interface\n"
-"#[starknet::interface]\n"
-"trait IPlayerActions {\n"
-" fn spawn(self: @TContractState, world: IWorldDispatcher);\n"
-"}\n"
-"\n"
-"// contract\n"
-"#[starknet::contract]\n"
-"mod player_actions {\n"
-" use starknet::{ContractAddress, get_caller_address};\n"
-" use dojo::world::{IWorldDispatcher, IWorldDispatcherTrait};\n"
-" use super::{Position, Vec2};\n"
-" use super::IPlayerActions;\n"
-"\n"
-" // note the is no storage here - it's in the world contract\n"
-" #[storage]\n"
-" struct Storage {}\n"
-"\n"
-" #[external(v0)]\n"
-" impl PlayerActionsImpl of IPlayerActions {\n"
-" // \n"
-" // NOTICE: we pass the world dispatcher as an argument to every "
-"function. \n"
-" // This is how we interact with the world contract.\n"
-" //\n"
-" fn spawn(self: @ContractState, world: IWorldDispatcher) {\n"
-" // get player address\n"
-" let player = get_caller_address();\n"
-"\n"
-" // dojo command - get player position\n"
-" let position = get!(world, player, (Position));\n"
-"\n"
-" // dojo command - set player position\n"
-" set!(world, (Position { player, vec: Vec2 { x: 10, y: 10 } }));\n"
-" }\n"
-" }\n"
-"}\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-"use dojo::world::{IWorldDispatcher, IWorldDispatcherTrait};\n"
-"use starknet::ContractAddress;\n"
-"\n"
-"// dojo data models\n"
-"#[derive(Model, Copy, Drop, Print, Serde)]\n"
-"struct Position {\n"
-" #[key] // primary key\n"
-" player: ContractAddress,\n"
-" vec: Vec2,\n"
-"}\n"
-"\n"
-"// regular cairo struct\n"
-"#[derive(Copy, Drop, Serde, Print, Introspect)]\n"
-"struct Vec2 {\n"
-" x: u32,\n"
-" y: u32\n"
-"}\n"
-"\n"
-"// interface\n"
-"#[starknet::interface]\n"
-"trait IPlayerActions {\n"
-" fn spawn(self: @TContractState, world: IWorldDispatcher);\n"
-"}\n"
-"\n"
-"// contract\n"
-"#[starknet::contract]\n"
-"mod player_actions {\n"
-" use starknet::{ContractAddress, get_caller_address};\n"
-" use dojo::world::{IWorldDispatcher, IWorldDispatcherTrait};\n"
-" use super::{Position, Vec2};\n"
-" use super::IPlayerActions;\n"
-"\n"
-" // note the is no storage here - it's in the world contract\n"
-" #[storage]\n"
-" struct Storage {}\n"
-"\n"
-" #[external(v0)]\n"
-" impl PlayerActionsImpl of IPlayerActions {\n"
-" // \n"
-" // NOTICE: we pass the world dispatcher as an argument to every "
-"function. \n"
-" // This is how we interact with the world contract.\n"
-" //\n"
-" fn spawn(self: @ContractState, world: IWorldDispatcher) {\n"
-" // get player address\n"
-" let player = get_caller_address();\n"
-"\n"
-" // dojo command - get player position\n"
-" let position = get!(world, player, (Position));\n"
-"\n"
-" // dojo command - set player position\n"
-" set!(world, (Position { player, vec: Vec2 { x: 10, y: 10 } }));\n"
-" }\n"
-" }\n"
-"}\n"
-"```"
-
-#: src/cairo/overview.md:81
-msgid "### Breakdown"
-msgstr "### Descomponer"
-
-#: src/cairo/overview.md:83
-msgid "This just a regular Cairo contract, with some specifics."
-msgstr ""
-"Este es sólo un contrato normal y corriente de Cairo, con algunos detalles."
-
-#: src/cairo/overview.md:85
-msgid "#### `Position` struct"
-msgstr "#### Estructura `Position`"
-
-#: src/cairo/overview.md:87
-msgid ""
-"In a Dojo world, state is defined using models. These are structs marked "
-"with the `#[derive(Model)]` attribute, functioning similarly to a keypair "
-"store. The primary key for a model is indicated using the `#[key]` "
-"attribute; for instance, the `player` field serves as the primary key in "
-"this context."
-msgstr ""
-"En un World Dojo, el estado se define mediante Models. Estas son "
-"estructuras marcadas con el atributo `#[derive(Model)]`, que funcionan de "
-"manera similar a un almacén de pares de claves. La clave principal de un "
-"Model se indica mediante el atributo `#[key]`; por ejemplo, el campo "
-"`player` sirve como clave principal en este contexto."
-
-#: src/cairo/overview.md:89
-msgid "Read more about models [here](./models.md)."
-msgstr "Lea más sobre los Models [aquí](./models.md)."
-
-#: src/cairo/overview.md:91
-msgid "#### `spawn` function - a dojo system"
-msgstr "#### Función `spawn`- Un sistema dojo"
-
-#: src/cairo/overview.md:93
-msgid ""
-"In the `spawn` function, take note of the second parameter: the "
-"`IWorldDispatcher` interface. This provides a gateway to the world contract. "
-"By integrating it into the function, it enables the `get!` and `set!` macros "
-"to interface directly with the world contract. "
-msgstr ""
-"En la función `spawn`, tome nota del segundo parámetro: la interfaz "
-"`IWorldDispatcher`. Esto proporciona una puerta de entrada al contrato de "
-"World. Al integrarlo en la función, permite que las macros `get!` y `set!` "
-"interactúen directamente con el contrato World. "
-
-#: src/cairo/overview.md:95
-msgid ""
-"Commands, a significant innovation in Dojo, are further explored [here](./"
-"commands.md)."
-msgstr ""
-"Los comandos, una innovación significativa en Dojo, se exploran más a fondo "
-"[aquí](./commands.md)."
-
-#: src/cairo/overview.md:97
-msgid "#### `#[storage]` attribute"
-msgstr "#### Atributo `#[storage]`"
-
-#: src/cairo/overview.md:99
-msgid ""
-"You will notice there is no storage in the contract. This is because the "
-"storage is in the world contract. You can however use this attribute to "
-"store data in the System contract itself, but we suggest you use the world "
-"contract for storage."
-msgstr ""
-"Notarás que no hay almacenamiento en el contrato. Esto se debe a que el "
-"almacenamiento está en el contrato del World. Sin embargo, puede utilizar "
-"este atributo para almacenar datos en el contrato del sistema, pero le "
-"sugerimos que utilice el contrato de World para el almacenamiento."
-
-#: src/cairo/overview.md:101
-msgid "### High level transaction flow of a world"
-msgstr "### Flujo de transacciones de alto nivel de un World"
-
-#: src/cairo/overview.md:103
-msgid ""
-"To call a Dojo world you invoke a system, which then calls the [world](./"
-"world.md) and does the necessary state changes."
-msgstr ""
-"Para llamar a un World Dojo, se invoca un sistema, que luego llama al [World]"
-"(./world.md) y realiza los cambios de estado necesarios."
-
-#: src/cairo/overview.md:105
-msgid "Dojo World"
-msgstr "Dojo World"
-
-#: src/cairo/world.md:1
-msgid ""
-"> **To think about:** Consider Autonomous Worlds as sovereign blockchains "
-"residing within another blockchain - a nested blockchain, so to speak. Just "
-"as you can deploy contracts onto Ethereum to enhance its functionality, you "
-"can similarly introduce systems into the World contract to enrich its "
-"features. While anyone can contribute to the World, akin to Ethereum, "
-"authorization is required to interact with model state. There is a dedicated "
-"topic to [Authorisation](./authorization.md)."
-msgstr ""
-"> **Para pensar:** Considere los Autonomous Worlds como cadenas de bloques "
-"soberanas que residen dentro de otra cadena de bloques: una cadena de "
-"bloques anidada, por así decirlo. Así como puedes implementar contratos en "
-"Ethereum para mejorar su funcionalidad, también puedes introducir Systems "
-"en el contrato del World para enriquecer sus características. Si bien "
-"cualquiera puede contribuir al World, al igual que Ethereum, se requiere "
-"autorización para interactuar con el estado Model. Hay un tema dedicado a "
-"[Autorización](./autorización.md)."
-
-#: src/cairo/world.md:3
-msgid "## The World Contract"
-msgstr "## El Contrato del World"
-
-#: src/cairo/world.md:5
-msgid ""
-"The world contract functions as a central store for the world models and "
-"systems. Every contract that interacts with the world, must use the world "
-"contract address as the first parameter. This is how the world contract is "
-"able to manage the state of the world."
-msgstr ""
-"El contrato del World funciona como un almacén central para los Models y "
-"Systems mundiales. Todo contrato que interactúe con el World debe utilizar "
-"la dirección del contrato World como primer parámetro. Así es como el "
-"contrato del World puede gestionar el estado del World."
-
-#: src/cairo/world.md:7
-msgid ""
-"Although we suggest strongly to structure your world around an ECS pattern "
-"you are not required to do so. You can simply use the dojo-models as a "
-"keypair store along with the supporting infrastructure."
-msgstr ""
-"Aunque sugerimos encarecidamente estructurar su World en torno a un patrón "
-"ECS, no está obligado a hacerlo. Simplemente puede utilizar los Models dojo "
-"como almacén de pares de claves junto con la infraestructura de soporte."
-
-#: src/cairo/world.md:9
-msgid ""
-"> Dojo core abstracts the world contract away, you do not write it and it is "
-"not meant to be altered when building a world. However, it's important to "
-"understand how it works and how it interacts with the rest of the system."
-msgstr ""
-"> El núcleo del Dojo abstrae el contrato World, no lo escribes y no debe "
-"modificarse al construir un World. Sin embargo, es importante comprender "
-"cómo funciona y cómo interactúa con el resto del sistema."
-
-#: src/cairo/world.md:11
-msgid "### The `uuid()` command"
-msgstr "### El comando `uuid()`"
-
-#: src/cairo/world.md:13
-msgid ""
-"It is often useful to generate unique IDs for entities. The `uuid()` fn can "
-"be used to generate a unique ID."
-msgstr ""
-"A menudo es útil generar IDs únicos para las entidades. La función `uuid()` "
-"puede utilizarse para generar un ID único."
-
-#: src/cairo/world.md:15
-msgid "Use it like this:"
-msgstr "Úsalo así:"
-
-#: src/cairo/world.md:17
-msgid ""
-"```rust,ignore\n"
-"let game_id = world.uuid();\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-"let game_id = world.uuid();\n"
-"```"
-
-#: src/cairo/world.md:22
-msgid "### Full World API"
-msgstr "### Full API World"
-
-#: src/cairo/world.md:24
-msgid ""
-"The world exposes an interface which can be interacted with by any client."
-msgstr ""
-"El World expone una interfaz con la que puede interactuar cualquier cliente."
-
-#: src/cairo/world.md:26
-msgid ""
-"```rust,ignore\n"
-"// World interface\n"
-"#[starknet::interface]\n"
-"trait IWorld {\n"
-" fn component(self: @T, name: felt252) -> ClassHash;\n"
-" fn register_component(ref self: T, class_hash: ClassHash);\n"
-" fn system(self: @T, name: felt252) -> ClassHash;\n"
-" fn register_system(ref self: T, class_hash: ClassHash);\n"
-" fn uuid(ref self: T) -> usize;\n"
-" fn emit(self: @T, keys: Array, values: Span);\n"
-" fn entity(\n"
-" self: @T, component: felt252, keys: Span, offset: u8, "
-"length: usize\n"
-" ) -> Span;\n"
-" fn set_entity(\n"
-" ref self: T, component: felt252, keys: Span, offset: u8, "
-"value: Span\n"
-" );\n"
-" fn entities(\n"
-" self: @T, component: felt252, index: felt252, length: usize\n"
-" ) -> (Span, Span>);\n"
-" fn set_executor(ref self: T, contract_address: ContractAddress);\n"
-" fn executor(self: @T) -> ContractAddress;\n"
-" fn delete_entity(ref self: T, component: felt252, keys: Span);\n"
-" fn origin(self: @T) -> ContractAddress;\n"
-"\n"
-" fn is_owner(self: @T, account: ContractAddress, target: felt252) -> "
-"bool;\n"
-" fn grant_owner(ref self: T, account: ContractAddress, target: felt252);\n"
-" fn revoke_owner(ref self: T, account: ContractAddress, target: "
-"felt252);\n"
-"\n"
-" fn is_writer(self: @T, component: felt252, system: felt252) -> bool;\n"
-" fn grant_writer(ref self: T, component: felt252, system: felt252);\n"
-" fn revoke_writer(ref self: T, component: felt252, system: felt252);\n"
-"}\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-"// World interface\n"
-"#[starknet::interface]\n"
-"trait IWorld {\n"
-" fn component(self: @T, name: felt252) -> ClassHash;\n"
-" fn register_component(ref self: T, class_hash: ClassHash);\n"
-" fn system(self: @T, name: felt252) -> ClassHash;\n"
-" fn register_system(ref self: T, class_hash: ClassHash);\n"
-" fn uuid(ref self: T) -> usize;\n"
-" fn emit(self: @T, keys: Array, values: Span);\n"
-" fn entity(\n"
-" self: @T, component: felt252, keys: Span, offset: u8, "
-"length: usize\n"
-" ) -> Span;\n"
-" fn set_entity(\n"
-" ref self: T, component: felt252, keys: Span, offset: u8, "
-"value: Span\n"
-" );\n"
-" fn entities(\n"
-" self: @T, component: felt252, index: felt252, length: usize\n"
-" ) -> (Span, Span>);\n"
-" fn set_executor(ref self: T, contract_address: ContractAddress);\n"
-" fn executor(self: @T) -> ContractAddress;\n"
-" fn delete_entity(ref self: T, component: felt252, keys: Span);\n"
-" fn origin(self: @T) -> ContractAddress;\n"
-"\n"
-" fn is_owner(self: @T, account: ContractAddress, target: felt252) -> "
-"bool;\n"
-" fn grant_owner(ref self: T, account: ContractAddress, target: felt252);\n"
-" fn revoke_owner(ref self: T, account: ContractAddress, target: "
-"felt252);\n"
-"\n"
-" fn is_writer(self: @T, component: felt252, system: felt252) -> bool;\n"
-" fn grant_writer(ref self: T, component: felt252, system: felt252);\n"
-" fn revoke_writer(ref self: T, component: felt252, system: felt252);\n"
-"}\n"
-"```"
-
-#: src/cairo/systems.md:1
-msgid "## Systems"
-msgstr "## Systems"
-
-#: src/cairo/systems.md:3
-msgid ""
-"> **IMPORTANT:** Before defining your systems, prioritize permissions. Plan "
-"carefully to ensure proper access and security."
-msgstr ""
-"> **IMPORTANTE:** Antes de definir sus Systems, priorice los permisos. "
-"Planifique cuidadosamente para garantizar el acceso y la seguridad adecuados."
-
-#: src/cairo/systems.md:5 src/cairo/models.md:6
-msgid "**_TL;DR_**"
-msgstr "**_TL;DR_**"
-
-#: src/cairo/systems.md:6
-msgid ""
-"- Systems function as contract methods.\n"
-"- Contracts containing Systems gain permissions to write to models.\n"
-"- Systems pass a `world` address as their first parameter unless utilizing "
-"the [`#[dojo::contract]`](#the-dojocontract-decorator) decorator.\n"
-"- Systems engage the world contract to alter models' state.\n"
-"- The world contract is invoked through systems.\n"
-"- Systems ought to be concise and specific.\n"
-"- In most scenarios, systems are stateless."
-msgstr ""
-"- Los Systems funcionan como métodos de contrato.\n"
-"- Los contratos que contienen Systems obtienen permisos para escribir en "
-"Models.\n"
-"- Los Systems pasan una dirección `world` como primer parámetro a menos que "
-"utilicen el decorador [`#[dojo::contract]`](#the-dojocontract-decorator).\n"
-"- Los Systems participan en el contrato World para alterar el estado de los "
-"Models.\n"
-"- El contrato World se invoca a través de Systems.\n"
-"- Los Systems deben ser concisos y específicos.\n"
-"- En la mayoría de los escenarios, los Systems no tienen estado."
-
-#: src/cairo/systems.md:14
-msgid "### What are Systems?"
-msgstr "### ¿Qué son los Systems?"
-
-#: src/cairo/systems.md:16
-msgid ""
-"Within dojo we define systems as functions within a Contract that act on the "
-"world."
-msgstr ""
-"Dentro del dojo definimos Systems como funciones dentro de un Contrato que "
-"actúan sobre el World."
-
-#: src/cairo/systems.md:18
-msgid ""
-"Systems play a pivotal role in your world's logic, directly mutating its "
-"component states. It's important to understand that to enact these "
-"mutations, a system needs explicit permission from the [`models`](./models."
-"md) owner."
-msgstr ""
-"Los Systems desempeñan un papel fundamental en la lógica de su World, "
-"mutando directamente los estados que lo componen. Es importante comprender "
-"que para implementar estas mutaciones, un sistema necesita un permiso "
-"explícito del propietario de [`models`](./models.md)."
-
-#: src/cairo/systems.md:20
-msgid "### System Permissions"
-msgstr "### Permisos del Sistema"
-
-#: src/cairo/systems.md:22
-msgid ""
-"Since the whole contract is giving write access to the model, it is "
-"important to be careful when defining systems. A simple way to think about "
-"it is:"
-msgstr ""
-"Dado que todo el contrato otorga acceso de escritura al Model, es "
-"importante tener cuidado al definir los Systems. Una forma sencilla de "
-"pensarlo es:"
-
-#: src/cairo/systems.md:24
-msgid "System Permissions"
-msgstr "Permisos del Sistema"
-
-#: src/cairo/systems.md:26
-msgid "### System Structure"
-msgstr "### Estructura del Sistema"
-
-#: src/cairo/systems.md:28
-msgid ""
-"Every system function starts with a [`world`](./world.md) address as its "
-"initial parameter. This design permits these functions to alter the world's "
-"state. Notably, this structure also makes systems adaptable and reusable "
-"across multiple worlds!"
-msgstr ""
-"Cada función del sistema comienza con una dirección [`world`](./world.md) "
-"como parámetro inicial. Este diseño permite que estas funciones alteren el "
-"estado del World. En particular, esta estructura también hace que los "
-"Systems sean adaptables y reutilizables en múltiples Worlds"
-
-#: src/cairo/systems.md:30
-msgid ""
-"Let's look at the simplest possible system which mutates the state of the "
-"`Moves` component."
-msgstr ""
-"Veamos el sistema más simple posible que muta el estado del componente "
-"`Moves`."
-
-#: src/cairo/systems.md:32
-msgid ""
-"```rust,ignore\n"
-"#[starknet::contract]\n"
-"mod player_actions {\n"
-" use starknet::{ContractAddress, get_caller_address};\n"
-" use dojo::world::{IWorldDispatcher, IWorldDispatcherTrait};\n"
-" use dojo_examples::components::{Position, Moves, Direction, Vec2};\n"
-" use dojo_examples::utils::next_position;\n"
-" use super::IPlayerActions;\n"
-"\n"
-" // no storage\n"
-" #[storage]\n"
-" struct Storage {}\n"
-"\n"
-" // implementation of the PlayerActions interface\n"
-" #[external(v0)]\n"
-" impl PlayerActionsImpl of IPlayerActions {\n"
-" fn spawn(self: @ContractState, world: IWorldDispatcher) {\n"
-" let player = get_caller_address();\n"
-" let position = get!(world, player, (Position));\n"
-" set!(\n"
-" world,\n"
-" (\n"
-" Moves {\n"
-" player,\n"
-" remaining: 10,\n"
-" last_direction: Direction::None(())\n"
-" }\n"
-" )\n"
-" );\n"
-" }\n"
-" }\n"
-"}\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-"#[starknet::contract]\n"
-"mod player_actions {\n"
-" use starknet::{ContractAddress, get_caller_address};\n"
-" use dojo::world::{IWorldDispatcher, IWorldDispatcherTrait};\n"
-" use dojo_examples::components::{Position, Moves, Direction, Vec2};\n"
-" use dojo_examples::utils::next_position;\n"
-" use super::IPlayerActions;\n"
-"\n"
-" // no storage\n"
-" #[storage]\n"
-" struct Storage {}\n"
-"\n"
-" // implementation of the PlayerActions interface\n"
-" #[external(v0)]\n"
-" impl PlayerActionsImpl of IPlayerActions {\n"
-" fn spawn(self: @ContractState, world: IWorldDispatcher) {\n"
-" let player = get_caller_address();\n"
-" let position = get!(world, player, (Position));\n"
-" set!(\n"
-" world,\n"
-" (\n"
-" Moves {\n"
-" player,\n"
-" remaining: 10,\n"
-" last_direction: Direction::None(())\n"
-" }\n"
-" )\n"
-" );\n"
-" }\n"
-" }\n"
-"}\n"
-"```"
-
-#: src/cairo/systems.md:66
-msgid "## Breaking it down"
-msgstr "## Descomponiéndolo"
-
-#: src/cairo/systems.md:68 src/cairo/hello-dojo.md:157
-msgid "#### System is a contract"
-msgstr "#### El Sistema es un contrato"
-
-#: src/cairo/systems.md:70
-msgid ""
-"As you can see a System is like a regular Starknet contract. It can include "
-"storage, and it can implement interfaces."
-msgstr ""
-"Como puede ver, un sistema es como un contrato normal de Starknet. Puede "
-"incluir almacenamiento y puede implementar interfaces."
-
-#: src/cairo/systems.md:72
-msgid "#### `Spawn` function"
-msgstr "#### Función `Spawn`"
-
-#: src/cairo/systems.md:74
-msgid ""
-"The spawn function is currently the only function that exists in this "
-"system. It is called when a player spawns into the world. It is responsible "
-"for setting up the player's initial state."
-msgstr ""
-"La función de spawn es actualmente la única función que existe en este "
-"sistema. Se llama cuando un jugador aparece en el World. Es responsable de "
-"configurar el estado inicial del jugador."
-
-#: src/cairo/systems.md:76
-msgid "### The `#[dojo::contract]` Decorator"
-msgstr "### El Decorador `# [dojo :: contract]`"
-
-#: src/cairo/systems.md:78
-msgid ""
-"All StarkNet contracts are defined using the `#[starknet::contract]` "
-"decorator, ensuring accurate compilation. In this context, Dojo introduces "
-"the `#[dojo::contract]` decorator, which aims to minimize boilerplate in "
-"contract writing. It’s imperative to acknowledge that utilizing this "
-"decorator is entirely optional."
-msgstr ""
-"Todos los contratos de StarkNet se definen utilizando el decorador "
-"`#[starknet::contract]`, lo que garantiza una compilación precisa. En este "
-"contexto, Dojo presenta el decorador `#[dojo::contract]`, cuyo objetivo es "
-"minimizar el texto repetitivo en la redacción del contrato. Es imperativo "
-"reconocer que utilizar este decorador es completamente opcional."
-
-#: src/cairo/systems.md:80
-msgid ""
-"The `#[dojo::contract]` decorator allows developers to omit including "
-"`world: IWorldDispatcher` as a parameter. Behind the scenes, it injects the "
-"world into the contract and eliminates some imports, thereby streamlining "
-"the development process."
-msgstr ""
-"El decorador `#[dojo::contract]` permite a los desarrolladores omitir "
-"incluir `world: IWorldDispatcher` como parámetro. Entre bastidores, inyecta "
-"el World en el contrato y elimina algunas importaciones, agilizando así el "
-"proceso de desarrollo."
-
-#: src/cairo/systems.md:82
-msgid ""
-"```rust,ignore\n"
-"#[dojo::contract]\n"
-"mod player_actions {\n"
-" use starknet::{ContractAddress, get_caller_address};\n"
-" use dojo_examples::models::{Position, Moves, Direction, Vec2};\n"
-" use dojo_examples::utils::next_position;\n"
-" use super::IPlayerActions;\n"
-"\n"
-" #[event]\n"
-" #[derive(Drop, starknet::Event)]\n"
-" enum Event {\n"
-" Moved: Moved,\n"
-" }\n"
-"\n"
-" #[derive(Drop, starknet::Event)]\n"
-" struct Moved {\n"
-" player: ContractAddress,\n"
-" direction: Direction\n"
-" }\n"
-"\n"
-" // impl: implement functions specified in trait\n"
-" #[external(v0)]\n"
-" impl PlayerActionsImpl of IPlayerActions {\n"
-" // ContractState is defined by system decorator expansion\n"
-" fn spawn(self: @ContractState) {\n"
-" let world = self.world_dispatcher.read();\n"
-" let player = get_caller_address();\n"
-" let position = get!(world, player, (Position));\n"
-" set!(\n"
-" world,\n"
-" (\n"
-" Moves { player, remaining: 10, last_direction: "
-"Direction::None(()) },\n"
-" Position { player, vec: Vec2 { x: 10, y: 10 } },\n"
-" )\n"
-" );\n"
-" }\n"
-"\n"
-" fn move(self: @ContractState, direction: Direction) {\n"
-" let world = self.world_dispatcher.read();\n"
-" let player = get_caller_address();\n"
-" let (mut position, mut moves) = get!(world, player, (Position, "
-"Moves));\n"
-" moves.remaining -= 1;\n"
-" moves.last_direction = direction;\n"
-" let next = next_position(position, direction);\n"
-" set!(world, (moves, next));\n"
-" emit!(world, Moved { player, direction });\n"
-" return ();\n"
-" }\n"
-" }\n"
-"}\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-"#[dojo::contract]\n"
-"mod player_actions {\n"
-" use starknet::{ContractAddress, get_caller_address};\n"
-" use dojo_examples::models::{Position, Moves, Direction, Vec2};\n"
-" use dojo_examples::utils::next_position;\n"
-" use super::IPlayerActions;\n"
-"\n"
-" #[event]\n"
-" #[derive(Drop, starknet::Event)]\n"
-" enum Event {\n"
-" Moved: Moved,\n"
-" }\n"
-"\n"
-" #[derive(Drop, starknet::Event)]\n"
-" struct Moved {\n"
-" player: ContractAddress,\n"
-" direction: Direction\n"
-" }\n"
-"\n"
-" // impl: implement functions specified in trait\n"
-" #[external(v0)]\n"
-" impl PlayerActionsImpl of IPlayerActions {\n"
-" // ContractState is defined by system decorator expansion\n"
-" fn spawn(self: @ContractState) {\n"
-" let world = self.world_dispatcher.read();\n"
-" let player = get_caller_address();\n"
-" let position = get!(world, player, (Position));\n"
-" set!(\n"
-" world,\n"
-" (\n"
-" Moves { player, remaining: 10, last_direction: "
-"Direction::None(()) },\n"
-" Position { player, vec: Vec2 { x: 10, y: 10 } },\n"
-" )\n"
-" );\n"
-" }\n"
-"\n"
-" fn move(self: @ContractState, direction: Direction) {\n"
-" let world = self.world_dispatcher.read();\n"
-" let player = get_caller_address();\n"
-" let (mut position, mut moves) = get!(world, player, (Position, "
-"Moves));\n"
-" moves.remaining -= 1;\n"
-" moves.last_direction = direction;\n"
-" let next = next_position(position, direction);\n"
-" set!(world, (moves, next));\n"
-" emit!(world, Moved { player, direction });\n"
-" return ();\n"
-" }\n"
-" }\n"
-"}\n"
-"```"
-
-#: src/cairo/systems.md:135
-msgid ""
-"> To interact with Systems read more in the [sozo](../toolchain/sozo/"
-"overview.md) docs."
-msgstr ""
-"> Para interactuar con los Systems, lea más en los documentos [sozo](../"
-"toolchain/sozo/overview.md)."
-
-#: src/cairo/models.md:1
-msgid "## Models"
-msgstr "## Models"
-
-#: src/cairo/models.md:3
-msgid "> Models = Data"
-msgstr "> Models = Data"
-
-#: src/cairo/models.md:7
-msgid ""
-"- Models store structured data in your world.\n"
-"- Models are Cairo structs with additional features.\n"
-"- Models can implement traits.\n"
-"- Use the `#[derive(Model)]` decorator to define them.\n"
-"- Custom enums and types are supported.\n"
-"- Define the primary key using the `#[key]` attribute."
-msgstr ""
-"- Los Models almacenan datos estructurados en tu World.\n"
-"- Los Models son estructuras de Cairo con características adicionales.\n"
-"- Los Models pueden implementar traits.\n"
-"- Utilice el decorador `#[derive(Model)]` para definirlos.\n"
-"- Se admiten enumeraciones y tipos personalizados.\n"
-"- Defina la clave principal utilizando el atributo `#[key]`."
-
-#: src/cairo/models.md:14
-msgid "### Models are Structs"
-msgstr "### Los Models son Structs"
-
-#: src/cairo/models.md:16
-msgid ""
-"Models are structs annotated with the `#[derive(Model)]` attribute. Consider "
-"these models as a key-value store, where the `#[key]` attribute is utilized "
-"to define the primary key. While models can contain any number of fields, "
-"adhering to best practices in Entity-Component-System (ECS) design involves "
-"maintaining small, isolated models. This approach fosters modularity and "
-"composability, enabling you to reuse models across various entity types."
-msgstr ""
-"Los Models son estructuras anotadas con el atributo `#[derive(Model)]`. "
-"Considere estos Models como un almacén de valores clave, donde el atributo "
-"`#[key]` se utiliza para definir la clave principal. Si bien los Models "
-"pueden contener cualquier cantidad de campos, cumplir con las mejores "
-"prácticas en el Entity Component System (ECS) implica mantener "
-"Models pequeños y aislados. Este enfoque fomenta la modularidad y la "
-"componibilidad, lo que le permite reutilizar Models en varios tipos de "
-"entidades."
-
-#: src/cairo/models.md:18
-msgid ""
-"```rust,ignore\n"
-"#[derive(Model, Copy, Drop, Serde, SerdeLen)]\n"
-"struct Moves {\n"
-" #[key]\n"
-" player: ContractAddress,\n"
-" remaining: u8,\n"
-"}\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-"#[derive(Model, Copy, Drop, Serde, SerdeLen)]\n"
-"struct Moves {\n"
-" #[key]\n"
-" player: ContractAddress,\n"
-" remaining: u8,\n"
-"}\n"
-"```"
-
-#: src/cairo/models.md:27
-msgid "#### The #[key] attribute"
-msgstr "#### El atributo #[key]"
-
-#: src/cairo/models.md:29
-msgid ""
-"The `#[key]` attribute indicates to Dojo that this model is indexed by the "
-"`player` field. You need to define a key for each model, as this is how you "
-"query the model. However, you can create composite keys by defining multiple "
-"fields as keys. "
-msgstr ""
-"El atributo `#[key]` indica a Dojo que este Model está indexado por el "
-"campo `player`. Debe definir una clave para cada Model, ya que así es como "
-"se consulta el Model. Sin embargo, puede crear claves compuestas definiendo "
-"varios campos como claves. "
-
-#: src/cairo/models.md:31
-msgid ""
-"```rust,ignore\n"
-"#[derive(Model, Copy, Drop, Serde, SerdeLen)]\n"
-"struct Resource {\n"
-" #[key]\n"
-" player: ContractAddress,\n"
-" #[key]\n"
-" location: ContractAddress,\n"
-" balance: u8,\n"
-"}\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-"#[derive(Model, Copy, Drop, Serde, SerdeLen)]\n"
-"struct Resource {\n"
-" #[key]\n"
-" player: ContractAddress,\n"
-" #[key]\n"
-" location: ContractAddress,\n"
-" balance: u8,\n"
-"}\n"
-"```"
-
-#: src/cairo/models.md:42
-msgid ""
-"In this case you then would set the model with both the player and location "
-"fields:"
-msgstr ""
-"En este caso, entonces configurarías el Model con los campos de jugador y "
-"de ubicación:"
-
-#: src/cairo/models.md:44
-msgid ""
-"```rust,ignore\n"
-"set!(\n"
-" world,\n"
-" (\n"
-" Resource {\n"
-" player: caller,\n"
-" location: 12,\n"
-" balance: 10\n"
-" },\n"
-" )\n"
-");\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-"set!(\n"
-" world,\n"
-" (\n"
-" Resource {\n"
-" player: caller,\n"
-" location: 12,\n"
-" balance: 10\n"
-" },\n"
-" )\n"
-");\n"
-"```"
-
-#: src/cairo/models.md:57
-msgid "#### Implementing Traits"
-msgstr "#### Implementación de Traits"
-
-#: src/cairo/models.md:59
-msgid ""
-"Models can implement traits. This is useful for defining common "
-"functionality across models. For example, you may want to define a "
-"`Position` model that implements a `PositionTrait` trait. This trait could "
-"define functions such as `is_zero` and `is_equal` which could be used when "
-"accessing the model."
-msgstr ""
-"Los Models pueden implementar traits. Esto es útil para definir una "
-"funcionalidad común entre Models. Por ejemplo, es posible que desee definir "
-"un Model `Position` que implemente un traits `PositionTrait`. Este traits "
-"podría definir funciones como `is_zero` y `is_equal` que podrían usarse al "
-"acceder al Model."
-
-#: src/cairo/models.md:61
-msgid ""
-"```rust,ignore\n"
-"trait PositionTrait {\n"
-" fn is_zero(self: Position) -> bool;\n"
-" fn is_equal(self: Position, b: Position) -> bool;\n"
-"}\n"
-"\n"
-"impl PositionImpl of PositionTrait {\n"
-" fn is_zero(self: Position) -> bool {\n"
-" if self.x - self.y == 0 {\n"
-" return true;\n"
-" }\n"
-" false\n"
-" }\n"
-"\n"
-" fn is_equal(self: Position, b: Position) -> bool {\n"
-" self.x == b.x && self.y == b.y\n"
-" }\n"
-"}\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-"trait PositionTrait {\n"
-" fn is_zero(self: Position) -> bool;\n"
-" fn is_equal(self: Position, b: Position) -> bool;\n"
-"}\n"
-"\n"
-"impl PositionImpl of PositionTrait {\n"
-" fn is_zero(self: Position) -> bool {\n"
-" if self.x - self.y == 0 {\n"
-" return true;\n"
-" }\n"
-" false\n"
-" }\n"
-"\n"
-" fn is_equal(self: Position, b: Position) -> bool {\n"
-" self.x == b.x && self.y == b.y\n"
-" }\n"
-"}\n"
-"```"
-
-#: src/cairo/models.md:81
-msgid "#### Custom Setting models"
-msgstr "#### Models de Configuración Personalizada"
-
-#: src/cairo/models.md:83
-msgid ""
-"Suppose we need a place to keep a global value with the flexibility to "
-"modify it in the future. Take, for instance, a global `combat_cool_down` "
-"parameter that defines the duration required for an entity to be primed for "
-"another attack. To achieve this, we can craft a model dedicated to storing "
-"this value, while also allowing for its modification via a decentralized "
-"governance model."
-msgstr ""
-"Supongamos que necesitamos un lugar para mantener un valor global con la "
-"flexibilidad de modificarlo en el futuro. Tomemos, por ejemplo, un parámetro "
-"global `combat_cool_down` que define la duración requerida para que una "
-"entidad esté preparada para otro ataque. Para lograr esto, podemos diseñar "
-"un Model dedicado a almacenar este valor y al mismo tiempo permitir su "
-"modificación a través de un Model de gobernanza descentralizada."
-
-#: src/cairo/models.md:85
-msgid ""
-"To establish these models, you'd follow the usual creation method. However, "
-"when initializing them, employ a constant identifier, such as "
-"GAME_SETTINGS_ID."
-msgstr ""
-"Para establecer estos Models, seguirías el método de creación habitual. Sin "
-"embargo, al inicializarlos, emplee un identificador constante, como "
-"GAME_SETTINGS_ID."
-
-#: src/cairo/models.md:87
-msgid ""
-"```rust,ignore\n"
-"const GAME_SETTINGS_ID: u32 = 9999999999999;\n"
-"\n"
-"#[derive(model, Copy, Drop, Serde, SerdeLen)]\n"
-"struct GameSettings {\n"
-" #[key]\n"
-" game_settings_id: u32,\n"
-" combat_cool_down: u32,\n"
-"}\n"
-"``` "
-msgstr ""
-"```rust,ignore\n"
-"const GAME_SETTINGS_ID: u32 = 9999999999999;\n"
-"\n"
-"#[derive(model, Copy, Drop, Serde, SerdeLen)]\n"
-"struct GameSettings {\n"
-" #[key]\n"
-" game_settings_id: u32,\n"
-" combat_cool_down: u32,\n"
-"}\n"
-"``` "
-
-#: src/cairo/models.md:98
-msgid "#### Types"
-msgstr "#### Tipos"
-
-#: src/cairo/models.md:100
-msgid "Support model types:"
-msgstr "Tipos de Models que soporta:"
-
-#: src/cairo/models.md:102
-msgid ""
-"- `u8`\n"
-"- `u16`\n"
-"- `u32`\n"
-"- `u64`\n"
-"- `u128`\n"
-"- `u256`\n"
-"- `ContractAddress`\n"
-"- Enums\n"
-"- Custom Types"
-msgstr ""
-"- `u8`\n"
-"- `u16`\n"
-"- `u32`\n"
-"- `u64`\n"
-"- `u128`\n"
-"- `u256`\n"
-"- `ContractAddress`\n"
-"- Enums\n"
-"- Custom Types"
-
-#: src/cairo/models.md:112
-msgid "It is currently not possible to use Arrays."
-msgstr "Actualmente no es posible utilizar Arrays."
-
-#: src/cairo/models.md:114
-msgid "#### Custom Types + Enums "
-msgstr "#### Tipos Personalizados + Enums "
-
-#: src/cairo/models.md:115 src/cairo/migration/0.3.0.md:27
-msgid ""
-"For models containing complex types, it's crucial to implement the "
-"`SchemaIntrospection` trait."
-msgstr ""
-"Para Models que contienen tipos complejos, es crucial implementar el trait "
-"`SchemaIntrospection`."
-
-#: src/cairo/models.md:117 src/cairo/migration/0.3.0.md:29
-msgid "Consider the model below:"
-msgstr "Considere el siguiente Model:"
-
-#: src/cairo/models.md:119
-msgid ""
-"```rust,ignore\n"
-"struct Card {\n"
-" #[key]\n"
-" token_id: u256,\n"
-" /// The card's designated role.\n"
-" role: Roles,\n"
-"}\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-"struct Card {\n"
-" #[key]\n"
-" token_id: u256,\n"
-" /// The card's designated role.\n"
-" role: Roles,\n"
-"}\n"
-"```"
-
-#: src/cairo/models.md:128 src/cairo/migration/0.3.0.md:41
-msgid ""
-"For complex types, like `Roles` in the above example, you need to implement "
-"`SchemaIntrospection`. Here's how:"
-msgstr ""
-"Para tipos complejos, como `Roles` en el ejemplo anterior, es necesario "
-"implementar `SchemaIntrospection`. Así es cómo:"
-
-#: src/cairo/models.md:130 src/cairo/migration/0.3.0.md:43
-msgid ""
-"```rust,ignore\n"
-"impl RolesSchemaIntrospectionImpl for SchemaIntrospection {\n"
-" #[inline(always)]\n"
-" fn size() -> usize {\n"
-" 1 // Represents the byte size of the enum.\n"
-" }\n"
-"\n"
-" #[inline(always)]\n"
-" fn layout(ref layout: Array) {\n"
-" layout.append(8); // Specifies the layout byte size;\n"
-" }\n"
-"\n"
-" #[inline(always)]\n"
-" fn ty() -> Ty {\n"
-" Ty::Enum(\n"
-" Enum {\n"
-" name: 'Roles',\n"
-" attrs: array![].span(),\n"
-" children: array![\n"
-" ('Goalkeeper', serialize_member_type(@Ty::Tuple(array![]."
-"span()))),\n"
-" ('Defender', serialize_member_type(@Ty::Tuple(array![]."
-"span()))),\n"
-" ('Midfielder', serialize_member_type(@Ty::Tuple(array![]."
-"span()))),\n"
-" ('Attacker', serialize_member_type(@Ty::Tuple(array![]."
-"span()))),\n"
-" ]\n"
-" .span()\n"
-" }\n"
-" )\n"
-" }\n"
-"}\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-"impl RolesSchemaIntrospectionImpl for SchemaIntrospection {\n"
-" #[inline(always)]\n"
-" fn size() -> usize {\n"
-" 1 // Represents the byte size of the enum.\n"
-" }\n"
-"\n"
-" #[inline(always)]\n"
-" fn layout(ref layout: Array) {\n"
-" layout.append(8); // Specifies the layout byte size;\n"
-" }\n"
-"\n"
-" #[inline(always)]\n"
-" fn ty() -> Ty {\n"
-" Ty::Enum(\n"
-" Enum {\n"
-" name: 'Roles',\n"
-" attrs: array![].span(),\n"
-" children: array![\n"
-" ('Goalkeeper', serialize_member_type(@Ty::Tuple(array![]."
-"span()))),\n"
-" ('Defender', serialize_member_type(@Ty::Tuple(array![]."
-"span()))),\n"
-" ('Midfielder', serialize_member_type(@Ty::Tuple(array![]."
-"span()))),\n"
-" ('Attacker', serialize_member_type(@Ty::Tuple(array![]."
-"span()))),\n"
-" ]\n"
-" .span()\n"
-" }\n"
-" )\n"
-" }\n"
-"}\n"
-"```"
-
-#: src/cairo/models.md:161
-msgid "### In practice with modularity in mind"
-msgstr "### En la práctica teniendo en cuenta la modularidad"
-
-#: src/cairo/models.md:163
-msgid ""
-"Consider a tangible analogy: Humans and Goblins. While they possess "
-"intrinsic differences, they share common traits, such as having a position "
-"and health. However, humans possess an additional model. Furthermore, we "
-"introduce a Counter model, a distinct feature that tallies the numbers of "
-"humans and goblins."
-msgstr ""
-"Considere una analogía tangible: Humanos y Duendes. Si bien poseen "
-"diferencias intrínsecas, comparten rasgos comunes, como tener una posición y "
-"salud. Sin embargo, los humanos poseen un Model adicional. Además, "
-"presentamos un Model de contador, una característica distintiva que cuenta "
-"el número de humanos y duendes."
-
-#: src/cairo/models.md:165
-msgid ""
-"```rust,ignore\n"
-"#[derive(Model, Copy, Drop, Serde, SerdeLen)]\n"
-"struct Potions {\n"
-" #[key]\n"
-" entity_id: u32,\n"
-" quantity: u8,\n"
-"}\n"
-"\n"
-"#[derive(Model, Copy, Drop, Serde, SerdeLen)]\n"
-"struct Health {\n"
-" #[key]\n"
-" entity_id: u32,\n"
-" health: u8,\n"
-"}\n"
-"\n"
-"#[derive(Model, Copy, Drop, Serde, SerdeLen)]\n"
-"struct Position {\n"
-" #[key]\n"
-" entity_id: u32,\n"
-" x: u32,\n"
-" y: u32\n"
-"}\n"
-"\n"
-"// Special counter model\n"
-"#[derive(Model, Copy, Drop, Serde, SerdeLen)]\n"
-"struct Counter {\n"
-" #[key]\n"
-" counter: u32,\n"
-" goblin_count: u32,\n"
-" human_count: u32,\n"
-"}\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-"#[derive(Model, Copy, Drop, Serde, SerdeLen)]\n"
-"struct Potions {\n"
-" #[key]\n"
-" entity_id: u32,\n"
-" quantity: u8,\n"
-"}\n"
-"\n"
-"#[derive(Model, Copy, Drop, Serde, SerdeLen)]\n"
-"struct Health {\n"
-" #[key]\n"
-" entity_id: u32,\n"
-" health: u8,\n"
-"}\n"
-"\n"
-"#[derive(Model, Copy, Drop, Serde, SerdeLen)]\n"
-"struct Position {\n"
-" #[key]\n"
-" entity_id: u32,\n"
-" x: u32,\n"
-" y: u32\n"
-"}\n"
-"\n"
-"// Special counter model\n"
-"#[derive(Model, Copy, Drop, Serde, SerdeLen)]\n"
-"struct Counter {\n"
-" #[key]\n"
-" counter: u32,\n"
-" goblin_count: u32,\n"
-" human_count: u32,\n"
-"}\n"
-"```"
-
-#: src/cairo/models.md:198
-msgid ""
-"So the Human will have a `Potions`, `Health` and `Position` model, and the "
-"Goblin will have a `Health` and `Position` model. By doing we save having to "
-"create Health and Position models for each entity type."
-msgstr ""
-"Entonces el Humano tendrá un Model de `Potions`, `Health` y `Position`, y "
-"el Duende tendrá un Model de `Health` y `Position`. Al hacerlo nos "
-"ahorramos tener que crear Models de Salud y Posición para cada tipo de "
-"entidad."
-
-#: src/cairo/models.md:200
-msgid "So then a system would look like this:"
-msgstr "Entonces un sistema quedaría así:"
-
-#: src/cairo/models.md:202
-msgid ""
-"```rust,ignore\n"
-"#[system]\n"
-"mod spawnHuman {\n"
-" use array::ArrayTrait;\n"
-" use box::BoxTrait;\n"
-" use traits::Into;\n"
-" use dojo::world::Context;\n"
-"\n"
-" use dojo_examples::models::Position;\n"
-" use dojo_examples::models::Health;\n"
-" use dojo_examples::models::Potions;\n"
-" use dojo_examples::models::Counter;\n"
-"\n"
-" // we can set the counter value as a const, then query it easily! This "
-"pattern is useful for settins.\n"
-" const COUNTER_ID: u32 = 9999999999999;\n"
-"\n"
-" fn execute(ctx: Context, entity_id: u32) {\n"
-"\n"
-" let counter = get!(world, COUNTER_ID, (Counter));\n"
-"\n"
-" let human_count = counter.human_count + 1;\n"
-" let goblin_count = counter.goblin_count + 1;\n"
-"\n"
-" // spawn a human\n"
-" set!(\n"
-" world,\n"
-" (\n"
-" Health {\n"
-" entity_id: human_count, health: 100\n"
-" }, \n"
-" Position {\n"
-" entity_id: human_count, x: position.x + 10, y: position."
-"y + 10,\n"
-" }, \n"
-" Potions {\n"
-" entity_id: human_count, quantity: 10\n"
-" \n"
-" },\n"
-" )\n"
-" );\n"
-"\n"
-" // spawn a goblin\n"
-" set!(\n"
-" world,\n"
-" (\n"
-" Health {\n"
-" entity_id: goblin_count, health: 100\n"
-" }, \n"
-" Position {\n"
-" entity_id: goblin_count, x: position.x + 10, y: position."
-"y + 10,\n"
-" },\n"
-" )\n"
-" );\n"
-"\n"
-" // increment the counter\n"
-" set!(\n"
-" world,\n"
-" (\n"
-" Counter {\n"
-" counter: COUNTER_ID, human_count: human_count, "
-"goblin_count: goblin_count\n"
-" },\n"
-" )\n"
-" );\n"
-" \n"
-" return ();\n"
-" }\n"
-"}\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-"#[system]\n"
-"mod spawnHuman {\n"
-" use array::ArrayTrait;\n"
-" use box::BoxTrait;\n"
-" use traits::Into;\n"
-" use dojo::world::Context;\n"
-"\n"
-" use dojo_examples::models::Position;\n"
-" use dojo_examples::models::Health;\n"
-" use dojo_examples::models::Potions;\n"
-" use dojo_examples::models::Counter;\n"
-"\n"
-" // we can set the counter value as a const, then query it easily! This "
-"pattern is useful for settins.\n"
-" const COUNTER_ID: u32 = 9999999999999;\n"
-"\n"
-" fn execute(ctx: Context, entity_id: u32) {\n"
-"\n"
-" let counter = get!(world, COUNTER_ID, (Counter));\n"
-"\n"
-" let human_count = counter.human_count + 1;\n"
-" let goblin_count = counter.goblin_count + 1;\n"
-"\n"
-" // spawn a human\n"
-" set!(\n"
-" world,\n"
-" (\n"
-" Health {\n"
-" entity_id: human_count, health: 100\n"
-" }, \n"
-" Position {\n"
-" entity_id: human_count, x: position.x + 10, y: position."
-"y + 10,\n"
-" }, \n"
-" Potions {\n"
-" entity_id: human_count, quantity: 10\n"
-" \n"
-" },\n"
-" )\n"
-" );\n"
-"\n"
-" // spawn a goblin\n"
-" set!(\n"
-" world,\n"
-" (\n"
-" Health {\n"
-" entity_id: goblin_count, health: 100\n"
-" }, \n"
-" Position {\n"
-" entity_id: goblin_count, x: position.x + 10, y: position."
-"y + 10,\n"
-" },\n"
-" )\n"
-" );\n"
-"\n"
-" // increment the counter\n"
-" set!(\n"
-" world,\n"
-" (\n"
-" Counter {\n"
-" counter: COUNTER_ID, human_count: human_count, "
-"goblin_count: goblin_count\n"
-" },\n"
-" )\n"
-" );\n"
-" \n"
-" return ();\n"
-" }\n"
-"}\n"
-"```"
-
-#: src/cairo/models.md:270
-msgid ""
-"> A complete example can be found in the [Dojo Starter](https://github.com/"
-"dojoengine/dojo-starter)"
-msgstr ""
-"> Puede encontrar un ejemplo completo en [Dojo Starter](https://github.com/"
-"dojoengine/dojo-starter)"
-
-#: src/cairo/commands.md:1
-msgid "## Commands"
-msgstr "## Comandos"
-
-#: src/cairo/commands.md:3
-msgid "_tldr_"
-msgstr "_tldr_"
-
-#: src/cairo/commands.md:4
-msgid ""
-"- Commands are shorthand ways to write function calls\n"
-"- Commands abstract complex queries into shorthands\n"
-"- Commands are similar to rust macros"
-msgstr ""
-"- Los Comandos son formas abreviadas de escribir llamadas a funciones.\n"
-"- Los Comandos abstraen consultas complejas en taquigrafías\n"
-"- Los Comandos son similares a las macros de Rust"
-
-#: src/cairo/commands.md:8
-msgid ""
-"Understanding commands is key to understanding Dojo. You will leverage them "
-"heavily within the systems you design."
-msgstr ""
-"Comprender los comandos es clave para entender Dojo. Los aprovechará en gran "
-"medida dentro de los Systems que diseñe."
-
-#: src/cairo/commands.md:10
-msgid ""
-"Commands in Dojo are generalized functions that are expanded at compile time "
-"to facilitate system execution. They provide a convenient way for systems to "
-"interact with the world state by abstracting common operations, such as "
-"retrieving or updating models, and generating unique IDs. By leveraging "
-"these commands, developers can streamline their system implementations and "
-"improve code readability."
-msgstr ""
-"Los comandos en Dojo son funciones generalizadas que se expanden en tiempo "
-"de compilación para facilitar la ejecución del sistema. Proporcionan una "
-"forma conveniente para que los Systems interactúen con el estado del World "
-"abstrayendo operaciones comunes, como recuperar o actualizar Models, y "
-"generar identificaciones únicas. Al aprovechar estos comandos, los "
-"desarrolladores pueden optimizar las implementaciones de sus Systems y "
-"mejorar la legibilidad del código."
-
-#: src/cairo/commands.md:13
-msgid "### Using commands"
-msgstr "### Usando comandos"
-
-#: src/cairo/commands.md:15
-msgid ""
-"Commands are used within systems to interact with the world state. They are "
-"called using the following syntax:"
-msgstr ""
-"Los comandos se utilizan dentro de los Systems para interactuar con el "
-"estado del World. Se llaman usando la siguiente sintaxis:"
-
-#: src/cairo/commands.md:17
-msgid "### The `get!` command"
-msgstr "### El comando `get!`"
-
-#: src/cairo/commands.md:19
-msgid "The `get!` command is used to retrieve models from the world state:"
-msgstr ""
-"El comando `get!` se utiliza para recuperar Models del estado del World:"
-
-#: src/cairo/commands.md:21
-msgid ""
-"```rust,ignore\n"
-"// world = calling world\n"
-"// caller = key of the entity that called the system\n"
-"// (Position, Moves) = tuple of models to retrieve\n"
-"let (position, moves) = get!(world, caller, (Position, Moves));\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-"// world = calling world\n"
-"// caller = key of the entity that called the system\n"
-"// (Position, Moves) = tuple of models to retrieve\n"
-"let (position, moves) = get!(world, caller, (Position, Moves));\n"
-"```"
-
-#: src/cairo/commands.md:28
-msgid ""
-"Here we are retrieving the `Position` and `Moves` models from the world "
-"state. We are also using the `caller` to retrieve the models for the current "
-"entity."
-msgstr ""
-"Aquí estamos recuperando los Models de `Position` y `Moves` del estado del "
-"World. También estamos usando `caller` para recuperar los Models de la "
-"entidad actual."
-
-#: src/cairo/commands.md:30
-msgid ""
-"You can then use `position` and `moves` as you would as any other Cairo "
-"struct."
-msgstr ""
-"Luego puede usar `position` y `moves` como lo haría con cualquier otra "
-"estructura de Cairo."
-
-#: src/cairo/commands.md:32
-msgid "### The `set!` command"
-msgstr "### El comando `set!`"
-
-#: src/cairo/commands.md:34
-msgid "The `set!` command is used to update models state."
-msgstr "El comando `set!` se utiliza para actualizar el estado de los Models."
-
-#: src/cairo/commands.md:36
-msgid ""
-"```rust,ignore\n"
-"set !(world, (\n"
-" Moves {\n"
-" player: caller, remaining: 10\n"
-" }, \n"
-" Position {\n"
-" player: caller, x: position.x + 10, y: position.y + 10\n"
-" },\n"
-"));\n"
-"\n"
-"// If the structs are already defined it can also be written as:\n"
-"set!(world, (moves, position));\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-"set !(world, (\n"
-" Moves {\n"
-" player: caller, remaining: 10\n"
-" }, \n"
-" Position {\n"
-" player: caller, x: position.x + 10, y: position.y + 10\n"
-" },\n"
-"));\n"
-"\n"
-"// If the structs are already defined it can also be written as:\n"
-"set!(world, (moves, position));\n"
-"```"
-
-#: src/cairo/commands.md:50
-msgid ""
-"Here we are updating the `Moves` and `Position` models in the world state "
-"using the `caller` as the entity id."
-msgstr ""
-"Aquí estamos actualizando los Models `Moves` y `Position` en el estado de "
-"World utilizando`caller` como el id de entidad."
-
-#: src/cairo/commands.md:52
-msgid "### The `emit!` command"
-msgstr "### El comando `emit!`"
-
-#: src/cairo/commands.md:54
-msgid ""
-"The `emit!` command is used to emit custom events. These events are indexed "
-"by [torii](../toolchain/torii/overview.md)"
-msgstr ""
-"El comando `emitir!` se utiliza para emitir eventos personalizados. Estos "
-"eventos están indexados por [torii](../toolchain/torii/overview.md)"
-
-#: src/cairo/commands.md:56
-msgid ""
-"```rust,ignore\n"
-"emit!(world, Moved { address: caller, direction });\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-"emit!(world, Moved { address: caller, direction });\n"
-"```"
-
-#: src/cairo/commands.md:60
-msgid ""
-"This will emit these values which could be captured by a client or you could "
-"query these via [torii](../toolchain/torii/overview.md)"
-msgstr ""
-"Esto emitirá estos valores que podrían ser capturados por un cliente o usted "
-"podría consultarlos a través de [torii](../toolchain/torii/overview.md)"
-
-#: src/cairo/config.md:1
-msgid "# Config"
-msgstr "# Configuración"
-
-#: src/cairo/config.md:3
-msgid ""
-"Dojo worlds are defined in their Scarb.toml files. This is just a regular "
-"[Scarb](https://docs.swmansion.com/scarb/) file which is an excellent Cairo "
-"package manager and project manager."
-msgstr ""
-"Los Worlds Dojo se definen en sus archivos Scarb.toml. Este es solo un "
-"archivo [Scarb](https://docs.swmansion.com/scarb/) normal que es un "
-"excelente administrador de paquetes y administrador de proyectos de Cairo."
-
-#: src/cairo/config.md:5
-msgid "Full example of a Scarb.toml file:"
-msgstr "Ejemplo completo de un archivo Scarb.toml:"
-
-#: src/cairo/config.md:7
-msgid ""
-"```toml\n"
-"[package]\n"
-"cairo-version = \"2.3.0\"\n"
-"name = \"dojo_examples\"\n"
-"version = \"0.1.0\"\n"
-"\n"
-"[cairo]\n"
-"sierra-replace-ids = true\n"
-"\n"
-"[dependencies]\n"
-"# IMPORTANT: Dojo should be pinned to a specific version or else your world "
-"might not compile\n"
-"dojo = { git = \"https://github.com/dojoengine/dojo\", rev=\"v0.3.0\" }\n"
-"\n"
-"[[target.dojo]]\n"
-"\n"
-"[tool.dojo]\n"
-"initializer_class_hash = \"0xbeef\"\n"
-"\n"
-"[tool.dojo.env]\n"
-"# local katana devnet\n"
-"rpc_url = \"http://localhost:5050/\"\n"
-"\n"
-"# account address of world deployer\n"
-"account_address = "
-"\"0x33c627a3e5213790e246a917770ce23d7e562baa5b4d2917c23b1be6d91961c\"\n"
-"\n"
-"# private key of world deployer\n"
-"private_key = "
-"\"0x333803103001800039980190300d206608b0070db0012135bd1fb5f6282170b\"\n"
-"\n"
-"# world contract address\n"
-"world_address = "
-"\"0x789c94ef39aeebc7f8c4c4633030faefb8bee454e358ae53d06ced36136d7d6\"\n"
-"```"
-msgstr ""
-"```toml\n"
-"[package]\n"
-"cairo-version = \"2.3.0\"\n"
-"name = \"dojo_examples\"\n"
-"version = \"0.1.0\"\n"
-"\n"
-"[cairo]\n"
-"sierra-replace-ids = true\n"
-"\n"
-"[dependencies]\n"
-"# IMPORTANT: Dojo should be pinned to a specific version or else your world "
-"might not compile\n"
-"dojo = { git = \"https://github.com/dojoengine/dojo\", rev=\"v0.3.0\" }\n"
-"\n"
-"[[target.dojo]]\n"
-"\n"
-"[tool.dojo]\n"
-"initializer_class_hash = \"0xbeef\"\n"
-"\n"
-"[tool.dojo.env]\n"
-"# local katana devnet\n"
-"rpc_url = \"http://localhost:5050/\"\n"
-"\n"
-"# account address of world deployer\n"
-"account_address = "
-"\"0x33c627a3e5213790e246a917770ce23d7e562baa5b4d2917c23b1be6d91961c\"\n"
-"\n"
-"# private key of world deployer\n"
-"private_key = "
-"\"0x333803103001800039980190300d206608b0070db0012135bd1fb5f6282170b\"\n"
-"\n"
-"# world contract address\n"
-"world_address = "
-"\"0x789c94ef39aeebc7f8c4c4633030faefb8bee454e358ae53d06ced36136d7d6\"\n"
-"```"
-
-#: src/cairo/events.md:1
-msgid "## Events"
-msgstr "## Eventos"
-
-#: src/cairo/events.md:3
-msgid ""
-"Events play a pivotal role in decoding the dynamics of a Dojo world. Every "
-"time there's an update to a `Model`, the `World` contract emits these "
-"events. What's even more exciting is that you can craft your own custom "
-"events to fit specific needs! Moreover, thanks to [Torii](../toolchain/torii/"
-"overview.md), all these events are seamlessly indexed, ensuring easy and "
-"efficient querying."
-msgstr ""
-"Los eventos juegan un papel fundamental en la decodificación de la dinámica "
-"de un World en Dojo. Cada vez que hay una actualización de un `Model`, el "
-"contrato `World` emite estos eventos. ¡Lo que es aún más emocionante es que "
-"puedes crear tus propios eventos personalizados para satisfacer necesidades "
-"específicas! Además, gracias a [Torii](../toolchain/torii/overview.md), "
-"todos estos eventos se indexan perfectamente, lo que garantiza una consulta "
-"fácil y eficiente."
-
-#: src/cairo/events.md:6
-msgid "### Component Events"
-msgstr "### Eventos de Componentes"
-
-#: src/cairo/events.md:8
-msgid "Consider this example of a `Moves` model:"
-msgstr "Considere este ejemplo de un Model `Moves`:"
-
-#: src/cairo/events.md:10
-msgid ""
-"```rust,ignore\n"
-"struct Moves {\n"
-" #[key]\n"
-" player: Address,\n"
-" remaining: u32,\n"
-"}\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-"struct Moves {\n"
-" #[key]\n"
-" player: Address,\n"
-" remaining: u32,\n"
-"}\n"
-"```"
-
-#: src/cairo/events.md:18
-msgid ""
-"When this component is updated, the `World` contract will emit an event with "
-"the following structure:"
-msgstr ""
-"Cuando se actualice este componente, el contrato `World` emitirá un evento "
-"con la siguiente estructura:"
-
-#: src/cairo/events.md:20
-msgid ""
-"```rust,ignore\n"
-"#[derive(Drop, starknet::Event)]\n"
-"struct StoreSetRecord {\n"
-" table: felt252, // Moves\n"
-" keys: Span, // [player]\n"
-" offset: u8, // offset for the value in the table\n"
-" value: Span, // [remaining]\n"
-"}\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-"#[derive(Drop, starknet::Event)]\n"
-"struct StoreSetRecord {\n"
-" table: felt252, // Moves\n"
-" keys: Span, // [player]\n"
-" offset: u8, // offset for the value in the table\n"
-" value: Span, // [remaining]\n"
-"}\n"
-"```"
-
-#: src/cairo/events.md:30
-msgid ""
-"This will then be captured by [Torii](../toolchain/torii/overview.md) and "
-"indexed for querying. This will allow you to then reconstruct the state of "
-"your world."
-msgstr ""
-"Esto luego será capturado por [Torii](../toolchain/torii/overview.md) y "
-"indexado para realizar consultas. Esto te permitirá luego reconstruir el "
-"estado de tu World."
-
-#: src/cairo/events.md:32
-msgid ""
-"Similarly, when a component is deleted, the `World` contract will emit an "
-"event with the following structure:"
-msgstr ""
-"De manera similar, cuando se elimina un componente, el contrato `World` "
-"emitirá un evento con la siguiente estructura:"
-
-#: src/cairo/events.md:34
-msgid ""
-"```rust,ignore\n"
-"#[derive(Drop, starknet::Event)]\n"
-"struct StoreDelRecord {\n"
-" table: felt252,\n"
-" keys: Span,\n"
-"}\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-"#[derive(Drop, starknet::Event)]\n"
-"struct StoreDelRecord {\n"
-" table: felt252,\n"
-" keys: Span,\n"
-"}\n"
-"```"
-
-#: src/cairo/events.md:42
-msgid "### World Events"
-msgstr "### Eventos de World"
-
-#: src/cairo/events.md:44
-msgid ""
-"The `World` contract also emits events when it's initialized and when new "
-"components and systems are registered. These events are emitted with the "
-"following structures:"
-msgstr ""
-"El contrato `World` también emite eventos cuando se inicializa y cuando se "
-"registran nuevos componentes y Systems. Estos eventos se emiten con las "
-"siguientes estructuras:"
-
-#: src/cairo/events.md:46
-msgid ""
-"```rust,ignore\n"
-"#[derive(Drop, starknet::Event)]\n"
-"struct WorldSpawned {\n"
-" address: ContractAddress,\n"
-" caller: ContractAddress\n"
-"}\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-"#[derive(Drop, starknet::Event)]\n"
-"struct WorldSpawned {\n"
-" address: ContractAddress,\n"
-" caller: ContractAddress\n"
-"}\n"
-"```"
-
-#: src/cairo/events.md:54
-msgid ""
-"```rust,ignore\n"
-"#[derive(Drop, starknet::Event)]\n"
-"struct ComponentRegistered {\n"
-" name: felt252,\n"
-" class_hash: ClassHash\n"
-"}\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-"#[derive(Drop, starknet::Event)]\n"
-"struct ComponentRegistered {\n"
-" name: felt252,\n"
-" class_hash: ClassHash\n"
-"}\n"
-"```"
-
-#: src/cairo/events.md:62
-msgid ""
-"```rust,ignore\n"
-"#[derive(Drop, starknet::Event)]\n"
-"struct SystemRegistered {\n"
-" name: felt252,\n"
-" class_hash: ClassHash\n"
-"}\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-"#[derive(Drop, starknet::Event)]\n"
-"struct SystemRegistered {\n"
-" name: felt252,\n"
-" class_hash: ClassHash\n"
-"}\n"
-"```"
-
-#: src/cairo/events.md:70
-msgid ""
-"These events are also captured by [Torii](../toolchain/torii/overview.md) "
-"and indexed for querying."
-msgstr ""
-"Estos eventos también son capturados por [Torii](../toolchain/torii/overview."
-"md) y indexados para consultas."
-
-#: src/cairo/events.md:73
-msgid "### Custom Events"
-msgstr "### Eventos Personalizados"
-
-#: src/cairo/events.md:75
-msgid ""
-"Within your systems, emitting custom events can be highly beneficial. "
-"Fortunately, there's a handy `emit!` macro that lets you release events "
-"directly from your world. These events are indexed by [torii](../toolchain/"
-"torii/overview.md)"
-msgstr ""
-"Dentro de sus Systems, la emisión de eventos personalizados puede resultar "
-"muy beneficiosa. Afortunadamente, existe una útil macro `emit!` que te "
-"permite liberar eventos directamente desde tu World. Estos eventos están "
-"indexados por [torii](../toolchain/torii/overview.md)"
-
-#: src/cairo/events.md:77
-msgid "Use it like so:"
-msgstr "Úselo así:"
-
-#: src/cairo/events.md:79
-msgid ""
-"```rust,ignore\n"
-"emit!(world, Moved { address, direction });\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-"emit!(world, Moved { address, direction });\n"
-"```"
-
-#: src/cairo/events.md:83
-msgid ""
-"Include this in your system and it will emit an event with the following "
-"structure:"
-msgstr ""
-"Incluya esto en su sistema y emitirá un evento con la siguiente estructura:"
-
-#: src/cairo/events.md:85
-msgid ""
-"```rust,ignore\n"
-"#[derive(Drop, starknet::Event)]\n"
-"struct Moved {\n"
-" address: felt252,\n"
-" direction: felt252,\n"
-"}\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-"#[derive(Drop, starknet::Event)]\n"
-"struct Moved {\n"
-" address: felt252,\n"
-" direction: felt252,\n"
-"}\n"
-"```"
-
-#: src/cairo/events.md:93
-msgid "Now a full example using a custom event: "
-msgstr "Ahora un ejemplo completo usando un evento personalizado: "
-
-#: src/cairo/events.md:95
-msgid ""
-"```rust,ignore\n"
-"fn move(ctx: Context, direction: Direction) {\n"
-" let (mut position, mut moves) = get !(world, caller, (Position, "
-"Moves));\n"
-" moves.remaining -= 1;\n"
-"\n"
-" let next = next_position(position, direction);\n"
-" \n"
-" set !(world, (moves, next));\n"
-" emit !(world, Moved { address: caller, direction });\n"
-" return ();\n"
-"}\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-"fn move(ctx: Context, direction: Direction) {\n"
-" let (mut position, mut moves) = get !(world, caller, (Position, "
-"Moves));\n"
-" moves.remaining -= 1;\n"
-"\n"
-" let next = next_position(position, direction);\n"
-" \n"
-" set !(world, (moves, next));\n"
-" emit !(world, Moved { address: caller, direction });\n"
-" return ();\n"
-"}\n"
-"```"
-
-#: src/cairo/events.md:108
-msgid ""
-"> Note: Read about the `get!` and `set!` macros in [Commands](./commands.md)."
-msgstr ""
-"> Nota: Lea acerca de las macros `get!` y `set!` en [Comandos](./commands."
-"md)."
-
-#: src/cairo/authorization.md:1
-msgid "## Authorization"
-msgstr "## Autorización"
-
-#: src/cairo/authorization.md:3
-msgid ""
-"> Authorization is crucial to a world, just like how authorization is "
-"crucial to any smart contract."
-msgstr ""
-"> La autorización es crucial para un World, al igual que la autorización es "
-"crucial para cualquier contrato inteligente."
-
-#: src/cairo/authorization.md:5
-msgid ""
-"As discussed in the [World](./world.md) chapter, Autonomous Worlds (AWs) "
-"function as sovereign chains nested within a public blockchain. These Worlds "
-"are also open to the public. This structure allows anyone to enhance a World "
-"by deploying models or systems. However, this openness also introduces "
-"security considerations. Similar to Ethereum, interacting with a model's "
-"state within a System requires the appropriate authorization from the model "
-"owner."
-msgstr ""
-"Como se analiza en el capítulo [World](./world.md), los Autonomous Worlds "
-"(AWs) funcionan como cadenas soberanas anidadas dentro de una cadena de "
-"bloques pública. Estos Worlds también están abiertos al público. Esta "
-"estructura permite a cualquiera mejorar un World mediante el despliegue de "
-"Models o Systems. Sin embargo, esta apertura también introduce "
-"consideraciones de seguridad. De manera similar a Ethereum, interactuar con "
-"el estado de un Model dentro de un Sistema requiere la autorización "
-"adecuada del propietario del Model."
-
-#: src/cairo/authorization.md:7
-msgid "### Auth Architecture"
-msgstr "### Arquitectura de Auth"
-
-#: src/cairo/authorization.md:9
-msgid ""
-"Every time a `set!` is called in a `System`, the world checks if the "
-"`System` has authorization to update the model state. Only when the `System` "
-"possesses the necessary authorization, the `set!` is executed. The following "
-"diagram illustrates the authorization architecture."
-msgstr ""
-"Cada vez que se llama a un `set!` en un `System`, el World verifica si el "
-"`System` tiene autorización para actualizar el estado del Model. Sólo "
-"cuando el `System` posee la autorización necesaria, se ejecuta el `set!`. El "
-"siguiente diagrama ilustra la arquitectura de autorización."
-
-#: src/cairo/authorization.md:11
-msgid "Authorization Architecture"
-msgstr "Arquitectura de Autorización"
-
-#: src/cairo/authorization.md:13
-msgid "### Providing Authorization"
-msgstr "### Proporcionar Autorización"
-
-#: src/cairo/authorization.md:15
-msgid ""
-"> The deployer of the model is its initial owner. A model owner is able to "
-"grant the `owner` and `writer` roles. Only owners can grant a System the "
-"`writer` role which allows it to update the model."
-msgstr ""
-"> El implementador del Model es su propietario inicial. Un propietario de "
-"Model puede otorgar los roles de `owner` y `writer`. Solo los propietarios "
-"pueden otorgarle a un sistema la función de `writer`que le permite "
-"actualizar el Model."
-
-#: src/cairo/authorization.md:17
-msgid "`sozo` offers a convenient tool to authorize systems."
-msgstr "`sozo` ofrece una herramienta conveniente para autorizar Systems."
-
-#: src/cairo/authorization.md:19
-msgid ""
-"```shell\n"
-"sozo auth writer Moves spawn\n"
-"```"
-msgstr ""
-"```shell\n"
-"sozo auth writer Moves spawn\n"
-"```"
-
-#: src/cairo/authorization.md:23
-msgid ""
-"This command will generate a `writer` authorization for the `spawn` system "
-"to update the `Moves` model."
-msgstr ""
-"Este comando generará una autorización de `writer` para que el sistema "
-"`spawn` actualice el Model `Moves`."
-
-#: src/cairo/migration.md:1
-msgid "## Migration"
-msgstr "## Migración"
-
-#: src/cairo/migration.md:3
-msgid "[0.2.0 -> 0.3.0](./migration/0.3.0.md)"
-msgstr "[0.2.0 -> 0.3.0](./migration/0.3.0.md)"
-
-#: src/cairo/migration/0.3.0.md:1
-msgid "## Migration Guide to 0.3.0"
-msgstr "## Guía de Migración a 0.3.0"
-
-#: src/cairo/migration/0.3.0.md:3
-msgid ""
-"0.3.0 introduced some breaking changes to Systems and Models which requires "
-"reworking of your worlds."
-msgstr ""
-"0.3.0 introdujo algunos cambios importantes en los Systems y Models que "
-"requieren una reelaboración de sus Worlds."
-
-#: src/cairo/migration/0.3.0.md:5
-msgid ""
-"- [Components](#components-to-models)\n"
-"- [Systems](#systems-update)\n"
-"- [Events](#events)\n"
-"- [Npm](#npm)"
-msgstr ""
-"- [Componentes](#componentes-a-Models)\n"
-"- [Systems](#actualización-de-Systems)\n"
-"- [Eventos](#eventos)\n"
-"- [Npm](#npm)"
-
-#: src/cairo/migration/0.3.0.md:10
-msgid "### Components to Models"
-msgstr "### Componentes de Models"
-
-#: src/cairo/migration/0.3.0.md:12
-msgid ""
-"In version 0.3.0, \"components\" have been renamed to \"models\". This has "
-"been done due to Cairo introducing the concept of Components natively."
-msgstr ""
-"En la versión 0.3.0, se cambió el nombre de `components` a `models`. Esto se "
-"ha hecho debido a que Cairo introdujo el concepto de Components de forma "
-"nativa."
-
-#: src/cairo/migration/0.3.0.md:14
-msgid "You must:"
-msgstr "Usted debe:"
-
-#: src/cairo/migration/0.3.0.md:16
-msgid ""
-"- Replace `#[component]` with `#[model]`.\n"
-"- Update `#[derive(Component)]` to `#[derive(Model)]` throughout your code."
-msgstr ""
-"- Reemplace `#[component]` por `#[model]`.\n"
-"- Actualice `#[derive(Component)]` a `#[derive(Model)]` en todo el código."
-
-#: src/cairo/migration/0.3.0.md:19
-msgid "**Note**: Ensure all related files and imports are updated accordingly."
-msgstr ""
-"**Nota**: Asegúrese de que todos los archivos relacionados y las "
-"importaciones se actualicen en consecuencia."
-
-#: src/cairo/migration/0.3.0.md:21
-msgid "### Changes in Model Implementation"
-msgstr "### Cambios en la Implementación del Model"
-
-#: src/cairo/migration/0.3.0.md:23
-msgid ""
-"The trait `SerdeLen` is no longer implemented for models. If you relied on "
-"this previously, you should now use `SchemaIntrospection`."
-msgstr ""
-"El trait `SerdeLen` ya no se implementa para los Models. Si confiaba en "
-"esto anteriormente, ahora debería usar `SchemaIntrospection`."
-
-#: src/cairo/migration/0.3.0.md:25
-msgid "### Schema Introduction"
-msgstr "### Introducción al Esquema"
-
-#: src/cairo/migration/0.3.0.md:31
-msgid ""
-"```rust,ignore\n"
-"struct Card {\n"
-"\n"
-" #[key]\n"
-" token_id: u256,\n"
-" /// The card's designated role.\n"
-" role: Roles,\n"
-"}\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-"struct Card {\n"
-"\n"
-" #[key]\n"
-" token_id: u256,\n"
-" /// The card's designated role.\n"
-" role: Roles,\n"
-"}\n"
-"```"
-
-#: src/cairo/migration/0.3.0.md:74
-msgid "**Key Takeaways from custom types**:"
-msgstr "**Conclusiones clave de los tipos personalizados**:"
-
-#: src/cairo/migration/0.3.0.md:76
-msgid ""
-"- **size**: Defines the byte size of the type.\n"
-"- **layout**: Outlines the byte structure/layout for the type. Validate and "
-"adjust as necessary.\n"
-"- **ty**: Details the specific type, attributes, and subcomponents. For "
-"enums, like `Roles`, you need to specify each member and its type."
-msgstr ""
-"- **size**: Define el tamaño en bytes del tipo.\n"
-"- **layout**: Describe la estructura/diseño de bytes para el tipo. Validar y "
-"ajustar según sea necesario.\n"
-"- **ty**: Detalla el tipo, los atributos y los subcomponentes específicos. "
-"Para enumeraciones, como `Roles`, debe especificar cada miembro y su tipo."
-
-#: src/cairo/migration/0.3.0.md:80
-msgid "### Systems Update"
-msgstr "### Actualización de Systems"
-
-#: src/cairo/migration/0.3.0.md:82
-msgid ""
-"Systems in 0.3.0 are very similar now to Cairo Contracts. You can write your "
-"systems just like regular contracts, and each dojo contract can contain "
-"mulitple systems."
-msgstr ""
-"Los Systems en 0.3.0 ahora son muy similares a los Contratos de El Cairo. "
-"Puede escribir sus Systems como si fueran contratos normales, y cada "
-"contrato de dojo puede contener varios Systems."
-
-#: src/cairo/migration/0.3.0.md:84
-msgid "Important high level changes:"
-msgstr "Cambios importantes de alto nivel:"
-
-#: src/cairo/migration/0.3.0.md:85
-msgid ""
-"- Systems are now starknet contracts\n"
-"- Define [Interfaces](#interface-creation) for each system contract\n"
-"- New optional `#[dojo::contract]` decorator defining systems\n"
-"- Multiple systems per dojo contract, rather than singular\n"
-"- `execute` is no longer required system selector name"
-msgstr ""
-"- Los Systems ahora son contratos starknet.\n"
-"- Definir [Interfaces](#interface-creation) para cada contrato del sistema\n"
-"- Nuevos Systems opcionales de definición de decoradores `#[dojo::"
-"contract]`\n"
-"- Múltiples Systems por contrato de dojo, en lugar de singulares\n"
-"- `execute` ya no es necesario el nombre del selector del sistema"
-
-#: src/cairo/migration/0.3.0.md:92
-msgid "#### Interface Creation"
-msgstr "#### Creación de Interfaz"
-
-#: src/cairo/migration/0.3.0.md:94
-msgid ""
-"System management has been revamped. Start by defining an interface for each "
-"system, which specifies its implementation:"
-msgstr ""
-"La gestión del sistema ha sido renovada. Comience por definir una interfaz "
-"para cada sistema, que especifica su implementación:"
-
-#: src/cairo/migration/0.3.0.md:96
-msgid ""
-"```rust,ignore\n"
-"#[starknet::interface]\n"
-"trait ICreateCard {\n"
-" fn create_card(\n"
-" self: @TContractState,\n"
-" world: IWorldDispatcher,\n"
-" token_id: u256,\n"
-" dribble: u8,\n"
-" defense: u8,\n"
-" cost: u8,\n"
-" role: Roles,\n"
-" is_captain: bool\n"
-" );\n"
-"}\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-"#[starknet::interface]\n"
-"trait ICreateCard {\n"
-" fn create_card(\n"
-" self: @TContractState,\n"
-" world: IWorldDispatcher,\n"
-" token_id: u256,\n"
-" dribble: u8,\n"
-" defense: u8,\n"
-" cost: u8,\n"
-" role: Roles,\n"
-" is_captain: bool\n"
-" );\n"
-"}\n"
-"```"
-
-#: src/cairo/migration/0.3.0.md:112
-msgid "Ensure the trait is typed with `TContractState`."
-msgstr "Asegúrese de que el trait esté escrito con`TContractState`."
-
-#: src/cairo/migration/0.3.0.md:114
-msgid ""
-"**Note**: Earlier versions required functions within the system to be named "
-"`execute`. This is no longer the case."
-msgstr ""
-"**Nota**: Las versiones anteriores requerían que las funciones dentro del "
-"sistema se denominaran `execute`. Este ya no es el caso."
-
-#: src/cairo/migration/0.3.0.md:116
-msgid "#### Interface Implementation"
-msgstr "#### Implementación de la Interfaz"
-
-#: src/cairo/migration/0.3.0.md:118
-msgid "To implement the interface:"
-msgstr "Para implementar la interfaz:"
-
-#: src/cairo/migration/0.3.0.md:120
-msgid ""
-"1. Add `#[external(v0)]` before each method.\n"
-"2. Ensure to reference the created interface in the module with `use super::"
-"ICreateCard;`."
-msgstr ""
-"1. Agregue `#[external(v0)]` antes de cada método.\n"
-"2. Asegúrese de hacer referencia a la interfaz creada en el módulo con `use "
-"super::ICreateCard;`."
-
-#: src/cairo/migration/0.3.0.md:123
-msgid ""
-"```rust,ignore\n"
-"#[external(v0)]\n"
-"impl CreateCardImpl for ICreateCard {\n"
-" fn create_card(\n"
-" self: @ContractState,\n"
-" world: IWorldDispatcher,\n"
-" token_id: u256,\n"
-" dribble: u8,\n"
-" defense: u8,\n"
-" cost: u8,\n"
-" role: Roles,\n"
-" is_captain: bool\n"
-" ) {\n"
-" // your logic here\n"
-" }\n"
-"}\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-"#[external(v0)]\n"
-"impl CreateCardImpl for ICreateCard {\n"
-" fn create_card(\n"
-" self: @ContractState,\n"
-" world: IWorldDispatcher,\n"
-" token_id: u256,\n"
-" dribble: u8,\n"
-" defense: u8,\n"
-" cost: u8,\n"
-" role: Roles,\n"
-" is_captain: bool\n"
-" ) {\n"
-" // your logic here\n"
-" }\n"
-"}\n"
-"```"
-
-#: src/cairo/migration/0.3.0.md:141
-msgid ""
-"This then allows the `create_card` to be called just like a regular starknet "
-"function."
-msgstr ""
-"Esto permite llamar a `create_card` como una función normal de Starknet."
-
-#: src/cairo/migration/0.3.0.md:143
-msgid "#### `#[dojo::contract]` decorator"
-msgstr "#### Decorador `#[dojo::contract]`"
-
-#: src/cairo/migration/0.3.0.md:145
-msgid ""
-"0.3.0 introduces a new optional decorator `#[dojo::contract]` which "
-"indicates to the compiler to inject imports and the world dispatcher. This "
-"allows for minimal boilerplate."
-msgstr ""
-"0.3.0 introduce un nuevo decorador opcional `#[dojo::contract]` que indica "
-"al compilador que inyecte importaciones y el world dispatcher. Esto permite "
-"un texto repetitivo mínimo."
-
-#: src/cairo/migration/0.3.0.md:147
-msgid ""
-"```rust,ignore\n"
-"#[dojo::contract]\n"
-"mod move {\n"
-"....code TODO\n"
-"}\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-"#[dojo::contract]\n"
-"mod move {\n"
-"....code TODO\n"
-"}\n"
-"```"
-
-#: src/cairo/migration/0.3.0.md:154
-msgid "### Events"
-msgstr "### Eventos"
-
-#: src/cairo/migration/0.3.0.md:156
-msgid ""
-"Events should now reside within the models. Here's an example of how to "
-"migrate your events:"
-msgstr ""
-"Los eventos ahora deberían residir dentro de los Models. A continuación se "
-"muestra un ejemplo de cómo migrar sus eventos:"
-
-#: src/cairo/migration/0.3.0.md:158
-msgid "**Previous Format**:"
-msgstr "**Formato Anterior**:"
-
-#: src/cairo/migration/0.3.0.md:159
-msgid ""
-"```rust,ignore\n"
-"#[derive(Drop, starknet::Event, Copy)]\n"
-"struct DeckCreated {\n"
-" player: ContractAddress,\n"
-" token_list: Span,\n"
-"}\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-"#[derive(Drop, starknet::Event, Copy)]\n"
-"struct DeckCreated {\n"
-" player: ContractAddress,\n"
-" token_list: Span,\n"
-"}\n"
-"```"
-
-#: src/cairo/migration/0.3.0.md:167
-msgid "**New Format**:"
-msgstr "**Nuevo Formato**:"
-
-#: src/cairo/migration/0.3.0.md:168
-msgid ""
-"```rust,ignore\n"
-"#[event]\n"
-"#[derive(Copy, Drop, starknet::Event)]\n"
-"enum Event {\n"
-" DeckCreated(DeckCreated)\n"
-"}\n"
-"\n"
-"#[derive(Copy, Drop, starknet::Event)]\n"
-"struct DeckCreated {\n"
-" player: ContractAddress,\n"
-" token_list: Span,\n"
-"}\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-"#[event]\n"
-"#[derive(Copy, Drop, starknet::Event)]\n"
-"enum Event {\n"
-" DeckCreated(DeckCreated)\n"
-"}\n"
-"\n"
-"#[derive(Copy, Drop, starknet::Event)]\n"
-"struct DeckCreated {\n"
-" player: ContractAddress,\n"
-" token_list: Span,\n"
-"}\n"
-"```"
-
-#: src/cairo/migration/0.3.0.md:182
-msgid "### Testing Changes"
-msgstr "### Testing de Cambios"
-
-#: src/cairo/migration/0.3.0.md:184
-msgid "#### Setup"
-msgstr "#### Configuración"
-
-#: src/cairo/migration/0.3.0.md:186
-msgid ""
-"Testing has seen significant changes with the change to systems as "
-"Contracts. Instead of using `world.execute`, use the dispatcher."
-msgstr ""
-"Las pruebas han visto cambios significativos con el cambio a Systems como "
-"Contratos. En lugar de utilizar `world.execute`, utilice el dispatcher."
-
-#: src/cairo/migration/0.3.0.md:188
-msgid "1. Import necessary modules and traits:"
-msgstr "1. Importe los módulos y traits necesarios:"
-
-#: src/cairo/migration/0.3.0.md:190
-msgid ""
-"```rust,ignore\n"
-"use dojo::test_utils::deploy_contract;\n"
-"use tsubasa::systems::{ICreateCardDispatcher, ICreateCardDispatcherTrait};\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-"use dojo::test_utils::deploy_contract;\n"
-"use tsubasa::systems::{ICreateCardDispatcher, ICreateCardDispatcherTrait};\n"
-"```"
-
-#: src/cairo/migration/0.3.0.md:195
-msgid "2. Deploy the contract and instantiate the dispatcher:"
-msgstr "2. Implementar el contrato y crear una instancia del dispatcher:"
-
-#: src/cairo/migration/0.3.0.md:197
-msgid ""
-"```rust,ignore\n"
-"let contract_create_card = deploy_contract(\n"
-" create_card_system::TEST_CLASS_HASH, array![].span()\n"
-");\n"
-"let create_card_system = ICreateCardDispatcher { contract_address: "
-"contract_create_card };\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-"let contract_create_card = deploy_contract(\n"
-" create_card_system::TEST_CLASS_HASH, array![].span()\n"
-");\n"
-"let create_card_system = ICreateCardDispatcher { contract_address: "
-"contract_create_card };\n"
-"```"
-
-#: src/cairo/migration/0.3.0.md:204
-msgid "#### Function Testing"
-msgstr "#### Función Testing"
-
-#: src/cairo/migration/0.3.0.md:206
-msgid ""
-"With the contract deployed and the dispatcher instantiated, proceed to test "
-"your functions:"
-msgstr ""
-"Con el contrato implementado y el dispatcher creado, proceda a probar sus "
-"funciones:"
-
-#: src/cairo/migration/0.3.0.md:208
-msgid ""
-"```rust,ignore\n"
-"// ... (previous setup code)\n"
-"\n"
-"let result = create_card_system.create_card(\n"
-" // ... provide necessary parameters here\n"
-");\n"
-"\n"
-"// Assert or validate the 'result' as per your test conditions\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-"// ... (previous setup code)\n"
-"\n"
-"let result = create_card_system.create_card(\n"
-" // ... provide necessary parameters here\n"
-");\n"
-"\n"
-"// Assert or validate the 'result' as per your test conditions\n"
-"```"
-
-#: src/cairo/hello-dojo.md:1
-msgid "# Hello Dojo"
-msgstr "# Hola Dojo"
-
-#: src/cairo/hello-dojo.md:3
-msgid ""
-"> This section assumes that you have already installed the Dojo toolchain "
-"and are familiar with Cairo. If not, please refer to the [Getting Started]"
-"(../getting-started/quick-start.md) section."
-msgstr ""
-"> Esta sección asume que ya ha instalado la cadena de herramientas Dojo y "
-"está familiarizado con Cairo. De lo contrario, consulte la sección "
-"[Introducción] (../getting-started/quick-start.md)."
-
-#: src/cairo/hello-dojo.md:5
-msgid "## Dojo as an ECS in 15 Minutes"
-msgstr "## Dojo como ECS en 15 Minutos"
-
-#: src/cairo/hello-dojo.md:7
-msgid ""
-"Although Dojo isn't exclusively an Entity Component System (ECS) framework, "
-"we recommend adopting this robust design pattern. In this context, systems "
-"shape the environment's logic, while components ([models](./models.md)) "
-"mirror the state of the world. By taking this route, you'll benefit from a "
-"structured and modular framework that promises both flexibility and "
-"scalability in a continuously evolving world. If this seems a bit intricate "
-"at first, hang tight; we'll delve into the details shortly."
-msgstr ""
-"Aunque Dojo no es exclusivamente un marco de Entity Component System (ECS), "
-"recomendamos adoptar este sólido patrón de diseño. En este contexto, los "
-"Systems dan forma a la lógica del entorno, mientras que los componentes "
-"([models](./models.md)) reflejan el estado del World. Al tomar esta ruta, se "
-"beneficiará de un marco estructurado y modular que promete flexibilidad y "
-"escalabilidad en un World en continua evolución. Si esto parece un poco "
-"complicado al principio, espera; profundizaremos en los detalles en breve."
-
-#: src/cairo/hello-dojo.md:9
-msgid ""
-"To start, let's set up a project to run locally on your machine. From an "
-"empty directory, execute:"
-msgstr ""
-"Para comenzar, configuremos un proyecto para que se ejecute localmente en su "
-"máquina. Desde un directorio vacío, ejecute:"
-
-#: src/cairo/hello-dojo.md:11
-msgid ""
-"```console\n"
-"sozo init\n"
-"```"
-msgstr ""
-"```console\n"
-"sozo init\n"
-"```"
-
-#: src/cairo/hello-dojo.md:15
-msgid ""
-"Congratulations! You now have a local Dojo project. This command creates a "
-"`dojo-starter` project in your current directory. It's the ideal starting "
-"point for a new project and equips you with everything you need to begin."
-msgstr ""
-"¡Felicidades! Ahora tienes un proyecto Dojo local. Este comando crea un "
-"proyecto `dojo-starter` en su directorio actual. Es el punto de partida "
-"ideal para un nuevo proyecto y te proporciona todo lo que necesitas para "
-"empezar."
-
-#: src/cairo/hello-dojo.md:17
-msgid "#### Anatomy of a Dojo Project"
-msgstr "#### Anatomía de un proyecto Dojo"
-
-#: src/cairo/hello-dojo.md:19
-msgid ""
-"Inspect the contents of the `dojo-starter` project, and you'll notice the "
-"following structure (excluding the non-Cairo files):"
-msgstr ""
-"Inspeccione el contenido del proyecto `dojo-starter` y notará la siguiente "
-"estructura (excluyendo los archivos que no son de Cairo):"
-
-#: src/cairo/hello-dojo.md:21
-msgid ""
-"```bash\n"
-"src\n"
-" - actions.cairo\n"
-" - lib.cairo\n"
-" - models.cairo\n"
-" - utils.cairo\n"
-"Scarb.toml\n"
-"```"
-msgstr ""
-"```bash\n"
-"src\n"
-" - actions.cairo\n"
-" - lib.cairo\n"
-" - models.cairo\n"
-" - utils.cairo\n"
-"Scarb.toml\n"
-"```"
-
-#: src/cairo/hello-dojo.md:30
-msgid ""
-"Dojo projects bear a strong resemblance to typical Cairo projects. The "
-"primary difference is the inclusion of a special attribute tag used to "
-"define your data models. In this context, we'll refer to these models as "
-"components."
-msgstr ""
-"Los proyectos de dojo guardan un gran parecido con los proyectos típicos de "
-"Cairo. La principal diferencia es la inclusión de una etiqueta de atributo "
-"especial que se utiliza para definir sus Models de datos. En este contexto, "
-"nos referiremos a estos Models como componentes."
-
-#: src/cairo/hello-dojo.md:32
-msgid ""
-"As we're crafting an ECS, we'll adhere to the specific terminology "
-"associated with Entity Component Systems."
-msgstr ""
-"Mientras elaboramos un ECS, nos adheriremos a la terminología específica "
-"asociada con Entity Component Systems."
-
-#: src/cairo/hello-dojo.md:34
-msgid "Open the `src/models.cairo` file to continue."
-msgstr "Abra el archivo `src/models.cairo` para continuar."
-
-#: src/cairo/hello-dojo.md:36
-msgid ""
-"```rust,ignore\n"
-"#[derive(Model, Copy, Drop, Serde)]\n"
-"struct Moves {\n"
-" #[key]\n"
-" player: ContractAddress,\n"
-" remaining: u8,\n"
-" last_direction: Direction\n"
-"}\n"
-"\n"
-"#[derive(Copy, Drop, Serde, Print, Introspect)]\n"
-"struct Vec2 {\n"
-" x: u32,\n"
-" y: u32\n"
-"}\n"
-"\n"
-"#[derive(Model, Copy, Drop, Print, Serde)]\n"
-"struct Position {\n"
-" #[key]\n"
-" player: ContractAddress,\n"
-" vec: Vec2,\n"
-"}\n"
-"\n"
-"...rest of code\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-"#[derive(Model, Copy, Drop, Serde)]\n"
-"struct Moves {\n"
-" #[key]\n"
-" player: ContractAddress,\n"
-" remaining: u8,\n"
-" last_direction: Direction\n"
-"}\n"
-"\n"
-"#[derive(Copy, Drop, Serde, Print, Introspect)]\n"
-"struct Vec2 {\n"
-" x: u32,\n"
-" y: u32\n"
-"}\n"
-"\n"
-"#[derive(Model, Copy, Drop, Print, Serde)]\n"
-"struct Position {\n"
-" #[key]\n"
-" player: ContractAddress,\n"
-" vec: Vec2,\n"
-"}\n"
-"\n"
-"...rest of code\n"
-"```"
-
-#: src/cairo/hello-dojo.md:61
-msgid ""
-"Notice the `#[derive(Model, Copy, Drop, Serde)]` attributes. For a model to "
-"be recognized, we _must_ include `Model`. This signals to the Dojo compiler "
-"that this struct should be treated as a model."
-msgstr ""
-"Observe los atributos `#[derive(Model, Copy, Drop, Serde)]`. Para que un "
-"Model sea reconocido, _debemos_ incluir `Model`. Esto le indica al "
-"compilador Dojo que esta estructura debe tratarse como un Model."
-
-#: src/cairo/hello-dojo.md:63
-msgid ""
-"Our `Moves` model houses a `player` field. At the same tine, we have the "
-"`#[key]` attribute, it informs Dojo that this model is indexed by the "
-"`player` field. If this is unfamiliar to you, we'll clarify its importance "
-"later in the chapter. Essentially, it implies that you can query this "
-"component using the `player` field. Our `Moves` model also contains the "
-"`remaining` and `last_direction` fields"
-msgstr ""
-"Nuestro Model `Moves` alberga un campo de`player`. Al mismo tiempo, tenemos "
-"el atributo `#[key]`, le informa a Dojo que este Model está indexado por el "
-"campo `player`. Si esto no le resulta familiar, aclararemos su importancia "
-"más adelante en este capítulo. Esencialmente, implica que puedes consultar "
-"este componente usando el campo `player`. Nuestro Model `Moves` también "
-"contiene los campos `remaining` y `last_direction`"
-
-#: src/cairo/hello-dojo.md:65
-msgid ""
-"In a similar vein, we have a `Position` component that have a Vec2 data "
-"structure. Vec holds `x` and `y` values. Once again, this component is "
-"indexed by the `player` field."
-msgstr ""
-"De manera similar, tenemos un componente `Position` que tiene una estructura "
-"de datos Vec2. Vec tiene valores `x` e `y`. Una vez más, este componente "
-"está indexado por el campo `player`."
-
-#: src/cairo/hello-dojo.md:67
-msgid "Now, let's examine the `src/actions.cairo` file:"
-msgstr "Ahora, examinemos el archivo `src/actions.cairo`:"
-
-#: src/cairo/hello-dojo.md:69
-msgid ""
-"```rust,ignore\n"
-"// dojo decorator\n"
-"#[dojo::contract]\n"
-"mod actions {\n"
-" use starknet::{ContractAddress, get_caller_address};\n"
-" use dojo_examples::models::{Position, Moves, Direction, Vec2};\n"
-" use dojo_examples::utils::next_position;\n"
-" use super::IActions;\n"
-"\n"
-" // declaring custom event struct\n"
-" #[event]\n"
-" #[derive(Drop, starknet::Event)]\n"
-" enum Event {\n"
-" Moved: Moved,\n"
-" }\n"
-"\n"
-" // declaring custom event struct\n"
-" #[derive(Drop, starknet::Event)]\n"
-" struct Moved {\n"
-" player: ContractAddress,\n"
-" direction: Direction\n"
-" }\n"
-"\n"
-" // impl: implement functions specified in trait\n"
-" #[external(v0)]\n"
-" impl ActionsImpl of IActions {\n"
-" // ContractState is defined by system decorator expansion\n"
-" fn spawn(self: @ContractState) {\n"
-" // Access the world dispatcher for reading.\n"
-" let world = self.world_dispatcher.read();\n"
-"\n"
-" // Get the address of the current caller, possibly the player's "
-"address.\n"
-" let player = get_caller_address();\n"
-"\n"
-" // Retrieve the player's current position from the world.\n"
-" let position = get!(world, player, (Position));\n"
-"\n"
-" // Retrieve the player's move data, e.g., how many moves they "
-"have left.\n"
-" let moves = get!(world, player, (Moves));\n"
-"\n"
-" // Update the world state with the new data.\n"
-" // 1. Increase the player's remaining moves by 10.\n"
-" // 2. Move the player's position 10 units in both the x and y "
-"direction.\n"
-" set!(\n"
-" world,\n"
-" (\n"
-" Moves {\n"
-" player, remaining: moves.remaining + 10, "
-"last_direction: Direction::None(())\n"
-" },\n"
-" Position {\n"
-" player, vec: Vec2 { x: position.vec.x + 10, y: "
-"position.vec.y + 10 }\n"
-" },\n"
-" )\n"
-" );\n"
-" }\n"
-"\n"
-" // Implementation of the move function for the ContractState "
-"struct.\n"
-" fn move(self: @ContractState, direction: Direction) {\n"
-" // Access the world dispatcher for reading.\n"
-" let world = self.world_dispatcher.read();\n"
-"\n"
-" // Get the address of the current caller, possibly the player's "
-"address.\n"
-" let player = get_caller_address();\n"
-"\n"
-" // Retrieve the player's current position and moves data from "
-"the world.\n"
-" let (mut position, mut moves) = get!(world, player, (Position, "
-"Moves));\n"
-"\n"
-" // Deduct one from the player's remaining moves.\n"
-" moves.remaining -= 1;\n"
-"\n"
-" // Update the last direction the player moved in.\n"
-" moves.last_direction = direction;\n"
-"\n"
-" // Calculate the player's next position based on the provided "
-"direction.\n"
-" let next = next_position(position, direction);\n"
-"\n"
-" // Update the world state with the new moves data and position.\n"
-" set!(world, (moves, next));\n"
-"\n"
-" // Emit an event to the world to notify about the player's "
-"move.\n"
-" emit!(world, Moved { player, direction });\n"
-" }\n"
-" }\n"
-"}\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-"// dojo decorator\n"
-"#[dojo::contract]\n"
-"mod actions {\n"
-" use starknet::{ContractAddress, get_caller_address};\n"
-" use dojo_examples::models::{Position, Moves, Direction, Vec2};\n"
-" use dojo_examples::utils::next_position;\n"
-" use super::IActions;\n"
-"\n"
-" // declaring custom event struct\n"
-" #[event]\n"
-" #[derive(Drop, starknet::Event)]\n"
-" enum Event {\n"
-" Moved: Moved,\n"
-" }\n"
-"\n"
-" // declaring custom event struct\n"
-" #[derive(Drop, starknet::Event)]\n"
-" struct Moved {\n"
-" player: ContractAddress,\n"
-" direction: Direction\n"
-" }\n"
-"\n"
-" // impl: implement functions specified in trait\n"
-" #[external(v0)]\n"
-" impl ActionsImpl of IActions {\n"
-" // ContractState is defined by system decorator expansion\n"
-" fn spawn(self: @ContractState) {\n"
-" // Access the world dispatcher for reading.\n"
-" let world = self.world_dispatcher.read();\n"
-"\n"
-" // Get the address of the current caller, possibly the player's "
-"address.\n"
-" let player = get_caller_address();\n"
-"\n"
-" // Retrieve the player's current position from the world.\n"
-" let position = get!(world, player, (Position));\n"
-"\n"
-" // Retrieve the player's move data, e.g., how many moves they "
-"have left.\n"
-" let moves = get!(world, player, (Moves));\n"
-"\n"
-" // Update the world state with the new data.\n"
-" // 1. Increase the player's remaining moves by 10.\n"
-" // 2. Move the player's position 10 units in both the x and y "
-"direction.\n"
-" set!(\n"
-" world,\n"
-" (\n"
-" Moves {\n"
-" player, remaining: moves.remaining + 10, "
-"last_direction: Direction::None(())\n"
-" },\n"
-" Position {\n"
-" player, vec: Vec2 { x: position.vec.x + 10, y: "
-"position.vec.y + 10 }\n"
-" },\n"
-" )\n"
-" );\n"
-" }\n"
-"\n"
-" // Implementation of the move function for the ContractState "
-"struct.\n"
-" fn move(self: @ContractState, direction: Direction) {\n"
-" // Access the world dispatcher for reading.\n"
-" let world = self.world_dispatcher.read();\n"
-"\n"
-" // Get the address of the current caller, possibly the player's "
-"address.\n"
-" let player = get_caller_address();\n"
-"\n"
-" // Retrieve the player's current position and moves data from "
-"the world.\n"
-" let (mut position, mut moves) = get!(world, player, (Position, "
-"Moves));\n"
-"\n"
-" // Deduct one from the player's remaining moves.\n"
-" moves.remaining -= 1;\n"
-"\n"
-" // Update the last direction the player moved in.\n"
-" moves.last_direction = direction;\n"
-"\n"
-" // Calculate the player's next position based on the provided "
-"direction.\n"
-" let next = next_position(position, direction);\n"
-"\n"
-" // Update the world state with the new moves data and position.\n"
-" set!(world, (moves, next));\n"
-"\n"
-" // Emit an event to the world to notify about the player's "
-"move.\n"
-" emit!(world, Moved { player, direction });\n"
-" }\n"
-" }\n"
-"}\n"
-"```"
-
-#: src/cairo/hello-dojo.md:155
-msgid "### Breaking it down"
-msgstr "### Desglosándolo"
-
-#: src/cairo/hello-dojo.md:159
-msgid ""
-"As you can see a `System` is like a dojo(starknet) contract. It imports the "
-"Models we defined earlier and exposes two functions `spawn` and `move`. "
-"These functions are called when a player spawns into the world and when they "
-"move respectively."
-msgstr ""
-"Como puede ver, un `System` es como un contrato de dojo (starknet). Importa "
-"los Models que definimos anteriormente y expone dos funciones `spawn` y "
-"`move`. Estas funciones se llaman cuando un jugador aparece en el World y "
-"cuando se mueve, respectivamente."
-
-#: src/cairo/hello-dojo.md:161
-msgid ""
-"```rust,ignore\n"
-"// Retrieve the player's current position from the world.\n"
-"let position = get!(world, player, (Position));\n"
-"\n"
-"// Retrieve the player's move data, e.g., how many moves they have left.\n"
-"let moves = get!(world, player, (Moves));\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-"// Retrieve the player's current position from the world.\n"
-"let position = get!(world, player, (Position));\n"
-"\n"
-"// Retrieve the player's move data, e.g., how many moves they have left.\n"
-"let moves = get!(world, player, (Moves));\n"
-"```"
-
-#: src/cairo/hello-dojo.md:169
-msgid ""
-"Here we use `get!` [command](./commands.md) to retrieve the `Position` and "
-"`Moves` model for the `player` entity, which is the address of the caller."
-msgstr ""
-"Aquí usamos `get!` [comando](./commands.md) para recuperar el Model "
-"`Position` y `Moves` para la entidad `player`, que es la dirección de la "
-"persona que llama."
-
-#: src/cairo/hello-dojo.md:171
-msgid "Now the next line:"
-msgstr "Ahora la siguiente línea:"
-
-#: src/cairo/hello-dojo.md:173
-msgid ""
-"```rust,ignore\n"
-"// Update the world state with the new data.\n"
-"// 1. Increase the player's remaining moves by 10.\n"
-"// 2. Move the player's position 10 units in both the x and y direction.\n"
-"set!(\n"
-" world,\n"
-" (\n"
-" Moves {\n"
-" player, remaining: moves.remaining + 10, last_direction: "
-"Direction::None(())\n"
-" },\n"
-" Position {\n"
-" player, vec: Vec2 { x: position.vec.x + 10, y: position.vec.y + "
-"10}\n"
-" },\n"
-" )\n"
-");\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-"// Update the world state with the new data.\n"
-"// 1. Increase the player's remaining moves by 10.\n"
-"// 2. Move the player's position 10 units in both the x and y direction.\n"
-"set!(\n"
-" world,\n"
-" (\n"
-" Moves {\n"
-" player, remaining: moves.remaining + 10, last_direction: "
-"Direction::None(())\n"
-" },\n"
-" Position {\n"
-" player, vec: Vec2 { x: position.vec.x + 10, y: position.vec.y + "
-"10}\n"
-" },\n"
-" )\n"
-");\n"
-"```"
-
-#: src/cairo/hello-dojo.md:190
-msgid ""
-"Here we use the `set!` [command](./commands.md) to set the `Moves` and "
-"`Position` models for the `player` entity."
-msgstr ""
-"Aquí usamos el [comando](./commands.md) `set!` para configurar los Models "
-"`Moves` y `Position` para la entidad `player`."
-
-#: src/cairo/hello-dojo.md:192
-msgid "We covered a lot here in a short time. Let's recap:"
-msgstr "Cubrimos mucho aquí en poco tiempo. Recapitulemos:"
-
-#: src/cairo/hello-dojo.md:194
-msgid ""
-"- Explained the anatomy of a Dojo project\n"
-"- Explained the importance of the `#[derive(Model)]`attribute\n"
-"- Explained the `execute` function\n"
-"- Explained the `Context` struct\n"
-"- Touched on the `get!` and `set!` commands"
-msgstr ""
-"- Explicó la anatomía de un proyecto Dojo.\n"
-"- Explicó la importancia del atributo `#[derive(Model)]`\n"
-"- Explicó la función `execute`.\n"
-"- Explicó la estructura `Context`.\n"
-"- Se tocaron los comandos `get!` y `set!`"
-
-#: src/cairo/hello-dojo.md:200
-msgid "### Run it locally!"
-msgstr "### ¡Ejecútalo localmente!"
-
-#: src/cairo/hello-dojo.md:202
-msgid ""
-"Now that we've covered some theory, let's build the Dojo project! In your "
-"primary terminal:"
-msgstr ""
-"Ahora que hemos cubierto algo de teoría, ¡construyamos el proyecto Dojo! En "
-"su terminal principal:"
-
-#: src/cairo/hello-dojo.md:204 src/deployment/locally.md:29
-msgid ""
-"```bash\n"
-"sozo build\n"
-"```"
-msgstr ""
-"```bash\n"
-"sozo build\n"
-"```"
-
-#: src/cairo/hello-dojo.md:208
-msgid ""
-"That compiled the components and system into an artifact that can be "
-"deployed! Simple as that!"
-msgstr ""
-"¡Eso compiló los componentes y el sistema en un artefacto que se puede "
-"implementar! ¡Simple como eso!"
-
-#: src/cairo/hello-dojo.md:210
-msgid ""
-"Now, let's deploy it to [Katana](../toolchain/katana/overview.md)! First, we "
-"need to get Katana running. Open a second terminal and execute:"
-msgstr ""
-"¡Ahora, implementémoslo en [Katana](../toolchain/katana/overview.md)! "
-"Primero, necesitamos hacer funcionar a Katana. Abra una segunda terminal y "
-"ejecute:"
-
-#: src/cairo/hello-dojo.md:212 src/deployment/locally.md:13
-msgid ""
-"```bash\n"
-"katana --disable-fee\n"
-"```"
-msgstr ""
-"```bash\n"
-"katana --disable-fee\n"
-"```"
-
-#: src/cairo/hello-dojo.md:216
-msgid ""
-"Success! [Katana](../toolchain/katana/overview.md) should now be running "
-"locally on your machine. Now, let's deploy! In your primary terminal, "
-"execute:"
-msgstr ""
-"¡Éxito! [Katana](../toolchain/katana/overview.md) ahora debería estar "
-"ejecutándose localmente en su máquina. ¡Ahora, implementemos! En su terminal "
-"principal, ejecute:"
-
-#: src/cairo/hello-dojo.md:218 src/deployment/locally.md:23
-msgid ""
-"```bash\n"
-"sozo migrate --name test\n"
-"```"
-msgstr ""
-"```bash\n"
-"sozo migrate --name test\n"
-"```"
-
-#: src/cairo/hello-dojo.md:222
-msgid ""
-"This will deploy the artifact to [Katana](../toolchain/katana/overview.md). "
-"You should see terminal output similar to this:"
-msgstr ""
-"Esto implementará el artefacto en [Katana](../toolchain/katana/overview.md). "
-"Deberías ver una salida de terminal similar a esta:"
-
-#: src/cairo/hello-dojo.md:224
-msgid ""
-"```bash\n"
-"Migration account: "
-"0x517ececd29116499f4a1b64b094da79ba08dfd54a3edaa316134c41f8160973\n"
-"\n"
-"World name: test\n"
-"\n"
-"[1] 🌎 Building World state....\n"
-" > No remote World found\n"
-"[2] 🧰 Evaluating Worlds diff....\n"
-" > Total diffs found: 5\n"
-"[3] 📦 Preparing for migration....\n"
-" > Total items to be migrated (5): New 5 Update 0\n"
-"\n"
-"# Executor\n"
-" > Contract address: "
-"0x5c3494b21bc92d40abdc40cdc54af66f22fb92bf876665d982c765a2cc0e06a\n"
-"# Base Contract\n"
-" > Class Hash: "
-"0x7aec2b7d7064c1294a339cd90060331ff704ab573e4ee9a1b699be2215c11c9\n"
-"# World\n"
-" > Contract address: "
-"0x1af130f7b9027f3748c1e3b10ca4a82ac836a30ac4f2f84025e83a99a922a0c\n"
-"# Models (2)\n"
-"Moves\n"
-" > Class hash: "
-"0xb37482a660983dfbf65968caa26eab260d3e1077986454b52ac06e58ae20c4\n"
-"Position\n"
-" > Class hash: "
-"0x6ffc643cbc4b2fb9c424242b18175a5e142269b45f4463d1cd4dddb7a2e5095\n"
-" > Registered at: "
-"0x3e74b09d320ceb5d4401842bec805489019c04202bc23bc67a385f6e537dce0\n"
-"# Contracts (1)\n"
-"actions\n"
-" > Contract address: "
-"0x69a474a39b11d05c07bb9090fd1961b8e1c87aa5643e7b97087cb0c7620356a\n"
-"\n"
-"🎉 Successfully migrated World at address "
-"0x1af130f7b9027f3748c1e3b10ca4a82ac836a30ac4f2f84025e83a99a922a0c\n"
-"\n"
-"✨ Updating manifest.json...\n"
-"\n"
-"✨ Done.\n"
-"\n"
-"```"
-msgstr ""
-"```bash\n"
-"Migration account: "
-"0x517ececd29116499f4a1b64b094da79ba08dfd54a3edaa316134c41f8160973\n"
-"\n"
-"World name: test\n"
-"\n"
-"[1] 🌎 Building World state....\n"
-" > No remote World found\n"
-"[2] 🧰 Evaluating Worlds diff....\n"
-" > Total diffs found: 5\n"
-"[3] 📦 Preparing for migration....\n"
-" > Total items to be migrated (5): New 5 Update 0\n"
-"\n"
-"# Executor\n"
-" > Contract address: "
-"0x5c3494b21bc92d40abdc40cdc54af66f22fb92bf876665d982c765a2cc0e06a\n"
-"# Base Contract\n"
-" > Class Hash: "
-"0x7aec2b7d7064c1294a339cd90060331ff704ab573e4ee9a1b699be2215c11c9\n"
-"# World\n"
-" > Contract address: "
-"0x1af130f7b9027f3748c1e3b10ca4a82ac836a30ac4f2f84025e83a99a922a0c\n"
-"# Models (2)\n"
-"Moves\n"
-" > Class hash: "
-"0xb37482a660983dfbf65968caa26eab260d3e1077986454b52ac06e58ae20c4\n"
-"Position\n"
-" > Class hash: "
-"0x6ffc643cbc4b2fb9c424242b18175a5e142269b45f4463d1cd4dddb7a2e5095\n"
-" > Registered at: "
-"0x3e74b09d320ceb5d4401842bec805489019c04202bc23bc67a385f6e537dce0\n"
-"# Contracts (1)\n"
-"actions\n"
-" > Contract address: "
-"0x69a474a39b11d05c07bb9090fd1961b8e1c87aa5643e7b97087cb0c7620356a\n"
-"\n"
-"🎉 Successfully migrated World at address "
-"0x1af130f7b9027f3748c1e3b10ca4a82ac836a30ac4f2f84025e83a99a922a0c\n"
-"\n"
-"✨ Updating manifest.json...\n"
-"\n"
-"✨ Done.\n"
-"\n"
-"```"
-
-#: src/cairo/hello-dojo.md:260
-msgid ""
-"Your 🌎 is now deployed at "
-"`0x1af130f7b9027f3748c1e3b10ca4a82ac836a30ac4f2f84025e83a99a922a0c`!"
-msgstr ""
-"¡Su 🌎 ahora está implementado en "
-"`0x1af130f7b9027f3748c1e3b10ca4a82ac836a30ac4f2f84025e83a99a922a0c`!"
-
-#: src/cairo/hello-dojo.md:262
-msgid "This establishes the world address for your project."
-msgstr "Esto establece la dirección del World de su proyecto."
-
-#: src/cairo/hello-dojo.md:264
-msgid ""
-"Let's discuss the `Scarb.toml` file in the project. This file contains "
-"environment variables that make running CLI commands in your project a "
-"breeze. (Read more about it [here](./config.md)). Make sure your file "
-"specifies the version of Dojo you have installed!. In this case version "
-"`v0.3.0`"
-msgstr ""
-"Analicemos el archivo `Scarb.toml` en el proyecto. Este archivo contiene "
-"variables de entorno que facilitan la ejecución de comandos CLI en su "
-"proyecto. (Lea más sobre esto [aquí](./config.md)). ¡Asegúrese de que su "
-"archivo especifique la versión de Dojo que ha instalado! En este caso "
-"versión `v0.3.0`"
-
-#: src/cairo/hello-dojo.md:266
-msgid ""
-"```toml\n"
-"[dependencies]\n"
-"dojo = { git = \"https://github.com/dojoengine/dojo\", rev = \"v0.3.0\" }\n"
-"```"
-msgstr ""
-"```toml\n"
-"[dependencies]\n"
-"dojo = { git = \"https://github.com/dojoengine/dojo\", rev = \"v0.3.0\" }\n"
-"```"
-
-#: src/cairo/hello-dojo.md:271
-msgid "### Indexing"
-msgstr "### Indexación"
-
-#: src/cairo/hello-dojo.md:273
-msgid ""
-"With your local world address established, let's delve into indexing. You "
-"can index the entire world. Open a new terminal and input this simple "
-"command:"
-msgstr ""
-"Una vez establecida su dirección del World local, profundicemos en la "
-"indexación. Puedes indexar el World entero. Abra una nueva terminal e "
-"ingrese este simple comando:"
-
-#: src/cairo/hello-dojo.md:275
-msgid ""
-"```bash\n"
-"torii --world "
-"0x1af130f7b9027f3748c1e3b10ca4a82ac836a30ac4f2f84025e83a99a922a0c\n"
-"```"
-msgstr ""
-"```bash\n"
-"torii --world "
-"0x1af130f7b9027f3748c1e3b10ca4a82ac836a30ac4f2f84025e83a99a922a0c\n"
-"```"
-
-#: src/cairo/hello-dojo.md:279
-msgid ""
-"Running the command mentioned above starts a Torii server on your local "
-"machine. This server uses SQLite as its database and is accessible at "
-"http://0.0.0.0:8080/graphql. Torii will automatically organize your data "
-"into tables, making it easy for you to perform queries using GraphQL. When "
-"you run the command, you'll see terminal output that looks something like "
-"this:"
-msgstr ""
-"Al ejecutar el comando mencionado anteriormente se inicia un servidor Torii "
-"en su máquina local. Este servidor utiliza SQLite como base de datos y se "
-"puede acceder a él en http://0.0.0.0:8080/graphql. Torii organizará "
-"automáticamente sus datos en tablas, lo que le facilitará realizar consultas "
-"utilizando GraphQL. Cuando ejecute el comando, verá una salida de terminal "
-"similar a esta:"
-
-#: src/cairo/hello-dojo.md:281
-msgid ""
-"```bash\n"
-"2023-10-18T06:49:48.184233Z INFO torii::server: 🚀 Torii listening at "
-"http://0.0.0.0:8080\n"
-"2023-10-18T06:49:48.184244Z INFO torii::server: Graphql playground: "
-"http://0.0.0.0:8080/graphql\n"
-"\n"
-"2023-10-18T06:49:48.185648Z INFO torii_core::engine: processed block: 0\n"
-"2023-10-18T06:49:48.186129Z INFO torii_core::engine: processed block: 1\n"
-"2023-10-18T06:49:48.186720Z INFO torii_core::engine: processed block: 2\n"
-"2023-10-18T06:49:48.187202Z INFO torii_core::engine: processed block: 3\n"
-"2023-10-18T06:49:48.187674Z INFO torii_core::engine: processed block: 4\n"
-"2023-10-18T06:49:48.188215Z INFO torii_core::engine: processed block: 5\n"
-"2023-10-18T06:49:48.188611Z INFO torii_core::engine: processed block: 6\n"
-"2023-10-18T06:49:48.188985Z INFO torii_core::engine: processed block: 7\n"
-"2023-10-18T06:49:48.199592Z INFO torii_core::processors::register_model: "
-"Registered model: Moves\n"
-"2023-10-18T06:49:48.210032Z INFO torii_core::processors::register_model: "
-"Registered model: Position\n"
-"2023-10-18T06:49:48.210571Z INFO torii_core::engine: processed block: 8\n"
-"2023-10-18T06:49:48.211678Z INFO torii_core::engine: processed block: 9\n"
-"2023-10-18T06:49:48.212335Z INFO torii_core::engine: processed block: 10\n"
-"\n"
-"```"
-msgstr ""
-"```bash\n"
-"2023-10-18T06:49:48.184233Z INFO torii::server: 🚀 Torii listening at "
-"http://0.0.0.0:8080\n"
-"2023-10-18T06:49:48.184244Z INFO torii::server: Graphql playground: "
-"http://0.0.0.0:8080/graphql\n"
-"\n"
-"2023-10-18T06:49:48.185648Z INFO torii_core::engine: processed block: 0\n"
-"2023-10-18T06:49:48.186129Z INFO torii_core::engine: processed block: 1\n"
-"2023-10-18T06:49:48.186720Z INFO torii_core::engine: processed block: 2\n"
-"2023-10-18T06:49:48.187202Z INFO torii_core::engine: processed block: 3\n"
-"2023-10-18T06:49:48.187674Z INFO torii_core::engine: processed block: 4\n"
-"2023-10-18T06:49:48.188215Z INFO torii_core::engine: processed block: 5\n"
-"2023-10-18T06:49:48.188611Z INFO torii_core::engine: processed block: 6\n"
-"2023-10-18T06:49:48.188985Z INFO torii_core::engine: processed block: 7\n"
-"2023-10-18T06:49:48.199592Z INFO torii_core::processors::register_model: "
-"Registered model: Moves\n"
-"2023-10-18T06:49:48.210032Z INFO torii_core::processors::register_model: "
-"Registered model: Position\n"
-"2023-10-18T06:49:48.210571Z INFO torii_core::engine: processed block: 8\n"
-"2023-10-18T06:49:48.211678Z INFO torii_core::engine: processed block: 9\n"
-"2023-10-18T06:49:48.212335Z INFO torii_core::engine: processed block: 10\n"
-"\n"
-"```"
-
-#: src/cairo/hello-dojo.md:301
-msgid ""
-"You can observe that our `Moves` and `Position` models have been "
-"successfully registered.\n"
-"Next, let's use the GraphiQL IDE to retrieve data from the `Moves` model. In "
-"your web browser, navigate to `http://0.0.0.0:8080/graphql`, and enter the "
-"following query:"
-msgstr ""
-"Puede observar que nuestros Models `Moves` y `Position` se han registrado "
-"correctamente.\n"
-"A continuación, usemos el IDE GraphiQL para recuperar datos del Model "
-"`Moves`. En su navegador web, navegue hasta `http://0.0.0.0:8080/graphql` e "
-"ingrese la siguiente consulta:"
-
-#: src/cairo/hello-dojo.md:304
-msgid ""
-"```graphql\n"
-"query {\n"
-" model(id: \"Moves\") {\n"
-" id\n"
-" name\n"
-" class_hash\n"
-" transaction_hash\n"
-" created_at\n"
-" }\n"
-"}\n"
-"```"
-msgstr ""
-"```graphql\n"
-"query {\n"
-" model(id: \"Moves\") {\n"
-" id\n"
-" name\n"
-" class_hash\n"
-" transaction_hash\n"
-" created_at\n"
-" }\n"
-"}\n"
-"```"
-
-#: src/cairo/hello-dojo.md:316 src/toolchain/torii/graphql.md:41
-#: src/toolchain/torii/graphql.md:73
-msgid "After you run the query, you will receive an output like this:"
-msgstr "Después de ejecutar la consulta, recibirá un resultado como este:"
-
-#: src/cairo/hello-dojo.md:318
-msgid ""
-"```json\n"
-"{\n"
-" \"data\": {\n"
-" \"model\": {\n"
-" \"id\": \"Moves\",\n"
-" \"name\": \"Moves\",\n"
-" \"class_hash\": "
-"\"0xb37482a660983dfbf65968caa26eab260d3e1077986454b52ac06e58ae20c4\",\n"
-" \"transaction_hash\": \"\",\n"
-" \"created_at\": \"2023-10-18 06:49:48\"\n"
-" }\n"
-" }\n"
-"}\n"
-"```"
-msgstr ""
-"```json\n"
-"{\n"
-" \"data\": {\n"
-" \"model\": {\n"
-" \"id\": \"Moves\",\n"
-" \"name\": \"Moves\",\n"
-" \"class_hash\": "
-"\"0xb37482a660983dfbf65968caa26eab260d3e1077986454b52ac06e58ae20c4\",\n"
-" \"transaction_hash\": \"\",\n"
-" \"created_at\": \"2023-10-18 06:49:48\"\n"
-" }\n"
-" }\n"
-"}\n"
-"```"
-
-#: src/cairo/hello-dojo.md:332
-msgid ""
-"Awesome, now let's work with subscriptions to get real-time updates. Let's "
-"clean up your workspace on the GraphiQL IDE and input the following "
-"subscription:"
-msgstr ""
-"Genial, ahora trabajemos con las suscripciones para obtener actualizaciones "
-"en tiempo real. Limpiemos su espacio de trabajo en GraphiQL IDE e ingresemos "
-"la siguiente suscripción:"
-
-#: src/cairo/hello-dojo.md:334
-msgid ""
-"```graphql\n"
-"subscription {\n"
-" entityUpdated {\n"
-" id\n"
-" keys\n"
-" model_names\n"
-" event_id\n"
-" created_at\n"
-" updated_at\n"
-" }\n"
-"}\n"
-"```"
-msgstr ""
-"```graphql\n"
-"subscription {\n"
-" entityUpdated {\n"
-" id\n"
-" keys\n"
-" model_names\n"
-" event_id\n"
-" created_at\n"
-" updated_at\n"
-" }\n"
-"}\n"
-"```"
-
-#: src/cairo/hello-dojo.md:347
-msgid ""
-"Once you execute the subscription, you will receive notifications whenever "
-"new entities are updated or created. For now, don't make any changes to it "
-"and proceed to create a new entity."
-msgstr ""
-"Una vez que ejecute la suscripción, recibirá notificaciones cada vez que se "
-"actualicen o creen nuevas entidades. Por ahora, no le hagas ningún cambio y "
-"procede a crear una nueva entidad."
-
-#: src/cairo/hello-dojo.md:349
-msgid ""
-"To accomplish this, we have to go back to our primary terminal and check the "
-"contracts section."
-msgstr ""
-"Para ello tenemos que volver a nuestro terminal principal y consultar el "
-"apartado de contratos."
-
-#: src/cairo/hello-dojo.md:351
-msgid ""
-"```bash\n"
-"# Contracts (1)\n"
-"actions\n"
-" > Contract address: "
-"0x69a474a39b11d05c07bb9090fd1961b8e1c87aa5643e7b97087cb0c7620356a\n"
-"```"
-msgstr ""
-"```bash\n"
-"# Contracts (1)\n"
-"actions\n"
-" > Contract address: "
-"0x69a474a39b11d05c07bb9090fd1961b8e1c87aa5643e7b97087cb0c7620356a\n"
-"```"
-
-#: src/cairo/hello-dojo.md:357
-msgid ""
-"We have to use `actions` contract address to start to create entities. In "
-"your main local terminal, run the following command:"
-msgstr ""
-"Tenemos que usar la dirección del contrato de `actions` para comenzar a "
-"crear entidades. En su terminal local principal, ejecute el siguiente "
-"comando:"
-
-#: src/cairo/hello-dojo.md:359
-msgid ""
-"```bash\n"
-"sozo execute "
-"0x69a474a39b11d05c07bb9090fd1961b8e1c87aa5643e7b97087cb0c7620356a spawn\n"
-"```"
-msgstr ""
-"```bash\n"
-"sozo execute "
-"0x69a474a39b11d05c07bb9090fd1961b8e1c87aa5643e7b97087cb0c7620356a spawn\n"
-"```"
-
-#: src/cairo/hello-dojo.md:363
-msgid ""
-"By running this command, you've activated the spawn system, resulting in the "
-"creation of a new entity. This action establishes a local world that you can "
-"interact with."
-msgstr ""
-"Al ejecutar este comando, ha activado el sistema de generación, lo que "
-"resulta en la creación de una nueva entidad. Esta acción establece un World "
-"local con el que puedes interactuar."
-
-#: src/cairo/hello-dojo.md:365
-msgid ""
-"Now, go back to your GraphiQL IDE, and you will notice that you have "
-"received the subscription's results, which should look something like this:"
-msgstr ""
-"Ahora, regrese a su IDE GraphiQL y notará que ha recibido los resultados de "
-"la suscripción, que deberían verse así:"
-
-#: src/cairo/hello-dojo.md:367
-msgid ""
-"```json\n"
-"{\n"
-" \"data\": {\n"
-" \"entityUpdated\": {\n"
-" \"id\": "
-"\"0x28cd7ee02d7f6ec9810e75b930e8e607793b302445abbdee0ac88143f18da20\",\n"
-" \"keys\": [\n"
-" \"0x517ececd29116499f4a1b64b094da79ba08dfd54a3edaa316134c41f8160973\"\n"
-" ],\n"
-" \"model_names\": \"Moves\",\n"
-" \"event_id\": "
-"\"0x000000000000000000000000000000000000000000000000000000000000000b:0x0000:0x0000\",\n"
-" \"created_at\": \"2023-10-18 06:53:12\",\n"
-" \"updated_at\": \"2023-10-18 06:53:12\"\n"
-" }\n"
-" }\n"
-"}\n"
-"--------------------------------------------------------------------------------------------------------\n"
-"{\n"
-" \"data\": {\n"
-" \"entityUpdated\": {\n"
-" \"id\": "
-"\"0x28cd7ee02d7f6ec9810e75b930e8e607793b302445abbdee0ac88143f18da20\",\n"
-" \"keys\": [\n"
-" \"0x517ececd29116499f4a1b64b094da79ba08dfd54a3edaa316134c41f8160973\"\n"
-" ],\n"
-" \"model_names\": \"Moves,Position\",\n"
-" \"event_id\": "
-"\"0x000000000000000000000000000000000000000000000000000000000000000b:0x0000:0x0001\",\n"
-" \"created_at\": \"2023-10-18 06:53:12\",\n"
-" \"updated_at\": \"2023-10-18 06:53:12\"\n"
-" }\n"
-" }\n"
-"}\n"
-"```"
-msgstr ""
-"```json\n"
-"{\n"
-" \"data\": {\n"
-" \"entityUpdated\": {\n"
-" \"id\": "
-"\"0x28cd7ee02d7f6ec9810e75b930e8e607793b302445abbdee0ac88143f18da20\",\n"
-" \"keys\": [\n"
-" \"0x517ececd29116499f4a1b64b094da79ba08dfd54a3edaa316134c41f8160973\"\n"
-" ],\n"
-" \"model_names\": \"Moves\",\n"
-" \"event_id\": "
-"\"0x000000000000000000000000000000000000000000000000000000000000000b:0x0000:0x0000\",\n"
-" \"created_at\": \"2023-10-18 06:53:12\",\n"
-" \"updated_at\": \"2023-10-18 06:53:12\"\n"
-" }\n"
-" }\n"
-"}\n"
-"--------------------------------------------------------------------------------------------------------\n"
-"{\n"
-" \"data\": {\n"
-" \"entityUpdated\": {\n"
-" \"id\": "
-"\"0x28cd7ee02d7f6ec9810e75b930e8e607793b302445abbdee0ac88143f18da20\",\n"
-" \"keys\": [\n"
-" \"0x517ececd29116499f4a1b64b094da79ba08dfd54a3edaa316134c41f8160973\"\n"
-" ],\n"
-" \"model_names\": \"Moves,Position\",\n"
-" \"event_id\": "
-"\"0x000000000000000000000000000000000000000000000000000000000000000b:0x0000:0x0001\",\n"
-" \"created_at\": \"2023-10-18 06:53:12\",\n"
-" \"updated_at\": \"2023-10-18 06:53:12\"\n"
-" }\n"
-" }\n"
-"}\n"
-"```"
-
-#: src/cairo/hello-dojo.md:399
-msgid ""
-"In the GraphiQL IDE, by clicking the `DOCS`-button on the right, you can "
-"open the API documentation. This documentation is auto-generated based on "
-"our schema definition and displays all API operations and data types of our "
-"schema.. In order to know more about query and subscription, you can jump to "
-"[GraphQL](../toolchain/torii/graphql.md) section.\n"
-"We've covered quite a bit! Here's a recap:"
-msgstr ""
-"En GraphiQL IDE, al hacer clic en el botón `DOCS` a la derecha, puede abrir "
-"la documentación de la API. Esta documentación se genera automáticamente en "
-"función de nuestra definición de esquema y muestra todas las operaciones API "
-"y tipos de datos de nuestro esquema. Para saber más sobre consultas y "
-"suscripción, puede ir a [GraphQL](../toolchain/torii/graphql .md) sección.\n"
-"¡Hemos cubierto bastante! Aquí hay un resumen:"
-
-#: src/cairo/hello-dojo.md:402
-msgid ""
-"- Built a Dojo world\n"
-"- Deployed the project to Katana\n"
-"- Indexed the world with Torii\n"
-"- Ran the spawn system locally\n"
-"- Interacted with GraphQL"
-msgstr ""
-"- Construyó un World en Dojo\n"
-"- Implementé el proyecto en Katana.\n"
-"- Indexado el World con Torii.\n"
-"- Ejecuté el sistema de generación localmente.\n"
-"- Interactuado con GraphQL"
-
-#: src/cairo/hello-dojo.md:408
-msgid "### Next Steps"
-msgstr "### Próximos pasos"
-
-#: src/cairo/hello-dojo.md:410
-msgid ""
-"This overview provides a rapid end-to-end glimpse into Dojo. However, the "
-"potential of these worlds is vast! Designed to manage hundreds of systems "
-"and components, Dojo is equipped for expansive creativity. So, what will you "
-"craft next?"
-msgstr ""
-"Esta descripción general proporciona una visión rápida de principio a fin de "
-"Dojo. Sin embargo, ¡El potencial de estos Worlds es enorme! Diseñado para "
-"gestionar cientos de Systems y componentes, Dojo está equipado para una "
-"creatividad expansiva. Entonces, ¿qué vas a crear a continuación?"
-
-#: src/cairo/entities.md:1
-msgid "## Entities"
-msgstr "## Entidades"
-
-#: src/cairo/entities.md:3
-msgid ""
-"> Entities are the primary key value within the world, to which components "
-"can be attached."
-msgstr ""
-"> Las entidades son el valor clave principal dentro del World, al que se "
-"pueden adjuntar componentes."
-
-#: src/cairo/entities.md:5
-msgid ""
-"Different ECS systems handle entities in various ways. In Dojo, entities are "
-"treated as a primary key value within the world, to which components can be "
-"attached. To illustrate this concept, consider a simple example of a "
-"character in a game that has a `Moves` and a `Position` component."
-msgstr ""
-"Los diferentes Systems ECS manejan entidades de diversas maneras. En Dojo, "
-"las entidades se tratan como un valor de clave principal dentro del World, "
-"al que se pueden adjuntar componentes. Para ilustrar este concepto, "
-"considere un ejemplo simple de un personaje en un juego que tiene un "
-"componente `Moves` y `Position`."
-
-#: src/cairo/entities.md:7
-msgid ""
-"When defining the components for this entity, it is important to note that "
-"we do not reference the entity directly. Instead, we simply provide two "
-"structs that the entity will contain. "
-msgstr ""
-"Al definir los componentes de esta entidad, es importante tener en cuenta "
-"que no hacemos referencia a la entidad directamente. En lugar de eso, "
-"simplemente proporcionamos dos estructuras que contendrá la entidad."
-
-#: src/cairo/entities.md:9
-msgid ""
-"```rust,ignore\n"
-"#[derive(Component, Copy, Drop, Serde, SerdeLen)]\n"
-"struct Moves {\n"
-" #[key]\n"
-" player: ContractAddress,\n"
-" remaining: u8,\n"
-"}\n"
-"\n"
-"#[derive(Component, Copy, Drop, Serde, SerdeLen)]\n"
-"struct Health {\n"
-" #[key]\n"
-" player: ContractAddress,\n"
-" x: u32,\n"
-" y: u32\n"
-"}\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-"#[derive(Component, Copy, Drop, Serde, SerdeLen)]\n"
-"struct Moves {\n"
-" #[key]\n"
-" player: ContractAddress,\n"
-" remaining: u8,\n"
-"}\n"
-"\n"
-"#[derive(Component, Copy, Drop, Serde, SerdeLen)]\n"
-"struct Health {\n"
-" #[key]\n"
-" player: ContractAddress,\n"
-" x: u32,\n"
-" y: u32\n"
-"}\n"
-"```"
-
-#: src/cairo/entities.md:26
-msgid ""
-"Now, let's create a `Spawn` for the character. It is important to note that "
-"we have not explicitly defined an Entity anywhere. Instead, we use the `ctx."
-"origin` to reference the current entity."
-msgstr ""
-"Ahora, creemos un `Spawn` para el personaje. Es importante tener en cuenta "
-"que no hemos definido explícitamente una Entidad en ninguna parte. En su "
-"lugar, usamos `ctx.origin` para hacer referencia a la entidad actual."
-
-#: src/cairo/entities.md:28
-msgid ""
-"In this example we are using the `ctx.origin` to reference the current "
-"entity."
-msgstr ""
-"En este ejemplo estamos usando `ctx.origin` para hacer referencia a la "
-"entidad actual."
-
-#: src/cairo/entities.md:30
-msgid ""
-"```rust,ignore\n"
-"#[system]\n"
-"mod spawn {\n"
-" use array::ArrayTrait;\n"
-" use box::BoxTrait;\n"
-" use traits::Into;\n"
-" use dojo::world::Context;\n"
-"\n"
-" use dojo_examples::components::Position;\n"
-" use dojo_examples::components::Moves;\n"
-"\n"
-" fn execute(ctx: Context) {\n"
-" let position = get!(ctx.world, ctx.origin, (Position));\n"
-" set!(\n"
-" ctx.world,\n"
-" (\n"
-" Moves {\n"
-" player: ctx.origin, remaining: 10\n"
-" }, Position {\n"
-" player: ctx.origin, x: position.x + 10, y: position.y + "
-"10\n"
-" },\n"
-" )\n"
-" );\n"
-" return ();\n"
-" }\n"
-"}\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-"#[system]\n"
-"mod spawn {\n"
-" use array::ArrayTrait;\n"
-" use box::BoxTrait;\n"
-" use traits::Into;\n"
-" use dojo::world::Context;\n"
-"\n"
-" use dojo_examples::components::Position;\n"
-" use dojo_examples::components::Moves;\n"
-"\n"
-" fn execute(ctx: Context) {\n"
-" let position = get!(ctx.world, ctx.origin, (Position));\n"
-" set!(\n"
-" ctx.world,\n"
-" (\n"
-" Moves {\n"
-" player: ctx.origin, remaining: 10\n"
-" }, Position {\n"
-" player: ctx.origin, x: position.x + 10, y: position.y + "
-"10\n"
-" },\n"
-" )\n"
-" );\n"
-" return ();\n"
-" }\n"
-"}\n"
-"```"
-
-#: src/cairo/entities.md:58
-msgid ""
-"> ECS Theory: Plenty has been written on ECS systems, to go deeper read [ECS-"
-"FAQ](https://github.com/SanderMertens/ecs-faq)"
-msgstr ""
-"> Teoría de ECS: Se ha escrito mucho sobre los Systems ECS; para "
-"profundizar, lea [ECS-FAQ](https://github.com/SanderMertens/ecs-faq)"
-
-#: src/cairo/testing.md:1
-msgid "## Testing"
-msgstr "## Testing"
-
-#: src/cairo/testing.md:3
-msgid ""
-"Testing is a crucial part of any software development process. Dojo provides "
-"a testing framework that allows you to write tests for your smart contracts. "
-"Since Dojo uses a custom compiler, you need to use `sozo` to test your "
-"contracts."
-msgstr ""
-"Las pruebas son una parte crucial de cualquier proceso de desarrollo de "
-"software. Dojo proporciona un marco de prueba que le permite escribir "
-"pruebas para sus smart contract. Dado que Dojo usa un compilador "
-"personalizado, necesitas usar `sozo` para probar tus contratos."
-
-#: src/cairo/testing.md:5
-msgid "From your project directory, simply:"
-msgstr "Desde el directorio de su proyecto, simplemente:"
-
-#: src/cairo/testing.md:7
-msgid ""
-"```shell\n"
-"sozo test\n"
-"```"
-msgstr ""
-"```shell\n"
-"sozo test\n"
-"```"
-
-#: src/cairo/testing.md:11
-msgid "This will search for all tests within your project and run them."
-msgstr "Esto buscará todas las pruebas dentro de su proyecto y las ejecutará."
-
-#: src/cairo/testing.md:14
-msgid "### Writing Unit Tests"
-msgstr "### Escritura de Tests Unitarios"
-
-#: src/cairo/testing.md:16
-msgid ""
-"It is best practise to include unit tests in the same file as the model/"
-"System you are writing."
-msgstr ""
-"Se recomienda incluir pruebas unitarias en el mismo archivo que el Model/"
-"Sistema que está escribiendo."
-
-#: src/cairo/testing.md:18
-msgid ""
-"Lets show a `model` test example from the [dojo-starter](https://github.com/"
-"dojoengine/dojo-starter):"
-msgstr ""
-"Mostremos un ejemplo de test de `model` de [dojo-starter] (https://github."
-"com/dojoengine/dojo-starter):"
-
-#: src/cairo/testing.md:20
-msgid "`models.cairo`"
-msgstr "`models.cairo`"
-
-#: src/cairo/testing.md:21
-msgid ""
-"```rust,ignore\n"
-"\n"
-"...rest of code\n"
-"\n"
-"#[cfg(test)]\n"
-"mod tests {\n"
-" use debug::PrintTrait;\n"
-" use super::{Position, PositionTrait};\n"
-"\n"
-" #[test]\n"
-" #[available_gas(100000)]\n"
-" fn test_position_is_zero() {\n"
-" let player = starknet::contract_address_const::<0x0>();\n"
-" assert(PositionTrait::is_zero(Position { player, x: 0, y: 0 }), 'not "
-"zero');\n"
-" }\n"
-"\n"
-" #[test]\n"
-" #[available_gas(100000)]\n"
-" fn test_position_is_equal() {\n"
-" let player = starknet::contract_address_const::<0x0>();\n"
-" let position = Position { player, x: 420, y: 0 };\n"
-" position.print();\n"
-" assert(PositionTrait::is_equal(position, Position { player, x: 420, "
-"y: 0 }), 'not equal');\n"
-" }\n"
-"}\n"
-"\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-"\n"
-"...rest of code\n"
-"\n"
-"#[cfg(test)]\n"
-"mod tests {\n"
-" use debug::PrintTrait;\n"
-" use super::{Position, PositionTrait};\n"
-"\n"
-" #[test]\n"
-" #[available_gas(100000)]\n"
-" fn test_position_is_zero() {\n"
-" let player = starknet::contract_address_const::<0x0>();\n"
-" assert(PositionTrait::is_zero(Position { player, x: 0, y: 0 }), 'not "
-"zero');\n"
-" }\n"
-"\n"
-" #[test]\n"
-" #[available_gas(100000)]\n"
-" fn test_position_is_equal() {\n"
-" let player = starknet::contract_address_const::<0x0>();\n"
-" let position = Position { player, x: 420, y: 0 };\n"
-" position.print();\n"
-" assert(PositionTrait::is_equal(position, Position { player, x: 420, "
-"y: 0 }), 'not equal');\n"
-" }\n"
-"}\n"
-"\n"
-"```"
-
-#: src/cairo/testing.md:49
-msgid ""
-"In this test we are testing the `is_zero` and `is_equal` functions of the "
-"`Position` model. It is good practise to test all functions of your models."
-msgstr ""
-"En esta prueba estamos probando las funciones `is_zero` y `is_equal` del "
-"Model `Position`. Es una buena práctica probar todas las funciones de sus "
-"Models."
-
-#: src/cairo/testing.md:52
-msgid "### Writing Integration Tests"
-msgstr "### Redacción de Tests de Integración"
-
-#: src/cairo/testing.md:54
-msgid ""
-"Integration tests are e2e tests that test the entire system. You can write "
-"integration tests for your world by creating a `tests` directory in your "
-"project root. Then create a file for each integration test you want to write."
-msgstr ""
-"Los tests de integración son tests e2e que prueban todo el sistema. Puede "
-"escribir pruebas de integración para su World creando un directorio `tests` "
-"en la raíz de su proyecto. Luego cree un archivo para cada prueba de "
-"integración que desee escribir."
-
-#: src/cairo/testing.md:56
-msgid ""
-"This is the example from the [dojo-starter](https://github.com/dojoengine/"
-"dojo-starter):"
-msgstr ""
-"Este es el ejemplo de [dojo-starter](https://github.com/dojoengine/dojo-"
-"starter):"
-
-#: src/cairo/testing.md:58
-msgid "`move.cairo`"
-msgstr "`move.cairo`"
-
-#: src/cairo/testing.md:59
-msgid ""
-"```rust,ignore\n"
-"#[cfg(test)]\n"
-"mod tests {\n"
-" use dojo::world::{IWorldDispatcherTrait, IWorldDispatcher};\n"
-" use dojo::test_utils::{spawn_test_world, deploy_contract};\n"
-" use dojo_examples::models::{position, moves};\n"
-" use dojo_examples::models::{Position, Moves, Direction};\n"
-" \n"
-" use super::{\n"
-" IPlayerActionsDispatcher, IPlayerActionsDispatcherTrait,\n"
-" player_actions_external as player_actions\n"
-" };\n"
-"\n"
-" //OFFSET is defined in constants.cairo\n"
-" use dojo_examples::constants::OFFSET;\n"
-"\n"
-" //{Event and Moved are defined in events.cairo}\n"
-" #[event]\n"
-" use dojo_examples::events::{Event, Moved};\n"
-"\n"
-" // helper setup function\n"
-" // reusable function for tests\n"
-" fn setup_world() -> IPlayerActionsDispatcher {\n"
-" // components\n"
-" let mut models = array![position::TEST_CLASS_HASH, moves::"
-"TEST_CLASS_HASH];\n"
-"\n"
-" // deploy world with models\n"
-" let world = spawn_test_world(models);\n"
-" \n"
-" // deploy systems contract\n"
-" let contract_address = world\n"
-" .deploy_contract('salt', player_actions::TEST_CLASS_HASH."
-"try_into().unwrap());\n"
-" let player_actions_system = IPlayerActionsDispatcher "
-"{ contract_address };\n"
-"\n"
-" player_actions_system\n"
-" }\n"
-"\n"
-"\n"
-" #[test]\n"
-" #[available_gas(30000000)]\n"
-" fn test_move() {\n"
-" // caller\n"
-" let caller = starknet::contract_address_const::<0x0>();\n"
-"\n"
-" let player_actions_system = setup_world();\n"
-" \n"
-" // System calls\n"
-" player_actions_system.spawn();\n"
-" player_actions_system.move(Direction::Right(()));\n"
-"\n"
-" // check moves\n"
-" let moves = get!(world, caller, (Moves));\n"
-" assert(moves.remaining == 99, 'moves is wrong');\n"
-"\n"
-" // check position\n"
-" let new_position = get!(world, caller, (Position));\n"
-" assert(new_position.x == (OFFSET + 1).try_into().unwrap(), 'position "
-"x is wrong');\n"
-" assert(new_position.y == OFFSET.try_into().unwrap(), 'position y is "
-"wrong');\n"
-" }\n"
-"}\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-"#[cfg(test)]\n"
-"mod tests {\n"
-" use dojo::world::{IWorldDispatcherTrait, IWorldDispatcher};\n"
-" use dojo::test_utils::{spawn_test_world, deploy_contract};\n"
-" use dojo_examples::models::{position, moves};\n"
-" use dojo_examples::models::{Position, Moves, Direction};\n"
-" \n"
-" use super::{\n"
-" IPlayerActionsDispatcher, IPlayerActionsDispatcherTrait,\n"
-" player_actions_external as player_actions\n"
-" };\n"
-"\n"
-" //OFFSET is defined in constants.cairo\n"
-" use dojo_examples::constants::OFFSET;\n"
-"\n"
-" //{Event and Moved are defined in events.cairo}\n"
-" #[event]\n"
-" use dojo_examples::events::{Event, Moved};\n"
-"\n"
-" // helper setup function\n"
-" // reusable function for tests\n"
-" fn setup_world() -> IPlayerActionsDispatcher {\n"
-" // components\n"
-" let mut models = array![position::TEST_CLASS_HASH, moves::"
-"TEST_CLASS_HASH];\n"
-"\n"
-" // deploy world with models\n"
-" let world = spawn_test_world(models);\n"
-" \n"
-" // deploy systems contract\n"
-" let contract_address = world\n"
-" .deploy_contract('salt', player_actions::TEST_CLASS_HASH."
-"try_into().unwrap());\n"
-" let player_actions_system = IPlayerActionsDispatcher "
-"{ contract_address };\n"
-"\n"
-" player_actions_system\n"
-" }\n"
-"\n"
-"\n"
-" #[test]\n"
-" #[available_gas(30000000)]\n"
-" fn test_move() {\n"
-" // caller\n"
-" let caller = starknet::contract_address_const::<0x0>();\n"
-"\n"
-" let player_actions_system = setup_world();\n"
-" \n"
-" // System calls\n"
-" player_actions_system.spawn();\n"
-" player_actions_system.move(Direction::Right(()));\n"
-"\n"
-" // check moves\n"
-" let moves = get!(world, caller, (Moves));\n"
-" assert(moves.remaining == 99, 'moves is wrong');\n"
-"\n"
-" // check position\n"
-" let new_position = get!(world, caller, (Position));\n"
-" assert(new_position.x == (OFFSET + 1).try_into().unwrap(), 'position "
-"x is wrong');\n"
-" assert(new_position.y == OFFSET.try_into().unwrap(), 'position y is "
-"wrong');\n"
-" }\n"
-"}\n"
-"```"
-
-#: src/cairo/testing.md:121
-msgid "#### Useful Dojo Test Functions"
-msgstr "#### Funciones útiles de Test de Dojo"
-
-#: src/cairo/testing.md:123
-msgid ""
-"`spawn_test_world(models, systems)` - This function will create a test world "
-"with the models and systems you pass in. It will also deploy the world and "
-"register the models and systems."
-msgstr ""
-"`spawn_test_world(models, systems)`: esta función creará un World de prueba "
-"con los Models y Systems que ingrese. También implementará el World y "
-"registrará los Models y Systems."
-
-#: src/cairo/modules.md:1
-msgid "## Dojo Modules"
-msgstr "## Módulos Dojo"
-
-#: src/cairo/modules.md:3
-msgid ""
-"With standardization of Systems and Components we can create a module "
-"architecture for Dojo. This allows us to create reusable modules that can be "
-"used in any Dojo world."
-msgstr ""
-"Con la estandarización de Systems y Componentes podemos crear una "
-"arquitectura de módulo para Dojo. Esto nos permite crear módulos "
-"reutilizables que se pueden usar en cualquier World Dojo."
-
-#: src/cairo/modules.md:5
-msgid "### Module Architecture"
-msgstr "### Arquitectura del Módulo"
-
-#: src/cairo/modules.md:7
-msgid ""
-"Think of modules as ERCs for Dojo. They are a standard way to create and "
-"share functionality. Modules are a collection of Systems and Components that "
-"can be imported into a Dojo world. Dojo is following the ERC patterns and "
-"has modules already defined for ERC20, ERC721, and ERC1155."
-msgstr ""
-"Piense en los módulos como ERC para Dojo. Son una forma estándar de crear y "
-"compartir funciones. Los módulos son una colección de Systems y componentes "
-"que se pueden importar a un World Dojo. Dojo sigue los patrones de ERC y ya "
-"tiene módulos definidos para ERC20, ERC721 y ERC1155."
-
-#: src/cairo/modules/erc20.md:1
-msgid "## ERC20"
-msgstr "## ERC20"
-
-#: src/cairo/modules/erc20.md:3
-msgid ""
-"Dojo's ERC20 module is a standard implementation of the ERC20 token "
-"standard, but it utilizes Dojo Systems and Components. This allows us to "
-"leverage the excellent properties of the ERC20 standard and use it natively "
-"within the Dojo environment."
-msgstr ""
-"El módulo ERC20 de Dojo es una implementación estándar del estándar de token "
-"ERC20, pero utiliza Systems y componentes de Dojo. Esto nos permite "
-"aprovechar las excelentes propiedades del estándar ERC20 y utilizarlo de "
-"forma nativa dentro del entorno Dojo."
-
-#: src/cairo/modules/erc20.md:5
-msgid "### Integration into Your World"
-msgstr "### Integración en Tu World"
-
-#: src/cairo/modules/erc20.md:7
-msgid ""
-"To integrate the ERC20 module into your world, you must first deploy the "
-"ERC20 Dojo contract. Subsequently, install the systems and components into "
-"your world."
-msgstr ""
-"Para integrar el módulo ERC20 en su World, primero debe implementar el "
-"contrato ERC20 Dojo. Posteriormente, instale los Systems y componentes en "
-"su World."
-
-#: src/client/overview.md:1
-msgid "# Overview"
-msgstr "# Descripción General"
-
-#: src/client/overview.md:3
-msgid ""
-"Dojo is BYO client, meaning that you can use any client you want to connect "
-"to the Dojo network."
-msgstr ""
-"Dojo es un cliente BYO, lo que significa que puede utilizar cualquier "
-"cliente que desee para conectarse a la red Dojo."
-
-#: src/client/overview.md:5
-msgid ""
-"- [npm](./npm.md)\n"
-"- [torii](torii.md)"
-msgstr ""
-"- [npm](./npm.md)\n"
-"- [torii](torii.md)"
-
-#: src/client/overview.md:8
-msgid ""
-"> Dojo is always looking to expand these clients, if you would like to "
-"contribute reach out into the [Discord](https://discord.gg/KG9w9BmDrV) "
-msgstr ""
-"> Dojo siempre está buscando expandir estos clientes, si desea contribuir, "
-"comuníquese con [Discord](https://discord.gg/KG9w9BmDrV) "
-
-#: src/client/npm.md:1
-msgid "# Javascript Libraries"
-msgstr "# Bibliotecas Javascript"
-
-#: src/client/npm.md:3
-msgid ""
-"> Javascript is a great way to get started with Dojo. It's easy to use, and "
-"you can get started in minutes."
-msgstr ""
-"> Javascript es una excelente manera de comenzar con Dojo. Es fácil de usar "
-"y puede comenzar en minutos."
-
-#: src/client/npm.md:5
-msgid "### Examples using these:"
-msgstr "### Ejemplos que usan estos:"
-
-#: src/client/npm.md:7
-msgid ""
-"- [Dojo-create-react-app](https://github.com/dojoengine/dojo-starter-react-"
-"app)\n"
-"- [Dojo-starter-phaser](https://github.com/dojoengine/dojo-starter-phaser)"
-msgstr ""
-"- [Dojo-create-react-app](https://github.com/dojoengine/dojo-starter-react-"
-"app)\n"
-"- [Dojo-starter-phaser](https://github.com/dojoengine/dojo-starter-phaser)"
-
-#: src/client/npm.md:10
-msgid "### @dojoengine/core"
-msgstr "### @dojoengine/core"
-
-#: src/client/npm.md:12
-msgid ""
-"This is the lowest level library, and is used by all other downstream "
-"libraries. It contains the core functionality of Dojo and exposes the "
-"contract interfaces. Use it if you want to build your own library on top of "
-"Dojo."
-msgstr ""
-"Esta es la biblioteca de nivel más bajo y la utilizan todas las demás "
-"bibliotecas posteriores. Contiene la funcionalidad principal de Dojo y "
-"expone las interfaces del contrato. Úselo si desea construir su propia "
-"biblioteca sobre Dojo."
-
-#: src/client/npm.md:14
-msgid ""
-"[Repository](https://github.com/dojoengine/packages/tree/main/packages/core)"
-msgstr ""
-"[Repository](https://github.com/dojoengine/packages/tree/main/packages/core)"
-
-#: src/client/npm.md:16
-msgid ""
-"```console\n"
-"bun add @dojoengine/core\n"
-"```"
-msgstr ""
-"```console\n"
-"bun add @dojoengine/core\n"
-"```"
-
-#: src/client/npm.md:20
-msgid "### @dojoengine/create-burner"
-msgstr "### @dojoengine/create-burner"
-
-#: src/client/npm.md:22
-msgid ""
-"Create burner is a simple way to incorporate burner wallets into your Dojo "
-"app."
-msgstr ""
-"Crear burner es una forma sencilla de incorporar carteras quemadoras en su "
-"aplicación Dojo."
-
-#: src/client/npm.md:24
-msgid ""
-"[Repository](https://github.com/dojoengine/packages/tree/main/packages/"
-"create-burner)"
-msgstr ""
-"[Repository](https://github.com/dojoengine/packages/tree/main/packages/"
-"create-burner)"
-
-#: src/client/npm.md:26
-msgid ""
-"```console\n"
-"bun add @dojoengine/create-burner\n"
-"```"
-msgstr ""
-"```console\n"
-"bun add @dojoengine/create-burner\n"
-"```"
-
-#: src/client/npm.md:30
-msgid "### @dojoengine/utils"
-msgstr "### @dojoengine/utils"
-
-#: src/client/npm.md:32
-msgid "These are utils for helping with interfacing dojo."
-msgstr "Estas son utilidades para ayudar con la interfaz de dojo."
-
-#: src/client/npm.md:34
-msgid ""
-"[Reopsitory](https://github.com/dojoengine/packages/tree/main/packages/utils)"
-msgstr ""
-"[Repository](https://github.com/dojoengine/packages/tree/main/packages/utils)"
-
-#: src/client/npm.md:36
-msgid ""
-"```console\n"
-"bun add @dojoengine/utils\n"
-"```"
-msgstr ""
-"```console\n"
-"bun add @dojoengine/utils\n"
-"```"
-
-#: src/client/npm/core.md:1
-msgid "# Core"
-msgstr "# Core"
-
-#: src/client/torii.md:1
-msgid "## Torii Client"
-msgstr "## Cliente Torii"
-
-#: src/client/torii.md:3
-msgid ""
-"Torii client is a rust client for interacting with Dojo worlds. It can be "
-"compiled to wasm to be used in JS clients, or can used directly in Rust "
-"clients or other lower level languages with bindings."
-msgstr ""
-"El cliente Torii es un cliente Rust para interactuar con los Worlds Dojo. Se "
-"puede compilar en wasm para usarlo en clientes JS, o puede usarse "
-"directamente en clientes Rust u otros lenguajes de nivel inferior con "
-"enlaces."
-
-#: src/client/torii.md:5
-msgid "### Usage in Rust projects"
-msgstr "### Uso en proyectos de Rust"
-
-#: src/client/torii.md:7
-msgid "__@kairy__"
-msgstr "__@kairy__"
-
-#: src/client/torii.md:9
-msgid "### Usage in JS Clients"
-msgstr "### Usage in JS Clients"
-
-#: src/toolchain/dojoup.md:1
-msgid "# `dojoup`"
-msgstr "# `dojoup`"
-
-#: src/toolchain/dojoup.md:3
-msgid "Update or revert to a specific Dojo branch with ease."
-msgstr "Actualice o vuelva a una rama de Dojo específica con facilidad."
-
-#: src/toolchain/dojoup.md:5
-msgid "## Installing"
-msgstr "## Instalando"
-
-#: src/toolchain/dojoup.md:11
-msgid "## Usage"
-msgstr "## Uso"
-
-#: src/toolchain/dojoup.md:13
-msgid "To install latest **stable** version:"
-msgstr "Para instalar la última versión **estable**:"
-
-#: src/toolchain/dojoup.md:18
-msgid ""
-"> Note: You may have to install `jq` to use `dojoup`. You can do so with the "
-"following commands:"
-msgstr ""
-"> Nota: Es posible que tengas que instalar `jq` para usar `dojoup`. Puedes "
-"hacerlo con los siguientes comandos:"
-
-#: src/toolchain/dojoup.md:20
-msgid ""
-"```sh \n"
-"# Debian\n"
-"sudo apt-get install jq\n"
-"\n"
-"# Mac\n"
-"brew install jq\n"
-"```"
-msgstr ""
-"```sh \n"
-"# Debian\n"
-"sudo apt-get install jq\n"
-"\n"
-"# Mac\n"
-"brew install jq\n"
-"```"
-
-#: src/toolchain/dojoup.md:28
-msgid "To install a specific **version** (in this case the `nightly` version):"
-msgstr ""
-"Para instalar una **versión** específica (en este caso, la versión "
-"`nightly`):"
-
-#: src/toolchain/dojoup.md:30
-msgid ""
-"```sh\n"
-"dojoup --version nightly\n"
-"```"
-msgstr ""
-"```sh\n"
-"dojoup --version nightly\n"
-"```"
-
-#: src/toolchain/dojoup.md:34
-msgid ""
-"To install a specific **branch** (in this case the `release/0.1.0` branch's "
-"latest commit):"
-msgstr ""
-"Para instalar una **rama** específica (en este caso, la última confirmación "
-"de la rama `release/0.1.0`):"
-
-#: src/toolchain/dojoup.md:36
-msgid ""
-"```sh\n"
-"dojoup --branch release/0.1.0\n"
-"```"
-msgstr ""
-"```sh\n"
-"dojoup --branch release/0.1.0\n"
-"```"
-
-#: src/toolchain/dojoup.md:40
-msgid ""
-"To install a **fork's main branch** (in this case `tarrencev/dojo`'s main "
-"branch):"
-msgstr ""
-"Para instalar una **rama principal de la bifurcación** (en este caso, la "
-"rama principal de `tarrencev/dojo`):"
-
-#: src/toolchain/dojoup.md:42
-msgid ""
-"```sh\n"
-"dojoup --repo tarrencev/dojo\n"
-"```"
-msgstr ""
-"```sh\n"
-"dojoup --repo tarrencev/dojo\n"
-"```"
-
-#: src/toolchain/dojoup.md:46
-msgid ""
-"To install a **specific branch in a fork** (in this case the `patch-10` "
-"branch's latest commit in `tarrencev/dojo`):"
-msgstr ""
-"Para instalar una **rama específica en una bifurcación** (en este caso, la "
-"última confirmación de la rama `patch-10` en `tarrencev/dojo`):"
-
-#: src/toolchain/dojoup.md:48
-msgid ""
-"```sh\n"
-"dojoup --repo tarrencev/dojo --branch patch-10\n"
-"```"
-msgstr ""
-"```sh\n"
-"dojoup --repo tarrencev/dojo --branch patch-10\n"
-"```"
-
-#: src/toolchain/dojoup.md:52
-msgid "To install from a **specific Pull Request**:"
-msgstr "Para instalar desde una **Pull Request específica**:"
-
-#: src/toolchain/dojoup.md:54
-msgid ""
-"```sh\n"
-"dojoup --pr 1071\n"
-"```"
-msgstr ""
-"```sh\n"
-"dojoup --pr 1071\n"
-"```"
-
-#: src/toolchain/dojoup.md:58
-msgid "To install from a **specific commit**:"
-msgstr "Para instalar desde una **commit específico**:"
-
-#: src/toolchain/dojoup.md:60
-msgid ""
-"```sh\n"
-"dojoup -C 94bfdb2\n"
-"```"
-msgstr ""
-"```sh\n"
-"dojoup -C 94bfdb2\n"
-"```"
-
-#: src/toolchain/dojoup.md:64
-msgid ""
-"To install a local directory or repository (e.g. one located at `~/git/"
-"dojo`, assuming you're in the home directory)"
-msgstr ""
-"Para instalar un directorio o repositorio local (por ejemplo, uno ubicado en "
-"`~/git/dojo`, suponiendo que esté en el directorio de inicio)"
-
-#: src/toolchain/dojoup.md:66
-msgid ""
-"##### Note: --branch, --repo, and --version flags are ignored during local "
-"installations."
-msgstr ""
-"##### Nota: Los indicadores --branch, --repo y --version se ignoran durante "
-"las instalaciones locales."
-
-#: src/toolchain/dojoup.md:68
-msgid ""
-"```sh\n"
-"dojoup --path ./git/dojo\n"
-"```"
-msgstr ""
-"```sh\n"
-"dojoup --path ./git/dojo\n"
-"```"
-
-#: src/toolchain/dojoup.md:74
-msgid ""
-"**Tip**: All flags have a single character shorthand equivalent! You can use "
-"`-v` instead of `--version`, etc."
-msgstr ""
-"**Consejo**: ¡Todas las banderas tienen un equivalente taquigráfico de un "
-"solo carácter! Puede usar `-v` en lugar de `--version`, etc."
-
-#: src/toolchain/dojoup.md:78
-msgid "### Precompiled binaries"
-msgstr "### Binarios precompilados"
-
-#: src/toolchain/dojoup.md:80
-msgid ""
-"Precompiled binaries are available from the [GitHub releases page](https://"
-"github.com/dojoengine/dojo/releases).\n"
-"These are better managed by using [Dojoup](#using-dojoup)."
-msgstr ""
-"Los archivos binarios precompilados están disponibles en la [página de "
-"releases de GitHub] (https://github.com/dojoengine/dojo/releases).\n"
-"Estos se gestionan mejor utilizando [Dojoup](#using-dojoup)."
-
-#: src/toolchain/dojoup.md:84
-msgid ""
-"> ℹ️ **Note**\n"
-">\n"
-"> If you're on Windows, you will need to install and use [Git BASH](https://"
-"gitforwindows.org/) or [WSL](https://learn.microsoft.com/en-us/windows/wsl/"
-"install),\n"
-"> as your terminal, since Dojoup currently does not support Powershell or "
-"Cmd."
-msgstr ""
-"> ℹ️ **Nota**\n"
-">\n"
-"> Si estás en Windows, necesitarás instalar y usar [Git BASH](https://"
-"gitforwindows.org/) o [WSL](https://learn.microsoft.com/en-us/windows/ wsl/"
-"instalar),\n"
-"> como su terminal, ya que Dojoup actualmente no es compatible con "
-"Powershell o Cmd."
-
-#: src/toolchain/sozo/overview.md:1
-msgid "## Sozo"
-msgstr "## Sozo"
-
-#: src/toolchain/sozo/overview.md:3
-msgid ""
-"`sozo` is a powerful all-in-one tool for managing your Dojo projects. It "
-"helps with everything from scaffolding a new project, all the way to "
-"deploying and interacting with your Dojo Worlds. It includes a migration "
-"planning tool, designed to streamline the updating and deployment of AWs. It "
-"provides a robust command-line interface (CLI) that simplifies World "
-"management tasks, enabling you to focus on the creative aspects of World-"
-"building. In the future, it may include a GUI."
-msgstr ""
-"`sozo` es una poderosa herramienta todo en uno para gestionar sus proyectos "
-"Dojo. Ayuda con todo, desde la preparación de un nuevo proyecto hasta la "
-"implementación e interacción con sus Dojo Worlds. Incluye una herramienta de "
-"planificación de migración, diseñada para agilizar la actualización y la "
-"implementación de AWs. Proporciona una sólida interfaz de línea de comandos "
-"(CLI) que simplifica las tareas de gestión de Worlds, permitiéndole "
-"centrarse en los aspectos creativos de la construcción de Worlds. En el "
-"futuro, puede incluir una GUI."
-
-#: src/toolchain/sozo/overview.md:5
-msgid "## Features"
-msgstr "## Características"
-
-#: src/toolchain/sozo/overview.md:7
-msgid ""
-"- **Binary CLI**: Sozo provides an intuitive binary CLI, ensuring easy "
-"management of your Worlds, whether you're updating existing ones or "
-"deploying new ones."
-msgstr ""
-"- **CLI Binaria**: Sozo proporciona una CLI binaria intuitiva, lo que "
-"garantiza una fácil administración de tus Worlds, ya sea que estés "
-"actualizando los existentes o implementando otros nuevos."
-
-#: src/toolchain/sozo/overview.md:9 src/toolchain/katana/overview.md:10
-#: src/toolchain/torii/overview.md:14
-msgid "## Installation"
-msgstr "## Instalación"
-
-#: src/toolchain/sozo/overview.md:11
-msgid ""
-"`sozo` binary can be installed via [`dojoup`](../../getting-started/quick-"
-"start.md), our dedicated installation package manager."
-msgstr ""
-"El binario `sozo` se puede instalar a través de [`dojoup`](../../getting-"
-"started/quick-start.md), nuestro administrador de paquetes de instalación "
-"dedicado."
-
-#: src/toolchain/sozo/overview.md:13 src/toolchain/torii/overview.md:18
-msgid "### Installing from Source"
-msgstr "### Instalación desde la fuente"
-
-#: src/toolchain/sozo/overview.md:15
-msgid ""
-"```sh\n"
-"git clone https://github.com/dojoengine/dojo\n"
-"cd dojo\n"
-"cargo install --path ./crates/sozo --locked --force\n"
-"```"
-msgstr ""
-"```sh\n"
-"git clone https://github.com/dojoengine/dojo\n"
-"cd dojo\n"
-"cargo install --path ./crates/sozo --locked --force\n"
-"```"
-
-#: src/toolchain/sozo/overview.md:21
-msgid ""
-"This will install Sozo and the required dependencies on your local system."
-msgstr "Esto instalará Sozo y las dependencias necesarias en su sistema local."
-
-#: src/toolchain/sozo/overview.md:23
-msgid ""
-"> 📚 **Reference**\n"
-">\n"
-"> See the [`sozo` Reference](./reference.md) for a complete overview of all "
-"the available subcommands."
-msgstr ""
-"> 📚 **Referencia**\n"
-">\n"
-"> Consulte la [`sozo` Reference](./reference.md) para obtener una "
-"descripción completa de todos los subcomandos disponibles."
-
-#: src/toolchain/sozo/reference.md:1
-msgid "## sozo reference"
-msgstr "## Referencia sozo"
-
-#: src/toolchain/sozo/reference.md:3
-msgid "### Project Commands"
-msgstr "### Comandos del Proyecto"
-
-#: src/toolchain/sozo/reference.md:5
-msgid ""
-"- [init](./project-commands/init.md)\n"
-"- [build](./project-commands/build.md)\n"
-"- [test](./project-commands/test.md)\n"
-"- [migrate](./project-commands/migrate.md)"
-msgstr ""
-"- [init](./project-commands/init.md)\n"
-"- [build](./project-commands/build.md)\n"
-"- [test](./project-commands/test.md)\n"
-"- [migrate](./project-commands/migrate.md)"
-
-#: src/toolchain/sozo/reference.md:10
-msgid "### World Commands"
-msgstr "### Comandos de World"
-
-#: src/toolchain/sozo/reference.md:12
-msgid ""
-"- [execute](./world-commands/execute.md)\n"
-"- [register](./world-commands/register.md)\n"
-"- [system](./world-commands/system.md)\n"
-"- [component](./world-commands/component.md)\n"
-"- [events](./world-commands/events.md)\n"
-"- [auth](./world-commands/auth.md)"
-msgstr ""
-"- [execute](./world-commands/execute.md)\n"
-"- [register](./world-commands/register.md)\n"
-"- [system](./world-commands/system.md)\n"
-"- [component](./world-commands/component.md)\n"
-"- [events](./world-commands/events.md)\n"
-"- [auth](./world-commands/auth.md)"
-
-#: src/toolchain/sozo/project-commands/init.md:1
-msgid "## sozo init"
-msgstr "## sozo init"
-
-#: src/toolchain/sozo/project-commands/init.md:3
-msgid ""
-"`init` is used to initialize a new project. It will initialize a new project "
-"in the current directory by cloning the [dojo-starter](https://github.com/"
-"dojoengine/dojo-starter)."
-msgstr ""
-"`init` se utiliza para inicializar un nuevo proyecto. Inicializará un nuevo "
-"proyecto en el directorio actual clonando [dojo-starter](https://github.com/"
-"dojoengine/dojo-starter)."
-
-#: src/toolchain/sozo/project-commands/init.md:5
-#: src/tutorial/onchain-chess/0-setup.md:21
-msgid ""
-"```sh\n"
-"sozo init\n"
-"```"
-msgstr ""
-"```sh\n"
-"sozo init\n"
-"```"
-
-#: src/toolchain/sozo/project-commands/build.md:1
-msgid "## sozo build"
-msgstr "## sozo build"
-
-#: src/toolchain/sozo/project-commands/build.md:3
-msgid ""
-"`build` is used to compile the cairo contracts, generating the necessary "
-"artifacts for deployment."
-msgstr ""
-"`build` se utiliza para compilar los contratos de Cairo, generando los "
-"artefactos necesarios para la implementación."
-
-#: src/toolchain/sozo/project-commands/build.md:5
-#: src/tutorial/onchain-chess/0-setup.md:39
-msgid ""
-"```sh\n"
-"sozo build\n"
-"```"
-msgstr ""
-"```sh\n"
-"sozo build\n"
-"```"
-
-#: src/toolchain/sozo/project-commands/test.md:1
-msgid "## sozo test"
-msgstr "## sozo test"
-
-#: src/toolchain/sozo/project-commands/test.md:3
-msgid ""
-"`test` is used to test the project's cairo contracts. It will run all tests "
-"found within the project."
-msgstr ""
-"`test` se utiliza para probar los contratos de Cairo del proyecto. Ejecutará "
-"todas las pruebas encontradas dentro del proyecto."
-
-#: src/toolchain/sozo/project-commands/test.md:5
-msgid ""
-"```sh\n"
-"sozo test\n"
-"```"
-msgstr ""
-"```sh\n"
-"sozo test\n"
-"```"
-
-#: src/toolchain/sozo/project-commands/migrate.md:1
-msgid "## sozo migrate"
-msgstr "## sozo migrate"
-
-#: src/toolchain/sozo/project-commands/migrate.md:3
-msgid ""
-"`migrate` is used to perform the migration (deployment) process, declaring "
-"and deploying contracts as necessary to deploy or update the World."
-msgstr ""
-"`migrate` se utiliza para realizar el proceso de migración (implementación), "
-"declarando e implementando contratos según sea necesario para implementar o "
-"actualizar el World."
-
-#: src/toolchain/sozo/project-commands/migrate.md:5
-msgid ""
-"Changes made to the local World after the initial deployment, can easily be "
-"pushed to the remote counterpart by running `sozo migrate --world "
-"` with `WORLD_ADDRESS` being the address of the remote World. "
-"In the background, `migrate` will compute the diffs of the local and remote "
-"World, then, start constructing a migration strategy to determine, if any, "
-"which part of the local World needs to be pushed upstream."
-msgstr ""
-"Los cambios realizados en el World local después de la implementación "
-"inicial se pueden enviar fácilmente a la contraparte remota ejecutando `sozo "
-"migrate --world ` siendo `WORLD_ADDRESS` la dirección del "
-"World remoto. En segundo plano, `migrate` calculará las diferencias entre el "
-"World local y remoto, luego comenzará a construir una estrategia de "
-"migración para determinar, si corresponde, qué parte del World local "
-"necesita ser impulsada hacia arriba."
-
-#: src/toolchain/sozo/project-commands/migrate.md:7
-#: src/toolchain/sozo/world-commands/execute.md:7
-#: src/toolchain/sozo/world-commands/system.md:5
-#: src/toolchain/sozo/world-commands/component.md:5
-#: src/toolchain/katana/reference.md:7 src/toolchain/torii/reference.md:7
-#: src/toolchain/torii/graphql.md:13
-msgid "### USAGE"
-msgstr "### USO"
-
-#: src/toolchain/sozo/project-commands/migrate.md:9
-msgid ""
-"```sh\n"
-"sozo migrate [OPTIONS]\n"
-"```"
-msgstr ""
-"```sh\n"
-"sozo migrate [OPTIONS]\n"
-"```"
-
-#: src/toolchain/sozo/project-commands/migrate.md:13
-#: src/toolchain/sozo/world-commands/execute.md:13
-#: src/toolchain/sozo/world-commands/system.md:43
-#: src/toolchain/sozo/world-commands/component.md:61
-#: src/toolchain/katana/reference.md:152 src/toolchain/torii/reference.md:33
-msgid "### OPTIONS"
-msgstr "### OPCIONES"
-
-#: src/toolchain/sozo/project-commands/migrate.md:15
-#: src/toolchain/sozo/world-commands/execute.md:15
-#: src/toolchain/katana/reference.md:154 src/toolchain/torii/reference.md:35
-msgid "#### General Options"
-msgstr "#### Opciones Generales"
-
-#: src/toolchain/sozo/project-commands/migrate.md:17
-msgid ""
-"`--name` _NAME_ \n"
-" Name of the World. At the moment, the only usage for "
-"this option is to be used as a salt when deploying the World contract to "
-"avoid address conflicts. This option is **required** when performing the "
-"initial migration of the World."
-msgstr ""
-"`--name` _NAME_\n"
-" Nombre del World. Por el momento, el único uso de "
-"esta opción es como sal al implementar el contrato mundial para evitar "
-"conflictos de direcciones. Esta opción es **obligatoria** al realizar la "
-"migración inicial del World."
-
-#: src/toolchain/sozo/project-commands/migrate.md:20
-#: src/toolchain/sozo/world-commands/execute.md:21
-#: src/toolchain/sozo/world-commands/system.md:45
-#: src/toolchain/sozo/world-commands/component.md:63
-msgid "#### World Options"
-msgstr "#### Opciones de World"
-
-#: src/toolchain/sozo/project-commands/migrate.md:22
-#: src/toolchain/sozo/world-commands/execute.md:23
-#: src/toolchain/sozo/world-commands/system.md:47
-#: src/toolchain/sozo/world-commands/component.md:65
-msgid ""
-"`--world` _WORLD_ADDRESS_ \n"
-" The address of the World contract. \n"
-" ENV: `DOJO_WORLD_ADDRESS`"
-msgstr ""
-"`--world` _WORLD_ADDRESS_\n"
-" La dirección del contrato del World.\n"
-" ENV: `DOJO_WORLD_ADDRESS`"
-
-#: src/toolchain/sozo/project-commands/migrate.md:26
-#: src/toolchain/sozo/world-commands/execute.md:27
-#: src/toolchain/sozo/world-commands/system.md:51
-#: src/toolchain/sozo/world-commands/component.md:69
-#: src/toolchain/katana/reference.md:198
-msgid "#### Starknet Options"
-msgstr "#### Opciones de Starknet"
-
-#: src/toolchain/sozo/project-commands/migrate.md:28
-#: src/toolchain/sozo/world-commands/execute.md:29
-#: src/toolchain/sozo/world-commands/system.md:53
-#: src/toolchain/sozo/world-commands/component.md:71
-msgid ""
-"`--rpc-url` _URL_ \n"
-" The Starknet RPC endpoint. [default: http://"
-"localhost:5050] \n"
-" ENV: `STARKNET_RPC_URL`"
-msgstr ""
-"`--rpc-url` _URL_\n"
-" El punto final RPC de Starknet. [predeterminado: "
-"http://localhost:5050] \n"
-" ENV: `STARKNET_RPC_URL`"
-
-#: src/toolchain/sozo/project-commands/migrate.md:32
-#: src/toolchain/sozo/world-commands/execute.md:33
-msgid "#### Account Options"
-msgstr "#### Opciones de Cuenta"
-
-#: src/toolchain/sozo/project-commands/migrate.md:34
-#: src/toolchain/sozo/world-commands/execute.md:35
-msgid ""
-"`--account-address` _ACCOUNT_ADDRESS_ \n"
-" The Starknet account address. \n"
-" ENV: `DOJO_ACCOUNT_ADDRESS`"
-msgstr ""
-"`--account-address` _ACCOUNT_ADDRESS_ \n"
-" La dirección de la cuenta de Starknet.\n"
-" ENV: `DOJO_ACCOUNT_ADDRESS`"
-
-#: src/toolchain/sozo/project-commands/migrate.md:38
-#: src/toolchain/sozo/world-commands/execute.md:39
-msgid "#### Signer Options - Raw"
-msgstr "#### Opciones del Signer - Raw"
-
-#: src/toolchain/sozo/project-commands/migrate.md:40
-#: src/toolchain/sozo/world-commands/execute.md:41
-msgid ""
-"`--private-key` _PRIVATE_KEY_ \n"
-" The raw private key associated with the account "
-"contract. \n"
-" ENV: `DOJO_PRIVATE_KEY`"
-msgstr ""
-"`--private-key` _PRIVATE_KEY_ \n"
-" La clave privada sin procesar asociada con el "
-"contrato de cuenta.\n"
-" ENV: `DOJO_PRIVATE_KEY`"
-
-#: src/toolchain/sozo/project-commands/migrate.md:44
-#: src/toolchain/sozo/world-commands/execute.md:45
-msgid "#### Signer Options - Keystore"
-msgstr "#### Opciones del Signer - Keystore"
-
-#: src/toolchain/sozo/project-commands/migrate.md:46
-#: src/toolchain/sozo/world-commands/execute.md:47
-msgid ""
-"`--keystore` _PATH_ \n"
-" Use the keystore in the given folder or file."
-msgstr ""
-"`--keystore` _PATH_ \n"
-" Utilice el keystore en la carpeta o archivo indicado."
-
-#: src/toolchain/sozo/project-commands/migrate.md:49
-#: src/toolchain/sozo/world-commands/execute.md:50
-msgid ""
-"`--password` _PASSWORD_ \n"
-" The keystore password. Used with --keystore. \n"
-" ENV: `DOJO_KEYSTORE_PASSWORD`"
-msgstr ""
-"`--password` _PASSWORD_ \n"
-" La contraseña del keystore. Usado con --keystore.\n"
-" ENV: `DOJO_KEYSTORE_PASSWORD`"
-
-#: src/toolchain/sozo/project-commands/migrate.md:53
-#: src/toolchain/sozo/world-commands/execute.md:54
-#: src/toolchain/sozo/world-commands/system.md:57
-#: src/toolchain/katana/reference.md:245
-msgid "### EXAMPLES"
-msgstr "## EJEMPLOS"
-
-#: src/toolchain/sozo/project-commands/migrate.md:55
-msgid "1. Deploying your World for the first time to a local Katana node"
-msgstr "1. Implementar tu World por primera vez en un nodo Katana local"
-
-#: src/toolchain/sozo/project-commands/migrate.md:57
-msgid ""
-"```sh\n"
-"sozo migrate --name ohayo --rpc-url http://localhost:5050\n"
-"```"
-msgstr ""
-"```sh\n"
-"sozo migrate --name ohayo --rpc-url http://localhost:5050\n"
-"```"
-
-#: src/toolchain/sozo/project-commands/migrate.md:61
-msgid "2. Updating a remote World after making some changes"
-msgstr "2. Actualizar un World remoto después de realizar algunos cambios"
-
-#: src/toolchain/sozo/project-commands/migrate.md:63
-msgid ""
-"```sh\n"
-"sozo migrate --world 0x123456\n"
-"```"
-msgstr ""
-"```sh\n"
-"sozo migrate --world 0x123456\n"
-"```"
-
-#: src/toolchain/sozo/world-commands/execute.md:1
-msgid "## sozo execute"
-msgstr "## sozo execute"
-
-#: src/toolchain/sozo/world-commands/execute.md:3
-msgid "`execute` is used to execute a World's system."
-msgstr "`execute` se utiliza para ejecutar el sistema de un World."
-
-#: src/toolchain/sozo/world-commands/execute.md:5
-msgid ""
-"Performing a system execution requires sending a transaction, therefore, "
-"`execute` expects an account address as well as its respective private key "
-"in order to sign the transaction before sending it."
-msgstr ""
-"Realizar una ejecución del sistema requiere enviar una transacción, por lo "
-"tanto, `execute` espera una dirección de cuenta así como su respectiva clave "
-"privada para poder firmar la transacción antes de enviarla."
-
-#: src/toolchain/sozo/world-commands/execute.md:9
-msgid ""
-"```sh\n"
-"sozo execute [OPTIONS]\n"
-"```"
-msgstr ""
-"```sh\n"
-"sozo execute [OPTIONS]\n"
-"```"
-
-#: src/toolchain/sozo/world-commands/execute.md:17
-msgid ""
-"`--calldata` _CALLDATA_ \n"
-" The calldata to be passed to the system that you "
-"want to execute. \n"
-" Comma separated values e.g., 0x12345,0x69420."
-msgstr ""
-"`--calldata` _CALLDATA_\n"
-" Los datos de llamada que se pasarán al sistema que "
-"desea ejecutar.\n"
-" Valores separados por comas, por ejemplo, "
-"0x12345,0x69420."
-
-#: src/toolchain/sozo/world-commands/execute.md:56
-msgid ""
-"1. Executing the _position_ system which takes two values (_x_: 0x77 and "
-"_y_: 0x44)"
-msgstr ""
-"1. Ejecutando el sistema _position_ el cual toma dos valores (_x_: 0x77 y "
-"_y_: 0x44)"
-
-#: src/toolchain/sozo/world-commands/execute.md:58
-msgid ""
-"```sh\n"
-"sozo execute position --calldata 0x77,0x44\n"
-"```"
-msgstr ""
-"```sh\n"
-"sozo execute position --calldata 0x77,0x44\n"
-"```"
-
-#: src/toolchain/sozo/world-commands/register.md:1
-msgid "## sozo register"
-msgstr "## sozo register"
-
-#: src/toolchain/sozo/world-commands/register.md:3
-msgid "`register` is used to register new systems and components."
-msgstr "`register` se utiliza para registrar nuevos Systems y componentes."
-
-#: src/toolchain/sozo/world-commands/register.md:5
-msgid ""
-"```sh\n"
-"sozo register [OPTIONS] \n"
-"```"
-msgstr ""
-"```sh\n"
-"sozo register [OPTIONS] \n"
-"```"
-
-#: src/toolchain/sozo/world-commands/register.md:9
-msgid ""
-"```sh\n"
-"Commands:\n"
-" component Register a component to a world.\n"
-" system Register a system to a world.\n"
-" help Print this message or the help of the given subcommand(s)\n"
-"```"
-msgstr ""
-"```sh\n"
-"Commands:\n"
-" component Register a component to a world.\n"
-" system Register a system to a world.\n"
-" help Print this message or the help of the given subcommand(s)\n"
-"```"
-
-#: src/toolchain/sozo/world-commands/register.md:16
-msgid ""
-"```sh\n"
-"# example: component - register a component to a world\n"
-"# this will register the Moves component to the world\n"
-"sozo register component Moves\n"
-"\n"
-"# example: system - register a system to a world\n"
-"# this will register the spawn system to the world\n"
-"sozo register system spawn\n"
-"```"
-msgstr ""
-"```sh\n"
-"# example: component - register a component to a world\n"
-"# this will register the Moves component to the world\n"
-"sozo register component Moves\n"
-"\n"
-"# example: system - register a system to a world\n"
-"# this will register the spawn system to the world\n"
-"sozo register system spawn\n"
-"```"
-
-#: src/toolchain/sozo/world-commands/system.md:1
-msgid "## sozo system"
-msgstr "## sozo system"
-
-#: src/toolchain/sozo/world-commands/system.md:3
-msgid ""
-"`system` is used to interact with a World's systems. It is useful for "
-"querying about a system's information."
-msgstr ""
-"`system` se utiliza para interactuar con los Systems de un World. Es útil "
-"para consultar información sobre un sistema."
-
-#: src/toolchain/sozo/world-commands/system.md:7
-msgid ""
-"```sh\n"
-"sozo system \n"
-"\n"
-"Commands:\n"
-" get Get the class hash of a system.\n"
-" dependency Retrieve the component dependencies of a system.\n"
-"```"
-msgstr ""
-"```sh\n"
-"sozo system \n"
-"\n"
-"Commands:\n"
-" get Get the class hash of a system.\n"
-" dependency Retrieve the component dependencies of a system.\n"
-"```"
-
-#: src/toolchain/sozo/world-commands/system.md:15
-#: src/toolchain/sozo/world-commands/component.md:16
-msgid "### SUBCOMMANDS"
-msgstr "### SUBCOMANDOS"
-
-#: src/toolchain/sozo/world-commands/system.md:17
-#: src/toolchain/sozo/world-commands/component.md:18
-msgid "#### `get`"
-msgstr "#### `get`"
-
-#: src/toolchain/sozo/world-commands/system.md:19
-msgid "Get the class hash of a system"
-msgstr "Obtener el class hash de un sistema"
-
-#: src/toolchain/sozo/world-commands/system.md:21
-msgid ""
-"```sh\n"
-"sozo system get \n"
-"```"
-msgstr ""
-"```sh\n"
-"sozo system get \n"
-"```"
-
-#: src/toolchain/sozo/world-commands/system.md:25
-#: src/toolchain/sozo/world-commands/system.md:38
-#: src/toolchain/sozo/world-commands/component.md:26
-#: src/toolchain/sozo/world-commands/component.md:39
-#: src/toolchain/sozo/world-commands/component.md:52
-msgid "##### Arguments"
-msgstr "##### Argumentos"
-
-#: src/toolchain/sozo/world-commands/system.md:27
-#: src/toolchain/sozo/world-commands/system.md:40
-msgid ""
-"_`NAME`_ \n"
-" The name of the system"
-msgstr ""
-"_`NAME`_\n"
-" El nombre del sistema"
-
-#: src/toolchain/sozo/world-commands/system.md:30
-msgid "#### `dependency`"
-msgstr "#### `dependency`"
-
-#: src/toolchain/sozo/world-commands/system.md:32
-msgid "Retrieve the component dependencies of a system"
-msgstr "Recuperar las dependencias de los componentes de un sistema "
-
-#: src/toolchain/sozo/world-commands/system.md:34
-msgid ""
-"```sh\n"
-"sozo system dependency \n"
-"```"
-msgstr ""
-"```sh\n"
-"sozo system dependency \n"
-"```"
-
-#: src/toolchain/sozo/world-commands/system.md:59
-msgid "1. Get the class hash of the _spawn_ system"
-msgstr "1. Obtenga el class hash del sistema _spawn_"
-
-#: src/toolchain/sozo/world-commands/system.md:61
-msgid ""
-"```sh\n"
-"sozo system get spawn\n"
-"```"
-msgstr ""
-"```sh\n"
-"sozo system get spawn\n"
-"```"
-
-#: src/toolchain/sozo/world-commands/system.md:65
-msgid "2. Get the component dependencies of the _spawn_ system"
-msgstr "2. Obtenga las dependencias de los componentes del sistema _spawn_"
-
-#: src/toolchain/sozo/world-commands/system.md:67
-msgid ""
-"```sh\n"
-"sozo system dependency spawn\n"
-"```"
-msgstr ""
-"```sh\n"
-"sozo system dependency spawn\n"
-"```"
-
-#: src/toolchain/sozo/world-commands/component.md:1
-msgid "## sozo component"
-msgstr "## sozo component"
-
-#: src/toolchain/sozo/world-commands/component.md:3
-msgid ""
-"`component` is used to interact with a World's components. It is useful for "
-"querying about a component's information, or a component value of an entity."
-msgstr ""
-"`component` se utiliza para interactuar con los componentes de un World. Es "
-"útil para consultar sobre la información de un componente o el valor de un "
-"componente de una entidad."
-
-#: src/toolchain/sozo/world-commands/component.md:7
-msgid ""
-"```sh\n"
-"sozo component \n"
-"\n"
-"Commands:\n"
-" get Get the class hash of a component\n"
-" schema Retrieve the schema for a component\n"
-" entity Get the component value for an entity\n"
-"```"
-msgstr ""
-"```sh\n"
-"sozo component \n"
-"\n"
-"Commands:\n"
-" get Get the class hash of a component\n"
-" schema Retrieve the schema for a component\n"
-" entity Get the component value for an entity\n"
-"```"
-
-#: src/toolchain/sozo/world-commands/component.md:20
-msgid "Get the class hash of a component"
-msgstr "Obtener el class hash de un componente"
-
-#: src/toolchain/sozo/world-commands/component.md:22
-msgid ""
-"```sh\n"
-"sozo component get \n"
-"```"
-msgstr ""
-"```sh\n"
-"sozo component get \n"
-"```"
-
-#: src/toolchain/sozo/world-commands/component.md:28
-#: src/toolchain/sozo/world-commands/component.md:41
-msgid ""
-"_`NAME`_ \n"
-" The name of the component"
-msgstr ""
-"_`NAME`_\n"
-" El nombre del componente"
-
-#: src/toolchain/sozo/world-commands/component.md:31
-msgid "#### `schema`"
-msgstr "#### `schema`"
-
-#: src/toolchain/sozo/world-commands/component.md:33
-msgid "Retrieve the schema for a component"
-msgstr "Retrieve the schema for a component"
-
-#: src/toolchain/sozo/world-commands/component.md:35
-msgid ""
-"```sh\n"
-"sozo component schema \n"
-"```"
-msgstr ""
-"```sh\n"
-"sozo component schema \n"
-"```"
-
-#: src/toolchain/sozo/world-commands/component.md:44
-msgid "#### `entity`"
-msgstr "#### `entity`"
-
-#: src/toolchain/sozo/world-commands/component.md:46
-msgid "Get the component value for an entity"
-msgstr "Obtener el valor del componente para una entidad"
-
-#: src/toolchain/sozo/world-commands/component.md:48
-msgid ""
-"```sh\n"
-"sozo component entity [KEYS]...\n"
-"```"
-msgstr ""
-"```sh\n"
-"sozo component entity [KEYS]...\n"
-"```"
-
-#: src/toolchain/sozo/world-commands/component.md:54
-msgid ""
-"_`NAME`_ \n"
-" The name of the component"
-msgstr ""
-"_`NAME`_\n"
-" El nombre del componente"
-
-#: src/toolchain/sozo/world-commands/component.md:57
-msgid ""
-"_`KEYS`_ \n"
-" The keys of the entity that you want to query. \n"
-" Comma separated values e.g., 0x12345,0x69420,..."
-msgstr ""
-"_`KEYS`_ \n"
-" Las claves de la entidad que desea consultar.\n"
-" Valores separados por comas, por ejemplo, "
-"0x12345,0x69420,..."
-
-#: src/toolchain/sozo/world-commands/events.md:1
-msgid "## sozo events"
-msgstr "## sozo events"
-
-#: src/toolchain/sozo/world-commands/events.md:3
-msgid "`events` is used to queries world events."
-msgstr "`eventos` se utiliza para consultar eventos de World."
-
-#: src/toolchain/sozo/world-commands/events.md:5
-msgid ""
-"```sh\n"
-"sozo events\n"
-"```"
-msgstr ""
-"```sh\n"
-"sozo events\n"
-"```"
-
-#: src/toolchain/sozo/world-commands/auth.md:1
-msgid "## sozo auth"
-msgstr "## sozo auth"
-
-#: src/toolchain/sozo/world-commands/auth.md:3
-msgid "`auth` is used to manage world authorization."
-msgstr "`auth` se utiliza para gestionar la autorización del World."
-
-#: src/toolchain/sozo/world-commands/auth.md:5
-msgid ""
-"```sh\n"
-"sozo auth [OPTIONS] \n"
-"```"
-msgstr ""
-"```sh\n"
-"sozo auth [OPTIONS] \n"
-"```"
-
-#: src/toolchain/sozo/world-commands/auth.md:9
-msgid ""
-"```sh\n"
-"Commands:\n"
-" writer Auth a system with the given calldata.\n"
-" help Print this message or the help of the given subcommand(s)\n"
-"```"
-msgstr ""
-"```sh\n"
-"Commands:\n"
-" writer Auth a system with the given calldata.\n"
-" help Print this message or the help of the given subcommand(s)\n"
-"```"
-
-#: src/toolchain/sozo/world-commands/auth.md:15
-msgid ""
-"```sh\n"
-"# example: writer - auth a system with the given calldata\n"
-"# This will auth the spawn system with the writer role for Position "
-"component\n"
-"sozo auth writer Position spawn\n"
-"```"
-msgstr ""
-"```sh\n"
-"# example: writer - auth a system with the given calldata\n"
-"# This will auth the spawn system with the writer role for Position "
-"component\n"
-"sozo auth writer Position spawn\n"
-"```"
-
-#: src/toolchain/katana/overview.md:1
-msgid "## Katana"
-msgstr "## Katana"
-
-#: src/toolchain/katana/overview.md:3
-msgid ""
-"`katana` is a _blazingly fast_ local Starknet node, designed to support "
-"local development with Dojo."
-msgstr ""
-"`katana` es un nodo local de Starknet _increíblemente rápido_, diseñado para "
-"respaldar el desarrollo local con Dojo."
-
-#: src/toolchain/katana/overview.md:5
-msgid "### Features"
-msgstr "### Características"
-
-#: src/toolchain/katana/overview.md:7
-msgid ""
-"- [Starknet JSON-RPC v0.3.0](https://github.com/starkware-libs/starknet-"
-"specs/tree/v0.3.0) support\n"
-"- Custom methods for manipulating the blockchain states"
-msgstr ""
-"- Soporte [Starknet JSON-RPC v0.3.0](https://github.com/starkware-libs/"
-"starknet-specs/tree/v0.3.0)\n"
-"- Métodos personalizados para manipular los estados de blockchain"
-
-#: src/toolchain/katana/overview.md:12
-msgid ""
-"`katana` binary is available via [`dojoup`](../../getting-started/quick-"
-"start.md)."
-msgstr ""
-"El binario `katana` está disponible a través de [`dojoup`](../../getting-"
-"started/quick-start.md)."
-
-#: src/toolchain/katana/overview.md:14
-msgid "### Installing from source"
-msgstr "### Instalando desde la fuente"
-
-#: src/toolchain/katana/overview.md:16
-msgid ""
-"```sh\n"
-"git clone https://github.com/dojoengine/dojo\n"
-"cd dojo\n"
-"cargo install --path ./crates/katana --locked --force\n"
-"```"
-msgstr ""
-"```sh\n"
-"git clone https://github.com/dojoengine/dojo\n"
-"cd dojo\n"
-"cargo install --path ./crates/katana --locked --force\n"
-"```"
-
-#: src/toolchain/katana/overview.md:22
-msgid "### Usage"
-msgstr "### Uso"
-
-#: src/toolchain/katana/overview.md:24
-msgid ""
-"```console\n"
-"$ katana\n"
-"\n"
-"\n"
-"\n"
-"██╗ ██╗ █████╗ ████████╗ █████╗ ███╗ ██╗ █████╗\n"
-"██║ ██╔╝██╔══██╗╚══██╔══╝██╔══██╗████╗ ██║██╔══██╗\n"
-"█████╔╝ ███████║ ██║ ███████║██╔██╗ ██║███████║\n"
-"██╔═██╗ ██╔══██║ ██║ ██╔══██║██║╚██╗██║██╔══██║\n"
-"██║ ██╗██║ ██║ ██║ ██║ ██║██║ ╚████║██║ ██║\n"
-"╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═══╝╚═╝ ╚═╝\n"
-"\n"
-"\n"
-"\n"
-"PREFUNDED ACCOUNTS\n"
-"==================\n"
-"\n"
-"| Account address | "
-"0x3ee9e18edc71a6df30ac3aca2e0b02a198fbce19b7480a63a0d71cbd76652e0\n"
-"| Private key | "
-"0x300001800000000300000180000000000030000000000003006001800006600\n"
-"| Public key | "
-"0x1b7b37a580d91bc3ad4f9933ed61f3a395e0e51c9dd5553323b8ca3942bb44e\n"
-"\n"
-"| Account address | "
-"0x33c627a3e5213790e246a917770ce23d7e562baa5b4d2917c23b1be6d91961c\n"
-"| Private key | "
-"0x333803103001800039980190300d206608b0070db0012135bd1fb5f6282170b\n"
-"| Public key | "
-"0x4486e2308ef3513531042acb8ead377b887af16bd4cdd8149812dfef1ba924d\n"
-"\n"
-"\n"
-"ACCOUNTS SEED\n"
-"=============\n"
-"0\n"
-"\n"
-"\n"
-"🚀 JSON-RPC server started: http://127.0.0.1:5050\n"
-"\n"
-"\n"
-"```"
-msgstr ""
-"```console\n"
-"$ katana\n"
-"\n"
-"\n"
-"\n"
-"██╗ ██╗ █████╗ ████████╗ █████╗ ███╗ ██╗ █████╗\n"
-"██║ ██╔╝██╔══██╗╚══██╔══╝██╔══██╗████╗ ██║██╔══██╗\n"
-"█████╔╝ ███████║ ██║ ███████║██╔██╗ ██║███████║\n"
-"██╔═██╗ ██╔══██║ ██║ ██╔══██║██║╚██╗██║██╔══██║\n"
-"██║ ██╗██║ ██║ ██║ ██║ ██║██║ ╚████║██║ ██║\n"
-"╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═══╝╚═╝ ╚═╝\n"
-"\n"
-"\n"
-"\n"
-"PREFUNDED ACCOUNTS\n"
-"==================\n"
-"\n"
-"| Account address | "
-"0x3ee9e18edc71a6df30ac3aca2e0b02a198fbce19b7480a63a0d71cbd76652e0\n"
-"| Private key | "
-"0x300001800000000300000180000000000030000000000003006001800006600\n"
-"| Public key | "
-"0x1b7b37a580d91bc3ad4f9933ed61f3a395e0e51c9dd5553323b8ca3942bb44e\n"
-"\n"
-"| Account address | "
-"0x33c627a3e5213790e246a917770ce23d7e562baa5b4d2917c23b1be6d91961c\n"
-"| Private key | "
-"0x333803103001800039980190300d206608b0070db0012135bd1fb5f6282170b\n"
-"| Public key | "
-"0x4486e2308ef3513531042acb8ead377b887af16bd4cdd8149812dfef1ba924d\n"
-"\n"
-"\n"
-"ACCOUNTS SEED\n"
-"=============\n"
-"0\n"
-"\n"
-"\n"
-"🚀 JSON-RPC server started: http://127.0.0.1:5050\n"
-"\n"
-"\n"
-"```"
-
-#: src/toolchain/katana/overview.md:60
-msgid ""
-"> 📚 **Reference**\n"
-">\n"
-"> See the [`katana` Reference](./reference.md) for an in depth reference and "
-"documentation on Katana."
-msgstr ""
-"> 📚 **Referencia**\n"
-">\n"
-"> Consulte la [`referencia de katana`](./reference.md) para obtener una "
-"referencia detallada y documentación sobre Katana."
-
-#: src/toolchain/katana/reference.md:1
-msgid "## katana reference"
-msgstr "## Referencia de katana"
-
-#: src/toolchain/katana/reference.md:3
-msgid "### NAME"
-msgstr "### NAME"
-
-#: src/toolchain/katana/reference.md:5
-msgid ""
-"katana - Create a local testnet node for deploying and testing Starknet "
-"smart contracts."
-msgstr ""
-"katana - Cree un nodo de prueba local para implementar y probar contratos "
-"inteligentes de Starknet."
-
-#: src/toolchain/katana/reference.md:9
-msgid ""
-"```sh\n"
-"katana [OPTIONS]\n"
-"```"
-msgstr ""
-"```sh\n"
-"katana [OPTIONS]\n"
-"```"
-
-#: src/toolchain/katana/reference.md:13 src/toolchain/torii/reference.md:13
-msgid "### DESCRIPTION"
-msgstr "### DESCRIPCIÓN"
-
-#: src/toolchain/katana/reference.md:15
-msgid ""
-"Create a local testnet node for deploying and testing Starknet smart "
-"contracts. Katana supports deployment and execution of the **new** as well "
-"as the **legacy** (Cairo 0) Cairo contracts."
-msgstr ""
-"Cree un nodo de testnet local para implementar y probar contratos "
-"inteligentes de Starknet. Katana apoya el despliegue y ejecución de los "
-"contratos **nuevos** y **heredados** (Cairo 0) de Cairo."
-
-#: src/toolchain/katana/reference.md:17
-msgid ""
-"This section covers an extensive list of information about Mining Modes, "
-"Supported RPC Methods, Katana flags and their usages. You can run multiple "
-"flags at the same time."
-msgstr ""
-"Esta sección cubre una lista extensa de información sobre modos de minería, "
-"métodos RPC admitidos, indicadores de Katana y sus usos. Puede ejecutar "
-"varias banderas al mismo tiempo."
-
-#: src/toolchain/katana/reference.md:19
-msgid "#### Mining Modes"
-msgstr "#### Modos de Minería"
-
-#: src/toolchain/katana/reference.md:21
-msgid ""
-"In Katana, mining modes determine how frequent blocks are mined. By default, "
-"a new block is automatically mined as soon as a transaction is submitted."
-msgstr ""
-"En Katana, los modos de minería determinan la frecuencia con la que se "
-"extraen los bloques. De forma predeterminada, se extrae automáticamente un "
-"nuevo bloque tan pronto como se envía una transacción."
-
-#: src/toolchain/katana/reference.md:23
-msgid ""
-"You can switch from the default mining behaviour to interval mining, where a "
-"new block is created at a fixed time interval selected by the user. To "
-"enable this mode of mining, use the `--block-time ` flag, as "
-"demonstrated in the following example."
-msgstr ""
-"Puede cambiar del comportamiento de minería predeterminado a la minería a "
-"intervalos, donde se crea un nuevo bloque en un intervalo de tiempo fijo "
-"seleccionado por el usuario. Para habilitar este modo de minería, use el "
-"indicador `--block-time `, como se demuestra en el siguiente "
-"ejemplo."
-
-#: src/toolchain/katana/reference.md:25
-msgid ""
-"```sh\n"
-"# Produces a new block every 10 seconds\n"
-"katana --block-time 10000\n"
-"```"
-msgstr ""
-"```sh\n"
-"# Produces a new block every 10 seconds\n"
-"katana --block-time 10000\n"
-"```"
-
-#: src/toolchain/katana/reference.md:30
-msgid "#### Forking"
-msgstr "#### Bifurcación"
-
-#: src/toolchain/katana/reference.md:32
-msgid ""
-"Katana supports forking from a Starknet RPC provider. You can configure your "
-"node to enable the forking feature by providing a valid RPC provider using "
-"the `--rpc-url ` flag., which would initiate Katana to fork the latest "
-"block of the provided network. If you would like to fork from a specific "
-"block, you can do so using `--fork-block-number `."
-msgstr ""
-"Katana admite la bifurcación de un proveedor de RPC de Starknet. Puede "
-"configurar su nodo para habilitar la función de bifurcación proporcionando "
-"un proveedor RPC válido usando el indicador `--rpc-url `, lo que "
-"iniciaría a Katana a bifurcar el último bloque de la red proporcionada. Si "
-"desea bifurcar desde un bloque específico, puede hacerlo usando `--fork-"
-"block-number `."
-
-#: src/toolchain/katana/reference.md:34
-msgid ""
-"NOTE: This does not allow fetching of historical blocks but only blocks that "
-"are mined by Katana. However, support for fetching historical blocks will be "
-"added in the future."
-msgstr ""
-"NOTA: Esto no permite recuperar bloques históricos, sino solo bloques "
-"extraídos por Katana. Sin embargo, en el futuro se agregará soporte para "
-"recuperar bloques históricos."
-
-#: src/toolchain/katana/reference.md:36
-msgid ""
-"```sh\n"
-"# Forks the network at block 1200\n"
-"katana --rpc-url http://your-rpc-provider.com --fork-block-number 1200\n"
-"```"
-msgstr ""
-"```sh\n"
-"# Forks the network at block 1200\n"
-"katana --rpc-url http://your-rpc-provider.com --fork-block-number 1200\n"
-"```"
-
-#: src/toolchain/katana/reference.md:41
-msgid "#### Messaging"
-msgstr "#### Mensajería"
-
-#: src/toolchain/katana/reference.md:43
-msgid ""
-"Katana also allows users to perform L1 <-> L2 integration using the "
-"messaging feature. There are two types of messaging service supported by "
-"Katana:"
-msgstr ""
-"Katana también permite a los usuarios realizar la integración L1 <-> L2 "
-"utilizando la función de mensajería. Hay dos tipos de servicios de "
-"mensajería compatibles con Katana:"
-
-#: src/toolchain/katana/reference.md:45
-msgid ""
-"1. _Ethereum_\n"
-"2. _Starknet_ (**experimental**)"
-msgstr ""
-"1. _Ethereum_\n"
-"2. _Starknet_ (**experimental**)"
-
-#: src/toolchain/katana/reference.md:48
-msgid ""
-"If configured to _Ethereum_ messaging, Katana will listen/send messages on "
-"an Ethereum chain. This type of messaging behaves similar to the canonical "
-"Starknet sequencer with the exception that messages from L2 -> L1 will be "
-"sent directly to the settlement chain for consumption, instead of having to "
-"wait for the corresponding blocks of the messages to be proven on the "
-"settlement chain (which in reality would be a very time consuming process)."
-msgstr ""
-"Si está configurado para mensajería _Ethereum_, Katana escuchará/enviará "
-"mensajes en una cadena de Ethereum. Este tipo de mensajería se comporta de "
-"manera similar al secuenciador canónico de Starknet con la excepción de que "
-"los mensajes de L2 -> L1 se enviarán directamente a la cadena de liquidación "
-"para su consumo, en lugar de tener que esperar a que los bloques "
-"correspondientes de mensajes se prueben en la liquidación. cadena (que en "
-"realidad sería un proceso que llevaría mucho tiempo)."
-
-#: src/toolchain/katana/reference.md:50
-msgid ""
-"The _Starknet_ messaging, however, is an experimental feature that allows "
-"Katana to listen/send messages on a Starknet chain. It attempts to replicate "
-"the behaviour of Ethereum messaging but with a Starknet chain as the "
-"settlement layer. This is achieved by having Katana listen to the Starknet "
-"chain for new blocks and then sending the messages to the settlement chain "
-"for consumption. This is an experimental and opinionated feature, and is not "
-"recommended for production use."
-msgstr ""
-"La mensajería _Starknet_, sin embargo, es una característica experimental "
-"que permite a Katana listen/enviar mensajes en una cadena Starknet. Intenta "
-"replicar el comportamiento de la mensajería de Ethereum pero con una cadena "
-"Starknet como capa de liquidación. Esto se logra haciendo que Katana escuche "
-"la cadena Starknet en busca de nuevos bloques y luego envíe los mensajes a "
-"la cadena de liquidación para su consumo. Esta es una característica "
-"experimental y obstinada, y no se recomienda para uso en producción."
-
-#: src/toolchain/katana/reference.md:52
-msgid ""
-"```sh\n"
-"katana --messaging path/to/messaging/config.json\n"
-"```"
-msgstr ""
-"```sh\n"
-"katana --messaging path/to/messaging/config.json\n"
-"```"
-
-#: src/toolchain/katana/reference.md:56
-msgid ""
-"The messaging config file is a JSON file that contains the following fields:"
-msgstr ""
-"El archivo de configuración de mensajería es un archivo JSON que contiene "
-"los siguientes campos:"
-
-#: src/toolchain/katana/reference.md:58
-msgid ""
-"```json\n"
-"{\n"
-"\t/// The type of messaging service to use. Can be either \"ethereum\" or "
-"\"starknet\".\n"
-"\t\"chain\": \"ethereum\",\n"
-"\t/// The RPC-URL of the settlement chain.\n"
-"\t\"rpc_url\": \"http://127.0.0.1:8545\",\n"
-"\t/// The messaging-contract address on the settlement chain.\n"
-"\t\"contract_address\": \"0x5FbDB2315678afecb367f032d93F642f64180aa3\",\n"
-"\t/// The address to use for settling messages. It should be a valid address "
-"that\n"
-"\t/// can be used to send a transaction on the settlement chain.\n"
-"\t\"sender_address\": \"0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266\",\n"
-"\t/// The private key associated to `sender_address`.\n"
-"\t\"private_key\": "
-"\"0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80\",\n"
-"\t/// The interval, in seconds, at which the messaging service will fetch "
-"and settle messages\n"
-"\t/// from/to the settlement chain.\n"
-"\t\"interval\": 2,\n"
-"\t/// The block on settlement chain from where Katana will start fetching "
-"messages.\n"
-"\t\"from_block\": 0\n"
-"}\n"
-"```"
-msgstr ""
-"```json\n"
-"{\n"
-"\t/// The type of messaging service to use. Can be either \"ethereum\" or "
-"\"starknet\".\n"
-"\t\"chain\": \"ethereum\",\n"
-"\t/// The RPC-URL of the settlement chain.\n"
-"\t\"rpc_url\": \"http://127.0.0.1:8545\",\n"
-"\t/// The messaging-contract address on the settlement chain.\n"
-"\t\"contract_address\": \"0x5FbDB2315678afecb367f032d93F642f64180aa3\",\n"
-"\t/// The address to use for settling messages. It should be a valid address "
-"that\n"
-"\t/// can be used to send a transaction on the settlement chain.\n"
-"\t\"sender_address\": \"0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266\",\n"
-"\t/// The private key associated to `sender_address`.\n"
-"\t\"private_key\": "
-"\"0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80\",\n"
-"\t/// The interval, in seconds, at which the messaging service will fetch "
-"and settle messages\n"
-"\t/// from/to the settlement chain.\n"
-"\t\"interval\": 2,\n"
-"\t/// The block on settlement chain from where Katana will start fetching "
-"messages.\n"
-"\t\"from_block\": 0\n"
-"}\n"
-"```"
-
-#: src/toolchain/katana/reference.md:79
-msgid "#### Supported Transport Layers"
-msgstr "#### Capas de Transporte Admitidas"
-
-#: src/toolchain/katana/reference.md:81
-msgid ""
-"Only HTTP connection is supported at the moment. The server listens on port "
-"5050 by default, but it can be changed by running the following command:"
-msgstr ""
-"Por el momento, solo se admite la conexión HTTP. El servidor escucha en el "
-"puerto 5050 de forma predeterminada, pero se puede cambiar ejecutando el "
-"siguiente comando:"
-
-#: src/toolchain/katana/reference.md:83
-msgid ""
-"```sh\n"
-"katana --port \n"
-"```"
-msgstr ""
-"```sh\n"
-"katana --port \n"
-"```"
-
-#: src/toolchain/katana/reference.md:87
-msgid "#### Starknet Feature Compatibility"
-msgstr "#### Compatibilidad de Características de Starknet"
-
-#: src/toolchain/katana/reference.md:89
-msgid "##### Supported Transaction Type"
-msgstr "##### Tipo de Transacción Soportada"
-
-#: src/toolchain/katana/reference.md:91
-msgid ""
-"| Type | Version |\n"
-"| -------------- | ------- |\n"
-"| INVOKE | 1 |\n"
-"| DECLARE | 1, 2 |\n"
-"| DEPLOY_ACCOUNT | |"
-msgstr ""
-"| Type | Version |\n"
-"| -------------- | ------- |\n"
-"| INVOKE | 1 |\n"
-"| DECLARE | 1, 2 |\n"
-"| DEPLOY_ACCOUNT | |"
-
-#: src/toolchain/katana/reference.md:97
-msgid "#### Supported RPC Methods"
-msgstr "#### Métodos RPC Soportados"
-
-#: src/toolchain/katana/reference.md:99
-msgid "##### Starknet Methods"
-msgstr "##### Métodos Starknet"
-
-#: src/toolchain/katana/reference.md:101
-msgid ""
-"Katana supports version **v0.3.0** of the Starknet JSON-RPC specifications. "
-"The standard methods are based on [this](https://github.com/starkware-libs/"
-"starknet-specs/tree/v0.3.0) reference."
-msgstr ""
-"Katana admite la versión **v0.3.0** de las especificaciones Starknet JSON-"
-"RPC. Los métodos estándar se basan en [esta](https://github.com/starkware-"
-"libs/starknet-specs/tree/v0.3.0) referencia."
-
-#: src/toolchain/katana/reference.md:103
-msgid ""
-"- `starknet_blockNumber`\n"
-"- `starknet_blockHashAndNumber`\n"
-"- `starknet_getBlockWithTxs`\n"
-"- `starknet_getBlockWithTxHashes`\n"
-"- `starknet_getBlockTransactionCount`\n"
-"- `starknet_getTransactionByHash`\n"
-"- `starknet_getTransactionByBlockIdAndIndex`\n"
-"- `starknet_getTransactionReceipt`\n"
-"- `starknet_pendingTransactions`\n"
-"- `starknet_getStateUpdate`\n"
-"\n"
-"- `starknet_call`\n"
-"- `starknet_estimateFee`\n"
-"\n"
-"- `starknet_chainId`\n"
-"\n"
-"- `starknet_getNonce`\n"
-"- `starknet_getEvents`\n"
-"- `starknet_getStorageAt`\n"
-"- `starknet_getClassHashAt`\n"
-"- `starknet_getClass`\n"
-"- **`starknet_getClassAt`**\n"
-"\n"
-"- `starknet_addInvokeTransaction`\n"
-"- `starknet_addDeclareTransaction`\n"
-"- `starknet_addDeployAccountTransaction`"
-msgstr ""
-"- `starknet_blockNumber`\n"
-"- `starknet_blockHashAndNumber`\n"
-"- `starknet_getBlockWithTxs`\n"
-"- `starknet_getBlockWithTxHashes`\n"
-"- `starknet_getBlockTransactionCount`\n"
-"- `starknet_getTransactionByHash`\n"
-"- `starknet_getTransactionByBlockIdAndIndex`\n"
-"- `starknet_getTransactionReceipt`\n"
-"- `starknet_pendingTransactions`\n"
-"- `starknet_getStateUpdate`\n"
-"\n"
-"- `starknet_call`\n"
-"- `starknet_estimateFee`\n"
-"\n"
-"- `starknet_chainId`\n"
-"\n"
-"- `starknet_getNonce`\n"
-"- `starknet_getEvents`\n"
-"- `starknet_getStorageAt`\n"
-"- `starknet_getClassHashAt`\n"
-"- `starknet_getClass`\n"
-"- **`starknet_getClassAt`**\n"
-"\n"
-"- `starknet_addInvokeTransaction`\n"
-"- `starknet_addDeclareTransaction`\n"
-"- `starknet_addDeployAccountTransaction`"
-
-#: src/toolchain/katana/reference.md:130
-msgid "##### Custom Methods"
-msgstr "##### Métodos Personalizados"
-
-#: src/toolchain/katana/reference.md:132
-msgid ""
-"Katana provides a convenient set of custom RPC methods to quickly and easily "
-"configure the node to suit your testing environment."
-msgstr ""
-"Katana proporciona un conjunto conveniente de métodos RPC personalizados "
-"para configurar rápida y fácilmente el nodo para adaptarlo a su entorno de "
-"prueba."
-
-#: src/toolchain/katana/reference.md:134
-msgid ""
-"`katana_generateBlock` \n"
-"Mine a new block which includes all currently pending transactions."
-msgstr ""
-"`katana_generateBlock`\n"
-"Extraiga un nuevo bloque que incluya todas las transacciones actualmente "
-"pendientes."
-
-#: src/toolchain/katana/reference.md:137
-msgid ""
-"`katana_nextBlockTimestamp` \n"
-"Get the time for the next block."
-msgstr ""
-"`katana_nextBlockTimestamp`\n"
-"Obtenga la hora para el siguiente bloque."
-
-#: src/toolchain/katana/reference.md:140
-msgid ""
-"`katana_increaseNextBlockTimestamp` \n"
-"Increase the time for the block by a given amount of time, in seconds."
-msgstr ""
-"`katana_increaseNextBlockTimestamp`\n"
-"Aumenta el tiempo del bloque en una cantidad determinada de tiempo, en "
-"segundos."
-
-#: src/toolchain/katana/reference.md:143
-msgid ""
-"`katana_setNextBlockTimestamp` \n"
-"Similar to `katana_increaseNextBlockTimestamp` but takes the exact timestamp "
-"that you want in the next block."
-msgstr ""
-"`katana_setNextBlockTimestamp`\n"
-"Similar a `katana_increaseNextBlockTimestamp` pero toma la marca de tiempo "
-"exacta que deseas en el siguiente bloque."
-
-#: src/toolchain/katana/reference.md:146
-msgid ""
-"`katana_predeployedAccounts` \n"
-"Get the info for all of the predeployed accounts."
-msgstr ""
-"`katana_predeployedAccounts`\n"
-"Obtenga la información de todas las cuentas previamente implementadas."
-
-#: src/toolchain/katana/reference.md:149
-msgid ""
-"`katana_setStorageAt` \n"
-"Set an exact value of a contract's storage slot."
-msgstr ""
-"`katana_setStorageAt`\n"
-"Establezca un valor exacto del espacio de almacenamiento de un contrato."
-
-#: src/toolchain/katana/reference.md:156
-msgid ""
-"`--silent` \n"
-" Don't print anything on startup."
-msgstr ""
-"`--silent`\n"
-" No imprime nada al inicio."
-
-#: src/toolchain/katana/reference.md:159
-msgid ""
-"`--no-mining` \n"
-" Disable auto and interval mining, and mine on "
-"demand instead."
-msgstr ""
-"`--no-mining` \n"
-" Desactive la minería automática y de intervalos y, "
-"en su lugar, extraiga según demanda."
-
-#: src/toolchain/katana/reference.md:162
-msgid ""
-"`-b, --block-time ` \n"
-" Block time in milliseconds for interval mining."
-msgstr ""
-"`-b, --block-time `\n"
-" Tiempo de bloque en milisegundos para minería de "
-"intervalos."
-
-#: src/toolchain/katana/reference.md:165
-msgid ""
-"`--dump-state ` \n"
-" Dump the state of chain on exit to the given "
-"file. \n"
-" If the value is a directory, the state will be "
-"written to `/state.bin`."
-msgstr ""
-"`--dump-state ` \n"
-" Vuelque el estado de la cadena al salir del archivo "
-"dado.\n"
-" Si el valor es un directorio, el estado se "
-"escribirá en `/state.bin`."
-
-#: src/toolchain/katana/reference.md:169
-msgid ""
-"`--load-state ` \n"
-" Initialize the chain from a previously saved state "
-"snapshot."
-msgstr ""
-"`--load-state ` \n"
-" Inicialice la cadena a partir de una instantánea de "
-"estado previamente guardada."
-
-#: src/toolchain/katana/reference.md:172
-msgid ""
-"`--rpc-url ` \n"
-" The Starknet RPC provider to fork the network from."
-msgstr ""
-"`--rpc-url `\n"
-" El proveedor de Starknet RPC desde el cual bifurcar "
-"la red."
-
-#: src/toolchain/katana/reference.md:175
-msgid ""
-"`--json-log` \n"
-" Output logs in JSON format."
-msgstr ""
-"`--json-log`\n"
-" Registros de salida en formato JSON."
-
-#: src/toolchain/katana/reference.md:178
-msgid ""
-"`--fork-block-number ` \n"
-" Fork the network at a specific block."
-msgstr ""
-"`--fork-block-number ` \n"
-" Bifurca la red en un bloque específico."
-
-#: src/toolchain/katana/reference.md:181
-msgid ""
-"`--messaging ` \n"
-" Configure the messaging service to allow Katana to "
-"listen/send messages on a settlement chain that can be either Ethereum or "
-"another Starknet sequencer (experimental)."
-msgstr ""
-"`--messaging ` \n"
-" Configure el servicio de mensajería para permitir "
-"que Katana escuche/envíe mensajes en una cadena de liquidación que puede ser "
-"Ethereum u otro secuenciador Starknet (experimental)."
-
-#: src/toolchain/katana/reference.md:184
-msgid ""
-"`-h, --help` \n"
-" Print help (see a summary with '-h')."
-msgstr ""
-"`-h, --help` \n"
-" Imprimir ayuda (ver un resumen con '-h')."
-
-#: src/toolchain/katana/reference.md:187
-msgid ""
-"`-V, --version` \n"
-" Print version information."
-msgstr ""
-"`-V, --version`\n"
-" Imprimir información de la versión."
-
-#: src/toolchain/katana/reference.md:190
-msgid "#### Server Options"
-msgstr "#### Opciones del Servidor"
-
-#: src/toolchain/katana/reference.md:192
-msgid ""
-"`-p, --port ` \n"
-" Port number to listen on. [default: 5050]"
-msgstr ""
-"`-p, --port `\n"
-" Número de puerto para escuchar. [predeterminado: "
-"5050]"
-
-#: src/toolchain/katana/reference.md:195
-msgid ""
-"`--host ` \n"
-" The IP address the server will listen on."
-msgstr ""
-"`--host `\n"
-" La dirección IP en la que escuchará el servidor."
-
-#: src/toolchain/katana/reference.md:200
-msgid ""
-"`--seed ` \n"
-" Specify the seed for randomness of accounts to be "
-"predeployed."
-msgstr ""
-"`--seed ` \n"
-" Especifique la semilla para la aleatoriedad de las "
-"cuentas que se implementarán previamente."
-
-#: src/toolchain/katana/reference.md:203
-msgid ""
-"`--accounts ` \n"
-" Number of pre-funded accounts to generate. "
-"[default: 10]"
-msgstr ""
-"`--accounts `\n"
-" Número de cuentas prefinanciadas a generar. "
-"[predeterminado: 10]"
-
-#: src/toolchain/katana/reference.md:206
-msgid ""
-"`--disable-fee` \n"
-" Disable charging fee for transactions."
-msgstr ""
-"`--disable-fee` \n"
-" Deshabilite el cobro de tarifas por transacciones."
-
-#: src/toolchain/katana/reference.md:209
-msgid "#### Environment Options"
-msgstr "#### Opciones de Entorno"
-
-#: src/toolchain/katana/reference.md:211
-msgid ""
-"`--chain-id ` \n"
-" The chain ID. [default: KATANA]"
-msgstr ""
-"`--chain-id ` \n"
-" La identificación de la cadena. [predeterminado: "
-"KATANA]"
-
-#: src/toolchain/katana/reference.md:214
-msgid ""
-"`--gas-price ` \n"
-" The gas price."
-msgstr ""
-"`--gas-price ` \n"
-" El precio del gas."
-
-#: src/toolchain/katana/reference.md:217
-msgid ""
-"`--validate-max-steps ` \n"
-" The maximum number of steps available for the "
-"account validation logic."
-msgstr ""
-"`--validate-max-steps ` \n"
-" El número máximo de pasos disponibles para la "
-"lógica de validación de la cuenta."
-
-#: src/toolchain/katana/reference.md:220
-msgid ""
-"`--invoke-max-steps ` \n"
-" The maximum number of steps available for the "
-"account execution logic."
-msgstr ""
-"`--invoke-max-steps ` \n"
-" El número máximo de pasos disponibles para la "
-"lógica de ejecución de la cuenta."
-
-#: src/toolchain/katana/reference.md:223
-msgid "### Shell Completions"
-msgstr "### Finalizaciones de Shell"
-
-#: src/toolchain/katana/reference.md:225
-msgid "`katana` completions shell"
-msgstr "shell de terminaciones `katana`"
-
-#: src/toolchain/katana/reference.md:227
-msgid "Generates a shell completions script for the given shell."
-msgstr "Genera un script de finalización de shell para el shell determinado."
-
-#: src/toolchain/katana/reference.md:229
-msgid "Supported shells are:"
-msgstr "Los shells soportados son:"
-
-#: src/toolchain/katana/reference.md:231
-msgid ""
-"- bash\n"
-"- elvish\n"
-"- fish\n"
-"- powershell\n"
-"- zsh"
-msgstr ""
-"- bash\n"
-"- elvish\n"
-"- fish\n"
-"- powershell\n"
-"- zsh"
-
-#: src/toolchain/katana/reference.md:237
-msgid "#### EXAMPLES"
-msgstr "#### EJEMPLOS"
-
-#: src/toolchain/katana/reference.md:239
-msgid ""
-"Generate shell completions script for `bash` and appends it to a `.bashrc` "
-"file:"
-msgstr ""
-"Genere un script de finalización de shell para `bash` y agréguelo a un "
-"archivo `.bashrc`:"
-
-#: src/toolchain/katana/reference.md:241
-msgid ""
-"```bash\n"
-"katana completions bash >> ~/.bashrc\n"
-"```"
-msgstr ""
-"```bash\n"
-"katana completions bash >> ~/.bashrc\n"
-"```"
-
-#: src/toolchain/katana/reference.md:247
-msgid "1. Create 15 dev accounts and disable transaction fee mechanism"
-msgstr ""
-"1. Cree 15 cuentas de desarrollo y desactive el mecanismo de tarifas de "
-"transacción"
-
-#: src/toolchain/katana/reference.md:249
-msgid ""
-"```sh\n"
-"katana --accounts 15 --disable-fee\n"
-"```"
-msgstr ""
-"```sh\n"
-"katana --accounts 15 --disable-fee\n"
-"```"
-
-#: src/toolchain/katana/reference.md:253
-msgid "2. Set the chain id to `SN_GOERLI` and run the server on port 8545"
-msgstr ""
-"2. Establezca la identificación de la cadena en `SN_GOERLI` y ejecute el "
-"servidor en el puerto 8545"
-
-#: src/toolchain/katana/reference.md:255
-msgid ""
-"```sh\n"
-"katana --chain-id SN_GOERLI --port 8545\n"
-"```"
-msgstr ""
-"```sh\n"
-"katana --chain-id SN_GOERLI --port 8545\n"
-"```"
-
-#: src/toolchain/katana/reference.md:259
-msgid ""
-"3. Load previously stored state and dump the state of this session to a file "
-"on shutdown"
-msgstr ""
-"3. Cargue el estado previamente almacenado y vuelque el estado de esta "
-"sesión en un archivo al cerrar"
-
-#: src/toolchain/katana/reference.md:261
-msgid ""
-"```sh\n"
-"katana --load-state ./dump-state.bin --dump-state ./dump-state.bin\n"
-"```"
-msgstr ""
-"```sh\n"
-"katana --load-state ./dump-state.bin --dump-state ./dump-state.bin\n"
-"```"
-
-#: src/toolchain/torii/overview.md:1
-msgid "## Torii - Networking & Indexing"
-msgstr "## Torii - Redes e Indexación"
-
-#: src/toolchain/torii/overview.md:3
-msgid ""
-"Torii is an automatic indexer for dojo worlds. Built in rust to be blazingly "
-"fast and exceptionally scalable."
-msgstr ""
-"Torii es un indexador automático para Worlds dojo. Construido en rust para "
-"ser increíblemente rápido y excepcionalmente escalable."
-
-#: src/toolchain/torii/overview.md:5
-msgid "### Dojo indexer"
-msgstr "### Indexador de Dojo"
-
-#: src/toolchain/torii/overview.md:7
-msgid ""
-"Torii indexes your dojo worlds and exposes a GraphQL API to query them. "
-"Simply run:"
-msgstr ""
-"Torii indexa los Worlds de tu dojo y expone una API GraphQL para "
-"consultarlos. Simplemente ejecuta:"
-
-#: src/toolchain/torii/overview.md:9
-msgid ""
-"```sh\n"
-"torii\n"
-"```"
-msgstr ""
-"```sh\n"
-"torii\n"
-"```"
-
-#: src/toolchain/torii/overview.md:12
-msgid "and you'll have a GraphQL API running on `http://localhost:8080`!"
-msgstr "¡Y tendrás una API GraphQL ejecutándose en `http://localhost:8080`!"
-
-#: src/toolchain/torii/overview.md:16
-msgid ""
-"The `torii` binary can be installed via [`dojoup`](../../getting-started/"
-"quick-start.md), our dedicated installation package manager."
-msgstr ""
-"El binario `torii` se puede instalar a través de [`dojoup`](../../getting-"
-"started/quick-start.md), nuestro administrador de paquetes de instalación "
-"dedicado."
-
-#: src/toolchain/torii/overview.md:20
-msgid "If you prefer to install from the source code:"
-msgstr "If you prefer to install from the source code:"
-
-#: src/toolchain/torii/overview.md:22
-msgid ""
-"```sh\n"
-"cargo install --path ./crates/torii --profile local --force\n"
-"```"
-msgstr ""
-"```sh\n"
-"cargo install --path ./crates/torii --profile local --force\n"
-"```"
-
-#: src/toolchain/torii/overview.md:26
-msgid ""
-"This will install Torii and the required dependencies on your local system."
-msgstr ""
-"Esto instalará Torii y las dependencias requeridas en su sistema local."
-
-#: src/toolchain/torii/overview.md:28
-msgid ""
-"> 📚 **Reference**\n"
-">\n"
-"> See the [`torii` Reference](./reference.md) for a complete reference."
-msgstr ""
-"> 📚 **Referencia**\n"
-">\n"
-"> Consulte la [`torii` Reference](./reference.md) para obtener una "
-"referencia completa."
-
-#: src/toolchain/torii/reference.md:1
-msgid "## torii reference"
-msgstr "## Referencia torii"
-
-#: src/toolchain/torii/reference.md:3 src/toolchain/torii/graphql.md:3
-msgid "### Name"
-msgstr "### Name"
-
-#: src/toolchain/torii/reference.md:5
-msgid "torii - An automatic indexer and networking layer for a world contract."
-msgstr ""
-"torii: - Un indexador automático y una capa de red para un contrato de World."
-
-#: src/toolchain/torii/reference.md:9
-msgid ""
-"```sh\n"
-"torii [OPTIONS]\n"
-"```"
-msgstr ""
-"```sh\n"
-"torii [OPTIONS]\n"
-"```"
-
-#: src/toolchain/torii/reference.md:15
-msgid ""
-"`torii` starts the indexer and exposes GraphQL/gRPC API endpoints. The "
-"indexer queries the specified Starknet RPC endpoint for transaction blocks "
-"and listens for transactions related to the world contract. These "
-"transactions can include component/system registrations, entity state "
-"updates, system calls, and events. The parsed data is then stored in a local "
-"SQLite database."
-msgstr ""
-"`torii` inicia el indexador y expone los puntos finales de la API GraphQL/"
-"gRPC. El indexador consulta el punto final Starknet RPC especificado en "
-"busca de bloques de transacciones y escucha las transacciones relacionadas "
-"con el contrato de World. Estas transacciones pueden incluir registros de "
-"componentes/Systems, actualizaciones del estado de la entidad, llamadas al "
-"sistema y eventos. Luego, los datos analizados se almacenan en una base de "
-"datos SQLite local."
-
-#: src/toolchain/torii/reference.md:17
-msgid ""
-"The GraphQL and gRPC API endpoints run in tandem with the indexer, providing "
-"custom queries specific to the world contract for client applications."
-msgstr ""
-"Los puntos finales de las API GraphQL y gRPC se ejecutan en conjunto con el "
-"indexador, proporcionando consultas personalizadas específicas del contrato "
-"mundial para aplicaciones cliente."
-
-#: src/toolchain/torii/reference.md:19
-msgid "#### Database URL"
-msgstr "#### Database URL"
-
-#: src/toolchain/torii/reference.md:21
-msgid ""
-"`torii` uses a sqlite database to store indexed data. The database can be "
-"stored either in-memory or persistently on the filesystem."
-msgstr ""
-"`torii` usa una base de datos sqlite para almacenar datos indexados. La base "
-"de datos se puede almacenar en memoria o de forma persistente en el sistema "
-"de archivos."
-
-#: src/toolchain/torii/reference.md:23
-msgid ""
-"- The in-memory database is ephemeral and only lasts as long as the indexer "
-"is running. This is a fast and simple option to start the indexer for "
-"development/testing.\n"
-"- Persistent storage should be used in production. It relies on the local "
-"filesystem for storage."
-msgstr ""
-"- La base de datos en memoria es efímera y solo dura mientras se ejecuta el "
-"indexador. Esta es una opción rápida y sencilla para iniciar el indexador "
-"para desarrollo/prueba.\n"
-"- En producción se debe utilizar almacenamiento persistente. Depende del "
-"sistema de archivos local para el almacenamiento."
-
-#: src/toolchain/torii/reference.md:26
-msgid ""
-"Note: If using in-memory db, the memory will be garbage collected after a "
-"period of inactivity, causing queries to result in errors. A workaround is "
-"to start `katana` with the `--block-time` option or use a persistent "
-"database."
-msgstr ""
-"Nota: Si utiliza una db en memoria, la memoria se recolectará como basura "
-"después de un período de inactividad, lo que provocará que las consultas "
-"generen errores. Una solución alternativa es iniciar `katana` con la opción "
-"`--block-time` o usar una base de datos persistente."
-
-#: src/toolchain/torii/reference.md:28
-msgid ""
-"```sh\n"
-"# Persistent database storage using file indexer.db\n"
-"torii --database-url sqlite:indexer.db\n"
-"```"
-msgstr ""
-"```sh\n"
-"# Persistent database storage using file indexer.db\n"
-"torii --database-url sqlite:indexer.db\n"
-"```"
-
-#: src/toolchain/torii/reference.md:37
-msgid ""
-"`-w, --world`\n"
-" Address of the world contract to index"
-msgstr ""
-"`-w, --world`\n"
-" Dirección del contrato mundial a indexar."
-
-#: src/toolchain/torii/reference.md:40
-msgid ""
-"`--rpc`\n"
-" Starknet RPC endpoint to use [default: http//"
-"localhost:5050]"
-msgstr ""
-"`--rpc`\n"
-" Punto final Starknet RPC a utilizar "
-"[predeterminado: http//localhost:5050]"
-
-#: src/toolchain/torii/reference.md:43
-msgid ""
-"`-m, --manifest `\n"
-" Specify a local manifest to initialize from"
-msgstr ""
-"`-m, --manifest `\n"
-" Especifique un manifiesto local desde el que "
-"inicializar"
-
-#: src/toolchain/torii/reference.md:46
-msgid ""
-"`-d, --database-url `\n"
-" Database URL (read more above) [default: sqlite::"
-"memory:]"
-msgstr ""
-"`-d, --database-url `\n"
-" URL de la base de datos (leer más arriba)"
-"[predeterminado: sqlite::memory:]"
-
-#: src/toolchain/torii/reference.md:49
-msgid ""
-"`-s, --start-block `\n"
-" Specify a block to start indexing from, ignored if "
-"stored head exists [default: 0]"
-msgstr ""
-"`-s, --start-block `\n"
-" Especifique un bloque desde el que comenzar a "
-"indexar, ignorado si existe un encabezado almacenado [predeterminado: 0]"
-
-#: src/toolchain/torii/reference.md:52
-msgid ""
-"`-h, --help`\n"
-" Print help"
-msgstr ""
-"`-h, --help`\n"
-" Imprimir ayuda"
-
-#: src/toolchain/torii/reference.md:55
-msgid ""
-"`-V, --version`\n"
-" Print version"
-msgstr ""
-"`-V, --version`\n"
-" Versión impresa"
-
-#: src/toolchain/torii/graphql.md:1
-msgid "## Torii - GraphQL"
-msgstr "## Torii - GraphQL"
-
-#: src/toolchain/torii/graphql.md:5
-msgid ""
-"In Dojo, you have access to custom queries and subscriptions that are "
-"specifically designed to work with the `caller` for client applications. "
-"GraphQL is the technology that makes this possible."
-msgstr ""
-"En Dojo, tiene acceso a consultas y suscripciones personalizadas diseñadas "
-"específicamente para funcionar con el `caller` para aplicaciones cliente. "
-"GraphQL es la tecnología que hace esto posible."
-
-#: src/toolchain/torii/graphql.md:7
-msgid ""
-"GraphQL is the rising star of backend technologies. It replaces REST as an "
-"API design paradigm and is becoming the new standard for exposing the data "
-"and functionality of a web server. It allows you to specify exactly what "
-"data you want to retrieve, and it delivers that data in a structured JSON "
-"format. This flexibility in data retrieval ensures that you get the "
-"information you need efficiently and in a format that's easy to work with."
-msgstr ""
-"GraphQL es la estrella en ascenso de las tecnologías backend. Reemplaza a "
-"REST como paradigma de diseño de API y se está convirtiendo en el nuevo "
-"estándar para exponer los datos y la funcionalidad de un servidor web. Le "
-"permite especificar exactamente qué datos desea recuperar y los entrega en "
-"un formato JSON estructurado. Esta flexibilidad en la recuperación de datos "
-"garantiza que obtenga la información que necesita de manera eficiente y en "
-"un formato con el que sea fácil trabajar."
-
-#: src/toolchain/torii/graphql.md:9
-msgid "#### GraphQL Playground"
-msgstr "#### GraphQL Playground"
-
-#: src/toolchain/torii/graphql.md:11
-msgid ""
-"GraphQL Playground is a `GraphQL IDE`` that allows you to interactively "
-"explore the functionality of a GraphQL API by sending queries and mutations "
-"to it. It’s somewhat similar to Postman which offers comparable "
-"functionality for REST APIs."
-msgstr ""
-"GraphQL Playground es un `GraphQL IDE` que le permite explorar "
-"interactivamente la funcionalidad de una API GraphQL enviándole consultas y "
-"mutaciones. Es algo similar a Postman, que ofrece una funcionalidad "
-"comparable para las API REST."
-
-#: src/toolchain/torii/graphql.md:15
-msgid "#### Pre-requisites"
-msgstr "#### Requisitos previos"
-
-#: src/toolchain/torii/graphql.md:17
-msgid "Make sure torii is running in your local terminal."
-msgstr "Asegúrese de que torii se esté ejecutando en su terminal local."
-
-#: src/toolchain/torii/graphql.md:19
-msgid ""
-"```sh\n"
-"torii --world \n"
-"```"
-msgstr ""
-"```sh\n"
-"torii --world \n"
-"```"
-
-#: src/toolchain/torii/graphql.md:23
-msgid "It starts GraphQL server at `http://0.0.0.0:8080/graphql`"
-msgstr "Inicia el servidor GraphQL en `http://0.0.0.0:8080/graphql`"
-
-#: src/toolchain/torii/graphql.md:25
-msgid ""
-"After the torii server starts on your local machine, you're ready to make "
-"query and subscription operations."
-msgstr ""
-"Una vez que el servidor torii se inicie en su máquina local, estará listo "
-"para realizar operaciones de consulta y suscripción."
-
-#: src/toolchain/torii/graphql.md:27
-msgid "### Query operation"
-msgstr "### Operación de consulta"
-
-#: src/toolchain/torii/graphql.md:29
-msgid ""
-"In [`hello-dojo`](../../cairo/hello-dojo.md#next-steps) we fetched some data "
-"from the `Moves` model. This time let's fetch only `id`, `name`, "
-"`class_hash` fields from `Position` model ."
-msgstr ""
-"En [`hello-dojo`](../../cairo/hello-dojo.md#next-steps) obtuvimos algunos "
-"datos del Model `Moves`. Esta vez recuperaremos solo los campos `id`, "
-"`name`, `class_hash` del Model `Position`."
-
-#: src/toolchain/torii/graphql.md:31
-msgid ""
-"```graphql\n"
-"query {\n"
-" model(id: \"Position\") {\n"
-" id\n"
-" name\n"
-" class_hash\n"
-" }\n"
-"}\n"
-"```"
-msgstr ""
-"```graphql\n"
-"query {\n"
-" model(id: \"Position\") {\n"
-" id\n"
-" name\n"
-" class_hash\n"
-" }\n"
-"}\n"
-"```"
-
-#: src/toolchain/torii/graphql.md:43
-msgid ""
-"```json\n"
-"{\n"
-" \"data\": {\n"
-" \"model\": {\n"
-" \"id\": \"Position\",\n"
-" \"name\": \"Position\",\n"
-" \"class_hash\": "
-"\"0x6ffc643cbc4b2fb9c424242b18175a5e142269b45f4463d1cd4dddb7a2e5095\"\n"
-" }\n"
-" }\n"
-"}\n"
-"```"
-msgstr ""
-"```json\n"
-"{\n"
-" \"data\": {\n"
-" \"model\": {\n"
-" \"id\": \"Position\",\n"
-" \"name\": \"Position\",\n"
-" \"class_hash\": "
-"\"0x6ffc643cbc4b2fb9c424242b18175a5e142269b45f4463d1cd4dddb7a2e5095\"\n"
-" }\n"
-" }\n"
-"}\n"
-"```"
-
-#: src/toolchain/torii/graphql.md:55
-msgid ""
-"Great! If you're wondering about the number of fields a `Model` has or the "
-"details of a `Entities`, you can find all the information about the schema "
-"definition in the `Documentation Explorer` section of the GraphQL IDE. It's "
-"your go-to place for exploring the rest of the documentation."
-msgstr ""
-"¡Excelente! Si se pregunta sobre la cantidad de campos que tiene un `Model` "
-"o los detalles de una `Entities`, puede encontrar toda la información sobre "
-"la definición del esquema en la sección `Documentation Explorer` del IDE "
-"GraphQL. Es su lugar de referencia para explorar el resto de la "
-"documentación."
-
-#: src/toolchain/torii/graphql.md:57
-msgid "Now lets retrieve more data from `Moves` model."
-msgstr "Ahora recuperemos más datos del Model `Moves`."
-
-#: src/toolchain/torii/graphql.md:59
-msgid ""
-"```graphql\n"
-"query {\n"
-" movesModels {\n"
-" edges {\n"
-" node {\n"
-" player\n"
-" remaining\n"
-" last_direction\n"
-" }\n"
-" }\n"
-" }\n"
-"}\n"
-"```"
-msgstr ""
-"```graphql\n"
-"query {\n"
-" movesModels {\n"
-" edges {\n"
-" node {\n"
-" player\n"
-" remaining\n"
-" last_direction\n"
-" }\n"
-" }\n"
-" }\n"
-"}\n"
-"```"
-
-#: src/toolchain/torii/graphql.md:75
-msgid ""
-"```json\n"
-"{\n"
-" \"data\": {\n"
-" \"movesModels\": {\n"
-" \"edges\": [\n"
-" {\n"
-" \"node\": {\n"
-" \"player\": "
-"\"0x517ececd29116499f4a1b64b094da79ba08dfd54a3edaa316134c41f8160973\",\n"
-" \"remaining\": 10,\n"
-" \"last_direction\": \"None\"\n"
-" }\n"
-" }\n"
-" ]\n"
-" }\n"
-" }\n"
-"}\n"
-"```"
-msgstr ""
-"```json\n"
-"{\n"
-" \"data\": {\n"
-" \"movesModels\": {\n"
-" \"edges\": [\n"
-" {\n"
-" \"node\": {\n"
-" \"player\": "
-"\"0x517ececd29116499f4a1b64b094da79ba08dfd54a3edaa316134c41f8160973\",\n"
-" \"remaining\": 10,\n"
-" \"last_direction\": \"None\"\n"
-" }\n"
-" }\n"
-" ]\n"
-" }\n"
-" }\n"
-"}\n"
-"```"
-
-#: src/toolchain/torii/graphql.md:93
-msgid ""
-"Feel free to play around with the query by removing any fields from the "
-"selection set and observe the responses sent by the server. It is your turn "
-"to create any kind of query for entities and models!"
-msgstr ""
-"Siéntase libre de jugar con la consulta eliminando cualquier campo del "
-"conjunto de selección y observe las respuestas enviadas por el servidor. ¡Es "
-"tu turno de crear cualquier tipo de consulta para entidades y Models!"
-
-#: src/toolchain/torii/graphql.md:95
-msgid "### Subscription operations"
-msgstr "### Subscription operations"
-
-#: src/toolchain/torii/graphql.md:97
-msgid ""
-"Subscriptions are a GraphQL feature that allows a server to send data to its "
-"clients when a specific event happens. Subscriptions are usually implemented "
-"with WebSockets. In that setup, the server maintains a steady connection to "
-"its subscribed client. This also breaks the “Request-Response-Cycle” that is "
-"used for with REST APIs."
-msgstr ""
-"Las suscripciones son una característica de GraphQL que permite a un "
-"servidor enviar datos a sus clientes cuando ocurre un evento específico. Las "
-"suscripciones suelen implementarse con WebSockets. En esa configuración, el "
-"servidor mantiene una conexión estable con su cliente suscrito. Esto también "
-"rompe el \"Request-Response-Cycle” que se utiliza con las API REST."
-
-#: src/toolchain/torii/graphql.md:99
-msgid ""
-"Instead, the client initially opens up a long-lived connection to the server "
-"by sending a subscription query that specifies which event it is interested "
-"in. Every time this particular event happens, the server uses the connection "
-"to push the event data to the subscribed client(s)."
-msgstr ""
-"En cambio, el cliente inicialmente abre una conexión de larga duración con "
-"el servidor enviando una consulta de suscripción que especifica qué evento "
-"le interesa. Cada vez que ocurre este evento en particular, el servidor usa "
-"la conexión para enviar los datos del evento al cliente/s suscrito."
-
-#: src/toolchain/torii/graphql.md:101
-msgid ""
-"In this example, you can listen when an `Model` is registered by executing "
-"this subscription"
-msgstr ""
-"En este ejemplo, puede escuchar cuando se registra un `Model` ejecutando "
-"esta suscripción."
-
-#: src/toolchain/torii/graphql.md:103
-msgid ""
-"```graphql\n"
-"subscription modelRegistered {\n"
-" modelRegistered {\n"
-" id\n"
-" name\n"
-" }\n"
-"}\n"
-"```"
-msgstr ""
-"```graphql\n"
-"subscription modelRegistered {\n"
-" modelRegistered {\n"
-" id\n"
-" name\n"
-" }\n"
-"}\n"
-"```"
-
-#: src/toolchain/torii/graphql.md:112
-msgid ""
-"Graphql also supports subscription to a targeted entity or model, for this "
-"we have to pass its id as an argument"
-msgstr ""
-"Graphql también admite la suscripción a una entidad o Model de destino, "
-"para ello tenemos que pasar su identificación como argumento."
-
-#: src/toolchain/torii/graphql.md:114
-msgid ""
-"In this example, our server provides a `entityUpdated` subscription, which "
-"should notify clients whenever an entity with id "
-"`0x28cd7ee02d7f6ec9810e75b930e8e607793b302445abbdee0ac88143f18da20` is "
-"updated. On the same subscription we can get the model(components) values of "
-"the updated entity . A client can execute a subscription that looks like "
-"this:"
-msgstr ""
-"En este ejemplo, nuestro servidor proporciona una suscripción "
-"`entityUpdated`, que debe notificar a los clientes cada vez que se actualiza "
-"una entidad con ID "
-"`0x28cd7ee02d7f6ec9810e75b930e8e607793b302445abbdee0ac88143f18da20`. En la "
-"misma suscripción podemos obtener los valores del Model (componentes) de la "
-"entidad actualizada. Un cliente puede ejecutar una suscripción similar a "
-"esta:"
-
-#: src/toolchain/torii/graphql.md:116
-msgid ""
-"```graphql\n"
-"subscription {\n"
-" entityUpdated(\n"
-" id: "
-"\"0x28cd7ee02d7f6ec9810e75b930e8e607793b302445abbdee0ac88143f18da20\"\n"
-" ) {\n"
-" id\n"
-" keys\n"
-" model_names\n"
-" event_id\n"
-" created_at\n"
-" updated_at\n"
-" models {\n"
-" __typename\n"
-" ... on Moves {\n"
-" remaining\n"
-" player\n"
-" }\n"
-" ... on Position {\n"
-" vec {\n"
-" x\n"
-" y\n"
-" }\n"
-" }\n"
-" }\n"
-" }\n"
-"}\n"
-"```"
-msgstr ""
-"```graphql\n"
-"subscription {\n"
-" entityUpdated(\n"
-" id: "
-"\"0x28cd7ee02d7f6ec9810e75b930e8e607793b302445abbdee0ac88143f18da20\"\n"
-" ) {\n"
-" id\n"
-" keys\n"
-" model_names\n"
-" event_id\n"
-" created_at\n"
-" updated_at\n"
-" models {\n"
-" __typename\n"
-" ... on Moves {\n"
-" remaining\n"
-" player\n"
-" }\n"
-" ... on Position {\n"
-" vec {\n"
-" x\n"
-" y\n"
-" }\n"
-" }\n"
-" }\n"
-" }\n"
-"}\n"
-"```"
-
-#: src/toolchain/torii/graphql.md:144
-msgid "According to your input, you will receive an output like this:"
-msgstr "Según su entrada, recibirá un resultado como este:"
-
-#: src/toolchain/torii/graphql.md:146
-msgid ""
-"```json\n"
-"{\n"
-" \"data\": {\n"
-" \"entityUpdated\": {\n"
-" \"id\": "
-"\"0x28cd7ee02d7f6ec9810e75b930e8e607793b302445abbdee0ac88143f18da20\",\n"
-" \"keys\": [\n"
-" \"0x517ececd29116499f4a1b64b094da79ba08dfd54a3edaa316134c41f8160973\"\n"
-" ],\n"
-" \"model_names\": \"Moves,Position\",\n"
-" \"event_id\": "
-"\"0x0000000000000000000000000000000000000000000000000000000000000013:0x0000:0x0000\",\n"
-" \"created_at\": \"2023-10-17 11:39:42\",\n"
-" \"updated_at\": \"2023-10-17 11:52:48\",\n"
-" \"models\": [\n"
-" {\n"
-" \"__typename\": \"Moves\",\n"
-" \"remaining\": 10,\n"
-" \"player\": "
-"\"0x517ececd29116499f4a1b64b094da79ba08dfd54a3edaa316134c41f8160973\"\n"
-" },\n"
-" {\n"
-" \"__typename\": \"Position\",\n"
-" \"vec\": {\n"
-" \"x\": 10,\n"
-" \"y\": 10\n"
-" }\n"
-" }\n"
-" ]\n"
-" }\n"
-" }\n"
-"}\n"
-"```"
-msgstr ""
-"```json\n"
-"{\n"
-" \"data\": {\n"
-" \"entityUpdated\": {\n"
-" \"id\": "
-"\"0x28cd7ee02d7f6ec9810e75b930e8e607793b302445abbdee0ac88143f18da20\",\n"
-" \"keys\": [\n"
-" \"0x517ececd29116499f4a1b64b094da79ba08dfd54a3edaa316134c41f8160973\"\n"
-" ],\n"
-" \"model_names\": \"Moves,Position\",\n"
-" \"event_id\": "
-"\"0x0000000000000000000000000000000000000000000000000000000000000013:0x0000:0x0000\",\n"
-" \"created_at\": \"2023-10-17 11:39:42\",\n"
-" \"updated_at\": \"2023-10-17 11:52:48\",\n"
-" \"models\": [\n"
-" {\n"
-" \"__typename\": \"Moves\",\n"
-" \"remaining\": 10,\n"
-" \"player\": "
-"\"0x517ececd29116499f4a1b64b094da79ba08dfd54a3edaa316134c41f8160973\"\n"
-" },\n"
-" {\n"
-" \"__typename\": \"Position\",\n"
-" \"vec\": {\n"
-" \"x\": 10,\n"
-" \"y\": 10\n"
-" }\n"
-" }\n"
-" ]\n"
-" }\n"
-" }\n"
-"}\n"
-"```"
-
-#: src/deployment/locally.md:1
-msgid "## Deploying Locally"
-msgstr "## Implementación Local"
-
-#: src/deployment/locally.md:3
-msgid ""
-"Dojo is engineered for rapid development, boasting a lightning-fast local "
-"development environment named [Katana](./toolchain/katana/overview.md). "
-"Katana serves as an on-device Starknet blockchain, allowing you to "
-"rigorously test your smart contracts before transitioning them to the remote "
-"testnet."
-msgstr ""
-"Dojo está diseñado para un desarrollo rápido y cuenta con un entorno de "
-"desarrollo local ultrarrápido llamado [Katana](./toolchain/katana/overview."
-"md). Katana sirve como una cadena de bloques Starknet en el dispositivo, lo "
-"que le permite probar rigurosamente sus smart contract antes de "
-"realizar la transición a la red de prueba remota."
-
-#: src/deployment/locally.md:5
-msgid "### Katana Deployments"
-msgstr "### Implementaciones de Katana"
-
-#: src/deployment/locally.md:7
-msgid "Deploying to Katana could not be easier."
-msgstr "La implementación en Katana no podría ser más sencilla."
-
-#: src/deployment/locally.md:9
-msgid ""
-"> This assumes you have followed the [Quick Start](./getting-started/quick-"
-"start.md) guide and have a project initialized."
-msgstr ""
-"> Esto supone que ha seguido la guía [Inicio rápido](./getting-started/quick-"
-"start.md) y tiene un proyecto inicializado."
-
-#: src/deployment/locally.md:11
-msgid "From your project directory, run:"
-msgstr "Desde el directorio de su proyecto, ejecute:"
-
-#: src/deployment/locally.md:17
-msgid "This has started a local Katana which you can now deploy on!"
-msgstr "¡Esto ha iniciado una Katana local en la que ahora puedes implementar!"
-
-#: src/deployment/locally.md:19
-msgid "### Deploying to Katana"
-msgstr "### Implementación en Katana"
-
-#: src/deployment/locally.md:21
-msgid "To deploy your project to Katana, run:"
-msgstr "Para implementar su proyecto en Katana, ejecute:"
-
-#: src/deployment/locally.md:27
-msgid ""
-"Note - this will only work if you have compiled your contracts. If you have "
-"not, run:"
-msgstr ""
-"Nota: esto sólo funcionará si ha compilado sus contratos. Si no lo has "
-"hecho, ejecuta:"
-
-#: src/deployment/remote.md:1
-msgid "## Deployment to Remote Network"
-msgstr "## Implementación en Red Remota"
-
-#: src/deployment/remote.md:3
-msgid "> *IMPORTANT: Dojo is unaudited. Use at your own risk.*"
-msgstr "> *IMPORTANTE: Dojo no está auditado. Úselo bajo su propio riesgo.*"
-
-#: src/deployment/remote.md:5
-msgid ""
-"Dojo makes it easy to deploy to remote networks, you just need to have a "
-"valid account and network endpoint."
-msgstr ""
-"Dojo facilita la implementación en redes remotas; solo necesita tener una "
-"cuenta válida y un punto final de red."
-
-#: src/deployment/remote.md:7
-msgid "Scarb.toml"
-msgstr "Scarb.toml"
-
-#: src/deployment/remote.md:9
-msgid ""
-"```toml\n"
-"[package]\n"
-"name = \"ohayoo\"\n"
-"version = \"0.1.0\"\n"
-"cairo-version = \"2.1.1\"\n"
-"\n"
-"[cairo]\n"
-"sierra-replace-ids = true\n"
-"\n"
-"[dependencies]\n"
-"dojo = { git = \"https://github.com/dojoengine/dojo.git\" }\n"
-"\n"
-"# # Katana\n"
-"# rpc_url = \"http://localhost:5050\"\n"
-"# account_address = "
-"\"0x03ee9e18edc71a6df30ac3aca2e0b02a198fbce19b7480a63a0d71cbd76652e0\"\n"
-"# private_key = "
-"\"0x0300001800000000300000180000000000030000000000003006001800006600\"\n"
-"\n"
-"#Madara\n"
-"rpc_url = \"https://api.cartridge.gg/x/shinai/madara\"\n"
-"account_address = \"0x2\"\n"
-"private_key = "
-"\"0xc1cf1490de1352865301bb8705143f3ef938f97fdf892f1090dcb5ac7bcd1d\"\n"
-"#world_address = "
-"\"0x5b328933afdbbfd44901fd69a2764a254edbb6e992ae87cf958c70493f2d201\"\n"
-"```"
-msgstr ""
-"```toml\n"
-"[package]\n"
-"name = \"ohayoo\"\n"
-"version = \"0.1.0\"\n"
-"cairo-version = \"2.1.1\"\n"
-"\n"
-"[cairo]\n"
-"sierra-replace-ids = true\n"
-"\n"
-"[dependencies]\n"
-"dojo = { git = \"https://github.com/dojoengine/dojo.git\" }\n"
-"\n"
-"# # Katana\n"
-"# rpc_url = \"http://localhost:5050\"\n"
-"# account_address = "
-"\"0x03ee9e18edc71a6df30ac3aca2e0b02a198fbce19b7480a63a0d71cbd76652e0\"\n"
-"# private_key = "
-"\"0x0300001800000000300000180000000000030000000000003006001800006600\"\n"
-"\n"
-"#Madara\n"
-"rpc_url = \"https://api.cartridge.gg/x/shinai/madara\"\n"
-"account_address = \"0x2\"\n"
-"private_key = "
-"\"0xc1cf1490de1352865301bb8705143f3ef938f97fdf892f1090dcb5ac7bcd1d\"\n"
-"#world_address = "
-"\"0x5b328933afdbbfd44901fd69a2764a254edbb6e992ae87cf958c70493f2d201\"\n"
-"```"
-
-#: src/deployment/remote.md:33
-msgid "### Remote Katana"
-msgstr "### Katana Remota"
-
-#: src/deployment/remote.md:35
-msgid ""
-"Katanas are able to be hosted and run as remote testnets, however this is "
-"not recommended for production use."
-msgstr ""
-"Las Katanas se pueden alojar y ejecutar como redes de prueba remotas; sin "
-"embargo, esto no se recomienda para uso en producción."
-
-#: src/deployment/remote.md:37
-msgid "__todo__: add instructions for deploying to remote katana"
-msgstr "__todo__: agregue instrucciones para implementar en katana remota"
-
-#: src/deployment/remote.md:40
-msgid "### Madara "
-msgstr "### Madara "
-
-#: src/deployment/remote.md:42
-msgid ""
-"[Madara](https://github.com/keep-starknet-strange/madara) is a blazingly "
-"fast Starknet sequencer. Built on the robust Substrate framework and fast, "
-"thanks to Rust 🦀, Madara delivers unmatched performance and scalability to "
-"power your Starknet-based Validity Rollup chain."
-msgstr ""
-"[Madara](https://github.com/keep-starknet-strange/madara) es un secuenciador "
-"Starknet increíblemente rápido. Construido sobre el robusto framework de "
-"Substrate y rápido, gracias a Rust 🦀, Madara ofrece un rendimiento y una "
-"escalabilidad inigualables para impulsar su cadena Validity Rollup basada en "
-"Starknet."
-
-#: src/deployment/remote.md:44
-msgid "A public Madara testnet is available for deployment:"
-msgstr ""
-"Hay una red de prueba pública de Madara disponible para su implementación:"
-
-#: src/deployment/remote.md:46
-msgid "**Testnet RPC:** https://api.cartridge.gg/x/shinai/madara"
-msgstr "**Testnet RPC:** https://api.cartridge.gg/x/shinai/madara"
-
-#: src/deployment/remote.md:48
-msgid "You can use the following account to deploy:"
-msgstr "Puede usar la siguiente cuenta para realizar la implementación:"
-
-#: src/deployment/remote.md:50
-msgid ""
-"```toml\n"
-"# ...rest of Scarb.toml\n"
-"\n"
-"rpc_url = \"https://api.cartridge.gg/x/shinai/madara\"\n"
-"account_address = \"0x2\"\n"
-"private_key = "
-"\"0xc1cf1490de1352865301bb8705143f3ef938f97fdf892f1090dcb5ac7bcd1d\"\n"
-"```"
-msgstr ""
-"```toml\n"
-"# ...rest of Scarb.toml\n"
-"\n"
-"rpc_url = \"https://api.cartridge.gg/x/shinai/madara\"\n"
-"account_address = \"0x2\"\n"
-"private_key = "
-"\"0xc1cf1490de1352865301bb8705143f3ef938f97fdf892f1090dcb5ac7bcd1d\"\n"
-"```"
-
-#: src/deployment/remote.md:59
-msgid "### Starknet "
-msgstr "### Starknet "
-
-#: src/deployment/remote.md:61
-msgid "__todo__: add instructions for deploying to remote Starknet"
-msgstr "__todo__: agregue instrucciones para implementar en Starknet remoto"
-
-#: src/tutorial/onchain-chess/index.md:1
-msgid "# Building a Chess Game"
-msgstr "# Construyendo un Juego de Ajedrez"
-
-#: src/tutorial/onchain-chess/index.md:3
-msgid "_\"I just finished reading The Dojo Book. What should I do next?\"_"
-msgstr ""
-"_\"Acabo de terminar de leer El Libro del Dojo. ¿Qué debo hacer a "
-"continuación?\"_"
-
-#: src/tutorial/onchain-chess/index.md:5
-msgid ""
-"The answers to this question are always \"Make something!\", sometimes "
-"followed by a list of cool projects. This is a great answer for some people, "
-"but others might be looking for a little more direction."
-msgstr ""
-"Las respuestas a esta pregunta son siempre \"¡Haz algo!\", a veces seguidas "
-"de una lista de proyectos interesantes. Esta es una gran respuesta para "
-"algunas personas, pero otras podrían estar buscando un poco más de dirección."
-
-#: src/tutorial/onchain-chess/index.md:7
-msgid ""
-"This guide is intended to fill the gap between heavily directed beginner "
-"tutorials and working on your projects. The primary goal here is to get you "
-"to write code. The secondary goal is to get you reading documentation."
-msgstr ""
-"Esta guía está destinada a llenar el vacío entre los tutoriales para "
-"principiantes muy dirigidos y el trabajo en sus proyectos. El objetivo "
-"principal aquí es conseguir que escribas código. El objetivo secundario es "
-"que leas la documentación."
-
-#: src/tutorial/onchain-chess/index.md:9
-msgid ""
-"If you haven't read the Dojo Book yet, it is highly encouraged for you to do "
-"so before starting this project."
-msgstr ""
-"Si aún no ha leído el Libro Dojo, le recomendamos encarecidamente que lo "
-"haga antes de comenzar este proyecto."
-
-#: src/tutorial/onchain-chess/index.md:11
-msgid "## What are we building?"
-msgstr "## ¿Qué estamos construyendo?"
-
-#: src/tutorial/onchain-chess/index.md:13
-msgid ""
-"We're building an on-chain chess game contract that lets you start a new "
-"game and play chess. This guide does not cover every rules of the chess "
-"game. You will build step by step as follows:"
-msgstr ""
-"Estamos creando un contrato de juego de ajedrez on-chain que le permite "
-"comenzar un nuevo juego y jugar ajedrez. Esta guía no cubre todas las reglas "
-"del juego de ajedrez. Construirás paso a paso de la siguiente manera:"
-
-#: src/tutorial/onchain-chess/index.md:15
-msgid ""
-"1. A system contract to spawn all the chess pieces\n"
-"2. A system contract to make pieces move\n"
-"3. Add some functions to check a legal move\n"
-"4. Play chess ♟♙ - integration test!"
-msgstr ""
-"1. Un contrato de sistema para generar todas las piezas de ajedrez.\n"
-"2. Un contrato sistema para hacer que las piezas se muevan\n"
-"3. Agregue algunas funciones para verificar un movimiento legal.\n"
-"4. Juega al ajedrez ♟♙ - ¡prueba de integración!"
-
-#: src/tutorial/onchain-chess/index.md:20
-msgid ""
-"The full code of tutorial is based on [this repo](https://github.com/"
-"rkdud007/chess-dojo/tree/tutorialv3)."
-msgstr ""
-"El código completo del tutorial se basa en [este repositorio](https://github."
-"com/rkdud007/chess-dojo/tree/tutorialv3)."
-
-#: src/tutorial/onchain-chess/index.md:22
-msgid ""
-"If this seems too hard, don't worry! This guide is for beginners. If you "
-"know some basics about Cairo and Dojo, you're good. We won't make a full "
-"chess game with all the rules. We're keeping it simple."
-msgstr ""
-"Si esto parece demasiado difícil, ¡no te preocupes! Esta guía es para "
-"principiantes. Si conoces algunos conceptos básicos sobre Cairo y Dojo, "
-"estás bien. No haremos una partida de ajedrez completa con todas las reglas. "
-"Lo mantendremos simple."
-
-#: src/tutorial/onchain-chess/index.md:24
-msgid "## What after this guide?"
-msgstr "## ¿Qué pasa después de esta guía?"
-
-#: src/tutorial/onchain-chess/index.md:26
-msgid ""
-"We're making another guide to help design the frontend. This will make our "
-"chess game complete."
-msgstr ""
-"Estamos creando otra guía para ayudar a diseñar la interfaz. Esto completará "
-"nuestro juego de ajedrez."
-
-#: src/tutorial/onchain-chess/index.md:28
-msgid ""
-"After you finish all the four chapters, we can move on to the frontend guide."
-msgstr ""
-"Una vez que haya terminado los cuatro capítulos, podemos pasar a la guía de "
-"interfaz."
-
-#: src/tutorial/onchain-chess/0-setup.md:1
-msgid "# 0. Setup"
-msgstr "# 0. Configuración"
-
-#: src/tutorial/onchain-chess/0-setup.md:3
-msgid ""
-"_Before starting recommend following the [`hello-dojo`](../../cairo/hello-"
-"dojo.md) chapter to gain a basic understanding of the Dojo game._"
-msgstr ""
-"_Antes de comenzar, recomendamos seguir el capítulo [`hello-dojo`](../../"
-"cairo/hello-dojo.md) para obtener una comprensión básica del juego Dojo._"
-
-#: src/tutorial/onchain-chess/0-setup.md:5
-msgid "## Initializing the Project"
-msgstr "## Inicializando el Proyecto"
-
-#: src/tutorial/onchain-chess/0-setup.md:7
-msgid ""
-"Create a new Dojo project folder. You can name your project what you want."
-msgstr ""
-"Cree una nueva carpeta de proyecto Dojo. Puedes nombrar tu proyecto como "
-"quieras."
-
-#: src/tutorial/onchain-chess/0-setup.md:9
-msgid ""
-"```sh\n"
-"mkdir dojo-chess\n"
-"```"
-msgstr ""
-"```sh\n"
-"mkdir dojo-chess\n"
-"```"
-
-#: src/tutorial/onchain-chess/0-setup.md:13
-msgid "Open the project folder."
-msgstr "Abra la carpeta del proyecto."
-
-#: src/tutorial/onchain-chess/0-setup.md:15
-msgid ""
-"```sh\n"
-"cd dojo-chess\n"
-"```"
-msgstr ""
-"```sh\n"
-"cd dojo-chess\n"
-"```"
-
-#: src/tutorial/onchain-chess/0-setup.md:19
-msgid "And initialize the project using sozo init."
-msgstr "E inicialice el proyecto usando sozo init."
-
-#: src/tutorial/onchain-chess/0-setup.md:25
-msgid "## Cleaning Up the Boilerplate"
-msgstr "## Limpiando lo Repetitivo"
-
-#: src/tutorial/onchain-chess/0-setup.md:27
-msgid ""
-"The project comes with a lot of boilerplate codes. Clear it all. Make sure "
-"both `models.cairo` and `systems.cairo` files are empty. In this tutorial, "
-"we won't be creating a `systems.cairo` nor the `src/systems` folder, you can "
-"delete both (highly optional, folder structure is entirely up to you). "
-"instead, we'll be creating a file named `actions_contract.cairo`, this is "
-"where our game logic/contract will reside. "
-msgstr ""
-"El proyecto viene con muchos códigos repetitivos. Límpielo todo. Asegúrese "
-"de que los archivos `models.cairo` y `systems.cairo` estén vacíos. En este "
-"tutorial, no crearemos una carpeta `systems.cairo` ni la carpeta `src/"
-"systems`, puedes eliminar ambas (muy opcional, la estructura de la carpeta "
-"depende completamente de ti). en su lugar, crearemos un archivo llamado "
-"`actions_contract.cairo`, aquí es donde residirá nuestra lógica/contrato de "
-"juego. "
-
-#: src/tutorial/onchain-chess/0-setup.md:29
-msgid "Remodel your`lib.cairo`, to look like this :"
-msgstr "Remodela tu `lib.cairo`, para que luzca así:"
-
-#: src/tutorial/onchain-chess/0-setup.md:31
-msgid ""
-"```rust,ignore\n"
-"mod models;\n"
-"mod actions_contract;\n"
-"mod tests;\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-"mod models;\n"
-"mod actions_contract;\n"
-"mod tests;\n"
-"```"
-
-#: src/tutorial/onchain-chess/0-setup.md:37
-msgid "Compile your project with:"
-msgstr "Compila tu proyecto con:"
-
-#: src/tutorial/onchain-chess/0-setup.md:43
-msgid "## Basic components"
-msgstr "## Componentes básicos"
-
-#: src/tutorial/onchain-chess/0-setup.md:45
-msgid ""
-"While there are many ways to design a chess game using the ECS model, we'll "
-"follow this approach:"
-msgstr ""
-"Si bien hay muchas formas de diseñar un juego de ajedrez utilizando el "
-"Model ECS, seguiremos este enfoque:"
-
-#: src/tutorial/onchain-chess/0-setup.md:47
-msgid ""
-"> Every square of the chess board (e.g., A1) will be treated as an entity. "
-"If a piece exists on a square, the square entity will hold that piece."
-msgstr ""
-"> Cada casilla del tablero de ajedrez (por ejemplo, A1) será tratada como "
-"una entidad. Si existe una pieza en un cuadrado, la entidad cuadrada "
-"contendrá esa pieza."
-
-#: src/tutorial/onchain-chess/0-setup.md:49
-msgid ""
-"First, add this basic model to `models.cairo` file. If you are not familar "
-"with model syntax in Dojo engine, go back to this [chapter](../../cairo/"
-"models.md)."
-msgstr ""
-"Primero, agregue este Model básico al archivo `models.cairo`. Si no está "
-"familiarizado con la sintaxis del Model en el Dojo engine, vuelva a este "
-"[capítulo](../../cairo/models.md)."
-
-#: src/tutorial/onchain-chess/0-setup.md:51
-msgid ""
-"```rust,ignore\n"
-"#[derive(Model)]\n"
-"struct Square {\n"
-" #[key]\n"
-" game_id: felt252,\n"
-" #[key]\n"
-" x: u32,\n"
-" #[key]\n"
-" y: u32,\n"
-" piece: PieceType,\n"
-"}\n"
-"\n"
-"enum PieceType {\n"
-" WhitePawn : (),\n"
-" WhiteKnight: (),\n"
-" WhiteBishop: (),\n"
-" WhiteRook: (),\n"
-" WhiteQueen: (),\n"
-" WhiteKing: (),\n"
-" BlackPawn: (),\n"
-" BlackKnight: (),\n"
-" BlackBishop: (),\n"
-" BlackRook: (),\n"
-" BlackQueen: (),\n"
-" BlackKing: (),\n"
-" None: ()\n"
-"}\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-"#[derive(Model)]\n"
-"struct Square {\n"
-" #[key]\n"
-" game_id: felt252,\n"
-" #[key]\n"
-" x: u32,\n"
-" #[key]\n"
-" y: u32,\n"
-" piece: PieceType,\n"
-"}\n"
-"\n"
-"enum PieceType {\n"
-" WhitePawn : (),\n"
-" WhiteKnight: (),\n"
-" WhiteBishop: (),\n"
-" WhiteRook: (),\n"
-" WhiteQueen: (),\n"
-" WhiteKing: (),\n"
-" BlackPawn: (),\n"
-" BlackKnight: (),\n"
-" BlackBishop: (),\n"
-" BlackRook: (),\n"
-" BlackQueen: (),\n"
-" BlackKing: (),\n"
-" None: ()\n"
-"}\n"
-"```"
-
-#: src/tutorial/onchain-chess/0-setup.md:80
-msgid "## Basic systems"
-msgstr "## Systems básicos"
-
-#: src/tutorial/onchain-chess/0-setup.md:82
-msgid ""
-"Starting from the next chapter, you will implement the `actions_contract."
-"cairo` logic."
-msgstr ""
-"A partir del próximo capítulo, implementará la lógica `actions_contract."
-"cairo`."
-
-#: src/tutorial/onchain-chess/0-setup.md:84
-msgid ""
-"Create `actions_contract.cairo` inside the src folder. the file should "
-"contain a basic contract."
-msgstr ""
-"Cree `actions_contract.cairo` dentro de la carpeta src. el archivo debe "
-"contener un contrato básico."
-
-#: src/tutorial/onchain-chess/0-setup.md:86
-msgid "For example, `actions_contract.cairo` should look like this:"
-msgstr "Por ejemplo, `actions_contract.cairo` debería verse así:"
-
-#: src/tutorial/onchain-chess/0-setup.md:88
-msgid ""
-"```rust,ignore\n"
-"#[starknet::contract]\n"
-"mod actions {\n"
-" \n"
-" #[storage]\n"
-" struct Storage {}\n"
-"}\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-"#[starknet::contract]\n"
-"mod actions {\n"
-" \n"
-" #[storage]\n"
-" struct Storage {}\n"
-"}\n"
-"```"
-
-#: src/tutorial/onchain-chess/0-setup.md:96
-msgid ""
-"It should be noted that systems are cairo contracts, by implication, rather "
-"than implementing the game logic in systems, we are implementing it in a "
-"contract."
-msgstr ""
-"Cabe señalar que los Systems son contratos de Cairo, por implicación, en "
-"lugar de implementar la lógica del juego en los Systems, la estamos "
-"implementando en un contrato."
-
-#: src/tutorial/onchain-chess/0-setup.md:98
-msgid "## Compile your project"
-msgstr "## Compila tu proyecto"
-
-#: src/tutorial/onchain-chess/0-setup.md:100
-msgid "Now try `sozo build` to build. Faced some errors?"
-msgstr ""
-"Ahora prueba con `sozo build` para compilar. ¿Enfrentó algunos errores?"
-
-#: src/tutorial/onchain-chess/0-setup.md:102
-#: src/tutorial/onchain-chess/0-setup.md:147
-msgid ""
-"```sh\n"
-"error: Trait has no implementation in context:\n"
-"```"
-msgstr ""
-"```sh\n"
-"error: Trait has no implementation in context:\n"
-"```"
-
-#: src/tutorial/onchain-chess/0-setup.md:106
-msgid ""
-"You would probably faced some trait implementation errors, which you can "
-"implement as a derive like:"
-msgstr ""
-"Probablemente haya enfrentado algunos errores de implementación de trait, "
-"que puede implementar como una derivación como:"
-
-#: src/tutorial/onchain-chess/0-setup.md:108
-msgid ""
-"```rust,ignore\n"
-"\n"
-"#[derive(Model, Drop, Serde)]\n"
-"struct Square {\n"
-" #[key]\n"
-" game_id: felt252,\n"
-" #[key]\n"
-" x: u32,\n"
-" #[key]\n"
-" y: u32,\n"
-" piece: PieceType,\n"
-"}\n"
-"\n"
-"#[derive(Serde, Drop, Copy, PartialEq, Introspect)]\n"
-"enum PieceType {\n"
-" WhitePawn: (),\n"
-" WhiteKnight: (),\n"
-" WhiteBishop: (),\n"
-" WhiteRook: (),\n"
-" WhiteQueen: (),\n"
-" WhiteKing: (),\n"
-" BlackPawn: (),\n"
-" BlackKnight: (),\n"
-" BlackBishop: (),\n"
-" BlackRook: (),\n"
-" BlackQueen: (),\n"
-" BlackKing: (),\n"
-" None: (),\n"
-"}\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-"\n"
-"#[derive(Model, Drop, Serde)]\n"
-"struct Square {\n"
-" #[key]\n"
-" game_id: felt252,\n"
-" #[key]\n"
-" x: u32,\n"
-" #[key]\n"
-" y: u32,\n"
-" piece: PieceType,\n"
-"}\n"
-"\n"
-"#[derive(Serde, Drop, Copy, PartialEq, Introspect)]\n"
-"enum PieceType {\n"
-" WhitePawn: (),\n"
-" WhiteKnight: (),\n"
-" WhiteBishop: (),\n"
-" WhiteRook: (),\n"
-" WhiteQueen: (),\n"
-" WhiteKing: (),\n"
-" BlackPawn: (),\n"
-" BlackKnight: (),\n"
-" BlackBishop: (),\n"
-" BlackRook: (),\n"
-" BlackQueen: (),\n"
-" BlackKing: (),\n"
-" None: (),\n"
-"}\n"
-"```"
-
-#: src/tutorial/onchain-chess/0-setup.md:139
-msgid ""
-"Complied? Great! then let's move on. If not fix other issues as above, so "
-"that you can run the `sozo build` command successfully."
-msgstr ""
-"¿Cumplido? ¡Excelente! entonces sigamos adelante. De lo contrario, solucione "
-"otros problemas como se indicó anteriormente, para que pueda ejecutar el "
-"comando `sozo build` con éxito."
-
-#: src/tutorial/onchain-chess/0-setup.md:141
-msgid "## Run test"
-msgstr "## Run test"
-
-#: src/tutorial/onchain-chess/0-setup.md:143
-msgid ""
-"Before proceeding to the next chapter, remember that `sozo build` and `sozo "
-"test` are important steps to ensure your code is correct."
-msgstr ""
-"Antes de continuar con el siguiente capítulo, recuerde que `sozo build` y "
-"`sozo test` son pasos importantes para garantizar que su código sea correcto."
-
-#: src/tutorial/onchain-chess/0-setup.md:145
-msgid "Run sozo test. Did you face any errors?"
-msgstr "Ejecute la prueba de sozo. ¿Enfrentó algún error?"
-
-#: src/tutorial/onchain-chess/0-setup.md:151
-msgid ""
-"```sh\n"
-"error: Variable not dropped. Trait has no implementation in context:\n"
-"```"
-msgstr ""
-"```sh\n"
-"error: Variable not dropped. Trait has no implementation in context:\n"
-"```"
-
-#: src/tutorial/onchain-chess/0-setup.md:155
-msgid ""
-"For the no implementation error, implement the PrintTrait to run `sozo test` "
-"successfully. For the not dropped error, add the Drop trait. Address other "
-"errors by adding derives or implementing them on a case-by-case basis."
-msgstr ""
-"Para el error de no implementación, implemente PrintTrait para ejecutar la "
-"`sozo test`con éxito. Para el error no eliminado, agregue el Drop trait. "
-"Solucione otros errores agregando derivaciones o implementándolas caso por "
-"caso."
-
-#: src/tutorial/onchain-chess/0-setup.md:157
-msgid "## Add more models"
-msgstr "## Agregar más Models"
-
-#: src/tutorial/onchain-chess/0-setup.md:159
-msgid ""
-"Before you move on, add more models so we can use them in the next chapter "
-"when creating the action contract."
-msgstr ""
-"Antes de continuar, agregue más Models para que podamos usarlos en el "
-"próximo capítulo al crear el contrato de acción."
-
-#: src/tutorial/onchain-chess/0-setup.md:161
-msgid "### Requirements"
-msgstr "### Requisitos"
-
-#: src/tutorial/onchain-chess/0-setup.md:163
-msgid "- `Color` enum with values White,Black & None"
-msgstr "- Enumeración `Color` con valores Blanco, Negro y Ninguno"
-
-#: src/tutorial/onchain-chess/0-setup.md:164
-msgid ""
-"```rust,ignore\n"
-" White: (),\n"
-" Black: (),\n"
-" None: (),\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-" White: (),\n"
-" Black: (),\n"
-" None: (),\n"
-"```"
-
-#: src/tutorial/onchain-chess/0-setup.md:170
-msgid "- `Game` model:"
-msgstr "- Model `Game`:"
-
-#: src/tutorial/onchain-chess/0-setup.md:171
-msgid ""
-"```rust,ignore\n"
-" game_id: felt252,\n"
-" winner: Color,\n"
-" white: ContractAddress,\n"
-" black: ContractAddress\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-" game_id: felt252,\n"
-" winner: Color,\n"
-" white: ContractAddress,\n"
-" black: ContractAddress\n"
-"```"
-
-#: src/tutorial/onchain-chess/0-setup.md:178
-msgid "- `GameTurn` model:"
-msgstr "- Model `GameTurn`:"
-
-#: src/tutorial/onchain-chess/0-setup.md:179
-msgid ""
-"```rust,ignore\n"
-" game_id: felt252,\n"
-" turn: Color\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-" game_id: felt252,\n"
-" turn: Color\n"
-"```"
-
-#: src/tutorial/onchain-chess/0-setup.md:184
-msgid ""
-"- Run `sozo build` to see if your code compiles, we'll handle `test` "
-"implementiation in the subsequent chapters."
-msgstr ""
-"- Ejecute `sozo build` para ver si su código se compila; nos encargaremos de "
-"la implementación de `test` en los capítulos siguientes."
-
-#: src/tutorial/onchain-chess/0-setup.md:186
-msgid ""
-"This tutorial is extracted from [here](https://github.com/Akinbola247/chess-"
-"dojo/tree/tutorialv3)"
-msgstr ""
-"Este tutorial está extraído de [aquí](https://github.com/Akinbola247/chess-"
-"dojo/tree/tutorialv3)"
-
-#: src/tutorial/onchain-chess/0-setup.md:188
-msgid ""
-"\n"
-"Click to see full `models.cairo` code"
-msgstr ""
-"\n"
-"Haga clic para ver el código `models.cairo` completo"
-
-#: src/tutorial/onchain-chess/0-setup.md:191
-msgid ""
-"```rust,ignore\n"
-"use array::ArrayTrait;\n"
-"use debug::PrintTrait;\n"
-"use starknet::ContractAddress;\n"
-"use dojo::database::schema::{SchemaIntrospection, Ty, Enum, "
-"serialize_member_type};\n"
-"\n"
-"\n"
-"#[derive(Model, Drop, Serde)]\n"
-"struct Square {\n"
-" #[key]\n"
-" game_id: felt252,\n"
-" #[key]\n"
-" x: u32,\n"
-" #[key]\n"
-" y: u32,\n"
-" piece: PieceType,\n"
-"}\n"
-"\n"
-"#[derive(Serde, Drop, Copy, PartialEq, Introspect)]\n"
-"enum PieceType {\n"
-" WhitePawn: (),\n"
-" WhiteKnight: (),\n"
-" WhiteBishop: (),\n"
-" WhiteRook: (),\n"
-" WhiteQueen: (),\n"
-" WhiteKing: (),\n"
-" BlackPawn: (),\n"
-" BlackKnight: (),\n"
-" BlackBishop: (),\n"
-" BlackRook: (),\n"
-" BlackQueen: (),\n"
-" BlackKing: (),\n"
-" None: (),\n"
-"}\n"
-"\n"
-"#[derive(Serde, Drop, Copy, PartialEq, Introspect)]\n"
-"enum Color {\n"
-" White: (),\n"
-" Black: (),\n"
-" None: (),\n"
-"}\n"
-"\n"
-"#[derive(Model, Drop, Serde)]\n"
-"struct Game {\n"
-" /// game id, computed as follows pedersen_hash(player1_address, "
-"player2_address)\n"
-" #[key]\n"
-" game_id: felt252,\n"
-" winner: Color,\n"
-" white: ContractAddress,\n"
-" black: ContractAddress\n"
-"}\n"
-"\n"
-"#[derive(Model, Drop, Serde)]\n"
-"struct GameTurn {\n"
-" #[key]\n"
-" game_id: felt252,\n"
-" turn: Color\n"
-"}\n"
-"\n"
-"\n"
-"//printing trait for debug\n"
-"impl ColorPrintTrait of PrintTrait {\n"
-" #[inline(always)]\n"
-" fn print(self: Color) {\n"
-" match self {\n"
-" Color::White(_) => {\n"
-" 'White'.print();\n"
-" },\n"
-" Color::Black(_) => {\n"
-" 'Black'.print();\n"
-" },\n"
-" Color::None(_) => {\n"
-" 'None'.print();\n"
-" },\n"
-" }\n"
-" }\n"
-"}\n"
-"\n"
-"\n"
-"impl BoardPrintTrait of PrintTrait<(u32, u32)> {\n"
-" #[inline(always)]\n"
-" fn print(self: (u32, u32)) {\n"
-" let (x, y): (u32, u32) = self;\n"
-" x.print();\n"
-" y.print();\n"
-" }\n"
-"}\n"
-"\n"
-"\n"
-"impl PieceTypePrintTrait of PrintTrait {\n"
-" #[inline(always)]\n"
-" fn print(self: PieceType) {\n"
-" match self {\n"
-" PieceType::WhitePawn(_) => {\n"
-" 'WhitePawn'.print();\n"
-" },\n"
-" PieceType::WhiteKnight(_) => {\n"
-" 'WhiteKnight'.print();\n"
-" },\n"
-" PieceType::WhiteBishop(_) => {\n"
-" 'WhiteBishop'.print();\n"
-" },\n"
-" PieceType::WhiteRook(_) => {\n"
-" 'WhiteRook'.print();\n"
-" },\n"
-" PieceType::WhiteQueen(_) => {\n"
-" 'WhiteQueen'.print();\n"
-" },\n"
-" PieceType::WhiteKing(_) => {\n"
-" 'WhiteKing'.print();\n"
-" },\n"
-" PieceType::BlackPawn(_) => {\n"
-" 'BlackPawn'.print();\n"
-" },\n"
-" PieceType::BlackKnight(_) => {\n"
-" 'BlackKnight'.print();\n"
-" },\n"
-" PieceType::BlackBishop(_) => {\n"
-" 'BlackBishop'.print();\n"
-" },\n"
-" PieceType::BlackRook(_) => {\n"
-" 'BlackRook'.print();\n"
-" },\n"
-" PieceType::BlackQueen(_) => {\n"
-" 'BlackQueen'.print();\n"
-" },\n"
-" PieceType::BlackKing(_) => {\n"
-" 'BlackKing'.print();\n"
-" },\n"
-" PieceType::None(_) => {\n"
-" 'None'.print();\n"
-" },\n"
-" }\n"
-" }\n"
-"}\n"
-"\n"
-"```"
-msgstr ""
-"```rust,ignore\n"
-"use array::ArrayTrait;\n"
-"use debug::PrintTrait;\n"
-"use starknet::ContractAddress;\n"
-"use dojo::database::schema::{SchemaIntrospection, Ty, Enum, "
-"serialize_member_type};\n"
-"\n"
-"\n"
-"#[derive(Model, Drop, Serde)]\n"
-"struct Square {\n"
-" #[key]\n"
-" game_id: felt252,\n"
-" #[key]\n"
-" x: u32,\n"
-" #[key]\n"
-" y: u32,\n"
-" piece: PieceType,\n"
-"}\n"
-"\n"
-"#[derive(Serde, Drop, Copy, PartialEq, Introspect)]\n"
-"enum PieceType {\n"
-" WhitePawn: (),\n"
-" WhiteKnight: (),\n"
-" WhiteBishop: (),\n"
-" WhiteRook: (),\n"
-" WhiteQueen: (),\n"
-" WhiteKing: (),\n"
-" BlackPawn: (),\n"
-" BlackKnight: (),\n"
-" BlackBishop: (),\n"
-" BlackRook: (),\n"
-" BlackQueen: (),\n"
-" BlackKing: (),\n"
-" None: (),\n"
-"}\n"
-"\n"
-"#[derive(Serde, Drop, Copy, PartialEq, Introspect)]\n"
-"enum Color {\n"
-" White: (),\n"
-" Black: (),\n"
-" None: (),\n"
-"}\n"
-"\n"
-"#[derive(Model, Drop, Serde)]\n"
-"struct Game {\n"
-" /// game id, computed as follows pedersen_hash(player1_address, "
-"player2_address)\n"
-" #[key]\n"
-" game_id: felt252,\n"
-" winner: Color,\n"
-" white: ContractAddress,\n"
-" black: ContractAddress\n"
-"}\n"
-"\n"
-"#[derive(Model, Drop, Serde)]\n"
-"struct GameTurn {\n"
-" #[key]\n"
-" game_id: felt252,\n"
-" turn: Color\n"
-"}\n"
-"\n"
-"\n"
-"//printing trait for debug\n"
-"impl ColorPrintTrait of PrintTrait {\n"
-" #[inline(always)]\n"
-" fn print(self: Color) {\n"
-" match self {\n"
-" Color::White(_) => {\n"
-" 'White'.print();\n"
-" },\n"
-" Color::Black(_) => {\n"
-" 'Black'.print();\n"
-" },\n"
-" Color::None(_) => {\n"
-" 'None'.print();\n"
-" },\n"
-" }\n"
-" }\n"
-"}\n"
-"\n"
-"\n"
-"impl BoardPrintTrait of PrintTrait<(u32, u32)> {\n"
-" #[inline(always)]\n"
-" fn print(self: (u32, u32)) {\n"
-" let (x, y): (u32, u32) = self;\n"
-" x.print();\n"
-" y.print();\n"
-" }\n"
-"}\n"
-"\n"
-"\n"
-"impl PieceTypePrintTrait of PrintTrait {\n"
-" #[inline(always)]\n"
-" fn print(self: PieceType) {\n"
-" match self {\n"
-" PieceType::WhitePawn(_) => {\n"
-" 'WhitePawn'.print();\n"
-" },\n"
-" PieceType::WhiteKnight(_) => {\n"
-" 'WhiteKnight'.print();\n"
-" },\n"
-" PieceType::WhiteBishop(_) => {\n"
-" 'WhiteBishop'.print();\n"
-" },\n"
-" PieceType::WhiteRook(_) => {\n"
-" 'WhiteRook'.print();\n"
-" },\n"
-" PieceType::WhiteQueen(_) => {\n"
-" 'WhiteQueen'.print();\n"
-" },\n"
-" PieceType::WhiteKing(_) => {\n"
-" 'WhiteKing'.print();\n"
-" },\n"
-" PieceType::BlackPawn(_) => {\n"
-" 'BlackPawn'.print();\n"
-" },\n"
-" PieceType::BlackKnight(_) => {\n"
-" 'BlackKnight'.print();\n"
-" },\n"
-" PieceType::BlackBishop(_) => {\n"
-" 'BlackBishop'.print();\n"
-" },\n"
-" PieceType::BlackRook(_) => {\n"
-" 'BlackRook'.print();\n"
-" },\n"
-" PieceType::BlackQueen(_) => {\n"
-" 'BlackQueen'.print();\n"
-" },\n"
-" PieceType::BlackKing(_) => {\n"
-" 'BlackKing'.print();\n"
-" },\n"
-" PieceType::None(_) => {\n"
-" 'None'.print();\n"
-" },\n"
-" }\n"
-" }\n"
-"}\n"
-"\n"
-"```"
-
-#: src/tutorial/onchain-chess/0-setup.md:329
-msgid ""
-msgstr ""
-
-#: src/tutorial/onchain-chess/0-setup.md:331
-msgid ""
-"Congratulations! You've completed the basic setup for building an on-chain "
-"chess game 🎉"
-msgstr ""
-"¡Felicidades! Has completado la configuración básica para crear un juego de "
-"ajedrez on-chain."
-
-#: src/tutorial/onchain-chess/1-initiate.md:1
-msgid "# 1. Initiate"
-msgstr "# 1. Iniciar"
-
-#: src/tutorial/onchain-chess/2-move.md:1
-msgid "# 2. Move"
-msgstr "# 2. Mover"
-
-#: src/tutorial/onchain-chess/3-legal.md:1
-msgid "# 3. Check Legal Move"
-msgstr "# 3. Verificar Movimiento Legal"
-
-#: src/tutorial/onchain-chess/4-test.md:1
-msgid "# 4. Test Chess"
-msgstr "# 4. Test Chess"
-
-#: src/misc/contributors.md:1
-msgid "## Contributing to Dojo Book"
-msgstr "## Contribuyendo al Libro de Dojo"
-
-#: src/misc/contributors.md:3
-msgid ""
-"As the Dojo engine progresses and develops, it is essential for the Dojo "
-"book to keep pace with these advancements. Updating and refining the book "
-"ensures that it remains a relevant and valuable resource for those "
-"interested in understanding and utilizing the latest Dojo engine features "
-"and capabilities. All help is welcome!"
-msgstr ""
-"A medida que el Dojo engine progresa y se desarrolla, es esencial que el "
-"libro Dojo siga el ritmo de estos avances. Actualizar y perfeccionar el "
-"libro garantiza que siga siendo un recurso relevante y valioso para aquellos "
-"interesados en comprender y utilizar las funciones y capacidades más "
-"recientes del Dojo engine. ¡Toda ayuda es bienvenida!"
-
-#: src/misc/contributors.md:5
-msgid "### The purpose of the book"
-msgstr "### El propósito del libro."
-
-#: src/misc/contributors.md:7
-msgid ""
-"The Dojo book is designed to be a comprehensive resource that caters to "
-"users at various levels of experience. It aims to serve as both an "
-"introductory guide for those new to Dojo and its ancillary packages, as well "
-"as a reference for more experienced users seeking to deepen their "
-"understanding of the engine's features and capabilities."
-msgstr ""
-"El libro de Dojo está diseñado para ser un recurso integral dirigido a "
-"usuarios de distintos niveles de experiencia. Su objetivo es servir como "
-"guía introductoria para quienes son nuevos en Dojo y sus paquetes "
-"auxiliares, así como también como referencia para usuarios más "
-"experimentados que buscan profundizar su comprensión de las características "
-"y capacidades del motor."
-
-#: src/misc/contributors.md:9
-msgid "The book is split into some major chapters:"
-msgstr "El libro está dividido en algunos capítulos principales:"
-
-#: src/misc/contributors.md:11
-msgid ""
-"- Framework Theory\n"
-"- Getting Started\n"
-"- Building a World"
-msgstr ""
-"- Teoría del Framework\n"
-"- Primeros Pasos\n"
-"- Construyendo un World"
-
-#: src/misc/contributors.md:15
-msgid "### Code of Conduct"
-msgstr "### Código de Conducta"
-
-#: src/misc/contributors.md:17
-msgid ""
-"The book follows the [Rust Code of Conduct](https://www.rust-lang.org/"
-"policies/code-of-conduct)."
-msgstr ""
-"El libro sigue el [Código de conducta de Rust](https://www.rust-lang.org/"
-"policies/code-of-conduct)."
-
-#: src/misc/contributors.md:19
-msgid "### Ways to contribute"
-msgstr "### Formas de contribuir"
-
-#: src/misc/contributors.md:21
-msgid "#### Issues"
-msgstr "#### Issues"
-
-#: src/misc/contributors.md:23
-msgid ""
-"If you think that some content is missing or out-of-date, feel free to open "
-"an issue. If you find multiple pieces of content lacking, please open up a "
-"separate issue for each."
-msgstr ""
-"Si cree que falta algún contenido o que está desactualizado, no dude en "
-"abrir un problema. Si encuentra que faltan varios contenidos, abra un número "
-"separado para cada uno."
-
-#: src/misc/contributors.md:25
-msgid ""
-"The issues will then be labeled so other contributors can find chunks of "
-"work they are interested in more easily."
-msgstr ""
-"Luego, los issue se etiquetarán para que otros contribuyentes puedan "
-"encontrar fragmentos de trabajo que les interesen más fácilmente."
-
-#: src/misc/contributors.md:27
-msgid ""
-"The issue should contain what is missing, or what could be improved, in as "
-"much detail as you deem necessary."
-msgstr ""
-"El issue debe contener lo que falta o lo que podría mejorarse, con el mayor "
-"detalle que considere necesario."
-
-#: src/misc/contributors.md:29
-msgid "#### Pull requests"
-msgstr "#### Pull requests"
-
-#: src/misc/contributors.md:31
-msgid ""
-"Feel free to contribute changes to the book by opening a pull request - "
-"anything is welcome, from reformulating a sentence, fixing a typo, to adding "
-"new sections or chapters."
-msgstr ""
-"Siéntase libre de contribuir con cambios al libro abriendo un pull request; "
-"cualquier cosa es bienvenida, desde reformular una oración, corregir un "
-"error tipográfico hasta agregar nuevas secciones o capítulos."
-
-#: src/misc/contributors.md:33
-msgid ""
-"When your pull request is open, other contributors will take a look and may "
-"request changes. Do not be discouraged!"
-msgstr ""
-"Cuando su pull request esté abierta, otros contribuyentes la echarán un "
-"vistazo y podrán solicitar cambios. ¡No se desanime!"
-
-#: src/misc/contributors.md:35
-msgid "### Writing style"
-msgstr "### Estilo de escritura"
-
-#: src/misc/contributors.md:37
-msgid ""
-"This section documents a few standards for writing used throughout the book."
-msgstr ""
-"Esta sección documenta algunos estándares de escritura utilizados a lo largo "
-"del libro."
-
-#: src/misc/contributors.md:39
-msgid "#### Chapters start with a second level heading"
-msgstr "#### Los capítulos comienzan con un título de segundo nivel"
-
-#: src/misc/contributors.md:41
-msgid "We use:"
-msgstr "Nosotros usamos:"
-
-#: src/misc/contributors.md:43
-msgid ""
-"```md\n"
-"## Some Page\n"
-"```"
-msgstr ""
-"```md\n"
-"## Some Page\n"
-"```"
-
-#: src/misc/contributors.md:47
-msgid "We do not use:"
-msgstr "Nosotros no usamos:"
-
-#: src/misc/contributors.md:49
-msgid ""
-"```md\n"
-"# Some Page\n"
-"```"
-msgstr ""
-"```md\n"
-"# Some Page\n"
-"```"