diff --git a/po/de.po b/po/de.po index 3d195440..a6e8405c 100644 --- a/po/de.po +++ b/po/de.po @@ -10,7 +10,7 @@ msgstr "" "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.3.1\n" +"X-Generator: Poedit 3.3.2\n" #: src/SUMMARY.md:3 msgid "Welcome to Comprehensive Rust 🦀" @@ -1565,7 +1565,6 @@ msgstr "" "Java." #: src/running-the-course/course-structure.md:22 -#, fuzzy msgid "" "You will need an [AOSP checkout][1]. Make a checkout of the [course\n" "repository][2] on the same machine and move the `src/android/` directory " @@ -1574,10 +1573,10 @@ msgid "" "system\n" "sees the `Android.bp` files in `src/android/`." msgstr "" -"Für die Android-spezifischen Teile an Tag 4 benötigst du eine lokale \n" -" Arbeitskopie von [AOSP][1]. Mache eine Arbeitskopie des [Kurses][2] \n" +"Du wirst eine lokale Arbeitskopie von [AOSP][1] benötigen. \n" +"Mache eine Arbeitskopie des [Kurses][2] \n" " auf deinem Laptop und verschiebe das Verzeichnis `src/android/` in \n" -" das Stammverzeichnis Deiner AOSP Arbeitskopie . Dadurch wird \n" +" das Stammverzeichnis Deiner AOSP Arbeitskopie. Dadurch wird \n" " sichergestellt, dass das Android-Buildsystem die \n" " `Android.bp`-Dateien in `src/android/` sehen kann." @@ -3652,30 +3651,27 @@ msgstr "" "bereitstellen. Weitere Einzelheiten erfährst Du in einem späteren Abschnitt." #: src/exercises/day-1/morning.md:1 -#, fuzzy msgid "# Day 1: Morning Exercises" -msgstr "# Tag 1: Morgengymnastik" +msgstr "# Tag 1: Übungen am Morgen" #: src/exercises/day-1/morning.md:3 -#, fuzzy msgid "In these exercises, we will explore two parts of Rust:" msgstr "In diesen Übungen werden wir zwei Teile von Rust erkunden:" #: src/exercises/day-1/morning.md:5 -#, fuzzy msgid "" "* Implicit conversions between types.\n" "\n" "* Arrays and `for` loops." -msgstr "* Implizite Konvertierungen zwischen Typen." +msgstr "" +"* Implizite Konvertierungen zwischen Typen.\n" +"* Arrays und `for`-Schleifen." #: src/exercises/day-1/morning.md:11 -#, fuzzy msgid "A few things to consider while solving the exercises:" -msgstr "Ein paar Dinge, die Sie beim Lösen der Aufgaben beachten sollten:" +msgstr "Ein paar Dinge, die Du beim Lösen der Aufgaben beachten solltest:" #: src/exercises/day-1/morning.md:13 -#, fuzzy msgid "" "* Use a local Rust installation, if possible. This way you can get\n" " auto-completion in your editor. See the page about [Using Cargo] for " @@ -3684,22 +3680,22 @@ msgid "" "\n" "* Alternatively, use the Rust Playground." msgstr "" -"* Verwenden Sie nach Möglichkeit eine lokale Rust-Installation. Auf diese " -"Weise können Sie erhalten\n" -" Autovervollständigung in Ihrem Editor. Weitere Informationen finden Sie " -"auf der Seite über [Fracht verwenden].\n" -" bei der Installation von Rust." +"* Verwende nach Möglichkeit eine lokale Rust-Installation. Auf diese Weise " +"kannst Du\n" +" Autovervollständigung in Deinem Editor erhalten. Weitere Informationen " +"findest Du auf der Seite: [Cargo verwenden].\n" +"\n" +"* Alternativ kannst du den Rust Spielplatz verwenden." #: src/exercises/day-1/morning.md:19 -#, fuzzy msgid "" "The code snippets are not editable on purpose: the inline code snippets " "lose\n" "their state if you navigate away from the page." msgstr "" "Die Code-Snippets sind absichtlich nicht editierbar: die Inline-Code-" -"Snippets gehen verloren\n" -"ihren Zustand, wenn Sie von der Seite wegnavigieren." +"Snippets verlieren\n" +"Deine Änderungen, sobald Du die Seite verlässt." #: src/exercises/day-1/morning.md:22 src/exercises/day-1/afternoon.md:11 #: src/exercises/day-2/morning.md:11 src/exercises/day-2/afternoon.md:7 @@ -3707,20 +3703,17 @@ msgstr "" #: src/exercises/bare-metal/afternoon.md:7 #: src/exercises/concurrency/morning.md:12 #: src/exercises/concurrency/afternoon.md:13 -#, fuzzy msgid "" "After looking at the exercises, you can look at the [solutions] provided." msgstr "" -"Nachdem Sie sich die Übungen angesehen haben, können Sie sich die " +"Nachdem Du Dir die Übungen angesehen hast, kannst Du Dir die " "bereitgestellten [Lösungen] ansehen." #: src/exercises/day-1/implicit-conversions.md:1 -#, fuzzy msgid "# Implicit Conversions" -msgstr "# Implizite Konvertierungen" +msgstr "# Implizite Konvertierungen (implicit conversions)" #: src/exercises/day-1/implicit-conversions.md:3 -#, fuzzy msgid "" "Rust will not automatically apply _implicit conversions_ between types " "([unlike\n" @@ -3728,7 +3721,7 @@ msgid "" msgstr "" "Rust wendet nicht automatisch _implizite Konvertierungen_ zwischen Typen an " "([anders als\n" -"C++[3]). Sie können dies in einem Programm wie diesem sehen:" +"C++[3]). Das kannst Du an einem Programm wie diesem sehen:" #: src/exercises/day-1/implicit-conversions.md:6 msgid "" @@ -3747,7 +3740,6 @@ msgid "" msgstr "" #: src/exercises/day-1/implicit-conversions.md:19 -#, fuzzy msgid "" "The Rust integer types all implement the [`From`][1] and [`Into`][2]\n" "traits to let us convert between them. The `From` trait has a single " @@ -3757,18 +3749,16 @@ msgid "" "into\n" "another type." msgstr "" -"Die Rust-Integer-Typen implementieren alle [`From`][1] und [`Into`]" -"[2]\n" -"Eigenschaften, um uns zwischen ihnen umwandeln zu lassen. Das `From`-" -"Merkmal hat ein einzelnes `from()`\n" -"-Methode und ähnlich hat das `Into`-Merkmal eine einzige `into()`-" -"Methode.\n" -"Durch die Implementierung dieser Merkmale drückt ein Typ aus, in was er " -"umgewandelt werden kann\n" -"ein anderer Typ." +"Alle Rust-Integer-Typen implementieren die [`From`][1]- und [`Into`]" +"[2]-Merkmale (traits), \n" +"um zwischen ihnen umzuwandeln. Das `From`-Merkmal (trait) hat eine " +"einzige `from()`\n" +"-Methode und ähnlicherweise hat das `Into`-Merkmal auch nur eine einzige " +"`into()`-Methode.\n" +"Durch die Implementierung dieser Merkmale (traits) drückt ein Typ aus, zu " +"welchen anderen Typen dieser umgewandelt werden kann." #: src/exercises/day-1/implicit-conversions.md:25 -#, fuzzy msgid "" "The standard library has an implementation of `From for i16`, which " "means\n" @@ -3776,29 +3766,27 @@ msgid "" "`i16::from(x)`. Or, simpler, with `x.into()`, because `From for i16`\n" "implementation automatically create an implementation of `Into for i8`." msgstr "" -"Die Standardbibliothek hat eine Implementierung von `From for i16`, was " -"bedeutet\n" -"dass wir eine Variable `x` vom Typ `i8` per Aufruf in ein `i16` umwandeln " -"können\n" -"`i16::von(x)`. Oder einfacher mit `x.into()`, denn `From for i16`\n" -"implementierung automatisch eine Implementierung von `Into for i8` " -"erstellen." +"Die Standardbibliothek enthält eine Implementierung von `From for i16`, " +"was bedeutet\n" +"dass wir eine Variable `x` vom Typ `i8` in ein `i16` durch `i16::from(x)` " +"umwandeln können. \n" +"Alternativ geht dies mit `x.into()`, denn die `From for i16`-" +"Implementierung \n" +"erstellt automatisch eine `Into for i8`-Implementierung." #: src/exercises/day-1/implicit-conversions.md:30 -#, fuzzy msgid "" "The same applies for your own `From` implementations for your own types, so " "it is\n" "sufficient to only implement `From` to get a respective `Into` " "implementation automatically." msgstr "" -"Dasselbe gilt für Ihre eigenen `From`-Implementierungen für Ihre eigenen " -"Typen, so ist es\n" -"Es reicht aus, nur `From` zu implementieren, um automatisch eine " +"Dasselbe gilt für `From`-Implementierungen für Deine eigenen " +"Typen.\n" +"Es reicht also aus, nur `From` zu implementieren, um automatisch eine " "entsprechende `Into`-Implementierung zu erhalten." #: src/exercises/day-1/implicit-conversions.md:33 -#, fuzzy msgid "" "1. Execute the above program and look at the compiler error.\n" "\n" @@ -3811,21 +3799,22 @@ msgid "" "for\n" " the pairs you check." msgstr "" -"3. Ändern Sie die Typen von `x` und `y` in andere Dinge (wie `f32`, `bool`,\n" -" `i128`), um zu sehen, welche Typen Sie in welche anderen Typen " -"konvertieren können. Versuchen\n" -" Umwandlung kleiner Typen in große Typen und umgekehrt. Überprüf den\n" -" [Dokumentation der Standardbibliothek][1], um zu sehen, ob \"From\" " -"für implementiert ist\n" -" die Paare, die Sie überprüfen." +"1. Führe das obige Programm aus und schau Dir den Compiler-Fehler an.\n" +"\n" +"2. Aktualisiere den obigen Code, um `into()` für die Konvertierung zu " +"verwenden.\n" +"\n" +"3. Ändere die Typen von `x` und `y` in andere Typen (z. B. `f32`, `bool`, " +"`i128`), um zu sehen, welche Typen Du in welche anderen Typen konvertieren " +"kannst. Versuche, kleine Typen in große Typen umzuwandeln und umgekehrt. " +"Schau in der [Standardbibliotheksdokumentation][1] nach, ob `From` für " +"die von Dir überprüften Paare implementiert sind." #: src/exercises/day-1/for-loops.md:1 -#, fuzzy msgid "# Arrays and `for` Loops" msgstr "# Arrays und `for`-Schleifen" #: src/exercises/day-1/for-loops.md:3 -#, fuzzy msgid "We saw that an array can be declared like this:" msgstr "Wir haben gesehen, dass ein Array wie folgt deklariert werden kann:" @@ -3837,13 +3826,12 @@ msgid "" msgstr "" #: src/exercises/day-1/for-loops.md:9 -#, fuzzy msgid "" "You can print such an array by asking for its debug representation with `{:?}" "`:" msgstr "" -"Sie können ein solches Array drucken, indem Sie mit `{:?}` nach seiner Debug-" -"Darstellung fragen:" +"Du kannst ein solches Array drucken (print), indem Du mit `{:?}` nach der " +"Debug-Darstellung fragst:" #: src/exercises/day-1/for-loops.md:11 msgid "" @@ -3856,14 +3844,12 @@ msgid "" msgstr "" #: src/exercises/day-1/for-loops.md:18 -#, fuzzy msgid "" "Rust lets you iterate over things like arrays and ranges using the `for`\n" "keyword:" msgstr "" -"Mit Rust können Sie über Dinge wie Arrays und Ranges iterieren, indem Sie " -"das `for` verwenden\n" -"Stichwort:" +"Mit Rust kannst Du über Dinge wie Arrays und Ranges iterieren, indem Du " +"`for` verwendest:" #: src/exercises/day-1/for-loops.md:21 msgid "" @@ -3886,17 +3872,16 @@ msgid "" msgstr "" #: src/exercises/day-1/for-loops.md:38 -#, fuzzy msgid "" "Use the above to write a function `pretty_print` which pretty-print a matrix " "and\n" "a function `transpose` which will transpose a matrix (turn rows into " "columns):" msgstr "" -"Verwenden Sie das Obige, um eine Funktion \"pretty_print\" zu schreiben, die " -"eine Matrix hübsch druckt und\n" -"eine Funktion \"transpose\", die eine Matrix transponiert (Zeilen in Spalten " -"umwandelt):" +"Verwende den obigen Code, um eine Funktion `pretty_print` zu schreiben, die " +"eine Matrix formatiert druckt und\n" +"schreibe eine Funktion `transpose`, die eine Matrix transponiert (Zeilen in " +"Spalten umwandelt):" #: src/exercises/day-1/for-loops.md:41 msgid "" @@ -3908,18 +3893,16 @@ msgid "" msgstr "" #: src/exercises/day-1/for-loops.md:47 -#, fuzzy msgid "Hard-code both functions to operate on 3 × 3 matrices." -msgstr "Kodieren Sie beide Funktionen fest, um mit 3 × 3-Matrizen zu arbeiten." +msgstr "Beide Funktionen müssen dabei nur mit 3 × 3-Matrizen arbeiten." #: src/exercises/day-1/for-loops.md:49 -#, fuzzy msgid "" "Copy the code below to and implement the\n" "functions:" msgstr "" -"Kopieren Sie den folgenden Code nach und " -"implementieren Sie die\n" +"Kopiere den folgenden Code nach und " +"implementiere die\n" "Funktionen:" #: src/exercises/day-1/for-loops.md:52 @@ -3954,58 +3937,51 @@ msgid "" msgstr "" #: src/exercises/day-1/for-loops.md:80 -#, fuzzy msgid "## Bonus Question" msgstr "## Bonus-Frage" #: src/exercises/day-1/for-loops.md:82 -#, fuzzy msgid "" "Could you use `&[i32]` slices instead of hard-coded 3 × 3 matrices for your\n" "argument and return types? Something like `&[&[i32]]` for a two-dimensional\n" "slice-of-slices. Why or why not?" msgstr "" -"Könnten Sie `&[i32]`-Slices anstelle von fest codierten 3 × 3-Matrizen für " -"Ihre verwenden\n" -"Argument- und Rückgabetypen? Etwas wie `&[&[i32]]` für ein " -"zweidimensionales\n" -"Scheibe-von-Scheiben. Warum oder warum nicht?" +"Könntest Du den `&[i32]`-Anteilstyp anstelle von fest codierten 3 × 3-Matrizen als\n" +"Argument- und Rückgabetypen verwenden? Oder etwas wie `&[&[i32]]` für einen " +"zweidimensionalen Anteilstyp? \n" +"Warum oder warum nicht?" #: src/exercises/day-1/for-loops.md:87 -#, fuzzy msgid "" "See the [`ndarray` crate](https://docs.rs/ndarray/) for a production " "quality\n" "implementation." msgstr "" -"Siehe die [`ndarray`-Kiste](https://docs.rs/ndarray/) für eine " -"Produktionsqualität\n" +"Teste die [`ndarray`-Kiste](https://docs.rs/ndarray/) für eine " +"produktionsfertige\n" "Implementierung." #: src/exercises/day-1/for-loops.md:92 -#, fuzzy msgid "" "The solution and the answer to the bonus section are available in the \n" "[Solution](solutions-morning.md#arrays-and-for-loops) section." msgstr "" -"Die Lösung und die Antwort zum Bonusteil finden Sie im\n" -"Abschnitt [Solution](solutions-morning.md#arrays-and-for-loops)." +"Die Lösung und die Antwort zum Bonusteil findest Du im\n" +"Abschnitt [Lösung](solutions-morning.md#arrays-and-for-loops)." #: src/basic-syntax/variables.md:1 -#, fuzzy msgid "# Variables" msgstr "# Variablen" #: src/basic-syntax/variables.md:3 -#, fuzzy msgid "" "Rust provides type safety via static typing. Variable bindings are immutable " "by\n" "default:" msgstr "" -"Rust bietet Typsicherheit durch statische Typisierung. Variable Bindungen " -"sind unveränderlich durch\n" -"Standard:" +"Rust bietet Typsicherheit (type safety) durch statische Typisierung (static " +"typing). Bindungen an Variablen (variable bindings) sind standardmäßig " +"unveränderlich (immutable):" #: src/basic-syntax/variables.md:6 msgid "" @@ -4020,29 +3996,27 @@ msgid "" msgstr "" #: src/basic-syntax/variables.md:17 -#, fuzzy msgid "" "* Due to type inference the `i32` is optional. We will gradually show the " "types less and less as the course progresses.\n" "* Note that since `println!` is a macro, `x` is not moved, even using the " "function like syntax of `println!(\"x: {}\", x)`" msgstr "" -"* Aufgrund von Typrückschlüssen ist `i32` optional. Wir werden die Typen " -"nach und nach immer weniger zeigen, je weiter der Typ fortschreitet.\n" -"* Beachten Sie, dass, da `println!` ein Makro ist, `x` nicht verschoben " +"* Aufgrund von Typ-Inferenz (type inference) ist `i32` optional. Wir werden " +"die Typen nach und nach immer öfter weglassen, je weiter der Kurs " +"fortschreitet.\n" +"* Beachte, dass, da `println!` ein Makro ist, `x` nicht verschoben (moved) " "wird, selbst wenn die funktionsähnliche Syntax von `println!(\"x: {}\", x)` " -"verwendet wird" +"verwendet wird." #: src/basic-syntax/type-inference.md:1 -#, fuzzy msgid "# Type Inference" -msgstr "# Geben Sie Inferenz ein" +msgstr "# Typ-Inferenz (type inference)" #: src/basic-syntax/type-inference.md:3 -#, fuzzy msgid "Rust will look at how the variable is _used_ to determine the type:" msgstr "" -"Rust wird sich ansehen, wie die Variable _verwendet_ wird, um den Typ zu " +"Rust wird sich ansehen, wie die Variable _benutzt_ wird, um den Typ zu " "bestimmen:" #: src/basic-syntax/type-inference.md:5 @@ -4068,16 +4042,14 @@ msgid "" msgstr "" #: src/basic-syntax/type-inference.md:26 -#, fuzzy msgid "" "This slide demonstrates how the Rust compiler infers types based on " "constraints given by variable declarations and usages." msgstr "" "Diese Folie zeigt, wie der Rust-Compiler Typen basierend auf Einschränkungen " -"ableitet, die durch Variablendeklarationen und Verwendungen gegeben sind.\n" +"ableitet, die durch Variablendeklarationen und Verwendungen gegeben sind." #: src/basic-syntax/type-inference.md:28 -#, fuzzy msgid "" "It is very important to emphasize that variables declared like this are not " "of some sort of dynamic \"any type\" that can\n" @@ -4086,22 +4058,21 @@ msgid "" "The compiler does the job for us and helps us write more concise code." msgstr "" "Es ist sehr wichtig zu betonen, dass auf diese Weise deklarierte Variablen " -"nicht von einer Art dynamischem \"beliebigen Typ\" sind, der dies kann\n" -"irgendwelche Daten halten. Der durch eine solche Deklaration erzeugte " +"**nicht** von einem dynamischem \"beliebigen Typ\" sind, der\n" +"beliebige Daten enthalten kann. Der durch eine solche Deklaration erzeugte " "Maschinencode ist identisch mit der expliziten Deklaration eines Typs.\n" -"Der Compiler erledigt die Arbeit für uns und hilft uns, einen prägnanteren " -"Code zu schreiben." +"Der Compiler erledigt lediglich die Arbeit für uns und hilft uns " +"prägnanteren Code zu schreiben." #: src/basic-syntax/type-inference.md:32 -#, fuzzy msgid "" "The following code tells the compiler to copy into a certain generic " "container without the code ever explicitly specifying the contained type, " "using `_` as a placeholder:" msgstr "" "Der folgende Code weist den Compiler an, in einen bestimmten generischen " -"Container zu kopieren, ohne dass der Code jemals explizit den enthaltenen " -"Typ angibt, wobei `_` als Platzhalter verwendet wird:" +"Container zu kopieren, ohne dass jemals der enthaltene Typ explizit " +"angegeben wird. Der Unterstrich `_` wird dabei als Platzhalter verwendet:" #: src/basic-syntax/type-inference.md:34 msgid "" @@ -4119,36 +4090,32 @@ msgid "" msgstr "" #: src/basic-syntax/type-inference.md:46 -#, fuzzy msgid "" "[`collect`](https://doc.rust-lang.org/stable/std/iter/trait.Iterator." "html#method.collect) relies on `FromIterator`, which [`HashSet`](https://doc." "rust-lang.org/std/iter/trait.FromIterator.html) implements." msgstr "" "[`collect`](https://doc.rust-lang.org/stable/std/iter/trait.Iterator." -"html#method.collect) stützt sich auf `FromIterator`, das [`HashSet`]" -"(https:/ /doc.rust-lang.org/std/iter/trait.FromIterator.html) implementiert." +"html#method.collect) bezieht sich auf den `FromIterator`, den [`HashSet`]" +"(https://doc.rust-lang.org/std/iter/trait.FromIterator.html) implementiert." #: src/basic-syntax/static-and-const.md:1 -#, fuzzy msgid "# Static and Constant Variables" msgstr "# Statische und konstante Variablen" #: src/basic-syntax/static-and-const.md:3 -#, fuzzy msgid "Global state is managed with static and constant variables." msgstr "" -"Der globale Status wird mit statischen und konstanten Variablen verwaltet." +"Der globale Status (global state) wird mit statischen und konstanten " +"Variablen verwaltet." #: src/basic-syntax/static-and-const.md:5 -#, fuzzy msgid "## `const`" msgstr "## `const`" #: src/basic-syntax/static-and-const.md:7 -#, fuzzy msgid "You can declare compile-time constants:" -msgstr "Sie können Kompilierzeitkonstanten deklarieren:" +msgstr "Du kannst Kompilierzeitkonstanten deklarieren:" #: src/basic-syntax/static-and-const.md:9 msgid "" @@ -4173,18 +4140,16 @@ msgid "" msgstr "" #: src/basic-syntax/static-and-const.md:27 -#, fuzzy msgid "According to the [Rust RFC Book][1] these are inlined upon use." msgstr "" -"Gemäß dem [Rust RFC Book][1] werden diese bei der Verwendung eingefügt." +"Gemäß dem [Rust RFC Book][1] werden diese bei der Verwendung eingefügt " +"(inlined upon use)." #: src/basic-syntax/static-and-const.md:29 -#, fuzzy msgid "## `static`" -msgstr "## `statisch`" +msgstr "## `static`" #: src/basic-syntax/static-and-const.md:31 -#, fuzzy msgid "You can also declare static variables:" msgstr "Sie können auch statische Variablen deklarieren:" @@ -4200,7 +4165,6 @@ msgid "" msgstr "" #: src/basic-syntax/static-and-const.md:41 -#, fuzzy msgid "" "As noted in the [Rust RFC Book][1], these are not inlined upon use and have " "an actual associated memory location. This is useful for unsafe and " @@ -4209,20 +4173,18 @@ msgid "" msgstr "" "Wie im [Rust RFC Book][1] erwähnt, werden diese bei der Verwendung nicht " "inliniert und haben einen tatsächlich zugeordneten Speicherort. Dies ist " -"nützlich für unsicheren und eingebetteten Code, und die Variable lebt " -"während der gesamten Programmausführung." +"nützlich für unsicheren (unsafe) und eingebetteten (embedded) Code. Die " +"Variable existiert während der gesamten Programmausführung." #: src/basic-syntax/static-and-const.md:44 -#, fuzzy msgid "" "We will look at mutating static data in the [chapter on Unsafe Rust](../" "unsafe.md)." msgstr "" -"Wir werden uns im [Kapitel über Unsafe Rust](../unsafe.md) mit mutierenden " -"statischen Daten befassen." +"Wir werden uns im [Kapitel über unsicheres Rust](../unsafe.md) mit " +"mutierenden statischen Daten befassen." #: src/basic-syntax/static-and-const.md:48 -#, fuzzy msgid "" "* Mention that `const` behaves semantically similar to C++'s `constexpr`.\n" "* `static`, on the other hand, is much more similar to a `const` or mutable " @@ -4230,29 +4192,27 @@ msgid "" "* It isn't super common that one would need a runtime evaluated constant, " "but it is helpful and safer than using a static." msgstr "" -"* Erwähnen Sie, dass sich `const` semantisch ähnlich wie `constexpr` von C++ " +"* Erwähne, dass sich `const` semantisch ähnlich wie `constexpr` in C++ " "verhält.\n" -"* „Static“ hingegen ist einer „const“ oder veränderlichen globalen Variable " -"in C++ viel ähnlicher.\n" +"* `static` hingegen ist einer `const` oder veränderlichen (mutable) globalen " +"Variable in C++ viel ähnlicher.\n" "* Es kommt nicht sehr häufig vor, dass man eine zur Laufzeit ausgewertete " "Konstante benötigt, aber es ist hilfreich und sicherer als die Verwendung " "einer statischen." #: src/basic-syntax/scopes-shadowing.md:1 -#, fuzzy msgid "# Scopes and Shadowing" -msgstr "# Bereiche und Shadowing" +msgstr "# Gültigkeitsbereiche (scopes) und Verschattungen (shadowing)" #: src/basic-syntax/scopes-shadowing.md:3 -#, fuzzy msgid "" "You can shadow variables, both those from outer scopes and variables from " "the\n" "same scope:" msgstr "" -"Sie können Variablen schattieren, sowohl solche aus äußeren " -"Gültigkeitsbereichen als auch Variablen aus dem\n" -"gleicher Umfang:" +"Sie können Variablen verschatten (shadow), sowohl solche aus äußeren " +"Gültigkeitsbereichen (outer scopes) als auch Variablen aus dem\n" +"gleichen Gültigkeitsbereich:" #: src/basic-syntax/scopes-shadowing.md:6 msgid "" @@ -4275,7 +4235,6 @@ msgid "" msgstr "" #: src/basic-syntax/scopes-shadowing.md:25 -#, fuzzy msgid "" "* Definition: Shadowing is different from mutation, because after shadowing " "both variable's memory locations exist at the same time. Both are available " @@ -4287,16 +4246,16 @@ msgid "" "locations when shadowing an immutable variable in a scope, even if the type " "does not change." msgstr "" -"* Definition: Shadowing unterscheidet sich von Mutation, da nach dem " -"Shadowing die Speicherplätze beider Variablen gleichzeitig existieren. Beide " -"sind unter demselben Namen verfügbar, je nachdem, wo Sie ihn im Code " -"verwenden.\n" +"* Definition: Verschattung (shadowing) unterscheidet sich von Mutation, da " +"nach der Verschattung die Speicherplätze beider Variablen gleichzeitig " +"existieren. Beide Speicherplätze sind unter demselben Namen verfügbar, je nachdem, wo Sie " +"die Variablen im Code verwenden.\n" "* Eine Shadowing-Variable kann einen anderen Typ haben.\n" "* Shadowing sieht zunächst obskur aus, ist aber praktisch, um Werte nach `." "unwrap()` festzuhalten.\n" "* Der folgende Code demonstriert, warum der Compiler Speicherorte nicht " "einfach wiederverwenden kann, wenn er eine unveränderliche Variable in einem " -"Bereich schattiert, selbst wenn sich der Typ nicht ändert." +"Bereich verschattet, selbst wenn sich der Typ nicht ändert." #: src/basic-syntax/scopes-shadowing.md:30 msgid "" @@ -4311,17 +4270,14 @@ msgid "" msgstr "" #: src/memory-management.md:1 -#, fuzzy msgid "# Memory Management" msgstr "# Speicherverwaltung" #: src/memory-management.md:3 -#, fuzzy msgid "Traditionally, languages have fallen into two broad categories:" -msgstr "Traditionell fallen Sprachen in zwei große Kategorien:" +msgstr "Traditionell fallen Sprachen in zwei grobe Kategorien:" #: src/memory-management.md:5 -#, fuzzy msgid "" "* Full control via manual memory management: C, C++, Pascal, ...\n" "* Full safety via automatic memory management at runtime: Java, Python, Go, " @@ -4332,39 +4288,33 @@ msgstr "" "Python, Go, Haskell, ..." #: src/memory-management.md:8 -#, fuzzy msgid "Rust offers a new mix:" msgstr "Rust bietet eine neue Mischung:" #: src/memory-management.md:10 -#, fuzzy msgid "" "> Full control *and* safety via compile time enforcement of correct memory\n" "> management." msgstr "" "> Volle Kontrolle *und* Sicherheit durch Erzwingung des korrekten Speichers " -"zur Kompilierzeit\n" -"> Verwaltung." +"zur Kompilierzeit." #: src/memory-management.md:13 -#, fuzzy msgid "It does this with an explicit ownership concept." -msgstr "Dies geschieht mit einem expliziten Eigentumskonzept." +msgstr "" +"Dies geschieht mit einem expliziten Eigentumskonzept (explicit ownership " +"concept)." #: src/memory-management.md:15 -#, fuzzy msgid "First, let's refresh how memory management works." msgstr "" -"Lassen Sie uns zunächst die Funktionsweise der Speicherverwaltung " -"auffrischen." +"Lasst uns zunächst die Funktionsweise der Speicherverwaltung auffrischen." #: src/memory-management/stack-vs-heap.md:1 -#, fuzzy msgid "# The Stack vs The Heap" -msgstr "# Der Stapel gegen den Haufen" +msgstr "# Stapel vs. Haufen" #: src/memory-management/stack-vs-heap.md:3 -#, fuzzy msgid "" "* Stack: Continuous area of memory for local variables.\n" " * Values have fixed sizes known at compile time.\n" @@ -4379,9 +4329,14 @@ msgid "" msgstr "" "* Stack: Kontinuierlicher Speicherbereich für lokale Variablen.\n" " * Werte haben feste Größen, die zur Kompilierzeit bekannt sind.\n" -" * Extrem schnell: Bewegen Sie einfach einen Stapelzeiger.\n" +" * Extrem schnell: Durch Bewegen eines Stapelzeigers.\n" " * Einfach zu verwalten: folgt Funktionsaufrufen.\n" -" * Große Gedächtnislokalität." +" * Große Speicherlokalität (memory locality).\n" +"\n" +"* Heap: Speicherung von Werten außerhalb von Funktionsaufrufen.\n" +" * Werte haben dynamische Größen, die zur Laufzeit bestimmt werden.\n" +" * Etwas langsamer als der Stapel: Etwas Buchhaltung ist erforderlich.\n" +" * Keine Garantie für Speicherlokalität." #: src/memory-management/stack.md:1 #, fuzzy