Completed
Push — master ( 37aa61...be7234 )
by cam
01:24
created
ecrire/lang/spip_es.php 1 patch
Indentation   +673 added lines, -673 removed lines patch added patch discarded remove patch
@@ -4,247 +4,247 @@  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' => 'Volver a la interfaz gráfica completa',
14
-	'access_mode_texte' => 'Mostrar la interfaz simplificada en modo texto',
15
-	'admin_debug' => 'debug',
16
-	'admin_modifier_article' => 'Modificar este artículo',
17
-	'admin_modifier_auteur' => 'Modificar esta autora o autor',
18
-	'admin_modifier_breve' => 'Modificar esta breve',
19
-	'admin_modifier_mot' => 'Modificar esta palabra clave',
20
-	'admin_modifier_rubrique' => 'Modificar esta sección',
21
-	'admin_recalculer' => 'Actualizar esta página',
22
-	'afficher_calendrier' => 'Ver el calendario',
23
-	'afficher_trad' => 'mostrar las traducciones',
24
-	'alerte_maj_impossible' => '<<b>¡Alerta!</b> La actualización de la base de datos SQL a la versión @version@ es imposible, quizás por un problema de derechos de modificación en la base de datos. Por favor, contacta con tu alojamiento web.',
25
-	'alerte_modif_info_concourante' => 'ATENCIÓN: Esta información fue modificada por otro lado. El valor actual es:',
26
-	'analyse_xml' => 'Análisis XML',
27
-	'annuler' => 'Cancelar',
28
-	'antispam_champ_vide' => 'Por favor, deje este campo vacío :',
29
-	'articles_recents' => 'Los artículos más recientes',
30
-	'attention_champ_mini_nb_caractères' => '¡Atención! @nb@ caracteres como mínimo',
31
-	'avis_1_erreur_saisie' => 'Hay 1 error en su entrada, verifique por favor la información.',
32
-	'avis_archive_incorrect' => 'El archivo de respaldo no es un archivo SPIP.',
33
-	'avis_archive_invalide' => 'el archivo de respaldo no es válido',
34
-	'avis_attention' => '¡ATENCIÓN!',
35
-	'avis_champ_incorrect_type_objet' => 'Nombre de campo incorrecto @name@ para objeto de tipo @type@',
36
-	'avis_colonne_inexistante' => 'La columna @col@ no existe',
37
-	'avis_erreur' => 'Error: ver aqui abajo',
38
-	'avis_erreur_connexion' => 'Error de conexión',
39
-	'avis_erreur_cookie' => 'problema de cookie ',
40
-	'avis_erreur_fonction_contexte' => 'Error de programación. No se debe llamar a esta función en este contexto.',
41
-	'avis_erreur_mysql' => 'Error SQL',
42
-	'avis_erreur_sauvegarde' => 'Error al hacer la copia de respaldo (@type@ @id_objet@)!',
43
-	'avis_erreur_visiteur' => 'Probleme de acceso al espacio privado',
44
-	'avis_nb_erreurs_saisie' => 'Hay @nb@ errores en su entrada, verifique por favor la información.',
12
+    // A
13
+    'access_interface_graphique' => 'Volver a la interfaz gráfica completa',
14
+    'access_mode_texte' => 'Mostrar la interfaz simplificada en modo texto',
15
+    'admin_debug' => 'debug',
16
+    'admin_modifier_article' => 'Modificar este artículo',
17
+    'admin_modifier_auteur' => 'Modificar esta autora o autor',
18
+    'admin_modifier_breve' => 'Modificar esta breve',
19
+    'admin_modifier_mot' => 'Modificar esta palabra clave',
20
+    'admin_modifier_rubrique' => 'Modificar esta sección',
21
+    'admin_recalculer' => 'Actualizar esta página',
22
+    'afficher_calendrier' => 'Ver el calendario',
23
+    'afficher_trad' => 'mostrar las traducciones',
24
+    'alerte_maj_impossible' => '<<b>¡Alerta!</b> La actualización de la base de datos SQL a la versión @version@ es imposible, quizás por un problema de derechos de modificación en la base de datos. Por favor, contacta con tu alojamiento web.',
25
+    'alerte_modif_info_concourante' => 'ATENCIÓN: Esta información fue modificada por otro lado. El valor actual es:',
26
+    'analyse_xml' => 'Análisis XML',
27
+    'annuler' => 'Cancelar',
28
+    'antispam_champ_vide' => 'Por favor, deje este campo vacío :',
29
+    'articles_recents' => 'Los artículos más recientes',
30
+    'attention_champ_mini_nb_caractères' => '¡Atención! @nb@ caracteres como mínimo',
31
+    'avis_1_erreur_saisie' => 'Hay 1 error en su entrada, verifique por favor la información.',
32
+    'avis_archive_incorrect' => 'El archivo de respaldo no es un archivo SPIP.',
33
+    'avis_archive_invalide' => 'el archivo de respaldo no es válido',
34
+    'avis_attention' => '¡ATENCIÓN!',
35
+    'avis_champ_incorrect_type_objet' => 'Nombre de campo incorrecto @name@ para objeto de tipo @type@',
36
+    'avis_colonne_inexistante' => 'La columna @col@ no existe',
37
+    'avis_erreur' => 'Error: ver aqui abajo',
38
+    'avis_erreur_connexion' => 'Error de conexión',
39
+    'avis_erreur_cookie' => 'problema de cookie ',
40
+    'avis_erreur_fonction_contexte' => 'Error de programación. No se debe llamar a esta función en este contexto.',
41
+    'avis_erreur_mysql' => 'Error SQL',
42
+    'avis_erreur_sauvegarde' => 'Error al hacer la copia de respaldo (@type@ @id_objet@)!',
43
+    'avis_erreur_visiteur' => 'Probleme de acceso al espacio privado',
44
+    'avis_nb_erreurs_saisie' => 'Hay @nb@ errores en su entrada, verifique por favor la información.',
45 45
 
46
-	// B
47
-	'barre_a_accent_grave' => 'Insertar una A mayúscula con acento grave',
48
-	'barre_aide' => 'Utiliza los atajos tipográficos para mejorar la paginación',
49
-	'barre_e_accent_aigu' => 'Insertar una E mayúscula con tilde',
50
-	'barre_eo' => 'Insertar una E en la O',
51
-	'barre_eo_maj' => 'Insertar una E en la O mayúscula',
52
-	'barre_euro' => 'Insertar el símbolo €',
53
-	'barre_gras' => 'Poner en {{negrita}}',
54
-	'barre_guillemets' => 'Poner entre «comillas»',
55
-	'barre_guillemets_simples' => 'Poner entre “comillas de segundo nivel”',
56
-	'barre_intertitre' => 'Transformar en {{{inter-título}}}',
57
-	'barre_italic' => 'Poner en {cursiva}',
58
-	'barre_lien' => 'Transformar en [enlace hipertexto->http://...]',
59
-	'barre_lien_input' => 'Indica la dirección de tu enlace. Puedes indicar un dirección web bajo la forma http://www.talsitio.org/carpeta/ o simplemente indicar el número de un artículo de este sitio.',
60
-	'barre_note' => 'Transformar en [[Nota de pié de página]]',
61
-	'barre_paragraphe' => 'Crear un párrafo',
62
-	'barre_quote' => '<quote>Citar un mensaje</quote>',
63
-	'bouton_changer' => 'Cambiar',
64
-	'bouton_chercher' => 'Buscar',
65
-	'bouton_choisir' => 'Elegir',
66
-	'bouton_deplacer' => 'Mover',
67
-	'bouton_download' => 'Descargar',
68
-	'bouton_enregistrer' => 'Guardar',
69
-	'bouton_radio_desactiver_messagerie_interne' => 'Desactivar la mensajería interna',
70
-	'bouton_radio_envoi_annonces' => 'Enviar anuncios editoriales',
71
-	'bouton_radio_non_envoi_annonces' => 'No enviar anuncios',
72
-	'bouton_radio_non_envoi_liste_nouveautes' => 'No enviar la lista de novedades',
73
-	'bouton_recharger_page' => 'Actualizar esta página',
74
-	'bouton_telecharger' => 'Descargar',
75
-	'bouton_upload' => 'Subir',
76
-	'bouton_valider' => 'Validar',
46
+    // B
47
+    'barre_a_accent_grave' => 'Insertar una A mayúscula con acento grave',
48
+    'barre_aide' => 'Utiliza los atajos tipográficos para mejorar la paginación',
49
+    'barre_e_accent_aigu' => 'Insertar una E mayúscula con tilde',
50
+    'barre_eo' => 'Insertar una E en la O',
51
+    'barre_eo_maj' => 'Insertar una E en la O mayúscula',
52
+    'barre_euro' => 'Insertar el símbolo €',
53
+    'barre_gras' => 'Poner en {{negrita}}',
54
+    'barre_guillemets' => 'Poner entre «comillas»',
55
+    'barre_guillemets_simples' => 'Poner entre “comillas de segundo nivel”',
56
+    'barre_intertitre' => 'Transformar en {{{inter-título}}}',
57
+    'barre_italic' => 'Poner en {cursiva}',
58
+    'barre_lien' => 'Transformar en [enlace hipertexto->http://...]',
59
+    'barre_lien_input' => 'Indica la dirección de tu enlace. Puedes indicar un dirección web bajo la forma http://www.talsitio.org/carpeta/ o simplemente indicar el número de un artículo de este sitio.',
60
+    'barre_note' => 'Transformar en [[Nota de pié de página]]',
61
+    'barre_paragraphe' => 'Crear un párrafo',
62
+    'barre_quote' => '<quote>Citar un mensaje</quote>',
63
+    'bouton_changer' => 'Cambiar',
64
+    'bouton_chercher' => 'Buscar',
65
+    'bouton_choisir' => 'Elegir',
66
+    'bouton_deplacer' => 'Mover',
67
+    'bouton_download' => 'Descargar',
68
+    'bouton_enregistrer' => 'Guardar',
69
+    'bouton_radio_desactiver_messagerie_interne' => 'Desactivar la mensajería interna',
70
+    'bouton_radio_envoi_annonces' => 'Enviar anuncios editoriales',
71
+    'bouton_radio_non_envoi_annonces' => 'No enviar anuncios',
72
+    'bouton_radio_non_envoi_liste_nouveautes' => 'No enviar la lista de novedades',
73
+    'bouton_recharger_page' => 'Actualizar esta página',
74
+    'bouton_telecharger' => 'Descargar',
75
+    'bouton_upload' => 'Subir',
76
+    'bouton_valider' => 'Validar',
77 77
 
78
-	// C
79
-	'cal_apresmidi' => 'tarde',
80
-	'cal_jour_entier' => 'día entero',
81
-	'cal_matin' => 'mañana',
82
-	'cal_par_jour' => 'calendario por día',
83
-	'cal_par_mois' => 'calendario por mes',
84
-	'cal_par_semaine' => 'calendario por semana',
85
-	'choix_couleur_interface' => 'color',
86
-	'choix_interface' => 'Selección de la interfase',
87
-	'colonne' => 'Columna',
88
-	'confirm_changer_statut' => 'Cuidado, estás cambiando el estado de este elemento. ¿Lo confirmas?',
89
-	'correcte' => 'correcta',
78
+    // C
79
+    'cal_apresmidi' => 'tarde',
80
+    'cal_jour_entier' => 'día entero',
81
+    'cal_matin' => 'mañana',
82
+    'cal_par_jour' => 'calendario por día',
83
+    'cal_par_mois' => 'calendario por mes',
84
+    'cal_par_semaine' => 'calendario por semana',
85
+    'choix_couleur_interface' => 'color',
86
+    'choix_interface' => 'Selección de la interfase',
87
+    'colonne' => 'Columna',
88
+    'confirm_changer_statut' => 'Cuidado, estás cambiando el estado de este elemento. ¿Lo confirmas?',
89
+    'correcte' => 'correcta',
90 90
 
91
-	// D
92
-	'date_aujourdhui' => 'hoy',
93
-	'date_avant_jc' => 'aC',
94
-	'date_dans' => 'en @delai@',
95
-	'date_de_mois_1' => '@j@ de @nommois@',
96
-	'date_de_mois_10' => '@j@ de @nommois@',
97
-	'date_de_mois_11' => '@j@ de @nommois@',
98
-	'date_de_mois_12' => '@j@ de @nommois@',
99
-	'date_de_mois_2' => '@j@ de @nommois@',
100
-	'date_de_mois_3' => '@j@ de @nommois@',
101
-	'date_de_mois_4' => '@j@ de @nommois@',
102
-	'date_de_mois_5' => '@j@ de @nommois@',
103
-	'date_de_mois_6' => '@j@ de @nommois@',
104
-	'date_de_mois_7' => '@j@ de @nommois@',
105
-	'date_de_mois_8' => '@j@ de @nommois@',
106
-	'date_de_mois_9' => '@j@ de @nommois@',
107
-	'date_demain' => 'mañana',
108
-	'date_fmt_heures_minutes' => '@h@h@m@min',
109
-	'date_fmt_heures_minutes_court' => '@h@h@m@',
110
-	'date_fmt_jour' => '@nomjour@ @jour@',
111
-	'date_fmt_jour_heure' => '@jour@ a las @heure@',
112
-	'date_fmt_jour_heure_debut_fin' => '@jour@ de las @heure_debut@ a las @heure_fin@',
113
-	'date_fmt_jour_heure_debut_fin_abbr' => '@dtstart@@jour@ de las @heure_debut@@dtabbr@ a las @dtend@@heure_fin@@dtabbr@',
114
-	'date_fmt_jour_mois' => '@jour@ de @nommois@',
115
-	'date_fmt_jour_mois_annee' => '@jour@ de @nommois@ de @annee@',
116
-	'date_fmt_mois_annee' => '@nommois@ de @annee@',
117
-	'date_fmt_nomjour' => '@nomjour@ @date@',
118
-	'date_fmt_nomjour_date' => 'el @nomjour@ @date@',
119
-	'date_fmt_periode' => 'Del @date_debut@ al @date_fin@',
120
-	'date_fmt_periode_abbr' => 'Del @dtart@@date_debut@@dtabbr@ al @dtend@@date_fin@@dtabbr@',
121
-	'date_fmt_periode_from' => 'Del',
122
-	'date_fmt_periode_to' => 'al',
123
-	'date_fmt_saison_annee' => '@saison@ @annee@',
124
-	'date_heures' => 'horas',
125
-	'date_hier' => 'ayer',
126
-	'date_il_y_a' => 'hace @delai@',
127
-	'date_jnum1' => '1ro',
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' => 'Domingo',
159
-	'date_jour_1_abbr' => 'dom',
160
-	'date_jour_1_initiale' => 'd',
161
-	'date_jour_2' => 'Lunes',
162
-	'date_jour_2_abbr' => 'lun',
163
-	'date_jour_2_initiale' => 'l',
164
-	'date_jour_3' => 'Martes',
165
-	'date_jour_3_abbr' => 'mar',
166
-	'date_jour_3_initiale' => 'm',
167
-	'date_jour_4' => 'Miércoles',
168
-	'date_jour_4_abbr' => 'mie',
169
-	'date_jour_4_initiale' => 'm',
170
-	'date_jour_5' => 'Jueves',
171
-	'date_jour_5_abbr' => 'jue',
172
-	'date_jour_5_initiale' => 'j',
173
-	'date_jour_6' => 'Viernes',
174
-	'date_jour_6_abbr' => 'vie',
175
-	'date_jour_6_initiale' => 'v',
176
-	'date_jour_7' => 'Sábado',
177
-	'date_jour_7_abbr' => 'sab',
178
-	'date_jour_7_initiale' => 's',
179
-	'date_jours' => 'días',
180
-	'date_minutes' => 'minutos',
181
-	'date_mois' => 'meses',
182
-	'date_mois_1' => 'enero',
183
-	'date_mois_10' => 'octubre',
184
-	'date_mois_10_abbr' => 'oct.',
185
-	'date_mois_11' => 'noviembre',
186
-	'date_mois_11_abbr' => 'nov.',
187
-	'date_mois_12' => 'diciembre',
188
-	'date_mois_12_abbr' => 'dic.',
189
-	'date_mois_1_abbr' => 'ene.',
190
-	'date_mois_2' => 'febrero',
191
-	'date_mois_2_abbr' => 'feb.',
192
-	'date_mois_3' => 'marzo',
193
-	'date_mois_3_abbr' => 'mar.',
194
-	'date_mois_4' => 'abril',
195
-	'date_mois_4_abbr' => 'abr.',
196
-	'date_mois_5' => 'mayo',
197
-	'date_mois_5_abbr' => 'mayo',
198
-	'date_mois_6' => 'junio',
199
-	'date_mois_6_abbr' => 'jun.',
200
-	'date_mois_7' => 'julio',
201
-	'date_mois_7_abbr' => 'jul.',
202
-	'date_mois_8' => 'agosto',
203
-	'date_mois_8_abbr' => 'ago.',
204
-	'date_mois_9' => 'septiembre',
205
-	'date_mois_9_abbr' => 'sep.',
206
-	'date_saison_1' => 'invierno',
207
-	'date_saison_2' => 'primavera',
208
-	'date_saison_3' => 'verano',
209
-	'date_saison_4' => 'otoño',
210
-	'date_secondes' => 'segundos',
211
-	'date_semaines' => 'semanas',
212
-	'date_un_mois' => 'mes',
213
-	'date_une_heure' => 'hora',
214
-	'date_une_minute' => 'minuto',
215
-	'date_une_seconde' => 'segundo',
216
-	'date_une_semaine' => 'semana',
217
-	'dirs_commencer' => 'Para empezar realmente la instalación',
218
-	'dirs_preliminaire' => 'Preliminar: <b>Regular los derechos de acceso</b>',
219
-	'dirs_probleme_droits' => 'Problema de derechos de acceso',
220
-	'dirs_repertoires_absents' => '<p><b>No se pudieron encontrar las siguientes carpetas:</b></p><ul>@bad_dirs@.</ul> </b>
91
+    // D
92
+    'date_aujourdhui' => 'hoy',
93
+    'date_avant_jc' => 'aC',
94
+    'date_dans' => 'en @delai@',
95
+    'date_de_mois_1' => '@j@ de @nommois@',
96
+    'date_de_mois_10' => '@j@ de @nommois@',
97
+    'date_de_mois_11' => '@j@ de @nommois@',
98
+    'date_de_mois_12' => '@j@ de @nommois@',
99
+    'date_de_mois_2' => '@j@ de @nommois@',
100
+    'date_de_mois_3' => '@j@ de @nommois@',
101
+    'date_de_mois_4' => '@j@ de @nommois@',
102
+    'date_de_mois_5' => '@j@ de @nommois@',
103
+    'date_de_mois_6' => '@j@ de @nommois@',
104
+    'date_de_mois_7' => '@j@ de @nommois@',
105
+    'date_de_mois_8' => '@j@ de @nommois@',
106
+    'date_de_mois_9' => '@j@ de @nommois@',
107
+    'date_demain' => 'mañana',
108
+    'date_fmt_heures_minutes' => '@h@h@m@min',
109
+    'date_fmt_heures_minutes_court' => '@h@h@m@',
110
+    'date_fmt_jour' => '@nomjour@ @jour@',
111
+    'date_fmt_jour_heure' => '@jour@ a las @heure@',
112
+    'date_fmt_jour_heure_debut_fin' => '@jour@ de las @heure_debut@ a las @heure_fin@',
113
+    'date_fmt_jour_heure_debut_fin_abbr' => '@dtstart@@jour@ de las @heure_debut@@dtabbr@ a las @dtend@@heure_fin@@dtabbr@',
114
+    'date_fmt_jour_mois' => '@jour@ de @nommois@',
115
+    'date_fmt_jour_mois_annee' => '@jour@ de @nommois@ de @annee@',
116
+    'date_fmt_mois_annee' => '@nommois@ de @annee@',
117
+    'date_fmt_nomjour' => '@nomjour@ @date@',
118
+    'date_fmt_nomjour_date' => 'el @nomjour@ @date@',
119
+    'date_fmt_periode' => 'Del @date_debut@ al @date_fin@',
120
+    'date_fmt_periode_abbr' => 'Del @dtart@@date_debut@@dtabbr@ al @dtend@@date_fin@@dtabbr@',
121
+    'date_fmt_periode_from' => 'Del',
122
+    'date_fmt_periode_to' => 'al',
123
+    'date_fmt_saison_annee' => '@saison@ @annee@',
124
+    'date_heures' => 'horas',
125
+    'date_hier' => 'ayer',
126
+    'date_il_y_a' => 'hace @delai@',
127
+    'date_jnum1' => '1ro',
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' => 'Domingo',
159
+    'date_jour_1_abbr' => 'dom',
160
+    'date_jour_1_initiale' => 'd',
161
+    'date_jour_2' => 'Lunes',
162
+    'date_jour_2_abbr' => 'lun',
163
+    'date_jour_2_initiale' => 'l',
164
+    'date_jour_3' => 'Martes',
165
+    'date_jour_3_abbr' => 'mar',
166
+    'date_jour_3_initiale' => 'm',
167
+    'date_jour_4' => 'Miércoles',
168
+    'date_jour_4_abbr' => 'mie',
169
+    'date_jour_4_initiale' => 'm',
170
+    'date_jour_5' => 'Jueves',
171
+    'date_jour_5_abbr' => 'jue',
172
+    'date_jour_5_initiale' => 'j',
173
+    'date_jour_6' => 'Viernes',
174
+    'date_jour_6_abbr' => 'vie',
175
+    'date_jour_6_initiale' => 'v',
176
+    'date_jour_7' => 'Sábado',
177
+    'date_jour_7_abbr' => 'sab',
178
+    'date_jour_7_initiale' => 's',
179
+    'date_jours' => 'días',
180
+    'date_minutes' => 'minutos',
181
+    'date_mois' => 'meses',
182
+    'date_mois_1' => 'enero',
183
+    'date_mois_10' => 'octubre',
184
+    'date_mois_10_abbr' => 'oct.',
185
+    'date_mois_11' => 'noviembre',
186
+    'date_mois_11_abbr' => 'nov.',
187
+    'date_mois_12' => 'diciembre',
188
+    'date_mois_12_abbr' => 'dic.',
189
+    'date_mois_1_abbr' => 'ene.',
190
+    'date_mois_2' => 'febrero',
191
+    'date_mois_2_abbr' => 'feb.',
192
+    'date_mois_3' => 'marzo',
193
+    'date_mois_3_abbr' => 'mar.',
194
+    'date_mois_4' => 'abril',
195
+    'date_mois_4_abbr' => 'abr.',
196
+    'date_mois_5' => 'mayo',
197
+    'date_mois_5_abbr' => 'mayo',
198
+    'date_mois_6' => 'junio',
199
+    'date_mois_6_abbr' => 'jun.',
200
+    'date_mois_7' => 'julio',
201
+    'date_mois_7_abbr' => 'jul.',
202
+    'date_mois_8' => 'agosto',
203
+    'date_mois_8_abbr' => 'ago.',
204
+    'date_mois_9' => 'septiembre',
205
+    'date_mois_9_abbr' => 'sep.',
206
+    'date_saison_1' => 'invierno',
207
+    'date_saison_2' => 'primavera',
208
+    'date_saison_3' => 'verano',
209
+    'date_saison_4' => 'otoño',
210
+    'date_secondes' => 'segundos',
211
+    'date_semaines' => 'semanas',
212
+    'date_un_mois' => 'mes',
213
+    'date_une_heure' => 'hora',
214
+    'date_une_minute' => 'minuto',
215
+    'date_une_seconde' => 'segundo',
216
+    'date_une_semaine' => 'semana',
217
+    'dirs_commencer' => 'Para empezar realmente la instalación',
218
+    'dirs_preliminaire' => 'Preliminar: <b>Regular los derechos de acceso</b>',
219
+    'dirs_probleme_droits' => 'Problema de derechos de acceso',
220
+    'dirs_repertoires_absents' => '<p><b>No se pudieron encontrar las siguientes carpetas:</b></p><ul>@bad_dirs@.</ul> </b>
221 221
 <p>Es probable que se deba a un problema de escritura entre mayúsculas y minúsculas.
222 222
   Verifique que las mayúsculas y minúsculas de los nombres de estas carpetas corresponden a lo se visualiza a continuación; si no es el caso, cambia el nombre de las carpetas con tu software de FTP, de modo que se corrijan los errores.</p>
223 223
   <p>Cuando hayas hecho esta operación podrás  ',
224
-	'dirs_repertoires_suivants' => '<p><b>Las carpetas siguientes no están accesibles en escritura :</b></p><ul>@bad_dirs@.</ul>
224
+    'dirs_repertoires_suivants' => '<p><b>Las carpetas siguientes no están accesibles en escritura :</b></p><ul>@bad_dirs@.</ul>
225 225
 <p>Para solucionar el problema debes utilizar un cliente FTP para cambiar los derechos de acceso a cada una
226 226
 de las carpetas mencionadas. El procedimiento se explica detalladamente en la guía de instalación.</p>
227 227
 <p>Una vez terminado este proceso, podrás ',
228
-	'double_occurrence' => 'Doble ocurrencia de @balise@',
228
+    'double_occurrence' => 'Doble ocurrencia de @balise@',
229 229
 
230
-	// E
231
-	'en_cours' => 'en curso',
232
-	'envoi_via_le_site' => 'Envío a través del sitio',
233
-	'erreur' => 'Error',
234
-	'erreur_balise_non_fermee' => 'última baliza no cerrada:',
235
-	'erreur_technique_ajaxform' => '¡Vaya! Un error inesperado ha impedido enviar el formulario. Puede intentarlo de nuevo. ',
236
-	'erreur_technique_enregistrement_champs' => 'Un erreor técnico impidió guardar correctamente el campo @champs@.',
237
-	'erreur_technique_enregistrement_impossible' => 'Un erreor técnico impidió guardar los datos.',
238
-	'erreur_texte' => 'error(es)',
239
-	'etape' => 'Etapa',
230
+    // E
231
+    'en_cours' => 'en curso',
232
+    'envoi_via_le_site' => 'Envío a través del sitio',
233
+    'erreur' => 'Error',
234
+    'erreur_balise_non_fermee' => 'última baliza no cerrada:',
235
+    'erreur_technique_ajaxform' => '¡Vaya! Un error inesperado ha impedido enviar el formulario. Puede intentarlo de nuevo. ',
236
+    'erreur_technique_enregistrement_champs' => 'Un erreor técnico impidió guardar correctamente el campo @champs@.',
237
+    'erreur_technique_enregistrement_impossible' => 'Un erreor técnico impidió guardar los datos.',
238
+    'erreur_texte' => 'error(es)',
239
+    'etape' => 'Etapa',
240 240
 
241
-	// F
242
-	'fichier_introuvable' => 'No se encuentra el archivo @fichier@',
243
-	'fonction_introuvable' => 'Función @fonction@() no encontrada.',
244
-	'form_auteur_confirmation' => 'Confirma tu dirección de correo',
245
-	'form_auteur_email_modifie' => 'Tu dirección de correo fue modificada',
246
-	'form_auteur_envoi_mail_confirmation' => 'Se te acaba de enviar un mensaje de confirmación a @email@. Tienes que visitar la página web indicada en ese mensaje para validar tu dirección de correo.',
247
-	'form_auteur_mail_confirmation' => 'Hola,
241
+    // F
242
+    'fichier_introuvable' => 'No se encuentra el archivo @fichier@',
243
+    'fonction_introuvable' => 'Función @fonction@() no encontrada.',
244
+    'form_auteur_confirmation' => 'Confirma tu dirección de correo',
245
+    'form_auteur_email_modifie' => 'Tu dirección de correo fue modificada',
246
+    'form_auteur_envoi_mail_confirmation' => 'Se te acaba de enviar un mensaje de confirmación a @email@. Tienes que visitar la página web indicada en ese mensaje para validar tu dirección de correo.',
247
+    'form_auteur_mail_confirmation' => 'Hola,
248 248
 
249 249
 Ha solicitado cambiar su dirección de correo electrónico.
250 250
 Para confirmar su nueva dirección, haga clic en el siguiente enlace:
@@ -252,338 +252,338 @@  discard block
 block discarded – undo
252 252
     @url@
253 253
 En caso contrario, la solicitud será ignorada.
254 254
 ',
255
-	'form_deja_inscrit' => 'Ya estás inscrito.',
256
-	'form_email_non_valide' => 'La dirección de correo electrónico no es válida.',
257
-	'form_forum_access_refuse' => 'Ya no tienes acceso a este sitio.',
258
-	'form_forum_bonjour' => 'Hola, @nom@,',
259
-	'form_forum_confirmer_email' => 'Para confirmar tu dirección mail, visita el siguiente enlace: @url_confirm@',
260
-	'form_forum_email_deja_enregistre' => 'Esta dirección de correo electrónico ya está registrada, por lo que puedes utilizar tu contraseña habitual.',
261
-	'form_forum_identifiant_mail' => 'Acabamos de enviarte tu nuevo identificador por correo electrónico.',
262
-	'form_forum_identifiants' => 'Identificadores personales',
263
-	'form_forum_indiquer_nom_email' => 'Indica aquí tu nombre y dirección de correo electrónico. Se te enviará de inmediato por correo electrónico tu identificador personal.',
264
-	'form_forum_login' => 'login:',
265
-	'form_forum_message_auto' => '(esto es un mensaje automático)',
266
-	'form_forum_pass' => 'contraseña:',
267
-	'form_forum_probleme_mail' => 'Problema con el correo electrónico: no se puede enviar el identificador.',
268
-	'form_forum_voici1' => 'Esta es tu identificación para participar
255
+    'form_deja_inscrit' => 'Ya estás inscrito.',
256
+    'form_email_non_valide' => 'La dirección de correo electrónico no es válida.',
257
+    'form_forum_access_refuse' => 'Ya no tienes acceso a este sitio.',
258
+    'form_forum_bonjour' => 'Hola, @nom@,',
259
+    'form_forum_confirmer_email' => 'Para confirmar tu dirección mail, visita el siguiente enlace: @url_confirm@',
260
+    'form_forum_email_deja_enregistre' => 'Esta dirección de correo electrónico ya está registrada, por lo que puedes utilizar tu contraseña habitual.',
261
+    'form_forum_identifiant_mail' => 'Acabamos de enviarte tu nuevo identificador por correo electrónico.',
262
+    'form_forum_identifiants' => 'Identificadores personales',
263
+    'form_forum_indiquer_nom_email' => 'Indica aquí tu nombre y dirección de correo electrónico. Se te enviará de inmediato por correo electrónico tu identificador personal.',
264
+    'form_forum_login' => 'login:',
265
+    'form_forum_message_auto' => '(esto es un mensaje automático)',
266
+    'form_forum_pass' => 'contraseña:',
267
+    'form_forum_probleme_mail' => 'Problema con el correo electrónico: no se puede enviar el identificador.',
268
+    'form_forum_voici1' => 'Esta es tu identificación para participar
269 269
 en los foros del sitio "@nom_site_spip@" (@adresse_site@):',
270
-	'form_forum_voici2' => 'Esta es tu identificación para proponer artículos
270
+    'form_forum_voici2' => 'Esta es tu identificación para proponer artículos
271 271
 en el sitio "@nom_site_spip@" (@adresse_login@):',
272
-	'form_indiquer_email' => 'Indica tu dirección de correo electrónico.',
273
-	'form_indiquer_nom' => 'Indica tu nombre.',
274
-	'form_indiquer_nom_site' => 'Indica el nombre de tu sitio Web.',
275
-	'form_pet_deja_enregistre' => 'Este sitio ya está registrado',
276
-	'form_pet_signature_pasprise' => 'Tu firma no ha sido tomada en cuenta.',
277
-	'form_prop_confirmer_envoi' => 'Confirmar el envío',
278
-	'form_prop_description' => 'Descripción/comentario',
279
-	'form_prop_enregistre' => 'Tu propuesta ha sido registrada, aparecerá en línea después de la validación por el equipo responsable de este sitio.',
280
-	'form_prop_envoyer' => 'Enviar un mensaje',
281
-	'form_prop_indiquer_email' => 'Indica una dirección de correo electrónico válida',
282
-	'form_prop_indiquer_nom_site' => 'Indica el nombre del sitio.',
283
-	'form_prop_indiquer_sujet' => 'Indicar un tema',
284
-	'form_prop_message_envoye' => 'Mensaje enviado',
285
-	'form_prop_non_enregistre' => 'Tu propuesta no fue registrada.',
286
-	'form_prop_sujet' => 'Asunto',
287
-	'form_prop_url_site' => 'Dirección URL del sitio',
288
-	'format_date_attendu' => 'Introduce una fecha en formato dd/mm/aaaa.',
289
-	'format_date_incorrecte' => 'La fecha o su formato es incorrecto',
290
-	'format_heure_attendu' => 'Intrpduce una hora en formato hh:mm.',
291
-	'format_heure_incorrecte' => 'La hora o su formato es incorrecto',
292
-	'forum_non_inscrit' => 'No estás inscrita o inscrito, o bien la dirección o la contraseña son erróneas.',
293
-	'forum_par_auteur' => 'por @auteur@',
294
-	'forum_titre_erreur' => 'Error...',
272
+    'form_indiquer_email' => 'Indica tu dirección de correo electrónico.',
273
+    'form_indiquer_nom' => 'Indica tu nombre.',
274
+    'form_indiquer_nom_site' => 'Indica el nombre de tu sitio Web.',
275
+    'form_pet_deja_enregistre' => 'Este sitio ya está registrado',
276
+    'form_pet_signature_pasprise' => 'Tu firma no ha sido tomada en cuenta.',
277
+    'form_prop_confirmer_envoi' => 'Confirmar el envío',
278
+    'form_prop_description' => 'Descripción/comentario',
279
+    'form_prop_enregistre' => 'Tu propuesta ha sido registrada, aparecerá en línea después de la validación por el equipo responsable de este sitio.',
280
+    'form_prop_envoyer' => 'Enviar un mensaje',
281
+    'form_prop_indiquer_email' => 'Indica una dirección de correo electrónico válida',
282
+    'form_prop_indiquer_nom_site' => 'Indica el nombre del sitio.',
283
+    'form_prop_indiquer_sujet' => 'Indicar un tema',
284
+    'form_prop_message_envoye' => 'Mensaje enviado',
285
+    'form_prop_non_enregistre' => 'Tu propuesta no fue registrada.',
286
+    'form_prop_sujet' => 'Asunto',
287
+    'form_prop_url_site' => 'Dirección URL del sitio',
288
+    'format_date_attendu' => 'Introduce una fecha en formato dd/mm/aaaa.',
289
+    'format_date_incorrecte' => 'La fecha o su formato es incorrecto',
290
+    'format_heure_attendu' => 'Intrpduce una hora en formato hh:mm.',
291
+    'format_heure_incorrecte' => 'La hora o su formato es incorrecto',
292
+    'forum_non_inscrit' => 'No estás inscrita o inscrito, o bien la dirección o la contraseña son erróneas.',
293
+    'forum_par_auteur' => 'por @auteur@',
294
+    'forum_titre_erreur' => 'Error...',
295 295
 
