Completed
Push — master ( 647eb8...49aeea )
by cam
01:18 queued 13s
created
ecrire/lang/spip_de.php 1 patch
Indentation   +669 added lines, -669 removed lines patch added patch discarded remove patch
@@ -4,248 +4,248 @@  discard block
 block discarded – undo
4 4
 // ** ne pas modifier le fichier **
5 5
 
6 6
 if (!defined('_ECRIRE_INC_VERSION')) {
7
-	return;
7
+    return;
8 8
 }
9 9
 
10 10
 $GLOBALS[$GLOBALS['idx_lang']] = array(
11 11
 
12
-	// A
13
-	'access_interface_graphique' => 'Zurück zur vollständigen grafischen Oberfläche',
14
-	'access_mode_texte' => 'vereinfachtes Interface als Textversion anzeigen',
15
-	'admin_debug' => 'Debug',
16
-	'admin_modifier_article' => 'Artikel bearbeiten',
17
-	'admin_modifier_auteur' => 'Autor bearbeiten',
18
-	'admin_modifier_breve' => 'Meldung bearbeiten',
19
-	'admin_modifier_mot' => 'Schlagwort bearbeiten',
20
-	'admin_modifier_rubrique' => 'Rubrik bearbeiten',
21
-	'admin_recalculer' => 'Seite aus Cache löschen',
22
-	'afficher_calendrier' => 'Kalender anzeigen',
23
-	'afficher_trad' => 'Übersetzungen anzeigen',
24
-	'alerte_maj_impossible' => '<b>Achtung!</b> Ihre SQL Datenbank konnte nicht auf die Version @version@ umgestellt werden. Möglicherweise gibt es ein Problem mit den Zugriffsrechten. Bitte setzen Sie sich mit Ihrem Webspace-Provider in Verbindung.',
25
-	'alerte_modif_info_concourante' => 'Achtung - diese Information wurde auf anderem Weg modifiziert. Der aktuelle Wert lautet:',
26
-	'analyse_xml' => 'XML-Analyse',
27
-	'annuler' => 'Abbrechen',
28
-	'antispam_champ_vide' => 'Bitte lassen Sie dieses Feld leer:',
29
-	'articles_recents' => 'Die neuesten Artikel',
30
-	'attention_champ_mini_nb_caractères' => 'Achtung! Mindestens @nb@ Zeichen',
31
-	'avis_1_erreur_saisie' => 'Ihre Eingabe enthält einen Fehler, bitte überprüfen Sie die Informationen.',
32
-	'avis_archive_incorrect' => 'Die archivierte Datei ist keine SPIP-Datei',
33
-	'avis_archive_invalide' => 'Die archivierte Datei ist keine SPIP-Datei',
34
-	'avis_attention' => 'ACHTUNG!',
35
-	'avis_champ_incorrect_type_objet' => 'Falscher Objektname @name@ für Objekt vom Typ @type@',
36
-	'avis_colonne_inexistante' => 'Die Spalte @col@ existiert nicht',
37
-	'avis_erreur' => 'Fehler: Siehe unten',
38
-	'avis_erreur_connexion' => 'Verbindungsfehler',
39
-	'avis_erreur_cookie' => 'Cookie-Problem',
40
-	'avis_erreur_fonction_contexte' => 'Programmfehler. Diese Funktion darf nicht in diesem Zusammenhang aufgerufen werden.',
41
-	'avis_erreur_mysql' => 'SQL-Fehler',
42
-	'avis_erreur_sauvegarde' => 'Fehler in der Sicherung (@type@ @id_objet@) ! ',
43
-	'avis_erreur_visiteur' => 'Ein Problem beim Zugang zum Redaktionssystem ist aufgetreten.',
44
-	'avis_nb_erreurs_saisie' => 'Ihre Eingabe enthält @nb@ Fehler, bitte überprüfen Sie die Informationen.',
12
+    // A
13
+    'access_interface_graphique' => 'Zurück zur vollständigen grafischen Oberfläche',
14
+    'access_mode_texte' => 'vereinfachtes Interface als Textversion anzeigen',
15
+    'admin_debug' => 'Debug',
16
+    'admin_modifier_article' => 'Artikel bearbeiten',
17
+    'admin_modifier_auteur' => 'Autor bearbeiten',
18
+    'admin_modifier_breve' => 'Meldung bearbeiten',
19
+    'admin_modifier_mot' => 'Schlagwort bearbeiten',
20
+    'admin_modifier_rubrique' => 'Rubrik bearbeiten',
21
+    'admin_recalculer' => 'Seite aus Cache löschen',
22
+    'afficher_calendrier' => 'Kalender anzeigen',
23
+    'afficher_trad' => 'Übersetzungen anzeigen',
24
+    'alerte_maj_impossible' => '<b>Achtung!</b> Ihre SQL Datenbank konnte nicht auf die Version @version@ umgestellt werden. Möglicherweise gibt es ein Problem mit den Zugriffsrechten. Bitte setzen Sie sich mit Ihrem Webspace-Provider in Verbindung.',
25
+    'alerte_modif_info_concourante' => 'Achtung - diese Information wurde auf anderem Weg modifiziert. Der aktuelle Wert lautet:',
26
+    'analyse_xml' => 'XML-Analyse',
27
+    'annuler' => 'Abbrechen',
28
+    'antispam_champ_vide' => 'Bitte lassen Sie dieses Feld leer:',
29
+    'articles_recents' => 'Die neuesten Artikel',
30
+    'attention_champ_mini_nb_caractères' => 'Achtung! Mindestens @nb@ Zeichen',
31
+    'avis_1_erreur_saisie' => 'Ihre Eingabe enthält einen Fehler, bitte überprüfen Sie die Informationen.',
32
+    'avis_archive_incorrect' => 'Die archivierte Datei ist keine SPIP-Datei',
33
+    'avis_archive_invalide' => 'Die archivierte Datei ist keine SPIP-Datei',
34
+    'avis_attention' => 'ACHTUNG!',
35
+    'avis_champ_incorrect_type_objet' => 'Falscher Objektname @name@ für Objekt vom Typ @type@',
36
+    'avis_colonne_inexistante' => 'Die Spalte @col@ existiert nicht',
37
+    'avis_erreur' => 'Fehler: Siehe unten',
38
+    'avis_erreur_connexion' => 'Verbindungsfehler',
39
+    'avis_erreur_cookie' => 'Cookie-Problem',
40
+    'avis_erreur_fonction_contexte' => 'Programmfehler. Diese Funktion darf nicht in diesem Zusammenhang aufgerufen werden.',
41
+    'avis_erreur_mysql' => 'SQL-Fehler',
42
+    'avis_erreur_sauvegarde' => 'Fehler in der Sicherung (@type@ @id_objet@) ! ',
43
+    'avis_erreur_visiteur' => 'Ein Problem beim Zugang zum Redaktionssystem ist aufgetreten.',
44
+    'avis_nb_erreurs_saisie' => 'Ihre Eingabe enthält @nb@ Fehler, bitte überprüfen Sie die Informationen.',
45 45
 
46
-	// B
47
-	'barre_a_accent_grave' => 'Grosses A mit accent grave einfügen',
48
-	'barre_aide' => 'Verwende Sie die typografischen Kürzel, um Ihre Seite zu formatieren.',
49
-	'barre_e_accent_aigu' => 'Grosses E mit accent aigu einfügen',
50
-	'barre_eo' => 'Ein E in das O einfügen',
51
-	'barre_eo_maj' => 'Ein E in ein grosses O einfügen',
52
-	'barre_euro' => 'Symbol € einfügen',
53
-	'barre_gras' => '{{fett}} setzen',
54
-	'barre_guillemets' => 'In „Anführungszeichen“ setzen',
55
-	'barre_guillemets_simples' => 'In ‚Anführungszeichen‘ setzen',
56
-	'barre_intertitre' => 'in {{{Zwischentitel}}} umwandeln',
57
-	'barre_italic' => 'in {kursive} Schrift setzen',
58
-	'barre_lien' => 'in [Hyperlink->http://...] umwandeln',
59
-	'barre_lien_input' => 'Bitte geben Sie die Adresse Ihres Links an. Sie können das Format http://www.meinewebsite.com wählen, oder einfach die Nummer eines Artikels dieser Website angeben.',
60
-	'barre_note' => 'In [[Fussnote]] umwandeln',
61
-	'barre_paragraphe' => 'Neuen Absatz anlegen',
62
-	'barre_quote' => '<quote>Nachricht zitieren</quote>',
63
-	'bouton_changer' => 'Ändern',
64
-	'bouton_chercher' => 'Suchen',
65
-	'bouton_choisir' => 'Auswählen',
66
-	'bouton_deplacer' => 'Verschieben',
67
-	'bouton_download' => 'Runterladen',
68
-	'bouton_enregistrer' => 'Speichern',
69
-	'bouton_radio_desactiver_messagerie_interne' => 'Interne Nachrichten abschalten',
70
-	'bouton_radio_envoi_annonces' => 'Editorische Ankündigungen verschicken',
71
-	'bouton_radio_non_envoi_annonces' => 'Keine Ankündigungen verschicken',
72
-	'bouton_radio_non_envoi_liste_nouveautes' => 'Keine Liste der Neuigkeiten verschicken',
73
-	'bouton_recharger_page' => 'Seite neu laden',
74
-	'bouton_telecharger' => 'Runterladen',
75
-	'bouton_upload' => 'Hochladen',
76
-	'bouton_valider' => 'Bestätigen',
46
+    // B
47
+    'barre_a_accent_grave' => 'Grosses A mit accent grave einfügen',
48
+    'barre_aide' => 'Verwende Sie die typografischen Kürzel, um Ihre Seite zu formatieren.',
49
+    'barre_e_accent_aigu' => 'Grosses E mit accent aigu einfügen',
50
+    'barre_eo' => 'Ein E in das O einfügen',
51
+    'barre_eo_maj' => 'Ein E in ein grosses O einfügen',
52
+    'barre_euro' => 'Symbol € einfügen',
53
+    'barre_gras' => '{{fett}} setzen',
54
+    'barre_guillemets' => 'In „Anführungszeichen“ setzen',
55
+    'barre_guillemets_simples' => 'In ‚Anführungszeichen‘ setzen',
56
+    'barre_intertitre' => 'in {{{Zwischentitel}}} umwandeln',
57
+    'barre_italic' => 'in {kursive} Schrift setzen',
58
+    'barre_lien' => 'in [Hyperlink->http://...] umwandeln',
59
+    'barre_lien_input' => 'Bitte geben Sie die Adresse Ihres Links an. Sie können das Format http://www.meinewebsite.com wählen, oder einfach die Nummer eines Artikels dieser Website angeben.',
60
+    'barre_note' => 'In [[Fussnote]] umwandeln',
61
+    'barre_paragraphe' => 'Neuen Absatz anlegen',
62
+    'barre_quote' => '<quote>Nachricht zitieren</quote>',
63
+    'bouton_changer' => 'Ändern',
64
+    'bouton_chercher' => 'Suchen',
65
+    'bouton_choisir' => 'Auswählen',
66
+    'bouton_deplacer' => 'Verschieben',
67
+    'bouton_download' => 'Runterladen',
68
+    'bouton_enregistrer' => 'Speichern',
69
+    'bouton_radio_desactiver_messagerie_interne' => 'Interne Nachrichten abschalten',
70
+    'bouton_radio_envoi_annonces' => 'Editorische Ankündigungen verschicken',
71
+    'bouton_radio_non_envoi_annonces' => 'Keine Ankündigungen verschicken',
72
+    'bouton_radio_non_envoi_liste_nouveautes' => 'Keine Liste der Neuigkeiten verschicken',
73
+    'bouton_recharger_page' => 'Seite neu laden',
74
+    'bouton_telecharger' => 'Runterladen',
75
+    'bouton_upload' => 'Hochladen',
76
+    'bouton_valider' => 'Bestätigen',
77 77
 
78
-	// C
79
-	'cal_apresmidi' => 'nachmittags',
80
-	'cal_jour_entier' => 'ganztägig',
81
-	'cal_matin' => 'morgens',
82
-	'cal_par_jour' => 'Tageskalender',
83
-	'cal_par_mois' => 'Monatskalender',
84
-	'cal_par_semaine' => 'Wochenkalender',
85
-	'choix_couleur_interface' => 'Farbe',
86
-	'choix_interface' => 'Oberflächenfarbe',
87
-	'colonne' => 'Spalte',
88
-	'confirm_changer_statut' => 'Achtung, Sie werden den Status dieses Elementes ändern. Wollen Sie fortfahren?',
89
-	'correcte' => 'korrekt',
78
+    // C
79
+    'cal_apresmidi' => 'nachmittags',
80
+    'cal_jour_entier' => 'ganztägig',
81
+    'cal_matin' => 'morgens',
82
+    'cal_par_jour' => 'Tageskalender',
83
+    'cal_par_mois' => 'Monatskalender',
84
+    'cal_par_semaine' => 'Wochenkalender',
85
+    'choix_couleur_interface' => 'Farbe',
86
+    'choix_interface' => 'Oberflächenfarbe',
87
+    'colonne' => 'Spalte',
88
+    'confirm_changer_statut' => 'Achtung, Sie werden den Status dieses Elementes ändern. Wollen Sie fortfahren?',
89
+    'correcte' => 'korrekt',
90 90
 
91
-	// D
92
-	'date_aujourdhui' => 'heute',
93
-	'date_avant_jc' => 'v.u.Z.',
94
-	'date_dans' => 'in @delai@',
95
-	'date_de_mois_1' => '@j@ @nommois@',
96
-	'date_de_mois_10' => '@j@ @nommois@',
97
-	'date_de_mois_11' => '@j@ @nommois@',
98
-	'date_de_mois_12' => '@j@ @nommois@',
99
-	'date_de_mois_2' => '@j@ @nommois@',
100
-	'date_de_mois_3' => '@j@ @nommois@',
101
-	'date_de_mois_4' => '@j@ @nommois@',
102
-	'date_de_mois_5' => '@j@ @nommois@',
103
-	'date_de_mois_6' => '@j@ @nommois@',
104
-	'date_de_mois_7' => '@j@ @nommois@',
105
-	'date_de_mois_8' => '@j@ @nommois@',
106
-	'date_de_mois_9' => '@j@ @nommois@',
107
-	'date_demain' => 'morgen',
108
-	'date_fmt_heures_minutes' => '@h@ Uhr @m@ Minuten',
109
-	'date_fmt_heures_minutes_court' => '@h@:@m@',
110
-	'date_fmt_jour' => '@nomjour@ @jour@',
111
-	'date_fmt_jour_heure' => '@jour@ um @heure@',
112
-	'date_fmt_jour_heure_debut_fin' => '@jour@ von @heure_debut@ bis @heure_fin@',
113
-	'date_fmt_jour_heure_debut_fin_abbr' => '@dtstart@@jour@ von @heure_debut@@dtabbr@ bis @dtend@@heure_fin@@dtabbr@',
114
-	'date_fmt_jour_mois' => '@jour@. @nommois@',
115
-	'date_fmt_jour_mois_annee' => '@jour@. @nommois@ @annee@',
116
-	'date_fmt_mois_annee' => '@nommois@ @annee@',
117
-	'date_fmt_nomjour' => '@nomjour@ @date@.',
118
-	'date_fmt_nomjour_date' => 'am @nomjour@ @date@',
119
-	'date_fmt_periode' => 'Vom @date_debut@ bis zum @date_fin@',
120
-	'date_fmt_periode_abbr' => 'Vom @dtart@@date_debut@@dtabbr@ bis zum @dtend@@date_fin@@dtabbr@',
121
-	'date_fmt_periode_from' => 'Von',
122
-	'date_fmt_periode_to' => 'bis',
123
-	'date_fmt_saison_annee' => '@saison@ @annee@',
124
-	'date_heures' => 'Stunden',
125
-	'date_hier' => 'gestern',
126
-	'date_il_y_a' => 'vor @delai@',
127
-	'date_jnum1' => '1',
128
-	'date_jnum10' => '10',
129
-	'date_jnum11' => '11',
130
-	'date_jnum12' => '12',
131
-	'date_jnum13' => '13',
132
-	'date_jnum14' => '14',
133
-	'date_jnum15' => '15',
134
-	'date_jnum16' => '16',
135
-	'date_jnum17' => '17',
136
-	'date_jnum18' => '18',
137
-	'date_jnum19' => '19',
138
-	'date_jnum2' => '2',
139
-	'date_jnum20' => '20',
140
-	'date_jnum21' => '21',
141
-	'date_jnum22' => '22',
142
-	'date_jnum23' => '23',
143
-	'date_jnum24' => '24',
144
-	'date_jnum25' => '25',
145
-	'date_jnum26' => '26',
146
-	'date_jnum27' => '27',
147
-	'date_jnum28' => '28',
148
-	'date_jnum29' => '29',
149
-	'date_jnum3' => '3',
150
-	'date_jnum30' => '30',
151
-	'date_jnum31' => '31',
152
-	'date_jnum4' => '4',
153
-	'date_jnum5' => '5',
154
-	'date_jnum6' => '6',
155
-	'date_jnum7' => '7',
156
-	'date_jnum8' => '8',
157
-	'date_jnum9' => '9',
158
-	'date_jour_1' => 'Sonntag',
159
-	'date_jour_1_abbr' => 'So.',
160
-	'date_jour_1_initiale' => 'S',
161
-	'date_jour_2' => 'Montag',
162
-	'date_jour_2_abbr' => 'Mo.',
163
-	'date_jour_2_initiale' => 'M',
164
-	'date_jour_3' => 'Dienstag',
165
-	'date_jour_3_abbr' => 'Di.',
166
-	'date_jour_3_initiale' => 'D',
167
-	'date_jour_4' => 'Mittwoch',
168
-	'date_jour_4_abbr' => 'Mi.',
169
-	'date_jour_4_initiale' => 'M',
170
-	'date_jour_5' => 'Donnerstag',
171
-	'date_jour_5_abbr' => 'Do.',
172
-	'date_jour_5_initiale' => 'D',
173
-	'date_jour_6' => 'Freitag',
174
-	'date_jour_6_abbr' => 'Fr.',
175
-	'date_jour_6_initiale' => 'F',
176
-	'date_jour_7' => 'Samstag',
177
-	'date_jour_7_abbr' => 'Sa.',
178
-	'date_jour_7_initiale' => 'S',
179
-	'date_jours' => 'Tagen',
180
-	'date_minutes' => 'Minuten',
181
-	'date_mois' => 'Monaten',
182
-	'date_mois_1' => 'Januar',
183
-	'date_mois_10' => 'Oktober',
184
-	'date_mois_10_abbr' => 'Okt.',
185
-	'date_mois_11' => 'November',
186
-	'date_mois_11_abbr' => 'Nev.',
187
-	'date_mois_12' => 'Dezember',
188
-	'date_mois_12_abbr' => 'Dez.',
189
-	'date_mois_1_abbr' => 'Jan.',
190
-	'date_mois_2' => 'Februar',
191
-	'date_mois_2_abbr' => 'Feb.',
192
-	'date_mois_3' => 'März',
193
-	'date_mois_3_abbr' => 'Mrz.',
194
-	'date_mois_4' => 'April',
195
-	'date_mois_4_abbr' => 'Apr.',
196
-	'date_mois_5' => 'Mai',
197
-	'date_mois_5_abbr' => 'Mai',
198
-	'date_mois_6' => 'Juni',
199
-	'date_mois_6_abbr' => 'Jun.',
200
-	'date_mois_7' => 'Juli',
201
-	'date_mois_7_abbr' => 'Juli',
202
-	'date_mois_8' => 'August',
203
-	'date_mois_8_abbr' => 'Aug.',
204
-	'date_mois_9' => 'September',
205
-	'date_mois_9_abbr' => 'Sept.',
206
-	'date_saison_1' => 'Winter',
207
-	'date_saison_2' => 'Frühling',
208
-	'date_saison_3' => 'Sommer',
209
-	'date_saison_4' => 'unabhängig',
210
-	'date_secondes' => 'Sekunden',
211
-	'date_semaines' => 'Wochen',
212
-	'date_un_mois' => 'Monat',
213
-	'date_une_heure' => 'Stunde',
214
-	'date_une_minute' => 'Minute',
215
-	'date_une_seconde' => 'Sekunde',
216
-	'date_une_semaine' => 'Woche',
217
-	'dirs_commencer' => 'um die Installation wirklich zu starten',
218
-	'dirs_preliminaire' => 'Vorbereitung: <b>Berechtigungen einstellen</b>',
219
-	'dirs_probleme_droits' => 'Problem mit den Berechtigungen',
220
-	'dirs_repertoires_absents' => '<p><b>Folgende Verzeichnisse wurden nicht gefunden:</b></p><ul>@bad_dirs@</ul>
91
+    // D
92
+    'date_aujourdhui' => 'heute',
93
+    'date_avant_jc' => 'v.u.Z.',
94
+    'date_dans' => 'in @delai@',
95
+    'date_de_mois_1' => '@j@ @nommois@',
96
+    'date_de_mois_10' => '@j@ @nommois@',
97
+    'date_de_mois_11' => '@j@ @nommois@',
98
+    'date_de_mois_12' => '@j@ @nommois@',
99
+    'date_de_mois_2' => '@j@ @nommois@',
100
+    'date_de_mois_3' => '@j@ @nommois@',
101
+    'date_de_mois_4' => '@j@ @nommois@',
102
+    'date_de_mois_5' => '@j@ @nommois@',
103
+    'date_de_mois_6' => '@j@ @nommois@',
104
+    'date_de_mois_7' => '@j@ @nommois@',
105
+    'date_de_mois_8' => '@j@ @nommois@',
106
+    'date_de_mois_9' => '@j@ @nommois@',
107
+    'date_demain' => 'morgen',
108
+    'date_fmt_heures_minutes' => '@h@ Uhr @m@ Minuten',
109
+    'date_fmt_heures_minutes_court' => '@h@:@m@',
110
+    'date_fmt_jour' => '@nomjour@ @jour@',
111
+    'date_fmt_jour_heure' => '@jour@ um @heure@',
112
+    'date_fmt_jour_heure_debut_fin' => '@jour@ von @heure_debut@ bis @heure_fin@',
113
+    'date_fmt_jour_heure_debut_fin_abbr' => '@dtstart@@jour@ von @heure_debut@@dtabbr@ bis @dtend@@heure_fin@@dtabbr@',
114
+    'date_fmt_jour_mois' => '@jour@. @nommois@',
115
+    'date_fmt_jour_mois_annee' => '@jour@. @nommois@ @annee@',
116
+    'date_fmt_mois_annee' => '@nommois@ @annee@',
117
+    'date_fmt_nomjour' => '@nomjour@ @date@.',
118
+    'date_fmt_nomjour_date' => 'am @nomjour@ @date@',
119
+    'date_fmt_periode' => 'Vom @date_debut@ bis zum @date_fin@',
120
+    'date_fmt_periode_abbr' => 'Vom @dtart@@date_debut@@dtabbr@ bis zum @dtend@@date_fin@@dtabbr@',
121
+    'date_fmt_periode_from' => 'Von',
122
+    'date_fmt_periode_to' => 'bis',
123
+    'date_fmt_saison_annee' => '@saison@ @annee@',
124
+    'date_heures' => 'Stunden',
125
+    'date_hier' => 'gestern',
126
+    'date_il_y_a' => 'vor @delai@',
127
+    'date_jnum1' => '1',
128
+    'date_jnum10' => '10',
129
+    'date_jnum11' => '11',
130
+    'date_jnum12' => '12',
131
+    'date_jnum13' => '13',
132
+    'date_jnum14' => '14',
133
+    'date_jnum15' => '15',
134
+    'date_jnum16' => '16',
135
+    'date_jnum17' => '17',
136
+    'date_jnum18' => '18',
137
+    'date_jnum19' => '19',
138
+    'date_jnum2' => '2',
139
+    'date_jnum20' => '20',
140
+    'date_jnum21' => '21',
141
+    'date_jnum22' => '22',
142
+    'date_jnum23' => '23',
143
+    'date_jnum24' => '24',
144
+    'date_jnum25' => '25',
145
+    'date_jnum26' => '26',
146
+    'date_jnum27' => '27',
147
+    'date_jnum28' => '28',
148
+    'date_jnum29' => '29',
149
+    'date_jnum3' => '3',
150
+    'date_jnum30' => '30',
151
+    'date_jnum31' => '31',
152
+    'date_jnum4' => '4',
153
+    'date_jnum5' => '5',
154
+    'date_jnum6' => '6',
155
+    'date_jnum7' => '7',
156
+    'date_jnum8' => '8',
157
+    'date_jnum9' => '9',
158
+    'date_jour_1' => 'Sonntag',
159
+    'date_jour_1_abbr' => 'So.',
160
+    'date_jour_1_initiale' => 'S',
161
+    'date_jour_2' => 'Montag',
162
+    'date_jour_2_abbr' => 'Mo.',
163
+    'date_jour_2_initiale' => 'M',
164
+    'date_jour_3' => 'Dienstag',
165
+    'date_jour_3_abbr' => 'Di.',
166
+    'date_jour_3_initiale' => 'D',
167
+    'date_jour_4' => 'Mittwoch',
168
+    'date_jour_4_abbr' => 'Mi.',
169
+    'date_jour_4_initiale' => 'M',
170
+    'date_jour_5' => 'Donnerstag',
171
+    'date_jour_5_abbr' => 'Do.',
172
+    'date_jour_5_initiale' => 'D',
173
+    'date_jour_6' => 'Freitag',
174
+    'date_jour_6_abbr' => 'Fr.',
175
+    'date_jour_6_initiale' => 'F',
176
+    'date_jour_7' => 'Samstag',
177
+    'date_jour_7_abbr' => 'Sa.',
178
+    'date_jour_7_initiale' => 'S',
179
+    'date_jours' => 'Tagen',
180
+    'date_minutes' => 'Minuten',
181
+    'date_mois' => 'Monaten',
182
+    'date_mois_1' => 'Januar',
183
+    'date_mois_10' => 'Oktober',
184
+    'date_mois_10_abbr' => 'Okt.',
185
+    'date_mois_11' => 'November',
186
+    'date_mois_11_abbr' => 'Nev.',
187
+    'date_mois_12' => 'Dezember',
188
+    'date_mois_12_abbr' => 'Dez.',
189
+    'date_mois_1_abbr' => 'Jan.',
190
+    'date_mois_2' => 'Februar',
191
+    'date_mois_2_abbr' => 'Feb.',
192
+    'date_mois_3' => 'März',
193
+    'date_mois_3_abbr' => 'Mrz.',
194
+    'date_mois_4' => 'April',
195
+    'date_mois_4_abbr' => 'Apr.',
196
+    'date_mois_5' => 'Mai',
197
+    'date_mois_5_abbr' => 'Mai',
198
+    'date_mois_6' => 'Juni',
199
+    'date_mois_6_abbr' => 'Jun.',
200
+    'date_mois_7' => 'Juli',
201
+    'date_mois_7_abbr' => 'Juli',
202
+    'date_mois_8' => 'August',
203
+    'date_mois_8_abbr' => 'Aug.',
204
+    'date_mois_9' => 'September',
205
+    'date_mois_9_abbr' => 'Sept.',
206
+    'date_saison_1' => 'Winter',
207
+    'date_saison_2' => 'Frühling',
208
+    'date_saison_3' => 'Sommer',
209
+    'date_saison_4' => 'unabhängig',
210
+    'date_secondes' => 'Sekunden',
211
+    'date_semaines' => 'Wochen',
212
+    'date_un_mois' => 'Monat',
213
+    'date_une_heure' => 'Stunde',
214
+    'date_une_minute' => 'Minute',
215
+    'date_une_seconde' => 'Sekunde',
216
+    'date_une_semaine' => 'Woche',
217
+    'dirs_commencer' => 'um die Installation wirklich zu starten',
218
+    'dirs_preliminaire' => 'Vorbereitung: <b>Berechtigungen einstellen</b>',
219
+    'dirs_probleme_droits' => 'Problem mit den Berechtigungen',
220
+    'dirs_repertoires_absents' => '<p><b>Folgende Verzeichnisse wurden nicht gefunden:</b></p><ul>@bad_dirs@</ul>
221 221
   <p>Das liegt wahrscheinlich an unzutreffender Gross- und Kleinschreibung.
222 222
   Überprüfen Sie bitte die genaue Schreibweise der oben stehenden Verzeichnisse,
223 223
   sollten Sie Abweichungen feststellen, benennen Sie bitte mit Ihrem FTP-Programm die betreffenden Verzeichnisse um.</p>
224 224
   <p>Danach können Sie ',
225
-	'dirs_repertoires_suivants' => '<p><b>In die folgenden Verzeichnisse kann nicht geschrieben werden:</b></p><ul>@bad_dirs@</ul>
225
+    'dirs_repertoires_suivants' => '<p><b>In die folgenden Verzeichnisse kann nicht geschrieben werden:</b></p><ul>@bad_dirs@</ul>
226 226
 <p>Um das Problem zu lösen, verwenden Sie bitte Ihren FTP-Client, um die Zugriffsrechte für diese
227 227
 Verzeichnisse zu setzen.Die Installationsanleitung erläutert die Details dazu.</p>
228 228
 <p>Wenn Sie diesen Vorgang abgeschlossen haben, können Sie',
229
-	'double_occurrence' => 'Dublette von @balise@',
229
+    'double_occurrence' => 'Dublette von @balise@',
230 230
 
231
-	// E
232
-	'en_cours' => 'läuft',
233
-	'envoi_via_le_site' => 'Gesendet über Website ',
234
-	'erreur' => 'Fehler',
235
-	'erreur_balise_non_fermee' => 'Letzter Tag nicht geschlossen:',
236
-	'erreur_technique_ajaxform' => 'Ups. Das Formular wurde aufgrund eines technischen Fehlers nicht abgeschickt. Sie können es erneut versuchen.',
237
-	'erreur_technique_enregistrement_champs' => 'Das Feld @champs@ konnte aufgrund eines technischen Problems nicht gespeichert werden.',
238
-	'erreur_technique_enregistrement_impossible' => 'Technisches Prolem: Speichern nicht möglich.',
239
-	'erreur_texte' => 'Fehler',
240
-	'etape' => 'Schritt',
231
+    // E
232
+    'en_cours' => 'läuft',
233
+    'envoi_via_le_site' => 'Gesendet über Website ',
234
+    'erreur' => 'Fehler',
235
+    'erreur_balise_non_fermee' => 'Letzter Tag nicht geschlossen:',
236
+    'erreur_technique_ajaxform' => 'Ups. Das Formular wurde aufgrund eines technischen Fehlers nicht abgeschickt. Sie können es erneut versuchen.',
237
+    'erreur_technique_enregistrement_champs' => 'Das Feld @champs@ konnte aufgrund eines technischen Problems nicht gespeichert werden.',
238
+    'erreur_technique_enregistrement_impossible' => 'Technisches Prolem: Speichern nicht möglich.',
239
+    'erreur_texte' => 'Fehler',
240
+    'etape' => 'Schritt',
241 241
 
242
-	// F
243
-	'fichier_introuvable' => 'Datei @fichier@ unauffindbar.',
244
-	'fonction_introuvable' => 'Funktion @fonction@() unauffindbar.',
245
-	'form_auteur_confirmation' => 'Bestätigen Sie Ihre Mailadresse',
246
-	'form_auteur_email_modifie' => 'Ihre Mailadresse wurde geändert.',
247
-	'form_auteur_envoi_mail_confirmation' => 'Eine Mail wurde an @email@ gesendet. Sie müssen auf den in ihr angegebenen Link klicken, um die Korrektheit Ihrer Adresse zu bestätigen.',
248
-	'form_auteur_mail_confirmation' => 'Hallo,
242
+    // F
243
+    'fichier_introuvable' => 'Datei @fichier@ unauffindbar.',
244
+    'fonction_introuvable' => 'Funktion @fonction@() unauffindbar.',
245
+    'form_auteur_confirmation' => 'Bestätigen Sie Ihre Mailadresse',
246
+    'form_auteur_email_modifie' => 'Ihre Mailadresse wurde geändert.',
247
+    'form_auteur_envoi_mail_confirmation' => 'Eine Mail wurde an @email@ gesendet. Sie müssen auf den in ihr angegebenen Link klicken, um die Korrektheit Ihrer Adresse zu bestätigen.',
248
+    'form_auteur_mail_confirmation' => 'Hallo,
249 249
 
250 250
 Sie möchten Ihre Mail-Adresse ändern.Um Ihre neue Adresse zu bestätigen,
251 251
  brauchen Sie nur diesen Link zu öffnen (wenn Sie darauf verzichten,
@@ -253,335 +253,335 @@  discard block
 block discarded – undo
253 253
 
254 254
     @url@
255 255
 ',
256
-	'form_deja_inscrit' => 'Sie sind bereits eingetragen.',
257
-	'form_email_non_valide' => 'Ihre E-Mail-Adresse ist ungültig.',
258
-	'form_forum_access_refuse' => 'Sie haben keinen Zugang mehr zu dieser Website.',
259
-	'form_forum_bonjour' => 'Hallo @nom@,',
260
-	'form_forum_confirmer_email' => 'Bitte öffnen sie folgenden URL zum Bestätigen ihrer Mailadresse: @url_confirm@',
261
-	'form_forum_email_deja_enregistre' => 'Diese E-Mail-Adresse ist bereits eingetragen. Sie können also Ihr normals Passwort verwenden.',
262
-	'form_forum_identifiant_mail' => 'Ihre neuen Zugangsdaten wurden Ihnen per Mail zugestellt.',
263
-	'form_forum_identifiants' => 'Persönliche Zugangsdaten',
264
-	'form_forum_indiquer_nom_email' => 'Tragen Sie bitte hier Ihren Namen und Ihre E-Mail-Adresse ein. Die persönlichen Zugangsdaten werden Ihnen dann per E-Mail zugeschickt.',
265
-	'form_forum_login' => 'Login:',
266
-	'form_forum_message_auto' => '(automatisch erzeugte Nachricht)',
267
-	'form_forum_pass' => 'Passwort:',
268
-	'form_forum_probleme_mail' => 'E-Mail Problem: Zugangsdaten können nicht verschickt werden.',
269
-	'form_forum_voici1' => 'Hier sind Ihre Zugangsdaten für die Teilnahme an der Website "@nom_site_spip@" (@adresse_site@):',
270
-	'form_forum_voici2' => 'Hier sind Ihre Zugangsdaten um Artikel für die Website "@nom_site_spip@" (@adresse_login@) vorzuschlagen:',
271
-	'form_indiquer_email' => 'Bitte geben Sie Ihre E-Mail-Adresse an.',
272
-	'form_indiquer_nom' => 'Bitte geben Sie Ihren Namen an.',
273
-	'form_indiquer_nom_site' => 'Bitte geben Sie den Namen Ihrer Website an.',
274
-	'form_pet_deja_enregistre' => 'Diese Website wurde bereits erfasst',
275
-	'form_pet_signature_pasprise' => 'Ihre Signatur wird nicht berücksichtigt.',
276
-	'form_prop_confirmer_envoi' => 'Endgültig senden',
277
-	'form_prop_description' => 'Beschreibung/Kommentar',
278
-	'form_prop_enregistre' => 'Ihr Vorschlag wurde gespeichert und wird nach Freigabe durch die Redaktion der Website angezeigt.',
279
-	'form_prop_envoyer' => 'Nachricht senden',
280
-	'form_prop_indiquer_email' => 'Bitte geben Sie eine gültige E-Mail Adresse an',
281
-	'form_prop_indiquer_nom_site' => 'Bitte geben Sie den Namen der Website an.',
282
-	'form_prop_indiquer_sujet' => 'Bitte geben Sie ein Thema an',
283
-	'form_prop_message_envoye' => 'Nachricht gesendet',
284
-	'form_prop_non_enregistre' => 'Ihr Vorschlag wurde nicht gespeichert.',
285
-	'form_prop_sujet' => 'Thema',
286
-	'form_prop_url_site' => 'URL der der Website',
287
-	'format_date_attendu' => 'Ein Datum im Format tt/mm/jjjj eingeben. ',
288
-	'format_date_incorrecte' => 'Falsches Datum oder Datumsformat',
289
-	'format_heure_attendu' => 'Uhrzeit im Format hh:mm eingeben.',
290
-	'format_heure_incorrecte' => 'Falsches Zeitformat oder Zeit',
291
-	'forum_non_inscrit' => 'Sie sind nicht eingeschrieben oder Adresse bzw. Passwort waren falsch.',
292
-	'forum_par_auteur' => 'von @auteur@',
293
-	'forum_titre_erreur' => 'Fehler...',
256
+    'form_deja_inscrit' => 'Sie sind bereits eingetragen.',
257
+    'form_email_non_valide' => 'Ihre E-Mail-Adresse ist ungültig.',
258
+    'form_forum_access_refuse' => 'Sie haben keinen Zugang mehr zu dieser Website.',
259
+    'form_forum_bonjour' => 'Hallo @nom@,',
260
+    'form_forum_confirmer_email' => 'Bitte öffnen sie folgenden URL zum Bestätigen ihrer Mailadresse: @url_confirm@',
261
+    'form_forum_email_deja_enregistre' => 'Diese E-Mail-Adresse ist bereits eingetragen. Sie können also Ihr normals Passwort verwenden.',
262
+    'form_forum_identifiant_mail' => 'Ihre neuen Zugangsdaten wurden Ihnen per Mail zugestellt.',
263
+    'form_forum_identifiants' => 'Persönliche Zugangsdaten',
264
+    'form_forum_indiquer_nom_email' => 'Tragen Sie bitte hier Ihren Namen und Ihre E-Mail-Adresse ein. Die persönlichen Zugangsdaten werden Ihnen dann per E-Mail zugeschickt.',
265
+    'form_forum_login' => 'Login:',
266
+    'form_forum_message_auto' => '(automatisch erzeugte Nachricht)',
267
+    'form_forum_pass' => 'Passwort:',
268
+    'form_forum_probleme_mail' => 'E-Mail Problem: Zugangsdaten können nicht verschickt werden.',
269
+    'form_forum_voici1' => 'Hier sind Ihre Zugangsdaten für die Teilnahme an der Website "@nom_site_spip@" (@adresse_site@):',
270
+    'form_forum_voici2' => 'Hier sind Ihre Zugangsdaten um Artikel für die Website "@nom_site_spip@" (@adresse_login@) vorzuschlagen:',
271
+    'form_indiquer_email' => 'Bitte geben Sie Ihre E-Mail-Adresse an.',
272
+    'form_indiquer_nom' => 'Bitte geben Sie Ihren Namen an.',
273
+    'form_indiquer_nom_site' => 'Bitte geben Sie den Namen Ihrer Website an.',
274
+    'form_pet_deja_enregistre' => 'Diese Website wurde bereits erfasst',
275
+    'form_pet_signature_pasprise' => 'Ihre Signatur wird nicht berücksichtigt.',
276
+    'form_prop_confirmer_envoi' => 'Endgültig senden',
277
+    'form_prop_description' => 'Beschreibung/Kommentar',
278
+    'form_prop_enregistre' => 'Ihr Vorschlag wurde gespeichert und wird nach Freigabe durch die Redaktion der Website angezeigt.',
279
+    'form_prop_envoyer' => 'Nachricht senden',
280
+    'form_prop_indiquer_email' => 'Bitte geben Sie eine gültige E-Mail Adresse an',
281
+    'form_prop_indiquer_nom_site' => 'Bitte geben Sie den Namen der Website an.',
282
+    'form_prop_indiquer_sujet' => 'Bitte geben Sie ein Thema an',
283
+    'form_prop_message_envoye' => 'Nachricht gesendet',
284
+    'form_prop_non_enregistre' => 'Ihr Vorschlag wurde nicht gespeichert.',
285
+    'form_prop_sujet' => 'Thema',
286
+    'form_prop_url_site' => 'URL der der Website',
287
+    'format_date_attendu' => 'Ein Datum im Format tt/mm/jjjj eingeben. ',
288
+    'format_date_incorrecte' => 'Falsches Datum oder Datumsformat',
289
+    'format_heure_attendu' => 'Uhrzeit im Format hh:mm eingeben.',
290
+    'format_heure_incorrecte' => 'Falsches Zeitformat oder Zeit',
291
+    'forum_non_inscrit' => 'Sie sind nicht eingeschrieben oder Adresse bzw. Passwort waren falsch.',
292
+    'forum_par_auteur' => 'von @auteur@',
293
+    'forum_titre_erreur' => 'Fehler...',
294 294
 
295
-	// I
296
-	'ical_texte_rss_articles' => 'Die «backend» Datei mit den Artikeln der Website finden Sie unter dieser Adresse:',
297
-	'ical_texte_rss_articles2' => 'Sie können auch «backend» Dateien für einzelne Rubriken de Website nutzen:',
298
-	'ical_texte_rss_breves' => 'Es gibt ebenfalls eine Datei für die Meldungen der Website. Wenn Sie die Nummer (ID) einer Rubrik angeben, erhalten Sie auchsschliesslich die Meldungen aus dieser Rubrik.',
299
-	'icone_a_suivre' => 'Aufgaben',
300
-	'icone_admin_site' => 'Konfiguration',
301
-	'icone_agenda' => 'Kalender',
302
-	'icone_aide_ligne' => 'Online-Hilfe',
303
-	'icone_articles' => 'Artikel',
304
-	'icone_auteurs' => 'Autoren',
305
-	'icone_brouteur' => 'Übersicht',
306
-	'icone_configuration_site' => 'Konfiguration',
307
-	'icone_configurer_site' => 'Ihre Website konfigurieren',
308
-	'icone_creer_nouvel_auteur' => 'Neuen Autor anlegen',
309
-	'icone_creer_rubrique' => 'Neue Rubrik anlegen',
310
-	'icone_creer_sous_rubrique' => 'Neue Unterrubrik anlegen',
311
-	'icone_deconnecter' => 'Log-Out',
312
-	'icone_discussions' => 'Diskussionen',
313
-	'icone_doc_rubrique' => 'Dokumente der Rubriken',
314
-	'icone_ecrire_article' => 'Neuen Artikel schreiben',
315
-	'icone_edition_site' => 'Redaktion',
316
-	'icone_gestion_langues' => 'Sprachverwaltung',
317
-	'icone_informations_personnelles' => 'Persönliche Informationen',
318
-	'icone_interface_complet' => 'Expertenmodus',
319
-	'icone_interface_simple' => 'Standardmodus',
320
-	'icone_maintenance_site' => 'Wartung',
321
-	'icone_messagerie_personnelle' => 'Persönliche Nachrichten',
322
-	'icone_repartition_debut' => 'Seit Einrichtung der Website',
323
-	'icone_rubriques' => 'Rubriken',
324
-	'icone_sauver_site' => 'Website sichern',
325
-	'icone_site_entier' => 'Ganze Website',
326
-	'icone_sites_references' => 'Verlinkte Websites',
327
-	'icone_statistiques' => 'Statistiken',
328
-	'icone_suivi_activite' => 'Aktivitäten verfolgen',
329
-	'icone_suivi_actualite' => 'Entwicklung der Website',
330
-	'icone_suivi_pettions' => 'Petitionen verwalten',
331
-	'icone_suivi_revisions' => 'Änderungen des Artikels',
332
-	'icone_supprimer_document' => 'Dokument löschen',
333
-	'icone_supprimer_image' => 'Bild löschen',
334
-	'icone_tous_articles' => 'Alle Ihre Artikel',
335
-	'icone_tous_auteur' => 'Alle Autoren',
336
-	'icone_tous_visiteur' => 'Alle Besucher',
337
-	'icone_visiter_site' => 'Website ansehen',
338
-	'icone_voir_en_ligne' => 'Online ansehen',
339
-	'img_indisponible' => 'Bild nicht vorhanden',
340
-	'impossible' => 'unmöglich',
341
-	'info_a_suivre' => 'AUFGABEN »',
342
-	'info_acces_interdit' => 'Zugang gesperrt',
343
-	'info_acces_refuse' => 'Zugang verweigert',
344
-	'info_action' => 'Aktion: @action@',
345
-	'info_administrer_rubriques' => 'Sie können diese Rubrik und ihre Unterrubriken verwalten',
346
-	'info_adresse_non_indiquee' => 'Sie haben keine Adresse zum Testen agegeben!',
347
-	'info_aide' => 'HILFE:',
348
-	'info_ajouter_mot' => 'Wort hinzufügen',
349
-	'info_annonce' => 'ANKÜNDIGUNG',
350
-	'info_annonces_generales' => 'Allgemeine Ankündigungen:',
351
-	'info_article_propose' => 'Vorgeschlagener Artikel',
352
-	'info_article_publie' => 'Veröffentlichter Artikel',
353
-	'info_article_redaction' => 'Artikel in Bearbeitung',
354
-	'info_article_refuse' => 'Abgelehnter Artikel',
355
-	'info_article_supprime' => 'Gelöschter Artikel',
356
-	'info_articles' => 'Artikel',
357
-	'info_articles_a_valider' => 'Zur Veröffentlichung vorgeschlagenen Artikel',
358
-	'info_articles_nb' => '@nb@ Artikel',
359
-	'info_articles_proposes' => 'Vorgeschlagene Artikel',
360
-	'info_articles_un' => '1 Artikel',
361
-	'info_auteurs_nombre' => 'Autor(en):',
362
-	'info_authentification_ftp' => 'Authentifizierung per FTP.',
363
-	'info_breves_2' => 'Meldungen',
364
-	'info_breves_nb' => '@nb@ Meldungen',
365
-	'info_breves_un' => '1 Meldung',
366
-	'info_connexion_refusee' => 'Die Verbindung wurde verweigert.',
367
-	'info_contact_developpeur' => 'Bitte kontaktieren Sie einen der Entwickler.',
368
-	'info_contenance' => 'Diese Website enthält:',
369
-	'info_contribution' => 'Beiträge',
370
-	'info_copyright' => '@spip@ ist freie Software im Sinne der @lien_gpl@.',
371
-	'info_copyright_doc' => 'Weitere Informationen finden Sie unter <a href="@spipnet@">@spipnet_affiche@</a>.',
372
-	'info_copyright_gpl' => 'GNU Public License',
373
-	'info_cours_edition' => 'In Bearbeitung',
374
-	'info_creer_repertoire' => 'Bitte legen Sie eine Datei oder ein Verzeichnis mit diesem Namen an: ',
375
-	'info_creer_repertoire_2' => '(Im Unterverzeichnis <b>@repertoire@</b>)',
376
-	'info_creer_vignette' => 'Miniaturbilder automatisch anlegen',
377
-	'info_creerdansrubrique_non_autorise' => 'Sie sind nicht berechtigt, Inhalte in dieser Rubrik anzulegen.',
378
-	'info_deplier' => 'Öffnen',
379
-	'info_descriptif_nombre' => 'Beschreibung(en):',
380
-	'info_description' => 'Beschreibung:',
381
-	'info_description_2' => 'Beschreibung:',
382
-	'info_dimension' => 'Maße:',
383
-	'info_documents_nb' => '@nb@ Dokumente',
384
-	'info_documents_un' => '1 Dokument',
385
-	'info_ecire_message_prive' => 'Neue private Nachricht schreiben',
386
-	'info_email_invalide' => 'Ungültige E-Mail Adresse.',
387
-	'info_en_cours_validation' => 'Ihre Artikel in Bearbeitung',
388
-	'info_en_ligne' => 'Zur Zeit online:',
389
-	'info_envoyer_message_prive' => 'Private Nachricht an diesen Autor schicken',
390
-	'info_erreur_requete' => 'Abfragefehler: ',
391
-	'info_erreur_squelette2' => 'Keine Vorlage <b>@fichier@</b> vorhanden ...',
392
-	'info_erreur_systeme' => 'Systemfahler (Fehler no. @errsys@)',
393
-	'info_erreur_systeme2' => 'Möglicherweise ist die Festplatte voll oder die Datenbank beschädigt.<br />
295
+    // I
296
+    'ical_texte_rss_articles' => 'Die «backend» Datei mit den Artikeln der Website finden Sie unter dieser Adresse:',
297
+    'ical_texte_rss_articles2' => 'Sie können auch «backend» Dateien für einzelne Rubriken de Website nutzen:',
298
+    'ical_texte_rss_breves' => 'Es gibt ebenfalls eine Datei für die Meldungen der Website. Wenn Sie die Nummer (ID) einer Rubrik angeben, erhalten Sie auchsschliesslich die Meldungen aus dieser Rubrik.',
299
+    'icone_a_suivre' => 'Aufgaben',
300
+    'icone_admin_site' => 'Konfiguration',
301
+    'icone_agenda' => 'Kalender',
302
+    'icone_aide_ligne' => 'Online-Hilfe',
303
+    'icone_articles' => 'Artikel',
304
+    'icone_auteurs' => 'Autoren',
305
+    'icone_brouteur' => 'Übersicht',
306
+    'icone_configuration_site' => 'Konfiguration',
307
+    'icone_configurer_site' => 'Ihre Website konfigurieren',
308
+    'icone_creer_nouvel_auteur' => 'Neuen Autor anlegen',
309
+    'icone_creer_rubrique' => 'Neue Rubrik anlegen',
310
+    'icone_creer_sous_rubrique' => 'Neue Unterrubrik anlegen',
311
+    'icone_deconnecter' => 'Log-Out',
312
+    'icone_discussions' => 'Diskussionen',
313
+    'icone_doc_rubrique' => 'Dokumente der Rubriken',
314
+    'icone_ecrire_article' => 'Neuen Artikel schreiben',
315
+    'icone_edition_site' => 'Redaktion',
316
+    'icone_gestion_langues' => 'Sprachverwaltung',
317
+    'icone_informations_personnelles' => 'Persönliche Informationen',
318
+    'icone_interface_complet' => 'Expertenmodus',
319
+    'icone_interface_simple' => 'Standardmodus',
320
+    'icone_maintenance_site' => 'Wartung',
321
+    'icone_messagerie_personnelle' => 'Persönliche Nachrichten',
322
+    'icone_repartition_debut' => 'Seit Einrichtung der Website',
323
+    'icone_rubriques' => 'Rubriken',
324
+    'icone_sauver_site' => 'Website sichern',
325
+    'icone_site_entier' => 'Ganze Website',
326
+    'icone_sites_references' => 'Verlinkte Websites',
327
+    'icone_statistiques' => 'Statistiken',
328
+    'icone_suivi_activite' => 'Aktivitäten verfolgen',
329
+    'icone_suivi_actualite' => 'Entwicklung der Website',
330
+    'icone_suivi_pettions' => 'Petitionen verwalten',
331
+    'icone_suivi_revisions' => 'Änderungen des Artikels',
332
+    'icone_supprimer_document' => 'Dokument löschen',
333
+    'icone_supprimer_image' => 'Bild löschen',
334
+    'icone_tous_articles' => 'Alle Ihre Artikel',
335
+    'icone_tous_auteur' => 'Alle Autoren',
336
+    'icone_tous_visiteur' => 'Alle Besucher',
337
+    'icone_visiter_site' => 'Website ansehen',
338
+    'icone_voir_en_ligne' => 'Online ansehen',
339
+    'img_indisponible' => 'Bild nicht vorhanden',
340
+    'impossible' => 'unmöglich',
341
+    'info_a_suivre' => 'AUFGABEN »',
342
+    'info_acces_interdit' => 'Zugang gesperrt',
343
+    'info_acces_refuse' => 'Zugang verweigert',
344
+    'info_action' => 'Aktion: @action@',
345
+    'info_administrer_rubriques' => 'Sie können diese Rubrik und ihre Unterrubriken verwalten',
346
+    'info_adresse_non_indiquee' => 'Sie haben keine Adresse zum Testen agegeben!',
347
+    'info_aide' => 'HILFE:',
348
+    'info_ajouter_mot' => 'Wort hinzufügen',
349
+    'info_annonce' => 'ANKÜNDIGUNG',
350
+    'info_annonces_generales' => 'Allgemeine Ankündigungen:',
351
+    'info_article_propose' => 'Vorgeschlagener Artikel',
352
+    'info_article_publie' => 'Veröffentlichter Artikel',
353
+    'info_article_redaction' => 'Artikel in Bearbeitung',
354
+    'info_article_refuse' => 'Abgelehnter Artikel',
355
+    'info_article_supprime' => 'Gelöschter Artikel',
356
+    'info_articles' => 'Artikel',
357
+    'info_articles_a_valider' => 'Zur Veröffentlichung vorgeschlagenen Artikel',
358
+    'info_articles_nb' => '@nb@ Artikel',
359
+    'info_articles_proposes' => 'Vorgeschlagene Artikel',
360
+    'info_articles_un' => '1 Artikel',
361
+    'info_auteurs_nombre' => 'Autor(en):',
362
+    'info_authentification_ftp' => 'Authentifizierung per FTP.',
363
+    'info_breves_2' => 'Meldungen',
364
+    'info_breves_nb' => '@nb@ Meldungen',
365
+    'info_breves_un' => '1 Meldung',
366
+    'info_connexion_refusee' => 'Die Verbindung wurde verweigert.',
367
+    'info_contact_developpeur' => 'Bitte kontaktieren Sie einen der Entwickler.',
368
+    'info_contenance' => 'Diese Website enthält:',
369
+    'info_contribution' => 'Beiträge',
370
+    'info_copyright' => '@spip@ ist freie Software im Sinne der @lien_gpl@.',
371
+    'info_copyright_doc' => 'Weitere Informationen finden Sie unter <a href="@spipnet@">@spipnet_affiche@</a>.',
372
+    'info_copyright_gpl' => 'GNU Public License',
373
+    'info_cours_edition' => 'In Bearbeitung',
374
+    'info_creer_repertoire' => 'Bitte legen Sie eine Datei oder ein Verzeichnis mit diesem Namen an: ',
375
+    'info_creer_repertoire_2' => '(Im Unterverzeichnis <b>@repertoire@</b>)',
376
+    'info_creer_vignette' => 'Miniaturbilder automatisch anlegen',
377
+    'info_creerdansrubrique_non_autorise' => 'Sie sind nicht berechtigt, Inhalte in dieser Rubrik anzulegen.',
378
+    'info_deplier' => 'Öffnen',
379
+    'info_descriptif_nombre' => 'Beschreibung(en):',
380
+    'info_description' => 'Beschreibung:',
381
+    'info_description_2' => 'Beschreibung:',
382
+    'info_dimension' => 'Maße:',
383
+    'info_documents_nb' => '@nb@ Dokumente',
384
+    'info_documents_un' => '1 Dokument',
385
+    'info_ecire_message_prive' => 'Neue private Nachricht schreiben',
386
+    'info_email_invalide' => 'Ungültige E-Mail Adresse.',
387
+    'info_en_cours_validation' => 'Ihre Artikel in Bearbeitung',
388
+    'info_en_ligne' => 'Zur Zeit online:',
389
+    'info_envoyer_message_prive' => 'Private Nachricht an diesen Autor schicken',
390
+    'info_erreur_requete' => 'Abfragefehler: ',
391
+    'info_erreur_squelette2' => 'Keine Vorlage <b>@fichier@</b> vorhanden ...',
392
+    'info_erreur_systeme' => 'Systemfahler (Fehler no. @errsys@)',
393
+    'info_erreur_systeme2' => 'Möglicherweise ist die Festplatte voll oder die Datenbank beschädigt.<br />
394 394
 <span style="color:red;">Versuchen Sie <a href=\'@script@\'>die Datenbank zu reparieren</a>, oder wenden Sie sich an Ihren Provider.</span>',
395
-	'info_fini' => 'Fertig!',
396
-	'info_format_image' => 'Für diese Dateiformate können Vorschaubilder erstellt werden: @gd_formats@.',
397
-	'info_format_non_defini' => 'Undefiniertes Format',
398
-	'info_grand_ecran' => 'Grosser Bildschirm',
399
-	'info_image_aide' => 'HILFE',
400
-	'info_image_process_titre' => 'Methode zum Anlegen der Miniaturbilder',
401
-	'info_impossible_lire_page' => '<b>Fehler!</b> Die Seite <tt><html>@test_proxy@</html></tt> ist nicht über den Proxy erreichbar',
402
-	'info_installation_systeme_publication' => 'Installation von SPIP ...',
403
-	'info_installer_documents' => 'Sie können alle Dokumente im Verzeichnis @upload@ automatisch installieren.',
404
-	'info_installer_ftp' => 'Als Administrator können Sie Dateien (per FTP) direkt in das Verzeichnis <i>@upload@</i> kopieren und sie hier auswählen.',
405
-	'info_installer_images' => 'Sie können Bilder in den Formaten JPEG, GIF und PNG verwenden.',
406
-	'info_installer_images_dossier' => 'Bilder ins Verzeichnis @upload@ kopieren um sie hier auswählen zu können.',
407
-	'info_interface_complete' => 'Expertenmodus',
408
-	'info_interface_simple' => 'Standardmodus',
409
-	'info_joindre_document_article' => 'Diesem Artikel können Sie Dokumente folgendem Typs beifügen: ',
410
-	'info_joindre_document_rubrique' => 'Dieser Rubrik können Sie Dokumente folgendem Typs beifügen:',
411
-	'info_joindre_documents_article' => 'Diesem Artikel können Sie Dokumente folgendem Typs beifügen:',
412
-	'info_l_article' => 'Der Artikel',
413
-	'info_la_breve' => 'Die Meldung',
414
-	'info_la_rubrique' => 'Die Rubrik',
415
-	'info_langue_principale' => 'Hauptsprache der Website',
416
-	'info_largeur_vignette' => '@largeur_vignette@ x @hauteur_vignette@ Pixel',
417
-	'info_les_auteurs_1' => 'von @les_auteurs@ ',
418
-	'info_logo_format_interdit' => 'Nur die Logos im Format @formats@ sind zugelassen.',
419
-	'info_logo_max_poids' => 'Die Logogrösse darf nicht @maxi@ überschreiten (aktuelle Dateigrösse @actuel@).',
420
-	'info_mail_fournisseur' => '[email protected]',
421
-	'info_message_2' => 'NACHRICHT',
422
-	'info_message_supprime' => 'NACHRICHT GELÖSCHT',
423
-	'info_messages_nb' => '@nb@ Nachrichten',
424
-	'info_messages_un' => '1 Nachricht',
425
-	'info_mise_en_ligne' => 'Online seit:',
426
-	'info_modification_parametres_securite' => 'Änderung der Sicherheitseinstellungen',
427
-	'info_mois_courant' => 'Im Lauf des Monats:',
428
-	'info_mot_cle_ajoute' => 'Das folgende Wort wurde hinzugefügt zu',
429
-	'info_multi_herit' => 'Standardsprache',
430
-	'info_multi_langues_soulignees' => 'Die Texte des Interface sind in die <u>unterstrichenen Sprachen</u> ganz oder teilweise übersetzt. Wenn Sie eine von ihnen wählen, werden viele Elemente der Website automatisch übersetzt (Datumsangaben, Formulare usw.). In den nicht unterstrichenen Sprachen werden diese Elemente in der Hauptsprache der Website angezeigt.',
431
-	'info_multilinguisme' => 'Mehrsprachigkeit',
432
-	'info_nom_non_utilisateurs_connectes' => 'Ihr Name wird nicht in der Liste der zur Zeit eingelogten Nutzer angezeigt.',
433
-	'info_nom_utilisateurs_connectes' => 'Ihr Name wird in der Liste der angemeldeten Nutzer angezeigt.',
434
-	'info_nombre_en_ligne' => 'Zur Zeit online:',
435
-	'info_non_resultat' => 'Keine Fundstellen für “@cherche_mot@”',
436
-	'info_non_utilisation_messagerie' => 'Sie nehmen nicht am Nachrichtensystem der Website teil.',
437
-	'info_nouveau_message' => 'SIE HABEN EINE NEUE NACHRICHT',
438
-	'info_nouveaux_messages' => 'SIE HABEN @total_messages@ NEUE NACHRICHTEN',
439
-	'info_numero_abbreviation' => 'N° ',
440
-	'info_obligatoire' => 'Diese Information ist obligatorisch.',
441
-	'info_page_actuelle' => 'Aktuelle Seite',
442
-	'info_pense_bete' => 'MERKZETTEL',
443
-	'info_petit_ecran' => 'Kleiner Bildschirm',
444
-	'info_petition_close' => 'Petition geschlossen',
445
-	'info_pixels' => 'Pixel',
446
-	'info_plusieurs_mots_trouves' => 'Mehrere Schlagworte entsprechen Ihrem Suchkriterium “@cherche_mot@”:',
447
-	'info_portfolio_automatique' => 'automatische Mappe:',
448
-	'info_premier_resultat' => '[@debut_limit@ erste Ergebnisse von @total@]',
449
-	'info_premier_resultat_sur' => '[@debut_limit@ erste Ergebnisse von @total@]',
450
-	'info_propose_1' => '[@nom_site_spip@] vorgeschlagen : @titre@',
451
-	'info_propose_2' => 'vorgeschlagener Artikel
395
+    'info_fini' => 'Fertig!',
396
+    'info_format_image' => 'Für diese Dateiformate können Vorschaubilder erstellt werden: @gd_formats@.',
397
+    'info_format_non_defini' => 'Undefiniertes Format',
398
+    'info_grand_ecran' => 'Grosser Bildschirm',
399
+    'info_image_aide' => 'HILFE',
400
+    'info_image_process_titre' => 'Methode zum Anlegen der Miniaturbilder',
401
+    'info_impossible_lire_page' => '<b>Fehler!</b> Die Seite <tt><html>@test_proxy@</html></tt> ist nicht über den Proxy erreichbar',
402
+    'info_installation_systeme_publication' => 'Installation von SPIP ...',
403
+    'info_installer_documents' => 'Sie können alle Dokumente im Verzeichnis @upload@ automatisch installieren.',
404
+    'info_installer_ftp' => 'Als Administrator können Sie Dateien (per FTP) direkt in das Verzeichnis <i>@upload@</i> kopieren und sie hier auswählen.',
405
+    'info_installer_images' => 'Sie können Bilder in den Formaten JPEG, GIF und PNG verwenden.',
406
+    'info_installer_images_dossier' => 'Bilder ins Verzeichnis @upload@ kopieren um sie hier auswählen zu können.',
407
+    'info_interface_complete' => 'Expertenmodus',
408
+    'info_interface_simple' => 'Standardmodus',
409
+    'info_joindre_document_article' => 'Diesem Artikel können Sie Dokumente folgendem Typs beifügen: ',
410
+    'info_joindre_document_rubrique' => 'Dieser Rubrik können Sie Dokumente folgendem Typs beifügen:',
411
+    'info_joindre_documents_article' => 'Diesem Artikel können Sie Dokumente folgendem Typs beifügen:',
412
+    'info_l_article' => 'Der Artikel',
413
+    'info_la_breve' => 'Die Meldung',
414
+    'info_la_rubrique' => 'Die Rubrik',
415
+    'info_langue_principale' => 'Hauptsprache der Website',
416
+    'info_largeur_vignette' => '@largeur_vignette@ x @hauteur_vignette@ Pixel',
417
+    'info_les_auteurs_1' => 'von @les_auteurs@ ',
418
+    'info_logo_format_interdit' => 'Nur die Logos im Format @formats@ sind zugelassen.',
419
+    'info_logo_max_poids' => 'Die Logogrösse darf nicht @maxi@ überschreiten (aktuelle Dateigrösse @actuel@).',
420
+    'info_mail_fournisseur' => '[email protected]',
421
+    'info_message_2' => 'NACHRICHT',
422
+    'info_message_supprime' => 'NACHRICHT GELÖSCHT',
423
+    'info_messages_nb' => '@nb@ Nachrichten',
424
+    'info_messages_un' => '1 Nachricht',
425
+    'info_mise_en_ligne' => 'Online seit:',
426
+    'info_modification_parametres_securite' => 'Änderung der Sicherheitseinstellungen',
427
+    'info_mois_courant' => 'Im Lauf des Monats:',
428
+    'info_mot_cle_ajoute' => 'Das folgende Wort wurde hinzugefügt zu',
429
+    'info_multi_herit' => 'Standardsprache',
430
+    'info_multi_langues_soulignees' => 'Die Texte des Interface sind in die <u>unterstrichenen Sprachen</u> ganz oder teilweise übersetzt. Wenn Sie eine von ihnen wählen, werden viele Elemente der Website automatisch übersetzt (Datumsangaben, Formulare usw.). In den nicht unterstrichenen Sprachen werden diese Elemente in der Hauptsprache der Website angezeigt.',
431
+    'info_multilinguisme' => 'Mehrsprachigkeit',
432
+    'info_nom_non_utilisateurs_connectes' => 'Ihr Name wird nicht in der Liste der zur Zeit eingelogten Nutzer angezeigt.',
433
+    'info_nom_utilisateurs_connectes' => 'Ihr Name wird in der Liste der angemeldeten Nutzer angezeigt.',
434
+    'info_nombre_en_ligne' => 'Zur Zeit online:',
435
+    'info_non_resultat' => 'Keine Fundstellen für “@cherche_mot@”',
436
+    'info_non_utilisation_messagerie' => 'Sie nehmen nicht am Nachrichtensystem der Website teil.',
437
+    'info_nouveau_message' => 'SIE HABEN EINE NEUE NACHRICHT',
438
+    'info_nouveaux_messages' => 'SIE HABEN @total_messages@ NEUE NACHRICHTEN',
439
+    'info_numero_abbreviation' => 'N° ',
440
+    'info_obligatoire' => 'Diese Information ist obligatorisch.',
441
+    'info_page_actuelle' => 'Aktuelle Seite',
442
+    'info_pense_bete' => 'MERKZETTEL',
443
+    'info_petit_ecran' => 'Kleiner Bildschirm',
444
+    'info_petition_close' => 'Petition geschlossen',
445
+    'info_pixels' => 'Pixel',
446
+    'info_plusieurs_mots_trouves' => 'Mehrere Schlagworte entsprechen Ihrem Suchkriterium “@cherche_mot@”:',
447
+    'info_portfolio_automatique' => 'automatische Mappe:',
448
+    'info_premier_resultat' => '[@debut_limit@ erste Ergebnisse von @total@]',
449
+    'info_premier_resultat_sur' => '[@debut_limit@ erste Ergebnisse von @total@]',
450
+    'info_propose_1' => '[@nom_site_spip@] vorgeschlagen : @titre@',
451
+    'info_propose_2' => 'vorgeschlagener Artikel
452 452
 ---------------',
453
-	'info_propose_3' => 'Der Artikel “@titre@” ist zur Veröffentlichung vorgeschlagen.',
454
-	'info_propose_4' => 'Bitte teilen Sie den anderen Autoren Ihre Meinung zu diesem Artikel mit',
455
-	'info_propose_5' => '(im Forum des Artikels). Sie können ihn unter dieser Adresse lesen:',
456
-	'info_publie_01' => 'Der Artikel „@titre@“ wurde von @connect_nom@ freigegeben.',
457
-	'info_publie_1' => '[@nom_site_spip@] VERÖFFENTLICHT: @titre@',
458
-	'info_publie_2' => 'Artikel veröffentlicht
453
+    'info_propose_3' => 'Der Artikel “@titre@” ist zur Veröffentlichung vorgeschlagen.',
454
+    'info_propose_4' => 'Bitte teilen Sie den anderen Autoren Ihre Meinung zu diesem Artikel mit',
455
+    'info_propose_5' => '(im Forum des Artikels). Sie können ihn unter dieser Adresse lesen:',
456
+    'info_publie_01' => 'Der Artikel „@titre@“ wurde von @connect_nom@ freigegeben.',
457
+    'info_publie_1' => '[@nom_site_spip@] VERÖFFENTLICHT: @titre@',
458
+    'info_publie_2' => 'Artikel veröffentlicht
459 459
 --------------',
460
-	'info_rechercher' => 'Suchen',
461
-	'info_rechercher_02' => 'Suchen:',
462
-	'info_remplacer_vignette' => 'Ersetzen Sie das Standard-Piktogramm durch ein eigenes Logo:',
463
-	'info_rubriques_nb' => '@nb@ Rubriken',
464
-	'info_rubriques_un' => '1 Rubrik',
465
-	'info_sans_titre_2' => 'ohne Titel',
466
-	'info_selectionner_fichier' => 'Sie können eine Datei aus dem Verzeichnis @upload@ auswählen.',
467
-	'info_selectionner_fichier_2' => 'Wählen Sie eine Datei:',
468
-	'info_sites_nb' => '@nb@ Websites',
469
-	'info_sites_un' => '1 Website',
470
-	'info_supprimer_vignette' => 'Icon löschen',
471
-	'info_symbole_bleu' => 'Das <b>blaue</b> Symbol bedeutet <b>Merkzettel</b>, d.h. eine Nachricht nur zu Ihrer eigenen Verwendung.',
472
-	'info_symbole_jaune' => 'Das <b>gelbe</b> Symbol bedeutet <b>Ankündigung an alle Redakteure</b> (für alle Redakteure sichtbar, Änderung nur durch Administratoren)',
473
-	'info_symbole_vert' => 'Das <b>grüne</b> Symbol bezeichnet Nachrichten an <b>andere Benutzer</b> der Website.',
474
-	'info_telecharger_nouveau_logo' => 'Neues Logo hochladen:',
475
-	'info_telecharger_ordinateur' => 'Von Ihrem Computer hochladen:',
476
-	'info_tous_resultats_enregistres' => ' [alle Ergebnisse sind erfasst]',
477
-	'info_tout_afficher' => 'Alles zeigen',
478
-	'info_travaux_texte' => 'Diese Website ist noch nicht fertig eingerichtet. Schauen Sie später mal wieder rein ...',
479
-	'info_travaux_titre' => 'Website in Bearbeitung',
480
-	'info_trop_resultat' => 'Zu viele Ergebnisse für “@cherche_mot”. Bitte präzisieren Sie Ihre Suchbegriffe.',
481
-	'info_utilisation_messagerie_interne' => 'Sie verwenden das interne Nachrichtensystem der Website. ',
482
-	'info_valider_lien' => 'Link freigeben',
483
-	'info_verifier_image' => ', bitte prüfen Sie, ob Ihre Bilder fehlerfrei übertagen wurden.',
484
-	'info_vignette_defaut' => 'Standardsymbol',
485
-	'info_vignette_personnalisee' => 'Persönliches Icon',
486
-	'info_visite' => 'Besuch:',
487
-	'info_vos_rendez_vous' => 'Ihre kommenden Termine',
488
-	'infos_vos_pense_bete' => 'Ihre Merkzettel',
460
+    'info_rechercher' => 'Suchen',
461
+    'info_rechercher_02' => 'Suchen:',
462
+    'info_remplacer_vignette' => 'Ersetzen Sie das Standard-Piktogramm durch ein eigenes Logo:',
463
+    'info_rubriques_nb' => '@nb@ Rubriken',
464
+    'info_rubriques_un' => '1 Rubrik',
465
+    'info_sans_titre_2' => 'ohne Titel',
466
+    'info_selectionner_fichier' => 'Sie können eine Datei aus dem Verzeichnis @upload@ auswählen.',
467
+    'info_selectionner_fichier_2' => 'Wählen Sie eine Datei:',
468
+    'info_sites_nb' => '@nb@ Websites',
469
+    'info_sites_un' => '1 Website',
470
+    'info_supprimer_vignette' => 'Icon löschen',
471
+    'info_symbole_bleu' => 'Das <b>blaue</b> Symbol bedeutet <b>Merkzettel</b>, d.h. eine Nachricht nur zu Ihrer eigenen Verwendung.',
472
+    'info_symbole_jaune' => 'Das <b>gelbe</b> Symbol bedeutet <b>Ankündigung an alle Redakteure</b> (für alle Redakteure sichtbar, Änderung nur durch Administratoren)',
473
+    'info_symbole_vert' => 'Das <b>grüne</b> Symbol bezeichnet Nachrichten an <b>andere Benutzer</b> der Website.',
474
+    'info_telecharger_nouveau_logo' => 'Neues Logo hochladen:',
475
+    'info_telecharger_ordinateur' => 'Von Ihrem Computer hochladen:',
476
+    'info_tous_resultats_enregistres' => ' [alle Ergebnisse sind erfasst]',
477
+    'info_tout_afficher' => 'Alles zeigen',
478
+    'info_travaux_texte' => 'Diese Website ist noch nicht fertig eingerichtet. Schauen Sie später mal wieder rein ...',
479
+    'info_travaux_titre' => 'Website in Bearbeitung',
480
+    'info_trop_resultat' => 'Zu viele Ergebnisse für “@cherche_mot”. Bitte präzisieren Sie Ihre Suchbegriffe.',
481
+    'info_utilisation_messagerie_interne' => 'Sie verwenden das interne Nachrichtensystem der Website. ',
482
+    'info_valider_lien' => 'Link freigeben',
483
+    'info_verifier_image' => ', bitte prüfen Sie, ob Ihre Bilder fehlerfrei übertagen wurden.',
484
+    'info_vignette_defaut' => 'Standardsymbol',
485
+    'info_vignette_personnalisee' => 'Persönliches Icon',
486
+    'info_visite' => 'Besuch:',
487
+    'info_vos_rendez_vous' => 'Ihre kommenden Termine',
488
+    'infos_vos_pense_bete' => 'Ihre Merkzettel',
489 489
 
490
-	// L
491
-	'label_ajout_id_rapide' => 'schnell hinzufügen',
492
-	'label_poids_fichier' => 'Größe',
493
-	'label_ponctuer' => '@label@:',
494
-	'lien_afficher_icones_seuls' => 'Nur Piktogramme anzeigen',
495
-	'lien_afficher_texte_icones' => 'Piktogramme und Beschriftung anzeigen',
496
-	'lien_afficher_texte_seul' => 'Nur Textmenüs',
497
-	'lien_aller_a_la_derniere_page' => 'Zur letzten Seite gehen',
498
-	'lien_aller_a_la_page_nb' => 'Zu Seite @nb@ gehen',
499
-	'lien_aller_a_la_page_precedente' => 'Zur vorherigen Seite gehen',
500
-	'lien_aller_a_la_page_suivante' => 'Zur nächsten Seite gehen',
501
-	'lien_aller_a_la_premiere_page' => 'Zur ersten Seite gehen',
502
-	'lien_liberer' => 'freigeben',
503
-	'lien_liberer_tous' => 'Alle freigeben',
504
-	'lien_nouvea_pense_bete' => 'NEUER MERKZETTEL',
505
-	'lien_nouveau_message' => 'NEUE NACHRICHT',
506
-	'lien_nouvelle_annonce' => 'NEUE ANKÜNDIGUNG',
507
-	'lien_petitions' => 'PETITION',
508
-	'lien_popularite' => 'Beliebtheit: @popularite@%',
509
-	'lien_racine_site' => 'OBERSTE EBENE DER WEBSITE',
510
-	'lien_reessayer' => 'Wiederholen',
511
-	'lien_repondre_message' => 'Nachricht beantworten',
512
-	'lien_supprimer' => 'Löschen',
513
-	'lien_tout_afficher' => 'Alles zeigen',
514
-	'lien_visite_site' => 'Website anzeigen',
515
-	'lien_visites' => '@visites@ Besuche',
516
-	'lien_voir_auteur' => 'Autor anzeigen',
517
-	'ligne' => 'Zeile',
518
-	'login' => 'Login',
519
-	'login_acces_prive' => 'Login zum Redaktionssystem',
520
-	'login_autre_identifiant' => 'Unter anderem Namen anmelden',
521
-	'login_cookie_accepte' => 'Bitte stellen Sie Ihren Webbrowser so ein, dass er sie akzeptiert (zumindest für diese Website).',
522
-	'login_cookie_oblige' => 'Zu Ihrer Sicherheit muss Ihr Browser Cookies akzeptieren, wenn Sie sich bei der Website anmelden.',
523
-	'login_deconnexion_ok' => 'Abmeldung erfolgreich.',
524
-	'login_erreur_pass' => 'Passwort oder Benutzername falsch.',
525
-	'login_espace_prive' => 'Redaktionssystem',
526
-	'login_identifiant_inconnu' => 'Benutzer «@login@» unbekannt.',
527
-	'login_login' => 'Login:',
528
-	'login_login2' => 'Login-ID oder E-Mail:',
529
-	'login_login_pass_incorrect' => '(Login oder Passwort falsch.)',
530
-	'login_motpasseoublie' => 'Passwort vergessen?',
531
-	'login_non_securise' => 'Achtung, dieses Formular ist nicht abgesichert. Wenn Sie sicher stellen wollen, dass Ihr Passwort nicht im Netzwerk mitgehört werden kann, aktivieren Sie bitte Javascript und',
532
-	'login_nouvelle_tentative' => 'Erneut versuchen',
533
-	'login_par_ici' => 'Sie sind angemeldet... hier...',
534
-	'login_pass2' => 'Passwort:',
535
-	'login_preferez_refuser' => '<b>Wenn Sie keine Cookies verwenden wollen</b>, können Sie eine alternative (weniger sichere) Anmeldung nutzen:',
536
-	'login_recharger' => 'diese Seite neu laden',
537
-	'login_rester_identifie' => 'An mich erinnern',
538
-	'login_retour_public' => 'Zurück zur öffentlichen Website',
539
-	'login_retour_site' => 'Zurück zur öffentlichen Website',
540
-	'login_retoursitepublic' => 'Zurück zur öffentlichen Website',
541
-	'login_sans_cookie' => 'Login ohne Cookie',
542
-	'login_securise' => 'Sicheres Login',
543
-	'login_sinscrire' => 'anmelden',
544
-	'login_test_navigateur' => 'Test Webbrowser/Verbindung',
545
-	'login_verifiez_navigateur' => '(Überprüfen Sie, dass Ihr Webbrowser Ihr Passwort nicht gespeichert hat ...)',
490
+    // L
491
+    'label_ajout_id_rapide' => 'schnell hinzufügen',
492
+    'label_poids_fichier' => 'Größe',
493
+    'label_ponctuer' => '@label@:',
494
+    'lien_afficher_icones_seuls' => 'Nur Piktogramme anzeigen',
495
+    'lien_afficher_texte_icones' => 'Piktogramme und Beschriftung anzeigen',
496
+    'lien_afficher_texte_seul' => 'Nur Textmenüs',
497
+    'lien_aller_a_la_derniere_page' => 'Zur letzten Seite gehen',
498
+    'lien_aller_a_la_page_nb' => 'Zu Seite @nb@ gehen',
499
+    'lien_aller_a_la_page_precedente' => 'Zur vorherigen Seite gehen',
500
+    'lien_aller_a_la_page_suivante' => 'Zur nächsten Seite gehen',
501
+    'lien_aller_a_la_premiere_page' => 'Zur ersten Seite gehen',
502
+    'lien_liberer' => 'freigeben',
503
+    'lien_liberer_tous' => 'Alle freigeben',
504
+    'lien_nouvea_pense_bete' => 'NEUER MERKZETTEL',
505
+    'lien_nouveau_message' => 'NEUE NACHRICHT',
506
+    'lien_nouvelle_annonce' => 'NEUE ANKÜNDIGUNG',
507
+    'lien_petitions' => 'PETITION',
508
+    'lien_popularite' => 'Beliebtheit: @popularite@%',
509
+    'lien_racine_site' => 'OBERSTE EBENE DER WEBSITE',
510
+    'lien_reessayer' => 'Wiederholen',
511
+    'lien_repondre_message' => 'Nachricht beantworten',
512
+    'lien_supprimer' => 'Löschen',
513
+    'lien_tout_afficher' => 'Alles zeigen',
514
+    'lien_visite_site' => 'Website anzeigen',
515
+    'lien_visites' => '@visites@ Besuche',
516
+    'lien_voir_auteur' => 'Autor anzeigen',
517
+    'ligne' => 'Zeile',
518
+    'login' => 'Login',
519
+    'login_acces_prive' => 'Login zum Redaktionssystem',
520
+    'login_autre_identifiant' => 'Unter anderem Namen anmelden',
521
+    'login_cookie_accepte' => 'Bitte stellen Sie Ihren Webbrowser so ein, dass er sie akzeptiert (zumindest für diese Website).',
522
+    'login_cookie_oblige' => 'Zu Ihrer Sicherheit muss Ihr Browser Cookies akzeptieren, wenn Sie sich bei der Website anmelden.',
523
+    'login_deconnexion_ok' => 'Abmeldung erfolgreich.',
524
+    'login_erreur_pass' => 'Passwort oder Benutzername falsch.',
525
+    'login_espace_prive' => 'Redaktionssystem',
526
+    'login_identifiant_inconnu' => 'Benutzer «@login@» unbekannt.',
527
+    'login_login' => 'Login:',
528
+    'login_login2' => 'Login-ID oder E-Mail:',
529
+    'login_login_pass_incorrect' => '(Login oder Passwort falsch.)',
530
+    'login_motpasseoublie' => 'Passwort vergessen?',
531
+    'login_non_securise' => 'Achtung, dieses Formular ist nicht abgesichert. Wenn Sie sicher stellen wollen, dass Ihr Passwort nicht im Netzwerk mitgehört werden kann, aktivieren Sie bitte Javascript und',
532
+    'login_nouvelle_tentative' => 'Erneut versuchen',
533
+    'login_par_ici' => 'Sie sind angemeldet... hier...',
534
+    'login_pass2' => 'Passwort:',
535
+    'login_preferez_refuser' => '<b>Wenn Sie keine Cookies verwenden wollen</b>, können Sie eine alternative (weniger sichere) Anmeldung nutzen:',
536
+    'login_recharger' => 'diese Seite neu laden',
537
+    'login_rester_identifie' => 'An mich erinnern',
538
+    'login_retour_public' => 'Zurück zur öffentlichen Website',
539
+    'login_retour_site' => 'Zurück zur öffentlichen Website',
540
+    'login_retoursitepublic' => 'Zurück zur öffentlichen Website',
541
+    'login_sans_cookie' => 'Login ohne Cookie',
542
+    'login_securise' => 'Sicheres Login',
543
+    'login_sinscrire' => 'anmelden',
544
+    'login_test_navigateur' => 'Test Webbrowser/Verbindung',
545
+    'login_verifiez_navigateur' => '(Überprüfen Sie, dass Ihr Webbrowser Ihr Passwort nicht gespeichert hat ...)',
546 546
 
547
-	// M
548
-	'masquer_colonne' => 'Diese Spalte verbergen',
549
-	'masquer_trad' => 'Übersetzungen ausblenden',
550
-	'message_nouveaux_identifiants_echec' => 'Es können keine neuen Zugangsdaten erzeigt werden.',
551
-	'message_nouveaux_identifiants_echec_envoi' => 'Die neuen Zugangsdaten konnten nicht übermittelt werden.',
552
-	'message_nouveaux_identifiants_ok' => 'Die neuen Zugangsdaten wurden an @email@ übermittelt.',
553
-	'module_fichiers_langues' => 'Sprachdateien',
547
+    // M
548
+    'masquer_colonne' => 'Diese Spalte verbergen',
549
+    'masquer_trad' => 'Übersetzungen ausblenden',
550
+    'message_nouveaux_identifiants_echec' => 'Es können keine neuen Zugangsdaten erzeigt werden.',
551
+    'message_nouveaux_identifiants_echec_envoi' => 'Die neuen Zugangsdaten konnten nicht übermittelt werden.',
552
+    'message_nouveaux_identifiants_ok' => 'Die neuen Zugangsdaten wurden an @email@ übermittelt.',
553
+    'module_fichiers_langues' => 'Sprachdateien',
554 554
 
555
-	// N
556
-	'navigateur_pas_redirige' => 'Wenn Ihr Browser keine automatische Weiterleitung unterstützt, klicken Sie hier.',
557
-	'numero' => 'Nummer',
555
+    // N
556
+    'navigateur_pas_redirige' => 'Wenn Ihr Browser keine automatische Weiterleitung unterstützt, klicken Sie hier.',
557
+    'numero' => 'Nummer',
558 558
 
559
-	// O
560
-	'occurence' => 'Vorkommen',
561
-	'onglet_affacer_base' => 'Datenbank löschen',
562
-	'onglet_auteur' => 'Autor',
563
-	'onglet_contenu_site' => 'Inhalte der Website',
564
-	'onglet_evolution_visite_mod' => 'Entwicklung',
565
-	'onglet_fonctions_avances' => 'Erweiterte Einstellungen',
566
-	'onglet_informations_personnelles' => 'Persönliche Informationen',
567
-	'onglet_interactivite' => 'Interaktivität',
568
-	'onglet_messagerie' => 'Nachrichtensystem',
569
-	'onglet_repartition_rubrique' => 'Verteilung auf Rubriken',
570
-	'onglet_save_restaur_base' => 'Datenbank sichern/wieder herstellen',
571
-	'onglet_vider_cache' => 'Sitecache löschen',
559
+    // O
560
+    'occurence' => 'Vorkommen',
561
+    'onglet_affacer_base' => 'Datenbank löschen',
562
+    'onglet_auteur' => 'Autor',
563
+    'onglet_contenu_site' => 'Inhalte der Website',
564
+    'onglet_evolution_visite_mod' => 'Entwicklung',
565
+    'onglet_fonctions_avances' => 'Erweiterte Einstellungen',
566
+    'onglet_informations_personnelles' => 'Persönliche Informationen',
567
+    'onglet_interactivite' => 'Interaktivität',
568
+    'onglet_messagerie' => 'Nachrichtensystem',
569
+    'onglet_repartition_rubrique' => 'Verteilung auf Rubriken',
570
+    'onglet_save_restaur_base' => 'Datenbank sichern/wieder herstellen',
571
+    'onglet_vider_cache' => 'Sitecache löschen',
572 572
 
573
-	// P
574
-	'pass_choix_pass' => 'Bitte geben Sie Ihr neues Passwort ein:',
575
-	'pass_erreur' => 'Fehler',
576
-	'pass_erreur_acces_refuse' => '<b>Fehler:</b> Sie haben keinen Zugang mehr zur Website.',
577
-	'pass_erreur_code_inconnu' => '<b>Fehler:</b> Angabe entspricht keinem Benutzer mit Zugang zu dieser Website.',
578
-	'pass_erreur_non_enregistre' => '<b>Fehler:</b> Die Adresse <tt>@email_oubli@</tt> ist nicht bekannt.',
579
-	'pass_erreur_non_valide' => '<b>Fehler:</b> Diese E-Mail Adresse <tt>@email_oubli@</tt> ist ungültig!',
580
-	'pass_erreur_probleme_technique' => '<b>Fehler:</b> E-Mail kann aufgrund eines technischen Problems nicht gesendet werden.',
581
-	'pass_espace_prive_bla' => 'Das Redaktionssystem dieser Website ist für Besucher zugänglich, die sich angemeldet haben. Nach erfolgreicher Anmeldung können Sie an Artikeln mitarbeiten, eigene Artikel vorschlagen und an allen Diskussionsforen teilnehmen.',
582
-	'pass_forum_bla' => 'Sie möchten in einem Forum für eingetragene Besucher der Website schreiben.',
583
-	'pass_indiquez_cidessous' => 'Bitte geben Sie die E-Mail Adresse an, mit der Sie sich ursprünglich eingetragen haben. Sie erhalten dann eine Mail mit allen erforderlichen Schritten um wieder Zugang zu bekommen.',
584
-	'pass_mail_passcookie' => '(Diese Nachricht wurde automatisch erzeugt)
573
+    // P
574
+    'pass_choix_pass' => 'Bitte geben Sie Ihr neues Passwort ein:',
575
+    'pass_erreur' => 'Fehler',
576
+    'pass_erreur_acces_refuse' => '<b>Fehler:</b> Sie haben keinen Zugang mehr zur Website.',
577
+    'pass_erreur_code_inconnu' => '<b>Fehler:</b> Angabe entspricht keinem Benutzer mit Zugang zu dieser Website.',
578
+    'pass_erreur_non_enregistre' => '<b>Fehler:</b> Die Adresse <tt>@email_oubli@</tt> ist nicht bekannt.',
579
+    'pass_erreur_non_valide' => '<b>Fehler:</b> Diese E-Mail Adresse <tt>@email_oubli@</tt> ist ungültig!',
580
+    'pass_erreur_probleme_technique' => '<b>Fehler:</b> E-Mail kann aufgrund eines technischen Problems nicht gesendet werden.',
581
+    'pass_espace_prive_bla' => 'Das Redaktionssystem dieser Website ist für Besucher zugänglich, die sich angemeldet haben. Nach erfolgreicher Anmeldung können Sie an Artikeln mitarbeiten, eigene Artikel vorschlagen und an allen Diskussionsforen teilnehmen.',
582
+    'pass_forum_bla' => 'Sie möchten in einem Forum für eingetragene Besucher der Website schreiben.',
583
+    'pass_indiquez_cidessous' => 'Bitte geben Sie die E-Mail Adresse an, mit der Sie sich ursprünglich eingetragen haben. Sie erhalten dann eine Mail mit allen erforderlichen Schritten um wieder Zugang zu bekommen.',
584
+    'pass_mail_passcookie' => '(Diese Nachricht wurde automatisch erzeugt)
585 585
 
586 586
 Um sich wieder bei der Website
587 587
 @nom_site_spip@ (@adresse_site@)
@@ -591,135 +591,135 @@  discard block
 block discarded – undo
591 591
 
592 592
 Sie können auf dieser Seite ein neues Passwort eingeben und sich wieder bei der Website einloggen.
593 593
 ',
594
-	'pass_mot_oublie' => 'Passwort vergessen',
595
-	'pass_nouveau_enregistre' => 'Ihr neues Passwort wurde gespeichert.',
596
-	'pass_nouveau_pass' => 'Neues Passwort',
597
-	'pass_ok' => 'O.K.',
598
-	'pass_oubli_mot' => 'Passwort vergessen',
599
-	'pass_procedure_changer' => 'Um Ihr Paßwort zu ändern, geben Sie bitte die Mailadresse Ihres Accounts an.',
600
-	'pass_quitter_fenetre' => 'Dieses Fenster verlassen',
601
-	'pass_rappel_login' => 'Erinnerung: Ihr Login ist «@login@».',
602
-	'pass_recevoir_mail' => 'Ein Link zum Zurücksetzen Ihres Passworts wurde an Ihre E-Mail-Adresse geschickt (sofern diese gültig ist).',
603
-	'pass_retour_public' => 'Zurück zum öffentlichen Bereich',
604
-	'pass_rien_a_faire_ici' => 'Hier ist nichts zu tun.',
605
-	'pass_vousinscrire' => 'Bei dieser Website anmelden',
606
-	'precedent' => 'zurück',
607
-	'previsualisation' => 'Vorschau',
608
-	'previsualiser' => 'Vorschau anzeigen',
594
+    'pass_mot_oublie' => 'Passwort vergessen',
595
+    'pass_nouveau_enregistre' => 'Ihr neues Passwort wurde gespeichert.',
596
+    'pass_nouveau_pass' => 'Neues Passwort',
597
+    'pass_ok' => 'O.K.',
598
+    'pass_oubli_mot' => 'Passwort vergessen',
599
+    'pass_procedure_changer' => 'Um Ihr Paßwort zu ändern, geben Sie bitte die Mailadresse Ihres Accounts an.',
600
+    'pass_quitter_fenetre' => 'Dieses Fenster verlassen',
601
+    'pass_rappel_login' => 'Erinnerung: Ihr Login ist «@login@».',
602
+    'pass_recevoir_mail' => 'Ein Link zum Zurücksetzen Ihres Passworts wurde an Ihre E-Mail-Adresse geschickt (sofern diese gültig ist).',
603
+    'pass_retour_public' => 'Zurück zum öffentlichen Bereich',
604
+    'pass_rien_a_faire_ici' => 'Hier ist nichts zu tun.',
605
+    'pass_vousinscrire' => 'Bei dieser Website anmelden',
606
+    'precedent' => 'zurück',
607
+    'previsualisation' => 'Vorschau',
608
+    'previsualiser' => 'Vorschau anzeigen',
609 609
 
610
-	// R
611
-	'retour' => 'Zurück',
610
+    // R
611
+    'retour' => 'Zurück',
612 612
 
613
-	// S
614
-	'spip_conforme_dtd' => 'SPIP erkennt dieses Dokument als dem DOCTYPE entsprechend:',
615
-	'squelette' => 'Skelett',
616
-	'squelette_inclus_ligne' => 'eingebettetes Skelett, Zeile',
617
-	'squelette_ligne' => 'Skelett, Zeile',
618
-	'stats_visites_et_popularite' => '@visites@ Besuche; Beliebtheit: @popularite@',
619
-	'suivant' => 'weiter',
613
+    // S
614
+    'spip_conforme_dtd' => 'SPIP erkennt dieses Dokument als dem DOCTYPE entsprechend:',
615
+    'squelette' => 'Skelett',
616
+    'squelette_inclus_ligne' => 'eingebettetes Skelett, Zeile',
617
+    'squelette_ligne' => 'Skelett, Zeile',
618
+    'stats_visites_et_popularite' => '@visites@ Besuche; Beliebtheit: @popularite@',
619
+    'suivant' => 'weiter',
620 620
 
621
-	// T
622
-	'taille_go' => '@taille@ Start',
623
-	'taille_ko' => '@taille@ kB',
624
-	'taille_mo' => '@taille@ MB',
625
-	'taille_octets' => '@taille@ Byte',
626
-	'texte_actualite_site_1' => 'Wenn Sie sich mit der Oberfläche des Redaktionssystems vertraut gemacht haben, können Sie „',
627
-	'texte_actualite_site_2' => 'den Expertenmodus aktivieren,',
628
-	'texte_actualite_site_3' => 'um zusätzliche Funktionen zu nutzen.',
629
-	'texte_creation_automatique_vignette' => 'Diese Website generiert automatisch Vorschaubilder. Wenn Sie Bilder in den Formaten @gd_formats@ mit diesem Formular installieren, werden Vorschaubilder mit den maximalen Diemsionen @taille_preview@ Pixel angelegt.',
630
-	'texte_documents_associes' => 'Die folgenden Dokumente wurden dem Artikel zugeordnet jedoch nicht direkt in ihn eingefügt. Ja nach Gestaltung der öffentlichen Website können Sie alle beigeordneten Dokumente angezeigt werden (oder auch nicht).',
631
-	'texte_erreur_mise_niveau_base' => 'Datenbankfehler beim Einrichten der neuen Version. Das Bild <b>@fichier@</b> wurde nicht übernommen (Artikel @id_article@).
621
+    // T
622
+    'taille_go' => '@taille@ Start',
623
+    'taille_ko' => '@taille@ kB',
624
+    'taille_mo' => '@taille@ MB',
625
+    'taille_octets' => '@taille@ Byte',
626
+    'texte_actualite_site_1' => 'Wenn Sie sich mit der Oberfläche des Redaktionssystems vertraut gemacht haben, können Sie „',
627
+    'texte_actualite_site_2' => 'den Expertenmodus aktivieren,',
628
+    'texte_actualite_site_3' => 'um zusätzliche Funktionen zu nutzen.',
629
+    'texte_creation_automatique_vignette' => 'Diese Website generiert automatisch Vorschaubilder. Wenn Sie Bilder in den Formaten @gd_formats@ mit diesem Formular installieren, werden Vorschaubilder mit den maximalen Diemsionen @taille_preview@ Pixel angelegt.',
630
+    'texte_documents_associes' => 'Die folgenden Dokumente wurden dem Artikel zugeordnet jedoch nicht direkt in ihn eingefügt. Ja nach Gestaltung der öffentlichen Website können Sie alle beigeordneten Dokumente angezeigt werden (oder auch nicht).',
631
+    'texte_erreur_mise_niveau_base' => 'Datenbankfehler beim Einrichten der neuen Version. Das Bild <b>@fichier@</b> wurde nicht übernommen (Artikel @id_article@).
632 632
  Bitte notieren Sie diesen Hinweis, starten Sie die Aktualisierung erneut und prüfen Sie, ob die Bilder
633 633
  in den Artikeln angezeigt werden.',
634
-	'texte_erreur_visiteur' => 'Sie haben versucht, sich mit einer Identität einzuloggen, die dazu nicht berechtigt.',
635
-	'texte_inc_auth_1' => 'Sie sind angemeldet als <b>@auth_login@</b>, aber diese ID existiert nicht bzw. nicht mehr in der Datenbank.
634
+    'texte_erreur_visiteur' => 'Sie haben versucht, sich mit einer Identität einzuloggen, die dazu nicht berechtigt.',
635
+    'texte_inc_auth_1' => 'Sie sind angemeldet als <b>@auth_login@</b>, aber diese ID existiert nicht bzw. nicht mehr in der Datenbank.
636 636
  Versuchen Sie,',
637
-	'texte_inc_auth_2' => 'sich erneut anzumelden',
638
-	'texte_inc_auth_3' => ', nachdem Sie u.U. Ihren Webbrowser neu gestartet haben.',
639
-	'texte_inc_config' => 'Die hier möglichten Einstellungen beeinflussen das grundsätzliche Verhalten Ihrer Website. Wir raten dringend, sie nur zu ändern, wenn Sie vollständig mit der Funktionsweise von SPIP vertraut sind.<br /><br /><b>Es ist ebenfalls mehr als ratsam, diese Einstellungen nur von Ihrem Haupt-Administrator vornehmen zu lassen.</b>',
640
-	'texte_inc_meta_1' => 'Das System konnte die Datei <code>@fichier@</code> nicht speichern. Bitte prüfen Sie als Administrator ',
641
-	'texte_inc_meta_2' => 'die Berechtigungen',
642
-	'texte_inc_meta_3' => 'für das Verzeichnis <code>@repertoire@</code>.',
643
-	'texte_statut_en_cours_redaction' => 'in Bearbeitung',
644
-	'texte_statut_poubelle' => 'im Mülleimer',
645
-	'texte_statut_propose_evaluation' => 'vorgeschlagen',
646
-	'texte_statut_publie' => 'veröffentlicht',
647
-	'texte_statut_refuse' => 'abgelehnt',
648
-	'titre_ajouter_mot_cle' => 'SCHLAGWORT ZUORDNEN:',
649
-	'titre_cadre_raccourcis' => 'SCHNELLZUGANG:',
650
-	'titre_changer_couleur_interface' => 'Farbe der Oberfläche ändern',
651
-	'titre_image_admin_article' => 'Sie können diesen Artikel verwalten',
652
-	'titre_image_administrateur' => 'Administrator',
653
-	'titre_image_aide' => 'Hilfe zu diesem Element',
654
-	'titre_image_auteur_supprime' => 'gelöschter Autor',
655
-	'titre_image_redacteur' => 'Redakteur ohne Systemzugang',
656
-	'titre_image_redacteur_02' => 'Redakteur',
657
-	'titre_image_selecteur' => 'Liste anzeigen',
658
-	'titre_image_visiteur' => 'Besucher',
659
-	'titre_joindre_document' => 'DOKUMENT ANFÜGEN',
660
-	'titre_mots_cles' => 'SCHLAGWORTE',
661
-	'titre_probleme_technique' => 'Achtung! Ein Problem mit dem SQL Server verhindert den Zugang zu diesem Teil der Website. Danke für Ihr Verständnis.',
662
-	'titre_publier_document' => 'DOKUMENT IN DIESER RUBRIK VERÖFFENTLICHEN',
663
-	'titre_signatures_attente' => 'Nicht bestätigte Unterschriften',
664
-	'titre_signatures_confirmees' => 'Bestätigte Unterschriften',
665
-	'titre_statistiques' => 'Statistiken',
666
-	'titre_titre_document' => 'Titel des Dokuments:',
667
-	'todo' => 'demnächst',
668
-	'trad_definir_reference' => 'Wählen Sie "@titre@" als Referenz für Übersetzungen',
669
-	'trad_reference' => '(Referenzartikel)',
637
+    'texte_inc_auth_2' => 'sich erneut anzumelden',
638
+    'texte_inc_auth_3' => ', nachdem Sie u.U. Ihren Webbrowser neu gestartet haben.',
639
+    'texte_inc_config' => 'Die hier möglichten Einstellungen beeinflussen das grundsätzliche Verhalten Ihrer Website. Wir raten dringend, sie nur zu ändern, wenn Sie vollständig mit der Funktionsweise von SPIP vertraut sind.<br /><br /><b>Es ist ebenfalls mehr als ratsam, diese Einstellungen nur von Ihrem Haupt-Administrator vornehmen zu lassen.</b>',
640
+    'texte_inc_meta_1' => 'Das System konnte die Datei <code>@fichier@</code> nicht speichern. Bitte prüfen Sie als Administrator ',
641
+    'texte_inc_meta_2' => 'die Berechtigungen',
642
+    'texte_inc_meta_3' => 'für das Verzeichnis <code>@repertoire@</code>.',
643
+    'texte_statut_en_cours_redaction' => 'in Bearbeitung',
644
+    'texte_statut_poubelle' => 'im Mülleimer',
645
+    'texte_statut_propose_evaluation' => 'vorgeschlagen',
646
+    'texte_statut_publie' => 'veröffentlicht',
647
+    'texte_statut_refuse' => 'abgelehnt',
648
+    'titre_ajouter_mot_cle' => 'SCHLAGWORT ZUORDNEN:',
649
+    'titre_cadre_raccourcis' => 'SCHNELLZUGANG:',
650
+    'titre_changer_couleur_interface' => 'Farbe der Oberfläche ändern',
651
+    'titre_image_admin_article' => 'Sie können diesen Artikel verwalten',
652
+    'titre_image_administrateur' => 'Administrator',
653
+    'titre_image_aide' => 'Hilfe zu diesem Element',
654
+    'titre_image_auteur_supprime' => 'gelöschter Autor',
655
+    'titre_image_redacteur' => 'Redakteur ohne Systemzugang',
656
+    'titre_image_redacteur_02' => 'Redakteur',
657
+    'titre_image_selecteur' => 'Liste anzeigen',
658
+    'titre_image_visiteur' => 'Besucher',
659
+    'titre_joindre_document' => 'DOKUMENT ANFÜGEN',
660
+    'titre_mots_cles' => 'SCHLAGWORTE',
661
+    'titre_probleme_technique' => 'Achtung! Ein Problem mit dem SQL Server verhindert den Zugang zu diesem Teil der Website. Danke für Ihr Verständnis.',
662
+    'titre_publier_document' => 'DOKUMENT IN DIESER RUBRIK VERÖFFENTLICHEN',
663
+    'titre_signatures_attente' => 'Nicht bestätigte Unterschriften',
664
+    'titre_signatures_confirmees' => 'Bestätigte Unterschriften',
665
+    'titre_statistiques' => 'Statistiken',
666
+    'titre_titre_document' => 'Titel des Dokuments:',
667
+    'todo' => 'demnächst',
668
+    'trad_definir_reference' => 'Wählen Sie "@titre@" als Referenz für Übersetzungen',
669
+    'trad_reference' => '(Referenzartikel)',
670 670
 
671
-	// U
672
-	'upload_limit' => 'Die Datei ist zu groß für den Server; die maximal erlaubte Dateigröße für den <i>Upload</i> ist @max@.',
671
+    // U
672
+    'upload_limit' => 'Die Datei ist zu groß für den Server; die maximal erlaubte Dateigröße für den <i>Upload</i> ist @max@.',
673 673
 
674
-	// Z
675
-	'zbug_balise_b_aval' => ' : Tag B muss vor der Schleife stehen',
676
-	'zbug_balise_inexistante' => 'Fehler: Der Tag @balise@ wurde nicht richtig für  @from@ deklariert.',
677
-	'zbug_balise_sans_argument' => 'Dem Tag @balise@ fehlt ein Parameter',
678
-	'zbug_boucle' => 'Schleife',
679
-	'zbug_boucle_recursive_undef' => 'Die rekursive Schleife @nom@ ist nicht definiert',
680
-	'zbug_calcul' => 'berechnen',
681
-	'zbug_champ_hors_boucle' => 'Feld @champ@ ausserhalb einer Schleife',
682
-	'zbug_champ_hors_critere' => 'Feld @champ@ ohne Kriterium @critere@',
683
-	'zbug_champ_hors_motif' => 'Feld @champ@ befindet sich ausserhalb eines Kontexts @motif@',
684
-	'zbug_code' => 'Code',
685
-	'zbug_critere_inconnu' => 'Unbekanntes Kriterium @critere@',
686
-	'zbug_critere_sur_table_sans_cle_primaire' => '{@critere@} für eine Tabelle ohne eindeutigen Schlüssel',
687
-	'zbug_distant_interdit' => 'Extern unzulässig',
688
-	'zbug_doublon_table_sans_cle_primaire' => 'Dublette in einer Tabelle ohne eindeutigen Primärschlüssel',
689
-	'zbug_doublon_table_sans_index' => 'Dublette in Tabelle ohne Index',
690
-	'zbug_erreur_boucle_double' => 'Schleife (BOUCLE) @id@ doppelt vorhanden',
691
-	'zbug_erreur_boucle_fermant' => 'Schleife (BOUCLE) @id@: Schluss-Tag fehlt',
692
-	'zbug_erreur_boucle_syntaxe' => 'Syntax der Schleife @id@ fehlerhaft',
693
-	'zbug_erreur_compilation' => 'Fehler beim Kompilieren',
694
-	'zbug_erreur_execution_page' => 'Fehler beim Ausführen',
695
-	'zbug_erreur_filtre' => 'Der Filter @filtre@ ist nicht definiert.',
696
-	'zbug_erreur_filtre_nbarg_min' => 'Filter @filtre@: es fehlen @nb@ Argument(e)',
697
-	'zbug_erreur_meme_parent' => 'Das Kriterium {meme_parent} funktioniert nur mit den Schleifen (FORUMS) und (RUBRIQUES).',
698
-	'zbug_erreur_squelette' => 'Fehler in Layoutvorlage (Skelett)',
699
-	'zbug_hors_compilation' => 'Außerhalb der Kompilation',
700
-	'zbug_info_erreur_squelette' => 'Irrtum auf der Seite',
701
-	'zbug_inversion_ordre_inexistant' => 'Umkehrung einer inexistenten Sortierung ',
702
-	'zbug_pagination_sans_critere' => '#PAGINATION ohne Kriterium {pagination} oder in rekursiver Schleife',
703
-	'zbug_parametres_inclus_incorrects' => 'INCLUDE-Parameter fehlerhaft: @param@',
704
-	'zbug_profile' => 'Rechenzeit: @time@',
705
-	'zbug_resultat' => 'Ergebnis',
706
-	'zbug_serveur_indefini' => 'SQL-Server nicht definiert',
707
-	'zbug_statistiques' => 'Statistik der SQL Abfragen nach Dauer',
708
-	'zbug_table_inconnue' => 'SQL-Tabelle « @table@ » unbekannt',
709
-	'zxml_connus_attributs' => 'bekannte Attribute',
710
-	'zxml_de' => 'von',
711
-	'zxml_inconnu_attribut' => 'Attribut unbekannt',
712
-	'zxml_inconnu_balise' => 'Tag unbekannt',
713
-	'zxml_inconnu_entite' => 'Entity unbekannt',
714
-	'zxml_inconnu_id' => 'ID unbekannt',
715
-	'zxml_mais_de' => 'aber',
716
-	'zxml_non_conforme' => 'entspricht nicht dem Motiv',
717
-	'zxml_non_fils' => 'ist kein Kind von',
718
-	'zxml_nonvide_balise' => 'kein leerer Tag',
719
-	'zxml_obligatoire_attribut' => 'obligatorisches Attribut fehlt in',
720
-	'zxml_succession_fils_incorrecte' => 'Objektreihenfolge inkorrekt',
721
-	'zxml_survoler' => 'Mouseover zeigt korrekte',
722
-	'zxml_valeur_attribut' => 'Attributwert',
723
-	'zxml_vide_balise' => 'leerer Tag',
724
-	'zxml_vu' => 'bereits gesehen'
674
+    // Z
675
+    'zbug_balise_b_aval' => ' : Tag B muss vor der Schleife stehen',
676
+    'zbug_balise_inexistante' => 'Fehler: Der Tag @balise@ wurde nicht richtig für  @from@ deklariert.',
677
+    'zbug_balise_sans_argument' => 'Dem Tag @balise@ fehlt ein Parameter',
678
+    'zbug_boucle' => 'Schleife',
679
+    'zbug_boucle_recursive_undef' => 'Die rekursive Schleife @nom@ ist nicht definiert',
680
+    'zbug_calcul' => 'berechnen',
681
+    'zbug_champ_hors_boucle' => 'Feld @champ@ ausserhalb einer Schleife',
682
+    'zbug_champ_hors_critere' => 'Feld @champ@ ohne Kriterium @critere@',
683
+    'zbug_champ_hors_motif' => 'Feld @champ@ befindet sich ausserhalb eines Kontexts @motif@',
684
+    'zbug_code' => 'Code',
685
+    'zbug_critere_inconnu' => 'Unbekanntes Kriterium @critere@',
686
+    'zbug_critere_sur_table_sans_cle_primaire' => '{@critere@} für eine Tabelle ohne eindeutigen Schlüssel',
687
+    'zbug_distant_interdit' => 'Extern unzulässig',
688
+    'zbug_doublon_table_sans_cle_primaire' => 'Dublette in einer Tabelle ohne eindeutigen Primärschlüssel',
689
+    'zbug_doublon_table_sans_index' => 'Dublette in Tabelle ohne Index',
690
+    'zbug_erreur_boucle_double' => 'Schleife (BOUCLE) @id@ doppelt vorhanden',
691
+    'zbug_erreur_boucle_fermant' => 'Schleife (BOUCLE) @id@: Schluss-Tag fehlt',
692
+    'zbug_erreur_boucle_syntaxe' => 'Syntax der Schleife @id@ fehlerhaft',
693
+    'zbug_erreur_compilation' => 'Fehler beim Kompilieren',
694
+    'zbug_erreur_execution_page' => 'Fehler beim Ausführen',
695
+    'zbug_erreur_filtre' => 'Der Filter @filtre@ ist nicht definiert.',
696
+    'zbug_erreur_filtre_nbarg_min' => 'Filter @filtre@: es fehlen @nb@ Argument(e)',
697
+    'zbug_erreur_meme_parent' => 'Das Kriterium {meme_parent} funktioniert nur mit den Schleifen (FORUMS) und (RUBRIQUES).',
698
+    'zbug_erreur_squelette' => 'Fehler in Layoutvorlage (Skelett)',
699
+    'zbug_hors_compilation' => 'Außerhalb der Kompilation',
700
+    'zbug_info_erreur_squelette' => 'Irrtum auf der Seite',
701
+    'zbug_inversion_ordre_inexistant' => 'Umkehrung einer inexistenten Sortierung ',
702
+    'zbug_pagination_sans_critere' => '#PAGINATION ohne Kriterium {pagination} oder in rekursiver Schleife',
703
+    'zbug_parametres_inclus_incorrects' => 'INCLUDE-Parameter fehlerhaft: @param@',
704
+    'zbug_profile' => 'Rechenzeit: @time@',
705
+    'zbug_resultat' => 'Ergebnis',
706
+    'zbug_serveur_indefini' => 'SQL-Server nicht definiert',
707
+    'zbug_statistiques' => 'Statistik der SQL Abfragen nach Dauer',
708
+    'zbug_table_inconnue' => 'SQL-Tabelle « @table@ » unbekannt',
709
+    'zxml_connus_attributs' => 'bekannte Attribute',
710
+    'zxml_de' => 'von',
711
+    'zxml_inconnu_attribut' => 'Attribut unbekannt',
712
+    'zxml_inconnu_balise' => 'Tag unbekannt',
713
+    'zxml_inconnu_entite' => 'Entity unbekannt',
714
+    'zxml_inconnu_id' => 'ID unbekannt',
715
+    'zxml_mais_de' => 'aber',
716
+    'zxml_non_conforme' => 'entspricht nicht dem Motiv',
717
+    'zxml_non_fils' => 'ist kein Kind von',
718
+    'zxml_nonvide_balise' => 'kein leerer Tag',
719
+    'zxml_obligatoire_attribut' => 'obligatorisches Attribut fehlt in',
720
+    'zxml_succession_fils_incorrecte' => 'Objektreihenfolge inkorrekt',
721
+    'zxml_survoler' => 'Mouseover zeigt korrekte',
722
+    'zxml_valeur_attribut' => 'Attributwert',
723
+    'zxml_vide_balise' => 'leerer Tag',
724
+    'zxml_vu' => 'bereits gesehen'
725 725
 );
Please login to merge, or discard this patch.
ecrire/lang/public_de.php 1 patch
Indentation   +115 added lines, -115 removed lines patch added patch discarded remove patch
@@ -4,123 +4,123 @@
 block discarded – undo
4 4
 // ** ne pas modifier le fichier **
5 5
 
6 6
 if (!defined('_ECRIRE_INC_VERSION')) {
7
-	return;
7
+    return;
8 8
 }
9 9
 
10 10
 $GLOBALS[$GLOBALS['idx_lang']] = array(
11 11
 
12
-	// A
13
-	'accueil_site' => 'Startseite',
14
-	'article' => 'Artikel',
15
-	'articles' => 'Artikel',
16
-	'articles_auteur' => 'Artikel dieses Autors',
17
-	'articles_populaires' => 'Die beliebtesten Artikel',
18
-	'articles_rubrique' => 'Artikel dieser Rubrik',
19
-	'aucun_article' => 'Unter dieser Adresse gibt es keinen Artikel.',
20
-	'aucun_auteur' => 'Unter dieser Adresse gibt es keinen Autor.',
21
-	'aucun_site' => 'Unter dieser Adresse gibt es keien Website.',
22
-	'aucune_breve' => 'Unter dieser Adresse gibt es keine Meldung.',
23
-	'aucune_rubrique' => 'Unter dieser Adresse gibt es keine Rubrik.',
24
-	'auteur' => 'Autor',
25
-	'autres' => 'Andere',
26
-	'autres_breves' => 'Weitere Meldungen.',
27
-	'autres_groupes_mots_clefs' => 'Weitere Schlagwortgruppen',
28
-	'autres_sites' => 'Weitere Websites',
29
-
30
-	// B
31
-	'bonjour' => 'Hallo',
32
-
33
-	// C
34
-	'commenter_site' => 'Website kommentieren',
35
-	'contact' => 'Kontakt',
36
-	'copie_document_impossible' => 'Dokument kann nicht kopiert werden',
37
-
38
-	// D
39
-	'date' => 'Datum',
40
-	'dernier_ajout' => 'Neuester Eintrag',
41
-	'dernieres_breves' => 'Neue Meldungen',
42
-	'derniers_articles' => 'Neueste Artikel',
43
-	'derniers_commentaires' => 'Neueste Kommentare',
44
-	'derniers_messages_forum' => 'Neue Forumsbeiträge',
45
-
46
-	// E
47
-	'edition_mode_texte' => 'Im Textmodus bearbeiten ',
48
-	'en_reponse' => 'Antwort auf:',
49
-	'en_resume' => 'Als Zusammenfassung',
50
-	'envoyer_message' => 'Nachricht senden',
51
-	'espace_prive' => 'Redaktion',
52
-
53
-	// F
54
-	'formats_acceptes' => 'Akzeptierte Formate: @formats@.',
55
-
56
-	// H
57
-	'hierarchie_site' => 'Baumstruktur der Website',
58
-
59
-	// J
60
-	'jours' => 'Tage',
61
-
62
-	// L
63
-	'lien_connecter' => 'Login',
64
-
65
-	// M
66
-	'meme_auteur' => 'Vom gleichen Autor',
67
-	'meme_rubrique' => 'In der gleichen Rubrik',
68
-	'memes_auteurs' => 'Von den gleichen Autoren',
69
-	'message' => 'Nachricht',
70
-	'messages_forum' => 'Nachrichten',
71
-	'messages_recents' => 'Neue Forumsbeiträge',
72
-	'mots_clef' => 'Schlagwort',
73
-	'mots_clefs' => 'Schlagworte',
74
-	'mots_clefs_meme_groupe' => 'Schlagworte der gleichen Kategorie',
75
-
76
-	// N
77
-	'navigation' => 'Navigation',
78
-	'nom' => 'Name',
79
-	'nouveautes' => 'Neuigkeiten',
80
-	'nouveautes_web' => 'Neues im WWW',
81
-	'nouveaux_articles' => 'Neue Artikel',
82
-	'nouvelles_breves' => 'Neue Meldungen',
83
-
84
-	// P
85
-	'page_precedente' => 'vorige Seite',
86
-	'page_suivante' => 'nächste Seite',
87
-	'par_auteur' => 'von ',
88
-	'participer_site' => 'Sie können bei dieser Website mitmachen, wenn Sie sich anmelden. Sie erhalten sofort eine E-Mail mit den Zugangsdaten zum Redaktionssystem.',
89
-	'plan_site' => 'Sitemap',
90
-	'popularite' => 'Beliebtheit',
91
-	'poster_message' => 'Nachricht senden',
92
-	'proposer_site' => 'Sie können in dieser Rubrik eine Seite vorschlagen :',
93
-
94
-	// R
95
-	'repondre_article' => 'auf diesen Artikel antworten',
96
-	'repondre_breve' => 'auf diese Meldung antworten',
97
-	'resultats_recherche' => 'Suchergebnis(se)',
98
-	'retour_debut_forums' => 'Zurück zum Beginn des Forums',
99
-	'rss_abonnement' => 'Kopieren Sie die folgende URL in Ihren Feedreader:',
100
-	'rss_abonnement_titre' => 'Abonnieren',
101
-	'rss_abonnement_titre_page' => 'Abonnieren von',
102
-	'rss_explication' => 'Ein RSS-Feed sammelt Informationen über die Aktualisierungen einer Website. Er liefert den Inhalt von Einträgen oder Kommentaren oder einen Auszug daraus sowie einen Link zu den Vollversionen und einige andere Informationen. Der Feed ist dazu gedacht, von einem RSS-Aggregator (Feedreader) gelesen zu werden',
103
-	'rss_explication_titre' => 'Was ist ein RSS-Feed ?',
104
-	'rubrique' => 'Rubrik',
105
-	'rubriques' => 'Rubriken',
106
-
107
-	// S
108
-	'signatures_petition' => 'Unterschrift',
109
-	'site_realise_avec_spip' => 'Realisiert mit SPIP',
110
-	'sites_web' => 'Websites',
111
-	'sous_rubriques' => 'Unterrubriken',
112
-	'spam' => 'SPAM',
113
-	'suite' => 'weiter',
114
-	'sur_web' => 'Im WWW',
115
-	'syndiquer_rubrique' => 'Diese Rubrik per RSS einbinden',
116
-	'syndiquer_site' => 'Die ganze Website mit RSS einbinden',
117
-
118
-	// T
119
-	'texte_lettre_information' => 'Dies ist der Newsletter der Website ',
120
-	'texte_lettre_information_2' => 'Diese Mail informiert über die Neuerscheinungen der letzten',
121
-
122
-	// V
123
-	'ver_imprimer' => 'Druckversion',
124
-	'voir_en_ligne' => 'Online ansehen',
125
-	'voir_squelette' => 'Layoutvorlage dieser Seite ansehen'
12
+    // A
13
+    'accueil_site' => 'Startseite',
14
+    'article' => 'Artikel',
15
+    'articles' => 'Artikel',
16
+    'articles_auteur' => 'Artikel dieses Autors',
17
+    'articles_populaires' => 'Die beliebtesten Artikel',
18
+    'articles_rubrique' => 'Artikel dieser Rubrik',
19
+    'aucun_article' => 'Unter dieser Adresse gibt es keinen Artikel.',
20
+    'aucun_auteur' => 'Unter dieser Adresse gibt es keinen Autor.',
21
+    'aucun_site' => 'Unter dieser Adresse gibt es keien Website.',
22
+    'aucune_breve' => 'Unter dieser Adresse gibt es keine Meldung.',
23
+    'aucune_rubrique' => 'Unter dieser Adresse gibt es keine Rubrik.',
24
+    'auteur' => 'Autor',
25
+    'autres' => 'Andere',
26
+    'autres_breves' => 'Weitere Meldungen.',
27
+    'autres_groupes_mots_clefs' => 'Weitere Schlagwortgruppen',
28
+    'autres_sites' => 'Weitere Websites',
29
+
30
+    // B
31
+    'bonjour' => 'Hallo',
32
+
33
+    // C
34
+    'commenter_site' => 'Website kommentieren',
35
+    'contact' => 'Kontakt',
36
+    'copie_document_impossible' => 'Dokument kann nicht kopiert werden',
37
+
38
+    // D
39
+    'date' => 'Datum',
40
+    'dernier_ajout' => 'Neuester Eintrag',
41
+    'dernieres_breves' => 'Neue Meldungen',
42
+    'derniers_articles' => 'Neueste Artikel',
43
+    'derniers_commentaires' => 'Neueste Kommentare',
44
+    'derniers_messages_forum' => 'Neue Forumsbeiträge',
45
+
46
+    // E
47
+    'edition_mode_texte' => 'Im Textmodus bearbeiten ',
48
+    'en_reponse' => 'Antwort auf:',
49
+    'en_resume' => 'Als Zusammenfassung',
50
+    'envoyer_message' => 'Nachricht senden',
51
+    'espace_prive' => 'Redaktion',
52
+
53
+    // F
54
+    'formats_acceptes' => 'Akzeptierte Formate: @formats@.',
55
+
56
+    // H
57
+    'hierarchie_site' => 'Baumstruktur der Website',
58
+
59
+    // J
60
+    'jours' => 'Tage',
61
+
62
+    // L
63
+    'lien_connecter' => 'Login',
64
+
65
+    // M
66
+    'meme_auteur' => 'Vom gleichen Autor',
67
+    'meme_rubrique' => 'In der gleichen Rubrik',
68
+    'memes_auteurs' => 'Von den gleichen Autoren',
69
+    'message' => 'Nachricht',
70
+    'messages_forum' => 'Nachrichten',
71
+    'messages_recents' => 'Neue Forumsbeiträge',
72
+    'mots_clef' => 'Schlagwort',
73
+    'mots_clefs' => 'Schlagworte',
74
+    'mots_clefs_meme_groupe' => 'Schlagworte der gleichen Kategorie',
75
+
76
+    // N
77
+    'navigation' => 'Navigation',
78
+    'nom' => 'Name',
79
+    'nouveautes' => 'Neuigkeiten',
80
+    'nouveautes_web' => 'Neues im WWW',
81
+    'nouveaux_articles' => 'Neue Artikel',
82
+    'nouvelles_breves' => 'Neue Meldungen',
83
+
84
+    // P
85
+    'page_precedente' => 'vorige Seite',
86
+    'page_suivante' => 'nächste Seite',
87
+    'par_auteur' => 'von ',
88
+    'participer_site' => 'Sie können bei dieser Website mitmachen, wenn Sie sich anmelden. Sie erhalten sofort eine E-Mail mit den Zugangsdaten zum Redaktionssystem.',
89
+    'plan_site' => 'Sitemap',
90
+    'popularite' => 'Beliebtheit',
91
+    'poster_message' => 'Nachricht senden',
92
+    'proposer_site' => 'Sie können in dieser Rubrik eine Seite vorschlagen :',
93
+
94
+    // R
95
+    'repondre_article' => 'auf diesen Artikel antworten',
96
+    'repondre_breve' => 'auf diese Meldung antworten',
97
+    'resultats_recherche' => 'Suchergebnis(se)',
98
+    'retour_debut_forums' => 'Zurück zum Beginn des Forums',
99
+    'rss_abonnement' => 'Kopieren Sie die folgende URL in Ihren Feedreader:',
100
+    'rss_abonnement_titre' => 'Abonnieren',
101
+    'rss_abonnement_titre_page' => 'Abonnieren von',
102
+    'rss_explication' => 'Ein RSS-Feed sammelt Informationen über die Aktualisierungen einer Website. Er liefert den Inhalt von Einträgen oder Kommentaren oder einen Auszug daraus sowie einen Link zu den Vollversionen und einige andere Informationen. Der Feed ist dazu gedacht, von einem RSS-Aggregator (Feedreader) gelesen zu werden',
103
+    'rss_explication_titre' => 'Was ist ein RSS-Feed ?',
104
+    'rubrique' => 'Rubrik',
105
+    'rubriques' => 'Rubriken',
106
+
107
+    // S
108
+    'signatures_petition' => 'Unterschrift',
109
+    'site_realise_avec_spip' => 'Realisiert mit SPIP',
110
+    'sites_web' => 'Websites',
111
+    'sous_rubriques' => 'Unterrubriken',
112
+    'spam' => 'SPAM',
113
+    'suite' => 'weiter',
114
+    'sur_web' => 'Im WWW',
115
+    'syndiquer_rubrique' => 'Diese Rubrik per RSS einbinden',
116
+    'syndiquer_site' => 'Die ganze Website mit RSS einbinden',
117
+
118
+    // T
119
+    'texte_lettre_information' => 'Dies ist der Newsletter der Website ',
120
+    'texte_lettre_information_2' => 'Diese Mail informiert über die Neuerscheinungen der letzten',
121
+
122
+    // V
123
+    'ver_imprimer' => 'Druckversion',
124
+    'voir_en_ligne' => 'Online ansehen',
125
+    'voir_squelette' => 'Layoutvorlage dieser Seite ansehen'
126 126
 );
Please login to merge, or discard this patch.
ecrire/inc/chiffrer.php 1 patch
Indentation   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -11,7 +11,7 @@
 block discarded – undo
11 11
  * \***************************************************************************/
12 12
 
13 13
 if (!defined('_ECRIRE_INC_VERSION')) {
14
-	return;
14
+    return;
15 15
 }
16 16
 
17 17
 include_spip('src/Chiffrer/Chiffrement');
Please login to merge, or discard this patch.
ecrire/install/etape_3b.php 2 patches
Indentation   +161 added lines, -161 removed lines patch added patch discarded remove patch
@@ -11,173 +11,173 @@
 block discarded – undo
11 11
 \***************************************************************************/
12 12
 
13 13
 if (!defined('_ECRIRE_INC_VERSION')) {
14
-	return;
14
+    return;
15 15
 }
16 16
 
17 17
 include_spip('inc/headers');
18 18
 
19 19
 function install_etape_3b_dist() {
20
-	$auth_spip = null;
21
-	$session = null;
22
-	$row = null;
23
-	$login = _request('login');
24
-	$email = _request('email');
25
-	$nom = _request('nom');
26
-	$pass = _request('pass');
27
-	$pass_verif = _request('pass_verif');
28
-
29
-	$server_db = defined('_INSTALL_SERVER_DB')
30
-		? _INSTALL_SERVER_DB
31
-		: _request('server_db');
32
-
33
-	if (!defined('_PASS_LONGUEUR_MINI')) {
34
-		define('_PASS_LONGUEUR_MINI', 6);
35
-	}
36
-	if (!defined('_LOGIN_TROP_COURT')) {
37
-		define('_LOGIN_TROP_COURT', 4);
38
-	}
39
-	if ($login) {
40
-		$echec = ($pass != $pass_verif) ?
41
-			_T('info_passes_identiques')
42
-			: ((strlen($pass) < _PASS_LONGUEUR_MINI) ?
43
-				_T('info_passe_trop_court_car_pluriel', ['nb' => _PASS_LONGUEUR_MINI])
44
-				: ((strlen($login) < _LOGIN_TROP_COURT) ?
45
-					_T('info_login_trop_court')
46
-					: ''));
47
-		include_spip('inc/filtres');
48
-		if (!$echec and $email and !email_valide($email)) {
49
-			$echec = _T('form_email_non_valide');
50
-		}
51
-		if ($echec) {
52
-			echouer_etape_3b($echec);
53
-		}
54
-	}
55
-
56
-	if (@file_exists(_FILE_CHMOD_TMP)) {
57
-		include(_FILE_CHMOD_TMP);
58
-	} else {
59
-		redirige_url_ecrire('install');
60
-	}
61
-
62
-	if (!@file_exists(_FILE_CONNECT_TMP)) {
63
-		redirige_url_ecrire('install');
64
-	}
65
-
66
-	# maintenant on connait le vrai charset du site s'il est deja configure
67
-	# sinon par defaut lire_meta reglera _DEFAULT_CHARSET
68
-	# (les donnees arrivent de toute facon postees en _DEFAULT_CHARSET)
69
-
70
-	lire_metas();
71
-	if ($login) {
72
-		include_spip('inc/charsets');
73
-
74
-		$nom = (importer_charset($nom, _DEFAULT_CHARSET));
75
-		$login = (importer_charset($login, _DEFAULT_CHARSET));
76
-		$email = (importer_charset($email, _DEFAULT_CHARSET));
77
-		# pour le passwd, bizarrement il faut le convertir comme s'il avait
78
-		# ete tape en iso-8859-1 ; car c'est en fait ce que voit md5.js
79
-		$pass = unicode2charset(utf_8_to_unicode($pass), 'iso-8859-1');
80
-
81
-		include_spip('auth/spip');
82
-		// prelablement, creer le champ webmestre si il n'existe pas (install neuve
83
-		// sur une vieille base
84
-		$t = sql_showtable('spip_auteurs', true);
85
-		if (!isset($t['field']['webmestre'])) {
86
-			@sql_alter("TABLE spip_auteurs ADD webmestre varchar(3)  DEFAULT 'non' NOT NULL");
87
-		}
88
-
89
-		// il faut avoir une cle des auth valide pour creer un nouvel auteur webmestre
90
-		include_spip('inc/chiffrer');
91
-		$cles = \Spip\Chiffrer\SpipCles::instance();
92
-		$secret = $cles->getSecretAuth();
93
-
94
-		$id_auteur = sql_getfetsel('id_auteur', 'spip_auteurs', 'login=' . sql_quote($login));
95
-		if ($id_auteur !== null) {
96
-			// c'est un auteur connu : si on a pas de secret il faut absolument qu'il se reconnecte avec le meme mot de passe
97
-			// pour restaurer la copie des cles
98
-			if (!$secret and !auth_spip_initialiser_secret()) {
99
-				$row = sql_fetsel('backup_cles, pass', 'spip_auteurs', 'id_auteur=' . intval($id_auteur));
100
-				if (empty($row['backup_cles']) or !$cles->restore($row['backup_cles'], $pass, $row['pass'], $id_auteur)) {
101
-					$echec = _T('avis_connexion_erreur_fichier_cle_manquant_1');
102
-					echouer_etape_3b($echec);
103
-				}
104
-				spip_log("Les cles secretes ont ete restaurées avec le backup du webmestre #$id_auteur", 'auth' . _LOG_INFO_IMPORTANTE);
105
-				$cles->save();
106
-			}
107
-
108
-			sql_updateq('spip_auteurs', [
109
-				'nom' => $nom,
110
-				'email' => $email,
111
-				'login' => $login,
112
-				'statut' => '0minirezo'
113
-			], 'id_auteur=' . intval($id_auteur));
114
-			// le passer webmestre separement du reste, au cas ou l'alter n'aurait pas fonctionne
115
-			@sql_updateq('spip_auteurs', ['webmestre' => 'oui'], "id_auteur=$id_auteur");
116
-			if (!auth_spip_modifier_pass($login, $pass, $id_auteur)) {
117
-				$echec = _T('avis_erreur_creation_compte');
118
-				echouer_etape_3b($echec);
119
-			}
120
-		} else {
121
-			// Si on a pas de cle et qu'on ne sait pas la creer, on ne peut pas creer de nouveau compte :
122
-			// il faut qu'un webmestre avec un backup fasse l'install
123
-			if (!$secret and !auth_spip_initialiser_secret()) {
124
-				$echec = _T('avis_connexion_erreur_fichier_cle_manquant_2');
125
-				echouer_etape_3b($echec);
126
-			}
127
-
128
-			$id_auteur = sql_insertq('spip_auteurs', [
129
-				'nom' => $nom,
130
-				'email' => $email,
131
-				'login' => $login,
132
-				'statut' => '0minirezo'
133
-			]);
134
-			// le passer webmestre separrement du reste, au cas ou l'alter n'aurait pas fonctionne
135
-			@sql_updateq('spip_auteurs', ['webmestre' => 'oui'], "id_auteur=$id_auteur");
136
-			if (!auth_spip_modifier_pass($login, $pass, $id_auteur)) {
137
-				$echec = _T('avis_erreur_creation_compte');
138
-				echouer_etape_3b($echec);
139
-			}
140
-		}
141
-
142
-		// inserer email comme email webmaster principal
143
-		// (sauf s'il est vide: cas de la re-installation)
144
-		if ($email) {
145
-			ecrire_meta('email_webmaster', $email);
146
-		}
147
-
148
-		// Connecter directement celui qui vient de (re)donner son login
149
-		// mais sans cookie d'admin ni connexion longue
150
-		include_spip('inc/auth');
151
-		if (
152
-			!$auteur = auth_identifier_login($login, $pass)
153
-			or !auth_loger($auteur)
154
-		) {
155
-			spip_log("login automatique impossible $auth_spip $session" . (is_countable($row) ? count($row) : 0));
156
-		}
157
-	}
158
-
159
-	// installer les metas
160
-	$config = charger_fonction('config', 'inc');
161
-	$config();
162
-
163
-	// activer les plugins
164
-	// leur installation ne peut pas se faire sur le meme hit, il faudra donc
165
-	// poursuivre au hit suivant
166
-	include_spip('inc/plugin');
167
-	actualise_plugins_actifs();
168
-
169
-
170
-	include_spip('inc/distant');
171
-	redirige_par_entete(parametre_url(self(), 'etape', '4', '&'));
20
+    $auth_spip = null;
21
+    $session = null;
22
+    $row = null;
23
+    $login = _request('login');
24
+    $email = _request('email');
25
+    $nom = _request('nom');
26
+    $pass = _request('pass');
27
+    $pass_verif = _request('pass_verif');
28
+
29
+    $server_db = defined('_INSTALL_SERVER_DB')
30
+        ? _INSTALL_SERVER_DB
31
+        : _request('server_db');
32
+
33
+    if (!defined('_PASS_LONGUEUR_MINI')) {
34
+        define('_PASS_LONGUEUR_MINI', 6);
35
+    }
36
+    if (!defined('_LOGIN_TROP_COURT')) {
37
+        define('_LOGIN_TROP_COURT', 4);
38
+    }
39
+    if ($login) {
40
+        $echec = ($pass != $pass_verif) ?
41
+            _T('info_passes_identiques')
42
+            : ((strlen($pass) < _PASS_LONGUEUR_MINI) ?
43
+                _T('info_passe_trop_court_car_pluriel', ['nb' => _PASS_LONGUEUR_MINI])
44
+                : ((strlen($login) < _LOGIN_TROP_COURT) ?
45
+                    _T('info_login_trop_court')
46
+                    : ''));
47
+        include_spip('inc/filtres');
48
+        if (!$echec and $email and !email_valide($email)) {
49
+            $echec = _T('form_email_non_valide');
50
+        }
51
+        if ($echec) {
52
+            echouer_etape_3b($echec);
53
+        }
54
+    }
55
+
56
+    if (@file_exists(_FILE_CHMOD_TMP)) {
57
+        include(_FILE_CHMOD_TMP);
58
+    } else {
59
+        redirige_url_ecrire('install');
60
+    }
61
+
62
+    if (!@file_exists(_FILE_CONNECT_TMP)) {
63
+        redirige_url_ecrire('install');
64
+    }
65
+
66
+    # maintenant on connait le vrai charset du site s'il est deja configure
67
+    # sinon par defaut lire_meta reglera _DEFAULT_CHARSET
68
+    # (les donnees arrivent de toute facon postees en _DEFAULT_CHARSET)
69
+
70
+    lire_metas();
71
+    if ($login) {
72
+        include_spip('inc/charsets');
73
+
74
+        $nom = (importer_charset($nom, _DEFAULT_CHARSET));
75
+        $login = (importer_charset($login, _DEFAULT_CHARSET));
76
+        $email = (importer_charset($email, _DEFAULT_CHARSET));
77
+        # pour le passwd, bizarrement il faut le convertir comme s'il avait
78
+        # ete tape en iso-8859-1 ; car c'est en fait ce que voit md5.js
79
+        $pass = unicode2charset(utf_8_to_unicode($pass), 'iso-8859-1');
80
+
81
+        include_spip('auth/spip');
82
+        // prelablement, creer le champ webmestre si il n'existe pas (install neuve
83
+        // sur une vieille base
84
+        $t = sql_showtable('spip_auteurs', true);
85
+        if (!isset($t['field']['webmestre'])) {
86
+            @sql_alter("TABLE spip_auteurs ADD webmestre varchar(3)  DEFAULT 'non' NOT NULL");
87
+        }
88
+
89
+        // il faut avoir une cle des auth valide pour creer un nouvel auteur webmestre
90
+        include_spip('inc/chiffrer');
91
+        $cles = \Spip\Chiffrer\SpipCles::instance();
92
+        $secret = $cles->getSecretAuth();
93
+
94
+        $id_auteur = sql_getfetsel('id_auteur', 'spip_auteurs', 'login=' . sql_quote($login));
95
+        if ($id_auteur !== null) {
96
+            // c'est un auteur connu : si on a pas de secret il faut absolument qu'il se reconnecte avec le meme mot de passe
97
+            // pour restaurer la copie des cles
98
+            if (!$secret and !auth_spip_initialiser_secret()) {
99
+                $row = sql_fetsel('backup_cles, pass', 'spip_auteurs', 'id_auteur=' . intval($id_auteur));
100
+                if (empty($row['backup_cles']) or !$cles->restore($row['backup_cles'], $pass, $row['pass'], $id_auteur)) {
101
+                    $echec = _T('avis_connexion_erreur_fichier_cle_manquant_1');
102
+                    echouer_etape_3b($echec);
103
+                }
104
+                spip_log("Les cles secretes ont ete restaurées avec le backup du webmestre #$id_auteur", 'auth' . _LOG_INFO_IMPORTANTE);
105
+                $cles->save();
106
+            }
107
+
108
+            sql_updateq('spip_auteurs', [
109
+                'nom' => $nom,
110
+                'email' => $email,
111
+                'login' => $login,
112
+                'statut' => '0minirezo'
113
+            ], 'id_auteur=' . intval($id_auteur));
114
+            // le passer webmestre separement du reste, au cas ou l'alter n'aurait pas fonctionne
115
+            @sql_updateq('spip_auteurs', ['webmestre' => 'oui'], "id_auteur=$id_auteur");
116
+            if (!auth_spip_modifier_pass($login, $pass, $id_auteur)) {
117
+                $echec = _T('avis_erreur_creation_compte');
118
+                echouer_etape_3b($echec);
119
+            }
120
+        } else {
121
+            // Si on a pas de cle et qu'on ne sait pas la creer, on ne peut pas creer de nouveau compte :
122
+            // il faut qu'un webmestre avec un backup fasse l'install
123
+            if (!$secret and !auth_spip_initialiser_secret()) {
124
+                $echec = _T('avis_connexion_erreur_fichier_cle_manquant_2');
125
+                echouer_etape_3b($echec);
126
+            }
127
+
128
+            $id_auteur = sql_insertq('spip_auteurs', [
129
+                'nom' => $nom,
130
+                'email' => $email,
131
+                'login' => $login,
132
+                'statut' => '0minirezo'
133
+            ]);
134
+            // le passer webmestre separrement du reste, au cas ou l'alter n'aurait pas fonctionne
135
+            @sql_updateq('spip_auteurs', ['webmestre' => 'oui'], "id_auteur=$id_auteur");
136
+            if (!auth_spip_modifier_pass($login, $pass, $id_auteur)) {
137
+                $echec = _T('avis_erreur_creation_compte');
138
+                echouer_etape_3b($echec);
139
+            }
140
+        }
141
+
142
+        // inserer email comme email webmaster principal
143
+        // (sauf s'il est vide: cas de la re-installation)
144
+        if ($email) {
145
+            ecrire_meta('email_webmaster', $email);
146
+        }
147
+
148
+        // Connecter directement celui qui vient de (re)donner son login
149
+        // mais sans cookie d'admin ni connexion longue
150
+        include_spip('inc/auth');
151
+        if (
152
+            !$auteur = auth_identifier_login($login, $pass)
153
+            or !auth_loger($auteur)
154
+        ) {
155
+            spip_log("login automatique impossible $auth_spip $session" . (is_countable($row) ? count($row) : 0));
156
+        }
157
+    }
158
+
159
+    // installer les metas
160
+    $config = charger_fonction('config', 'inc');
161
+    $config();
162
+
163
+    // activer les plugins
164
+    // leur installation ne peut pas se faire sur le meme hit, il faudra donc
165
+    // poursuivre au hit suivant
166
+    include_spip('inc/plugin');
167
+    actualise_plugins_actifs();
168
+
169
+
170
+    include_spip('inc/distant');
171
+    redirige_par_entete(parametre_url(self(), 'etape', '4', '&'));
172 172
 }
173 173
 
174 174
 function echouer_etape_3b($echec) {
175
-	echo minipres(
176
-		'AUTO',
177
-		info_progression_etape(3, 'etape_', 'install/', true) .
178
-		"<div class='error'><h3>$echec</h3>\n" .
179
-		'<p>' . _T('avis_connexion_echec_2') . '</p>' .
180
-		'</div>'
181
-	);
182
-	exit;
175
+    echo minipres(
176
+        'AUTO',
177
+        info_progression_etape(3, 'etape_', 'install/', true) .
178
+        "<div class='error'><h3>$echec</h3>\n" .
179
+        '<p>' . _T('avis_connexion_echec_2') . '</p>' .
180
+        '</div>'
181
+    );
182
+    exit;
183 183
 }
Please login to merge, or discard this patch.
Spacing   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -91,17 +91,17 @@  discard block
 block discarded – undo
91 91
 		$cles = \Spip\Chiffrer\SpipCles::instance();
92 92
 		$secret = $cles->getSecretAuth();
93 93
 
94
-		$id_auteur = sql_getfetsel('id_auteur', 'spip_auteurs', 'login=' . sql_quote($login));
94
+		$id_auteur = sql_getfetsel('id_auteur', 'spip_auteurs', 'login='.sql_quote($login));
95 95
 		if ($id_auteur !== null) {
96 96
 			// c'est un auteur connu : si on a pas de secret il faut absolument qu'il se reconnecte avec le meme mot de passe
97 97
 			// pour restaurer la copie des cles
98 98
 			if (!$secret and !auth_spip_initialiser_secret()) {
99
-				$row = sql_fetsel('backup_cles, pass', 'spip_auteurs', 'id_auteur=' . intval($id_auteur));
99
+				$row = sql_fetsel('backup_cles, pass', 'spip_auteurs', 'id_auteur='.intval($id_auteur));
100 100
 				if (empty($row['backup_cles']) or !$cles->restore($row['backup_cles'], $pass, $row['pass'], $id_auteur)) {
101 101
 					$echec = _T('avis_connexion_erreur_fichier_cle_manquant_1');
102 102
 					echouer_etape_3b($echec);
103 103
 				}
104
-				spip_log("Les cles secretes ont ete restaurées avec le backup du webmestre #$id_auteur", 'auth' . _LOG_INFO_IMPORTANTE);
104
+				spip_log("Les cles secretes ont ete restaurées avec le backup du webmestre #$id_auteur", 'auth'._LOG_INFO_IMPORTANTE);
105 105
 				$cles->save();
106 106
 			}
107 107
 
@@ -110,7 +110,7 @@  discard block
 block discarded – undo
110 110
 				'email' => $email,
111 111
 				'login' => $login,
112 112
 				'statut' => '0minirezo'
113
-			], 'id_auteur=' . intval($id_auteur));
113
+			], 'id_auteur='.intval($id_auteur));
114 114
 			// le passer webmestre separement du reste, au cas ou l'alter n'aurait pas fonctionne
