diff --git a/po/es.po b/po/es.po
index dee76fd13db..f9f2dc1336a 100644
--- a/po/es.po
+++ b/po/es.po
@@ -14,19 +14,19 @@ msgstr ""
#: src/SUMMARY.md:4 src/index.md:1
msgid "Welcome to Comprehensive Rust 🦀"
-msgstr "Bienvenido a Comprehensive Rust 🦀"
+msgstr "Te damos la bienvenida a Comprehensive Rust 🦀"
#: src/SUMMARY.md:5 src/running-the-course.md:1
msgid "Running the Course"
-msgstr "Seguir el Curso"
+msgstr "Desarrollo del curso"
#: src/SUMMARY.md:6 src/running-the-course/course-structure.md:1
msgid "Course Structure"
-msgstr "Estructura del Curso"
+msgstr "Estructura del curso"
#: src/SUMMARY.md:7 src/running-the-course/keyboard-shortcuts.md:1
msgid "Keyboard Shortcuts"
-msgstr "Accesos Rápidos del Teclado"
+msgstr "Combinaciones de teclas"
#: src/SUMMARY.md:8 src/running-the-course/translations.md:1
msgid "Translations"
@@ -46,16 +46,16 @@ msgstr "Ejemplos de Código"
#: src/SUMMARY.md:12
msgid "Running Cargo Locally"
-msgstr "Correr Cargo Localmente"
+msgstr "Ejecutar Cargo a nivel local"
#: src/SUMMARY.md:15
msgid "Day 1: Morning"
-msgstr "Día 1: Mañana"
+msgstr "Día 1: mañana"
#: src/SUMMARY.md:19 src/SUMMARY.md:79 src/SUMMARY.md:137 src/SUMMARY.md:195
#: src/SUMMARY.md:221 src/SUMMARY.md:271
msgid "Welcome"
-msgstr "Bienvenido"
+msgstr "Te damos la bienvenida"
#: src/SUMMARY.md:20 src/welcome-day-1/what-is-rust.md:1
msgid "What is Rust?"
@@ -63,11 +63,11 @@ msgstr "¿Qué es Rust?"
#: src/SUMMARY.md:21 src/hello-world.md:1
msgid "Hello World!"
-msgstr "¡Hola Mundo!"
+msgstr "¡Hola, mundo!"
#: src/SUMMARY.md:22 src/hello-world/small-example.md:1
msgid "Small Example"
-msgstr "Ejemplo Rápido"
+msgstr "Pequeño ejemplo"
#: src/SUMMARY.md:23 src/why-rust.md:1
msgid "Why Rust?"
@@ -75,27 +75,27 @@ msgstr "¿Por qué Rust?"
#: src/SUMMARY.md:24 src/why-rust/compile-time.md:1
msgid "Compile Time Guarantees"
-msgstr "Tiempo de Compilación Garantizado"
+msgstr "Garantías en Tiempo de Compilación"
#: src/SUMMARY.md:25 src/why-rust/runtime.md:1
msgid "Runtime Guarantees"
-msgstr "Garantías en Tiempo de Ejecución"
+msgstr "Garantías en _Runtime_"
#: src/SUMMARY.md:26 src/why-rust/modern.md:1
msgid "Modern Features"
-msgstr "Características Modernas"
+msgstr "Funcionalidades Modernas"
#: src/SUMMARY.md:27 src/basic-syntax.md:1
msgid "Basic Syntax"
-msgstr "Sintaxis Básica"
+msgstr "Sintaxis básica"
#: src/SUMMARY.md:28 src/basic-syntax/scalar-types.md:1
msgid "Scalar Types"
-msgstr "Tipos Escalares"
+msgstr "Tipos escalares"
#: src/SUMMARY.md:29 src/basic-syntax/compound-types.md:1
msgid "Compound Types"
-msgstr "Tipos Compuestos"
+msgstr "Tipos compuestos"
#: src/SUMMARY.md:30 src/basic-syntax/references.md:1
msgid "References"
@@ -103,7 +103,7 @@ msgstr "Referencias"
#: src/SUMMARY.md:31 src/basic-syntax/references-dangling.md:1
msgid "Dangling References"
-msgstr "Referencias Colgantes"
+msgstr "Referencias colgantes"
#: src/SUMMARY.md:32 src/basic-syntax/slices.md:1
msgid "Slices"
@@ -111,7 +111,7 @@ msgstr "Slices"
#: src/SUMMARY.md:33
msgid "String vs str"
-msgstr ""
+msgstr "String o str"
#: src/SUMMARY.md:34 src/basic-syntax/functions.md:1
msgid "Functions"
@@ -119,7 +119,7 @@ msgstr "Funciones"
#: src/SUMMARY.md:35 src/basic-syntax/rustdoc.md:1
msgid "Rustdoc"
-msgstr ""
+msgstr "Rustdoc"
#: src/SUMMARY.md:36 src/SUMMARY.md:107 src/basic-syntax/methods.md:1
#: src/methods.md:1
@@ -178,7 +178,7 @@ msgstr "break y continue"
#: src/SUMMARY.md:50
msgid "loop expressions"
-msgstr "expresiones loop"
+msgstr "Expresiones loop"
#: src/SUMMARY.md:52 src/basic-syntax/variables.md:1
msgid "Variables"
@@ -186,15 +186,15 @@ msgstr "Variables"
#: src/SUMMARY.md:53 src/basic-syntax/type-inference.md:1
msgid "Type Inference"
-msgstr "Infererencia de Tipo"
+msgstr "Inferencia de tipos"
#: src/SUMMARY.md:54
msgid "static & const"
-msgstr "static & const"
+msgstr "static y const"
#: src/SUMMARY.md:55 src/basic-syntax/scopes-shadowing.md:1
msgid "Scopes and Shadowing"
-msgstr "Scopes y Shadowing"
+msgstr "Ámbitos y _Shadowing_"
#: src/SUMMARY.md:56 src/enums.md:1
msgid "Enums"
@@ -269,7 +269,7 @@ msgstr ""
#: src/SUMMARY.md:83
msgid "Stack Memory"
-msgstr "Stack de Memoria"
+msgstr "Memoria de la Pila (_Stack_)"
#: src/SUMMARY.md:84 src/memory-management/manual.md:1
msgid "Manual Memory Management"
@@ -281,7 +281,7 @@ msgstr "Manejo de Memoria basado en Scope (ámbitos)"
#: src/SUMMARY.md:86
msgid "Garbage Collection"
-msgstr ""
+msgstr "Recolección de memoria residual"
#: src/SUMMARY.md:87
msgid "Rust Memory Management"
@@ -293,71 +293,71 @@ msgstr "Comparación"
#: src/SUMMARY.md:89 src/ownership.md:1
msgid "Ownership"
-msgstr "Ownership (dueño)"
+msgstr "Propiedad (_Ownership_)"
#: src/SUMMARY.md:90 src/ownership/move-semantics.md:1
msgid "Move Semantics"
-msgstr "Semantica de Transferencia"
+msgstr "Semántica de movimiento"
#: src/SUMMARY.md:91 src/ownership/moved-strings-rust.md:1
msgid "Moved Strings in Rust"
-msgstr "Mover Strings en Rust"
+msgstr "Cadenas movidas en Rust"
#: src/SUMMARY.md:92
msgid "Double Frees in Modern C++"
-msgstr "Frees Dobles en C++ Moderno"
+msgstr "Double free en código C++ moderno"
#: src/SUMMARY.md:93 src/ownership/moves-function-calls.md:1
msgid "Moves in Function Calls"
-msgstr "Transferencia de Objetos en Llamadas de Funciones"
+msgstr "Movimientos en llamadas de función"
#: src/SUMMARY.md:94 src/ownership/copy-clone.md:1
msgid "Copying and Cloning"
-msgstr "Copiar y Clonar"
+msgstr "Copiar y clonar"
#: src/SUMMARY.md:95 src/ownership/borrowing.md:1
msgid "Borrowing"
-msgstr "Préstamos (Referencias)"
+msgstr "Préstamos (_Borrowing_)"
#: src/SUMMARY.md:96 src/ownership/shared-unique-borrows.md:1
msgid "Shared and Unique Borrows"
-msgstr "Préstamos Compartidos y Únicos (Referencias)"
+msgstr "Préstamos compartidos y únicos"
#: src/SUMMARY.md:97 src/ownership/lifetimes.md:1
msgid "Lifetimes"
-msgstr "Tiempo de Vida"
+msgstr "Tiempos de vida"
#: src/SUMMARY.md:98 src/ownership/lifetimes-function-calls.md:1
msgid "Lifetimes in Function Calls"
-msgstr "Tiempo de Vida en Llamadas de Funciones"
+msgstr "Tiempos de Vida en Llamadas a Función"
#: src/SUMMARY.md:99 src/ownership/lifetimes-data-structures.md:1
msgid "Lifetimes in Data Structures"
-msgstr "Tiempo de Vida de Estructuras de Datos"
+msgstr "Tiempos de vida en estructuras de datos"
#: src/SUMMARY.md:101 src/exercises/day-2/book-library.md:1
msgid "Storing Books"
-msgstr ""
+msgstr "Almacenar libros"
#: src/SUMMARY.md:102 src/exercises/day-2/iterators-and-ownership.md:1
msgid "Iterators and Ownership"
-msgstr "Iteradores y Ownership"
+msgstr "Iteradores y propiedad"
#: src/SUMMARY.md:104 src/structs.md:1
msgid "Structs"
-msgstr ""
+msgstr "Estructuras (_Structs_)"
#: src/SUMMARY.md:105 src/structs/tuple-structs.md:1
msgid "Tuple Structs"
-msgstr "Estructuras de Tuplas"
+msgstr "Estructuras de tuplas"
#: src/SUMMARY.md:106 src/structs/field-shorthand.md:1
msgid "Field Shorthand Syntax"
-msgstr "Sintaxis Abreviada de Campos"
+msgstr "Sintaxis abreviada de campos"
#: src/SUMMARY.md:108 src/methods/receiver.md:1
msgid "Method Receiver"
-msgstr "Método Receptor"
+msgstr "Receptor de método"
#: src/SUMMARY.md:109 src/SUMMARY.md:169 src/SUMMARY.md:284
#: src/methods/example.md:1 src/concurrency/shared_state/example.md:1
@@ -366,15 +366,15 @@ msgstr "Ejemplo"
#: src/SUMMARY.md:111 src/exercises/day-2/health-statistics.md:1
msgid "Health Statistics"
-msgstr "Estadísticas de Estado de Salud"
+msgstr "Estadísticas de salud"
#: src/SUMMARY.md:113
msgid "Day 2: Afternoon"
-msgstr "Día 2: Tarde"
+msgstr "Día 2: tarde"
#: src/SUMMARY.md:115 src/std.md:1
msgid "Standard Library"
-msgstr "Librería Standard"
+msgstr "Biblioteca estándar"
#: src/SUMMARY.md:116
msgid "Option and Result"
@@ -382,27 +382,27 @@ msgstr "Option y Result"
#: src/SUMMARY.md:117 src/std/string.md:1
msgid "String"
-msgstr ""
+msgstr "String"
#: src/SUMMARY.md:118
msgid "Vec"
-msgstr ""
+msgstr "Vec"
#: src/SUMMARY.md:119
msgid "HashMap"
-msgstr ""
+msgstr "HashMap"
#: src/SUMMARY.md:120
msgid "Box"
-msgstr ""
+msgstr "Box"
#: src/SUMMARY.md:121
msgid "Recursive Data Types"
-msgstr "Tipo de Datos Recursivos"
+msgstr "Tipos de datos recursivos"
#: src/SUMMARY.md:122 src/std/box-niche.md:1
msgid "Niche Optimization"
-msgstr "Optimización de Nicho"
+msgstr "Optimización de la Memoria"
#: src/SUMMARY.md:123
msgid "Rc"
@@ -422,20 +422,20 @@ msgstr "Visibilidad"
#: src/SUMMARY.md:127 src/modules/paths.md:1
msgid "Paths"
-msgstr ""
+msgstr "Rutas"
#: src/SUMMARY.md:128 src/modules/filesystem.md:1
msgid "Filesystem Hierarchy"
-msgstr "Jerarquía del Sistema de Archivos"
+msgstr "Jerarquía del sistema de archivos"
#: src/SUMMARY.md:130 src/exercises/day-2/strings-iterators.md:1
#: src/exercises/day-2/solutions-afternoon.md:3
msgid "Strings and Iterators"
-msgstr "Strings e Iteradores"
+msgstr "Cadenas e iteradores"
#: src/SUMMARY.md:133
msgid "Day 3: Morning"
-msgstr "Día 3: Mañana"
+msgstr "Día 3: mañana"
#: src/SUMMARY.md:138 src/generics.md:1
msgid "Generics"
@@ -443,19 +443,19 @@ msgstr "Genéricos"
#: src/SUMMARY.md:139 src/generics/data-types.md:1
msgid "Generic Data Types"
-msgstr "Tipos de Datos Genéricos"
+msgstr "Tipos de datos genéricos"
#: src/SUMMARY.md:140 src/generics/methods.md:1
msgid "Generic Methods"
-msgstr "Métodos Genéricos"
+msgstr "Métodos genéricos"
#: src/SUMMARY.md:141 src/generics/monomorphization.md:1
msgid "Monomorphization"
-msgstr "Monomorphization"
+msgstr "Monomorfización"
#: src/SUMMARY.md:142 src/traits.md:1
msgid "Traits"
-msgstr ""
+msgstr "Traits"
#: src/SUMMARY.md:143 src/traits/trait-objects.md:1
msgid "Trait Objects"
@@ -463,7 +463,7 @@ msgstr "Objetos Trait"
#: src/SUMMARY.md:144 src/traits/deriving-traits.md:1
msgid "Deriving Traits"
-msgstr "Traits Derivados"
+msgstr "Derivación de traits"
#: src/SUMMARY.md:145 src/traits/default-methods.md:1
msgid "Default Methods"
@@ -508,7 +508,7 @@ msgstr ""
#: src/SUMMARY.md:155
#, fuzzy
msgid "Operators: Add, Mul, ..."
-msgstr "Add, Mul, …."
+msgstr "Operadores: Add, Mul, …."
#: src/SUMMARY.md:156
msgid "Closures: Fn, FnMut, FnOnce"
@@ -517,7 +517,7 @@ msgstr ""
#: src/SUMMARY.md:158 src/exercises/day-3/simple-gui.md:1
#: src/exercises/day-3/solutions-morning.md:3
msgid "A Simple GUI Library"
-msgstr "Una Libraría Simple GUI"
+msgstr "Una biblioteca GUI sencilla"
#: src/SUMMARY.md:159 src/exercises/day-3/solutions-morning.md:175
msgid "Points and Polygons"
@@ -550,80 +550,80 @@ msgstr "Propagación de Errores con ?"
#: src/SUMMARY.md:168 src/error-handling/converting-error-types.md:1
#: src/error-handling/converting-error-types-example.md:1
msgid "Converting Error Types"
-msgstr "Convirtiendo Tipos de Errores"
+msgstr "Conversión de tipos de errores"
#: src/SUMMARY.md:170 src/error-handling/deriving-error-enums.md:1
msgid "Deriving Error Enums"
-msgstr "Derivando Errores Enum"
+msgstr "Derivación de enums de error"
#: src/SUMMARY.md:171 src/error-handling/dynamic-errors.md:1
msgid "Dynamic Error Types"
-msgstr "Tipos de Errores Dinámicos"
+msgstr "Tipos de errores dinámicos"
#: src/SUMMARY.md:172 src/error-handling/error-contexts.md:1
msgid "Adding Context to Errors"
-msgstr "Dando Contexto a los Errores"
+msgstr "Añadir contexto a los errores"
#: src/SUMMARY.md:173 src/testing.md:1
msgid "Testing"
-msgstr "Testeando"
+msgstr "Probando"
#: src/SUMMARY.md:174 src/testing/unit-tests.md:1
msgid "Unit Tests"
-msgstr "Testeo Unitario"
+msgstr "Pruebas unitarias"
#: src/SUMMARY.md:175 src/testing/test-modules.md:1
msgid "Test Modules"
-msgstr "Módulos de Test"
+msgstr "Módulos de pruebas"
#: src/SUMMARY.md:176 src/testing/doc-tests.md:1
msgid "Documentation Tests"
-msgstr "Documentación de Test"
+msgstr "Pruebas de documentación"
#: src/SUMMARY.md:177 src/testing/integration-tests.md:1
msgid "Integration Tests"
-msgstr "Tests de Integración"
+msgstr "Pruebas de integración"
#: src/SUMMARY.md:178 src/bare-metal/useful-crates.md:1
msgid "Useful crates"
-msgstr ""
+msgstr "Crates útiles"
#: src/SUMMARY.md:179 src/unsafe.md:1
msgid "Unsafe Rust"
-msgstr "Rust No Seguro (Unsafe)"
+msgstr "Unsafe Rust"
#: src/SUMMARY.md:180 src/unsafe/raw-pointers.md:1
msgid "Dereferencing Raw Pointers"
-msgstr "Desreferenciar Punteros Raw"
+msgstr "Dereferenciación de punteros sin formato"
#: src/SUMMARY.md:181 src/unsafe/mutable-static-variables.md:1
msgid "Mutable Static Variables"
-msgstr "Variables Mutables Estáticas"
+msgstr "Variables estáticas mutables"
#: src/SUMMARY.md:182 src/unsafe/unions.md:1
msgid "Unions"
-msgstr "Unions"
+msgstr "Uniones"
#: src/SUMMARY.md:183 src/unsafe/calling-unsafe-functions.md:1
msgid "Calling Unsafe Functions"
-msgstr "Llamando Funciones No Seguras"
+msgstr "Llamar funciones no seguras"
#: src/SUMMARY.md:184 src/unsafe/writing-unsafe-functions.md:1
msgid "Writing Unsafe Functions"
-msgstr "Escribiendo Funciones No Seguras"
+msgstr "Escribir funciones no seguras"
#: src/SUMMARY.md:185
msgid "Extern Functions"
-msgstr "Funciones Externas"
+msgstr "Funciones externas"
#: src/SUMMARY.md:186 src/unsafe/unsafe-traits.md:1
msgid "Implementing Unsafe Traits"
-msgstr "Implementando Traits No Seguros"
+msgstr "Implementación de traits inseguros"
#: src/SUMMARY.md:188 src/exercises/day-3/safe-ffi-wrapper.md:1
#: src/exercises/day-3/solutions-afternoon.md:3
msgid "Safe FFI Wrapper"
-msgstr "Wrappers FFI Seguros"
+msgstr "Envoltorio de FFI seguro"
#: src/SUMMARY.md:191 src/SUMMARY.md:261 src/bare-metal/android.md:1
msgid "Android"
@@ -631,7 +631,7 @@ msgstr ""
#: src/SUMMARY.md:196 src/android/setup.md:1
msgid "Setup"
-msgstr ""
+msgstr "Configurar"
#: src/SUMMARY.md:197 src/android/build-rules.md:1
msgid "Build Rules"
@@ -643,7 +643,7 @@ msgstr "Binarios"
#: src/SUMMARY.md:199
msgid "Library"
-msgstr "Librería"
+msgstr "Biblioteca"
#: src/SUMMARY.md:200 src/android/aidl.md:1
msgid "AIDL"
@@ -651,7 +651,7 @@ msgstr ""
#: src/SUMMARY.md:201
msgid "Interface"
-msgstr ""
+msgstr "Interfaz"
#: src/SUMMARY.md:202
msgid "Implementation"
@@ -663,7 +663,7 @@ msgstr "Servidor"
#: src/SUMMARY.md:204 src/android/aidl/deploy.md:1
msgid "Deploy"
-msgstr ""
+msgstr "Despliegue"
#: src/SUMMARY.md:205
msgid "Client"
@@ -671,12 +671,12 @@ msgstr "Cliente"
#: src/SUMMARY.md:206 src/android/aidl/changing.md:1
msgid "Changing API"
-msgstr "Cambiando de API"
+msgstr "Cambio de API"
#: src/SUMMARY.md:207 src/SUMMARY.md:251 src/android/logging.md:1
#: src/bare-metal/aps/logging.md:1
msgid "Logging"
-msgstr ""
+msgstr "Almacenamiento de registros"
#: src/SUMMARY.md:208 src/android/interoperability.md:1
msgid "Interoperability"
@@ -688,11 +688,11 @@ msgstr "Con C"
#: src/SUMMARY.md:210
msgid "Calling C with Bindgen"
-msgstr "Invocar C desde Bindgen"
+msgstr "Llamar a C con Bindgen"
#: src/SUMMARY.md:211
msgid "Calling Rust from C"
-msgstr "Invocar Rust desde C"
+msgstr "Llamar a Rust desde C"
#: src/SUMMARY.md:212 src/android/interoperability/cpp.md:1
msgid "With C++"
@@ -703,162 +703,153 @@ msgid "With Java"
msgstr "Con Java"
#: src/SUMMARY.md:217
-#, fuzzy
msgid "Bare Metal: Morning"
-msgstr "Día 1: Mañana"
+msgstr "Bare Metal: mañana"
#: src/SUMMARY.md:222
msgid "no_std"
-msgstr ""
+msgstr "no_std"
#: src/SUMMARY.md:223
-#, fuzzy
msgid "A Minimal Example"
-msgstr "Ejemplo Rápido"
+msgstr "Un pequeño ejemplo"
#: src/SUMMARY.md:224
msgid "alloc"
-msgstr ""
+msgstr "alloc"
#: src/SUMMARY.md:225 src/bare-metal/microcontrollers.md:1
msgid "Microcontrollers"
-msgstr ""
+msgstr "Microcontroladores"
#: src/SUMMARY.md:226 src/bare-metal/microcontrollers/mmio.md:1
msgid "Raw MMIO"
-msgstr ""
+msgstr "MMIO sin procesar"
#: src/SUMMARY.md:227
msgid "PACs"
-msgstr ""
+msgstr "PAC"
#: src/SUMMARY.md:228
msgid "HAL Crates"
-msgstr ""
+msgstr "Crates HAL"
#: src/SUMMARY.md:229
msgid "Board Support Crates"
-msgstr ""
+msgstr "Crates de compatibilidad de placa"
#: src/SUMMARY.md:230
msgid "The Type State Pattern"
-msgstr ""
+msgstr "El patrón de tipo de estado"
#: src/SUMMARY.md:231
msgid "embedded-hal"
-msgstr ""
+msgstr "embedded-hal"
#: src/SUMMARY.md:232
msgid "probe-rs, cargo-embed"
-msgstr ""
+msgstr "probe-rs, cargo-embed"
#: src/SUMMARY.md:233 src/bare-metal/microcontrollers/debugging.md:1
msgid "Debugging"
-msgstr ""
+msgstr "Depuración"
#: src/SUMMARY.md:234 src/SUMMARY.md:254
-#, fuzzy
msgid "Other Projects"
-msgstr "Otros Recursos"
+msgstr "Otros proyectos"
#: src/SUMMARY.md:236 src/exercises/bare-metal/compass.md:1
#: src/exercises/bare-metal/solutions-morning.md:3
-#, fuzzy
msgid "Compass"
-msgstr "Comparación"
+msgstr "Brújula"
#: src/SUMMARY.md:238
-#, fuzzy
msgid "Bare Metal: Afternoon"
-msgstr "Día 1: Tarde"
+msgstr "Bare Metal: tarde"
#: src/SUMMARY.md:240
msgid "Application Processors"
-msgstr ""
+msgstr "Procesadores de aplicaciones"
#: src/SUMMARY.md:241 src/bare-metal/aps/entry-point.md:1
msgid "Getting Ready to Rust"
-msgstr ""
+msgstr "Iniciación a Rust"
#: src/SUMMARY.md:242
msgid "Inline Assembly"
-msgstr ""
+msgstr "Ensamblador en línea"
#: src/SUMMARY.md:243
msgid "MMIO"
-msgstr ""
+msgstr "MMIO"
#: src/SUMMARY.md:244
msgid "Let's Write a UART Driver"
-msgstr ""
+msgstr "Escribir un controlador UART"
#: src/SUMMARY.md:245
-#, fuzzy
msgid "More Traits"
-msgstr "Traits Importantes"
+msgstr "Más traits"
#: src/SUMMARY.md:246
msgid "A Better UART Driver"
-msgstr ""
+msgstr "Un controlador UART mejor"
#: src/SUMMARY.md:247 src/bare-metal/aps/better-uart/bitflags.md:1
msgid "Bitflags"
-msgstr ""
+msgstr "Bitflags"
#: src/SUMMARY.md:248
msgid "Multiple Registers"
-msgstr ""
+msgstr "Varios registros"
#: src/SUMMARY.md:249 src/bare-metal/aps/better-uart/driver.md:1
msgid "Driver"
-msgstr ""
+msgstr "Conductor"
#: src/SUMMARY.md:250 src/SUMMARY.md:252
-#, fuzzy
msgid "Using It"
-msgstr "Usando Cargo"
+msgstr "Cómo usarlo"
#: src/SUMMARY.md:253 src/bare-metal/aps/exceptions.md:1
-#, fuzzy
msgid "Exceptions"
-msgstr "Funciones"
+msgstr "Excepciones"
#: src/SUMMARY.md:255
msgid "Useful Crates"
-msgstr ""
+msgstr "Crates útiles"
#: src/SUMMARY.md:256
msgid "zerocopy"
-msgstr ""
+msgstr "zerocopy"
#: src/SUMMARY.md:257
msgid "aarch64-paging"
-msgstr ""
+msgstr "aarch64-paging"
#: src/SUMMARY.md:258
msgid "buddy_system_allocator"
-msgstr ""
+msgstr "buddy_system_allocator"
#: src/SUMMARY.md:259
msgid "tinyvec"
-msgstr ""
+msgstr "tinyvec"
#: src/SUMMARY.md:260
msgid "spin"
-msgstr ""
+msgstr "girar"
#: src/SUMMARY.md:262 src/bare-metal/android/vmbase.md:1
msgid "vmbase"
-msgstr ""
+msgstr "vmbase"
#: src/SUMMARY.md:264
msgid "RTC Driver"
-msgstr ""
+msgstr "Controlador RTC"
#: src/SUMMARY.md:267
-#, fuzzy
msgid "Concurrency: Morning"
-msgstr "Concurrencia"
+msgstr "Concurrencia: mañana"
#: src/SUMMARY.md:272 src/concurrency/threads.md:1
msgid "Threads"
@@ -866,7 +857,7 @@ msgstr "Hilos"
#: src/SUMMARY.md:273 src/concurrency/scoped-threads.md:1
msgid "Scoped Threads"
-msgstr "Ámbito de los Hilos"
+msgstr "Hilos con ámbito"
#: src/SUMMARY.md:274 src/concurrency/channels.md:1
msgid "Channels"
@@ -874,11 +865,11 @@ msgstr "Canales"
#: src/SUMMARY.md:275 src/concurrency/channels/unbounded.md:1
msgid "Unbounded Channels"
-msgstr "Canales Ilimitados"
+msgstr "Canales sin límites"
#: src/SUMMARY.md:276 src/concurrency/channels/bounded.md:1
msgid "Bounded Channels"
-msgstr "Canales Limitados"
+msgstr "Canales delimitados"
#: src/SUMMARY.md:277
msgid "Send and Sync"
@@ -886,119 +877,115 @@ msgstr "Send y Sync"
#: src/SUMMARY.md:277
msgid "Send"
-msgstr ""
+msgstr "Enviar"
#: src/SUMMARY.md:277
msgid "Sync"
-msgstr "Sync"
+msgstr "Sincronizar"
#: src/SUMMARY.md:280 src/concurrency/send-sync/examples.md:1
msgid "Examples"
-msgstr "Ejemplo"
+msgstr "Ejemplos"
#: src/SUMMARY.md:281 src/concurrency/shared_state.md:1
msgid "Shared State"
-msgstr "Estado Compartido"
+msgstr "Estado compartido"
#: src/SUMMARY.md:282
msgid "Arc"
-msgstr ""
+msgstr "Arco"
#: src/SUMMARY.md:283
msgid "Mutex"
-msgstr ""
+msgstr "Mutex"
#: src/SUMMARY.md:286 src/SUMMARY.md:307
#: src/exercises/concurrency/dining-philosophers.md:1
#: src/exercises/concurrency/solutions-morning.md:3
msgid "Dining Philosophers"
-msgstr "Filosofía de la Cena"
+msgstr "La cena de los filósofos"
#: src/SUMMARY.md:287 src/exercises/concurrency/link-checker.md:1
msgid "Multi-threaded Link Checker"
-msgstr "Chequeo de Links Multi-hilos"
+msgstr "Comprobador de enlaces multihilo"
#: src/SUMMARY.md:289
-#, fuzzy
msgid "Concurrency: Afternoon"
-msgstr "Concurrencia"
+msgstr "Concurrencia: tarde"
#: src/SUMMARY.md:291
msgid "Async Basics"
-msgstr ""
+msgstr "Conceptos básicos de Async"
#: src/SUMMARY.md:292
msgid "async/await"
-msgstr ""
+msgstr "async / await"
#: src/SUMMARY.md:293 src/async/futures.md:1
msgid "Futures"
-msgstr ""
+msgstr "Future"
#: src/SUMMARY.md:294 src/async/runtimes.md:1
-#, fuzzy
msgid "Runtimes"
-msgstr "Garantías en Tiempo de Ejecución"
+msgstr "Tiempos de ejecución"
#: src/SUMMARY.md:295 src/async/runtimes/tokio.md:1
msgid "Tokio"
-msgstr ""
+msgstr "Tokio"
#: src/SUMMARY.md:296 src/exercises/concurrency/link-checker.md:126
#: src/async/tasks.md:1 src/exercises/concurrency/chat-app.md:140
msgid "Tasks"
-msgstr ""
+msgstr "Tasks"
#: src/SUMMARY.md:297 src/async/channels.md:1
-#, fuzzy
msgid "Async Channels"
-msgstr "Canales"
+msgstr "Canales asíncronos"
#: src/SUMMARY.md:299 src/async/control-flow/join.md:1
msgid "Join"
-msgstr ""
+msgstr "Unirme"
#: src/SUMMARY.md:300 src/async/control-flow/select.md:1
msgid "Select"
-msgstr ""
+msgstr "Seleccionar"
#: src/SUMMARY.md:301
msgid "Pitfalls"
-msgstr ""
+msgstr "Inconvenientes"
#: src/SUMMARY.md:302
msgid "Blocking the Executor"
-msgstr ""
+msgstr "Bloqueo del ejecutor"
#: src/SUMMARY.md:303 src/async/pitfalls/pin.md:1
msgid "Pin"
-msgstr ""
+msgstr "Fijar"
#: src/SUMMARY.md:304 src/async/pitfalls/async-traits.md:1
msgid "Async Traits"
-msgstr ""
+msgstr "Traits asíncronos"
#: src/SUMMARY.md:305 src/async/pitfalls/cancellation.md:1
-#, fuzzy
msgid "Cancellation"
-msgstr "Instalación"
+msgstr "Cancelación"
#: src/SUMMARY.md:308 src/exercises/concurrency/chat-app.md:1
#: src/exercises/concurrency/solutions-afternoon.md:119
msgid "Broadcast Chat Application"
-msgstr ""
+msgstr "Aplicación de chat de difusión"
#: src/SUMMARY.md:311
msgid "Final Words"
-msgstr "Palabras Finales"
+msgstr "Conclusiones"
#: src/SUMMARY.md:315 src/thanks.md:1
msgid "Thanks!"
-msgstr "Gracias!"
+msgstr "Gracias."
#: src/SUMMARY.md:316
msgid "Other Resources"
-msgstr "Otros Recursos"
+msgstr "Otros recursos"
#: src/SUMMARY.md:317 src/credits.md:1
msgid "Credits"
@@ -1010,46 +997,43 @@ msgstr "Soluciones"
#: src/SUMMARY.md:325
msgid "Day 1 Morning"
-msgstr "Día 1 Mañana"
+msgstr "Día 1: mañana"
#: src/SUMMARY.md:326
msgid "Day 1 Afternoon"
-msgstr "Día 1 Tarde"
+msgstr "Día 1: tarde"
#: src/SUMMARY.md:327
msgid "Day 2 Morning"
-msgstr "Día 2 Mañana"
+msgstr "Día 2: mañana"
#: src/SUMMARY.md:328
msgid "Day 2 Afternoon"
-msgstr "Día 2 Tarde"
+msgstr "Día 2: tarde"
#: src/SUMMARY.md:329
msgid "Day 3 Morning"
-msgstr "Día 3 Mañana"
+msgstr "Día 3: mañana"
#: src/SUMMARY.md:330
msgid "Day 3 Afternoon"
-msgstr "Día 3 Tarde"
+msgstr "Día 3: tarde"
#: src/SUMMARY.md:331
msgid "Bare Metal Rust Morning"
-msgstr ""
+msgstr "Rust Bare Metal: mañana"
#: src/SUMMARY.md:332 src/exercises/bare-metal/solutions-afternoon.md:1
-#, fuzzy
msgid "Bare Metal Rust Afternoon"
-msgstr "Día 1 Tarde"
+msgstr "Rust Bare Metal: tarde"
#: src/SUMMARY.md:333
-#, fuzzy
msgid "Concurrency Morning"
-msgstr "Concurrencia"
+msgstr "Concurrencia: mañana"
#: src/SUMMARY.md:334
-#, fuzzy
msgid "Concurrency Afternoon"
-msgstr "Concurrencia"
+msgstr "Concurrencia: tarde"
#: src/index.md:3
msgid ""
@@ -1064,24 +1048,23 @@ msgid ""
msgstr ""
#: src/index.md:7
-#, fuzzy
msgid ""
"This is a free Rust course developed by the Android team at Google. The "
"course covers the full spectrum of Rust, from basic syntax to advanced "
"topics like generics and error handling."
msgstr ""
-"Este es un curso de Rust de cuatro días desarrollado por el team de Android. "
-"El curso cubre el espectro completo de Rust, desde la sintaxis básica a "
-"tópicos avanzados como genéricos y el manejo de errores. Para el último día "
-"también incluye contenido específico a Android."
+"Este es un curso de Rust de tres días que ha desarrollado el equipo de "
+"Android de Google. El curso abarca todo lo relacionado con Rust, desde la "
+"sintaxis básica hasta temas avanzados como los genéricos y la gestión de "
+"errores. También incluye contenidos específicos de Android el último día."
#: src/index.md:11
msgid ""
"The goal of the course is to teach you Rust. We assume you don't know "
"anything about Rust and hope to:"
msgstr ""
-"El objetivo del curso es enseñarte Rust. Asumimos que no sabes nada Acerca "
-"de Rust y esperamos que:"
+"El objetivo del curso es enseñarte Rust. Suponemos que no sabes nada sobre "
+"Rust y esperamos lograr lo siguiente:"
#: src/index.md:14
msgid "Give you a comprehensive understanding of the Rust syntax and language."
@@ -1109,6 +1092,9 @@ msgid ""
"[Android](android.md): a half-day course on using Rust for Android platform "
"development (AOSP). This includes interoperability with C, C++, and Java."
msgstr ""
+"[Android](android.md): un curso de medio día sobre el uso de Rust en el "
+"desarrollo de la plataforma Android (AOSP). En él se incluye la "
+"interoperabilidad con C, C++ y Java."
#: src/index.md:24
msgid ""
@@ -1116,6 +1102,9 @@ msgid ""
"(embedded) development. Both microcontrollers and application processors are "
"covered."
msgstr ""
+"[Bare Metal](bare-metal.md): una clase de un día sobre el uso de Rust para "
+"el desarrollo bare-metal (insertado). Se tratarán tanto los "
+"microcontroladores como los procesadores de aplicaciones."
#: src/index.md:27
msgid ""
@@ -1124,29 +1113,33 @@ msgid ""
"mutexes) and async/await concurrency (cooperative multitasking using "
"futures)."
msgstr ""
+"[Concurrencia](concurrency.md): una clase de un día sobre concurrencia en "
+"Rust. Abordaremos tanto la concurrencia clásica (programación interrumpible "
+"mediante hilos y exclusiones mutuas), como la concurrencia async / await "
+"(multitarea cooperativa mediante traits future)."
#: src/index.md:33
msgid "Non-Goals"
-msgstr "No tiene por Objetivo"
+msgstr "Objetivos que no trataremos"
#: src/index.md:35
msgid ""
"Rust is a large language and we won't be able to cover all of it in a few "
"days. Some non-goals of this course are:"
msgstr ""
-"Rust es un lenguaje extenso y no podemos cubrir todo de él en algunos días. "
-"Algo de los No Objetivos es:"
+"Rust es un lenguaje muy amplio y no podremos abarcarlo todo en unos pocos "
+"días. Algunos de los objetivos que no se plantean en este curso son los "
+"siguientes:"
#: src/index.md:38
-#, fuzzy
msgid ""
"Learning how to develop macros: please see [Chapter 19.5 in the Rust Book]"
"(https://doc.rust-lang.org/book/ch19-06-macros.html) and [Rust by Example]"
"(https://doc.rust-lang.org/rust-by-example/macros.html) instead."
msgstr ""
-"Aprender como escribir macros, en cambio por favor ver [Capítulo 19.5 en el "
-"Libro de Rust](https://doc.rust-lang.org/book/ch19-06-macros.html) y [Rust "
-"by Example](https://doc.rust-lang.org/rust-by-example/macros.html)."
+"Aprender a desarrollar macros: consulta el [capítulo 19.5 del Libro de Rust ]"
+"(https://doc.rust-lang.org/book/ch19-06-macros.html) y [Rust by Example]"
+"(https://doc.rust-lang.org/rust-by-example/macros.html)."
#: src/index.md:42
msgid "Assumptions"
@@ -1159,18 +1152,17 @@ msgid ""
"statically-typed language and we will sometimes make comparisons with C and "
"C++ to better explain or contrast the Rust approach."
msgstr ""
-"El curso asume que ya sabes programar. Rust es un lenguaje de tipado "
-"estático y algunas veces trataremos comparaciones con C y C++ para explicar "
-"mejor o contrastar la aproximación de Rust."
+"El curso presupone que ya sabes programar. Rust es un lenguaje estáticamente "
+"tipado y, a veces, haremos comparaciones con C y C++ para explicarlo mejor o "
+"contrastar nuestro enfoque."
#: src/index.md:48
-#, fuzzy
msgid ""
"If you know how to program in a dynamically-typed language such as Python or "
"JavaScript, then you will be able to follow along just fine too."
msgstr ""
-"Si sabes como programar en un lenguaje de tapado dinámico como Python o "
-"JavaScript, también podrás seguir el contenido a lo largo del curso."
+"Si sabes programar en un lenguaje dinámicamente tipado, como Python o "
+"JavaScript, podrás seguir el ritmo sin problema."
#: src/index.md:53
msgid ""
@@ -1178,29 +1170,28 @@ msgid ""
"information to the slides. This could be key points which the instructor "
"should cover as well as answers to typical questions which come up in class."
msgstr ""
-"Este es un ejemplo de _nota del speaker_. Usaremos esto para agregar "
-"información adicional a las diapositivas. Esto puede ser el punto clave en "
-"el cual el instructor podría cubrir respuestas a preguntas comunes."
+"Este es un ejemplo de una _nota del orador_. Las utilizaremos para añadir "
+"información adicional a las diapositivas. Puede tratarse de puntos clave que "
+"el instructor debería tratar, así como de respuestas a preguntas frecuentes "
+"que surgen en clase."
#: src/running-the-course.md:3 src/running-the-course/course-structure.md:3
msgid "This page is for the course instructor."
-msgstr "Esta página es para el instructor del curso."
+msgstr "Esta página está dirigida al instructor del curso."
#: src/running-the-course.md:5
msgid ""
"Here is a bit of background information about how we've been running the "
"course internally at Google."
msgstr ""
-"Aquí hay un poco de información de fondo acerca de como nosotros hemos "
-"llevado a cabo el curso Internamente en Google."
+"A continuación, te ofrecemos información general sobre cómo se ha "
+"desarrollado el curso en Google."
#: src/running-the-course.md:8
-#, fuzzy
msgid "Before you run the course, you will want to:"
-msgstr "Para hacer el curso, necesitas:"
+msgstr "Antes de impartir el curso, te recomdamos hacer lo siguiente:"
#: src/running-the-course.md:10
-#, fuzzy
msgid ""
"Make yourself familiar with the course material. We've included speaker "
"notes to help highlight the key points (please help us by contributing more "
@@ -1208,28 +1199,27 @@ msgid ""
"notes in a popup (click the link with a little arrow next to \"Speaker "
"Notes\"). This way you have a clean screen to present to the class."
msgstr ""
-"Estar familiarizado con el material del curso. Incluimos notas para el "
-"orador en algunas páginas para ayudar a destacar algunos puntos clave (por "
-"favor ayúdanos sumando con más notas!). Deberías estar seguro de abrir "
-"notas en un popup (click en el link con una pequeña flecha al lado de "
-"\"Speaker Notes\"). De esta manera tendrás la pantalla limpia para los "
-"oyentes de la clase."
+"Familiarízate con el material del curso. Hemos incluido notas del orador "
+"para destacar los puntos clave (ayúdanos a añadir más notas de este tipo). "
+"Cuando hagas una presentación, asegúrate de abrir las notas del orador en "
+"una ventana emergente (haz clic en el enlace que tiene una pequeña flecha "
+"junto a \"Notas del orador\"). De esta manera, tendrás una pantalla "
+"despejada para mostrar a la clase."
#: src/running-the-course.md:16
-#, fuzzy
msgid ""
"Decide on the dates. Since the course takes at least three full days, we "
"recommend that you schedule the days over two weeks. Course participants "
"have said that they find it helpful to have a gap in the course since it "
"helps them process all the information we give them."
msgstr ""
-"Determina las fechas. Debido que el curso es largo, recomendamos que "
-"planifiques un calendario de cuatro días en dos semanas. Los participantes "
-"del curso deben encontrar útil tener un espacio en el curso ya que ayuda a "
-"procesar toda la información que daremos."
+"Decide bien las fechas. Dado que el curso dura al menos tres días completos, "
+"te recomendamos que repartas los días a lo largo de dos semanas. Los "
+"participantes del curso han dicho que les resulta útil hacer pausas durante "
+"el curso, ya que les ayuda a procesar toda la información que les "
+"proporcionamos."
#: src/running-the-course.md:21
-#, fuzzy
msgid ""
"Find a room large enough for your in-person participants. We recommend a "
"class size of 15-25 people. That's small enough that people are comfortable "
@@ -1239,10 +1229,13 @@ msgid ""
"laptops. In particular, you will be doing a lot of live-coding as an "
"instructor, so a lectern won't be very helpful for you."
msgstr ""
-"Encuentra un lugar grande lo suficiente para los participantes. Recomendamos "
-"una clase del tamaño de 15-20 personas. Es lo mínimo necesario para estar "
-"cómodos respondiendo preguntas ---y también para que un instructor tenga "
-"tiempo para responder las preguntas."
+"Busca una sala con capacidad suficiente para los participantes presenciales. "
+"Recomendamos una sala para entre 15 y 25 personas. Es el tamaño ideal para "
+"que los alumnos se sientan cómodos haciendo preguntas y para que el profesor "
+"tenga tiempo de responderlas. Asegúrate de que en la sala haya _mesas_ para "
+"ti y para los alumnos: todos necesitaréis sentaros y trabajar con vuestros "
+"portátiles. Además, como instructor, programarás mucho en directo, por lo "
+"que un atril no te resultará muy útil."
#: src/running-the-course.md:29
msgid ""
@@ -1253,15 +1246,14 @@ msgid ""
"as you change pages. Using your laptop will also allow you to fix typos as "
"you or the course participants spot them."
msgstr ""
-"En el día del curso, llega al lugar antes para tener las cosas listas. "
-"Recomendamos hacer la presentación usando directamente `mdbook serve` "
-"corriendo en tu notebook (vea la [instrucción de instalación](https://github."
-"com/google/comprehensive-rust#building)). Esto asegura la mejor performance "
-"si lag al cambiar de página. Usar tu laptop te permitirá corregir errores "
-"tipográficos que tú o los participantes encuentren en el curso."
+"El mismo día del curso, llega con antelación a la clase para preparar todo "
+"lo necesario. Te recomendamos que realices la presentación directamente "
+"desde `mdbook serve` en tu portátil (consulta las \\[instrucciones de "
+"instalación\\]\\[3\\]). Así conseguirás un rendimiento óptimo y que no haya "
+"demoras al pasar de una página a otra. También podrás corregir las erratas a "
+"medida que tú o los participantes del curso las detectéis."
#: src/running-the-course.md:35
-#, fuzzy
msgid ""
"Let people solve the exercises by themselves or in small groups. We "
"typically spend 30-45 minutes on exercises in the morning and in the "
@@ -1271,19 +1263,22 @@ msgid ""
"offer a solution, e.g., by showing people where to find the relevant "
"information in the standard library."
msgstr ""
-"Permite a las personas resolver los ejercicios ellos mismos o en grupos "
-"pequeños. Asegúrate de preguntar a las personas si están trabadas o si hay "
-"algo en que puedas ayudarlos. Cuando Veas varias personas tienen el mismo "
-"problema, háblalo con todos y ofrece una solución, por ejemplo, mostrando a "
-"las personas dónde encontrar información de librerías estándar."
+"Deja que los alumnos resuelvan los ejercicios por sí mismos o en pequeños "
+"grupos. Solemos dedicar entre 30 y 45 minutos a los ejercicios por la mañana "
+"y por la tarde (incluido el tiempo para revisar las soluciones). Asegúrate "
+"de preguntar a los asistentes si les está costando hacerlo o si hay algo en "
+"lo que puedas ayudarles. Cuando veas que varias personas tienen el mismo "
+"problema, coméntalo delante de la clase y ofrece una solución. Por ejemplo, "
+"enséñales dónde encontrar la información importante en la biblioteca "
+"estándar."
#: src/running-the-course.md:43
msgid ""
"That is all, good luck running the course! We hope it will be as much fun "
"for you as it has been for us!"
msgstr ""
-"Esto es todo, buena suerte haciendo el curso! Esperamos que hacerlo sea tan "
-"placentero para ti como lo fue para nosotros!"
+"Eso es todo. ¡Buena suerte con el curso! Esperamos que te diviertas tanto "
+"como nosotros."
#: src/running-the-course.md:46
msgid ""
@@ -1293,15 +1288,15 @@ msgid ""
"Your students are also very welcome to [send us feedback](https://github.com/"
"google/comprehensive-rust/discussions/100)!"
msgstr ""
-"Por favor luego [proporciona comentarios](https://github.com/google/"
-"comprehensive-rust/discussions/86) para que podamos mejorar el curso. Nos "
-"encantaría saber cómo fue y qué podríamos hacer mejor. Los estudiantes "
-"también son bienvenidos para que [nos envíen feedback](https://github.com/"
-"google/comprehensive-rust/discussions/100)!"
+"Después, [envíanos un comentario](https://github.com/google/comprehensive-"
+"rust/discussions/86) para que podamos seguir mejorando el curso. Estaremos "
+"encantados de que nos cuentes qué aspectos destacarías y qué se puede "
+"mejorar. Tus alumnos también pueden [enviarnos sus sugerencias](https://"
+"github.com/google/comprehensive-rust/discussions/100)!"
#: src/running-the-course/course-structure.md:5
msgid "The course is fast paced and covers a lot of ground:"
-msgstr "Este curso es acelerado y cubre muchos temas:"
+msgstr "El curso es rápido y abarca muchos temas:"
#: src/running-the-course/course-structure.md:7
msgid "Day 1: Basic Rust, syntax, control flow, creating and consuming values."
@@ -1313,27 +1308,29 @@ msgid ""
"Day 2: Memory management, ownership, compound data types, and the standard "
"library."
msgstr ""
-"Día 2: Tipos de datos compuestos, coincidencia de patrones, la librería "
+"Día 2: tipos de datos compuestos, coincidencia de patrones, biblioteca "
"estándar."
#: src/running-the-course/course-structure.md:9
#, fuzzy
msgid "Day 3: Generics, traits, error handling, testing, and unsafe Rust."
-msgstr "Día 3: Traits y Genéricos, manejo de errores, testing, Rust no seguro."
+msgstr "Día 3: traits y genéricos, gestión de errores, pruebas, Rust inseguro."
#: src/running-the-course/course-structure.md:11
msgid "Deep Dives"
-msgstr ""
+msgstr "Información más detallada"
#: src/running-the-course/course-structure.md:13
msgid ""
"In addition to the 3-day class on Rust Fundamentals, we cover some more "
"specialized topics:"
msgstr ""
+"Además de la clase de 3 días sobre los fundamentos de Rust, abordamos "
+"algunos temas más especializados:"
#: src/running-the-course/course-structure.md:16
msgid "Rust in Android"
-msgstr ""
+msgstr "Te damos la bienvenida a Rust en Android"
#: src/running-the-course/course-structure.md:18
msgid ""
@@ -1341,9 +1338,11 @@ msgid ""
"Rust for Android platform development. This includes interoperability with "
"C, C++, and Java."
msgstr ""
+"[Rust en Android](../android.md) es un curso de medio día sobre el uso de "
+"Rust para el desarrollo de la plataforma Android. En él se incluye la "
+"interoperabilidad con C, C++ y Java."
#: src/running-the-course/course-structure.md:22
-#, fuzzy
msgid ""
"You will need an [AOSP checkout](https://source.android.com/docs/setup/"
"download/downloading). Make a checkout of the [course repository](https://"
@@ -1351,11 +1350,11 @@ msgid ""
"android/` directory into the root of your AOSP checkout. This will ensure "
"that the Android build system sees the `Android.bp` files in `src/android/`."
msgstr ""
-"Si no saltas la parte del Día 4 específica de Android, necesitarás un [AOSP "
-"checkout](https://source.android.com/docs/setup/download/downloading). Haz "
-"un checkout del [repositorio del curso](https://github.com/google/"
-"comprehensive-rust) en la misma Máquina y moviendo el directorio `src/"
-"android/` a la raíz de tu archivos AOSP de ‘Android.bp’ en `src/android/`."
+"Necesitarás [conseguir el AOSP](https://source.android.com/docs/setup/"
+"download/downloading). Descarga el [repositorio del curso](https://github."
+"com/google/comprehensive-rust) en el mismo ordenador y mueve el directorio "
+"`src/android/` a la raíz del AOSP. De esta forma, el sistema de compilación "
+"de Android verá los archivos `Android.bp` en `src/android/`."
#: src/running-the-course/course-structure.md:27
msgid ""
@@ -1378,6 +1377,9 @@ msgid ""
"using Rust for bare-metal (embedded) development. Both microcontrollers and "
"application processors are covered."
msgstr ""
+"[Bare Metal en profundidad](../bare-metal.md) es una clase de un día sobre "
+"cómo usar Rust para el desarrollo bare metal (insertado). Se tratarán tanto "
+"microcontroladores como procesadores de aplicaciones."
#: src/running-the-course/course-structure.md:40
msgid ""
@@ -1386,17 +1388,22 @@ msgid ""
"need to install a number of packages as described on the [welcome page](../"
"bare-metal.md)."
msgstr ""
+"Para la parte de los microcontroladores, necesitarás comprar con antelación "
+"la segunda versión de la placa programable [BBC micro:bit](https://microbit."
+"org/). Todo el mundo deberá instalar una serie de paquetes, tal como se "
+"describe en la [página de bienvenida](../bare-metal.md)."
#: src/running-the-course/course-structure.md:45
-#, fuzzy
msgid "Concurrency in Rust"
-msgstr "Concurrencia"
+msgstr "Concurrencia en Rust"
#: src/running-the-course/course-structure.md:47
msgid ""
"The [Concurrency in Rust](../concurrency.md) deep dive is a full day class "
"on classical as well as `async`/`await` concurrency."
msgstr ""
+"[Concurrencia en profundidad](../concurrency.md) es una clase de un día "
+"sobre la concurrencia clásica y la concurrencia `async`/`await`."
#: src/running-the-course/course-structure.md:50
msgid ""
@@ -1404,6 +1411,9 @@ msgid ""
"to go. You can then copy/paste the examples into `src/main.rs` to experiment "
"with them:"
msgstr ""
+"Necesitarás configurar un nuevo crate, y descargar y preparar las "
+"dependencias. A continuación, podrás copiar y pegar los ejemplos en `src/"
+"main.rs` para experimentar con ellos:"
#: src/running-the-course/course-structure.md:54
msgid ""
@@ -1414,6 +1424,12 @@ msgid ""
"cargo run\n"
"```"
msgstr ""
+"```shell\n"
+"cargo init concurrency\n"
+"cd concurrency\n"
+"cargo add tokio --features full\n"
+"cargo run\n"
+"```"
#: src/running-the-course/course-structure.md:61
msgid "Format"
@@ -1424,36 +1440,36 @@ msgid ""
"The course is meant to be very interactive and we recommend letting the "
"questions drive the exploration of Rust!"
msgstr ""
-"El curso tiene la intención de ser muy interactivo y recomendamos dejar que "
-"las preguntas lleven a explorar Rust!"
+"El curso está pensado para ser muy interactivo, por lo que te recomendamos "
+"que dejes que las preguntas guíen el aprendizaje de Rust."
#: src/running-the-course/keyboard-shortcuts.md:3
msgid "There are several useful keyboard shortcuts in mdBook:"
-msgstr "Tenemos varios atajos de teclados útiles en mdBook:"
+msgstr "Existen varias combinaciones de teclas útiles en mdBook:"
#: src/running-the-course/keyboard-shortcuts.md:5
msgid "Arrow-Left"
-msgstr "Arrow-Left"
+msgstr "Flecha izquierda"
#: src/running-the-course/keyboard-shortcuts.md:5
msgid ": Navigate to the previous page."
-msgstr ": Navigar a la página anterior."
+msgstr ": ir a la página anterior."
#: src/running-the-course/keyboard-shortcuts.md:6
msgid "Arrow-Right"
-msgstr "Arrow-Right"
+msgstr "Flecha derecha"
#: src/running-the-course/keyboard-shortcuts.md:6
msgid ": Navigate to the next page."
-msgstr ": Navigar a la página siguiente."
+msgstr ": ir a la página siguiente."
#: src/running-the-course/keyboard-shortcuts.md:7 src/cargo/code-samples.md:19
msgid "Ctrl + Enter"
-msgstr "Ctrl + Enter"
+msgstr "Ctrl + Intro"
#: src/running-the-course/keyboard-shortcuts.md:7
msgid ": Execute the code sample that has focus."
-msgstr ": Ejecuta el código de ejemplo seleccionado."
+msgstr ": ejecutar el código de ejemplo seleccionado."
#: src/running-the-course/keyboard-shortcuts.md:8
msgid "s"
@@ -1461,100 +1477,73 @@ msgstr "s"
#: src/running-the-course/keyboard-shortcuts.md:8
msgid ": Activate the search bar."
-msgstr ": Activa la barra de búsqueda."
+msgstr ": activar la barra de búsqueda."
#: src/running-the-course/translations.md:3
msgid ""
"The course has been translated into other languages by a set of wonderful "
"volunteers:"
msgstr ""
-"El curso ha sido traducido a otros lenguajes por una serie de maravillosos "
+"El curso se ha traducido a otros idiomas gracias a grupo de maravillosos "
"voluntarios:"
#: src/running-the-course/translations.md:6
-#, fuzzy
msgid ""
"[Brazilian Portuguese](https://google.github.io/comprehensive-rust/pt-BR/) "
"by [@rastringer](https://github.com/rastringer), [@hugojacob](https://github."
"com/hugojacob), [@joaovicmendes](https://github.com/joaovicmendes) and "
"[@henrif75](https://github.com/henrif75)."
msgstr ""
-"[Brazilian Portuguese](https://google.github.io/comprehensive-rust/pt-BR/) "
-"por [@rastringer](https://github.com/rastringer) and [@hugojacob](https://"
-"github.com/hugojacob)."
#: src/running-the-course/translations.md:7
-#, fuzzy
msgid ""
"[Korean](https://google.github.io/comprehensive-rust/ko/) by [@keispace]"
"(https://github.com/keispace), [@jiyongp](https://github.com/jiyongp) and "
"[@jooyunghan](https://github.com/jooyunghan)."
msgstr ""
-"[Korean](https://google.github.io/comprehensive-rust/ko/) por [@keispace]"
-"(https://github.com/keispace), [@jiyongp](https://github.com/jiyongp) and "
-"[@jooyunghan](https://github.com/jooyunghan).\n"
-"\n"
-"[Spanish](https://google.github.io/comprehensive-rust/es/) por [@wfranck]"
-"(https://github.com/wfranck)."
#: src/running-the-course/translations.md:9
msgid ""
"Use the language picker in the top-right corner to switch between languages."
msgstr ""
-"Selecciona el lenguaje en el globo en la esquina superior derecha para "
-"cambiar entre lenguajes."
+"Cambia el idioma con el selector situado en la esquina superior derecha."
#: src/running-the-course/translations.md:11
-#, fuzzy
msgid "Incomplete Translations"
-msgstr "Traducciones"
+msgstr "Traducciones incompletas"
#: src/running-the-course/translations.md:13
msgid ""
"There is a large number of in-progress translations. We link to the most "
"recently updated translations:"
msgstr ""
+"Hay muchas traducciones todavía en curso. A continuación, incluimos enlaces "
+"a las traducciones más actualizadas:"
#: src/running-the-course/translations.md:16
-#, fuzzy
msgid ""
"[Bengali](https://google.github.io/comprehensive-rust/bn/) by [@raselmandol]"
"(https://github.com/raselmandol)."
msgstr ""
-"[Brazilian Portuguese](https://google.github.io/comprehensive-rust/pt-BR/) "
-"por [@rastringer](https://github.com/rastringer) and [@hugojacob](https://"
-"github.com/hugojacob)."
#: src/running-the-course/translations.md:17
-#, fuzzy
msgid ""
"[French](https://google.github.io/comprehensive-rust/fr/) by [@KookaS]"
"(https://github.com/KookaS) and [@vcaen](https://github.com/vcaen)."
msgstr ""
-"[Brazilian Portuguese](https://google.github.io/comprehensive-rust/pt-BR/) "
-"por [@rastringer](https://github.com/rastringer) and [@hugojacob](https://"
-"github.com/hugojacob)."
#: src/running-the-course/translations.md:18
-#, fuzzy
msgid ""
"[German](https://google.github.io/comprehensive-rust/de/) by [@Throvn]"
"(https://github.com/Throvn) and [@ronaldfw](https://github.com/ronaldfw)."
msgstr ""
-"[Brazilian Portuguese](https://google.github.io/comprehensive-rust/pt-BR/) "
-"por [@rastringer](https://github.com/rastringer) and [@hugojacob](https://"
-"github.com/hugojacob)."
#: src/running-the-course/translations.md:19
-#, fuzzy
msgid ""
"[Japanese](https://google.github.io/comprehensive-rust/ja/) by [@CoinEZ-JPN]"
"(https://github.com/CoinEZ) and [@momotaro1105](https://github.com/"
"momotaro1105)."
msgstr ""
-"[Brazilian Portuguese](https://google.github.io/comprehensive-rust/pt-BR/) "
-"por [@rastringer](https://github.com/rastringer) and [@hugojacob](https://"
-"github.com/hugojacob)."
#: src/running-the-course/translations.md:21
msgid ""
@@ -1563,9 +1552,10 @@ msgid ""
"get going. Translations are coordinated on the [issue tracker](https://"
"github.com/google/comprehensive-rust/issues/282)."
msgstr ""
-"Si gustas contribuir con traducciones, por favor revisa \\[nuestras "
-"instrucciones\\] para saber cómo. Las traducciones son coordinadas en el "
-"[issue tracker](https://github.com/google/comprehensive-rust/issues/282)."
+"Si quieres ayudar en esta iniciativa, consulta [las instrucciones](https://"
+"github.com/google/comprehensive-rust/blob/main/TRANSLATIONS.md) para "
+"empezar. Las traducciones se coordinan en la [herramienta de seguimiento de "
+"incidencias](https://github.com/google/comprehensive-rust/issues/282)."
#: src/cargo.md:3
msgid ""
@@ -1575,11 +1565,11 @@ msgid ""
"Cargo is and how it fits into the wider ecosystem and how it fits into this "
"training."
msgstr ""
-"Cuando comienzas a leer acerca de Rust, descubrirás [Cargo](https://doc.rust-"
-"lang.org/cargo/), la herramienta estándar Usada en el ecosistema Rust para "
-"construir y correr aplicaciones Rust. Aquí queremos Dar una breve reseña de "
-"qué es Cargo y cómo forma parte del amplio ecosistema y como encaja en este "
-"curso."
+"Cuando empieces a informarte sobre Rust, conocerás [Cargo](https://doc.rust-"
+"lang.org/cargo/), la herramienta estándar que se utiliza en el ecosistema de "
+"Rust para crear y ejecutar sus aplicaciones. En este artículo, te ofrecemos "
+"una breve descripción de lo que es Cargo, cómo se integra en el ecosistema "
+"más amplio y cómo encaja en esta formación."
#: src/cargo.md:8
msgid "Installation"
@@ -1587,18 +1577,18 @@ msgstr "Instalación"
#: src/cargo.md:10
msgid "**Please follow the instructions on .**"
-msgstr ""
+msgstr "**Sigue las instrucciones que se indican en .**"
#: src/cargo.md:12
-#, fuzzy
msgid ""
"This will give you the Cargo build tool (`cargo`) and the Rust compiler "
"(`rustc`). You will also get `rustup`, a command line utility that you can "
"use to install/switch toolchains, setup cross compilation, etc."
msgstr ""
-"Con cargo y rustc, Rustup por sí mismo se instalará como una utilidad de "
-"línea de comando que puedes usar para instalar/cambiar entre herramientas, "
-"configurar compilaciones cruzadas, etc."
+"De este modo, obtendrás la herramienta de compilación de Cargo (`cargo`) y "
+"el compilador de Rust (`rustc`). También obtendrás `rustup`, una utilidad de "
+"línea de comandos que puedes utilizar para instalar o cambiar cadenas de "
+"herramientas, configurar la compilación cruzada, etc."
#: src/cargo.md:16
#, fuzzy
@@ -1608,8 +1598,10 @@ msgid ""
"gets you an outdated rust version and may lead to unexpected behavior. The "
"command would be:"
msgstr ""
-"En Debian/Ubuntu, puedes instalar Cargo, el código fuente de Rust y el [Rust "
-"formatter](https://github.com/rust-lang/rustfmt) con"
+"En Debian o Ubuntu, también puedes instalar Cargo, el código fuente de Rust "
+"y [el formateador de Rust](https://github.com/rust-lang/rustfmt) a través de "
+"`apt`. Sin embargo, solo podrás conseguir una versión de Rust obsoleta que "
+"podría dar lugar a comportamientos inesperados. El comando es el siguiente:"
#: src/cargo.md:18
msgid ""
@@ -1617,6 +1609,9 @@ msgid ""
"sudo apt install cargo rust-src rustfmt\n"
"```"
msgstr ""
+"```shell\n"
+"sudo apt install cargo rust-src rustfmt\n"
+"```"
#: src/cargo.md:22
#, fuzzy
@@ -1625,9 +1620,9 @@ msgid ""
"(but any LSP compatible editor works with rust-analyzer[3](https://rust-"
"analyzer.github.io/))."
msgstr ""
-"Esto permitirá a \\[rust-analyzer\\]\\[1\\] saltar a las definiciones. "
-"Sugerimos usar [VS Code](https://code.visualstudio.com/) para editar código "
-"(pero cualquier editor LSP compatible funcionará)."
+"Recomendamos usar [VS Code](https://code.visualstudio.com/) para editar el "
+"código (aunque cualquier editor compatible con LSP funciona con [rust-"
+"analyzer](https://rust-analyzer.github.io/))."
#: src/cargo.md:24
msgid ""
@@ -1637,30 +1632,31 @@ msgid ""
"jetbrains.com/rust/). Please take note that as of January 2023 debugging "
"only works on the CLion version of the JetBrains IDEA suite."
msgstr ""
-"A algunos colegas también les gusta usar IDEs [JetBrains](https://www."
-"jetbrains.com/clion/), que hacen su propio análisis y tienen diferentes "
-"ventajas. Si prefieres usarlos, puedes instalar el \\[Rust Plugin\\]. Por "
-"favor tén en cuenta que a Enero 2023 el debugging solo funciona en la "
-"versión CLion de JetBrains IDEA."
+"A algunos compañeros también les gusta usar la familia [JetBrains](https://"
+"www.jetbrains.com/clion/) de IDEs, que hacen sus propios análisis, pero "
+"también tienen inconvenientes. Si lo prefieres, puedes instalar el [Rust "
+"Plugin](https://www.jetbrains.com/rust/). Ten en cuenta que, a partir de "
+"enero del 2023, la depuración solo funciona en la versión CLion del paquete "
+"de JetBrains IDEA."
#: src/cargo/rust-ecosystem.md:1
msgid "The Rust Ecosystem"
-msgstr "El Ecosistema Rust"
+msgstr "El ecosistema de Rust"
#: src/cargo/rust-ecosystem.md:3
msgid ""
"The Rust ecosystem consists of a number of tools, of which the main ones are:"
msgstr ""
-"El ecosistema Rust consiste en un número de herramientas, entre las cuales "
-"contamos como principales:"
+"El ecosistema de Rust se compone de varias herramientas, entre las que se "
+"incluyen las siguientes:"
#: src/cargo/rust-ecosystem.md:5
msgid ""
"`rustc`: the Rust compiler which turns `.rs` files into binaries and other "
"intermediate formats."
msgstr ""
-"`rustc`: el compilador Rustque cambia archivos`.rs` a binarios y a otros "
-"formatos intermedios."
+"`rustc`: el compilador de Rust que convierte archivos `.rs` en binarios y "
+"otros formatos intermedios."
#: src/cargo/rust-ecosystem.md:8
#, fuzzy
@@ -1670,10 +1666,11 @@ msgid ""
"pass them to `rustc` when building your project. Cargo also comes with a "
"built-in test runner which is used to execute unit tests."
msgstr ""
-"`cargo`: la herramienta de manejo y build de Rust. Cargo sabe como "
-"descargar dependencias guardadas en y enviará ellas a "
-"`rustc` cuando arme tu proyecto. Cargo también trae incluida una herramienta "
-"de test que es usada para ejecutar test unitarios."
+"`cargo`: herramienta de compilación y gestión de dependencias de Rust. Cargo "
+"sabe cómo descargar dependencias, que normalmente se alojan en , y las transfiere a `rustc` al crear el proyecto. Cargo también "
+"incorpora un ejecutor de pruebas que se utiliza para realizar pruebas "
+"unitarias."
#: src/cargo/rust-ecosystem.md:13
msgid ""
@@ -1683,12 +1680,12 @@ msgid ""
"standard library. You can have multiple versions of Rust installed at once "
"and `rustup` will let you switch between them as needed."
msgstr ""
-"`rustup`: es la herramienta Rust para hacer instalaciones y actualizaciones. "
-"Esta herramienta es usada para Instalar y actualizar `rustc` y `cargo` "
-"cuando salen nuevas versiones de Rust. Además, `rustup` también puede "
-"descargar documentación para las librerías estándar. Puedes tener múltiples "
-"versiones de Rust instaladas al mismo tiempo y `rustup` te dejará cambiar "
-"entre ellas cuando lo necesites."
+"`rustup`: el instalador y actualizador de cadenas de herramientas de Rust. "
+"Esta herramienta se utiliza para instalar y actualizar `rustc` y `cargo` "
+"cuando se lanzan nuevas versiones de Rust. Además, `rustup` también puede "
+"descargar documentación de la biblioteca estándar. Puedes tener varias "
+"versiones de Rust instaladas a la vez y `rustup` te permitirá cambiar de una "
+"a otra según lo necesites."
#: src/cargo/rust-ecosystem.md:21 src/hello-world.md:25
#: src/hello-world/small-example.md:27 src/why-rust/runtime.md:10
@@ -1707,70 +1704,71 @@ msgid ""
"weeks. New releases maintain backwards compatibility with old releases --- "
"plus they enable new functionality."
msgstr ""
-"Rust tiene un programa de lanzamientos rápidos con una nueva versión cada "
-"seis semanas. Cada nuevo lanzamiento será retrocompatible con viejas "
-"versiones --- además que agregan nueva funcionalidad."
+"Rust cuenta con un programa de lanzamiento rápido en el que se publica una "
+"nueva versión cada seis semanas. Las nuevas versiones mantienen la "
+"retrocompatibilidad con las versiones anteriores, además de habilitar nuevas "
+"funciones."
#: src/cargo/rust-ecosystem.md:27
msgid ""
"There are three release channels: \"stable\", \"beta\", and \"nightly\"."
-msgstr ""
-"Para las raleases tenemos tres canales: \"estable\", \"beta\", y \"nightly\"."
+msgstr "Hay tres canales de lanzamiento: \"stable\", \"beta\" y \"nightly\"."
#: src/cargo/rust-ecosystem.md:29
msgid ""
"New features are being tested on \"nightly\", \"beta\" is what becomes "
"\"stable\" every six weeks."
msgstr ""
-"Nuevas características se testean en \"nightly\" y \"beta\" pasa a "
-"\"restable\" cada seis semanas."
+"Las funciones nuevas se prueban en \"nightly\", y \"beta\" es lo que se "
+"convierte en \"estable\" cada seis semanas."
#: src/cargo/rust-ecosystem.md:32
msgid ""
"Dependencies can also be resolved from alternative [registries](https://doc."
"rust-lang.org/cargo/reference/registries.html), git, folders, and more."
msgstr ""
+"Las dependencias también pueden resolverse desde \\[registros\\] "
+"alternativos, git, carpetas, etc."
#: src/cargo/rust-ecosystem.md:34
msgid ""
"Rust also has [editions](https://doc.rust-lang.org/edition-guide/): the "
"current edition is Rust 2021. Previous editions were Rust 2015 and Rust 2018."
msgstr ""
-"Rust también tiene [ediciones](https://doc.rust-lang.org/edition-guide/): la "
-"edición actual es Rust 2021. Las ediciones anteriores fueron Rust 2015 y "
-"Rust 2018."
+"Rust también tiene varias \\[ediciones\\]: la más actual es Rust 2021. Las "
+"ediciones anteriores son Rust 2015 y Rust 2018."
#: src/cargo/rust-ecosystem.md:37
msgid ""
"The editions are allowed to make backwards incompatible changes to the "
"language."
msgstr ""
-"Las ediciones nuevas introducen cambios al lenguaje que no son "
-"retrocompatibles."
+"Las ediciones pueden introducir cambios de incompatibilidad con versiones "
+"anteriores en el lenguaje."
#: src/cargo/rust-ecosystem.md:40
msgid ""
"To prevent breaking code, editions are opt-in: you select the edition for "
"your crate via the `Cargo.toml` file."
msgstr ""
-"Para prevenir romper el código, se elige la versión: seleccionas la edición "
-"para tu paquete vía el archivo `Cargo.toml`."
+"Para evitar que se rompa el código, las ediciones son opcionales: selecciona "
+"la edición para tu crate a través del archivo `Cargo.toml`."
#: src/cargo/rust-ecosystem.md:43
msgid ""
"To avoid splitting the ecosystem, Rust compilers can mix code written for "
"different editions."
msgstr ""
-"Para evitar dividir los ecosistemas, los compiladores de Rust pueden mezclar "
-"código escrito para diferentes ediciones."
+"Para evitar la división del ecosistema, los compiladores de Rust pueden "
+"mezclar el código escrito para distintas ediciones."
#: src/cargo/rust-ecosystem.md:46
msgid ""
"Mention that it is quite rare to ever use the compiler directly not through "
"`cargo` (most users never do)."
msgstr ""
-"Hay que decir que es raro necesitar usar el compilador directamente y no a "
-"travez de `cargo` (la mayoría de los usuarios jamás lo hace)."
+"Hay que mencionar que es bastante raro utilizar el compilador directamente y "
+"no a través de `cargo` (la mayoría de los usuarios nunca lo hacen)."
#: src/cargo/rust-ecosystem.md:48
msgid ""
@@ -1800,34 +1798,29 @@ msgid ""
"[build scripting](https://doc.rust-lang.org/cargo/reference/build-scripts."
"html)"
msgstr ""
-"[build scripting](https://doc.rust-lang.org/cargo/reference/build-scripts."
-"html) "
+"Consulta el libro [Rust Reference](https://doc.rust-lang.org/reference/type-"
+"layout.html)."
#: src/cargo/rust-ecosystem.md:53
msgid ""
"[global installation](https://doc.rust-lang.org/cargo/commands/cargo-install."
"html)"
msgstr ""
-"[instalación global](https://doc.rust-lang.org/cargo/commands/cargo-install."
-"html) "
#: src/cargo/rust-ecosystem.md:54
msgid ""
"It is also extensible with sub command plugins as well (such as [cargo "
"clippy](https://github.com/rust-lang/rust-clippy))."
-msgstr ""
-"También es extensible con plugins de subcomandos (como es [cargo clippy]"
-"(https://github.com/rust-lang/rust-clippy)). "
+msgstr "Consulta más información en el \\[libro oficial de Cargo\\]."
#: src/cargo/rust-ecosystem.md:55
msgid ""
"Read more from the [official Cargo Book](https://doc.rust-lang.org/cargo/)"
msgstr ""
-"Lee más en el [Libro Oficial de Cargo](https://doc.rust-lang.org/cargo/)"
#: src/cargo/code-samples.md:1
msgid "Code Samples in This Training"
-msgstr "Códigos de Ejemplo en Esta Práctica"
+msgstr "Código de ejemplo en esta formación"
#: src/cargo/code-samples.md:3
msgid ""
@@ -1835,10 +1828,9 @@ msgid ""
"which can be executed through your browser. This makes the setup much easier "
"and ensures a consistent experience for everyone."
msgstr ""
-"Para esta práctica, principalmente exploraremos el lenguaje Rust a través de "
-"ejemplos los cuales pueden correrse en el browser. Esto hace la "
-"configuración mucho mas fácil y asegura consistencia en la experiencia de "
-"cada uno."
+"En esta formación, aprenderemos el lenguaje Rust principalmente con ejemplos "
+"que podrás ejecutar con tu navegador. De este modo, la configuración es "
+"mucho más sencilla y se asegura una experiencia homogénea para todos."
#: src/cargo/code-samples.md:7
msgid ""
@@ -1846,13 +1838,13 @@ msgid ""
"the exercises. On the last day, we will do a larger exercise which shows you "
"how to work with dependencies and for that you need Cargo."
msgstr ""
-"Claro que se sigue recomendando instalar Cargo: será más fácil para tí para "
-"hacer los ejercicios. En el último día haremos un ejercicio el cual te "
-"mostrará cómo Trabajar con dependencias y para eso necesitarás Cargo."
+"Se recomienda instalar Cargo, ya que facilitará la realización de los "
+"ejercicios. El último día realizaremos un ejercicio más largo en el que se "
+"mostrará cómo trabajar con dependencias, y para eso se necesita Cargo."
#: src/cargo/code-samples.md:11
msgid "The code blocks in this course are fully interactive:"
-msgstr "Los bloques de código en este curso son totalmente interactivos:"
+msgstr "Los bloques de código de este curso son totalmente interactivos:"
#: src/cargo/code-samples.md:13
msgid ""
@@ -1864,7 +1856,7 @@ msgid ""
msgstr ""
"```rust,editable\n"
"fn main() {\n"
-" println!(\"Modifícame!\");\n"
+" println!(\"Edit me!\");\n"
"}\n"
"```"
@@ -1874,23 +1866,24 @@ msgstr "Puedes usar "
#: src/cargo/code-samples.md:19
msgid " to execute the code when focus is in the text box."
-msgstr " paraejecutar código cuando se hace foco en el text box."
+msgstr " para ejecutar el código cuando el cursor esté en el cuadro de texto."
#: src/cargo/code-samples.md:24
msgid ""
"Most code samples are editable like shown above. A few code samples are not "
"editable for various reasons:"
msgstr ""
-"La mayor parte de los ejemplos son editables como se muestra arriba. Unos "
-"pocos ejemplos no son editables por varias razones:"
+"La mayoría de los códigos de ejemplo se pueden editar, como se muestra "
+"arriba, pero hay algunos que no se pueden editar por varios motivos:"
#: src/cargo/code-samples.md:27
msgid ""
"The embedded playgrounds cannot execute unit tests. Copy-paste the code and "
"open it in the real Playground to demonstrate unit tests."
msgstr ""
-"En los bloques de código embebido no pueden ejecutarse test unitarios. Copia "
-"y pega el código y ábrelo en un entorno real para comprobar test unitarios."
+"Los playgrounds insertados no pueden ejecutar pruebas unitarias. Copia y "
+"pega el código y ábrelo en la página del playground para mostrar pruebas "
+"unitarias."
#: src/cargo/code-samples.md:30
msgid ""
@@ -1898,16 +1891,16 @@ msgid ""
"the page! This is the reason that the students should solve the exercises "
"using a local Rust installation or via the Playground."
msgstr ""
-"Los espacios de código embebido pierden su estado en el momento que navegas "
-"fuera de la página! Eta es la razón por la que los estudiantes deben "
-"resolver los ejercicios usando una instalación local de Rust o vía esos "
-"espacios de trabajo con código."
+"Los playgrounds insertados pierden su estado en cuanto sales e de la página. "
+"Por este motivo, los alumnos deben resolver los ejercicios con una versión "
+"local de Rust o a través del playground."
#: src/cargo/running-locally.md:1
msgid "Running Code Locally with Cargo"
-msgstr "Correr Código Localmente con Cargo"
+msgstr "Ejecutar código de forma local con Cargo"
#: src/cargo/running-locally.md:3
+#, fuzzy
msgid ""
"If you want to experiment with the code on your own system, then you will "
"need to first install Rust. Do this by following the [instructions in the "
@@ -1915,11 +1908,11 @@ msgid ""
"should give you a working `rustc` and `cargo`. At the time of writing, the "
"latest stable Rust release has these version numbers:"
msgstr ""
-"Si quieres probar código en tu computadora, primero necesitarás instalar "
-"Rust. Para esto sigue las [instrucciones en el Libro de Rust](https://doc."
-"rust-lang.org/book/ch01-01-installation.html). Esto debería darte para usar "
-"un `rustc` y `cargo`. Al tiempo que se escribe esto, la última versión "
-"estable de Rust tiene estos números de versiones:"
+"Si quieres experimentar con el código en tu propio sistema, primero tendrás "
+"que instalar Rust. Para ello, sigue las \\[instrucciones que aparecen en el "
+"libro de Rust\\]\\[1\\]. De este modo, obtendrás un `rustc` y un `cargo` que "
+"funcionen. En el momento en que se redactó este documento, los números de "
+"las últimas versiones estables de Rust eran los siguientes:"
#: src/cargo/running-locally.md:8
msgid ""
@@ -1930,6 +1923,12 @@ msgid ""
"cargo 1.69.0 (6e9a83356 2023-04-12)\n"
"```"
msgstr ""
+"```shell\n"
+"% rustc --version\n"
+"rustc 1.69.0 (84c898d65 2023-04-16)\n"
+"% cargo --version\n"
+"cargo 1.69.0 (6e9a83356 2023-04-12)\n"
+"```"
#: src/cargo/running-locally.md:15
msgid ""
@@ -1942,20 +1941,20 @@ msgid ""
"With this in place, follow these steps to build a Rust binary from one of "
"the examples in this training:"
msgstr ""
-"Con esto en su lugar, sigue las instrucciones para hacer un build de los "
-"binarios de Rust desde uno de los ejemplos de este curso:"
+"Una vez hecho lo anterior, sigue estos pasos para compilar un binario de "
+"Rust a partir de uno de los ejemplos de la formación:"
#: src/cargo/running-locally.md:20
msgid "Click the \"Copy to clipboard\" button on the example you want to copy."
msgstr ""
-"Click sobre el botón \"Copy to clipboard\" en el ejemplo que quieres copiar."
+"Haz clic en el botón \"Copiar en el portapapeles\" del ejemplo que quieras "
+"copiar."
#: src/cargo/running-locally.md:22
msgid ""
"Use `cargo new exercise` to create a new `exercise/` directory for your code:"
msgstr ""
-"Usa `cargo new ejercicio` para crear una nueva carpeta `ejercicio/` para tu "
-"código:"
+"Usa `cargo new exercise` para crear un directorio `exercise/` para tu código:"
#: src/cargo/running-locally.md:24
msgid ""
@@ -1965,16 +1964,15 @@ msgid ""
"```"
msgstr ""
"```shell\n"
-"$ cargo new ejercicio\n"
-" Created binary (application) `ejercicio` package\n"
+"$ cargo new exercise\n"
+" Created binary (application) `exercise` package\n"
"```"
#: src/cargo/running-locally.md:29
msgid ""
"Navigate into `exercise/` and use `cargo run` to build and run your binary:"
msgstr ""
-"Ve hasta `ejercicio/` y usa `cargo run` para hacer build y ejecutar tus "
-"binarios:"
+"Ve a `exercise/` y usa `cargo run` para compilar y ejecutar tu binario:"
#: src/cargo/running-locally.md:31
msgid ""
@@ -1988,9 +1986,9 @@ msgid ""
"```"
msgstr ""
"```shell\n"
-"$ cd ejercicio\n"
+"$ cd exercise\n"
"$ cargo run\n"
-" Compiling ejercicio v0.1.0 (/home/mgeisler/tmp/exercise)\n"
+" Compiling exercise v0.1.0 (/home/mgeisler/tmp/exercise)\n"
" Finished dev [unoptimized + debuginfo] target(s) in 0.75s\n"
" Running `target/debug/exercise`\n"
"Hola Mundo!\n"
@@ -2001,9 +1999,9 @@ msgid ""
"Replace the boiler-plate code in `src/main.rs` with your own code. For "
"example, using the example on the previous page, make `src/main.rs` look like"
msgstr ""
-"Reemplaza el código base en `src/main.rs` con tu propio código. Por ejemplo, "
-"usando el ejemplo de la página anterior, haciendo que `src/main.rs` quede "
-"como"
+"Sustituye el código de plantilla en `src/main.rs` con tu propio código. Por "
+"ejemplo, si usamos el ejemplo de la página anterior, podemos hacer que `src/"
+"main.rs` tenga el siguiente aspecto:"
#: src/cargo/running-locally.md:43
msgid ""
@@ -2015,7 +2013,7 @@ msgid ""
msgstr ""
"```rust\n"
"fn main() {\n"
-" println!(\"Modifícame!\");\n"
+" println!(\"Edit me!\");\n"
"}\n"
"```"
@@ -2035,7 +2033,7 @@ msgid ""
msgstr ""
"```shell\n"
"$ cargo run\n"
-" Compiling ejercicio v0.1.0 (/home/mgeisler/tmp/ejercicio)\n"
+" Compiling exercise v0.1.0 (/home/mgeisler/tmp/exercise)\n"
" Finished dev [unoptimized + debuginfo] target(s) in 0.24s\n"
" Running `target/debug/ejercicio`\n"
"Modifícame!\n"
@@ -2048,10 +2046,10 @@ msgid ""
"debug/` for a normal debug build. Use `cargo build --release` to produce an "
"optimized release build in `target/release/`."
msgstr ""
-"Usa `cargo check` para controlar rápido tu proyecto por errores, usando "
-"`cargo build` para compilar sin ejecutarlo. Podrás encontrar el resultado en "
-"`target/debug/` para un debug de build normal. Usa `cargo build —release` "
-"para hacer un release optimizado del build en `target/release/`."
+"Comprueba que no haya errores en el proyecto con `cargo check`. Compílalo "
+"sin ejecutarlo con `cargo build`. Encontrarás la salida en `target/debug/` "
+"para una versión de depuración normal. Usa `cargo build --release` para "
+"generar una compilación de lanzamiento optimizada en `target/release/`."
#: src/cargo/running-locally.md:64
msgid ""
@@ -2059,9 +2057,9 @@ msgid ""
"run `cargo` commands, it will automatically download and compile missing "
"dependencies for you."
msgstr ""
-"Puedes agregar dependencias para trueque proyecto editando `cargo.toml`. "
-"Cuando corres el comando `cargo`, automáticamente descargará y compilará las "
-"dependencias faltantes."
+"Edita `Cargo.toml` para añadir dependencias a tu proyecto. Cuando ejecutes "
+"comandos `cargo`, se descargarán y compilarán automáticamente las "
+"dependencias que falten."
#: src/cargo/running-locally.md:72
msgid ""
@@ -2069,9 +2067,9 @@ msgid ""
"editor. It will make their life easier since they will have a normal "
"development environment."
msgstr ""
-"Trata de motivar a los participantes de la clase para instalar Cargo y usar "
-"un editor de código local. Esto hará que tu vida sea más fácil porque tienen "
-"un IDE normal."
+"Anima a los participantes de la clase a instalar Cargo y utilizar un editor "
+"local. Les facilitará mucho las cosas, ya que dispondrán de un entorno de "
+"desarrollo normal."
#: src/welcome-day-1.md:1
msgid "Welcome to Day 1"
@@ -2629,14 +2627,10 @@ msgid ""
"panics in debug mode (`cargo build`) and wrap-around in release mode (`cargo "
"build --release`)."
msgstr ""
-"El desbordamiento de enteros se define mediante la bandera de tiempo\n"
-"de compilación [`overflow-checks`](https://doc.rust-lang.org/rustc/codegen-"
-"options/index.html#overflow-checks). Si se habilita, el programa entrará en "
-"_panic_ (un fallo controlado del programa). De lo contrario, se obtendrá "
-"semántica de _wrap-around_. De forma predeterminada, se obtienen _panics_ en "
-"el modo de depuración (`cargo build`) (\"versión de compilación\") y "
-"semántica de _wrap-around_ en el modo de liberación (`cargo build --"
-"release`)."
+"El overflow en Integer es definido vía un _flag_ en tiempo de compilación. "
+"Las opciones son alertas panic (un crash controlado del programa) o una "
+"semántica de _wrap-around_. Por defecto, obtienes el alerta en modo "
+"depuración (`cargo build`) y _wrap-around_ en el modo release (`cargo build —"
#: src/why-rust/runtime.md:18
msgid ""