296
-	// I
297
-	'ical_texte_rss_articles' => 'El archivo «backend» de artículos de este sitio se encuentra en la dirección:',
298
-	'ical_texte_rss_articles2' => 'También puedes obtener archivos «backend» para los artículos de cada sección de este sitio:',
299
-	'ical_texte_rss_breves' => 'Además existe un archivo que contiene las breves del sitio. Especificando el número de sección, se pueden obtener únicamente las breves de ésta.',
300
-	'icone_a_suivre' => 'Mis tareas',
301
-	'icone_admin_site' => 'Administración del sitio',
302
-	'icone_agenda' => 'Agenda',
303
-	'icone_aide_ligne' => 'Ayuda en línea',
304
-	'icone_articles' => 'Artículos',
305
-	'icone_auteurs' => 'Autoras y autores',
306
-	'icone_brouteur' => 'Navegación rápida',
307
-	'icone_configuration_site' => 'Configuración del sitio',
308
-	'icone_configurer_site' => 'Configurar el sitio',
309
-	'icone_creer_nouvel_auteur' => 'Crear un nuevo autor o autora',
310
-	'icone_creer_rubrique' => 'Crear una sección',
311
-	'icone_creer_sous_rubrique' => 'Crear una subsección',
312
-	'icone_deconnecter' => 'Desconectarse',
313
-	'icone_discussions' => 'Discusiones',
314
-	'icone_doc_rubrique' => 'Documentos de las secciones',
315
-	'icone_ecrire_article' => 'Nuevo artículo',
316
-	'icone_edition_site' => 'Edición del sitio',
317
-	'icone_gestion_langues' => 'Gestión de idiomas',
318
-	'icone_informations_personnelles' => 'Información personal',
319
-	'icone_interface_complet' => 'Interfaz completa',
320
-	'icone_interface_simple' => 'Interfaz simple',
321
-	'icone_maintenance_site' => 'Mantenimiento del sitio',
322
-	'icone_messagerie_personnelle' => 'Mensajería personal',
323
-	'icone_repartition_debut' => 'Mostrar el reparto desde el comienzo',
324
-	'icone_rubriques' => 'Secciones',
325
-	'icone_sauver_site' => 'Respaldo del sitio',
326
-	'icone_site_entier' => 'Todo el sitio',
327
-	'icone_sites_references' => 'Sitios referenciados',
328
-	'icone_statistiques' => 'Estadísticas del sitio',
329
-	'icone_suivi_activite' => 'Seguir la vida del sitio',
330
-	'icone_suivi_actualite' => 'Evolución del sitio',
331
-	'icone_suivi_pettions' => 'Gestión de las peticiones',
332
-	'icone_suivi_revisions' => 'Modificaciones de artículos',
333
-	'icone_supprimer_document' => 'Suprimir este documento',
334
-	'icone_supprimer_image' => 'Suprimir esta imagen',
335
-	'icone_tous_articles' => 'Todos tus artículos',
336
-	'icone_tous_auteur' => 'Todos los autores y autoras',
337
-	'icone_tous_visiteur' => 'Todos los visitantes',
338
-	'icone_visiter_site' => 'Visitar el sitio',
339
-	'icone_voir_en_ligne' => 'Ver en línea',
340
-	'img_indisponible' => 'imagen indisponible',
341
-	'impossible' => 'imposible',
342
-	'info_a_suivre' => 'MIS TAREAS »',
343
-	'info_acces_interdit' => 'Acceso prohibido',
344
-	'info_acces_refuse' => 'Acceso rechazado',
345
-	'info_action' => 'Acción: @action@',
346
-	'info_administrer_rubriques' => 'Puedes administrar esta sección y sus subsecciones',
347
-	'info_adresse_non_indiquee' => '¡No has indicado la dirección a probar !',
348
-	'info_aide' => 'AYUDA:',
349
-	'info_ajouter_mot' => 'Añadir esta palabra',
350
-	'info_annonce' => 'Anuncio',
351
-	'info_annonces_generales' => 'Anuncios generales',
352
-	'info_article_propose' => 'Artículo propuesto',
353
-	'info_article_publie' => 'Artículo publicado',
354
-	'info_article_redaction' => 'Artículo en curso',
355
-	'info_article_refuse' => 'Artículo rechazado',
356
-	'info_article_supprime' => 'Artículo suprimido',
357
-	'info_articles' => 'Artículos',
358
-	'info_articles_a_valider' => 'Los artículos a validar',
359
-	'info_articles_nb' => '@nb@ artículos',
360
-	'info_articles_proposes' => 'Artículos propuestos',
361
-	'info_articles_un' => '1 artículo',
362
-	'info_auteurs_nombre' => 'Autora(s) y autor(es):',
363
-	'info_authentification_ftp' => 'Autentificación (por FTP).',
364
-	'info_breves_2' => 'breves',
365
-	'info_breves_nb' => '@nb@ breves',
366
-	'info_breves_un' => '1 breve',
367
-	'info_connexion_refusee' => 'Conexión rechazada',
368
-	'info_contact_developpeur' => 'Debes contactar con un programador.',
369
-	'info_contenance' => 'Este sitio contiene:',
370
-	'info_contribution' => 'Contribuciones',
371
-	'info_copyright' => '@spip@ es un software libre distribuído @lien_gpl@.',
372
-	'info_copyright_doc' => 'Para mayor información, ver el sitio <a href="@spipnet@">@spipnet_affiche@</a>.',
373
-	'info_copyright_gpl' => 'bajo licencia GPL',
374
-	'info_cours_edition' => 'En curso de redacción',
375
-	'info_creer_repertoire' => 'Debes crear un archivo o una carpeta llamada',
376
-	'info_creer_repertoire_2' => 'en el directorio <b>@repertoire@</b>, y luego',
377
-	'info_creer_vignette' => 'creación automática de la miniatura',
378
-	'info_creerdansrubrique_non_autorise' => 'No tienes los derechos suficientes para crear contenidos dentro de esta sección',
379
-	'info_deplier' => 'Desplegar',
380
-	'info_descriptif_nombre' => 'descripcción(es):',
381
-	'info_description' => 'Descripción:',
382
-	'info_description_2' => 'Descripción:',
383
-	'info_dimension' => 'Dimensiones',
384
-	'info_documents_nb' => '@nb@ documentos',
385
-	'info_documents_un' => '1 documento',
386
-	'info_ecire_message_prive' => 'Escribir un mensaje privado',
387
-	'info_email_invalide' => 'La dirección de correo electrónico no es válida.',
388
-	'info_en_cours_validation' => 'Tus artículos en curso',
389
-	'info_en_ligne' => 'Actualmente en línea',
390
-	'info_envoyer_message_prive' => 'Enviar un mensaje privado a este autor o autora',
391
-	'info_erreur_requete' => 'Error en la petición:',
392
-	'info_erreur_squelette2' => 'No hay ningún esqueleto <b>@fichier@</b>  disponible...',
393
-	'info_erreur_systeme' => 'Error del sistema (errno @errsys@)',
394
-	'info_erreur_systeme2' => 'El disco duro puede estar lleno o la base de datos dañada.<br />
296
+    // I
297
+    'ical_texte_rss_articles' => 'El archivo «backend» de artículos de este sitio se encuentra en la dirección:',
298
+    'ical_texte_rss_articles2' => 'También puedes obtener archivos «backend» para los artículos de cada sección de este sitio:',
299
+    'ical_texte_rss_breves' => 'Además existe un archivo que contiene las breves del sitio. Especificando el número de sección, se pueden obtener únicamente las breves de ésta.',
300
+    'icone_a_suivre' => 'Mis tareas',
301
+    'icone_admin_site' => 'Administración del sitio',
302
+    'icone_agenda' => 'Agenda',
303
+    'icone_aide_ligne' => 'Ayuda en línea',
304
+    'icone_articles' => 'Artículos',
305
+    'icone_auteurs' => 'Autoras y autores',
306
+    'icone_brouteur' => 'Navegación rápida',
307
+    'icone_configuration_site' => 'Configuración del sitio',
308
+    'icone_configurer_site' => 'Configurar el sitio',
309
+    'icone_creer_nouvel_auteur' => 'Crear un nuevo autor o autora',
310
+    'icone_creer_rubrique' => 'Crear una sección',
311
+    'icone_creer_sous_rubrique' => 'Crear una subsección',
312
+    'icone_deconnecter' => 'Desconectarse',
313
+    'icone_discussions' => 'Discusiones',
314
+    'icone_doc_rubrique' => 'Documentos de las secciones',
315
+    'icone_ecrire_article' => 'Nuevo artículo',
316
+    'icone_edition_site' => 'Edición del sitio',
317
+    'icone_gestion_langues' => 'Gestión de idiomas',
318
+    'icone_informations_personnelles' => 'Información personal',
319
+    'icone_interface_complet' => 'Interfaz completa',
320
+    'icone_interface_simple' => 'Interfaz simple',
321
+    'icone_maintenance_site' => 'Mantenimiento del sitio',
322
+    'icone_messagerie_personnelle' => 'Mensajería personal',
323
+    'icone_repartition_debut' => 'Mostrar el reparto desde el comienzo',
324
+    'icone_rubriques' => 'Secciones',
325
+    'icone_sauver_site' => 'Respaldo del sitio',
326
+    'icone_site_entier' => 'Todo el sitio',
327
+    'icone_sites_references' => 'Sitios referenciados',
328
+    'icone_statistiques' => 'Estadísticas del sitio',
329
+    'icone_suivi_activite' => 'Seguir la vida del sitio',
330
+    'icone_suivi_actualite' => 'Evolución del sitio',
331
+    'icone_suivi_pettions' => 'Gestión de las peticiones',
332
+    'icone_suivi_revisions' => 'Modificaciones de artículos',
333
+    'icone_supprimer_document' => 'Suprimir este documento',
334
+    'icone_supprimer_image' => 'Suprimir esta imagen',
335
+    'icone_tous_articles' => 'Todos tus artículos',
336
+    'icone_tous_auteur' => 'Todos los autores y autoras',
337
+    'icone_tous_visiteur' => 'Todos los visitantes',
338
+    'icone_visiter_site' => 'Visitar el sitio',
339
+    'icone_voir_en_ligne' => 'Ver en línea',
340
+    'img_indisponible' => 'imagen indisponible',
341
+    'impossible' => 'imposible',
342
+    'info_a_suivre' => 'MIS TAREAS »',
343
+    'info_acces_interdit' => 'Acceso prohibido',
344
+    'info_acces_refuse' => 'Acceso rechazado',
345
+    'info_action' => 'Acción: @action@',
346
+    'info_administrer_rubriques' => 'Puedes administrar esta sección y sus subsecciones',
347
+    'info_adresse_non_indiquee' => '¡No has indicado la dirección a probar !',
348
+    'info_aide' => 'AYUDA:',
349
+    'info_ajouter_mot' => 'Añadir esta palabra',
350
+    'info_annonce' => 'Anuncio',
351
+    'info_annonces_generales' => 'Anuncios generales',
352
+    'info_article_propose' => 'Artículo propuesto',
353
+    'info_article_publie' => 'Artículo publicado',
354
+    'info_article_redaction' => 'Artículo en curso',
355
+    'info_article_refuse' => 'Artículo rechazado',
356
+    'info_article_supprime' => 'Artículo suprimido',
357
+    'info_articles' => 'Artículos',
358
+    'info_articles_a_valider' => 'Los artículos a validar',
359
+    'info_articles_nb' => '@nb@ artículos',
360
+    'info_articles_proposes' => 'Artículos propuestos',
361
+    'info_articles_un' => '1 artículo',
362
+    'info_auteurs_nombre' => 'Autora(s) y autor(es):',
363
+    'info_authentification_ftp' => 'Autentificación (por FTP).',
364
+    'info_breves_2' => 'breves',
365
+    'info_breves_nb' => '@nb@ breves',
366
+    'info_breves_un' => '1 breve',
367
+    'info_connexion_refusee' => 'Conexión rechazada',
368
+    'info_contact_developpeur' => 'Debes contactar con un programador.',
369
+    'info_contenance' => 'Este sitio contiene:',
370
+    'info_contribution' => 'Contribuciones',
371
+    'info_copyright' => '@spip@ es un software libre distribuído @lien_gpl@.',
372
+    'info_copyright_doc' => 'Para mayor información, ver el sitio <a href="@spipnet@">@spipnet_affiche@</a>.',
373
+    'info_copyright_gpl' => 'bajo licencia GPL',
374
+    'info_cours_edition' => 'En curso de redacción',
375
+    'info_creer_repertoire' => 'Debes crear un archivo o una carpeta llamada',
376
+    'info_creer_repertoire_2' => 'en el directorio <b>@repertoire@</b>, y luego',
377
+    'info_creer_vignette' => 'creación automática de la miniatura',
378
+    'info_creerdansrubrique_non_autorise' => 'No tienes los derechos suficientes para crear contenidos dentro de esta sección',
379
+    'info_deplier' => 'Desplegar',
380
+    'info_descriptif_nombre' => 'descripcción(es):',
381
+    'info_description' => 'Descripción:',
382
+    'info_description_2' => 'Descripción:',
383
+    'info_dimension' => 'Dimensiones',
384
+    'info_documents_nb' => '@nb@ documentos',
385
+    'info_documents_un' => '1 documento',
386
+    'info_ecire_message_prive' => 'Escribir un mensaje privado',
387
+    'info_email_invalide' => 'La dirección de correo electrónico no es válida.',
388
+    'info_en_cours_validation' => 'Tus artículos en curso',
389
+    'info_en_ligne' => 'Actualmente en línea',
390
+    'info_envoyer_message_prive' => 'Enviar un mensaje privado a este autor o autora',
391
+    'info_erreur_requete' => 'Error en la petición:',
392
+    'info_erreur_squelette2' => 'No hay ningún esqueleto <b>@fichier@</b>  disponible...',
393
+    'info_erreur_systeme' => 'Error del sistema (errno @errsys@)',
394
+    'info_erreur_systeme2' => 'El disco duro puede estar lleno o la base de datos dañada.<br />
395 395
 <span style="color:red;">Intenta <a href=\'@script@\'>reparar la base de fatos</a>, o contacta con tu alojamiento web.</span>',
396
-	'info_fini' => '¡Terminado!',
397
-	'info_format_image' => 'Formatos de imagen utilizables para los iconos  @gd_formats@.',
398
-	'info_format_non_defini' => 'formato no definido',
399
-	'info_grand_ecran' => 'Pantalla completa',
400
-	'info_image_aide' => 'Ayuda',
401
-	'info_image_process_titre' => 'Método de creación de miniaturas',
402
-	'info_impossible_lire_page' => '<b>¡Error !</b> Imposible leer la página <tt><html>@test_proxy@</html></tt> a través del proxy',
403
-	'info_installation_systeme_publication' => 'Instalación del sistema de publicación...',
404
-	'info_installer_documents' => 'Puedes instalar automáticamente todos los documentos contenidos en el directorio @upload@.',
405
-	'info_installer_ftp' => 'Con derechos de administración, puedes instalar archivos (vía FTP) en la carpeta @upload@ para luego poder seleccionarlos directamente aquí.',
406
-	'info_installer_images' => 'Puedes instalar imágenes de formato JPEG, GIF y PNG.',
407
-	'info_installer_images_dossier' => 'Instalar imágenes en la carpeta @upload@ para luego poder seleccionarlas directamente aquí.',
408
-	'info_interface_complete' => 'Interfaz completa',
409
-	'info_interface_simple' => 'Interfaz simple',
410
-	'info_joindre_document_article' => 'Puedes adjuntar a este artículo documentos de tipo',
411
-	'info_joindre_document_rubrique' => 'Puedes adjuntar a esta sección documentos de tipo',
412
-	'info_joindre_documents_article' => 'Puedes adjuntar a tu artículo documentos de tipo',
413
-	'info_l_article' => 'el artículo',
414
-	'info_la_breve' => 'la breve',
415
-	'info_la_rubrique' => 'la sección',
416
-	'info_langue_principale' => 'Idioma principal del sitio',
417
-	'info_largeur_vignette' => '@largeur_vignette@ × @hauteur_vignette@ píxeles',
418
-	'info_les_auteurs_1' => 'por @les_auteurs@',
419
-	'info_logo_format_interdit' => 'Sólo se autorizan los logos de formatos @formats@.',
420
-	'info_logo_max_poids' => 'Los logos deben obligatoriamente pesar menos de @maxi@ (el archivo pesa @actuel@).',
421
-	'info_mail_fournisseur' => '[email protected]',
422
-	'info_message_2' => 'MENSAJE',
423
-	'info_message_supprime' => 'Mensaje suprimido',
424
-	'info_messages_nb' => '@nb@ mensajes',
425
-	'info_messages_un' => '1 mensaje',
426
-	'info_mise_en_ligne' => 'Fecha de puesta en línea',
427
-	'info_modification_parametres_securite' => 'modificaciones de los parámetros de seguridad',
428
-	'info_mois_courant' => 'En el mes actual de: ',
429
-	'info_mot_cle_ajoute' => 'La palabra clave siguiente ha sido añadida al artículo',
430
-	'info_multi_herit' => 'Idioma por omisión',
431
-	'info_multi_langues_soulignees' => 'Los <u>idiomas subrayados</u> disponen de una traducción total o parcial de los textos de la interfaz. Si los seleccionas, diversos elementos del sitio público (fechas, formularios) serán traducidos automáticamente. En los idiomas no subrayados, dichos elementos aparecerán en el idioma principal del sitio.',
432
-	'info_multilinguisme' => 'Multilingüismo',
433
-	'info_nom_non_utilisateurs_connectes' => 'Tu nombre no aparece en la lista de personas conectadas',
434
-	'info_nom_utilisateurs_connectes' => 'Tu nombre aparece en la lista de personas conectadas.',
435
-	'info_nombre_en_ligne' => 'Actualmente en línea',
436
-	'info_non_resultat' => 'No se han encontrado resultados para la búsqueda "@cherche_mot@"',
437
-	'info_non_utilisation_messagerie' => 'No utilizar la mensajería interna.',
438
-	'info_nouveau_message' => '<b>¡Tienes un nuevo mensaje!</b>',
439
-	'info_nouveaux_messages' => 'Tienes @total_messages@ mensajes nuevos ',
440
-	'info_numero_abbreviation' => 'N° ',
441
-	'info_obligatoire' => 'Esta información es obligatoria',
442
-	'info_page_actuelle' => 'Página actual',
443
-	'info_pense_bete' => 'Recordatorio para memorizar',
444
-	'info_petit_ecran' => 'Pantalla pequeña',
445
-	'info_petition_close' => 'Ya no se firma',
446
-	'info_pixels' => 'píxeles',
447
-	'info_plusieurs_mots_trouves' => 'Hemos encontrado varias palabras clave para "@cherche_mot@":',
448
-	'info_portfolio_automatique' => 'Portafolio automático',
449
-	'info_premier_resultat' => '[@debut_limit@ primeros resultados sobre @total@]',
450
-	'info_premier_resultat_sur' => '[@debut_limit@ primeros resultados sobre @total@]',
451
-	'info_propose_1' => '[@nom_site_spip@] Propuesto: @titre@',
452
-	'info_propose_2' => 'Artículo propuesto
396
+    'info_fini' => '¡Terminado!',
397
+    'info_format_image' => 'Formatos de imagen utilizables para los iconos  @gd_formats@.',
398
+    'info_format_non_defini' => 'formato no definido',
399
+    'info_grand_ecran' => 'Pantalla completa',
400
+    'info_image_aide' => 'Ayuda',
401
+    'info_image_process_titre' => 'Método de creación de miniaturas',
402
+    'info_impossible_lire_page' => '<b>¡Error !</b> Imposible leer la página <tt><html>@test_proxy@</html></tt> a través del proxy',
403
+    'info_installation_systeme_publication' => 'Instalación del sistema de publicación...',
404
+    'info_installer_documents' => 'Puedes instalar automáticamente todos los documentos contenidos en el directorio @upload@.',
405
+    'info_installer_ftp' => 'Con derechos de administración, puedes instalar archivos (vía FTP) en la carpeta @upload@ para luego poder seleccionarlos directamente aquí.',
406
+    'info_installer_images' => 'Puedes instalar imágenes de formato JPEG, GIF y PNG.',
407
+    'info_installer_images_dossier' => 'Instalar imágenes en la carpeta @upload@ para luego poder seleccionarlas directamente aquí.',
408
+    'info_interface_complete' => 'Interfaz completa',
409
+    'info_interface_simple' => 'Interfaz simple',
410
+    'info_joindre_document_article' => 'Puedes adjuntar a este artículo documentos de tipo',
411
+    'info_joindre_document_rubrique' => 'Puedes adjuntar a esta sección documentos de tipo',
412
+    'info_joindre_documents_article' => 'Puedes adjuntar a tu artículo documentos de tipo',
413
+    'info_l_article' => 'el artículo',
414
+    'info_la_breve' => 'la breve',
415
+    'info_la_rubrique' => 'la sección',
416
+    'info_langue_principale' => 'Idioma principal del sitio',
417
+    'info_largeur_vignette' => '@largeur_vignette@ × @hauteur_vignette@ píxeles',
418
+    'info_les_auteurs_1' => 'por @les_auteurs@',
419
+    'info_logo_format_interdit' => 'Sólo se autorizan los logos de formatos @formats@.',
420
+    'info_logo_max_poids' => 'Los logos deben obligatoriamente pesar menos de @maxi@ (el archivo pesa @actuel@).',
421
+    'info_mail_fournisseur' => '[email protected]',
422
+    'info_message_2' => 'MENSAJE',
423
+    'info_message_supprime' => 'Mensaje suprimido',
424
+    'info_messages_nb' => '@nb@ mensajes',
425
+    'info_messages_un' => '1 mensaje',
426
+    'info_mise_en_ligne' => 'Fecha de puesta en línea',
427
+    'info_modification_parametres_securite' => 'modificaciones de los parámetros de seguridad',
428
+    'info_mois_courant' => 'En el mes actual de: ',
429
+    'info_mot_cle_ajoute' => 'La palabra clave siguiente ha sido añadida al artículo',
430
+    'info_multi_herit' => 'Idioma por omisión',
431
+    'info_multi_langues_soulignees' => 'Los <u>idiomas subrayados</u> disponen de una traducción total o parcial de los textos de la interfaz. Si los seleccionas, diversos elementos del sitio público (fechas, formularios) serán traducidos automáticamente. En los idiomas no subrayados, dichos elementos aparecerán en el idioma principal del sitio.',
432
+    'info_multilinguisme' => 'Multilingüismo',
433
+    'info_nom_non_utilisateurs_connectes' => 'Tu nombre no aparece en la lista de personas conectadas',
434
+    'info_nom_utilisateurs_connectes' => 'Tu nombre aparece en la lista de personas conectadas.',
435
+    'info_nombre_en_ligne' => 'Actualmente en línea',
436
+    'info_non_resultat' => 'No se han encontrado resultados para la búsqueda "@cherche_mot@"',
437
+    'info_non_utilisation_messagerie' => 'No utilizar la mensajería interna.',
438
+    'info_nouveau_message' => '<b>¡Tienes un nuevo mensaje!</b>',
439
+    'info_nouveaux_messages' => 'Tienes @total_messages@ mensajes nuevos ',
440
+    'info_numero_abbreviation' => 'N° ',
441
+    'info_obligatoire' => 'Esta información es obligatoria',
442
+    'info_page_actuelle' => 'Página actual',
443
+    'info_pense_bete' => 'Recordatorio para memorizar',
444
+    'info_petit_ecran' => 'Pantalla pequeña',
445
+    'info_petition_close' => 'Ya no se firma',
446
+    'info_pixels' => 'píxeles',
447
+    'info_plusieurs_mots_trouves' => 'Hemos encontrado varias palabras clave para "@cherche_mot@":',
448
+    'info_portfolio_automatique' => 'Portafolio automático',
449
+    'info_premier_resultat' => '[@debut_limit@ primeros resultados sobre @total@]',
450
+    'info_premier_resultat_sur' => '[@debut_limit@ primeros resultados sobre @total@]',
451
+    'info_propose_1' => '[@nom_site_spip@] Propuesto: @titre@',
452
+    'info_propose_2' => 'Artículo propuesto
453 453
 ------------------',
454
-	'info_propose_3' => 'El artículo "@titre@" fue propuesto para ser publicado.',
455
-	'info_propose_4' => 'Estás invitado/a a consultarlo y a dar tu opinión',
456
-	'info_propose_5' => 'en el foro que le concierne. Está disponible en la dirección: ',
457
-	'info_publie_01' => 'El artículo "@titre@" ha sido validado por @connect_nom@.',
458
-	'info_publie_1' => '[@nom_site_spip@] PUBLICADO: @titre@',
459
-	'info_publie_2' => 'Artículo publicado
454
+    'info_propose_3' => 'El artículo "@titre@" fue propuesto para ser publicado.',
455
+    'info_propose_4' => 'Estás invitado/a a consultarlo y a dar tu opinión',
456
+    'info_propose_5' => 'en el foro que le concierne. Está disponible en la dirección: ',
457
+    'info_publie_01' => 'El artículo "@titre@" ha sido validado por @connect_nom@.',
458
+    'info_publie_1' => '[@nom_site_spip@] PUBLICADO: @titre@',
459
+    'info_publie_2' => 'Artículo publicado
460 460
 -------------------',
461
-	'info_rechercher' => 'Buscar',
462
-	'info_rechercher_02' => 'Buscar',
463
-	'info_remplacer_vignette' => 'Reemplazar el icono predeterminado por una imagen de tu elección :',
464
-	'info_rubriques_nb' => '@nb@ secciones',
465
-	'info_rubriques_un' => '1 sección',
466
-	'info_sans_titre_2' => 'sin título',
467
-	'info_selectionner_fichier' => 'Puedes seleccionar un documento del directorio @upload@',
468
-	'info_selectionner_fichier_2' => 'Seleccionar un documento...',
469
-	'info_sites_nb' => '@nb@ sitios',
470
-	'info_sites_un' => '1 sitio',
471
-	'info_supprimer_vignette' => 'Suprimir este icono',
472
-	'info_symbole_bleu' => 'El símbolo <b>azul</b> representa un <b>recordatorio personal</b>, o sea una manera de recordar algo.',
473
-	'info_symbole_jaune' => 'El símbolo <b>amarillo</b> representa un <b>anuncio para todos</b>: sólo es modificable por las/os administradoras/es del sitio, y es visible por todos los redactores.',
474
-	'info_symbole_vert' => 'El símbolo <b>verde</b> indica los  <b>mensajes intercambiados con otras personas</b> del sitio.',
475
-	'info_telecharger_nouveau_logo' => 'Subir un nuevo logotipo:',
476
-	'info_telecharger_ordinateur' => 'Subir desde tu ordenador:',
477
-	'info_tous_resultats_enregistres' => '[todos los resultados son registrados]',
478
-	'info_tout_afficher' => 'Mostrar todo',
479
-	'info_travaux_texte' => 'Este sitio todavía no está configurado. Vuelve más adelante...',
480
-	'info_travaux_titre' => 'Sitio en curso de modificación',
481
-	'info_trop_resultat' => 'Demasiados resultados para la búsqueda de "@cherche_mot@" . Precise los criterios.',
482
-	'info_utilisation_messagerie_interne' => 'Utilizas la mensajería interna del sitio.',
483
-	'info_valider_lien' => 'validar este enlace',
484
-	'info_verifier_image' => ', verifique si las imágenes han sido corresctamente transferidas.',
485
-	'info_vignette_defaut' => 'Icono predeterminado',
486
-	'info_vignette_personnalisee' => 'Icono personalizado',
487
-	'info_visite' => 'visita:',
488
-	'info_vos_rendez_vous' => 'Tus citas',
489
-	'infos_vos_pense_bete' => 'Tus recordatorios',
461
+    'info_rechercher' => 'Buscar',
462
+    'info_rechercher_02' => 'Buscar',
463
+    'info_remplacer_vignette' => 'Reemplazar el icono predeterminado por una imagen de tu elección :',
464
+    'info_rubriques_nb' => '@nb@ secciones',
465
+    'info_rubriques_un' => '1 sección',
466
+    'info_sans_titre_2' => 'sin título',
467
+    'info_selectionner_fichier' => 'Puedes seleccionar un documento del directorio @upload@',
468
+    'info_selectionner_fichier_2' => 'Seleccionar un documento...',
469
+    'info_sites_nb' => '@nb@ sitios',
470
+    'info_sites_un' => '1 sitio',
471
+    'info_supprimer_vignette' => 'Suprimir este icono',
472
+    'info_symbole_bleu' => 'El símbolo <b>azul</b> representa un <b>recordatorio personal</b>, o sea una manera de recordar algo.',
473
+    'info_symbole_jaune' => 'El símbolo <b>amarillo</b> representa un <b>anuncio para todos</b>: sólo es modificable por las/os administradoras/es del sitio, y es visible por todos los redactores.',
474
+    'info_symbole_vert' => 'El símbolo <b>verde</b> indica los  <b>mensajes intercambiados con otras personas</b> del sitio.',
475
+    'info_telecharger_nouveau_logo' => 'Subir un nuevo logotipo:',
476
+    'info_telecharger_ordinateur' => 'Subir desde tu ordenador:',
477
+    'info_tous_resultats_enregistres' => '[todos los resultados son registrados]',
478
+    'info_tout_afficher' => 'Mostrar todo',
479
+    'info_travaux_texte' => 'Este sitio todavía no está configurado. Vuelve más adelante...',
480
+    'info_travaux_titre' => 'Sitio en curso de modificación',
481
+    'info_trop_resultat' => 'Demasiados resultados para la búsqueda de "@cherche_mot@" . Precise los criterios.',
482
+    'info_utilisation_messagerie_interne' => 'Utilizas la mensajería interna del sitio.',
483
+    'info_valider_lien' => 'validar este enlace',
484
+    'info_verifier_image' => ', verifique si las imágenes han sido corresctamente transferidas.',
485
+    'info_vignette_defaut' => 'Icono predeterminado',
486
+    'info_vignette_personnalisee' => 'Icono personalizado',
487
+    'info_visite' => 'visita:',
488
+    'info_vos_rendez_vous' => 'Tus citas',
489
+    'infos_vos_pense_bete' => 'Tus recordatorios',
490 490
 
491
-	// L
492
-	'label_ajout_id_rapide' => 'Agregado rápido',
493
-	'label_poids_fichier' => 'Tamaño',
494
-	'label_ponctuer' => '@label@ :',
495
-	'lien_afficher_icones_seuls' => 'Mostrar sólo los iconos',
496
-	'lien_afficher_texte_icones' => 'Mostrar iconos y texto',
497
-	'lien_afficher_texte_seul' => 'Mostrar sólo el texto',
498
-	'lien_aller_a_la_derniere_page' => 'Ir a la última página',
499
-	'lien_aller_a_la_page_nb' => 'Ir a la página @nb@',
500
-	'lien_aller_a_la_page_precedente' => 'Ir a la página anterior',
501
-	'lien_aller_a_la_page_suivante' => 'Ir a la página siguiente',
502
-	'lien_aller_a_la_premiere_page' => 'Ir a la primera página',
503
-	'lien_liberer' => 'Liberar',
504
-	'lien_liberer_tous' => 'Liberar todo',
505
-	'lien_nouvea_pense_bete' => 'Nuevo recordatorio',
506
-	'lien_nouveau_message' => 'Nuevo mensaje',
507
-	'lien_nouvelle_annonce' => 'Nuevo anuncio',
508
-	'lien_petitions' => 'Petición',
509
-	'lien_popularite' => 'Popularidad: @popularite@%',
510
-	'lien_racine_site' => 'Raíz del sitio',
511
-	'lien_reessayer' => 'reintentar',
512
-	'lien_repondre_message' => 'Responder a este mensaje',
513
-	'lien_supprimer' => 'Suprimir',
514
-	'lien_tout_afficher' => 'Mostrar todo',
515
-	'lien_visite_site' => 'Visitar este sitio',
516
-	'lien_visites' => '@visites@ visitas.',
517
-	'lien_voir_auteur' => 'Ver esta autor/a',
518
-	'ligne' => 'Línea',
519
-	'login' => 'Conexión',
520
-	'login_acces_prive' => 'acceso al espacio privado',
521
-	'login_autre_identifiant' => 'conectarse con otro nombre de usuario o usuaria',
522
-	'login_cookie_accepte' => 'Configura tu navegador para que las acepte (al menos para este sitio).',
523
-	'login_cookie_oblige' => 'Para identificarte de manera segura en este sitio, tienes que aceptar las "cookies".',
524
-	'login_deconnexion_ok' => 'Desconexión efectuada.',
525
-	'login_erreur_pass' => 'Error de contraseña.',
526
-	'login_espace_prive' => 'espacio privado',
527
-	'login_identifiant_inconnu' => 'El nombre de usuario o usuaria «@login@» es desconocido.',
528
-	'login_login' => 'Nombre de usuario o usuaria:',
529
-	'login_login2' => 'Login o dirección mail:',
530
-	'login_login_pass_incorrect' => '(Identificador o contraseña incorrecta.)',
531
-	'login_motpasseoublie' => '¿contraseña olvidada?',
532
-	'login_non_securise' => 'Atención, este formulario no está asegurado.
491
+    // L
492
+    'label_ajout_id_rapide' => 'Agregado rápido',
493
+    'label_poids_fichier' => 'Tamaño',
494
+    'label_ponctuer' => '@label@ :',
495
+    'lien_afficher_icones_seuls' => 'Mostrar sólo los iconos',
496
+    'lien_afficher_texte_icones' => 'Mostrar iconos y texto',
497
+    'lien_afficher_texte_seul' => 'Mostrar sólo el texto',
498
+    'lien_aller_a_la_derniere_page' => 'Ir a la última página',
499
+    'lien_aller_a_la_page_nb' => 'Ir a la página @nb@',
500
+    'lien_aller_a_la_page_precedente' => 'Ir a la página anterior',
501
+    'lien_aller_a_la_page_suivante' => 'Ir a la página siguiente',
502
+    'lien_aller_a_la_premiere_page' => 'Ir a la primera página',
503
+    'lien_liberer' => 'Liberar',
504
+    'lien_liberer_tous' => 'Liberar todo',
505
+    'lien_nouvea_pense_bete' => 'Nuevo recordatorio',
506
+    'lien_nouveau_message' => 'Nuevo mensaje',
507
+    'lien_nouvelle_annonce' => 'Nuevo anuncio',
508
+    'lien_petitions' => 'Petición',
509
+    'lien_popularite' => 'Popularidad: @popularite@%',
510
+    'lien_racine_site' => 'Raíz del sitio',
511
+    'lien_reessayer' => 'reintentar',
512
+    'lien_repondre_message' => 'Responder a este mensaje',
513
+    'lien_supprimer' => 'Suprimir',
514
+    'lien_tout_afficher' => 'Mostrar todo',
515
+    'lien_visite_site' => 'Visitar este sitio',
516
+    'lien_visites' => '@visites@ visitas.',
517
+    'lien_voir_auteur' => 'Ver esta autor/a',
518
+    'ligne' => 'Línea',
519
+    'login' => 'Conexión',
520
+    'login_acces_prive' => 'acceso al espacio privado',
521
+    'login_autre_identifiant' => 'conectarse con otro nombre de usuario o usuaria',
522
+    'login_cookie_accepte' => 'Configura tu navegador para que las acepte (al menos para este sitio).',
523
+    'login_cookie_oblige' => 'Para identificarte de manera segura en este sitio, tienes que aceptar las "cookies".',
524
+    'login_deconnexion_ok' => 'Desconexión efectuada.',
525
+    'login_erreur_pass' => 'Error de contraseña.',
526
+    'login_espace_prive' => 'espacio privado',
527
+    'login_identifiant_inconnu' => 'El nombre de usuario o usuaria «@login@» es desconocido.',
528
+    'login_login' => 'Nombre de usuario o usuaria:',
529
+    'login_login2' => 'Login o dirección mail:',
530
+    'login_login_pass_incorrect' => '(Identificador o contraseña incorrecta.)',
531
+    'login_motpasseoublie' => '¿contraseña olvidada?',
532
+    'login_non_securise' => 'Atención, este formulario no está asegurado.
533 533
  Si no deseas que tu contraseña pueda ser interceptada en la red, activa JavaScript en tu navegador y',
534
-	'login_nouvelle_tentative' => 'Nuevo intento',
535
-	'login_par_ici' => 'Estás registrado o registrada... por aquí...',
536
-	'login_pass2' => 'Contraseña:',
537
-	'login_preferez_refuser' => '<b>Si prefieres rechazar las "cookies"</b>, otro método de conexión (menos seguro) está a tu disposición:',
538
-	'login_recharger' => 'actualizar esta página',
539
-	'login_rester_identifie' => 'Quedar identificado unos días',
540
-	'login_retour_public' => 'Volver al sitio público',
541
-	'login_retour_site' => 'Volver al sitio público',
542
-	'login_retoursitepublic' => 'volver al sitio público',
543
-	'login_sans_cookie' => 'Identificación sin "cookie"',
544
-	'login_securise' => 'Conexión segura',
545
-	'login_sinscrire' => 'Inscribirse',
546
-	'login_test_navigateur' => 'prueba de navegador/reconexión',
547
-	'login_verifiez_navigateur' => '(No obstante, comprueba que tu navegador no memorizó tu contraseña...)',
534
+    'login_nouvelle_tentative' => 'Nuevo intento',
535
+    'login_par_ici' => 'Estás registrado o registrada... por aquí...',
536
+    'login_pass2' => 'Contraseña:',
537
+    'login_preferez_refuser' => '<b>Si prefieres rechazar las "cookies"</b>, otro método de conexión (menos seguro) está a tu disposición:',
538
+    'login_recharger' => 'actualizar esta página',
539
+    'login_rester_identifie' => 'Quedar identificado unos días',
540
+    'login_retour_public' => 'Volver al sitio público',
541
+    'login_retour_site' => 'Volver al sitio público',
542
+    'login_retoursitepublic' => 'volver al sitio público',
543
+    'login_sans_cookie' => 'Identificación sin "cookie"',
544
+    'login_securise' => 'Conexión segura',
545
+    'login_sinscrire' => 'Inscribirse',
546
+    'login_test_navigateur' => 'prueba de navegador/reconexión',
547
+    'login_verifiez_navigateur' => '(No obstante, comprueba que tu navegador no memorizó tu contraseña...)',
548 548
 
549
-	// M
550
-	'masquer_colonne' => 'Ocultar esta columna',
551
-	'masquer_trad' => 'Ocultar las traducciones',
552
-	'message_nouveaux_identifiants_echec' => 'Imposible generar nuevas credenciales.',
553
-	'message_nouveaux_identifiants_echec_envoi' => 'Las nuevas credenciales de inicio de sesión no se pudieron enviar.',
554
-	'message_nouveaux_identifiants_ok' => 'Las nuevas credenciales de inicio de sesión se enviaron a @email@.',
555
-	'module_fichiers_langues' => 'Archivos de idioma',
549
+    // M
550
+    'masquer_colonne' => 'Ocultar esta columna',
551
+    'masquer_trad' => 'Ocultar las traducciones',
552
+    'message_nouveaux_identifiants_echec' => 'Imposible generar nuevas credenciales.',
553
+    'message_nouveaux_identifiants_echec_envoi' => 'Las nuevas credenciales de inicio de sesión no se pudieron enviar.',
554
+    'message_nouveaux_identifiants_ok' => 'Las nuevas credenciales de inicio de sesión se enviaron a @email@.',
555
+    'module_fichiers_langues' => 'Archivos de idioma',
556 556
 
557
-	// N
558
-	'navigateur_pas_redirige' => 'Si tu navegador no te redirige automaticamente, pincha aquí para continuar.',
559
-	'numero' => 'Número',
557
+    // N
558
+    'navigateur_pas_redirige' => 'Si tu navegador no te redirige automaticamente, pincha aquí para continuar.',
559
+    'numero' => 'Número',
560 560
 
561
-	// O
562
-	'occurence' => 'Ocurrencia',
563
-	'onglet_affacer_base' => 'Borrar la base',
564
-	'onglet_auteur' => 'La autor/a',
565
-	'onglet_contenu_site' => 'Contenido del sitio',
566
-	'onglet_evolution_visite_mod' => 'Evolución',
567
-	'onglet_fonctions_avances' => 'Funciones avanzadas',
568
-	'onglet_informations_personnelles' => 'Información personal',
569
-	'onglet_interactivite' => 'Interactividad',
570
-	'onglet_messagerie' => 'Mensajería',
571
-	'onglet_repartition_rubrique' => 'Reparto por secciones',
572
-	'onglet_save_restaur_base' => 'Copia de respaldo y restauración de la base',
573
-	'onglet_vider_cache' => 'Vaciar la caché',
561
+    // O
562
+    'occurence' => 'Ocurrencia',
563
+    'onglet_affacer_base' => 'Borrar la base',
564
+    'onglet_auteur' => 'La autor/a',
565
+    'onglet_contenu_site' => 'Contenido del sitio',
566
+    'onglet_evolution_visite_mod' => 'Evolución',
567
+    'onglet_fonctions_avances' => 'Funciones avanzadas',
568
+    'onglet_informations_personnelles' => 'Información personal',
569
+    'onglet_interactivite' => 'Interactividad',
570
+    'onglet_messagerie' => 'Mensajería',
571
+    'onglet_repartition_rubrique' => 'Reparto por secciones',
572
+    'onglet_save_restaur_base' => 'Copia de respaldo y restauración de la base',
573
+    'onglet_vider_cache' => 'Vaciar la caché',
574 574
 
