You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: i18n/README.md
+15-14Lines changed: 15 additions & 14 deletions
Original file line number
Diff line number
Diff line change
@@ -4,36 +4,37 @@ The [original English version](http://jpapa.me/ngstyles) is the source of truth,
4
4
5
5
*All translations are created by and maintained by the community.*
6
6
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
+
16
17
17
18
## 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.
19
20
20
21
All translations must preserve the intention of the original document.
21
22
22
23
> 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.
23
24
24
-
### New Translations
25
+
### New Translations
25
26
1. Fork the repository
26
27
2. Create a translation file and name it using the 118n standard format.
27
28
3. Put this file in the i18n folder
28
29
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
30
31
31
32
Once you do these I will merge, point the translation links to it, and enter the translation credit to you.
32
33
33
-
### Updated Translations
34
+
### Updated Translations
34
35
1. Fork the repository
35
36
2. Make the translation changes
36
-
3. Make a Pull Request
37
+
3. Make a Pull Request
37
38
38
39
Once you do these I will merge, point the translation links to it, and enter the translation credit to you.
Copy file name to clipboardExpand all lines: i18n/de-DE.md
+24-28Lines changed: 24 additions & 28 deletions
Original file line number
Diff line number
Diff line change
@@ -2,10 +2,6 @@
2
2
3
3
*Dogmatischer Angular Styleguide für Teams von John Papa [@john_papa](//twitter.com/john_papa)*
4
4
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
-
9
5
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.
10
6
11
7
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
121
117
122
118
- Packen Sie Angular-Komponenten in eine Funktion, die sich sofort selbst ausführt (Immediately Invoked Function Expression, kurz: IIFE).
123
119
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
+
128
124
```javascript
129
125
/* zu vermeiden */
130
126
// logger.js
@@ -187,7 +183,7 @@ Während diese Anleitung das *Was*, *Warum* und *Wie* erklärt, finde ich es ebe
187
183
188
184
- Benutzen Sie eindeutige Namenskonventionen mit Trennzeichen für Untermodule.
189
185
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.
191
187
192
188
### Definitionen (auch: Setter)
193
189
###### [Style [Y021](#style-y021)]
@@ -622,7 +618,7 @@ Während diese Anleitung das *Was*, *Warum* und *Wie* erklärt, finde ich es ebe
622
618
623
619
- 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.
624
620
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.
626
622
627
623
628
624
### Controller zuweisen
@@ -802,7 +798,7 @@ Während diese Anleitung das *Was*, *Warum* und *Wie* erklärt, finde ich es ebe
802
798
*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.
803
799
804
800
*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
+
806
802
*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.
807
803
808
804
*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
974
970
975
971
- Wenn Sie einen Datenservice ansprechen, der einen Promise wie `$http` zurückliefert, so liefern Sie in Ihrer aufrufenden Funktion ebenso einen Promise zurück.
976
972
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.
978
974
979
975
```javascript
980
976
/* empfohlen */
@@ -984,7 +980,7 @@ Während diese Anleitung das *Was*, *Warum* und *Wie* erklärt, finde ich es ebe
984
980
functionactivate() {
985
981
/**
986
982
* Schritt 1
987
-
* Bei der getAvengers Funktion nach den Avenger-Daten
983
+
* Bei der getAvengers Funktion nach den Avenger-Daten
988
984
* fragen und auf den Promise warten
989
985
*/
990
986
returngetAvengers().then(function() {
@@ -999,7 +995,7 @@ Während diese Anleitung das *Was*, *Warum* und *Wie* erklärt, finde ich es ebe
999
995
functiongetAvengers() {
1000
996
/**
1001
997
* Schritt 2
1002
-
* Beim Datenservice nach den Daten fragen und
998
+
* Beim Datenservice nach den Daten fragen und
1003
999
* auf den Promise warten
1004
1000
*/
1005
1001
returndataservice.getAvengers()
@@ -1022,7 +1018,7 @@ Während diese Anleitung das *Was*, *Warum* und *Wie* erklärt, finde ich es ebe
1022
1018
1023
1019
- Erstellen Sie eine Direktive pro Datei. Benennen Sie die Datei nach der Direktive.
1024
1020
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.
1026
1022
1027
1023
*Warum?*: Eine Direktive pro Datei ist einfach zu warten.
1028
1024
@@ -1062,7 +1058,7 @@ Während diese Anleitung das *Was*, *Warum* und *Wie* erklärt, finde ich es ebe
1062
1058
/* calendarRange.directive.js */
1063
1059
1064
1060
/**
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.
1066
1062
* @example<div acme-order-calendar-range></div>
1067
1063
*/
1068
1064
angular
@@ -1426,7 +1422,7 @@ Während diese Anleitung das *Was*, *Warum* und *Wie* erklärt, finde ich es ebe
1426
1422
}
1427
1423
```
1428
1424
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.
1430
1426
1431
1427
```javascript
1432
1428
/* noch besser */
@@ -1472,7 +1468,7 @@ Während diese Anleitung das *Was*, *Warum* und *Wie* erklärt, finde ich es ebe
1472
1468
### Unsichere Minifizierung
1473
1469
###### [Style [Y090](#style-y090)]
1474
1470
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.
1476
1472
1477
1473
*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.
1478
1474
@@ -1607,7 +1603,7 @@ Während diese Anleitung das *Was*, *Warum* und *Wie* erklärt, finde ich es ebe
1607
1603
### ng-annotate
1608
1604
###### [Style [Y100](#style-y100)]
1609
1605
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.
1611
1607
1612
1608
*Warum?*: Dies schützt Ihren Code vor Abhängigkeiten, die keiner minifizierungssicheren Technik entsprechen.
1613
1609
@@ -1748,9 +1744,9 @@ Während diese Anleitung das *Was*, *Warum* und *Wie* erklärt, finde ich es ebe
1748
1744
};
1749
1745
/**
1750
1746
* 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
1754
1750
* ganz Ihnen.
1755
1751
*
1756
1752
* throw exception;
@@ -1844,7 +1840,7 @@ Während diese Anleitung das *Was*, *Warum* und *Wie* erklärt, finde ich es ebe
1844
1840
### Richtlinien der Namensgebung
1845
1841
###### [Style [Y120](#style-y120)]
1846
1842
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.
1848
1844
Meine empfohlenes Muster ist `feature.typ.js`. Es gibt zwei zu vergebene Namen für die meisten Komponenten:
1849
1845
* der Dateiname (`avengers.controller.js`)
1850
1846
* 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
2054
2050
### LIFT
2055
2051
###### [Style [Y140](#style-y140)]
2056
2052
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.
2058
2054
2059
2055
*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?"
2060
2056
@@ -2095,7 +2091,7 @@ Während diese Anleitung das *Was*, *Warum* und *Wie* erklärt, finde ich es ebe
2095
2091
2096
2092
- Wenn Sie einen Dateinamen sehen, sollten Sie sofort wissen, was die Datei beinhaltet und für was sie steht.
2097
2093
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.
2099
2095
2100
2096
### Flat (flache Struktur)
2101
2097
###### [Style [Y143](#style-y143)]
@@ -2769,8 +2765,8 @@ Unit-Tests tragen dazu bei, sauberen Code zu erhalten. Daher habe ich einige mei
2769
2765
2770
2766
- 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.
2771
2767
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
+
2774
2770
*Warum?*: Konstanten können in jede Angular-Komponente (auch in einen Provider) eingefügt werden.
2775
2771
2776
2772
*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
Copy file name to clipboardExpand all lines: i18n/es-ES.md
-4Lines changed: 0 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -2,10 +2,6 @@
2
2
3
3
*Guía de estilos colaborativa de Angular para equipos por [@john_papa](//twitter.com/john_papa)*
4
4
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
-
9
5
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.
10
6
11
7
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é.
Copy file name to clipboardExpand all lines: i18n/fr-FR.md
-2Lines changed: 0 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -2,8 +2,6 @@
2
2
3
3
*Guide de style par subjectif pour Angular par [@john_papa](//twitter.com/john_papa)*
4
4
5
-
*Traduit par [Eric Lemerdy](https://github.com/ericlemerdy) et [Xavier Haniquaut](https://github.com/xavhan)*
6
-
7
5
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.
8
6
9
7
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