115 115
 			@sql_updateq('spip_auteurs', ['webmestre' => 'oui'], "id_auteur=$id_auteur");
116 116
 			if (!auth_spip_modifier_pass($login, $pass, $id_auteur)) {
@@ -152,7 +152,7 @@  discard block
 block discarded – undo
152 152
 			!$auteur = auth_identifier_login($login, $pass)
153 153
 			or !auth_loger($auteur)
154 154
 		) {
155
-			spip_log("login automatique impossible $auth_spip $session" . (is_countable($row) ? count($row) : 0));
155
+			spip_log("login automatique impossible $auth_spip $session".(is_countable($row) ? count($row) : 0));
156 156
 		}
157 157
 	}
158 158
 
@@ -174,9 +174,9 @@  discard block
 block discarded – undo
174 174
 function echouer_etape_3b($echec) {
175 175
 	echo minipres(
176 176
 		'AUTO',
177
-		info_progression_etape(3, 'etape_', 'install/', true) .
178
-		"<div class='error'><h3>$echec</h3>\n" .
179
-		'<p>' . _T('avis_connexion_echec_2') . '</p>' .
177
+		info_progression_etape(3, 'etape_', 'install/', true).
178
+		"<div class='error'><h3>$echec</h3>\n".
179
+		'<p>'._T('avis_connexion_echec_2').'</p>'.
180 180
 		'</div>'
181 181
 	);
182 182
 	exit;
Please login to merge, or discard this patch.
ecrire/src/Chiffrer/Password.php 2 patches
Indentation   +51 added lines, -51 removed lines patch added patch discarded remove patch
@@ -14,57 +14,57 @@
 block discarded – undo
14 14
 
15 15
 /** Vérification et hachage de mot de passe */
16 16
 class Password {
17
-	/**
18
-	 * verifier qu'un mot de passe en clair est correct a l'aide de son hash
19
-	 *
20
-	 * Le mot de passe est poivre via la cle secret_des_auth
21
-	 *
22
-	 * @param string $password_clair
23
-	 * @param string $password_hash
24
-	 * @param string $key
25
-	 * @return bool
26
-	 */
27
-	public static function verifier(
28
-		#[\SensitiveParameter]
29
-		string $password_clair,
30
-		#[\SensitiveParameter]
31
-		string $password_hash,
32
-		#[\SensitiveParameter]
33
-		?string $key = null
34
-	): bool {
35
-		$key ??= self::getDefaultKey();
36
-		if ($key) {
37
-			$pass_poivre = hash_hmac('sha256', $password_clair, $key);
38
-			return password_verify($pass_poivre, $password_hash);
39
-		}
40
-		spip_log('Aucune clé pour vérifier le mot de passe', 'chiffrer' . _LOG_INFO_IMPORTANTE);
41
-		return false;
42
-	}
17
+    /**
18
+     * verifier qu'un mot de passe en clair est correct a l'aide de son hash
19
+     *
20
+     * Le mot de passe est poivre via la cle secret_des_auth
21
+     *
22
+     * @param string $password_clair
23
+     * @param string $password_hash
24
+     * @param string $key
25
+     * @return bool
26
+     */
27
+    public static function verifier(
28
+        #[\SensitiveParameter]
29
+        string $password_clair,
30
+        #[\SensitiveParameter]
31
+        string $password_hash,
32
+        #[\SensitiveParameter]
33
+        ?string $key = null
34
+    ): bool {
35
+        $key ??= self::getDefaultKey();
36
+        if ($key) {
37
+            $pass_poivre = hash_hmac('sha256', $password_clair, $key);
38
+            return password_verify($pass_poivre, $password_hash);
39
+        }
40
+        spip_log('Aucune clé pour vérifier le mot de passe', 'chiffrer' . _LOG_INFO_IMPORTANTE);
41
+        return false;
42
+    }
43 43
 
44
-	/**
45
-	 * Calculer un hash salé du mot de passe
46
-	 * @param string $password_clair
47
-	 * @param string $salt
48
-	 * @return string
49
-	 */
50
-	public static function hacher(
51
-		#[\SensitiveParameter]
52
-		string $password_clair,
53
-		#[\SensitiveParameter]
54
-		?string $key = null
55
-	): ?string {
56
-		$key ??= self::getDefaultKey();
57
-		// ne pas fournir un hash errone si la cle nous manque
58
-		if ($key) {
59
-			$pass_poivre = hash_hmac('sha256', $password_clair, $key);
60
-			return password_hash($pass_poivre, PASSWORD_DEFAULT);
61
-		}
62
-		spip_log('Aucune clé pour chiffrer le mot de passe', 'chiffrer' . _LOG_INFO_IMPORTANTE);
63
-		return null;
64
-	}
44
+    /**
45
+     * Calculer un hash salé du mot de passe
46
+     * @param string $password_clair
47
+     * @param string $salt
48
+     * @return string
49
+     */
50
+    public static function hacher(
51
+        #[\SensitiveParameter]
52
+        string $password_clair,
53
+        #[\SensitiveParameter]
54
+        ?string $key = null
55
+    ): ?string {
56
+        $key ??= self::getDefaultKey();
57
+        // ne pas fournir un hash errone si la cle nous manque
58
+        if ($key) {
59
+            $pass_poivre = hash_hmac('sha256', $password_clair, $key);
60
+            return password_hash($pass_poivre, PASSWORD_DEFAULT);
61
+        }
62
+        spip_log('Aucune clé pour chiffrer le mot de passe', 'chiffrer' . _LOG_INFO_IMPORTANTE);
63
+        return null;
64
+    }
65 65
 
66
-	private static function getDefaultKey(): ?string {
67
-		$keys = SpipCles::instance();
68
-		return $keys->getSecretAuth();
69
-	}
66
+    private static function getDefaultKey(): ?string {
67
+        $keys = SpipCles::instance();
68
+        return $keys->getSecretAuth();
69
+    }
70 70
 }
Please login to merge, or discard this patch.
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -37,7 +37,7 @@  discard block
 block discarded – undo
37 37
 			$pass_poivre = hash_hmac('sha256', $password_clair, $key);
38 38
 			return password_verify($pass_poivre, $password_hash);
39 39
 		}
