diff --git a/po/es.po b/po/es.po index 2e89dee0..2578b928 100644 --- a/po/es.po +++ b/po/es.po @@ -1967,7 +1967,6 @@ msgstr "" "```shell\n" "$ cargo new ejercicio\n" " Created binary (application) `ejercicio` package\n" -"" "```" #: src/cargo/running-locally.md:29 @@ -1995,7 +1994,6 @@ msgstr "" " Finished dev [unoptimized + debuginfo] target(s) in 0.75s\n" " Running `target/debug/exercise`\n" "Hola Mundo!\n" -"" "```" #: src/cargo/running-locally.md:40 @@ -2019,7 +2017,6 @@ msgstr "" "fn main() {\n" " println!(\"Modifícame!\");\n" "}\n" -"" "```" #: src/cargo/running-locally.md:49 @@ -2036,14 +2033,12 @@ msgid "" "Edit me!\n" "```" msgstr "" -"" "```shell\n" "$ cargo run\n" " Compiling ejercicio v0.1.0 (/home/mgeisler/tmp/ejercicio)\n" " Finished dev [unoptimized + debuginfo] target(s) in 0.24s\n" " Running `target/debug/ejercicio`\n" "Modifícame!\n" -"" "```" #: src/cargo/running-locally.md:59 @@ -6798,7 +6793,6 @@ msgid "" "RVO did not happen, Rust will always perform a simple and efficient `memcpy` " "copy." msgstr "" -"" "* El compilador de Rust puede devolver optimización de valor (RVO).\n" "* En C++, la copia elisión tiene que estar definida en la especificación " "porque los contructores pueden tener efectos secundarios. En Rust, esto para " @@ -6997,7 +6991,6 @@ msgstr "" #, fuzzy msgid "Note how this does not compile since `p3` outlives `p2`." msgstr "" -"" "Nota como no compila desde que `p3` persiste `p2`.\n" "```" @@ -19486,6 +19479,8 @@ msgid "" "_Thank you for taking Comprehensive Rust 🦀!_ We hope you enjoyed it and " "that it was useful." msgstr "" +"_Gracias por realizar el curso Comprehensive Rust 🦀._ Esperamos que te haya " +"gustado y que te haya resultado útil." #: src/thanks.md:6 msgid "" @@ -19494,24 +19489,32 @@ msgid "" "please get in [contact with us on GitHub](https://github.com/google/" "comprehensive-rust/discussions). We would love to hear from you." msgstr "" +"Nos lo hemos pasado muy bien preparando el curso. Sabemos que no es " +"perfecto, así que si has detectado algún error o tienes ideas para " +"mejorarlo, [ponte en contacto con nosotros en GitHub](https://github.com/" +"google/comprehensive-rust/discussions). Nos encantaría saber tu opinión." #: src/other-resources.md:1 msgid "Other Rust Resources" -msgstr "" +msgstr "Otros recursos de Rust" #: src/other-resources.md:3 msgid "" "The Rust community has created a wealth of high-quality and free resources " "online." msgstr "" +"La comunidad de Rust ha creado una gran cantidad de recursos online sin " +"coste y de gran calidad." #: src/other-resources.md:6 msgid "Official Documentation" -msgstr "" +msgstr "Documentación oficial" #: src/other-resources.md:8 msgid "The Rust project hosts many resources. These cover Rust in general:" msgstr "" +"El proyecto Rust cuenta con muchos recursos. Estos tratan sobre Rust en " +"general:" #: src/other-resources.md:10 msgid "" @@ -19519,6 +19522,9 @@ msgid "" "canonical free book about Rust. Covers the language in detail and includes a " "few projects for people to build." msgstr "" +"[The Rust Programming Language](https://doc.rust-lang.org/book/): el libro " +"canónico sobre Rust sin coste alguno. Trata el lenguaje de forma detallada e " +"incluye algunos proyectos que los usuarios pueden compilar." #: src/other-resources.md:13 msgid "" @@ -19527,22 +19533,30 @@ msgid "" "Sometimes includes small exercises where you are asked to expand on the code " "in the examples." msgstr "" +"[Rust by Example](https://doc.rust-lang.org/rust-by-example/): trata la " +"sintaxis de Rust a través de una serie de ejemplos que muestran distintas " +"construcciones. A veces incluye pequeños ejercicios en los que se te pide " +"que amplíes el código de los ejemplos." #: src/other-resources.md:17 msgid "" "[Rust Standard Library](https://doc.rust-lang.org/std/): full documentation " "of the standard library for Rust." msgstr "" +"\\[La biblioteca estándar de Rust\\][Rust Standard Library](https://doc.rust-" +"lang.org/std/): documentación completa de la biblioteca estándar de Rust." #: src/other-resources.md:19 msgid "" "[The Rust Reference](https://doc.rust-lang.org/reference/): an incomplete " "book which describes the Rust grammar and memory model." msgstr "" +"[The Rust Reference](https://doc.rust-lang.org/reference/): un libro " +"incompleto que describe la gramática y el modelo de memoria de Rust." #: src/other-resources.md:22 msgid "More specialized guides hosted on the official Rust site:" -msgstr "" +msgstr "Consulta guías más especializadas en el sitio oficial de Rust:" #: src/other-resources.md:24 msgid "" @@ -19550,6 +19564,9 @@ msgid "" "including working with raw pointers and interfacing with other languages " "(FFI)." msgstr "" +"[The Rustonomicon](https://doc.rust-lang.org/nomicon/): trata de Rust " +"inseguro, incluido cómo trabajar con punteros sin formato e interactuar con " +"otros lenguajes (FFI)." #: src/other-resources.md:27 msgid "" @@ -19557,6 +19574,9 @@ msgid "" "covers the new asynchronous programming model which was introduced after the " "Rust Book was written." msgstr "" +"[Asynchronous Programming in Rust](https://rust-lang.github.io/async-book/): " +"incluye el nuevo modelo de programación asíncrona que se introdujo después " +"de que se escribiera el libro de Rust." #: src/other-resources.md:30 msgid "" @@ -19564,20 +19584,25 @@ msgid "" "an introduction to using Rust on embedded devices without an operating " "system." msgstr "" +"[The Embedded Rust Book](https://doc.rust-lang.org/stable/embedded-book/): " +"una introducción sobre el uso de Rust en dispositivos integrados sin sistema " +"operativo." #: src/other-resources.md:33 msgid "Unofficial Learning Material" -msgstr "" +msgstr "Material de formación no oficial" #: src/other-resources.md:35 msgid "A small selection of other guides and tutorial for Rust:" -msgstr "" +msgstr "Una pequeña selección de otras guías y tutoriales sobre Rust:" #: src/other-resources.md:37 msgid "" "[Learn Rust the Dangerous Way](http://cliffle.com/p/dangerust/): covers Rust " "from the perspective of low-level C programmers." msgstr "" +"[Learn Rust the Dangerous Way](http://cliffle.com/p/dangerust/): trata Rust " +"desde la perspectiva de los programadores de C de bajo nivel." #: src/other-resources.md:39 msgid "" @@ -19585,6 +19610,9 @@ msgid "" "rust_for_c/): covers Rust from the perspective of developers who write " "firmware in C." msgstr "" +"[Rust for Embedded C Programmers](https://docs.opentitan.org/doc/ug/" +"rust_for_c/): explica Rust desde la perspectiva de los desarrolladores que " +"escriben _firmware_ en C." #: src/other-resources.md:42 msgid "" @@ -19592,12 +19620,17 @@ msgid "" "covers the syntax of Rust using side-by-side comparisons with other " "languages such as C, C++, Java, JavaScript, and Python." msgstr "" +"[Rust for professonals](https://overexact.com/rust-for-professionals/): " +"trata la sintaxis de Rust comparándola con otros lenguajes, como C, C++, " +"Java, JavaScript y Python." #: src/other-resources.md:45 msgid "" "[Rust on Exercism](https://exercism.org/tracks/rust): 100+ exercises to help " "you learn Rust." msgstr "" +"[Rust on Exercism](https://exercism.org/tracks/rust): más de 100 ejercicios " +"para aprender Rust." #: src/other-resources.md:47 msgid "" @@ -19606,6 +19639,10 @@ msgid "" "and advanced part of the Rust language. Other topics such as WebAssembly, " "and async/await are also covered." msgstr "" +"[Ferrous Teaching Material](https://ferrous-systems.github.io/teaching-" +"material/index.html): una serie de pequeñas presentaciones que cubren tanto " +"la parte básica como la parte más avanzada del lenguaje Rust. También se " +"tratan otros temas como WebAssembly y async/await." #: src/other-resources.md:52 msgid "" @@ -19615,6 +19652,12 @@ msgid "" "new developers. The first is a set of 35 videos and the second is a set of " "11 modules which covers Rust syntax and basic constructs." msgstr "" +"[Beginner's Series to Rust](https://docs.microsoft.com/es/shows/beginners-" +"series-to-rust/) y [Take your first steps with Rust](https://docs.microsoft." +"com/es/learn/paths/rust-first-steps/): dos guías de Rust dirigidas a nuevos " +"desarrolladores. La primera es un conjunto de 35 vídeos y la segunda es un " +"conjunto de 11 módulos que cubren la sintaxis y las construcciones básicas " +"de Rust." #: src/other-resources.md:58 msgid "" @@ -19622,12 +19665,18 @@ msgid "" "github.io/too-many-lists/): in-depth exploration of Rust's memory management " "rules, through implementing a few different types of list structures." msgstr "" +"[Learn Rust With Entirely Too Many Linked Lists](https://rust-unofficial." +"github.io/too-many-lists/): exploración detallada de las reglas de gestión " +"de la memoria de Rust a través de la implementación de algunos tipos " +"diferentes de estructuras de listas." #: src/other-resources.md:63 msgid "" "Please see the [Little Book of Rust Books](https://lborb.github.io/book/) " "for even more Rust books." msgstr "" +"Consulta [The Little Book of Rust Books](https://lborb.github.io/book/) para " +"ver más libros de Rust." #: src/credits.md:3 msgid "" @@ -19635,6 +19684,9 @@ msgid "" "documentation. See the page on [other resources](other-resources.md) for a " "full list of useful resources." msgstr "" +"Este material se basa en las numerosas fuentes de documentación sobre Rust. " +"Consulta la página de [otros recursos](other-resources.md) para ver una " +"lista completa de recursos útiles." #: src/credits.md:7 msgid "" @@ -19642,10 +19694,13 @@ msgid "" "2.0 license, please see [`LICENSE`](https://github.com/google/comprehensive-" "rust/blob/main/LICENSE) for details." msgstr "" +"El material de Comprehensive Rust está sujeto a los términos de la licencia " +"Apache 2.0. Para obtener más información, consulta [`LICENSE`](https://" +"github.com/google/comprehensive-rust/blob/main/LICENSE)." #: src/credits.md:12 msgid "Rust by Example" -msgstr "" +msgstr "Rust by Example" #: src/credits.md:14 msgid "" @@ -19654,10 +19709,14 @@ msgid "" "`third_party/rust-by-example/` directory for details, including the license " "terms." msgstr "" +"Algunos ejemplos y ejercicios se han copiado y adaptado del libro [Rust by " +"Example](https://doc.rust-lang.org/rust-by-example/). Consulta el directorio " +"`third_party/rust-by-example/` para obtener más información, incluidos los " +"términos de la licencia." #: src/credits.md:19 msgid "Rust on Exercism" -msgstr "" +msgstr "Rust on Exercism" #: src/credits.md:21 msgid "" @@ -19665,10 +19724,14 @@ msgid "" "exercism.org/tracks/rust). Please see the `third_party/rust-on-exercism/` " "directory for details, including the license terms." msgstr "" +"Se han copiado y adaptado algunos ejercicios del recurso [Rust on Exercism]" +"(https://exercism.org/tracks/rust). Consulta el directorio `third_party/rust-" +"on-exercism/` para obtener más información, incluidos los términos de la " +"licencia." #: src/credits.md:26 msgid "CXX" -msgstr "" +msgstr "CXX" #: src/credits.md:28 msgid "" @@ -19676,10 +19739,13 @@ msgid "" "uses an image from [CXX](https://cxx.rs/). Please see the `third_party/cxx/` " "directory for details, including the license terms." msgstr "" +"En la sección [Interoperabilidad con C++](android/Interop/cpp.md) se usa una " +"imagen de [CXX](https://cxx.rs/). Consulta el directorio `third_party/cxx/` " +"para obtener más información, incluidos los términos de la licencia." #: src/exercises/solutions.md:3 msgid "You will find solutions to the exercises on the following pages." -msgstr "" +msgstr "En las páginas siguientes encontrarás las soluciones a los ejercicios." #: src/exercises/solutions.md:5 msgid "" @@ -19687,6 +19753,9 @@ msgid "" "com/google/comprehensive-rust/discussions). Let us know if you have a " "different or better solution than what is presented here." msgstr "" +"No dudes en hacer preguntas sobre las soluciones [en GitHub](https://github." +"com/google/comprehensive-rust/discussions). Ponte en contacto con nosotros " +"si tienes una solución distinta o mejor de la que se presenta aquí." #: src/exercises/solutions.md:10 msgid "" @@ -19694,14 +19763,17 @@ msgid "" "comments you see in the solutions. They are there to make it possible to re-" "use parts of the solutions as the exercises." msgstr "" +"**Nota:** Ignora los comentarios `// ANCHOR: label` y `// ANCHOR_END: label` " +"que aparecen en las soluciones. Están ahí para que sea posible reutilizar " +"algunas partes de las soluciones de los ejercicios." #: src/exercises/day-1/solutions-morning.md:1 msgid "Day 1 Morning Exercises" -msgstr "" +msgstr "Día 1: Ejercicios de la Mañana" #: src/exercises/day-1/solutions-morning.md:5 msgid "([back to exercise](for-loops.md))" -msgstr "" +msgstr "([Volver al ejercicio](for-loops.md))" #: src/exercises/day-1/solutions-morning.md:7 msgid "" @@ -19779,9 +19851,8 @@ msgid "" msgstr "" #: src/exercises/day-1/solutions-morning.md:78 -#, fuzzy msgid "Bonus question" -msgstr "Preguntas Bonus" +msgstr "Pregunta extra" #: src/exercises/day-1/solutions-morning.md:80 msgid "" @@ -19790,6 +19861,12 @@ msgid "" "function handle any size of matrix. However, this quickly breaks down: the " "return type cannot be `&[&[i32]]` since it needs to own the data you return." msgstr "" +"Requiere conceptos más avanzados. Es posible que parezca que se puede " +"utilizar un slice de slices (`&[&[i32]]`) como tipo de entrada para hacer " +"una trasposición y así lograr que nuestra función controle cualquier tamaño " +"de matriz. Sin embargo, esto se viene abajo rápidamente: el tipo de " +"resultado devuelto no puede ser `&[&[i32]]`, ya que necesita ser el " +"propietario de los datos que devuelve." #: src/exercises/day-1/solutions-morning.md:82 msgid "" @@ -19797,6 +19874,9 @@ msgid "" "out-of-the-box either: it's hard to convert from `Vec>` to " "`&[&[i32]]` so now you cannot easily use `pretty_print` either." msgstr "" +"Puedes probar a utilizar algo como `Vec>`, pero esto tampoco " +"funciona desde el principio: es difícil cambiar de `Vec>` a " +"`&[&[i32]]`, por lo que tampoco puedes usar `pretty_print` de forma sencilla." #: src/exercises/day-1/solutions-morning.md:84 msgid "" @@ -19804,6 +19884,9 @@ msgid "" "AsRef`](https://doc.rust-lang.org/std/convert/trait.AsRef.html) trait to " "abstract over anything that can be referenced as a slice." msgstr "" +"Una vez que veamos los traits y los genéricos, podremos usar el trait [`std::" +"convert::AsRef`](https://doc.rust-lang.org/std/convert/trait.AsRef.html) " +"para abstraer cualquier elemento que se pueda referenciar, como un slice." #: src/exercises/day-1/solutions-morning.md:86 msgid "" @@ -19840,14 +19923,17 @@ msgid "" "In addition, the type itself would not enforce that the child slices are of " "the same length, so such variable could contain an invalid matrix." msgstr "" +"Además, el propio tipo no requeriría que los slices secundarios fueran de la " +"misma longitud, por lo que dicha variable podría contener una matriz no " +"válida." #: src/exercises/day-1/solutions-afternoon.md:1 msgid "Day 1 Afternoon Exercises" -msgstr "" +msgstr "Día 1: Ejercicios de la Tarde" #: src/exercises/day-1/solutions-afternoon.md:5 msgid "([back to exercise](luhn.md))" -msgstr "" +msgstr "([volver al ejercicio](luhn.md))" #: src/exercises/day-1/solutions-afternoon.md:7 msgid "" @@ -19944,7 +20030,6 @@ msgid "" msgstr "" #: src/exercises/day-1/solutions-afternoon.md:97 -#, fuzzy msgid "Pattern matching" msgstr "Correspondencia de Patrones" @@ -19954,7 +20039,7 @@ msgstr "" #: src/exercises/day-2/solutions-morning.md:1 msgid "Day 2 Morning Exercises" -msgstr "" +msgstr "Día 2: Ejercicios de la Mañana" #: src/exercises/day-2/solutions-morning.md:3 msgid "Designing a Library" @@ -19962,7 +20047,7 @@ msgstr "Diseñando una Librería" #: src/exercises/day-2/solutions-morning.md:5 msgid "([back to exercise](book-library.md))" -msgstr "" +msgstr "([volver al ejercicio](book-library.md))" #: src/exercises/day-2/solutions-morning.md:7 msgid "" @@ -20163,11 +20248,11 @@ msgstr "" #: src/exercises/day-2/solutions-afternoon.md:1 msgid "Day 2 Afternoon Exercises" -msgstr "" +msgstr "Día 2: Ejercicios de la tarde" #: src/exercises/day-2/solutions-afternoon.md:5 msgid "([back to exercise](strings-iterators.md))" -msgstr "" +msgstr "([volver al ejercicio](strings-iterators.md))" #: src/exercises/day-2/solutions-afternoon.md:7 msgid "" @@ -20260,11 +20345,11 @@ msgstr "" #: src/exercises/day-3/solutions-morning.md:1 msgid "Day 3 Morning Exercise" -msgstr "" +msgstr "Día 3: Ejercicios de la mañana" #: src/exercises/day-3/solutions-morning.md:5 msgid "([back to exercise](simple-gui.md))" -msgstr "" +msgstr "([volver al ejercicio](simple-gui.md))" #: src/exercises/day-3/solutions-morning.md:7 msgid "" @@ -20687,11 +20772,11 @@ msgstr "" #: src/exercises/day-3/solutions-afternoon.md:1 msgid "Day 3 Afternoon Exercises" -msgstr "" +msgstr "Día 3: Ejercicios de la Tarde" #: src/exercises/day-3/solutions-afternoon.md:5 msgid "([back to exercise](safe-ffi-wrapper.md))" -msgstr "" +msgstr "([volver al ejercicio](safe-ffi-wrapper.md))" #: src/exercises/day-3/solutions-afternoon.md:7 msgid "" @@ -20886,13 +20971,12 @@ msgid "" msgstr "" #: src/exercises/bare-metal/solutions-morning.md:1 -#, fuzzy msgid "Bare Metal Rust Morning Exercise" -msgstr "Día 1: Ejercicios de la Mañana" +msgstr "Rust Bare Metal: Ejercicio de la Mañana" #: src/exercises/bare-metal/solutions-morning.md:5 msgid "([back to exercise](compass.md))" -msgstr "" +msgstr "([volver al ejercicio](compass.md))" #: src/exercises/bare-metal/solutions-morning.md:7 msgid "" @@ -21063,11 +21147,11 @@ msgstr "" #: src/exercises/bare-metal/solutions-afternoon.md:5 msgid "([back to exercise](rtc.md))" -msgstr "" +msgstr "([volver al ejercicio](rtc.md))" #: src/exercises/bare-metal/solutions-afternoon.md:7 msgid "`main.rs`:" -msgstr "" +msgstr "`main.rs`:" #: src/exercises/bare-metal/solutions-afternoon.md:9 msgid "" @@ -21218,7 +21302,7 @@ msgstr "" #: src/exercises/bare-metal/solutions-afternoon.md:149 msgid "`pl031.rs`:" -msgstr "" +msgstr "`pl031.rs`:" #: src/exercises/bare-metal/solutions-afternoon.md:151 msgid "" @@ -21355,13 +21439,12 @@ msgid "" msgstr "" #: src/exercises/concurrency/solutions-morning.md:1 -#, fuzzy msgid "Concurrency Morning Exercise" -msgstr "Día 1: Ejercicios de la Mañana" +msgstr "Simultaneidad: Ejercicios de la Mañana" #: src/exercises/concurrency/solutions-morning.md:5 msgid "([back to exercise](dining-philosophers.md))" -msgstr "" +msgstr "([volver al ejercicio](dining-philosophers.md))" #: src/exercises/concurrency/solutions-morning.md:7 msgid "" @@ -21464,13 +21547,12 @@ msgid "" msgstr "" #: src/exercises/concurrency/solutions-morning.md:104 -#, fuzzy msgid "Link Checker" -msgstr "Chequeo de Links Multi-hilos" +msgstr "Comprobador de Enlaces" #: src/exercises/concurrency/solutions-morning.md:106 msgid "([back to exercise](link-checker.md))" -msgstr "" +msgstr "([volver al ejercicio](link-checker.md))" #: src/exercises/concurrency/solutions-morning.md:108 msgid "" @@ -21668,13 +21750,12 @@ msgid "" msgstr "" #: src/exercises/concurrency/solutions-afternoon.md:1 -#, fuzzy msgid "Concurrency Afternoon Exercise" -msgstr "Día 1: Ejercicios de la Tarde" +msgstr "Simultaneidad: Ejercicios de la Tarde" #: src/exercises/concurrency/solutions-afternoon.md:5 msgid "([back to exercise](dining-philosophers-async.md))" -msgstr "" +msgstr "([volver al ejercicio](dining-philosophers-async.md))" #: src/exercises/concurrency/solutions-afternoon.md:7 msgid "" @@ -21797,7 +21878,7 @@ msgstr "" #: src/exercises/concurrency/solutions-afternoon.md:121 msgid "([back to exercise](chat-app.md))" -msgstr "" +msgstr "([volver al ejercicio](chat-app.md))" #: src/exercises/concurrency/solutions-afternoon.md:125 msgid ""