1
0
mirror of https://github.com/google/comprehensive-rust.git synced 2025-03-21 14:46:37 +02:00

de: Translated Chapter 1 (#577)

* Updated base translations

Co-authored-by: ronaldfw <wotzlaw@gmail.com>
This commit is contained in:
Louis Stanko 2023-05-05 10:08:33 +02:00 committed by GitHub
parent 853c80a854
commit 2706c3f532
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

167
po/de.po
View File

@ -984,12 +984,11 @@ msgstr "Tag 4 Morgens"
#: src/SUMMARY.md:316
msgid "Bare Metal Rust Morning"
msgstr ""
msgstr "Hardwarenahes Rust: Morgens"
#: src/SUMMARY.md:317
#, fuzzy
msgid "Bare Metal Rust Afternoon"
msgstr "Tag 1 Nachmittags"
msgstr "Hadwarenahes Rust: Nachmittags"
#: src/welcome.md:1
msgid "# Welcome to Comprehensive Rust 🦀"
@ -1017,7 +1016,7 @@ msgstr ""
#: src/welcome.md:4
msgid "GitHub contributors"
msgstr ""
msgstr "Github Beiträger"
#: src/welcome.md:4
msgid ""
@ -1029,7 +1028,7 @@ msgstr ""
#: src/welcome.md:5
msgid "GitHub stars"
msgstr ""
msgstr "Github Sterne"
#: src/welcome.md:5
msgid ""
@ -1309,9 +1308,8 @@ msgstr ""
"durchführen."
#: src/running-the-course.md:8
#, fuzzy
msgid "Before you run the course, you will want to:"
msgstr "Um den Kurs durchzuführen:"
msgstr "Bevor du den Kurs vorstellst solltest du:"
#: src/running-the-course.md:10
msgid ""
@ -1352,6 +1350,30 @@ msgid ""
"\n"
"1. Prepare anything you need to have available for the afternoon of day 4."
msgstr ""
"1. Setze dich mit dem Kursmaterial auseinander. Wir haben Sprechernotizen hinzugefügt, um "
"Schlüsselpunkte hervorzuheben (gerne kannst du uns helfen weitere Sprechernotizen hinzuzufügen!). "
"Beim Vorstellen kannst du die Sprechernotizen in einem Seitenfenster öffnen (klick dazu auf den "
"kleinen Pfeil neben \"Speaker Notes\"). Dadurch hast du eine übersichtliche Oberfläche wenn du den "
"Kurs vorstellst.\n"
"1. Am Nachmittag des vierten Tages kannst du ein Thema frei wählen. Du kannst entweder ein Thema "
"nach Schwierigkeitsgrad wählen, oder aber ein Thema was zu deiner Zuhörerschaft passt.\n"
"1. Lege im Vorhinein die Kurszeiten fest. Der Kurs ist umfangreich, daher empfehlen wir vier Tage "
"in einem Zeitraum von zwei Wochen. Kursteilnehmer meinten, dass Pausen zwischen den Tagen sinnvoll "
"seien um die Menge an Informationen zu verarbeiten.\n"
"1. Finde einen Raum der groß genug für alle anwesenden Teilnehmer ist. Wir empfehlen eine "
"Teilnehmeranzahl von 15 bis 20 Leuten. Das schafft ein gutes Klima, um Fragen zu stellen, und es ist "
"möglich alle Fragen zeitnah zu beantworten. Stelle auch sicher, dass der Raum _Tische_ mit Stühlen "
"für die Teilnehmer und dich hat. Ihr werdet nämlich eure Laptops benötigen. Um genau zu sein wirst "
"du viel vorprogrammieren.\n"
"1. Sei schon etwas vor dem ersten Termin da, um alles vorzubereiten. Wir schlagen vor, dass du "
"`mdbook serve` direkt präsentierst (siehe [Installationsanleitung][3]). Somit entstehen keine "
"Störungen oder Unklarheiten bei dem Wechseln von Seiten und falls du oder die Teilnehmer "
"Rechtschreibfehler finden können diese sofort behoben werden.\n"
"1. Gib den Kursteilnehmern Zeit die Aufgaben selbst oder in kleinen Gruppen zu lösen. Vergiss "
"nicht ab und an zu fragen ob jemand Hilfe benötigt. Wenn mehrere Teilnehmer das gleiche Problem "
"haben, spreche es vor allen Teilnehmern an und zeige einen möglichen Lösungsweg auf. Z. B. "
"könntest du zeigen wo man die relevante Information in der Standardbibliothek findet.\n"
"1. Bereite alles vor was du am Nachmittag des vierten Tages behandeln möchtest."
#: src/running-the-course.md:46
msgid ""
@ -1362,15 +1384,15 @@ msgstr ""
"genauso viel Spaß machen wird wie uns!"
#: src/running-the-course.md:49
#, fuzzy
msgid ""
"Please [provide feedback][1] afterwards so that we can keep improving the\n"
"course. We would love to hear what worked well for you and what can be made\n"
"better. Your students are also very welcome to [send us feedback][2]!"
msgstr ""
"Bitte [gib anschließend Rückmeldung][3], damit wir den Kurs weiter verbessern können. \n"
"Wir sind daran interessiert, was gut funktioniert hat und was verbessert werden kann\n"
"Auch deine Teilnehmer sind herzlich eingeladen, [uns Rückmeldung zu senden][4]!"
"Bitte [gib anschließend Rückmeldung][1], damit wir den Kurs weiter verbessern können. \n"
"Was uns besonders interessieren würde ist was gut funktioniert hat aber auch was wir verbessern "
"könnten.\n"
"Deine Teilnehmer sind natürlich auch herzlich eingeladen, [uns Rückmeldung zu geben][2]!"
#: src/running-the-course/course-structure.md:1
msgid "# Course Structure"
@ -1381,17 +1403,16 @@ msgid "The course is fast paced and covers a lot of ground:"
msgstr "Der Kurs geht in schnellem Tempo voran und deckt viele Themen ab:"
#: src/running-the-course/course-structure.md:7
#, fuzzy
msgid ""
"* Day 1: Basic Rust, ownership and the borrow checker.\n"
"* Day 2: Compound data types, pattern matching, the standard library.\n"
"* Day 3: Traits and generics, error handling, testing, unsafe Rust.\n"
"* Day 4: Concurrency in Rust and seeing Rust in action."
msgstr ""
"* Tag 1: Rust Grundlagen, Eigentümerschaft und der Ausleihenprüfer.\n"
"* Tag 1: Rust Grundlagen, Eigentümerschaft (ownership) und der Ausleihenprüfer (borrow checker).\n"
"* Tag 2: Zusammengesetzte Datentypen, Musterabgleich, die Standardbibliothek.\n"
"* Tag 3: Merkmale und Generika, Fehlerbehandlung, Testen, unsicheres Rust.\n"
"* Tag 4: Parallelität in Rust und Interoperabilität mit anderen Sprachen"
"* Tag 4: Parallelität in Rust und Rust in Aktion."
#: src/running-the-course/course-structure.md:12
msgid "## Format"
@ -1407,7 +1428,7 @@ msgstr ""
#: src/running-the-course/day-4.md:1
msgid "# Day 4"
msgstr ""
msgstr "# Tag 4"
#: src/running-the-course/day-4.md:5
msgid ""
@ -1415,6 +1436,8 @@ msgid ""
"the topic in the announcement of the course, so that participants know what to\n"
"expect."
msgstr ""
"Der Nachmittag des vierten Tages sollte ein von dir ausgewähltes Thema behandeln.\n"
"Erwähne das ausgewählte Thema in der Kursankündigung, sodass Teilnehmer wissen was auf sie zukommt."
#: src/running-the-course/day-4.md:9
msgid ""
@ -1422,46 +1445,46 @@ msgid ""
"codebase they might be familiar with. You can choose from the topics already\n"
"defined here, or plan your own."
msgstr ""
"Dieser Abschnitt des Kurses ermöglicht es Teilnehmern Rust in einer Codebasis zu sehen die sie"
"möglicherweise schon kennen. Du kannst entweder von den hier vorgeschlagenen Themen wählen, oder "
"dein eigenes Thema planen."
#: src/running-the-course/day-4.md:13
msgid "Some topics need additional preparation:"
msgstr ""
msgstr "Manche Themen benötigen eine besondere Vorbereitung:"
#: src/running-the-course/day-4.md:15
#, fuzzy
msgid "## Android"
msgstr "# Android"
msgstr "## Android"
#: src/running-the-course/day-4.md:17
#, fuzzy
msgid ""
"If you chose Android for Day 4 afternoon, you will need an [AOSP checkout][1].\n"
"Make a checkout of the [course repository][2] on the same machine and move the\n"
"`src/android/` directory into the root of your AOSP checkout. This will ensure\n"
"that the Android build system sees the `Android.bp` files in `src/android/`."
msgstr ""
"6. 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"
"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"
" auf deinem Laptop und verschiebe das Verzeichnis `src/android/` in \n"
" das Stammverzeichnis Deiner AOSP Arbeitskopie . Dadurch wird \n"
" sichergestellt, dass das Android-Buildsystem die \n"
" `Android.bp`-Dateien in `src/android/` sehen kann."
#: src/running-the-course/day-4.md:22
#, fuzzy
msgid ""
"Ensure that `adb sync` works with your emulator or real device and pre-build\n"
"all Android examples using `src/android/build_all.sh`. Read the script to see\n"
"the commands it runs and make sure they work when you run them by hand."
msgstr ""
" Stelle sicher, dass \"adb sync\" auf Ihrem Emulator oder Rechner funktioniert.\n"
" Stelle sicher, dass `adb sync` auf deinem Emulator oder Rechner funktioniert.\n"
" Erstelle bereits vor dem Kurs alle Android-Beispiele mit `src/android/build_all.sh`. \n"
" Schaue auch in das Skript rein und probiere aus, ob alle Befehle, die es ausführt\n"
" auch von Hand ausgeführt funktionieren."
#: src/running-the-course/day-4.md:26
msgid "## Async"
msgstr ""
msgstr "## Async"
#: src/running-the-course/day-4.md:28
msgid ""
@ -1469,6 +1492,9 @@ msgid ""
"the dependencies downloaded and ready to go. You can then copy/paste the\n"
"examples into `src/main.rs` to experiment with them."
msgstr ""
"Für den Async-spezifischen Teil an Tag 4 benötigst du eine frisch erstellte Kiste (crate). "
"Ausserdem sollten die Abhängigkeiten (dependencies) bereits heruntergeladen sein. Danach können "
"die Beispiele in `src/main.rs` eingefügt werden, um mit ihnen zu experimentieren."
#: src/running-the-course/day-4.md:32
msgid ""
@ -1501,31 +1527,35 @@ msgstr ""
"* <kbd>s</kbd>: Suchleiste aktivieren."
#: src/running-the-course/translations.md:1
#, fuzzy
msgid "# Translations"
msgstr "## Installation"
msgstr "# Übersetzungen"
#: src/running-the-course/translations.md:3
msgid ""
"The course has been translated into other languages by a set of wonderful\n"
"volunteers:"
msgstr ""
msgstr "Der Kurs wurde auch in andere Sprachen übersetzt:"
#: src/running-the-course/translations.md:6
msgid ""
"* [Brazilian Portuguese][pt-BR] by [@rastringer] and [@hugojacob].\n"
"* [Korean][ko] by [@keispace], [@jiyongp] and [@jooyunghan]."
msgstr ""
"* [Brasilianisches Portugiesisch][pt-BR] von [@rastringer] und [@hugojacob].\n"
"* [Koreanisch][ko] von [@keispace], [@jiyongp] und [@jooyunghan]."
#: src/running-the-course/translations.md:9
msgid "Use the language picker in the top-right corner to switch between languages."
msgstr ""
msgstr "Benutze die Sprachenauswahl oben rechts, um die Sprache zu wechseln."
#: src/running-the-course/translations.md:11
msgid ""
"If you want to help with this effort, please see [our instructions] for how to\n"
"get going. Translations are coordinated on the [issue tracker]."
msgstr ""
"Wenn du uns hierbei unterstützen möchtest, lies dir bitte [unsere Anweisungen][our instructions] "
"durch.\n"
"Übersetzungen werden mit dem [Issue-Tracker][issue tracker] koordiniert."
#: src/cargo.md:1
msgid "# Using Cargo"
@ -9105,6 +9135,13 @@ msgid ""
" fn add_widget(&mut self, widget: Box<dyn Widget>) {\n"
" self.widgets.push(widget);\n"
" }\n"
"\n"
" fn inner_width(&self) -> usize {\n"
" std::cmp::max(\n"
" self.title.chars().count(),\n"
" self.widgets.iter().map(|w| w.width()).max().unwrap_or(0),\n"
" )\n"
" }\n"
"}\n"
"\n"
"\n"
@ -9150,12 +9187,12 @@ msgid ""
"```"
msgstr ""
#: src/exercises/day-3/simple-gui.md:123
#: src/exercises/day-3/simple-gui.md:130
#, fuzzy
msgid "The output of the above program can be something simple like this:"
msgstr "Die Ausgabe des obigen Programms kann so einfach sein:"
#: src/exercises/day-3/simple-gui.md:125
#: src/exercises/day-3/simple-gui.md:132
msgid ""
"```text\n"
"========\n"
@ -9168,7 +9205,7 @@ msgid ""
"```"
msgstr ""
#: src/exercises/day-3/simple-gui.md:135
#: src/exercises/day-3/simple-gui.md:142
#, fuzzy
msgid ""
"If you want to draw aligned text, you can use the\n"
@ -9181,7 +9218,7 @@ msgstr ""
"Formatierungsoperatoren. Beachten Sie insbesondere, wie Sie mit verschiedenen auffüllen können\n"
"Zeichen (hier ein `'/'`) und wie Sie die Ausrichtung steuern können:"
#: src/exercises/day-3/simple-gui.md:140
#: src/exercises/day-3/simple-gui.md:147
msgid ""
"```rust,editable\n"
"fn main() {\n"
@ -9193,12 +9230,12 @@ msgid ""
"```"
msgstr ""
#: src/exercises/day-3/simple-gui.md:149
#: src/exercises/day-3/simple-gui.md:156
#, fuzzy
msgid "Using such alignment tricks, you can for example produce output like this:"
msgstr "Mit solchen Ausrichtungstricks können Sie beispielsweise eine Ausgabe wie diese erzeugen:"
#: src/exercises/day-3/simple-gui.md:151
#: src/exercises/day-3/simple-gui.md:158
msgid ""
"```text\n"
"+--------------------------------+\n"
@ -10509,7 +10546,9 @@ msgid ""
"#![allow(unused_imports, unused_variables, dead_code)]\n"
"\n"
"mod ffi {\n"
" use std::os::raw::{c_char, c_int, c_long, c_ulong, c_ushort};\n"
" use std::os::raw::{c_char, c_int};\n"
" #[cfg(not(target_os = \"macos\"))]\n"
" use std::os::raw::{c_long, c_ulong, c_ushort};\n"
"\n"
" // Opaque type. See https://doc.rust-lang.org/nomicon/ffi.html.\n"
" #[repr(C)]\n"
@ -10519,6 +10558,7 @@ msgid ""
" }\n"
"\n"
" // Layout as per readdir(3) and definitions in /usr/include/x86_64-linux-gnu.\n"
" #[cfg(not(target_os = \"macos\"))]\n"
" #[repr(C)]\n"
" pub struct dirent {\n"
" pub d_ino: c_long,\n"
@ -10528,6 +10568,18 @@ msgid ""
" pub d_name: [c_char; 256],\n"
" }\n"
"\n"
" // Layout as per man entry for dirent\n"
" #[cfg(target_os = \"macos\")]\n"
" #[repr(C)]\n"
" pub struct dirent {\n"
" pub d_ino: u64,\n"
" pub d_seekoff: u64,\n"
" pub d_reclen: u16,\n"
" pub d_namlen: u16,\n"
" pub d_type: u8,\n"
" pub d_name: [c_char; 1024],\n"
" }\n"
"\n"
" extern \"C\" {\n"
" pub fn opendir(s: *const c_char) -> *mut DIR;\n"
" pub fn readdir(s: *mut DIR) -> *const dirent;\n"
@ -14618,7 +14670,8 @@ msgstr ""
#: src/welcome-bare-metal.md:22
msgid ""
"```bash\n"
"sudo apt install gcc-aarch64-linux-gnu gdb-multiarch libudev-dev picocom qemu-system-arm\n"
"sudo apt install gcc-aarch64-linux-gnu gdb-multiarch libudev-dev picocom pkg-config qemu-system-"
"arm\n"
"rustup update\n"
"rustup target add aarch64-unknown-none thumbv7em-none-eabihf\n"
"rustup component add llvm-tools-preview\n"
@ -18502,6 +18555,13 @@ msgid ""
" fn add_widget(&mut self, widget: Box<dyn Widget>) {\n"
" self.widgets.push(widget);\n"
" }\n"
"\n"
" fn inner_width(&self) -> usize {\n"
" std::cmp::max(\n"
" self.title.chars().count(),\n"
" self.widgets.iter().map(|w| w.width()).max().unwrap_or(0),\n"
" )\n"
" }\n"
"}\n"
"\n"
"// ANCHOR_END: setup\n"
@ -18510,10 +18570,8 @@ msgid ""
"impl Widget for Window {\n"
" fn width(&self) -> usize {\n"
" // ANCHOR_END: Window-width\n"
" std::cmp::max(\n"
" self.title.chars().count(),\n"
" self.widgets.iter().map(|w| w.width()).max().unwrap_or(0),\n"
" )\n"
" // Add 4 paddings for borders\n"
" self.inner_width() + 4\n"
" }\n"
"\n"
" // ANCHOR: Window-draw_into\n"
@ -18524,18 +18582,18 @@ msgid ""
" widget.draw_into(&mut inner);\n"
" }\n"
"\n"
" let window_width = self.width();\n"
" let inner_width = self.inner_width();\n"
"\n"
" // TODO: after learning about error handling, you can change\n"
" // draw_into to return Result<(), std::fmt::Error>. Then use\n"
" // the ?-operator here instead of .unwrap().\n"
" writeln!(buffer, \"+-{:-<window_width$}-+\", \"\").unwrap();\n"
" writeln!(buffer, \"| {:^window_width$} |\", &self.title).unwrap();\n"
" writeln!(buffer, \"+={:=<window_width$}=+\", \"\").unwrap();\n"
" writeln!(buffer, \"+-{:-<inner_width$}-+\", \"\").unwrap();\n"
" writeln!(buffer, \"| {:^inner_width$} |\", &self.title).unwrap();\n"
" writeln!(buffer, \"+={:=<inner_width$}=+\", \"\").unwrap();\n"
" for line in inner.lines() {\n"
" writeln!(buffer, \"| {:window_width$} |\", line).unwrap();\n"
" writeln!(buffer, \"| {:inner_width$} |\", line).unwrap();\n"
" }\n"
" writeln!(buffer, \"+-{:-<window_width$}-+\", \"\").unwrap();\n"
" writeln!(buffer, \"+-{:-<inner_width$}-+\", \"\").unwrap();\n"
" }\n"
"}\n"
"\n"
@ -18627,7 +18685,9 @@ msgid ""
"\n"
"// ANCHOR: ffi\n"
"mod ffi {\n"
" use std::os::raw::{c_char, c_int, c_long, c_ulong, c_ushort};\n"
" use std::os::raw::{c_char, c_int};\n"
" #[cfg(not(target_os = \"macos\"))]\n"
" use std::os::raw::{c_long, c_ulong, c_ushort};\n"
"\n"
" // Opaque type. See https://doc.rust-lang.org/nomicon/ffi.html.\n"
" #[repr(C)]\n"
@ -18637,6 +18697,7 @@ msgid ""
" }\n"
"\n"
" // Layout as per readdir(3) and definitions in /usr/include/x86_64-linux-gnu.\n"
" #[cfg(not(target_os = \"macos\"))]\n"
" #[repr(C)]\n"
" pub struct dirent {\n"
" pub d_ino: c_long,\n"
@ -18646,6 +18707,18 @@ msgid ""
" pub d_name: [c_char; 256],\n"
" }\n"
"\n"
" // Layout as per man entry for dirent\n"
" #[cfg(target_os = \"macos\")]\n"
" #[repr(C)]\n"
" pub struct dirent {\n"
" pub d_ino: u64,\n"
" pub d_seekoff: u64,\n"
" pub d_reclen: u16,\n"
" pub d_namlen: u16,\n"
" pub d_type: u8,\n"
" pub d_name: [c_char; 1024],\n"
" }\n"
"\n"
" extern \"C\" {\n"
" pub fn opendir(s: *const c_char) -> *mut DIR;\n"
" pub fn readdir(s: *mut DIR) -> *const dirent;\n"