40
-		spip_log('Aucune clé pour vérifier le mot de passe', 'chiffrer' . _LOG_INFO_IMPORTANTE);
40
+		spip_log('Aucune clé pour vérifier le mot de passe', 'chiffrer'._LOG_INFO_IMPORTANTE);
41 41
 		return false;
42 42
 	}
43 43
 
@@ -59,7 +59,7 @@  discard block
 block discarded – undo
59 59
 			$pass_poivre = hash_hmac('sha256', $password_clair, $key);
60 60
 			return password_hash($pass_poivre, PASSWORD_DEFAULT);
61 61
 		}
62
-		spip_log('Aucune clé pour chiffrer le mot de passe', 'chiffrer' . _LOG_INFO_IMPORTANTE);
62
+		spip_log('Aucune clé pour chiffrer le mot de passe', 'chiffrer'._LOG_INFO_IMPORTANTE);
63 63
 		return null;
64 64
 	}
65 65
 
Please login to merge, or discard this patch.
ecrire/src/Chiffrer/Cles.php 2 patches
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -30,7 +30,7 @@
 block discarded – undo
30 30
 	public function generate(string $name): string {
31 31
 		$key = Chiffrement::keygen();
32 32
 		$this->keys[$name] = $key;
33
-		spip_log("Création de la cle $name", 'chiffrer' . _LOG_INFO_IMPORTANTE);
33
+		spip_log("Création de la cle $name", 'chiffrer'._LOG_INFO_IMPORTANTE);
34 34
 		return $key;
35 35
 	}
