Correcting some Typos in lang/de#159
Correcting some Typos in lang/de#159vedam wants to merge 3 commits intopreactjs:masterfrom vedam:master
Conversation
|
Looks good to me! Maybe we can get @ShalokShalom to review it as well :) |
|
Some of the sentences here use domain specific buzzwords and these ones do simply not exist in any other language, so how to translate? The giving result is currently a wild mix between English and German. Use words which are intelligible for humans without domain specific background in computer science.
Sometimes does it help, to replace such buzzwords with descriptions. This helps also to attract newbies. |
| # Browserunterstützung | ||
|
|
||
| Prect untersützt moderne Browser (Chrome, Firefox, Safari, Edge) und IE9+. Es sollte in IE7 sowie IE8 funktionieren, setzt allerdings einige Polyfiller voraus. Wenn es beabsichtigt ist, Preact zu benutzen und diese älteren Browser zu untersützen, wird empfohlen, einen Polyfiller wie zum Beispiel [es5-shim] oder [babel-polyfill] zu verwenden. | ||
| Preact untersützt moderne Browser (Chrome, Firefox, Safari, Edge) und IE9+. Es sollte in IE7 sowie IE8 funktionieren, setzt allerdings einige Polyfiller voraus. Wenn es beabsichtigt ist, Preact zu benutzen und diese älteren Browser zu unterstützen, wird empfohlen, einen Polyfiller wie zum Beispiel [es5-shim] oder [babel-polyfill] zu verwenden. |
There was a problem hiding this comment.
This would sound more clear in my opinion:
Preact untersützt moderne Browser (Chrome, Firefox, Safari, Edge) und IE9+. In IE7 und IE8
sollte es funktionieren, allerdings werden einige Polyfills voraus gesetzt. Wenn Preact in
älteren Browsern verwendet werden soll, empfehlen wir einen Polyfiller wie zum Beispiel
[es5-shim] oder [babel-polyfill] zu verwenden.
There was a problem hiding this comment.
Preact unterstützt Chrome, Firefox, Safari, Edge sowie IE9+ vollständig und sollte auch in IE7 sowie IE8 weitgehend funktionieren, wobei dann einige Polyfills vorausgesetzt werden.
| |-----------------------------|--------------------------------------------------------------| | ||
| | `componentWillMount` | bevor die Komponente an das DOM eingehanden wird | | ||
| | `componentDidMount` | nachdem die Komponente an das DOM eingehanden wird | | ||
| | `componentWillMount` | bevor die Komponente in DOM eingebunden wird | |
There was a problem hiding this comment.
in DOM -> im DOM / in dem DOM
| ## Versionenkompatibilität | ||
|
|
||
| Für Preact und [preact-compat] gilt: Versionenkompatibilit wird gegen die _aktuellen_ und _vorherigen_ Hauptveröffentlichungen von React gemessen. Wenn neue Funktionen vom React-Team angekündigt werden, werden sie, sollten sie mit den [Projektziele]n im Hinterkopf nutzvoll sein, zu Preacts Kern hinzugefügt. Dies ist ein recht demokratischer Prozess, der von sich konstant entwickelnden Diskussionen und Entscheidungen der Masse gezeichnet ist. Er lebt von Issues und Pull Requests. | ||
| Für Preact und [preact-compat] gilt: Versionenkompatibilität wird mit den _aktuellen_ und _vorherigen_ Hauptveröffentlichungen von React verglichen. Wenn neue Funktionen vom React-Team angekündigt werden sie, sollten sie mit den [Projektziele]n im Hinterkopf nützlich sein, zu Preacts Kern hinzugefügt. Dies ist ein recht demokratischer Prozess, der von sich konstant entwickelnden Diskussionen und Entscheidungen der Masse gezeichnet ist. Er lebt von Issues und Pull Requests. |
There was a problem hiding this comment.
...vom React-Team angekündigt werden sie, sollten sie... -> ...vom React-Team angekündigt werden, sollten sie...
There was a problem hiding this comment.
Also das 'angekündigt werden,' irritiert mich maßgeblich
There was a problem hiding this comment.
Vielleicht sollte der ganze Satz besser umformuliert werden :)
| - [Children]: Nicht notwendig in Preact, da `props.children` _immer ein Array_ ist. | ||
| - _`React.Children` ist vollständig in [preact-compat] unterstützt._ | ||
| - Synthetisch Ereignisse: Preacts Ziel in der Browserunterstützung setzt diesen zusätzlichen Mehraufwand nicht vorraus. | ||
| - Synthetische Ereignisse: Preacts Ziel in der Browserunterstützung setzt diesen zusätzlichen Mehraufwand nicht vorraus. |
There was a problem hiding this comment.
Sounds strange translating events to Ereignisse. It is the correct word in german but we usually do not translate technical terms. The german mdn docs don't translate events either: https://developer.mozilla.org/de/docs/Web/API/EventListener
|
|
||
|
|
||
| - `render()` akzeptiert ein drittes Argument, welches der Grundknoten zu _replace_ ist, andernfalls fügt es es hinzu. Dies könnte sich in einer zukünftigen Version ein wenig ändern, vermutlich durch automatische Erkennung der Angemessenheit eines Ersatzrenders mithilfe einer Inspizierung des Grundknoten. | ||
| - `render()` akzeptiert ein drittes Argument, welches der Grundknoten zu _replace_ ist, andernfalls fügt es es hinzu. Dies könnte sich in einer zukünftigen Version ein wenig ändern, vermutlich durch automatische Erkennung der Angemessenheit eines Ersatzrenders mithilfe einer Inspizierung des Grundknotens. |
There was a problem hiding this comment.
What is meant with es es?
| Der Stellenwert von Vererbung in JavaScript ist umstritten, wenn man allerdings eine eigene "Basisklasse" erstellen will, von der alle anderen Komponenten erben, ist Preact genau richtig. | ||
|
|
||
| Möglicherweise ist das Erstellen von automatischen Verbindungen zu Stores/Reducers in einer Flux-ähnlichen Architektur gewünsht. Vielleicht mag man es auch, Eigentums-basierte Mixins hinzuzufügen, damit es sich mehr wie `React.createClass` anfühlt _(Anmerkung: der [@`bind` decorator](https://github.com/developit/decko#bind) ist bevorzugt)_. | ||
| Möglicherweise ist das Erstellen von automatischen Verbindungen zu Stores/Reducers in einer Flux-ähnlichen Architektur gewünscht. Vielleicht mag man es auch, Eigentums-basierte Mixins hinzuzufügen, damit es sich mehr wie `React.createClass` anfühlt _(Anmerkung: der [@`bind` decorator](https://github.com/developit/decko#bind) ist bevorzugt)_. |
There was a problem hiding this comment.
Use english technical term for Eigentums-basierte Mixins.
| | `componentWillMount` | bevor die Komponente an das DOM eingehanden wird | | ||
| | `componentDidMount` | nachdem die Komponente an das DOM eingehanden wird | | ||
| | `componentWillMount` | bevor die Komponente in DOM eingebunden wird | | ||
| | `componentDidMount` | nachdem die Komponente in DOM eingebunden wurde | |
| Reacts Dokumentation zu ["Kontrollierten" Komponenten](https://facebook.github.io/react/docs/forms.html#controlled-components) und ["Unkontrollierten" Komponenten](https://facebook.github.io/react/docs/forms.html#uncontrolled-components) ist ungemein nützlich, wenn man verstehen möchte, wie man HTML-Eingabemasken mit bidirektionalem Datenfluss benutzt und sich diese im Kontext eines komponentenbasierten DOM-Renderer, welche normalerweise unidirektionale Datenflüsse haben, zu Nutze macht. | ||
|
|
||
| Generell sollte man versuchen, immer _Kontrollierte_ Komponenten zu verwenden. Trotzdem kann es beim Erstellen von unabhängigen Komponenten oder umschließenden Drittanbieter-UI-Bibliotheken sehr nützelich sein, die Komponente einfach als Mount-Punkt für Non-Preact-Funktionalitäten zu verwenden. In diesen Fällen sind _Unkontrollierte_ Komponenten genau richtig für die Aufgabe. | ||
| Generell sollte man versuchen, immer _Kontrollierte_ Komponenten zu verwenden. Trotzdem kann es beim Erstellen von unabhängigen Komponenten oder umschließenden Drittanbieter-UI-Bibliotheken sehr nützlich sein, die Komponente einfach als Mount-Punkt für Non-Preact-Funktionalitäten zu verwenden. In diesen Fällen sind _Unkontrollierte_ Komponenten genau richtig für die Aufgabe. |
| ## Kontrollbox & Radio Buttons | ||
|
|
||
| Kontrollboxe und Radio Buttons (`<input type="checkbox|radio">`) kann anfänglich für Verwirrung sorgen, wenn man kontrollierte Eingabemasken erstellt. Dies ist damit zu begründen, dass man in einer unkontrollieren Umgebung normalerweise dem Browser erlauben würden, eine Kontrollbox oder einen Radio Button für uns "umzuschalten" oder "anzukreuzen", auf Änderungsereignisse zu warten und auf den neuen Wert zu reagieren. Allerdings geht diese Technik nicht sonderlich gut in ein Weltbild über, in dem da UI immer wieder automatisch als Reaktion auf state- und prop-Änderungen aktualisiert wird. | ||
| Kontrollboxen und Radio Buttons (`<input type="checkbox|radio">`) können anfänglich für Verwirrung sorgen, wenn man kontrollierte Eingabemasken erstellt. Das liegt daran, dass man in einer unkontrollieren Umgebung normalerweise dem Browser erlauben würden, eine Kontrollbox oder einen Radio Button für uns "umzuschalten" oder "anzukreuzen", auf Änderungsereignisse zu warten und auf den neuen Wert zu reagieren. Allerdings funktioniert diese Technik nicht sonderlich gut in einem Szenario, in dem das UI immer wieder automatisch als Reaktion auf state- und prop-Änderungen aktualisiert wird. |
There was a problem hiding this comment.
...immer wieder automatisch auf state- und prop-Änderungen reagiert.
| Kontrollboxen und Radio Buttons (`<input type="checkbox|radio">`) können anfänglich für Verwirrung sorgen, wenn man kontrollierte Eingabemasken erstellt. Das liegt daran, dass man in einer unkontrollieren Umgebung normalerweise dem Browser erlauben würden, eine Kontrollbox oder einen Radio Button für uns "umzuschalten" oder "anzukreuzen", auf Änderungsereignisse zu warten und auf den neuen Wert zu reagieren. Allerdings funktioniert diese Technik nicht sonderlich gut in einem Szenario, in dem das UI immer wieder automatisch als Reaktion auf state- und prop-Änderungen aktualisiert wird. | ||
|
|
||
| > **Durchlauf:** Man geht davon aus, dass wir auf ein "Änderungs"ereignis einer Kontrollbox warten, welches ausgelöst wird, wenn die Kontrollbox ausgewählt oder aufgehoben wird. Der Änderungsereignis-Handler wird ein Wert in `state` dem neuen Wert, der von der Kontrollbox empfangen wird, zugeordnet. Dies löst das Neurendern der Komponente aus, was den Wert der Kontrollbox dem Wert von state neu zuordnen wird. Das ist allerdings unnötig, das wir gerade beim DOM einen Wert angefragt haben, ihm dann aber das Neurendern mit dem gewünschten Wert befohlen haben. | ||
| > **Durchlauf:** Nehmen wir an, dass wir auf ein "Änderungs"ereignis einer Kontrollbox warten, welches ausgelöst wird, wenn die Kontrollbox ausgewählt oder aufgehoben wird. Der Änderungsereignis-Handler wird ein Wert in `state` dem neuen Wert, der von der Kontrollbox empfangen wird, zugeordnet. Dies löst das Neurendern der Komponente aus, was den Wert der Kontrollbox dem Wert von state neu zuordnen wird. Das ist allerdings unnötig, da wir gerade beim DOM einen Wert angefragt haben, ihm dann aber das Neurendern mit dem gewünschten Wert befohlen haben. |
There was a problem hiding this comment.
"Änderungsereignis", better to use the english technical term, though
| |-----------------------------|--------------------------------------------------------------| | ||
| | `componentWillMount` | bevor die Komponente an das DOM eingehanden wird | | ||
| | `componentDidMount` | nachdem die Komponente an das DOM eingehanden wird | | ||
| | `componentWillMount` | bevor die Komponente in DOM eingebunden wird | |
| | `componentWillMount` | bevor die Komponente an das DOM eingehanden wird | | ||
| | `componentDidMount` | nachdem die Komponente an das DOM eingehanden wird | | ||
| | `componentWillMount` | bevor die Komponente in DOM eingebunden wird | | ||
| | `componentDidMount` | nachdem die Komponente in DOM eingebunden wurde | |
| Glücklicherweise gibt es eine Lösung in Form von Preacts [`linkState`](https://github.com/developit/linkstate)-Modul. | ||
|
|
||
| > Frühere Versionen von Preact hatten die `linkState()`-Funktion bereits von Grund auf eingebaut, sie wurde mittlerweile aber in ein seperates Modul verschoben. Wenn man zum alten Verhalten zurückwechseln möchte, findet man auf [dieser Seite](https://github.com/developit/linkstate#usage) Informationen zur Anwendung dieses Polyfills. | ||
| > Frühere Versionen von Preact hatten die `linkState()`-Funktion bereits von Grund auf implementiert, sie wurde mittlerweile aber in ein seperates Modul verschoben. Wenn man zum alten Verhalten zurückwechseln möchte, findet man auf [dieser Seite](https://github.com/developit/linkstate#usage) Informationen zur Anwendung dieses Polyfills. |
There was a problem hiding this comment.
von Grund auf -> von Haus aus
| > Frühere Versionen von Preact hatten die `linkState()`-Funktion bereits von Grund auf implementiert, sie wurde mittlerweile aber in ein seperates Modul verschoben. Wenn man zum alten Verhalten zurückwechseln möchte, findet man auf [dieser Seite](https://github.com/developit/linkstate#usage) Informationen zur Anwendung dieses Polyfills. | ||
|
|
||
| Das Aufrufen von `linkState(this, 'text')` gibt eine Handler-Funktion aus, die, falls an diese ein Ereignis weitergegeben wird, seinen zugewiesen Wert zum Aktualisieren der bestimmten Property des States der Komponente benutzt. Mehrere Aufrufe an `linkState(component, name)` mit der selben `component` und `name` werde gecached, sodass man nicht mit Leistungseinbuße rechnen muss. | ||
| Das Aufrufen von `linkState(this, 'text')` gibt eine Handler-Funktion aus, die, falls an diese ein Ereignis weitergegeben wird, seinen zugewiesen Wert zum Aktualisieren der bestimmten Property des States der Komponente benutzt. Mehrere Aufrufe an `linkState(component, name)` mit der selben `component` und `name` werde gecached, sodass man nicht mit Leistungseinbußen rechnen muss. |
|
Vielen herzlichen Dank Marvin, well done |
| <h3>Weniger Skripte laden</h3> | ||
| </div> | ||
| <p class="_summary">Preact's [kleine Größe](/about/project-goals) ist sehr wertvoll, wenn nur ein begränztes Ladezeitenkontingent verfügbar ist. Man kann davon ausgehen, dass das Laden von großen JavaScript-Bibliotheken mit mobilen Endgeräten immense Wartezeiten bis zur Benutzbarkeit der Applikation führen kann. Das Laden, Evaluieren und Berechnen der Skripte ist zu ressourcenhungrig. Das Reduzieren der Größe von Bibliotheken führt automatisch zu verbesserten Ladezeiten, da folglich auch weniger Code geladen und berechnet werden muss.</p> | ||
| <p class="_summary">Preact's [kleine Größe](/about/project-goals) ist sehr wertvoll, wenn nur ein begrenztes Ladezeitenkontingent verfügbar ist. Man kann davon ausgehen, dass das Laden von großen JavaScript-Bibliotheken mit mobilen Endgeräten immense Wartezeiten bis zur Benutzbarkeit der Applikation führen kann. Das Laden, Evaluieren und Berechnen der Skripte ist zu ressourcenhungrig. Das Reduzieren der Größe von Bibliotheken führt automatisch zu verbesserten Ladezeiten, da folglich auch weniger Code geladen und berechnet werden muss.</p> |
There was a problem hiding this comment.
I'd prefer to write it like [...] zu immensen Wartezeiten [...] führen kann.
"Man kann davon ausgehen, dass das Laden von großen JavaScript-Bibliotheken mit mobilen Endgeräten zu immensen Wartezeiten bis zur Benutzbarkeit der Applikation führen kann." (edited)
There was a problem hiding this comment.
Danke, habs dazugegeben :)
|
Maybe we can merge this one year after? |
|
I should think so! Couple of minor conflicts to resolve but we should definitely get this out. @marvinhagemeister - think we're good to sign off on this? |
|
Any updates on this? |
Unfortunately my English/German is not so good to simplify further.