575
-	// P
576
-	'pass_choix_pass' => 'Elije tu nueva contraseña:',
577
-	'pass_erreur' => 'Error',
578
-	'pass_erreur_acces_refuse' => '<b>Error:</b> ya no tienes acceso a este sitio.',
579
-	'pass_erreur_code_inconnu' => '<b>Error:</b> este código no corresponde a ningún visitante que tenga acceso a este sitio.',
580
-	'pass_erreur_non_enregistre' => '<b>Error:</b> la dirección <tt>@email_oubli@</tt> no está registrada en este sitio.',
581
-	'pass_erreur_non_valide' => '<b>Error:</b> esta dirección <tt>@email_oubli@</tt> no es válida.',
582
-	'pass_erreur_probleme_technique' => '<b>Error:</b> por un problema técnico, el mensaje no ha podido ser enviado.',
583
-	'pass_espace_prive_bla' => 'El espacio privado de este sitio está abierto, mediante una inscripción. Una vez registrado/a, puedes consultar los artículos en curso de redacción, proponer artículos y participar en todos los foros.',
584
-	'pass_forum_bla' => 'Pediste intervenir en un foro reservado a las personas registradas.',
585
-	'pass_indiquez_cidessous' => 'Indica a continuación la dirección de correo electrónico bajo la cual te has registrado anteriormente. Recibirás un mensaje indicando el proceso a seguir para recuperar tu acceso.',
586
-	'pass_mail_passcookie' => '(esto es un mensaje automático)
575
+    // P
576
+    'pass_choix_pass' => 'Elije tu nueva contraseña:',
577
+    'pass_erreur' => 'Error',
578
+    'pass_erreur_acces_refuse' => '<b>Error:</b> ya no tienes acceso a este sitio.',
579
+    'pass_erreur_code_inconnu' => '<b>Error:</b> este código no corresponde a ningún visitante que tenga acceso a este sitio.',
580
+    'pass_erreur_non_enregistre' => '<b>Error:</b> la dirección <tt>@email_oubli@</tt> no está registrada en este sitio.',
581
+    'pass_erreur_non_valide' => '<b>Error:</b> esta dirección <tt>@email_oubli@</tt> no es válida.',
582
+    'pass_erreur_probleme_technique' => '<b>Error:</b> por un problema técnico, el mensaje no ha podido ser enviado.',
583
+    'pass_espace_prive_bla' => 'El espacio privado de este sitio está abierto, mediante una inscripción. Una vez registrado/a, puedes consultar los artículos en curso de redacción, proponer artículos y participar en todos los foros.',
584
+    'pass_forum_bla' => 'Pediste intervenir en un foro reservado a las personas registradas.',
585
+    'pass_indiquez_cidessous' => 'Indica a continuación la dirección de correo electrónico bajo la cual te has registrado anteriormente. Recibirás un mensaje indicando el proceso a seguir para recuperar tu acceso.',
586
+    'pass_mail_passcookie' => '(esto es un mensaje automático)
587 587
 
588 588
 Para recuperar tu acceso al sitio
589 589
 @nom_site_spip@ (@adresse_site@)
@@ -596,140 +596,140 @@  discard block
 block discarded – undo
596 596
 volver a conectarte al sitio.
597 597
 
598 598
 ',
599
-	'pass_mot_oublie' => 'Contraseña olvidada',
600
-	'pass_nouveau_enregistre' => 'Tu nueva contraseña fue registrada.',
601
-	'pass_nouveau_pass' => 'Nueva contraseña',
602
-	'pass_ok' => 'OK',
603
-	'pass_oubli_mot' => 'Contraseña olvidada',
604
-	'pass_procedure_changer' => 'Para cambiar su contraseña, indique por favor el correo electrónico asociado a su cuenta.',
605
-	'pass_quitter_fenetre' => 'Abandonar esta ventana',
606
-	'pass_rappel_login' => 'Recuerda: tu identificador (login) es «@login@».',
607
-	'pass_recevoir_mail' => 'Te hemos enviado un enlace de reinicializacion de tu contraseña a tu correo electrónico (si tu dirección de correo es correcta).',
608
-	'pass_retour_public' => 'Volver al sitio público',
609
-	'pass_rien_a_faire_ici' => 'Nada que hacer aquí.',
610
-	'pass_vousinscrire' => 'Inscribirse en este sitio',
611
-	'precedent' => 'precedente',
612
-	'previsualisation' => 'Previsualización',
613
-	'previsualiser' => 'Previsualizar',
599
+    'pass_mot_oublie' => 'Contraseña olvidada',
600
+    'pass_nouveau_enregistre' => 'Tu nueva contraseña fue registrada.',
601
+    'pass_nouveau_pass' => 'Nueva contraseña',
602
+    'pass_ok' => 'OK',
603
+    'pass_oubli_mot' => 'Contraseña olvidada',
604
+    'pass_procedure_changer' => 'Para cambiar su contraseña, indique por favor el correo electrónico asociado a su cuenta.',
605
+    'pass_quitter_fenetre' => 'Abandonar esta ventana',
606
+    'pass_rappel_login' => 'Recuerda: tu identificador (login) es «@login@».',
607
+    'pass_recevoir_mail' => 'Te hemos enviado un enlace de reinicializacion de tu contraseña a tu correo electrónico (si tu dirección de correo es correcta).',
608
+    'pass_retour_public' => 'Volver al sitio público',
609
+    'pass_rien_a_faire_ici' => 'Nada que hacer aquí.',
610
+    'pass_vousinscrire' => 'Inscribirse en este sitio',
611
+    'precedent' => 'precedente',
612
+    'previsualisation' => 'Previsualización',
613
+    'previsualiser' => 'Previsualizar',
614 614
 
615
-	// R
616
-	'retour' => 'Volver',
615
+    // R
616
+    'retour' => 'Volver',
617 617
 
618
-	// S
619
-	'spip_conforme_dtd' => 'SPIP considera este documento como conforme a su DOCTYPE:',
620
-	'squelette' => 'esqueleto',
621
-	'squelette_inclus_ligne' => 'esqueleto incluído, línea',
622
-	'squelette_ligne' => 'esqueleto, línea',
623
-	'stats_visites_et_popularite' => '@visites@ visitas; popularidad: @popularite@',
624
-	'suivant' => 'siguiente',
618
+    // S
619
+    'spip_conforme_dtd' => 'SPIP considera este documento como conforme a su DOCTYPE:',
620
+    'squelette' => 'esqueleto',
621
+    'squelette_inclus_ligne' => 'esqueleto incluído, línea',
622
+    'squelette_ligne' => 'esqueleto, línea',
623
+    'stats_visites_et_popularite' => '@visites@ visitas; popularidad: @popularite@',
624
+    'suivant' => 'siguiente',
625 625
 
626
-	// T
627
-	'taille_go' => '@taille@ GB',
628
-	'taille_go_bi' => '@taille@ Gio',
629
-	'taille_ko' => '@taille@ KB',
630
-	'taille_ko_bi' => '@taille@ kio',
631
-	'taille_mo' => '@taille@ MB',
632
-	'taille_mo_bi' => '@taille@ Mio',
633
-	'taille_octets' => '@taille@ bytes',
634
-	'taille_octets_bi' => '@taille@ bytes',
635
-	'texte_actualite_site_1' => 'Una vez que te hayas familiarizado con la interfaz, pincha en «',
636
-	'texte_actualite_site_2' => 'interfaz completa',
637
-	'texte_actualite_site_3' => '» que tiene aún más posibilidades.',
638
-	'texte_creation_automatique_vignette' => 'Este sitio permite la creación automática de iconos en los siguientes formatos: @gd_formats@. Las imágenes que instales con este formulario tendrán iconos de @taille_preview@ píxeles.',
639
-	'texte_documents_associes' => 'Los documentos siguientes están asociados al artículo, pero no han sido insertados directamente. Según el formato del sitio público, pueden aparecer como documentos adjuntos.',
640
-	'texte_erreur_mise_niveau_base' => 'Error de la base de datos en el curso la la actualización.
626
+    // T
627
+    'taille_go' => '@taille@ GB',
628
+    'taille_go_bi' => '@taille@ Gio',
629
+    'taille_ko' => '@taille@ KB',
630
+    'taille_ko_bi' => '@taille@ kio',
631
+    'taille_mo' => '@taille@ MB',
632
+    'taille_mo_bi' => '@taille@ Mio',
633
+    'taille_octets' => '@taille@ bytes',
634
+    'taille_octets_bi' => '@taille@ bytes',
635
+    'texte_actualite_site_1' => 'Una vez que te hayas familiarizado con la interfaz, pincha en «',
636
+    'texte_actualite_site_2' => 'interfaz completa',
637
+    'texte_actualite_site_3' => '» que tiene aún más posibilidades.',
638
+    'texte_creation_automatique_vignette' => 'Este sitio permite la creación automática de iconos en los siguientes formatos: @gd_formats@. Las imágenes que instales con este formulario tendrán iconos de @taille_preview@ píxeles.',
639
+    'texte_documents_associes' => 'Los documentos siguientes están asociados al artículo, pero no han sido insertados directamente. Según el formato del sitio público, pueden aparecer como documentos adjuntos.',
640
+    'texte_erreur_mise_niveau_base' => 'Error de la base de datos en el curso la la actualización.
641 641
 La imagen <b>@fichier@</b> no ha pasado (artículo @id_article@).
642 642
 Tome nota de esta referencia, reintente la actualización y verifique que las imágenes aparecen en los artículos.',
643
-	'texte_erreur_visiteur' => 'Has intentado entrar al espacio privado con un identificador que no lo permite.',
644
-	'texte_inc_auth_1' => 'Estás identificado con el
643
+    'texte_erreur_visiteur' => 'Has intentado entrar al espacio privado con un identificador que no lo permite.',
644
+    'texte_inc_auth_1' => 'Estás identificado con el
645 645
  login  <b>@auth_login@</b>, pero éste (ya) no existe en la base.
646 646
 Intenta',
647
-	'texte_inc_auth_2' => 'reconectarte',
648
-	'texte_inc_auth_3' => ', eventualmente después de cerrar y reiniciar tu navegador.',
649
-	'texte_inc_config' => 'Las modificaciones efectuadas en estas páginas influyen notablemente en el funcionamiento de tu sitio. Te recomendamos no intervenir mientras no estés familiarizad@ con el funcionamiento del sistema SPIP. <br /><br /><b>Más ámpliamente, se recomienda vivamente dejar la gestión de estas páginas al o a la webmestre principal del sitio.</b>',
650
-	'texte_inc_meta_1' => 'El sistema encontró un error de escritura del archivo <code>@fichier@</code>. Como administrador(a) del sitio, procede',
651
-	'texte_inc_meta_2' => 'a verificar los derechos de escritura',
652
-	'texte_inc_meta_3' => 'del directorio <code>@repertoire@</code>.',
653
-	'texte_statut_en_cours_redaction' => 'En curso de redacción',
654
-	'texte_statut_poubelle' => 'A la papelera',
655
-	'texte_statut_propose_evaluation' => 'propuesto a la evaluación',
656
-	'texte_statut_publie' => 'Publicado',
657
-	'texte_statut_refuse' => 'Rechazado',
658
-	'titre_ajouter_mot_cle' => 'Añadir una palabra clave',
659
-	'titre_cadre_raccourcis' => 'Atajos...',
660
-	'titre_changer_couleur_interface' => 'Cambiar el color de la interfaz',
661
-	'titre_image_admin_article' => 'Puedes administrar este artículo',
662
-	'titre_image_administrateur' => 'Administrador/a',
663
-	'titre_image_aide' => 'Ayuda sobre este elemento',
664
-	'titre_image_auteur_supprime' => 'Autor suprimido',
665
-	'titre_image_redacteur' => 'Redactor o redactora sin acceso',
666
-	'titre_image_redacteur_02' => 'Redactor o redactora',
667
-	'titre_image_selecteur' => 'Mostrar la lista',
668
-	'titre_image_visiteur' => 'Visitante',
669
-	'titre_joindre_document' => 'Añadir un documento',
670
-	'titre_mots_cles' => 'Palabras clave',
671
-	'titre_probleme_technique' => 'Atención: una problema técnico (servidor SQL) impide el acceso a esta parte del sitio. Se agradece su comprensión.',
672
-	'titre_publier_document' => 'PUBLICAR UN DOCUMENTO EN ESTA SECCION',
673
-	'titre_signatures_attente' => 'Firmas esperando validación',
674
-	'titre_signatures_confirmees' => 'Firmas confirmadas',
675
-	'titre_statistiques' => 'Estadísticas del sitio',
676
-	'titre_titre_document' => 'Título del documento',
677
-	'todo' => 'a continuación',
678
-	'trad_definir_reference' => 'Elegir "@titre@" como referencia de las traducciones',
679
-	'trad_reference' => '(referencia de las traducciones)',
647
+    'texte_inc_auth_2' => 'reconectarte',
648
+    'texte_inc_auth_3' => ', eventualmente después de cerrar y reiniciar tu navegador.',
649
+    'texte_inc_config' => 'Las modificaciones efectuadas en estas páginas influyen notablemente en el funcionamiento de tu sitio. Te recomendamos no intervenir mientras no estés familiarizad@ con el funcionamiento del sistema SPIP. <br /><br /><b>Más ámpliamente, se recomienda vivamente dejar la gestión de estas páginas al o a la webmestre principal del sitio.</b>',
650
+    'texte_inc_meta_1' => 'El sistema encontró un error de escritura del archivo <code>@fichier@</code>. Como administrador(a) del sitio, procede',
651
+    'texte_inc_meta_2' => 'a verificar los derechos de escritura',
652
+    'texte_inc_meta_3' => 'del directorio <code>@repertoire@</code>.',
653
+    'texte_statut_en_cours_redaction' => 'En curso de redacción',
654
+    'texte_statut_poubelle' => 'A la papelera',
655
+    'texte_statut_propose_evaluation' => 'propuesto a la evaluación',
656
+    'texte_statut_publie' => 'Publicado',
657
+    'texte_statut_refuse' => 'Rechazado',
658
+    'titre_ajouter_mot_cle' => 'Añadir una palabra clave',
659
+    'titre_cadre_raccourcis' => 'Atajos...',
660
+    'titre_changer_couleur_interface' => 'Cambiar el color de la interfaz',
661
+    'titre_image_admin_article' => 'Puedes administrar este artículo',
662
+    'titre_image_administrateur' => 'Administrador/a',
663
+    'titre_image_aide' => 'Ayuda sobre este elemento',
664
+    'titre_image_auteur_supprime' => 'Autor suprimido',
665
+    'titre_image_redacteur' => 'Redactor o redactora sin acceso',
666
+    'titre_image_redacteur_02' => 'Redactor o redactora',
667
+    'titre_image_selecteur' => 'Mostrar la lista',
668
+    'titre_image_visiteur' => 'Visitante',
669
+    'titre_joindre_document' => 'Añadir un documento',
670
+    'titre_mots_cles' => 'Palabras clave',
671
+    'titre_probleme_technique' => 'Atención: una problema técnico (servidor SQL) impide el acceso a esta parte del sitio. Se agradece su comprensión.',
672
+    'titre_publier_document' => 'PUBLICAR UN DOCUMENTO EN ESTA SECCION',
673
+    'titre_signatures_attente' => 'Firmas esperando validación',
674
+    'titre_signatures_confirmees' => 'Firmas confirmadas',
675
+    'titre_statistiques' => 'Estadísticas del sitio',
676
+    'titre_titre_document' => 'Título del documento',
677
+    'todo' => 'a continuación',
678
+    'trad_definir_reference' => 'Elegir "@titre@" como referencia de las traducciones',
679
+    'trad_reference' => '(referencia de las traducciones)',
680 680
 
681
-	// U
682
-	'upload_limit' => 'Este archivo es demasiado grande para el servidor; el tamaño máximo permitido en <i>upload</i> es de @max@.',
681
+    // U
682
+    'upload_limit' => 'Este archivo es demasiado grande para el servidor; el tamaño máximo permitido en <i>upload</i> es de @max@.',
683 683
 
684
-	// Z
685
-	'zbug_balise_b_aval' => ': baliza de bucle B más adelante',
686
-	'zbug_balise_inexistante' => 'Baliza @balise@  mal declarada para @from@',
687
-	'zbug_balise_sans_argument' => 'Falta un argumento en la baliza @balise@',
688
-	'zbug_boucle' => 'bucle',
689
-	'zbug_boucle_recursive_undef' => 'Bucle recursivo no defindo : @nom@',
690
-	'zbug_calcul' => 'cálculo',
691
-	'zbug_champ_hors_boucle' => 'Campo @champ@ fuera de bucle',
692
-	'zbug_champ_hors_critere' => 'El campo @champ@ no cumple con @critere@',
693
-	'zbug_champ_hors_motif' => 'El campo @champ@ está fuera de contexto @motif@',
694
-	'zbug_code' => 'código',
695
-	'zbug_critere_inconnu' => 'Criterio @critere@ desconocido ',
696
-	'zbug_critere_sur_table_sans_cle_primaire' => '{@critere@} en una tabla sin clave primaria simple',
697
-	'zbug_distant_interdit' => 'Acceso externo prohibido',
698
-	'zbug_doublon_table_sans_cle_primaire' => 'Doublons en una tabla sin clave primaria simple',
699
-	'zbug_doublon_table_sans_index' => 'Doublons en una tabla sin índice',
700
-	'zbug_erreur_boucle_double' => 'Doble definición del bucle @id@',
701
-	'zbug_erreur_boucle_fermant' => 'Bucle @id@ sin baliza de cierre',
702
-	'zbug_erreur_boucle_syntaxe' => 'Sintaxis del bucle @id@ incorrecta',
703
-	'zbug_erreur_compilation' => 'Error de compilación',
704
-	'zbug_erreur_execution_page' => 'Error de ejecución',
705
-	'zbug_erreur_filtre' => 'Error: filtro @filtre@ no definido',
706
-	'zbug_erreur_filtre_nbarg_min' => 'Filtro @filtre@: falta(n) @nb@ argumento(s)',
707
-	'zbug_erreur_meme_parent' => 'El criterio {meme_parent} sólo se aplica a los  bucles (FORUMS) o (RUBRIQUES)',
708
-	'zbug_erreur_squelette' => 'Error(es) en el esqueleto',
709
-	'zbug_hors_compilation' => 'Sin compilación',
710
-	'zbug_info_erreur_squelette' => 'Error en el sitio',
711
-	'zbug_inversion_ordre_inexistant' => 'Inversión de un orden inexistente',
712
-	'zbug_pagination_sans_critere' => 'Baliza #PAGINATION sin criterio {pagination} o empleado en un bucle recursivo',
713
-	'zbug_parametres_inclus_incorrects' => 'Parámetro de inclusión incorrecto: @param@',
714
-	'zbug_profile' => 'Duración del cálculo: @time@',
715
-	'zbug_resultat' => 'resultado',
716
-	'zbug_serveur_indefini' => 'Servidor SQL indefinido',
717
-	'zbug_statistiques' => 'Estadística de las consultas SQL ordenadas por duración',
718
-	'zbug_table_inconnue' => 'Tabla SQL «@table@» desconocida',
719
-	'zxml_connus_attributs' => 'atributos conocidos',
720
-	'zxml_de' => 'de',
721
-	'zxml_inconnu_attribut' => 'atributos desconocidos',
722
-	'zxml_inconnu_balise' => 'baliza desconocida',
723
-	'zxml_inconnu_entite' => 'entidad desconocida',
724
-	'zxml_inconnu_id' => 'ID desconocido',
725
-	'zxml_mais_de' => 'pero de',
726
-	'zxml_non_conforme' => 'no es conforme por el motivo',
727
-	'zxml_non_fils' => 'no es hijo de ',
728
-	'zxml_nonvide_balise' => 'baliza no vacía',
729
-	'zxml_obligatoire_attribut' => 'atributo obligatorio pero ausente en',
730
-	'zxml_succession_fils_incorrecte' => 'succesión de hijos incorrecta',
731
-	'zxml_survoler' => 'pasar por aquí para ver los correctos',
732
-	'zxml_valeur_attribut' => 'valor del atributo',
733
-	'zxml_vide_balise' => 'baliza vacía',
734
-	'zxml_vu' => 'visto antes'
684
+    // Z
685
+    'zbug_balise_b_aval' => ': baliza de bucle B más adelante',
686
+    'zbug_balise_inexistante' => 'Baliza @balise@  mal declarada para @from@',
687
+    'zbug_balise_sans_argument' => 'Falta un argumento en la baliza @balise@',
688
+    'zbug_boucle' => 'bucle',
689
+    'zbug_boucle_recursive_undef' => 'Bucle recursivo no defindo : @nom@',
690
+    'zbug_calcul' => 'cálculo',
691
+    'zbug_champ_hors_boucle' => 'Campo @champ@ fuera de bucle',
692
+    'zbug_champ_hors_critere' => 'El campo @champ@ no cumple con @critere@',
693
+    'zbug_champ_hors_motif' => 'El campo @champ@ está fuera de contexto @motif@',
694
+    'zbug_code' => 'código',
695
+    'zbug_critere_inconnu' => 'Criterio @critere@ desconocido ',
696
+    'zbug_critere_sur_table_sans_cle_primaire' => '{@critere@} en una tabla sin clave primaria simple',
697
+    'zbug_distant_interdit' => 'Acceso externo prohibido',
698
+    'zbug_doublon_table_sans_cle_primaire' => 'Doublons en una tabla sin clave primaria simple',
699
+    'zbug_doublon_table_sans_index' => 'Doublons en una tabla sin índice',
700
+    'zbug_erreur_boucle_double' => 'Doble definición del bucle @id@',
701
+    'zbug_erreur_boucle_fermant' => 'Bucle @id@ sin baliza de cierre',
702
+    'zbug_erreur_boucle_syntaxe' => 'Sintaxis del bucle @id@ incorrecta',
703
+    'zbug_erreur_compilation' => 'Error de compilación',
704
+    'zbug_erreur_execution_page' => 'Error de ejecución',
705
+    'zbug_erreur_filtre' => 'Error: filtro @filtre@ no definido',
706
+    'zbug_erreur_filtre_nbarg_min' => 'Filtro @filtre@: falta(n) @nb@ argumento(s)',
707
+    'zbug_erreur_meme_parent' => 'El criterio {meme_parent} sólo se aplica a los  bucles (FORUMS) o (RUBRIQUES)',
708
+    'zbug_erreur_squelette' => 'Error(es) en el esqueleto',
709
+    'zbug_hors_compilation' => 'Sin compilación',
710
+    'zbug_info_erreur_squelette' => 'Error en el sitio',
711
+    'zbug_inversion_ordre_inexistant' => 'Inversión de un orden inexistente',
712
+    'zbug_pagination_sans_critere' => 'Baliza #PAGINATION sin criterio {pagination} o empleado en un bucle recursivo',
713
+    'zbug_parametres_inclus_incorrects' => 'Parámetro de inclusión incorrecto: @param@',
714
+    'zbug_profile' => 'Duración del cálculo: @time@',
715
+    'zbug_resultat' => 'resultado',
716
+    'zbug_serveur_indefini' => 'Servidor SQL indefinido',
717
+    'zbug_statistiques' => 'Estadística de las consultas SQL ordenadas por duración',
718
+    'zbug_table_inconnue' => 'Tabla SQL «@table@» desconocida',
719
+    'zxml_connus_attributs' => 'atributos conocidos',
720
+    'zxml_de' => 'de',
721
+    'zxml_inconnu_attribut' => 'atributos desconocidos',
722
+    'zxml_inconnu_balise' => 'baliza desconocida',
723
+    'zxml_inconnu_entite' => 'entidad desconocida',
724
+    'zxml_inconnu_id' => 'ID desconocido',
725
+    'zxml_mais_de' => 'pero de',
726
+    'zxml_non_conforme' => 'no es conforme por el motivo',
727
+    'zxml_non_fils' => 'no es hijo de ',
728
+    'zxml_nonvide_balise' => 'baliza no vacía',
729
+    'zxml_obligatoire_attribut' => 'atributo obligatorio pero ausente en',
730
+    'zxml_succession_fils_incorrecte' => 'succesión de hijos incorrecta',
731
+    'zxml_survoler' => 'pasar por aquí para ver los correctos',
732
+    'zxml_valeur_attribut' => 'valor del atributo',
733
+    'zxml_vide_balise' => 'baliza vacía',
734
+    'zxml_vu' => 'visto antes'
735 735
 );
Please login to merge, or discard this patch.
ecrire/lang/spip_de.php 1 patch
Indentation   +673 added lines, -673 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,139 +591,139 @@  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_go_bi' => '@taille@ GiB',
624
-	'taille_ko' => '@taille@ kB',
625
-	'taille_ko_bi' => '@taille@ kiB',
626
-	'taille_mo' => '@taille@ MB',
627
-	'taille_mo_bi' => '@taille@ MiB',
628
-	'taille_octets' => '@taille@ Byte',
629
-	'taille_octets_bi' => '@taille@ Byte',
630
-	'texte_actualite_site_1' => 'Wenn Sie sich mit der Oberfläche des Redaktionssystems vertraut gemacht haben, können Sie „',
631
-	'texte_actualite_site_2' => 'den Expertenmodus aktivieren,',
632
-	'texte_actualite_site_3' => 'um zusätzliche Funktionen zu nutzen.',
633
-	'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.',
634
-	'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).',
635
-	'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_go_bi' => '@taille@ GiB',
624
+    'taille_ko' => '@taille@ kB',
625
+    'taille_ko_bi' => '@taille@ kiB',
626
+    'taille_mo' => '@taille@ MB',
627
+    'taille_mo_bi' => '@taille@ MiB',
628
+    'taille_octets' => '@taille@ Byte',
629
+    'taille_octets_bi' => '@taille@ Byte',
630
+    'texte_actualite_site_1' => 'Wenn Sie sich mit der Oberfläche des Redaktionssystems vertraut gemacht haben, können Sie „',
631
+    'texte_actualite_site_2' => 'den Expertenmodus aktivieren,',
632
+    'texte_actualite_site_3' => 'um zusätzliche Funktionen zu nutzen.',
633
+    '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.',
634
+    '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).',
635
+    'texte_erreur_mise_niveau_base' => 'Datenbankfehler beim Einrichten der neuen Version. Das Bild <b>@fichier@</b> wurde nicht übernommen (Artikel @id_article@).
636 636
  Bitte notieren Sie diesen Hinweis, starten Sie die Aktualisierung erneut und prüfen Sie, ob die Bilder
637 637
  in den Artikeln angezeigt werden.',
638
-	'texte_erreur_visiteur' => 'Sie haben versucht, sich mit einer Identität einzuloggen, die dazu nicht berechtigt.',
639
-	'texte_inc_auth_1' => 'Sie sind angemeldet als <b>@auth_login@</b>, aber diese ID existiert nicht bzw. nicht mehr in der Datenbank.
638
+    'texte_erreur_visiteur' => 'Sie haben versucht, sich mit einer Identität einzuloggen, die dazu nicht berechtigt.',
639
+    'texte_inc_auth_1' => 'Sie sind angemeldet als <b>@auth_login@</b>, aber diese ID existiert nicht bzw. nicht mehr in der Datenbank.
640 640
  Versuchen Sie,',
641
-	'texte_inc_auth_2' => 'sich erneut anzumelden',
642
-	'texte_inc_auth_3' => ', nachdem Sie u.U. Ihren Webbrowser neu gestartet haben.',
643
-	'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>',
644
-	'texte_inc_meta_1' => 'Das System konnte die Datei <code>@fichier@</code> nicht speichern. Bitte prüfen Sie als Administrator ',
645
-	'texte_inc_meta_2' => 'die Berechtigungen',
646
-	'texte_inc_meta_3' => 'für das Verzeichnis <code>@repertoire@</code>.',
647
-	'texte_statut_en_cours_redaction' => 'in Bearbeitung',
648
-	'texte_statut_poubelle' => 'im Mülleimer',
649
-	'texte_statut_propose_evaluation' => 'vorgeschlagen',
650
-	'texte_statut_publie' => 'veröffentlicht',
651
-	'texte_statut_refuse' => 'abgelehnt',
652
-	'titre_ajouter_mot_cle' => 'SCHLAGWORT ZUORDNEN:',
653
-	'titre_cadre_raccourcis' => 'SCHNELLZUGANG:',
654
-	'titre_changer_couleur_interface' => 'Farbe der Oberfläche ändern',
655
-	'titre_image_admin_article' => 'Sie können diesen Artikel verwalten',
656
-	'titre_image_administrateur' => 'Administrator',
657
-	'titre_image_aide' => 'Hilfe zu diesem Element',
658
-	'titre_image_auteur_supprime' => 'gelöschter Autor',
659
-	'titre_image_redacteur' => 'Redakteur ohne Systemzugang',
660
-	'titre_image_redacteur_02' => 'Redakteur',
661
-	'titre_image_selecteur' => 'Liste anzeigen',
662
-	'titre_image_visiteur' => 'Besucher',
663
-	'titre_joindre_document' => 'DOKUMENT ANFÜGEN',
664
-	'titre_mots_cles' => 'SCHLAGWORTE',
665
-	'titre_probleme_technique' => 'Achtung! Ein Problem mit dem SQL Server verhindert den Zugang zu diesem Teil der Website. Danke für Ihr Verständnis.',
666
-	'titre_publier_document' => 'DOKUMENT IN DIESER RUBRIK VERÖFFENTLICHEN',
667
-	'titre_signatures_attente' => 'Nicht bestätigte Unterschriften',
668
-	'titre_signatures_confirmees' => 'Bestätigte Unterschriften',
669
-	'titre_statistiques' => 'Statistiken',
670
-	'titre_titre_document' => 'Titel des Dokuments:',
671
-	'todo' => 'demnächst',
672
-	'trad_definir_reference' => 'Wählen Sie "@titre@" als Referenz für Übersetzungen',
673
-	'trad_reference' => '(Referenzartikel)',
641
+    'texte_inc_auth_2' => 'sich erneut anzumelden',
642
+    'texte_inc_auth_3' => ', nachdem Sie u.U. Ihren Webbrowser neu gestartet haben.',
643
+    '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>',
644
+    'texte_inc_meta_1' => 'Das System konnte die Datei <code>@fichier@</code> nicht speichern. Bitte prüfen Sie als Administrator ',
645
+    'texte_inc_meta_2' => 'die Berechtigungen',
646
+    'texte_inc_meta_3' => 'für das Verzeichnis <code>@repertoire@</code>.',
647
+    'texte_statut_en_cours_redaction' => 'in Bearbeitung',
648
+    'texte_statut_poubelle' => 'im Mülleimer',
649
+    'texte_statut_propose_evaluation' => 'vorgeschlagen',
650
+    'texte_statut_publie' => 'veröffentlicht',
651
+    'texte_statut_refuse' => 'abgelehnt',
652
+    'titre_ajouter_mot_cle' => 'SCHLAGWORT ZUORDNEN:',
653
+    'titre_cadre_raccourcis' => 'SCHNELLZUGANG:',
654
+    'titre_changer_couleur_interface' => 'Farbe der Oberfläche ändern',
655
+    'titre_image_admin_article' => 'Sie können diesen Artikel verwalten',
656
+    'titre_image_administrateur' => 'Administrator',
657
+    'titre_image_aide' => 'Hilfe zu diesem Element',
658
+    'titre_image_auteur_supprime' => 'gelöschter Autor',
659
+    'titre_image_redacteur' => 'Redakteur ohne Systemzugang',
660
+    'titre_image_redacteur_02' => 'Redakteur',
661
+    'titre_image_selecteur' => 'Liste anzeigen',
662
+    'titre_image_visiteur' => 'Besucher',
663
+    'titre_joindre_document' => 'DOKUMENT ANFÜGEN',
664
+    'titre_mots_cles' => 'SCHLAGWORTE',
665
+    'titre_probleme_technique' => 'Achtung! Ein Problem mit dem SQL Server verhindert den Zugang zu diesem Teil der Website. Danke für Ihr Verständnis.',
666
+    'titre_publier_document' => 'DOKUMENT IN DIESER RUBRIK VERÖFFENTLICHEN',
667
+    'titre_signatures_attente' => 'Nicht bestätigte Unterschriften',
668
+    'titre_signatures_confirmees' => 'Bestätigte Unterschriften',
669
+    'titre_statistiques' => 'Statistiken',
670
+    'titre_titre_document' => 'Titel des Dokuments:',
671
+    'todo' => 'demnächst',
672
+    'trad_definir_reference' => 'Wählen Sie "@titre@" als Referenz für Übersetzungen',
673
+    'trad_reference' => '(Referenzartikel)',
674 674
 
675
-	// U
676
-	'upload_limit' => 'Die Datei ist zu groß für den Server; die maximal erlaubte Dateigröße für den <i>Upload</i> ist @max@.',
675
+    // U
676
+    'upload_limit' => 'Die Datei ist zu groß für den Server; die maximal erlaubte Dateigröße für den <i>Upload</i> ist @max@.',
677 677
 
678
-	// Z
679
-	'zbug_balise_b_aval' => ' : Tag B muss vor der Schleife stehen',
680
-	'zbug_balise_inexistante' => 'Fehler: Der Tag @balise@ wurde nicht richtig für  @from@ deklariert.',
681
-	'zbug_balise_sans_argument' => 'Dem Tag @balise@ fehlt ein Parameter',
682
-	'zbug_boucle' => 'Schleife',
683
-	'zbug_boucle_recursive_undef' => 'Die rekursive Schleife @nom@ ist nicht definiert',
684
-	'zbug_calcul' => 'berechnen',
685
-	'zbug_champ_hors_boucle' => 'Feld @champ@ ausserhalb einer Schleife',
686
-	'zbug_champ_hors_critere' => 'Feld @champ@ ohne Kriterium @critere@',
687
-	'zbug_champ_hors_motif' => 'Feld @champ@ befindet sich ausserhalb eines Kontexts @motif@',
688
-	'zbug_code' => 'Code',
689
-	'zbug_critere_inconnu' => 'Unbekanntes Kriterium @critere@',
690
-	'zbug_critere_sur_table_sans_cle_primaire' => '{@critere@} für eine Tabelle ohne eindeutigen Schlüssel',
691
-	'zbug_distant_interdit' => 'Extern unzulässig',
692
-	'zbug_doublon_table_sans_cle_primaire' => 'Dublette in einer Tabelle ohne eindeutigen Primärschlüssel',
693
-	'zbug_doublon_table_sans_index' => 'Dublette in Tabelle ohne Index',
694
-	'zbug_erreur_boucle_double' => 'Schleife (BOUCLE) @id@ doppelt vorhanden',
695
-	'zbug_erreur_boucle_fermant' => 'Schleife (BOUCLE) @id@: Schluss-Tag fehlt',
696
-	'zbug_erreur_boucle_syntaxe' => 'Syntax der Schleife @id@ fehlerhaft',
697
-	'zbug_erreur_compilation' => 'Fehler beim Kompilieren',
698
-	'zbug_erreur_execution_page' => 'Fehler beim Ausführen',
699
-	'zbug_erreur_filtre' => 'Der Filter @filtre@ ist nicht definiert.',
700
-	'zbug_erreur_filtre_nbarg_min' => 'Filter @filtre@: es fehlen @nb@ Argument(e)',
701
-	'zbug_erreur_meme_parent' => 'Das Kriterium {meme_parent} funktioniert nur mit den Schleifen (FORUMS) und (RUBRIQUES).',
702
-	'zbug_erreur_squelette' => 'Fehler in Layoutvorlage (Skelett)',
703
-	'zbug_hors_compilation' => 'Außerhalb der Kompilation',
704
-	'zbug_info_erreur_squelette' => 'Irrtum auf der Seite',
705
-	'zbug_inversion_ordre_inexistant' => 'Umkehrung einer inexistenten Sortierung ',
706
-	'zbug_pagination_sans_critere' => '#PAGINATION ohne Kriterium {pagination} oder in rekursiver Schleife',
707
-	'zbug_parametres_inclus_incorrects' => 'INCLUDE-Parameter fehlerhaft: @param@',
708
-	'zbug_profile' => 'Rechenzeit: @time@',
709
-	'zbug_resultat' => 'Ergebnis',
710
-	'zbug_serveur_indefini' => 'SQL-Server nicht definiert',
711
-	'zbug_statistiques' => 'Statistik der SQL Abfragen nach Dauer',
712
-	'zbug_table_inconnue' => 'SQL-Tabelle « @table@ » unbekannt',
713
-	'zxml_connus_attributs' => 'bekannte Attribute',
714
-	'zxml_de' => 'von',
715
-	'zxml_inconnu_attribut' => 'Attribut unbekannt',
716
-	'zxml_inconnu_balise' => 'Tag unbekannt',
717
-	'zxml_inconnu_entite' => 'Entity unbekannt',
718
-	'zxml_inconnu_id' => 'ID unbekannt',
719
-	'zxml_mais_de' => 'aber',
720
-	'zxml_non_conforme' => 'entspricht nicht dem Motiv',
721
-	'zxml_non_fils' => 'ist kein Kind von',
722
-	'zxml_nonvide_balise' => 'kein leerer Tag',
723
-	'zxml_obligatoire_attribut' => 'obligatorisches Attribut fehlt in',
724
-	'zxml_succession_fils_incorrecte' => 'Objektreihenfolge inkorrekt',
725
-	'zxml_survoler' => 'Mouseover zeigt korrekte',
726
-	'zxml_valeur_attribut' => 'Attributwert',
727
-	'zxml_vide_balise' => 'leerer Tag',
728
-	'zxml_vu' => 'bereits gesehen'
678
+    // Z
679
+    'zbug_balise_b_aval' => ' : Tag B muss vor der Schleife stehen',
680
+    'zbug_balise_inexistante' => 'Fehler: Der Tag @balise@ wurde nicht richtig für  @from@ deklariert.',
681
+    'zbug_balise_sans_argument' => 'Dem Tag @balise@ fehlt ein Parameter',
682
+    'zbug_boucle' => 'Schleife',
683
+    'zbug_boucle_recursive_undef' => 'Die rekursive Schleife @nom@ ist nicht definiert',
684
+    'zbug_calcul' => 'berechnen',
685
+    'zbug_champ_hors_boucle' => 'Feld @champ@ ausserhalb einer Schleife',
686
+    'zbug_champ_hors_critere' => 'Feld @champ@ ohne Kriterium @critere@',
687
+    'zbug_champ_hors_motif' => 'Feld @champ@ befindet sich ausserhalb eines Kontexts @motif@',
688
+    'zbug_code' => 'Code',
689
+    'zbug_critere_inconnu' => 'Unbekanntes Kriterium @critere@',
690
+    'zbug_critere_sur_table_sans_cle_primaire' => '{@critere@} für eine Tabelle ohne eindeutigen Schlüssel',
691
+    'zbug_distant_interdit' => 'Extern unzulässig',
692
+    'zbug_doublon_table_sans_cle_primaire' => 'Dublette in einer Tabelle ohne eindeutigen Primärschlüssel',
693
+    'zbug_doublon_table_sans_index' => 'Dublette in Tabelle ohne Index',
694
+    'zbug_erreur_boucle_double' => 'Schleife (BOUCLE) @id@ doppelt vorhanden',
695
+    'zbug_erreur_boucle_fermant' => 'Schleife (BOUCLE) @id@: Schluss-Tag fehlt',
696
+    'zbug_erreur_boucle_syntaxe' => 'Syntax der Schleife @id@ fehlerhaft',
697
+    'zbug_erreur_compilation' => 'Fehler beim Kompilieren',
698
+    'zbug_erreur_execution_page' => 'Fehler beim Ausführen',
699
+    'zbug_erreur_filtre' => 'Der Filter @filtre@ ist nicht definiert.',
700
+    'zbug_erreur_filtre_nbarg_min' => 'Filter @filtre@: es fehlen @nb@ Argument(e)',
701
+    'zbug_erreur_meme_parent' => 'Das Kriterium {meme_parent} funktioniert nur mit den Schleifen (FORUMS) und (RUBRIQUES).',
702
+    'zbug_erreur_squelette' => 'Fehler in Layoutvorlage (Skelett)',
703
+    'zbug_hors_compilation' => 'Außerhalb der Kompilation',
704
+    'zbug_info_erreur_squelette' => 'Irrtum auf der Seite',
705
+    'zbug_inversion_ordre_inexistant' => 'Umkehrung einer inexistenten Sortierung ',
706
+    'zbug_pagination_sans_critere' => '#PAGINATION ohne Kriterium {pagination} oder in rekursiver Schleife',
707
+    'zbug_parametres_inclus_incorrects' => 'INCLUDE-Parameter fehlerhaft: @param@',
708
+    'zbug_profile' => 'Rechenzeit: @time@',
709
+    'zbug_resultat' => 'Ergebnis',
710
+    'zbug_serveur_indefini' => 'SQL-Server nicht definiert',
711
+    'zbug_statistiques' => 'Statistik der SQL Abfragen nach Dauer',
712
+    'zbug_table_inconnue' => 'SQL-Tabelle « @table@ » unbekannt',
713
+    'zxml_connus_attributs' => 'bekannte Attribute',
714
+    'zxml_de' => 'von',
715
+    'zxml_inconnu_attribut' => 'Attribut unbekannt',
716
+    'zxml_inconnu_balise' => 'Tag unbekannt',
717
+    'zxml_inconnu_entite' => 'Entity unbekannt',
718
+    'zxml_inconnu_id' => 'ID unbekannt',
719
+    'zxml_mais_de' => 'aber',
720
+    'zxml_non_conforme' => 'entspricht nicht dem Motiv',
721
+    'zxml_non_fils' => 'ist kein Kind von',
722
+    'zxml_nonvide_balise' => 'kein leerer Tag',
723
+    'zxml_obligatoire_attribut' => 'obligatorisches Attribut fehlt in',
724
+    'zxml_succession_fils_incorrecte' => 'Objektreihenfolge inkorrekt',
725
+    'zxml_survoler' => 'Mouseover zeigt korrekte',
726
+    'zxml_valeur_attribut' => 'Attributwert',
727
+    'zxml_vide_balise' => 'leerer Tag',
728
+    'zxml_vu' => 'bereits gesehen'
729 729
 );