36 36
 
Please login to merge, or discard this patch.
Indentation   +44 added lines, -44 removed lines patch added patch discarded remove patch
@@ -14,48 +14,48 @@
 block discarded – undo
14 14
 
15 15
 /** Conteneur de clés (chiffrement, authentification) */
16 16
 class Cles implements \Countable /* , ContainerInterface */ {
17
-	private array $keys;
18
-	public function __construct(array $keys) {
19
-		$this->keys = $keys;
20
-	}
21
-
22
-	public function has(string $name): bool {
23
-		return array_key_exists($name, $this->keys);
24
-	}
25
-
26
-	public function get(string $name): ?string {
27
-		return $this->keys[$name] ?? null;
28
-	}
29
-
30
-	public function generate(string $name): string {
31
-		$key = Chiffrement::keygen();
32
-		$this->keys[$name] = $key;
33
-		spip_log("Création de la cle $name", 'chiffrer' . _LOG_INFO_IMPORTANTE);
34
-		return $key;
35
-	}
36
-
37
-	public function set(
38
-		string $name,
39
-		#[\SensitiveParameter]
40
-		string $key
41
-	): void {
42
-		$this->keys[$name] = $key;
43
-	}
44
-
45
-	public function delete(string $name): bool {
46
-		if (isset($this->keys[$name])) {
47
-			unset($this->keys[$name]);
48
-			return true;
49
-		};
50
-		return false;
51
-	}
52
-
53
-	public function count(): int {
54
-		return count($this->keys);
55
-	}
56
-
57
-	public function toJson(): string {
58
-		$json = array_map('base64_encode', $this->keys);
59
-		return \json_encode($json);
60
-	}
17
+    private array $keys;
18
+    public function __construct(array $keys) {
19
+        $this->keys = $keys;
20
+    }
21
+
22
+    public function has(string $name): bool {
23
+        return array_key_exists($name, $this->keys);
24
+    }
25
+
26
+    public function get(string $name): ?string {
27
+        return $this->keys[$name] ?? null;
28
+    }
29
+
30
+    public function generate(string $name): string {
31
+        $key = Chiffrement::keygen();
32
+        $this->keys[$name] = $key;
33
+        spip_log("Création de la cle $name", 'chiffrer' . _LOG_INFO_IMPORTANTE);
34
+        return $key;
35
+    }
36
+
37
+    public function set(
38
+        string $name,
39
+        #[\SensitiveParameter]
40
+        string $key
41
+    ): void {
42
+        $this->keys[$name] = $key;
43
+    }
44
+
45
+    public function delete(string $name): bool {
46
+        if (isset($this->keys[$name])) {
47
+            unset($this->keys[$name]);
48
+            return true;
49
+        };
50
+        return false;
51
+    }
52
+
53
+    public function count(): int {
54
+        return count($this->keys);
55
+    }
56
+
57
+    public function toJson(): string {
58
+        $json = array_map('base64_encode', $this->keys);
59
+        return \json_encode($json);
60
+    }
61 61
 }
