Skip to content

Commit 7a3eda5

Browse files
committed
Merge pull request johnpapa#500 from xavhan/translatorsCreditsInI18nREADME
Credits for the translators in the i18n/README.md
2 parents b765eab + 8f72dee commit 7a3eda5

File tree

10 files changed

+818
-848
lines changed

10 files changed

+818
-848
lines changed

i18n/PT-BR.md

Lines changed: 153 additions & 155 deletions
Large diffs are not rendered by default.

i18n/README.md

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,36 +4,37 @@ The [original English version](http://jpapa.me/ngstyles) is the source of truth,
44

55
*All translations are created by and maintained by the community.*
66

7-
1. [French](fr-FR.md)
8-
2. [German](de-DE.md)
9-
3. [Italian](it-IT.md)
10-
4. [Japanese](ja-JP.md)
11-
5. [Macedonian](mk-MK.md)
12-
6. [Portuguese-Brazil](PT-BR.md)
13-
7. [Russian](ru-RU.md)
14-
8. [Simplified Chinese](zh-CN.md)
15-
9. [Spanish](es-ES.md)
7+
1. [French](fr-FR.md) by [Eric Le Merdy](https://github.com/ericlemerdy) and [Xavier Haniquaut] (@xavhan)
8+
1. [German](de-DE.md) by [Michael Seeger](https://github.com/miseeger), [Sascha Hagedorn](https://github.com/saesh) and [Johannes Weber](https://github.com/johannes-weber)
9+
1. [Italian](it-IT.md) by [Angelo Chiello](https://github.com/angelochiello)
10+
1. [Japanese](ja-JP.md) by [@noritamago](https://github.com/noritamago)
11+
1. [Macedonian](mk-MK.md) by [Aleksandar Bogatinov](https://github.com/Bogatinov)
12+
1. [Portuguese-Brazil](PT-BR.md) by [Vinicius Sabadim Fernandes](https://github.com/vinicius-sabadim)
13+
1. [Russian](ru-RU.md) by [Vasiliy Mazhekin](https://github.com/mazhekin)
14+
1. [Simplified Chinese](zh-CN.md) by [Zhao Ke](https://github.com/natee)
15+
1. [Spanish](es-ES.md) by [Alberto Calleja](https://github.com/AlbertoImpl) and [Gilberto](https://github.com/ingilniero)
16+
1617

1718
## Contributing
18-
Language translations are welcomed and encouraged. The success of these translations depends on the community. I highly encourage new translation contributions and help to keep them up to date.
19+
Language translations are welcomed and encouraged. The success of these translations depends on the community. I highly encourage new translation contributions and help to keep them up to date.
1920

2021
All translations must preserve the intention of the original document.
2122

2223
> All contributions fall under the [MIT License of this repository](https://github.com/johnpapa/angularjs-styleguide#license). In other words, you would be providing these free to the community.
2324
24-
### New Translations
25+
### New Translations
2526
1. Fork the repository
2627
2. Create a translation file and name it using the 118n standard format.
2728
3. Put this file in the i18n folder
2829
4. Translate the original English version to be current with the latest changes
29-
3. Make a Pull Request
30+
3. Make a Pull Request
3031

3132
Once you do these I will merge, point the translation links to it, and enter the translation credit to you.
3233

33-
### Updated Translations
34+
### Updated Translations
3435
1. Fork the repository
3536
2. Make the translation changes
36-
3. Make a Pull Request
37+
3. Make a Pull Request
3738

3839
Once you do these I will merge, point the translation links to it, and enter the translation credit to you.
3940

i18n/de-DE.md

Lines changed: 24 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,6 @@
22

33
*Dogmatischer Angular Styleguide für Teams von John Papa [@john_papa](//twitter.com/john_papa)*
44

5-
*Translated by [miseeger](https://github.com/miseeger)*
6-
7-
>The [original English version](http://jpapa.me/ngstyles) is the source of truth, as it is maintained and updated first.
8-
95
Sind Sie auf der Suche nach einem dogmatischen Styleguide zur Syntax, zu Konventionen und zur Struktur von Angular-Anwendungen, dann treten Sie näher. Diese Vorlagen basieren auf meinen Erfahrungen mit [Angular](//angularjs.org), Präsentationen, [Pluralsight Trainingskursen](http://pluralsight.com/training/Authors/Details/john-papa) und der Arbeit in Teams.
106

117
Der Zweck dieses Styleguides ist es, eine Anleitung für die Erstellung von Angular-Anwendungen bereitzustellen, indem ich die Konventionen, die ich nutze, zeige und - wichtiger als das - beschreibe, warum ich sie wähle.
@@ -121,10 +117,10 @@ Während diese Anleitung das *Was*, *Warum* und *Wie* erklärt, finde ich es ebe
121117

122118
- Packen Sie Angular-Komponenten in eine Funktion, die sich sofort selbst ausführt (Immediately Invoked Function Expression, kurz: IIFE).
123119

124-
*Warum?*: Eine IIFE entfernt Variablen aus dem global scope. Dies verhindert, dass Variablen- und Funktionsdeklarationen länger als erwartet im global scope bleiben. Und es verhindert zusätzlich, Kollisionen bei Variablen zu verhindern.
125-
126-
*Warum?*: Wird Ihr Code für das Deployment auf einem Produktionsserver minifiziert und in einer einzigen Datei zusammengepackt, kann es zur Kollision von Variablen (auch globalen) kommen. Eine IIFE schützt Sie hiervor, indem sie den Gültigkeitsbereich der Variablen auf die jeweilige Datei beschränkt.
127-
120+
*Warum?*: Eine IIFE entfernt Variablen aus dem global scope. Dies verhindert, dass Variablen- und Funktionsdeklarationen länger als erwartet im global scope bleiben. Und es verhindert zusätzlich, Kollisionen bei Variablen zu verhindern.
121+
122+
*Warum?*: Wird Ihr Code für das Deployment auf einem Produktionsserver minifiziert und in einer einzigen Datei zusammengepackt, kann es zur Kollision von Variablen (auch globalen) kommen. Eine IIFE schützt Sie hiervor, indem sie den Gültigkeitsbereich der Variablen auf die jeweilige Datei beschränkt.
123+
128124
```javascript
129125
/* zu vermeiden */
130126
// logger.js
@@ -187,7 +183,7 @@ Während diese Anleitung das *Was*, *Warum* und *Wie* erklärt, finde ich es ebe
187183

188184
- Benutzen Sie eindeutige Namenskonventionen mit Trennzeichen für Untermodule.
189185

190-
*Warum?*: Eindeutige Namen helfen Kollisionen bei Modulnamen zu verhindern. Trennzeichen helfen bei der Definition von Modulen und deren Untermodul-Hierarchie. Zum Beispiel kann `app` Ihr Root-Modul sein, während `app.dashboard` und `app.users` Module sein können, die von `app` als Abhängigkeiten genutzt werden.
186+
*Warum?*: Eindeutige Namen helfen Kollisionen bei Modulnamen zu verhindern. Trennzeichen helfen bei der Definition von Modulen und deren Untermodul-Hierarchie. Zum Beispiel kann `app` Ihr Root-Modul sein, während `app.dashboard` und `app.users` Module sein können, die von `app` als Abhängigkeiten genutzt werden.
191187

192188
### Definitionen (auch: Setter)
193189
###### [Style [Y021](#style-y021)]
@@ -622,7 +618,7 @@ Während diese Anleitung das *Was*, *Warum* und *Wie* erklärt, finde ich es ebe
622618
623619
- Definieren Sie einen Controller für einen View und versuchen Sie nicht, diesen Controller für weitere Views zu verwenden. Verlagern Sie stattdessen wiederzuverwendende Logik in Factories und halten Sie den Controller einfach und ausgerichtet auf seinen View.
624620
625-
*Warum?*: Controller in mehreren Views wiederzuverwenden ist kritisch und bedingt eine gute End-Zu-End (e2e) Testabdeckung, um die Stabilität in großen Anwendungen zu garantieren.
621+
*Warum?*: Controller in mehreren Views wiederzuverwenden ist kritisch und bedingt eine gute End-Zu-End (e2e) Testabdeckung, um die Stabilität in großen Anwendungen zu garantieren.
626622
627623
628624
### Controller zuweisen
@@ -802,7 +798,7 @@ Während diese Anleitung das *Was*, *Warum* und *Wie* erklärt, finde ich es ebe
802798
*Warum?*: Das Platzieren der Implementierungsdetails einer Funktion weiter unten in der Datei, hält diese Codemenge außer Sicht und Sie sehen die wichtigen Dinge am Anfang.
803799
804800
*Warum?*: Funktionsdeklarationen werden "nach oben gezogen" (sog. Hoisting), so dass es keine Probleme damit gibt, ob eine Funktion vor ihrer Benutzung deklariert werden sollte (wie es bei Funktionsausdrücken der Fall wäre).
805-
801+
806802
*Warum?*: Sie müssen sich niemals Sorgen darum machen, wenn Sie in Funktionsdeklarationen `var a` vor `var b` platzieren, weil `a` von `b` abhängig ist.
807803
808804
*Warum?*: Die Reihenfolge ist kritisch in Funktionsausdrücken.
@@ -974,7 +970,7 @@ Während diese Anleitung das *Was*, *Warum* und *Wie* erklärt, finde ich es ebe
974970
975971
- Wenn Sie einen Datenservice ansprechen, der einen Promise wie `$http` zurückliefert, so liefern Sie in Ihrer aufrufenden Funktion ebenso einen Promise zurück.
976972
977-
*Warum?*: Sie können die Promises aneinanderhängen und weitere Aktionen ausführen, wenn der Datenabruf beendet ist und den Promise im Erfolgsfall entweder auflöst oder bei Fehlschlagen zurückweist.
973+
*Warum?*: Sie können die Promises aneinanderhängen und weitere Aktionen ausführen, wenn der Datenabruf beendet ist und den Promise im Erfolgsfall entweder auflöst oder bei Fehlschlagen zurückweist.
978974
979975
```javascript
980976
/* empfohlen */
@@ -984,7 +980,7 @@ Während diese Anleitung das *Was*, *Warum* und *Wie* erklärt, finde ich es ebe
984980
function activate() {
985981
/**
986982
* Schritt 1
987-
* Bei der getAvengers Funktion nach den Avenger-Daten
983+
* Bei der getAvengers Funktion nach den Avenger-Daten
988984
* fragen und auf den Promise warten
989985
*/
990986
return getAvengers().then(function() {
@@ -999,7 +995,7 @@ Während diese Anleitung das *Was*, *Warum* und *Wie* erklärt, finde ich es ebe
999995
function getAvengers() {
1000996
/**
1001997
* Schritt 2
1002-
* Beim Datenservice nach den Daten fragen und
998+
* Beim Datenservice nach den Daten fragen und
1003999
* auf den Promise warten
10041000
*/
10051001
return dataservice.getAvengers()
@@ -1022,7 +1018,7 @@ Während diese Anleitung das *Was*, *Warum* und *Wie* erklärt, finde ich es ebe
10221018
10231019
- Erstellen Sie eine Direktive pro Datei. Benennen Sie die Datei nach der Direktive.
10241020
1025-
*Warum?*: Es ist einfach, alle Direktiven in einer Datei zu halten, aber schwer, sie dann wieder herauszulösen sodass sie zwischen Anwendungen oder Modulen ausgetauscht werden können oder einfach nur in einem Modulzu genutzt werden.
1021+
*Warum?*: Es ist einfach, alle Direktiven in einer Datei zu halten, aber schwer, sie dann wieder herauszulösen sodass sie zwischen Anwendungen oder Modulen ausgetauscht werden können oder einfach nur in einem Modulzu genutzt werden.
10261022
10271023
*Warum?*: Eine Direktive pro Datei ist einfach zu warten.
10281024
@@ -1062,7 +1058,7 @@ Während diese Anleitung das *Was*, *Warum* und *Wie* erklärt, finde ich es ebe
10621058
/* calendarRange.directive.js */
10631059

10641060
/**
1065-
* @desc Bestell-Direktive, die speziell für das Bestell-Modul der Firma Acme bestimmt ist.
1061+
* @desc Bestell-Direktive, die speziell für das Bestell-Modul der Firma Acme bestimmt ist.
10661062
* @example <div acme-order-calendar-range></div>
10671063
*/
10681064
angular
@@ -1426,7 +1422,7 @@ Während diese Anleitung das *Was*, *Warum* und *Wie* erklärt, finde ich es ebe
14261422
}
14271423
```
14281424
1429-
Anmerkung: Das untenstehende Beispiel zeigt die Stellen, an denen die Route mit einer benannten Funktion aufgelöst wird. Das ist einfacher zu debuggen und vereinfacht auch die Handhabung von Dependency Injection.
1425+
Anmerkung: Das untenstehende Beispiel zeigt die Stellen, an denen die Route mit einer benannten Funktion aufgelöst wird. Das ist einfacher zu debuggen und vereinfacht auch die Handhabung von Dependency Injection.
14301426
14311427
```javascript
14321428
/* noch besser */
@@ -1472,7 +1468,7 @@ Während diese Anleitung das *Was*, *Warum* und *Wie* erklärt, finde ich es ebe
14721468
### Unsichere Minifizierung
14731469
###### [Style [Y090](#style-y090)]
14741470
1475-
- Vermeiden Sie es, die kurze Deklarationssyntax für Abhängigkeiten ohne einen für die Minifizierung sicheren Ansatz zu verwenden.
1471+
- Vermeiden Sie es, die kurze Deklarationssyntax für Abhängigkeiten ohne einen für die Minifizierung sicheren Ansatz zu verwenden.
14761472
14771473
*Warum?*: Die Parameter der Komponente (z. B. Controller, Factory, etc.) werden in abgekürzte Variablen gewandelt. So kann zum Beispiel aus `common` und `dataservice` ein `a` oder `b` werden, was von Angular nicht gefunden wird.
14781474
@@ -1607,7 +1603,7 @@ Während diese Anleitung das *Was*, *Warum* und *Wie* erklärt, finde ich es ebe
16071603
### ng-annotate
16081604
###### [Style [Y100](#style-y100)]
16091605
1610-
- Benutzen Sie [ng-annotate](//github.com/olov/ng-annotate) für [Gulp](http://gulpjs.com) oder [Grunt](http://gruntjs.com) und versehen Sie die Funktionen mit den notwendigen `/** @ngInject */`-Kommentaren, die für die "automatische" Dependency Injection genutzt werden sollen.
1606+
- Benutzen Sie [ng-annotate](//github.com/olov/ng-annotate) für [Gulp](http://gulpjs.com) oder [Grunt](http://gruntjs.com) und versehen Sie die Funktionen mit den notwendigen `/** @ngInject */`-Kommentaren, die für die "automatische" Dependency Injection genutzt werden sollen.
16111607
16121608
*Warum?*: Dies schützt Ihren Code vor Abhängigkeiten, die keiner minifizierungssicheren Technik entsprechen.
16131609
@@ -1748,9 +1744,9 @@ Während diese Anleitung das *Was*, *Warum* und *Wie* erklärt, finde ich es ebe
17481744
};
17491745
/**
17501746
* Der Fehler könnte zu einer Liste im Service oder
1751-
* zum $rootScope hinzugefügt werden oder bei einem
1752-
* Remote-Webserver oder lokal protokolliert oder
1753-
* einfach wieder hart "geworfen" werden. Es obliegt
1747+
* zum $rootScope hinzugefügt werden oder bei einem
1748+
* Remote-Webserver oder lokal protokolliert oder
1749+
* einfach wieder hart "geworfen" werden. Es obliegt
17541750
* ganz Ihnen.
17551751
*
17561752
* throw exception;
@@ -1844,7 +1840,7 @@ Während diese Anleitung das *Was*, *Warum* und *Wie* erklärt, finde ich es ebe
18441840
### Richtlinien der Namensgebung
18451841
###### [Style [Y120](#style-y120)]
18461842
1847-
- Benutzen Sie stimmige Namen für alle Komponenten, einem Muster folgend, welches die Hauptfunktionen (Features) einer Komponente und dann (optional) ihren Typ beschreibt.
1843+
- Benutzen Sie stimmige Namen für alle Komponenten, einem Muster folgend, welches die Hauptfunktionen (Features) einer Komponente und dann (optional) ihren Typ beschreibt.
18481844
Meine empfohlenes Muster ist `feature.typ.js`. Es gibt zwei zu vergebene Namen für die meisten Komponenten:
18491845
* der Dateiname (`avengers.controller.js`)
18501846
* der Name der bei Angular zu registrierenden Komponente (`AvengersController`)
@@ -2054,7 +2050,7 @@ Während diese Anleitung das *Was*, *Warum* und *Wie* erklärt, finde ich es ebe
20542050
### LIFT
20552051
###### [Style [Y140](#style-y140)]
20562052
2057-
- LIFT steht für `L`ocate (auffinden), `I`dentify (identifizieren), `F`lat (flach), T`ry to stay DRY` (versuchen Sie, Ihren Code nicht zu wiederholen). Das bedeutet also, Sie sollten Ihre Anwendung so strukturieren, dass Sie Ihren Code schnell auffinden und auf einen Blick identifizieren können, für was der Code gut ist. Dabei sollten Sie die Struktur so flach wie möglich halten. Vermeiden Sie es unbedingt, Ihren Code zu wiederholen.
2053+
- LIFT steht für `L`ocate (auffinden), `I`dentify (identifizieren), `F`lat (flach), T`ry to stay DRY` (versuchen Sie, Ihren Code nicht zu wiederholen). Das bedeutet also, Sie sollten Ihre Anwendung so strukturieren, dass Sie Ihren Code schnell auffinden und auf einen Blick identifizieren können, für was der Code gut ist. Dabei sollten Sie die Struktur so flach wie möglich halten. Vermeiden Sie es unbedingt, Ihren Code zu wiederholen.
20582054
20592055
*Warum LIFT?*: Bietet eine konsistente und gut skalierbare Struktur, ist modular und macht es einfacher die Effizienz eines Entwicklers zu steigern, weil er seinen Code schneller finden kann. Prüfen Sie Ihre Anwendungsstruktur, indem Sie sich fragen: Wie schnell kann ich all die Dateien, die zu einem Feature gehören öffnen und mit ihnen arbeiten?"
20602056
@@ -2095,7 +2091,7 @@ Während diese Anleitung das *Was*, *Warum* und *Wie* erklärt, finde ich es ebe
20952091
20962092
- Wenn Sie einen Dateinamen sehen, sollten Sie sofort wissen, was die Datei beinhaltet und für was sie steht.
20972093
2098-
*Warum?*: Sie brauchen weniger Zeit, um nach Ihrem Code zu suchen und werden so effizienter. Wenn das bedeutet, dass Sie längere Dateinamen brauchen, dann sei es so. Seien Sie beschreibend bei der Namensvergabe und sorgen Sie dafür, dass eine Datei nur eine Komponente enthält. Vermeiden Sie Dateien mir mehreren Controllern, Services oder gar mit beidem. Ich weiche von dieser Regel ab, wenn ich sehr kleine Features habe, die alle miteinander verbunden und leicht identifizierbar sind.
2094+
*Warum?*: Sie brauchen weniger Zeit, um nach Ihrem Code zu suchen und werden so effizienter. Wenn das bedeutet, dass Sie längere Dateinamen brauchen, dann sei es so. Seien Sie beschreibend bei der Namensvergabe und sorgen Sie dafür, dass eine Datei nur eine Komponente enthält. Vermeiden Sie Dateien mir mehreren Controllern, Services oder gar mit beidem. Ich weiche von dieser Regel ab, wenn ich sehr kleine Features habe, die alle miteinander verbunden und leicht identifizierbar sind.
20992095
21002096
### Flat (flache Struktur)
21012097
###### [Style [Y143](#style-y143)]
@@ -2769,8 +2765,8 @@ Unit-Tests tragen dazu bei, sauberen Code zu erhalten. Daher habe ich einige mei
27692765
27702766
- Benutzen Sie Konstanten für Werte, die sich nicht ändern und nicht aus einem anderen Service kommen. Wenn Konstanten nur für ein bestimmtes Modul gebraucht werden, welches zudem wiederverwendbar sein soll, dann platzieren Sie die Konstanten in einer Datei (pro Modul) und benennen Sie die Datei nach dem Modul. Bis dahin halten Sie die Konstanten im Hauptmodul in einer `constants.js`-Datei.
27712767
2772-
*Warum?*: Ein Wert, der sich ändert - wenn auch nur unregelmäßig - sollte von einem Service ermittelt werden, so dass er nicht im Quellcode geändert werden muss. Zum Beispiel könnte eine URL für einen Datenservice in einer Konstanten abgelegt werden. Besser wäre es aber, diesen Wert über einen WebService zu ermitteln.
2773-
2768+
*Warum?*: Ein Wert, der sich ändert - wenn auch nur unregelmäßig - sollte von einem Service ermittelt werden, so dass er nicht im Quellcode geändert werden muss. Zum Beispiel könnte eine URL für einen Datenservice in einer Konstanten abgelegt werden. Besser wäre es aber, diesen Wert über einen WebService zu ermitteln.
2769+
27742770
*Warum?*: Konstanten können in jede Angular-Komponente (auch in einen Provider) eingefügt werden.
27752771
27762772
*Warum?*: Ist eine Anwendung in Module unterteilt, die in anderen Anwendungen genutzt werden können, so sollte jedes alleinstehende Modul für sich selbst funktionieren, eingeschlossen seiner Konstanten.
@@ -3051,7 +3047,7 @@ Nutzen Sie [Gulp](http://gulpjs.com) oder [Grunt](http://gruntjs.com), um Aufgab
30513047
```javascript
30523048
var clientApp = './src/client/app/';
30533049

3054-
// Immer zuerst die Moduldateien
3050+
// Immer zuerst die Moduldateien
30553051
var files = [
30563052
clientApp + '**/*.module.js',
30573053
clientApp + '**/*.js'

i18n/es-ES.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,6 @@
22

33
*Guía de estilos colaborativa de Angular para equipos por [@john_papa](//twitter.com/john_papa)*
44

5-
*Translation by [Alberto Calleja](https://github.com/AlbertoImpl) and [Gilberto](https://github.com/ingilniero)*
6-
7-
>The [original English version](http://jpapa.me/ngstyles) is the source of truth, as it is maintained and updated first.
8-
95
Si estás buscando una guía colaborativa sobre sintaxis, convenciones y estructura de aplicaciones con AngulRJS, este es el sitio. Estos estilos están basados en mi experiencia desarrollando con [AngularJS](//angularjs.org), persentaciones, [Cursos en Pluralsight](http://pluralsight.com/training/Authors/Details/john-papa) y trabajando en equipos.
106

117
El propósito de esta guía de estilos es proporcionar una guía de cómo construir aplicaciones con Angular enseñando convenciones que uso y, lo más importante, el porqué.

i18n/fr-FR.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22

33
*Guide de style par subjectif pour Angular par [@john_papa](//twitter.com/john_papa)*
44

5-
*Traduit par [Eric Lemerdy](https://github.com/ericlemerdy) et [Xavier Haniquaut](https://github.com/xavhan)*
6-
75
Si vous cherchez un guide de style pour la syntaxe, les conventions, et la structuration d'applications Angular, alors vous êtes au bon endroit. Ces styles sont basés sur mon expérience de développement avec [Angular](//angularjs.org), mes présentations, [mes cours sur Pluralsight](http://pluralsight.com/training/Authors/Details/john-papa) et mon travail au sein de diverses équipes.
86

97
Le but de ce guide de style est de proposer des conseils sur le développement d'applications Angular en exposant les conventions que j'utilise et plus important encore, pourquoi je les ai choisies.

0 commit comments

Comments
 (0)