Please login to merge, or discard this patch.
ecrire/inc/pipelines_ecrire.php 1 patch
Indentation   +229 added lines, -229 removed lines patch added patch discarded remove patch
@@ -15,7 +15,7 @@  discard block
 block discarded – undo
15 15
  * @package SPIP\Core\Pipelines
16 16
  **/
17 17
 if (!defined('_ECRIRE_INC_VERSION')) {
18
-	return;
18
+    return;
19 19
 }
20 20
 
21 21
 
@@ -34,40 +34,40 @@  discard block
 block discarded – undo
34 34
  * @return string          Contenu complété des scripts javascripts, dont jQuery
35 35
  **/
36 36
 function f_jQuery_prive($texte) {
37
-	$x = '';
38
-	$jquery_plugins = pipeline(
39
-		'jquery_plugins',
40
-		[
41
-			'prive/javascript/jquery.js',
42
-			'prive/javascript/jquery.form.js',
43
-			'prive/javascript/jquery.autosave.js',
44
-			'prive/javascript/jquery.placeholder-label.js',
45
-			'prive/javascript/ajaxCallback.js',
46
-			'prive/javascript/js.cookie.js',
47
-			'prive/javascript/spip_barre.js',
48
-		]
49
-	);
50
-	foreach (array_unique($jquery_plugins) as $script) {
51
-		$script = supprimer_timestamp($script);
52
-		if (
53
-			(str_starts_with($script, _DIR_VAR) and file_exists($script))
54
-			or $script = find_in_path($script)
55
-		) {
56
-			$script = timestamp($script);
57
-			$x .= "\n<script src=\"$script\" type=\"text/javascript\"></script>\n";
58
-		}
59
-	}
60
-	// inserer avant le premier script externe ou a la fin
61
-	if (
62
-		preg_match(',<script[^><]*src=,', $texte, $match)
63
-		and $p = strpos($texte, (string) $match[0])
64
-	) {
65
-		$texte = substr_replace($texte, $x, $p, 0);
66
-	} else {
67
-		$texte .= $x;
68
-	}
37
+    $x = '';
38
+    $jquery_plugins = pipeline(
39
+        'jquery_plugins',
40
+        [
41
+            'prive/javascript/jquery.js',
42
+            'prive/javascript/jquery.form.js',
43
+            'prive/javascript/jquery.autosave.js',
44
+            'prive/javascript/jquery.placeholder-label.js',
45
+            'prive/javascript/ajaxCallback.js',
46
+            'prive/javascript/js.cookie.js',
47
+            'prive/javascript/spip_barre.js',
48
+        ]
49
+    );
50
+    foreach (array_unique($jquery_plugins) as $script) {
51
+        $script = supprimer_timestamp($script);
52
+        if (
53
+            (str_starts_with($script, _DIR_VAR) and file_exists($script))
54
+            or $script = find_in_path($script)
55
+        ) {
56
+            $script = timestamp($script);
57
+            $x .= "\n<script src=\"$script\" type=\"text/javascript\"></script>\n";
58
+        }
59
+    }
60
+    // inserer avant le premier script externe ou a la fin
61
+    if (
62
+        preg_match(',<script[^><]*src=,', $texte, $match)
63
+        and $p = strpos($texte, (string) $match[0])
64
+    ) {
65
+        $texte = substr_replace($texte, $x, $p, 0);
66
+    } else {
67
+        $texte .= $x;
68
+    }
69 69
 
70
-	return $texte;
70
+    return $texte;
71 71
 }
72 72
 
73 73
 
@@ -80,42 +80,42 @@  discard block
 block discarded – undo
80 80
  * @return string
81 81
  */
82 82
 function affichage_final_prive_title_auto($texte) {
83
-	if (
84
-		strpos($texte, '<title>') === false
85
-		and
86
-		(preg_match(',<h1[^>]*>(.+)</h1>,Uims', $texte, $match)
87
-			or preg_match(',<h[23][^>]*>(.+)</h[23]>,Uims', $texte, $match))
88
-		and $match = textebrut(trim($match[1]))
89
-		and ($p = strpos($texte, '<head>')) !== false
90
-	) {
91
-		if (!$nom_site_spip = textebrut(typo($GLOBALS['meta']['nom_site']))) {
92
-			$nom_site_spip = _T('info_mon_site_spip');
93
-		}
83
+    if (
84
+        strpos($texte, '<title>') === false
85
+        and
86
+        (preg_match(',<h1[^>]*>(.+)</h1>,Uims', $texte, $match)
87
+            or preg_match(',<h[23][^>]*>(.+)</h[23]>,Uims', $texte, $match))
88
+        and $match = textebrut(trim($match[1]))
89
+        and ($p = strpos($texte, '<head>')) !== false
90
+    ) {
91
+        if (!$nom_site_spip = textebrut(typo($GLOBALS['meta']['nom_site']))) {
92
+            $nom_site_spip = _T('info_mon_site_spip');
93
+        }
94 94
 
95
-		$titre = '<title>['
96
-			. $nom_site_spip
97
-			. '] ' . $match
98
-			. '</title>';
95
+        $titre = '<title>['
96
+            . $nom_site_spip
97
+            . '] ' . $match
98
+            . '</title>';
99 99
 
100
-		$texte = substr_replace($texte, $titre, $p + 6, 0);
101
-	}
100
+        $texte = substr_replace($texte, $titre, $p + 6, 0);
101
+    }
102 102
 
103
-	return $texte;
103
+    return $texte;
104 104
 }
105 105
 
106 106
 
107 107
 // Fonction standard pour le pipeline 'boite_infos'
108 108
 function f_boite_infos($flux) {
109
-	$args = $flux['args'];
110
-	$type = $args['type'];
111
-	unset($args['row']);
112
-	if (!trouver_fond($type, 'prive/objets/infos/')) {
113
-		$type = 'objet';
114
-	}
115
-	$args['espace_prive'] = 1;
116
-	$flux['data'] .= recuperer_fond("prive/objets/infos/$type", $args);
109
+    $args = $flux['args'];
110
+    $type = $args['type'];
111
+    unset($args['row']);
112
+    if (!trouver_fond($type, 'prive/objets/infos/')) {
113
+        $type = 'objet';
114
+    }
115
+    $args['espace_prive'] = 1;
116
+    $flux['data'] .= recuperer_fond("prive/objets/infos/$type", $args);
117 117
 
118
-	return $flux;
118
+    return $flux;
119 119
 }
120 120
 
121 121
 
@@ -134,97 +134,97 @@  discard block
 block discarded – undo
134 134
  * @return array Données du pipeline
135 135
  */
136 136
 function f_afficher_blocs_ecrire($flux) {
137
-	static $o = [];
138
-	if (is_string($fond = $flux['args']['fond'])) {
139
-		$exec = $flux['args']['contexte']['exec'] ?? _request('exec');
140
-		if (!isset($o[$exec])) {
141
-			$o[$exec] = trouver_objet_exec($exec);
142
-		}
143
-		// cas particulier
144
-		if ($exec == 'infos_perso') {
145
-			$flux['args']['contexte']['id_auteur'] = $GLOBALS['visiteur_session']['id_auteur'];
146
-		}
147
-		$typepage = ($flux['args']['contexte']['type-page'] ?? $exec);
148
-		if ($fond == "prive/squelettes/navigation/$typepage") {
149
-			$flux['data']['texte'] = pipeline(
150
-				'affiche_gauche',
151
-				['args' => $flux['args']['contexte'], 'data' => $flux['data']['texte']]
152
-			);
153
-		} elseif ($fond == "prive/squelettes/extra/$typepage") {
154
-			include_spip('inc/presentation_mini');
155
-			$flux['data']['texte'] = pipeline(
156
-				'affiche_droite',
157
-				['args' => $flux['args']['contexte'], 'data' => $flux['data']['texte']]
158
-			) . liste_objets_bloques(
159
-				$exec,
160
-				$flux['args']['contexte']
161
-			);
162
-		} elseif ($fond == "prive/squelettes/hierarchie/$typepage" and $o[$exec]) {
163
-			// id non defini sur les formulaire de nouveaux objets
164
-			$id = isset($flux['args']['contexte'][$o[$exec]['id_table_objet']]) ? intval($flux['args']['contexte'][$o[$exec]['id_table_objet']]) : 0;
165
-			$flux['data']['texte'] = pipeline(
166
-				'affiche_hierarchie',
167
-				['args' => ['objet' => $o[$exec]['type'], 'id_objet' => $id], 'data' => $flux['data']['texte']]
168
-			);
169
-		} elseif ($fond == "prive/squelettes/contenu/$typepage") {
170
-			// Préparation du marqueur affiche_milieu
171
-			// Si c'est la page d'un objet pas en édition, on l'encapsule dans un div
172
-			$est_page_objet = !empty($o[$exec]['type']);
173
-			$est_en_edition = (isset($o[$exec]['edition']) and $o[$exec]['edition'] === true);
174
-			$encapsuler_milieu = ($est_page_objet and !$est_en_edition);
175
-			$flux['data']['texte'] = afficher_blocs_ecrire_preparer_marqueur(
176
-				$flux['data']['texte'],
177
-				'<!--affiche_milieu-->',
178
-				'<div id=["\']wysiwyg',
179
-				$encapsuler_milieu ? '<div class="affiche_milieu">' : '',
180
-				$encapsuler_milieu ? '</div>' : ''
181
-			);
182
-			if (
183
-				$o[$exec]
184
-				and $objet = $o[$exec]['type']
185
-				and $o[$exec]['edition'] == false
186
-				and isset($flux['args']['contexte'][$o[$exec]['id_table_objet']])
187
-				and $id = intval($flux['args']['contexte'][$o[$exec]['id_table_objet']])
188
-			) {
189
-				// inserer le formulaire de traduction
190
-				$flux['data']['texte'] = str_replace('<!--affiche_milieu-->', recuperer_fond(
191
-					'prive/objets/editer/traductions',
192
-					['objet' => $objet, 'id_objet' => $id, 'espace_prive' => 1]
193
-				) . '<!--affiche_milieu-->', $flux['data']['texte']);
194
-				$flux['data']['texte'] = pipeline('afficher_fiche_objet', [
195
-					'args' => [
196
-						'contexte' => $flux['args']['contexte'],
197
-						'type' => $objet,
198
-						'id' => $id
199
-					],
200
-					'data' => $flux['data']['texte']
201
-				]);
202
-			}
203
-			$flux['data']['texte'] = pipeline(
204
-				'affiche_milieu',
205
-				['args' => $flux['args']['contexte'], 'data' => $flux['data']['texte']]
206
-			);
207
-		} elseif ($fond == 'prive/squelettes/inclure/pied') {
208
-			$flux['data']['texte'] = pipeline(
209
-				'affiche_pied',
210
-				['args' => $flux['args']['contexte'], 'data' => $flux['data']['texte']]
211
-			);
212
-		} elseif (
213
-			strncmp($fond, 'prive/objets/contenu/', 21) == 0
214
-			and $objet = basename($fond)
215
-			and $objet == substr($fond, 21)
216
-			and isset($o[$objet])
217
-			and $o[$objet]
218
-		) {
219
-			$id = intval($flux['args']['contexte'][$o[$exec]['id_table_objet']]);
220
-			$flux['data']['texte'] = pipeline('afficher_contenu_objet', [
221
-				'args' => ['type' => $objet, 'id_objet' => $id, 'contexte' => $flux['args']['contexte']],
222
-				'data' => $flux['data']['texte']
223
-			]);
224
-		}
225
-	}
137
+    static $o = [];
138
+    if (is_string($fond = $flux['args']['fond'])) {
139
+        $exec = $flux['args']['contexte']['exec'] ?? _request('exec');
140
+        if (!isset($o[$exec])) {
141
+            $o[$exec] = trouver_objet_exec($exec);
142
+        }
143
+        // cas particulier
144
+        if ($exec == 'infos_perso') {
145
+            $flux['args']['contexte']['id_auteur'] = $GLOBALS['visiteur_session']['id_auteur'];
146
+        }
147
+        $typepage = ($flux['args']['contexte']['type-page'] ?? $exec);
148
+        if ($fond == "prive/squelettes/navigation/$typepage") {
149
+            $flux['data']['texte'] = pipeline(
150
+                'affiche_gauche',
151
+                ['args' => $flux['args']['contexte'], 'data' => $flux['data']['texte']]
152
+            );
153
+        } elseif ($fond == "prive/squelettes/extra/$typepage") {
154
+            include_spip('inc/presentation_mini');
155
+            $flux['data']['texte'] = pipeline(
156
+                'affiche_droite',
157
+                ['args' => $flux['args']['contexte'], 'data' => $flux['data']['texte']]
158
+            ) . liste_objets_bloques(
159
+                $exec,
160
+                $flux['args']['contexte']
161
+            );
162
+        } elseif ($fond == "prive/squelettes/hierarchie/$typepage" and $o[$exec]) {
163
+            // id non defini sur les formulaire de nouveaux objets
164
+            $id = isset($flux['args']['contexte'][$o[$exec]['id_table_objet']]) ? intval($flux['args']['contexte'][$o[$exec]['id_table_objet']]) : 0;
165
+            $flux['data']['texte'] = pipeline(
166
+                'affiche_hierarchie',
167
+                ['args' => ['objet' => $o[$exec]['type'], 'id_objet' => $id], 'data' => $flux['data']['texte']]
168
+            );
169
+        } elseif ($fond == "prive/squelettes/contenu/$typepage") {
170
+            // Préparation du marqueur affiche_milieu
171
+            // Si c'est la page d'un objet pas en édition, on l'encapsule dans un div
172
+            $est_page_objet = !empty($o[$exec]['type']);
173
+            $est_en_edition = (isset($o[$exec]['edition']) and $o[$exec]['edition'] === true);
174
+            $encapsuler_milieu = ($est_page_objet and !$est_en_edition);
175
+            $flux['data']['texte'] = afficher_blocs_ecrire_preparer_marqueur(
176
+                $flux['data']['texte'],
177
+                '<!--affiche_milieu-->',
178
+                '<div id=["\']wysiwyg',
179
+                $encapsuler_milieu ? '<div class="affiche_milieu">' : '',
180
+                $encapsuler_milieu ? '</div>' : ''
181
+            );
182
+            if (
183
+                $o[$exec]
184
+                and $objet = $o[$exec]['type']
185
+                and $o[$exec]['edition'] == false
186
+                and isset($flux['args']['contexte'][$o[$exec]['id_table_objet']])
187
+                and $id = intval($flux['args']['contexte'][$o[$exec]['id_table_objet']])
188
+            ) {
189
+                // inserer le formulaire de traduction
190
+                $flux['data']['texte'] = str_replace('<!--affiche_milieu-->', recuperer_fond(
191
+                    'prive/objets/editer/traductions',
192
+                    ['objet' => $objet, 'id_objet' => $id, 'espace_prive' => 1]
193
+                ) . '<!--affiche_milieu-->', $flux['data']['texte']);
194
+                $flux['data']['texte'] = pipeline('afficher_fiche_objet', [
195
+                    'args' => [
196
+                        'contexte' => $flux['args']['contexte'],
197
+                        'type' => $objet,
198
+                        'id' => $id
199
+                    ],
200
+                    'data' => $flux['data']['texte']
201
+                ]);
202
+            }
203
+            $flux['data']['texte'] = pipeline(
204
+                'affiche_milieu',
205
+                ['args' => $flux['args']['contexte'], 'data' => $flux['data']['texte']]
206
+            );
207
+        } elseif ($fond == 'prive/squelettes/inclure/pied') {
208
+            $flux['data']['texte'] = pipeline(
209
+                'affiche_pied',
210
+                ['args' => $flux['args']['contexte'], 'data' => $flux['data']['texte']]
211
+            );
212
+        } elseif (
213
+            strncmp($fond, 'prive/objets/contenu/', 21) == 0
214
+            and $objet = basename($fond)
215
+            and $objet == substr($fond, 21)
216
+            and isset($o[$objet])
217
+            and $o[$objet]
218
+        ) {
219
+            $id = intval($flux['args']['contexte'][$o[$exec]['id_table_objet']]);
220
+            $flux['data']['texte'] = pipeline('afficher_contenu_objet', [
221
+                'args' => ['type' => $objet, 'id_objet' => $id, 'contexte' => $flux['args']['contexte']],
222
+                'data' => $flux['data']['texte']
223
+            ]);
224
+        }
225
+    }
226 226
 
227
-	return $flux;
227
+    return $flux;
228 228
 }
229 229
 
230 230
 /**
@@ -252,36 +252,36 @@  discard block
 block discarded – undo
252 252
  */
253 253
 function afficher_blocs_ecrire_preparer_marqueur(?string $texte, string $marqueur, string $inserer_avant, string $ouvrir = '', string $fermer = ''): ?string {
254 254
 
255
-	if ($texte) {
256
-		$encapsuler = (($ouvrir and $fermer) ? true : false);
257
-		$marqueur_pos = strpos($texte, $marqueur);
258
-		$full_marqueur = "$ouvrir$marqueur$fermer";
255
+    if ($texte) {
256
+        $encapsuler = (($ouvrir and $fermer) ? true : false);
257
+        $marqueur_pos = strpos($texte, $marqueur);
258
+        $full_marqueur = "$ouvrir$marqueur$fermer";
259 259
 
260
-		// Le marqueur est absent : on l'ajoute avant l'élément indiqué
261
-		if ($marqueur_pos  === false) {
262
-			$texte = preg_replace(
263
-				",$inserer_avant,",
264
-				"$full_marqueur\\0",
265
-				$texte
266
-			);
267
-		// Le marqueur est présent mais pas encapsulé : on ajoute les balises ouvrantes et fermantes.
268
-		// Pour vérifier, on prend le texte précédent et on regarde si ça correspond à la balise ouvrante.
269
-		// Il ne faut donc aucun espace blanc en trop.
270
-		} elseif (
271
-			$marqueur_pos !== false
272
-			and $encapsuler
273
-			and substr($texte, $marqueur_pos - strlen($ouvrir), strlen($ouvrir)) !== $ouvrir
274
-		) {
275
-			$texte = substr_replace(
276
-				$texte,
277
-				$full_marqueur,
278
-				$marqueur_pos,
279
-				strlen($marqueur)
280
-			);
281
-		}
282
-	}
260
+        // Le marqueur est absent : on l'ajoute avant l'élément indiqué
261
+        if ($marqueur_pos  === false) {
262
+            $texte = preg_replace(
263
+                ",$inserer_avant,",
264
+                "$full_marqueur\\0",
265
+                $texte
266
+            );
267
+        // Le marqueur est présent mais pas encapsulé : on ajoute les balises ouvrantes et fermantes.
268
+        // Pour vérifier, on prend le texte précédent et on regarde si ça correspond à la balise ouvrante.
269
+        // Il ne faut donc aucun espace blanc en trop.
270
+        } elseif (
271
+            $marqueur_pos !== false
272
+            and $encapsuler
273
+            and substr($texte, $marqueur_pos - strlen($ouvrir), strlen($ouvrir)) !== $ouvrir
274
+        ) {
275
+            $texte = substr_replace(
276
+                $texte,
277
+                $full_marqueur,
278
+                $marqueur_pos,
279
+                strlen($marqueur)
280
+            );
281
+        }
282
+    }
283 283
 
284
-	return $texte;
284
+    return $texte;
285 285
 }
286 286
 
287 287
 /**
@@ -292,23 +292,23 @@  discard block
 block discarded – undo
292 292
  * @return string
293 293
  */
294 294
 function f_queue_affiche_milieu($flux) {
295
-	$args = $flux['args'];
296
-	$res = '';
297
-	foreach ($args as $key => $arg) {
298
-		if (preg_match(',^id_,', $key) and is_numeric($arg) and $arg = intval($arg)) {
299
-			$objet = preg_replace(',^id_,', '', $key);
300
-			$res .= recuperer_fond(
301
-				'modeles/object_jobs_list',
302
-				['id_objet' => $arg, 'objet' => $objet, 'espace_prive' => 1],
303
-				['ajax' => true]
304
-			);
305
-		}
306
-	}
307
-	if ($res) {
308
-		$flux['data'] = $res . $flux['data'];
309
-	}
295
+    $args = $flux['args'];
296
+    $res = '';
297
+    foreach ($args as $key => $arg) {
298
+        if (preg_match(',^id_,', $key) and is_numeric($arg) and $arg = intval($arg)) {
299
+            $objet = preg_replace(',^id_,', '', $key);
300
+            $res .= recuperer_fond(
301
+                'modeles/object_jobs_list',
302
+                ['id_objet' => $arg, 'objet' => $objet, 'espace_prive' => 1],
303
+                ['ajax' => true]
304
+            );
305
+        }
306
+    }
307
+    if ($res) {
308
+        $flux['data'] = $res . $flux['data'];
309
+    }
310 310
 
311
-	return $flux;
311
+    return $flux;
312 312
 }
313 313
 
314 314
 /**
@@ -322,39 +322,39 @@  discard block
 block discarded – undo
322 322
  * @return array|bool
323 323
  */
324 324
 function trouver_objet_exec(?string $exec) {
325
-	static $objet_exec = [];
326
-	if (!$exec) {
327
-		return false;
328
-	}
329
-	// cas particulier
330
-	if ($exec === 'infos_perso') {
331
-		$exec = 'auteur';
332
-		set_request('id_auteur', $GLOBALS['visiteur_session']['id_auteur']);
333
-	}
334
-	if (!isset($objet_exec[$exec])) {
335
-		$objet_exec[$exec] = false;
336
-		$infos = lister_tables_objets_sql();
337
-		foreach ($infos as $t => $info) {
338
-			if ($exec === $info['url_edit'] and $info['editable']) {
339
-				return $objet_exec[$exec] = [
340
-					'edition' => $exec == $info['url_voir'] ? '' : true,
341
-					'table_objet_sql' => $t,
342
-					'table' => $info['table_objet'],
343
-					'type' => $info['type'],
344
-					'id_table_objet' => id_table_objet($info['type'])
345
-				];
346
-			}
347
-			if ($exec === $info['url_voir']) {
348
-				return $objet_exec[$exec] = [
349
-					'edition' => false,
350
-					'table_objet_sql' => $t,
351
-					'table' => $info['table_objet'],
352
-					'type' => $info['type'],
353
-					'id_table_objet' => id_table_objet($info['type'])
354
-				];
355
-			}
356
-		}
357
-	}
325
+    static $objet_exec = [];
326
+    if (!$exec) {
327
+        return false;
328
+    }
329
+    // cas particulier
330
+    if ($exec === 'infos_perso') {
331
+        $exec = 'auteur';
332
+        set_request('id_auteur', $GLOBALS['visiteur_session']['id_auteur']);
333
+    }
334
+    if (!isset($objet_exec[$exec])) {
335
+        $objet_exec[$exec] = false;
336
+        $infos = lister_tables_objets_sql();
337
+        foreach ($infos as $t => $info) {
338
+            if ($exec === $info['url_edit'] and $info['editable']) {
339
+                return $objet_exec[$exec] = [
340
+                    'edition' => $exec == $info['url_voir'] ? '' : true,
341
+                    'table_objet_sql' => $t,
342
+                    'table' => $info['table_objet'],
343
+                    'type' => $info['type'],
344
+                    'id_table_objet' => id_table_objet($info['type'])
345
+                ];
346
+            }
347
+            if ($exec === $info['url_voir']) {
348
+                return $objet_exec[$exec] = [
349
+                    'edition' => false,
350
+                    'table_objet_sql' => $t,
351
+                    'table' => $info['table_objet'],
352
+                    'type' => $info['type'],
353
+                    'id_table_objet' => id_table_objet($info['type'])
354
+                ];
355
+            }
356
+        }
357
+    }
358 358
 
359
-	return $objet_exec[$exec];
359
+    return $objet_exec[$exec];
360 360
 }
Please login to merge, or discard this patch.
ecrire/lang/public_ja.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' => 'ホーム',
14
-	'article' => '記事',
15
-	'articles' => '記事',
16
-	'articles_auteur' => 'この著者の記事',
17
-	'articles_populaires' => '人気のある記事',
18
-	'articles_rubrique' => 'このセクションにある記事',
19
-	'aucun_article' => 'このアドレスに記事はありません',
20
-	'aucun_auteur' => 'このアドレスに著者はいません',
21
-	'aucun_site' => 'このアドレスにサイトはありません',
22
-	'aucune_breve' => 'このアドレスにニュースはありません',
23
-	'aucune_rubrique' => 'このアドレスにセクションはありません',
24
-	'auteur' => '著者',
25
-	'autres' => 'その他',
26
-	'autres_breves' => '他のニュース',
27
-	'autres_groupes_mots_clefs' => 'キーワードの他のグループ',
28
-	'autres_sites' => '他のサイト',
29
-
30
-	// B
31
-	'bonjour' => 'こんにちは',
32
-
33
-	// C
34
-	'commenter_site' => 'このサイトについてコメントして下さい',
35
-	'contact' => '連絡先',
36
-	'copie_document_impossible' => 'ファイルのコーピは不可能です',
37
-
38
-	// D
39
-	'date' => '日付',
40
-	'dernier_ajout' => '最新の追加',
41
-	'dernieres_breves' => '最新のニュース',
42
-	'derniers_articles' => '最新の記事',
43
-	'derniers_commentaires' => '最新のコメント',
44
-	'derniers_messages_forum' => 'フォーラムで投稿された最新のメッセージ',
45
-
46
-	// E
47
-	'edition_mode_texte' => 'テキストモード編集',
48
-	'en_reponse' => '返事として:',
49
-	'en_resume' => 'まとめとして',
50
-	'envoyer_message' => 'メッセージを送る',
51
-	'espace_prive' => '管理エリア',
52
-
53
-	// F
54
-	'formats_acceptes' => '受け入れるファイルのフォーマット: @formats@です。',
55
-
56
-	// H
57
-	'hierarchie_site' => 'サイトの階層',
58
-
59
-	// J
60
-	'jours' => '日付',
61
-
62
-	// L
63
-	'lien_connecter' => 'ログイン',
64
-
65
-	// M
66
-	'meme_auteur' => '同じ著者',
67
-	'meme_rubrique' => '同じセクションの中で',
68
-	'memes_auteurs' => '同じ著者',
69
-	'message' => 'フォーラムのメッセージ',
70
-	'messages_forum' => 'フォーラムのメッセージ',
71
-	'messages_recents' => '最新のフォーラムのメッセージ',
72
-	'mots_clef' => 'キーワード',
73
-	'mots_clefs' => 'キーワード',
74
-	'mots_clefs_meme_groupe' => '同じグループのキーワード',
75
-
76
-	// N
77
-	'navigation' => 'ナビゲーション',
78
-	'nom' => 'お名前',
79
-	'nouveautes' => '最新刊',
80
-	'nouveautes_web' => 'ウェブに関する最新刊',
81
-	'nouveaux_articles' => '新しい記事',
82
-	'nouvelles_breves' => '新しいニュース',
83
-
84
-	// P
85
-	'page_precedente' => '前のページ',
86
-	'page_suivante' => '次のページ',
87
-	'par_auteur' => '著者:',
88
-	'participer_site' => 'サインアップすると、サイトにご自分の記事を書くことが出来ます。申し込みしてから、管理エリアへのアクセスコードがメールで届きます。',
89
-	'plan_site' => 'サイトマップ',
90
-	'popularite' => '人気',
91
-	'poster_message' => 'メッセージを投稿する',
92
-	'proposer_site' => '追加するサイトを提案できるセクション:',
93
-
94
-	// R
95
-	'repondre_article' => 'この記事に返信する',
96
-	'repondre_breve' => 'このニュースに返信する',
97
-	'resultats_recherche' => '検索結果',
98
-	'retour_debut_forums' => 'フォーラムの最初のページに戻る',
99
-	'rss_abonnement' => '以下のURLをアグリゲーターにコピーしてください。',
100
-	'rss_abonnement_titre' => '購読してください。',
101
-	'rss_abonnement_titre_page' => '購読してください。',
102
-	'rss_explication' => 'RSSフィードは、サイトの更新情報を収集するものです。投稿やコメントの内容やその抜粋、全文へのリンクなどの情報を提供します。このフィードは、RSSアグリゲーターで読み込むことを想定しています。',
103
-	'rss_explication_titre' => 'RSSフィードとは?',
104
-	'rubrique' => 'セクション',
105
-	'rubriques' => 'セクション',
106
-
107
-	// S
108
-	'signatures_petition' => '署名',
109
-	'site_realise_avec_spip' => 'SPIPで創造されたサイトです',
110
-	'sites_web' => 'ウェブサイト',
111
-	'sous_rubriques' => 'サブセクション',
112
-	'spam' => '迷惑メール',
113
-	'suite' => '次へ',
114
-	'sur_web' => 'ウェブ上',
115
-	'syndiquer_rubrique' => 'このセクションを供給する',
116
-	'syndiquer_site' => '全サイトを供給する',
117
-
118
-	// T
119
-	'texte_lettre_information' => 'サイトのニュースレター',
120
-	'texte_lettre_information_2' => '最新刊をまとめるニュースレター',
121
-
122
-	// V
123
-	'ver_imprimer' => '印刷用のバージョン',
124
-	'voir_en_ligne' => 'オンラインで見る',
125
-	'voir_squelette' => 'ページのテンプレートを見る'
12
+    // A
13
+    'accueil_site' => 'ホーム',
14
+    'article' => '記事',
15
+    'articles' => '記事',
16
+    'articles_auteur' => 'この著者の記事',
17
+    'articles_populaires' => '人気のある記事',
18
+    'articles_rubrique' => 'このセクションにある記事',
19
+    'aucun_article' => 'このアドレスに記事はありません',
20
+    'aucun_auteur' => 'このアドレスに著者はいません',
21
+    'aucun_site' => 'このアドレスにサイトはありません',
22
+    'aucune_breve' => 'このアドレスにニュースはありません',
23
+    'aucune_rubrique' => 'このアドレスにセクションはありません',
24
+    'auteur' => '著者',
25
+    'autres' => 'その他',
26
+    'autres_breves' => '他のニュース',
27
+    'autres_groupes_mots_clefs' => 'キーワードの他のグループ',
28
+    'autres_sites' => '他のサイト',
29
+
30
+    // B
31
+    'bonjour' => 'こんにちは',
32
+
33
+    // C
34
+    'commenter_site' => 'このサイトについてコメントして下さい',
35
+    'contact' => '連絡先',
36
+    'copie_document_impossible' => 'ファイルのコーピは不可能です',
37
+
38
+    // D
39
+    'date' => '日付',
40
+    'dernier_ajout' => '最新の追加',
41
+    'dernieres_breves' => '最新のニュース',
42
+    'derniers_articles' => '最新の記事',
43
+    'derniers_commentaires' => '最新のコメント',
44
+    'derniers_messages_forum' => 'フォーラムで投稿された最新のメッセージ',
45
+
46
+    // E
47
+    'edition_mode_texte' => 'テキストモード編集',
48
+    'en_reponse' => '返事として:',
49
+    'en_resume' => 'まとめとして',
50
+    'envoyer_message' => 'メッセージを送る',
51
+    'espace_prive' => '管理エリア',
52
+
53
+    // F
54
+    'formats_acceptes' => '受け入れるファイルのフォーマット: @formats@です。',
55
+
56
+    // H
57
+    'hierarchie_site' => 'サイトの階層',
58
+
59
+    // J
60
+    'jours' => '日付',
61
+
62
+    // L
63
+    'lien_connecter' => 'ログイン',
64
+
65
+    // M
66
+    'meme_auteur' => '同じ著者',
67
+    'meme_rubrique' => '同じセクションの中で',
68
+    'memes_auteurs' => '同じ著者',
69
+    'message' => 'フォーラムのメッセージ',
70
+    'messages_forum' => 'フォーラムのメッセージ',
71
+    'messages_recents' => '最新のフォーラムのメッセージ',
72
+    'mots_clef' => 'キーワード',
73
+    'mots_clefs' => 'キーワード',
74
+    'mots_clefs_meme_groupe' => '同じグループのキーワード',
75
+
76
+    // N
77
+    'navigation' => 'ナビゲーション',
78
+    'nom' => 'お名前',
79
+    'nouveautes' => '最新刊',
80
+    'nouveautes_web' => 'ウェブに関する最新刊',
81
+    'nouveaux_articles' => '新しい記事',
82
+    'nouvelles_breves' => '新しいニュース',
83
+
84
+    // P
85
+    'page_precedente' => '前のページ',
86
+    'page_suivante' => '次のページ',
87
+    'par_auteur' => '著者:',
88
+    'participer_site' => 'サインアップすると、サイトにご自分の記事を書くことが出来ます。申し込みしてから、管理エリアへのアクセスコードがメールで届きます。',
89
+    'plan_site' => 'サイトマップ',
90
+    'popularite' => '人気',
91
+    'poster_message' => 'メッセージを投稿する',
92
+    'proposer_site' => '追加するサイトを提案できるセクション:',
93
+
94
+    // R
95
+    'repondre_article' => 'この記事に返信する',
96
+    'repondre_breve' => 'このニュースに返信する',
97
+    'resultats_recherche' => '検索結果',
98
+    'retour_debut_forums' => 'フォーラムの最初のページに戻る',
99
+    'rss_abonnement' => '以下のURLをアグリゲーターにコピーしてください。',
100
+    'rss_abonnement_titre' => '購読してください。',
101
+    'rss_abonnement_titre_page' => '購読してください。',
102
+    'rss_explication' => 'RSSフィードは、サイトの更新情報を収集するものです。投稿やコメントの内容やその抜粋、全文へのリンクなどの情報を提供します。このフィードは、RSSアグリゲーターで読み込むことを想定しています。',
103
+    'rss_explication_titre' => 'RSSフィードとは?',
104
+    'rubrique' => 'セクション',
105
+    'rubriques' => 'セクション',
106
+
107
+    // S
108
+    'signatures_petition' => '署名',
109
+    'site_realise_avec_spip' => 'SPIPで創造されたサイトです',
110
+    'sites_web' => 'ウェブサイト',
111
+    'sous_rubriques' => 'サブセクション',
112
+    'spam' => '迷惑メール',
113
+    'suite' => '次へ',
114
+    'sur_web' => 'ウェブ上',
115
+    'syndiquer_rubrique' => 'このセクションを供給する',
116
+    'syndiquer_site' => '全サイトを供給する',
117
+
118
+    // T
119
+    'texte_lettre_information' => 'サイトのニュースレター',
120
+    'texte_lettre_information_2' => '最新刊をまとめるニュースレター',
121
+
122
+    // V
123
+    'ver_imprimer' => '印刷用のバージョン',
124
+    'voir_en_ligne' => 'オンラインで見る',
125
+    'voir_squelette' => 'ページのテンプレートを見る'
126 126
 );