Please login to merge, or discard this patch.
ecrire/maj/2021.php 2 patches
Indentation   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -19,15 +19,15 @@
 block discarded – undo
19 19
  * @package SPIP\Core\SQL\Upgrade
20 20
  **/
21 21
 if (!defined('_ECRIRE_INC_VERSION')) {
22
-	return;
22
+    return;
23 23
 }
24 24
 
25 25
 $GLOBALS['maj'][2021_02_18_00] = [
26
-	['sql_alter', "TABLE spip_auteurs CHANGE imessage imessage VARCHAR(3) DEFAULT '' NOT NULL" ],
27
-	['sql_updateq', 'spip_auteurs', ['imessage' => 'oui'], "imessage != 'non' OR imessage IS NULL" ],
26
+    ['sql_alter', "TABLE spip_auteurs CHANGE imessage imessage VARCHAR(3) DEFAULT '' NOT NULL" ],
27
+    ['sql_updateq', 'spip_auteurs', ['imessage' => 'oui'], "imessage != 'non' OR imessage IS NULL" ],
28 28
 ];
29 29
 
30 30
 $GLOBALS['maj'][2022_02_23_02] = [
31
-	['sql_alter', "TABLE spip_auteurs ADD backup_cles mediumtext DEFAULT '' NOT NULL" ],
32
-	['sql_delete', 'spip_meta', "nom='secret_du_site'" ],
31
+    ['sql_alter', "TABLE spip_auteurs ADD backup_cles mediumtext DEFAULT '' NOT NULL" ],
32
+    ['sql_delete', 'spip_meta', "nom='secret_du_site'" ],
33 33
 ];
