-
-
Notifications
You must be signed in to change notification settings - Fork 8.5k
🌐 Add German translation for docs/de/docs/index.md, docs/de/docs/fastapi-people.md, and docs/de/docs/python-types.md
#3048
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Codecov ReportPatch and project coverage have no change.
Additional details and impacted files@@ Coverage Diff @@
## master #3048 +/- ##
===========================================
Coverage 100.00% 100.00%
===========================================
Files 540 243 -297
Lines 13969 7419 -6550
===========================================
- Hits 13969 7419 -6550 ☔ View full report in Codecov by Sentry. |
|
📝 Docs preview for commit 4e4d125 at: https://606ca4d47cb0730fc85a8b40--fastapi.netlify.app |
AaronDewes
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for your translation! This isn't a full review, but a few suggestions, I'll do more later.
|
|
||
| Das sind die Personen, die: | ||
|
|
||
| * [Anderen bei Problemen (Fragen) in GitHub helfen](help-fastapi.md#help-others-with-issues-in-github){.internal-link target=_blank}. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| * [Anderen bei Problemen (Fragen) in GitHub helfen](help-fastapi.md#help-others-with-issues-in-github){.internal-link target=_blank}. | |
| * [Anderen bei Problemen (Fragen) auf GitHub helfen](help-fastapi.md#help-others-with-issues-in-github){.internal-link target=_blank}. |
Auf sound better to me, and you're using it below too.
| <div class="user-list user-list-center"> | ||
| {% for user in people.last_month_active %} | ||
|
|
||
| <div class="user"><a href="{{ user.url }}" target="_blank"><div class="avatar-wrapper"><img src="{{ user.avatarUrl }}"/></div><div class="title">@{{ user.login }}</div></a> <div class="count">Issues replied: {{ user.count }}</div></div> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| <div class="user"><a href="{{ user.url }}" target="_blank"><div class="avatar-wrapper"><img src="{{ user.avatarUrl }}"/></div><div class="title">@{{ user.login }}</div></a> <div class="count">Issues replied: {{ user.count }}</div></div> | |
| <div class="user"><a href="{{ user.url }}" target="_blank"><div class="avatar-wrapper"><img src="{{ user.avatarUrl }}"/></div><div class="title">@{{ user.login }}</div></a> <div class="count">Antworten: {{ user.count }}</div></div> |
This can be translated.
| <div class="user-list user-list-center"> | ||
| {% for user in people.experts %} | ||
|
|
||
| <div class="user"><a href="{{ user.url }}" target="_blank"><div class="avatar-wrapper"><img src="{{ user.avatarUrl }}"/></div><div class="title">@{{ user.login }}</div></a> <div class="count">Issues replied: {{ user.count }}</div></div> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| <div class="user"><a href="{{ user.url }}" target="_blank"><div class="avatar-wrapper"><img src="{{ user.avatarUrl }}"/></div><div class="title">@{{ user.login }}</div></a> <div class="count">Issues replied: {{ user.count }}</div></div> | |
| <div class="user"><a href="{{ user.url }}" target="_blank"><div class="avatar-wrapper"><img src="{{ user.avatarUrl }}"/></div><div class="title">@{{ user.login }}</div></a> <div class="count">Antworten: {{ user.count }}</div></div> |
Same here
| ## Top Mitwirkende | ||
|
|
||
| Hier sind die **Top Mitwirkenden**. 👷 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| ## Top Mitwirkende | |
| Hier sind die **Top Mitwirkenden**. 👷 | |
| ## Top-Mitwirkende | |
| Hier sind die **Top-Mitwirkenden**. 👷 |
I think this is gramatically correct.
| <div class="user-list user-list-center"> | ||
| {% for user in people.top_contributors %} | ||
|
|
||
| <div class="user"><a href="{{ user.url }}" target="_blank"><div class="avatar-wrapper"><img src="{{ user.avatarUrl }}"/></div><div class="title">@{{ user.login }}</div></a> <div class="count">Pull Requests: {{ user.count }}</div></div> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| <div class="user"><a href="{{ user.url }}" target="_blank"><div class="avatar-wrapper"><img src="{{ user.avatarUrl }}"/></div><div class="title">@{{ user.login }}</div></a> <div class="count">Pull Requests: {{ user.count }}</div></div> | |
| <div class="user"><a href="{{ user.url }}" target="_blank"><div class="avatar-wrapper"><img src="{{ user.avatarUrl }}"/></div><div class="title">@{{ user.login }}</div></a> <div class="count">Pull-Requests: {{ user.count }}</div></div> |
Same here
| {% endfor %} | ||
| {% endif %} | ||
|
|
||
| ### Silver Sponsoren |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| ### Silver Sponsoren | |
| ### Silbersponsoren |
Grammar, translate "Silver"
| {% if people %} | ||
| {% if people.sponsors_50 %} | ||
|
|
||
| ### Bronze Sponsoren |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| ### Bronze Sponsoren | |
| ### Bronzesponsoren |
Grammar
|
|
||
| ## Über die Daten - technische Details | ||
|
|
||
| Die Hauptintention dieser Seite ist es, die Bemühungen der Gemeinschaft hervorzuheben, anderen zu helfen. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Die Hauptintention dieser Seite ist es, die Bemühungen der Gemeinschaft hervorzuheben, anderen zu helfen. | |
| Das Hauptziel dieser Seite ist es, die Bemühungen der Gemeinschaft hervorzuheben, anderen zu helfen. |
Ziel is more common and seems a bit better here.
docs/de/docs/features.md
Outdated
|
|
||
| ### Einfach modernes Python | ||
|
|
||
| Es basiert alles auf Standard **Python 3.6 Typ**-Deklarationen (dank Pydantic). Sie müssen keine neue Syntax lernen. Nur modernes Standard-Python. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Es basiert alles auf Standard **Python 3.6 Typ**-Deklarationen (dank Pydantic). Sie müssen keine neue Syntax lernen. Nur modernes Standard-Python. | |
| Es basiert alles auf standardkonformen **Python 3.6 Typ**-Deklarationen (dank Pydantic). Sie müssen keine neue Syntax lernen. Nur modernes Standard-Python. |
Grammar
docs/de/docs/features.md
Outdated
|
|
||
| Es hat sinnvolle **Standardwerte** für alles, mit optionalen Konfigurationen überall. Alle Parameter können fein abgestimmt werden, um das zu tun, was Sie brauchen, und um die API zu definieren, die Sie brauchen. | ||
|
|
||
| Aber standardmäßig funktioniert das alles **"einfach so "**. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Aber standardmäßig funktioniert das alles **"einfach so "**. | |
| Aber standardmäßig funktioniert das alles **"einfach so"**. |
|
This is awesome @0x4Dark! 🚀 You have done a lot of work! 🙇 👏 I have to wait for a couple of reviews before merging it. And as it has translations for several files, it will probably be difficult for someone to translate them all at the same time. Let me suggest, could you split it into several PRs? Edit 2023-06-26: this part of the comment is no longer necessary, just one PR per file, that's it! 🎉One would be just the basic setup, without any translation, just the result of: $ python ./scripts/docs.py new-lang de
|
AaronDewes
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just saw this PR again, had a few comments I forgot to submit still here
|
|
||
| * **Schnell**: Sehr hohe Leistung, auf dem Niveau von **NodeJS** und **Go** (Dank an Starlette und Pydantic) [Eines der schnellsten verfügbaren Python-Frameworks](#performance). | ||
|
|
||
| * **Schnell zu programmieren**: Erhöhen Sie die Geschwindigkeit bei der Entwicklung von Funktionen um etwa 200 % bis 300 %. * |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| * **Schnell zu programmieren**: Erhöhen Sie die Geschwindigkeit bei der Entwicklung von Funktionen um etwa 200 % bis 300 %. * | |
| * **Schnell zu programmieren**: Erhöhen Sie die Geschwindigkeit bei der Entwicklung von Funktionen um etwa 200% bis 300%. * |
| * **Schnell**: Sehr hohe Leistung, auf dem Niveau von **NodeJS** und **Go** (Dank an Starlette und Pydantic) [Eines der schnellsten verfügbaren Python-Frameworks](#performance). | ||
|
|
||
| * **Schnell zu programmieren**: Erhöhen Sie die Geschwindigkeit bei der Entwicklung von Funktionen um etwa 200 % bis 300 %. * | ||
| * **Weniger Bugs**: Reduzieren Sie etwa 40 % der von Menschen (Entwicklern) verursachten Fehler. * |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| * **Weniger Bugs**: Reduzieren Sie etwa 40 % der von Menschen (Entwicklern) verursachten Fehler. * | |
| * **Weniger Bugs**: Reduzieren Sie etwa 40% der von Menschen (Entwicklern) verursachten Fehler. * |
|
Hi all, Thanks for the feedback @AaronDewes. @tiangolo I can do that, no problem. I'll work the changes from AaronDewes and create the pull requests asap. |
| - link: / | ||
| name: en - English | ||
| - link: /de/ | ||
| name: de |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
name: de - Deutsch
rogerbrinkmann
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few suggestions. Unfortunately the englisch original already adopted changes in Python 3.9 and 3.10, which are not contained in this translation.
|
|
||
| Dies ist nur eine **schnelle Anleitung / Auffrischung** über Pythons Typ-Hinweise. Es deckt nur das Minimum ab, das nötig ist, um sie mit **FastAPI** zu verwenden... was eigentlich sehr wenig ist. | ||
|
|
||
| **FastAPI** basiert komplett auf diesen Typ-Hinweisen, sie geben der Anwendung viele Vorteile und Möglichkeiten. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Anwendung is not part of the original sentence. maybe better:
**FastAPI** basiert komplett auf diesen Typ-Hinweisen, sie bieten viele Vorteile und Möglichkeiten.
|
|
||
| * Nimmt einen `first_name` und `last_name`. | ||
| * Konvertiert den ersten Buchstaben von jedem in Großbuchstaben mit `title()`. | ||
| * <abbr title="Fügt sie zusammen, als eins. Mit dem Inhalt des einen nach dem anderen.">Verkettet sie mit einem Leerzeichen in der Mitte</abbr>. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fügt sie zusammen, als eins. Mit dem Inhalt des einen nach dem anderen.
Maybe better:
Fügt die einzelnen Komponenten zusammen
|
|
||
| * Nimmt einen `first_name` und `last_name`. | ||
| * Konvertiert den ersten Buchstaben von jedem in Großbuchstaben mit `title()`. | ||
| * <abbr title="Fügt sie zusammen, als eins. Mit dem Inhalt des einen nach dem anderen.">Verkettet sie mit einem Leerzeichen in der Mitte</abbr>. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I dont' think an abbr - tag is needed in the German translation, since Verkettet is a common word and doesn't need any further explanation.
|
|
||
| Aber dann müssen Sie "die Methode aufrufen, die den ersten Buchstaben in Großbuchstaben umwandelt". | ||
|
|
||
| Was es `upper`? Was es `uppercase`? `first_uppercase`? `capitalize`? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not Was but War
|
|
||
| Sie geben den ersten Parameter der Funktion ein, `first_name`, dann einen Punkt (`.`) und drücken dann `Strg+Leertaste`, um die Vervollständigung auszulösen. | ||
|
|
||
| Aber leider erhalten Sie nichts Nützliches: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe better:
Aber leider erhalten Sie keinen nützlichen Hinweis:
|
|
||
| Das bedeutet: | ||
|
|
||
| * Die Variable `items_t` ist ein `Tupel` mit 3 Elementen, einem `int`, einem weiteren `int` und einem `str`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Event though the imported type is a capitalized Tuple, the actual python datatype is a lower case tuple. Just like in the next sentence with set, tuple should be lower case as well.
| * Die Variable `prices` ist ein `dict`: | ||
| * Die Schlüssel dieses `dict` sind vom Typ `str` (z.B. die Namen der einzelnen Artikel). | ||
| * Die Werte dieses `dict` sind vom Typ `float` (z.B. der Preis jedes Artikels). | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The section about Unionis missing.
Suggestion:
Union
You can declare that a variable can be any of several types, for example, an int or a str.
In Python 3.6 and above (including Python 3.10) you can use the Union type from typing and put inside the square brackets the possible types to accept.
In Python 3.10 there's also an alternative syntax were you can put the possible types separated by a vertical bar (|).
=== "Python 3.6 and above"
```Python hl_lines="1 4"
{!> ../../../docs_src/python_types/tutorial008b.py!}
```
=== "Python 3.10 and above"
```Python hl_lines="1"
{!> ../../../docs_src/python_types/tutorial008b_py310.py!}
```
In beiden Fällen bedeutet dies, dass item ein int oder ein str sein kann.
| * Die Werte dieses `dict` sind vom Typ `float` (z.B. der Preis jedes Artikels). | ||
|
|
||
| #### `Optional` | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This section changed quite a bit in the original:
Suggestion:
Man kann deklarieren, dass ein Wert einen Typ haben kann, wie str, aber auch, dass er None sein kann.
In Python 3.6 und höher (einschließlich Python 3.10) können Sie dies deklarieren, indem Sie Optional aus dem typing Modul importieren und verwenden.
{!../../../docs_src/python_types/tutorial009.py!}Durch die Verwendung von Optional[str] anstelle von str kann der Editor Ihnen helfen, Fehler zu erkennen, bei denen Sie davon ausgehen, dass ein Wert immer str ist, obwohl er eigentlich auch None sein könnte.
Optional[Irgendwas] ist eigentlich eine Abkürzung für Union[Irgendwas, None], sie sind gleichwertig.
Das bedeutet auch, dass Sie in Python 3.10 Irgendwas | None verwenden können:
=== "Python 3.6 und höher"
```Python hl_lines="1 4"
{!> ../../../docs_src/python_types/tutorial009.py!}
```
=== "Python 3.6 und höher - alternativ"
```Python hl_lines="1 4"
{!> ../../../docs_src/python_types/tutorial009b.py!}
```
=== "Python 3.10 und höher"
```Python hl_lines="1"
{!> ../../../docs_src/python_types/tutorial009_py310.py!}
```
|
|
||
| Wenn Sie `Optional[str]` statt nur `str` verwenden, kann der Editor Ihnen helfen, Fehler zu erkennen, bei denen Sie davon ausgehen, dass ein Wert immer ein `str` ist, obwohl er eigentlich auch `None` sein könnte. | ||
|
|
||
| #### Generische Typen |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This section also changed very much in the original
|
|
||
| <img src="/img/python-types/image06.png"> | ||
|
|
||
| ## Pydantic models |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This section differs from the original as well
docs/de/docs/index.md, docs/de/docs/fastapi-people.md, and docs/de/docs/python-types.md
|
I updated it with recent changes, there's no longer need to use and synchronize complex Nevertheless, it would probably be easier and better to have these 3 files in 3 different PRs so that it's easier to review them, and once one of the files is fine and approved (even if the other two are not), I could merge that if it was in an isolated PR. As I know you're busy, maybe others might want to copy some of the work done here in one of these files and make a new PR only for that one, and continue from there. 🤓 |
|
📝 Docs preview for commit dd3d8a5 at: https://649a06e4d1bbbc073560fbdb--fastapi.netlify.app |
* Full translation * Based on fastapi#3048 * In sync with current en/docs/fastapi-people.md * Hand-translated (Google translate rarely used) * Checked for errors using LanguageTool * Manually checked
* Full translation * Based on fastapi#3048 * In sync with current en/docs/python-types.md * Hand-translated (Google translate rarely used) * Checked for errors using LanguageTool * Manually checked
Based on fastapi#3631 and fastapi#3048
Hello,
I have started to translate the documentation into german (to be honest, I was a bit surprised that nothing existed here yet).
Currently I have translated the following chapters.
I thought to translate them piece by piece just following the order of the mkdocs nav.
Since I have never worked with MkDocs, I hope the "setup" for the german section is correct.
P.S.: Please don't be surprised about the short time intervals of the commits. No, I am not so fast in translating - It took me a while. I only had a bad setup near the end and had to reset everything. .