Please login to merge, or discard this patch.
ecrire/public/balises.php 1 patch
Indentation   +943 added lines, -943 removed lines patch added patch discarded remove patch
@@ -27,7 +27,7 @@  discard block
 block discarded – undo
27 27
  **/
28 28
 
29 29
 if (!defined('_ECRIRE_INC_VERSION')) {
30
-	return;
30
+    return;
31 31
 }
32 32
 
33 33
 /**
@@ -49,16 +49,16 @@  discard block
 block discarded – undo
49 49
  *     Code PHP si cet argument est présent, sinon null
50 50
  **/
51 51
 function interprete_argument_balise(int $n, Champ $p): ?string {
52
-	if (($p->param) && (!$p->param[0][0]) && ((is_countable($p->param[0]) ? count($p->param[0]) : 0) > $n)) {
53
-		return calculer_liste(
54
-			$p->param[0][$n],
55
-			$p->descr,
56
-			$p->boucles,
57
-			$p->id_boucle
58
-		);
59
-	} else {
60
-		return null;
61
-	}
52
+    if (($p->param) && (!$p->param[0][0]) && ((is_countable($p->param[0]) ? count($p->param[0]) : 0) > $n)) {
53
+        return calculer_liste(
54
+            $p->param[0][$n],
55
+            $p->descr,
56
+            $p->boucles,
57
+            $p->id_boucle
58
+        );
59
+    } else {
60
+        return null;
61
+    }
62 62
 }
63 63
 
64 64
 
@@ -78,10 +78,10 @@  discard block
 block discarded – undo
78 78
  *     Pile complétée par le code à générer
79 79
  **/
80 80
 function balise_NOM_SITE_SPIP_dist($p) {
81
-	$p->code = "\$GLOBALS['meta']['nom_site']";
81
+    $p->code = "\$GLOBALS['meta']['nom_site']";
82 82
 
83
-	#$p->interdire_scripts = true;
84
-	return $p;
83
+    #$p->interdire_scripts = true;
84
+    return $p;
85 85
 }
86 86
 
87 87
 /**
@@ -97,10 +97,10 @@  discard block
 block discarded – undo
97 97
  *     Pile complétée par le code à générer
98 98
  **/
99 99
 function balise_EMAIL_WEBMASTER_dist($p) {
100
-	$p->code = "\$GLOBALS['meta']['email_webmaster']";
100
+    $p->code = "\$GLOBALS['meta']['email_webmaster']";
101 101
 
102
-	#$p->interdire_scripts = true;
103
-	return $p;
102
+    #$p->interdire_scripts = true;
103
+    return $p;
104 104
 }
105 105
 
106 106
 /**
@@ -116,10 +116,10 @@  discard block
 block discarded – undo
116 116
  *     Pile complétée par le code à générer
117 117
  **/
118 118
 function balise_DESCRIPTIF_SITE_SPIP_dist($p) {
119
-	$p->code = "\$GLOBALS['meta']['descriptif_site']";
119
+    $p->code = "\$GLOBALS['meta']['descriptif_site']";
120 120
 
121
-	#$p->interdire_scripts = true;
122
-	return $p;
121
+    #$p->interdire_scripts = true;
122
+    return $p;
123 123
 }
124 124
 
125 125
 
@@ -140,10 +140,10 @@  discard block
 block discarded – undo
140 140
  *     Pile complétée par le code à générer
141 141
  **/
142 142
 function balise_CHARSET_dist($p) {
143
-	$p->code = "\$GLOBALS['meta']['charset']";
143
+    $p->code = "\$GLOBALS['meta']['charset']";
144 144
 
145
-	#$p->interdire_scripts = true;
146
-	return $p;
145
+    #$p->interdire_scripts = true;
146
+    return $p;
147 147
 }
148 148
 
149 149
 /**
@@ -168,11 +168,11 @@  discard block
 block discarded – undo
168 168
  *     Pile complétée par le code à générer
169 169
  **/
170 170
 function balise_LANG_LEFT_dist($p) {
171
-	$_lang = champ_sql('lang', $p);
172
-	$p->code = "lang_dir($_lang, 'left','right')";
173
-	$p->interdire_scripts = false;
171
+    $_lang = champ_sql('lang', $p);
172
+    $p->code = "lang_dir($_lang, 'left','right')";
173
+    $p->interdire_scripts = false;
174 174
 
175
-	return $p;
175
+    return $p;
176 176
 }
177 177
 
178 178
 /**
@@ -192,11 +192,11 @@  discard block
 block discarded – undo
192 192
  *     Pile complétée par le code à générer
193 193
  **/
194 194
 function balise_LANG_RIGHT_dist($p) {
195
-	$_lang = champ_sql('lang', $p);
196
-	$p->code = "lang_dir($_lang, 'right','left')";
197
-	$p->interdire_scripts = false;
195
+    $_lang = champ_sql('lang', $p);
196
+    $p->code = "lang_dir($_lang, 'right','left')";
197
+    $p->interdire_scripts = false;
198 198
 
199
-	return $p;
199
+    return $p;
200 200
 }
201 201
 
202 202
 /**
@@ -221,11 +221,11 @@  discard block
 block discarded – undo
221 221
  *     Pile complétée par le code à générer
222 222
  **/
223 223
 function balise_LANG_DIR_dist($p) {
224
-	$_lang = champ_sql('lang', $p);
225
-	$p->code = "lang_dir($_lang, 'ltr','rtl')";
226
-	$p->interdire_scripts = false;
224
+    $_lang = champ_sql('lang', $p);
225
+    $p->code = "lang_dir($_lang, 'ltr','rtl')";
226
+    $p->interdire_scripts = false;
227 227
 
228
-	return $p;
228
+    return $p;
229 229
 }
230 230
 
231 231
 
@@ -242,10 +242,10 @@  discard block
 block discarded – undo
242 242
  *     Pile complétée par le code à générer
243 243
  **/
244 244
 function balise_PUCE_dist($p) {
245
-	$p->code = 'definir_puce()';
246
-	$p->interdire_scripts = false;
245
+    $p->code = 'definir_puce()';
246
+    $p->interdire_scripts = false;
247 247
 
248
-	return $p;
248
+    return $p;
249 249
 }
250 250
 
251 251
 
@@ -269,9 +269,9 @@  discard block
 block discarded – undo
269 269
  *     Pile completée du code PHP d'exécution de la balise
270 270
  */
271 271
 function balise_DATE_dist($p) {
272
-	$p->code = champ_sql('date', $p);
272
+    $p->code = champ_sql('date', $p);
273 273
 
274
-	return $p;
274
+    return $p;
275 275
 }
276 276
 
277 277
 
@@ -291,10 +291,10 @@  discard block
 block discarded – undo
291 291
  *     Pile completée du code PHP d'exécution de la balise
292 292
  */
293 293
 function balise_DATE_REDAC_dist($p) {
294
-	$p->code = champ_sql('date_redac', $p);
295
-	$p->interdire_scripts = false;
294
+    $p->code = champ_sql('date_redac', $p);
295
+    $p->interdire_scripts = false;
296 296
 
297
-	return $p;
297
+    return $p;
298 298
 }
299 299
 
300 300
 /**
@@ -313,10 +313,10 @@  discard block
 block discarded – undo
313 313
  *     Pile completée du code PHP d'exécution de la balise
314 314
  */
315 315
 function balise_DATE_MODIF_dist($p) {
316
-	$p->code = champ_sql('date_modif', $p);
317
-	$p->interdire_scripts = false;
316
+    $p->code = champ_sql('date_modif', $p);
317
+    $p->interdire_scripts = false;
318 318
 
319
-	return $p;
319
+    return $p;
320 320
 }
321 321
 
322 322
 /**
@@ -334,13 +334,13 @@  discard block
 block discarded – undo
334 334
  *     Pile completée du code PHP d'exécution de la balise
335 335
  */
336 336
 function balise_DATE_NOUVEAUTES_dist($p) {
337
-	$p->code = "((\$GLOBALS['meta']['quoi_de_neuf'] == 'oui'
337
+    $p->code = "((\$GLOBALS['meta']['quoi_de_neuf'] == 'oui'
338 338
 	AND isset(\$GLOBALS['meta']['dernier_envoi_neuf'])) ?
339 339
 	\$GLOBALS['meta']['dernier_envoi_neuf'] :
340 340
 	\"'0000-00-00'\")";
341
-	$p->interdire_scripts = false;
341
+    $p->interdire_scripts = false;
342 342
 
343
-	return $p;
343
+    return $p;
344 344
 }
345 345
 
346 346
 
@@ -358,11 +358,11 @@  discard block
 block discarded – undo
358 358
  *     Pile completée du code PHP d'exécution de la balise
359 359
  */
360 360
 function balise_DOSSIER_SQUELETTE_dist($p) {
361
-	$code = substr(addslashes(dirname($p->descr['sourcefile'])), strlen(_DIR_RACINE));
362
-	$p->code = "_DIR_RACINE . '$code'" .
363
-		$p->interdire_scripts = false;
361
+    $code = substr(addslashes(dirname($p->descr['sourcefile'])), strlen(_DIR_RACINE));
362
+    $p->code = "_DIR_RACINE . '$code'" .
363
+        $p->interdire_scripts = false;
364 364
 
365
-	return $p;
365
+    return $p;
366 366
 }
367 367
 
368 368
 /**
@@ -377,11 +377,11 @@  discard block
 block discarded – undo
377 377
  *     Pile completée du code PHP d'exécution de la balise
378 378
  */
379 379
 function balise_SQUELETTE_dist($p) {
380
-	$code = addslashes($p->descr['sourcefile']);
381
-	$p->code = "'$code'" .
382
-		$p->interdire_scripts = false;
380
+    $code = addslashes($p->descr['sourcefile']);
381
+    $p->code = "'$code'" .
382
+        $p->interdire_scripts = false;
383 383
 
384
-	return $p;
384
+    return $p;
385 385
 }
386 386
 
387 387
 /**
@@ -400,10 +400,10 @@  discard block
 block discarded – undo
400 400
  *     Pile completée du code PHP d'exécution de la balise
401 401
  */
402 402
 function balise_SPIP_VERSION_dist($p) {
403
-	$p->code = 'spip_version()';
404
-	$p->interdire_scripts = false;
403
+    $p->code = 'spip_version()';
404
+    $p->interdire_scripts = false;
405 405
 
406
-	return $p;
406
+    return $p;
407 407
 }
408 408
 
409 409
 
@@ -429,18 +429,18 @@  discard block
 block discarded – undo
429 429
  *     Pile complétée par le code à générer
430 430
  **/
431 431
 function balise_NOM_SITE_dist($p) {
432
-	if (!$p->etoile) {
433
-		$p->code = 'supprimer_numero(calculer_url(' .
434
-			champ_sql('url_site', $p) . ',' .
435
-			champ_sql('nom_site', $p) .
436
-			", 'titre', \$connect, false))";
437
-	} else {
438
-		$p->code = champ_sql('nom_site', $p);
439
-	}
432
+    if (!$p->etoile) {
433
+        $p->code = 'supprimer_numero(calculer_url(' .
434
+            champ_sql('url_site', $p) . ',' .
435
+            champ_sql('nom_site', $p) .
436
+            ", 'titre', \$connect, false))";
437
+    } else {
438
+        $p->code = champ_sql('nom_site', $p);
439
+    }
440 440
 
441
-	$p->interdire_scripts = true;
441
+    $p->interdire_scripts = true;
442 442
 
443
-	return $p;
443
+    return $p;
444 444
 }
445 445
 
446 446
 
@@ -457,11 +457,11 @@  discard block
 block discarded – undo
457 457
  *     Pile complétée par le code à générer
458 458
  **/
459 459
 function balise_NOTES_dist($p) {
460
-	// Recuperer les notes
461
-	$p->code = 'calculer_notes()';
460
+    // Recuperer les notes
461
+    $p->code = 'calculer_notes()';
462 462
 
463
-	#$p->interdire_scripts = true;
464
-	return $p;
463
+    #$p->interdire_scripts = true;
464
+    return $p;
465 465
 }
466 466
 
467 467
 
@@ -483,10 +483,10 @@  discard block
 block discarded – undo
483 483
  *     Pile complétée par le code à générer
484 484
  **/
485 485
 function balise_RECHERCHE_dist($p) {
486
-	$p->code = 'entites_html(_request("recherche"))';
487
-	$p->interdire_scripts = false;
486
+    $p->code = 'entites_html(_request("recherche"))';
487
+    $p->interdire_scripts = false;
488 488
 
489
-	return $p;
489
+    return $p;
490 490
 }
491 491
 
492 492
 
@@ -504,18 +504,18 @@  discard block
 block discarded – undo
504 504
  *     Pile complétée par le code à générer
505 505
  **/
506 506
 function balise_COMPTEUR_BOUCLE_dist($p) {
507
-	$b = index_boucle_mere($p);
508
-	if ($b === '') {
509
-		$msg = ['zbug_champ_hors_boucle', ['champ' => zbug_presenter_champ($p)]];
510
-		erreur_squelette($msg, $p);
511
-		return null;
512
-	} else {
513
-		$p->code = "(\$Numrows['$b']['compteur_boucle'] ?? 0)";
514
-		$p->boucles[$b]->cptrows = true;
515
-		$p->interdire_scripts = false;
507
+    $b = index_boucle_mere($p);
508
+    if ($b === '') {
509
+        $msg = ['zbug_champ_hors_boucle', ['champ' => zbug_presenter_champ($p)]];
510
+        erreur_squelette($msg, $p);
511
+        return null;
512
+    } else {
513
+        $p->code = "(\$Numrows['$b']['compteur_boucle'] ?? 0)";
514
+        $p->boucles[$b]->cptrows = true;
515
+        $p->interdire_scripts = false;
516 516
 
517
-		return $p;
518
-	}
517
+        return $p;
518
+    }
519 519
 }
520 520
 
521 521
 /**
@@ -533,17 +533,17 @@  discard block
 block discarded – undo
533 533
  *     Pile complétée par le code à générer
534 534
  **/
535 535
 function balise_TOTAL_BOUCLE_dist($p) {
536
-	$b = index_boucle_mere($p);
537
-	if ($b === '') {
538
-		$msg = ['zbug_champ_hors_boucle', ['champ' => zbug_presenter_champ($p)]];
539
-		erreur_squelette($msg, $p);
540
-	} else {
541
-		$p->code = "(\$Numrows['$b']['total'] ?? 0)";
542
-		$p->boucles[$b]->numrows = true;
543
-		$p->interdire_scripts = false;
544
-	}
536
+    $b = index_boucle_mere($p);
537
+    if ($b === '') {
538
+        $msg = ['zbug_champ_hors_boucle', ['champ' => zbug_presenter_champ($p)]];
539
+        erreur_squelette($msg, $p);
540
+    } else {
541
+        $p->code = "(\$Numrows['$b']['total'] ?? 0)";
542
+        $p->boucles[$b]->numrows = true;
543
+        $p->interdire_scripts = false;
544
+    }
545 545
 
546
-	return $p;
546
+    return $p;
547 547
 }
548 548
 
549 549
 
@@ -563,7 +563,7 @@  discard block
 block discarded – undo
563 563
  *     Pile complétée par le code à générer
564 564
  **/
565 565
 function balise_POINTS_dist($p) {
566
-	return rindex_pile($p, 'points', 'recherche');
566
+    return rindex_pile($p, 'points', 'recherche');
567 567
 }
568 568
 
569 569
 
@@ -584,12 +584,12 @@  discard block
 block discarded – undo
584 584
  *     Pile complétée par le code à générer
585 585
  **/
586 586
 function balise_POPULARITE_ABSOLUE_dist($p) {
587
-	$p->code = 'ceil(' .
588
-		champ_sql('popularite', $p) .
589
-		')';
590
-	$p->interdire_scripts = false;
587
+    $p->code = 'ceil(' .
588
+        champ_sql('popularite', $p) .
589
+        ')';
590
+    $p->interdire_scripts = false;
591 591
 
592
-	return $p;
592
+    return $p;
593 593
 }
594 594
 
595 595
 /**
@@ -609,10 +609,10 @@  discard block
 block discarded – undo
609 609
  *     Pile complétée par le code à générer
610 610
  **/
611 611
 function balise_POPULARITE_SITE_dist($p) {
612
-	$p->code = 'ceil($GLOBALS["meta"][\'popularite_total\'])';
613
-	$p->interdire_scripts = false;
612
+    $p->code = 'ceil($GLOBALS["meta"][\'popularite_total\'])';
613
+    $p->interdire_scripts = false;
614 614
 
615
-	return $p;
615
+    return $p;
616 616
 }
617 617
 
618 618
 /**
@@ -633,10 +633,10 @@  discard block
 block discarded – undo
633 633
  *     Pile complétée par le code à générer
634 634
  **/
635 635
 function balise_POPULARITE_MAX_dist($p) {
636
-	$p->code = 'ceil($GLOBALS["meta"][\'popularite_max\'])';
637
-	$p->interdire_scripts = false;
636
+    $p->code = 'ceil($GLOBALS["meta"][\'popularite_max\'])';
637
+    $p->interdire_scripts = false;
638 638
 
639
-	return $p;
639
+    return $p;
640 640
 }
641 641
 
642 642
 
@@ -662,15 +662,15 @@  discard block
 block discarded – undo
662 662
  *     Pile complétée par le code à générer
663 663
  **/
664 664
 function balise_VALEUR_dist($p) {
665
-	$b = $p->nom_boucle ?: $p->id_boucle;
666
-	$p->code = index_pile($p->id_boucle, 'valeur', $p->boucles, $b);
665
+    $b = $p->nom_boucle ?: $p->id_boucle;
666
+    $p->code = index_pile($p->id_boucle, 'valeur', $p->boucles, $b);
667 667
 ;
668
-	if (($v = interprete_argument_balise(1, $p)) !== null) {
669
-		$p->code = 'table_valeur(' . $p->code . ', ' . $v . ')';
670
-	}
671
-	$p->interdire_scripts = true;
668
+    if (($v = interprete_argument_balise(1, $p)) !== null) {
669
+        $p->code = 'table_valeur(' . $p->code . ', ' . $v . ')';
670
+    }
671
+    $p->interdire_scripts = true;
672 672
 
673
-	return $p;
673
+    return $p;
674 674
 }
675 675
 
676 676
 /**
@@ -699,16 +699,16 @@  discard block
 block discarded – undo
699 699
  *     Pile complétée par le code à générer
700 700
  **/
701 701
 function balise_EXPOSE_dist($p) {
702
-	$on = "'on'";
703
-	$off = "''";
704
-	if (($v = interprete_argument_balise(1, $p)) !== null) {
705
-		$on = $v;
706
-		if (($v = interprete_argument_balise(2, $p)) !== null) {
707
-			$off = $v;
708
-		}
709
-	}
702
+    $on = "'on'";
703
+    $off = "''";
704
+    if (($v = interprete_argument_balise(1, $p)) !== null) {
705
+        $on = $v;
706
+        if (($v = interprete_argument_balise(2, $p)) !== null) {
707
+            $off = $v;
708
+        }
709
+    }
710 710
 
711
-	return calculer_balise_expose($p, $on, $off);
711
+    return calculer_balise_expose($p, $on, $off);
712 712
 }
713 713
 
714 714
 /**
@@ -726,35 +726,35 @@  discard block
 block discarded – undo
726 726
  *     Pile complétée par le code à générer
727 727
  **/
728 728
 function calculer_balise_expose($p, $on, $off) {
729
-	$b = index_boucle($p);
730
-	if (empty($p->boucles[$b]->primary)) {
731
-		$msg = ['zbug_champ_hors_boucle', ['champ' => zbug_presenter_champ($p)]];
732
-		erreur_squelette($msg, $p);
733
-	} else {
734
-		$key = $p->boucles[$b]->primary;
735
-		$type = $p->boucles[$p->id_boucle]->primary;
736
-		$desc = $p->boucles[$b]->show;
737
-		$connect = sql_quote($p->boucles[$b]->sql_serveur);
729
+    $b = index_boucle($p);
730
+    if (empty($p->boucles[$b]->primary)) {
731
+        $msg = ['zbug_champ_hors_boucle', ['champ' => zbug_presenter_champ($p)]];
732
+        erreur_squelette($msg, $p);
733
+    } else {
734
+        $key = $p->boucles[$b]->primary;
735
+        $type = $p->boucles[$p->id_boucle]->primary;
736
+        $desc = $p->boucles[$b]->show;
737
+        $connect = sql_quote($p->boucles[$b]->sql_serveur);
738 738
 
739
-		// Ne pas utiliser champ_sql, on jongle avec le nom boucle explicite
740
-		$c = index_pile($p->id_boucle, $type, $p->boucles);
739
+        // Ne pas utiliser champ_sql, on jongle avec le nom boucle explicite
740
+        $c = index_pile($p->id_boucle, $type, $p->boucles);
741 741
 
742
-		if (isset($desc['field']['id_parent'])) {
743
-			$parent = 0; // pour if (!$parent) dans calculer_expose
744
-		} elseif (isset($desc['field']['id_rubrique'])) {
745
-			$parent = index_pile($p->id_boucle, 'id_rubrique', $p->boucles, $b);
746
-		} elseif (isset($desc['field']['id_groupe'])) {
747
-			$parent = index_pile($p->id_boucle, 'id_groupe', $p->boucles, $b);
748
-		} else {
749
-			$parent = "''";
750
-		}
742
+        if (isset($desc['field']['id_parent'])) {
743
+            $parent = 0; // pour if (!$parent) dans calculer_expose
744
+        } elseif (isset($desc['field']['id_rubrique'])) {
745
+            $parent = index_pile($p->id_boucle, 'id_rubrique', $p->boucles, $b);
746
+        } elseif (isset($desc['field']['id_groupe'])) {
747
+            $parent = index_pile($p->id_boucle, 'id_groupe', $p->boucles, $b);
748
+        } else {
749
+            $parent = "''";
750
+        }
751 751
 
752
-		$p->code = "(calcul_exposer($c, '$type', \$Pile[0], $parent, '$key', $connect) ? $on : $off)";
753
-	}
752
+        $p->code = "(calcul_exposer($c, '$type', \$Pile[0], $parent, '$key', $connect) ? $on : $off)";
753
+    }
754 754
 
755
-	$p->interdire_scripts = false;
755
+    $p->interdire_scripts = false;
756 756
 
757
-	return $p;
757
+    return $p;
758 758
 }
759 759
 
760 760
 
@@ -795,46 +795,46 @@  discard block
 block discarded – undo
795 795
  **/
796 796
 function balise_INTRODUCTION_dist($p) {
797 797
 
798
-	$type_objet = $p->type_requete;
799
-	$cle_objet = id_table_objet($type_objet);
800
-	$_id_objet = champ_sql($cle_objet, $p);
801
-
802
-	// Récupérer les valeurs sql nécessaires : descriptif, texte et chapo
803
-	// ainsi que le longueur d'introduction donnée dans la description de l'objet.
804
-	$_introduction_longueur = 'null';
805
-	$_ligne = 'array(';
806
-	$trouver_table = charger_fonction('trouver_table', 'base');
807
-	if ($desc = $trouver_table(table_objet_sql($type_objet))) {
808
-		if (isset($desc['field']['descriptif'])) {
809
-			$_ligne .= "'descriptif' => " . champ_sql('descriptif', $p) . ',';
810
-		}
811
-		if (isset($desc['field']['texte'])) {
812
-			$_ligne .= "'texte' => " . champ_sql('texte', $p) . ',';
813
-		}
814
-		if (isset($desc['field']['chapo'])) {
815
-			$_ligne .= "'chapo' => " . champ_sql('chapo', $p) . ',';
816
-		}
817
-		if (isset($desc['introduction_longueur'])) {
818
-			$_introduction_longueur = "'" . $desc['introduction_longueur'] . "'";
819
-		}
820
-	}
821
-	$_ligne .= ')';
822
-
823
-	// Récupérer la longueur et la suite passés en paramètres
824
-	$_longueur_ou_suite = 'null';
825
-	if (($v1 = interprete_argument_balise(1, $p)) !== null) {
826
-		$_longueur_ou_suite = $v1;
827
-	}
828
-	$_suite = 'null';
829
-	if (($v2 = interprete_argument_balise(2, $p)) !== null) {
830
-		$_suite = $v2;
831
-	}
832
-
833
-	$p->code = "generer_objet_introduction((int)$_id_objet, '$type_objet', $_ligne, $_introduction_longueur, $_longueur_ou_suite, $_suite, \$connect)";
834
-
835
-	#$p->interdire_scripts = true;
836
-	$p->etoile = '*'; // propre est deja fait dans le calcul de l'intro
837
-	return $p;
798
+    $type_objet = $p->type_requete;
799
+    $cle_objet = id_table_objet($type_objet);
800
+    $_id_objet = champ_sql($cle_objet, $p);
801
+
802
+    // Récupérer les valeurs sql nécessaires : descriptif, texte et chapo
803
+    // ainsi que le longueur d'introduction donnée dans la description de l'objet.
804
+    $_introduction_longueur = 'null';
805
+    $_ligne = 'array(';
806
+    $trouver_table = charger_fonction('trouver_table', 'base');
807
+    if ($desc = $trouver_table(table_objet_sql($type_objet))) {
808
+        if (isset($desc['field']['descriptif'])) {
809
+            $_ligne .= "'descriptif' => " . champ_sql('descriptif', $p) . ',';
810
+        }
811
+        if (isset($desc['field']['texte'])) {
812
+            $_ligne .= "'texte' => " . champ_sql('texte', $p) . ',';
813
+        }
814
+        if (isset($desc['field']['chapo'])) {
815
+            $_ligne .= "'chapo' => " . champ_sql('chapo', $p) . ',';
816
+        }
817
+        if (isset($desc['introduction_longueur'])) {
818
+            $_introduction_longueur = "'" . $desc['introduction_longueur'] . "'";
819
+        }
820
+    }
821
+    $_ligne .= ')';
822
+
823
+    // Récupérer la longueur et la suite passés en paramètres
824
+    $_longueur_ou_suite = 'null';
825
+    if (($v1 = interprete_argument_balise(1, $p)) !== null) {
826
+        $_longueur_ou_suite = $v1;
827
+    }
828
+    $_suite = 'null';
829
+    if (($v2 = interprete_argument_balise(2, $p)) !== null) {
830
+        $_suite = $v2;
831
+    }
832
+
833
+    $p->code = "generer_objet_introduction((int)$_id_objet, '$type_objet', $_ligne, $_introduction_longueur, $_longueur_ou_suite, $_suite, \$connect)";
834
+
835
+    #$p->interdire_scripts = true;
836
+    $p->etoile = '*'; // propre est deja fait dans le calcul de l'intro
837
+    return $p;
838 838
 }
839 839
 
840 840
 
@@ -854,15 +854,15 @@  discard block
 block discarded – undo
854 854
  *     Pile complétée par le code à générer
855 855
  **/
856 856
 function balise_LANG_dist($p) {
857
-	$_lang = champ_sql('lang', $p);
858
-	if (!$p->etoile) {
859
-		$p->code = "spip_htmlentities($_lang ? $_lang : \$GLOBALS['spip_lang'])";
860
-	} else {
861
-		$p->code = "spip_htmlentities($_lang)";
862
-	}
863
-	$p->interdire_scripts = false;
857
+    $_lang = champ_sql('lang', $p);
858
+    if (!$p->etoile) {
859
+        $p->code = "spip_htmlentities($_lang ? $_lang : \$GLOBALS['spip_lang'])";
860
+    } else {
861
+        $p->code = "spip_htmlentities($_lang)";
862
+    }
863
+    $p->interdire_scripts = false;
864 864
 
865
-	return $p;
865
+    return $p;
866 866
 }
867 867
 
868 868
 /**
@@ -884,45 +884,45 @@  discard block
 block discarded – undo
884 884
  *     Pile complétée par le code à générer
885 885
  */
886 886
 function balise_LESAUTEURS_dist($p) {
887
-	// Cherche le champ 'lesauteurs' dans la pile
888
-	$_lesauteurs = champ_sql('lesauteurs', $p, '');
889
-
890
-	// Si le champ n'existe pas (cas de spip_articles), on applique
891
-	// le modele lesauteurs.html en passant id_article dans le contexte;
892
-	// dans le cas contraire on prend le champ 'lesauteurs'
893
-	// (cf extension sites/)
894
-	if ($_lesauteurs) {
895
-		$p->code = "safehtml($_lesauteurs)";
896
-		// $p->interdire_scripts = true;
897
-	} else {
898
-		if (!$p->id_boucle) {
899
-			$connect = '';
900
-			$objet = 'article';
901
-			$id_table_objet = 'id_article';
902
-		} else {
903
-			$b = $p->nom_boucle ?: $p->id_boucle;
904
-			$connect = $p->boucles[$b]->sql_serveur;
905
-			$type_boucle = $p->boucles[$b]->type_requete;
906
-			$objet = objet_type($type_boucle);
907
-			$id_table_objet = id_table_objet($type_boucle);
908
-		}
909
-		$c = memoriser_contexte_compil($p);
910
-
911
-		$p->code = sprintf(
912
-			CODE_RECUPERER_FOND,
913
-			"'modeles/lesauteurs'",
914
-			"array('objet'=>'" . $objet .
915
-			"','id_objet' => " . champ_sql($id_table_objet, $p) .
916
-			",'$id_table_objet' => " . champ_sql($id_table_objet, $p) .
917
-			($objet == 'article' ? '' : ",'id_article' => " . champ_sql('id_article', $p)) .
918
-			')',
919
-			"'trim'=>true, 'compil'=>array($c)",
920
-			_q($connect)
921
-		);
922
-		$p->interdire_scripts = false; // securite apposee par recuperer_fond()
923
-	}
924
-
925
-	return $p;
887
+    // Cherche le champ 'lesauteurs' dans la pile
888
+    $_lesauteurs = champ_sql('lesauteurs', $p, '');
889
+
890
+    // Si le champ n'existe pas (cas de spip_articles), on applique
891
+    // le modele lesauteurs.html en passant id_article dans le contexte;
892
+    // dans le cas contraire on prend le champ 'lesauteurs'
893
+    // (cf extension sites/)
894
+    if ($_lesauteurs) {
895
+        $p->code = "safehtml($_lesauteurs)";
896
+        // $p->interdire_scripts = true;
897
+    } else {
898
+        if (!$p->id_boucle) {
899
+            $connect = '';
900
+            $objet = 'article';
901
+            $id_table_objet = 'id_article';
902
+        } else {
903
+            $b = $p->nom_boucle ?: $p->id_boucle;
904
+            $connect = $p->boucles[$b]->sql_serveur;
905
+            $type_boucle = $p->boucles[$b]->type_requete;
906
+            $objet = objet_type($type_boucle);
907
+            $id_table_objet = id_table_objet($type_boucle);
908
+        }
909
+        $c = memoriser_contexte_compil($p);
910
+
911
+        $p->code = sprintf(
912
+            CODE_RECUPERER_FOND,
913
+            "'modeles/lesauteurs'",
914
+            "array('objet'=>'" . $objet .
915
+            "','id_objet' => " . champ_sql($id_table_objet, $p) .
916
+            ",'$id_table_objet' => " . champ_sql($id_table_objet, $p) .
917
+            ($objet == 'article' ? '' : ",'id_article' => " . champ_sql('id_article', $p)) .
918
+            ')',
919
+            "'trim'=>true, 'compil'=>array($c)",
920
+            _q($connect)
921
+        );
922
+        $p->interdire_scripts = false; // securite apposee par recuperer_fond()
923
+    }
924
+
925
+    return $p;
926 926
 }
927 927
 
928 928
 
@@ -949,76 +949,76 @@  discard block
 block discarded – undo
949 949
  *     Pile complétée par le code à générer
950 950
  */
951 951
 function balise_RANG_dist($p) {
952
-	$b = index_boucle($p);
953
-	if ($b === '') {
954
-		$msg = [
955
-			'zbug_champ_hors_boucle',
956
-			['champ' => '#RANG']
957
-		];
958
-		erreur_squelette($msg, $p);
959
-	} else {
960
-		// chercher d'abord un champ sql rang (mais pas dans le env : defaut '' si on trouve pas de champ sql)
961
-		// dans la boucle immediatement englobante uniquement
962
-		// sinon on compose le champ calcule
963
-		$_rang = champ_sql('rang', $p, '', false);
964
-
965
-		// si pas trouve de champ sql rang :
966
-		if (!$_rang or $_rang == "''") {
967
-			$boucle = &$p->boucles[$b];
968
-
969
-			// on gere le cas ou #RANG est une extraction du numero dans le titre
970
-			$trouver_table = charger_fonction('trouver_table', 'base');
971
-			$desc = $trouver_table($boucle->id_table);
972
-			$_titre = ''; # où extraire le numero ?
973
-
974
-			if (isset($desc['titre'])) {
975
-				$t = $desc['titre'];
976
-				if (
977
-					// Soit on trouve avec la déclaration de la lang AVANT
978
-					preg_match(';(?:lang\s*,)\s*(.*?titre)\s*(,|$);', $t, $m)
979
-					// Soit on prend depuis le début
980
-					or preg_match(';^(.*?titre)\s*(,|$);', $t, $m)
981
-				) {
982
-					$m = preg_replace(',as\s+titre$,i', '', $m[1]);
983
-					$m = trim($m);
984
-					if ($m != "''") {
985
-						if (!preg_match(',\W,', $m)) {
986
-							$m = $boucle->id_table . ".$m";
987
-						}
988
-
989
-						$m .= ' AS titre_rang';
990
-
991
-						$boucle->select[] = $m;
992
-						$_titre = '$Pile[$SP][\'titre_rang\']';
993
-					}
994
-				}
995
-			}
996
-
997
-			// si on n'a rien trouvé, on utilise le champ titre classique
998
-			if (!$_titre) {
999
-				$_titre = champ_sql('titre', $p);
1000
-			}
1001
-
1002
-			// et on recupere aussi les infos de liaison si on est en train d'editer les liens justement
1003
-			// cas des formulaires xxx_lies utilises par #FORMULAIRE_EDITER_LIENS
1004
-			$type_boucle = $boucle->type_requete;
1005
-			$objet = objet_type($type_boucle);
1006
-			$id_table_objet = id_table_objet($type_boucle);
1007
-			$_primary = champ_sql($id_table_objet, $p, '', false);
1008
-			$_env = '$Pile[0]';
1009
-
1010
-			if (!$_titre) {$_titre = "''";
1011
-			}
1012
-			if (!$_primary) {$_primary = "''";
1013
-			}
1014
-			$_rang = "calculer_rang_smart($_titre, '$objet', $_primary, $_env)";
1015
-		}
1016
-
1017
-		$p->code = $_rang;
1018
-		$p->interdire_scripts = false;
1019
-	}
1020
-
1021
-	return $p;
952
+    $b = index_boucle($p);
953
+    if ($b === '') {
954
+        $msg = [
955
+            'zbug_champ_hors_boucle',
956
+            ['champ' => '#RANG']
957
+        ];
958
+        erreur_squelette($msg, $p);
959
+    } else {
960
+        // chercher d'abord un champ sql rang (mais pas dans le env : defaut '' si on trouve pas de champ sql)
961
+        // dans la boucle immediatement englobante uniquement
962
+        // sinon on compose le champ calcule
963
+        $_rang = champ_sql('rang', $p, '', false);
964
+
965
+        // si pas trouve de champ sql rang :
966
+        if (!$_rang or $_rang == "''") {
967
+            $boucle = &$p->boucles[$b];
968
+
969
+            // on gere le cas ou #RANG est une extraction du numero dans le titre
970
+            $trouver_table = charger_fonction('trouver_table', 'base');
971
+            $desc = $trouver_table($boucle->id_table);
972
+            $_titre = ''; # où extraire le numero ?
973
+
974
+            if (isset($desc['titre'])) {
975
+                $t = $desc['titre'];
976
+                if (
977
+                    // Soit on trouve avec la déclaration de la lang AVANT
978
+                    preg_match(';(?:lang\s*,)\s*(.*?titre)\s*(,|$);', $t, $m)
979
+                    // Soit on prend depuis le début
980
+                    or preg_match(';^(.*?titre)\s*(,|$);', $t, $m)
981
+                ) {
982
+                    $m = preg_replace(',as\s+titre$,i', '', $m[1]);
983
+                    $m = trim($m);
984
+                    if ($m != "''") {
985
+                        if (!preg_match(',\W,', $m)) {
986
+                            $m = $boucle->id_table . ".$m";
987
+                        }
988
+
989
+                        $m .= ' AS titre_rang';
990
+
991
+                        $boucle->select[] = $m;
992
+                        $_titre = '$Pile[$SP][\'titre_rang\']';
993
+                    }
994
+                }
995
+            }
996
+
997
+            // si on n'a rien trouvé, on utilise le champ titre classique
998
+            if (!$_titre) {
999
+                $_titre = champ_sql('titre', $p);
1000
+            }
1001
+
1002
+            // et on recupere aussi les infos de liaison si on est en train d'editer les liens justement
1003
+            // cas des formulaires xxx_lies utilises par #FORMULAIRE_EDITER_LIENS
1004
+            $type_boucle = $boucle->type_requete;
1005
+            $objet = objet_type($type_boucle);
1006
+            $id_table_objet = id_table_objet($type_boucle);
1007
+            $_primary = champ_sql($id_table_objet, $p, '', false);
1008
+            $_env = '$Pile[0]';
1009
+
1010
+            if (!$_titre) {$_titre = "''";
1011
+            }
1012
+            if (!$_primary) {$_primary = "''";
1013
+            }
1014
+            $_rang = "calculer_rang_smart($_titre, '$objet', $_primary, $_env)";
1015
+        }
1016
+
1017
+        $p->code = $_rang;
1018
+        $p->interdire_scripts = false;
1019
+    }
1020
+
1021
+    return $p;
1022 1022
 }
1023 1023
 