Please login to merge, or discard this patch.
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -23,11 +23,11 @@
 block discarded – undo
23 23
 }
24 24
 
25 25
 $GLOBALS['maj'][2021_02_18_00] = [
26
-	['sql_alter', "TABLE spip_auteurs CHANGE imessage imessage VARCHAR(3) DEFAULT '' NOT NULL" ],
27
-	['sql_updateq', 'spip_auteurs', ['imessage' => 'oui'], "imessage != 'non' OR imessage IS NULL" ],
26
+	['sql_alter', "TABLE spip_auteurs CHANGE imessage imessage VARCHAR(3) DEFAULT '' NOT NULL"],
27
+	['sql_updateq', 'spip_auteurs', ['imessage' => 'oui'], "imessage != 'non' OR imessage IS NULL"],
28 28
 ];
29 29
 
30 30
 $GLOBALS['maj'][2022_02_23_02] = [
31
-	['sql_alter', "TABLE spip_auteurs ADD backup_cles mediumtext DEFAULT '' NOT NULL" ],
32
-	['sql_delete', 'spip_meta', "nom='secret_du_site'" ],
31
+	['sql_alter', "TABLE spip_auteurs ADD backup_cles mediumtext DEFAULT '' NOT NULL"],
32
+	['sql_delete', 'spip_meta', "nom='secret_du_site'"],
33 33
 ];
Please login to merge, or discard this patch.
ecrire/action/inscrire_auteur.php 2 patches
Spacing   +11 added lines, -11 removed lines patch added patch discarded remove patch
@@ -61,7 +61,7 @@  discard block
 block discarded – undo
61 61
 	}
62 62
 
63 63
 	include_spip('base/abstract_sql');
64
-	$res = sql_select('statut, id_auteur, login, email, nom', 'spip_auteurs', 'email=' . sql_quote($desc['email']));
64
+	$res = sql_select('statut, id_auteur, login, email, nom', 'spip_auteurs', 'email='.sql_quote($desc['email']));
65 65
 	// erreur ?
66 66
 	if (!$res) {
67 67
 		return _T('titre_probleme_technique');
@@ -217,11 +217,11 @@  discard block
 block discarded – undo
217 217
 
218 218
 	$login = $login_base;
219 219
 
220
-	for ($i = 1;; $i++) {
220
+	for ($i = 1; ; $i++) {
221 221
 		if (!sql_countsel('spip_auteurs', "login='$login'")) {
222 222
 			return $login;
223 223
 		}
224
-		$login = $login_base . $i;
224
+		$login = $login_base.$i;
225 225
 	}
226 226
 }
227 227
 
@@ -361,11 +361,11 @@  discard block
 block discarded – undo
361 361
 	do {
362 362
 		// Un morceau du jeton est lisible en bdd pour éviter de devoir déchiffrer
363 363
 		// tous les jetons connus pour vérifier le jeton d’un auteur.
364
-		$public = substr(creer_uniqid(), 0, 7) . '.';
365
-		$jeton = $public . creer_uniqid();
366
-		$jeton_chiffre_prefixe = $public . Chiffrement::chiffrer($jeton, SpipCles::secret_du_site());
367
-		sql_updateq('spip_auteurs', ['cookie_oubli' => $jeton_chiffre_prefixe], 'id_auteur=' . intval($id_auteur));
368
-	} while (sql_countsel('spip_auteurs', 'cookie_oubli=' . sql_quote($jeton_chiffre_prefixe, '', 'string')) > 1);
364
+		$public = substr(creer_uniqid(), 0, 7).'.';
365
+		$jeton = $public.creer_uniqid();
366
+		$jeton_chiffre_prefixe = $public.Chiffrement::chiffrer($jeton, SpipCles::secret_du_site());
367
+		sql_updateq('spip_auteurs', ['cookie_oubli' => $jeton_chiffre_prefixe], 'id_auteur='.intval($id_auteur));
368
+	} while (sql_countsel('spip_auteurs', 'cookie_oubli='.sql_quote($jeton_chiffre_prefixe, '', 'string')) > 1);
369 369
 
370 370
 	return $jeton;
371 371
 }
@@ -382,7 +382,7 @@  discard block
 block discarded – undo
382 382
  */
383 383
 function auteur_lire_jeton(int $id_auteur, bool $autoInit = false): ?string {
384 384
 	include_spip('base/abstract_sql');
385
-	$jeton_chiffre_prefixe = sql_getfetsel('cookie_oubli', 'spip_auteurs', 'id_auteur=' . $id_auteur);
385
+	$jeton_chiffre_prefixe = sql_getfetsel('cookie_oubli', 'spip_auteurs', 'id_auteur='.$id_auteur);
386 386
 	if ($jeton_chiffre_prefixe) {
387 387
 		include_spip('inc/chiffrer');
388 388
 		$jeton_chiffre = substr($jeton_chiffre_prefixe, 8);
@@ -414,7 +414,7 @@  discard block
 block discarded – undo
414 414
 	$public = substr($jeton, 0, 8);
415 415
 
416 416
 	// Les auteurs qui ont un jetons ressemblant
417
-	$auteurs = sql_allfetsel('*', 'spip_auteurs', 'cookie_oubli LIKE ' . sql_quote($public . '%'));
417
+	$auteurs = sql_allfetsel('*', 'spip_auteurs', 'cookie_oubli LIKE '.sql_quote($public.'%'));
418 418
 	foreach ($auteurs as $auteur) {
419 419
 		$jeton_chiffre = substr($auteur['cookie_oubli'], 8);
420 420
 		$_jeton = Chiffrement::dechiffrer($jeton_chiffre, SpipCles::secret_du_site());
@@ -433,5 +433,5 @@  discard block
 block discarded – undo
433 433
  */
434 434
 function auteur_effacer_jeton($id_auteur) {
435 435
 	include_spip('base/abstract_sql');
436
-	return sql_updateq('spip_auteurs', ['cookie_oubli' => ''], 'id_auteur=' . intval($id_auteur));
436
+	return sql_updateq('spip_auteurs', ['cookie_oubli' => ''], 'id_auteur='.intval($id_auteur));
437 437
 }
Please login to merge, or discard this patch.
Indentation   +238 added lines, -238 removed lines patch added patch discarded remove patch
@@ -21,7 +21,7 @@  discard block
 block discarded – undo
21 21
 
22 22
 
23 23
 if (!defined('_ECRIRE_INC_VERSION')) {
24
-	return;
24
+    return;
25 25
 }
26 26
 
27 27
 
@@ -44,70 +44,70 @@  discard block
 block discarded – undo
44 44
  * @return array|string
45 45
  */
46 46
 function action_inscrire_auteur_dist($statut, $mail_complet, $nom, $options = []) {
47
-	if (!is_array($options)) {
48
-		$options = ['id' => $options];
49
-	}
50
-
51
-	if (function_exists('test_inscription')) {
52
-		$f = 'test_inscription';
53
-	} else {
54
-		$f = 'test_inscription_dist';
55
-	}
56
-	$desc = $f($statut, $mail_complet, $nom, $options);
57
-
58
-	// erreur ?
59
-	if (!is_array($desc)) {
60
-		return _T($desc);
61
-	}
62
-
63
-	include_spip('base/abstract_sql');
64
-	$res = sql_select('statut, id_auteur, login, email, nom', 'spip_auteurs', 'email=' . sql_quote($desc['email']));
65
-	// erreur ?
66
-	if (!$res) {
67
-		return _T('titre_probleme_technique');
68
-	}
69
-
70
-	$row = sql_fetch($res);
71
-	sql_free($res);
72
-	if ($row) {
73
-		if (isset($options['force_nouveau']) and $options['force_nouveau'] == true) {
74
-			$desc['id_auteur'] = $row['id_auteur'];
75
-			$desc = inscription_nouveau($desc);
76
-		} else {
77
-			$desc = $row;
78
-		}
79
-	} else // s'il n'existe pas deja, creer les identifiants
80
-	{
81
-		$desc = inscription_nouveau($desc);
82
-	}
83
-
84
-	// erreur ?
85
-	if (!is_array($desc)) {
86
-		return $desc;
87
-	}
88
-
89
-
90
-	// generer le mot de passe (ou le refaire si compte inutilise)
91
-	$desc['pass'] = creer_pass_pour_auteur($desc['id_auteur']);
92
-
93
-	// attribuer un jeton pour confirmation par clic sur un lien
94
-	$desc['jeton'] = auteur_attribuer_jeton($desc['id_auteur']);
95
-
96
-	// charger de suite cette fonction, pour ses utilitaires
97
-	$envoyer_inscription = charger_fonction('envoyer_inscription', '');
98
-	[$sujet, $msg, $from, $head] = $envoyer_inscription($desc, $nom, $statut, $options);
99
-
100
-	$notifications = charger_fonction('notifications', 'inc');
101
-	notifications_envoyer_mails($mail_complet, $msg, $sujet, $from, $head);
102
-
103
-	// Notifications
104
-	$notifications(
105
-		'inscription',
106
-		$desc['id_auteur'],
107
-		['nom' => $desc['nom'], 'email' => $desc['email']]
108
-	);
109
-
110
-	return $desc;
47
+    if (!is_array($options)) {
48
+        $options = ['id' => $options];
49
+    }
50
+
51
+    if (function_exists('test_inscription')) {
52
+        $f = 'test_inscription';
53
+    } else {
54
+        $f = 'test_inscription_dist';
55
+    }
56
+    $desc = $f($statut, $mail_complet, $nom, $options);
57
+
58
+    // erreur ?
59
+    if (!is_array($desc)) {
60
+        return _T($desc);
61
+    }
62
+
63
+    include_spip('base/abstract_sql');
64
+    $res = sql_select('statut, id_auteur, login, email, nom', 'spip_auteurs', 'email=' . sql_quote($desc['email']));
65
+    // erreur ?
66
+    if (!$res) {
67
+        return _T('titre_probleme_technique');
68
+    }
69
+
70
+    $row = sql_fetch($res);
71
+    sql_free($res);
72
+    if ($row) {
73
+        if (isset($options['force_nouveau']) and $options['force_nouveau'] == true) {
74
+            $desc['id_auteur'] = $row['id_auteur'];
75
+            $desc = inscription_nouveau($desc);
76
+        } else {
77
+            $desc = $row;
78
+        }
79
+    } else // s'il n'existe pas deja, creer les identifiants
80
+    {
81
+        $desc = inscription_nouveau($desc);
82
+    }
83
+
84
+    // erreur ?
85
+    if (!is_array($desc)) {
86
+        return $desc;
87
+    }
88
+
89
+
90
+    // generer le mot de passe (ou le refaire si compte inutilise)
91
+    $desc['pass'] = creer_pass_pour_auteur($desc['id_auteur']);
92
+
93
+    // attribuer un jeton pour confirmation par clic sur un lien
94
+    $desc['jeton'] = auteur_attribuer_jeton($desc['id_auteur']);
95
+
96
+    // charger de suite cette fonction, pour ses utilitaires
97
+    $envoyer_inscription = charger_fonction('envoyer_inscription', '');
98
+    [$sujet, $msg, $from, $head] = $envoyer_inscription($desc, $nom, $statut, $options);
99
+
100
+    $notifications = charger_fonction('notifications', 'inc');
101
+    notifications_envoyer_mails($mail_complet, $msg, $sujet, $from, $head);
102
+
103
+    // Notifications
104
+    $notifications(
105
+        'inscription',
106
+        $desc['id_auteur'],
107
+        ['nom' => $desc['nom'], 'email' => $desc['email']]
108
+    );
109
+
110
+    return $desc;
111 111
 }
112 112
 
113 113
 
@@ -130,23 +130,23 @@  discard block
 block discarded – undo
130 130
  *
131 131
  */
132 132
 function test_inscription_dist($statut, $mail, $nom, $options) {
133
-	include_spip('inc/filtres');
134
-	if (!$r = email_valide($mail)) {
135
-		return 'info_email_invalide';
136
-	}
137
-	$nom = trim(corriger_caracteres($nom));
138
-	$res = ['email' => $r, 'nom' => $nom, 'prefs' => $statut];
139
-	if (isset($options['login'])) {
140
-		$login = trim(corriger_caracteres($options['login']));
141
-		if ((strlen($login) >= _LOGIN_TROP_COURT) and (strlen($nom) <= 64)) {
142
-			$res['login'] = $login;
143
-		}
144
-	}
145
-	if (!isset($res['login']) and ((strlen($nom) < _LOGIN_TROP_COURT) or (strlen($nom) > 64))) {
146
-		return 'ecrire:info_login_trop_court';
147
-	}
148
-
149
-	return $res;
133
+    include_spip('inc/filtres');
134
+    if (!$r = email_valide($mail)) {
135
+        return 'info_email_invalide';
136
+    }
137
+    $nom = trim(corriger_caracteres($nom));
138
+    $res = ['email' => $r, 'nom' => $nom, 'prefs' => $statut];
139
+    if (isset($options['login'])) {
140
+        $login = trim(corriger_caracteres($options['login']));
141
+        if ((strlen($login) >= _LOGIN_TROP_COURT) and (strlen($nom) <= 64)) {
142
+            $res['login'] = $login;
143
+        }
144
+    }
145
+    if (!isset($res['login']) and ((strlen($nom) < _LOGIN_TROP_COURT) or (strlen($nom) > 64))) {
146
+        return 'ecrire:info_login_trop_court';
147
+    }
148
+
149
+    return $res;
150 150
 }
151 151
 
152 152
 
@@ -159,33 +159,33 @@  discard block
 block discarded – undo
159 159
  * @return mixed|string
160 160
  */
161 161
 function inscription_nouveau($desc) {
162
-	if (!isset($desc['login']) or !strlen($desc['login'])) {
163
-		$desc['login'] = test_login($desc['nom'], $desc['email']);
164
-	}
162
+    if (!isset($desc['login']) or !strlen($desc['login'])) {
163
+        $desc['login'] = test_login($desc['nom'], $desc['email']);
164
+    }
165 165
 
166
-	$desc['statut'] = 'nouveau';
167
-	include_spip('action/editer_auteur');
168
-	if (isset($desc['id_auteur'])) {
169
-		$id_auteur = $desc['id_auteur'];
170
-	} else {
171
-		$id_auteur = auteur_inserer();
172
-	}
166
+    $desc['statut'] = 'nouveau';
167
+    include_spip('action/editer_auteur');
168
+    if (isset($desc['id_auteur'])) {
169
+        $id_auteur = $desc['id_auteur'];
170
+    } else {
171
+        $id_auteur = auteur_inserer();
172
+    }
173 173
 
174
-	if (!$id_auteur) {
175
-		return _T('titre_probleme_technique');
176
-	}
174
+    if (!$id_auteur) {
175
+        return _T('titre_probleme_technique');
176
+    }
177 177
 
178
-	$desc['lang'] = $GLOBALS['spip_lang'];
178
+    $desc['lang'] = $GLOBALS['spip_lang'];
179 179
 
180
-	include_spip('inc/autoriser');
181
-	// lever l'autorisation pour pouvoir modifier le statut
182
-	autoriser_exception('modifier', 'auteur', $id_auteur);
183
-	auteur_modifier($id_auteur, $desc);
184
-	autoriser_exception('modifier', 'auteur', $id_auteur, false);
180
+    include_spip('inc/autoriser');
181
+    // lever l'autorisation pour pouvoir modifier le statut
182
+    autoriser_exception('modifier', 'auteur', $id_auteur);
183
+    auteur_modifier($id_auteur, $desc);
184
+    autoriser_exception('modifier', 'auteur', $id_auteur, false);
185 185
 
186
-	$desc['id_auteur'] = $id_auteur;
186
+    $desc['id_auteur'] = $id_auteur;
187 187
 
188
-	return $desc;
188
+    return $desc;
189 189
 }
190 190
 
191 191
 
@@ -202,27 +202,27 @@  discard block
 block discarded – undo
202 202
  * @return string
203 203
  */
204 204
 function test_login($nom, $mail) {
205
-	include_spip('inc/charsets');
206
-	$nom = strtolower(translitteration($nom));
207
-	$login_base = preg_replace('/[^\w\d_]/', '_', $nom);
208
-
209
-	// il faut eviter que le login soit vraiment trop court
210
-	if (strlen($login_base) < 3) {
211
-		$mail = strtolower(translitteration(preg_replace('/@.*/', '', $mail)));
212
-		$login_base = preg_replace('/[^\w\d]/', '_', $mail);
213
-	}
214
-	if (strlen($login_base) < 3) {
215
-		$login_base = 'user';
216
-	}
217
-
218
-	$login = $login_base;
219
-
220
-	for ($i = 1;; $i++) {
221
-		if (!sql_countsel('spip_auteurs', "login='$login'")) {
222
-			return $login;
223
-		}
224
-		$login = $login_base . $i;
225
-	}
205
+    include_spip('inc/charsets');
206
+    $nom = strtolower(translitteration($nom));
207
+    $login_base = preg_replace('/[^\w\d_]/', '_', $nom);
208
+
209
+    // il faut eviter que le login soit vraiment trop court
210
+    if (strlen($login_base) < 3) {
211
+        $mail = strtolower(translitteration(preg_replace('/@.*/', '', $mail)));
212
+        $login_base = preg_replace('/[^\w\d]/', '_', $mail);
213
+    }
214
+    if (strlen($login_base) < 3) {
215
+        $login_base = 'user';
216
+    }
217
+
218
+    $login = $login_base;
219
+
220
+    for ($i = 1;; $i++) {
221
+        if (!sql_countsel('spip_auteurs', "login='$login'")) {
222
+            return $login;
223
+        }
224
+        $login = $login_base . $i;
225
+    }
226 226
 }
227 227
 
228 228
 
@@ -240,26 +240,26 @@  discard block
 block discarded – undo
240 240
  */
241 241
 function envoyer_inscription_dist($desc, $nom, $mode, $options = []) {
242 242
 
243
-	$contexte = array_merge($desc, $options);
244
-	$contexte['nom'] = $nom;
245
-	$contexte['mode'] = $mode;
246
-	$contexte['url_confirm'] = generer_url_action('confirmer_inscription', '', true, true);
247
-	$contexte['url_confirm'] = parametre_url($contexte['url_confirm'], 'email', $desc['email']);
248
-	$contexte['url_confirm'] = parametre_url($contexte['url_confirm'], 'jeton', $desc['jeton']);
249
-	// S'il y a l'option redirect, on l'ajoute directement ici
250
-	if (isset($options['redirect'])) {
251
-		$contexte['url_confirm'] = parametre_url($contexte['url_confirm'], 'redirect', $options['redirect']);
252
-	}
253
-
254
-	$modele_mail = 'modeles/mail_inscription';
255
-	if (isset($options['modele_mail']) and $options['modele_mail']) {
256
-		$modele_mail = $options['modele_mail'];
257
-	}
258
-	$message = recuperer_fond($modele_mail, $contexte);
259
-	$from = ($options['from'] ?? '');
260
-	$head = '';
261
-
262
-	return ['', $message, $from, $head];
243
+    $contexte = array_merge($desc, $options);
244
+    $contexte['nom'] = $nom;
245
+    $contexte['mode'] = $mode;
246
+    $contexte['url_confirm'] = generer_url_action('confirmer_inscription', '', true, true);
247
+    $contexte['url_confirm'] = parametre_url($contexte['url_confirm'], 'email', $desc['email']);
248
+    $contexte['url_confirm'] = parametre_url($contexte['url_confirm'], 'jeton', $desc['jeton']);
249
+    // S'il y a l'option redirect, on l'ajoute directement ici
250
+    if (isset($options['redirect'])) {
251
+        $contexte['url_confirm'] = parametre_url($contexte['url_confirm'], 'redirect', $options['redirect']);
252
+    }
253
+
254
+    $modele_mail = 'modeles/mail_inscription';
255
+    if (isset($options['modele_mail']) and $options['modele_mail']) {
256
+        $modele_mail = $options['modele_mail'];
257
+    }
258
+    $message = recuperer_fond($modele_mail, $contexte);
259
+    $from = ($options['from'] ?? '');
260
+    $head = '';
261
+
262
+    return ['', $message, $from, $head];
263 263
 }
264 264
 
265 265
 
@@ -270,12 +270,12 @@  discard block
 block discarded – undo
270 270
  * @return string
271 271
  */
272 272
 function creer_pass_pour_auteur($id_auteur) {
273
-	include_spip('inc/acces');
274
-	$pass = creer_pass_aleatoire(max(_PASS_LONGUEUR_MINI, 16), $id_auteur);
275
-	include_spip('action/editer_auteur');
276
-	auteur_instituer($id_auteur, ['pass' => $pass]);
273
+    include_spip('inc/acces');
274
+    $pass = creer_pass_aleatoire(max(_PASS_LONGUEUR_MINI, 16), $id_auteur);
275
+    include_spip('action/editer_auteur');
276
+    auteur_instituer($id_auteur, ['pass' => $pass]);
277 277
 
278
-	return $pass;
278
+    return $pass;
279 279
 }
280 280
 
281 281
 /**
@@ -288,17 +288,17 @@  discard block
 block discarded – undo
288 288
  * @return string
289 289
  */
290 290
 function tester_statut_inscription($statut_tmp, $id) {
291
-	include_spip('inc/autoriser');
292
-	if ($statut_tmp) {
293
-		return autoriser('inscrireauteur', $statut_tmp, $id) ? $statut_tmp : '';
294
-	} elseif (
295
-		autoriser('inscrireauteur', $statut_tmp = '1comite', $id)
296
-		or autoriser('inscrireauteur', $statut_tmp = '6forum', $id)
297
-	) {
298
-		return $statut_tmp;
299
-	}
300
-
301
-	return '';
291
+    include_spip('inc/autoriser');
292
+    if ($statut_tmp) {
293
+        return autoriser('inscrireauteur', $statut_tmp, $id) ? $statut_tmp : '';
294
+    } elseif (
295
+        autoriser('inscrireauteur', $statut_tmp = '1comite', $id)
296
+        or autoriser('inscrireauteur', $statut_tmp = '6forum', $id)
297
+    ) {
298
+        return $statut_tmp;
299
+    }
300
+
301
+    return '';
302 302
 }
303 303
 
304 304
 
@@ -312,35 +312,35 @@  discard block
 block discarded – undo
312 312
  * @return array
313 313
  */
314 314
 function confirmer_statut_inscription($auteur) {
315
-	// securite
316
-	if ($auteur['statut'] != 'nouveau') {
317
-		return $auteur;
318
-	}
319
-
320
-	$s = $auteur['prefs'];
321
-	// securite, au cas ou prefs aurait ete corrompu (ou deja ecrase par un tableau serialize)
322
-	if (!preg_match(',^\w+$,', $s)) {
323
-		$s = '6forum';
324
-	}
325
-	include_spip('inc/autoriser');
326
-	if (!autoriser('inscrireauteur', $s)) {
327
-		return $auteur;
328
-	}
329
-
330
-	include_spip('inc/autoriser');
331
-	// accorder l'autorisation de modif du statut auteur
332
-	autoriser_exception('modifier', 'auteur', $auteur['id_auteur']);
333
-	include_spip('action/editer_auteur');
334
-	// changer le statut
335
-	auteur_modifier($auteur['id_auteur'], ['statut' => $s]);
336
-	unset($_COOKIE['spip_session']); // forcer la maj de la session
337
-	// lever l'autorisation de modif du statut auteur
338
-	autoriser_exception('modifier', 'auteur', $auteur['id_auteur'], false);
339
-
340
-	// mettre a jour le statut
341
-	$auteur['statut'] = $s;
342
-
343
-	return $auteur;
315
+    // securite
316
+    if ($auteur['statut'] != 'nouveau') {
317
+        return $auteur;
318
+    }
319
+
320
+    $s = $auteur['prefs'];
321
+    // securite, au cas ou prefs aurait ete corrompu (ou deja ecrase par un tableau serialize)
322
+    if (!preg_match(',^\w+$,', $s)) {
323
+        $s = '6forum';
324
+    }
325
+    include_spip('inc/autoriser');
326
+    if (!autoriser('inscrireauteur', $s)) {
327
+        return $auteur;
328
+    }
329
+
330
+    include_spip('inc/autoriser');
331
+    // accorder l'autorisation de modif du statut auteur
332
+    autoriser_exception('modifier', 'auteur', $auteur['id_auteur']);
333
+    include_spip('action/editer_auteur');
334
+    // changer le statut
335
+    auteur_modifier($auteur['id_auteur'], ['statut' => $s]);
336
+    unset($_COOKIE['spip_session']); // forcer la maj de la session
337
+    // lever l'autorisation de modif du statut auteur
338
+    autoriser_exception('modifier', 'auteur', $auteur['id_auteur'], false);
339
+
340
+    // mettre a jour le statut
341
+    $auteur['statut'] = $s;
342
+
343
+    return $auteur;
344 344
 }
345 345
 
346 346
 
@@ -354,20 +354,20 @@  discard block
 block discarded – undo
354 354
  * @return string
355 355
  */
356 356
 function auteur_attribuer_jeton($id_auteur): string {
357
-	include_spip('base/abstract_sql');
358
-	include_spip('inc/acces');
359
-	include_spip('inc/chiffrer');
360
-	// s'assurer de l'unicite du jeton pour le couple (email,cookie)
361
-	do {
362
-		// Un morceau du jeton est lisible en bdd pour éviter de devoir déchiffrer
363
-		// tous les jetons connus pour vérifier le jeton d’un auteur.
364
-		$public = substr(creer_uniqid(), 0, 7) . '.';
365
-		$jeton = $public . creer_uniqid();
366
-		$jeton_chiffre_prefixe = $public . Chiffrement::chiffrer($jeton, SpipCles::secret_du_site());
367
-		sql_updateq('spip_auteurs', ['cookie_oubli' => $jeton_chiffre_prefixe], 'id_auteur=' . intval($id_auteur));
368
-	} while (sql_countsel('spip_auteurs', 'cookie_oubli=' . sql_quote($jeton_chiffre_prefixe, '', 'string')) > 1);
369
-
370
-	return $jeton;
357
+    include_spip('base/abstract_sql');
358
+    include_spip('inc/acces');
359
+    include_spip('inc/chiffrer');
360
+    // s'assurer de l'unicite du jeton pour le couple (email,cookie)
361
+    do {
362
+        // Un morceau du jeton est lisible en bdd pour éviter de devoir déchiffrer
363
+        // tous les jetons connus pour vérifier le jeton d’un auteur.
364
+        $public = substr(creer_uniqid(), 0, 7) . '.';
365
+        $jeton = $public . creer_uniqid();
366
+        $jeton_chiffre_prefixe = $public . Chiffrement::chiffrer($jeton, SpipCles::secret_du_site());
367
+        sql_updateq('spip_auteurs', ['cookie_oubli' => $jeton_chiffre_prefixe], 'id_auteur=' . intval($id_auteur));
368
+    } while (sql_countsel('spip_auteurs', 'cookie_oubli=' . sql_quote($jeton_chiffre_prefixe, '', 'string')) > 1);
369
+
370
+    return $jeton;
371 371
 }
372 372
 
373 373
 /**
@@ -381,20 +381,20 @@  discard block
 block discarded – undo
381 381
  * @return string|null
382 382
  */
383 383
 function auteur_lire_jeton(int $id_auteur, bool $autoInit = false): ?string {
384
-	include_spip('base/abstract_sql');
385
-	$jeton_chiffre_prefixe = sql_getfetsel('cookie_oubli', 'spip_auteurs', 'id_auteur=' . $id_auteur);
386
-	if ($jeton_chiffre_prefixe) {
387
-		include_spip('inc/chiffrer');
388
-		$jeton_chiffre = substr($jeton_chiffre_prefixe, 8);
389
-		$jeton = Chiffrement::dechiffrer($jeton_chiffre, SpipCles::secret_du_site());
390
-		if ($jeton) {
391
-			return $jeton;
392
-		}
393
-	}
394
-	if ($autoInit) {
395
-		return auteur_attribuer_jeton($id_auteur);
396
-	}
397
-	return null;
384
+    include_spip('base/abstract_sql');
385
+    $jeton_chiffre_prefixe = sql_getfetsel('cookie_oubli', 'spip_auteurs', 'id_auteur=' . $id_auteur);
386
+    if ($jeton_chiffre_prefixe) {
387
+        include_spip('inc/chiffrer');
388
+        $jeton_chiffre = substr($jeton_chiffre_prefixe, 8);
389
+        $jeton = Chiffrement::dechiffrer($jeton_chiffre, SpipCles::secret_du_site());
390
+        if ($jeton) {
391
+            return $jeton;
392
+        }
393
+    }
394
+    if ($autoInit) {
395
+        return auteur_attribuer_jeton($id_auteur);
396
+    }
397
+    return null;
398 398
 }
399 399
 
400 400
 /**
@@ -404,25 +404,25 @@  discard block
 block discarded – undo
404 404
  * @return array|bool
405 405
  */
406 406
 function auteur_verifier_jeton($jeton) {
407
-	// refuser un jeton corrompu
408
-	if (preg_match(',[^0-9a-f.],i', $jeton)) {
409
-		return false;
410
-	}
411
-
412
-	include_spip('base/abstract_sql');
413
-	include_spip('inc/chiffrer');
414
-	$public = substr($jeton, 0, 8);
415
-
416
-	// Les auteurs qui ont un jetons ressemblant
417
-	$auteurs = sql_allfetsel('*', 'spip_auteurs', 'cookie_oubli LIKE ' . sql_quote($public . '%'));
418
-	foreach ($auteurs as $auteur) {
419
-		$jeton_chiffre = substr($auteur['cookie_oubli'], 8);
420
-		$_jeton = Chiffrement::dechiffrer($jeton_chiffre, SpipCles::secret_du_site());
421
-		if ($_jeton and hash_equals($jeton, $_jeton)) {
422
-			return $auteur;
423
-		}
424
-	}
425
-	return false;
407
+    // refuser un jeton corrompu
408
+    if (preg_match(',[^0-9a-f.],i', $jeton)) {
409
+        return false;
410
+    }
411
+
412
+    include_spip('base/abstract_sql');
413
+    include_spip('inc/chiffrer');
414
+    $public = substr($jeton, 0, 8);
415
+
416
+    // Les auteurs qui ont un jetons ressemblant
417
+    $auteurs = sql_allfetsel('*', 'spip_auteurs', 'cookie_oubli LIKE ' . sql_quote($public . '%'));
418
+    foreach ($auteurs as $auteur) {
419
+        $jeton_chiffre = substr($auteur['cookie_oubli'], 8);
420
+        $_jeton = Chiffrement::dechiffrer($jeton_chiffre, SpipCles::secret_du_site());
421
+        if ($_jeton and hash_equals($jeton, $_jeton)) {
422
+            return $auteur;
423
+        }
424
+    }
425
+    return false;
426 426
 }
427 427
 
428 428
 /**
@@ -432,6 +432,6 @@  discard block
 block discarded – undo
432 432
  * @return bool
433 433
  */
434 434
 function auteur_effacer_jeton($id_auteur) {
435
-	include_spip('base/abstract_sql');
436
-	return sql_updateq('spip_auteurs', ['cookie_oubli' => ''], 'id_auteur=' . intval($id_auteur));
435
+    include_spip('base/abstract_sql');
436
+    return sql_updateq('spip_auteurs', ['cookie_oubli' => ''], 'id_auteur=' . intval($id_auteur));
437 437
 }
Please login to merge, or discard this patch.
ecrire/inc/presenter_enfants.php 2 patches
Indentation   +180 added lines, -180 removed lines patch added patch discarded remove patch
@@ -11,7 +11,7 @@  discard block
 block discarded – undo
11 11
 \***************************************************************************/
12 12
 
13 13
 if (!defined('_ECRIRE_INC_VERSION')) {
14
-	return;
14
+    return;
15 15
 }
16 16
 
17 17
 include_spip('inc/autoriser');
@@ -30,80 +30,80 @@  discard block
 block discarded – undo
30 30
  *  Un tableau des sous rubriques
31 31
  */
32 32
 function enfant_rub($collection, $debut = 0, $limite = 500) {
33
-	$voir_logo = (isset($GLOBALS['meta']['image_process']) and $GLOBALS['meta']['image_process'] != 'non');
34
-	$logo = '';
35
-
36
-	if ($voir_logo) {
37
-		$chercher_logo = charger_fonction('chercher_logo', 'inc');
38
-		include_spip('inc/filtres_images_mini');
39
-	}
40
-
41
-	$res = [];
42
-
43
-	$result = sql_select(
44
-		'id_rubrique, id_parent, titre, descriptif, lang',
45
-		'spip_rubriques',
46
-		'id_parent=' . intval($collection),
47
-		'',
48
-		'0+titre,titre',
49
-		$debut == -1 ? '' : "$debut,$limite"
50
-	);
51
-	while ($row = sql_fetch($result)) {
52
-		$id_rubrique = $row['id_rubrique'];
53
-		$id_parent = $row['id_parent'];
54
-		// pour etre sur de passer par tous les traitements
55
-		$titre = generer_objet_info($id_rubrique, 'rubrique', 'titre');
56
-		if ('' !== ($rang = recuperer_numero($row['titre']))) {
57
-			$rang = "<span class='rang'>$rang.</span> ";
58
-		}
59
-
60
-		if (autoriser('voir', 'rubrique', $id_rubrique)) {
61
-			$les_sous_enfants = sous_enfant_rub($id_rubrique);
62
-
63
-			changer_typo($row['lang']);
64
-			$lang_dir = lang_dir($row['lang']);
65
-			$descriptif = propre($row['descriptif']);
66
-
67
-			if ($voir_logo) {
68
-				if ($logo = $chercher_logo($id_rubrique, 'id_rubrique', 'on')) {
69
-					[$fid, $dir, $nom, $format] = $logo;
70
-					$logo = image_recadre_avec_fallback("<img src='$fid' alt='' />", 70, 70);
71
-					if ($logo) {
72
-						$logo = wrap(inserer_attribut($logo, 'class', 'logo'), '<span class="logo-carre">');
73
-					}
74
-				}
75
-			}
76
-
77
-			$lib_bouton = (!acces_restreint_rubrique($id_rubrique) ? '' :
78
-					http_img_pack(
79
-						'auteur-0minirezo-16.png',
80
-						'',
81
-						" width='16' height='16'",
82
-						_T('image_administrer_rubrique')
83
-					)) .
84
-				" <a class='titremlien' dir='$lang_dir'" .
85
-				($row['lang'] !== $GLOBALS['spip_lang'] ? " hreflang='" . $row['lang'] . "'" : '') .
86
-				" href='" .
87
-				generer_objet_url($id_rubrique, 'rubrique') .
88
-				"'><span class='titre'>" .
89
-				$rang . $titre
90
-				. '</span>'
91
-				. (is_string($logo) ? $logo : '')
92
-				. '</a>';
93
-
94
-			$titre = bouton_block_depliable($lib_bouton, $les_sous_enfants ? false : -1, "enfants$id_rubrique")
95
-				. (!$descriptif ? '' : "\n<div class='descriptif'>$descriptif</div>")
96
-				;
97
-
98
-			$res[] =
99
-				debut_cadre_sous_rub(($id_parent ? 'rubrique-24.png' : 'secteur-24.png'), true, '', $titre) .
100
-				$les_sous_enfants .
101
-				fin_cadre_sous_rub();
102
-		}
103
-	}
104
-
105
-	changer_typo($GLOBALS['spip_lang']); # remettre la typo de l'interface pour la suite
106
-	return $res;
33
+    $voir_logo = (isset($GLOBALS['meta']['image_process']) and $GLOBALS['meta']['image_process'] != 'non');
34
+    $logo = '';
35
+
36
+    if ($voir_logo) {
37
+        $chercher_logo = charger_fonction('chercher_logo', 'inc');
38
+        include_spip('inc/filtres_images_mini');
39
+    }
40
+
41
+    $res = [];
42
+
43
+    $result = sql_select(
44
+        'id_rubrique, id_parent, titre, descriptif, lang',
45
+        'spip_rubriques',
46
+        'id_parent=' . intval($collection),
47
+        '',
48
+        '0+titre,titre',
49
+        $debut == -1 ? '' : "$debut,$limite"
50
+    );
51
+    while ($row = sql_fetch($result)) {
52
+        $id_rubrique = $row['id_rubrique'];
53
+        $id_parent = $row['id_parent'];
54
+        // pour etre sur de passer par tous les traitements
55
+        $titre = generer_objet_info($id_rubrique, 'rubrique', 'titre');
56
+        if ('' !== ($rang = recuperer_numero($row['titre']))) {
57
+            $rang = "<span class='rang'>$rang.</span> ";
58
+        }
59
+
60
+        if (autoriser('voir', 'rubrique', $id_rubrique)) {
61
+            $les_sous_enfants = sous_enfant_rub($id_rubrique);
62
+
63
+            changer_typo($row['lang']);
64
+            $lang_dir = lang_dir($row['lang']);
65
+            $descriptif = propre($row['descriptif']);
66
+
67
+            if ($voir_logo) {
68
+                if ($logo = $chercher_logo($id_rubrique, 'id_rubrique', 'on')) {
69
+                    [$fid, $dir, $nom, $format] = $logo;
70
+                    $logo = image_recadre_avec_fallback("<img src='$fid' alt='' />", 70, 70);
71
+                    if ($logo) {
72
+                        $logo = wrap(inserer_attribut($logo, 'class', 'logo'), '<span class="logo-carre">');
73
+                    }
74
+                }
75
+            }
76
+
77
+            $lib_bouton = (!acces_restreint_rubrique($id_rubrique) ? '' :
78
+                    http_img_pack(
79
+                        'auteur-0minirezo-16.png',
80
+                        '',
81
+                        " width='16' height='16'",
82
+                        _T('image_administrer_rubrique')
83
+                    )) .
84
+                " <a class='titremlien' dir='$lang_dir'" .
85
+                ($row['lang'] !== $GLOBALS['spip_lang'] ? " hreflang='" . $row['lang'] . "'" : '') .
86
+                " href='" .
87
+                generer_objet_url($id_rubrique, 'rubrique') .
88
+                "'><span class='titre'>" .
89
+                $rang . $titre
90
+                . '</span>'
91
+                . (is_string($logo) ? $logo : '')
92
+                . '</a>';
93
+
94
+            $titre = bouton_block_depliable($lib_bouton, $les_sous_enfants ? false : -1, "enfants$id_rubrique")
95
+                . (!$descriptif ? '' : "\n<div class='descriptif'>$descriptif</div>")
96
+                ;
97
+
98
+            $res[] =
99
+                debut_cadre_sous_rub(($id_parent ? 'rubrique-24.png' : 'secteur-24.png'), true, '', $titre) .
100
+                $les_sous_enfants .
101
+                fin_cadre_sous_rub();
102
+        }
103
+    }
104
+
105
+    changer_typo($GLOBALS['spip_lang']); # remettre la typo de l'interface pour la suite
106
+    return $res;
107 107
 }
108 108
 
109 109
 /**
@@ -116,71 +116,71 @@  discard block
 block discarded – undo
116 116
  *  Le contenu du bloc dépliable
117 117
  */
118 118
 function sous_enfant_rub($collection2) {
119
-	$nb = sql_countsel('spip_rubriques', 'id_parent=' . intval($collection2));
120
-
121
-	$retour = '';
122
-	$pagination = '';
123
-	$debut = 0;
124
-	$limite = 500;
125
-
126
-	/**
127
-	 * On ne va afficher que 500 résultats max
128
-	 * Si > 500 on affiche une pagination
129
-	 */
130
-	if ($nb > $limite) {
131
-		$debut = _request('debut_rubrique' . $collection2) ?: $debut;
132
-		$pagination = chercher_filtre('pagination');
133
-		$pagination = '<nav class="pagination">' . $pagination(
134
-			$nb,
135
-			'_rubrique' . $collection2,
136
-			$debut,
137
-			$limite,
138
-			true,
139
-			'prive'
140
-		) . '</nav>';
141
-		$limite = $debut + $limite;
142
-	}
143
-
144
-	$result = sql_select(
145
-		'id_rubrique, id_parent, titre, lang',
146
-		'spip_rubriques',
147
-		'id_parent=' . intval($collection2),
148
-		'',
149
-		'0+titre,titre',
150
-		$debut == -1 ? '' : "$debut,$limite"
151
-	);
152
-
153
-	while ($row = sql_fetch($result)) {
154
-		$id_rubrique2 = $row['id_rubrique'];
155
-		$titre2 = generer_objet_info(
156
-			$id_rubrique2,
157
-			'rubrique',
158
-			'titre'
159
-		); // pour etre sur de passer par tous les traitements
160
-		if ('' !== ($rang2 = recuperer_numero($row['titre']))) {
161
-			$rang2 = "<span class='rang'>$rang2.</span> ";
162
-		}
163
-
164
-		changer_typo($row['lang']);
165
-		$lang_dir = lang_dir($row['lang']);
166
-		if (autoriser('voir', 'rubrique', $id_rubrique2)) {
167
-			$retour .= "\n<li class='item' dir='$lang_dir'><a href='" . generer_objet_url(
168
-				$id_rubrique2,
169
-				'rubrique'
170
-			) . "'>" . $rang2 . $titre2 . "</a></li>\n";
171
-		}
172
-	}
173
-
174
-	$retour = $pagination . $retour . $pagination;
175
-
176
-	if (!$retour) {
177
-		return '';
178
-	}
179
-
180
-	return debut_block_depliable($debut > 0 ? true : false, "enfants$collection2")
181
-	. "\n<ul class='liste-items sous-sous-rub'>\n"
182
-	. $retour
183
-	. "</ul>\n" . fin_block() . "\n\n";
119
+    $nb = sql_countsel('spip_rubriques', 'id_parent=' . intval($collection2));
120
+
121
+    $retour = '';
122
+    $pagination = '';
123
+    $debut = 0;
124
+    $limite = 500;
125
+
126
+    /**
127
+     * On ne va afficher que 500 résultats max
128
+     * Si > 500 on affiche une pagination
129
+     */
130
+    if ($nb > $limite) {
131
+        $debut = _request('debut_rubrique' . $collection2) ?: $debut;
132
+        $pagination = chercher_filtre('pagination');
133
+        $pagination = '<nav class="pagination">' . $pagination(
134
+            $nb,
135
+            '_rubrique' . $collection2,
136
+            $debut,
137
+            $limite,
138
+            true,
139
+            'prive'
140
+        ) . '</nav>';
141
+        $limite = $debut + $limite;
142
+    }
143
+
144
+    $result = sql_select(
145
+        'id_rubrique, id_parent, titre, lang',
146
+        'spip_rubriques',
147
+        'id_parent=' . intval($collection2),
148
+        '',
149
+        '0+titre,titre',
150
+        $debut == -1 ? '' : "$debut,$limite"
151
+    );
152
+
153
+    while ($row = sql_fetch($result)) {
154
+        $id_rubrique2 = $row['id_rubrique'];
155
+        $titre2 = generer_objet_info(
156
+            $id_rubrique2,
157
+            'rubrique',
158
+            'titre'
159
+        ); // pour etre sur de passer par tous les traitements
160
+        if ('' !== ($rang2 = recuperer_numero($row['titre']))) {
161
+            $rang2 = "<span class='rang'>$rang2.</span> ";
162
+        }
163
+
164
+        changer_typo($row['lang']);
165
+        $lang_dir = lang_dir($row['lang']);
166
+        if (autoriser('voir', 'rubrique', $id_rubrique2)) {
167
+            $retour .= "\n<li class='item' dir='$lang_dir'><a href='" . generer_objet_url(
168
+                $id_rubrique2,
169
+                'rubrique'
170
+            ) . "'>" . $rang2 . $titre2 . "</a></li>\n";
171
+        }
172
+    }
173
+
174
+    $retour = $pagination . $retour . $pagination;
175
+
176
+    if (!$retour) {
177
+        return '';
178
+    }
179
+
180
+    return debut_block_depliable($debut > 0 ? true : false, "enfants$collection2")
181
+    . "\n<ul class='liste-items sous-sous-rub'>\n"
182
+    . $retour
183
+    . "</ul>\n" . fin_block() . "\n\n";
184 184
 }
185 185
 
186 186
 /**
@@ -195,44 +195,44 @@  discard block
 block discarded – undo
195 195
  *  Le contenu textuel affiché, la liste des sous rubriques
196 196
  */
197 197
 function afficher_enfant_rub($id_rubrique = 0) {
198
-	$pagination = '';
199
-	$debut = 0;
200
-	$limite = 500;
201
-
202
-	$nb = sql_countsel('spip_rubriques', 'id_parent=' . intval($id_rubrique));
203
-
204
-	if ($nb > $limite) {
205
-		$debut = _request('debut_rubrique' . $id_rubrique) ?: $debut;
206
-		$pagination = chercher_filtre('pagination');
207
-		$pagination = '<br class="nettoyeur"><nav class="pagination">' .
208
-			$pagination($nb, '_rubrique' . $id_rubrique, $debut, $limite, true, 'prive') .
209
-		'</nav>';
210
-	}
211
-
212
-	$les_enfants = enfant_rub($id_rubrique, $debut, $limite);
213
-
214
-	if (!$n = count($les_enfants)) {
215
-		return '';
216
-	}
217
-
218
-	if ($n == 1) {
219
-		$les_enfants = reset($les_enfants);
220
-		$les_enfants2 = '';
221
-	} else {
222
-		$n = ceil($n / 2);
223
-		$les_enfants2 = implode('', array_slice($les_enfants, $n));
224
-		$les_enfants = implode('', array_slice($les_enfants, 0, $n));
225
-	}
226
-
227
-	$res =
228
-		$pagination
229
-		. "<div class='gauche'>"
230
-		. $les_enfants
231
-		. '</div>'
232
-		. "<div class='droite'>"
233
-		. $les_enfants2
234
-		. '</div>'
235
-		. $pagination;
236
-
237
-	return $res;
198
+    $pagination = '';
199
+    $debut = 0;
200
+    $limite = 500;
201
+
202
+    $nb = sql_countsel('spip_rubriques', 'id_parent=' . intval($id_rubrique));
203
+
204
+    if ($nb > $limite) {
205
+        $debut = _request('debut_rubrique' . $id_rubrique) ?: $debut;
206
+        $pagination = chercher_filtre('pagination');
207
+        $pagination = '<br class="nettoyeur"><nav class="pagination">' .
208
+            $pagination($nb, '_rubrique' . $id_rubrique, $debut, $limite, true, 'prive') .
209
+        '</nav>';
210
+    }
211
+
212
+    $les_enfants = enfant_rub($id_rubrique, $debut, $limite);
213
+
214
+    if (!$n = count($les_enfants)) {
215
+        return '';
216
+    }
217
+
218
+    if ($n == 1) {
219
+        $les_enfants = reset($les_enfants);
220
+        $les_enfants2 = '';
221
+    } else {
222
+        $n = ceil($n / 2);
223
+        $les_enfants2 = implode('', array_slice($les_enfants, $n));
224
+        $les_enfants = implode('', array_slice($les_enfants, 0, $n));
225
+    }
226
+
227
+    $res =
228
+        $pagination
229
+        . "<div class='gauche'>"
230
+        . $les_enfants
231
+        . '</div>'
232
+        . "<div class='droite'>"
233
+        . $les_enfants2
234
+        . '</div>'
235
+        . $pagination;
236
+
237
+    return $res;
238 238
 }
Please login to merge, or discard this patch.
Spacing   +25 added lines, -26 removed lines patch added patch discarded remove patch
@@ -43,7 +43,7 @@  discard block
 block discarded – undo
43 43
 	$result = sql_select(
44 44
 		'id_rubrique, id_parent, titre, descriptif, lang',
45 45
 		'spip_rubriques',
46
-		'id_parent=' . intval($collection),
46
+		'id_parent='.intval($collection),
47 47
 		'',
48 48
 		'0+titre,titre',
49 49
 		$debut == -1 ? '' : "$debut,$limite"
@@ -74,19 +74,18 @@  discard block
 block discarded – undo
74 74
 				}
75 75
 			}
76 76
 
77
-			$lib_bouton = (!acces_restreint_rubrique($id_rubrique) ? '' :
78
-					http_img_pack(
77
+			$lib_bouton = (!acces_restreint_rubrique($id_rubrique) ? '' : http_img_pack(
79 78
 						'auteur-0minirezo-16.png',
80 79
 						'',
81 80
 						" width='16' height='16'",
82 81
 						_T('image_administrer_rubrique')
83
-					)) .
84
-				" <a class='titremlien' dir='$lang_dir'" .
85
-				($row['lang'] !== $GLOBALS['spip_lang'] ? " hreflang='" . $row['lang'] . "'" : '') .
86
-				" href='" .
87
-				generer_objet_url($id_rubrique, 'rubrique') .
88
-				"'><span class='titre'>" .
89
-				$rang . $titre
82
+					)).
83
+				" <a class='titremlien' dir='$lang_dir'".
84
+				($row['lang'] !== $GLOBALS['spip_lang'] ? " hreflang='".$row['lang']."'" : '').
85
+				" href='".
86
+				generer_objet_url($id_rubrique, 'rubrique').
87
+				"'><span class='titre'>".
88
+				$rang.$titre
90 89
 				. '</span>'
91 90
 				. (is_string($logo) ? $logo : '')
92 91
 				. '</a>';
@@ -96,8 +95,8 @@  discard block
 block discarded – undo
96 95
 				;
97 96
 
98 97
 			$res[] =
99
-				debut_cadre_sous_rub(($id_parent ? 'rubrique-24.png' : 'secteur-24.png'), true, '', $titre) .
100
-				$les_sous_enfants .
98
+				debut_cadre_sous_rub(($id_parent ? 'rubrique-24.png' : 'secteur-24.png'), true, '', $titre).
99
+				$les_sous_enfants.
101 100
 				fin_cadre_sous_rub();
102 101
 		}
103 102
 	}