1024 1024
 
@@ -1040,12 +1040,12 @@  discard block
 block discarded – undo
1040 1040
  *     Pile complétée par le code à générer
1041 1041
  **/
1042 1042
 function balise_POPULARITE_dist($p) {
1043
-	$_popularite = champ_sql('popularite', $p);
1044
-	$p->code = "(ceil(min(100, 100 * $_popularite
1043
+    $_popularite = champ_sql('popularite', $p);
1044
+    $p->code = "(ceil(min(100, 100 * $_popularite
1045 1045
 	/ max(1 , 0 + \$GLOBALS['meta']['popularite_max']))))";
1046
-	$p->interdire_scripts = false;
1046
+    $p->interdire_scripts = false;
1047 1047
 
1048
-	return $p;
1048
+    return $p;
1049 1049
 }
1050 1050
 
1051 1051
 /**
@@ -1056,8 +1056,8 @@  discard block
 block discarded – undo
1056 1056
  * l'absence peut-être due à une faute de frappe dans le contexte inclus.
1057 1057
  */
1058 1058
 define(
1059
-	'CODE_PAGINATION',
1060
-	'%s($Numrows["%s"]["grand_total"],
1059
+    'CODE_PAGINATION',
1060
+    '%s($Numrows["%s"]["grand_total"],
1061 1061
  		%s,
1062 1062
 		isset($Pile[0][%4$s])?$Pile[0][%4$s]:intval(_request(%4$s)),
1063 1063
 		%5$s, %6$s, %7$s, %8$s, array(%9$s))'
@@ -1094,75 +1094,75 @@  discard block
 block discarded – undo
1094 1094
  *     Pile complétée par le code à générer
1095 1095
  */
1096 1096
 function balise_PAGINATION_dist($p, $liste = 'true') {
1097
-	$b = index_boucle_mere($p);
1098
-
1099
-	// s'il n'y a pas de nom de boucle, on ne peut pas paginer
1100
-	if ($b === '') {
1101
-		$msg = [
1102
-			'zbug_champ_hors_boucle',
1103
-			['champ' => $liste ? 'PAGINATION' : 'ANCRE_PAGINATION']
1104
-		];
1105
-		erreur_squelette($msg, $p);
1106
-
1107
-		return $p;
1108
-	}
1109
-
1110
-	// s'il n'y a pas de mode_partie, c'est qu'on se trouve
1111
-	// dans un boucle recursive ou qu'on a oublie le critere {pagination}
1112
-	if (!$p->boucles[$b]->mode_partie) {
1113
-		if (!$p->boucles[$b]->table_optionnelle) {
1114
-			$msg = [
1115
-				'zbug_pagination_sans_critere',
1116
-				['champ' => '#PAGINATION']
1117
-			];
1118
-			erreur_squelette($msg, $p);
1119
-		}
1120
-
1121
-		return $p;
1122
-	}
1123
-
1124
-	// a priori true
1125
-	// si false, le compilo va bloquer sur des syntaxes avec un filtre sans argument qui suit la balise
1126
-	// si true, les arguments simples (sans truc=chose) vont degager
1127
-	$_contexte = argumenter_inclure($p->param, true, $p, $p->boucles, $p->id_boucle, false, false);
1128
-	if (is_countable($_contexte) ? count($_contexte) : 0) {
1129
-		$key = key($_contexte);
1130
-		if (is_numeric($key)) {
1131
-			array_shift($_contexte);
1132
-			$__modele = interprete_argument_balise(1, $p);
1133
-		}
1134
-	}
1135
-
1136
-	if (is_countable($_contexte) ? count($_contexte) : 0) {
1137
-		$code_contexte = implode(',', $_contexte);
1138
-	} else {
1139
-		$code_contexte = '';
1140
-	}
1141
-
1142
-	$connect = $p->boucles[$b]->sql_serveur;
1143
-	$pas = $p->boucles[$b]->total_parties;
1144
-	$f_pagination = chercher_filtre('pagination');
1145
-	$type = $p->boucles[$b]->modificateur['debut_nom'];
1146
-	$modif = ($type[0] !== "'") ? "'debut'.$type"
1147
-		: ("'debut" . substr($type, 1));
1148
-
1149
-	$p->code = sprintf(
1150
-		CODE_PAGINATION,
1151
-		$f_pagination,
1152
-		$b,
1153
-		$type,
1154
-		$modif,
1155
-		$pas,
1156
-		$liste,
1157
-		((isset($__modele) and $__modele) ? $__modele : "''"),
1158
-		_q($connect),
1159
-		$code_contexte
1160
-	);
1161
-
1162
-	$p->boucles[$b]->numrows = true;
1163
-	$p->interdire_scripts = false;
1164
-
1165
-	return $p;
1097
+    $b = index_boucle_mere($p);
1098
+
1099
+    // s'il n'y a pas de nom de boucle, on ne peut pas paginer
1100
+    if ($b === '') {
1101
+        $msg = [
1102
+            'zbug_champ_hors_boucle',
1103
+            ['champ' => $liste ? 'PAGINATION' : 'ANCRE_PAGINATION']
1104
+        ];
1105
+        erreur_squelette($msg, $p);
1106
+
1107
+        return $p;
1108
+    }
1109
+
1110
+    // s'il n'y a pas de mode_partie, c'est qu'on se trouve
1111
+    // dans un boucle recursive ou qu'on a oublie le critere {pagination}
1112
+    if (!$p->boucles[$b]->mode_partie) {
1113
+        if (!$p->boucles[$b]->table_optionnelle) {
1114
+            $msg = [
1115
+                'zbug_pagination_sans_critere',
1116
+                ['champ' => '#PAGINATION']
1117
+            ];
1118
+            erreur_squelette($msg, $p);
1119
+        }
1120
+
1121
+        return $p;
1122
+    }
1123
+
1124
+    // a priori true
1125
+    // si false, le compilo va bloquer sur des syntaxes avec un filtre sans argument qui suit la balise
1126
+    // si true, les arguments simples (sans truc=chose) vont degager
1127
+    $_contexte = argumenter_inclure($p->param, true, $p, $p->boucles, $p->id_boucle, false, false);
1128
+    if (is_countable($_contexte) ? count($_contexte) : 0) {
1129
+        $key = key($_contexte);
1130
+        if (is_numeric($key)) {
1131
+            array_shift($_contexte);
1132
+            $__modele = interprete_argument_balise(1, $p);
1133
+        }
1134
+    }
1135
+
1136
+    if (is_countable($_contexte) ? count($_contexte) : 0) {
1137
+        $code_contexte = implode(',', $_contexte);
1138
+    } else {
1139
+        $code_contexte = '';
1140
+    }
1141
+
1142
+    $connect = $p->boucles[$b]->sql_serveur;
1143
+    $pas = $p->boucles[$b]->total_parties;
1144
+    $f_pagination = chercher_filtre('pagination');
1145
+    $type = $p->boucles[$b]->modificateur['debut_nom'];
1146
+    $modif = ($type[0] !== "'") ? "'debut'.$type"
1147
+        : ("'debut" . substr($type, 1));
1148
+
1149
+    $p->code = sprintf(
1150
+        CODE_PAGINATION,
1151
+        $f_pagination,
1152
+        $b,
1153
+        $type,
1154
+        $modif,
1155
+        $pas,
1156
+        $liste,
1157
+        ((isset($__modele) and $__modele) ? $__modele : "''"),
1158
+        _q($connect),
1159
+        $code_contexte
1160
+    );
1161
+
1162
+    $p->boucles[$b]->numrows = true;
1163
+    $p->interdire_scripts = false;
1164
+
1165
+    return $p;
1166 1166
 }
1167 1167
 
1168 1168
 
@@ -1189,11 +1189,11 @@  discard block
 block discarded – undo
1189 1189
  *     Pile complétée par le code à générer
1190 1190
  **/
1191 1191
 function balise_ANCRE_PAGINATION_dist($p) {
1192
-	if ($f = charger_fonction('PAGINATION', 'balise', true)) {
1193
-		return $f($p, $liste = 'false');
1194
-	} else {
1195
-		return null;
1196
-	} // ou une erreur ?
1192
+    if ($f = charger_fonction('PAGINATION', 'balise', true)) {
1193
+        return $f($p, $liste = 'false');
1194
+    } else {
1195
+        return null;
1196
+    } // ou une erreur ?
1197 1197
 }
1198 1198
 
1199 1199
 
@@ -1214,17 +1214,17 @@  discard block
 block discarded – undo
1214 1214
  *     Pile complétée par le code à générer
1215 1215
  **/
1216 1216
 function balise_GRAND_TOTAL_dist($p) {
1217
-	$b = index_boucle_mere($p);
1218
-	if ($b === '') {
1219
-		$msg = ['zbug_champ_hors_boucle', ['champ' => zbug_presenter_champ($p)]];
1220
-		erreur_squelette($msg, $p);
1221
-	} else {
1222
-		$p->code = "(\$Numrows['$b']['grand_total'] ?? \$Numrows['$b']['total'] ?? 0)";
1223
-		$p->boucles[$b]->numrows = true;
1224
-		$p->interdire_scripts = false;
1225
-	}
1217
+    $b = index_boucle_mere($p);
1218
+    if ($b === '') {
1219
+        $msg = ['zbug_champ_hors_boucle', ['champ' => zbug_presenter_champ($p)]];
1220
+        erreur_squelette($msg, $p);
1221
+    } else {
1222
+        $p->code = "(\$Numrows['$b']['grand_total'] ?? \$Numrows['$b']['total'] ?? 0)";
1223
+        $p->boucles[$b]->numrows = true;
1224
+        $p->interdire_scripts = false;
1225
+    }
1226 1226
 
1227
-	return $p;
1227
+    return $p;
1228 1228
 }
1229 1229
 
1230 1230
 
@@ -1252,10 +1252,10 @@  discard block
 block discarded – undo
1252 1252
  *     Pile complétée par le code à générer
1253 1253
  **/
1254 1254
 function balise_SELF_dist($p) {
1255
-	$p->code = 'self()';
1256
-	$p->interdire_scripts = false;
1255
+    $p->code = 'self()';
1256
+    $p->interdire_scripts = false;
1257 1257
 
1258
-	return $p;
1258
+    return $p;
1259 1259
 }
1260 1260
 
1261 1261
 
@@ -1282,17 +1282,17 @@  discard block
 block discarded – undo
1282 1282
  *     Pile complétée par le code à générer
1283 1283
  **/
1284 1284
 function balise_CHEMIN_dist($p) {
1285
-	$arg = interprete_argument_balise(1, $p);
1286
-	if (!$arg) {
1287
-		$msg = ['zbug_balise_sans_argument', ['balise' => ' CHEMIN']];
1288
-		erreur_squelette($msg, $p);
1289
-	} else {
1290
-		$p->code = 'find_in_path((string)' . $arg . ')';
1291
-	}
1285
+    $arg = interprete_argument_balise(1, $p);
1286
+    if (!$arg) {
1287
+        $msg = ['zbug_balise_sans_argument', ['balise' => ' CHEMIN']];
1288
+        erreur_squelette($msg, $p);
1289
+    } else {
1290
+        $p->code = 'find_in_path((string)' . $arg . ')';
1291
+    }
1292 1292
 
1293
-	$p->interdire_scripts = false;
1293
+    $p->interdire_scripts = false;
1294 1294
 
1295
-	return $p;
1295
+    return $p;
1296 1296
 }
1297 1297
 
1298 1298
 /**
@@ -1317,16 +1317,16 @@  discard block
 block discarded – undo
1317 1317
  *     Pile complétée par le code à générer
1318 1318
  **/
1319 1319
 function balise_CHEMIN_IMAGE_dist($p) {
1320
-	$arg = interprete_argument_balise(1, $p);
1321
-	if (!$arg) {
1322
-		$msg = ['zbug_balise_sans_argument', ['balise' => ' CHEMIN_IMAGE']];
1323
-		erreur_squelette($msg, $p);
1324
-	} else {
1325
-		$p->code = 'chemin_image((string)' . $arg . ')';
1326
-	}
1320
+    $arg = interprete_argument_balise(1, $p);
1321
+    if (!$arg) {
1322
+        $msg = ['zbug_balise_sans_argument', ['balise' => ' CHEMIN_IMAGE']];
1323
+        erreur_squelette($msg, $p);
1324
+    } else {
1325
+        $p->code = 'chemin_image((string)' . $arg . ')';
1326
+    }
1327 1327
 
1328
-	$p->interdire_scripts = false;
1329
-	return $p;
1328
+    $p->interdire_scripts = false;
1329
+    return $p;
1330 1330
 }
1331 1331
 
1332 1332
 
@@ -1364,36 +1364,36 @@  discard block
 block discarded – undo
1364 1364
  **/
1365 1365
 function balise_ENV_dist($p, $src = null) {
1366 1366
 
1367
-	// cle du tableau desiree
1368
-	$_nom = interprete_argument_balise(1, $p);
1369
-	// valeur par defaut
1370
-	$_sinon = interprete_argument_balise(2, $p);
1367
+    // cle du tableau desiree
1368
+    $_nom = interprete_argument_balise(1, $p);
1369
+    // valeur par defaut
1370
+    $_sinon = interprete_argument_balise(2, $p);
1371 1371
 
1372
-	// $src est un tableau de donnees sources eventuellement transmis
1373
-	// en absence, on utilise l'environnement du squelette $Pile[0]
1372
+    // $src est un tableau de donnees sources eventuellement transmis
1373
+    // en absence, on utilise l'environnement du squelette $Pile[0]
1374 1374
 
1375
-	if (!$_nom) {
1376
-		// cas de #ENV sans argument : on retourne le serialize() du tableau
1377
-		// une belle fonction [(#ENV|affiche_env)] serait pratique
1378
-		if ($src) {
1379
-			$p->code = '(is_array($a = (' . $src . ')) ? serialize($a) : "")';
1380
-		} else {
1381
-			$p->code = 'serialize($Pile[0]??[])';
1382
-		}
1383
-	} else {
1384
-		if (!$src) {
1385
-			$src = '$Pile[0]??[]';
1386
-		}
1387
-		if ($_sinon) {
1388
-			$p->code = "sinon(table_valeur($src, (string)$_nom, null), $_sinon)";
1389
-		} else {
1390
-			$p->code = "table_valeur($src, (string)$_nom, null)";
1391
-		}
1392
-	}
1375
+    if (!$_nom) {
1376
+        // cas de #ENV sans argument : on retourne le serialize() du tableau
1377
+        // une belle fonction [(#ENV|affiche_env)] serait pratique
1378
+        if ($src) {
1379
+            $p->code = '(is_array($a = (' . $src . ')) ? serialize($a) : "")';
1380
+        } else {
1381
+            $p->code = 'serialize($Pile[0]??[])';
1382
+        }
1383
+    } else {
1384
+        if (!$src) {
1385
+            $src = '$Pile[0]??[]';
1386
+        }
1387
+        if ($_sinon) {
1388
+            $p->code = "sinon(table_valeur($src, (string)$_nom, null), $_sinon)";
1389
+        } else {
1390
+            $p->code = "table_valeur($src, (string)$_nom, null)";
1391
+        }
1392
+    }
1393 1393
 
1394
-	#$p->interdire_scripts = true;
1394
+    #$p->interdire_scripts = true;
1395 1395
 
1396
-	return $p;
1396
+    return $p;
1397 1397
 }
1398 1398
 
1399 1399
 /**
@@ -1423,16 +1423,16 @@  discard block
 block discarded – undo
1423 1423
  *     Pile completée du code PHP d'exécution de la balise
1424 1424
  */
1425 1425
 function balise_CONFIG_dist($p) {
1426
-	if (!$arg = interprete_argument_balise(1, $p)) {
1427
-		$arg = "''";
1428
-	}
1429
-	$_sinon = interprete_argument_balise(2, $p);
1430
-	$_unserialize = sinon(interprete_argument_balise(3, $p), 'false');
1426
+    if (!$arg = interprete_argument_balise(1, $p)) {
1427
+        $arg = "''";
1428
+    }
1429
+    $_sinon = interprete_argument_balise(2, $p);
1430
+    $_unserialize = sinon(interprete_argument_balise(3, $p), 'false');
1431 1431
 
1432
-	$p->code = '(include_spip(\'inc/config\')?lire_config(' . $arg . ',' .
1433
-		($_sinon && $_sinon != "''" ? $_sinon : 'null') . ',' . $_unserialize . "):'')";
1432
+    $p->code = '(include_spip(\'inc/config\')?lire_config(' . $arg . ',' .
1433
+        ($_sinon && $_sinon != "''" ? $_sinon : 'null') . ',' . $_unserialize . "):'')";
1434 1434
 
1435
-	return $p;
1435
+    return $p;
1436 1436
 }
1437 1437
 
1438 1438
 
@@ -1455,10 +1455,10 @@  discard block
 block discarded – undo
1455 1455
  *     Pile completée du code PHP d'exécution de la balise
1456 1456
  */
1457 1457
 function balise_CONNECT_dist($p) {
1458
-	$p->code = '($connect ? $connect : NULL)';
1459
-	$p->interdire_scripts = false;
1458
+    $p->code = '($connect ? $connect : NULL)';
1459
+    $p->interdire_scripts = false;
1460 1460
 
1461
-	return $p;
1461
+    return $p;
1462 1462
 }
1463 1463
 
1464 1464
 
@@ -1486,15 +1486,15 @@  discard block
 block discarded – undo
1486 1486
  *     Pile completée du code PHP d'exécution de la balise
1487 1487
  **/
1488 1488
 function balise_SESSION_dist($p) {
1489
-	$p->descr['session'] = true;
1489
+    $p->descr['session'] = true;
1490 1490
 
1491
-	$f = function_exists('balise_ENV')
1492
-		? 'balise_ENV'
1493
-		: 'balise_ENV_dist';
1491
+    $f = function_exists('balise_ENV')
1492
+        ? 'balise_ENV'
1493
+        : 'balise_ENV_dist';
1494 1494
 
1495
-	$p = $f($p, '$GLOBALS["visiteur_session"]??[]');
1495
+    $p = $f($p, '$GLOBALS["visiteur_session"]??[]');
1496 1496
 
1497
-	return $p;
1497
+    return $p;
1498 1498
 }
1499 1499
 
1500 1500
 
@@ -1517,18 +1517,18 @@  discard block
 block discarded – undo
1517 1517
  *     Pile completée du code PHP d'exécution de la balise
1518 1518
  **/
1519 1519
 function balise_SESSION_SET_dist($p) {
1520
-	$_nom = interprete_argument_balise(1, $p);
1521
-	$_val = interprete_argument_balise(2, $p);
1522
-	if (!$_nom or !$_val) {
1523
-		$err_b_s_a = ['zbug_balise_sans_argument', ['balise' => 'SESSION_SET']];
1524
-		erreur_squelette($err_b_s_a, $p);
1525
-	} else {
1526
-		$p->code = '(include_spip("inc/session") AND session_set(' . $_nom . ',' . $_val . '))';
1527
-	}
1520
+    $_nom = interprete_argument_balise(1, $p);
1521
+    $_val = interprete_argument_balise(2, $p);
1522
+    if (!$_nom or !$_val) {
1523
+        $err_b_s_a = ['zbug_balise_sans_argument', ['balise' => 'SESSION_SET']];
1524
+        erreur_squelette($err_b_s_a, $p);
1525
+    } else {
1526
+        $p->code = '(include_spip("inc/session") AND session_set(' . $_nom . ',' . $_val . '))';
1527
+    }
1528 1528
 
1529
-	$p->interdire_scripts = false;
1529
+    $p->interdire_scripts = false;
1530 1530
 
1531
-	return $p;
1531
+    return $p;
1532 1532
 }
1533 1533
 
1534 1534
 
@@ -1559,30 +1559,30 @@  discard block
 block discarded – undo
1559 1559
  *     Pile completée du code PHP d'exécution de la balise
1560 1560
  **/
1561 1561
 function balise_EVAL_dist($p) {
1562
-	$php = interprete_argument_balise(1, $p);
1563
-	if ($php) {
1564
-		# optimisation sur les #EVAL{une expression sans #BALISE}
1565
-		# attention au commentaire "// x signes" qui precede
1566
-		if (
1567
-			preg_match(
1568
-				",^([[:space:]]*//[^\n]*\n)'([^']+)'$,ms",
1569
-				$php,
1570
-				$r
1571
-			)
1572
-		) {
1573
-			$p->code = /* $r[1]. */
1574
-				'(' . $r[2] . ')';
1575
-		} else {
1576
-			$p->code = "eval('return '.$php.';')";
1577
-		}
1578
-	} else {
1579
-		$msg = ['zbug_balise_sans_argument', ['balise' => ' EVAL']];
1580
-		erreur_squelette($msg, $p);
1581
-	}
1582
-
1583
-	#$p->interdire_scripts = true;
1584
-
1585
-	return $p;
1562
+    $php = interprete_argument_balise(1, $p);
1563
+    if ($php) {
1564
+        # optimisation sur les #EVAL{une expression sans #BALISE}
1565
+        # attention au commentaire "// x signes" qui precede
1566
+        if (
1567
+            preg_match(
1568
+                ",^([[:space:]]*//[^\n]*\n)'([^']+)'$,ms",
1569
+                $php,
1570
+                $r
1571
+            )
1572
+        ) {
1573
+            $p->code = /* $r[1]. */
1574
+                '(' . $r[2] . ')';
1575
+        } else {
1576
+            $p->code = "eval('return '.$php.';')";
1577
+        }
1578
+    } else {
1579
+        $msg = ['zbug_balise_sans_argument', ['balise' => ' EVAL']];
1580
+        erreur_squelette($msg, $p);
1581
+    }
1582
+
1583
+    #$p->interdire_scripts = true;
1584
+
1585
+    return $p;
1586 1586
 }
1587 1587
 
1588 1588
 
@@ -1612,19 +1612,19 @@  discard block
 block discarded – undo
1612 1612
  **/
1613 1613
 function balise_CHAMP_SQL_dist($p) {
1614 1614
 
1615
-	if (
1616
-		$p->param
1617
-		and isset($p->param[0][1][0])
1618
-		and $champ = ($p->param[0][1][0]->texte)
1619
-	) {
1620
-		$p->code = champ_sql($champ, $p);
1621
-	} else {
1622
-		$err_b_s_a = ['zbug_balise_sans_argument', ['balise' => ' CHAMP_SQL']];
1623
-		erreur_squelette($err_b_s_a, $p);
1624
-	}
1615
+    if (
1616
+        $p->param
1617
+        and isset($p->param[0][1][0])
1618
+        and $champ = ($p->param[0][1][0]->texte)
1619
+    ) {
1620
+        $p->code = champ_sql($champ, $p);
1621
+    } else {
1622
+        $err_b_s_a = ['zbug_balise_sans_argument', ['balise' => ' CHAMP_SQL']];
1623
+        erreur_squelette($err_b_s_a, $p);
1624
+    }
1625 1625
 
1626
-	#$p->interdire_scripts = true;
1627
-	return $p;
1626
+    #$p->interdire_scripts = true;
1627
+    return $p;
1628 1628
 }
1629 1629
 
1630 1630
 /**
@@ -1650,13 +1650,13 @@  discard block
 block discarded – undo
1650 1650
  *     Pile complétée par le code à générer
1651 1651
  **/
1652 1652
 function balise_VAL_dist($p) {
1653
-	$p->code = interprete_argument_balise(1, $p) ?? '';
1654
-	if (!strlen($p->code)) {
1655
-		$p->code = "''";
1656
-	}
1657
-	$p->interdire_scripts = false;
1653
+    $p->code = interprete_argument_balise(1, $p) ?? '';
1654
+    if (!strlen($p->code)) {
1655
+        $p->code = "''";
1656
+    }
1657
+    $p->interdire_scripts = false;
1658 1658
 
1659
-	return $p;
1659
+    return $p;
1660 1660
 }
1661 1661
 
1662 1662
 /**
@@ -1685,10 +1685,10 @@  discard block
 block discarded – undo
1685 1685
  *     Pile complétée par le code à générer
1686 1686
  **/
1687 1687
 function balise_REM_dist($p) {
1688
-	$p->code = "''";
1689
-	$p->interdire_scripts = false;
1688
+    $p->code = "''";
1689
+    $p->interdire_scripts = false;
1690 1690
 
1691
-	return $p;
1691
+    return $p;
1692 1692
 }
1693 1693
 
1694 1694
 /**
@@ -1698,10 +1698,10 @@  discard block
 block discarded – undo
1698 1698
  * @return mixed
1699 1699
  */
1700 1700
 function balise_NULL_dist($p) {
1701
-	$p->code = 'null';
1702
-	$p->interdire_scripts = false;
1701
+    $p->code = 'null';
1702
+    $p->interdire_scripts = false;
1703 1703
 
1704
-	return $p;
1704
+    return $p;
1705 1705
 }
1706 1706
 
1707 1707
 
@@ -1725,18 +1725,18 @@  discard block
 block discarded – undo
1725 1725
  **/
1726 1726
 function balise_HTTP_HEADER_dist($p) {
1727 1727
 
1728
-	$header = interprete_argument_balise(1, $p);
1729
-	if (!$header) {
1730
-		$err_b_s_a = ['zbug_balise_sans_argument', ['balise' => 'HTTP_HEADER']];
1731
-		erreur_squelette($err_b_s_a, $p);
1732
-	} else {
1733
-		$p->code = "'<'.'?php header(' . _q("
1734
-			. $header
1735
-			. ") . '); ?'.'>'";
1736
-	}
1737
-	$p->interdire_scripts = false;
1728
+    $header = interprete_argument_balise(1, $p);
1729
+    if (!$header) {
1730
+        $err_b_s_a = ['zbug_balise_sans_argument', ['balise' => 'HTTP_HEADER']];
1731
+        erreur_squelette($err_b_s_a, $p);
1732
+    } else {
1733
+        $p->code = "'<'.'?php header(' . _q("
1734
+            . $header
1735
+            . ") . '); ?'.'>'";
1736
+    }
1737
+    $p->interdire_scripts = false;
1738 1738
 
1739
-	return $p;
1739
+    return $p;
1740 1740
 }
1741 1741
 
1742 1742
 
@@ -1761,22 +1761,22 @@  discard block
 block discarded – undo
1761 1761
  *     Pile complétée par le code à générer
1762 1762
  **/
1763 1763
 function balise_FILTRE_dist($p) {
1764
-	if ($p->param) {
1765
-		$args = [];
1766
-		foreach ($p->param as $i => $ignore) {
1767
-			$args[] = interprete_argument_balise($i + 1, $p);
1768
-		}
1769
-		$p->code = "'<' . '"
1770
-			. '?php header("X-Spip-Filtre: \'.'
1771
-			. join('.\'|\'.', $args)
1772
-			. " . '\"); ?'.'>'";
1764
+    if ($p->param) {
1765
+        $args = [];
1766
+        foreach ($p->param as $i => $ignore) {
1767
+            $args[] = interprete_argument_balise($i + 1, $p);
1768
+        }
1769
+        $p->code = "'<' . '"
1770
+            . '?php header("X-Spip-Filtre: \'.'
1771
+            . join('.\'|\'.', $args)
1772
+            . " . '\"); ?'.'>'";
1773 1773
 
1774
-		$p->interdire_scripts = false;
1774
+        $p->interdire_scripts = false;
1775 1775
 
1776
-		return $p;
1777
-	}
1776
+        return $p;
1777
+    }
1778 1778
 
1779
-	return null;
1779
+    return null;
1780 1780
 }
1781 1781
 
1782 1782
 
@@ -1812,55 +1812,55 @@  discard block
 block discarded – undo
1812 1812
  **/
1813 1813
 function balise_CACHE_dist($p) {
1814 1814
 
1815
-	if ($p->param) {
1816
-		$duree = valeur_numerique($p->param[0][1][0]->texte);
1817
-
1818
-		// noter la duree du cache dans un entete proprietaire
1819
-
1820
-		$code = "'<'.'" . '?php header("X-Spip-Cache: '
1821
-			. $duree
1822
-			. '"); ?' . "'.'>'";
1823
-
1824
-		// Remplir le header Cache-Control
1825
-		// cas #CACHE{0}
1826
-		if ($duree == 0) {
1827
-			$code .= ".'<'.'"
1828
-				. '?php header("Cache-Control: no-cache, must-revalidate"); ?'
1829
-				. "'.'><'.'"
1830
-				. '?php header("Pragma: no-cache"); ?'
1831
-				. "'.'>'";
1832
-		}
1833
-
1834
-		// recuperer les parametres suivants
1835
-		$i = 1;
1836
-		while (isset($p->param[0][++$i])) {
1837
-			$pa = ($p->param[0][$i][0]->texte);
1838
-
1839
-			if (
1840
-				$pa == 'cache-client'
1841
-				and $duree > 0
1842
-			) {
1843
-				$code .= ".'<'.'" . '?php header("Cache-Control: max-age='
1844
-					. $duree
1845
-					. '"); ?' . "'.'>'";
1846
-				// il semble logique, si on cache-client, de ne pas invalider
1847
-				$pa = 'statique';
1848
-			}
1849
-
1850
-			if (
1851
-				$pa == 'statique'
1852
-				and $duree > 0
1853
-			) {
1854
-				$code .= ".'<'.'" . '?php header("X-Spip-Statique: oui"); ?' . "'.'>'";
1855
-			}
1856
-		}
1857
-	} else {
1858
-		$code = "''";
1859
-	}
1860
-	$p->code = $code;
1861
-	$p->interdire_scripts = false;
1862
-
1863
-	return $p;
1815
+    if ($p->param) {
1816
+        $duree = valeur_numerique($p->param[0][1][0]->texte);
1817
+
1818
+        // noter la duree du cache dans un entete proprietaire
1819
+
1820
+        $code = "'<'.'" . '?php header("X-Spip-Cache: '
1821
+            . $duree
1822
+            . '"); ?' . "'.'>'";
1823
+
1824
+        // Remplir le header Cache-Control
1825
+        // cas #CACHE{0}
1826
+        if ($duree == 0) {
1827
+            $code .= ".'<'.'"
1828
+                . '?php header("Cache-Control: no-cache, must-revalidate"); ?'
1829
+                . "'.'><'.'"
1830
+                . '?php header("Pragma: no-cache"); ?'
1831
+                . "'.'>'";
1832
+        }
1833
+
1834
+        // recuperer les parametres suivants
1835
+        $i = 1;
1836
+        while (isset($p->param[0][++$i])) {
1837
+            $pa = ($p->param[0][$i][0]->texte);
1838
+
1839
+            if (
1840
+                $pa == 'cache-client'
1841
+                and $duree > 0
1842
+            ) {
1843
+                $code .= ".'<'.'" . '?php header("Cache-Control: max-age='
1844
+                    . $duree
1845
+                    . '"); ?' . "'.'>'";
1846
+                // il semble logique, si on cache-client, de ne pas invalider
1847
+                $pa = 'statique';
1848
+            }
1849
+
1850
+            if (
1851
+                $pa == 'statique'
1852
+                and $duree > 0
1853
+            ) {
1854
+                $code .= ".'<'.'" . '?php header("X-Spip-Statique: oui"); ?' . "'.'>'";
1855
+            }
1856
+        }
1857
+    } else {
1858
+        $code = "''";
1859
+    }
1860
+    $p->code = $code;
1861
+    $p->interdire_scripts = false;
1862
+
1863
+    return $p;
1864 1864
 }
1865 1865
 
1866 1866
 
@@ -1892,13 +1892,13 @@  discard block
 block discarded – undo
1892 1892
  *     Pile complétée par le code à générer
1893 1893
  */
1894 1894
 function balise_INSERT_HEAD_dist($p) {
1895
-	$p->code = "'<'.'"
1896
-		. '?php header("X-Spip-Filtre: insert_head_css_conditionnel"); ?'
1897
-		. "'.'>'";
1898
-	$p->code .= ". pipeline('insert_head','<!-- insert_head -->')";
1899
-	$p->interdire_scripts = false;
1895
+    $p->code = "'<'.'"
1896
+        . '?php header("X-Spip-Filtre: insert_head_css_conditionnel"); ?'
1897
+        . "'.'>'";
1898
+    $p->code .= ". pipeline('insert_head','<!-- insert_head -->')";
1899
+    $p->interdire_scripts = false;
1900 1900
 
1901
-	return $p;
1901
+    return $p;
1902 1902
 }
1903 1903
 
1904 1904
 /**
@@ -1916,10 +1916,10 @@  discard block
 block discarded – undo
1916 1916
  *     Pile complétée par le code à générer
1917 1917
  */
1918 1918
 function balise_INSERT_HEAD_CSS_dist($p) {
1919
-	$p->code = "pipeline('insert_head_css','<!-- insert_head_css -->')";
1920
-	$p->interdire_scripts = false;
1919
+    $p->code = "pipeline('insert_head_css','<!-- insert_head_css -->')";
1920
+    $p->interdire_scripts = false;
1921 1921
 
1922
-	return $p;
1922
+    return $p;
1923 1923
 }
1924 1924
 
1925 1925
 /**
@@ -1934,11 +1934,11 @@  discard block
 block discarded – undo
1934 1934
  *     Pile complétée par le code à générer
1935 1935
  **/
1936 1936
 function balise_INCLUDE_dist($p) {
1937
-	if (function_exists('balise_INCLURE')) {
1938
-		return balise_INCLURE($p);
1939
-	} else {
1940
-		return balise_INCLURE_dist($p);
1941
-	}
1937
+    if (function_exists('balise_INCLURE')) {
1938
+        return balise_INCLURE($p);
1939
+    } else {
1940
+        return balise_INCLURE_dist($p);
1941
+    }
1942 1942
 }
1943 1943
 
1944 1944
 /**
@@ -1972,66 +1972,66 @@  discard block
 block discarded – undo
1972 1972
  *     Pile complétée par le code à générer
1973 1973
  **/
1974 1974
 function balise_INCLURE_dist($p) {
1975
-	$id_boucle = $p->id_boucle;
1976
-	// la lang n'est pas passe de facon automatique par argumenter
1977
-	// mais le sera pas recuperer_fond, sauf si etoile=>true est passe
1978
-	// en option
1979
-
1980
-	$_contexte = argumenter_inclure($p->param, true, $p, $p->boucles, $id_boucle, false, false);
1981
-
1982
-	// erreur de syntaxe = fond absent
1983
-	// (2 messages d'erreur SPIP pour le prix d'un, mais pas d'erreur PHP
1984
-	if (!$_contexte) {
1985
-		$_contexte = [];
1986
-	}
1987
-
1988
-	if (isset($_contexte['fond'])) {
1989
-		$f = $_contexte['fond'];
1990
-		// toujours vrai :
1991
-		if (preg_match('/^.fond.\s*=>(.*)$/s', $f, $r)) {
1992
-			$f = $r[1];
1993
-			unset($_contexte['fond']);
1994
-		} else {
1995
-			spip_log('compilation de #INCLURE a revoir');
1996
-		}
1997
-
1998
-		// #INCLURE{doublons}
1999
-		if (isset($_contexte['doublons'])) {
2000
-			$_contexte['doublons'] = "'doublons' => \$doublons";
2001
-		}
2002
-
2003
-		// Critere d'inclusion {env} (et {self} pour compatibilite ascendante)
2004
-		$flag_env = false;
2005
-		if (isset($_contexte['env']) or isset($_contexte['self'])) {
2006
-			$flag_env = true;
2007
-			unset($_contexte['env']);
2008
-		}
2009
-
2010
-		$_options = [];
2011
-		if (isset($_contexte['ajax'])) {
2012
-			$_options[] = preg_replace(',=>(.*)$,ims', '=> ($v=(\\1))?$v:true', $_contexte['ajax']);
2013
-			unset($_contexte['ajax']);
2014
-		}
2015
-		if ($p->etoile) {
2016
-			$_options[] = "'etoile'=>true";
2017
-		}
2018
-		$_options[] = "'compil'=>array(" . memoriser_contexte_compil($p) . ')';
2019
-
2020
-		$_l = 'array(' . join(",\n\t", $_contexte) . ')';
2021
-		if ($flag_env) {
2022
-			$_l = "array_merge(\$Pile[0],$_l)";
2023
-		}
2024
-
2025
-		$p->code = sprintf(CODE_RECUPERER_FOND, $f, $_l, join(',', $_options), "_request('connect') ?? ''");
2026
-	} elseif (!isset($_contexte[1])) {
2027
-		$msg = ['zbug_balise_sans_argument', ['balise' => ' INCLURE']];
2028
-		erreur_squelette($msg, $p);
2029
-	} else {
2030
-		$p->code = 'charge_scripts(' . $_contexte[1] . ',false)';
2031
-	}
2032
-
2033
-	$p->interdire_scripts = false; // la securite est assuree par recuperer_fond
2034
-	return $p;
1975
+    $id_boucle = $p->id_boucle;
1976
+    // la lang n'est pas passe de facon automatique par argumenter
1977
+    // mais le sera pas recuperer_fond, sauf si etoile=>true est passe
1978
+    // en option
1979
+
1980
+    $_contexte = argumenter_inclure($p->param, true, $p, $p->boucles, $id_boucle, false, false);
1981
+
1982
+    // erreur de syntaxe = fond absent
1983
+    // (2 messages d'erreur SPIP pour le prix d'un, mais pas d'erreur PHP
1984
+    if (!$_contexte) {
1985
+        $_contexte = [];
1986
+    }
1987
+
1988
+    if (isset($_contexte['fond'])) {
1989
+        $f = $_contexte['fond'];
1990
+        // toujours vrai :
1991
+        if (preg_match('/^.fond.\s*=>(.*)$/s', $f, $r)) {
1992
+            $f = $r[1];
1993
+            unset($_contexte['fond']);
1994
+        } else {
1995
+            spip_log('compilation de #INCLURE a revoir');
1996
+        }
1997
+
1998
+        // #INCLURE{doublons}
1999
+        if (isset($_contexte['doublons'])) {
2000
+            $_contexte['doublons'] = "'doublons' => \$doublons";
2001
+        }
2002
+
2003
+        // Critere d'inclusion {env} (et {self} pour compatibilite ascendante)
2004
+        $flag_env = false;
2005
+        if (isset($_contexte['env']) or isset($_contexte['self'])) {
2006
+            $flag_env = true;
2007
+            unset($_contexte['env']);
2008
+        }
2009
+
2010
+        $_options = [];
2011
+        if (isset($_contexte['ajax'])) {
2012
+            $_options[] = preg_replace(',=>(.*)$,ims', '=> ($v=(\\1))?$v:true', $_contexte['ajax']);
2013
+            unset($_contexte['ajax']);
2014
+        }
2015
+        if ($p->etoile) {
2016
+            $_options[] = "'etoile'=>true";
2017
+        }
2018
+        $_options[] = "'compil'=>array(" . memoriser_contexte_compil($p) . ')';
2019
+
2020
+        $_l = 'array(' . join(",\n\t", $_contexte) . ')';
2021
+        if ($flag_env) {
2022
+            $_l = "array_merge(\$Pile[0],$_l)";
2023
+        }
2024
+
2025
+        $p->code = sprintf(CODE_RECUPERER_FOND, $f, $_l, join(',', $_options), "_request('connect') ?? ''");
2026
+    } elseif (!isset($_contexte[1])) {
2027
+        $msg = ['zbug_balise_sans_argument', ['balise' => ' INCLURE']];
2028
+        erreur_squelette($msg, $p);
2029
+    } else {
2030
+        $p->code = 'charge_scripts(' . $_contexte[1] . ',false)';
2031
+    }
2032
+
2033
+    $p->interdire_scripts = false; // la securite est assuree par recuperer_fond
2034
+    return $p;
2035 2035
 }
2036 2036
 
2037 2037
 
@@ -2059,69 +2059,69 @@  discard block
 block discarded – undo
2059 2059
  **/
2060 2060
 function balise_MODELE_dist($p) {
2061 2061
 
2062
-	$_contexte = argumenter_inclure($p->param, true, $p, $p->boucles, $p->id_boucle, false);
2063
-
2064
-	// erreur de syntaxe = fond absent
2065
-	// (2 messages d'erreur SPIP pour le prix d'un, mais pas d'erreur PHP
2066
-	if (!$_contexte) {
2067
-		$_contexte = [];
2068
-	}
2069
-
2070
-	if (!isset($_contexte[1])) {
2071
-		$msg = ['zbug_balise_sans_argument', ['balise' => ' MODELE']];
2072
-		erreur_squelette($msg, $p);
2073
-	} else {
2074
-		$nom = $_contexte[1];
2075
-		unset($_contexte[1]);
2076
-
2077
-		if (preg_match("/^\s*'[^']*'/s", $nom)) {
2078
-			$nom = "'modeles/" . substr($nom, 1);
2079
-		} else {
2080
-			$nom = "'modeles/' . $nom";
2081
-		}
2082
-
2083
-		$flag_env = false;
2084
-		if (isset($_contexte['env'])) {
2085
-			$flag_env = true;
2086
-			unset($_contexte['env']);
2087
-		}
2088
-
2089
-		// Incoherence dans la syntaxe du contexte. A revoir.
2090
-		// Reserver la cle primaire de la boucle courante si elle existe
2091
-		if (isset($p->boucles[$p->id_boucle]->primary)) {
2092
-			$primary = $p->boucles[$p->id_boucle]->primary;
2093
-			if (!strpos($primary, ',')) {
2094
-				$id = champ_sql($primary, $p);
2095
-				$_contexte[] = "'$primary'=>" . $id;
2096
-				$_contexte[] = "'id'=>" . $id;
2097
-			}
2098
-		}
2099
-		$_contexte[] = "'recurs'=>(++\$recurs)";
2100
-		$connect = '';
2101
-		if (isset($p->boucles[$p->id_boucle])) {
2102
-			$connect = $p->boucles[$p->id_boucle]->sql_serveur;
2103
-		}
2104
-
2105
-		$_options = memoriser_contexte_compil($p);
2106
-		$_options = "'compil'=>array($_options), 'trim'=>true";
2107
-		if (isset($_contexte['ajax'])) {
2108
-			$_options .= ', ' . preg_replace(',=>(.*)$,ims', '=> ($v=(\\1))?$v:true', $_contexte['ajax']);
2109
-			unset($_contexte['ajax']);
2110
-		}
2111
-
2112
-		$_l = 'array(' . join(",\n\t", $_contexte) . ')';
2113
-		if ($flag_env) {
2114
-			$_l = "array_merge(\$Pile[0],$_l)";
2115
-		}
2116
-
2117
-		$page = sprintf(CODE_RECUPERER_FOND, $nom, $_l, $_options, _q($connect));
2118
-
2119
-		$p->code = "\n\t(((\$recurs=(isset(\$Pile[0]['recurs'])?\$Pile[0]['recurs']:0))>=5)? '' :\n\t$page)\n";
2120
-
2121
-		$p->interdire_scripts = false; // securite assuree par le squelette
2122
-	}
2123
-
2124
-	return $p;
2062
+    $_contexte = argumenter_inclure($p->param, true, $p, $p->boucles, $p->id_boucle, false);
2063
+
2064
+    // erreur de syntaxe = fond absent
2065
+    // (2 messages d'erreur SPIP pour le prix d'un, mais pas d'erreur PHP
2066
+    if (!$_contexte) {
2067
+        $_contexte = [];
2068
+    }
2069
+
2070
+    if (!isset($_contexte[1])) {
2071
+        $msg = ['zbug_balise_sans_argument', ['balise' => ' MODELE']];
2072
+        erreur_squelette($msg, $p);
2073
+    } else {
2074
+        $nom = $_contexte[1];
2075
+        unset($_contexte[1]);
2076
+
2077
+        if (preg_match("/^\s*'[^']*'/s", $nom)) {
2078
+            $nom = "'modeles/" . substr($nom, 1);
2079
+        } else {
2080
+            $nom = "'modeles/' . $nom";
2081
+        }
2082
+
2083
+        $flag_env = false;
2084
+        if (isset($_contexte['env'])) {
2085
+            $flag_env = true;
2086
+            unset($_contexte['env']);
2087
+        }
2088
+
2089
+        // Incoherence dans la syntaxe du contexte. A revoir.
2090
+        // Reserver la cle primaire de la boucle courante si elle existe
2091
+        if (isset($p->boucles[$p->id_boucle]->primary)) {
2092
+            $primary = $p->boucles[$p->id_boucle]->primary;
2093
+            if (!strpos($primary, ',')) {
2094
+                $id = champ_sql($primary, $p);
2095
+                $_contexte[] = "'$primary'=>" . $id;
2096
+                $_contexte[] = "'id'=>" . $id;
2097
+            }
2098
+        }
2099
+        $_contexte[] = "'recurs'=>(++\$recurs)";
2100
+        $connect = '';
2101
+        if (isset($p->boucles[$p->id_boucle])) {
2102
+            $connect = $p->boucles[$p->id_boucle]->sql_serveur;
2103
+        }
2104
+
2105
+        $_options = memoriser_contexte_compil($p);
2106
+        $_options = "'compil'=>array($_options), 'trim'=>true";
2107
+        if (isset($_contexte['ajax'])) {
2108
+            $_options .= ', ' . preg_replace(',=>(.*)$,ims', '=> ($v=(\\1))?$v:true', $_contexte['ajax']);
2109
+            unset($_contexte['ajax']);
2110
+        }
2111
+
2112
+        $_l = 'array(' . join(",\n\t", $_contexte) . ')';
2113
+        if ($flag_env) {
2114
+            $_l = "array_merge(\$Pile[0],$_l)";
2115
+        }
2116
+
2117
+        $page = sprintf(CODE_RECUPERER_FOND, $nom, $_l, $_options, _q($connect));
2118
+
2119
+        $p->code = "\n\t(((\$recurs=(isset(\$Pile[0]['recurs'])?\$Pile[0]['recurs']:0))>=5)? '' :\n\t$page)\n";
2120
+
2121
+        $p->interdire_scripts = false; // securite assuree par le squelette
2122
+    }
2123
+
2124
+    return $p;
2125 2125
 }
2126 2126
 
2127 2127
 
@@ -2145,21 +2145,21 @@  discard block
 block discarded – undo
2145 2145
  *     Pile complétée par le code à générer
2146 2146
  **/
2147 2147
 function balise_SET_dist($p) {
2148
-	$_nom = interprete_argument_balise(1, $p);
2149
-	$_val = interprete_argument_balise(2, $p);
2148
+    $_nom = interprete_argument_balise(1, $p);
2149
+    $_val = interprete_argument_balise(2, $p);
2150 2150
 
2151
-	if (!$_nom or !$_val) {
2152
-		$err_b_s_a = ['zbug_balise_sans_argument', ['balise' => 'SET']];
2153
-		erreur_squelette($err_b_s_a, $p);
2154
-	}
2155
-	// affectation $_zzz inutile, mais permet de contourner un bug OpCode cache sous PHP 5.5.4
2156
-	// cf https://bugs.php.net/bug.php?id=65845
2157
-	else {
2158
-		$p->code = "vide(\$Pile['vars'][\$_zzz=(string)$_nom] = $_val)";
2159
-	}
2151
+    if (!$_nom or !$_val) {
2152
+        $err_b_s_a = ['zbug_balise_sans_argument', ['balise' => 'SET']];
2153
+        erreur_squelette($err_b_s_a, $p);
2154
+    }
2155
+    // affectation $_zzz inutile, mais permet de contourner un bug OpCode cache sous PHP 5.5.4
2156
+    // cf https://bugs.php.net/bug.php?id=65845
2157
+    else {
2158
+        $p->code = "vide(\$Pile['vars'][\$_zzz=(string)$_nom] = $_val)";
2159
+    }
2160 2160
 
2161
-	$p->interdire_scripts = false; // la balise ne renvoie rien
2162
-	return $p;
2161
+    $p->interdire_scripts = false; // la balise ne renvoie rien
2162
+    return $p;
2163 2163
 }
2164 2164
 
2165 2165
 
@@ -2189,12 +2189,12 @@  discard block
 block discarded – undo
2189 2189
  *     Pile complétée par le code à générer
2190 2190
  **/
2191 2191
 function balise_GET_dist($p) {
2192
-	$p->interdire_scripts = false; // le contenu vient de #SET, donc il est de confiance
2193
-	if (function_exists('balise_ENV')) {
2194
-		return balise_ENV($p, '$Pile["vars"]??[]');
2195
-	} else {
2196
-		return balise_ENV_dist($p, '$Pile["vars"]??[]');
2197
-	}
2192
+    $p->interdire_scripts = false; // le contenu vient de #SET, donc il est de confiance
2193
+    if (function_exists('balise_ENV')) {
2194
+        return balise_ENV($p, '$Pile["vars"]??[]');
2195
+    } else {
2196
+        return balise_ENV_dist($p, '$Pile["vars"]??[]');
2197
+    }
2198 2198
 }
2199 2199
 
2200 2200
 
@@ -2217,22 +2217,22 @@  discard block
 block discarded – undo
2217 2217
  *     Pile complétée par le code à générer
2218 2218
  **/
2219 2219
 function balise_DOUBLONS_dist($p) {
2220
-	if ($type = interprete_argument_balise(1, $p)) {
2221
-		if ($famille = interprete_argument_balise(2, $p)) {
2222
-			$type .= '.' . $famille;
2223
-		}
2224
-		$p->code = '(isset($doublons[' . $type . ']) ? $doublons[' . $type . '] : "")';
2225
-		if (!$p->etoile) {
2226
-			$p->code = 'array_filter(array_map("intval",explode(",",'
2227
-				. $p->code . ')))';
2228
-		}
2229
-	} else {
2230
-		$p->code = '$doublons';
2231
-	}
2220
+    if ($type = interprete_argument_balise(1, $p)) {
2221
+        if ($famille = interprete_argument_balise(2, $p)) {
2222
+            $type .= '.' . $famille;
2223
+        }
2224
+        $p->code = '(isset($doublons[' . $type . ']) ? $doublons[' . $type . '] : "")';
2225
+        if (!$p->etoile) {
2226
+            $p->code = 'array_filter(array_map("intval",explode(",",'
2227
+                . $p->code . ')))';
2228
+        }
2229
+    } else {
2230
+        $p->code = '$doublons';
2231
+    }
2232 2232
 
2233
-	$p->interdire_scripts = false;
2233
+    $p->interdire_scripts = false;
2234 2234
 
2235
-	return $p;
2235
+    return $p;
2236 2236
 }
2237 2237
 
2238 2238
 
@@ -2255,18 +2255,18 @@  discard block
 block discarded – undo
2255 2255
  *     Pile complétée par le code à générer
2256 2256
  **/
2257 2257
 function balise_PIPELINE_dist($p) {
2258
-	$_pipe = interprete_argument_balise(1, $p);
2259
-	if (!$_pipe) {
2260
-		$err_b_s_a = ['zbug_balise_sans_argument', ['balise' => 'PIPELINE']];
2261
-		erreur_squelette($err_b_s_a, $p);
2262
-	} else {
2263
-		$_flux = interprete_argument_balise(2, $p);
2264
-		$_flux = $_flux ?: "''";
2265
-		$p->code = "pipeline( $_pipe , $_flux )";
2266
-		$p->interdire_scripts = false;
2267
-	}
2258
+    $_pipe = interprete_argument_balise(1, $p);
2259
+    if (!$_pipe) {
2260
+        $err_b_s_a = ['zbug_balise_sans_argument', ['balise' => 'PIPELINE']];
2261
+        erreur_squelette($err_b_s_a, $p);
2262
+    } else {
2263
+        $_flux = interprete_argument_balise(2, $p);
2264
+        $_flux = $_flux ?: "''";
2265
+        $p->code = "pipeline( $_pipe , $_flux )";
2266
+        $p->interdire_scripts = false;
2267
+    }
2268 2268
 
2269
-	return $p;
2269
+    return $p;
2270 2270
 }
2271 2271
 
2272 2272
 
@@ -2291,10 +2291,10 @@  discard block
 block discarded – undo
2291 2291
  *     Pile complétée par le code à générer
2292 2292
  **/
2293 2293
 function balise_EDIT_dist($p) {
2294
-	$p->code = "''";
2295
-	$p->interdire_scripts = false;
2294
+    $p->code = "''";
2295
+    $p->interdire_scripts = false;
2296 2296
 
2297
-	return $p;
2297
+    return $p;
2298 2298
 }
2299 2299
 
2300 2300
 
@@ -2317,11 +2317,11 @@  discard block
 block discarded – undo
2317 2317
  *     Pile complétée par le code à générer
2318 2318
  **/
2319 2319
 function balise_TOTAL_UNIQUE_dist($p) {
2320
-	$_famille = interprete_argument_balise(1, $p);
2321
-	$_famille = $_famille ?: "''";
2322
-	$p->code = "unique('', $_famille, true)";
2320
+    $_famille = interprete_argument_balise(1, $p);
2321
+    $_famille = $_famille ?: "''";
2322
+    $p->code = "unique('', $_famille, true)";
2323 2323
 
2324
-	return $p;
2324
+    return $p;
2325 2325
 }
2326 2326
 
2327 2327
 /**
@@ -2344,19 +2344,19 @@  discard block
 block discarded – undo
2344 2344
  *     Pile complétée par le code à générer
2345 2345
  **/
2346 2346
 function balise_ARRAY_dist($p) {
2347
-	$_code = [];
2348
-	$n = 1;
2349
-	do {
2350
-		$_key = interprete_argument_balise($n++, $p);
2351
-		$_val = interprete_argument_balise($n++, $p);
2352
-		if ($_key and $_val) {
2353
-			$_code[] = "$_key => $_val";
2354
-		}
2355
-	} while ($_key && $_val);
2356
-	$p->code = 'array(' . join(', ', $_code) . ')';
2357
-	$p->interdire_scripts = false;
2347
+    $_code = [];
2348
+    $n = 1;
2349
+    do {
2350
+        $_key = interprete_argument_balise($n++, $p);
2351
+        $_val = interprete_argument_balise($n++, $p);
2352
+        if ($_key and $_val) {
2353
+            $_code[] = "$_key => $_val";
2354
+        }
2355
+    } while ($_key && $_val);
2356
+    $p->code = 'array(' . join(', ', $_code) . ')';
2357
+    $p->interdire_scripts = false;
2358 2358
 
2359
-	return $p;
2359
+    return $p;
2360 2360
 }
2361 2361
 
2362 2362
 /**
@@ -2375,15 +2375,15 @@  discard block
 block discarded – undo
2375 2375
  *     Pile complétée par le code à générer
2376 2376
  */
2377 2377
 function balise_LISTE_dist($p) {
2378
-	$_code = [];
2379
-	$n = 1;
2380
-	while ($_val = interprete_argument_balise($n++, $p)) {
2381
-		$_code[] = $_val;
2382
-	}
2383
-	$p->code = 'array(' . join(', ', $_code) . ')';
2384
-	$p->interdire_scripts = false;
2378
+    $_code = [];
2379
+    $n = 1;
2380
+    while ($_val = interprete_argument_balise($n++, $p)) {
2381
+        $_code[] = $_val;
2382
+    }
2383
+    $p->code = 'array(' . join(', ', $_code) . ')';
2384
+    $p->interdire_scripts = false;
2385 2385
 
2386
-	return $p;
2386
+    return $p;
2387 2387
 }
2388 2388
 
2389 2389
 
@@ -2417,21 +2417,21 @@  discard block
 block discarded – undo
2417 2417
  *     Pile complétée par le code à générer
2418 2418
  **/
2419 2419
 function balise_AUTORISER_dist($p) {
2420
-	$_code = [];
2421
-	$p->descr['session'] = true; // faire un cache par session
2420
+    $_code = [];
2421
+    $p->descr['session'] = true; // faire un cache par session
2422 2422
 
2423
-	$n = 1;
2424
-	while ($_v = interprete_argument_balise($n++, $p)) {
2425
-		$_code[] = $_v;
2426
-	}
2423
+    $n = 1;
2424
+    while ($_v = interprete_argument_balise($n++, $p)) {
2425
+        $_code[] = $_v;
2426
+    }
2427 2427
 
2428
-	$p->code = '((function_exists("autoriser")||include_spip("inc/autoriser"))&&autoriser(' . join(
2429
-		', ',
2430
-		$_code
2431
-	) . ')?" ":"")';
2432
-	$p->interdire_scripts = false;
2428
+    $p->code = '((function_exists("autoriser")||include_spip("inc/autoriser"))&&autoriser(' . join(
2429
+        ', ',
2430
+        $_code
2431
+    ) . ')?" ":"")';
2432
+    $p->interdire_scripts = false;
2433 2433
 
2434
-	return $p;
2434
+    return $p;
2435 2435
 }
2436 2436
 
2437 2437
 
@@ -2455,15 +2455,15 @@  discard block
 block discarded – undo
2455 2455
  *     Pile complétée par le code à générer
2456 2456
  **/
2457 2457
 function balise_PLUGIN_dist($p) {
2458
-	$plugin = interprete_argument_balise(1, $p);
2459
-	$plugin = isset($plugin) ? str_replace('\'', '"', $plugin) : '""';
2460
-	$type_info = interprete_argument_balise(2, $p);
2461
-	$type_info = isset($type_info) ? str_replace('\'', '"', $type_info) : '"est_actif"';
2458
+    $plugin = interprete_argument_balise(1, $p);
2459
+    $plugin = isset($plugin) ? str_replace('\'', '"', $plugin) : '""';
2460
+    $type_info = interprete_argument_balise(2, $p);
2461
+    $type_info = isset($type_info) ? str_replace('\'', '"', $type_info) : '"est_actif"';
2462 2462
 
2463
-	$f = chercher_filtre('info_plugin');
2464
-	$p->code = $f . '(' . $plugin . ', ' . $type_info . ')';
2463
+    $f = chercher_filtre('info_plugin');
2464
+    $p->code = $f . '(' . $plugin . ', ' . $type_info . ')';
2465 2465
 
2466
-	return $p;
2466
+    return $p;
2467 2467
 }
2468 2468
 
2469 2469
 /**
@@ -2484,9 +2484,9 @@  discard block
 block discarded – undo
2484 2484
  *     Pile complétée par le code à générer
2485 2485
  **/
2486 2486
 function balise_AIDER_dist($p) {
2487
-	$_motif = interprete_argument_balise(1, $p);
2488
-	$p->code = "((\$aider=charger_fonction('aide','inc',true))?\$aider($_motif):'')";
2489
-	return $p;
2487
+    $_motif = interprete_argument_balise(1, $p);
2488
+    $p->code = "((\$aider=charger_fonction('aide','inc',true))?\$aider($_motif):'')";
2489
+    return $p;
2490 2490
 }
2491 2491
 
2492 2492
 /**
@@ -2512,16 +2512,16 @@  discard block
 block discarded – undo
2512 2512
  *     Pile complétée par le code à générer
2513 2513
  **/
2514 2514
 function balise_ACTION_FORMULAIRE($p) {
2515
-	if (!$_url = interprete_argument_balise(1, $p)) {
2516
-		$_url = "(\$Pile[0]['action'] ?? '')";
2517
-	}
2518
-	if (!$_form = interprete_argument_balise(2, $p)) {
2519
-		$_form = "(\$Pile[0]['form'] ?? '')";
2520
-	}
2521
-
2522
-	// envoyer le nom du formulaire que l'on traite
2523
-	// transmettre les eventuels args de la balise formulaire
2524
-	$p->code = "	'<span class=\"form-hidden\">' .
2515
+    if (!$_url = interprete_argument_balise(1, $p)) {
2516
+        $_url = "(\$Pile[0]['action'] ?? '')";
2517
+    }
2518
+    if (!$_form = interprete_argument_balise(2, $p)) {
2519
+        $_form = "(\$Pile[0]['form'] ?? '')";
2520
+    }
2521
+
2522
+    // envoyer le nom du formulaire que l'on traite
2523
+    // transmettre les eventuels args de la balise formulaire
2524
+    $p->code = "	'<span class=\"form-hidden\">' .
2525 2525
 	form_hidden($_url) .
2526 2526
 	'<input name=\'formulaire_action\' type=\'hidden\'
2527 2527
 		value=\'' . $_form . '\' />' .
@@ -2532,9 +2532,9 @@  discard block
 block discarded – undo
2532 2532
 	(\$Pile[0]['_hidden'] ?? '') .
2533 2533
 	'</span>'";
2534 2534
 
2535
-	$p->interdire_scripts = false;
2535
+    $p->interdire_scripts = false;
2536 2536
 
2537
-	return $p;
2537
+    return $p;
2538 2538
 }
2539 2539
 
2540 2540
 
@@ -2575,25 +2575,25 @@  discard block
 block discarded – undo
2575 2575
  */
2576 2576
 function balise_BOUTON_ACTION_dist($p) {
2577 2577
 
2578
-	$args = [];
2579
-	for ($k = 1; $k <= 6; $k++) {
2580
-		$_a = interprete_argument_balise($k, $p);
2581
-		if (!$_a) {
2582
-			$_a = "''";
2583
-		}
2584
-		$args[] = $_a;
2585
-	}
2586
-	// supprimer les args vides
2587
-	while (end($args) == "''" and count($args) > 2) {
2588
-		array_pop($args);
2589
-	}
2590
-	$args = implode(',', $args);
2578
+    $args = [];
2579
+    for ($k = 1; $k <= 6; $k++) {
2580
+        $_a = interprete_argument_balise($k, $p);
2581
+        if (!$_a) {
2582
+            $_a = "''";
2583
+        }
2584
+        $args[] = $_a;
2585
+    }
2586
+    // supprimer les args vides
2587
+    while (end($args) == "''" and count($args) > 2) {
2588
+        array_pop($args);
2589
+    }
2590
+    $args = implode(',', $args);
2591 2591
 
2592
-	$bouton_action = chercher_filtre('bouton_action');
2593
-	$p->code = "$bouton_action($args)";
2594
-	$p->interdire_scripts = false;
2592
+    $bouton_action = chercher_filtre('bouton_action');
2593
+    $p->code = "$bouton_action($args)";
2594
+    $p->interdire_scripts = false;
2595 2595
 
2596
-	return $p;
2596
+    return $p;
2597 2597
 }
2598 2598
 
2599 2599
 
@@ -2612,10 +2612,10 @@  discard block
 block discarded – undo
2612 2612
  *     Pile complétée par le code à générer
2613 2613
  */
2614 2614
 function balise_SLOGAN_SITE_SPIP_dist($p) {
2615
-	$p->code = "\$GLOBALS['meta']['slogan_site']";
2615
+    $p->code = "\$GLOBALS['meta']['slogan_site']";
2616 2616
 
2617
-	#$p->interdire_scripts = true;
2618
-	return $p;
2617
+    #$p->interdire_scripts = true;
2618
+    return $p;
2619 2619
 }
2620 2620
 
2621 2621
 
@@ -2639,10 +2639,10 @@  discard block
 block discarded – undo
2639 2639
  *     Pile complétée par le code à générer
2640 2640
  */
2641 2641
 function balise_HTML5_dist($p) {
2642
-	$p->code = html5_permis() ? "' '" : "''";
2643
-	$p->interdire_scripts = false;
2642
+    $p->code = html5_permis() ? "' '" : "''";
2643
+    $p->interdire_scripts = false;
2644 2644
 
2645
-	return $p;
2645
+    return $p;
2646 2646
 }
2647 2647
 
2648 2648
 
@@ -2668,58 +2668,58 @@  discard block
 block discarded – undo
2668 2668
  *     Pile complétée par le code à générer
2669 2669
  */
2670 2670
 function balise_TRI_dist($p, $liste = 'true') {
2671
-	$b = index_boucle_mere($p);
2672
-	// s'il n'y a pas de nom de boucle, on ne peut pas trier
2673
-	if ($b === '') {
2674
-		$msg = ['zbug_champ_hors_boucle', ['champ' => zbug_presenter_champ($p)]];
2675
-		erreur_squelette($msg, $p);
2676
-		$p->code = "''";
2671
+    $b = index_boucle_mere($p);
2672
+    // s'il n'y a pas de nom de boucle, on ne peut pas trier
2673
+    if ($b === '') {
2674
+        $msg = ['zbug_champ_hors_boucle', ['champ' => zbug_presenter_champ($p)]];
2675
+        erreur_squelette($msg, $p);
2676
+        $p->code = "''";
2677 2677
 
2678
-		return $p;
2679
-	}
2680
-	$boucle = $p->boucles[$b];
2678
+        return $p;
2679
+    }
2680
+    $boucle = $p->boucles[$b];
2681 2681
 
2682
-	// s'il n'y a pas de tri_champ, c'est qu'on se trouve
2683
-	// dans un boucle recursive ou qu'on a oublie le critere {tri}
2684
-	if (!isset($boucle->modificateur['tri_champ'])) {
2685
-		$msg = ['zbug_champ_hors_critere', [
2686
-			'champ' => zbug_presenter_champ($p),
2687
-			'critere' => 'tri'
2688
-		]];
2689
-		erreur_squelette($msg, $p);
2690
-		$p->code = "''";
2682
+    // s'il n'y a pas de tri_champ, c'est qu'on se trouve
2683
+    // dans un boucle recursive ou qu'on a oublie le critere {tri}
2684
+    if (!isset($boucle->modificateur['tri_champ'])) {
2685
+        $msg = ['zbug_champ_hors_critere', [
2686
+            'champ' => zbug_presenter_champ($p),
2687
+            'critere' => 'tri'
2688
+        ]];
2689
+        erreur_squelette($msg, $p);
2690
+        $p->code = "''";
2691 2691
 
2692
-		return $p;
2693
-	}
2692
+        return $p;
2693
+    }
2694 2694
 
2695
-	// Différentes infos relatives au tri présentes dans les modificateurs
2696
-	$_tri_nom = $boucle->modificateur['tri_nom'] ; // nom du paramètre définissant le tri
2697
-	$_tri_champ = $boucle->modificateur['tri_champ']; // champ actuel utilisé le tri
2698
-	$_tri_sens = $boucle->modificateur['tri_sens']; // sens de tri actuel
2699
-	$_tri_liste_sens_defaut = $boucle->modificateur['tri_liste_sens_defaut']; // sens par défaut pour chaque champ
2695
+    // Différentes infos relatives au tri présentes dans les modificateurs
2696
+    $_tri_nom = $boucle->modificateur['tri_nom'] ; // nom du paramètre définissant le tri
2697
+    $_tri_champ = $boucle->modificateur['tri_champ']; // champ actuel utilisé le tri
2698
+    $_tri_sens = $boucle->modificateur['tri_sens']; // sens de tri actuel
2699
+    $_tri_liste_sens_defaut = $boucle->modificateur['tri_liste_sens_defaut']; // sens par défaut pour chaque champ
2700 2700
 
2701
-	$_champ_ou_sens = interprete_argument_balise(1, $p);
2702
-	// si pas de champ, renvoyer le critère de tri actuel
2703
-	if (!$_champ_ou_sens) {
2704
-		$p->code = $_tri_champ;
2701
+    $_champ_ou_sens = interprete_argument_balise(1, $p);
2702
+    // si pas de champ, renvoyer le critère de tri actuel
2703
+    if (!$_champ_ou_sens) {
2704
+        $p->code = $_tri_champ;
2705 2705
 
2706
-		return $p;
2707
-	}
2708
-	// forcer la jointure si besoin, et si le champ est statique
2709
-	if (preg_match(",^'([\w.]+)'$,i", $_champ_ou_sens, $m)) {
2710
-		index_pile($b, $m[1], $p->boucles, '', null, true, false);
2711
-	}
2706
+        return $p;
2707
+    }
2708
+    // forcer la jointure si besoin, et si le champ est statique
2709
+    if (preg_match(",^'([\w.]+)'$,i", $_champ_ou_sens, $m)) {
2710
+        index_pile($b, $m[1], $p->boucles, '', null, true, false);
2711
+    }
2712 2712
 
2713
-	$_libelle = interprete_argument_balise(2, $p);
2714
-	$_libelle = $_libelle ?: $_champ_ou_sens;
2713
+    $_libelle = interprete_argument_balise(2, $p);
2714
+    $_libelle = $_libelle ?: $_champ_ou_sens;
2715 2715
 
2716
-	$_class = interprete_argument_balise(3, $p) ?? "''";
2716
+    $_class = interprete_argument_balise(3, $p) ?? "''";
2717 2717
 
2718
-	$p->code = "calculer_balise_tri($_champ_ou_sens, $_libelle, $_class, $_tri_nom, $_tri_champ, $_tri_sens, $_tri_liste_sens_defaut)";
2718
+    $p->code = "calculer_balise_tri($_champ_ou_sens, $_libelle, $_class, $_tri_nom, $_tri_champ, $_tri_sens, $_tri_liste_sens_defaut)";
2719 2719
 
2720
-	$p->interdire_scripts = false;
2720
+    $p->interdire_scripts = false;
2721 2721
 
2722
-	return $p;
2722
+    return $p;
2723 2723
 }
2724 2724
 
2725 2725
 
@@ -2740,21 +2740,21 @@  discard block
 block discarded – undo
2740 2740
  *     Pile complétée par le code à générer
2741 2741
  */
2742 2742
 function balise_SAUTER_dist($p) {
2743
-	$id_boucle = $p->id_boucle;
2743
+    $id_boucle = $p->id_boucle;
2744 2744
 
2745
-	if (empty($p->boucles[$id_boucle])) {
2746
-		$msg = ['zbug_champ_hors_boucle', ['champ' => '#SAUTER']];
2747
-		erreur_squelette($msg, $p);
2748
-	} else {
2749
-		$_saut = interprete_argument_balise(1, $p);
2750
-		$_compteur = "\$Numrows['$id_boucle']['compteur_boucle']";
2751
-		$_total = "(\$Numrows['$id_boucle']['total'] ?? null)";
2745
+    if (empty($p->boucles[$id_boucle])) {
2746
+        $msg = ['zbug_champ_hors_boucle', ['champ' => '#SAUTER']];
2747
+        erreur_squelette($msg, $p);
2748
+    } else {
2749
+        $_saut = interprete_argument_balise(1, $p);
2750
+        $_compteur = "\$Numrows['$id_boucle']['compteur_boucle']";
2751
+        $_total = "(\$Numrows['$id_boucle']['total'] ?? null)";
2752 2752
 
2753
-		$p->code = "vide($_compteur=\$iter->skip($_saut,$_total))";
2754
-	}
2755
-	$p->interdire_scripts = false;
2753
+        $p->code = "vide($_compteur=\$iter->skip($_saut,$_total))";
2754
+    }
2755
+    $p->interdire_scripts = false;
2756 2756
 
2757
-	return $p;
2757
+    return $p;
2758 2758
 }
2759 2759
 
2760 2760
 
@@ -2776,22 +2776,22 @@  discard block
 block discarded – undo
2776 2776
  *     Pile complétée par le code à générer
2777 2777
  */
2778 2778
 function balise_PUBLIE_dist($p) {
2779
-	if (!$_type = interprete_argument_balise(1, $p)) {
2780
-		$_type = _q($p->type_requete);
2781
-		$_id = champ_sql($p->boucles[$p->id_boucle]->primary, $p);
2782
-	} else {
2783
-		$_id = interprete_argument_balise(2, $p);
2784
-	}
2779
+    if (!$_type = interprete_argument_balise(1, $p)) {
2780
+        $_type = _q($p->type_requete);
2781
+        $_id = champ_sql($p->boucles[$p->id_boucle]->primary, $p);
2782
+    } else {
2783
+        $_id = interprete_argument_balise(2, $p);
2784
+    }
2785 2785
 
2786
-	$connect = '';
2787
-	if (isset($p->boucles[$p->id_boucle])) {
2788
-		$connect = $p->boucles[$p->id_boucle]->sql_serveur;
2789
-	}
2786
+    $connect = '';
2787
+    if (isset($p->boucles[$p->id_boucle])) {
2788
+        $connect = $p->boucles[$p->id_boucle]->sql_serveur;
2789
+    }
2790 2790
 
2791
-	$p->code = '(objet_test_si_publie(' . $_type . ',intval(' . $_id . '),' . _q($connect) . ")?' ':'')";
2792
-	$p->interdire_scripts = false;
2791
+    $p->code = '(objet_test_si_publie(' . $_type . ',intval(' . $_id . '),' . _q($connect) . ")?' ':'')";
2792
+    $p->interdire_scripts = false;
2793 2793
 
2794
-	return $p;
2794
+    return $p;
2795 2795
 }
2796 2796
 
2797 2797
 /**
@@ -2820,12 +2820,12 @@  discard block
 block discarded – undo
2820 2820
  *     Pile complétée par le code à générer
2821 2821
  */
2822 2822
 function balise_PRODUIRE_dist($p) {
2823
-	$balise_inclure = charger_fonction('INCLURE', 'balise');
2824
-	$p = $balise_inclure($p);
2823
+    $balise_inclure = charger_fonction('INCLURE', 'balise');
2824
+    $p = $balise_inclure($p);
2825 2825
 
2826
-	$p->code = str_replace('recuperer_fond(', 'produire_fond_statique(', $p->code);
2826
+    $p->code = str_replace('recuperer_fond(', 'produire_fond_statique(', $p->code);
2827 2827
 
2828
-	return $p;
2828
+    return $p;
2829 2829
 }
2830 2830
 
2831 2831
 /**
@@ -2844,13 +2844,13 @@  discard block
 block discarded – undo
2844 2844
  *     Pile complétée par le code à générer
2845 2845
  */
2846 2846
 function balise_LARGEUR_ECRAN_dist($p) {
2847
-	$_class = interprete_argument_balise(1, $p);
2848
-	if (!$_class) {
2849
-		$_class = 'null';
2850
-	}
2851
-	$p->code = "(is_string($_class)?vide(\$GLOBALS['largeur_ecran']=$_class):(isset(\$GLOBALS['largeur_ecran'])?\$GLOBALS['largeur_ecran']:''))";
2847
+    $_class = interprete_argument_balise(1, $p);
2848
+    if (!$_class) {
2849
+        $_class = 'null';
2850
+    }
2851
+    $p->code = "(is_string($_class)?vide(\$GLOBALS['largeur_ecran']=$_class):(isset(\$GLOBALS['largeur_ecran'])?\$GLOBALS['largeur_ecran']:''))";
2852 2852
 
2853
-	return $p;
2853
+    return $p;
2854 2854
 }
2855 2855
 
2856 2856
 
@@ -2866,14 +2866,14 @@  discard block
 block discarded – undo
2866 2866
  *     Pile complétée par le code à générer
2867 2867
  **/
2868 2868
 function balise_CONST_dist($p) {
2869
-	$_const = interprete_argument_balise(1, $p);
2870
-	if (!strlen($_const ?? '')) {
2871
-		$p->code = "''";
2872
-	}
2873
-	else {
2874
-		$p->code = "(defined($_const)?constant($_const):'')";
2875
-	}
2876
-	$p->interdire_scripts = false;
2877
-
2878
-	return $p;
2869
+    $_const = interprete_argument_balise(1, $p);
2870
+    if (!strlen($_const ?? '')) {
2871
+        $p->code = "''";
2872
+    }
2873
+    else {
2874
+        $p->code = "(defined($_const)?constant($_const):'')";
2875
+    }
2876
+    $p->interdire_scripts = false;
2877
+
2878
+    return $p;
2879 2879
 }
Please login to merge, or discard this patch.
prive/informer_auteur_fonctions.php 1 patch
Indentation   +11 added lines, -11 removed lines patch added patch discarded remove patch
@@ -10,7 +10,7 @@  discard block
 block discarded – undo
10 10
 \***************************************************************************/
11 11
 
12 12
 if (!defined('_ECRIRE_INC_VERSION')) {
13
-	return;
13
+    return;
14 14
 }
15 15
 
16 16
 
@@ -33,15 +33,15 @@  discard block
 block discarded – undo
33 33
  *     JSON des différentes informations
34 34
  */
35 35
 function informer_auteur($bof) {
36
-	include_spip('inc/json');
37
-	include_spip('formulaires/login');
38
-	include_spip('inc/auth');
39
-	$login = (string) _request('var_login');
40
-	$row = auth_informer_login($login);
41
-	if ($row && is_array($row) && isset($row['id_auteur'])) {
42
-		unset($row['id_auteur']);
43
-	}
36
+    include_spip('inc/json');
37
+    include_spip('formulaires/login');
38
+    include_spip('inc/auth');
39
+    $login = (string) _request('var_login');
40
+    $row = auth_informer_login($login);
41
+    if ($row && is_array($row) && isset($row['id_auteur'])) {
42
+        unset($row['id_auteur']);
43
+    }
44 44
 
45
-	// on encode tout pour ne pas avoir de probleme au deballage dans le JS
46
-	return json_encode($row, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP);
45
+    // on encode tout pour ne pas avoir de probleme au deballage dans le JS
46
+    return json_encode($row, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP);
47 47
 }