@@ -116,7 +115,7 @@  discard block
 block discarded – undo
116 115
  *  Le contenu du bloc dépliable
117 116
  */
118 117
 function sous_enfant_rub($collection2) {
119
-	$nb = sql_countsel('spip_rubriques', 'id_parent=' . intval($collection2));
118
+	$nb = sql_countsel('spip_rubriques', 'id_parent='.intval($collection2));
120 119
 
121 120
 	$retour = '';
122 121
 	$pagination = '';
@@ -128,23 +127,23 @@  discard block
 block discarded – undo
128 127
 	 * Si > 500 on affiche une pagination
129 128
 	 */
130 129
 	if ($nb > $limite) {
131
-		$debut = _request('debut_rubrique' . $collection2) ?: $debut;
130
+		$debut = _request('debut_rubrique'.$collection2) ?: $debut;
132 131
 		$pagination = chercher_filtre('pagination');
133
-		$pagination = '<nav class="pagination">' . $pagination(
132
+		$pagination = '<nav class="pagination">'.$pagination(
134 133
 			$nb,
135
-			'_rubrique' . $collection2,
134
+			'_rubrique'.$collection2,
136 135
 			$debut,
137 136
 			$limite,
138 137
 			true,
139 138
 			'prive'
140
-		) . '</nav>';
139
+		).'</nav>';
141 140
 		$limite = $debut + $limite;
142 141
 	}
143 142
 
144 143
 	$result = sql_select(
145 144
 		'id_rubrique, id_parent, titre, lang',
146 145
 		'spip_rubriques',
147
-		'id_parent=' . intval($collection2),
146
+		'id_parent='.intval($collection2),
148 147
 		'',
149 148
 		'0+titre,titre',
150 149
 		$debut == -1 ? '' : "$debut,$limite"
@@ -164,14 +163,14 @@  discard block
 block discarded – undo
164 163
 		changer_typo($row['lang']);
165 164
 		$lang_dir = lang_dir($row['lang']);
166 165
 		if (autoriser('voir', 'rubrique', $id_rubrique2)) {
167
-			$retour .= "\n<li class='item' dir='$lang_dir'><a href='" . generer_objet_url(
166
+			$retour .= "\n<li class='item' dir='$lang_dir'><a href='".generer_objet_url(
168 167
 				$id_rubrique2,
169 168
 				'rubrique'
170
-			) . "'>" . $rang2 . $titre2 . "</a></li>\n";
169
+			)."'>".$rang2.$titre2."</a></li>\n";
171 170
 		}
172 171
 	}
173 172
 
174
-	$retour = $pagination . $retour . $pagination;
173
+	$retour = $pagination.$retour.$pagination;
175 174
 
176 175
 	if (!$retour) {
177 176
 		return '';
@@ -180,7 +179,7 @@  discard block
 block discarded – undo
180 179
 	return debut_block_depliable($debut > 0 ? true : false, "enfants$collection2")
181 180
 	. "\n<ul class='liste-items sous-sous-rub'>\n"
182 181
 	. $retour
183
-	. "</ul>\n" . fin_block() . "\n\n";
182
+	. "</ul>\n".fin_block()."\n\n";
184 183
 }
185 184
 
186 185
 /**
@@ -199,13 +198,13 @@  discard block
 block discarded – undo
199 198
 	$debut = 0;
200 199
 	$limite = 500;
201 200
 
202
-	$nb = sql_countsel('spip_rubriques', 'id_parent=' . intval($id_rubrique));
201
+	$nb = sql_countsel('spip_rubriques', 'id_parent='.intval($id_rubrique));
203 202
 
204 203
 	if ($nb > $limite) {
205
-		$debut = _request('debut_rubrique' . $id_rubrique) ?: $debut;
204
+		$debut = _request('debut_rubrique'.$id_rubrique) ?: $debut;
206 205
 		$pagination = chercher_filtre('pagination');
207
-		$pagination = '<br class="nettoyeur"><nav class="pagination">' .
208
-			$pagination($nb, '_rubrique' . $id_rubrique, $debut, $limite, true, 'prive') .
206
+		$pagination = '<br class="nettoyeur"><nav class="pagination">'.
207
+			$pagination($nb, '_rubrique'.$id_rubrique, $debut, $limite, true, 'prive').
209 208
 		'</nav>';
210 209
 	}
211 210
 
Please login to merge, or discard this patch.