Please login to merge, or discard this patch.
prive/formulaires/configurer_transcodeur.php 1 patch
Indentation   +16 added lines, -16 removed lines patch added patch discarded remove patch
@@ -10,33 +10,33 @@
 block discarded – undo
10 10
 \***************************************************************************/
11 11
 
12 12
 if (!defined('_ECRIRE_INC_VERSION')) {
13
-	return;
13
+    return;
14 14
 }
15 15
 
16 16
 function formulaires_configurer_transcodeur_charger_dist() {
17
-	return [
18
-		'charset' => $GLOBALS['meta']['charset'],
19
-	];
17
+    return [
18
+        'charset' => $GLOBALS['meta']['charset'],
19
+    ];
20 20
 }
21 21
 
22 22
 function formulaires_configurer_transcodeur_verifier_dist() {
23
-	include_spip('inc/charsets');
23
+    include_spip('inc/charsets');
24 24
 
25
-	$erreurs = [];
26
-	if (!$charset = _request('charset')) {
27
-		$erreurs['charset'] = _T('info_obligatoire');
28
-	} elseif ($charset != 'utf-8' && !load_charset($charset)) {
29
-		$erreurs['charset'] = _T('utf8_convert_erreur_orig', ['charset' => entites_html($charset)]);
30
-	}
25
+    $erreurs = [];
26
+    if (!$charset = _request('charset')) {
27
+        $erreurs['charset'] = _T('info_obligatoire');
28
+    } elseif ($charset != 'utf-8' && !load_charset($charset)) {
29
+        $erreurs['charset'] = _T('utf8_convert_erreur_orig', ['charset' => entites_html($charset)]);
30
+    }
31 31
 
32
-	return $erreurs;
32
+    return $erreurs;
33 33
 }
34 34
 
35 35
 
36 36
 function formulaires_configurer_transcodeur_traiter_dist() {
37
-	$res = ['editable' => true];
38
-	ecrire_meta('charset', _request('charset'));
39
-	$res['message_ok'] = _T('config_info_enregistree');
37
+    $res = ['editable' => true];
38
+    ecrire_meta('charset', _request('charset'));
39
+    $res['message_ok'] = _T('config_info_enregistree');
40 40
 
41
-	return $res;
41
+    return $res;
42 42
 }
Please login to merge, or discard this patch.
prive/formulaires/instituer_objet.php 1 patch
Indentation   +107 added lines, -107 removed lines patch added patch discarded remove patch
@@ -16,7 +16,7 @@  discard block
 block discarded – undo
16 16
  **/
17 17
 
18 18
 if (!defined('_ECRIRE_INC_VERSION')) {
19
-	return;
19
+    return;
20 20
 }
21 21
 
22 22
 include_spip('inc/editer');
@@ -31,17 +31,17 @@  discard block
 block discarded – undo
31 31
  * @return array
32 32
  */
33 33
 function lister_statuts_proposes($desc, $publiable = true) {
34
-	if (!isset($desc['statut_textes_instituer'])) {
35
-		return false;
36
-	}
34
+    if (!isset($desc['statut_textes_instituer'])) {
35
+        return false;
36
+    }
37 37
 
38
-	$l = $desc['statut_textes_instituer'];
39
-	if (!$publiable) {
40
-		unset($l['publie']);
41
-		unset($l['refuse']);
42
-	}
38
+    $l = $desc['statut_textes_instituer'];
39
+    if (!$publiable) {
40
+        unset($l['publie']);
41
+        unset($l['refuse']);
42
+    }
43 43
 
44
-	return $l;
44
+    return $l;
45 45
 }
46 46
 
47 47
 /**
@@ -63,53 +63,53 @@  discard block
 block discarded – undo
63 63
  *     Environnement du formulaire ou false si aucun affichage à faire.
64 64
  */
65 65
 function formulaires_instituer_objet_charger_dist($objet, $id_objet, $retour = '', $editable = true) {
66
-	$editable = (bool) $editable;
67
-
68
-	$table = table_objet_sql($objet);
69
-	$desc = lister_tables_objets_sql($table);
70
-
71
-	if (!isset($desc['statut_textes_instituer'])) {
72
-		return false;
73
-	}
74
-
75
-	if (!autoriser('modifier', $objet, $id_objet)) {
76
-		$editable = false;
77
-	}
78
-
79
-	// charger le contenu de l'objet
80
-	// dont son champ statut
81
-	$v = formulaires_editer_objet_charger($objet, $id_objet, 0, 0, '', '');
82
-
83
-	$publiable = true;
84
-	$statuts = lister_statuts_proposes($desc);
85
-	// tester si on a le droit de publier, si un statut publie existe
86
-	if (
87
-		isset($statuts['publie'])
88
-		&& !autoriser('instituer', $objet, $id_objet, null, ['statut' => 'publie'])
89
-	) {
90
-		if ($v['statut'] == 'publie') {
91
-			$editable = false;
92
-		} else {
93
-			$publiable = false;
94
-		}
95
-	}
96
-	$statuts = lister_statuts_proposes($desc, $editable ? $publiable : true);
97
-	if (count($statuts) == 1 && isset($statuts[$v['statut']])) {
98
-		$editable = false;
99
-	}
100
-
101
-	#if (!count($valeurs['statuts']))
102
-	return [
103
-		'editable' => $editable,
104
-		'statut' => $v['statut'],
105
-		'_objet' => $objet,
106
-		'_id_objet' => $id_objet,
107
-		'_statuts' => $statuts,
108
-		'_publiable' => $publiable,
109
-		'_label' => $desc['texte_changer_statut'] ?? 'texte_article_statut',
110
-		'_aide' => $desc['aide_changer_statut'] ?? '',
111
-		'_hidden' => "<input type='hidden' name='statut_old' value='" . $v['statut'] . "' />",
112
-	];
66
+    $editable = (bool) $editable;
67
+
68
+    $table = table_objet_sql($objet);
69
+    $desc = lister_tables_objets_sql($table);
70
+
71
+    if (!isset($desc['statut_textes_instituer'])) {
72
+        return false;
73
+    }
74
+
75
+    if (!autoriser('modifier', $objet, $id_objet)) {
76
+        $editable = false;
77
+    }
78
+
79
+    // charger le contenu de l'objet
80
+    // dont son champ statut
81
+    $v = formulaires_editer_objet_charger($objet, $id_objet, 0, 0, '', '');
82
+
83
+    $publiable = true;
84
+    $statuts = lister_statuts_proposes($desc);
85
+    // tester si on a le droit de publier, si un statut publie existe
86
+    if (
87
+        isset($statuts['publie'])
88
+        && !autoriser('instituer', $objet, $id_objet, null, ['statut' => 'publie'])
89
+    ) {
90
+        if ($v['statut'] == 'publie') {
91
+            $editable = false;
92
+        } else {
93
+            $publiable = false;
94
+        }
95
+    }
96
+    $statuts = lister_statuts_proposes($desc, $editable ? $publiable : true);
97
+    if (count($statuts) == 1 && isset($statuts[$v['statut']])) {
98
+        $editable = false;
99
+    }
100
+
101
+    #if (!count($valeurs['statuts']))
102
+    return [
103
+        'editable' => $editable,
104
+        'statut' => $v['statut'],
105
+        '_objet' => $objet,
106
+        '_id_objet' => $id_objet,
107
+        '_statuts' => $statuts,
108
+        '_publiable' => $publiable,
109
+        '_label' => $desc['texte_changer_statut'] ?? 'texte_article_statut',
110
+        '_aide' => $desc['aide_changer_statut'] ?? '',
111
+        '_hidden' => "<input type='hidden' name='statut_old' value='" . $v['statut'] . "' />",
112
+    ];
113 113
 }
114 114
 
115 115
 /**
@@ -129,35 +129,35 @@  discard block
 block discarded – undo
129 129
  *     Tableau des erreurs
130 130
  */
131 131
 function formulaires_instituer_objet_verifier_dist($objet, $id_objet, $retour = '', $editable = true) {
132
-	$erreurs = [];
133
-	// charger le contenu de l'objet
134
-	// dont son champ statut
135
-	$v = formulaires_editer_objet_charger($objet, $id_objet, 0, 0, '', '');
136
-
137
-	if ($v['statut'] !== _request('statut_old')) {
138
-		$erreurs['statut'] = _T('instituer_erreur_statut_a_change');
139
-	} else {
140
-		$table = table_objet_sql($objet);
141
-		$desc = lister_tables_objets_sql($table);
142
-
143
-		$publiable = true;
144
-		if (
145
-			isset($v['id_rubrique'])
146
-			&& !autoriser('publierdans', 'rubrique', $v['id_rubrique'])
147
-		) {
148
-			$publiable = false;
149
-		}
150
-		$l = lister_statuts_proposes($desc, $publiable);
151
-		$statut = _request('statut');
152
-		if (
153
-			!isset($l[$statut])
154
-			|| !autoriser('instituer', $objet, $id_objet, '', ['statut' => $statut])
155
-		) {
156
-			$erreurs['statut'] = _T('instituer_erreur_statut_non_autorise');
157
-		}
158
-	}
159
-
160
-	return $erreurs;
132
+    $erreurs = [];
133
+    // charger le contenu de l'objet
134
+    // dont son champ statut
135
+    $v = formulaires_editer_objet_charger($objet, $id_objet, 0, 0, '', '');
136
+
137
+    if ($v['statut'] !== _request('statut_old')) {
138
+        $erreurs['statut'] = _T('instituer_erreur_statut_a_change');
139
+    } else {
140
+        $table = table_objet_sql($objet);
141
+        $desc = lister_tables_objets_sql($table);
142
+
143
+        $publiable = true;
144
+        if (
145
+            isset($v['id_rubrique'])
146
+            && !autoriser('publierdans', 'rubrique', $v['id_rubrique'])
147
+        ) {
148
+            $publiable = false;
149
+        }
150
+        $l = lister_statuts_proposes($desc, $publiable);
151
+        $statut = _request('statut');
152
+        if (
153
+            !isset($l[$statut])
154
+            || !autoriser('instituer', $objet, $id_objet, '', ['statut' => $statut])
155
+        ) {
156
+            $erreurs['statut'] = _T('instituer_erreur_statut_non_autorise');
157
+        }
158
+    }
159
+
160
+    return $erreurs;
161 161
 }
162 162
 
163 163
 /**
@@ -176,25 +176,25 @@  discard block
 block discarded – undo
176 176
  */
177 177
 function formulaires_instituer_objet_traiter_dist($objet, $id_objet, $retour = '', $editable = true) {
178 178
 
179
-	$c = ['statut' => _request('statut')];
180
-	// si on a envoye une 'date_posterieure', l'enregistrer
181
-	// todo dans le HTML
182
-	if ($d = _request('date_posterieure')) {
183
-		$c['date'] = $d;
184
-	}
185
-
186
-
187
-	include_spip('action/editer_objet');
188
-	if ($err = objet_instituer($objet, $id_objet, $c)) {
189
-		$res = ['message_erreur' => $err];
190
-	} else {
191
-		$res = ['message_ok' => _T('info_modification_enregistree')];
192
-		if ($retour) {
193
-			$res['redirect'] = $retour;
194
-		}
195
-		set_request('statut');
196
-		set_request('date_posterieure');
197
-	}
198
-
199
-	return $res;
179
+    $c = ['statut' => _request('statut')];
180
+    // si on a envoye une 'date_posterieure', l'enregistrer
181
+    // todo dans le HTML
182
+    if ($d = _request('date_posterieure')) {
183
+        $c['date'] = $d;
184
+    }
185
+
186
+
187
+    include_spip('action/editer_objet');
188
+    if ($err = objet_instituer($objet, $id_objet, $c)) {
189
+        $res = ['message_erreur' => $err];
190
+    } else {
191
+        $res = ['message_ok' => _T('info_modification_enregistree')];
192
+        if ($retour) {
193
+            $res['redirect'] = $retour;
194
+        }
195
+        set_request('statut');
196
+        set_request('date_posterieure');
197
+    }
198
+
199
+    return $res;
200 200
 }
Please login to merge, or discard this patch.
prive/formulaires/dater.php 1 patch
Indentation   +266 added lines, -266 removed lines patch added patch discarded remove patch
@@ -16,7 +16,7 @@  discard block
 block discarded – undo
16 16
  **/
17 17
 
18 18
 if (!defined('_ECRIRE_INC_VERSION')) {
19
-	return;
19
+    return;
20 20
 }
21 21
 
22 22
 
@@ -44,136 +44,136 @@  discard block
 block discarded – undo
44 44
  **/
45 45
 function formulaires_dater_charger_dist($objet, $id_objet, $retour = '', $options = []) {
46 46
 
47
-	$jour = null;
48
-	$mois = null;
49
-	$annee = null;
50
-	$heure = null;
51
-	$minute = null;
52
-	$objet = objet_type($objet);
53
-	if (!$objet || !(int) $id_objet) {
54
-		return false;
55
-	}
56
-
57
-	if (!is_array($options)) {
58
-		$options = unserialize($options);
59
-	}
60
-
61
-	$_id_objet = id_table_objet($objet);
62
-	$table = table_objet($objet);
63
-	$trouver_table = charger_fonction('trouver_table', 'base');
64
-	$desc = $trouver_table($table);
65
-
66
-	if (!$desc) {
67
-		return false;
68
-	}
69
-
70
-	$champ_date = $desc['date'] ?: 'date';
71
-	if (isset($options['champ_date']) && $options['champ_date']) {
72
-		$champ_date = $options['champ_date'];
73
-	}
74
-	if (!isset($desc['field'][$champ_date])) {
75
-		return false;
76
-	}
77
-
78
-	$valeurs = [
79
-		'objet' => $objet,
80
-		'id_objet' => $id_objet,
81
-		'id' => $id_objet,
82
-	];
83
-
84
-
85
-	$select = "$champ_date as date";
86
-	$champ_date_redac = 'date_redac';
87
-	if (isset($options['champ_date_redac']) && $options['champ_date_redac']) {
88
-		$champ_date_redac = $options['champ_date_redac'];
89
-	}
90
-	if (isset($desc['field'][$champ_date_redac])) {
91
-		$select .= ",$champ_date_redac as date_redac";
92
-	}
93
-	if (isset($desc['field']['statut'])) {
94
-		$select .= ',statut';
95
-	}
96
-
97
-
98
-	$row = sql_fetsel($select, $desc['table'], "$_id_objet=" . (int) $id_objet);
99
-	$statut = $row['statut'] ?? 'publie'; // pas de statut => publie
100
-
101
-	$valeurs['editable'] = autoriser('dater', $objet, $id_objet, null, ['statut' => $statut]);
102
-
103
-	$possedeDateRedac = false;
104
-
105
-	if (
106
-		isset($row['date_redac'])
107
-		&& ($regs = recup_date($row['date_redac'], false))
108
-	) {
109
-		$annee_redac = $regs[0];
110
-		$mois_redac = $regs[1];
111
-		$jour_redac = $regs[2];
112
-		$heure_redac = $regs[3];
113
-		$minute_redac = $regs[4];
114
-		$possedeDateRedac = true;
115
-		// attention : les vrai dates de l'annee 1 sont stockee avec +9000 => 9001
116
-		// mais reviennent ici en annee 1 par recup_date
117
-		// on verifie donc que le intval($row['date_redac']) qui ressort l'annee
118
-		// est bien lui aussi <=1 : dans ce cas c'est une date sql 'nulle' ou presque, selon
119
-		// le gestionnnaire sql utilise (0001-01-01 pour PG par exemple)
120
-		if ((int) $row['date_redac'] <= 1 && $annee_redac <= 1 && $mois_redac <= 1 && $jour_redac <= 1) {
121
-			$possedeDateRedac = false;
122
-		}
123
-	} else {
124
-		$annee_redac = $mois_redac = $jour_redac = $heure_redac = $minute_redac = 0;
125
-	}
126
-
127
-	if ($regs = recup_date($row['date'], false)) {
128
-		$annee = $regs[0];
129
-		$mois = $regs[1];
130
-		$jour = $regs[2];
131
-		$heure = $regs[3];
132
-		$minute = $regs[4];
133
-	}
134
-
135
-	// attention, si la variable s'appelle date ou date_redac, le compilo va
136
-	// la normaliser, ce qu'on ne veut pas ici.
137
-	$valeurs['afficher_date_redac'] = ($possedeDateRedac ? $row['date_redac'] : '');
138
-	$valeurs['date_redac_jour'] = dater_formater_saisie_jour($jour_redac, $mois_redac, $annee_redac);
139
-	$valeurs['date_redac_heure'] = "$heure_redac:$minute_redac";
140
-
141
-	$valeurs['afficher_date'] = $row['date'];
142
-	$valeurs['date_jour'] = dater_formater_saisie_jour($jour, $mois, $annee);
143
-	$valeurs['date_heure'] = "$heure:$minute";
144
-
145
-	$valeurs['sans_redac'] = !$possedeDateRedac;
146
-
147
-	if (isset($options['date_redac'])) {
148
-		$valeurs['_editer_date_anterieure'] = $options['date_redac'];
149
-	} else {
150
-		$valeurs['_editer_date_anterieure'] = ($objet == 'article' && ($GLOBALS['meta']['articles_redac'] != 'non' || $possedeDateRedac));
151
-	}
152
-	$valeurs['_label_date'] = (($statut == 'publie') ?
153
-		_T('texte_date_publication_objet') : _T('texte_date_creation_objet'));
154
-	if (isset($options['label_date']) && $options['label_date']) {
155
-		$valeurs['_label_date'] = $options['label_date'];
156
-	}
157
-	if (isset($options['label_date_redac']) && $options['label_date_redac']) {
158
-		$valeurs['_label_date_redac'] = $options['label_date_redac'];
159
-	}
160
-	if (isset($options['texte_sans_date_redac']) && $options['texte_sans_date_redac']) {
161
-		$valeurs['_texte_sans_date_redac'] = $options['texte_sans_date_redac'];
162
-	}
163
-	if (isset($options['class']) && $options['class']) {
164
-		$valeurs['_class'] = $options['class'];
165
-	}
166
-
167
-	$valeurs['_saisie_en_cours'] = (_request('_saisie_en_cours') !== null || _request('date_jour') !== null);
168
-
169
-	// cas ou l'on ne peut pas dater mais on peut modifier la date de redac anterieure
170
-	// https://core.spip.net/issues/3494
171
-	$valeurs['_editer_date'] = $valeurs['editable'];
172
-	if ($valeurs['_editer_date_anterieure'] && !$valeurs['editable']) {
173
-		$valeurs['editable'] = autoriser('modifier', $objet, $id_objet);
174
-	}
175
-
176
-	return $valeurs;
47
+    $jour = null;
48
+    $mois = null;
49
+    $annee = null;
50
+    $heure = null;
51
+    $minute = null;
52
+    $objet = objet_type($objet);
53
+    if (!$objet || !(int) $id_objet) {
54
+        return false;
55
+    }
56
+
57
+    if (!is_array($options)) {
58
+        $options = unserialize($options);
59
+    }
60
+
61
+    $_id_objet = id_table_objet($objet);
62
+    $table = table_objet($objet);
63
+    $trouver_table = charger_fonction('trouver_table', 'base');
64
+    $desc = $trouver_table($table);
65
+
66
+    if (!$desc) {
67
+        return false;
68
+    }
69
+
70
+    $champ_date = $desc['date'] ?: 'date';
71
+    if (isset($options['champ_date']) && $options['champ_date']) {
72
+        $champ_date = $options['champ_date'];
73
+    }
74
+    if (!isset($desc['field'][$champ_date])) {
75
+        return false;
76
+    }
77
+
78
+    $valeurs = [
79
+        'objet' => $objet,
80
+        'id_objet' => $id_objet,
81
+        'id' => $id_objet,
82
+    ];
83
+
84
+
85
+    $select = "$champ_date as date";
86
+    $champ_date_redac = 'date_redac';
87
+    if (isset($options['champ_date_redac']) && $options['champ_date_redac']) {
88
+        $champ_date_redac = $options['champ_date_redac'];
89
+    }
90
+    if (isset($desc['field'][$champ_date_redac])) {
91
+        $select .= ",$champ_date_redac as date_redac";
92
+    }
93
+    if (isset($desc['field']['statut'])) {
94
+        $select .= ',statut';
95
+    }
96
+
97
+
98
+    $row = sql_fetsel($select, $desc['table'], "$_id_objet=" . (int) $id_objet);
99
+    $statut = $row['statut'] ?? 'publie'; // pas de statut => publie
100
+
101
+    $valeurs['editable'] = autoriser('dater', $objet, $id_objet, null, ['statut' => $statut]);
102
+
103
+    $possedeDateRedac = false;
104
+
105
+    if (
106
+        isset($row['date_redac'])
107
+        && ($regs = recup_date($row['date_redac'], false))
108
+    ) {
109
+        $annee_redac = $regs[0];
110
+        $mois_redac = $regs[1];
111
+        $jour_redac = $regs[2];
112
+        $heure_redac = $regs[3];
113
+        $minute_redac = $regs[4];
114
+        $possedeDateRedac = true;
115
+        // attention : les vrai dates de l'annee 1 sont stockee avec +9000 => 9001
116
+        // mais reviennent ici en annee 1 par recup_date
117
+        // on verifie donc que le intval($row['date_redac']) qui ressort l'annee
118
+        // est bien lui aussi <=1 : dans ce cas c'est une date sql 'nulle' ou presque, selon
119
+        // le gestionnnaire sql utilise (0001-01-01 pour PG par exemple)
120
+        if ((int) $row['date_redac'] <= 1 && $annee_redac <= 1 && $mois_redac <= 1 && $jour_redac <= 1) {
121
+            $possedeDateRedac = false;
122
+        }
123
+    } else {
124
+        $annee_redac = $mois_redac = $jour_redac = $heure_redac = $minute_redac = 0;
125
+    }
126
+
127
+    if ($regs = recup_date($row['date'], false)) {
128
+        $annee = $regs[0];
129
+        $mois = $regs[1];
130
+        $jour = $regs[2];
131
+        $heure = $regs[3];
132
+        $minute = $regs[4];
133
+    }
134
+
135
+    // attention, si la variable s'appelle date ou date_redac, le compilo va
136
+    // la normaliser, ce qu'on ne veut pas ici.
137
+    $valeurs['afficher_date_redac'] = ($possedeDateRedac ? $row['date_redac'] : '');
138
+    $valeurs['date_redac_jour'] = dater_formater_saisie_jour($jour_redac, $mois_redac, $annee_redac);
139
+    $valeurs['date_redac_heure'] = "$heure_redac:$minute_redac";
140
+
141
+    $valeurs['afficher_date'] = $row['date'];
142
+    $valeurs['date_jour'] = dater_formater_saisie_jour($jour, $mois, $annee);
143
+    $valeurs['date_heure'] = "$heure:$minute";
144
+
145
+    $valeurs['sans_redac'] = !$possedeDateRedac;
146
+
147
+    if (isset($options['date_redac'])) {
148
+        $valeurs['_editer_date_anterieure'] = $options['date_redac'];
149
+    } else {
150
+        $valeurs['_editer_date_anterieure'] = ($objet == 'article' && ($GLOBALS['meta']['articles_redac'] != 'non' || $possedeDateRedac));
151
+    }
152
+    $valeurs['_label_date'] = (($statut == 'publie') ?
153
+        _T('texte_date_publication_objet') : _T('texte_date_creation_objet'));
154
+    if (isset($options['label_date']) && $options['label_date']) {
155
+        $valeurs['_label_date'] = $options['label_date'];
156
+    }
157
+    if (isset($options['label_date_redac']) && $options['label_date_redac']) {
158
+        $valeurs['_label_date_redac'] = $options['label_date_redac'];
159
+    }
160
+    if (isset($options['texte_sans_date_redac']) && $options['texte_sans_date_redac']) {
161
+        $valeurs['_texte_sans_date_redac'] = $options['texte_sans_date_redac'];
162
+    }
163
+    if (isset($options['class']) && $options['class']) {
164
+        $valeurs['_class'] = $options['class'];
165
+    }
166
+
167
+    $valeurs['_saisie_en_cours'] = (_request('_saisie_en_cours') !== null || _request('date_jour') !== null);
168
+
169
+    // cas ou l'on ne peut pas dater mais on peut modifier la date de redac anterieure
170
+    // https://core.spip.net/issues/3494
171
+    $valeurs['_editer_date'] = $valeurs['editable'];
172
+    if ($valeurs['_editer_date_anterieure'] && !$valeurs['editable']) {
173
+        $valeurs['editable'] = autoriser('modifier', $objet, $id_objet);
174
+    }
175
+
176
+    return $valeurs;
177 177
 }
178 178
 
179 179
 /**
@@ -191,20 +191,20 @@  discard block
 block discarded – undo
191 191
  *     Date formatée tel que `02/10/2012`
192 192
  **/
193 193
 function dater_formater_saisie_jour($jour, $mois, $annee, $sep = '/') {
194
-	$annee = str_pad($annee, 4, '0', STR_PAD_LEFT);
195
-	if ((int) $jour) {
196
-		$jour = str_pad($jour, 2, '0', STR_PAD_LEFT);
197
-		$mois = str_pad($mois, 2, '0', STR_PAD_LEFT);
194
+    $annee = str_pad($annee, 4, '0', STR_PAD_LEFT);
195
+    if ((int) $jour) {
196
+        $jour = str_pad($jour, 2, '0', STR_PAD_LEFT);
197
+        $mois = str_pad($mois, 2, '0', STR_PAD_LEFT);
198 198
 
199
-		return "$jour$sep$mois$sep$annee";
200
-	}
201
-	if ((int) $mois) {
202
-		$mois = str_pad($mois, 2, '0', STR_PAD_LEFT);
199
+        return "$jour$sep$mois$sep$annee";
200
+    }
201
+    if ((int) $mois) {
202
+        $mois = str_pad($mois, 2, '0', STR_PAD_LEFT);
203 203
 
204
-		return "$mois$sep$annee";
205
-	}
204
+        return "$mois$sep$annee";
205
+    }
206 206
 
207
-	return $annee;
207
+    return $annee;
208 208
 }
209 209
 
210 210
 /**
@@ -223,7 +223,7 @@  discard block
 block discarded – undo
223 223
  *     Hash du formulaire
224 224
  **/
225 225
 function formulaires_dater_identifier_dist($objet, $id_objet, $retour = '', $options = []) {
226
-	return serialize([$objet, $id_objet]);
226
+    return serialize([$objet, $id_objet]);
227 227
 }
228 228
 
229 229
 /**
@@ -241,30 +241,30 @@  discard block
 block discarded – undo
241 241
  *     Tableau des erreurs
242 242
  */
243 243
 function formulaires_dater_verifier_dist($objet, $id_objet, $retour = '', $options = []) {
244
-	$erreurs = [];
245
-
246
-	// ouvrir le formulaire en edition ?
247
-	if (_request('_saisie_en_cours')) {
248
-		$erreurs['message_erreur'] = '';
249
-
250
-		return $erreurs;
251
-	}
252
-
253
-	if (_request('changer')) {
254
-		foreach (['date', 'date_redac'] as $k) {
255
-			if (($v = _request($k . '_jour')) && !dater_recuperer_date_saisie($v, $k)) {
256
-				$erreurs[$k] = _T('format_date_incorrecte');
257
-			} elseif (($v = _request($k . '_heure')) && !dater_recuperer_heure_saisie($v)) {
258
-				$erreurs[$k] = _T('format_heure_incorrecte');
259
-			}
260
-		}
261
-
262
-		if (!_request('date_jour')) {
263
-			$erreurs['date'] = _T('info_obligatoire');
264
-		}
265
-	}
266
-
267
-	return $erreurs;
244
+    $erreurs = [];
245
+
246
+    // ouvrir le formulaire en edition ?
247
+    if (_request('_saisie_en_cours')) {
248
+        $erreurs['message_erreur'] = '';
249
+
250
+        return $erreurs;
251
+    }
252
+
253
+    if (_request('changer')) {
254
+        foreach (['date', 'date_redac'] as $k) {
255
+            if (($v = _request($k . '_jour')) && !dater_recuperer_date_saisie($v, $k)) {
256
+                $erreurs[$k] = _T('format_date_incorrecte');
257
+            } elseif (($v = _request($k . '_heure')) && !dater_recuperer_heure_saisie($v)) {
258
+                $erreurs[$k] = _T('format_heure_incorrecte');
259
+            }
260
+        }
261
+
262
+        if (!_request('date_jour')) {
263
+            $erreurs['date'] = _T('info_obligatoire');
264
+        }
265
+    }
266
+
267
+    return $erreurs;
268 268
 }
269 269
 
270 270
 /**
@@ -282,79 +282,79 @@  discard block
 block discarded – undo
282 282
  *     Retours des traitements
283 283
  */
284 284
 function formulaires_dater_traiter_dist($objet, $id_objet, $retour = '', $options = []) {
285
-	$res = ['editable' => ' '];
286
-
287
-	if (_request('changer')) {
288
-		$table = table_objet($objet);
289
-		$trouver_table = charger_fonction('trouver_table', 'base');
290
-		$desc = $trouver_table($table);
291
-
292
-		if (!$desc) {
293
-			return ['message_erreur' => _L('erreur')];
294
-		} #impossible en principe
295
-
296
-		$champ_date = $desc['date'] ?: 'date';
297
-		if (isset($options['champ_date']) && $options['champ_date']) {
298
-			$champ_date = $options['champ_date'];
299
-		}
300
-
301
-		$set = [];
302
-
303
-		$charger = charger_fonction('charger', 'formulaires/dater/');
304
-		$v = $charger($objet, $id_objet, $retour, $options);
305
-
306
-		if ($v['_editer_date']) {
307
-			if (!$d = dater_recuperer_date_saisie(_request('date_jour'))) {
308
-				$d = [date('Y'), date('m'), date('d')];
309
-			}
310
-			if (!$h = dater_recuperer_heure_saisie(_request('date_heure'))) {
311
-				$h = [0, 0];
312
-			}
313
-
314
-			$set[$champ_date] = sql_format_date($d[0], $d[1], $d[2], $h[0], $h[1]);
315
-		}
316
-
317
-		$champ_date_redac = 'date_redac';
318
-		if (isset($options['champ_date_redac']) && $options['champ_date_redac']) {
319
-			$champ_date_redac = $options['champ_date_redac'];
320
-		}
321
-		if (isset($desc['field'][$champ_date_redac]) && $v['_editer_date_anterieure']) {
322
-			if (!_request('date_redac_jour') || _request('sans_redac')) {
323
-				$set[$champ_date_redac] = sql_format_date(0, 0, 0, 0, 0, 0);
324
-			} else {
325
-				if (!$d = dater_recuperer_date_saisie(_request('date_redac_jour'), 'date_redac')) {
326
-					$d = [date('Y'), date('m'), date('d')];
327
-				}
328
-				if (!$h = dater_recuperer_heure_saisie(_request('date_redac_heure'))) {
329
-					$h = [0, 0];
330
-				}
331
-				$set[$champ_date_redac] = sql_format_date($d[0], $d[1], $d[2], $h[0], $h[1]);
332
-			}
333
-		}
334
-
335
-		if ($set !== []) {
336
-			$publie_avant = objet_test_si_publie($objet, $id_objet);
337
-			include_spip('action/editer_objet');
338
-			objet_modifier($objet, $id_objet, $set);
339
-			$publie_apres = objet_test_si_publie($objet, $id_objet);
340
-			if ($publie_avant !== $publie_apres) {
341
-				// on refuse ajax pour forcer le rechargement de la page ici
342
-				// on refera traiter une 2eme fois, mais c'est sans consequence
343
-				refuser_traiter_formulaire_ajax();
344
-			}
345
-		}
346
-	}
347
-
348
-	if ($retour) {
349
-		$res['redirect'] = $retour;
350
-	}
351
-
352
-	set_request('date_jour');
353
-	set_request('date_redac_jour');
354
-	set_request('date_heure');
355
-	set_request('date_redac_heure');
356
-
357
-	return $res;
285
+    $res = ['editable' => ' '];
286
+
287
+    if (_request('changer')) {
288
+        $table = table_objet($objet);
289
+        $trouver_table = charger_fonction('trouver_table', 'base');
290
+        $desc = $trouver_table($table);
291
+
292
+        if (!$desc) {
293
+            return ['message_erreur' => _L('erreur')];
294
+        } #impossible en principe
295
+
296
+        $champ_date = $desc['date'] ?: 'date';
297
+        if (isset($options['champ_date']) && $options['champ_date']) {
298
+            $champ_date = $options['champ_date'];
299
+        }
300
+
301
+        $set = [];
302
+
303
+        $charger = charger_fonction('charger', 'formulaires/dater/');
304
+        $v = $charger($objet, $id_objet, $retour, $options);
305
+
306
+        if ($v['_editer_date']) {
307
+            if (!$d = dater_recuperer_date_saisie(_request('date_jour'))) {
308
+                $d = [date('Y'), date('m'), date('d')];
309
+            }
310
+            if (!$h = dater_recuperer_heure_saisie(_request('date_heure'))) {
311
+                $h = [0, 0];
312
+            }
313
+
314
+            $set[$champ_date] = sql_format_date($d[0], $d[1], $d[2], $h[0], $h[1]);
315
+        }
316
+
317
+        $champ_date_redac = 'date_redac';
318
+        if (isset($options['champ_date_redac']) && $options['champ_date_redac']) {
319
+            $champ_date_redac = $options['champ_date_redac'];
320
+        }
321
+        if (isset($desc['field'][$champ_date_redac]) && $v['_editer_date_anterieure']) {
322
+            if (!_request('date_redac_jour') || _request('sans_redac')) {
323
+                $set[$champ_date_redac] = sql_format_date(0, 0, 0, 0, 0, 0);
324
+            } else {
325
+                if (!$d = dater_recuperer_date_saisie(_request('date_redac_jour'), 'date_redac')) {
326
+                    $d = [date('Y'), date('m'), date('d')];
327
+                }
328
+                if (!$h = dater_recuperer_heure_saisie(_request('date_redac_heure'))) {
329
+                    $h = [0, 0];
330
+                }
331
+                $set[$champ_date_redac] = sql_format_date($d[0], $d[1], $d[2], $h[0], $h[1]);
332
+            }
333
+        }
334
+
335
+        if ($set !== []) {
336
+            $publie_avant = objet_test_si_publie($objet, $id_objet);
337
+            include_spip('action/editer_objet');
338
+            objet_modifier($objet, $id_objet, $set);
339
+            $publie_apres = objet_test_si_publie($objet, $id_objet);
340
+            if ($publie_avant !== $publie_apres) {
341
+                // on refuse ajax pour forcer le rechargement de la page ici
342
+                // on refera traiter une 2eme fois, mais c'est sans consequence
343
+                refuser_traiter_formulaire_ajax();
344
+            }
345
+        }
346
+    }
347
+
348
+    if ($retour) {
349
+        $res['redirect'] = $retour;
350
+    }
351
+
352
+    set_request('date_jour');
353
+    set_request('date_redac_jour');
354
+    set_request('date_heure');
355
+    set_request('date_redac_heure');
356
+
357
+    return $res;
358 358
 }
359 359
 
360 360
 /**
@@ -365,24 +365,24 @@  discard block
 block discarded – undo
365 365
  * @return array|string Chaîne vide si date invalide, tableau (année, mois, jour) sinon.
366 366
  */
367 367
 function dater_recuperer_date_saisie($post, $quoi = 'date') {
368
-	if (!preg_match('#^(?:(?:(\d{1,2})[/-])?(\d{1,2})[/-])?(\d{4}|\d{1,2})#', $post, $regs)) {
369
-		return '';
370
-	}
371
-	if ($quoi == 'date_redac') {
372
-		if ($regs[3] != '' && $regs[3] < 1001) {
373
-			$regs[3] += 9000;
374
-		}
375
-
376
-		return [$regs[3], $regs[2], $regs[1]];
377
-	} else {
378
-		if (
379
-			checkdate((int) $regs[2], (int) $regs[1], (int) $regs[3])
380
-			&& ($t = mktime(0, 0, 0, $regs[2], $regs[1], $regs[3]))
381
-		) {
382
-			return [date('Y', $t), date('m', $t), date('d', $t)];
383
-		}
384
-		return '';
385
-	}
368
+    if (!preg_match('#^(?:(?:(\d{1,2})[/-])?(\d{1,2})[/-])?(\d{4}|\d{1,2})#', $post, $regs)) {
369
+        return '';
370
+    }
371
+    if ($quoi == 'date_redac') {
372
+        if ($regs[3] != '' && $regs[3] < 1001) {
373
+            $regs[3] += 9000;
374
+        }
375
+
376
+        return [$regs[3], $regs[2], $regs[1]];
377
+    } else {
378
+        if (
379
+            checkdate((int) $regs[2], (int) $regs[1], (int) $regs[3])
380
+            && ($t = mktime(0, 0, 0, $regs[2], $regs[1], $regs[3]))
381
+        ) {
382
+            return [date('Y', $t), date('m', $t), date('d', $t)];
383
+        }
384
+        return '';
385
+    }
386 386
 }
387 387
 
388 388
 /**
@@ -392,12 +392,12 @@  discard block
 block discarded – undo
392 392
  * @return array
393 393
  */
394 394
 function dater_recuperer_heure_saisie($post) {
395
-	if (!preg_match('#(\d{1,2})(?:[h:](?:(\d{1,2}))?)?#', $post, $regs)) {
396
-		return '';
397
-	}
398
-	if ($regs[1] > 23 || $regs[2] > 59) {
399
-		return '';
400
-	}
401
-
402
-	return [$regs[1], $regs[2]];
395
+    if (!preg_match('#(\d{1,2})(?:[h:](?:(\d{1,2}))?)?#', $post, $regs)) {
396
+        return '';
397
+    }
398
+    if ($regs[1] > 23 || $regs[2] > 59) {
399
+        return '';
400
+    }
401
+
402
+    return [$regs[1], $regs[2]];
403 403
 }
Please login to merge, or discard this patch.