Completed
Push — master ( 2a0f4b...be3b46 )
by cam
05:37
created
ecrire/public/aiguiller.php 3 patches
Doc Comments   +3 added lines patch added patch discarded remove patch
@@ -14,6 +14,9 @@
 block discarded – undo
14 14
 	return;
15 15
 }
16 16
 
17
+/**
18
+ * @return string|null
19
+ */
17 20
 function securiser_redirect_action($redirect) {
18 21
 	// cas d'un double urlencode : si un urldecode de l'url n'est pas secure, on retient ca comme redirect
19 22
 	if (strpos($redirect, '%') !== false) {
Please login to merge, or discard this patch.
Indentation   +255 added lines, -255 removed lines patch added patch discarded remove patch
@@ -11,153 +11,153 @@  discard block
 block discarded – undo
11 11
 \***************************************************************************/
12 12
 
13 13
 if (!defined('_ECRIRE_INC_VERSION')) {
14
-	return;
14
+    return;
15 15
 }
16 16
 
17 17
 function securiser_redirect_action($redirect) {
18
-	// cas d'un double urlencode : si un urldecode de l'url n'est pas secure, on retient ca comme redirect
19
-	if (strpos($redirect, '%') !== false) {
20
-		$r2 = urldecode($redirect);
21
-		if (($r3 = securiser_redirect_action($r2)) !== $r2) {
22
-			return $r3;
23
-		}
24
-	}
25
-	if ((tester_url_absolue($redirect) or preg_match(',^\w+:,',trim($redirect)))
26
-		and !defined('_AUTORISER_ACTION_ABS_REDIRECT')) {
27
-		// si l'url est une url du site, on la laisse passer sans rien faire
28
-		// c'est encore le plus simple
29
-		$base = $GLOBALS['meta']['adresse_site'] . "/";
30
-		if (strlen($base) and strncmp($redirect, $base, strlen($base)) == 0) {
31
-			return $redirect;
32
-		}
33
-		$base = url_de_base();
34
-		if (strlen($base) and strncmp($redirect, $base, strlen($base)) == 0) {
35
-			return $redirect;
36
-		}
18
+    // cas d'un double urlencode : si un urldecode de l'url n'est pas secure, on retient ca comme redirect
19
+    if (strpos($redirect, '%') !== false) {
20
+        $r2 = urldecode($redirect);
21
+        if (($r3 = securiser_redirect_action($r2)) !== $r2) {
22
+            return $r3;
23
+        }
24
+    }
25
+    if ((tester_url_absolue($redirect) or preg_match(',^\w+:,',trim($redirect)))
26
+        and !defined('_AUTORISER_ACTION_ABS_REDIRECT')) {
27
+        // si l'url est une url du site, on la laisse passer sans rien faire
28
+        // c'est encore le plus simple
29
+        $base = $GLOBALS['meta']['adresse_site'] . "/";
30
+        if (strlen($base) and strncmp($redirect, $base, strlen($base)) == 0) {
31
+            return $redirect;
32
+        }
33
+        $base = url_de_base();
34
+        if (strlen($base) and strncmp($redirect, $base, strlen($base)) == 0) {
35
+            return $redirect;
36
+        }
37 37
 
38
-		return "";
39
-	}
38
+        return "";
39
+    }
40 40
 
41
-	return $redirect;
41
+    return $redirect;
42 42
 }
43 43
 
44 44
 // http://code.spip.net/@traiter_appels_actions
45 45
 function traiter_appels_actions() {
46
-	// cas de l'appel qui renvoie une redirection (302) ou rien (204)
47
-	if ($action = _request('action')) {
48
-		include_spip('base/abstract_sql'); // chargement systematique pour les actions
49
-		include_spip('inc/autoriser');
50
-		include_spip('inc/headers');
51
-		include_spip('inc/actions');
52
-		// des actions peuvent appeler _T
53
-		if (!isset($GLOBALS['spip_lang'])) {
54
-			include_spip('inc/lang');
55
-			utiliser_langue_visiteur();
56
-		}
57
-		// si l'action est provoque par un hit {ajax}
58
-		// il faut transmettre l'env ajax au redirect
59
-		// on le met avant dans la query string au cas ou l'action fait elle meme sa redirection
60
-		if (($v = _request('var_ajax'))
61
-			and ($v !== 'form')
62
-			and ($args = _request('var_ajax_env'))
63
-			and ($url = _request('redirect'))
64
-		) {
65
-			$url = parametre_url($url, 'var_ajax', $v, '&');
66
-			$url = parametre_url($url, 'var_ajax_env', $args, '&');
67
-			set_request('redirect', $url);
68
-		} else {
69
-			if (_request('redirect')) {
70
-				set_request('redirect', securiser_redirect_action(_request('redirect')));
71
-			}
72
-		}
73
-		$var_f = charger_fonction($action, 'action');
74
-		$var_f();
75
-		if (!isset($GLOBALS['redirect'])) {
76
-			$GLOBALS['redirect'] = _request('redirect');
77
-			if ($_SERVER['REQUEST_METHOD'] == 'POST') {
78
-				$GLOBALS['redirect'] = urldecode($GLOBALS['redirect']);
79
-			}
80
-			$GLOBALS['redirect'] = securiser_redirect_action($GLOBALS['redirect']);
81
-		}
82
-		if ($url = $GLOBALS['redirect']) {
83
-			// si l'action est provoque par un hit {ajax}
84
-			// il faut transmettre l'env ajax au redirect 
85
-			// qui a pu etre defini par l'action
86
-			if (($v = _request('var_ajax'))
87
-				and ($v !== 'form')
88
-				and ($args = _request('var_ajax_env'))
89
-			) {
90
-				$url = parametre_url($url, 'var_ajax', $v, '&');
91
-				$url = parametre_url($url, 'var_ajax_env', $args, '&');
92
-				// passer l'ancre en variable pour pouvoir la gerer cote serveur
93
-				$url = preg_replace(',#([^#&?]+)$,', "&var_ajax_ancre=\\1", $url);
94
-			}
95
-			$url = str_replace('&', '&', $url); // les redirections se font en &, pas en en &
96
-			redirige_par_entete($url);
97
-		}
98
-		if (!headers_sent()
99
-			and !ob_get_length()
100
-		) {
101
-			http_status(204);
102
-		} // No Content
103
-		return true;
104
-	}
46
+    // cas de l'appel qui renvoie une redirection (302) ou rien (204)
47
+    if ($action = _request('action')) {
48
+        include_spip('base/abstract_sql'); // chargement systematique pour les actions
49
+        include_spip('inc/autoriser');
50
+        include_spip('inc/headers');
51
+        include_spip('inc/actions');
52
+        // des actions peuvent appeler _T
53
+        if (!isset($GLOBALS['spip_lang'])) {
54
+            include_spip('inc/lang');
55
+            utiliser_langue_visiteur();
56
+        }
57
+        // si l'action est provoque par un hit {ajax}
58
+        // il faut transmettre l'env ajax au redirect
59
+        // on le met avant dans la query string au cas ou l'action fait elle meme sa redirection
60
+        if (($v = _request('var_ajax'))
61
+            and ($v !== 'form')
62
+            and ($args = _request('var_ajax_env'))
63
+            and ($url = _request('redirect'))
64
+        ) {
65
+            $url = parametre_url($url, 'var_ajax', $v, '&');
66
+            $url = parametre_url($url, 'var_ajax_env', $args, '&');
67
+            set_request('redirect', $url);
68
+        } else {
69
+            if (_request('redirect')) {
70
+                set_request('redirect', securiser_redirect_action(_request('redirect')));
71
+            }
72
+        }
73
+        $var_f = charger_fonction($action, 'action');
74
+        $var_f();
75
+        if (!isset($GLOBALS['redirect'])) {
76
+            $GLOBALS['redirect'] = _request('redirect');
77
+            if ($_SERVER['REQUEST_METHOD'] == 'POST') {
78
+                $GLOBALS['redirect'] = urldecode($GLOBALS['redirect']);
79
+            }
80
+            $GLOBALS['redirect'] = securiser_redirect_action($GLOBALS['redirect']);
81
+        }
82
+        if ($url = $GLOBALS['redirect']) {
83
+            // si l'action est provoque par un hit {ajax}
84
+            // il faut transmettre l'env ajax au redirect 
85
+            // qui a pu etre defini par l'action
86
+            if (($v = _request('var_ajax'))
87
+                and ($v !== 'form')
88
+                and ($args = _request('var_ajax_env'))
89
+            ) {
90
+                $url = parametre_url($url, 'var_ajax', $v, '&');
91
+                $url = parametre_url($url, 'var_ajax_env', $args, '&');
92
+                // passer l'ancre en variable pour pouvoir la gerer cote serveur
93
+                $url = preg_replace(',#([^#&?]+)$,', "&var_ajax_ancre=\\1", $url);
94
+            }
95
+            $url = str_replace('&', '&', $url); // les redirections se font en &, pas en en &
96
+            redirige_par_entete($url);
97
+        }
98
+        if (!headers_sent()
99
+            and !ob_get_length()
100
+        ) {
101
+            http_status(204);
102
+        } // No Content
103
+        return true;
104
+    }
105 105
 
106
-	return false;
106
+    return false;
107 107
 }
108 108
 
109 109
 
110 110
 // http://code.spip.net/@refuser_traiter_formulaire_ajax
111 111
 function refuser_traiter_formulaire_ajax() {
112
-	if ($v = _request('var_ajax')
113
-		and $v == 'form'
114
-		and $form = _request('formulaire_action')
115
-		and $args = _request('formulaire_action_args')
116
-		and decoder_contexte_ajax($args, $form) !== false
117
-	) {
118
-		// on est bien dans le contexte de traitement d'un formulaire en ajax
119
-		// mais traiter ne veut pas
120
-		// on le dit a la page qui va resumbit
121
-		// sans ajax
122
-		include_spip('inc/actions');
123
-		ajax_retour('noajax', false);
124
-		exit;
125
-	}
112
+    if ($v = _request('var_ajax')
113
+        and $v == 'form'
114
+        and $form = _request('formulaire_action')
115
+        and $args = _request('formulaire_action_args')
116
+        and decoder_contexte_ajax($args, $form) !== false
117
+    ) {
118
+        // on est bien dans le contexte de traitement d'un formulaire en ajax
119
+        // mais traiter ne veut pas
120
+        // on le dit a la page qui va resumbit
121
+        // sans ajax
122
+        include_spip('inc/actions');
123
+        ajax_retour('noajax', false);
124
+        exit;
125
+    }
126 126
 }
127 127
 
128 128
 // http://code.spip.net/@traiter_appels_inclusions_ajax
129 129
 function traiter_appels_inclusions_ajax() {
130
-	// traiter les appels de bloc ajax (ex: pagination)
131
-	if ($v = _request('var_ajax')
132
-		and $v !== 'form'
133
-		and $args = _request('var_ajax_env')
134
-	) {
135
-		include_spip('inc/filtres');
136
-		include_spip('inc/actions');
137
-		if ($args = decoder_contexte_ajax($args)
138
-			and $fond = $args['fond']
139
-		) {
140
-			include_spip('public/assembler');
141
-			$contexte = calculer_contexte();
142
-			$contexte = array_merge($args, $contexte);
143
-			$page = recuperer_fond($fond, $contexte, array('trim' => false));
144
-			$texte = $page;
145
-			if ($ancre = _request('var_ajax_ancre')) {
146
-				// pas n'importe quoi quand meme dans la variable !
147
-				$ancre = str_replace(array('<', '"', "'"), array('&lt;', '&quot;', ''), $ancre);
148
-				$texte = "<a href='#$ancre' name='ajax_ancre' style='display:none;'>anchor</a>" . $texte;
149
-			}
150
-		} else {
151
-			include_spip('inc/headers');
152
-			http_status(403);
153
-			$texte = _L('signature ajax bloc incorrecte');
154
-		}
155
-		ajax_retour($texte, false);
130
+    // traiter les appels de bloc ajax (ex: pagination)
131
+    if ($v = _request('var_ajax')
132
+        and $v !== 'form'
133
+        and $args = _request('var_ajax_env')
134
+    ) {
135
+        include_spip('inc/filtres');
136
+        include_spip('inc/actions');
137
+        if ($args = decoder_contexte_ajax($args)
138
+            and $fond = $args['fond']
139
+        ) {
140
+            include_spip('public/assembler');
141
+            $contexte = calculer_contexte();
142
+            $contexte = array_merge($args, $contexte);
143
+            $page = recuperer_fond($fond, $contexte, array('trim' => false));
144
+            $texte = $page;
145
+            if ($ancre = _request('var_ajax_ancre')) {
146
+                // pas n'importe quoi quand meme dans la variable !
147
+                $ancre = str_replace(array('<', '"', "'"), array('&lt;', '&quot;', ''), $ancre);
148
+                $texte = "<a href='#$ancre' name='ajax_ancre' style='display:none;'>anchor</a>" . $texte;
149
+            }
150
+        } else {
151
+            include_spip('inc/headers');
152
+            http_status(403);
153
+            $texte = _L('signature ajax bloc incorrecte');
154
+        }
155
+        ajax_retour($texte, false);
156 156
 
157
-		return true; // on a fini le hit
158
-	}
157
+        return true; // on a fini le hit
158
+    }
159 159
 
160
-	return false;
160
+    return false;
161 161
 }
162 162
 
163 163
 // au 1er appel, traite les formulaires dynamiques charger/verifier/traiter
@@ -166,148 +166,148 @@  discard block
 block discarded – undo
166 166
 
167 167
 // http://code.spip.net/@traiter_formulaires_dynamiques
168 168
 function traiter_formulaires_dynamiques($get = false) {
169
-	static $post = array();
170
-	static $done = false;
169
+    static $post = array();
170
+    static $done = false;
171 171
 
172
-	if ($get) {
173
-		return $post;
174
-	}
175
-	if ($done) {
176
-		return false;
177
-	}
178
-	$done = true;
172
+    if ($get) {
173
+        return $post;
174
+    }
175
+    if ($done) {
176
+        return false;
177
+    }
178
+    $done = true;
179 179
 
180
-	if (!($form = _request('formulaire_action')
181
-		and $args = _request('formulaire_action_args'))
182
-	) {
183
-		return false;
184
-	} // le hit peut continuer normalement
180
+    if (!($form = _request('formulaire_action')
181
+        and $args = _request('formulaire_action_args'))
182
+    ) {
183
+        return false;
184
+    } // le hit peut continuer normalement
185 185
 
186
-	include_spip('inc/filtres');
187
-	if (($args = decoder_contexte_ajax($args, $form)) === false) {
188
-		spip_log("signature ajax form incorrecte : $form");
186
+    include_spip('inc/filtres');
187
+    if (($args = decoder_contexte_ajax($args, $form)) === false) {
188
+        spip_log("signature ajax form incorrecte : $form");
189 189
 
190
-		return false; // continuons le hit comme si de rien etait
191
-	} else {
192
-		include_spip('inc/lang');
193
-		// sauvegarder la lang en cours
194
-		$old_lang = $GLOBALS['spip_lang'];
195
-		// changer la langue avec celle qui a cours dans le formulaire
196
-		// on la depile de $args car c'est un argument implicite masque	
197
-		changer_langue(array_shift($args));
190
+        return false; // continuons le hit comme si de rien etait
191
+    } else {
192
+        include_spip('inc/lang');
193
+        // sauvegarder la lang en cours
194
+        $old_lang = $GLOBALS['spip_lang'];
195
+        // changer la langue avec celle qui a cours dans le formulaire
196
+        // on la depile de $args car c'est un argument implicite masque	
197
+        changer_langue(array_shift($args));
198 198
 
199 199
 
200
-		// inclure mes_fonctions et autres filtres avant verifier/traiter
201
-		include_spip('public/parametrer');
202
-		// ainsi que l'API SQL bien utile dans verifier/traiter
203
-		include_spip('base/abstract_sql');
200
+        // inclure mes_fonctions et autres filtres avant verifier/traiter
201
+        include_spip('public/parametrer');
202
+        // ainsi que l'API SQL bien utile dans verifier/traiter
203
+        include_spip('base/abstract_sql');
204 204
 
205
-		/**
206
-		 * Pipeline exécuté lors de la soumission d'un formulaire,
207
-		 * mais avant l'appel de la fonction de vérification.
208
-		 */
209
-		pipeline(
210
-			'formulaire_receptionner',
211
-			array(
212
-				'args' => array('form' => $form, 'args' => $args),
213
-				'data' => null,
214
-			)
215
-		);
205
+        /**
206
+         * Pipeline exécuté lors de la soumission d'un formulaire,
207
+         * mais avant l'appel de la fonction de vérification.
208
+         */
209
+        pipeline(
210
+            'formulaire_receptionner',
211
+            array(
212
+                'args' => array('form' => $form, 'args' => $args),
213
+                'data' => null,
214
+            )
215
+        );
216 216
 
217
-		$verifier = charger_fonction("verifier", "formulaires/$form/", true);
218
-		$post["erreurs_$form"] = pipeline(
219
-			'formulaire_verifier',
220
-			array(
221
-				'args' => array('form' => $form, 'args' => $args),
222
-				'data' => $verifier ? call_user_func_array($verifier, $args) : array()
223
-			)
224
-		);
225
-		// prise en charge CVT multi etape si besoin
226
-		if (_request('cvtm_prev_post')) {
227
-			include_spip('inc/cvt_multietapes');
228
-			$post["erreurs_$form"] = cvtmulti_formulaire_verifier_etapes(
229
-				array('form' => $form, 'args' => $args),
230
-				$post["erreurs_$form"]
231
-			);
232
-		}
217
+        $verifier = charger_fonction("verifier", "formulaires/$form/", true);
218
+        $post["erreurs_$form"] = pipeline(
219
+            'formulaire_verifier',
220
+            array(
221
+                'args' => array('form' => $form, 'args' => $args),
222
+                'data' => $verifier ? call_user_func_array($verifier, $args) : array()
223
+            )
224
+        );
225
+        // prise en charge CVT multi etape si besoin
226
+        if (_request('cvtm_prev_post')) {
227
+            include_spip('inc/cvt_multietapes');
228
+            $post["erreurs_$form"] = cvtmulti_formulaire_verifier_etapes(
229
+                array('form' => $form, 'args' => $args),
230
+                $post["erreurs_$form"]
231
+            );
232
+        }
233 233
 
234
-		// accessibilite : si des erreurs mais pas de message general l'ajouter
235
-		if (count($post["erreurs_$form"]) and !isset($post["erreurs_$form"]['message_erreur'])) {
236
-			$post["erreurs_$form"]['message_erreur'] = singulier_ou_pluriel(count($post["erreurs_$form"]),
237
-				'avis_1_erreur_saisie', 'avis_nb_erreurs_saisie');
238
-		}
234
+        // accessibilite : si des erreurs mais pas de message general l'ajouter
235
+        if (count($post["erreurs_$form"]) and !isset($post["erreurs_$form"]['message_erreur'])) {
236
+            $post["erreurs_$form"]['message_erreur'] = singulier_ou_pluriel(count($post["erreurs_$form"]),
237
+                'avis_1_erreur_saisie', 'avis_nb_erreurs_saisie');
238
+        }
239 239
 
240
-		// si on ne demandait qu'une verif json
241
-		if (_request('formulaire_action_verifier_json')) {
242
-			include_spip('inc/json');
243
-			include_spip('inc/actions');
244
-			ajax_retour(json_encode($post["erreurs_$form"]), 'text/plain');
240
+        // si on ne demandait qu'une verif json
241
+        if (_request('formulaire_action_verifier_json')) {
242
+            include_spip('inc/json');
243
+            include_spip('inc/actions');
244
+            ajax_retour(json_encode($post["erreurs_$form"]), 'text/plain');
245 245
 
246
-			return true; // on a fini le hit
247
-		}
248
-		$retour = "";
249
-		if ((count($post["erreurs_$form"]) == 0)) {
250
-			$rev = "";
251
-			if ($traiter = charger_fonction("traiter", "formulaires/$form/", true)) {
252
-				$rev = call_user_func_array($traiter, $args);
253
-			}
246
+            return true; // on a fini le hit
247
+        }
248
+        $retour = "";
249
+        if ((count($post["erreurs_$form"]) == 0)) {
250
+            $rev = "";
251
+            if ($traiter = charger_fonction("traiter", "formulaires/$form/", true)) {
252
+                $rev = call_user_func_array($traiter, $args);
253
+            }
254 254
 
255
-			$rev = pipeline(
256
-				'formulaire_traiter',
257
-				array(
258
-					'args' => array('form' => $form, 'args' => $args),
259
-					'data' => $rev
260
-				)
261
-			);
262
-			// le retour de traiter est
263
-			// un tableau explicite ('editable'=>$editable,'message_ok'=>$message,'redirect'=>$redirect,'id_xx'=>$id_xx)
264
-			// il permet le pipelinage, en particulier
265
-			// en y passant l'id de l'objet cree/modifie
266
-			// si message_erreur est present, on considere que le traitement a echoue
267
-			$post["message_ok_$form"] = '';
268
-			// on peut avoir message_ok et message_erreur
269
-			if (isset($rev['message_ok'])) {
270
-				$post["message_ok_$form"] = $rev['message_ok'];
271
-			}
255
+            $rev = pipeline(
256
+                'formulaire_traiter',
257
+                array(
258
+                    'args' => array('form' => $form, 'args' => $args),
259
+                    'data' => $rev
260
+                )
261
+            );
262
+            // le retour de traiter est
263
+            // un tableau explicite ('editable'=>$editable,'message_ok'=>$message,'redirect'=>$redirect,'id_xx'=>$id_xx)
264
+            // il permet le pipelinage, en particulier
265
+            // en y passant l'id de l'objet cree/modifie
266
+            // si message_erreur est present, on considere que le traitement a echoue
267
+            $post["message_ok_$form"] = '';
268
+            // on peut avoir message_ok et message_erreur
269
+            if (isset($rev['message_ok'])) {
270
+                $post["message_ok_$form"] = $rev['message_ok'];
271
+            }
272 272
 
273
-			// verifier si traiter n'a pas echoue avec une erreur :
274
-			if (isset($rev['message_erreur'])) {
275
-				$post["erreurs_$form"]["message_erreur"] = $rev['message_erreur'];
276
-				// si il y a une erreur on ne redirige pas
277
-			} else {
278
-				// sinon faire ce qu'il faut :
279
-				if (isset($rev['editable'])) {
280
-					$post["editable_$form"] = $rev['editable'];
281
-				}
282
-				// si une redirection est demandee, appeler redirigae_formulaire qui choisira
283
-				// le bon mode de redirection (302 et on ne revient pas ici, ou javascript et on continue)
284
-				if (isset($rev['redirect']) and $rev['redirect']) {
285
-					include_spip('inc/headers');
286
-					list($masque, $message) = redirige_formulaire($rev['redirect'], '', 'ajaxform');
287
-					$post["message_ok_$form"] .= $message;
288
-					$retour .= $masque;
289
-				}
290
-			}
291
-		}
292
-		// si le formulaire a ete soumis en ajax, on le renvoie direct !
293
-		if (_request('var_ajax')) {
294
-			if (find_in_path('formulaire_.php', 'balise/', true)) {
295
-				include_spip('inc/actions');
296
-				include_spip('public/assembler');
297
-				array_unshift($args, $form);
298
-				$retour .= inclure_balise_dynamique(call_user_func_array('balise_formulaire__dyn', $args), false);
299
-				// on ajoute un br en display none en tete du retour ajax pour regler un bug dans IE6/7
300
-				// sans cela le formulaire n'est pas actif apres le hit ajax
301
-				// la classe ajax-form-is-ok sert a s'assurer que le retour ajax s'est bien passe
302
-				$retour = "<br class='bugajaxie ajax-form-is-ok' style='display:none;'/>" . $retour;
303
-				ajax_retour($retour, false);
273
+            // verifier si traiter n'a pas echoue avec une erreur :
274
+            if (isset($rev['message_erreur'])) {
275
+                $post["erreurs_$form"]["message_erreur"] = $rev['message_erreur'];
276
+                // si il y a une erreur on ne redirige pas
277
+            } else {
278
+                // sinon faire ce qu'il faut :
279
+                if (isset($rev['editable'])) {
280
+                    $post["editable_$form"] = $rev['editable'];
281
+                }
282
+                // si une redirection est demandee, appeler redirigae_formulaire qui choisira
283
+                // le bon mode de redirection (302 et on ne revient pas ici, ou javascript et on continue)
284
+                if (isset($rev['redirect']) and $rev['redirect']) {
285
+                    include_spip('inc/headers');
286
+                    list($masque, $message) = redirige_formulaire($rev['redirect'], '', 'ajaxform');
287
+                    $post["message_ok_$form"] .= $message;
288
+                    $retour .= $masque;
289
+                }
290
+            }
291
+        }
292
+        // si le formulaire a ete soumis en ajax, on le renvoie direct !
293
+        if (_request('var_ajax')) {
294
+            if (find_in_path('formulaire_.php', 'balise/', true)) {
295
+                include_spip('inc/actions');
296
+                include_spip('public/assembler');
297
+                array_unshift($args, $form);
298
+                $retour .= inclure_balise_dynamique(call_user_func_array('balise_formulaire__dyn', $args), false);
299
+                // on ajoute un br en display none en tete du retour ajax pour regler un bug dans IE6/7
300
+                // sans cela le formulaire n'est pas actif apres le hit ajax
301
+                // la classe ajax-form-is-ok sert a s'assurer que le retour ajax s'est bien passe
302
+                $retour = "<br class='bugajaxie ajax-form-is-ok' style='display:none;'/>" . $retour;
303
+                ajax_retour($retour, false);
304 304
 
305
-				return true; // on a fini le hit
306
-			}
307
-		}
308
-		// restaurer la lang en cours
309
-		changer_langue($old_lang);
310
-	}
305
+                return true; // on a fini le hit
306
+            }
307
+        }
308
+        // restaurer la lang en cours
309
+        changer_langue($old_lang);
310
+    }
311 311
 
312
-	return false; // le hit peut continuer normalement
312
+    return false; // le hit peut continuer normalement
313 313
 }
Please login to merge, or discard this patch.
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -22,11 +22,11 @@  discard block
 block discarded – undo
22 22
 			return $r3;
23 23
 		}
24 24
 	}
25
-	if ((tester_url_absolue($redirect) or preg_match(',^\w+:,',trim($redirect)))
25
+	if ((tester_url_absolue($redirect) or preg_match(',^\w+:,', trim($redirect)))
26 26
 		and !defined('_AUTORISER_ACTION_ABS_REDIRECT')) {
27 27
 		// si l'url est une url du site, on la laisse passer sans rien faire
28 28
 		// c'est encore le plus simple
29
-		$base = $GLOBALS['meta']['adresse_site'] . "/";
29
+		$base = $GLOBALS['meta']['adresse_site']."/";
30 30
 		if (strlen($base) and strncmp($redirect, $base, strlen($base)) == 0) {
31 31
 			return $redirect;
32 32
 		}
@@ -145,7 +145,7 @@  discard block
 block discarded – undo
145 145
 			if ($ancre = _request('var_ajax_ancre')) {
146 146
 				// pas n'importe quoi quand meme dans la variable !
147 147
 				$ancre = str_replace(array('<', '"', "'"), array('&lt;', '&quot;', ''), $ancre);
148
-				$texte = "<a href='#$ancre' name='ajax_ancre' style='display:none;'>anchor</a>" . $texte;
148
+				$texte = "<a href='#$ancre' name='ajax_ancre' style='display:none;'>anchor</a>".$texte;
149 149
 			}
150 150
 		} else {
151 151
 			include_spip('inc/headers');
@@ -299,7 +299,7 @@  discard block
 block discarded – undo
299 299
 				// on ajoute un br en display none en tete du retour ajax pour regler un bug dans IE6/7
300 300
 				// sans cela le formulaire n'est pas actif apres le hit ajax
301 301
 				// la classe ajax-form-is-ok sert a s'assurer que le retour ajax s'est bien passe
302
-				$retour = "<br class='bugajaxie ajax-form-is-ok' style='display:none;'/>" . $retour;
302
+				$retour = "<br class='bugajaxie ajax-form-is-ok' style='display:none;'/>".$retour;
303 303
 				ajax_retour($retour, false);
304 304
 
305 305
 				return true; // on a fini le hit
Please login to merge, or discard this patch.
config/ecran_securite.php 2 patches
Indentation   +340 added lines, -340 removed lines patch added patch discarded remove patch
@@ -15,7 +15,7 @@  discard block
 block discarded – undo
15 15
  * Test utilisateur
16 16
  */
17 17
 if (isset($_GET['test_ecran_securite']))
18
-	$ecran_securite_raison = 'test '._ECRAN_SECURITE;
18
+    $ecran_securite_raison = 'test '._ECRAN_SECURITE;
19 19
 
20 20
 /*
21 21
  * Monitoring
@@ -24,215 +24,215 @@  discard block
 block discarded – undo
24 24
  * le load depasse ECRAN_SECURITE_LOAD)
25 25
  */
26 26
 if (!defined('_IS_BOT') and isset($_GET['var_isbot'])){
27
-	define('_IS_BOT', $_GET['var_isbot'] ? true : false);
27
+    define('_IS_BOT', $_GET['var_isbot'] ? true : false);
28 28
 }
29 29
 
30 30
 /*
31 31
  * Détecteur de robot d'indexation
32 32
  */
33 33
 if (!defined('_IS_BOT')){
34
-	define('_IS_BOT',
35
-		isset($_SERVER['HTTP_USER_AGENT'])
36
-		and preg_match(','
37
-		. implode ('|', array(
38
-			// mots generiques
39
-			'bot',
40
-			'slurp',
41
-			'crawler',
42
-			'crwlr',
43
-			'java',
44
-			'monitoring',
45
-			'spider',
46
-			'webvac',
47
-			'yandex',
48
-			'MSIE 6\.0', // botnet 99,9% du temps
49
-			// UA plus cibles 
50
-			'200please',
51
-			'80legs',
52
-			'a6-indexer',
53
-			'aboundex',
54
-			'accoona',
55
-			'acrylicapps',
56
-			'addthis',
57
-			'adressendeutschland',
58
-			'alexa',
59
-			'altavista',
60
-			'analyticsseo',
61
-			'antennapod',
62
-			'arachnys',
63
-			'archive',
64
-			'argclrint',
65
-			'aspseek',
66
-			'baidu',
67
-			'begunadvertising',
68
-			'bing',
69
-			'bloglines',
70
-			'buck',
71
-			'browsershots',
72
-			'bubing',
73
-			'butterfly',
74
-			'changedetection',
75
-			'charlotte',
76
-			'chilkat',
77
-			'china',
78
-			'coccoc',
79
-			'crowsnest',
80
-			'dataminr',
81
-			'daumoa',
82
-			'dlvr\.it',
83
-			'dlweb',
84
-			'drupal',
85
-			'ec2linkfinder',
86
-			'eset\.com',
87
-			'estyle',
88
-			'exalead',
89
-			'ezooms',
90
-			'facebookexternalhit',
91
-			'facebookplatform',
92
-			'fairshare',
93
-			'feedfetcher',
94
-			'feedfetcher-google',
95
-			'feedly',
96
-			'fetch',
97
-			'flipboardproxy',
98
-			'genieo',
99
-			'google',
100
-			'go-http-client',
101
-			'grapeshot',
102
-			'hatena-useragent',
103
-			'head',
104
-			'hosttracker',
105
-			'hubspot',
106
-			'ia_archiver',
107
-			'ichiro',
108
-			'iltrovatore-setaccio',
109
-			'immediatenet',
110
-			'ina',
111
-			'inoreader',
112
-			'infegyatlas',
113
-			'infohelfer',
114
-			'instapaper',
115
-			'jabse',
116
-			'james',
117
-			'jersey',
118
-			'kumkie',
119
-			'linkdex',
120
-			'linkfluence',
121
-			'linkwalker',
122
-			'litefinder',
123
-			'loadimpactpageanalyzer',
124
-			'ltx71',
125
-			'luminate',
126
-			'lycos',
127
-			'lycosa',
128
-			'mediapartners-google',
129
-			'msai',
130
-			'myapp',
131
-			'nativehost',
132
-			'najdi',
133
-			'netcraftsurveyagent',
134
-			'netestate',
135
-			'netseer',
136
-			'netnewswire',
137
-			'newspaper',
138
-			'newsblur',
139
-			'nuhk',
140
-			'nuzzel',
141
-			'okhttp',
142
-			'otmedia',
143
-			'owlin',
144
-			'owncloud',
145
-			'panscient',
146
-			'paper\.li',
147
-			'parsijoo',
148
-			'protopage',
149
-			'plukkie',
150
-			'proximic',
151
-			'pubsub',
152
-			'python',
153
-			'qirina',
154
-			'qoshe',
155
-			'qualidator',
156
-			'qwantify',
157
-			'rambler',
158
-			'readability',
159
-			'ruby',
160
-			'sbsearch',
161
-			'scoop\.it',
162
-			'scooter',
163
-			'scoutjet',
164
-			'scrapy',
165
-			'scrubby',
166
-			'scrubbybloglines',
167
-			'shareaholic',
168
-			'shopwiki',
169
-			'simplepie',
170
-			'sistrix',
171
-			'sitechecker',
172
-			'siteexplorer',
173
-			'snapshot',
174
-			'sogou',
175
-			'special_archiver',
176
-			'speedy',
177
-			'spinn3r',
178
-			'spreadtrum',
179
-			'steeler',
180
-			'subscriber',
181
-			'suma',
182
-			'superdownloads',
183
-			'svenska-webbsido',
184
-			'teoma',
185
-			'the knowledge AI',
186
-			'thumbshots',
187
-			'tineye',
188
-			'traackr',
189
-			'trendiction',
190
-			'trendsmap',
191
-			'tweetedtimes',
192
-			'tweetmeme',
193
-			'universalfeedparser',
194
-			'uaslinkchecker',
195
-			'undrip',
196
-			'unwindfetchor',
197
-			'upday',
198
-			'vedma',
199
-			'vkshare',
200
-			'vm',
201
-			'wch',
202
-			'webalta',
203
-			'webcookies',
204
-			'webparser',
205
-			'webthumbnail',
206
-			'wesee',
207
-			'wise-guys',
208
-			'woko',
209
-			'wordpress',
210
-			'wotbox',
211
-			'y!j-bri',
212
-			'y!j-bro',
213
-			'y!j-brw',
214
-			'y!j-bsc',
215
-			'yahoo',
216
-			'yahoo!',
217
-			'yahooysmcm',
218
-			'ymobactus',
219
-			'yats',
220
-			'yeti',
221
-			'zeerch'
222
-		)) . ',i',
223
-		(string)$_SERVER['HTTP_USER_AGENT'])
224
-	);
34
+    define('_IS_BOT',
35
+        isset($_SERVER['HTTP_USER_AGENT'])
36
+        and preg_match(','
37
+        . implode ('|', array(
38
+            // mots generiques
39
+            'bot',
40
+            'slurp',
41
+            'crawler',
42
+            'crwlr',
43
+            'java',
44
+            'monitoring',
45
+            'spider',
46
+            'webvac',
47
+            'yandex',
48
+            'MSIE 6\.0', // botnet 99,9% du temps
49
+            // UA plus cibles 
50
+            '200please',
51
+            '80legs',
52
+            'a6-indexer',
53
+            'aboundex',
54
+            'accoona',
55
+            'acrylicapps',
56
+            'addthis',
57
+            'adressendeutschland',
58
+            'alexa',
59
+            'altavista',
60
+            'analyticsseo',
61
+            'antennapod',
62
+            'arachnys',
63
+            'archive',
64
+            'argclrint',
65
+            'aspseek',
66
+            'baidu',
67
+            'begunadvertising',
68
+            'bing',
69
+            'bloglines',
70
+            'buck',
71
+            'browsershots',
72
+            'bubing',
73
+            'butterfly',
74
+            'changedetection',
75
+            'charlotte',
76
+            'chilkat',
77
+            'china',
78
+            'coccoc',
79
+            'crowsnest',
80
+            'dataminr',
81
+            'daumoa',
82
+            'dlvr\.it',
83
+            'dlweb',
84
+            'drupal',
85
+            'ec2linkfinder',
86
+            'eset\.com',
87
+            'estyle',
88
+            'exalead',
89
+            'ezooms',
90
+            'facebookexternalhit',
91
+            'facebookplatform',
92
+            'fairshare',
93
+            'feedfetcher',
94
+            'feedfetcher-google',
95
+            'feedly',
96
+            'fetch',
97
+            'flipboardproxy',
98
+            'genieo',
99
+            'google',
100
+            'go-http-client',
101
+            'grapeshot',
102
+            'hatena-useragent',
103
+            'head',
104
+            'hosttracker',
105
+            'hubspot',
106
+            'ia_archiver',
107
+            'ichiro',
108
+            'iltrovatore-setaccio',
109
+            'immediatenet',
110
+            'ina',
111
+            'inoreader',
112
+            'infegyatlas',
113
+            'infohelfer',
114
+            'instapaper',
115
+            'jabse',
116
+            'james',
117
+            'jersey',
118
+            'kumkie',
119
+            'linkdex',
120
+            'linkfluence',
121
+            'linkwalker',
122
+            'litefinder',
123
+            'loadimpactpageanalyzer',
124
+            'ltx71',
125
+            'luminate',
126
+            'lycos',
127
+            'lycosa',
128
+            'mediapartners-google',
129
+            'msai',
130
+            'myapp',
131
+            'nativehost',
132
+            'najdi',
133
+            'netcraftsurveyagent',
134
+            'netestate',
135
+            'netseer',
136
+            'netnewswire',
137
+            'newspaper',
138
+            'newsblur',
139
+            'nuhk',
140
+            'nuzzel',
141
+            'okhttp',
142
+            'otmedia',
143
+            'owlin',
144
+            'owncloud',
145
+            'panscient',
146
+            'paper\.li',
147
+            'parsijoo',
148
+            'protopage',
149
+            'plukkie',
150
+            'proximic',
151
+            'pubsub',
152
+            'python',
153
+            'qirina',
154
+            'qoshe',
155
+            'qualidator',
156
+            'qwantify',
157
+            'rambler',
158
+            'readability',
159
+            'ruby',
160
+            'sbsearch',
161
+            'scoop\.it',
162
+            'scooter',
163
+            'scoutjet',
164
+            'scrapy',
165
+            'scrubby',
166
+            'scrubbybloglines',
167
+            'shareaholic',
168
+            'shopwiki',
169
+            'simplepie',
170
+            'sistrix',
171
+            'sitechecker',
172
+            'siteexplorer',
173
+            'snapshot',
174
+            'sogou',
175
+            'special_archiver',
176
+            'speedy',
177
+            'spinn3r',
178
+            'spreadtrum',
179
+            'steeler',
180
+            'subscriber',
181
+            'suma',
182
+            'superdownloads',
183
+            'svenska-webbsido',
184
+            'teoma',
185
+            'the knowledge AI',
186
+            'thumbshots',
187
+            'tineye',
188
+            'traackr',
189
+            'trendiction',
190
+            'trendsmap',
191
+            'tweetedtimes',
192
+            'tweetmeme',
193
+            'universalfeedparser',
194
+            'uaslinkchecker',
195
+            'undrip',
196
+            'unwindfetchor',
197
+            'upday',
198
+            'vedma',
199
+            'vkshare',
200
+            'vm',
201
+            'wch',
202
+            'webalta',
203
+            'webcookies',
204
+            'webparser',
205
+            'webthumbnail',
206
+            'wesee',
207
+            'wise-guys',
208
+            'woko',
209
+            'wordpress',
210
+            'wotbox',
211
+            'y!j-bri',
212
+            'y!j-bro',
213
+            'y!j-brw',
214
+            'y!j-bsc',
215
+            'yahoo',
216
+            'yahoo!',
217
+            'yahooysmcm',
218
+            'ymobactus',
219
+            'yats',
220
+            'yeti',
221
+            'zeerch'
222
+        )) . ',i',
223
+        (string)$_SERVER['HTTP_USER_AGENT'])
224
+    );
225 225
 }
226 226
 if (!defined('_IS_BOT_FRIEND')){
227
-	define('_IS_BOT_FRIEND',
228
-		isset($_SERVER['HTTP_USER_AGENT'])
229
-		and preg_match(',' . implode ('|', array(
230
-			'facebookexternalhit',
231
-			'flipboardproxy',
232
-			'wordpress'
233
-		)) . ',i',
234
-		(string)$_SERVER['HTTP_USER_AGENT'])
235
-	);
227
+    define('_IS_BOT_FRIEND',
228
+        isset($_SERVER['HTTP_USER_AGENT'])
229
+        and preg_match(',' . implode ('|', array(
230
+            'facebookexternalhit',
231
+            'flipboardproxy',
232
+            'wordpress'
233
+        )) . ',i',
234
+        (string)$_SERVER['HTTP_USER_AGENT'])
235
+    );
236 236
 }
237 237
 
238 238
 /*
@@ -244,17 +244,17 @@  discard block
 block discarded – undo
244 244
  */
245 245
 $_exceptions = array('id_table','id_base','id_parent','id_article_pdf');
246 246
 foreach ($_GET as $var => $val)
247
-	if ($_GET[$var] and strncmp($var, "id_", 3) == 0
248
-		and !in_array($var, $_exceptions))
249
-		$_GET[$var] = is_array($_GET[$var])?@array_map('intval', $_GET[$var]):intval($_GET[$var]);
247
+    if ($_GET[$var] and strncmp($var, "id_", 3) == 0
248
+        and !in_array($var, $_exceptions))
249
+        $_GET[$var] = is_array($_GET[$var])?@array_map('intval', $_GET[$var]):intval($_GET[$var]);
250 250
 foreach ($_POST as $var => $val)
251
-	if ($_POST[$var] and strncmp($var, "id_", 3) == 0
252
-		and !in_array($var, $_exceptions))
253
-		$_POST[$var] = is_array($_POST[$var])?@array_map('intval', $_POST[$var]):intval($_POST[$var]);
251
+    if ($_POST[$var] and strncmp($var, "id_", 3) == 0
252
+        and !in_array($var, $_exceptions))
253
+        $_POST[$var] = is_array($_POST[$var])?@array_map('intval', $_POST[$var]):intval($_POST[$var]);
254 254
 foreach ($GLOBALS as $var => $val)
255
-	if ($GLOBALS[$var] and strncmp($var, "id_", 3) == 0
256
-		and !in_array($var, $_exceptions))
257
-		$GLOBALS[$var] = is_array($GLOBALS[$var])?@array_map('intval', $GLOBALS[$var]):intval($GLOBALS[$var]);
255
+    if ($GLOBALS[$var] and strncmp($var, "id_", 3) == 0
256
+        and !in_array($var, $_exceptions))
257
+        $GLOBALS[$var] = is_array($GLOBALS[$var])?@array_map('intval', $GLOBALS[$var]):intval($GLOBALS[$var]);
258 258
 
259 259
 /*
260 260
  * Interdit la variable $cjpeg_command, qui était utilisée sans
@@ -266,17 +266,17 @@  discard block
 block discarded – undo
266 266
  * Contrôle de quelques variables (XSS)
267 267
  */
268 268
 foreach(array('lang', 'var_recherche', 'aide', 'var_lang_r', 'lang_r', 'var_ajax_ancre', 'nom_fichier') as $var) {
269
-	if (isset($_GET[$var]))
270
-		$_REQUEST[$var] = $GLOBALS[$var] = $_GET[$var] = preg_replace(',[^\w\,/#&;-]+,', ' ', (string)$_GET[$var]);
271
-	if (isset($_POST[$var]))
272
-		$_REQUEST[$var] = $GLOBALS[$var] = $_POST[$var] = preg_replace(',[^\w\,/#&;-]+,', ' ', (string)$_POST[$var]);
269
+    if (isset($_GET[$var]))
270
+        $_REQUEST[$var] = $GLOBALS[$var] = $_GET[$var] = preg_replace(',[^\w\,/#&;-]+,', ' ', (string)$_GET[$var]);
271
+    if (isset($_POST[$var]))
272
+        $_REQUEST[$var] = $GLOBALS[$var] = $_POST[$var] = preg_replace(',[^\w\,/#&;-]+,', ' ', (string)$_POST[$var]);
273 273
 }
274 274
 
275 275
 /*
276 276
  * Filtre l'accès à spip_acces_doc (injection SQL en 1.8.2x)
277 277
  */
278 278
 if (preg_match(',^(.*/)?spip_acces_doc\.,', (string)$_SERVER['REQUEST_URI'])) {
279
-	$file = addslashes((string)$_GET['file']);
279
+    $file = addslashes((string)$_GET['file']);
280 280
 }
281 281
 
282 282
 /*
@@ -285,61 +285,61 @@  discard block
 block discarded – undo
285 285
 if (isset($_REQUEST['mode']) and isset($_REQUEST['page'])
286 286
 and !in_array($_REQUEST['mode'], array("6forum", "1comite"))
287 287
 and $_REQUEST['page'] == "identifiants")
288
-	$ecran_securite_raison = "identifiants";
288
+    $ecran_securite_raison = "identifiants";
289 289
 
290 290
 /*
291 291
  * Agenda joue à l'injection php
292 292
  */
293 293
 if (isset($_REQUEST['partie_cal'])
294 294
 and $_REQUEST['partie_cal'] !== htmlentities((string)$_REQUEST['partie_cal']))
295
-	$ecran_securite_raison = "partie_cal";
295
+    $ecran_securite_raison = "partie_cal";
296 296
 if (isset($_REQUEST['echelle'])
297 297
 and $_REQUEST['echelle'] !== htmlentities((string)$_REQUEST['echelle']))
298
-	$ecran_securite_raison = "echelle";
298
+    $ecran_securite_raison = "echelle";
299 299
 
300 300
 /*
301 301
  * Espace privé
302 302
  */
303 303
 if (isset($_REQUEST['exec'])
304 304
 and !preg_match(',^[\w-]+$,', (string)$_REQUEST['exec']))
305
-	$ecran_securite_raison = "exec";
305
+    $ecran_securite_raison = "exec";
306 306
 if (isset($_REQUEST['cherche_auteur'])
307 307
 and preg_match(',[<],', (string)$_REQUEST['cherche_auteur']))
308
-	$ecran_securite_raison = "cherche_auteur";
308
+    $ecran_securite_raison = "cherche_auteur";
309 309
 if (isset($_REQUEST['exec'])
310 310
 and $_REQUEST['exec'] == 'auteurs'
311 311
 and preg_match(',[<],', (string)$_REQUEST['recherche']))
312
-	$ecran_securite_raison = "recherche";
312
+    $ecran_securite_raison = "recherche";
313 313
 if (isset($_REQUEST['exec'])
314 314
 and $_REQUEST['exec'] == 'info_plugin'
315 315
 and preg_match(',[<],', (string)$_REQUEST['plugin']))
316
-	$ecran_securite_raison = "plugin";
316
+    $ecran_securite_raison = "plugin";
317 317
 if (isset($_REQUEST['exec'])
318 318
 and $_REQUEST['exec'] == 'puce_statut'
319 319
 and isset($_REQUEST['id'])
320 320
 and !intval($_REQUEST['id']))
321
-	$ecran_securite_raison = "puce_statut";
321
+    $ecran_securite_raison = "puce_statut";
322 322
 if (isset($_REQUEST['action'])
323 323
 and $_REQUEST['action'] == 'configurer') {
324
-	if (@file_exists('inc_version.php')
325
-	or @file_exists('ecrire/inc_version.php')) {
326
-		function action_configurer() {
327
-			include_spip('inc/autoriser');
328
-			if(!autoriser('configurer', _request('configuration'))) {
329
-				include_spip('inc/minipres');
330
-				echo minipres(_T('info_acces_interdit'));
331
-				exit;
332
-			}
333
-			require _DIR_RESTREINT.'action/configurer.php';
334
-			action_configurer_dist();
335
-		}
336
-	}
324
+    if (@file_exists('inc_version.php')
325
+    or @file_exists('ecrire/inc_version.php')) {
326
+        function action_configurer() {
327
+            include_spip('inc/autoriser');
328
+            if(!autoriser('configurer', _request('configuration'))) {
329
+                include_spip('inc/minipres');
330
+                echo minipres(_T('info_acces_interdit'));
331
+                exit;
332
+            }
333
+            require _DIR_RESTREINT.'action/configurer.php';
334
+            action_configurer_dist();
335
+        }
336
+    }
337 337
 }
338 338
 if (isset($_REQUEST['action'])
339 339
 and $_REQUEST['action'] == 'ordonner_liens_documents'
340 340
 and isset($_REQUEST['ordre'])
341 341
 and is_string($_REQUEST['ordre'])){
342
-	$ecran_securite_raison = "ordre a la chaine";
342
+    $ecran_securite_raison = "ordre a la chaine";
343 343
 }
344 344
 
345 345
 
@@ -347,24 +347,24 @@  discard block
 block discarded – undo
347 347
  * Bloque les requêtes contenant %00 (manipulation d'include)
348 348
  */
349 349
 if (strpos(
350
-	(function_exists('get_magic_quotes_gpc') and @get_magic_quotes_gpc()) ?
351
-		stripslashes(serialize($_REQUEST)) : serialize($_REQUEST),
352
-	chr(0)
350
+    (function_exists('get_magic_quotes_gpc') and @get_magic_quotes_gpc()) ?
351
+        stripslashes(serialize($_REQUEST)) : serialize($_REQUEST),
352
+    chr(0)
353 353
 ) !== false)
354
-	$ecran_securite_raison = "%00";
354
+    $ecran_securite_raison = "%00";
355 355
 
356 356
 /*
357 357
  * Bloque les requêtes fond=formulaire_
358 358
  */
359 359
 if (isset($_REQUEST['fond'])
360 360
 and preg_match(',^formulaire_,i', $_REQUEST['fond']))
361
-	$ecran_securite_raison = "fond=formulaire_";
361
+    $ecran_securite_raison = "fond=formulaire_";
362 362
 
363 363
 /*
364 364
  * Bloque les requêtes du type ?GLOBALS[type_urls]=toto (bug vieux php)
365 365
  */
366 366
 if (isset($_REQUEST['GLOBALS']))
367
-	$ecran_securite_raison = "GLOBALS[GLOBALS]";
367
+    $ecran_securite_raison = "GLOBALS[GLOBALS]";
368 368
 
369 369
 /*
370 370
  * Bloque les requêtes des bots sur:
@@ -372,26 +372,26 @@  discard block
 block discarded – undo
372 372
  * les paginations entremélées
373 373
  */
374 374
 if (_IS_BOT and (
375
-	(isset($_REQUEST['echelle']) and isset($_REQUEST['partie_cal']) and isset($_REQUEST['type']))
376
-	or (strpos((string)$_SERVER['REQUEST_URI'], 'debut_') and preg_match(',[?&]debut_.*&debut_,', (string)$_SERVER['REQUEST_URI']))
377
-		or (isset($_REQUEST['calendrier_annee']) and strpos((string)$_SERVER['REQUEST_URI'], 'debut_') )
378
-		or (isset($_REQUEST['calendrier_annee']) and preg_match(',[?&]calendrier_annee=.*&calendrier_annee=,', (string)$_SERVER['REQUEST_URI']))
375
+    (isset($_REQUEST['echelle']) and isset($_REQUEST['partie_cal']) and isset($_REQUEST['type']))
376
+    or (strpos((string)$_SERVER['REQUEST_URI'], 'debut_') and preg_match(',[?&]debut_.*&debut_,', (string)$_SERVER['REQUEST_URI']))
377
+        or (isset($_REQUEST['calendrier_annee']) and strpos((string)$_SERVER['REQUEST_URI'], 'debut_') )
378
+        or (isset($_REQUEST['calendrier_annee']) and preg_match(',[?&]calendrier_annee=.*&calendrier_annee=,', (string)$_SERVER['REQUEST_URI']))
379 379
 )
380 380
 )
381
-	$ecran_securite_raison = "robot agenda/double pagination";
381
+    $ecran_securite_raison = "robot agenda/double pagination";
382 382
 
383 383
 /*
384 384
  * Bloque une vieille page de tests de CFG (<1.11)
385 385
  * Bloque un XSS sur une page inexistante
386 386
  */
387 387
 if (isset($_REQUEST['page'])) {
388
-	if ($_REQUEST['page'] == 'test_cfg')
389
-		$ecran_securite_raison = "test_cfg";
390
-	if ($_REQUEST['page'] !== htmlspecialchars((string)$_REQUEST['page']))
391
-		$ecran_securite_raison = "xsspage";
392
-	if ($_REQUEST['page'] == '404'
393
-	and isset($_REQUEST['erreur']))
394
-		$ecran_securite_raison = "xss404";
388
+    if ($_REQUEST['page'] == 'test_cfg')
389
+        $ecran_securite_raison = "test_cfg";
390
+    if ($_REQUEST['page'] !== htmlspecialchars((string)$_REQUEST['page']))
391
+        $ecran_securite_raison = "xsspage";
392
+    if ($_REQUEST['page'] == '404'
393
+    and isset($_REQUEST['erreur']))
394
+        $ecran_securite_raison = "xss404";
395 395
 }
396 396
 
397 397
 /*
@@ -399,40 +399,40 @@  discard block
 block discarded – undo
399 399
  */
400 400
 foreach (array('var_login') as $var)
401 401
 if (isset($_REQUEST[$var]) and is_array($_REQUEST[$var]))
402
-	$ecran_securite_raison = "xss ".$var;
402
+    $ecran_securite_raison = "xss ".$var;
403 403
 
404 404
 /*
405 405
  * Parade antivirale contre un cheval de troie
406 406
  */
407 407
 if (!function_exists('tmp_lkojfghx')) {
408
-	function tmp_lkojfghx() {}
409
-	function tmp_lkojfghx2($a = 0, $b = 0, $c = 0, $d = 0) {
410
-		// si jamais on est arrivé ici sur une erreur php
411
-		// et qu'un autre gestionnaire d'erreur est défini, l'appeller
412
-		if ($b && $GLOBALS['tmp_xhgfjokl'])
413
-			call_user_func($GLOBALS['tmp_xhgfjokl'], $a, $b, $c, $d);
414
-	}
408
+    function tmp_lkojfghx() {}
409
+    function tmp_lkojfghx2($a = 0, $b = 0, $c = 0, $d = 0) {
410
+        // si jamais on est arrivé ici sur une erreur php
411
+        // et qu'un autre gestionnaire d'erreur est défini, l'appeller
412
+        if ($b && $GLOBALS['tmp_xhgfjokl'])
413
+            call_user_func($GLOBALS['tmp_xhgfjokl'], $a, $b, $c, $d);
414
+    }
415 415
 }
416 416
 if (isset($_POST['tmp_lkojfghx3']))
417
-	$ecran_securite_raison = "gumblar";
417
+    $ecran_securite_raison = "gumblar";
418 418
 
419 419
 /*
420 420
  * Outils XML mal sécurisés < 2.0.9
421 421
  */
422 422
 if (isset($_REQUEST['transformer_xml']))
423
-	$ecran_securite_raison = "transformer_xml";
423
+    $ecran_securite_raison = "transformer_xml";
424 424
 
425 425
 /*
426 426
  * Outils XML mal sécurisés again
427 427
  */
428 428
 if (isset($_REQUEST['var_url']) and $_REQUEST['var_url'] and isset($_REQUEST['exec']) and $_REQUEST['exec']=='valider_xml'){
429
-	$url = trim($_REQUEST['var_url']);
430
-	if (strncmp($url,'/',1)==0
431
-	  or (($p=strpos($url,'..'))!==false AND strpos($url,'..',$p+3)!==false)
432
-	  or (($p=strpos($url,'..'))!==false AND strpos($url,'IMG',$p+3)!==false)
433
-		or (strpos($url,'://')!==false or strpos($url,':\\')!==false)) {
434
-		$ecran_securite_raison = 'URL interdite pour var_url';
435
-	}
429
+    $url = trim($_REQUEST['var_url']);
430
+    if (strncmp($url,'/',1)==0
431
+      or (($p=strpos($url,'..'))!==false AND strpos($url,'..',$p+3)!==false)
432
+      or (($p=strpos($url,'..'))!==false AND strpos($url,'IMG',$p+3)!==false)
433
+        or (strpos($url,'://')!==false or strpos($url,':\\')!==false)) {
434
+        $ecran_securite_raison = 'URL interdite pour var_url';
435
+    }
436 436
 }
437 437
 
438 438
 /*
@@ -440,10 +440,10 @@  discard block
 block discarded – undo
440 440
  */
441 441
 if (isset($_REQUEST['nom_sauvegarde'])
442 442
 and strstr((string)$_REQUEST['nom_sauvegarde'], '/'))
443
-	$ecran_securite_raison = 'nom_sauvegarde manipulee';
443
+    $ecran_securite_raison = 'nom_sauvegarde manipulee';
444 444
 if (isset($_REQUEST['znom_sauvegarde'])
445 445
 and strstr((string)$_REQUEST['znom_sauvegarde'], '/'))
446
-	$ecran_securite_raison = 'znom_sauvegarde manipulee';
446
+    $ecran_securite_raison = 'znom_sauvegarde manipulee';
447 447
 
448 448
 
449 449
 /*
@@ -452,26 +452,26 @@  discard block
 block discarded – undo
452 452
  */
453 453
 if (isset($_REQUEST['op']) and isset($_REQUEST['page'])
454 454
 and $_REQUEST['op'] !== preg_replace('/[^\-\w]/', '', $_REQUEST['op']))
455
-	$ecran_securite_raison = 'op';
455
+    $ecran_securite_raison = 'op';
456 456
 
457 457
 /*
458 458
  * Forms & Table ne se méfiait pas assez des uploads de fichiers
459 459
  */
460 460
 if (count($_FILES)){
461
-	foreach($_FILES as $k => $v){
462
-		 if (preg_match(',^fichier_\d+$,', $k)
463
-		 and preg_match(',\.php,i', $v['name']))
464
-		 	unset($_FILES[$k]);
465
-	}
461
+    foreach($_FILES as $k => $v){
462
+            if (preg_match(',^fichier_\d+$,', $k)
463
+         and preg_match(',\.php,i', $v['name']))
464
+                unset($_FILES[$k]);
465
+    }
466 466
 }
467 467
 /*
468 468
  * et Contact trop laxiste avec une variable externe
469 469
  * on bloque pas le post pour eviter de perdre des donnees mais on unset la variable et c'est tout
470 470
  */
471 471
 if (isset($_REQUEST['pj_enregistrees_nom']) and $_REQUEST['pj_enregistrees_nom']){
472
-	unset($_REQUEST['pj_enregistrees_nom']);
473
-	unset($_GET['pj_enregistrees_nom']);
474
-	unset($_POST['pj_enregistrees_nom']);
472
+    unset($_REQUEST['pj_enregistrees_nom']);
473
+    unset($_GET['pj_enregistrees_nom']);
474
+    unset($_POST['pj_enregistrees_nom']);
475 475
 }
476 476
 
477 477
 /*
@@ -479,35 +479,35 @@  discard block
 block discarded – undo
479 479
  */
480 480
 if (isset($_REQUEST['reinstall'])
481 481
 and $_REQUEST['reinstall'] == 'oui')
482
-	$ecran_securite_raison = 'reinstall=oui';
482
+    $ecran_securite_raison = 'reinstall=oui';
483 483
 
484 484
 /*
485 485
  * Pas d'action pendant l'install
486 486
  */
487 487
 if (isset($_REQUEST['exec']) and $_REQUEST['exec'] === 'install' and isset($_REQUEST['action'])) {
488
-	$ecran_securite_raison = 'install&action impossibles';
488
+    $ecran_securite_raison = 'install&action impossibles';
489 489
 }
490 490
 
491 491
 /*
492 492
  * Échappement xss referer
493 493
  */
494 494
 if (isset($_SERVER['HTTP_REFERER']))
495
-	$_SERVER['HTTP_REFERER'] = strtr($_SERVER['HTTP_REFERER'], '<>"\'', '[]##');
495
+    $_SERVER['HTTP_REFERER'] = strtr($_SERVER['HTTP_REFERER'], '<>"\'', '[]##');
496 496
 
497 497
 
498 498
 /*
499 499
  * Echappement HTTP_X_FORWARDED_HOST
500 500
  */
501 501
 if (isset($_SERVER['HTTP_X_FORWARDED_HOST']))
502
-	$_SERVER['HTTP_X_FORWARDED_HOST'] = strtr($_SERVER['HTTP_X_FORWARDED_HOST'], "<>?\"\{\}\$'` \r\n", '____________');
502
+    $_SERVER['HTTP_X_FORWARDED_HOST'] = strtr($_SERVER['HTTP_X_FORWARDED_HOST'], "<>?\"\{\}\$'` \r\n", '____________');
503 503
 
504 504
 
505 505
 /*
506 506
  * Pas d'erreur dans l'erreur
507 507
  */
508 508
 if (isset($_REQUEST['var_erreur']) and isset($_REQUEST['page']) and $_REQUEST['page'] === 'login') {
509
-	if (strlen($_REQUEST['var_erreur']) !== strcspn($_REQUEST['var_erreur'], '<>'))
510
-		$ecran_securite_raison = 'var_erreur incorrecte';
509
+    if (strlen($_REQUEST['var_erreur']) !== strcspn($_REQUEST['var_erreur'], '<>'))
510
+        $ecran_securite_raison = 'var_erreur incorrecte';
511 511
 }
512 512
 
513 513
 
@@ -515,46 +515,46 @@  discard block
 block discarded – undo
515 515
  * Réinjection des clés en html dans l'admin r19561
516 516
  */
517 517
 if (strpos($_SERVER['REQUEST_URI'], "ecrire/") !== false or isset($_REQUEST['var_memotri'])){
518
-	$zzzz = implode("", array_keys($_REQUEST));
519
-	if (strlen($zzzz) != strcspn($zzzz, '<>"\''))
520
-		$ecran_securite_raison = 'Cle incorrecte en $_REQUEST';
518
+    $zzzz = implode("", array_keys($_REQUEST));
519
+    if (strlen($zzzz) != strcspn($zzzz, '<>"\''))
520
+        $ecran_securite_raison = 'Cle incorrecte en $_REQUEST';
521 521
 }
522 522
 
523 523
 /*
524 524
  * Injection par connect
525 525
  */
526 526
 if (isset($_REQUEST['connect'])
527
-	and
528
-	// cas qui permettent de sortir d'un commentaire PHP
529
-	(strpos($_REQUEST['connect'], "?") !== false
530
-	 or strpos($_REQUEST['connect'], "<") !== false
531
-	 or strpos($_REQUEST['connect'], ">") !== false
532
-	 or strpos($_REQUEST['connect'], "\n") !== false
533
-	 or strpos($_REQUEST['connect'], "\r") !== false)
534
-	) {
535
-	$ecran_securite_raison = "malformed connect argument";
527
+    and
528
+    // cas qui permettent de sortir d'un commentaire PHP
529
+    (strpos($_REQUEST['connect'], "?") !== false
530
+     or strpos($_REQUEST['connect'], "<") !== false
531
+     or strpos($_REQUEST['connect'], ">") !== false
532
+     or strpos($_REQUEST['connect'], "\n") !== false
533
+     or strpos($_REQUEST['connect'], "\r") !== false)
534
+    ) {
535
+    $ecran_securite_raison = "malformed connect argument";
536 536
 }
537 537
 
538 538
 /*
539 539
  * S'il y a une raison de mourir, mourons
540 540
  */
541 541
 if (isset($ecran_securite_raison)) {
542
-	header("HTTP/1.0 403 Forbidden");
543
-	header("Expires: Wed, 11 Jan 1984 05:00:00 GMT");
544
-	header("Cache-Control: no-cache, must-revalidate");
545
-	header("Pragma: no-cache");
546
-	header("Content-Type: text/html");
547
-	die("<html><title>Error 403: Forbidden</title><body><h1>Error 403</h1><p>You are not authorized to view this page ($ecran_securite_raison)</p></body></html>");
542
+    header("HTTP/1.0 403 Forbidden");
543
+    header("Expires: Wed, 11 Jan 1984 05:00:00 GMT");
544
+    header("Cache-Control: no-cache, must-revalidate");
545
+    header("Pragma: no-cache");
546
+    header("Content-Type: text/html");
547
+    die("<html><title>Error 403: Forbidden</title><body><h1>Error 403</h1><p>You are not authorized to view this page ($ecran_securite_raison)</p></body></html>");
548 548
 }
549 549
 
550 550
 /*
551 551
  * Un filtre filtrer_entites securise
552 552
  */
553 553
 if (!function_exists('filtre_filtrer_entites_dist')) {
554
-	function filtre_filtrer_entites_dist($t) {
555
-		include_spip('inc/texte');
556
-		return interdire_scripts(filtrer_entites($t));
557
-	}
554
+    function filtre_filtrer_entites_dist($t) {
555
+        include_spip('inc/texte');
556
+        return interdire_scripts(filtrer_entites($t));
557
+    }
558 558
 }
559 559
 
560 560
 
@@ -568,35 +568,35 @@  discard block
 block discarded – undo
568 568
  * Bloque les bots quand le load déborde
569 569
  */
570 570
 if (!defined('_ECRAN_SECURITE_LOAD'))
571
-	define('_ECRAN_SECURITE_LOAD', 4);
571
+    define('_ECRAN_SECURITE_LOAD', 4);
572 572
 
573 573
 if (
574
-	defined('_ECRAN_SECURITE_LOAD')
575
-	and _ECRAN_SECURITE_LOAD > 0
576
-	and _IS_BOT
577
-	and !_IS_BOT_FRIEND
578
-	and $_SERVER['REQUEST_METHOD'] === 'GET'
579
-	and (
580
-		(function_exists('sys_getloadavg')
581
-		  and $load = sys_getloadavg()
582
-		  and is_array($load)
583
-		  and $load = array_shift($load)
584
-		)
585
-		or
586
-		(@is_readable('/proc/loadavg')
587
-		  and $load = file_get_contents('/proc/loadavg')
588
-		  and $load = floatval($load)
589
-		)
590
-	)
591
-	and $load > _ECRAN_SECURITE_LOAD // eviter l'evaluation suivante si de toute facon le load est inferieur a la limite
592
-	and rand(0, $load * $load) > _ECRAN_SECURITE_LOAD * _ECRAN_SECURITE_LOAD
574
+    defined('_ECRAN_SECURITE_LOAD')
575
+    and _ECRAN_SECURITE_LOAD > 0
576
+    and _IS_BOT
577
+    and !_IS_BOT_FRIEND
578
+    and $_SERVER['REQUEST_METHOD'] === 'GET'
579
+    and (
580
+        (function_exists('sys_getloadavg')
581
+          and $load = sys_getloadavg()
582
+          and is_array($load)
583
+          and $load = array_shift($load)
584
+        )
585
+        or
586
+        (@is_readable('/proc/loadavg')
587
+          and $load = file_get_contents('/proc/loadavg')
588
+          and $load = floatval($load)
589
+        )
590
+    )
591
+    and $load > _ECRAN_SECURITE_LOAD // eviter l'evaluation suivante si de toute facon le load est inferieur a la limite
592
+    and rand(0, $load * $load) > _ECRAN_SECURITE_LOAD * _ECRAN_SECURITE_LOAD
593 593
 ) {
594
-	//https://webmasters.stackexchange.com/questions/65674/should-i-return-a-429-or-503-status-code-to-a-bot
595
-	header("HTTP/1.0 429 Too Many Requests");
596
-	header("Retry-After: 300");
597
-	header("Expires: Wed, 11 Jan 1984 05:00:00 GMT");
598
-	header("Cache-Control: no-cache, must-revalidate");
599
-	header("Pragma: no-cache");
600
-	header("Content-Type: text/html");
601
-	die("<html><title>Status 429: Too Many Requests</title><body><h1>Status 429</h1><p>Too Many Requests (try again soon)</p></body></html>");
594
+    //https://webmasters.stackexchange.com/questions/65674/should-i-return-a-429-or-503-status-code-to-a-bot
595
+    header("HTTP/1.0 429 Too Many Requests");
596
+    header("Retry-After: 300");
597
+    header("Expires: Wed, 11 Jan 1984 05:00:00 GMT");
598
+    header("Cache-Control: no-cache, must-revalidate");
599
+    header("Pragma: no-cache");
600
+    header("Content-Type: text/html");
601
+    die("<html><title>Status 429: Too Many Requests</title><body><h1>Status 429</h1><p>Too Many Requests (try again soon)</p></body></html>");
602 602
 }
Please login to merge, or discard this patch.
Braces   +84 added lines, -49 removed lines patch added patch discarded remove patch
@@ -14,8 +14,9 @@  discard block
 block discarded – undo
14 14
 /*
15 15
  * Test utilisateur
16 16
  */
17
-if (isset($_GET['test_ecran_securite']))
17
+if (isset($_GET['test_ecran_securite'])) {
18 18
 	$ecran_securite_raison = 'test '._ECRAN_SECURITE;
19
+}
19 20
 
20 21
 /*
21 22
  * Monitoring
@@ -243,18 +244,21 @@  discard block
 block discarded – undo
243 244
  * (id_base est une variable de la config des widgets de WordPress)
244 245
  */
245 246
 $_exceptions = array('id_table','id_base','id_parent','id_article_pdf');
246
-foreach ($_GET as $var => $val)
247
+foreach ($_GET as $var => $val) {
247 248
 	if ($_GET[$var] and strncmp($var, "id_", 3) == 0
248 249
 		and !in_array($var, $_exceptions))
249 250
 		$_GET[$var] = is_array($_GET[$var])?@array_map('intval', $_GET[$var]):intval($_GET[$var]);
250
-foreach ($_POST as $var => $val)
251
+}
252
+foreach ($_POST as $var => $val) {
251 253
 	if ($_POST[$var] and strncmp($var, "id_", 3) == 0
252 254
 		and !in_array($var, $_exceptions))
253 255
 		$_POST[$var] = is_array($_POST[$var])?@array_map('intval', $_POST[$var]):intval($_POST[$var]);
254
-foreach ($GLOBALS as $var => $val)
256
+}
257
+foreach ($GLOBALS as $var => $val) {
255 258
 	if ($GLOBALS[$var] and strncmp($var, "id_", 3) == 0
256 259
 		and !in_array($var, $_exceptions))
257 260
 		$GLOBALS[$var] = is_array($GLOBALS[$var])?@array_map('intval', $GLOBALS[$var]):intval($GLOBALS[$var]);
261
+}
258 262
 
259 263
 /*
260 264
  * Interdit la variable $cjpeg_command, qui était utilisée sans
@@ -266,11 +270,13 @@  discard block
 block discarded – undo
266 270
  * Contrôle de quelques variables (XSS)
267 271
  */
268 272
 foreach(array('lang', 'var_recherche', 'aide', 'var_lang_r', 'lang_r', 'var_ajax_ancre', 'nom_fichier') as $var) {
269
-	if (isset($_GET[$var]))
270
-		$_REQUEST[$var] = $GLOBALS[$var] = $_GET[$var] = preg_replace(',[^\w\,/#&;-]+,', ' ', (string)$_GET[$var]);
271
-	if (isset($_POST[$var]))
272
-		$_REQUEST[$var] = $GLOBALS[$var] = $_POST[$var] = preg_replace(',[^\w\,/#&;-]+,', ' ', (string)$_POST[$var]);
273
-}
273
+	if (isset($_GET[$var])) {
274
+			$_REQUEST[$var] = $GLOBALS[$var] = $_GET[$var] = preg_replace(',[^\w\,/#&;-]+,', ' ', (string)$_GET[$var]);
275
+	}
276
+	if (isset($_POST[$var])) {
277
+			$_REQUEST[$var] = $GLOBALS[$var] = $_POST[$var] = preg_replace(',[^\w\,/#&;-]+,', ' ', (string)$_POST[$var]);
278
+	}
279
+	}
274 280
 
275 281
 /*
276 282
  * Filtre l'accès à spip_acces_doc (injection SQL en 1.8.2x)
@@ -284,41 +290,49 @@  discard block
 block discarded – undo
284 290
  */
285 291
 if (isset($_REQUEST['mode']) and isset($_REQUEST['page'])
286 292
 and !in_array($_REQUEST['mode'], array("6forum", "1comite"))
287
-and $_REQUEST['page'] == "identifiants")
293
+and $_REQUEST['page'] == "identifiants") {
288 294
 	$ecran_securite_raison = "identifiants";
295
+}
289 296
 
290 297
 /*
291 298
  * Agenda joue à l'injection php
292 299
  */
293 300
 if (isset($_REQUEST['partie_cal'])
294
-and $_REQUEST['partie_cal'] !== htmlentities((string)$_REQUEST['partie_cal']))
301
+and $_REQUEST['partie_cal'] !== htmlentities((string)$_REQUEST['partie_cal'])) {
295 302
 	$ecran_securite_raison = "partie_cal";
303
+}
296 304
 if (isset($_REQUEST['echelle'])
297
-and $_REQUEST['echelle'] !== htmlentities((string)$_REQUEST['echelle']))
305
+and $_REQUEST['echelle'] !== htmlentities((string)$_REQUEST['echelle'])) {
298 306
 	$ecran_securite_raison = "echelle";
307
+}
299 308
 
300 309
 /*
301 310
  * Espace privé
302 311
  */
303 312
 if (isset($_REQUEST['exec'])
304
-and !preg_match(',^[\w-]+$,', (string)$_REQUEST['exec']))
313
+and !preg_match(',^[\w-]+$,', (string)$_REQUEST['exec'])) {
305 314
 	$ecran_securite_raison = "exec";
315
+}
306 316
 if (isset($_REQUEST['cherche_auteur'])
307
-and preg_match(',[<],', (string)$_REQUEST['cherche_auteur']))
317
+and preg_match(',[<],', (string)$_REQUEST['cherche_auteur'])) {
308 318
 	$ecran_securite_raison = "cherche_auteur";
319
+}
309 320
 if (isset($_REQUEST['exec'])
310 321
 and $_REQUEST['exec'] == 'auteurs'
311
-and preg_match(',[<],', (string)$_REQUEST['recherche']))
322
+and preg_match(',[<],', (string)$_REQUEST['recherche'])) {
312 323
 	$ecran_securite_raison = "recherche";
324
+}
313 325
 if (isset($_REQUEST['exec'])
314 326
 and $_REQUEST['exec'] == 'info_plugin'
315
-and preg_match(',[<],', (string)$_REQUEST['plugin']))
327
+and preg_match(',[<],', (string)$_REQUEST['plugin'])) {
316 328
 	$ecran_securite_raison = "plugin";
329
+}
317 330
 if (isset($_REQUEST['exec'])
318 331
 and $_REQUEST['exec'] == 'puce_statut'
319 332
 and isset($_REQUEST['id'])
320
-and !intval($_REQUEST['id']))
333
+and !intval($_REQUEST['id'])) {
321 334
 	$ecran_securite_raison = "puce_statut";
335
+}
322 336
 if (isset($_REQUEST['action'])
323 337
 and $_REQUEST['action'] == 'configurer') {
324 338
 	if (@file_exists('inc_version.php')
@@ -350,21 +364,24 @@  discard block
 block discarded – undo
350 364
 	(function_exists('get_magic_quotes_gpc') and @get_magic_quotes_gpc()) ?
351 365
 		stripslashes(serialize($_REQUEST)) : serialize($_REQUEST),
352 366
 	chr(0)
353
-) !== false)
367
+) !== false) {
354 368
 	$ecran_securite_raison = "%00";
369
+}
355 370
 
356 371
 /*
357 372
  * Bloque les requêtes fond=formulaire_
358 373
  */
359 374
 if (isset($_REQUEST['fond'])
360
-and preg_match(',^formulaire_,i', $_REQUEST['fond']))
375
+and preg_match(',^formulaire_,i', $_REQUEST['fond'])) {
361 376
 	$ecran_securite_raison = "fond=formulaire_";
377
+}
362 378
 
363 379
 /*
364 380
  * Bloque les requêtes du type ?GLOBALS[type_urls]=toto (bug vieux php)
365 381
  */
366
-if (isset($_REQUEST['GLOBALS']))
382
+if (isset($_REQUEST['GLOBALS'])) {
367 383
 	$ecran_securite_raison = "GLOBALS[GLOBALS]";
384
+}
368 385
 
369 386
 /*
370 387
  * Bloque les requêtes des bots sur:
@@ -377,29 +394,34 @@  discard block
 block discarded – undo
377 394
 		or (isset($_REQUEST['calendrier_annee']) and strpos((string)$_SERVER['REQUEST_URI'], 'debut_') )
378 395
 		or (isset($_REQUEST['calendrier_annee']) and preg_match(',[?&]calendrier_annee=.*&calendrier_annee=,', (string)$_SERVER['REQUEST_URI']))
379 396
 )
380
-)
397
+) {
381 398
 	$ecran_securite_raison = "robot agenda/double pagination";
399
+}
382 400
 
383 401
 /*
384 402
  * Bloque une vieille page de tests de CFG (<1.11)
385 403
  * Bloque un XSS sur une page inexistante
386 404
  */
387 405
 if (isset($_REQUEST['page'])) {
388
-	if ($_REQUEST['page'] == 'test_cfg')
389
-		$ecran_securite_raison = "test_cfg";
390
-	if ($_REQUEST['page'] !== htmlspecialchars((string)$_REQUEST['page']))
391
-		$ecran_securite_raison = "xsspage";
406
+	if ($_REQUEST['page'] == 'test_cfg') {
407
+			$ecran_securite_raison = "test_cfg";
408
+	}
409
+	if ($_REQUEST['page'] !== htmlspecialchars((string)$_REQUEST['page'])) {
410
+			$ecran_securite_raison = "xsspage";
411
+	}
392 412
 	if ($_REQUEST['page'] == '404'
393
-	and isset($_REQUEST['erreur']))
394
-		$ecran_securite_raison = "xss404";
395
-}
413
+	and isset($_REQUEST['erreur'])) {
414
+			$ecran_securite_raison = "xss404";
415
+	}
416
+	}
396 417
 
397 418
 /*
398 419
  * XSS par array
399 420
  */
400
-foreach (array('var_login') as $var)
401
-if (isset($_REQUEST[$var]) and is_array($_REQUEST[$var]))
421
+foreach (array('var_login') as $var) {
422
+    if (isset($_REQUEST[$var]) and is_array($_REQUEST[$var]))
402 423
 	$ecran_securite_raison = "xss ".$var;
424
+}
403 425
 
404 426
 /*
405 427
  * Parade antivirale contre un cheval de troie
@@ -409,18 +431,21 @@  discard block
 block discarded – undo
409 431
 	function tmp_lkojfghx2($a = 0, $b = 0, $c = 0, $d = 0) {
410 432
 		// si jamais on est arrivé ici sur une erreur php
411 433
 		// et qu'un autre gestionnaire d'erreur est défini, l'appeller
412
-		if ($b && $GLOBALS['tmp_xhgfjokl'])
413
-			call_user_func($GLOBALS['tmp_xhgfjokl'], $a, $b, $c, $d);
434
+		if ($b && $GLOBALS['tmp_xhgfjokl']) {
435
+					call_user_func($GLOBALS['tmp_xhgfjokl'], $a, $b, $c, $d);
436
+		}
414 437
 	}
415 438
 }
416
-if (isset($_POST['tmp_lkojfghx3']))
439
+if (isset($_POST['tmp_lkojfghx3'])) {
417 440
 	$ecran_securite_raison = "gumblar";
441
+}
418 442
 
419 443
 /*
420 444
  * Outils XML mal sécurisés < 2.0.9
421 445
  */
422
-if (isset($_REQUEST['transformer_xml']))
446
+if (isset($_REQUEST['transformer_xml'])) {
423 447
 	$ecran_securite_raison = "transformer_xml";
448
+}
424 449
 
425 450
 /*
426 451
  * Outils XML mal sécurisés again
@@ -439,11 +464,13 @@  discard block
 block discarded – undo
439 464
  * Sauvegarde mal securisée < 2.0.9
440 465
  */
441 466
 if (isset($_REQUEST['nom_sauvegarde'])
442
-and strstr((string)$_REQUEST['nom_sauvegarde'], '/'))
467
+and strstr((string)$_REQUEST['nom_sauvegarde'], '/')) {
443 468
 	$ecran_securite_raison = 'nom_sauvegarde manipulee';
469
+}
444 470
 if (isset($_REQUEST['znom_sauvegarde'])
445
-and strstr((string)$_REQUEST['znom_sauvegarde'], '/'))
471
+and strstr((string)$_REQUEST['znom_sauvegarde'], '/')) {
446 472
 	$ecran_securite_raison = 'znom_sauvegarde manipulee';
473
+}
447 474
 
448 475
 
449 476
 /*
@@ -451,8 +478,9 @@  discard block
 block discarded – undo
451 478
  * on vérifie 'page' pour ne pas bloquer ... drupal
452 479
  */
453 480
 if (isset($_REQUEST['op']) and isset($_REQUEST['page'])
454
-and $_REQUEST['op'] !== preg_replace('/[^\-\w]/', '', $_REQUEST['op']))
481
+and $_REQUEST['op'] !== preg_replace('/[^\-\w]/', '', $_REQUEST['op'])) {
455 482
 	$ecran_securite_raison = 'op';
483
+}
456 484
 
457 485
 /*
458 486
  * Forms & Table ne se méfiait pas assez des uploads de fichiers
@@ -460,8 +488,9 @@  discard block
 block discarded – undo
460 488
 if (count($_FILES)){
461 489
 	foreach($_FILES as $k => $v){
462 490
 		 if (preg_match(',^fichier_\d+$,', $k)
463
-		 and preg_match(',\.php,i', $v['name']))
464
-		 	unset($_FILES[$k]);
491
+		 and preg_match(',\.php,i', $v['name'])) {
492
+		 		 	unset($_FILES[$k]);
493
+		 }
465 494
 	}
466 495
 }
467 496
 /*
@@ -478,8 +507,9 @@  discard block
 block discarded – undo
478 507
  * reinstall=oui un peu trop permissif
479 508
  */
480 509
 if (isset($_REQUEST['reinstall'])
481
-and $_REQUEST['reinstall'] == 'oui')
510
+and $_REQUEST['reinstall'] == 'oui') {
482 511
 	$ecran_securite_raison = 'reinstall=oui';
512
+}
483 513
 
484 514
 /*
485 515
  * Pas d'action pendant l'install
@@ -491,24 +521,27 @@  discard block
 block discarded – undo
491 521
 /*
492 522
  * Échappement xss referer
493 523
  */
494
-if (isset($_SERVER['HTTP_REFERER']))
524
+if (isset($_SERVER['HTTP_REFERER'])) {
495 525
 	$_SERVER['HTTP_REFERER'] = strtr($_SERVER['HTTP_REFERER'], '<>"\'', '[]##');
526
+}
496 527
 
497 528
 
498 529
 /*
499 530
  * Echappement HTTP_X_FORWARDED_HOST
500 531
  */
501
-if (isset($_SERVER['HTTP_X_FORWARDED_HOST']))
532
+if (isset($_SERVER['HTTP_X_FORWARDED_HOST'])) {
502 533
 	$_SERVER['HTTP_X_FORWARDED_HOST'] = strtr($_SERVER['HTTP_X_FORWARDED_HOST'], "<>?\"\{\}\$'` \r\n", '____________');
534
+}
503 535
 
504 536
 
505 537
 /*
506 538
  * Pas d'erreur dans l'erreur
507 539
  */
508 540
 if (isset($_REQUEST['var_erreur']) and isset($_REQUEST['page']) and $_REQUEST['page'] === 'login') {
509
-	if (strlen($_REQUEST['var_erreur']) !== strcspn($_REQUEST['var_erreur'], '<>'))
510
-		$ecran_securite_raison = 'var_erreur incorrecte';
511
-}
541
+	if (strlen($_REQUEST['var_erreur']) !== strcspn($_REQUEST['var_erreur'], '<>')) {
542
+			$ecran_securite_raison = 'var_erreur incorrecte';
543
+	}
544
+	}
512 545
 
513 546
 
514 547
 /*
@@ -516,9 +549,10 @@  discard block
 block discarded – undo
516 549
  */
517 550
 if (strpos($_SERVER['REQUEST_URI'], "ecrire/") !== false or isset($_REQUEST['var_memotri'])){
518 551
 	$zzzz = implode("", array_keys($_REQUEST));
519
-	if (strlen($zzzz) != strcspn($zzzz, '<>"\''))
520
-		$ecran_securite_raison = 'Cle incorrecte en $_REQUEST';
521
-}
552
+	if (strlen($zzzz) != strcspn($zzzz, '<>"\'')) {
553
+			$ecran_securite_raison = 'Cle incorrecte en $_REQUEST';
554
+	}
555
+	}
522 556
 
523 557
 /*
524 558
  * Injection par connect
@@ -567,8 +601,9 @@  discard block
 block discarded – undo
567 601
 /*
568 602
  * Bloque les bots quand le load déborde
569 603
  */
570
-if (!defined('_ECRAN_SECURITE_LOAD'))
604
+if (!defined('_ECRAN_SECURITE_LOAD')) {
571 605
 	define('_ECRAN_SECURITE_LOAD', 4);
606
+}
572 607
 
573 608
 if (
574 609
 	defined('_ECRAN_SECURITE_LOAD')
Please login to merge, or discard this patch.
prive/formulaires/editer_logo.php 1 patch
Indentation   +157 added lines, -157 removed lines patch added patch discarded remove patch
@@ -30,7 +30,7 @@  discard block
 block discarded – undo
30 30
  **/
31 31
 
32 32
 if (!defined('_ECRIRE_INC_VERSION')) {
33
-	return;
33
+    return;
34 34
 }
35 35
 
36 36
 global $logo_libelles;
@@ -49,90 +49,90 @@  discard block
 block discarded – undo
49 49
  * @return array               Variables d'environnement pour le fond
50 50
  */
51 51
 function formulaires_editer_logo_charger_dist($objet, $id_objet, $retour = '', $options = array()) {
52
-	// pas dans une boucle ? formulaire pour le logo du site
53
-	// dans ce cas, il faut chercher un 'siteon0.ext'
54
-	if (!$objet) {
55
-		$objet = 'site';
56
-	}
52
+    // pas dans une boucle ? formulaire pour le logo du site
53
+    // dans ce cas, il faut chercher un 'siteon0.ext'
54
+    if (!$objet) {
55
+        $objet = 'site';
56
+    }
57 57
 
58
-	$objet = objet_type($objet);
59
-	$_id_objet = id_table_objet($objet);
58
+    $objet = objet_type($objet);
59
+    $_id_objet = id_table_objet($objet);
60 60
 
61
-	if (!is_array($options)) {
62
-		$options = unserialize($options);
63
-	}
64
-	$options = spip_sanitize_from_request($options, '*');
61
+    if (!is_array($options)) {
62
+        $options = unserialize($options);
63
+    }
64
+    $options = spip_sanitize_from_request($options, '*');
65 65
 
66
-	if (!isset($options['titre'])) {
67
-		$balise_img = chercher_filtre('balise_img');
68
-		$img = $balise_img(chemin_image('image-24.png'),'', 'cadre-icone');
69
-		$libelles = pipeline('libeller_logo', $GLOBALS['logo_libelles']);
70
-		$libelle = (($id_objet or $objet != 'rubrique') ? $objet : 'racine');
71
-		if (isset($libelles[$libelle])) {
72
-			$libelle = $libelles[$libelle];
73
-		} elseif ($libelle = objet_info($objet, 'texte_logo_objet')) {
74
-			$libelle = _T($libelle);
75
-		} else {
76
-			$libelle = _L('Logo');
77
-		}
78
-		switch ($objet) {
79
-			case 'article':
80
-				$libelle .= ' ' . aider('logoart');
81
-				break;
82
-			case 'breve':
83
-				$libelle .= ' ' . aider('breveslogo');
84
-				break;
85
-			case 'rubrique':
86
-				$libelle .= ' ' . aider('rublogo');
87
-				break;
88
-			default:
89
-				break;
90
-		}
66
+    if (!isset($options['titre'])) {
67
+        $balise_img = chercher_filtre('balise_img');
68
+        $img = $balise_img(chemin_image('image-24.png'),'', 'cadre-icone');
69
+        $libelles = pipeline('libeller_logo', $GLOBALS['logo_libelles']);
70
+        $libelle = (($id_objet or $objet != 'rubrique') ? $objet : 'racine');
71
+        if (isset($libelles[$libelle])) {
72
+            $libelle = $libelles[$libelle];
73
+        } elseif ($libelle = objet_info($objet, 'texte_logo_objet')) {
74
+            $libelle = _T($libelle);
75
+        } else {
76
+            $libelle = _L('Logo');
77
+        }
78
+        switch ($objet) {
79
+            case 'article':
80
+                $libelle .= ' ' . aider('logoart');
81
+                break;
82
+            case 'breve':
83
+                $libelle .= ' ' . aider('breveslogo');
84
+                break;
85
+            case 'rubrique':
86
+                $libelle .= ' ' . aider('rublogo');
87
+                break;
88
+            default:
89
+                break;
90
+        }
91 91
 
92
-		$options['titre'] = $img . $libelle;
93
-	}
94
-	if (!isset($options['editable'])) {
95
-		include_spip('inc/autoriser');
96
-		$options['editable'] = autoriser('iconifier', $objet, $id_objet);
97
-	}
92
+        $options['titre'] = $img . $libelle;
93
+    }
94
+    if (!isset($options['editable'])) {
95
+        include_spip('inc/autoriser');
96
+        $options['editable'] = autoriser('iconifier', $objet, $id_objet);
97
+    }
98 98
 
99
-	$res = array(
100
-		'editable' => ($GLOBALS['meta']['activer_logos'] == 'oui' ? ' ' : '') && (!isset($options['editable']) or $options['editable']),
101
-		'logo_survol' => ($GLOBALS['meta']['activer_logos_survol'] == 'oui' ? ' ' : ''),
102
-		'objet' => $objet,
103
-		'id_objet' => $id_objet,
104
-		'_options' => $options,
105
-		'_show_upload_off' => '',
106
-	);
99
+    $res = array(
100
+        'editable' => ($GLOBALS['meta']['activer_logos'] == 'oui' ? ' ' : '') && (!isset($options['editable']) or $options['editable']),
101
+        'logo_survol' => ($GLOBALS['meta']['activer_logos_survol'] == 'oui' ? ' ' : ''),
102
+        'objet' => $objet,
103
+        'id_objet' => $id_objet,
104
+        '_options' => $options,
105
+        '_show_upload_off' => '',
106
+    );
107 107
 
108
-	// rechercher le logo de l'objet
109
-	// la fonction prend un parametre '_id_objet' etrange :
110
-	// le nom de la cle primaire (et non le nom de la table)
111
-	// ou directement le nom du raccourcis a chercher
112
-	$chercher_logo = charger_fonction('chercher_logo', 'inc');
113
-	$etats = $res['logo_survol'] ? array('on', 'off') : array('on');
114
-	foreach ($etats as $etat) {
115
-		$logo = $chercher_logo($id_objet, $_id_objet, $etat);
116
-		if ($logo) {
117
-			$res['logo_' . $etat] = $logo[0];
118
-		}
119
-	}
120
-	// pas de logo_on -> pas de formulaire pour le survol
121
-	if (!isset($res['logo_on'])) {
122
-		$res['logo_survol'] = '';
123
-	} elseif (!isset($res['logo_off']) and _request('logo_up')) {
124
-		$res['_show_upload_off'] = ' ';
125
-	}
108
+    // rechercher le logo de l'objet
109
+    // la fonction prend un parametre '_id_objet' etrange :
110
+    // le nom de la cle primaire (et non le nom de la table)
111
+    // ou directement le nom du raccourcis a chercher
112
+    $chercher_logo = charger_fonction('chercher_logo', 'inc');
113
+    $etats = $res['logo_survol'] ? array('on', 'off') : array('on');
114
+    foreach ($etats as $etat) {
115
+        $logo = $chercher_logo($id_objet, $_id_objet, $etat);
116
+        if ($logo) {
117
+            $res['logo_' . $etat] = $logo[0];
118
+        }
119
+    }
120
+    // pas de logo_on -> pas de formulaire pour le survol
121
+    if (!isset($res['logo_on'])) {
122
+        $res['logo_survol'] = '';
123
+    } elseif (!isset($res['logo_off']) and _request('logo_up')) {
124
+        $res['_show_upload_off'] = ' ';
125
+    }
126 126
 
127
-	// si le logo n'est pas editable et qu'il n'y en a pas, on affiche pas du tout le formulaire
128
-	if (!$res['editable']
129
-		and !isset($res['logo_off'])
130
-		and !isset($res['logo_on'])
131
-	) {
132
-		return false;
133
-	}
127
+    // si le logo n'est pas editable et qu'il n'y en a pas, on affiche pas du tout le formulaire
128
+    if (!$res['editable']
129
+        and !isset($res['logo_off'])
130
+        and !isset($res['logo_on'])
131
+    ) {
132
+        return false;
133
+    }
134 134
 
135
-	return $res;
135
+    return $res;
136 136
 }
137 137
 
138 138
 /**
@@ -146,7 +146,7 @@  discard block
 block discarded – undo
146 146
  * @return string              Hash du formulaire
147 147
  */
148 148
 function formulaires_editer_logo_identifier_dist($objet, $id_objet, $retour = '', $options = array()) {
149
-	return serialize(array($objet, $id_objet));
149
+    return serialize(array($objet, $id_objet));
150 150
 }
151 151
 
152 152
 /**
@@ -162,29 +162,29 @@  discard block
 block discarded – undo
162 162
  * @return array               Erreurs du formulaire
163 163
  */
164 164
 function formulaires_editer_logo_verifier_dist($objet, $id_objet, $retour = '', $options = array()) {
165
-	$erreurs = array();
166
-	// verifier les extensions
167
-	$sources = formulaire_editer_logo_get_sources();
168
-	include_spip('action/editer_logo');
169
-	$extensions_possibles = $GLOBALS['formats_logos'];
170
-	if (in_array('jpg', $extensions_possibles)) {
171
-		$extensions_possibles[] = 'jpeg';
172
-	}
173
-	foreach ($sources as $etat => $file) {
174
-		// seulement si une reception correcte a eu lieu
175
-		if ($file and $file['error'] == 0) {
176
-			if (!in_array(
177
-				strtolower(pathinfo($file['name'], PATHINFO_EXTENSION)),
178
-				$extensions_possibles
179
-			)) {
180
-				$erreurs['logo_' . $etat] = _L('Extension non reconnue');
181
-			}
182
-		} elseif ($file and $file['error'] != 0 and isset($file['msg'])) {
183
-			$erreurs['message_erreur'] = $file['msg'];
184
-		}
185
-	}
165
+    $erreurs = array();
166
+    // verifier les extensions
167
+    $sources = formulaire_editer_logo_get_sources();
168
+    include_spip('action/editer_logo');
169
+    $extensions_possibles = $GLOBALS['formats_logos'];
170
+    if (in_array('jpg', $extensions_possibles)) {
171
+        $extensions_possibles[] = 'jpeg';
172
+    }
173
+    foreach ($sources as $etat => $file) {
174
+        // seulement si une reception correcte a eu lieu
175
+        if ($file and $file['error'] == 0) {
176
+            if (!in_array(
177
+                strtolower(pathinfo($file['name'], PATHINFO_EXTENSION)),
178
+                $extensions_possibles
179
+            )) {
180
+                $erreurs['logo_' . $etat] = _L('Extension non reconnue');
181
+            }
182
+        } elseif ($file and $file['error'] != 0 and isset($file['msg'])) {
183
+            $erreurs['message_erreur'] = $file['msg'];
184
+        }
185
+    }
186 186
 
187
-	return $erreurs;
187
+    return $erreurs;
188 188
 }
189 189
 
190 190
 /**
@@ -200,47 +200,47 @@  discard block
 block discarded – undo
200 200
  * @return array               Retour des traitements
201 201
  */
202 202
 function formulaires_editer_logo_traiter_dist($objet, $id_objet, $retour = '', $options = array()) {
203
-	$res = array('editable' => ' ');
203
+    $res = array('editable' => ' ');
204 204
 
205
-	// pas dans une boucle ? formulaire pour le logo du site
206
-	// dans ce cas, il faut chercher un 'siteon0.ext'
207
-	if (!$objet) {
208
-		$objet = 'site';
209
-	}
205
+    // pas dans une boucle ? formulaire pour le logo du site
206
+    // dans ce cas, il faut chercher un 'siteon0.ext'
207
+    if (!$objet) {
208
+        $objet = 'site';
209
+    }
210 210
 
211
-	include_spip('action/editer_logo');
211
+    include_spip('action/editer_logo');
212 212
 
213
-	// effectuer la suppression si demandee d'un logo
214
-	$on = _request('supprimer_logo_on');
215
-	if ($on or _request('supprimer_logo_off')) {
216
-		logo_supprimer($objet, $id_objet, $on ? 'on' : 'off');
217
-		$res['message_ok'] = ''; // pas besoin de message : la validation est visuelle
218
-		set_request('logo_up', ' ');
219
-	} // sinon supprimer ancien logo puis copier le nouveau
220
-	else {
221
-		$sources = formulaire_editer_logo_get_sources();
222
-		foreach ($sources as $etat => $file) {
223
-			if ($file and $file['error'] == 0) {
224
-				if ($err = logo_modifier($objet, $id_objet, $etat, $file)) {
225
-					$res['message_erreur'] = $err;
226
-				} else {
227
-					$res['message_ok'] = '';
228
-				} // pas besoin de message : la validation est visuelle
229
-				set_request('logo_up', ' ');
230
-			}
231
-		}
232
-	}
213
+    // effectuer la suppression si demandee d'un logo
214
+    $on = _request('supprimer_logo_on');
215
+    if ($on or _request('supprimer_logo_off')) {
216
+        logo_supprimer($objet, $id_objet, $on ? 'on' : 'off');
217
+        $res['message_ok'] = ''; // pas besoin de message : la validation est visuelle
218
+        set_request('logo_up', ' ');
219
+    } // sinon supprimer ancien logo puis copier le nouveau
220
+    else {
221
+        $sources = formulaire_editer_logo_get_sources();
222
+        foreach ($sources as $etat => $file) {
223
+            if ($file and $file['error'] == 0) {
224
+                if ($err = logo_modifier($objet, $id_objet, $etat, $file)) {
225
+                    $res['message_erreur'] = $err;
226
+                } else {
227
+                    $res['message_ok'] = '';
228
+                } // pas besoin de message : la validation est visuelle
229
+                set_request('logo_up', ' ');
230
+            }
231
+        }
232
+    }
233 233
 
234
-	// Invalider les caches de l'objet
235
-	include_spip('inc/invalideur');
236
-	suivre_invalideur("id='$objet/$id_objet'");
234
+    // Invalider les caches de l'objet
235
+    include_spip('inc/invalideur');
236
+    suivre_invalideur("id='$objet/$id_objet'");
237 237
 
238 238
 
239
-	if ($retour) {
240
-		$res['redirect'] = $retour;
241
-	}
239
+    if ($retour) {
240
+        $res['redirect'] = $retour;
241
+    }
242 242
 
243
-	return $res;
243
+    return $res;
244 244
 }
245 245
 
246 246
 
@@ -252,29 +252,29 @@  discard block
 block discarded – undo
252 252
  *     Sources des fichiers dans les clés `on` ou `off`
253 253
  */
254 254
 function formulaire_editer_logo_get_sources() {
255
-	if (!$_FILES) {
256
-		$_FILES = isset($GLOBALS['HTTP_POST_FILES']) ? $GLOBALS['HTTP_POST_FILES'] : array();
257
-	}
258
-	if (!is_array($_FILES)) {
259
-		return array();
260
-	}
255
+    if (!$_FILES) {
256
+        $_FILES = isset($GLOBALS['HTTP_POST_FILES']) ? $GLOBALS['HTTP_POST_FILES'] : array();
257
+    }
258
+    if (!is_array($_FILES)) {
259
+        return array();
260
+    }
261 261
 
262
-	include_spip('inc/documents');
263
-	$sources = array();
264
-	foreach (array('on', 'off') as $etat) {
265
-		$logo = 'logo_' . $etat;
266
-		if (isset($_FILES[$logo])) {
267
-			if ($_FILES[$logo]['error'] == 0) {
268
-				$sources[$etat] = $_FILES[$logo];
269
-			} elseif ($_FILES[$logo]['error'] != 0) {
270
-				$msg = check_upload_error($_FILES[$logo]['error'], false, true);
271
-				if ($msg and is_string($msg)) {
272
-					$sources[$etat] = $_FILES[$logo];
273
-					$sources[$etat]['msg'] = $msg;
274
-				}
275
-			}
276
-		}
277
-	}
262
+    include_spip('inc/documents');
263
+    $sources = array();
264
+    foreach (array('on', 'off') as $etat) {
265
+        $logo = 'logo_' . $etat;
266
+        if (isset($_FILES[$logo])) {
267
+            if ($_FILES[$logo]['error'] == 0) {
268
+                $sources[$etat] = $_FILES[$logo];
269
+            } elseif ($_FILES[$logo]['error'] != 0) {
270
+                $msg = check_upload_error($_FILES[$logo]['error'], false, true);
271
+                if ($msg and is_string($msg)) {
272
+                    $sources[$etat] = $_FILES[$logo];
273
+                    $sources[$etat]['msg'] = $msg;
274
+                }
275
+            }
276
+        }
277
+    }
278 278
 
279
-	return $sources;
279
+    return $sources;
280 280
 }
Please login to merge, or discard this patch.
prive/formulaires/editer_liens.php 3 patches
Indentation   +345 added lines, -345 removed lines patch added patch discarded remove patch
@@ -15,7 +15,7 @@  discard block
 block discarded – undo
15 15
  * @package SPIP\Core\Formulaires
16 16
  **/
17 17
 if (!defined('_ECRIRE_INC_VERSION')) {
18
-	return;
18
+    return;
19 19
 }
20 20
 
21 21
 
@@ -35,25 +35,25 @@  discard block
 block discarded – undo
35 35
  *   ($table_source,$objet,$id_objet,$objet_lien)
36 36
  */
37 37
 function determine_source_lien_objet($a, $b, $c) {
38
-	$table_source = $objet_lien = $objet = $id_objet = null;
39
-	// auteurs, article, 23 :
40
-	// associer des auteurs à l'article 23, sur la table pivot spip_auteurs_liens
41
-	if (is_numeric($c) and !is_numeric($b)) {
42
-		$table_source = table_objet($a);
43
-		$objet_lien = objet_type($a);
44
-		$objet = objet_type($b);
45
-		$id_objet = $c;
46
-	}
47
-	// article, 23, auteurs
48
-	// associer des auteurs à l'article 23, sur la table pivot spip_articles_liens
49
-	if (is_numeric($b) and !is_numeric($c)) {
50
-		$table_source = table_objet($c);
51
-		$objet_lien = objet_type($a);
52
-		$objet = objet_type($a);
53
-		$id_objet = $b;
54
-	}
55
-
56
-	return array($table_source, $objet, $id_objet, $objet_lien);
38
+    $table_source = $objet_lien = $objet = $id_objet = null;
39
+    // auteurs, article, 23 :
40
+    // associer des auteurs à l'article 23, sur la table pivot spip_auteurs_liens
41
+    if (is_numeric($c) and !is_numeric($b)) {
42
+        $table_source = table_objet($a);
43
+        $objet_lien = objet_type($a);
44
+        $objet = objet_type($b);
45
+        $id_objet = $c;
46
+    }
47
+    // article, 23, auteurs
48
+    // associer des auteurs à l'article 23, sur la table pivot spip_articles_liens
49
+    if (is_numeric($b) and !is_numeric($c)) {
50
+        $table_source = table_objet($c);
51
+        $objet_lien = objet_type($a);
52
+        $objet = objet_type($a);
53
+        $id_objet = $b;
54
+    }
55
+
56
+    return array($table_source, $objet, $id_objet, $objet_lien);
57 57
 }
58 58
 
59 59
 /**
@@ -79,91 +79,91 @@  discard block
 block discarded – undo
79 79
  */
80 80
 function formulaires_editer_liens_charger_dist($a, $b, $c, $options = array()) {
81 81
 
82
-	// compat avec ancienne signature ou le 4eme argument est $editable
83
-	if (!is_array($options)) {
84
-		$options = array('editable' => $options);
85
-	} elseif (!isset($options['editable'])) {
86
-		$options['editable'] = true;
87
-	}
88
-
89
-	$editable = $options['editable'];
90
-
91
-	list($table_source, $objet, $id_objet, $objet_lien) = determine_source_lien_objet($a, $b, $c);
92
-	if (!$table_source or !$objet or !$objet_lien or !$id_objet) {
93
-		return false;
94
-	}
95
-
96
-	$objet_source = objet_type($table_source);
97
-	$table_sql_source = table_objet_sql($objet_source);
98
-
99
-	// verifier existence de la table xxx_liens
100
-	include_spip('action/editer_liens');
101
-	if (!objet_associable($objet_lien)) {
102
-		return false;
103
-	}
104
-
105
-	// L'éditabilité :) est définie par un test permanent (par exemple "associermots") ET le 4ème argument
106
-	include_spip('inc/autoriser');
107
-	$editable = ($editable and autoriser('associer' . $table_source, $objet, $id_objet)
108
-		and autoriser('modifier', $objet, $id_objet));
109
-
110
-	if (!$editable and !count(objet_trouver_liens(
111
-		array($objet_lien => '*'),
112
-		array(($objet_lien == $objet_source ? $objet : $objet_source) => $id_objet)
113
-	))) {
114
-		return false;
115
-	}
116
-
117
-	// squelettes de vue et de d'association
118
-	// ils sont différents si des rôles sont définis.
119
-	$skel_vue = $table_source . '_lies';
120
-	$skel_ajout = $table_source . '_associer';
121
-
122
-	// description des roles
123
-	include_spip('inc/roles');
124
-	if ($roles = roles_presents($objet_source, $objet)) {
125
-		// on demande de nouveaux squelettes en conséquence
126
-		$skel_vue = $table_source . '_roles_lies';
127
-		$skel_ajout = $table_source . '_roles_associer';
128
-	}
129
-
130
-	$oups = _request('_oups');
131
-	if (unserialize(base64_decode($oups))) {
132
-		// on est bon, rien a faire
133
-	}
134
-	elseif(unserialize($oups)) {
135
-		// il faut encoder
136
-		$oups = base64_encode($oups);
137
-	}
138
-	else {
139
-		$oups = '';
140
-	}
141
-	$valeurs = array(
142
-		'id' => "$table_source-$objet-$id_objet-$objet_lien", // identifiant unique pour les id du form
143
-		'_vue_liee' => $skel_vue,
144
-		'_vue_ajout' => $skel_ajout,
145
-		'_objet_lien' => $objet_lien,
146
-		'id_lien_ajoute' => _request('id_lien_ajoute'),
147
-		'objet' => $objet,
148
-		'id_objet' => $id_objet,
149
-		'objet_source' => $objet_source,
150
-		'table_source' => $table_source,
151
-		'recherche' => '',
152
-		'visible' => 0,
153
-		'ajouter_lien' => '',
154
-		'supprimer_lien' => '',
155
-		'qualifier_lien' => '',
156
-		'ordonner_lien' => '',
157
-		'desordonner_liens' => '',
158
-		'_roles' => $roles, # description des roles
159
-		'_oups' => $oups,
160
-		'editable' => $editable,
161
-	);
162
-
163
-	// les options non definies dans $valeurs sont passees telles quelles au formulaire html
164
-	$valeurs = array_merge($options, $valeurs);
165
-
166
-	return $valeurs;
82
+    // compat avec ancienne signature ou le 4eme argument est $editable
83
+    if (!is_array($options)) {
84
+        $options = array('editable' => $options);
85
+    } elseif (!isset($options['editable'])) {
86
+        $options['editable'] = true;
87
+    }
88
+
89
+    $editable = $options['editable'];
90
+
91
+    list($table_source, $objet, $id_objet, $objet_lien) = determine_source_lien_objet($a, $b, $c);
92
+    if (!$table_source or !$objet or !$objet_lien or !$id_objet) {
93
+        return false;
94
+    }
95
+
96
+    $objet_source = objet_type($table_source);
97
+    $table_sql_source = table_objet_sql($objet_source);
98
+
99
+    // verifier existence de la table xxx_liens
100
+    include_spip('action/editer_liens');
101
+    if (!objet_associable($objet_lien)) {
102
+        return false;
103
+    }
104
+
105
+    // L'éditabilité :) est définie par un test permanent (par exemple "associermots") ET le 4ème argument
106
+    include_spip('inc/autoriser');
107
+    $editable = ($editable and autoriser('associer' . $table_source, $objet, $id_objet)
108
+        and autoriser('modifier', $objet, $id_objet));
109
+
110
+    if (!$editable and !count(objet_trouver_liens(
111
+        array($objet_lien => '*'),
112
+        array(($objet_lien == $objet_source ? $objet : $objet_source) => $id_objet)
113
+    ))) {
114
+        return false;
115
+    }
116
+
117
+    // squelettes de vue et de d'association
118
+    // ils sont différents si des rôles sont définis.
119
+    $skel_vue = $table_source . '_lies';
120
+    $skel_ajout = $table_source . '_associer';
121
+
122
+    // description des roles
123
+    include_spip('inc/roles');
124
+    if ($roles = roles_presents($objet_source, $objet)) {
125
+        // on demande de nouveaux squelettes en conséquence
126
+        $skel_vue = $table_source . '_roles_lies';
127
+        $skel_ajout = $table_source . '_roles_associer';
128
+    }
129
+
130
+    $oups = _request('_oups');
131
+    if (unserialize(base64_decode($oups))) {
132
+        // on est bon, rien a faire
133
+    }
134
+    elseif(unserialize($oups)) {
135
+        // il faut encoder
136
+        $oups = base64_encode($oups);
137
+    }
138
+    else {
139
+        $oups = '';
140
+    }
141
+    $valeurs = array(
142
+        'id' => "$table_source-$objet-$id_objet-$objet_lien", // identifiant unique pour les id du form
143
+        '_vue_liee' => $skel_vue,
144
+        '_vue_ajout' => $skel_ajout,
145
+        '_objet_lien' => $objet_lien,
146
+        'id_lien_ajoute' => _request('id_lien_ajoute'),
147
+        'objet' => $objet,
148
+        'id_objet' => $id_objet,
149
+        'objet_source' => $objet_source,
150
+        'table_source' => $table_source,
151
+        'recherche' => '',
152
+        'visible' => 0,
153
+        'ajouter_lien' => '',
154
+        'supprimer_lien' => '',
155
+        'qualifier_lien' => '',
156
+        'ordonner_lien' => '',
157
+        'desordonner_liens' => '',
158
+        '_roles' => $roles, # description des roles
159
+        '_oups' => $oups,
160
+        'editable' => $editable,
161
+    );
162
+
163
+    // les options non definies dans $valeurs sont passees telles quelles au formulaire html
164
+    $valeurs = array_merge($options, $valeurs);
165
+
166
+    return $valeurs;
167 167
 }
168 168
 
169 169
 /**
@@ -207,161 +207,161 @@  discard block
 block discarded – undo
207 207
  * @return array
208 208
  */
209 209
 function formulaires_editer_liens_traiter_dist($a, $b, $c, $options = array()) {
210
-	// compat avec ancienne signature ou le 4eme argument est $editable
211
-	if (!is_array($options)) {
212
-		$options = array('editable' => $options);
213
-	} elseif (!isset($options['editable'])) {
214
-		$options['editable'] = true;
215
-	}
216
-
217
-	$editable = $options['editable'];
218
-
219
-	$res = array('editable' => $editable ? true : false);
220
-	list($table_source, $objet, $id_objet, $objet_lien) = determine_source_lien_objet($a, $b, $c);
221
-	if (!$table_source or !$objet or !$objet_lien) {
222
-		return $res;
223
-	}
224
-
225
-
226
-	if (_request('tout_voir')) {
227
-		set_request('recherche', '');
228
-	}
229
-
230
-	include_spip('inc/autoriser');
231
-	if (autoriser('modifier', $objet, $id_objet)) {
232
-		// annuler les suppressions du coup d'avant !
233
-		if (_request('annuler_oups')
234
-			and $oups = _request('_oups')
235
-			and $oups = base64_decode($oups)
236
-			and $oups = unserialize($oups)
237
-		) {
238
-			if ($oups_objets = charger_fonction("editer_liens_oups_{$table_source}_{$objet}_{$objet_lien}", 'action', true)) {
239
-				$oups_objets($oups);
240
-			} else {
241
-				$objet_source = objet_type($table_source);
242
-				include_spip('action/editer_liens');
243
-				foreach ($oups as $oup) {
244
-					if ($objet_lien == $objet_source) {
245
-						objet_associer(array($objet_source => $oup[$objet_source]), array($objet => $oup[$objet]), $oup);
246
-					} else {
247
-						objet_associer(array($objet => $oup[$objet]), array($objet_source => $oup[$objet_source]), $oup);
248
-					}
249
-				}
250
-			}
251
-			# oups ne persiste que pour la derniere action, si suppression
252
-			set_request('_oups');
253
-		}
254
-
255
-		$supprimer = _request('supprimer_lien');
256
-		$ajouter = _request('ajouter_lien');
257
-		$ordonner = _request('ordonner_lien');
258
-
259
-		if (_request('desordonner_liens')) {
260
-			include_spip('action/editer_liens');
261
-			objet_qualifier_liens(array($objet_lien => '*'), array($objet => $id_objet), array('rang_lien' => 0));
262
-		}
263
-
264
-		// il est possible de preciser dans une seule variable un remplacement :
265
-		// remplacer_lien[old][new]
266
-		if ($remplacer = _request('remplacer_lien')) {
267
-			foreach ($remplacer as $k => $v) {
268
-				if ($old = lien_verifier_action($k, '')) {
269
-					foreach (is_array($v) ? $v : array($v) as $kn => $vn) {
270
-						if ($new = lien_verifier_action($kn, $vn)) {
271
-							$supprimer[$old] = 'x';
272
-							$ajouter[$new] = '+';
273
-						}
274
-					}
275
-				}
276
-			}
277
-		}
278
-
279
-		if ($supprimer) {
280
-			if ($supprimer_objets = charger_fonction(
281
-				"editer_liens_supprimer_{$table_source}_{$objet}_{$objet_lien}",
282
-				'action',
283
-				true
284
-			)) {
285
-				$oups = $supprimer_objets($supprimer);
286
-			} else {
287
-				include_spip('action/editer_liens');
288
-				$oups = array();
289
-
290
-				foreach ($supprimer as $k => $v) {
291
-					if ($lien = lien_verifier_action($k, $v)) {
292
-						$lien = explode('-', $lien);
293
-						list($objet_source, $ids, $objet_lie, $idl, $role) = array_pad($lien, 5, null);
294
-						// appliquer une condition sur le rôle si défini ('*' pour tous les roles)
295
-						$cond = (!is_null($role) ? array('role' => $role) : array());
296
-						if ($objet_lien == $objet_source) {
297
-							$oups = array_merge(
298
-								$oups,
299
-								objet_trouver_liens(array($objet_source => $ids), array($objet_lie => $idl), $cond)
300
-							);
301
-							objet_dissocier(array($objet_source => $ids), array($objet_lie => $idl), $cond);
302
-						} else {
303
-							$oups = array_merge(
304
-								$oups,
305
-								objet_trouver_liens(array($objet_lie => $idl), array($objet_source => $ids), $cond)
306
-							);
307
-							objet_dissocier(array($objet_lie => $idl), array($objet_source => $ids), $cond);
308
-						}
309
-					}
310
-				}
311
-			}
312
-			set_request('_oups', $oups ? base64_encode(serialize($oups)) : null);
313
-		}
314
-
315
-		if ($ajouter) {
316
-			if ($ajouter_objets = charger_fonction("editer_liens_ajouter_{$table_source}_{$objet}_{$objet_lien}", 'action', true)
317
-			) {
318
-				$ajout_ok = $ajouter_objets($ajouter);
319
-			} else {
320
-				$ajout_ok = false;
321
-				include_spip('action/editer_liens');
322
-				foreach ($ajouter as $k => $v) {
323
-					if ($lien = lien_verifier_action($k, $v)) {
324
-						$ajout_ok = true;
325
-						list($objet1, $ids, $objet2, $idl) = explode('-', $lien);
326
-						$qualifs = lien_retrouver_qualif($objet_lien, $lien);
327
-						if ($objet_lien == $objet1) {
328
-							lien_ajouter_liaisons($objet1, $ids, $objet2, $idl, $qualifs);
329
-						} else {
330
-							lien_ajouter_liaisons($objet2, $idl, $objet1, $ids, $qualifs);
331
-						}
332
-						set_request('id_lien_ajoute', $ids);
333
-					}
334
-				}
335
-			}
336
-			# oups ne persiste que pour la derniere action, si suppression
337
-			# une suppression suivie d'un ajout dans le meme hit est un remplacement
338
-			# non annulable !
339
-			if ($ajout_ok) {
340
-				set_request('_oups');
341
-			}
342
-		}
343
-
344
-		if ($ordonner) {
345
-			include_spip('action/editer_liens');
346
-			foreach ($ordonner as $k => $rang_lien) {
347
-				if ($lien = lien_verifier_action($k, '')) {
348
-					list($objet1, $ids, $objet2, $idl) = explode('-', $lien);
349
-					$qualif = array('rang_lien' => $rang_lien);
350
-
351
-					if ($objet_lien == $objet1) {
352
-						objet_qualifier_liens(array($objet1 => $ids), array($objet2 => $idl), $qualif);
353
-					} else {
354
-						objet_qualifier_liens(array($objet2 => $idl), array($objet1 => $ids), $qualif);
355
-					}
356
-					set_request('id_lien_ajoute', $ids);
357
-					set_request('_oups');
358
-				}
359
-			}
360
-		}
361
-	}
362
-
363
-
364
-	return $res;
210
+    // compat avec ancienne signature ou le 4eme argument est $editable
211
+    if (!is_array($options)) {
212
+        $options = array('editable' => $options);
213
+    } elseif (!isset($options['editable'])) {
214
+        $options['editable'] = true;
215
+    }
216
+
217
+    $editable = $options['editable'];
218
+
219
+    $res = array('editable' => $editable ? true : false);
220
+    list($table_source, $objet, $id_objet, $objet_lien) = determine_source_lien_objet($a, $b, $c);
221
+    if (!$table_source or !$objet or !$objet_lien) {
222
+        return $res;
223
+    }
224
+
225
+
226
+    if (_request('tout_voir')) {
227
+        set_request('recherche', '');
228
+    }
229
+
230
+    include_spip('inc/autoriser');
231
+    if (autoriser('modifier', $objet, $id_objet)) {
232
+        // annuler les suppressions du coup d'avant !
233
+        if (_request('annuler_oups')
234
+            and $oups = _request('_oups')
235
+            and $oups = base64_decode($oups)
236
+            and $oups = unserialize($oups)
237
+        ) {
238
+            if ($oups_objets = charger_fonction("editer_liens_oups_{$table_source}_{$objet}_{$objet_lien}", 'action', true)) {
239
+                $oups_objets($oups);
240
+            } else {
241
+                $objet_source = objet_type($table_source);
242
+                include_spip('action/editer_liens');
243
+                foreach ($oups as $oup) {
244
+                    if ($objet_lien == $objet_source) {
245
+                        objet_associer(array($objet_source => $oup[$objet_source]), array($objet => $oup[$objet]), $oup);
246
+                    } else {
247
+                        objet_associer(array($objet => $oup[$objet]), array($objet_source => $oup[$objet_source]), $oup);
248
+                    }
249
+                }
250
+            }
251
+            # oups ne persiste que pour la derniere action, si suppression
252
+            set_request('_oups');
253
+        }
254
+
255
+        $supprimer = _request('supprimer_lien');
256
+        $ajouter = _request('ajouter_lien');
257
+        $ordonner = _request('ordonner_lien');
258
+
259
+        if (_request('desordonner_liens')) {
260
+            include_spip('action/editer_liens');
261
+            objet_qualifier_liens(array($objet_lien => '*'), array($objet => $id_objet), array('rang_lien' => 0));
262
+        }
263
+
264
+        // il est possible de preciser dans une seule variable un remplacement :
265
+        // remplacer_lien[old][new]
266
+        if ($remplacer = _request('remplacer_lien')) {
267
+            foreach ($remplacer as $k => $v) {
268
+                if ($old = lien_verifier_action($k, '')) {
269
+                    foreach (is_array($v) ? $v : array($v) as $kn => $vn) {
270
+                        if ($new = lien_verifier_action($kn, $vn)) {
271
+                            $supprimer[$old] = 'x';
272
+                            $ajouter[$new] = '+';
273
+                        }
274
+                    }
275
+                }
276
+            }
277
+        }
278
+
279
+        if ($supprimer) {
280
+            if ($supprimer_objets = charger_fonction(
281
+                "editer_liens_supprimer_{$table_source}_{$objet}_{$objet_lien}",
282
+                'action',
283
+                true
284
+            )) {
285
+                $oups = $supprimer_objets($supprimer);
286
+            } else {
287
+                include_spip('action/editer_liens');
288
+                $oups = array();
289
+
290
+                foreach ($supprimer as $k => $v) {
291
+                    if ($lien = lien_verifier_action($k, $v)) {
292
+                        $lien = explode('-', $lien);
293
+                        list($objet_source, $ids, $objet_lie, $idl, $role) = array_pad($lien, 5, null);
294
+                        // appliquer une condition sur le rôle si défini ('*' pour tous les roles)
295
+                        $cond = (!is_null($role) ? array('role' => $role) : array());
296
+                        if ($objet_lien == $objet_source) {
297
+                            $oups = array_merge(
298
+                                $oups,
299
+                                objet_trouver_liens(array($objet_source => $ids), array($objet_lie => $idl), $cond)
300
+                            );
301
+                            objet_dissocier(array($objet_source => $ids), array($objet_lie => $idl), $cond);
302
+                        } else {
303
+                            $oups = array_merge(
304
+                                $oups,
305
+                                objet_trouver_liens(array($objet_lie => $idl), array($objet_source => $ids), $cond)
306
+                            );
307
+                            objet_dissocier(array($objet_lie => $idl), array($objet_source => $ids), $cond);
308
+                        }
309
+                    }
310
+                }
311
+            }
312
+            set_request('_oups', $oups ? base64_encode(serialize($oups)) : null);
313
+        }
314
+
315
+        if ($ajouter) {
316
+            if ($ajouter_objets = charger_fonction("editer_liens_ajouter_{$table_source}_{$objet}_{$objet_lien}", 'action', true)
317
+            ) {
318
+                $ajout_ok = $ajouter_objets($ajouter);
319
+            } else {
320
+                $ajout_ok = false;
321
+                include_spip('action/editer_liens');
322
+                foreach ($ajouter as $k => $v) {
323
+                    if ($lien = lien_verifier_action($k, $v)) {
324
+                        $ajout_ok = true;
325
+                        list($objet1, $ids, $objet2, $idl) = explode('-', $lien);
326
+                        $qualifs = lien_retrouver_qualif($objet_lien, $lien);
327
+                        if ($objet_lien == $objet1) {
328
+                            lien_ajouter_liaisons($objet1, $ids, $objet2, $idl, $qualifs);
329
+                        } else {
330
+                            lien_ajouter_liaisons($objet2, $idl, $objet1, $ids, $qualifs);
331
+                        }
332
+                        set_request('id_lien_ajoute', $ids);
333
+                    }
334
+                }
335
+            }
336
+            # oups ne persiste que pour la derniere action, si suppression
337
+            # une suppression suivie d'un ajout dans le meme hit est un remplacement
338
+            # non annulable !
339
+            if ($ajout_ok) {
340
+                set_request('_oups');
341
+            }
342
+        }
343
+
344
+        if ($ordonner) {
345
+            include_spip('action/editer_liens');
346
+            foreach ($ordonner as $k => $rang_lien) {
347
+                if ($lien = lien_verifier_action($k, '')) {
348
+                    list($objet1, $ids, $objet2, $idl) = explode('-', $lien);
349
+                    $qualif = array('rang_lien' => $rang_lien);
350
+
351
+                    if ($objet_lien == $objet1) {
352
+                        objet_qualifier_liens(array($objet1 => $ids), array($objet2 => $idl), $qualif);
353
+                    } else {
354
+                        objet_qualifier_liens(array($objet2 => $idl), array($objet1 => $ids), $qualif);
355
+                    }
356
+                    set_request('id_lien_ajoute', $ids);
357
+                    set_request('_oups');
358
+                }
359
+            }
360
+        }
361
+    }
362
+
363
+
364
+    return $res;
365 365
 }
366 366
 
367 367
 
@@ -384,24 +384,24 @@  discard block
 block discarded – undo
384 384
  * @return string Action demandée si trouvée, sinon ''
385 385
  */
386 386
 function lien_verifier_action($k, $v) {
387
-	$action = '';
388
-	if (preg_match(',^\w+-[\w*]+-[\w*]+-[\w*]+(-[\w*])?,', $k)) {
389
-		$action = $k;
390
-	}
391
-	if (preg_match(',^\w+-[\w*]+-[\w*]+-[\w*]+(-[\w*])?,', $v)) {
392
-		if (is_numeric($k)) {
393
-			$action = $v;
394
-		}
395
-		if (_request($k)) {
396
-			$action = $v;
397
-		}
398
-	}
399
-	// ajout un role null fictif (plus pratique) si pas défini
400
-	if ($action and count(explode('-', $action)) == 4) {
401
-		$action .= '-';
402
-	}
403
-
404
-	return $action;
387
+    $action = '';
388
+    if (preg_match(',^\w+-[\w*]+-[\w*]+-[\w*]+(-[\w*])?,', $k)) {
389
+        $action = $k;
390
+    }
391
+    if (preg_match(',^\w+-[\w*]+-[\w*]+-[\w*]+(-[\w*])?,', $v)) {
392
+        if (is_numeric($k)) {
393
+            $action = $v;
394
+        }
395
+        if (_request($k)) {
396
+            $action = $v;
397
+        }
398
+    }
399
+    // ajout un role null fictif (plus pratique) si pas défini
400
+    if ($action and count(explode('-', $action)) == 4) {
401
+        $action .= '-';
402
+    }
403
+
404
+    return $action;
405 405
 }
406 406
 
407 407
 
@@ -417,65 +417,65 @@  discard block
 block discarded – undo
417 417
  *   Liste des qualifs pour chaque lien. Tableau vide s'il n'y en a pas.
418 418
  **/
419 419
 function lien_retrouver_qualif($objet_lien, $lien) {
420
-	// un role est défini dans la liaison
421
-	$defs = explode('-', $lien);
422
-	list($objet1, , $objet2, , $role) = array_pad($defs, 5, null);
423
-	if ($objet_lien == $objet1) {
424
-		$colonne_role = roles_colonne($objet1, $objet2);
425
-	} else {
426
-		$colonne_role = roles_colonne($objet2, $objet1);
427
-	}
428
-
429
-	// cas ou le role est defini en 5e argument de l'action sur le lien (suppression, ajout rapide sans autre attribut)
430
-	if ($role) {
431
-		return array(
432
-			// un seul lien avec ce role
433
-			array($colonne_role => $role)
434
-		);
435
-	}
436
-
437
-	// retrouver les rôles postés pour cette liaison, s'il y en a.
438
-	$qualifier_lien = _request('qualifier_lien');
439
-	if (!$qualifier_lien or !is_array($qualifier_lien)) {
440
-		return array();
441
-	}
442
-
443
-	// pas avec l'action complete (incluant le role)
444
-	$qualif = array();
445
-	if ((!isset($qualifier_lien[$lien]) or !$qualif = $qualifier_lien[$lien])
446
-		and count($defs) == 5
447
-	) {
448
-		// on tente avec l'action sans le role
449
-		array_pop($defs);
450
-		$lien = implode('-', $defs);
451
-		if (!isset($qualifier_lien[$lien]) or !$qualif = $qualifier_lien[$lien]) {
452
-			$qualif = array();
453
-		}
454
-	}
455
-
456
-	// $qualif de la forme array(role=>array(...),valeur=>array(...),....)
457
-	// on le reforme en array(array(role=>..,valeur=>..,..),array(role=>..,valeur=>..,..),...)
458
-	$qualifs = array();
459
-	while (count($qualif)) {
460
-		$q = array();
461
-		foreach ($qualif as $att => $values) {
462
-			if (is_array($values)) {
463
-				$q[$att] = array_shift($qualif[$att]);
464
-				if (!count($qualif[$att])) {
465
-					unset($qualif[$att]);
466
-				}
467
-			} else {
468
-				$q[$att] = $values;
469
-				unset($qualif[$att]);
470
-			}
471
-		}
472
-		// pas de rôle vide
473
-		if (!$colonne_role or !isset($q[$colonne_role]) or $q[$colonne_role]) {
474
-			$qualifs[] = $q;
475
-		}
476
-	}
477
-
478
-	return $qualifs;
420
+    // un role est défini dans la liaison
421
+    $defs = explode('-', $lien);
422
+    list($objet1, , $objet2, , $role) = array_pad($defs, 5, null);
423
+    if ($objet_lien == $objet1) {
424
+        $colonne_role = roles_colonne($objet1, $objet2);
425
+    } else {
426
+        $colonne_role = roles_colonne($objet2, $objet1);
427
+    }
428
+
429
+    // cas ou le role est defini en 5e argument de l'action sur le lien (suppression, ajout rapide sans autre attribut)
430
+    if ($role) {
431
+        return array(
432
+            // un seul lien avec ce role
433
+            array($colonne_role => $role)
434
+        );
435
+    }
436
+
437
+    // retrouver les rôles postés pour cette liaison, s'il y en a.
438
+    $qualifier_lien = _request('qualifier_lien');
439
+    if (!$qualifier_lien or !is_array($qualifier_lien)) {
440
+        return array();
441
+    }
442
+
443
+    // pas avec l'action complete (incluant le role)
444
+    $qualif = array();
445
+    if ((!isset($qualifier_lien[$lien]) or !$qualif = $qualifier_lien[$lien])
446
+        and count($defs) == 5
447
+    ) {
448
+        // on tente avec l'action sans le role
449
+        array_pop($defs);
450
+        $lien = implode('-', $defs);
451
+        if (!isset($qualifier_lien[$lien]) or !$qualif = $qualifier_lien[$lien]) {
452
+            $qualif = array();
453
+        }
454
+    }
455
+
456
+    // $qualif de la forme array(role=>array(...),valeur=>array(...),....)
457
+    // on le reforme en array(array(role=>..,valeur=>..,..),array(role=>..,valeur=>..,..),...)
458
+    $qualifs = array();
459
+    while (count($qualif)) {
460
+        $q = array();
461
+        foreach ($qualif as $att => $values) {
462
+            if (is_array($values)) {
463
+                $q[$att] = array_shift($qualif[$att]);
464
+                if (!count($qualif[$att])) {
465
+                    unset($qualif[$att]);
466
+                }
467
+            } else {
468
+                $q[$att] = $values;
469
+                unset($qualif[$att]);
470
+            }
471
+        }
472
+        // pas de rôle vide
473
+        if (!$colonne_role or !isset($q[$colonne_role]) or $q[$colonne_role]) {
474
+            $qualifs[] = $q;
475
+        }
476
+    }
477
+
478
+    return $qualifs;
479 479
 }
480 480
 
481 481
 /**
@@ -494,12 +494,12 @@  discard block
 block discarded – undo
494 494
  **/
495 495
 function lien_ajouter_liaisons($objet_source, $ids, $objet_lien, $idl, $qualifs) {
496 496
 
497
-	// retrouver la colonne de roles s'il y en a a lier
498
-	if (is_array($qualifs) and count($qualifs)) {
499
-		foreach ($qualifs as $qualif) {
500
-			objet_associer(array($objet_source => $ids), array($objet_lien => $idl), $qualif);
501
-		}
502
-	} else {
503
-		objet_associer(array($objet_source => $ids), array($objet_lien => $idl));
504
-	}
497
+    // retrouver la colonne de roles s'il y en a a lier
498
+    if (is_array($qualifs) and count($qualifs)) {
499
+        foreach ($qualifs as $qualif) {
500
+            objet_associer(array($objet_source => $ids), array($objet_lien => $idl), $qualif);
501
+        }
502
+    } else {
503
+        objet_associer(array($objet_source => $ids), array($objet_lien => $idl));
504
+    }
505 505
 }
Please login to merge, or discard this patch.
Spacing   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -104,7 +104,7 @@  discard block
 block discarded – undo
104 104
 
105 105
 	// L'éditabilité :) est définie par un test permanent (par exemple "associermots") ET le 4ème argument
106 106
 	include_spip('inc/autoriser');
107
-	$editable = ($editable and autoriser('associer' . $table_source, $objet, $id_objet)
107
+	$editable = ($editable and autoriser('associer'.$table_source, $objet, $id_objet)
108 108
 		and autoriser('modifier', $objet, $id_objet));
109 109
 
110 110
 	if (!$editable and !count(objet_trouver_liens(
@@ -116,22 +116,22 @@  discard block
 block discarded – undo
116 116
 
117 117
 	// squelettes de vue et de d'association
118 118
 	// ils sont différents si des rôles sont définis.
119
-	$skel_vue = $table_source . '_lies';
120
-	$skel_ajout = $table_source . '_associer';
119
+	$skel_vue = $table_source.'_lies';
120
+	$skel_ajout = $table_source.'_associer';
121 121
 
122 122
 	// description des roles
123 123
 	include_spip('inc/roles');
124 124
 	if ($roles = roles_presents($objet_source, $objet)) {
125 125
 		// on demande de nouveaux squelettes en conséquence
126
-		$skel_vue = $table_source . '_roles_lies';
127
-		$skel_ajout = $table_source . '_roles_associer';
126
+		$skel_vue = $table_source.'_roles_lies';
127
+		$skel_ajout = $table_source.'_roles_associer';
128 128
 	}
129 129
 
130 130
 	$oups = _request('_oups');
131 131
 	if (unserialize(base64_decode($oups))) {
132 132
 		// on est bon, rien a faire
133 133
 	}
134
-	elseif(unserialize($oups)) {
134
+	elseif (unserialize($oups)) {
135 135
 		// il faut encoder
136 136
 		$oups = base64_encode($oups);
137 137
 	}
@@ -419,7 +419,7 @@  discard block
 block discarded – undo
419 419
 function lien_retrouver_qualif($objet_lien, $lien) {
420 420
 	// un role est défini dans la liaison
421 421
 	$defs = explode('-', $lien);
422
-	list($objet1, , $objet2, , $role) = array_pad($defs, 5, null);
422
+	list($objet1,, $objet2,, $role) = array_pad($defs, 5, null);
423 423
 	if ($objet_lien == $objet1) {
424 424
 		$colonne_role = roles_colonne($objet1, $objet2);
425 425
 	} else {
Please login to merge, or discard this patch.
Braces   +2 added lines, -4 removed lines patch added patch discarded remove patch
@@ -130,12 +130,10 @@
 block discarded – undo
130 130
 	$oups = _request('_oups');
131 131
 	if (unserialize(base64_decode($oups))) {
132 132
 		// on est bon, rien a faire
133
-	}
134
-	elseif(unserialize($oups)) {
133
+	} elseif(unserialize($oups)) {
135 134
 		// il faut encoder
136 135
 		$oups = base64_encode($oups);
137
-	}
138
-	else {
136
+	} else {
139 137
 		$oups = '';
140 138
 	}
141 139
 	$valeurs = array(
Please login to merge, or discard this patch.
prive/formulaires/configurer_preferences.php 1 patch
Indentation   +45 added lines, -45 removed lines patch added patch discarded remove patch
@@ -21,7 +21,7 @@  discard block
 block discarded – undo
21 21
  **/
22 22
 
23 23
 if (!defined('_ECRIRE_INC_VERSION')) {
24
-	return;
24
+    return;
25 25
 }
26 26
 
27 27
 /**
@@ -31,28 +31,28 @@  discard block
 block discarded – undo
31 31
  *     Environnement du formulaire
32 32
  **/
33 33
 function formulaires_configurer_preferences_charger_dist() {
34
-	// travailler sur des meta fraiches
35
-	include_spip('inc/meta');
36
-	lire_metas();
34
+    // travailler sur des meta fraiches
35
+    include_spip('inc/meta');
36
+    lire_metas();
37 37
 
38
-	$valeurs = array();
39
-	$valeurs['display_navigation'] = isset($GLOBALS['visiteur_session']['prefs']['display_navigation']) ? $GLOBALS['visiteur_session']['prefs']['display_navigation'] : 'navigation_avec_icones';
40
-	$valeurs['display_outils'] = isset($GLOBALS['visiteur_session']['prefs']['display_outils']) ? $GLOBALS['visiteur_session']['prefs']['display_outils'] : 'oui';
41
-	$valeurs['display'] = (isset($GLOBALS['visiteur_session']['prefs']['display']) and $GLOBALS['visiteur_session']['prefs']['display'] > 0) ? $GLOBALS['visiteur_session']['prefs']['display'] : 2;
42
-	$valeurs['couleur'] = (isset($GLOBALS['visiteur_session']['prefs']['couleur']) and $GLOBALS['visiteur_session']['prefs']['couleur'] > 0) ? $GLOBALS['visiteur_session']['prefs']['couleur'] : 1;
38
+    $valeurs = array();
39
+    $valeurs['display_navigation'] = isset($GLOBALS['visiteur_session']['prefs']['display_navigation']) ? $GLOBALS['visiteur_session']['prefs']['display_navigation'] : 'navigation_avec_icones';
40
+    $valeurs['display_outils'] = isset($GLOBALS['visiteur_session']['prefs']['display_outils']) ? $GLOBALS['visiteur_session']['prefs']['display_outils'] : 'oui';
41
+    $valeurs['display'] = (isset($GLOBALS['visiteur_session']['prefs']['display']) and $GLOBALS['visiteur_session']['prefs']['display'] > 0) ? $GLOBALS['visiteur_session']['prefs']['display'] : 2;
42
+    $valeurs['couleur'] = (isset($GLOBALS['visiteur_session']['prefs']['couleur']) and $GLOBALS['visiteur_session']['prefs']['couleur'] > 0) ? $GLOBALS['visiteur_session']['prefs']['couleur'] : 1;
43 43
 
44
-	$couleurs = charger_fonction('couleurs', 'inc');
45
-	$les_couleurs = $couleurs(array(), true);
46
-	foreach ($les_couleurs as $k => $c) {
47
-		$valeurs['_couleurs_url'][$k] = generer_url_public('style_prive.css', 'ltr='
48
-			. $GLOBALS['spip_lang_left'] . '&'
49
-			. $couleurs($k));
50
-		$valeurs['couleurs'][$k] = $c;
51
-	}
44
+    $couleurs = charger_fonction('couleurs', 'inc');
45
+    $les_couleurs = $couleurs(array(), true);
46
+    foreach ($les_couleurs as $k => $c) {
47
+        $valeurs['_couleurs_url'][$k] = generer_url_public('style_prive.css', 'ltr='
48
+            . $GLOBALS['spip_lang_left'] . '&'
49
+            . $couleurs($k));
50
+        $valeurs['couleurs'][$k] = $c;
51
+    }
52 52
 
53
-	$valeurs['imessage'] = $GLOBALS['visiteur_session']['imessage'];
53
+    $valeurs['imessage'] = $GLOBALS['visiteur_session']['imessage'];
54 54
 
55
-	return $valeurs;
55
+    return $valeurs;
56 56
 }
57 57
 
58 58
 /**
@@ -63,34 +63,34 @@  discard block
 block discarded – undo
63 63
  **/
64 64
 function formulaires_configurer_preferences_traiter_dist() {
65 65
 
66
-	if ($couleur = _request('couleur')) {
67
-		$couleurs = charger_fonction('couleurs', 'inc');
68
-		$les_couleurs = $couleurs(array(), true);
69
-		if (isset($les_couleurs[$couleur])) {
70
-			$GLOBALS['visiteur_session']['prefs']['couleur'] = $couleur;
71
-		}
72
-	}
73
-	if ($display = intval(_request('display'))) {
74
-		$GLOBALS['visiteur_session']['prefs']['display'] = $display;
75
-	}
76
-	if ($display_navigation = _request('display_navigation')
77
-		and in_array($display_navigation, ['navigation_sans_icone', 'navigation_avec_icones'])) {
78
-		$GLOBALS['visiteur_session']['prefs']['display_navigation'] = $display_navigation;
79
-	}
80
-	if (!is_null($display_outils = _request('display_outils'))) {
81
-		$GLOBALS['visiteur_session']['prefs']['display_outils'] = ($display_outils ? 'oui' : '');
82
-	}
66
+    if ($couleur = _request('couleur')) {
67
+        $couleurs = charger_fonction('couleurs', 'inc');
68
+        $les_couleurs = $couleurs(array(), true);
69
+        if (isset($les_couleurs[$couleur])) {
70
+            $GLOBALS['visiteur_session']['prefs']['couleur'] = $couleur;
71
+        }
72
+    }
73
+    if ($display = intval(_request('display'))) {
74
+        $GLOBALS['visiteur_session']['prefs']['display'] = $display;
75
+    }
76
+    if ($display_navigation = _request('display_navigation')
77
+        and in_array($display_navigation, ['navigation_sans_icone', 'navigation_avec_icones'])) {
78
+        $GLOBALS['visiteur_session']['prefs']['display_navigation'] = $display_navigation;
79
+    }
80
+    if (!is_null($display_outils = _request('display_outils'))) {
81
+        $GLOBALS['visiteur_session']['prefs']['display_outils'] = ($display_outils ? 'oui' : '');
82
+    }
83 83
 
84
-	if (intval($GLOBALS['visiteur_session']['id_auteur'])) {
85
-		include_spip('action/editer_auteur');
86
-		$c = array('prefs' => serialize($GLOBALS['visiteur_session']['prefs']));
84
+    if (intval($GLOBALS['visiteur_session']['id_auteur'])) {
85
+        include_spip('action/editer_auteur');
86
+        $c = array('prefs' => serialize($GLOBALS['visiteur_session']['prefs']));
87 87
 
88
-		if ($imessage = _request('imessage') and in_array($imessage, ['oui', 'non'])) {
89
-			$c['imessage'] = $imessage;
90
-		}
88
+        if ($imessage = _request('imessage') and in_array($imessage, ['oui', 'non'])) {
89
+            $c['imessage'] = $imessage;
90
+        }
91 91
 
92
-		auteur_modifier($GLOBALS['visiteur_session']['id_auteur'], $c);
93
-	}
92
+        auteur_modifier($GLOBALS['visiteur_session']['id_auteur'], $c);
93
+    }
94 94
 
95
-	return array('message_ok' => _T('config_info_enregistree'), 'editable' => true);
95
+    return array('message_ok' => _T('config_info_enregistree'), 'editable' => true);
96 96
 }
Please login to merge, or discard this patch.
prive/formulaires/traduire.php 2 patches
Indentation   +110 added lines, -110 removed lines patch added patch discarded remove patch
@@ -17,7 +17,7 @@  discard block
 block discarded – undo
17 17
  **/
18 18
 
19 19
 if (!defined('_ECRIRE_INC_VERSION')) {
20
-	return;
20
+    return;
21 21
 }
22 22
 
23 23
 include_spip('inc/actions');
@@ -39,64 +39,64 @@  discard block
 block discarded – undo
39 39
  *     Contexte à transmettre au squelette du formulaire sinon
40 40
  */
41 41
 function formulaires_traduire_charger_dist($objet, $id_objet, $retour = '', $traduire = true) {
42
-	if (!intval($id_objet)) {
43
-		return false;
44
-	}
45
-	$valeurs = formulaires_editer_objet_charger($objet, $id_objet, null, 0, $retour, '');
46
-	// verifier que l'objet indique possede bien des champs id_trad et lang
47
-	// attention, charger renomme lang => langue pour ne pas perturber la langue d'affichage du squelette
48
-	if (!isset($valeurs['langue'])) {
49
-		return false;
50
-	}
51
-
52
-	$valeurs['editable'] = autoriser('changerlangue', $objet, $id_objet);
53
-	$valeurs['_langue'] = '';
54
-	$langue_parent = '';
55
-	$id_parent = '';
56
-	if (isset($valeurs['id_rubrique'])) {
57
-		$id_parent = $valeurs['id_rubrique'];
58
-	}
59
-	if (isset($valeurs['id_parent'])) {
60
-		$id_parent = $valeurs['id_parent'];
61
-	}
62
-	if ($id_parent) {
63
-		$langue_parent = sql_getfetsel('lang', 'spip_rubriques', 'id_rubrique=' . intval($id_parent));
64
-	}
65
-
66
-	if (!$langue_parent) {
67
-		$langue_parent = $GLOBALS['meta']['langue_site'];
68
-	}
69
-	if ($valeurs['editable']
70
-		and in_array(table_objet_sql($objet), explode(',', $GLOBALS['meta']['multi_objets']))
71
-	) {
72
-		$valeurs['_langue'] = $valeurs['langue'];
73
-	}
74
-	$valeurs['langue_parent'] = $langue_parent;
75
-
76
-	$valeurs['_objet'] = $objet;
77
-	$valeurs['_id_objet'] = $id_objet;
78
-	$valeurs['changer_lang'] = '';
79
-
80
-
81
-	$valeurs['_traduisible'] = autoriser('changertraduction', $objet, $id_objet);
82
-	$valeurs['_traduire'] = '';
83
-	if (isset($valeurs['id_trad'])) {
84
-		$valeurs['_traduire'] = ($traduire ? ' ' : '');
85
-		$valeurs['_vue_traductions'] = 'prive/objets/liste/' . (trouver_fond(
86
-			$f = table_objet($objet) . '-trad',
87
-			'prive/objets/liste'
88
-		) ? $f : 'objets-trad');
89
-		// pour afficher la liste des trad sur la base de l'id_trad en base
90
-		// independamment d'une saisie en cours sur id_trad
91
-		$valeurs['_lister_id_trad'] = $valeurs['id_trad'];
92
-		$valeurs['_id_parent'] = $id_parent;
93
-	}
94
-
95
-	$valeurs['_saisie_en_cours'] = (!_request('annuler') and (_request('changer_lang') !== null
96
-		or _request('changer_id_trad') !== null));
97
-	$valeurs['_pipeline'] = array('traduire', array('type' => $objet, 'id' => $id_objet));
98
-
99
-	return $valeurs;
42
+    if (!intval($id_objet)) {
43
+        return false;
44
+    }
45
+    $valeurs = formulaires_editer_objet_charger($objet, $id_objet, null, 0, $retour, '');
46
+    // verifier que l'objet indique possede bien des champs id_trad et lang
47
+    // attention, charger renomme lang => langue pour ne pas perturber la langue d'affichage du squelette
48
+    if (!isset($valeurs['langue'])) {
49
+        return false;
50
+    }
51
+
52
+    $valeurs['editable'] = autoriser('changerlangue', $objet, $id_objet);
53
+    $valeurs['_langue'] = '';
54
+    $langue_parent = '';
55
+    $id_parent = '';
56
+    if (isset($valeurs['id_rubrique'])) {
57
+        $id_parent = $valeurs['id_rubrique'];
58
+    }
59
+    if (isset($valeurs['id_parent'])) {
60
+        $id_parent = $valeurs['id_parent'];
61
+    }
62
+    if ($id_parent) {
63
+        $langue_parent = sql_getfetsel('lang', 'spip_rubriques', 'id_rubrique=' . intval($id_parent));
64
+    }
65
+
66
+    if (!$langue_parent) {
67
+        $langue_parent = $GLOBALS['meta']['langue_site'];
68
+    }
69
+    if ($valeurs['editable']
70
+        and in_array(table_objet_sql($objet), explode(',', $GLOBALS['meta']['multi_objets']))
71
+    ) {
72
+        $valeurs['_langue'] = $valeurs['langue'];
73
+    }
74
+    $valeurs['langue_parent'] = $langue_parent;
75
+
76
+    $valeurs['_objet'] = $objet;
77
+    $valeurs['_id_objet'] = $id_objet;
78
+    $valeurs['changer_lang'] = '';
79
+
80
+
81
+    $valeurs['_traduisible'] = autoriser('changertraduction', $objet, $id_objet);
82
+    $valeurs['_traduire'] = '';
83
+    if (isset($valeurs['id_trad'])) {
84
+        $valeurs['_traduire'] = ($traduire ? ' ' : '');
85
+        $valeurs['_vue_traductions'] = 'prive/objets/liste/' . (trouver_fond(
86
+            $f = table_objet($objet) . '-trad',
87
+            'prive/objets/liste'
88
+        ) ? $f : 'objets-trad');
89
+        // pour afficher la liste des trad sur la base de l'id_trad en base
90
+        // independamment d'une saisie en cours sur id_trad
91
+        $valeurs['_lister_id_trad'] = $valeurs['id_trad'];
92
+        $valeurs['_id_parent'] = $id_parent;
93
+    }
94
+
95
+    $valeurs['_saisie_en_cours'] = (!_request('annuler') and (_request('changer_lang') !== null
96
+        or _request('changer_id_trad') !== null));
97
+    $valeurs['_pipeline'] = array('traduire', array('type' => $objet, 'id' => $id_objet));
98
+
99
+    return $valeurs;
100 100
 }
101 101
 
102 102
 /**
@@ -114,30 +114,30 @@  discard block
 block discarded – undo
114 114
  *     Erreurs des saisies
115 115
  */
116 116
 function formulaires_traduire_verifier_dist($objet, $id_objet, $retour = '', $traduire = true) {
117
-	$erreurs = array();
118
-
119
-	if (null !== _request('changer_lang')) {
120
-		$erreurs = formulaires_editer_objet_verifier($objet, $id_objet, array('changer_lang'));
121
-	}
122
-
123
-	// si id_trad fourni, verifier que cela ne conflicte pas avec un id_trad existant
124
-	// et que ca reference bien un objet existant
125
-	if ($id_trad = _request('id_trad')) {
126
-		$table_objet_sql = table_objet_sql($objet);
127
-		$_id_table_objet = id_table_objet($objet);
128
-		if (sql_getfetsel(
129
-			'id_trad',
130
-			$table_objet_sql,
131
-			"$_id_table_objet=" . intval($id_objet)
132
-		)) {
133
-			// ne devrait jamais arriver sauf concurence de saisie
134
-			$erreurs['id_trad'] = _L('Une traduction est deja referencee');
135
-		} elseif (!sql_getfetsel($_id_table_objet, $table_objet_sql, "$_id_table_objet=" . intval($id_trad))) {
136
-			$erreurs['id_trad'] = _L('Indiquez un contenu existant');
137
-		}
138
-	}
139
-
140
-	return $erreurs;
117
+    $erreurs = array();
118
+
119
+    if (null !== _request('changer_lang')) {
120
+        $erreurs = formulaires_editer_objet_verifier($objet, $id_objet, array('changer_lang'));
121
+    }
122
+
123
+    // si id_trad fourni, verifier que cela ne conflicte pas avec un id_trad existant
124
+    // et que ca reference bien un objet existant
125
+    if ($id_trad = _request('id_trad')) {
126
+        $table_objet_sql = table_objet_sql($objet);
127
+        $_id_table_objet = id_table_objet($objet);
128
+        if (sql_getfetsel(
129
+            'id_trad',
130
+            $table_objet_sql,
131
+            "$_id_table_objet=" . intval($id_objet)
132
+        )) {
133
+            // ne devrait jamais arriver sauf concurence de saisie
134
+            $erreurs['id_trad'] = _L('Une traduction est deja referencee');
135
+        } elseif (!sql_getfetsel($_id_table_objet, $table_objet_sql, "$_id_table_objet=" . intval($id_trad))) {
136
+            $erreurs['id_trad'] = _L('Indiquez un contenu existant');
137
+        }
138
+    }
139
+
140
+    return $erreurs;
141 141
 }
142 142
 
143 143
 
@@ -156,31 +156,31 @@  discard block
 block discarded – undo
156 156
  *     Retour des traitements
157 157
  */
158 158
 function formulaires_traduire_traiter_dist($objet, $id_objet, $retour = '', $traduire = true) {
159
-	$res = array();
160
-	if (!_request('annuler') and autoriser('changerlangue', $objet, $id_objet)) {
161
-		// action/editer_xxx doit traiter la modif de changer_lang
162
-		$res = formulaires_editer_objet_traiter($objet, $id_objet, 0, 0, $retour);
163
-	}
164
-	if (!_request('annuler') and autoriser('changertraduction', $objet, $id_objet)) {
165
-		if ($id_trad = _request('id_trad') or _request('supprimer_trad')) {
166
-			$referencer_traduction = charger_fonction('referencer_traduction', 'action');
167
-			$referencer_traduction($objet, $id_objet, intval($id_trad)); // 0 si supprimer_trad
168
-		} elseif ($new_id_trad = _request('changer_reference_trad')
169
-			and $new_id_trad = array_keys($new_id_trad)
170
-			and $new_id_trad = reset($new_id_trad)
171
-		) {
172
-			$table_objet_sql = table_objet_sql($objet);
173
-			$_id_table_objet = id_table_objet($objet);
174
-			if ($id_trad = sql_getfetsel('id_trad', $table_objet_sql, "$_id_table_objet=" . intval($id_objet))) {
175
-				$referencer_traduction = charger_fonction('referencer_traduction', 'action');
176
-				$referencer_traduction($objet, $id_trad, $new_id_trad);
177
-			}
178
-		}
179
-	}
180
-	$res['editable'] = true;
181
-	if (!isset($res['message_erreur'])) {
182
-		set_request('annuler', 'annuler');
183
-	} // provoquer la fermeture du forumlaire
184
-
185
-	return $res;
159
+    $res = array();
160
+    if (!_request('annuler') and autoriser('changerlangue', $objet, $id_objet)) {
161
+        // action/editer_xxx doit traiter la modif de changer_lang
162
+        $res = formulaires_editer_objet_traiter($objet, $id_objet, 0, 0, $retour);
163
+    }
164
+    if (!_request('annuler') and autoriser('changertraduction', $objet, $id_objet)) {
165
+        if ($id_trad = _request('id_trad') or _request('supprimer_trad')) {
166
+            $referencer_traduction = charger_fonction('referencer_traduction', 'action');
167
+            $referencer_traduction($objet, $id_objet, intval($id_trad)); // 0 si supprimer_trad
168
+        } elseif ($new_id_trad = _request('changer_reference_trad')
169
+            and $new_id_trad = array_keys($new_id_trad)
170
+            and $new_id_trad = reset($new_id_trad)
171
+        ) {
172
+            $table_objet_sql = table_objet_sql($objet);
173
+            $_id_table_objet = id_table_objet($objet);
174
+            if ($id_trad = sql_getfetsel('id_trad', $table_objet_sql, "$_id_table_objet=" . intval($id_objet))) {
175
+                $referencer_traduction = charger_fonction('referencer_traduction', 'action');
176
+                $referencer_traduction($objet, $id_trad, $new_id_trad);
177
+            }
178
+        }
179
+    }
180
+    $res['editable'] = true;
181
+    if (!isset($res['message_erreur'])) {
182
+        set_request('annuler', 'annuler');
183
+    } // provoquer la fermeture du forumlaire
184
+
185
+    return $res;
186 186
 }
Please login to merge, or discard this patch.
Spacing   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -60,7 +60,7 @@  discard block
 block discarded – undo
60 60
 		$id_parent = $valeurs['id_parent'];
61 61
 	}
62 62
 	if ($id_parent) {
63
-		$langue_parent = sql_getfetsel('lang', 'spip_rubriques', 'id_rubrique=' . intval($id_parent));
63
+		$langue_parent = sql_getfetsel('lang', 'spip_rubriques', 'id_rubrique='.intval($id_parent));
64 64
 	}
65 65
 
66 66
 	if (!$langue_parent) {
@@ -82,8 +82,8 @@  discard block
 block discarded – undo
82 82
 	$valeurs['_traduire'] = '';
83 83
 	if (isset($valeurs['id_trad'])) {
84 84
 		$valeurs['_traduire'] = ($traduire ? ' ' : '');
85
-		$valeurs['_vue_traductions'] = 'prive/objets/liste/' . (trouver_fond(
86
-			$f = table_objet($objet) . '-trad',
85
+		$valeurs['_vue_traductions'] = 'prive/objets/liste/'.(trouver_fond(
86
+			$f = table_objet($objet).'-trad',
87 87
 			'prive/objets/liste'
88 88
 		) ? $f : 'objets-trad');
89 89
 		// pour afficher la liste des trad sur la base de l'id_trad en base
@@ -128,11 +128,11 @@  discard block
 block discarded – undo
128 128
 		if (sql_getfetsel(
129 129
 			'id_trad',
130 130
 			$table_objet_sql,
131
-			"$_id_table_objet=" . intval($id_objet)
131
+			"$_id_table_objet=".intval($id_objet)
132 132
 		)) {
133 133
 			// ne devrait jamais arriver sauf concurence de saisie
134 134
 			$erreurs['id_trad'] = _L('Une traduction est deja referencee');
135
-		} elseif (!sql_getfetsel($_id_table_objet, $table_objet_sql, "$_id_table_objet=" . intval($id_trad))) {
135
+		} elseif (!sql_getfetsel($_id_table_objet, $table_objet_sql, "$_id_table_objet=".intval($id_trad))) {
136 136
 			$erreurs['id_trad'] = _L('Indiquez un contenu existant');
137 137
 		}
138 138
 	}
@@ -171,7 +171,7 @@  discard block
 block discarded – undo
171 171
 		) {
172 172
 			$table_objet_sql = table_objet_sql($objet);
173 173
 			$_id_table_objet = id_table_objet($objet);
174
-			if ($id_trad = sql_getfetsel('id_trad', $table_objet_sql, "$_id_table_objet=" . intval($id_objet))) {
174
+			if ($id_trad = sql_getfetsel('id_trad', $table_objet_sql, "$_id_table_objet=".intval($id_objet))) {
175 175
 				$referencer_traduction = charger_fonction('referencer_traduction', 'action');
176 176
 				$referencer_traduction($objet, $id_trad, $new_id_trad);
177 177
 			}
Please login to merge, or discard this patch.
ecrire/lang/spip_fr_tu.php 1 patch
Indentation   +662 added lines, -662 removed lines patch added patch discarded remove patch
@@ -4,252 +4,252 @@  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
-	// 0
13
-	'0_URL' => 'http://www.spip.net/trad-lang/trad_index.php?lang_print=fr_tu',
14
-	'0_langue' => 'Francais copain [fr_tu]',
15
-	'0_liste' => '[email protected]',
16
-	'0_mainteneur' => '[email protected]',
12
+    // 0
13
+    '0_URL' => 'http://www.spip.net/trad-lang/trad_index.php?lang_print=fr_tu',
14
+    '0_langue' => 'Francais copain [fr_tu]',
15
+    '0_liste' => '[email protected]',
16
+    '0_mainteneur' => '[email protected]',
17 17
 
18
-	// A
19
-	'access_interface_graphique' => 'Retour à l’interface graphique complète',
20
-	'access_mode_texte' => 'Afficher l’interface textuelle simplifiée',
21
-	'admin_debug' => 'debug',
22
-	'admin_modifier_article' => 'Modifier cet article',
23
-	'admin_modifier_auteur' => 'Modifier cet auteur',
24
-	'admin_modifier_breve' => 'Modifier cette brève',
25
-	'admin_modifier_mot' => 'Modifier ce mot-clé',
26
-	'admin_modifier_rubrique' => 'Modifier cette rubrique',
27
-	'admin_recalculer' => 'Recalculer cette page',
28
-	'afficher_calendrier' => 'Afficher le calendrier',
29
-	'afficher_trad' => 'afficher les traductions',
30
-	'alerte_maj_impossible' => '<b>Alerte !</b> La mise à jour de la base SQL vers la version @version@ est impossible, peut-être à cause d’un problème de droit de modification sur la base de données. Contacte ton hébergeur.',
31
-	'alerte_modif_info_concourante' => 'ATTENTION : Cette information a été modifiée par ailleurs. La valeur actuelle est :',
32
-	'analyse_xml' => 'Analyse XML',
33
-	'annuler' => 'Annuler',
34
-	'antispam_champ_vide' => 'Laisse ce champ vide :',
35
-	'articles_recents' => 'Articles les plus récents',
36
-	'avis_1_erreur_saisie' => 'Il y a 1 erreur dans dans ta saisie, vérifie les informations.',
37
-	'avis_archive_incorrect' => 'le fichier archive n’est pas un fichier SPIP',
38
-	'avis_archive_invalide' => 'le fichier archive n’est pas valide',
39
-	'avis_attention' => 'ATTENTION !',
40
-	'avis_champ_incorrect_type_objet' => 'Nom de champ incorrect @name@ pour objet de type @type@',
41
-	'avis_colonne_inexistante' => 'La colonne @col@ n’existe pas',
42
-	'avis_erreur' => 'Erreur : voir ci-dessous',
43
-	'avis_erreur_connexion' => 'Erreur de connexion',
44
-	'avis_erreur_cookie' => 'problème de cookie',
45
-	'avis_erreur_fonction_contexte' => 'Erreur de programmation. Cette fonction ne doit pas être appelée dans ce contexte.',
46
-	'avis_erreur_mysql' => 'Erreur SQL',
47
-	'avis_erreur_sauvegarde' => 'Erreur dans la sauvegarde (@type@ @id_objet@) !',
48
-	'avis_erreur_visiteur' => 'Problème d’accès à l’espace privé',
49
-	'avis_nb_erreurs_saisie' => 'Il y a @nb@ erreurs dans ta saisie, vérifie les informations.',
18
+    // A
19
+    'access_interface_graphique' => 'Retour à l’interface graphique complète',
20
+    'access_mode_texte' => 'Afficher l’interface textuelle simplifiée',
21
+    'admin_debug' => 'debug',
22
+    'admin_modifier_article' => 'Modifier cet article',
23
+    'admin_modifier_auteur' => 'Modifier cet auteur',
24
+    'admin_modifier_breve' => 'Modifier cette brève',
25
+    'admin_modifier_mot' => 'Modifier ce mot-clé',
26
+    'admin_modifier_rubrique' => 'Modifier cette rubrique',
27
+    'admin_recalculer' => 'Recalculer cette page',
28
+    'afficher_calendrier' => 'Afficher le calendrier',
29
+    'afficher_trad' => 'afficher les traductions',
30
+    'alerte_maj_impossible' => '<b>Alerte !</b> La mise à jour de la base SQL vers la version @version@ est impossible, peut-être à cause d’un problème de droit de modification sur la base de données. Contacte ton hébergeur.',
31
+    'alerte_modif_info_concourante' => 'ATTENTION : Cette information a été modifiée par ailleurs. La valeur actuelle est :',
32
+    'analyse_xml' => 'Analyse XML',
33
+    'annuler' => 'Annuler',
34
+    'antispam_champ_vide' => 'Laisse ce champ vide :',
35
+    'articles_recents' => 'Articles les plus récents',
36
+    'avis_1_erreur_saisie' => 'Il y a 1 erreur dans dans ta saisie, vérifie les informations.',
37
+    'avis_archive_incorrect' => 'le fichier archive n’est pas un fichier SPIP',
38
+    'avis_archive_invalide' => 'le fichier archive n’est pas valide',
39
+    'avis_attention' => 'ATTENTION !',
40
+    'avis_champ_incorrect_type_objet' => 'Nom de champ incorrect @name@ pour objet de type @type@',
41
+    'avis_colonne_inexistante' => 'La colonne @col@ n’existe pas',
42
+    'avis_erreur' => 'Erreur : voir ci-dessous',
43
+    'avis_erreur_connexion' => 'Erreur de connexion',
44
+    'avis_erreur_cookie' => 'problème de cookie',
45
+    'avis_erreur_fonction_contexte' => 'Erreur de programmation. Cette fonction ne doit pas être appelée dans ce contexte.',
46
+    'avis_erreur_mysql' => 'Erreur SQL',
47
+    'avis_erreur_sauvegarde' => 'Erreur dans la sauvegarde (@type@ @id_objet@) !',
48
+    'avis_erreur_visiteur' => 'Problème d’accès à l’espace privé',
49
+    'avis_nb_erreurs_saisie' => 'Il y a @nb@ erreurs dans ta saisie, vérifie les informations.',
50 50
 
51
-	// B
52
-	'barre_a_accent_grave' => 'Insérer un A accent grave majuscule',
53
-	'barre_aide' => 'Utilise les raccourcis typographiques pour enrichir ta mise en page',
54
-	'barre_e_accent_aigu' => 'Insérer un E accent aigu majuscule',
55
-	'barre_eo' => 'Insérer un E dans l’O',
56
-	'barre_eo_maj' => 'Insérer un E dans l’O majuscule',
57
-	'barre_euro' => 'Insérer le symbole ?',
58
-	'barre_gras' => 'Mettre en {{gras}}',
59
-	'barre_guillemets' => 'Entourer de « guillemets français »',
60
-	'barre_guillemets_simples' => 'Entourer de ?guillemets de second niveau ?',
61
-	'barre_intertitre' => 'Transformer en {{{intertitre}}}',
62
-	'barre_italic' => 'Mettre en {italique}',
63
-	'barre_lien' => 'Transformer en [lien hypertexte->http://...]',
64
-	'barre_lien_input' => 'Indiquer l’adresse de ton lien (tu peux indiquer une adresse Web sous la forme http://www.monsite/com ou simplement indiquer le numéro d’un article de ce site.',
65
-	'barre_note' => 'Transformer en [[Note de bas de page]]',
66
-	'barre_paragraphe' => 'Crée un paragraphe',
67
-	'barre_quote' => '<quote>Citer un message</quote>',
68
-	'bouton_changer' => 'Changer',
69
-	'bouton_chercher' => 'Chercher',
70
-	'bouton_choisir' => 'Choisir',
71
-	'bouton_deplacer' => 'Déplacer',
72
-	'bouton_download' => 'Télécharger',
73
-	'bouton_enregistrer' => 'Enregistrer',
74
-	'bouton_radio_desactiver_messagerie_interne' => 'Désactiver la messagerie interne',
75
-	'bouton_radio_envoi_annonces' => 'Envoyer les annonces éditoriales',
76
-	'bouton_radio_non_envoi_annonces' => 'Ne pas envoyer d’annonces',
77
-	'bouton_radio_non_envoi_liste_nouveautes' => 'Ne pas envoyer la liste des nouveautés',
78
-	'bouton_recharger_page' => 'recharger cette page',
79
-	'bouton_telecharger' => 'Télécharger',
80
-	'bouton_upload' => 'Téléverser',
81
-	'bouton_valider' => 'Valider',
51
+    // B
52
+    'barre_a_accent_grave' => 'Insérer un A accent grave majuscule',
53
+    'barre_aide' => 'Utilise les raccourcis typographiques pour enrichir ta mise en page',
54
+    'barre_e_accent_aigu' => 'Insérer un E accent aigu majuscule',
55
+    'barre_eo' => 'Insérer un E dans l’O',
56
+    'barre_eo_maj' => 'Insérer un E dans l’O majuscule',
57
+    'barre_euro' => 'Insérer le symbole ?',
58
+    'barre_gras' => 'Mettre en {{gras}}',
59
+    'barre_guillemets' => 'Entourer de « guillemets français »',
60
+    'barre_guillemets_simples' => 'Entourer de ?guillemets de second niveau ?',
61
+    'barre_intertitre' => 'Transformer en {{{intertitre}}}',
62
+    'barre_italic' => 'Mettre en {italique}',
63
+    'barre_lien' => 'Transformer en [lien hypertexte->http://...]',
64
+    'barre_lien_input' => 'Indiquer l’adresse de ton lien (tu peux indiquer une adresse Web sous la forme http://www.monsite/com ou simplement indiquer le numéro d’un article de ce site.',
65
+    'barre_note' => 'Transformer en [[Note de bas de page]]',
66
+    'barre_paragraphe' => 'Crée un paragraphe',
67
+    'barre_quote' => '<quote>Citer un message</quote>',
68
+    'bouton_changer' => 'Changer',
69
+    'bouton_chercher' => 'Chercher',
70
+    'bouton_choisir' => 'Choisir',
71
+    'bouton_deplacer' => 'Déplacer',
72
+    'bouton_download' => 'Télécharger',
73
+    'bouton_enregistrer' => 'Enregistrer',
74
+    'bouton_radio_desactiver_messagerie_interne' => 'Désactiver la messagerie interne',
75
+    'bouton_radio_envoi_annonces' => 'Envoyer les annonces éditoriales',
76
+    'bouton_radio_non_envoi_annonces' => 'Ne pas envoyer d’annonces',
77
+    'bouton_radio_non_envoi_liste_nouveautes' => 'Ne pas envoyer la liste des nouveautés',
78
+    'bouton_recharger_page' => 'recharger cette page',
79
+    'bouton_telecharger' => 'Télécharger',
80
+    'bouton_upload' => 'Téléverser',
81
+    'bouton_valider' => 'Valider',
82 82
 
83
-	// C
84
-	'cal_apresmidi' => 'après-midi',
85
-	'cal_jour_entier' => 'jour entier',
86
-	'cal_matin' => 'matin',
87
-	'cal_par_jour' => 'calendrier par jour',
88
-	'cal_par_mois' => 'calendrier par mois',
89
-	'cal_par_semaine' => 'calendrier par semaine',
90
-	'choix_couleur_interface' => 'couleur ',
91
-	'choix_interface' => 'choix  de l’interface',
92
-	'colonne' => 'Colonne',
93
-	'confirm_changer_statut' => 'Attention, tu as demandé à changer le statut de cet élément. Souhaites-tu continuer ?',
94
-	'correcte' => 'correcte',
83
+    // C
84
+    'cal_apresmidi' => 'après-midi',
85
+    'cal_jour_entier' => 'jour entier',
86
+    'cal_matin' => 'matin',
87
+    'cal_par_jour' => 'calendrier par jour',
88
+    'cal_par_mois' => 'calendrier par mois',
89
+    'cal_par_semaine' => 'calendrier par semaine',
90
+    'choix_couleur_interface' => 'couleur ',
91
+    'choix_interface' => 'choix  de l’interface',
92
+    'colonne' => 'Colonne',
93
+    'confirm_changer_statut' => 'Attention, tu as demandé à changer le statut de cet élément. Souhaites-tu continuer ?',
94
+    'correcte' => 'correcte',
95 95
 
96
-	// D
97
-	'date_aujourdhui' => 'aujourd’hui',
98
-	'date_avant_jc' => 'av. J.C.',
99
-	'date_dans' => 'dans @delai@',
100
-	'date_de_mois_1' => '@j@ @nommois@',
101
-	'date_de_mois_10' => '@j@ @nommois@',
102
-	'date_de_mois_11' => '@j@ @nommois@',
103
-	'date_de_mois_12' => '@j@ @nommois@',
104
-	'date_de_mois_2' => '@j@ @nommois@',
105
-	'date_de_mois_3' => '@j@ @nommois@',
106
-	'date_de_mois_4' => '@j@ @nommois@',
107
-	'date_de_mois_5' => '@j@ @nommois@',
108
-	'date_de_mois_6' => '@j@ @nommois@',
109
-	'date_de_mois_7' => '@j@ @nommois@',
110
-	'date_de_mois_8' => '@j@ @nommois@',
111
-	'date_de_mois_9' => '@j@ @nommois@',
112
-	'date_demain' => 'demain',
113
-	'date_fmt_heures_minutes' => '@h@h@m@min',
114
-	'date_fmt_heures_minutes_court' => '@h@h@m@',
115
-	'date_fmt_jour' => '@nomjour@ @jour@',
116
-	'date_fmt_jour_heure' => '@jour@ à @heure@',
117
-	'date_fmt_jour_heure_debut_fin' => 'le @jour@ de @heure_debut@ à @heure_fin@',
118
-	'date_fmt_jour_heure_debut_fin_abbr' => 'le @dtstart@@jour@ de @heure_debut@@dtabbr@ à @dtstart@@heure_fin@@dtend@',
119
-	'date_fmt_jour_mois' => '@jour@ @nommois@',
120
-	'date_fmt_jour_mois_annee' => '@jour@ @nommois@ @annee@',
121
-	'date_fmt_mois_annee' => '@nommois@ @annee@',
122
-	'date_fmt_nomjour' => '@nomjour@ @date@',
123
-	'date_fmt_nomjour_date' => 'le @nomjour@ @date@',
124
-	'date_fmt_periode' => 'Du @date_debut@ au @date_fin@',
125
-	'date_fmt_periode_abbr' => 'Du @dtart@@date_debut@@dtabbr@ au @dtend@@date_fin@@dtabbr@',
126
-	'date_fmt_periode_from' => 'Du',
127
-	'date_fmt_periode_to' => 'au',
128
-	'date_fmt_saison_annee' => '@saison@ @annee@',
129
-	'date_heures' => 'heures',
130
-	'date_hier' => 'hier',
131
-	'date_il_y_a' => 'il y a @delai@',
132
-	'date_jnum1' => '1er',
133
-	'date_jnum10' => '10',
134
-	'date_jnum11' => '11',
135
-	'date_jnum12' => '12',
136
-	'date_jnum13' => '13',
137
-	'date_jnum14' => '14',
138
-	'date_jnum15' => '15',
139
-	'date_jnum16' => '16',
140
-	'date_jnum17' => '17',
141
-	'date_jnum18' => '18',
142
-	'date_jnum19' => '19',
143
-	'date_jnum2' => '2',
144
-	'date_jnum20' => '20',
145
-	'date_jnum21' => '21',
146
-	'date_jnum22' => '22',
147
-	'date_jnum23' => '23',
148
-	'date_jnum24' => '24',
149
-	'date_jnum25' => '25',
150
-	'date_jnum26' => '26',
151
-	'date_jnum27' => '27',
152
-	'date_jnum28' => '28',
153
-	'date_jnum29' => '29',
154
-	'date_jnum3' => '3',
155
-	'date_jnum30' => '30',
156
-	'date_jnum31' => '31',
157
-	'date_jnum4' => '4',
158
-	'date_jnum5' => '5',
159
-	'date_jnum6' => '6',
160
-	'date_jnum7' => '7',
161
-	'date_jnum8' => '8',
162
-	'date_jnum9' => '9',
163
-	'date_jour_1' => 'dimanche',
164
-	'date_jour_1_abbr' => 'dim.',
165
-	'date_jour_1_initiale' => 'd.',
166
-	'date_jour_2' => 'lundi',
167
-	'date_jour_2_abbr' => 'lun.',
168
-	'date_jour_2_initiale' => 'l.',
169
-	'date_jour_3' => 'mardi',
170
-	'date_jour_3_abbr' => 'mar.',
171
-	'date_jour_3_initiale' => 'm.',
172
-	'date_jour_4' => 'mercredi',
173
-	'date_jour_4_abbr' => 'mer.',
174
-	'date_jour_4_initiale' => 'm.',
175
-	'date_jour_5' => 'jeudi',
176
-	'date_jour_5_abbr' => 'jeu.',
177
-	'date_jour_5_initiale' => 'j.',
178
-	'date_jour_6' => 'vendredi',
179
-	'date_jour_6_abbr' => 'ven.',
180
-	'date_jour_6_initiale' => 'v.',
181
-	'date_jour_7' => 'samedi',
182
-	'date_jour_7_abbr' => 'sam.',
183
-	'date_jour_7_initiale' => 's.',
184
-	'date_jours' => 'jours',
185
-	'date_minutes' => 'minutes',
186
-	'date_mois' => 'mois',
187
-	'date_mois_1' => 'janvier',
188
-	'date_mois_10' => 'octobre',
189
-	'date_mois_10_abbr' => 'oct.',
190
-	'date_mois_11' => 'novembre',
191
-	'date_mois_11_abbr' => 'nov.',
192
-	'date_mois_12' => 'décembre',
193
-	'date_mois_12_abbr' => 'déc.',
194
-	'date_mois_1_abbr' => 'janv.',
195
-	'date_mois_2' => 'février',
196
-	'date_mois_2_abbr' => 'févr.',
197
-	'date_mois_3' => 'mars',
198
-	'date_mois_3_abbr' => 'mars',
199
-	'date_mois_4' => 'avril',
200
-	'date_mois_4_abbr' => 'avr.',
201
-	'date_mois_5' => 'mai',
202
-	'date_mois_5_abbr' => 'mai',
203
-	'date_mois_6' => 'juin',
204
-	'date_mois_6_abbr' => 'juin',
205
-	'date_mois_7' => 'juillet',
206
-	'date_mois_7_abbr' => 'juil.',
207
-	'date_mois_8' => 'août',
208
-	'date_mois_8_abbr' => 'août',
209
-	'date_mois_9' => 'septembre',
210
-	'date_mois_9_abbr' => 'sept.',
211
-	'date_saison_1' => 'hiver',
212
-	'date_saison_2' => 'printemps',
213
-	'date_saison_3' => 'été',
214
-	'date_saison_4' => 'automne',
215
-	'date_secondes' => 'secondes',
216
-	'date_semaines' => 'semaines',
217
-	'date_un_mois' => 'mois',
218
-	'date_une_heure' => 'heure',
219
-	'date_une_minute' => 'minute',
220
-	'date_une_seconde' => 'seconde',
221
-	'date_une_semaine' => 'semaine',
222
-	'dirs_commencer' => ' afin de commencer réellement l’installation',
223
-	'dirs_preliminaire' => 'Préliminaire : <b>Régler les droits d’accès</b>',
224
-	'dirs_probleme_droits' => 'Problème de droits d’accès',
225
-	'dirs_repertoires_absents' => '<p><b>Les répertoires suivants n’ont pas été trouvés :</b></p><ul>@bad_dirs@.</ul>
96
+    // D
97
+    'date_aujourdhui' => 'aujourd’hui',
98
+    'date_avant_jc' => 'av. J.C.',
99
+    'date_dans' => 'dans @delai@',
100
+    'date_de_mois_1' => '@j@ @nommois@',
101
+    'date_de_mois_10' => '@j@ @nommois@',
102
+    'date_de_mois_11' => '@j@ @nommois@',
103
+    'date_de_mois_12' => '@j@ @nommois@',
104
+    'date_de_mois_2' => '@j@ @nommois@',
105
+    'date_de_mois_3' => '@j@ @nommois@',
106
+    'date_de_mois_4' => '@j@ @nommois@',
107
+    'date_de_mois_5' => '@j@ @nommois@',
108
+    'date_de_mois_6' => '@j@ @nommois@',
109
+    'date_de_mois_7' => '@j@ @nommois@',
110
+    'date_de_mois_8' => '@j@ @nommois@',
111
+    'date_de_mois_9' => '@j@ @nommois@',
112
+    'date_demain' => 'demain',
113
+    'date_fmt_heures_minutes' => '@h@h@m@min',
114
+    'date_fmt_heures_minutes_court' => '@h@h@m@',
115
+    'date_fmt_jour' => '@nomjour@ @jour@',
116
+    'date_fmt_jour_heure' => '@jour@ à @heure@',
117
+    'date_fmt_jour_heure_debut_fin' => 'le @jour@ de @heure_debut@ à @heure_fin@',
118
+    'date_fmt_jour_heure_debut_fin_abbr' => 'le @dtstart@@jour@ de @heure_debut@@dtabbr@ à @dtstart@@heure_fin@@dtend@',
119
+    'date_fmt_jour_mois' => '@jour@ @nommois@',
120
+    'date_fmt_jour_mois_annee' => '@jour@ @nommois@ @annee@',
121
+    'date_fmt_mois_annee' => '@nommois@ @annee@',
122
+    'date_fmt_nomjour' => '@nomjour@ @date@',
123
+    'date_fmt_nomjour_date' => 'le @nomjour@ @date@',
124
+    'date_fmt_periode' => 'Du @date_debut@ au @date_fin@',
125
+    'date_fmt_periode_abbr' => 'Du @dtart@@date_debut@@dtabbr@ au @dtend@@date_fin@@dtabbr@',
126
+    'date_fmt_periode_from' => 'Du',
127
+    'date_fmt_periode_to' => 'au',
128
+    'date_fmt_saison_annee' => '@saison@ @annee@',
129
+    'date_heures' => 'heures',
130
+    'date_hier' => 'hier',
131
+    'date_il_y_a' => 'il y a @delai@',
132
+    'date_jnum1' => '1er',
133
+    'date_jnum10' => '10',
134
+    'date_jnum11' => '11',
135
+    'date_jnum12' => '12',
136
+    'date_jnum13' => '13',
137
+    'date_jnum14' => '14',
138
+    'date_jnum15' => '15',
139
+    'date_jnum16' => '16',
140
+    'date_jnum17' => '17',
141
+    'date_jnum18' => '18',
142
+    'date_jnum19' => '19',
143
+    'date_jnum2' => '2',
144
+    'date_jnum20' => '20',
145
+    'date_jnum21' => '21',
146
+    'date_jnum22' => '22',
147
+    'date_jnum23' => '23',
148
+    'date_jnum24' => '24',
149
+    'date_jnum25' => '25',
150
+    'date_jnum26' => '26',
151
+    'date_jnum27' => '27',
152
+    'date_jnum28' => '28',
153
+    'date_jnum29' => '29',
154
+    'date_jnum3' => '3',
155
+    'date_jnum30' => '30',
156
+    'date_jnum31' => '31',
157
+    'date_jnum4' => '4',
158
+    'date_jnum5' => '5',
159
+    'date_jnum6' => '6',
160
+    'date_jnum7' => '7',
161
+    'date_jnum8' => '8',
162
+    'date_jnum9' => '9',
163
+    'date_jour_1' => 'dimanche',
164
+    'date_jour_1_abbr' => 'dim.',
165
+    'date_jour_1_initiale' => 'd.',
166
+    'date_jour_2' => 'lundi',
167
+    'date_jour_2_abbr' => 'lun.',
168
+    'date_jour_2_initiale' => 'l.',
169
+    'date_jour_3' => 'mardi',
170
+    'date_jour_3_abbr' => 'mar.',
171
+    'date_jour_3_initiale' => 'm.',
172
+    'date_jour_4' => 'mercredi',
173
+    'date_jour_4_abbr' => 'mer.',
174
+    'date_jour_4_initiale' => 'm.',
175
+    'date_jour_5' => 'jeudi',
176
+    'date_jour_5_abbr' => 'jeu.',
177
+    'date_jour_5_initiale' => 'j.',
178
+    'date_jour_6' => 'vendredi',
179
+    'date_jour_6_abbr' => 'ven.',
180
+    'date_jour_6_initiale' => 'v.',
181
+    'date_jour_7' => 'samedi',
182
+    'date_jour_7_abbr' => 'sam.',
183
+    'date_jour_7_initiale' => 's.',
184
+    'date_jours' => 'jours',
185
+    'date_minutes' => 'minutes',
186
+    'date_mois' => 'mois',
187
+    'date_mois_1' => 'janvier',
188
+    'date_mois_10' => 'octobre',
189
+    'date_mois_10_abbr' => 'oct.',
190
+    'date_mois_11' => 'novembre',
191
+    'date_mois_11_abbr' => 'nov.',
192
+    'date_mois_12' => 'décembre',
193
+    'date_mois_12_abbr' => 'déc.',
194
+    'date_mois_1_abbr' => 'janv.',
195
+    'date_mois_2' => 'février',
196
+    'date_mois_2_abbr' => 'févr.',
197
+    'date_mois_3' => 'mars',
198
+    'date_mois_3_abbr' => 'mars',
199
+    'date_mois_4' => 'avril',
200
+    'date_mois_4_abbr' => 'avr.',
201
+    'date_mois_5' => 'mai',
202
+    'date_mois_5_abbr' => 'mai',
203
+    'date_mois_6' => 'juin',
204
+    'date_mois_6_abbr' => 'juin',
205
+    'date_mois_7' => 'juillet',
206
+    'date_mois_7_abbr' => 'juil.',
207
+    'date_mois_8' => 'août',
208
+    'date_mois_8_abbr' => 'août',
209
+    'date_mois_9' => 'septembre',
210
+    'date_mois_9_abbr' => 'sept.',
211
+    'date_saison_1' => 'hiver',
212
+    'date_saison_2' => 'printemps',
213
+    'date_saison_3' => 'été',
214
+    'date_saison_4' => 'automne',
215
+    'date_secondes' => 'secondes',
216
+    'date_semaines' => 'semaines',
217
+    'date_un_mois' => 'mois',
218
+    'date_une_heure' => 'heure',
219
+    'date_une_minute' => 'minute',
220
+    'date_une_seconde' => 'seconde',
221
+    'date_une_semaine' => 'semaine',
222
+    'dirs_commencer' => ' afin de commencer réellement l’installation',
223
+    'dirs_preliminaire' => 'Préliminaire : <b>Régler les droits d’accès</b>',
224
+    'dirs_probleme_droits' => 'Problème de droits d’accès',
225
+    'dirs_repertoires_absents' => '<p><b>Les répertoires suivants n’ont pas été trouvés :</b></p><ul>@bad_dirs@.</ul>
226 226
   <p>Il est probable que cela soit dû à un problème de mauvaise mise en majuscules ou minuscules.
227 227
   Vérifie que les minuscules et majuscules de ces répertoires concordent bien avec ce qui est affiché
228 228
   ci-dessus ; si ce n’est pas le cas, renomme les répertoires avec ton logiciel FTP de façon à corriger l’erreur.</p>
229 229
   <p>Une fois cette manipulation effectuée, tu pourras ',
230
-	'dirs_repertoires_suivants' => '<p><b>Les répertoires suivants ne sont pas accessibles en écriture :</b></p> <ul>@bad_dirs@</ul>
230
+    'dirs_repertoires_suivants' => '<p><b>Les répertoires suivants ne sont pas accessibles en écriture :</b></p> <ul>@bad_dirs@</ul>
231 231
   <p>Pour y remédier, utilise ton client FTP afin de régler les droits d’accès de chacun
232 232
   de ces répertoires. La procédure est expliquée en détail dans le guide d’installation.</p>
233 233
   <p>Une fois cette manipulation effectuée, tu pourras ',
234
-	'double_occurrence' => 'Double occurrence de @balise@',
234
+    'double_occurrence' => 'Double occurrence de @balise@',
235 235
 
236
-	// E
237
-	'en_cours' => 'en cours',
238
-	'envoi_via_le_site' => 'Envoi via le site',
239
-	'erreur' => 'Erreur',
240
-	'erreur_balise_non_fermee' => 'dernière balise non refermée :',
241
-	'erreur_technique_ajaxform' => 'Ooops. Une erreur innatendue a empêché de soumettre le formulaire. Tu peux essayer à nouveau.',
242
-	'erreur_technique_enregistrement_champs' => 'Une erreur technique a empêché l’enregistrement correct du champ @champs@.',
243
-	'erreur_technique_enregistrement_impossible' => 'Une erreur technique a empêché l’enregistrement.',
244
-	'erreur_texte' => 'erreur(s)',
245
-	'etape' => 'Étape',
236
+    // E
237
+    'en_cours' => 'en cours',
238
+    'envoi_via_le_site' => 'Envoi via le site',
239
+    'erreur' => 'Erreur',
240
+    'erreur_balise_non_fermee' => 'dernière balise non refermée :',
241
+    'erreur_technique_ajaxform' => 'Ooops. Une erreur innatendue a empêché de soumettre le formulaire. Tu peux essayer à nouveau.',
242
+    'erreur_technique_enregistrement_champs' => 'Une erreur technique a empêché l’enregistrement correct du champ @champs@.',
243
+    'erreur_technique_enregistrement_impossible' => 'Une erreur technique a empêché l’enregistrement.',
244
+    'erreur_texte' => 'erreur(s)',
245
+    'etape' => 'Étape',
246 246
 
247
-	// F
248
-	'fichier_introuvable' => 'Fichier @fichier@ introuvable',
249
-	'form_auteur_confirmation' => 'Confirme ton adresse email',
250
-	'form_auteur_email_modifie' => 'Ton adresse email a été modifiée.',
251
-	'form_auteur_envoi_mail_confirmation' => 'Un courrier électronique de confirmation vient d’être envoyé à @email@. Visite l’adresse Web mentionnée dans ce courrier pour valider ton adresse mail.',
252
-	'form_auteur_mail_confirmation' => 'Salut,
247
+    // F
248
+    'fichier_introuvable' => 'Fichier @fichier@ introuvable',
249
+    'form_auteur_confirmation' => 'Confirme ton adresse email',
250
+    'form_auteur_email_modifie' => 'Ton adresse email a été modifiée.',
251
+    'form_auteur_envoi_mail_confirmation' => 'Un courrier électronique de confirmation vient d’être envoyé à @email@. Visite l’adresse Web mentionnée dans ce courrier pour valider ton adresse mail.',
252
+    'form_auteur_mail_confirmation' => 'Salut,
253 253
 
254 254
 Tu as demandé à changer ton adresse email.
255 255
 Pour confirmer ta nouvelle adresse, il suffit de te connecter à
@@ -258,337 +258,337 @@  discard block
 block discarded – undo
258 258
 
259 259
     @url@
260 260
 ',
261
-	'form_deja_inscrit' => 'Tu es déjà inscrit.',
262
-	'form_email_non_valide' => 'Ton adresse email n’est pas valide.',
263
-	'form_forum_access_refuse' => 'Tu n’as plus accès à ce site.',
264
-	'form_forum_bonjour' => 'Salut @nom@,',
265
-	'form_forum_confirmer_email' => 'Pour confirmer ton adresse email, va à cette adresse : @url_confirm@',
266
-	'form_forum_email_deja_enregistre' => 'Cette adresse email est déjà enregistrée, tu peux donc utiliser ton mot de passe habituel.',
267
-	'form_forum_identifiant_mail' => 'Ton nouvel identifiant vient de t’être envoyé par email.',
268
-	'form_forum_identifiants' => 'Identifiants personnels',
269
-	'form_forum_indiquer_nom_email' => 'Indique ici ton nom et ton adresse email. Ton identifiant personnel te parviendra rapidement, par courrier électronique.',
270
-	'form_forum_login' => 'login :',
271
-	'form_forum_message_auto' => '(ceci est un message automatique)',
272
-	'form_forum_pass' => 'mot de passe :',
273
-	'form_forum_probleme_mail' => 'Problème de mail : l’identifiant ne peut pas être envoyé.',
274
-	'form_forum_voici1' => 'Voici tes identifiants pour pouvoir participer à la vie du site "@nom_site_spip@" (@adresse_site@) :',
275
-	'form_forum_voici2' => 'Voici tes identifiants pour proposer des articles sur
261
+    'form_deja_inscrit' => 'Tu es déjà inscrit.',
262
+    'form_email_non_valide' => 'Ton adresse email n’est pas valide.',
263
+    'form_forum_access_refuse' => 'Tu n’as plus accès à ce site.',
264
+    'form_forum_bonjour' => 'Salut @nom@,',
265
+    'form_forum_confirmer_email' => 'Pour confirmer ton adresse email, va à cette adresse : @url_confirm@',
266
+    'form_forum_email_deja_enregistre' => 'Cette adresse email est déjà enregistrée, tu peux donc utiliser ton mot de passe habituel.',
267
+    'form_forum_identifiant_mail' => 'Ton nouvel identifiant vient de t’être envoyé par email.',
268
+    'form_forum_identifiants' => 'Identifiants personnels',
269
+    'form_forum_indiquer_nom_email' => 'Indique ici ton nom et ton adresse email. Ton identifiant personnel te parviendra rapidement, par courrier électronique.',
270
+    'form_forum_login' => 'login :',
271
+    'form_forum_message_auto' => '(ceci est un message automatique)',
272
+    'form_forum_pass' => 'mot de passe :',
273
+    'form_forum_probleme_mail' => 'Problème de mail : l’identifiant ne peut pas être envoyé.',
274
+    'form_forum_voici1' => 'Voici tes identifiants pour pouvoir participer à la vie du site "@nom_site_spip@" (@adresse_site@) :',
275
+    'form_forum_voici2' => 'Voici tes identifiants pour proposer des articles sur
276 276
 le site "@nom_site_spip@" (@adresse_login@) :',
277
-	'form_indiquer_email' => 'Indique ton adresse email.',
278
-	'form_indiquer_nom' => 'Indique ton nom.',
279
-	'form_indiquer_nom_site' => 'Indique le nom de ton site.',
280
-	'form_pet_deja_enregistre' => 'Ce site est déjà enregistré',
281
-	'form_pet_signature_pasprise' => 'Ta signature n’est pas prise en compte.',
282
-	'form_prop_confirmer_envoi' => 'Confirmer l’envoi',
283
-	'form_prop_description' => 'Description/commentaire',
284
-	'form_prop_enregistre' => 'Ta proposition est enregistrée, elle apparaîtra en ligne après validation par les responsables de ce site.',
285
-	'form_prop_envoyer' => 'Envoyer un message',
286
-	'form_prop_indiquer_email' => 'Indiquer une adresse email valide',
287
-	'form_prop_indiquer_nom_site' => 'Indiquer le nom du site.',
288
-	'form_prop_indiquer_sujet' => 'Indiquer un sujet',
289
-	'form_prop_message_envoye' => 'Message envoyé',
290
-	'form_prop_non_enregistre' => 'Ta proposition n’a pas été enregistrée.',
291
-	'form_prop_sujet' => 'Sujet',
292
-	'form_prop_url_site' => 'Adresse URL du site',
293
-	'format_date_incorrecte' => 'La date ou son format est incorrect',
294
-	'format_heure_incorrecte' => 'L’heure ou son format est incorrect',
295
-	'forum_non_inscrit' => 'Tu n’es pas inscrit, ou l’adresse ou le mot de passe sont erronés.',
296
-	'forum_par_auteur' => 'par @auteur@',
297
-	'forum_titre_erreur' => 'Erreur...',
277
+    'form_indiquer_email' => 'Indique ton adresse email.',
278
+    'form_indiquer_nom' => 'Indique ton nom.',
279
+    'form_indiquer_nom_site' => 'Indique le nom de ton site.',
280
+    'form_pet_deja_enregistre' => 'Ce site est déjà enregistré',
281
+    'form_pet_signature_pasprise' => 'Ta signature n’est pas prise en compte.',
282
+    'form_prop_confirmer_envoi' => 'Confirmer l’envoi',
283
+    'form_prop_description' => 'Description/commentaire',
284
+    'form_prop_enregistre' => 'Ta proposition est enregistrée, elle apparaîtra en ligne après validation par les responsables de ce site.',
285
+    'form_prop_envoyer' => 'Envoyer un message',
286
+    'form_prop_indiquer_email' => 'Indiquer une adresse email valide',
287
+    'form_prop_indiquer_nom_site' => 'Indiquer le nom du site.',
288
+    'form_prop_indiquer_sujet' => 'Indiquer un sujet',
289
+    'form_prop_message_envoye' => 'Message envoyé',
290
+    'form_prop_non_enregistre' => 'Ta proposition n’a pas été enregistrée.',
291
+    'form_prop_sujet' => 'Sujet',
292
+    'form_prop_url_site' => 'Adresse URL du site',
293
+    'format_date_incorrecte' => 'La date ou son format est incorrect',
294
+    'format_heure_incorrecte' => 'L’heure ou son format est incorrect',
295
+    'forum_non_inscrit' => 'Tu n’es pas inscrit, ou l’adresse ou le mot de passe sont erronés.',
296
+    'forum_par_auteur' => 'par @auteur@',
297
+    'forum_titre_erreur' => 'Erreur...',
298 298
 
299
-	// I
300
-	'ical_texte_rss_articles' => 'Le fichier « backend » des articles de ce site se trouve à l’adresse :',
301
-	'ical_texte_rss_articles2' => 'Tu peux également obtenir des fichiers « backend » pour les articles de chaque rubrique du site :',
302
-	'ical_texte_rss_breves' => 'Il existe de plus un fichier contenant les brèves du site. En précisant un numéro de rubrique, tu obtiendras uniquement les brèves de cette rubrique.',
303
-	'icone_a_suivre' => 'À suivre',
304
-	'icone_admin_site' => 'Administration du site',
305
-	'icone_agenda' => 'Agenda',
306
-	'icone_aide_ligne' => 'Aide',
307
-	'icone_articles' => 'Articles',
308
-	'icone_auteurs' => 'Auteurs',
309
-	'icone_brouteur' => 'Navigation rapide',
310
-	'icone_configuration_site' => 'Configuration',
311
-	'icone_configurer_site' => 'Configurer ton site',
312
-	'icone_creer_nouvel_auteur' => 'Créer un nouvel auteur',
313
-	'icone_creer_rubrique' => 'Créer une rubrique',
314
-	'icone_creer_sous_rubrique' => 'Créer une sous-rubrique',
315
-	'icone_deconnecter' => 'Se déconnecter',
316
-	'icone_discussions' => 'Discussions',
317
-	'icone_doc_rubrique' => 'Documents des rubriques',
318
-	'icone_ecrire_article' => 'Écrire un nouvel article',
319
-	'icone_edition_site' => 'Édition',
320
-	'icone_gestion_langues' => 'Gestion des langues',
321
-	'icone_informations_personnelles' => 'Informations personnelles',
322
-	'icone_interface_complet' => 'interface complète',
323
-	'icone_interface_simple' => 'Interface simplifiée',
324
-	'icone_maintenance_site' => 'Maintenance du site',
325
-	'icone_messagerie_personnelle' => 'Messagerie personnelle',
326
-	'icone_repartition_debut' => 'Afficher la répartition depuis le début',
327
-	'icone_rubriques' => 'Rubriques',
328
-	'icone_sauver_site' => 'Sauvegarde du site',
329
-	'icone_site_entier' => 'Tout le site',
330
-	'icone_sites_references' => 'Sites référencés',
331
-	'icone_statistiques' => 'Statistiques du site',
332
-	'icone_suivi_activite' => 'Suivre la vie du site',
333
-	'icone_suivi_actualite' => 'Évolution du site',
334
-	'icone_suivi_pettions' => 'Suivre/gérer les pétitions',
335
-	'icone_suivi_revisions' => 'Modifications des articles',
336
-	'icone_supprimer_document' => 'Supprimer ce document',
337
-	'icone_supprimer_image' => 'Supprimer cette image',
338
-	'icone_tous_articles' => 'Tous tes articles',
339
-	'icone_tous_auteur' => 'Tous les auteurs',
340
-	'icone_tous_visiteur' => 'Tous les visiteurs',
341
-	'icone_visiter_site' => 'Voir le site public',
342
-	'icone_voir_en_ligne' => 'Voir en ligne',
343
-	'img_indisponible' => 'image indisponible',
344
-	'impossible' => 'impossible',
345
-	'info_a_suivre' => 'À SUIVRE »',
346
-	'info_acces_interdit' => 'Accès interdit',
347
-	'info_acces_refuse' => 'Accès refusé',
348
-	'info_action' => 'Action : @action@',
349
-	'info_administrer_rubriques' => 'Tu peux administrer cette rubrique et ses sous-rubriques',
350
-	'info_adresse_non_indiquee' => 'Tu n’as pas indiqué d’adresse à tester !',
351
-	'info_aide' => 'AIDE :',
352
-	'info_ajouter_mot' => 'Ajouter ce mot',
353
-	'info_annonce' => 'ANNONCE',
354
-	'info_annonces_generales' => 'Annonces générales :',
355
-	'info_article_propose' => 'Article proposé',
356
-	'info_article_publie' => 'Article publié',
357
-	'info_article_redaction' => 'Article en cours de rédaction',
358
-	'info_article_refuse' => 'Article refusé',
359
-	'info_article_supprime' => 'Article supprimé',
360
-	'info_articles' => 'Articles',
361
-	'info_articles_a_valider' => 'Les articles à valider',
362
-	'info_articles_nb' => '@nb@ articles',
363
-	'info_articles_proposes' => 'Articles proposés',
364
-	'info_articles_un' => '1 article',
365
-	'info_auteurs_nombre' => 'auteur(s) :',
366
-	'info_authentification_ftp' => 'Authentification (par FTP).',
367
-	'info_breves_2' => 'brèves',
368
-	'info_breves_nb' => '@nb@ brèves',
369
-	'info_breves_un' => '1 brève',
370
-	'info_connexion_refusee' => 'Connexion refusée',
371
-	'info_contact_developpeur' => 'Contacte un développeur.',
372
-	'info_contenance' => 'Ce site contient :',
373
-	'info_contribution' => 'contributions',
374
-	'info_copyright' => '@spip@ est un logiciel libre distribué @lien_gpl@.',
375
-	'info_copyright_doc' => 'Pour plus d’informations, voir le site <a href="@spipnet@">@spipnet_affiche@</a>.',
376
-	'info_copyright_gpl' => 'sous licence GPL',
377
-	'info_cours_edition' => 'En cours d’édition',
378
-	'info_creer_repertoire' => 'Crée un fichier ou un répertoire nommé :',
379
-	'info_creer_repertoire_2' => 'à l’intérieur du sous-répertoire <b>@repertoire@</b>, puis :',
380
-	'info_creer_vignette' => 'création automatique de la vignette',
381
-	'info_creerdansrubrique_non_autorise' => 'Tu n’as pas de droits suffisants pour créer un contenu dans cette rubrique',
382
-	'info_deplier' => 'Déplier',
383
-	'info_descriptif_nombre' => 'descriptif(s) :',
384
-	'info_description' => 'Description :',
385
-	'info_description_2' => 'Description :',
386
-	'info_dimension' => 'Dimensions :',
387
-	'info_documents_nb' => '@nb@ documents',
388
-	'info_documents_un' => '1 document',
389
-	'info_ecire_message_prive' => 'Écrire un message privé',
390
-	'info_email_invalide' => 'Adresse email invalide.',
391
-	'info_en_cours_validation' => 'Tes articles en cours de rédaction',
392
-	'info_en_ligne' => 'Actuellement en ligne :',
393
-	'info_envoyer_message_prive' => 'Envoyer un message privé à cet auteur',
394
-	'info_erreur_requete' => 'Erreur dans la requête :',
395
-	'info_erreur_squelette2' => 'Aucun squelette <b>@fichier@</b> n’est disponible...',
396
-	'info_erreur_systeme' => 'Erreur système (errno @errsys@)',
397
-	'info_erreur_systeme2' => 'Le disque dur est peut-être plein, ou la base de données endommagée.<br />
299
+    // I
300
+    'ical_texte_rss_articles' => 'Le fichier « backend » des articles de ce site se trouve à l’adresse :',
301
+    'ical_texte_rss_articles2' => 'Tu peux également obtenir des fichiers « backend » pour les articles de chaque rubrique du site :',
302
+    'ical_texte_rss_breves' => 'Il existe de plus un fichier contenant les brèves du site. En précisant un numéro de rubrique, tu obtiendras uniquement les brèves de cette rubrique.',
303
+    'icone_a_suivre' => 'À suivre',
304
+    'icone_admin_site' => 'Administration du site',
305
+    'icone_agenda' => 'Agenda',
306
+    'icone_aide_ligne' => 'Aide',
307
+    'icone_articles' => 'Articles',
308
+    'icone_auteurs' => 'Auteurs',
309
+    'icone_brouteur' => 'Navigation rapide',
310
+    'icone_configuration_site' => 'Configuration',
311
+    'icone_configurer_site' => 'Configurer ton site',
312
+    'icone_creer_nouvel_auteur' => 'Créer un nouvel auteur',
313
+    'icone_creer_rubrique' => 'Créer une rubrique',
314
+    'icone_creer_sous_rubrique' => 'Créer une sous-rubrique',
315
+    'icone_deconnecter' => 'Se déconnecter',
316
+    'icone_discussions' => 'Discussions',
317
+    'icone_doc_rubrique' => 'Documents des rubriques',
318
+    'icone_ecrire_article' => 'Écrire un nouvel article',
319
+    'icone_edition_site' => 'Édition',
320
+    'icone_gestion_langues' => 'Gestion des langues',
321
+    'icone_informations_personnelles' => 'Informations personnelles',
322
+    'icone_interface_complet' => 'interface complète',
323
+    'icone_interface_simple' => 'Interface simplifiée',
324
+    'icone_maintenance_site' => 'Maintenance du site',
325
+    'icone_messagerie_personnelle' => 'Messagerie personnelle',
326
+    'icone_repartition_debut' => 'Afficher la répartition depuis le début',
327
+    'icone_rubriques' => 'Rubriques',
328
+    'icone_sauver_site' => 'Sauvegarde du site',
329
+    'icone_site_entier' => 'Tout le site',
330
+    'icone_sites_references' => 'Sites référencés',
331
+    'icone_statistiques' => 'Statistiques du site',
332
+    'icone_suivi_activite' => 'Suivre la vie du site',
333
+    'icone_suivi_actualite' => 'Évolution du site',
334
+    'icone_suivi_pettions' => 'Suivre/gérer les pétitions',
335
+    'icone_suivi_revisions' => 'Modifications des articles',
336
+    'icone_supprimer_document' => 'Supprimer ce document',
337
+    'icone_supprimer_image' => 'Supprimer cette image',
338
+    'icone_tous_articles' => 'Tous tes articles',
339
+    'icone_tous_auteur' => 'Tous les auteurs',
340
+    'icone_tous_visiteur' => 'Tous les visiteurs',
341
+    'icone_visiter_site' => 'Voir le site public',
342
+    'icone_voir_en_ligne' => 'Voir en ligne',
343
+    'img_indisponible' => 'image indisponible',
344
+    'impossible' => 'impossible',
345
+    'info_a_suivre' => 'À SUIVRE »',
346
+    'info_acces_interdit' => 'Accès interdit',
347
+    'info_acces_refuse' => 'Accès refusé',
348
+    'info_action' => 'Action : @action@',
349
+    'info_administrer_rubriques' => 'Tu peux administrer cette rubrique et ses sous-rubriques',
350
+    'info_adresse_non_indiquee' => 'Tu n’as pas indiqué d’adresse à tester !',
351
+    'info_aide' => 'AIDE :',
352
+    'info_ajouter_mot' => 'Ajouter ce mot',
353
+    'info_annonce' => 'ANNONCE',
354
+    'info_annonces_generales' => 'Annonces générales :',
355
+    'info_article_propose' => 'Article proposé',
356
+    'info_article_publie' => 'Article publié',
357
+    'info_article_redaction' => 'Article en cours de rédaction',
358
+    'info_article_refuse' => 'Article refusé',
359
+    'info_article_supprime' => 'Article supprimé',
360
+    'info_articles' => 'Articles',
361
+    'info_articles_a_valider' => 'Les articles à valider',
362
+    'info_articles_nb' => '@nb@ articles',
363
+    'info_articles_proposes' => 'Articles proposés',
364
+    'info_articles_un' => '1 article',
365
+    'info_auteurs_nombre' => 'auteur(s) :',
366
+    'info_authentification_ftp' => 'Authentification (par FTP).',
367
+    'info_breves_2' => 'brèves',
368
+    'info_breves_nb' => '@nb@ brèves',
369
+    'info_breves_un' => '1 brève',
370
+    'info_connexion_refusee' => 'Connexion refusée',
371
+    'info_contact_developpeur' => 'Contacte un développeur.',
372
+    'info_contenance' => 'Ce site contient :',
373
+    'info_contribution' => 'contributions',
374
+    'info_copyright' => '@spip@ est un logiciel libre distribué @lien_gpl@.',
375
+    'info_copyright_doc' => 'Pour plus d’informations, voir le site <a href="@spipnet@">@spipnet_affiche@</a>.',
376
+    'info_copyright_gpl' => 'sous licence GPL',
377
+    'info_cours_edition' => 'En cours d’édition',
378
+    'info_creer_repertoire' => 'Crée un fichier ou un répertoire nommé :',
379
+    'info_creer_repertoire_2' => 'à l’intérieur du sous-répertoire <b>@repertoire@</b>, puis :',
380
+    'info_creer_vignette' => 'création automatique de la vignette',
381
+    'info_creerdansrubrique_non_autorise' => 'Tu n’as pas de droits suffisants pour créer un contenu dans cette rubrique',
382
+    'info_deplier' => 'Déplier',
383
+    'info_descriptif_nombre' => 'descriptif(s) :',
384
+    'info_description' => 'Description :',
385
+    'info_description_2' => 'Description :',
386
+    'info_dimension' => 'Dimensions :',
387
+    'info_documents_nb' => '@nb@ documents',
388
+    'info_documents_un' => '1 document',
389
+    'info_ecire_message_prive' => 'Écrire un message privé',
390
+    'info_email_invalide' => 'Adresse email invalide.',
391
+    'info_en_cours_validation' => 'Tes articles en cours de rédaction',
392
+    'info_en_ligne' => 'Actuellement en ligne :',
393
+    'info_envoyer_message_prive' => 'Envoyer un message privé à cet auteur',
394
+    'info_erreur_requete' => 'Erreur dans la requête :',
395
+    'info_erreur_squelette2' => 'Aucun squelette <b>@fichier@</b> n’est disponible...',
396
+    'info_erreur_systeme' => 'Erreur système (errno @errsys@)',
397
+    'info_erreur_systeme2' => 'Le disque dur est peut-être plein, ou la base de données endommagée.<br />
398 398
 <span style="color:red;">Essaie de <a href=\'@script@\'>réparer la base</a>, ou contacte ton hébergeur.</span>',
399
-	'info_fini' => 'C’est fini !',
400
-	'info_format_image' => 'Formats d’images pouvant être utilisées pour créer des vignettes : @gd_formats@.',
401
-	'info_format_non_defini' => 'format non défini',
402
-	'info_grand_ecran' => 'Grand écran',
403
-	'info_image_aide' => 'AIDE',
404
-	'info_image_process_titre' => 'Comment faire de nouveaux signets',
405
-	'info_impossible_lire_page' => '<b>Erreur !</b> Impossible de lire la page <tt><html>@test_proxy@</html></tt> à travers le proxy ',
406
-	'info_installation_systeme_publication' => 'Installation du système de publication...',
407
-	'info_installer_documents' => 'Tu peux installer automatiquement tous les documents contenus dans le dossier @upload@.',
408
-	'info_installer_ftp' => 'En tant qu’administrateur, tu peux installer (par FTP) des fichiers dans le dossier @upload@ pour ensuite les sélectionner directement ici.',
409
-	'info_installer_images' => 'Tu peux installer des images aux formats JPEG, GIF et PNG.',
410
-	'info_installer_images_dossier' => 'Installer des images dans le dossier @upload@ pour pouvoir les sélectionner ici.',
411
-	'info_interface_complete' => 'interface complète',
412
-	'info_interface_simple' => 'Interface simplifiée',
413
-	'info_joindre_document_article' => 'Tu peux joindre à cet article des documents de type',
414
-	'info_joindre_document_rubrique' => 'Tu peux ajouter dans cette rubrique des documents de type',
415
-	'info_joindre_documents_article' => 'Tu peux joindre à ton article des documents de type :',
416
-	'info_l_article' => 'l’article',
417
-	'info_la_breve' => 'la brève',
418
-	'info_la_rubrique' => 'la rubrique',
419
-	'info_langue_principale' => 'Langue principale du site',
420
-	'info_largeur_vignette' => '@largeur_vignette@ × @hauteur_vignette@ pixels',
421
-	'info_les_auteurs_1' => 'par @les_auteurs@',
422
-	'info_logo_format_interdit' => 'Seuls les logos aux formats @formats@ sont autorisés.',
423
-	'info_logo_max_poids' => 'Les logos doivent obligatoirement faire moins de @maxi@ (ce fichier fait @actuel@).',
424
-	'info_mail_fournisseur' => '[email protected]',
425
-	'info_message_2' => 'MESSAGE',
426
-	'info_message_supprime' => 'MESSAGE SUPPRIMÉ',
427
-	'info_messages_nb' => '@nb@ messages',
428
-	'info_messages_un' => '1 message',
429
-	'info_mise_en_ligne' => 'Date de mise en ligne :',
430
-	'info_modification_parametres_securite' => 'modifications des paramètres de sécurité',
431
-	'info_mois_courant' => 'Dans le courant du mois :',
432
-	'info_mot_cle_ajoute' => 'Le mot-clé suivant a été ajouté à',
433
-	'info_multi_herit' => 'Langue par défaut',
434
-	'info_multi_langues_soulignees' => 'Les <u>langues soulignées</u> bénéficient d’une traduction totale ou partielle des textes de l’interface. Si tu sélectionnes ces langues, de nombreux éléments du site public (dates, formulaires) seront automatiquement traduits. Pour les langues non soulignées, ces éléments apparaîtront dans la langue principale du site.',
435
-	'info_multilinguisme' => 'Multilinguisme',
436
-	'info_nom_non_utilisateurs_connectes' => 'Ton nom n’apparaît pas dans la liste des utilisateurs connectés.',
437
-	'info_nom_utilisateurs_connectes' => 'Ton nom apparaît dans la liste des utilisateurs connectés.',
438
-	'info_nombre_en_ligne' => 'Actuellement en ligne :',
439
-	'info_non_resultat' => 'Aucun résultat pour "@cherche_mot@"',
440
-	'info_non_utilisation_messagerie' => 'Tu n’utilise pas la messagerie interne de ce site.',
441
-	'info_nouveau_message' => 'TU AS UN NOUVEAU MESSAGE',
442
-	'info_nouveaux_messages' => 'TU AS @total_messages@ NOUVEAUX MESSAGES',
443
-	'info_numero_abbreviation' => 'N° ',
444
-	'info_obligatoire' => 'Cette information est obligatoire',
445
-	'info_pense_bete' => 'PENSE-BÊTE',
446
-	'info_petit_ecran' => 'Petit écran',
447
-	'info_petition_close' => 'Pétition close',
448
-	'info_pixels' => 'pixels',
449
-	'info_plusieurs_mots_trouves' => 'Plusieurs mots-clés trouvés pour "@cherche_mot@" :',
450
-	'info_portfolio_automatique' => 'Portfolio automatique :',
451
-	'info_premier_resultat' => '[@debut_limit@ premiers résultats sur @total@]',
452
-	'info_premier_resultat_sur' => '[@debut_limit@ premiers résultats sur @total@]',
453
-	'info_propose_1' => '[@nom_site_spip@] Propose : @titre@',
454
-	'info_propose_2' => 'Article proposé
399
+    'info_fini' => 'C’est fini !',
400
+    'info_format_image' => 'Formats d’images pouvant être utilisées pour créer des vignettes : @gd_formats@.',
401
+    'info_format_non_defini' => 'format non défini',
402
+    'info_grand_ecran' => 'Grand écran',
403
+    'info_image_aide' => 'AIDE',
404
+    'info_image_process_titre' => 'Comment faire de nouveaux signets',
405
+    'info_impossible_lire_page' => '<b>Erreur !</b> Impossible de lire la page <tt><html>@test_proxy@</html></tt> à travers le proxy ',
406
+    'info_installation_systeme_publication' => 'Installation du système de publication...',
407
+    'info_installer_documents' => 'Tu peux installer automatiquement tous les documents contenus dans le dossier @upload@.',
408
+    'info_installer_ftp' => 'En tant qu’administrateur, tu peux installer (par FTP) des fichiers dans le dossier @upload@ pour ensuite les sélectionner directement ici.',
409
+    'info_installer_images' => 'Tu peux installer des images aux formats JPEG, GIF et PNG.',
410
+    'info_installer_images_dossier' => 'Installer des images dans le dossier @upload@ pour pouvoir les sélectionner ici.',
411
+    'info_interface_complete' => 'interface complète',
412
+    'info_interface_simple' => 'Interface simplifiée',
413
+    'info_joindre_document_article' => 'Tu peux joindre à cet article des documents de type',
414
+    'info_joindre_document_rubrique' => 'Tu peux ajouter dans cette rubrique des documents de type',
415
+    'info_joindre_documents_article' => 'Tu peux joindre à ton article des documents de type :',
416
+    'info_l_article' => 'l’article',
417
+    'info_la_breve' => 'la brève',
418
+    'info_la_rubrique' => 'la rubrique',
419
+    'info_langue_principale' => 'Langue principale du site',
420
+    'info_largeur_vignette' => '@largeur_vignette@ × @hauteur_vignette@ pixels',
421
+    'info_les_auteurs_1' => 'par @les_auteurs@',
422
+    'info_logo_format_interdit' => 'Seuls les logos aux formats @formats@ sont autorisés.',
423
+    'info_logo_max_poids' => 'Les logos doivent obligatoirement faire moins de @maxi@ (ce fichier fait @actuel@).',
424
+    'info_mail_fournisseur' => '[email protected]',
425
+    'info_message_2' => 'MESSAGE',
426
+    'info_message_supprime' => 'MESSAGE SUPPRIMÉ',
427
+    'info_messages_nb' => '@nb@ messages',
428
+    'info_messages_un' => '1 message',
429
+    'info_mise_en_ligne' => 'Date de mise en ligne :',
430
+    'info_modification_parametres_securite' => 'modifications des paramètres de sécurité',
431
+    'info_mois_courant' => 'Dans le courant du mois :',
432
+    'info_mot_cle_ajoute' => 'Le mot-clé suivant a été ajouté à',
433
+    'info_multi_herit' => 'Langue par défaut',
434
+    'info_multi_langues_soulignees' => 'Les <u>langues soulignées</u> bénéficient d’une traduction totale ou partielle des textes de l’interface. Si tu sélectionnes ces langues, de nombreux éléments du site public (dates, formulaires) seront automatiquement traduits. Pour les langues non soulignées, ces éléments apparaîtront dans la langue principale du site.',
435
+    'info_multilinguisme' => 'Multilinguisme',
436
+    'info_nom_non_utilisateurs_connectes' => 'Ton nom n’apparaît pas dans la liste des utilisateurs connectés.',
437
+    'info_nom_utilisateurs_connectes' => 'Ton nom apparaît dans la liste des utilisateurs connectés.',
438
+    'info_nombre_en_ligne' => 'Actuellement en ligne :',
439
+    'info_non_resultat' => 'Aucun résultat pour "@cherche_mot@"',
440
+    'info_non_utilisation_messagerie' => 'Tu n’utilise pas la messagerie interne de ce site.',
441
+    'info_nouveau_message' => 'TU AS UN NOUVEAU MESSAGE',
442
+    'info_nouveaux_messages' => 'TU AS @total_messages@ NOUVEAUX MESSAGES',
443
+    'info_numero_abbreviation' => 'N° ',
444
+    'info_obligatoire' => 'Cette information est obligatoire',
445
+    'info_pense_bete' => 'PENSE-BÊTE',
446
+    'info_petit_ecran' => 'Petit écran',
447
+    'info_petition_close' => 'Pétition close',
448
+    'info_pixels' => 'pixels',
449
+    'info_plusieurs_mots_trouves' => 'Plusieurs mots-clés trouvés pour "@cherche_mot@" :',
450
+    'info_portfolio_automatique' => 'Portfolio automatique :',
451
+    'info_premier_resultat' => '[@debut_limit@ premiers résultats sur @total@]',
452
+    'info_premier_resultat_sur' => '[@debut_limit@ premiers résultats sur @total@]',
453
+    'info_propose_1' => '[@nom_site_spip@] Propose : @titre@',
454
+    'info_propose_2' => 'Article proposé
455 455
 ---------------',
456
-	'info_propose_3' => 'L’article "@titre@" est proposé à la publication.',
457
-	'info_propose_4' => 'Tu es invité à venir le consulter et à donner ton opinion',
458
-	'info_propose_5' => 'dans le forum qui lui est attaché. Il est disponible à l’adresse :',
459
-	'info_publie_01' => 'L’article "@titre@" a été validé par @connect_nom@.',
460
-	'info_publie_1' => '[@nom_site_spip@] PUBLIE : @titre@',
461
-	'info_publie_2' => 'Article publié
456
+    'info_propose_3' => 'L’article "@titre@" est proposé à la publication.',
457
+    'info_propose_4' => 'Tu es invité à venir le consulter et à donner ton opinion',
458
+    'info_propose_5' => 'dans le forum qui lui est attaché. Il est disponible à l’adresse :',
459
+    'info_publie_01' => 'L’article "@titre@" a été validé par @connect_nom@.',
460
+    'info_publie_1' => '[@nom_site_spip@] PUBLIE : @titre@',
461
+    'info_publie_2' => 'Article publié
462 462
 --------------',
463
-	'info_rechercher' => 'Rechercher',
464
-	'info_rechercher_02' => 'Rechercher :',
465
-	'info_remplacer_vignette' => 'Remplacer la vignette par défaut par un logo personnalisé :',
466
-	'info_rubriques_nb' => '@nb@ rubriques',
467
-	'info_rubriques_un' => '1 rubrique',
468
-	'info_sans_titre_2' => 'sans titre',
469
-	'info_selectionner_fichier' => 'Tu peux sélectionner un fichier du dossier @upload@',
470
-	'info_selectionner_fichier_2' => 'Sélectionner un fichier :',
471
-	'info_sites_nb' => '@nb@ sites',
472
-	'info_sites_un' => '1 site',
473
-	'info_supprimer_vignette' => 'supprimer la vignette',
474
-	'info_symbole_bleu' => 'Le symbole <b>bleu</b> indique un <b>pense-bête</b> : c’est-à-dire un message à ton usage personnel.',
475
-	'info_symbole_jaune' => 'Le symbole <b>jaune</b> indique une <b>annonce à tous les rédacteurs</b> : modifiable par tous les administrateurs, et visible par tous les rédacteurs.',
476
-	'info_symbole_vert' => 'Le symbole <b>vert</b> indique les <b>messages échangés avec d’autres utilisateurs</b> du site.',
477
-	'info_telecharger_nouveau_logo' => 'Télécharger un nouveau logo :',
478
-	'info_telecharger_ordinateur' => 'Télécharger depuis ton ordinateur :',
479
-	'info_tous_resultats_enregistres' => '[tous les résultats sont enregistrés]',
480
-	'info_tout_afficher' => 'Tout afficher',
481
-	'info_travaux_texte' => 'Ce site n’est pas encore configuré. Reviens plus tard...',
482
-	'info_travaux_titre' => 'Site en travaux',
483
-	'info_trop_resultat' => 'Trop de résultats pour "@cherche_mot@" ; affine la recherche.',
484
-	'info_utilisation_messagerie_interne' => 'Tu utilises la messagerie interne de ce site.',
485
-	'info_valider_lien' => 'valider ce lien',
486
-	'info_verifier_image' => ', vérifie que tes images ont été transférées correctement.',
487
-	'info_vignette_defaut' => 'Vignette par défaut',
488
-	'info_vignette_personnalisee' => 'Vignette personnalisée',
489
-	'info_visite' => 'visite :',
490
-	'info_vos_rendez_vous' => 'Tes rendez-vous à venir',
491
-	'infos_vos_pense_bete' => 'Tes pense-bêtes',
463
+    'info_rechercher' => 'Rechercher',
464
+    'info_rechercher_02' => 'Rechercher :',
465
+    'info_remplacer_vignette' => 'Remplacer la vignette par défaut par un logo personnalisé :',
466
+    'info_rubriques_nb' => '@nb@ rubriques',
467
+    'info_rubriques_un' => '1 rubrique',
468
+    'info_sans_titre_2' => 'sans titre',
469
+    'info_selectionner_fichier' => 'Tu peux sélectionner un fichier du dossier @upload@',
470
+    'info_selectionner_fichier_2' => 'Sélectionner un fichier :',
471
+    'info_sites_nb' => '@nb@ sites',
472
+    'info_sites_un' => '1 site',
473
+    'info_supprimer_vignette' => 'supprimer la vignette',
474
+    'info_symbole_bleu' => 'Le symbole <b>bleu</b> indique un <b>pense-bête</b> : c’est-à-dire un message à ton usage personnel.',
475
+    'info_symbole_jaune' => 'Le symbole <b>jaune</b> indique une <b>annonce à tous les rédacteurs</b> : modifiable par tous les administrateurs, et visible par tous les rédacteurs.',
476
+    'info_symbole_vert' => 'Le symbole <b>vert</b> indique les <b>messages échangés avec d’autres utilisateurs</b> du site.',
477
+    'info_telecharger_nouveau_logo' => 'Télécharger un nouveau logo :',
478
+    'info_telecharger_ordinateur' => 'Télécharger depuis ton ordinateur :',
479
+    'info_tous_resultats_enregistres' => '[tous les résultats sont enregistrés]',
480
+    'info_tout_afficher' => 'Tout afficher',
481
+    'info_travaux_texte' => 'Ce site n’est pas encore configuré. Reviens plus tard...',
482
+    'info_travaux_titre' => 'Site en travaux',
483
+    'info_trop_resultat' => 'Trop de résultats pour "@cherche_mot@" ; affine la recherche.',
484
+    'info_utilisation_messagerie_interne' => 'Tu utilises la messagerie interne de ce site.',
485
+    'info_valider_lien' => 'valider ce lien',
486
+    'info_verifier_image' => ', vérifie que tes images ont été transférées correctement.',
487
+    'info_vignette_defaut' => 'Vignette par défaut',
488
+    'info_vignette_personnalisee' => 'Vignette personnalisée',
489
+    'info_visite' => 'visite :',
490
+    'info_vos_rendez_vous' => 'Tes rendez-vous à venir',
491
+    'infos_vos_pense_bete' => 'Tes pense-bêtes',
492 492
 
493
-	// L
494
-	'label_ajout_id_rapide' => 'Ajout rapide',
495
-	'label_poids_fichier' => 'Taille',
496
-	'lien_afficher_icones_seuls' => 'Afficher uniquement les icones',
497
-	'lien_afficher_texte_icones' => 'Afficher les icones et le texte',
498
-	'lien_afficher_texte_seul' => 'Afficher uniquement le texte',
499
-	'lien_liberer' => 'libérer',
500
-	'lien_liberer_tous' => 'Tout libérer',
501
-	'lien_nouvea_pense_bete' => 'NOUVEAU PENSE-BÊTE',
502
-	'lien_nouveau_message' => 'NOUVEAU MESSAGE',
503
-	'lien_nouvelle_annonce' => 'NOUVELLE ANNONCE',
504
-	'lien_petitions' => 'PÉTITION',
505
-	'lien_popularite' => 'popularité : @popularite@%',
506
-	'lien_racine_site' => 'RACINE DU SITE',
507
-	'lien_reessayer' => 'réessayer',
508
-	'lien_repondre_message' => 'Répondre à ce message',
509
-	'lien_supprimer' => 'supprimer',
510
-	'lien_tout_afficher' => 'Tout afficher',
511
-	'lien_visite_site' => 'visiter ce site',
512
-	'lien_visites' => '@visites@ visites',
513
-	'lien_voir_auteur' => 'Voir cet auteur',
514
-	'ligne' => 'Ligne',
515
-	'login' => 'Connexion',
516
-	'login_acces_prive' => 'accès à l’espace privé',
517
-	'login_autre_identifiant' => 'se connecter sous un autre identifiant',
518
-	'login_cookie_accepte' => 'Régle ton navigateur pour qu’il les accepte (au moins pour ce site).',
519
-	'login_cookie_oblige' => 'Pour t’identifier de façon sûre sur ce site, tu dois accepter les cookies.',
520
-	'login_deconnexion_ok' => 'Déconnexion effectuée.',
521
-	'login_erreur_pass' => 'Erreur de mot de passe.',
522
-	'login_espace_prive' => 'espace privé',
523
-	'login_identifiant_inconnu' => 'L’identifiant « @login@ » est inconnu.',
524
-	'login_login' => 'Login :',
525
-	'login_login2' => 'Login ou adresse email@circ@ :',
526
-	'login_login_pass_incorrect' => '(Login ou mot de passe incorrect.)',
527
-	'login_motpasseoublie' => 'mot de passe oublié ?',
528
-	'login_non_securise' => 'Attention, ce formulaire n’est pas sécurisé.
493
+    // L
494
+    'label_ajout_id_rapide' => 'Ajout rapide',
495
+    'label_poids_fichier' => 'Taille',
496
+    'lien_afficher_icones_seuls' => 'Afficher uniquement les icones',
497
+    'lien_afficher_texte_icones' => 'Afficher les icones et le texte',
498
+    'lien_afficher_texte_seul' => 'Afficher uniquement le texte',
499
+    'lien_liberer' => 'libérer',
500
+    'lien_liberer_tous' => 'Tout libérer',
501
+    'lien_nouvea_pense_bete' => 'NOUVEAU PENSE-BÊTE',
502
+    'lien_nouveau_message' => 'NOUVEAU MESSAGE',
503
+    'lien_nouvelle_annonce' => 'NOUVELLE ANNONCE',
504
+    'lien_petitions' => 'PÉTITION',
505
+    'lien_popularite' => 'popularité : @popularite@%',
506
+    'lien_racine_site' => 'RACINE DU SITE',
507
+    'lien_reessayer' => 'réessayer',
508
+    'lien_repondre_message' => 'Répondre à ce message',
509
+    'lien_supprimer' => 'supprimer',
510
+    'lien_tout_afficher' => 'Tout afficher',
511
+    'lien_visite_site' => 'visiter ce site',
512
+    'lien_visites' => '@visites@ visites',
513
+    'lien_voir_auteur' => 'Voir cet auteur',
514
+    'ligne' => 'Ligne',
515
+    'login' => 'Connexion',
516
+    'login_acces_prive' => 'accès à l’espace privé',
517
+    'login_autre_identifiant' => 'se connecter sous un autre identifiant',
518
+    'login_cookie_accepte' => 'Régle ton navigateur pour qu’il les accepte (au moins pour ce site).',
519
+    'login_cookie_oblige' => 'Pour t’identifier de façon sûre sur ce site, tu dois accepter les cookies.',
520
+    'login_deconnexion_ok' => 'Déconnexion effectuée.',
521
+    'login_erreur_pass' => 'Erreur de mot de passe.',
522
+    'login_espace_prive' => 'espace privé',
523
+    'login_identifiant_inconnu' => 'L’identifiant « @login@ » est inconnu.',
524
+    'login_login' => 'Login :',
525
+    'login_login2' => 'Login ou adresse email@circ@ :',
526
+    'login_login_pass_incorrect' => '(Login ou mot de passe incorrect.)',
527
+    'login_motpasseoublie' => 'mot de passe oublié ?',
528
+    'login_non_securise' => 'Attention, ce formulaire n’est pas sécurisé.
529 529
 			Si tu ne veux pas que ton mot de passe puisse être
530 530
 			intercepté sur le réseau, active Javascript
531 531
 			dans ton navigateur et',
532
-	'login_nouvelle_tentative' => 'Nouvelle tentative',
533
-	'login_par_ici' => 'Tu es enregistré... par ici...',
534
-	'login_pass2' => 'Mot de passe :',
535
-	'login_preferez_refuser' => '<b>Si tu préfére refuser les cookies</b>, une autre méthode de connexion (moins sécurisée) est à ta disposition :',
536
-	'login_recharger' => 'recharger cette page',
537
-	'login_rester_identifie' => 'Rester identifié quelques jours',
538
-	'login_retour_public' => 'Retour au site public',
539
-	'login_retour_site' => 'Retour au site public',
540
-	'login_retoursitepublic' => 'retour au site public',
541
-	'login_sans_cookie' => 'Identification sans cookie',
542
-	'login_securise' => 'Login sécurisé',
543
-	'login_sinscrire' => 's’inscrire',
544
-	'login_test_navigateur' => 'test navigateur/reconnexion',
545
-	'login_verifiez_navigateur' => '(Vérifie toutefois que ton navigateur n’a pas mémorisé ton mot de passe...)',
532
+    'login_nouvelle_tentative' => 'Nouvelle tentative',
533
+    'login_par_ici' => 'Tu es enregistré... par ici...',
534
+    'login_pass2' => 'Mot de passe :',
535
+    'login_preferez_refuser' => '<b>Si tu préfére refuser les cookies</b>, une autre méthode de connexion (moins sécurisée) est à ta disposition :',
536
+    'login_recharger' => 'recharger cette page',
537
+    'login_rester_identifie' => 'Rester identifié quelques jours',
538
+    'login_retour_public' => 'Retour au site public',
539
+    'login_retour_site' => 'Retour au site public',
540
+    'login_retoursitepublic' => 'retour au site public',
541
+    'login_sans_cookie' => 'Identification sans cookie',
542
+    'login_securise' => 'Login sécurisé',
543
+    'login_sinscrire' => 's’inscrire',
544
+    'login_test_navigateur' => 'test navigateur/reconnexion',
545
+    'login_verifiez_navigateur' => '(Vérifie toutefois que ton navigateur n’a pas mémorisé ton mot de passe...)',
546 546
 
547
-	// M
548
-	'masquer_colonne' => 'Masquer cette colonne',
549
-	'masquer_trad' => 'masquer les traductions',
550
-	'message_nouveaux_identifiants_echec' => 'Impossible de générer de nouveaux identifiants.',
551
-	'message_nouveaux_identifiants_echec_envoi' => 'Les nouveaux identifiants de connexion n’ont pas pu être envoyés.',
552
-	'message_nouveaux_identifiants_ok' => 'Les nouveaux identifiants de connexion ont été envoyés à @email@.',
553
-	'module_fichiers_langues' => 'Fichiers de langue',
547
+    // M
548
+    'masquer_colonne' => 'Masquer cette colonne',
549
+    'masquer_trad' => 'masquer les traductions',
550
+    'message_nouveaux_identifiants_echec' => 'Impossible de générer de nouveaux identifiants.',
551
+    'message_nouveaux_identifiants_echec_envoi' => 'Les nouveaux identifiants de connexion n’ont pas pu être envoyés.',
552
+    'message_nouveaux_identifiants_ok' => 'Les nouveaux identifiants de connexion ont été envoyés à @email@.',
553
+    'module_fichiers_langues' => 'Fichiers de langue',
554 554
 
555
-	// N
556
-	'navigateur_pas_redirige' => 'Si votre navigateur n’est pas redirigé, cliquez ici pour continuer.',
557
-	'numero' => 'Numéro',
555
+    // N
556
+    'navigateur_pas_redirige' => 'Si votre navigateur n’est pas redirigé, cliquez ici pour continuer.',
557
+    'numero' => 'Numéro',
558 558
 
559
-	// O
560
-	'occurence' => 'Occurence',
561
-	'onglet_affacer_base' => 'Effacer la base',
562
-	'onglet_auteur' => 'L’auteur',
563
-	'onglet_contenu_site' => 'Contenu du site',
564
-	'onglet_evolution_visite_mod' => 'Évolution',
565
-	'onglet_fonctions_avances' => 'Fonctions avancées',
566
-	'onglet_informations_personnelles' => 'Informations personnelles',
567
-	'onglet_interactivite' => 'Interactivité',
568
-	'onglet_messagerie' => 'Messagerie',
569
-	'onglet_repartition_rubrique' => 'Répartition par rubriques',
570
-	'onglet_save_restaur_base' => 'Sauvegarder/restaurer la base',
571
-	'onglet_vider_cache' => 'Vider le cache',
559
+    // O
560
+    'occurence' => 'Occurence',
561
+    'onglet_affacer_base' => 'Effacer la base',
562
+    'onglet_auteur' => 'L’auteur',
563
+    'onglet_contenu_site' => 'Contenu du site',
564
+    'onglet_evolution_visite_mod' => 'Évolution',
565
+    'onglet_fonctions_avances' => 'Fonctions avancées',
566
+    'onglet_informations_personnelles' => 'Informations personnelles',
567
+    'onglet_interactivite' => 'Interactivité',
568
+    'onglet_messagerie' => 'Messagerie',
569
+    'onglet_repartition_rubrique' => 'Répartition par rubriques',
570
+    'onglet_save_restaur_base' => 'Sauvegarder/restaurer la base',
571
+    'onglet_vider_cache' => 'Vider le cache',
572 572
 
573
-	// P
574
-	'pass_choix_pass' => 'Choisis ton nouveau mot de passe :',
575
-	'pass_erreur' => 'Erreur',
576
-	'pass_erreur_acces_refuse' => '<b>Erreur :</b> tu n’as plus accès à ce site.',
577
-	'pass_erreur_code_inconnu' => '<b>Erreur :</b> ce code ne correspond à aucun des visiteurs ayant accès à ce site.',
578
-	'pass_erreur_non_enregistre' => '<b>Erreur :</b> l’adresse <tt>@email_oubli@</tt> n’est pas enregistrée sur ce site.',
579
-	'pass_erreur_non_valide' => '<b>Erreur :</b> cet email <tt>@email_oubli@</tt> n’est pas valide !',
580
-	'pass_erreur_probleme_technique' => '<b>Erreur :</b> à cause d’un problème technique, l’email ne peut pas être envoyé.',
581
-	'pass_espace_prive_bla' => 'L’espace privé de ce site est ouvert aux
573
+    // P
574
+    'pass_choix_pass' => 'Choisis ton nouveau mot de passe :',
575
+    'pass_erreur' => 'Erreur',
576
+    'pass_erreur_acces_refuse' => '<b>Erreur :</b> tu n’as plus accès à ce site.',
577
+    'pass_erreur_code_inconnu' => '<b>Erreur :</b> ce code ne correspond à aucun des visiteurs ayant accès à ce site.',
578
+    'pass_erreur_non_enregistre' => '<b>Erreur :</b> l’adresse <tt>@email_oubli@</tt> n’est pas enregistrée sur ce site.',
579
+    'pass_erreur_non_valide' => '<b>Erreur :</b> cet email <tt>@email_oubli@</tt> n’est pas valide !',
580
+    'pass_erreur_probleme_technique' => '<b>Erreur :</b> à cause d’un problème technique, l’email ne peut pas être envoyé.',
581
+    'pass_espace_prive_bla' => 'L’espace privé de ce site est ouvert aux
582 582
 		visiteurs, après inscription. Une fois enregistré,
583 583
 		tu pourras consulter les articles en cours de rédaction,
584 584
 		proposer des articles et participer à tous les forums.',
585
-	'pass_forum_bla' => 'Tu as demandé à intervenir sur un forum
585
+    'pass_forum_bla' => 'Tu as demandé à intervenir sur un forum
586 586
 		réservé aux visiteurs enregistrés.',
587
-	'pass_indiquez_cidessous' => 'Indique ci-dessous l’adresse email sous laquelle tu
587
+    'pass_indiquez_cidessous' => 'Indique ci-dessous l’adresse email sous laquelle tu
588 588
 			t’es précédemment enregistré. Tu
589 589
 			recevras un email t’indiquant la marche à suivre pour
590 590
 			récupérer ton accès.',
591
-	'pass_mail_passcookie' => '(ceci est un message automatique)
591
+    'pass_mail_passcookie' => '(ceci est un message automatique)
592 592
 Pour retrouver ton accès au site
593 593
 @nom_site_spip@ (@adresse_site@)
594 594
 Rends toi à l’adresse suivante :
@@ -599,145 +599,145 @@  discard block
 block discarded – undo
599 599
 et te reconnecter au site.
600 600
 
601 601
 ',
602
-	'pass_mot_oublie' => 'Mot de passe oublié',
603
-	'pass_nouveau_enregistre' => 'Ton nouveau mot de passe a été enregistré.',
604
-	'pass_nouveau_pass' => 'Nouveau mot de passe',
605
-	'pass_ok' => 'OK',
606
-	'pass_oubli_mot' => 'Oubli du mot de passe',
607
-	'pass_procedure_changer' => 'Pour changer ton mot de passe, merci d’indiquer l’adresse email associée à ton compte.',
608
-	'pass_quitter_fenetre' => 'Quitter cette fenêtre',
609
-	'pass_rappel_login' => 'Rappel : ton identifiant (login) est « @login@ ».',
610
-	'pass_recevoir_mail' => 'Un lien de réinitialisation de ton mot de passe t’a été envoyé sur ton adresse email (si celle-ci est valide).',
611
-	'pass_retour_public' => 'Retour sur le site public',
612
-	'pass_rien_a_faire_ici' => 'Rien à faire ici.',
613
-	'pass_vousinscrire' => 'T’inscrire sur ce site',
614
-	'precedent' => 'précédent',
615
-	'previsualisation' => 'Prévisualisation',
616
-	'previsualiser' => 'Prévisualiser',
602
+    'pass_mot_oublie' => 'Mot de passe oublié',
603
+    'pass_nouveau_enregistre' => 'Ton nouveau mot de passe a été enregistré.',
604
+    'pass_nouveau_pass' => 'Nouveau mot de passe',
605
+    'pass_ok' => 'OK',
606
+    'pass_oubli_mot' => 'Oubli du mot de passe',
607
+    'pass_procedure_changer' => 'Pour changer ton mot de passe, merci d’indiquer l’adresse email associée à ton compte.',
608
+    'pass_quitter_fenetre' => 'Quitter cette fenêtre',
609
+    'pass_rappel_login' => 'Rappel : ton identifiant (login) est « @login@ ».',
610
+    'pass_recevoir_mail' => 'Un lien de réinitialisation de ton mot de passe t’a été envoyé sur ton adresse email (si celle-ci est valide).',
611
+    'pass_retour_public' => 'Retour sur le site public',
612
+    'pass_rien_a_faire_ici' => 'Rien à faire ici.',
613
+    'pass_vousinscrire' => 'T’inscrire sur ce site',
614
+    'precedent' => 'précédent',
615
+    'previsualisation' => 'Prévisualisation',
616
+    'previsualiser' => 'Prévisualiser',
617 617
 
618
-	// R
619
-	'retour' => 'Retour',
618
+    // R
619
+    'retour' => 'Retour',
620 620
 
621
-	// S
622
-	'spip_conforme_dtd' => 'SPIP considère ce document comme conforme à son DOCTYPE :',
623
-	'squelette' => 'squelette',
624
-	'squelette_inclus_ligne' => 'squelette inclus, ligne',
625
-	'squelette_ligne' => 'squelette, ligne',
626
-	'stats_visites_et_popularite' => '@visites@ visites ; popularité : @popularite@',
627
-	'suivant' => 'suivant',
621
+    // S
622
+    'spip_conforme_dtd' => 'SPIP considère ce document comme conforme à son DOCTYPE :',
623
+    'squelette' => 'squelette',
624
+    'squelette_inclus_ligne' => 'squelette inclus, ligne',
625
+    'squelette_ligne' => 'squelette, ligne',
626
+    'stats_visites_et_popularite' => '@visites@ visites ; popularité : @popularite@',
627
+    'suivant' => 'suivant',
628 628
 
629
-	// T
630
-	'taille_go' => '@taille@ Go',
631
-	'taille_ko' => '@taille@ ko',
632
-	'taille_mo' => '@taille@ Mo',
633
-	'taille_octets' => '@taille@ octets',
634
-	'texte_actualite_site_1' => 'Quand tu seras familiarisé(e) avec l’interface, tu pourras cliquer sur « ',
635
-	'texte_actualite_site_2' => 'interface complète',
636
-	'texte_actualite_site_3' => ' » pour ouvrir plus de possibilités.',
637
-	'texte_creation_automatique_vignette' => 'La création automatique de vignettes de prévisualisation est activée sur ce site. Si tu installe à partir de ce formulaire des images au(x) format(s) @gd_formats@, elles seront accompagnées d’une vignette d’une taille maximale de @taille_preview@ pixels.',
638
-	'texte_documents_associes' => 'Les documents suivants sont associés à l’article,
629
+    // T
630
+    'taille_go' => '@taille@ Go',
631
+    'taille_ko' => '@taille@ ko',
632
+    'taille_mo' => '@taille@ Mo',
633
+    'taille_octets' => '@taille@ octets',
634
+    'texte_actualite_site_1' => 'Quand tu seras familiarisé(e) avec l’interface, tu pourras cliquer sur « ',
635
+    'texte_actualite_site_2' => 'interface complète',
636
+    'texte_actualite_site_3' => ' » pour ouvrir plus de possibilités.',
637
+    'texte_creation_automatique_vignette' => 'La création automatique de vignettes de prévisualisation est activée sur ce site. Si tu installe à partir de ce formulaire des images au(x) format(s) @gd_formats@, elles seront accompagnées d’une vignette d’une taille maximale de @taille_preview@ pixels.',
638
+    'texte_documents_associes' => 'Les documents suivants sont associés à l’article,
639 639
 				mais ils n’y ont pas été directement
640 640
 				insérés. Selon la mise en page du site public,
641 641
 				ils pourront apparaître sous forme de documents joints.',
642
-	'texte_erreur_mise_niveau_base' => 'Erreur de base de données lors de la mise à niveau.
642
+    'texte_erreur_mise_niveau_base' => 'Erreur de base de données lors de la mise à niveau.
643 643
   L’image <b>@fichier@</b> n’est pas passée (article @id_article@).
644 644
   Note bien cette référence, réessaye la mise à
645 645
   niveau, et enfin vérifie que les images apparaissent
646 646
   toujours dans les articles.',
647
-	'texte_erreur_visiteur' => 'Tu as tenté d’accéder à l’espace privé avec un login qui ne le permet pas.',
648
-	'texte_inc_auth_1' => 'Tu es identifié sous le
647
+    'texte_erreur_visiteur' => 'Tu as tenté d’accéder à l’espace privé avec un login qui ne le permet pas.',
648
+    'texte_inc_auth_1' => 'Tu es identifié sous le
649 649
   login <b>@auth_login@</b>, mais celui-ci n’existe pas/plus dans la base.
650 650
   Essaye de te',
651
-	'texte_inc_auth_2' => 'reconnecter',
652
-	'texte_inc_auth_3' => ', après avoir éventuellement quitté puis
651
+    'texte_inc_auth_2' => 'reconnecter',
652
+    'texte_inc_auth_3' => ', après avoir éventuellement quitté puis
653 653
 		redémarré ton navigateur.',
654
-	'texte_inc_config' => 'Les modifications effectuées dans ces pages influent notablement sur le
654
+    'texte_inc_config' => 'Les modifications effectuées dans ces pages influent notablement sur le
655 655
  fonctionnement de ton site. Nous te recommandons de ne pas y intervenir tant que tu n’es pas
656 656
  familier du fonctionnement du système SPIP. <br /><br /><b>Plus
657 657
  généralement, il est fortement conseillé
658 658
  de laisser la charge de ces pages au webmestre principal de ton site.</b>',
659
-	'texte_inc_meta_1' => 'Le système a rencontré une erreur lors de l’écriture du fichier <code>@fichier@</code>. En tant qu’administrateur du site,',
660
-	'texte_inc_meta_2' => 'vérifie les droits d’ecriture',
661
-	'texte_inc_meta_3' => 'sur le répertoire <code>@repertoire@</code>.',
662
-	'texte_statut_en_cours_redaction' => 'en cours de rédaction',
663
-	'texte_statut_poubelle' => 'à la poubelle',
664
-	'texte_statut_propose_evaluation' => 'proposé à l’évaluation',
665
-	'texte_statut_publie' => 'publié en ligne',
666
-	'texte_statut_refuse' => 'refusé',
667
-	'titre_ajouter_mot_cle' => 'AJOUTER UN MOT-CLÉ :',
668
-	'titre_cadre_raccourcis' => 'RACCOURCIS :',
669
-	'titre_changer_couleur_interface' => 'Changer la couleur de l’interface',
670
-	'titre_image_admin_article' => 'Tu peux administrer cet article',
671
-	'titre_image_administrateur' => 'Administrateur',
672
-	'titre_image_aide' => 'De l’aide sur cet élément',
673
-	'titre_image_auteur_supprime' => 'Auteur supprimé',
674
-	'titre_image_redacteur' => 'Rédacteur sans accès',
675
-	'titre_image_redacteur_02' => 'Rédacteur',
676
-	'titre_image_selecteur' => 'Afficher la liste',
677
-	'titre_image_visiteur' => 'Visiteur',
678
-	'titre_joindre_document' => 'JOINDRE UN DOCUMENT',
679
-	'titre_mots_cles' => 'MOTS-CLÉS',
680
-	'titre_probleme_technique' => 'Attention : un problème technique (serveur SQL) empêche l’accès à cette partie du site. Merci de ta compréhension.',
681
-	'titre_publier_document' => 'PUBLIER UN DOCUMENT DANS CETTE RUBRIQUE',
682
-	'titre_signatures_attente' => 'Signatures en attente de validation',
683
-	'titre_signatures_confirmees' => 'Signatures confirmées',
684
-	'titre_statistiques' => 'Statistiques du site',
685
-	'titre_titre_document' => 'Titre du document :',
686
-	'todo' => 'à venir',
687
-	'trad_definir_reference' => 'Choisir "@titre@" comme référence des traductions',
688
-	'trad_reference' => '(référence des traductions)',
659
+    'texte_inc_meta_1' => 'Le système a rencontré une erreur lors de l’écriture du fichier <code>@fichier@</code>. En tant qu’administrateur du site,',
660
+    'texte_inc_meta_2' => 'vérifie les droits d’ecriture',
661
+    'texte_inc_meta_3' => 'sur le répertoire <code>@repertoire@</code>.',
662
+    'texte_statut_en_cours_redaction' => 'en cours de rédaction',
663
+    'texte_statut_poubelle' => 'à la poubelle',
664
+    'texte_statut_propose_evaluation' => 'proposé à l’évaluation',
665
+    'texte_statut_publie' => 'publié en ligne',
666
+    'texte_statut_refuse' => 'refusé',
667
+    'titre_ajouter_mot_cle' => 'AJOUTER UN MOT-CLÉ :',
668
+    'titre_cadre_raccourcis' => 'RACCOURCIS :',
669
+    'titre_changer_couleur_interface' => 'Changer la couleur de l’interface',
670
+    'titre_image_admin_article' => 'Tu peux administrer cet article',
671
+    'titre_image_administrateur' => 'Administrateur',
672
+    'titre_image_aide' => 'De l’aide sur cet élément',
673
+    'titre_image_auteur_supprime' => 'Auteur supprimé',
674
+    'titre_image_redacteur' => 'Rédacteur sans accès',
675
+    'titre_image_redacteur_02' => 'Rédacteur',
676
+    'titre_image_selecteur' => 'Afficher la liste',
677
+    'titre_image_visiteur' => 'Visiteur',
678
+    'titre_joindre_document' => 'JOINDRE UN DOCUMENT',
679
+    'titre_mots_cles' => 'MOTS-CLÉS',
680
+    'titre_probleme_technique' => 'Attention : un problème technique (serveur SQL) empêche l’accès à cette partie du site. Merci de ta compréhension.',
681
+    'titre_publier_document' => 'PUBLIER UN DOCUMENT DANS CETTE RUBRIQUE',
682
+    'titre_signatures_attente' => 'Signatures en attente de validation',
683
+    'titre_signatures_confirmees' => 'Signatures confirmées',
684
+    'titre_statistiques' => 'Statistiques du site',
685
+    'titre_titre_document' => 'Titre du document :',
686
+    'todo' => 'à venir',
687
+    'trad_definir_reference' => 'Choisir "@titre@" comme référence des traductions',
688
+    'trad_reference' => '(référence des traductions)',
689 689
 
690
-	// U
691
-	'upload_limit' => 'Ce fichier est trop gros pour le serveur ; la taille maximum autorisée en <i>upload</i> est de @max@.',
690
+    // U
691
+    'upload_limit' => 'Ce fichier est trop gros pour le serveur ; la taille maximum autorisée en <i>upload</i> est de @max@.',
692 692
 
693
-	// Z
694
-	'zbug_balise_b_aval' => ' : balise B en aval',
695
-	'zbug_balise_inexistante' => 'Balise @balise@ mal déclarée pour @from@',
696
-	'zbug_balise_sans_argument' => 'Argument manquant dans la balise @balise@',
697
-	'zbug_boucle' => 'boucle',
698
-	'zbug_boucle_recursive_undef' => 'boucle récursive non définie',
699
-	'zbug_calcul' => 'calcul',
700
-	'zbug_champ_hors_boucle' => 'Champ @champ@ hors boucle',
701
-	'zbug_champ_hors_critere' => 'Champ @champ@ hors critère @critere@',
702
-	'zbug_champ_hors_motif' => 'Champ @champ@ hors d’un contexte @motif@',
703
-	'zbug_code' => 'code',
704
-	'zbug_critere_inconnu' => 'critère inconnu @critere@',
705
-	'zbug_critere_sur_table_sans_cle_primaire' => '{@critere@} sur une table sans clef primaire atomique',
706
-	'zbug_distant_interdit' => 'externe interdit',
707
-	'zbug_doublon_table_sans_cle_primaire' => 'doublons sur une table sans clef primaire atomique',
708
-	'zbug_doublon_table_sans_index' => 'doublons sur une table sans index',
709
-	'zbug_erreur_boucle_double' => 'BOUCLE@id@ : double définition',
710
-	'zbug_erreur_boucle_fermant' => 'BOUCLE@id@ : tag fermant manquant',
711
-	'zbug_erreur_boucle_syntaxe' => 'Syntaxe boucle incorrecte',
712
-	'zbug_erreur_compilation' => 'Erreur de compilation',
713
-	'zbug_erreur_execution_page' => 'erreur d’exécution de la page',
714
-	'zbug_erreur_filtre' => 'Erreur : filtre <b>« @filtre@ »</b> non défini',
715
-	'zbug_erreur_meme_parent' => '{meme_parent} ne s’applique qu’aux boucles (FORUMS) ou (RUBRIQUES)',
716
-	'zbug_erreur_squelette' => 'Erreur(s) dans le squelette',
717
-	'zbug_hors_compilation' => 'Hors Compilation',
718
-	'zbug_info_erreur_squelette' => 'Erreur sur le site',
719
-	'zbug_inversion_ordre_inexistant' => 'inversion d’un ordre inexistant',
720
-	'zbug_pagination_sans_critere' => '#PAGINATION sans critère {pagination} ou employé dans une boucle récursive',
721
-	'zbug_parametres_inclus_incorrects' => 'Paramètre d’inclusion incorrect : @param@',
722
-	'zbug_profile' => 'Temps de calcul : @time@',
723
-	'zbug_resultat' => 'résultat',
724
-	'zbug_serveur_indefini' => 'serveur SQL indéfini',
725
-	'zbug_statistiques' => 'Statistiques des requêtes SQL classées par durée',
726
-	'zbug_table_inconnue' => 'Table SQL « @table@ » inconnue',
727
-	'zxml_connus_attributs' => 'attributs connus',
728
-	'zxml_de' => 'de',
729
-	'zxml_inconnu_attribut' => 'attribut inconnu',
730
-	'zxml_inconnu_balise' => 'balise inconnue',
731
-	'zxml_inconnu_entite' => 'entité inconnue',
732
-	'zxml_inconnu_id' => 'ID inconnu',
733
-	'zxml_mais_de' => 'mais de',
734
-	'zxml_non_conforme' => 'n’est pas conforme au motif',
735
-	'zxml_non_fils' => 'n’est pas un fils de',
736
-	'zxml_nonvide_balise' => 'balise non vide',
737
-	'zxml_obligatoire_attribut' => 'attribut obligatoire mais absent dans',
738
-	'zxml_succession_fils_incorrecte' => 'succession des fils incorrecte',
739
-	'zxml_survoler' => 'survoler pour voir les corrects',
740
-	'zxml_valeur_attribut' => 'valeur de l’attribut',
741
-	'zxml_vide_balise' => 'balise vide',
742
-	'zxml_vu' => 'vu auparavant'
693
+    // Z
694
+    'zbug_balise_b_aval' => ' : balise B en aval',
695
+    'zbug_balise_inexistante' => 'Balise @balise@ mal déclarée pour @from@',
696
+    'zbug_balise_sans_argument' => 'Argument manquant dans la balise @balise@',
697
+    'zbug_boucle' => 'boucle',
698
+    'zbug_boucle_recursive_undef' => 'boucle récursive non définie',
699
+    'zbug_calcul' => 'calcul',
700
+    'zbug_champ_hors_boucle' => 'Champ @champ@ hors boucle',
701
+    'zbug_champ_hors_critere' => 'Champ @champ@ hors critère @critere@',
702
+    'zbug_champ_hors_motif' => 'Champ @champ@ hors d’un contexte @motif@',
703
+    'zbug_code' => 'code',
704
+    'zbug_critere_inconnu' => 'critère inconnu @critere@',
705
+    'zbug_critere_sur_table_sans_cle_primaire' => '{@critere@} sur une table sans clef primaire atomique',
706
+    'zbug_distant_interdit' => 'externe interdit',
707
+    'zbug_doublon_table_sans_cle_primaire' => 'doublons sur une table sans clef primaire atomique',
708
+    'zbug_doublon_table_sans_index' => 'doublons sur une table sans index',
709
+    'zbug_erreur_boucle_double' => 'BOUCLE@id@ : double définition',
710
+    'zbug_erreur_boucle_fermant' => 'BOUCLE@id@ : tag fermant manquant',
711
+    'zbug_erreur_boucle_syntaxe' => 'Syntaxe boucle incorrecte',
712
+    'zbug_erreur_compilation' => 'Erreur de compilation',
713
+    'zbug_erreur_execution_page' => 'erreur d’exécution de la page',
714
+    'zbug_erreur_filtre' => 'Erreur : filtre <b>« @filtre@ »</b> non défini',
715
+    'zbug_erreur_meme_parent' => '{meme_parent} ne s’applique qu’aux boucles (FORUMS) ou (RUBRIQUES)',
716
+    'zbug_erreur_squelette' => 'Erreur(s) dans le squelette',
717
+    'zbug_hors_compilation' => 'Hors Compilation',
718
+    'zbug_info_erreur_squelette' => 'Erreur sur le site',
719
+    'zbug_inversion_ordre_inexistant' => 'inversion d’un ordre inexistant',
720
+    'zbug_pagination_sans_critere' => '#PAGINATION sans critère {pagination} ou employé dans une boucle récursive',
721
+    'zbug_parametres_inclus_incorrects' => 'Paramètre d’inclusion incorrect : @param@',
722
+    'zbug_profile' => 'Temps de calcul : @time@',
723
+    'zbug_resultat' => 'résultat',
724
+    'zbug_serveur_indefini' => 'serveur SQL indéfini',
725
+    'zbug_statistiques' => 'Statistiques des requêtes SQL classées par durée',
726
+    'zbug_table_inconnue' => 'Table SQL « @table@ » inconnue',
727
+    'zxml_connus_attributs' => 'attributs connus',
728
+    'zxml_de' => 'de',
729
+    'zxml_inconnu_attribut' => 'attribut inconnu',
730
+    'zxml_inconnu_balise' => 'balise inconnue',
731
+    'zxml_inconnu_entite' => 'entité inconnue',
732
+    'zxml_inconnu_id' => 'ID inconnu',
733
+    'zxml_mais_de' => 'mais de',
734
+    'zxml_non_conforme' => 'n’est pas conforme au motif',
735
+    'zxml_non_fils' => 'n’est pas un fils de',
736
+    'zxml_nonvide_balise' => 'balise non vide',
737
+    'zxml_obligatoire_attribut' => 'attribut obligatoire mais absent dans',
738
+    'zxml_succession_fils_incorrecte' => 'succession des fils incorrecte',
739
+    'zxml_survoler' => 'survoler pour voir les corrects',
740
+    'zxml_valeur_attribut' => 'valeur de l’attribut',
741
+    'zxml_vide_balise' => 'balise vide',
742
+    'zxml_vu' => 'vu auparavant'
743 743
 );
Please login to merge, or discard this patch.
ecrire/lang/ecrire_fr_tu.php 1 patch
Indentation   +833 added lines, -833 removed lines patch added patch discarded remove patch
@@ -4,429 +4,429 @@  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
-	'activer_plugin' => 'Activer le plugin',
14
-	'affichage' => 'Affichage',
15
-	'aide_non_disponible' => 'Cette partie de l’aide en ligne n’est pas encore disponible dans cette langue.',
16
-	'annuler_recherche' => 'Annuler la recherche',
17
-	'auteur' => 'Auteur :',
18
-	'avis_acces_interdit' => 'Accès interdit.',
19
-	'avis_acces_interdit_prive' => 'Tu n’as pas le droit d’accéder à la page <b>@exec@</b>.',
20
-	'avis_article_modifie' => 'Attention, @nom_auteur_modif@ a travaillé sur cet article il y a @date_diff@ minutes',
21
-	'avis_aucun_resultat' => 'Aucun résultat.',
22
-	'avis_base_inaccessible' => 'Impossible de se connecter à la base de données @base@.',
23
-	'avis_chemin_invalide_1' => 'Le chemin que tu as choisi',
24
-	'avis_chemin_invalide_2' => 'ne semble pas valide. Retourne à la page précédente et vérifie les informations fournies.',
25
-	'avis_connexion_echec_1' => 'La connexion  à la base de données a échoué.',
26
-	'avis_connexion_echec_2' => 'Reviens à la page précédente, et vérifie les informations que tu as fournies.',
27
-	'avis_connexion_echec_3' => '<b>N.B.</b> Sur de nombreux serveurs, tu dois <b>demander</b> l’activation de ton accès à la base de données avant de pouvoir l’utiliser. Si tu ne peux pas te connecter, vérifie que tu as effectué cette démarche.',
28
-	'avis_connexion_erreur_creer_base' => 'La base de données n’a pas pu être créée.',
29
-	'avis_connexion_erreur_nom_base' => 'Le nom de la base ne peut contenir que des lettres, des chiffres et des tirets',
30
-	'avis_connexion_ldap_echec_1' => 'La connexion au serveur LDAP a échoué.',
31
-	'avis_connexion_ldap_echec_2' => 'Reviens à la page précédente, et vérifie les informations que tu as fournies.',
32
-	'avis_connexion_ldap_echec_3' => 'Alternativement, n’utilise pas le support LDAP pour importer des utilisateurs.',
33
-	'avis_deplacement_rubrique' => 'Attention ! Cette rubrique contient @contient_breves@ brève@scb@ : si tu la déplaces, coche cette case de confirmation.',
34
-	'avis_erreur_connexion_mysql' => 'Erreur de connexion SQL',
35
-	'avis_espace_interdit' => '<b>Espace interdit</b> <div>SPIP est déjà installé.</div>',
36
-	'avis_lecture_noms_bases_1' => 'Le programme d’installation n’a pas pu lire les noms des bases de données installées.',
37
-	'avis_lecture_noms_bases_2' => 'Soit aucune base n’est disponible, soit la fonction permettant de lister les bases a été désactivée
12
+    // A
13
+    'activer_plugin' => 'Activer le plugin',
14
+    'affichage' => 'Affichage',
15
+    'aide_non_disponible' => 'Cette partie de l’aide en ligne n’est pas encore disponible dans cette langue.',
16
+    'annuler_recherche' => 'Annuler la recherche',
17
+    'auteur' => 'Auteur :',
18
+    'avis_acces_interdit' => 'Accès interdit.',
19
+    'avis_acces_interdit_prive' => 'Tu n’as pas le droit d’accéder à la page <b>@exec@</b>.',
20
+    'avis_article_modifie' => 'Attention, @nom_auteur_modif@ a travaillé sur cet article il y a @date_diff@ minutes',
21
+    'avis_aucun_resultat' => 'Aucun résultat.',
22
+    'avis_base_inaccessible' => 'Impossible de se connecter à la base de données @base@.',
23
+    'avis_chemin_invalide_1' => 'Le chemin que tu as choisi',
24
+    'avis_chemin_invalide_2' => 'ne semble pas valide. Retourne à la page précédente et vérifie les informations fournies.',
25
+    'avis_connexion_echec_1' => 'La connexion  à la base de données a échoué.',
26
+    'avis_connexion_echec_2' => 'Reviens à la page précédente, et vérifie les informations que tu as fournies.',
27
+    'avis_connexion_echec_3' => '<b>N.B.</b> Sur de nombreux serveurs, tu dois <b>demander</b> l’activation de ton accès à la base de données avant de pouvoir l’utiliser. Si tu ne peux pas te connecter, vérifie que tu as effectué cette démarche.',
28
+    'avis_connexion_erreur_creer_base' => 'La base de données n’a pas pu être créée.',
29
+    'avis_connexion_erreur_nom_base' => 'Le nom de la base ne peut contenir que des lettres, des chiffres et des tirets',
30
+    'avis_connexion_ldap_echec_1' => 'La connexion au serveur LDAP a échoué.',
31
+    'avis_connexion_ldap_echec_2' => 'Reviens à la page précédente, et vérifie les informations que tu as fournies.',
32
+    'avis_connexion_ldap_echec_3' => 'Alternativement, n’utilise pas le support LDAP pour importer des utilisateurs.',
33
+    'avis_deplacement_rubrique' => 'Attention ! Cette rubrique contient @contient_breves@ brève@scb@ : si tu la déplaces, coche cette case de confirmation.',
34
+    'avis_erreur_connexion_mysql' => 'Erreur de connexion SQL',
35
+    'avis_espace_interdit' => '<b>Espace interdit</b> <div>SPIP est déjà installé.</div>',
36
+    'avis_lecture_noms_bases_1' => 'Le programme d’installation n’a pas pu lire les noms des bases de données installées.',
37
+    'avis_lecture_noms_bases_2' => 'Soit aucune base n’est disponible, soit la fonction permettant de lister les bases a été désactivée
38 38
 		pour des raisons de sécurité (ce qui est le cas chez de nombreux hébergeurs).',
39
-	'avis_lecture_noms_bases_3' => 'Dans la seconde alternative, il est probable qu’une base portant ton nom de login soit utilisable :',
40
-	'avis_non_acces_page' => 'Tu n’as pas accès à cette page.',
41
-	'avis_operation_echec' => 'L’opération a échoué.',
42
-	'avis_operation_impossible' => 'Opération impossible',
43
-	'avis_suppression_base' => 'ATTENTION, la suppression des données est irréversible',
39
+    'avis_lecture_noms_bases_3' => 'Dans la seconde alternative, il est probable qu’une base portant ton nom de login soit utilisable :',
40
+    'avis_non_acces_page' => 'Tu n’as pas accès à cette page.',
41
+    'avis_operation_echec' => 'L’opération a échoué.',
42
+    'avis_operation_impossible' => 'Opération impossible',
43
+    'avis_suppression_base' => 'ATTENTION, la suppression des données est irréversible',
44 44
 
45
-	// B
46
-	'bouton_acces_ldap' => 'Ajouter l’accès à LDAP',
47
-	'bouton_ajouter' => 'Ajouter',
48
-	'bouton_annuler' => 'Annuler',
49
-	'bouton_cache_activer' => 'Réactiver le cache',
50
-	'bouton_cache_desactiver' => 'Désactiver temporairement le cache',
51
-	'bouton_demande_publication' => 'Demander la publication de cet article',
52
-	'bouton_desactive_tout' => 'Tout désactiver',
53
-	'bouton_desinstaller' => 'Désinstaller',
54
-	'bouton_effacer_tout' => 'Effacer TOUT',
55
-	'bouton_envoyer_message' => 'Message définitif : envoyer',
56
-	'bouton_fermer' => 'Fermer',
57
-	'bouton_mettre_a_jour_base' => 'Mettre à jour la base de données',
58
-	'bouton_modifier' => 'Modifier',
59
-	'bouton_radio_afficher' => 'Afficher',
60
-	'bouton_radio_apparaitre_liste_redacteurs_connectes' => 'Apparaître dans la liste des rédacteurs connectés',
61
-	'bouton_radio_envoi_annonces_adresse' => 'Envoyer les annonces à l’adresse :',
62
-	'bouton_radio_envoi_liste_nouveautes' => 'Envoyer la liste des nouveautés',
63
-	'bouton_radio_non_apparaitre_liste_redacteurs_connectes' => 'Ne pas apparaître dans la liste des rédacteurs',
64
-	'bouton_radio_non_envoi_annonces_editoriales' => 'Ne pas envoyer d’annonces éditoriales',
65
-	'bouton_redirection' => 'REDIRECTION',
66
-	'bouton_reinitialiser_aux_valeurs_par_defaut' => 'Réinitialiser aux valeurs par défaut',
67
-	'bouton_relancer_installation' => 'Relancer l’installation',
68
-	'bouton_reset_password' => 'Générer un nouveau mot de passe et l’envoyer par email',
69
-	'bouton_suivant' => 'Suivant',
70
-	'bouton_tenter_recuperation' => 'Tenter une réparation',
71
-	'bouton_test_proxy' => 'Essayer le proxy',
72
-	'bouton_vider_cache' => 'Vider le cache',
45
+    // B
46
+    'bouton_acces_ldap' => 'Ajouter l’accès à LDAP',
47
+    'bouton_ajouter' => 'Ajouter',
48
+    'bouton_annuler' => 'Annuler',
49
+    'bouton_cache_activer' => 'Réactiver le cache',
50
+    'bouton_cache_desactiver' => 'Désactiver temporairement le cache',
51
+    'bouton_demande_publication' => 'Demander la publication de cet article',
52
+    'bouton_desactive_tout' => 'Tout désactiver',
53
+    'bouton_desinstaller' => 'Désinstaller',
54
+    'bouton_effacer_tout' => 'Effacer TOUT',
55
+    'bouton_envoyer_message' => 'Message définitif : envoyer',
56
+    'bouton_fermer' => 'Fermer',
57
+    'bouton_mettre_a_jour_base' => 'Mettre à jour la base de données',
58
+    'bouton_modifier' => 'Modifier',
59
+    'bouton_radio_afficher' => 'Afficher',
60
+    'bouton_radio_apparaitre_liste_redacteurs_connectes' => 'Apparaître dans la liste des rédacteurs connectés',
61
+    'bouton_radio_envoi_annonces_adresse' => 'Envoyer les annonces à l’adresse :',
62
+    'bouton_radio_envoi_liste_nouveautes' => 'Envoyer la liste des nouveautés',
63
+    'bouton_radio_non_apparaitre_liste_redacteurs_connectes' => 'Ne pas apparaître dans la liste des rédacteurs',
64
+    'bouton_radio_non_envoi_annonces_editoriales' => 'Ne pas envoyer d’annonces éditoriales',
65
+    'bouton_redirection' => 'REDIRECTION',
66
+    'bouton_reinitialiser_aux_valeurs_par_defaut' => 'Réinitialiser aux valeurs par défaut',
67
+    'bouton_relancer_installation' => 'Relancer l’installation',
68
+    'bouton_reset_password' => 'Générer un nouveau mot de passe et l’envoyer par email',
69
+    'bouton_suivant' => 'Suivant',
70
+    'bouton_tenter_recuperation' => 'Tenter une réparation',
71
+    'bouton_test_proxy' => 'Essayer le proxy',
72
+    'bouton_vider_cache' => 'Vider le cache',
73 73
 
74
-	// C
75
-	'cache_modifiable_webmestre' => 'Ce paramètre est modifiable par le webmestre du site.',
76
-	'calendrier_synchro' => 'Si tu utilises un logiciel d’agenda compatible <b>iCal</b>, tu peux le synchroniser avec les informations de ce site.',
77
-	'config_activer_champs' => 'Activer les champs suivants',
78
-	'config_choix_base_sup' => 'indiquer une base sur ce serveur',
79
-	'config_erreur_base_sup' => 'SPIP n’a pas accès à la liste des bases accessibles',
80
-	'config_info_base_sup' => 'Si tu aa d’autres bases de données à interroger à travers SPIP, avec son serveur SQL ou avec un autre, le formulaire ci-dessous, te permet de les déclarer. Si tu laisses certains champs vides, les identifiants de connexion à la base principale seront utilisés.',
81
-	'config_info_base_sup_disponibles' => 'Bases supplémentaires déjà interrogeables :',
82
-	'config_info_enregistree' => 'La nouvelle configuration a été enregistrée',
83
-	'config_info_logos' => 'Chaque élément du site peut avoir un logo, ainsi qu’un « logo de survol »',
84
-	'config_info_logos_utiliser' => 'Utiliser les logos',
85
-	'config_info_logos_utiliser_non' => 'Ne pas utiliser les logos',
86
-	'config_info_logos_utiliser_survol' => 'Utiliser les logos de survol',
87
-	'config_info_logos_utiliser_survol_non' => 'Ne pas utiliser les logos de survol',
88
-	'config_info_redirection' => 'En activant cette option, tu pourras créer des articles virtuels, simples références d’articles publiés sur d’autres sites ou hors de SPIP.',
89
-	'config_redirection' => 'Articles virtuels',
90
-	'config_titre_base_sup' => 'Déclaration d’une base supplémentaire',
91
-	'config_titre_base_sup_choix' => 'Choisis une base supplémentaire',
92
-	'connexion_ldap' => 'Connexion :',
93
-	'creer_et_associer_un_auteur' => 'Créer et associer un auteur',
74
+    // C
75
+    'cache_modifiable_webmestre' => 'Ce paramètre est modifiable par le webmestre du site.',
76
+    'calendrier_synchro' => 'Si tu utilises un logiciel d’agenda compatible <b>iCal</b>, tu peux le synchroniser avec les informations de ce site.',
77
+    'config_activer_champs' => 'Activer les champs suivants',
78
+    'config_choix_base_sup' => 'indiquer une base sur ce serveur',
79
+    'config_erreur_base_sup' => 'SPIP n’a pas accès à la liste des bases accessibles',
80
+    'config_info_base_sup' => 'Si tu aa d’autres bases de données à interroger à travers SPIP, avec son serveur SQL ou avec un autre, le formulaire ci-dessous, te permet de les déclarer. Si tu laisses certains champs vides, les identifiants de connexion à la base principale seront utilisés.',
81
+    'config_info_base_sup_disponibles' => 'Bases supplémentaires déjà interrogeables :',
82
+    'config_info_enregistree' => 'La nouvelle configuration a été enregistrée',
83
+    'config_info_logos' => 'Chaque élément du site peut avoir un logo, ainsi qu’un « logo de survol »',
84
+    'config_info_logos_utiliser' => 'Utiliser les logos',
85
+    'config_info_logos_utiliser_non' => 'Ne pas utiliser les logos',
86
+    'config_info_logos_utiliser_survol' => 'Utiliser les logos de survol',
87
+    'config_info_logos_utiliser_survol_non' => 'Ne pas utiliser les logos de survol',
88
+    'config_info_redirection' => 'En activant cette option, tu pourras créer des articles virtuels, simples références d’articles publiés sur d’autres sites ou hors de SPIP.',
89
+    'config_redirection' => 'Articles virtuels',
90
+    'config_titre_base_sup' => 'Déclaration d’une base supplémentaire',
91
+    'config_titre_base_sup_choix' => 'Choisis une base supplémentaire',
92
+    'connexion_ldap' => 'Connexion :',
93
+    'creer_et_associer_un_auteur' => 'Créer et associer un auteur',
94 94
 
95
-	// D
96
-	'date_mot_heures' => 'heures',
95
+    // D
96
+    'date_mot_heures' => 'heures',
97 97
 
98
-	// E
99
-	'ecran_securite' => ' + écran de sécurité @version@',
100
-	'email' => 'email',
101
-	'email_2' => 'email :',
102
-	'en_savoir_plus' => 'En savoir plus',
103
-	'entree_adresse_annuaire' => 'Adresse de l’annuaire',
104
-	'entree_adresse_email' => 'Ton adresse email',
105
-	'entree_adresse_email_2' => 'Adresse email',
106
-	'entree_base_donnee_1' => 'Adresse de la base de données',
107
-	'entree_base_donnee_2' => '(Souvent cette adresse correspond à celle de ton site, parfois elle correspond à la mention « localhost », parfois elle est laissée totalement vide.)',
108
-	'entree_biographie' => 'Courte biographie en quelques mots.',
109
-	'entree_chemin_acces' => '<b>Entrer</b> le chemin d’accès :',
110
-	'entree_cle_pgp' => 'Ta clé PGP',
111
-	'entree_cle_pgp_2' => 'Clé PGP',
112
-	'entree_contenu_rubrique' => '(Contenu de la rubrique en quelques mots.)',
113
-	'entree_identifiants_connexion' => 'Tes identifiants de connexion...',
114
-	'entree_identifiants_connexion_2' => 'Identifiants de connexion',
115
-	'entree_informations_connexion_ldap' => 'Entre dans ce formulaire les informations de connexion à ton annuaire LDAP.
98
+    // E
99
+    'ecran_securite' => ' + écran de sécurité @version@',
100
+    'email' => 'email',
101
+    'email_2' => 'email :',
102
+    'en_savoir_plus' => 'En savoir plus',
103
+    'entree_adresse_annuaire' => 'Adresse de l’annuaire',
104
+    'entree_adresse_email' => 'Ton adresse email',
105
+    'entree_adresse_email_2' => 'Adresse email',
106
+    'entree_base_donnee_1' => 'Adresse de la base de données',
107
+    'entree_base_donnee_2' => '(Souvent cette adresse correspond à celle de ton site, parfois elle correspond à la mention « localhost », parfois elle est laissée totalement vide.)',
108
+    'entree_biographie' => 'Courte biographie en quelques mots.',
109
+    'entree_chemin_acces' => '<b>Entrer</b> le chemin d’accès :',
110
+    'entree_cle_pgp' => 'Ta clé PGP',
111
+    'entree_cle_pgp_2' => 'Clé PGP',
112
+    'entree_contenu_rubrique' => '(Contenu de la rubrique en quelques mots.)',
113
+    'entree_identifiants_connexion' => 'Tes identifiants de connexion...',
114
+    'entree_identifiants_connexion_2' => 'Identifiants de connexion',
115
+    'entree_informations_connexion_ldap' => 'Entre dans ce formulaire les informations de connexion à ton annuaire LDAP.
116 116
 	Ces informations doivent pouvoir t’être fournies par l’administrateur du système,
117 117
 	ou du réseau.',
118
-	'entree_infos_perso' => 'Qui es-tu ?',
119
-	'entree_infos_perso_2' => 'Qui est l’auteur ?',
120
-	'entree_interieur_rubrique' => 'À l’intérieur de la rubrique :',
121
-	'entree_liens_sites' => '<b>Lien hypertexte</b> (référence, site à visiter...)',
122
-	'entree_login' => 'Ton login',
123
-	'entree_login_connexion_1' => 'Le login de connexion',
124
-	'entree_login_connexion_2' => '(Correspond parfois à ton login d’accès au FTP ; parfois laissé vide)',
125
-	'entree_mot_passe' => 'Ton mot de passe',
126
-	'entree_mot_passe_1' => 'Le mot de passe de connexion',
127
-	'entree_mot_passe_2' => '(Correspond parfois à ton mot de passe pour le FTP ; parfois laissé vide)',
128
-	'entree_nom_fichier' => 'Entre le nom du fichier @texte_compresse@ :',
129
-	'entree_nom_pseudo' => 'Ton nom ou ton pseudo',
130
-	'entree_nom_pseudo_1' => '(Ton nom ou ton pseudo)',
131
-	'entree_nom_pseudo_2' => 'Nom ou pseudo',
132
-	'entree_nom_site' => 'Le nom de ton site',
133
-	'entree_nom_site_2' => 'Nom du site de l’auteur',
134
-	'entree_nouveau_passe' => 'Nouveau mot de passe',
135
-	'entree_passe_ldap' => 'Mot de passe',
136
-	'entree_port_annuaire' => 'Le numéro de port de l’annuaire',
137
-	'entree_signature' => 'Signature',
138
-	'entree_titre_obligatoire' => '<b>Titre</b> [Obligatoire]<br />',
139
-	'entree_url' => 'L’adresse (URL) de ton site',
140
-	'entree_url_2' => 'Adresse (URL) du site',
141
-	'erreur_connect_deja_existant' => 'Un serveur existe déjà avec ce nom',
142
-	'erreur_contenu_suspect' => 'Texte échappé',
143
-	'erreur_email_deja_existant' => 'Cette adresse email est déjà enregistrée.',
144
-	'erreur_nom_connect_incorrect' => 'Ce nom de serveur n’est pas autorisé',
145
-	'erreur_plugin_attribut_balise_manquant' => 'Attribut @attribut@ manquant dans la balise @balise@.',
146
-	'erreur_plugin_desinstalation_echouee' => 'La désinstallation du plugin a échoué. Tu peux néanmoins le désactiver.',
147
-	'erreur_plugin_fichier_absent' => 'Fichier absent',
148
-	'erreur_plugin_fichier_def_absent' => 'Fichier de définition absent',
149
-	'erreur_plugin_nom_fonction_interdit' => 'Nom de fonction interdit',
150
-	'erreur_plugin_nom_manquant' => 'Nom du plugin manquant',
151
-	'erreur_plugin_prefix_manquant' => 'Espace de nommage du plugin non défini',
152
-	'erreur_plugin_tag_plugin_absent' => '&lt;plugin&gt; manquant dans le fichier de définition',
153
-	'erreur_plugin_version_manquant' => 'Version du plugin manquante',
118
+    'entree_infos_perso' => 'Qui es-tu ?',
119
+    'entree_infos_perso_2' => 'Qui est l’auteur ?',
120
+    'entree_interieur_rubrique' => 'À l’intérieur de la rubrique :',
121
+    'entree_liens_sites' => '<b>Lien hypertexte</b> (référence, site à visiter...)',
122
+    'entree_login' => 'Ton login',
123
+    'entree_login_connexion_1' => 'Le login de connexion',
124
+    'entree_login_connexion_2' => '(Correspond parfois à ton login d’accès au FTP ; parfois laissé vide)',
125
+    'entree_mot_passe' => 'Ton mot de passe',
126
+    'entree_mot_passe_1' => 'Le mot de passe de connexion',
127
+    'entree_mot_passe_2' => '(Correspond parfois à ton mot de passe pour le FTP ; parfois laissé vide)',
128
+    'entree_nom_fichier' => 'Entre le nom du fichier @texte_compresse@ :',
129
+    'entree_nom_pseudo' => 'Ton nom ou ton pseudo',
130
+    'entree_nom_pseudo_1' => '(Ton nom ou ton pseudo)',
131
+    'entree_nom_pseudo_2' => 'Nom ou pseudo',
132
+    'entree_nom_site' => 'Le nom de ton site',
133
+    'entree_nom_site_2' => 'Nom du site de l’auteur',
134
+    'entree_nouveau_passe' => 'Nouveau mot de passe',
135
+    'entree_passe_ldap' => 'Mot de passe',
136
+    'entree_port_annuaire' => 'Le numéro de port de l’annuaire',
137
+    'entree_signature' => 'Signature',
138
+    'entree_titre_obligatoire' => '<b>Titre</b> [Obligatoire]<br />',
139
+    'entree_url' => 'L’adresse (URL) de ton site',
140
+    'entree_url_2' => 'Adresse (URL) du site',
141
+    'erreur_connect_deja_existant' => 'Un serveur existe déjà avec ce nom',
142
+    'erreur_contenu_suspect' => 'Texte échappé',
143
+    'erreur_email_deja_existant' => 'Cette adresse email est déjà enregistrée.',
144
+    'erreur_nom_connect_incorrect' => 'Ce nom de serveur n’est pas autorisé',
145
+    'erreur_plugin_attribut_balise_manquant' => 'Attribut @attribut@ manquant dans la balise @balise@.',
146
+    'erreur_plugin_desinstalation_echouee' => 'La désinstallation du plugin a échoué. Tu peux néanmoins le désactiver.',
147
+    'erreur_plugin_fichier_absent' => 'Fichier absent',
148
+    'erreur_plugin_fichier_def_absent' => 'Fichier de définition absent',
149
+    'erreur_plugin_nom_fonction_interdit' => 'Nom de fonction interdit',
150
+    'erreur_plugin_nom_manquant' => 'Nom du plugin manquant',
151
+    'erreur_plugin_prefix_manquant' => 'Espace de nommage du plugin non défini',
152
+    'erreur_plugin_tag_plugin_absent' => '&lt;plugin&gt; manquant dans le fichier de définition',
153
+    'erreur_plugin_version_manquant' => 'Version du plugin manquante',
154 154
 
155
-	// H
156
-	'htaccess_a_simuler' => 'Avertissement : la configuration de ton serveur HTTP ne tient pas compte des fichiers @htaccess@. Pour pouvoir assurer une bonne sécurité, il faut que tu modifies cette configuration sur ce point, ou bien que les constantes @constantes@ (définissables dans le fichier mes_options.php) aient comme valeur des répertoires en dehors de @document_root@.',
157
-	'htaccess_inoperant' => 'htaccess inopérant',
155
+    // H
156
+    'htaccess_a_simuler' => 'Avertissement : la configuration de ton serveur HTTP ne tient pas compte des fichiers @htaccess@. Pour pouvoir assurer une bonne sécurité, il faut que tu modifies cette configuration sur ce point, ou bien que les constantes @constantes@ (définissables dans le fichier mes_options.php) aient comme valeur des répertoires en dehors de @document_root@.',
157
+    'htaccess_inoperant' => 'htaccess inopérant',
158 158
 
159
-	// I
160
-	'ical_info1' => 'Cette page présente plusieurs méthodes pour rester en contact avec la vie de ce site.',
161
-	'ical_info2' => 'Pour plus de renseignements sur toutes ces techniques, n’hésite pas à consulter <a href="@spipnet@">la documentation de SPIP</a>.',
162
-	'ical_info_calendrier' => 'Deux calendriers sont à ta disposition. Le premier est un plan du site annonçant tous les articles publiés. Le second contient les annonces éditoriales ainsi que tes derniers messages privés : il t’est réservé grâce à une clé personnelle, que tu peux modifier à tout moment en renouvelant ton mot de passe.',
163
-	'ical_methode_http' => 'Téléchargement',
164
-	'ical_methode_webcal' => 'Synchronisation (webcal://)',
165
-	'ical_texte_js' => 'Une ligne de javascript te permet d’afficher très simplement, sur n’importe quel site t’appartenant, les articles récents publiés sur ce site.',
166
-	'ical_texte_prive' => 'Ce calendrier, à usage strictement personnel, t’informe de l’activité éditoriale privée de ce site (tâches et rendez-vous personnels, articles et brèves proposés...).',
167
-	'ical_texte_public' => 'Ce calendrier te permet de suivre l’activité publique de ce site (articles et brèves publiés).',
168
-	'ical_texte_rss' => 'Tu peux syndiquer les nouveautés de ce site dans n’importe quel lecteur de fichiers au format XML/RSS (Rich Site Summary). C’est aussi le format qui permet à SPIP de lire les nouveautés publiées sur d’autres sites utilisant un format d’échange compatible (sites syndiqués).',
169
-	'ical_titre_js' => 'Javascript',
170
-	'ical_titre_mailing' => 'Mailing-list',
171
-	'ical_titre_rss' => 'Fichiers de syndication',
172
-	'icone_accueil' => 'Accueil',
173
-	'icone_activer_cookie' => 'Activer le cookie de correspondance',
174
-	'icone_activite' => 'Activité',
175
-	'icone_admin_plugin' => 'Gestion des plugins',
176
-	'icone_administration' => 'Maintenance',
177
-	'icone_afficher_auteurs' => 'Afficher les auteurs',
178
-	'icone_afficher_visiteurs' => 'Afficher les visiteurs',
179
-	'icone_arret_discussion' => 'Ne plus participer à cette discussion',
180
-	'icone_calendrier' => 'Calendrier',
181
-	'icone_configuration' => 'Configuration',
182
-	'icone_creer_auteur' => 'Créer un nouvel auteur et l’associer à cet article',
183
-	'icone_creer_mot_cle' => 'Créer un nouveau mot-clé et le lier à cet article',
184
-	'icone_creer_rubrique_2' => 'Créer une nouvelle rubrique',
185
-	'icone_developpement' => 'Développement',
186
-	'icone_edition' => 'Édition',
187
-	'icone_ma_langue' => 'Ma langue',
188
-	'icone_mes_infos' => 'Mes infos',
189
-	'icone_mes_preferences' => 'Mes préférences',
190
-	'icone_modifier_article' => 'Modifier cet article',
191
-	'icone_modifier_rubrique' => 'Modifier cette rubrique',
192
-	'icone_publication' => 'Publication',
193
-	'icone_relancer_signataire' => 'Relancer le signataire',
194
-	'icone_retour' => 'Retour',
195
-	'icone_retour_article' => 'Retour à l’article',
196
-	'icone_squelette' => 'Squelettes',
197
-	'icone_suivi_publication' => 'Suivi de la publication',
198
-	'icone_supprimer_cookie' => 'Supprimer le cookie de correspondance',
199
-	'icone_supprimer_rubrique' => 'Supprimer cette rubrique',
200
-	'icone_supprimer_signature' => 'Supprimer cette signature',
201
-	'icone_valider_signature' => 'Valider cette signature',
202
-	'image_administrer_rubrique' => 'Tu peux administrer cette rubrique',
203
-	'impossible_modifier_login_auteur' => 'Impossible de modifier le login.',
204
-	'impossible_modifier_pass_auteur' => 'Impossible de modifier le mot de passe.',
205
-	'info_1_article' => '1 article',
206
-	'info_1_auteur' => '1 auteur',
207
-	'info_1_message' => '1 message',
208
-	'info_1_mot_cle' => '1 mot-clé',
209
-	'info_1_rubrique' => '1 rubrique',
210
-	'info_1_visiteur' => '1 visiteur',
211
-	'info_activer_cookie' => 'Tu peux activer un <b>cookie de correspondance</b>, ce qui te
159
+    // I
160
+    'ical_info1' => 'Cette page présente plusieurs méthodes pour rester en contact avec la vie de ce site.',
161
+    'ical_info2' => 'Pour plus de renseignements sur toutes ces techniques, n’hésite pas à consulter <a href="@spipnet@">la documentation de SPIP</a>.',
162
+    'ical_info_calendrier' => 'Deux calendriers sont à ta disposition. Le premier est un plan du site annonçant tous les articles publiés. Le second contient les annonces éditoriales ainsi que tes derniers messages privés : il t’est réservé grâce à une clé personnelle, que tu peux modifier à tout moment en renouvelant ton mot de passe.',
163
+    'ical_methode_http' => 'Téléchargement',
164
+    'ical_methode_webcal' => 'Synchronisation (webcal://)',
165
+    'ical_texte_js' => 'Une ligne de javascript te permet d’afficher très simplement, sur n’importe quel site t’appartenant, les articles récents publiés sur ce site.',
166
+    'ical_texte_prive' => 'Ce calendrier, à usage strictement personnel, t’informe de l’activité éditoriale privée de ce site (tâches et rendez-vous personnels, articles et brèves proposés...).',
167
+    'ical_texte_public' => 'Ce calendrier te permet de suivre l’activité publique de ce site (articles et brèves publiés).',
168
+    'ical_texte_rss' => 'Tu peux syndiquer les nouveautés de ce site dans n’importe quel lecteur de fichiers au format XML/RSS (Rich Site Summary). C’est aussi le format qui permet à SPIP de lire les nouveautés publiées sur d’autres sites utilisant un format d’échange compatible (sites syndiqués).',
169
+    'ical_titre_js' => 'Javascript',
170
+    'ical_titre_mailing' => 'Mailing-list',
171
+    'ical_titre_rss' => 'Fichiers de syndication',
172
+    'icone_accueil' => 'Accueil',
173
+    'icone_activer_cookie' => 'Activer le cookie de correspondance',
174
+    'icone_activite' => 'Activité',
175
+    'icone_admin_plugin' => 'Gestion des plugins',
176
+    'icone_administration' => 'Maintenance',
177
+    'icone_afficher_auteurs' => 'Afficher les auteurs',
178
+    'icone_afficher_visiteurs' => 'Afficher les visiteurs',
179
+    'icone_arret_discussion' => 'Ne plus participer à cette discussion',
180
+    'icone_calendrier' => 'Calendrier',
181
+    'icone_configuration' => 'Configuration',
182
+    'icone_creer_auteur' => 'Créer un nouvel auteur et l’associer à cet article',
183
+    'icone_creer_mot_cle' => 'Créer un nouveau mot-clé et le lier à cet article',
184
+    'icone_creer_rubrique_2' => 'Créer une nouvelle rubrique',
185
+    'icone_developpement' => 'Développement',
186
+    'icone_edition' => 'Édition',
187
+    'icone_ma_langue' => 'Ma langue',
188
+    'icone_mes_infos' => 'Mes infos',
189
+    'icone_mes_preferences' => 'Mes préférences',
190
+    'icone_modifier_article' => 'Modifier cet article',
191
+    'icone_modifier_rubrique' => 'Modifier cette rubrique',
192
+    'icone_publication' => 'Publication',
193
+    'icone_relancer_signataire' => 'Relancer le signataire',
194
+    'icone_retour' => 'Retour',
195
+    'icone_retour_article' => 'Retour à l’article',
196
+    'icone_squelette' => 'Squelettes',
197
+    'icone_suivi_publication' => 'Suivi de la publication',
198
+    'icone_supprimer_cookie' => 'Supprimer le cookie de correspondance',
199
+    'icone_supprimer_rubrique' => 'Supprimer cette rubrique',
200
+    'icone_supprimer_signature' => 'Supprimer cette signature',
201
+    'icone_valider_signature' => 'Valider cette signature',
202
+    'image_administrer_rubrique' => 'Tu peux administrer cette rubrique',
203
+    'impossible_modifier_login_auteur' => 'Impossible de modifier le login.',
204
+    'impossible_modifier_pass_auteur' => 'Impossible de modifier le mot de passe.',
205
+    'info_1_article' => '1 article',
206
+    'info_1_auteur' => '1 auteur',
207
+    'info_1_message' => '1 message',
208
+    'info_1_mot_cle' => '1 mot-clé',
209
+    'info_1_rubrique' => '1 rubrique',
210
+    'info_1_visiteur' => '1 visiteur',
211
+    'info_activer_cookie' => 'Tu peux activer un <b>cookie de correspondance</b>, ce qui te
212 212
 	permettra de passer facilement du site public au site privé.',
213
-	'info_activer_menu_developpement' => 'Afficher le menu Développement',
214
-	'info_admin_etre_webmestre' => 'Me donner les droits de webmestre',
215
-	'info_admin_je_suis_webmestre' => 'Je suis <b>webmestre</b>',
216
-	'info_admin_statuer_webmestre' => 'Donner à cet administrateur les droits de webmestre',
217
-	'info_admin_webmestre' => 'Cet administrateur est <b>webmestre</b>',
218
-	'info_administrateur' => 'Administrateur',
219
-	'info_administrateur_1' => 'Administrateur',
220
-	'info_administrateur_2' => 'du site (<i>utilise avec précaution</i>)',
221
-	'info_administrateur_site_01' => 'Si tu es administrateur du site, ',
222
-	'info_administrateur_site_02' => 'clique sur ce lien',
223
-	'info_administrateurs' => 'Administrateurs',
224
-	'info_administrer_rubrique' => 'Tu peux administrer cette rubrique',
225
-	'info_adresse' => 'à l’adresse :',
226
-	'info_adresse_desinscription' => 'Adresse de désinscription :',
227
-	'info_adresse_url' => 'Adresse (URL) du site public',
228
-	'info_afficher_par_nb' => 'Afficher par',
229
-	'info_aide_en_ligne' => 'Aide en ligne SPIP',
230
-	'info_ajout_image' => 'Lorsque tu ajoutes des images en tant que documents joints à un article,
213
+    'info_activer_menu_developpement' => 'Afficher le menu Développement',
214
+    'info_admin_etre_webmestre' => 'Me donner les droits de webmestre',
215
+    'info_admin_je_suis_webmestre' => 'Je suis <b>webmestre</b>',
216
+    'info_admin_statuer_webmestre' => 'Donner à cet administrateur les droits de webmestre',
217
+    'info_admin_webmestre' => 'Cet administrateur est <b>webmestre</b>',
218
+    'info_administrateur' => 'Administrateur',
219
+    'info_administrateur_1' => 'Administrateur',
220
+    'info_administrateur_2' => 'du site (<i>utilise avec précaution</i>)',
221
+    'info_administrateur_site_01' => 'Si tu es administrateur du site, ',
222
+    'info_administrateur_site_02' => 'clique sur ce lien',
223
+    'info_administrateurs' => 'Administrateurs',
224
+    'info_administrer_rubrique' => 'Tu peux administrer cette rubrique',
225
+    'info_adresse' => 'à l’adresse :',
226
+    'info_adresse_desinscription' => 'Adresse de désinscription :',
227
+    'info_adresse_url' => 'Adresse (URL) du site public',
228
+    'info_afficher_par_nb' => 'Afficher par',
229
+    'info_aide_en_ligne' => 'Aide en ligne SPIP',
230
+    'info_ajout_image' => 'Lorsque tu ajoutes des images en tant que documents joints à un article,
231 231
 		SPIP peut créer pour toi, automatiquement, des vignettes (miniatures) des
232 232
 		images insérées. Cela permet par exemple de créer
233 233
 		automatiquement une galerie ou un portfolio.',
234
-	'info_ajouter_rubrique' => 'Ajouter une autre rubrique à administrer :',
235
-	'info_annonce_nouveautes' => 'Annonce des nouveautés',
236
-	'info_article' => 'article',
237
-	'info_article_2' => 'articles',
238
-	'info_article_a_paraitre' => 'Les articles post-datés à paraître',
239
-	'info_articles_02' => 'articles',
240
-	'info_articles_2' => 'Articles',
241
-	'info_articles_auteur' => 'Les articles de cet auteur',
242
-	'info_articles_miens' => 'Mes articles',
243
-	'info_articles_tous' => 'Tous les articles',
244
-	'info_articles_trouves' => 'Articles trouvés',
245
-	'info_attente_validation' => 'Tes articles en attente de validation',
246
-	'info_aucun_article' => 'Aucun article',
247
-	'info_aucun_auteur' => 'Aucun auteur',
248
-	'info_aucun_message' => 'Aucun message',
249
-	'info_aucun_rubrique' => 'Aucune rubrique',
250
-	'info_aujourdhui' => 'aujourd’hui :',
251
-	'info_auteur_gere_rubriques' => 'Cet auteur gère les rubriques suivantes :',
252
-	'info_auteur_gere_toutes_rubriques' => 'Cet auteur gère <b>toutes les rubriques</b>',
253
-	'info_auteur_gere_toutes_rubriques_2' => 'Je gère <b>toutes les rubriques</b>',
254
-	'info_auteurs' => 'Les auteurs',
255
-	'info_auteurs_par_tri' => 'Auteurs@partri@',
256
-	'info_auteurs_trouves' => 'Auteurs trouvés',
257
-	'info_authentification_externe' => 'Authentification externe',
258
-	'info_avertissement' => 'Avertissement',
259
-	'info_barre_outils' => 'avec sa barre d’outils ?',
260
-	'info_base_installee' => 'La structure de ta base de données est installée.',
261
-	'info_bio' => 'Biographie',
262
-	'info_cache_desactive' => 'Le cache est temporairement désactivé.',
263
-	'info_chapeau' => 'Chapeau',
264
-	'info_chapeau_2' => 'Chapeau :',
265
-	'info_chemin_acces_1' => 'Options : <b>Chemin d’accès dans l’annuaire</b>',
266
-	'info_chemin_acces_2' => 'Tu dois désormais configurer le chemin d’accès aux informations dans l’annuaire. Cette information est indispensable pour lire les profils utilisateurs stockés dans l’annuaire.',
267
-	'info_chemin_acces_annuaire' => 'Options : <b>Chemin d’accès dans l’annuaire',
268
-	'info_choix_base' => 'Troisième étape :',
269
-	'info_classement_1' => '<sup>er</sup> sur @liste@',
270
-	'info_classement_2' => '<sup>e</sup> sur @liste@',
271
-	'info_code_acces' => 'N’oublie pas tes propres codes d’accès !',
272
-	'info_compatibilite_html' => 'Norme HTML à suivre',
273
-	'info_config_suivi' => 'Si cette adresse correspond à une mailing-list, tu peux indiquer ci-dessous l’adresse à laquelle les participants au site peuvent s’inscrire. Cette adresse peut être une URL (par exemple la page d’inscription à la liste par le Web), ou une adresse email dotée d’un sujet spécifique (par exemple : <tt>@adresse_suivi@?subject=subscribe</tt>) :',
274
-	'info_config_suivi_explication' => 'Tu peux t’abonner à la mailing-list de ce site. Tu recevras alors par courrier électronique les annonces d’articles et de brèves proposés à la publication.',
275
-	'info_confirmer_passe' => 'Confirmer ce nouveau mot de passe :',
276
-	'info_conflit_edition_avis_non_sauvegarde' => 'Attention, les champs suivants ont été modifiés par ailleurs. Tes modifications sur ces champs n’ont donc pas été enregistrées.',
277
-	'info_conflit_edition_differences' => 'Différences :',
278
-	'info_conflit_edition_version_enregistree' => 'La version enregistrée :',
279
-	'info_conflit_edition_votre_version' => 'Ta version :',
280
-	'info_connexion_base' => 'Essai de connexion à la base',
281
-	'info_connexion_base_donnee' => 'Connexion à ta base de données',
282
-	'info_connexion_ldap_ok' => '<b>La connexion LDAP a réussi.</b><p> Tu peux passer à l’étape suivante.</p>',
283
-	'info_connexion_mysql' => 'Ta connexion SQL',
284
-	'info_connexion_ok' => 'La connexion a réussi.',
285
-	'info_contact' => 'Contact',
286
-	'info_contenu_articles' => 'Contenu des articles',
287
-	'info_contributions' => 'Contributions',
288
-	'info_creation_paragraphe' => 'Pour créer des paragraphes, laisse simplement des lignes vides.',
289
-	'info_creation_rubrique' => 'Avant de pouvoir écrire des articles,<br /> tu dois créer au moins une rubrique.<br />',
290
-	'info_creation_tables' => 'Création des tables de la base',
291
-	'info_creer_base' => '<b>Créer</b> une nouvelle base de données :',
292
-	'info_dans_rubrique' => 'Dans la rubrique :',
293
-	'info_date_publication_anterieure' => 'Date de rédaction antérieure :',
294
-	'info_date_referencement' => 'DATE DE RÉFÉRENCEMENT DE CE SITE :',
295
-	'info_derniere_etape' => 'C’est terminé !',
296
-	'info_descriptif' => 'Descriptif :',
297
-	'info_desinstaller_plugin' => 'supprime les données et désactive le plugin',
298
-	'info_discussion_cours' => 'Discussions en cours',
299
-	'info_ecrire_article' => 'Avant de pouvoir écrire des articles, tu dois créer au moins une rubrique.',
300
-	'info_email_envoi' => 'Adresse email d’envoi (optionnel)',
301
-	'info_email_envoi_txt' => 'Indique ici l’adresse à utiliser pour envoyer les emails (à défaut, l’adresse destinataire sera utilisée comme adresse d’envoi) :',
302
-	'info_email_webmestre' => 'Adresse e-mail du webmestre',
303
-	'info_envoi_email_automatique' => 'Envoi de mails automatique',
304
-	'info_envoyer_maintenant' => 'Envoyer maintenant',
305
-	'info_etape_suivante' => 'Passer à l’étape suivante',
306
-	'info_etape_suivante_1' => 'Tu peux passer à l’étape suivante.',
307
-	'info_etape_suivante_2' => 'Tu peux passer à l’étape suivante.',
308
-	'info_exceptions_proxy' => 'Exceptions pour le proxy',
309
-	'info_exportation_base' => 'exportation de la base vers @archive@',
310
-	'info_facilite_suivi_activite' => 'Afin de faciliter le suivi de l’activité
234
+    'info_ajouter_rubrique' => 'Ajouter une autre rubrique à administrer :',
235
+    'info_annonce_nouveautes' => 'Annonce des nouveautés',
236
+    'info_article' => 'article',
237
+    'info_article_2' => 'articles',
238
+    'info_article_a_paraitre' => 'Les articles post-datés à paraître',
239
+    'info_articles_02' => 'articles',
240
+    'info_articles_2' => 'Articles',
241
+    'info_articles_auteur' => 'Les articles de cet auteur',
242
+    'info_articles_miens' => 'Mes articles',
243
+    'info_articles_tous' => 'Tous les articles',
244
+    'info_articles_trouves' => 'Articles trouvés',
245
+    'info_attente_validation' => 'Tes articles en attente de validation',
246
+    'info_aucun_article' => 'Aucun article',
247
+    'info_aucun_auteur' => 'Aucun auteur',
248
+    'info_aucun_message' => 'Aucun message',
249
+    'info_aucun_rubrique' => 'Aucune rubrique',
250
+    'info_aujourdhui' => 'aujourd’hui :',
251
+    'info_auteur_gere_rubriques' => 'Cet auteur gère les rubriques suivantes :',
252
+    'info_auteur_gere_toutes_rubriques' => 'Cet auteur gère <b>toutes les rubriques</b>',
253
+    'info_auteur_gere_toutes_rubriques_2' => 'Je gère <b>toutes les rubriques</b>',
254
+    'info_auteurs' => 'Les auteurs',
255
+    'info_auteurs_par_tri' => 'Auteurs@partri@',
256
+    'info_auteurs_trouves' => 'Auteurs trouvés',
257
+    'info_authentification_externe' => 'Authentification externe',
258
+    'info_avertissement' => 'Avertissement',
259
+    'info_barre_outils' => 'avec sa barre d’outils ?',
260
+    'info_base_installee' => 'La structure de ta base de données est installée.',
261
+    'info_bio' => 'Biographie',
262
+    'info_cache_desactive' => 'Le cache est temporairement désactivé.',
263
+    'info_chapeau' => 'Chapeau',
264
+    'info_chapeau_2' => 'Chapeau :',
265
+    'info_chemin_acces_1' => 'Options : <b>Chemin d’accès dans l’annuaire</b>',
266
+    'info_chemin_acces_2' => 'Tu dois désormais configurer le chemin d’accès aux informations dans l’annuaire. Cette information est indispensable pour lire les profils utilisateurs stockés dans l’annuaire.',
267
+    'info_chemin_acces_annuaire' => 'Options : <b>Chemin d’accès dans l’annuaire',
268
+    'info_choix_base' => 'Troisième étape :',
269
+    'info_classement_1' => '<sup>er</sup> sur @liste@',
270
+    'info_classement_2' => '<sup>e</sup> sur @liste@',
271
+    'info_code_acces' => 'N’oublie pas tes propres codes d’accès !',
272
+    'info_compatibilite_html' => 'Norme HTML à suivre',
273
+    'info_config_suivi' => 'Si cette adresse correspond à une mailing-list, tu peux indiquer ci-dessous l’adresse à laquelle les participants au site peuvent s’inscrire. Cette adresse peut être une URL (par exemple la page d’inscription à la liste par le Web), ou une adresse email dotée d’un sujet spécifique (par exemple : <tt>@adresse_suivi@?subject=subscribe</tt>) :',
274
+    'info_config_suivi_explication' => 'Tu peux t’abonner à la mailing-list de ce site. Tu recevras alors par courrier électronique les annonces d’articles et de brèves proposés à la publication.',
275
+    'info_confirmer_passe' => 'Confirmer ce nouveau mot de passe :',
276
+    'info_conflit_edition_avis_non_sauvegarde' => 'Attention, les champs suivants ont été modifiés par ailleurs. Tes modifications sur ces champs n’ont donc pas été enregistrées.',
277
+    'info_conflit_edition_differences' => 'Différences :',
278
+    'info_conflit_edition_version_enregistree' => 'La version enregistrée :',
279
+    'info_conflit_edition_votre_version' => 'Ta version :',
280
+    'info_connexion_base' => 'Essai de connexion à la base',
281
+    'info_connexion_base_donnee' => 'Connexion à ta base de données',
282
+    'info_connexion_ldap_ok' => '<b>La connexion LDAP a réussi.</b><p> Tu peux passer à l’étape suivante.</p>',
283
+    'info_connexion_mysql' => 'Ta connexion SQL',
284
+    'info_connexion_ok' => 'La connexion a réussi.',
285
+    'info_contact' => 'Contact',
286
+    'info_contenu_articles' => 'Contenu des articles',
287
+    'info_contributions' => 'Contributions',
288
+    'info_creation_paragraphe' => 'Pour créer des paragraphes, laisse simplement des lignes vides.',
289
+    'info_creation_rubrique' => 'Avant de pouvoir écrire des articles,<br /> tu dois créer au moins une rubrique.<br />',
290
+    'info_creation_tables' => 'Création des tables de la base',
291
+    'info_creer_base' => '<b>Créer</b> une nouvelle base de données :',
292
+    'info_dans_rubrique' => 'Dans la rubrique :',
293
+    'info_date_publication_anterieure' => 'Date de rédaction antérieure :',
294
+    'info_date_referencement' => 'DATE DE RÉFÉRENCEMENT DE CE SITE :',
295
+    'info_derniere_etape' => 'C’est terminé !',
296
+    'info_descriptif' => 'Descriptif :',
297
+    'info_desinstaller_plugin' => 'supprime les données et désactive le plugin',
298
+    'info_discussion_cours' => 'Discussions en cours',
299
+    'info_ecrire_article' => 'Avant de pouvoir écrire des articles, tu dois créer au moins une rubrique.',
300
+    'info_email_envoi' => 'Adresse email d’envoi (optionnel)',
301
+    'info_email_envoi_txt' => 'Indique ici l’adresse à utiliser pour envoyer les emails (à défaut, l’adresse destinataire sera utilisée comme adresse d’envoi) :',
302
+    'info_email_webmestre' => 'Adresse e-mail du webmestre',
303
+    'info_envoi_email_automatique' => 'Envoi de mails automatique',
304
+    'info_envoyer_maintenant' => 'Envoyer maintenant',
305
+    'info_etape_suivante' => 'Passer à l’étape suivante',
306
+    'info_etape_suivante_1' => 'Tu peux passer à l’étape suivante.',
307
+    'info_etape_suivante_2' => 'Tu peux passer à l’étape suivante.',
308
+    'info_exceptions_proxy' => 'Exceptions pour le proxy',
309
+    'info_exportation_base' => 'exportation de la base vers @archive@',
310
+    'info_facilite_suivi_activite' => 'Afin de faciliter le suivi de l’activité
311 311
 		éditoriale du site, SPIP peut faire parvenir par mail, par exemple
312 312
 		à une mailing-list des rédacteurs, l’annonce des demandes de
313 313
 		publication et des validations d’articles.',
314
-	'info_fichiers_authent' => 'Fichiers d’authentification « .htpasswd »',
315
-	'info_forums_abo_invites' => 'Ton site comporte des forums sur abonnement ; les visiteurs sont donc invités à s’enregistrer sur le site public.',
316
-	'info_gauche_admin_tech' => '<b>Cette page est uniquement accessible aux responsables du site.</b><p> Elle donne accès aux différentes
314
+    'info_fichiers_authent' => 'Fichiers d’authentification « .htpasswd »',
315
+    'info_forums_abo_invites' => 'Ton site comporte des forums sur abonnement ; les visiteurs sont donc invités à s’enregistrer sur le site public.',
316
+    'info_gauche_admin_tech' => '<b>Cette page est uniquement accessible aux responsables du site.</b><p> Elle donne accès aux différentes
317 317
 fonctions de maintenance technique. Certaines d’entre elles donnent lieu à un processus d’authentification spécifique, qui
318 318
 exige d’avoir un accès FTP au site Web.</p>',
319
-	'info_gauche_admin_vider' => '<b>Cette page est uniquement accessible aux responsables du site.</b><p> Elle donne accès aux différentes
319
+    'info_gauche_admin_vider' => '<b>Cette page est uniquement accessible aux responsables du site.</b><p> Elle donne accès aux différentes
320 320
 fonctions de maintenance technique. Certaines d’entre elles donnent lieu à un processus d’authentification spécifique, qui
321 321
 exige d’avoir un accès FTP au site Web.</p>',
322
-	'info_gauche_auteurs' => 'Tu trouveras ici tous les auteurs du site.
322
+    'info_gauche_auteurs' => 'Tu trouveras ici tous les auteurs du site.
323 323
  Leur statut est indiqué par la couleur de leur icone (administrateur = vert ; rédacteur = jaune).',
324
-	'info_gauche_auteurs_exterieurs' => 'Les auteurs extérieurs, sans accès au site, sont indiqués par une icone bleue ;
324
+    'info_gauche_auteurs_exterieurs' => 'Les auteurs extérieurs, sans accès au site, sont indiqués par une icone bleue ;
325 325
 		les auteurs effacés par une icone grise.',
326
-	'info_gauche_messagerie' => 'La messagerie te permet d’échanger des messages entre rédacteurs, de conserver des pense-bêtes (pour ton usage personnel) ou d’afficher des annonces sur la page d’accueil de l’espace privé (si tu es administrateur).',
327
-	'info_gauche_statistiques_referers' => 'Cette page présente la liste des <i>referers</i>, c’est-à-dire des sites contenant des liens menant vers ton propre site, uniquement pour hier et aujourd’hui : cette liste est remise à zéro toutes les 24 heures.',
328
-	'info_gauche_visiteurs_enregistres' => 'Tu trouveras ici les visiteurs enregistrés
326
+    'info_gauche_messagerie' => 'La messagerie te permet d’échanger des messages entre rédacteurs, de conserver des pense-bêtes (pour ton usage personnel) ou d’afficher des annonces sur la page d’accueil de l’espace privé (si tu es administrateur).',
327
+    'info_gauche_statistiques_referers' => 'Cette page présente la liste des <i>referers</i>, c’est-à-dire des sites contenant des liens menant vers ton propre site, uniquement pour hier et aujourd’hui : cette liste est remise à zéro toutes les 24 heures.',
328
+    'info_gauche_visiteurs_enregistres' => 'Tu trouveras ici les visiteurs enregistrés
329 329
 	dans l’espace public du site (forums sur abonnement).',
330
-	'info_generation_miniatures_images' => 'Génération de miniatures des images',
331
-	'info_gerer_trad_objets' => '@objets@ : gérer les liens de traduction',
332
-	'info_hebergeur_desactiver_envoi_email' => 'Certains hébergeurs désactivent l’envoi automatique de
330
+    'info_generation_miniatures_images' => 'Génération de miniatures des images',
331
+    'info_gerer_trad_objets' => '@objets@ : gérer les liens de traduction',
332
+    'info_hebergeur_desactiver_envoi_email' => 'Certains hébergeurs désactivent l’envoi automatique de
333 333
 		mails depuis leurs serveurs. Dans ce cas, les fonctionnalités suivantes
334 334
 		de SPIP ne fonctionneront pas.',
335
-	'info_hier' => 'hier :',
336
-	'info_identification_publique' => 'Ton identité publique...',
337
-	'info_image_process' => 'Sélectionne ci-après la meilleure méthode de fabrication des vignettes en cliquant sur l’image correspondante.',
338
-	'info_image_process2' => 'Si aucune image n’apparaît, alors le serveur qui héberge ton site n’a pas été configuré pour utiliser de tels outils. Si tu souhaites utiliser ces fonctions, contactes le responsable technique et demandes les extensions « GD » ou « Imagick ».',
339
-	'info_images_auto' => 'Images calculées automatiquement',
340
-	'info_informations_personnelles' => 'Informations personnelles',
341
-	'info_inscription' => 'Inscription le',
342
-	'info_inscription_automatique' => 'Inscription automatique de nouveaux rédacteurs',
343
-	'info_jeu_caractere' => 'Jeu de caractères du site',
344
-	'info_jours' => 'jours',
345
-	'info_laisser_champs_vides' => 'laisser ces champs vides)',
346
-	'info_langues' => 'Langues du site',
347
-	'info_ldap_ok' => 'L’authentification LDAP est installée.',
348
-	'info_lien_hypertexte' => 'Lien hypertexte :',
349
-	'info_liste_nouveautes_envoyee' => 'La liste des nouveautés a été envoyée',
350
-	'info_liste_redacteurs_connectes' => 'Liste des rédacteurs connectés',
351
-	'info_login_existant' => 'Ce login existe déjà.',
352
-	'info_login_trop_court' => 'Login trop court.',
353
-	'info_login_trop_court_car_pluriel' => 'Le login doit contenir au moins @nb@ caractères.',
354
-	'info_logos' => 'Les logos',
355
-	'info_maximum' => 'maximum :',
356
-	'info_meme_rubrique' => 'Dans la même rubrique',
357
-	'info_message_en_redaction' => 'Tes messages en cours de rédaction',
358
-	'info_message_technique' => 'Message technique :',
359
-	'info_messagerie_interne' => 'Messagerie interne',
360
-	'info_mise_a_niveau_base' => 'mise à niveau de ta base SQL',
361
-	'info_mise_a_niveau_base_2' => '{{Attention !}} Tu as installé une version
335
+    'info_hier' => 'hier :',
336
+    'info_identification_publique' => 'Ton identité publique...',
337
+    'info_image_process' => 'Sélectionne ci-après la meilleure méthode de fabrication des vignettes en cliquant sur l’image correspondante.',
338
+    'info_image_process2' => 'Si aucune image n’apparaît, alors le serveur qui héberge ton site n’a pas été configuré pour utiliser de tels outils. Si tu souhaites utiliser ces fonctions, contactes le responsable technique et demandes les extensions « GD » ou « Imagick ».',
339
+    'info_images_auto' => 'Images calculées automatiquement',
340
+    'info_informations_personnelles' => 'Informations personnelles',
341
+    'info_inscription' => 'Inscription le',
342
+    'info_inscription_automatique' => 'Inscription automatique de nouveaux rédacteurs',
343
+    'info_jeu_caractere' => 'Jeu de caractères du site',
344
+    'info_jours' => 'jours',
345
+    'info_laisser_champs_vides' => 'laisser ces champs vides)',
346
+    'info_langues' => 'Langues du site',
347
+    'info_ldap_ok' => 'L’authentification LDAP est installée.',
348
+    'info_lien_hypertexte' => 'Lien hypertexte :',
349
+    'info_liste_nouveautes_envoyee' => 'La liste des nouveautés a été envoyée',
350
+    'info_liste_redacteurs_connectes' => 'Liste des rédacteurs connectés',
351
+    'info_login_existant' => 'Ce login existe déjà.',
352
+    'info_login_trop_court' => 'Login trop court.',
353
+    'info_login_trop_court_car_pluriel' => 'Le login doit contenir au moins @nb@ caractères.',
354
+    'info_logos' => 'Les logos',
355
+    'info_maximum' => 'maximum :',
356
+    'info_meme_rubrique' => 'Dans la même rubrique',
357
+    'info_message_en_redaction' => 'Tes messages en cours de rédaction',
358
+    'info_message_technique' => 'Message technique :',
359
+    'info_messagerie_interne' => 'Messagerie interne',
360
+    'info_mise_a_niveau_base' => 'mise à niveau de ta base SQL',
361
+    'info_mise_a_niveau_base_2' => '{{Attention !}} Tu as installé une version
362 362
   des fichiers SPIP {antérieure} à celle qui se trouvait
363 363
   auparavant sur ce site : ta base de données risque d’être
364 364
   perdue et ton site ne fonctionnera plus.<br />{{Réinstalle les
365 365
   fichiers de SPIP.}}',
366
-	'info_modification_enregistree' => 'Ta modification a été enregistrée',
367
-	'info_modifier_auteur' => 'Modifier l’auteur :',
368
-	'info_modifier_rubrique' => 'Modifier la rubrique :',
369
-	'info_modifier_titre' => 'Modifier : @titre@',
370
-	'info_mon_site_spip' => 'Mon site SPIP',
371
-	'info_moyenne' => 'moyenne :',
372
-	'info_multi_cet_article' => 'Langue de cet article :',
373
-	'info_multi_langues_choisies' => 'Sélectionne ci-après les langues à disposition des rédacteurs de ton site.
366
+    'info_modification_enregistree' => 'Ta modification a été enregistrée',
367
+    'info_modifier_auteur' => 'Modifier l’auteur :',
368
+    'info_modifier_rubrique' => 'Modifier la rubrique :',
369
+    'info_modifier_titre' => 'Modifier : @titre@',
370
+    'info_mon_site_spip' => 'Mon site SPIP',
371
+    'info_moyenne' => 'moyenne :',
372
+    'info_multi_cet_article' => 'Langue de cet article :',
373
+    'info_multi_langues_choisies' => 'Sélectionne ci-après les langues à disposition des rédacteurs de ton site.
374 374
 		Les langues déjà utilisées dans ton site (affichées en premier) ne peuvent pas être désactivées.',
375
-	'info_multi_objets' => '@objets@ : activer le menu de langue',
376
-	'info_multi_secteurs' => '... seulement pour les rubriques situées à la racine ?',
377
-	'info_nb_articles' => '@nb@ articles',
378
-	'info_nb_auteurs' => '@nb@ auteurs',
379
-	'info_nb_messages' => '@nb@ messages',
380
-	'info_nb_mots_cles' => '@nb@ mots-clés',
381
-	'info_nb_rubriques' => '@nb@ rubriques',
382
-	'info_nb_visiteurs' => '@nb@ visiteurs',
383
-	'info_nom' => 'Nom',
384
-	'info_nom_destinataire' => 'Nom du destinataire',
385
-	'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés',
386
-	'info_nom_site' => 'Nom de ton site',
387
-	'info_nombre_articles' => '@nb_articles@ articles,',
388
-	'info_nombre_rubriques' => '@nb_rubriques@ rubriques,',
389
-	'info_nombre_sites' => '@nb_sites@ sites,',
390
-	'info_non_deplacer' => 'Ne pas déplacer...',
391
-	'info_non_envoi_annonce_dernieres_nouveautes' => 'SPIP peut envoyer, régulièrement, l’annonce des dernières nouveautés du site
375
+    'info_multi_objets' => '@objets@ : activer le menu de langue',
376
+    'info_multi_secteurs' => '... seulement pour les rubriques situées à la racine ?',
377
+    'info_nb_articles' => '@nb@ articles',
378
+    'info_nb_auteurs' => '@nb@ auteurs',
379
+    'info_nb_messages' => '@nb@ messages',
380
+    'info_nb_mots_cles' => '@nb@ mots-clés',
381
+    'info_nb_rubriques' => '@nb@ rubriques',
382
+    'info_nb_visiteurs' => '@nb@ visiteurs',
383
+    'info_nom' => 'Nom',
384
+    'info_nom_destinataire' => 'Nom du destinataire',
385
+    'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés',
386
+    'info_nom_site' => 'Nom de ton site',
387
+    'info_nombre_articles' => '@nb_articles@ articles,',
388
+    'info_nombre_rubriques' => '@nb_rubriques@ rubriques,',
389
+    'info_nombre_sites' => '@nb_sites@ sites,',
390
+    'info_non_deplacer' => 'Ne pas déplacer...',
391
+    'info_non_envoi_annonce_dernieres_nouveautes' => 'SPIP peut envoyer, régulièrement, l’annonce des dernières nouveautés du site
392 392
 		(articles et brèves récemment publiés).',
393
-	'info_non_envoi_liste_nouveautes' => 'Ne pas envoyer la liste des nouveautés',
394
-	'info_non_modifiable' => 'ne peut pas être modifié',
395
-	'info_non_suppression_mot_cle' => 'je ne veux pas supprimer ce mot-clé.',
396
-	'info_notes' => 'Notes',
397
-	'info_nouvel_article' => 'Nouvel article',
398
-	'info_nouvelle_traduction' => 'Nouvelle traduction :',
399
-	'info_numero_article' => 'ARTICLE NUMÉRO :',
400
-	'info_obligatoire_02' => ' (obligatoire)',
401
-	'info_option_accepter_visiteurs' => 'Accepter l’inscription de visiteurs du site public',
402
-	'info_option_ne_pas_accepter_visiteurs' => 'Refuser l’inscription des visiteurs',
403
-	'info_options_avancees' => 'OPTIONS AVANCÉES',
404
-	'info_ou' => 'ou...',
405
-	'info_page_interdite' => 'Page interdite',
406
-	'info_par_nom' => 'par nom',
407
-	'info_par_nombre_article' => '(par nombre d’articles)',
408
-	'info_par_statut' => 'par statut',
409
-	'info_par_tri' => '’(par @tri@)’',
410
-	'info_passe_trop_court' => 'Mot de passe trop court.',
411
-	'info_passe_trop_court_car_pluriel' => 'Le mot de passe doit contenir au moins @nb@ caractères.',
412
-	'info_passes_identiques' => 'Les deux mots de passe ne sont pas identiques.',
413
-	'info_plus_cinq_car' => 'plus de 5 caractères',
414
-	'info_plus_cinq_car_2' => '(Plus de 5 caractères)',
415
-	'info_plus_trois_car' => '(Plus de 3 caractères)',
416
-	'info_popularite' => 'popularité : @popularite@ ; visites : @visites@',
417
-	'info_post_scriptum' => 'Post-Scriptum',
418
-	'info_post_scriptum_2' => 'Post-scriptum :',
419
-	'info_pour' => 'pour',
420
-	'info_preview_texte' => 'Il est possible de prévisualiser le site comme si tous les articles et les brèves (ayant au moins le statut « proposé ») étaient publiés. Cette possibilité doit-elle être ouverte aux administrateurs seulement, à tous les rédacteurs, ou à personne ?',
421
-	'info_procedez_par_etape' => 'procéde étape par étape',
422
-	'info_procedure_maj_version' => 'la procédure de mise à jour doit être lancée afin d’adapter
393
+    'info_non_envoi_liste_nouveautes' => 'Ne pas envoyer la liste des nouveautés',
394
+    'info_non_modifiable' => 'ne peut pas être modifié',
395
+    'info_non_suppression_mot_cle' => 'je ne veux pas supprimer ce mot-clé.',
396
+    'info_notes' => 'Notes',
397
+    'info_nouvel_article' => 'Nouvel article',
398
+    'info_nouvelle_traduction' => 'Nouvelle traduction :',
399
+    'info_numero_article' => 'ARTICLE NUMÉRO :',
400
+    'info_obligatoire_02' => ' (obligatoire)',
401
+    'info_option_accepter_visiteurs' => 'Accepter l’inscription de visiteurs du site public',
402
+    'info_option_ne_pas_accepter_visiteurs' => 'Refuser l’inscription des visiteurs',
403
+    'info_options_avancees' => 'OPTIONS AVANCÉES',
404
+    'info_ou' => 'ou...',
405
+    'info_page_interdite' => 'Page interdite',
406
+    'info_par_nom' => 'par nom',
407
+    'info_par_nombre_article' => '(par nombre d’articles)',
408
+    'info_par_statut' => 'par statut',
409
+    'info_par_tri' => '’(par @tri@)’',
410
+    'info_passe_trop_court' => 'Mot de passe trop court.',
411
+    'info_passe_trop_court_car_pluriel' => 'Le mot de passe doit contenir au moins @nb@ caractères.',
412
+    'info_passes_identiques' => 'Les deux mots de passe ne sont pas identiques.',
413
+    'info_plus_cinq_car' => 'plus de 5 caractères',
414
+    'info_plus_cinq_car_2' => '(Plus de 5 caractères)',
415
+    'info_plus_trois_car' => '(Plus de 3 caractères)',
416
+    'info_popularite' => 'popularité : @popularite@ ; visites : @visites@',
417
+    'info_post_scriptum' => 'Post-Scriptum',
418
+    'info_post_scriptum_2' => 'Post-scriptum :',
419
+    'info_pour' => 'pour',
420
+    'info_preview_texte' => 'Il est possible de prévisualiser le site comme si tous les articles et les brèves (ayant au moins le statut « proposé ») étaient publiés. Cette possibilité doit-elle être ouverte aux administrateurs seulement, à tous les rédacteurs, ou à personne ?',
421
+    'info_procedez_par_etape' => 'procéde étape par étape',
422
+    'info_procedure_maj_version' => 'la procédure de mise à jour doit être lancée afin d’adapter
423 423
 	la base de données à la nouvelle version de SPIP.',
424
-	'info_proxy_ok' => 'Test du proxy réussi.',
425
-	'info_ps' => 'P.-S.',
426
-	'info_publier' => 'publier',
427
-	'info_publies' => 'Tes articles publiés en ligne',
428
-	'info_question_accepter_visiteurs' => 'Si les squelettes de ton site prévoient l’enregistrement de visiteurs sans accès à l’espace privé, active l’option ci-dessous :',
429
-	'info_question_inscription_nouveaux_redacteurs' => 'Acceptes-tu les inscriptions de nouveaux rédacteurs à
424
+    'info_proxy_ok' => 'Test du proxy réussi.',
425
+    'info_ps' => 'P.-S.',
426
+    'info_publier' => 'publier',
427
+    'info_publies' => 'Tes articles publiés en ligne',
428
+    'info_question_accepter_visiteurs' => 'Si les squelettes de ton site prévoient l’enregistrement de visiteurs sans accès à l’espace privé, active l’option ci-dessous :',
429
+    'info_question_inscription_nouveaux_redacteurs' => 'Acceptes-tu les inscriptions de nouveaux rédacteurs à
430 430
   partir du site public ? Si tu acceptes, les visiteurs pourront s’inscrire
431 431
   depuis un formulaire automatisé et accéderont alors à l’espace privé pour
432 432
   proposer leurs propres articles. <div class="notice">Lors de la phase d’inscription,
@@ -435,407 +435,407 @@  discard block
 block discarded – undo
435 435
   hébergeurs désactivent l’envoi de mails depuis leurs
436 436
   serveurs : dans ce cas, l’inscription automatique est
437 437
   impossible.</div>',
438
-	'info_qui_edite' => '@nom_auteur_modif@ a travaillé sur ce contenu il y a @date_diff@ minutes',
439
-	'info_racine_site' => 'Racine du site',
440
-	'info_recharger_page' => 'Recharger cette page dans quelques instants.',
441
-	'info_recherche_auteur_zero' => 'Aucun résultat pour « @cherche_auteur@ ».',
442
-	'info_recommencer' => 'Recommence.',
443
-	'info_redacteur_1' => 'Rédacteur',
444
-	'info_redacteur_2' => 'ayant accès à l’espace privé (<i>recommandé</i>)',
445
-	'info_redacteurs' => 'Rédacteurs',
446
-	'info_redaction_en_cours' => 'EN COURS DE RÉDACTION',
447
-	'info_redirection' => 'Redirection',
448
-	'info_redirection_activee' => 'La redirection est activée.',
449
-	'info_redirection_boucle' => 'Tu essaies de rediriger l’article sur lui-même.',
450
-	'info_redirection_desactivee' => 'La redirection a été supprimée.',
451
-	'info_refuses' => 'Tes articles refusés',
452
-	'info_reglage_ldap' => 'Options : <b>Réglage de l’importation LDAP</b>',
453
-	'info_renvoi_article' => '<b>Redirection.</b> Cet article renvoie à la page :',
454
-	'info_reserve_admin' => 'Seuls les administrateurs peuvent modifier cette adresse.',
455
-	'info_restreindre_rubrique' => 'Restreindre la gestion à la rubrique :',
456
-	'info_resultat_recherche' => 'Résultats de la recherche :',
457
-	'info_rubriques' => 'Rubriques',
458
-	'info_rubriques_02' => 'rubriques',
459
-	'info_rubriques_trouvees' => 'Rubriques trouvées',
460
-	'info_sans_titre' => 'Sans titre',
461
-	'info_selection_chemin_acces' => '<b>Sélectionne</b> ci-après le chemin d’accès dans l’annuaire :',
462
-	'info_signatures' => 'signatures',
463
-	'info_site' => 'Site',
464
-	'info_site_2' => 'site :',
465
-	'info_site_min' => 'site',
466
-	'info_site_reference_2' => 'Site référencé',
467
-	'info_site_web' => 'Site Web :',
468
-	'info_sites' => 'sites',
469
-	'info_sites_lies_mot' => 'Les sites référencés liés à ce mot-clé',
470
-	'info_sites_proxy' => 'Utiliser un proxy',
471
-	'info_sites_trouves' => 'Sites trouvés',
472
-	'info_sous_titre' => 'Soustitre :',
473
-	'info_statut_administrateur' => 'Administrateur',
474
-	'info_statut_auteur' => 'Statut de cet auteur :',
475
-	'info_statut_auteur_2' => 'Je suis',
476
-	'info_statut_auteur_a_confirmer' => 'Inscription à confirmer',
477
-	'info_statut_auteur_autre' => 'Autre statut :',
478
-	'info_statut_redacteur' => 'Rédacteur',
479
-	'info_statut_utilisateurs_1' => 'Statut par défaut des utilisateurs importés',
480
-	'info_statut_utilisateurs_2' => 'Choisis le statut qui est attribué aux personnes présentes dans l’annuaire LDAP lorsqu’elles se connectent pour la première fois. Tu pourras par la suite modifier cette valeur pour chaque auteur au cas par cas.',
481
-	'info_suivi_activite' => 'Suivi de l’activité éditoriale',
482
-	'info_surtitre' => 'Surtitre :',
483
-	'info_syndication_integrale_1' => 'Ton site propose des fichiers de syndication (voir « <a href="@url@">@titre@</a> »).',
484
-	'info_syndication_integrale_2' => 'Souhaites-tu transmettre les articles dans leur intégralité, ou ne diffuser qu’un résumé de quelques centaines de caractères ?',
485
-	'info_table_prefix' => 'Tu peux modifier le préfixe du nom des tables de données (ceci est indispensable lorsque l’on souhaite installer plusieurs sites dans la même base de données). Ce préfixe s’écrit en lettres minuscules, non accentuées, et sans espace.',
486
-	'info_taille_maximale_images' => 'SPIP va tester la taille maximale des images qu’il peut traiter (en millions de pixels).<br /> Les images plus grandes ne seront pas réduites.',
487
-	'info_taille_maximale_vignette' => 'Taille maximale des vignettes générées par le système :',
488
-	'info_terminer_installation' => 'Tu peux maintenant terminer la procédure d’installation standard.',
489
-	'info_texte' => 'Texte',
490
-	'info_texte_explicatif' => 'Texte explicatif',
491
-	'info_texte_long' => '(le texte est long : il apparaît donc en plusieurs parties qui seront recollées après validation.)',
492
-	'info_texte_message' => 'Texte de ton message',
493
-	'info_texte_message_02' => 'Texte du message',
494
-	'info_titre' => 'Titre :',
495
-	'info_total' => 'total :',
496
-	'info_tous_articles_en_redaction' => 'Tous les articles en cours de rédaction',
497
-	'info_tous_articles_presents' => 'Tous les articles publiés dans cette rubrique',
498
-	'info_tous_articles_refuses' => 'Tous les articles refusés',
499
-	'info_tous_les' => 'tous les :',
500
-	'info_tout_site' => 'Tout le site',
501
-	'info_tout_site2' => 'L’article n’a pas été traduit dans cette langue.',
502
-	'info_tout_site3' => 'L’article a été traduit dans cette langue, mais des modifications ont été apportées par la suite à l’article de référence. La traduction doit être mise à jour.',
503
-	'info_tout_site4' => 'L’article a été traduit dans cette langue, et la traduction est à jour.',
504
-	'info_tout_site5' => 'Article original.',
505
-	'info_tout_site6' => '<b>Attention :</b> seuls les articles originaux sont affichés.
438
+    'info_qui_edite' => '@nom_auteur_modif@ a travaillé sur ce contenu il y a @date_diff@ minutes',
439
+    'info_racine_site' => 'Racine du site',
440
+    'info_recharger_page' => 'Recharger cette page dans quelques instants.',
441
+    'info_recherche_auteur_zero' => 'Aucun résultat pour « @cherche_auteur@ ».',
442
+    'info_recommencer' => 'Recommence.',
443
+    'info_redacteur_1' => 'Rédacteur',
444
+    'info_redacteur_2' => 'ayant accès à l’espace privé (<i>recommandé</i>)',
445
+    'info_redacteurs' => 'Rédacteurs',
446
+    'info_redaction_en_cours' => 'EN COURS DE RÉDACTION',
447
+    'info_redirection' => 'Redirection',
448
+    'info_redirection_activee' => 'La redirection est activée.',
449
+    'info_redirection_boucle' => 'Tu essaies de rediriger l’article sur lui-même.',
450
+    'info_redirection_desactivee' => 'La redirection a été supprimée.',
451
+    'info_refuses' => 'Tes articles refusés',
452
+    'info_reglage_ldap' => 'Options : <b>Réglage de l’importation LDAP</b>',
453
+    'info_renvoi_article' => '<b>Redirection.</b> Cet article renvoie à la page :',
454
+    'info_reserve_admin' => 'Seuls les administrateurs peuvent modifier cette adresse.',
455
+    'info_restreindre_rubrique' => 'Restreindre la gestion à la rubrique :',
456
+    'info_resultat_recherche' => 'Résultats de la recherche :',
457
+    'info_rubriques' => 'Rubriques',
458
+    'info_rubriques_02' => 'rubriques',
459
+    'info_rubriques_trouvees' => 'Rubriques trouvées',
460
+    'info_sans_titre' => 'Sans titre',
461
+    'info_selection_chemin_acces' => '<b>Sélectionne</b> ci-après le chemin d’accès dans l’annuaire :',
462
+    'info_signatures' => 'signatures',
463
+    'info_site' => 'Site',
464
+    'info_site_2' => 'site :',
465
+    'info_site_min' => 'site',
466
+    'info_site_reference_2' => 'Site référencé',
467
+    'info_site_web' => 'Site Web :',
468
+    'info_sites' => 'sites',
469
+    'info_sites_lies_mot' => 'Les sites référencés liés à ce mot-clé',
470
+    'info_sites_proxy' => 'Utiliser un proxy',
471
+    'info_sites_trouves' => 'Sites trouvés',
472
+    'info_sous_titre' => 'Soustitre :',
473
+    'info_statut_administrateur' => 'Administrateur',
474
+    'info_statut_auteur' => 'Statut de cet auteur :',
475
+    'info_statut_auteur_2' => 'Je suis',
476
+    'info_statut_auteur_a_confirmer' => 'Inscription à confirmer',
477
+    'info_statut_auteur_autre' => 'Autre statut :',
478
+    'info_statut_redacteur' => 'Rédacteur',
479
+    'info_statut_utilisateurs_1' => 'Statut par défaut des utilisateurs importés',
480
+    'info_statut_utilisateurs_2' => 'Choisis le statut qui est attribué aux personnes présentes dans l’annuaire LDAP lorsqu’elles se connectent pour la première fois. Tu pourras par la suite modifier cette valeur pour chaque auteur au cas par cas.',
481
+    'info_suivi_activite' => 'Suivi de l’activité éditoriale',
482
+    'info_surtitre' => 'Surtitre :',
483
+    'info_syndication_integrale_1' => 'Ton site propose des fichiers de syndication (voir « <a href="@url@">@titre@</a> »).',
484
+    'info_syndication_integrale_2' => 'Souhaites-tu transmettre les articles dans leur intégralité, ou ne diffuser qu’un résumé de quelques centaines de caractères ?',
485
+    'info_table_prefix' => 'Tu peux modifier le préfixe du nom des tables de données (ceci est indispensable lorsque l’on souhaite installer plusieurs sites dans la même base de données). Ce préfixe s’écrit en lettres minuscules, non accentuées, et sans espace.',
486
+    'info_taille_maximale_images' => 'SPIP va tester la taille maximale des images qu’il peut traiter (en millions de pixels).<br /> Les images plus grandes ne seront pas réduites.',
487
+    'info_taille_maximale_vignette' => 'Taille maximale des vignettes générées par le système :',
488
+    'info_terminer_installation' => 'Tu peux maintenant terminer la procédure d’installation standard.',
489
+    'info_texte' => 'Texte',
490
+    'info_texte_explicatif' => 'Texte explicatif',
491
+    'info_texte_long' => '(le texte est long : il apparaît donc en plusieurs parties qui seront recollées après validation.)',
492
+    'info_texte_message' => 'Texte de ton message',
493
+    'info_texte_message_02' => 'Texte du message',
494
+    'info_titre' => 'Titre :',
495
+    'info_total' => 'total :',
496
+    'info_tous_articles_en_redaction' => 'Tous les articles en cours de rédaction',
497
+    'info_tous_articles_presents' => 'Tous les articles publiés dans cette rubrique',
498
+    'info_tous_articles_refuses' => 'Tous les articles refusés',
499
+    'info_tous_les' => 'tous les :',
500
+    'info_tout_site' => 'Tout le site',
501
+    'info_tout_site2' => 'L’article n’a pas été traduit dans cette langue.',
502
+    'info_tout_site3' => 'L’article a été traduit dans cette langue, mais des modifications ont été apportées par la suite à l’article de référence. La traduction doit être mise à jour.',
503
+    'info_tout_site4' => 'L’article a été traduit dans cette langue, et la traduction est à jour.',
504
+    'info_tout_site5' => 'Article original.',
505
+    'info_tout_site6' => '<b>Attention :</b> seuls les articles originaux sont affichés.
506 506
 Les traductions sont associées à l’original,
507 507
 dans une couleur qui indique leur état :',
508
-	'info_traductions' => 'Traductions',
509
-	'info_travail_colaboratif' => 'Travail collaboratif sur les articles',
510
-	'info_un_article' => 'un article,',
511
-	'info_un_site' => 'un site,',
512
-	'info_une_rubrique' => 'une rubrique,',
513
-	'info_une_rubrique_02' => '1 rubrique',
514
-	'info_url' => 'URL :',
515
-	'info_url_proxy' => 'URL du proxy',
516
-	'info_url_proxy_pas_conforme' => 'l’URL du proxy n’est pas valide.',
517
-	'info_url_site_pas_conforme' => 'l’URL du site n’est pas valide.',
518
-	'info_url_test_proxy' => 'URL de test',
519
-	'info_urlref' => 'Lien hypertexte :',
520
-	'info_utilisation_spip' => 'Tu peux maintenant commencer à utiliser le système de publication assistée...',
521
-	'info_visites_par_mois' => 'Affichage par mois :',
522
-	'info_visiteur_1' => 'Visiteur',
523
-	'info_visiteur_2' => 'du site public',
524
-	'info_visiteurs' => 'Visiteurs',
525
-	'info_visiteurs_02' => 'Visiteurs du site public',
526
-	'info_webmestre_forces' => 'Les webmestres sont actuellement définis dans <tt>@file_options@</tt>.',
527
-	'install_adresse_base_hebergeur' => 'Adresse de la base de données attribuée par l’hébergeur',
528
-	'install_connect_ok' => 'La nouvelle base a bien été déclarée sous le nom de serveur @connect@.',
529
-	'install_echec_annonce' => 'L’installation va probablement échouer, ou aboutir à un site non fonctionnel...',
530
-	'install_extension_mbstring' => 'SPIP ne fonctionne pas avec :',
531
-	'install_extension_php_obligatoire' => 'SPIP exige l’extension php :',
532
-	'install_login_base_hebergeur' => 'Login de connexion attribué par l’hébergeur',
533
-	'install_nom_base_hebergeur' => 'Nom de la base attribué par l’hébergeur :',
534
-	'install_pas_table' => 'Base actuellement sans tables',
535
-	'install_pass_base_hebergeur' => 'Mot de passe de connexion attribué par l’hébergeur',
536
-	'install_php_version' => 'PHP version @version@ insuffisant (minimum = @minimum@)',
537
-	'install_select_langue' => 'Sélectionne une langue puis clique sur le bouton « suivant » pour lancer la procédure d’installation.',
538
-	'install_select_type_db' => 'Indiquer le type de base de données :',
539
-	'install_select_type_mysql' => 'MySQL',
540
-	'install_select_type_pg' => 'PostgreSQL',
541
-	'install_select_type_sqlite2' => 'SQLite 2',
542
-	'install_select_type_sqlite3' => 'SQLite 3',
543
-	'install_serveur_hebergeur' => 'Serveur de base de données attribué par l’hébergeur',
544
-	'install_table_prefix_hebergeur' => 'Préfixe de table attribué par l’hébergeur :',
545
-	'install_tables_base' => 'Tables de la base',
546
-	'install_types_db_connus' => 'SPIP sait utiliser <b>MySQL</b> (le plus répandu) et <b>SQLite</b>.',
547
-	'install_types_db_connus_avertissement' => 'Le support de <b>PostgreSQL</b> est également proposé à titre experimental',
548
-	'instituer_erreur_statut_a_change' => 'Le statut a déjà été modifié',
549
-	'instituer_erreur_statut_non_autorise' => 'Tu ne peux pas choisir ce statut',
550
-	'intem_redacteur' => 'rédacteur',
551
-	'intitule_licence' => 'Licence',
552
-	'item_accepter_inscriptions' => 'Accepter les inscriptions',
553
-	'item_activer_messages_avertissement' => 'Activer les messages d’avertissement',
554
-	'item_administrateur_2' => 'administrateur',
555
-	'item_afficher_calendrier' => 'Afficher dans le calendrier',
556
-	'item_autoriser_syndication_integrale' => 'Diffuser l’intégralité des articles dans les fichiers de syndication',
557
-	'item_choix_administrateurs' => 'les administrateurs',
558
-	'item_choix_generation_miniature' => 'Générer automatiquement les miniatures des images.',
559
-	'item_choix_non_generation_miniature' => 'Ne pas générer de miniatures des images.',
560
-	'item_choix_redacteurs' => 'les rédacteurs',
561
-	'item_choix_visiteurs' => 'les visiteurs du site public',
562
-	'item_creer_fichiers_authent' => 'Créer les fichiers .htpasswd',
563
-	'item_login' => 'Login',
564
-	'item_messagerie_agenda' => 'Activer la messagerie et l’agenda',
565
-	'item_mots_cles_association_articles' => 'aux articles',
566
-	'item_mots_cles_association_rubriques' => 'aux rubriques',
567
-	'item_mots_cles_association_sites' => 'aux sites référencés ou syndiqués.',
568
-	'item_non' => 'Non',
569
-	'item_non_accepter_inscriptions' => 'Ne pas accepter les inscriptions',
570
-	'item_non_activer_messages_avertissement' => 'Pas de messages d’avertissement',
571
-	'item_non_afficher_calendrier' => 'Ne pas afficher dans le calendrier',
572
-	'item_non_autoriser_syndication_integrale' => 'Ne diffuser qu’un résumé',
573
-	'item_non_creer_fichiers_authent' => 'Ne pas créer ces fichiers',
574
-	'item_non_messagerie_agenda' => 'Désactiver la messagerie et l’agenda',
575
-	'item_non_publier_articles' => 'Ne pas publier les articles avant la date de publication fixée.',
576
-	'item_nouvel_auteur' => 'Nouvel auteur',
577
-	'item_nouvelle_rubrique' => 'Nouvelle rubrique',
578
-	'item_oui' => 'Oui',
579
-	'item_publier_articles' => 'Publier les articles, quelle que soit leur date de publication.',
580
-	'item_reponse_article' => 'Réponse à l’article',
581
-	'item_version_html_max_html4' => 'Se limiter au HTML4 sur le site public',
582
-	'item_version_html_max_html5' => 'Permettre le HTML5',
583
-	'item_visiteur' => 'visiteur',
508
+    'info_traductions' => 'Traductions',
509
+    'info_travail_colaboratif' => 'Travail collaboratif sur les articles',
510
+    'info_un_article' => 'un article,',
511
+    'info_un_site' => 'un site,',
512
+    'info_une_rubrique' => 'une rubrique,',
513
+    'info_une_rubrique_02' => '1 rubrique',
514
+    'info_url' => 'URL :',
515
+    'info_url_proxy' => 'URL du proxy',
516
+    'info_url_proxy_pas_conforme' => 'l’URL du proxy n’est pas valide.',
517
+    'info_url_site_pas_conforme' => 'l’URL du site n’est pas valide.',
518
+    'info_url_test_proxy' => 'URL de test',
519
+    'info_urlref' => 'Lien hypertexte :',
520
+    'info_utilisation_spip' => 'Tu peux maintenant commencer à utiliser le système de publication assistée...',
521
+    'info_visites_par_mois' => 'Affichage par mois :',
522
+    'info_visiteur_1' => 'Visiteur',
523
+    'info_visiteur_2' => 'du site public',
524
+    'info_visiteurs' => 'Visiteurs',
525
+    'info_visiteurs_02' => 'Visiteurs du site public',
526
+    'info_webmestre_forces' => 'Les webmestres sont actuellement définis dans <tt>@file_options@</tt>.',
527
+    'install_adresse_base_hebergeur' => 'Adresse de la base de données attribuée par l’hébergeur',
528
+    'install_connect_ok' => 'La nouvelle base a bien été déclarée sous le nom de serveur @connect@.',
529
+    'install_echec_annonce' => 'L’installation va probablement échouer, ou aboutir à un site non fonctionnel...',
530
+    'install_extension_mbstring' => 'SPIP ne fonctionne pas avec :',
531
+    'install_extension_php_obligatoire' => 'SPIP exige l’extension php :',
532
+    'install_login_base_hebergeur' => 'Login de connexion attribué par l’hébergeur',
533
+    'install_nom_base_hebergeur' => 'Nom de la base attribué par l’hébergeur :',
534
+    'install_pas_table' => 'Base actuellement sans tables',
535
+    'install_pass_base_hebergeur' => 'Mot de passe de connexion attribué par l’hébergeur',
536
+    'install_php_version' => 'PHP version @version@ insuffisant (minimum = @minimum@)',
537
+    'install_select_langue' => 'Sélectionne une langue puis clique sur le bouton « suivant » pour lancer la procédure d’installation.',
538
+    'install_select_type_db' => 'Indiquer le type de base de données :',
539
+    'install_select_type_mysql' => 'MySQL',
540
+    'install_select_type_pg' => 'PostgreSQL',
541
+    'install_select_type_sqlite2' => 'SQLite 2',
542
+    'install_select_type_sqlite3' => 'SQLite 3',
543
+    'install_serveur_hebergeur' => 'Serveur de base de données attribué par l’hébergeur',
544
+    'install_table_prefix_hebergeur' => 'Préfixe de table attribué par l’hébergeur :',
545
+    'install_tables_base' => 'Tables de la base',
546
+    'install_types_db_connus' => 'SPIP sait utiliser <b>MySQL</b> (le plus répandu) et <b>SQLite</b>.',
547
+    'install_types_db_connus_avertissement' => 'Le support de <b>PostgreSQL</b> est également proposé à titre experimental',
548
+    'instituer_erreur_statut_a_change' => 'Le statut a déjà été modifié',
549
+    'instituer_erreur_statut_non_autorise' => 'Tu ne peux pas choisir ce statut',
550
+    'intem_redacteur' => 'rédacteur',
551
+    'intitule_licence' => 'Licence',
552
+    'item_accepter_inscriptions' => 'Accepter les inscriptions',
553
+    'item_activer_messages_avertissement' => 'Activer les messages d’avertissement',
554
+    'item_administrateur_2' => 'administrateur',
555
+    'item_afficher_calendrier' => 'Afficher dans le calendrier',
556
+    'item_autoriser_syndication_integrale' => 'Diffuser l’intégralité des articles dans les fichiers de syndication',
557
+    'item_choix_administrateurs' => 'les administrateurs',
558
+    'item_choix_generation_miniature' => 'Générer automatiquement les miniatures des images.',
559
+    'item_choix_non_generation_miniature' => 'Ne pas générer de miniatures des images.',
560
+    'item_choix_redacteurs' => 'les rédacteurs',
561
+    'item_choix_visiteurs' => 'les visiteurs du site public',
562
+    'item_creer_fichiers_authent' => 'Créer les fichiers .htpasswd',
563
+    'item_login' => 'Login',
564
+    'item_messagerie_agenda' => 'Activer la messagerie et l’agenda',
565
+    'item_mots_cles_association_articles' => 'aux articles',
566
+    'item_mots_cles_association_rubriques' => 'aux rubriques',
567
+    'item_mots_cles_association_sites' => 'aux sites référencés ou syndiqués.',
568
+    'item_non' => 'Non',
569
+    'item_non_accepter_inscriptions' => 'Ne pas accepter les inscriptions',
570
+    'item_non_activer_messages_avertissement' => 'Pas de messages d’avertissement',
571
+    'item_non_afficher_calendrier' => 'Ne pas afficher dans le calendrier',
572
+    'item_non_autoriser_syndication_integrale' => 'Ne diffuser qu’un résumé',
573
+    'item_non_creer_fichiers_authent' => 'Ne pas créer ces fichiers',
574
+    'item_non_messagerie_agenda' => 'Désactiver la messagerie et l’agenda',
575
+    'item_non_publier_articles' => 'Ne pas publier les articles avant la date de publication fixée.',
576
+    'item_nouvel_auteur' => 'Nouvel auteur',
577
+    'item_nouvelle_rubrique' => 'Nouvelle rubrique',
578
+    'item_oui' => 'Oui',
579
+    'item_publier_articles' => 'Publier les articles, quelle que soit leur date de publication.',
580
+    'item_reponse_article' => 'Réponse à l’article',
581
+    'item_version_html_max_html4' => 'Se limiter au HTML4 sur le site public',
582
+    'item_version_html_max_html5' => 'Permettre le HTML5',
583
+    'item_visiteur' => 'visiteur',
584 584
 
585
-	// J
586
-	'jour_non_connu_nc' => 'n.c.',
585
+    // J
586
+    'jour_non_connu_nc' => 'n.c.',
587 587
 
588
-	// L
589
-	'label_bando_outils' => 'Barre d’outils',
590
-	'label_bando_outils_afficher' => 'Afficher les outils',
591
-	'label_bando_outils_masquer' => 'Masquer les outils',
592
-	'label_choix_langue' => 'Choisis ta langue',
593
-	'label_nom_fichier_connect' => 'Indiques le nom utilisé pour ce serveur',
594
-	'label_slogan_site' => 'Slogan du site',
595
-	'label_taille_ecran' => 'Largeur de l’écran',
596
-	'label_texte_et_icones_navigation' => 'Menu de navigation',
597
-	'label_texte_et_icones_page' => 'Affichage dans la page',
598
-	'ldap_correspondance' => 'héritage du champ @champ@',
599
-	'ldap_correspondance_1' => 'Héritage des champs LDAP',
600
-	'ldap_correspondance_2' => 'Pour chacun des champs SPIP suivants, indiquer le nom du champ LDAP correspondant. Laisser vide pour ne pas le remplir, séparer par des espaces ou des virgules pour essayer plusieurs champs LDAP.',
601
-	'lien_ajouter_auteur' => 'Ajouter cet auteur',
602
-	'lien_ajouter_une_rubrique' => 'Ajouter cette rubrique',
603
-	'lien_email' => 'email',
604
-	'lien_nom_site' => 'NOM DU SITE :',
605
-	'lien_rapide_contenu' => 'Aller au contenu',
606
-	'lien_rapide_navigation' => 'Aller à la navigation',
607
-	'lien_rapide_recherche' => 'Aller à la recherche',
608
-	'lien_retirer_auteur' => 'Retirer l’auteur',
609
-	'lien_retirer_rubrique' => 'Retirer la rubrique',
610
-	'lien_retirer_tous_auteurs' => 'Retirer tous les auteurs',
611
-	'lien_retirer_toutes_rubriques' => 'Retirer toutes les rubriques',
612
-	'lien_site' => 'site',
613
-	'lien_tout_decocher' => 'Tout décocher',
614
-	'lien_tout_deplier' => 'Tout déplier',
615
-	'lien_tout_replier' => 'Tout replier',
616
-	'lien_tout_supprimer' => 'Tout supprimer',
617
-	'lien_trier_nom' => 'Trier par nom',
618
-	'lien_trier_nombre_articles' => 'Trier par nombre d’articles',
619
-	'lien_trier_statut' => 'Trier par statut',
620
-	'lien_voir_en_ligne' => 'VOIR EN LIGNE :',
621
-	'logo_article' => 'Logo de l’article',
622
-	'logo_auteur' => 'Logo de l’auteur',
623
-	'logo_rubrique' => 'Logo de la rubrique',
624
-	'logo_site' => 'Logo de ce site',
625
-	'logo_standard_rubrique' => 'Logo standard des rubriques',
626
-	'logo_survol' => 'Logo pour survol',
588
+    // L
589
+    'label_bando_outils' => 'Barre d’outils',
590
+    'label_bando_outils_afficher' => 'Afficher les outils',
591
+    'label_bando_outils_masquer' => 'Masquer les outils',
592
+    'label_choix_langue' => 'Choisis ta langue',
593
+    'label_nom_fichier_connect' => 'Indiques le nom utilisé pour ce serveur',
594
+    'label_slogan_site' => 'Slogan du site',
595
+    'label_taille_ecran' => 'Largeur de l’écran',
596
+    'label_texte_et_icones_navigation' => 'Menu de navigation',
597
+    'label_texte_et_icones_page' => 'Affichage dans la page',
598
+    'ldap_correspondance' => 'héritage du champ @champ@',
599
+    'ldap_correspondance_1' => 'Héritage des champs LDAP',
600
+    'ldap_correspondance_2' => 'Pour chacun des champs SPIP suivants, indiquer le nom du champ LDAP correspondant. Laisser vide pour ne pas le remplir, séparer par des espaces ou des virgules pour essayer plusieurs champs LDAP.',
601
+    'lien_ajouter_auteur' => 'Ajouter cet auteur',
602
+    'lien_ajouter_une_rubrique' => 'Ajouter cette rubrique',
603
+    'lien_email' => 'email',
604
+    'lien_nom_site' => 'NOM DU SITE :',
605
+    'lien_rapide_contenu' => 'Aller au contenu',
606
+    'lien_rapide_navigation' => 'Aller à la navigation',
607
+    'lien_rapide_recherche' => 'Aller à la recherche',
608
+    'lien_retirer_auteur' => 'Retirer l’auteur',
609
+    'lien_retirer_rubrique' => 'Retirer la rubrique',
610
+    'lien_retirer_tous_auteurs' => 'Retirer tous les auteurs',
611
+    'lien_retirer_toutes_rubriques' => 'Retirer toutes les rubriques',
612
+    'lien_site' => 'site',
613
+    'lien_tout_decocher' => 'Tout décocher',
614
+    'lien_tout_deplier' => 'Tout déplier',
615
+    'lien_tout_replier' => 'Tout replier',
616
+    'lien_tout_supprimer' => 'Tout supprimer',
617
+    'lien_trier_nom' => 'Trier par nom',
618
+    'lien_trier_nombre_articles' => 'Trier par nombre d’articles',
619
+    'lien_trier_statut' => 'Trier par statut',
620
+    'lien_voir_en_ligne' => 'VOIR EN LIGNE :',
621
+    'logo_article' => 'Logo de l’article',
622
+    'logo_auteur' => 'Logo de l’auteur',
623
+    'logo_rubrique' => 'Logo de la rubrique',
624
+    'logo_site' => 'Logo de ce site',
625
+    'logo_standard_rubrique' => 'Logo standard des rubriques',
626
+    'logo_survol' => 'Logo pour survol',
627 627
 
628
-	// M
629
-	'menu_aide_installation_choix_base' => 'Choix de ta base',
630
-	'module_fichier_langue' => 'Fichier de langue',
631
-	'module_raccourci' => 'Raccourci',
632
-	'module_texte_affiche' => 'Texte affiché',
633
-	'module_texte_explicatif' => 'Tu peux insérer les raccourcis suivants dans les squelettes de ton site public. Ils seront automatiquement traduits dans les différentes langues pour lesquelles il existe un fichier de langue.',
634
-	'module_texte_traduction' => 'Le fichier de langue « @module@ » est disponible en :',
635
-	'mois_non_connu' => 'non connu',
628
+    // M
629
+    'menu_aide_installation_choix_base' => 'Choix de ta base',
630
+    'module_fichier_langue' => 'Fichier de langue',
631
+    'module_raccourci' => 'Raccourci',
632
+    'module_texte_affiche' => 'Texte affiché',
633
+    'module_texte_explicatif' => 'Tu peux insérer les raccourcis suivants dans les squelettes de ton site public. Ils seront automatiquement traduits dans les différentes langues pour lesquelles il existe un fichier de langue.',
634
+    'module_texte_traduction' => 'Le fichier de langue « @module@ » est disponible en :',
635
+    'mois_non_connu' => 'non connu',
636 636
 
637
-	// N
638
-	'nouvelle_version_spip' => 'La mise à jour @version@ de SPIP est disponible',
639
-	'nouvelle_version_spip_majeure' => 'Une nouvelle version SPIP @version@ est disponible',
637
+    // N
638
+    'nouvelle_version_spip' => 'La mise à jour @version@ de SPIP est disponible',
639
+    'nouvelle_version_spip_majeure' => 'Une nouvelle version SPIP @version@ est disponible',
640 640
 
641
-	// O
642
-	'onglet_contenu' => 'Contenu',
643
-	'onglet_declarer_une_autre_base' => 'Déclarer une autre base',
644
-	'onglet_discuter' => 'Discuter',
645
-	'onglet_interactivite' => 'Interactivité',
646
-	'onglet_proprietes' => 'Propriétés',
647
-	'onglet_repartition_actuelle' => 'actuellement',
648
-	'onglet_sous_rubriques' => 'Sous-rubriques',
641
+    // O
642
+    'onglet_contenu' => 'Contenu',
643
+    'onglet_declarer_une_autre_base' => 'Déclarer une autre base',
644
+    'onglet_discuter' => 'Discuter',
645
+    'onglet_interactivite' => 'Interactivité',
646
+    'onglet_proprietes' => 'Propriétés',
647
+    'onglet_repartition_actuelle' => 'actuellement',
648
+    'onglet_sous_rubriques' => 'Sous-rubriques',
649 649
 
650
-	// P
651
-	'page_pas_proxy' => 'Cette page ne doit pas passer par le proxy',
652
-	'pas_de_proxy_pour' => 'Au besoin, indique les machines ou domaines pour lesquels ce proxy ne doit pas s’appliquer (par exemple : @exemple@)',
653
-	'phpinfo' => 'Configuration PHP',
654
-	'plugin_charge_paquet' => 'Chargement du paquet @name@',
655
-	'plugin_charger' => 'Télécharger',
656
-	'plugin_erreur_charger' => 'erreur : impossible de charger @zip@',
657
-	'plugin_erreur_droit1' => 'Le répertoire <code>@dest@</code> n’est pas accessible en écriture.',
658
-	'plugin_erreur_droit2' => 'Ça serait bien que tu vérifies les droits sur ce répertoire (et le crées le cas échéant), ou alors installe les fichiers par FTP.',
659
-	'plugin_erreur_zip' => 'échec pclzip : erreur @status@',
660
-	'plugin_etat_developpement' => 'en développement',
661
-	'plugin_etat_experimental' => 'expérimental',
662
-	'plugin_etat_stable' => 'stable',
663
-	'plugin_etat_test' => 'en test',
664
-	'plugin_impossible_activer' => 'Impossible d’activer le plugin @plugin@',
665
-	'plugin_info_automatique1' => 'Si tu souhaites autoriser l’installation automatique des plugins, il faut :',
666
-	'plugin_info_automatique1_lib' => 'Si tu souhaites autoriser l’installation automatique de cette librairie, alors :',
667
-	'plugin_info_automatique2' => 'créer un répertoire <code>@rep@</code> ;',
668
-	'plugin_info_automatique3' => 'vérifier que le serveur est autorisé à écrire dans ce répertoire.',
669
-	'plugin_info_automatique_creer' => 'à créer à la racine du site.',
670
-	'plugin_info_automatique_exemples' => 'exemples :',
671
-	'plugin_info_automatique_ftp' => 'Tu peux installer des plugins, par FTP, dans le répertoire <tt>@rep@</tt>',
672
-	'plugin_info_automatique_lib' => 'Certains plugins demandent aussi à pouvoir télécharger des fichiers dans le répertoire <code>lib/</code>, à créer le cas échéant à la racine du site.',
673
-	'plugin_info_automatique_liste' => 'Tes listes de plugins :',
674
-	'plugin_info_automatique_liste_officielle' => 'les plugins officiels',
675
-	'plugin_info_automatique_liste_update' => 'Mettre à jour les listes',
676
-	'plugin_info_automatique_ou' => 'ou...',
677
-	'plugin_info_automatique_select' => 'Sélectionne ci-dessous un plugin : SPIP le téléchargera et l’installera dans le répertoire <code>@rep@</code> ; si ce plugin existe déjà, il sera mis à jour.',
678
-	'plugin_info_credit' => 'Crédits',
679
-	'plugin_info_erreur_xml' => 'La déclaration de ce plugin est incorrecte',
680
-	'plugin_info_install_ok' => 'Installation réussie',
681
-	'plugin_info_necessite' => 'Nécessite :',
682
-	'plugin_info_non_compatible_spip' => 'Ce plugin n’est pas compatible avec cette version de SPIP',
683
-	'plugin_info_plugins_dist_1' => 'Les plugins ci-dessous sont chargés et activés dans le répertoire @plugins_dist@.',
684
-	'plugin_info_plugins_dist_2' => 'Ils ne sont pas désactivables.',
685
-	'plugin_info_telecharger' => 'à télécharger depuis @url@ et à installer dans @rep@',
686
-	'plugin_info_upgrade_ok' => 'Mise à jour réussie',
687
-	'plugin_librairies_installees' => 'Librairies installées',
688
-	'plugin_necessite_extension_php' => 'Nécessite l’extension PHP @plugin@ en version @version@.',
689
-	'plugin_necessite_extension_php_sans_version' => 'Nécessite l’extension PHP @plugin@',
690
-	'plugin_necessite_lib' => 'Ce plugin nécessite la librairie @lib@',
691
-	'plugin_necessite_php' => 'Nécessite @plugin@ en version @version@.',
692
-	'plugin_necessite_plugin' => 'Nécessite le plugin @plugin@ en version @version@.',
693
-	'plugin_necessite_plugin_sans_version' => 'Nécessite le plugin @plugin@',
694
-	'plugin_necessite_spip' => 'Nécessite SPIP en version @version@ minimum.',
695
-	'plugin_source' => 'source : ',
696
-	'plugin_titre_automatique' => 'Installation automatique',
697
-	'plugin_titre_automatique_ajouter' => 'Ajouter des plugins',
698
-	'plugin_titre_installation' => 'Installation du plugin @plugin@',
699
-	'plugin_titre_modifier' => 'Mes plugins',
700
-	'plugin_utilise_extension_php' => 'Utilise l’extension PHP @plugin@ en version @version@.',
701
-	'plugin_utilise_php' => 'Utilise @plugin@ en version @version@.',
702
-	'plugin_utilise_plugin' => 'Utilise le plugin @plugin@ en version @version@.',
703
-	'plugin_zip_active' => 'Continuez pour l’activer',
704
-	'plugin_zip_adresse' => 'indique ci-dessous l’adresse d’un fichier zip de plugin à télécharger, ou encore l’adresse d’une liste de plugins.',
705
-	'plugin_zip_adresse_champ' => 'Adresse du plugin ou de la liste ',
706
-	'plugin_zip_content' => 'Il contient les fichiers suivants (@taille@),<br />prêts à installer dans le répertoire <code>@rep@</code>',
707
-	'plugin_zip_installe_finie' => 'Le fichier @zip@ a été décompacté et installé.',
708
-	'plugin_zip_installe_rep_finie' => 'Le fichier @zip@ a été décompacté et installé dans le répertoire @rep@',
709
-	'plugin_zip_installer' => 'Tu peux maintenant l’installer.',
710
-	'plugin_zip_telecharge' => 'Le fichier @zip@ a été téléchargé',
711
-	'plugins_actif_aucun' => 'Aucun plugin activé.',
712
-	'plugins_actif_un' => 'Un plugin activé.',
713
-	'plugins_actifs' => '@count@ plugins activés.',
714
-	'plugins_actifs_liste' => 'Actifs',
715
-	'plugins_compte' => '@count@ plugins',
716
-	'plugins_disponible_un' => 'Un plugin disponible.',
717
-	'plugins_disponibles' => '@count@ plugins disponibles.',
718
-	'plugins_erreur' => 'Erreur dans les plugins : @plugins@',
719
-	'plugins_liste' => 'Liste des plugins',
720
-	'plugins_liste_dist' => 'Plugins verrouillés',
721
-	'plugins_recents' => 'Plugins récents.',
722
-	'plugins_tous_liste' => 'Tous',
723
-	'plugins_vue_hierarchie' => 'Hiérarchie',
724
-	'plugins_vue_liste' => 'Liste',
725
-	'protocole_ldap' => 'Version du protocole :',
650
+    // P
651
+    'page_pas_proxy' => 'Cette page ne doit pas passer par le proxy',
652
+    'pas_de_proxy_pour' => 'Au besoin, indique les machines ou domaines pour lesquels ce proxy ne doit pas s’appliquer (par exemple : @exemple@)',
653
+    'phpinfo' => 'Configuration PHP',
654
+    'plugin_charge_paquet' => 'Chargement du paquet @name@',
655
+    'plugin_charger' => 'Télécharger',
656
+    'plugin_erreur_charger' => 'erreur : impossible de charger @zip@',
657
+    'plugin_erreur_droit1' => 'Le répertoire <code>@dest@</code> n’est pas accessible en écriture.',
658
+    'plugin_erreur_droit2' => 'Ça serait bien que tu vérifies les droits sur ce répertoire (et le crées le cas échéant), ou alors installe les fichiers par FTP.',
659
+    'plugin_erreur_zip' => 'échec pclzip : erreur @status@',
660
+    'plugin_etat_developpement' => 'en développement',
661
+    'plugin_etat_experimental' => 'expérimental',
662
+    'plugin_etat_stable' => 'stable',
663
+    'plugin_etat_test' => 'en test',
664
+    'plugin_impossible_activer' => 'Impossible d’activer le plugin @plugin@',
665
+    'plugin_info_automatique1' => 'Si tu souhaites autoriser l’installation automatique des plugins, il faut :',
666
+    'plugin_info_automatique1_lib' => 'Si tu souhaites autoriser l’installation automatique de cette librairie, alors :',
667
+    'plugin_info_automatique2' => 'créer un répertoire <code>@rep@</code> ;',
668
+    'plugin_info_automatique3' => 'vérifier que le serveur est autorisé à écrire dans ce répertoire.',
669
+    'plugin_info_automatique_creer' => 'à créer à la racine du site.',
670
+    'plugin_info_automatique_exemples' => 'exemples :',
671
+    'plugin_info_automatique_ftp' => 'Tu peux installer des plugins, par FTP, dans le répertoire <tt>@rep@</tt>',
672
+    'plugin_info_automatique_lib' => 'Certains plugins demandent aussi à pouvoir télécharger des fichiers dans le répertoire <code>lib/</code>, à créer le cas échéant à la racine du site.',
673
+    'plugin_info_automatique_liste' => 'Tes listes de plugins :',
674
+    'plugin_info_automatique_liste_officielle' => 'les plugins officiels',
675
+    'plugin_info_automatique_liste_update' => 'Mettre à jour les listes',
676
+    'plugin_info_automatique_ou' => 'ou...',
677
+    'plugin_info_automatique_select' => 'Sélectionne ci-dessous un plugin : SPIP le téléchargera et l’installera dans le répertoire <code>@rep@</code> ; si ce plugin existe déjà, il sera mis à jour.',
678
+    'plugin_info_credit' => 'Crédits',
679
+    'plugin_info_erreur_xml' => 'La déclaration de ce plugin est incorrecte',
680
+    'plugin_info_install_ok' => 'Installation réussie',
681
+    'plugin_info_necessite' => 'Nécessite :',
682
+    'plugin_info_non_compatible_spip' => 'Ce plugin n’est pas compatible avec cette version de SPIP',
683
+    'plugin_info_plugins_dist_1' => 'Les plugins ci-dessous sont chargés et activés dans le répertoire @plugins_dist@.',
684
+    'plugin_info_plugins_dist_2' => 'Ils ne sont pas désactivables.',
685
+    'plugin_info_telecharger' => 'à télécharger depuis @url@ et à installer dans @rep@',
686
+    'plugin_info_upgrade_ok' => 'Mise à jour réussie',
687
+    'plugin_librairies_installees' => 'Librairies installées',
688
+    'plugin_necessite_extension_php' => 'Nécessite l’extension PHP @plugin@ en version @version@.',
689
+    'plugin_necessite_extension_php_sans_version' => 'Nécessite l’extension PHP @plugin@',
690
+    'plugin_necessite_lib' => 'Ce plugin nécessite la librairie @lib@',
691
+    'plugin_necessite_php' => 'Nécessite @plugin@ en version @version@.',
692
+    'plugin_necessite_plugin' => 'Nécessite le plugin @plugin@ en version @version@.',
693
+    'plugin_necessite_plugin_sans_version' => 'Nécessite le plugin @plugin@',
694
+    'plugin_necessite_spip' => 'Nécessite SPIP en version @version@ minimum.',
695
+    'plugin_source' => 'source : ',
696
+    'plugin_titre_automatique' => 'Installation automatique',
697
+    'plugin_titre_automatique_ajouter' => 'Ajouter des plugins',
698
+    'plugin_titre_installation' => 'Installation du plugin @plugin@',
699
+    'plugin_titre_modifier' => 'Mes plugins',
700
+    'plugin_utilise_extension_php' => 'Utilise l’extension PHP @plugin@ en version @version@.',
701
+    'plugin_utilise_php' => 'Utilise @plugin@ en version @version@.',
702
+    'plugin_utilise_plugin' => 'Utilise le plugin @plugin@ en version @version@.',
703
+    'plugin_zip_active' => 'Continuez pour l’activer',
704
+    'plugin_zip_adresse' => 'indique ci-dessous l’adresse d’un fichier zip de plugin à télécharger, ou encore l’adresse d’une liste de plugins.',
705
+    'plugin_zip_adresse_champ' => 'Adresse du plugin ou de la liste ',
706
+    'plugin_zip_content' => 'Il contient les fichiers suivants (@taille@),<br />prêts à installer dans le répertoire <code>@rep@</code>',
707
+    'plugin_zip_installe_finie' => 'Le fichier @zip@ a été décompacté et installé.',
708
+    'plugin_zip_installe_rep_finie' => 'Le fichier @zip@ a été décompacté et installé dans le répertoire @rep@',
709
+    'plugin_zip_installer' => 'Tu peux maintenant l’installer.',
710
+    'plugin_zip_telecharge' => 'Le fichier @zip@ a été téléchargé',
711
+    'plugins_actif_aucun' => 'Aucun plugin activé.',
712
+    'plugins_actif_un' => 'Un plugin activé.',
713
+    'plugins_actifs' => '@count@ plugins activés.',
714
+    'plugins_actifs_liste' => 'Actifs',
715
+    'plugins_compte' => '@count@ plugins',
716
+    'plugins_disponible_un' => 'Un plugin disponible.',
717
+    'plugins_disponibles' => '@count@ plugins disponibles.',
718
+    'plugins_erreur' => 'Erreur dans les plugins : @plugins@',
719
+    'plugins_liste' => 'Liste des plugins',
720
+    'plugins_liste_dist' => 'Plugins verrouillés',
721
+    'plugins_recents' => 'Plugins récents.',
722
+    'plugins_tous_liste' => 'Tous',
723
+    'plugins_vue_hierarchie' => 'Hiérarchie',
724
+    'plugins_vue_liste' => 'Liste',
725
+    'protocole_ldap' => 'Version du protocole :',
726 726
 
727
-	// Q
728
-	'queue_executer_maintenant' => 'Exécuter maintenant',
729
-	'queue_info_purger' => 'Tu peux supprimer tous les travaux en attente et réinitialiser la liste avec les travaux périodiques',
730
-	'queue_nb_jobs_in_queue' => '@nb@ travaux en attente',
731
-	'queue_next_job_in_nb_sec' => 'Prochain travail dans @nb@ s',
732
-	'queue_no_job_in_queue' => 'Aucun travail en attente',
733
-	'queue_one_job_in_queue' => '1 travail en attente',
734
-	'queue_priorite_tache' => 'priorité',
735
-	'queue_purger_queue' => 'Réinitialiser la liste des travaux',
736
-	'queue_titre' => 'Liste des travaux',
727
+    // Q
728
+    'queue_executer_maintenant' => 'Exécuter maintenant',
729
+    'queue_info_purger' => 'Tu peux supprimer tous les travaux en attente et réinitialiser la liste avec les travaux périodiques',
730
+    'queue_nb_jobs_in_queue' => '@nb@ travaux en attente',
731
+    'queue_next_job_in_nb_sec' => 'Prochain travail dans @nb@ s',
732
+    'queue_no_job_in_queue' => 'Aucun travail en attente',
733
+    'queue_one_job_in_queue' => '1 travail en attente',
734
+    'queue_priorite_tache' => 'priorité',
735
+    'queue_purger_queue' => 'Réinitialiser la liste des travaux',
736
+    'queue_titre' => 'Liste des travaux',
737 737
 
738
-	// R
739
-	'repertoire_plugins' => 'Répertoire :',
740
-	'required' => ' (obligatoire)',
738
+    // R
739
+    'repertoire_plugins' => 'Répertoire :',
740
+    'required' => ' (obligatoire)',
741 741
 
742
-	// S
743
-	'sans_heure' => 'sans heure',
744
-	'statut_admin_restreint' => 'admin restreint',
745
-	'statut_webmestre' => 'webmestre',
742
+    // S
743
+    'sans_heure' => 'sans heure',
744
+    'statut_admin_restreint' => 'admin restreint',
745
+    'statut_webmestre' => 'webmestre',
746 746
 
747
-	// T
748
-	'tache_cron_asap' => 'Tâche CRON @function@ (ASAP)',
749
-	'tache_cron_secondes' => 'Tâche CRON @function@ (toutes les @nb@ s)',
750
-	'taille_cache_image' => 'Les images calculées automatiquement par SPIP (vignettes des documents, titres présentés sous forme graphique, fonctions mathématiques au format TeX...) occupent dans le répertoire @dir@ un total de @taille@.',
751
-	'taille_cache_infinie' => 'Ce site ne prévoit pas de limitation de taille du cache.',
752
-	'taille_cache_maxi' => 'SPIP essaie de limiter la taille du répertoire du cache de ce site à environ <b>@octets@</b> de données.',
753
-	'taille_cache_moins_de' => 'La taille du cache est de moins de @octets@.',
754
-	'taille_cache_octets' => 'La taille du cache est actuellement de @octets@ environ.',
755
-	'taille_cache_vide' => 'Le cache est vide.',
756
-	'taille_repertoire_cache' => 'Taille du répertoire cache',
757
-	'text_article_propose_publication' => 'Article proposé pour la publication.',
758
-	'texte_acces_ldap_anonyme_1' => 'Certains serveurs LDAP n’acceptent aucun accès anonyme. Dans ce cas il faut spécifier un identifiant d’accès initial afin de pouvoir ensuite rechercher des informations dans l’annuaire. Dans la plupart des cas néanmoins, les champs suivants pourront être laissés vides.',
759
-	'texte_admin_effacer_01' => 'Cette commande efface <i>tout</i> le contenu de la base de données,
747
+    // T
748
+    'tache_cron_asap' => 'Tâche CRON @function@ (ASAP)',
749
+    'tache_cron_secondes' => 'Tâche CRON @function@ (toutes les @nb@ s)',
750
+    'taille_cache_image' => 'Les images calculées automatiquement par SPIP (vignettes des documents, titres présentés sous forme graphique, fonctions mathématiques au format TeX...) occupent dans le répertoire @dir@ un total de @taille@.',
751
+    'taille_cache_infinie' => 'Ce site ne prévoit pas de limitation de taille du cache.',
752
+    'taille_cache_maxi' => 'SPIP essaie de limiter la taille du répertoire du cache de ce site à environ <b>@octets@</b> de données.',
753
+    'taille_cache_moins_de' => 'La taille du cache est de moins de @octets@.',
754
+    'taille_cache_octets' => 'La taille du cache est actuellement de @octets@ environ.',
755
+    'taille_cache_vide' => 'Le cache est vide.',
756
+    'taille_repertoire_cache' => 'Taille du répertoire cache',
757
+    'text_article_propose_publication' => 'Article proposé pour la publication.',
758
+    'texte_acces_ldap_anonyme_1' => 'Certains serveurs LDAP n’acceptent aucun accès anonyme. Dans ce cas il faut spécifier un identifiant d’accès initial afin de pouvoir ensuite rechercher des informations dans l’annuaire. Dans la plupart des cas néanmoins, les champs suivants pourront être laissés vides.',
759
+    'texte_admin_effacer_01' => 'Cette commande efface <i>tout</i> le contenu de la base de données,
760 760
 y compris <i>tous</i> les accès rédacteurs et administrateurs. Après l’avoir exécutée, tu devras lancer la
761 761
 réinstallation de SPIP pour recréer une nouvelle base ainsi qu’un premier accès administrateur.',
762
-	'texte_adresse_annuaire_1' => '(Si ton annuaire est installé sur la même machine que ce site Web, il s’agit probablement de « localhost ».)',
763
-	'texte_ajout_auteur' => 'L’auteur suivant a été ajouté à l’article :',
764
-	'texte_annuaire_ldap_1' => 'Si tu as accès à un annuaire (LDAP), tu peux l’utiliser pour importer automatiquement des utilisateurs sous SPIP.',
765
-	'texte_article_statut' => 'Cet article est :',
766
-	'texte_article_virtuel' => 'Article virtuel',
767
-	'texte_article_virtuel_reference' => '<b>Article virtuel :</b> article référencé dans ton site SPIP, mais redirigé vers une autre URL. Pour supprimer la redirection, efface l’URL ci-dessus.',
768
-	'texte_aucun_resultat_auteur' => 'Aucun résultat pour "@cherche_auteur@"',
769
-	'texte_auteur_messagerie' => 'Ce site peut t’indiquer en permanence la liste des rédacteurs connectés, ce qui te permet d’échanger des messages en direct. Tu peux décider de ne pas apparaître dans cette liste (tu es « invisible » pour les autres utilisateurs).',
770
-	'texte_auteurs' => 'LES AUTEURS',
771
-	'texte_choix_base_1' => 'Choisis ta base :',
772
-	'texte_choix_base_2' => 'Le serveur SQL contient plusieurs bases de données.',
773
-	'texte_choix_base_3' => '<b>Sélectionne</b> ci-après celle qui t’a été attribuée par ton hébergeur :',
774
-	'texte_choix_table_prefix' => 'Préfixe des tables :',
775
-	'texte_compatibilite_html' => 'Tu peux dire à SPIP de produire, sur le site public, du code compatible avec la norme <i>HTML4</i>, ou le laisser utiliser les possibilités plus modernes du <i>HTML5</i>.',
776
-	'texte_compatibilite_html_attention' => 'Il n’y a aucun risque à activer l’option <i>HTML5</i>, mais du coup les pages de ton site devront commencer par cette ligne pour rester valides : <code>&lt; !DOCTYPE html&gt;</code>.',
777
-	'texte_compte_element' => '@count@ élément',
778
-	'texte_compte_elements' => '@count@ éléments',
779
-	'texte_conflit_edition_correction' => 'Contrôle ci-dessous les différences entre les deux versions du texte ; tu peux aussi copier tes modifications, puis recommencer.',
780
-	'texte_connexion_mysql' => 'Consulte les informations fournies par ton hébergeur : tu dois y trouver, le  serveur de base de données qu’il propose et tes identifiants personnels pour t’y connecter.',
781
-	'texte_contenu_article' => '(Contenu de l’article en quelques mots.)',
782
-	'texte_contenu_articles' => 'Selon la maquette adoptée pour ton site, tu peux décider
762
+    'texte_adresse_annuaire_1' => '(Si ton annuaire est installé sur la même machine que ce site Web, il s’agit probablement de « localhost ».)',
763
+    'texte_ajout_auteur' => 'L’auteur suivant a été ajouté à l’article :',
764
+    'texte_annuaire_ldap_1' => 'Si tu as accès à un annuaire (LDAP), tu peux l’utiliser pour importer automatiquement des utilisateurs sous SPIP.',
765
+    'texte_article_statut' => 'Cet article est :',
766
+    'texte_article_virtuel' => 'Article virtuel',
767
+    'texte_article_virtuel_reference' => '<b>Article virtuel :</b> article référencé dans ton site SPIP, mais redirigé vers une autre URL. Pour supprimer la redirection, efface l’URL ci-dessus.',
768
+    'texte_aucun_resultat_auteur' => 'Aucun résultat pour "@cherche_auteur@"',
769
+    'texte_auteur_messagerie' => 'Ce site peut t’indiquer en permanence la liste des rédacteurs connectés, ce qui te permet d’échanger des messages en direct. Tu peux décider de ne pas apparaître dans cette liste (tu es « invisible » pour les autres utilisateurs).',
770
+    'texte_auteurs' => 'LES AUTEURS',
771
+    'texte_choix_base_1' => 'Choisis ta base :',
772
+    'texte_choix_base_2' => 'Le serveur SQL contient plusieurs bases de données.',
773
+    'texte_choix_base_3' => '<b>Sélectionne</b> ci-après celle qui t’a été attribuée par ton hébergeur :',
774
+    'texte_choix_table_prefix' => 'Préfixe des tables :',
775
+    'texte_compatibilite_html' => 'Tu peux dire à SPIP de produire, sur le site public, du code compatible avec la norme <i>HTML4</i>, ou le laisser utiliser les possibilités plus modernes du <i>HTML5</i>.',
776
+    'texte_compatibilite_html_attention' => 'Il n’y a aucun risque à activer l’option <i>HTML5</i>, mais du coup les pages de ton site devront commencer par cette ligne pour rester valides : <code>&lt; !DOCTYPE html&gt;</code>.',
777
+    'texte_compte_element' => '@count@ élément',
778
+    'texte_compte_elements' => '@count@ éléments',
779
+    'texte_conflit_edition_correction' => 'Contrôle ci-dessous les différences entre les deux versions du texte ; tu peux aussi copier tes modifications, puis recommencer.',
780
+    'texte_connexion_mysql' => 'Consulte les informations fournies par ton hébergeur : tu dois y trouver, le  serveur de base de données qu’il propose et tes identifiants personnels pour t’y connecter.',
781
+    'texte_contenu_article' => '(Contenu de l’article en quelques mots.)',
782
+    'texte_contenu_articles' => 'Selon la maquette adoptée pour ton site, tu peux décider
783 783
 		que certains éléments des articles ne sont pas utilisés.
784 784
 		Utilise la liste ci-dessous pour indiquer quels éléments sont disponibles.',
785
-	'texte_crash_base' => 'Si ta base de données a
785
+    'texte_crash_base' => 'Si ta base de données a
786 786
 			crashé, tu peux tenter une réparation
787 787
 			automatique.',
788
-	'texte_creer_rubrique' => 'Avant de pouvoir écrire des articles,<br /> tu dois créer une rubrique.',
789
-	'texte_date_creation_article' => 'DATE DE CRÉATION DE L’ARTICLE :',
790
-	'texte_date_creation_objet' => 'Date de création :', # on ajoute le ":"
791
-	'texte_date_publication_anterieure' => 'Date de rédaction antérieure :',
792
-	'texte_date_publication_anterieure_nonaffichee' => 'Ne pas afficher de date de rédaction antérieure.',
793
-	'texte_date_publication_article' => 'DATE DE PUBLICATION EN LIGNE :',
794
-	'texte_date_publication_objet' => 'Date de publication en ligne :',
795
-	'texte_definir_comme_traduction_rubrique' => 'Cette rubrique est une traduction de la rubrique numéro :',
796
-	'texte_descriptif_rapide' => 'Descriptif rapide',
797
-	'texte_effacer_base' => 'Effacer la base de données SPIP',
798
-	'texte_effacer_statistiques' => 'Effacer les statistiques',
799
-	'texte_en_cours_validation' => 'Les contenus ci-dessous sont en attente de validation.',
800
-	'texte_enrichir_mise_a_jour' => 'Tu peux enrichir la mise en page de ton texte en utilisant des « raccourcis typographiques ».',
801
-	'texte_fichier_authent' => '<b>SPIP doit-il créer les fichiers spéciaux <tt>.htpasswd</tt> et <tt>.htpasswd-admin</tt> dans le répertoire @dossier@ ?</b>
788
+    'texte_creer_rubrique' => 'Avant de pouvoir écrire des articles,<br /> tu dois créer une rubrique.',
789
+    'texte_date_creation_article' => 'DATE DE CRÉATION DE L’ARTICLE :',
790
+    'texte_date_creation_objet' => 'Date de création :', # on ajoute le ":"
791
+    'texte_date_publication_anterieure' => 'Date de rédaction antérieure :',
792
+    'texte_date_publication_anterieure_nonaffichee' => 'Ne pas afficher de date de rédaction antérieure.',
793
+    'texte_date_publication_article' => 'DATE DE PUBLICATION EN LIGNE :',
794
+    'texte_date_publication_objet' => 'Date de publication en ligne :',
795
+    'texte_definir_comme_traduction_rubrique' => 'Cette rubrique est une traduction de la rubrique numéro :',
796
+    'texte_descriptif_rapide' => 'Descriptif rapide',
797
+    'texte_effacer_base' => 'Effacer la base de données SPIP',
798
+    'texte_effacer_statistiques' => 'Effacer les statistiques',
799
+    'texte_en_cours_validation' => 'Les contenus ci-dessous sont en attente de validation.',
800
+    'texte_enrichir_mise_a_jour' => 'Tu peux enrichir la mise en page de ton texte en utilisant des « raccourcis typographiques ».',
801
+    'texte_fichier_authent' => '<b>SPIP doit-il créer les fichiers spéciaux <tt>.htpasswd</tt> et <tt>.htpasswd-admin</tt> dans le répertoire @dossier@ ?</b>
802 802
 <p>Ces fichiers peuvent te servir à restreindre l’accès aux auteurs et administrateurs en d’autres endroits de ton site (programme externe de statistiques, par exemple).</p>
803 803
 <p>Si tu n’en as pas l’utilité, tu peux laisser cette option à sa valeur par défaut (pas de création des fichiers).</p>',
804
-	'texte_informations_personnelles_1' => 'Le système va maintenant te créer un accès personnalisé au site.',
805
-	'texte_informations_personnelles_2' => '(Note : il s’agit d’une réinstallation, si ton accès marche toujours tu peux',
806
-	'texte_introductif_article' => '(Texte introductif de l’article.)',
807
-	'texte_jeu_caractere' => 'Il est conseillé d’employer, sur ton site, l’alphabet universel (<tt>utf-8</tt>) : celui-ci permet l’affichage de textes dans toutes les langues, et ne pose plus de problèmes de compatibilité avec les navigateurs modernes.',
808
-	'texte_jeu_caractere_3' => 'Ton site est actuellement installé dans le jeu de caractères :',
809
-	'texte_jeu_caractere_4' => 'Si cela ne correspond pas à la réalité de tes données (suite, par exemple, à une restauration de base de données), ou si <em>tu démarres ce site</em> et souhaites partir sur un autre jeu de caractères, indique ce dernier ici :',
810
-	'texte_login_ldap_1' => '(Laisser vide pour un accès anonyme, ou entrer le chemin complet, par exemple « <tt>uid=dupont, ou=users, dc=mon-domaine, dc=com</tt> ».)',
811
-	'texte_login_precaution' => 'Attention ! Ceci est le login sous lequel tu es connecté actuellement.
804
+    'texte_informations_personnelles_1' => 'Le système va maintenant te créer un accès personnalisé au site.',
805
+    'texte_informations_personnelles_2' => '(Note : il s’agit d’une réinstallation, si ton accès marche toujours tu peux',
806
+    'texte_introductif_article' => '(Texte introductif de l’article.)',
807
+    'texte_jeu_caractere' => 'Il est conseillé d’employer, sur ton site, l’alphabet universel (<tt>utf-8</tt>) : celui-ci permet l’affichage de textes dans toutes les langues, et ne pose plus de problèmes de compatibilité avec les navigateurs modernes.',
808
+    'texte_jeu_caractere_3' => 'Ton site est actuellement installé dans le jeu de caractères :',
809
+    'texte_jeu_caractere_4' => 'Si cela ne correspond pas à la réalité de tes données (suite, par exemple, à une restauration de base de données), ou si <em>tu démarres ce site</em> et souhaites partir sur un autre jeu de caractères, indique ce dernier ici :',
810
+    'texte_login_ldap_1' => '(Laisser vide pour un accès anonyme, ou entrer le chemin complet, par exemple « <tt>uid=dupont, ou=users, dc=mon-domaine, dc=com</tt> ».)',
811
+    'texte_login_precaution' => 'Attention ! Ceci est le login sous lequel tu es connecté actuellement.
812 812
 	Utilise ce formulaire avec précaution...',
813
-	'texte_messagerie_agenda' => 'Une messagerie permet aux rédacteurs du site de communiquer entre eux directement dans l’espace privé du site. Elle est associée à un agenda.',
814
-	'texte_mise_a_niveau_base_1' => 'Tu viens de mettre à jour les fichiers SPIP.
813
+    'texte_messagerie_agenda' => 'Une messagerie permet aux rédacteurs du site de communiquer entre eux directement dans l’espace privé du site. Elle est associée à un agenda.',
814
+    'texte_mise_a_niveau_base_1' => 'Tu viens de mettre à jour les fichiers SPIP.
815 815
 	Il faut maintenant mettre à niveau la base de données
816 816
 	du site.',
817
-	'texte_modifier_article' => 'Modifier l’article :',
818
-	'texte_multilinguisme' => 'Si tu souhaites gérer des objets en plusieurs langues, avec une navigation complexe, tu peux ajouter un menu de sélection de langue sur ces objets, en fonction de l’organisation de ton site.',
819
-	'texte_multilinguisme_trad' => 'Tu peux également activer un système de gestion de liens entre les différentes traductions sur certains objets.',
820
-	'texte_non_compresse' => '<i>non compressé</i> (ton serveur ne supportant pas cette fonctionnalité)',
821
-	'texte_nouvelle_version_spip_1' => 'Tu as installé une nouvelle version de SPIP.',
822
-	'texte_nouvelle_version_spip_2' => 'Cette nouvelle version nécessite une mise à jour plus complète qu’à l’accoutumée. Si tu es webmestre du site, efface le fichier @connect@  et reprends l’installation afin de mettre à jour tes paramètres de connexion à la base de données.<p> (NB. : si tu as oublié tes paramètres de connexion, jete un œil au fichier @connect@ avant de le supprimer...)</p>',
823
-	'texte_operation_echec' => 'Retourne à la page précédente, sélectionne une autre base ou crée en une nouvelle. Vérifie les informations fournies par ton hébergeur.',
824
-	'texte_plus_trois_car' => 'plus de 3 caractères',
825
-	'texte_plusieurs_articles' => 'Plusieurs auteurs trouvés pour "@cherche_auteur@" :',
826
-	'texte_port_annuaire' => '(La valeur indiquée par défaut convient généralement.)',
827
-	'texte_presente_plugin' => 'Cette page liste les plugins disponibles sur le site. Tu peux activer les plugins nécessaires en cochant la case correspondante.',
828
-	'texte_proposer_publication' => 'Lorsque ton article est terminé,<br /> tu peux proposer sa publication.',
829
-	'texte_proxy' => 'Dans certains cas (intranet, réseaux protégés), les sites distants (documentation de SPIP, sites syndiqués, etc.) ne sont accessibles qu’à travers un <i>proxy HTTP</i>. Le cas échéant, indique ci-dessous son adresse, sous la forme@proxy_en_cours@. En général, tu laisseras cette case vide.',
830
-	'texte_publication_articles_post_dates' => 'Quel comportement SPIP doit-il adopter face aux articles dont la
817
+    'texte_modifier_article' => 'Modifier l’article :',
818
+    'texte_multilinguisme' => 'Si tu souhaites gérer des objets en plusieurs langues, avec une navigation complexe, tu peux ajouter un menu de sélection de langue sur ces objets, en fonction de l’organisation de ton site.',
819
+    'texte_multilinguisme_trad' => 'Tu peux également activer un système de gestion de liens entre les différentes traductions sur certains objets.',
820
+    'texte_non_compresse' => '<i>non compressé</i> (ton serveur ne supportant pas cette fonctionnalité)',
821
+    'texte_nouvelle_version_spip_1' => 'Tu as installé une nouvelle version de SPIP.',
822
+    'texte_nouvelle_version_spip_2' => 'Cette nouvelle version nécessite une mise à jour plus complète qu’à l’accoutumée. Si tu es webmestre du site, efface le fichier @connect@  et reprends l’installation afin de mettre à jour tes paramètres de connexion à la base de données.<p> (NB. : si tu as oublié tes paramètres de connexion, jete un œil au fichier @connect@ avant de le supprimer...)</p>',
823
+    'texte_operation_echec' => 'Retourne à la page précédente, sélectionne une autre base ou crée en une nouvelle. Vérifie les informations fournies par ton hébergeur.',
824
+    'texte_plus_trois_car' => 'plus de 3 caractères',
825
+    'texte_plusieurs_articles' => 'Plusieurs auteurs trouvés pour "@cherche_auteur@" :',
826
+    'texte_port_annuaire' => '(La valeur indiquée par défaut convient généralement.)',
827
+    'texte_presente_plugin' => 'Cette page liste les plugins disponibles sur le site. Tu peux activer les plugins nécessaires en cochant la case correspondante.',
828
+    'texte_proposer_publication' => 'Lorsque ton article est terminé,<br /> tu peux proposer sa publication.',
829
+    'texte_proxy' => 'Dans certains cas (intranet, réseaux protégés), les sites distants (documentation de SPIP, sites syndiqués, etc.) ne sont accessibles qu’à travers un <i>proxy HTTP</i>. Le cas échéant, indique ci-dessous son adresse, sous la forme@proxy_en_cours@. En général, tu laisseras cette case vide.',
830
+    'texte_publication_articles_post_dates' => 'Quel comportement SPIP doit-il adopter face aux articles dont la
831 831
 		date de publication a été fixée à une
832 832
 		échéance future ?',
833
-	'texte_rappel_selection_champs' => '[N’oublie pas de sélectionner correctement ce champ.]',
834
-	'texte_recalcul_page' => 'Si tu veux
833
+    'texte_rappel_selection_champs' => '[N’oublie pas de sélectionner correctement ce champ.]',
834
+    'texte_recalcul_page' => 'Si tu veux
835 835
 recalculer une seule page, passe plutôt par l’espace public et utilise le bouton « recalculer ».',
836
-	'texte_recuperer_base' => 'Réparer la base de données',
837
-	'texte_reference_mais_redirige' => 'article référencé dans ton site SPIP, mais redirigé vers une autre URL.',
838
-	'texte_requetes_echouent' => '<b>Lorsque certaines requêtes SQL échouent
836
+    'texte_recuperer_base' => 'Réparer la base de données',
837
+    'texte_reference_mais_redirige' => 'article référencé dans ton site SPIP, mais redirigé vers une autre URL.',
838
+    'texte_requetes_echouent' => '<b>Lorsque certaines requêtes SQL échouent
839 839
   systématiquement et sans raison apparente, il est possible
840 840
   que ce soit à cause de la base de données
841 841
   elle-même.</b><p>
@@ -846,90 +846,90 @@  discard block
 block discarded – undo
846 846
   peut-être des indices de ce qui ne va pas...</p><p>
847 847
   Si le problème persiste, prends contact avec ton
848 848
   hébergeur.</p>',
849
-	'texte_selection_langue_principale' => 'Tu peux sélectionner ci-dessous la « langue principale » du site. Ce choix ne t’oblige - heureusement ! - pas à écrire tes articles dans la langue sélectionnée, mais permet de déterminer :
849
+    'texte_selection_langue_principale' => 'Tu peux sélectionner ci-dessous la « langue principale » du site. Ce choix ne t’oblige - heureusement ! - pas à écrire tes articles dans la langue sélectionnée, mais permet de déterminer :
850 850
 	<ul><li> le format par défaut des dates sur le site public ;</li>
851 851
 	<li> la nature du moteur typographique que SPIP doit utiliser pour le rendu des textes ;</li>
852 852
 	<li> la langue utilisée dans les formulaires du site public ;</li>
853 853
 	<li> la langue présentée par défaut dans l’espace privé.</li></ul>',
854
-	'texte_sous_titre' => 'Sous-titre',
855
-	'texte_statistiques_visites' => '(barres foncées :  dimanche / courbe foncée : évolution de la moyenne)',
856
-	'texte_statut_attente_validation' => 'en attente de validation',
857
-	'texte_statut_publies' => 'publiés en ligne',
858
-	'texte_statut_refuses' => 'refusés',
859
-	'texte_suppression_fichiers' => 'Utilise cette commande afin de supprimer tous les fichiers présents
854
+    'texte_sous_titre' => 'Sous-titre',
855
+    'texte_statistiques_visites' => '(barres foncées :  dimanche / courbe foncée : évolution de la moyenne)',
856
+    'texte_statut_attente_validation' => 'en attente de validation',
857
+    'texte_statut_publies' => 'publiés en ligne',
858
+    'texte_statut_refuses' => 'refusés',
859
+    'texte_suppression_fichiers' => 'Utilise cette commande afin de supprimer tous les fichiers présents
860 860
 dans le cache SPIP. Cela permet par exemple de forcer un recalcul de toutes les pages si tu
861 861
 as fait des modifications importantes de graphisme ou de structure du site.',
862
-	'texte_sur_titre' => 'Sur-titre',
863
-	'texte_table_ok' => ' : cette table est OK.',
864
-	'texte_tentative_recuperation' => 'Tentative de réparation',
865
-	'texte_tenter_reparation' => 'Tenter une réparation de la base de données',
866
-	'texte_test_proxy' => 'Pour faire un essai de ce proxy, indique ici l’adresse d’un site Web
862
+    'texte_sur_titre' => 'Sur-titre',
863
+    'texte_table_ok' => ' : cette table est OK.',
864
+    'texte_tentative_recuperation' => 'Tentative de réparation',
865
+    'texte_tenter_reparation' => 'Tenter une réparation de la base de données',
866
+    'texte_test_proxy' => 'Pour faire un essai de ce proxy, indique ici l’adresse d’un site Web
867 867
 				que tu souhaites tester.',
868
-	'texte_titre_02' => 'Titre :',
869
-	'texte_titre_obligatoire' => '<b>Titre</b> [Obligatoire]',
870
-	'texte_travail_article' => '@nom_auteur_modif@ a travaillé sur cet article il y a @date_diff@ minutes',
871
-	'texte_travail_collaboratif' => 'S’il est fréquent que plusieurs rédacteurs
868
+    'texte_titre_02' => 'Titre :',
869
+    'texte_titre_obligatoire' => '<b>Titre</b> [Obligatoire]',
870
+    'texte_travail_article' => '@nom_auteur_modif@ a travaillé sur cet article il y a @date_diff@ minutes',
871
+    'texte_travail_collaboratif' => 'S’il est fréquent que plusieurs rédacteurs
872 872
 		travaillent sur le même article, le système
873 873
 		peut afficher les articles récemment « ouverts »
874 874
 		afin d’éviter les modifications simultanées.
875 875
 		Cette option est désactivée par défaut
876 876
 		afin d’éviter d’afficher des messages d’avertissement
877 877
 		intempestifs.',
878
-	'texte_vide' => 'vide',
879
-	'texte_vider_cache' => 'Vider le cache',
880
-	'titre_admin_tech' => 'Maintenance technique',
881
-	'titre_admin_vider' => 'Maintenance technique',
882
-	'titre_ajouter_un_auteur' => 'Ajouter un auteur',
883
-	'titre_ajouter_un_mot' => 'Ajouter un mot-clé',
884
-	'titre_cadre_afficher_article' => 'Afficher les articles',
885
-	'titre_cadre_afficher_traductions' => 'Afficher l’état des traductions pour les langues suivantes :',
886
-	'titre_cadre_ajouter_auteur' => 'AJOUTER UN AUTEUR :',
887
-	'titre_cadre_interieur_rubrique' => 'À l’intérieur de la rubrique',
888
-	'titre_cadre_numero_auteur' => 'AUTEUR NUMÉRO',
889
-	'titre_cadre_numero_objet' => '@objet@ NUMÉRO :',
890
-	'titre_cadre_signature_obligatoire' => '<b>Signature</b> [Obligatoire]<br />',
891
-	'titre_config_contenu_notifications' => 'Notifications',
892
-	'titre_config_contenu_prive' => 'Dans l’espace privé',
893
-	'titre_config_contenu_public' => 'Sur le site public',
894
-	'titre_config_fonctions' => 'Configuration du site',
895
-	'titre_config_langage' => 'Configurer la langue',
896
-	'titre_configuration' => 'Configuration du site',
897
-	'titre_configurer_preferences' => 'Configurer tes préférences',
898
-	'titre_configurer_preferences_menus' => 'Configurer tes préférences de menus',
899
-	'titre_conflit_edition' => 'Conflit lors de l’édition',
900
-	'titre_connexion_ldap' => 'Options : <b>Ta connexion LDAP</b>',
901
-	'titre_groupe_mots' => 'GROUPE DE MOTS :',
902
-	'titre_identite_site' => 'Identité du site',
903
-	'titre_langue_article' => 'Langue de l’article',
904
-	'titre_langue_rubrique' => 'Langue de la rubrique',
905
-	'titre_langue_trad_article' => 'LANGUE ET TRADUCTIONS DE L’ARTICLE',
906
-	'titre_les_articles' => 'LES ARTICLES',
907
-	'titre_messagerie_agenda' => 'Messagerie et agenda',
908
-	'titre_naviguer_dans_le_site' => 'Naviguer dans le site...',
909
-	'titre_nouvelle_rubrique' => 'Nouvelle rubrique',
910
-	'titre_numero_rubrique' => 'RUBRIQUE NUMÉRO :',
911
-	'titre_page_articles_edit' => 'Modifier : @titre@',
912
-	'titre_page_articles_page' => 'Les articles',
913
-	'titre_page_articles_tous' => 'Tout le site',
914
-	'titre_page_calendrier' => 'Calendrier @nom_mois@ @annee@',
915
-	'titre_page_config_contenu' => 'Configuration du site',
916
-	'titre_page_delete_all' => 'suppression totale et irréversible',
917
-	'titre_page_recherche' => 'Résultats de la recherche @recherche@',
918
-	'titre_page_statistiques_referers' => 'Statistiques (liens entrants)',
919
-	'titre_page_upgrade' => 'Mise à niveau de SPIP',
920
-	'titre_preference_menus_favoris' => 'Menus favoris',
921
-	'titre_publication_articles_post_dates' => 'Publication des articles post-datés',
922
-	'titre_reparation' => 'Réparation',
923
-	'titre_suivi_petition' => 'Suivi des pétitions',
924
-	'tls_ldap' => 'Transport Layer Security :',
925
-	'trad_article_traduction' => 'Toutes les versions de cet article :',
926
-	'trad_delier' => 'Ne plus lier à ces traductions',
927
-	'trad_lier' => 'Cet article est une traduction de l’article numéro :',
928
-	'trad_new' => 'Écrire une nouvelle traduction',
878
+    'texte_vide' => 'vide',
879
+    'texte_vider_cache' => 'Vider le cache',
880
+    'titre_admin_tech' => 'Maintenance technique',
881
+    'titre_admin_vider' => 'Maintenance technique',
882
+    'titre_ajouter_un_auteur' => 'Ajouter un auteur',
883
+    'titre_ajouter_un_mot' => 'Ajouter un mot-clé',
884
+    'titre_cadre_afficher_article' => 'Afficher les articles',
885
+    'titre_cadre_afficher_traductions' => 'Afficher l’état des traductions pour les langues suivantes :',
886
+    'titre_cadre_ajouter_auteur' => 'AJOUTER UN AUTEUR :',
887
+    'titre_cadre_interieur_rubrique' => 'À l’intérieur de la rubrique',
888
+    'titre_cadre_numero_auteur' => 'AUTEUR NUMÉRO',
889
+    'titre_cadre_numero_objet' => '@objet@ NUMÉRO :',
890
+    'titre_cadre_signature_obligatoire' => '<b>Signature</b> [Obligatoire]<br />',
891
+    'titre_config_contenu_notifications' => 'Notifications',
892
+    'titre_config_contenu_prive' => 'Dans l’espace privé',
893
+    'titre_config_contenu_public' => 'Sur le site public',
894
+    'titre_config_fonctions' => 'Configuration du site',
895
+    'titre_config_langage' => 'Configurer la langue',
896
+    'titre_configuration' => 'Configuration du site',
897
+    'titre_configurer_preferences' => 'Configurer tes préférences',
898
+    'titre_configurer_preferences_menus' => 'Configurer tes préférences de menus',
899
+    'titre_conflit_edition' => 'Conflit lors de l’édition',
900
+    'titre_connexion_ldap' => 'Options : <b>Ta connexion LDAP</b>',
901
+    'titre_groupe_mots' => 'GROUPE DE MOTS :',
902
+    'titre_identite_site' => 'Identité du site',
903
+    'titre_langue_article' => 'Langue de l’article',
904
+    'titre_langue_rubrique' => 'Langue de la rubrique',
905
+    'titre_langue_trad_article' => 'LANGUE ET TRADUCTIONS DE L’ARTICLE',
906
+    'titre_les_articles' => 'LES ARTICLES',
907
+    'titre_messagerie_agenda' => 'Messagerie et agenda',
908
+    'titre_naviguer_dans_le_site' => 'Naviguer dans le site...',
909
+    'titre_nouvelle_rubrique' => 'Nouvelle rubrique',
910
+    'titre_numero_rubrique' => 'RUBRIQUE NUMÉRO :',
911
+    'titre_page_articles_edit' => 'Modifier : @titre@',
912
+    'titre_page_articles_page' => 'Les articles',
913
+    'titre_page_articles_tous' => 'Tout le site',
914
+    'titre_page_calendrier' => 'Calendrier @nom_mois@ @annee@',
915
+    'titre_page_config_contenu' => 'Configuration du site',
916
+    'titre_page_delete_all' => 'suppression totale et irréversible',
917
+    'titre_page_recherche' => 'Résultats de la recherche @recherche@',
918
+    'titre_page_statistiques_referers' => 'Statistiques (liens entrants)',
919
+    'titre_page_upgrade' => 'Mise à niveau de SPIP',
920
+    'titre_preference_menus_favoris' => 'Menus favoris',
921
+    'titre_publication_articles_post_dates' => 'Publication des articles post-datés',
922
+    'titre_reparation' => 'Réparation',
923
+    'titre_suivi_petition' => 'Suivi des pétitions',
924
+    'tls_ldap' => 'Transport Layer Security :',
925
+    'trad_article_traduction' => 'Toutes les versions de cet article :',
926
+    'trad_delier' => 'Ne plus lier à ces traductions',
927
+    'trad_lier' => 'Cet article est une traduction de l’article numéro :',
928
+    'trad_new' => 'Écrire une nouvelle traduction',
929 929
 
930
-	// U
931
-	'utf8_convert_erreur_orig' => 'Erreur : le jeu de caractères @charset@ n’est pas supporté.',
930
+    // U
931
+    'utf8_convert_erreur_orig' => 'Erreur : le jeu de caractères @charset@ n’est pas supporté.',
932 932
 
933
-	// V
934
-	'version' => 'Version :'
933
+    // V
934
+    'version' => 'Version :'
935 935
 );
Please login to merge, or discard this patch.
ecrire/lang/spip_ar.php 1 patch
Indentation   +662 added lines, -662 removed lines patch added patch discarded remove patch
@@ -4,250 +4,250 @@  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
-	// 0
13
-	'0_URL' => 'http://listes.rezo.net/mailman/listinfo/spip-dev',
14
-	'0_langue' => 'عربي [ar]',
15
-	'0_liste' => '[email protected]',
16
-	'0_mainteneur' => 'جورج قندلفت ([email protected]) ',
12
+    // 0
13
+    '0_URL' => 'http://listes.rezo.net/mailman/listinfo/spip-dev',
14
+    '0_langue' => 'عربي [ar]',
15
+    '0_liste' => '[email protected]',
16
+    '0_mainteneur' => 'جورج قندلفت ([email protected]) ',
17 17
 
18
-	// A
19
-	'access_interface_graphique' => 'عودة إلى الواجهة الرسومية الكاملة',
20
-	'access_mode_texte' => 'عرض الواجهة النصية المبسّطة',
21
-	'admin_debug' => 'اكتشاف الأخطاء',
22
-	'admin_modifier_article' => 'تعديل هذا المقال',
23
-	'admin_modifier_auteur' => 'تغيير هذا المؤلف',
24
-	'admin_modifier_breve' => 'تعديل هذا الخبر',
25
-	'admin_modifier_mot' => 'تغيير هذا المفتاح',
26
-	'admin_modifier_rubrique' => 'تعديل هذا القسم',
27
-	'admin_recalculer' => 'إعادة تحديث هذه الصفحة',
28
-	'afficher_calendrier' => 'عرض الروزنامة',
29
-	'afficher_trad' => 'عرض الترجمات',
30
-	'alerte_maj_impossible' => '<b>تحذير!</b> ترقية قاعدة SQL إلى الإصدار @version@ متعذر. قد يكون السبب مشكلة في حقل التعديل. الرجاء الاتصال بمضيف موقعك.',
31
-	'alerte_modif_info_concourante' => 'تحذير:هذه المعلومة عُدلت في مكان آخر. القيمة الحالية هي:',
32
-	'analyse_xml' => 'تحليل XML',
33
-	'annuler' => 'إلغاء',
34
-	'antispam_champ_vide' => 'الرجاء الإبقاء على هذا الحقل فارغاً:',
35
-	'articles_recents' => 'أحدث المقالات',
36
-	'avis_1_erreur_saisie' => 'هناك خطأ في إدخالك، الرجاء التدقيق في المعلومات.',
37
-	'avis_archive_incorrect' => 'ملف الأرشيف ليس ملف SPIP',
38
-	'avis_archive_invalide' => 'ملف الأرشيف غير صالح',
39
-	'avis_attention' => 'تحذير!',
40
-	'avis_champ_incorrect_type_objet' => 'إسم حقل @name@ غير صالح لنوع العنصر @type@',
41
-	'avis_colonne_inexistante' => 'العمود @col@ غير موجود',
42
-	'avis_erreur' => 'خطأ: انظر أدناه',
43
-	'avis_erreur_connexion' => 'خطأ اتصال',
44
-	'avis_erreur_cookie' => 'مشكلة في الكعكة',
45
-	'avis_erreur_fonction_contexte' => 'خطأ برمجة. لا يجب المناداة على هذه الوظيفة في هذا السياق.',
46
-	'avis_erreur_mysql' => 'خطأ SQL ',
47
-	'avis_erreur_sauvegarde' => 'خطأ في النسخة الاحتياطية (@type@ @id_objet@)!',
48
-	'avis_erreur_visiteur' => 'هناك مشكلة في الدخول إلى المجال الخاص',
49
-	'avis_nb_erreurs_saisie' => 'هناك @nb@ خطأ في إدخالك، الرجاء التدقيق في المعلومات.',
18
+    // A
19
+    'access_interface_graphique' => 'عودة إلى الواجهة الرسومية الكاملة',
20
+    'access_mode_texte' => 'عرض الواجهة النصية المبسّطة',
21
+    'admin_debug' => 'اكتشاف الأخطاء',
22
+    'admin_modifier_article' => 'تعديل هذا المقال',
23
+    'admin_modifier_auteur' => 'تغيير هذا المؤلف',
24
+    'admin_modifier_breve' => 'تعديل هذا الخبر',
25
+    'admin_modifier_mot' => 'تغيير هذا المفتاح',
26
+    'admin_modifier_rubrique' => 'تعديل هذا القسم',
27
+    'admin_recalculer' => 'إعادة تحديث هذه الصفحة',
28
+    'afficher_calendrier' => 'عرض الروزنامة',
29
+    'afficher_trad' => 'عرض الترجمات',
30
+    'alerte_maj_impossible' => '<b>تحذير!</b> ترقية قاعدة SQL إلى الإصدار @version@ متعذر. قد يكون السبب مشكلة في حقل التعديل. الرجاء الاتصال بمضيف موقعك.',
31
+    'alerte_modif_info_concourante' => 'تحذير:هذه المعلومة عُدلت في مكان آخر. القيمة الحالية هي:',
32
+    'analyse_xml' => 'تحليل XML',
33
+    'annuler' => 'إلغاء',
34
+    'antispam_champ_vide' => 'الرجاء الإبقاء على هذا الحقل فارغاً:',
35
+    'articles_recents' => 'أحدث المقالات',
36
+    'avis_1_erreur_saisie' => 'هناك خطأ في إدخالك، الرجاء التدقيق في المعلومات.',
37
+    'avis_archive_incorrect' => 'ملف الأرشيف ليس ملف SPIP',
38
+    'avis_archive_invalide' => 'ملف الأرشيف غير صالح',
39
+    'avis_attention' => 'تحذير!',
40
+    'avis_champ_incorrect_type_objet' => 'إسم حقل @name@ غير صالح لنوع العنصر @type@',
41
+    'avis_colonne_inexistante' => 'العمود @col@ غير موجود',
42
+    'avis_erreur' => 'خطأ: انظر أدناه',
43
+    'avis_erreur_connexion' => 'خطأ اتصال',
44
+    'avis_erreur_cookie' => 'مشكلة في الكعكة',
45
+    'avis_erreur_fonction_contexte' => 'خطأ برمجة. لا يجب المناداة على هذه الوظيفة في هذا السياق.',
46
+    'avis_erreur_mysql' => 'خطأ SQL ',
47
+    'avis_erreur_sauvegarde' => 'خطأ في النسخة الاحتياطية (@type@ @id_objet@)!',
48
+    'avis_erreur_visiteur' => 'هناك مشكلة في الدخول إلى المجال الخاص',
49
+    'avis_nb_erreurs_saisie' => 'هناك @nb@ خطأ في إدخالك، الرجاء التدقيق في المعلومات.',
50 50
 
51
-	// B
52
-	'barre_a_accent_grave' => 'إدراج حرف A كبير مع نبر الإطالة',
53
-	'barre_aide' => 'استخدم شريط اختصارات الكتابة لإثراء تصميم صفحتك',
54
-	'barre_e_accent_aigu' => 'إدراج حرف E كبير مع نبر حاد',
55
-	'barre_eo' => 'إدراج E داخل O',
56
-	'barre_eo_maj' => 'إدراج E كبير داخل O كبير',
57
-	'barre_euro' => 'إدراج رمز €',
58
-	'barre_gras' => '{{غامق{{',
59
-	'barre_guillemets' => 'إحاطة «بعلامتي اقتباس مزدوجة»',
60
-	'barre_guillemets_simples' => 'وضع بين "علامتي اقتباس مزدوجة من المستوى الثاني"',
61
-	'barre_intertitre' => 'تحويل إلى {{{عنوان فقرة}}}',
62
-	'barre_italic' => '{مائل{',
63
-	'barre_lien' => 'تحويل إلى [وصلة هايبرتكست->http://...]',
64
-	'barre_lien_input' => 'الرجاء إدخال عنوان الوصلة (يمكنك إدخال عنوان نسيج على شكل http://www.mysite.com أو إدخال رقم مقال من الموقع الحالي فقط).',
65
-	'barre_note' => 'تحويل إلى [[حاشية]]',
66
-	'barre_paragraphe' => 'إنشاء فقرة',
67
-	'barre_quote' => '<quote>اقتباس رسالة</quote>',
68
-	'bouton_changer' => 'تغيير',
69
-	'bouton_chercher' => 'بحث',
70
-	'bouton_choisir' => 'تحديد',
71
-	'bouton_deplacer' => 'نقل',
72
-	'bouton_download' => 'تحميل',
73
-	'bouton_enregistrer' => 'إدخال',
74
-	'bouton_radio_desactiver_messagerie_interne' => 'إيقاف المراسلة الداخلية',
75
-	'bouton_radio_envoi_annonces' => 'إرسال إعلانات التحرير',
76
-	'bouton_radio_non_envoi_annonces' => 'عدم إرسال الإعلانات',
77
-	'bouton_radio_non_envoi_liste_nouveautes' => 'عدم إرسال قائمة بآخر الأخبار',
78
-	'bouton_recharger_page' => 'إعادة تحميل الصفحة',
79
-	'bouton_telecharger' => 'تحميل',
80
-	'bouton_upload' => 'تنزيل',
81
-	'bouton_valider' => 'إدخال',
51
+    // B
52
+    'barre_a_accent_grave' => 'إدراج حرف A كبير مع نبر الإطالة',
53
+    'barre_aide' => 'استخدم شريط اختصارات الكتابة لإثراء تصميم صفحتك',
54
+    'barre_e_accent_aigu' => 'إدراج حرف E كبير مع نبر حاد',
55
+    'barre_eo' => 'إدراج E داخل O',
56
+    'barre_eo_maj' => 'إدراج E كبير داخل O كبير',
57
+    'barre_euro' => 'إدراج رمز €',
58
+    'barre_gras' => '{{غامق{{',
59
+    'barre_guillemets' => 'إحاطة «بعلامتي اقتباس مزدوجة»',
60
+    'barre_guillemets_simples' => 'وضع بين "علامتي اقتباس مزدوجة من المستوى الثاني"',
61
+    'barre_intertitre' => 'تحويل إلى {{{عنوان فقرة}}}',
62
+    'barre_italic' => '{مائل{',
63
+    'barre_lien' => 'تحويل إلى [وصلة هايبرتكست->http://...]',
64
+    'barre_lien_input' => 'الرجاء إدخال عنوان الوصلة (يمكنك إدخال عنوان نسيج على شكل http://www.mysite.com أو إدخال رقم مقال من الموقع الحالي فقط).',
65
+    'barre_note' => 'تحويل إلى [[حاشية]]',
66
+    'barre_paragraphe' => 'إنشاء فقرة',
67
+    'barre_quote' => '<quote>اقتباس رسالة</quote>',
68
+    'bouton_changer' => 'تغيير',
69
+    'bouton_chercher' => 'بحث',
70
+    'bouton_choisir' => 'تحديد',
71
+    'bouton_deplacer' => 'نقل',
72
+    'bouton_download' => 'تحميل',
73
+    'bouton_enregistrer' => 'إدخال',
74
+    'bouton_radio_desactiver_messagerie_interne' => 'إيقاف المراسلة الداخلية',
75
+    'bouton_radio_envoi_annonces' => 'إرسال إعلانات التحرير',
76
+    'bouton_radio_non_envoi_annonces' => 'عدم إرسال الإعلانات',
77
+    'bouton_radio_non_envoi_liste_nouveautes' => 'عدم إرسال قائمة بآخر الأخبار',
78
+    'bouton_recharger_page' => 'إعادة تحميل الصفحة',
79
+    'bouton_telecharger' => 'تحميل',
80
+    'bouton_upload' => 'تنزيل',
81
+    'bouton_valider' => 'إدخال',
82 82
 
83
-	// C
84
-	'cal_apresmidi' => 'بعد الظهر',
85
-	'cal_jour_entier' => 'يوم كامل',
86
-	'cal_matin' => 'الصباح',
87
-	'cal_par_jour' => 'روزنامة يومية',
88
-	'cal_par_mois' => 'روزنامة شهرية',
89
-	'cal_par_semaine' => 'روزنامة أسبوعية',
90
-	'choix_couleur_interface' => 'اللون',
91
-	'choix_interface' => 'اختيار الواجهة',
92
-	'colonne' => 'عمود',
93
-	'confirm_changer_statut' => 'تحذير، لقد طلبت تغيير حالة هذا العنصر. هل تريد المتابعة؟',
94
-	'correcte' => 'صحيح',
83
+    // C
84
+    'cal_apresmidi' => 'بعد الظهر',
85
+    'cal_jour_entier' => 'يوم كامل',
86
+    'cal_matin' => 'الصباح',
87
+    'cal_par_jour' => 'روزنامة يومية',
88
+    'cal_par_mois' => 'روزنامة شهرية',
89
+    'cal_par_semaine' => 'روزنامة أسبوعية',
90
+    'choix_couleur_interface' => 'اللون',
91
+    'choix_interface' => 'اختيار الواجهة',
92
+    'colonne' => 'عمود',
93
+    'confirm_changer_statut' => 'تحذير، لقد طلبت تغيير حالة هذا العنصر. هل تريد المتابعة؟',
94
+    'correcte' => 'صحيح',
95 95
 
96
-	// D
97
-	'date_aujourdhui' => 'اليوم',
98
-	'date_avant_jc' => 'قبل الميلاد',
99
-	'date_dans' => 'بعد @delai@',
100
-	'date_de_mois_1' => '@j@ @nommois@',
101
-	'date_de_mois_10' => '@j@ @nommois@',
102
-	'date_de_mois_11' => '@j@ @nommois@',
103
-	'date_de_mois_12' => '@j@ @nommois@',
104
-	'date_de_mois_2' => '@j@ @nommois@',
105
-	'date_de_mois_3' => '@j@ @nommois@',
106
-	'date_de_mois_4' => '@j@ @nommois@',
107
-	'date_de_mois_5' => '@j@ @nommois@',
108
-	'date_de_mois_6' => '@j@ @nommois@',
109
-	'date_de_mois_7' => '@j@ @nommois@',
110
-	'date_de_mois_8' => '@j@ @nommois@',
111
-	'date_de_mois_9' => '@j@ @nommois@',
112
-	'date_demain' => 'غداً',
113
-	'date_fmt_heures_minutes' => '@h@  و@m@  دقيقة',
114
-	'date_fmt_heures_minutes_court' => '@h@h@m@',
115
-	'date_fmt_jour' => '@nomjour@ @jour@',
116
-	'date_fmt_jour_heure' => '@jour@ الساعة @heure@',
117
-	'date_fmt_jour_heure_debut_fin' => 'في @jour@ من @heure_debut@ الى @heure_fin@',
118
-	'date_fmt_jour_heure_debut_fin_abbr' => 'في @dtstart@@jour@ من @heure_debut@@dtabbr@ الى @dtend@@heure_fin@@dtabbr@',
119
-	'date_fmt_jour_mois' => '@jour@ @nommois@',
120
-	'date_fmt_jour_mois_annee' => '@jour@ @nommois@ @annee@',
121
-	'date_fmt_mois_annee' => '@nommois@ @annee@',
122
-	'date_fmt_nomjour' => '@nomjour@ @date@',
123
-	'date_fmt_nomjour_date' => 'في @nomjour@ @date@',
124
-	'date_fmt_periode' => 'من @date_debut@ الى @date_fin@',
125
-	'date_fmt_periode_abbr' => 'من @dtart@@date_debut@@dtabbr@ الى @dtend@@date_fin@@dtabbr@',
126
-	'date_fmt_periode_from' => 'من',
127
-	'date_fmt_periode_to' => 'الى',
128
-	'date_fmt_saison_annee' => '@saison@ @annee@',
129
-	'date_heures' => 'ساعة',
130
-	'date_hier' => 'البارحة',
131
-	'date_il_y_a' => 'منذ @delai@',
132
-	'date_jnum1' => '1',
133
-	'date_jnum10' => '10',
134
-	'date_jnum11' => '11',
135
-	'date_jnum12' => '12',
136
-	'date_jnum13' => '13',
137
-	'date_jnum14' => '14',
138
-	'date_jnum15' => '15',
139
-	'date_jnum16' => '16',
140
-	'date_jnum17' => '17',
141
-	'date_jnum18' => '18',
142
-	'date_jnum19' => '19',
143
-	'date_jnum2' => '2',
144
-	'date_jnum20' => '20',
145
-	'date_jnum21' => '21',
146
-	'date_jnum22' => '22',
147
-	'date_jnum23' => '23',
148
-	'date_jnum24' => '24',
149
-	'date_jnum25' => '25',
150
-	'date_jnum26' => '26',
151
-	'date_jnum27' => '27',
152
-	'date_jnum28' => '28',
153
-	'date_jnum29' => '29',
154
-	'date_jnum3' => '3',
155
-	'date_jnum30' => '30',
156
-	'date_jnum31' => '31',
157
-	'date_jnum4' => '4',
158
-	'date_jnum5' => '5',
159
-	'date_jnum6' => '6',
160
-	'date_jnum7' => '7',
161
-	'date_jnum8' => '8',
162
-	'date_jnum9' => '9',
163
-	'date_jour_1' => 'الأحد',
164
-	'date_jour_1_abbr' => 'أحد',
165
-	'date_jour_1_initiale' => 'أحد',
166
-	'date_jour_2' => 'الاثنين',
167
-	'date_jour_2_abbr' => 'اثنين',
168
-	'date_jour_2_initiale' => 'اثنين',
169
-	'date_jour_3' => 'الثلاثاء',
170
-	'date_jour_3_abbr' => 'ثلاثاء',
171
-	'date_jour_3_initiale' => 'ثلاثاء',
172
-	'date_jour_4' => 'الأربعاء',
173
-	'date_jour_4_abbr' => 'أربعاء',
174
-	'date_jour_4_initiale' => 'أربعاء',
175
-	'date_jour_5' => 'الخميس',
176
-	'date_jour_5_abbr' => 'خميس',
177
-	'date_jour_5_initiale' => 'خميس',
178
-	'date_jour_6' => 'الجمعة',
179
-	'date_jour_6_abbr' => 'جمعة',
180
-	'date_jour_6_initiale' => 'جمعة',
181
-	'date_jour_7' => 'السبت',
182
-	'date_jour_7_abbr' => 'سبت',
183
-	'date_jour_7_initiale' => 'سبت',
184
-	'date_jours' => 'يوم',
185
-	'date_minutes' => 'دقيقة',
186
-	'date_mois' => 'شهر',
187
-	'date_mois_1' => 'كانون الثاني (يناير)',
188
-	'date_mois_10' => 'تشرين الأول (أكتوبر)',
189
-	'date_mois_10_abbr' => 'ت١',
190
-	'date_mois_11' => 'تشرين الثاني (نوفمبر)',
191
-	'date_mois_11_abbr' => 'ت٢',
192
-	'date_mois_12' => 'كانون الأول (ديسمبر)',
193
-	'date_mois_12_abbr' => 'ك١',
194
-	'date_mois_1_abbr' => 'ك٢',
195
-	'date_mois_2' => 'شباط (فبراير)',
196
-	'date_mois_2_abbr' => 'شباط',
197
-	'date_mois_3' => 'آذار (مارس)',
198
-	'date_mois_3_abbr' => 'آذار',
199
-	'date_mois_4' => 'نيسان (أبريل)',
200
-	'date_mois_4_abbr' => 'نيسان',
201
-	'date_mois_5' => 'أيار (مايو)',
202
-	'date_mois_5_abbr' => 'أيار',
203
-	'date_mois_6' => 'حزيران (يونيو)',
204
-	'date_mois_6_abbr' => 'جزيران',
205
-	'date_mois_7' => 'تموز (يوليو)',
206
-	'date_mois_7_abbr' => 'تموز',
207
-	'date_mois_8' => 'آب (أغسطس)',
208
-	'date_mois_8_abbr' => 'آب',
209
-	'date_mois_9' => 'أيلول (سبتمبر)',
210
-	'date_mois_9_abbr' => 'أيلول',
211
-	'date_saison_1' => 'الشتاء',
212
-	'date_saison_2' => 'الربيع',
213
-	'date_saison_3' => 'الصيف',
214
-	'date_saison_4' => 'الخريف',
215
-	'date_secondes' => 'ثانية',
216
-	'date_semaines' => 'أسبوع',
217
-	'date_un_mois' => 'شهر',
218
-	'date_une_heure' => 'ساعة',
219
-	'date_une_minute' => 'دقيقة',
220
-	'date_une_seconde' => 'ثانية',
221
-	'date_une_semaine' => 'أسبوع',
222
-	'dirs_commencer' => 'للبدء فعلاً بعملية التثبيت',
223
-	'dirs_preliminaire' => 'تمهيد: <b>إعداد امتيازات الدخول</b>',
224
-	'dirs_probleme_droits' => 'مشكلة في امتيازات الدخول',
225
-	'dirs_repertoires_absents' => '<p><b>لم يتم العثور على الأدلة التالية: </b></p><ul>@bad_dirs@</ul>
96
+    // D
97
+    'date_aujourdhui' => 'اليوم',
98
+    'date_avant_jc' => 'قبل الميلاد',
99
+    'date_dans' => 'بعد @delai@',
100
+    'date_de_mois_1' => '@j@ @nommois@',
101
+    'date_de_mois_10' => '@j@ @nommois@',
102
+    'date_de_mois_11' => '@j@ @nommois@',
103
+    'date_de_mois_12' => '@j@ @nommois@',
104
+    'date_de_mois_2' => '@j@ @nommois@',
105
+    'date_de_mois_3' => '@j@ @nommois@',
106
+    'date_de_mois_4' => '@j@ @nommois@',
107
+    'date_de_mois_5' => '@j@ @nommois@',
108
+    'date_de_mois_6' => '@j@ @nommois@',
109
+    'date_de_mois_7' => '@j@ @nommois@',
110
+    'date_de_mois_8' => '@j@ @nommois@',
111
+    'date_de_mois_9' => '@j@ @nommois@',
112
+    'date_demain' => 'غداً',
113
+    'date_fmt_heures_minutes' => '@h@  و@m@  دقيقة',
114
+    'date_fmt_heures_minutes_court' => '@h@h@m@',
115
+    'date_fmt_jour' => '@nomjour@ @jour@',
116
+    'date_fmt_jour_heure' => '@jour@ الساعة @heure@',
117
+    'date_fmt_jour_heure_debut_fin' => 'في @jour@ من @heure_debut@ الى @heure_fin@',
118
+    'date_fmt_jour_heure_debut_fin_abbr' => 'في @dtstart@@jour@ من @heure_debut@@dtabbr@ الى @dtend@@heure_fin@@dtabbr@',
119
+    'date_fmt_jour_mois' => '@jour@ @nommois@',
120
+    'date_fmt_jour_mois_annee' => '@jour@ @nommois@ @annee@',
121
+    'date_fmt_mois_annee' => '@nommois@ @annee@',
122
+    'date_fmt_nomjour' => '@nomjour@ @date@',
123
+    'date_fmt_nomjour_date' => 'في @nomjour@ @date@',
124
+    'date_fmt_periode' => 'من @date_debut@ الى @date_fin@',
125
+    'date_fmt_periode_abbr' => 'من @dtart@@date_debut@@dtabbr@ الى @dtend@@date_fin@@dtabbr@',
126
+    'date_fmt_periode_from' => 'من',
127
+    'date_fmt_periode_to' => 'الى',
128
+    'date_fmt_saison_annee' => '@saison@ @annee@',
129
+    'date_heures' => 'ساعة',
130
+    'date_hier' => 'البارحة',
131
+    'date_il_y_a' => 'منذ @delai@',
132
+    'date_jnum1' => '1',
133
+    'date_jnum10' => '10',
134
+    'date_jnum11' => '11',
135
+    'date_jnum12' => '12',
136
+    'date_jnum13' => '13',
137
+    'date_jnum14' => '14',
138
+    'date_jnum15' => '15',
139
+    'date_jnum16' => '16',
140
+    'date_jnum17' => '17',
141
+    'date_jnum18' => '18',
142
+    'date_jnum19' => '19',
143
+    'date_jnum2' => '2',
144
+    'date_jnum20' => '20',
145
+    'date_jnum21' => '21',
146
+    'date_jnum22' => '22',
147
+    'date_jnum23' => '23',
148
+    'date_jnum24' => '24',
149
+    'date_jnum25' => '25',
150
+    'date_jnum26' => '26',
151
+    'date_jnum27' => '27',
152
+    'date_jnum28' => '28',
153
+    'date_jnum29' => '29',
154
+    'date_jnum3' => '3',
155
+    'date_jnum30' => '30',
156
+    'date_jnum31' => '31',
157
+    'date_jnum4' => '4',
158
+    'date_jnum5' => '5',
159
+    'date_jnum6' => '6',
160
+    'date_jnum7' => '7',
161
+    'date_jnum8' => '8',
162
+    'date_jnum9' => '9',
163
+    'date_jour_1' => 'الأحد',
164
+    'date_jour_1_abbr' => 'أحد',
165
+    'date_jour_1_initiale' => 'أحد',
166
+    'date_jour_2' => 'الاثنين',
167
+    'date_jour_2_abbr' => 'اثنين',
168
+    'date_jour_2_initiale' => 'اثنين',
169
+    'date_jour_3' => 'الثلاثاء',
170
+    'date_jour_3_abbr' => 'ثلاثاء',
171
+    'date_jour_3_initiale' => 'ثلاثاء',
172
+    'date_jour_4' => 'الأربعاء',
173
+    'date_jour_4_abbr' => 'أربعاء',
174
+    'date_jour_4_initiale' => 'أربعاء',
175
+    'date_jour_5' => 'الخميس',
176
+    'date_jour_5_abbr' => 'خميس',
177
+    'date_jour_5_initiale' => 'خميس',
178
+    'date_jour_6' => 'الجمعة',
179
+    'date_jour_6_abbr' => 'جمعة',
180
+    'date_jour_6_initiale' => 'جمعة',
181
+    'date_jour_7' => 'السبت',
182
+    'date_jour_7_abbr' => 'سبت',
183
+    'date_jour_7_initiale' => 'سبت',
184
+    'date_jours' => 'يوم',
185
+    'date_minutes' => 'دقيقة',
186
+    'date_mois' => 'شهر',
187
+    'date_mois_1' => 'كانون الثاني (يناير)',
188
+    'date_mois_10' => 'تشرين الأول (أكتوبر)',
189
+    'date_mois_10_abbr' => 'ت١',
190
+    'date_mois_11' => 'تشرين الثاني (نوفمبر)',
191
+    'date_mois_11_abbr' => 'ت٢',
192
+    'date_mois_12' => 'كانون الأول (ديسمبر)',
193
+    'date_mois_12_abbr' => 'ك١',
194
+    'date_mois_1_abbr' => 'ك٢',
195
+    'date_mois_2' => 'شباط (فبراير)',
196
+    'date_mois_2_abbr' => 'شباط',
197
+    'date_mois_3' => 'آذار (مارس)',
198
+    'date_mois_3_abbr' => 'آذار',
199
+    'date_mois_4' => 'نيسان (أبريل)',
200
+    'date_mois_4_abbr' => 'نيسان',
201
+    'date_mois_5' => 'أيار (مايو)',
202
+    'date_mois_5_abbr' => 'أيار',
203
+    'date_mois_6' => 'حزيران (يونيو)',
204
+    'date_mois_6_abbr' => 'جزيران',
205
+    'date_mois_7' => 'تموز (يوليو)',
206
+    'date_mois_7_abbr' => 'تموز',
207
+    'date_mois_8' => 'آب (أغسطس)',
208
+    'date_mois_8_abbr' => 'آب',
209
+    'date_mois_9' => 'أيلول (سبتمبر)',
210
+    'date_mois_9_abbr' => 'أيلول',
211
+    'date_saison_1' => 'الشتاء',
212
+    'date_saison_2' => 'الربيع',
213
+    'date_saison_3' => 'الصيف',
214
+    'date_saison_4' => 'الخريف',
215
+    'date_secondes' => 'ثانية',
216
+    'date_semaines' => 'أسبوع',
217
+    'date_un_mois' => 'شهر',
218
+    'date_une_heure' => 'ساعة',
219
+    'date_une_minute' => 'دقيقة',
220
+    'date_une_seconde' => 'ثانية',
221
+    'date_une_semaine' => 'أسبوع',
222
+    'dirs_commencer' => 'للبدء فعلاً بعملية التثبيت',
223
+    'dirs_preliminaire' => 'تمهيد: <b>إعداد امتيازات الدخول</b>',
224
+    'dirs_probleme_droits' => 'مشكلة في امتيازات الدخول',
225
+    'dirs_repertoires_absents' => '<p><b>لم يتم العثور على الأدلة التالية: </b></p><ul>@bad_dirs@</ul>
226 226
 <p>قد يكون السبب خطأ في اعتماد الحروف الكبيرة أو الصغيرة في أسمائها. الرجاء التأكد من أن الحروف الكبيرة والصغيرة في أسماء هذه الأدلة تناسب ما هو معروض أعلاه؛ إذا لم يكن الأمر كذلك، الرجاء إعادة تسمية الأدلة بواسطة برنامج FTP لتصحيح الخطأ.
227 227
 <p>بعد تنفيذ هذه العملية يمكنك </p>',
228
-	'dirs_repertoires_suivants' => '<p><b>الأدلة التالية ممنوعة على الكتابة: </b></p
228
+    'dirs_repertoires_suivants' => '<p><b>الأدلة التالية ممنوعة على الكتابة: </b></p
229 229
 <ul>@bad_dirs@</ul>
230 230
 <p>لحل هذه المشكلة، استخدم برنامج FTP لإعداد امتيازات الدخول لكل من هذه الأدلة. ويوضح دليل الاستخدام هذه العملية بالتفصيل.
231 231
 <p>بعد إتمام هذه العملية يمكنك</p>',
232
-	'double_occurrence' => 'ظهور مكرر لعلامة @balise@',
232
+    'double_occurrence' => 'ظهور مكرر لعلامة @balise@',
233 233
 
234
-	// E
235
-	'en_cours' => 'جاري',
236
-	'envoi_via_le_site' => 'إرسال عبر الموقع',
237
-	'erreur' => 'خطأ',
238
-	'erreur_balise_non_fermee' => 'آخر علامة غير مغلقة:',
239
-	'erreur_technique_ajaxform' => 'عفواً. حدث خطأ غير متوقع خلال إرسال الاستمارة. الرجاء المحاولة من جديد.',
240
-	'erreur_technique_enregistrement_champs' => 'خطأ تقني منع التسجيل السليم للحقل @champs@. ',
241
-	'erreur_technique_enregistrement_impossible' => 'خطأ تقني منع التسجيل.',
242
-	'erreur_texte' => 'خطأ (أخطاء)',
243
-	'etape' => 'خطوة',
234
+    // E
235
+    'en_cours' => 'جاري',
236
+    'envoi_via_le_site' => 'إرسال عبر الموقع',
237
+    'erreur' => 'خطأ',
238
+    'erreur_balise_non_fermee' => 'آخر علامة غير مغلقة:',
239
+    'erreur_technique_ajaxform' => 'عفواً. حدث خطأ غير متوقع خلال إرسال الاستمارة. الرجاء المحاولة من جديد.',
240
+    'erreur_technique_enregistrement_champs' => 'خطأ تقني منع التسجيل السليم للحقل @champs@. ',
241
+    'erreur_technique_enregistrement_impossible' => 'خطأ تقني منع التسجيل.',
242
+    'erreur_texte' => 'خطأ (أخطاء)',
243
+    'etape' => 'خطوة',
244 244
 
245
-	// F
246
-	'fichier_introuvable' => 'لا يمكن العثور على الملف @fichier@',
247
-	'form_auteur_confirmation' => 'تأكيد عنوان البريد الالكتروني',
248
-	'form_auteur_email_modifie' => 'تغير عنوان بريدك.',
249
-	'form_auteur_envoi_mail_confirmation' => 'لفد تم ارسال بريد تأكيد الى @email@. عليك زيارة عنوان الموقع الموجود في الرسالة للتصديق على عنوان بريدك.',
250
-	'form_auteur_mail_confirmation' => 'أهلاً وسهلاً
245
+    // F
246
+    'fichier_introuvable' => 'لا يمكن العثور على الملف @fichier@',
247
+    'form_auteur_confirmation' => 'تأكيد عنوان البريد الالكتروني',
248
+    'form_auteur_email_modifie' => 'تغير عنوان بريدك.',
249
+    'form_auteur_envoi_mail_confirmation' => 'لفد تم ارسال بريد تأكيد الى @email@. عليك زيارة عنوان الموقع الموجود في الرسالة للتصديق على عنوان بريدك.',
250
+    'form_auteur_mail_confirmation' => 'أهلاً وسهلاً
251 251
 
252 252
 لقد طلبت تغيير عنوان بريدك.
253 253
 للتصديق على العنوان الجديد، يكفي الاتصال
@@ -256,338 +256,338 @@  discard block
 block discarded – undo
256 256
 
257 257
     @url@
258 258
 ',
259
-	'form_deja_inscrit' => 'سبق لك التسجيل.',
260
-	'form_email_non_valide' => 'عنوانك البريدي غير صالح.',
261
-	'form_forum_access_refuse' => 'لم تعد تملك امتياز الدحول إلى هذا الموقع.',
262
-	'form_forum_bonjour' => 'مرحباً @nom@،',
263
-	'form_forum_confirmer_email' => 'لتأكيد عنوان بريدك، إذهب الى:@url_confirm@',
264
-	'form_forum_email_deja_enregistre' => 'سبق تسجيل هذا العنوان البريدي، يمكنك إذاً استخدام كلمة سرك الاعتيادية.',
265
-	'form_forum_identifiant_mail' => 'لقد تم إرسال معرّفك الجديد بالبريد الالكتروني.',
266
-	'form_forum_identifiants' => 'بيانات الاتصال الشخصية',
267
-	'form_forum_indiquer_nom_email' => 'قم بإدخال اسمك وعنوانك البريدي هنا. ستحصل على بيانات اتصالك قريباً في البريد الإلكتروني.',
268
-	'form_forum_login' => 'المعرّف:',
269
-	'form_forum_message_auto' => '(هذه رسالة آلية)',
270
-	'form_forum_pass' => 'كلمة السر:',
271
-	'form_forum_probleme_mail' => 'مشكلة بريد إلكتروني: لا يمكن إرسال بيانات الدخول.',
272
-	'form_forum_voici1' => 'هذه هي بياناتك للاشتراك في نشاط
259
+    'form_deja_inscrit' => 'سبق لك التسجيل.',
260
+    'form_email_non_valide' => 'عنوانك البريدي غير صالح.',
261
+    'form_forum_access_refuse' => 'لم تعد تملك امتياز الدحول إلى هذا الموقع.',
262
+    'form_forum_bonjour' => 'مرحباً @nom@،',
263
+    'form_forum_confirmer_email' => 'لتأكيد عنوان بريدك، إذهب الى:@url_confirm@',
264
+    'form_forum_email_deja_enregistre' => 'سبق تسجيل هذا العنوان البريدي، يمكنك إذاً استخدام كلمة سرك الاعتيادية.',
265
+    'form_forum_identifiant_mail' => 'لقد تم إرسال معرّفك الجديد بالبريد الالكتروني.',
266
+    'form_forum_identifiants' => 'بيانات الاتصال الشخصية',
267
+    'form_forum_indiquer_nom_email' => 'قم بإدخال اسمك وعنوانك البريدي هنا. ستحصل على بيانات اتصالك قريباً في البريد الإلكتروني.',
268
+    'form_forum_login' => 'المعرّف:',
269
+    'form_forum_message_auto' => '(هذه رسالة آلية)',
270
+    'form_forum_pass' => 'كلمة السر:',
271
+    'form_forum_probleme_mail' => 'مشكلة بريد إلكتروني: لا يمكن إرسال بيانات الدخول.',
272
+    'form_forum_voici1' => 'هذه هي بياناتك للاشتراك في نشاط
273 273
 الموقع  "@nom_site_spip@" (@adresse_site@):',
274
-	'form_forum_voici2' => 'هذه هي بياناتك لاقتراح مقالات
274
+    'form_forum_voici2' => 'هذه هي بياناتك لاقتراح مقالات
275 275
 للموقع  "@nom_site_spip@" (@adresse_login@):',
276
-	'form_indiquer_email' => 'الرجاء إدخال عنوانك الإلكتروني.',
277
-	'form_indiquer_nom' => 'الرجاء إدخال اسمك.',
278
-	'form_indiquer_nom_site' => 'الرجاء إدخال إسم موقعك.',
279
-	'form_pet_deja_enregistre' => 'سبق تسجيل هذا الموقع',
280
-	'form_pet_signature_pasprise' => 'تم تجاهل توقيعك.',
281
-	'form_prop_confirmer_envoi' => 'تأكيد الإرسال',
282
-	'form_prop_description' => 'وصف/تعليق',
283
-	'form_prop_enregistre' => 'تم تسجيل اقتراحك، سوف يظهر بعد تصديقه من قبل مسئولي هذا الموقع.',
284
-	'form_prop_envoyer' => 'ابعث برسالة',
285
-	'form_prop_indiquer_email' => 'الرجاء إدخال عنوان بريد إلكتروني صالح',
286
-	'form_prop_indiquer_nom_site' => 'الرجاء إدخال اسم الموقع.',
287
-	'form_prop_indiquer_sujet' => 'الرجاء إدخال موضوع',
288
-	'form_prop_message_envoye' => 'تم بعث الرسالة',
289
-	'form_prop_non_enregistre' => 'لم يتم تسجيل اقتراحك.',
290
-	'form_prop_sujet' => 'الموضوع',
291
-	'form_prop_url_site' => 'عنوان الموقع',
292
-	'format_date_incorrecte' => 'التاريخ او تنسيقه غير صحيح',
293
-	'format_heure_incorrecte' => 'الساعة او تنسيقها غير صحيح',
294
-	'forum_non_inscrit' => 'إما انك غير مسجل أو هناك خطأ في العنوان أو كلمة السر.',
295
-	'forum_par_auteur' => 'من @auteur@',
296
-	'forum_titre_erreur' => 'خطأ...',
276
+    'form_indiquer_email' => 'الرجاء إدخال عنوانك الإلكتروني.',
277
+    'form_indiquer_nom' => 'الرجاء إدخال اسمك.',
278
+    'form_indiquer_nom_site' => 'الرجاء إدخال إسم موقعك.',
279
+    'form_pet_deja_enregistre' => 'سبق تسجيل هذا الموقع',
280
+    'form_pet_signature_pasprise' => 'تم تجاهل توقيعك.',
281
+    'form_prop_confirmer_envoi' => 'تأكيد الإرسال',
282
+    'form_prop_description' => 'وصف/تعليق',
283
+    'form_prop_enregistre' => 'تم تسجيل اقتراحك، سوف يظهر بعد تصديقه من قبل مسئولي هذا الموقع.',
284
+    'form_prop_envoyer' => 'ابعث برسالة',
285
+    'form_prop_indiquer_email' => 'الرجاء إدخال عنوان بريد إلكتروني صالح',
286
+    'form_prop_indiquer_nom_site' => 'الرجاء إدخال اسم الموقع.',
287
+    'form_prop_indiquer_sujet' => 'الرجاء إدخال موضوع',
288
+    'form_prop_message_envoye' => 'تم بعث الرسالة',
289
+    'form_prop_non_enregistre' => 'لم يتم تسجيل اقتراحك.',
290
+    'form_prop_sujet' => 'الموضوع',
291
+    'form_prop_url_site' => 'عنوان الموقع',
292
+    'format_date_incorrecte' => 'التاريخ او تنسيقه غير صحيح',
293
+    'format_heure_incorrecte' => 'الساعة او تنسيقها غير صحيح',
294
+    'forum_non_inscrit' => 'إما انك غير مسجل أو هناك خطأ في العنوان أو كلمة السر.',
295
+    'forum_par_auteur' => 'من @auteur@',
296
+    'forum_titre_erreur' => 'خطأ...',
297 297
 
298
-	// I
299
-	'ical_texte_rss_articles' => 'يوجد ملف «الترخيص الخلفي» لمقالات هذا الموقع على العنوان: ',
300
-	'ical_texte_rss_articles2' => 'يمكنك أيضاً الحصول على ملفات «الترخيص الخلفي» لمقالات كل قسم في الموقع:',
301
-	'ical_texte_rss_breves' => 'يوجد كذلك ملف يحتوي على أخبار الموقع. وبإدخال رقم قسم ما، تحصل على أخبار هذا القسم فقط.',
302
-	'icone_a_suivre' => 'للمتابعة',
303
-	'icone_admin_site' => 'إدارة الموقع',
304
-	'icone_agenda' => 'المفكرة',
305
-	'icone_aide_ligne' => 'التعليمات الفورية',
306
-	'icone_articles' => 'المقالات',
307
-	'icone_auteurs' => 'المؤلفون',
308
-	'icone_brouteur' => 'تصفح سريع',
309
-	'icone_configuration_site' => 'إعداد',
310
-	'icone_configurer_site' => 'إعداد موقعك',
311
-	'icone_creer_nouvel_auteur' => 'إضافة مؤلف جديد',
312
-	'icone_creer_rubrique' => 'إنشاء قسم',
313
-	'icone_creer_sous_rubrique' => 'إنشاء قسم فرعي',
314
-	'icone_deconnecter' => 'خروج',
315
-	'icone_discussions' => 'نقاشات',
316
-	'icone_doc_rubrique' => 'مستندات الأقسام',
317
-	'icone_ecrire_article' => 'كتابة مقال جديد',
318
-	'icone_edition_site' => 'تحرير الموقع',
319
-	'icone_gestion_langues' => 'إدارة اللغات',
320
-	'icone_informations_personnelles' => 'المعلومات الشخصية',
321
-	'icone_interface_complet' => 'واجهة كاملة',
322
-	'icone_interface_simple' => 'واجهة مبسّطة',
323
-	'icone_maintenance_site' => 'صيانة الموقع',
324
-	'icone_messagerie_personnelle' => 'المراسلة الشخصية',
325
-	'icone_repartition_debut' => 'إظهار التوزيع منذ البداية',
326
-	'icone_rubriques' => 'الأقسام',
327
-	'icone_sauver_site' => 'نسخة احتياطية للموقع',
328
-	'icone_site_entier' => 'الموقع بالكامل',
329
-	'icone_sites_references' => 'المواقع المبوبة',
330
-	'icone_statistiques' => 'إحصاءات الموقع',
331
-	'icone_suivi_activite' => 'متابعة نشاط الموقع',
332
-	'icone_suivi_actualite' => 'تطور الموقع',
333
-	'icone_suivi_pettions' => 'متابعة/إدارة العرائض',
334
-	'icone_suivi_revisions' => 'تعديل المقالات',
335
-	'icone_supprimer_document' => 'حذف هذا المستند',
336
-	'icone_supprimer_image' => 'حذف هذه الصورة',
337
-	'icone_tous_articles' => 'كل مقالاتك',
338
-	'icone_tous_auteur' => 'جميع المؤلفين',
339
-	'icone_tous_visiteur' => 'جميع الزوار',
340
-	'icone_visiter_site' => 'تصفح الموقع العمومي',
341
-	'icone_voir_en_ligne' => 'عرض مباشر',
342
-	'img_indisponible' => 'صورة غير متوفرة',
343
-	'impossible' => 'مستحيل',
344
-	'info_a_suivre' => 'للمتابعة»',
345
-	'info_acces_interdit' => 'الدخول محظور',
346
-	'info_acces_refuse' => 'دخول محظور',
347
-	'info_action' => 'عملية: @action@',
348
-	'info_administrer_rubriques' => 'يمكنك إدارة هذا القسم وأقسامه الفرعية',
349
-	'info_adresse_non_indiquee' => 'لم تدخل أي عنوان لاختباره!',
350
-	'info_aide' => 'تعليمات :',
351
-	'info_ajouter_mot' => 'إضافة هذا المفتاح',
352
-	'info_annonce' => 'إعلان',
353
-	'info_annonces_generales' => 'إعلانات عامة:',
354
-	'info_article_propose' => 'مقال مقترح',
355
-	'info_article_publie' => 'مقال منشور',
356
-	'info_article_redaction' => 'مقال قيد التحرير',
357
-	'info_article_refuse' => 'مقال مرفوض',
358
-	'info_article_supprime' => 'مقال محذوف',
359
-	'info_articles' => 'المقالات',
360
-	'info_articles_a_valider' => 'مقالات معروضة للتصديق',
361
-	'info_articles_nb' => '@nb@ مقال',
362
-	'info_articles_proposes' => 'المقالات المعروضة',
363
-	'info_articles_un' => 'مقال واحد',
364
-	'info_auteurs_nombre' => 'مؤلف (مؤلفون):',
365
-	'info_authentification_ftp' => 'التحقق ( عبر بروتوكول FTP ).',
366
-	'info_breves_2' => 'خبر',
367
-	'info_breves_nb' => '@nb@ خبر',
368
-	'info_breves_un' => 'خبر واحد',
369
-	'info_connexion_refusee' => 'رفض الاتصال',
370
-	'info_contact_developpeur' => 'الرجاء الاتصال بمطوّر.',
371
-	'info_contenance' => 'هذا الموقع يحتوي على:',
372
-	'info_contribution' => 'مشاركة منتديات',
373
-	'info_copyright' => '@spip@ برنامج حر موزع @lien_gpl@.',
374
-	'info_copyright_doc' => 'لمزيد من المعلومات راجع الموقع<a href="@spipnet@">@spipnet_affiche@</a>.',
375
-	'info_copyright_gpl' => 'بموجب الترخيص العام GPL',
376
-	'info_cours_edition' => 'قيد التحرير',
377
-	'info_creer_repertoire' => 'الرجاء إنشاء ملف أو دليل باسم',
378
-	'info_creer_repertoire_2' => 'داخل الدليل الفرعي <b>@repertoire@</b>، ثم:',
379
-	'info_creer_vignette' => 'إنشاء آلي للمصغر',
380
-	'info_creerdansrubrique_non_autorise' => 'لا تملك الحقوق الكافية لإنشاء اي محتوى في هذا القسم',
381
-	'info_deplier' => 'بسط',
382
-	'info_descriptif_nombre' => 'الوصف:',
383
-	'info_description' => 'الوصف:',
384
-	'info_description_2' => 'الوصف:',
385
-	'info_dimension' => 'الحجم:',
386
-	'info_documents_nb' => '@nb@ مستند',
387
-	'info_documents_un' => 'مستند واحد',
388
-	'info_ecire_message_prive' => 'تحرير رسالة خاصة',
389
-	'info_email_invalide' => 'عنوان بريد غير صالح.',
390
-	'info_en_cours_validation' => 'مقالاتك قيد التحرير',
391
-	'info_en_ligne' => 'متصل حالياً:',
392
-	'info_envoyer_message_prive' => 'ابعث برسالة خاصة لهذا المؤلف',
393
-	'info_erreur_requete' => 'خطأ في الاستفسار:',
394
-	'info_erreur_squelette2' => 'لا توجد صفحة نموذجية <b>@fichier@</b> متاحة...',
395
-	'info_erreur_systeme' => 'خطأ في النظام (خطأ رقم @errsys@)',
396
-	'info_erreur_systeme2' => 'قد يكون القرص الصلب ممتلئاً أو قد تكون قاعدة البيانات معطلة.<br />
298
+    // I
299
+    'ical_texte_rss_articles' => 'يوجد ملف «الترخيص الخلفي» لمقالات هذا الموقع على العنوان: ',
300
+    'ical_texte_rss_articles2' => 'يمكنك أيضاً الحصول على ملفات «الترخيص الخلفي» لمقالات كل قسم في الموقع:',
301
+    'ical_texte_rss_breves' => 'يوجد كذلك ملف يحتوي على أخبار الموقع. وبإدخال رقم قسم ما، تحصل على أخبار هذا القسم فقط.',
302
+    'icone_a_suivre' => 'للمتابعة',
303
+    'icone_admin_site' => 'إدارة الموقع',
304
+    'icone_agenda' => 'المفكرة',
305
+    'icone_aide_ligne' => 'التعليمات الفورية',
306
+    'icone_articles' => 'المقالات',
307
+    'icone_auteurs' => 'المؤلفون',
308
+    'icone_brouteur' => 'تصفح سريع',
309
+    'icone_configuration_site' => 'إعداد',
310
+    'icone_configurer_site' => 'إعداد موقعك',
311
+    'icone_creer_nouvel_auteur' => 'إضافة مؤلف جديد',
312
+    'icone_creer_rubrique' => 'إنشاء قسم',
313
+    'icone_creer_sous_rubrique' => 'إنشاء قسم فرعي',
314
+    'icone_deconnecter' => 'خروج',
315
+    'icone_discussions' => 'نقاشات',
316
+    'icone_doc_rubrique' => 'مستندات الأقسام',
317
+    'icone_ecrire_article' => 'كتابة مقال جديد',
318
+    'icone_edition_site' => 'تحرير الموقع',
319
+    'icone_gestion_langues' => 'إدارة اللغات',
320
+    'icone_informations_personnelles' => 'المعلومات الشخصية',
321
+    'icone_interface_complet' => 'واجهة كاملة',
322
+    'icone_interface_simple' => 'واجهة مبسّطة',
323
+    'icone_maintenance_site' => 'صيانة الموقع',
324
+    'icone_messagerie_personnelle' => 'المراسلة الشخصية',
325
+    'icone_repartition_debut' => 'إظهار التوزيع منذ البداية',
326
+    'icone_rubriques' => 'الأقسام',
327
+    'icone_sauver_site' => 'نسخة احتياطية للموقع',
328
+    'icone_site_entier' => 'الموقع بالكامل',
329
+    'icone_sites_references' => 'المواقع المبوبة',
330
+    'icone_statistiques' => 'إحصاءات الموقع',
331
+    'icone_suivi_activite' => 'متابعة نشاط الموقع',
332
+    'icone_suivi_actualite' => 'تطور الموقع',
333
+    'icone_suivi_pettions' => 'متابعة/إدارة العرائض',
334
+    'icone_suivi_revisions' => 'تعديل المقالات',
335
+    'icone_supprimer_document' => 'حذف هذا المستند',
336
+    'icone_supprimer_image' => 'حذف هذه الصورة',
337
+    'icone_tous_articles' => 'كل مقالاتك',
338
+    'icone_tous_auteur' => 'جميع المؤلفين',
339
+    'icone_tous_visiteur' => 'جميع الزوار',
340
+    'icone_visiter_site' => 'تصفح الموقع العمومي',
341
+    'icone_voir_en_ligne' => 'عرض مباشر',
342
+    'img_indisponible' => 'صورة غير متوفرة',
343
+    'impossible' => 'مستحيل',
344
+    'info_a_suivre' => 'للمتابعة»',
345
+    'info_acces_interdit' => 'الدخول محظور',
346
+    'info_acces_refuse' => 'دخول محظور',
347
+    'info_action' => 'عملية: @action@',
348
+    'info_administrer_rubriques' => 'يمكنك إدارة هذا القسم وأقسامه الفرعية',
349
+    'info_adresse_non_indiquee' => 'لم تدخل أي عنوان لاختباره!',
350
+    'info_aide' => 'تعليمات :',
351
+    'info_ajouter_mot' => 'إضافة هذا المفتاح',
352
+    'info_annonce' => 'إعلان',
353
+    'info_annonces_generales' => 'إعلانات عامة:',
354
+    'info_article_propose' => 'مقال مقترح',
355
+    'info_article_publie' => 'مقال منشور',
356
+    'info_article_redaction' => 'مقال قيد التحرير',
357
+    'info_article_refuse' => 'مقال مرفوض',
358
+    'info_article_supprime' => 'مقال محذوف',
359
+    'info_articles' => 'المقالات',
360
+    'info_articles_a_valider' => 'مقالات معروضة للتصديق',
361
+    'info_articles_nb' => '@nb@ مقال',
362
+    'info_articles_proposes' => 'المقالات المعروضة',
363
+    'info_articles_un' => 'مقال واحد',
364
+    'info_auteurs_nombre' => 'مؤلف (مؤلفون):',
365
+    'info_authentification_ftp' => 'التحقق ( عبر بروتوكول FTP ).',
366
+    'info_breves_2' => 'خبر',
367
+    'info_breves_nb' => '@nb@ خبر',
368
+    'info_breves_un' => 'خبر واحد',
369
+    'info_connexion_refusee' => 'رفض الاتصال',
370
+    'info_contact_developpeur' => 'الرجاء الاتصال بمطوّر.',
371
+    'info_contenance' => 'هذا الموقع يحتوي على:',
372
+    'info_contribution' => 'مشاركة منتديات',
373
+    'info_copyright' => '@spip@ برنامج حر موزع @lien_gpl@.',
374
+    'info_copyright_doc' => 'لمزيد من المعلومات راجع الموقع<a href="@spipnet@">@spipnet_affiche@</a>.',
375
+    'info_copyright_gpl' => 'بموجب الترخيص العام GPL',
376
+    'info_cours_edition' => 'قيد التحرير',
377
+    'info_creer_repertoire' => 'الرجاء إنشاء ملف أو دليل باسم',
378
+    'info_creer_repertoire_2' => 'داخل الدليل الفرعي <b>@repertoire@</b>، ثم:',
379
+    'info_creer_vignette' => 'إنشاء آلي للمصغر',
380
+    'info_creerdansrubrique_non_autorise' => 'لا تملك الحقوق الكافية لإنشاء اي محتوى في هذا القسم',
381
+    'info_deplier' => 'بسط',
382
+    'info_descriptif_nombre' => 'الوصف:',
383
+    'info_description' => 'الوصف:',
384
+    'info_description_2' => 'الوصف:',
385
+    'info_dimension' => 'الحجم:',
386
+    'info_documents_nb' => '@nb@ مستند',
387
+    'info_documents_un' => 'مستند واحد',
388
+    'info_ecire_message_prive' => 'تحرير رسالة خاصة',
389
+    'info_email_invalide' => 'عنوان بريد غير صالح.',
390
+    'info_en_cours_validation' => 'مقالاتك قيد التحرير',
391
+    'info_en_ligne' => 'متصل حالياً:',
392
+    'info_envoyer_message_prive' => 'ابعث برسالة خاصة لهذا المؤلف',
393
+    'info_erreur_requete' => 'خطأ في الاستفسار:',
394
+    'info_erreur_squelette2' => 'لا توجد صفحة نموذجية <b>@fichier@</b> متاحة...',
395
+    'info_erreur_systeme' => 'خطأ في النظام (خطأ رقم @errsys@)',
396
+    'info_erreur_systeme2' => 'قد يكون القرص الصلب ممتلئاً أو قد تكون قاعدة البيانات معطلة.<br />
397 397
 <span style="color:red;">حاول <a href=\'@script@\'>إصلاح القاعدة</a>، أو الاتصال بمضيف موقعك.</font> ',
398
-	'info_fini' => 'انتهى!',
399
-	'info_format_image' => 'تنسيق ملفات الصور الذي يمكن استخدامه لإنشاء المصغرات: @gd_formats@ .',
400
-	'info_format_non_defini' => 'تنسيق غير معروف',
401
-	'info_grand_ecran' => 'شاشة كبيرة',
402
-	'info_image_aide' => 'تعليمات',
403
-	'info_image_process_titre' => 'طريقة إنشاء المصغرات',
404
-	'info_impossible_lire_page' => '<b>خطأ!</b> لا يمكن قراءة الصفحة <tt><html>@test_proxy@</html></tt> عبر الجهاز الوكيل',
405
-	'info_installation_systeme_publication' => 'تثبيت نظام النشر...',
406
-	'info_installer_documents' => 'يمكنك تثبيت كل المستندات الموجودة في المجلد @upload@ آلياً.',
407
-	'info_installer_ftp' => 'بصفتك مديراً، يمكنك تثبيت (بواسطة بروتوكول FTP) ملفات في المجلد@upload@  من أجل تحديدهم في ما بعد مباشرة من هنا.',
408
-	'info_installer_images' => 'يمكنك تثبيت صور بتنسيقات JPEG  وGIF  وPNG.',
409
-	'info_installer_images_dossier' => 'تثبيت صور في المجلد @upload@  للتمكن من تحديدها هنا.',
410
-	'info_interface_complete' => 'واجهة كاملة',
411
-	'info_interface_simple' => 'واجهة مبسّطة',
412
-	'info_joindre_document_article' => 'يمكنك إرفاق مقالك بمستندات من الأنواع',
413
-	'info_joindre_document_rubrique' => 'يمكنك إضافة مستندات من الأنواع التالية إلى هذا القسم',
414
-	'info_joindre_documents_article' => 'يمكنك إرفاق مستندات من الأنواع التالية بمقالك :',
415
-	'info_l_article' => 'المقال',
416
-	'info_la_breve' => 'الخبر',
417
-	'info_la_rubrique' => 'القسم',
418
-	'info_langue_principale' => 'اللغة الأساسية للموقع',
419
-	'info_largeur_vignette' => '@largeur_vignette@ × @hauteur_vignette@  نقطة',
420
-	'info_les_auteurs_1' => 'من @les_auteurs@',
421
-	'info_logo_format_interdit' => 'الرموز بتنسيق @formats@ هي الوحيدة المسموح بها.',
422
-	'info_logo_max_poids' => 'يجب ألا يتعدى حجم الرموز @maxi@ (يبلغ حجم الملف الحالي @actuel@). ',
423
-	'info_mail_fournisseur' => '[email protected]',
424
-	'info_message_2' => 'رسالة',
425
-	'info_message_supprime' => 'تم حذف المشاركة',
426
-	'info_messages_nb' => '@nb@ رسالة',
427
-	'info_messages_un' => 'رسالة واحدة',
428
-	'info_mise_en_ligne' => 'تاريخ النشر:',
429
-	'info_modification_parametres_securite' => 'تعديل إعدادات الأمان',
430
-	'info_mois_courant' => 'في بحر الشهر:',
431
-	'info_mot_cle_ajoute' => 'تمت إضافة المفتاح التالي إلى',
432
-	'info_multi_herit' => 'اللغة الافتراضية',
433
-	'info_multi_langues_soulignees' => '<u>اللغات التي تحتها خط</u> تتمتع بترجمة كاملة او جزئية لكل نصوص الواجهة. فإذا حددت هذه اللغات، سيتم ترجمة العديد من عناصر الموقع العمومي (التواريخ والاستمارات) آلياً. أما بالنسبة للغات التي ليس تحتها خط، فستظهر هذه العناصر في لغة الموقع الأساسية.',
434
-	'info_multilinguisme' => 'تعدد اللغات',
435
-	'info_nom_non_utilisateurs_connectes' => 'اسمك لا يظهر في قائمة المستخدمين المتصلين.',
436
-	'info_nom_utilisateurs_connectes' => 'اسمك يظهر في قائمة المستخدمين المتصلين.',
437
-	'info_nombre_en_ligne' => 'متصل حالياً:',
438
-	'info_non_resultat' => 'لا توجد نتائج لـ "@cherche_mot@"',
439
-	'info_non_utilisation_messagerie' => 'أنت لا تستخدم المراسلة الداخلية في هذا الموقع.',
440
-	'info_nouveau_message' => 'وصلت رسالة جديدة',
441
-	'info_nouveaux_messages' => 'وصلت @total_messages@  رسالة جديدة',
442
-	'info_numero_abbreviation' => 'رقم',
443
-	'info_obligatoire' => 'هذه المعلومة إجبارية',
444
-	'info_pense_bete' => 'مذكرة',
445
-	'info_petit_ecran' => 'شاشة صغيرة',
446
-	'info_petition_close' => 'عريضة مقفلة',
447
-	'info_pixels' => 'نقطة',
448
-	'info_plusieurs_mots_trouves' => 'تم العثور على عدة مفاتيح لـ "@cherche_mot@" :',
449
-	'info_portfolio_automatique' => 'محفظة آلية:',
450
-	'info_premier_resultat' => '[النتائج الـ@debut_limit@  الأولى من أصل @total@]',
451
-	'info_premier_resultat_sur' => '[النتائج الـ@debut_limit@  الأولى من أصل @total@]',
452
-	'info_propose_1' => '[@nom_site_spip@] يقترح: @titre@',
453
-	'info_propose_2' => 'مقال معروض
398
+    'info_fini' => 'انتهى!',
399
+    'info_format_image' => 'تنسيق ملفات الصور الذي يمكن استخدامه لإنشاء المصغرات: @gd_formats@ .',
400
+    'info_format_non_defini' => 'تنسيق غير معروف',
401
+    'info_grand_ecran' => 'شاشة كبيرة',
402
+    'info_image_aide' => 'تعليمات',
403
+    'info_image_process_titre' => 'طريقة إنشاء المصغرات',
404
+    'info_impossible_lire_page' => '<b>خطأ!</b> لا يمكن قراءة الصفحة <tt><html>@test_proxy@</html></tt> عبر الجهاز الوكيل',
405
+    'info_installation_systeme_publication' => 'تثبيت نظام النشر...',
406
+    'info_installer_documents' => 'يمكنك تثبيت كل المستندات الموجودة في المجلد @upload@ آلياً.',
407
+    'info_installer_ftp' => 'بصفتك مديراً، يمكنك تثبيت (بواسطة بروتوكول FTP) ملفات في المجلد@upload@  من أجل تحديدهم في ما بعد مباشرة من هنا.',
408
+    'info_installer_images' => 'يمكنك تثبيت صور بتنسيقات JPEG  وGIF  وPNG.',
409
+    'info_installer_images_dossier' => 'تثبيت صور في المجلد @upload@  للتمكن من تحديدها هنا.',
410
+    'info_interface_complete' => 'واجهة كاملة',
411
+    'info_interface_simple' => 'واجهة مبسّطة',
412
+    'info_joindre_document_article' => 'يمكنك إرفاق مقالك بمستندات من الأنواع',
413
+    'info_joindre_document_rubrique' => 'يمكنك إضافة مستندات من الأنواع التالية إلى هذا القسم',
414
+    'info_joindre_documents_article' => 'يمكنك إرفاق مستندات من الأنواع التالية بمقالك :',
415
+    'info_l_article' => 'المقال',
416
+    'info_la_breve' => 'الخبر',
417
+    'info_la_rubrique' => 'القسم',
418
+    'info_langue_principale' => 'اللغة الأساسية للموقع',
419
+    'info_largeur_vignette' => '@largeur_vignette@ × @hauteur_vignette@  نقطة',
420
+    'info_les_auteurs_1' => 'من @les_auteurs@',
421
+    'info_logo_format_interdit' => 'الرموز بتنسيق @formats@ هي الوحيدة المسموح بها.',
422
+    'info_logo_max_poids' => 'يجب ألا يتعدى حجم الرموز @maxi@ (يبلغ حجم الملف الحالي @actuel@). ',
423
+    'info_mail_fournisseur' => '[email protected]',
424
+    'info_message_2' => 'رسالة',
425
+    'info_message_supprime' => 'تم حذف المشاركة',
426
+    'info_messages_nb' => '@nb@ رسالة',
427
+    'info_messages_un' => 'رسالة واحدة',
428
+    'info_mise_en_ligne' => 'تاريخ النشر:',
429
+    'info_modification_parametres_securite' => 'تعديل إعدادات الأمان',
430
+    'info_mois_courant' => 'في بحر الشهر:',
431
+    'info_mot_cle_ajoute' => 'تمت إضافة المفتاح التالي إلى',
432
+    'info_multi_herit' => 'اللغة الافتراضية',
433
+    'info_multi_langues_soulignees' => '<u>اللغات التي تحتها خط</u> تتمتع بترجمة كاملة او جزئية لكل نصوص الواجهة. فإذا حددت هذه اللغات، سيتم ترجمة العديد من عناصر الموقع العمومي (التواريخ والاستمارات) آلياً. أما بالنسبة للغات التي ليس تحتها خط، فستظهر هذه العناصر في لغة الموقع الأساسية.',
434
+    'info_multilinguisme' => 'تعدد اللغات',
435
+    'info_nom_non_utilisateurs_connectes' => 'اسمك لا يظهر في قائمة المستخدمين المتصلين.',
436
+    'info_nom_utilisateurs_connectes' => 'اسمك يظهر في قائمة المستخدمين المتصلين.',
437
+    'info_nombre_en_ligne' => 'متصل حالياً:',
438
+    'info_non_resultat' => 'لا توجد نتائج لـ "@cherche_mot@"',
439
+    'info_non_utilisation_messagerie' => 'أنت لا تستخدم المراسلة الداخلية في هذا الموقع.',
440
+    'info_nouveau_message' => 'وصلت رسالة جديدة',
441
+    'info_nouveaux_messages' => 'وصلت @total_messages@  رسالة جديدة',
442
+    'info_numero_abbreviation' => 'رقم',
443
+    'info_obligatoire' => 'هذه المعلومة إجبارية',
444
+    'info_pense_bete' => 'مذكرة',
445
+    'info_petit_ecran' => 'شاشة صغيرة',
446
+    'info_petition_close' => 'عريضة مقفلة',
447
+    'info_pixels' => 'نقطة',
448
+    'info_plusieurs_mots_trouves' => 'تم العثور على عدة مفاتيح لـ "@cherche_mot@" :',
449
+    'info_portfolio_automatique' => 'محفظة آلية:',
450
+    'info_premier_resultat' => '[النتائج الـ@debut_limit@  الأولى من أصل @total@]',
451
+    'info_premier_resultat_sur' => '[النتائج الـ@debut_limit@  الأولى من أصل @total@]',
452
+    'info_propose_1' => '[@nom_site_spip@] يقترح: @titre@',
453
+    'info_propose_2' => 'مقال معروض
454 454
 ----------',
455
-	'info_propose_3' => 'المقال "@titre@" معروض للنشر.',
456
-	'info_propose_4' => 'أنت مدعو لمراجعته وإبداء رأيك',
457
-	'info_propose_5' => 'في المنتدى المرتبط به. إنه موجود على العنوان:',
458
-	'info_publie_01' => 'تم التصديق على المقال "@titre@"  من قبل @connect_nom@ .',
459
-	'info_publie_1' => '[@nom_site_spip@] ينشر: @titre@',
460
-	'info_publie_2' => 'مقال منشور
455
+    'info_propose_3' => 'المقال "@titre@" معروض للنشر.',
456
+    'info_propose_4' => 'أنت مدعو لمراجعته وإبداء رأيك',
457
+    'info_propose_5' => 'في المنتدى المرتبط به. إنه موجود على العنوان:',
458
+    'info_publie_01' => 'تم التصديق على المقال "@titre@"  من قبل @connect_nom@ .',
459
+    'info_publie_1' => '[@nom_site_spip@] ينشر: @titre@',
460
+    'info_publie_2' => 'مقال منشور
461 461
 ----------',
462
-	'info_rechercher' => 'بحث',
463
-	'info_rechercher_02' => 'بحث:',
464
-	'info_remplacer_vignette' => 'استبدال المصغر الافتراضي برمز شخصي:',
465
-	'info_rubriques_nb' => '@nb@ قسم',
466
-	'info_rubriques_un' => 'قسم واحد',
467
-	'info_sans_titre_2' => 'بدون عنوان',
468
-	'info_selectionner_fichier' => 'يمكنك تحديد ملف من المجلد @upload@:',
469
-	'info_selectionner_fichier_2' => 'تحديد ملف:',
470
-	'info_sites_nb' => '@nb@ موقع',
471
-	'info_sites_un' => 'موقع واحد',
472
-	'info_supprimer_vignette' => 'حذف المصغر',
473
-	'info_symbole_bleu' => 'الرمز <b>أزرق</b> يرمز إلى <b>مذكرة</b>: أي رسالة لاستخدامك الشخصي.',
474
-	'info_symbole_jaune' => 'الرمز <b>أصفر</b> يرمز إلى <b>إعلان لجميع المحررين</b>: يمكن لجميع المدراء تحريره وهو ظاهر لجميع المحررين.',
475
-	'info_symbole_vert' => 'الرمز <b>أخضر</b>  يرمز إلى <b>الرسائل المتبادلة بين مستخدمي</b> الموقع.',
476
-	'info_telecharger_nouveau_logo' => 'تحميل رمز جديد:',
477
-	'info_telecharger_ordinateur' => 'تحميل من جهازك:',
478
-	'info_tous_resultats_enregistres' => '[تم تسجيل كل النتائج]',
479
-	'info_tout_afficher' => 'إظهار الكل',
480
-	'info_travaux_texte' => 'هذا الموقع قيد الإعداد. برجاء العودة في وقت لاحق...',
481
-	'info_travaux_titre' => 'موقع قيد التصميم',
482
-	'info_trop_resultat' => 'تم العثور على عدد كبير جداً من النتائج لـ "@cherche_mot@" ، الرجاء زيادة دقة البحث.',
483
-	'info_utilisation_messagerie_interne' => 'أنت تستخدم المراسلة الداخلية في هذا الموقع.',
484
-	'info_valider_lien' => 'التصديق على هذه الوصلة',
485
-	'info_verifier_image' => '، الرجاء التأكد من أنه تم نقل الصور بشكل سليم.',
486
-	'info_vignette_defaut' => 'المصغر الافتراضي',
487
-	'info_vignette_personnalisee' => 'مصغر شخصي',
488
-	'info_visite' => 'زيارة:',
489
-	'info_vos_rendez_vous' => 'مواعيدك القادمة',
490
-	'infos_vos_pense_bete' => 'مذكراتك',
462
+    'info_rechercher' => 'بحث',
463
+    'info_rechercher_02' => 'بحث:',
464
+    'info_remplacer_vignette' => 'استبدال المصغر الافتراضي برمز شخصي:',
465
+    'info_rubriques_nb' => '@nb@ قسم',
466
+    'info_rubriques_un' => 'قسم واحد',
467
+    'info_sans_titre_2' => 'بدون عنوان',
468
+    'info_selectionner_fichier' => 'يمكنك تحديد ملف من المجلد @upload@:',
469
+    'info_selectionner_fichier_2' => 'تحديد ملف:',
470
+    'info_sites_nb' => '@nb@ موقع',
471
+    'info_sites_un' => 'موقع واحد',
472
+    'info_supprimer_vignette' => 'حذف المصغر',
473
+    'info_symbole_bleu' => 'الرمز <b>أزرق</b> يرمز إلى <b>مذكرة</b>: أي رسالة لاستخدامك الشخصي.',
474
+    'info_symbole_jaune' => 'الرمز <b>أصفر</b> يرمز إلى <b>إعلان لجميع المحررين</b>: يمكن لجميع المدراء تحريره وهو ظاهر لجميع المحررين.',
475
+    'info_symbole_vert' => 'الرمز <b>أخضر</b>  يرمز إلى <b>الرسائل المتبادلة بين مستخدمي</b> الموقع.',
476
+    'info_telecharger_nouveau_logo' => 'تحميل رمز جديد:',
477
+    'info_telecharger_ordinateur' => 'تحميل من جهازك:',
478
+    'info_tous_resultats_enregistres' => '[تم تسجيل كل النتائج]',
479
+    'info_tout_afficher' => 'إظهار الكل',
480
+    'info_travaux_texte' => 'هذا الموقع قيد الإعداد. برجاء العودة في وقت لاحق...',
481
+    'info_travaux_titre' => 'موقع قيد التصميم',
482
+    'info_trop_resultat' => 'تم العثور على عدد كبير جداً من النتائج لـ "@cherche_mot@" ، الرجاء زيادة دقة البحث.',
483
+    'info_utilisation_messagerie_interne' => 'أنت تستخدم المراسلة الداخلية في هذا الموقع.',
484
+    'info_valider_lien' => 'التصديق على هذه الوصلة',
485
+    'info_verifier_image' => '، الرجاء التأكد من أنه تم نقل الصور بشكل سليم.',
486
+    'info_vignette_defaut' => 'المصغر الافتراضي',
487
+    'info_vignette_personnalisee' => 'مصغر شخصي',
488
+    'info_visite' => 'زيارة:',
489
+    'info_vos_rendez_vous' => 'مواعيدك القادمة',
490
+    'infos_vos_pense_bete' => 'مذكراتك',
491 491
 
492
-	// L
493
-	'label_ajout_id_rapide' => 'إضافة سريعة',
494
-	'label_poids_fichier' => 'الحجم',
495
-	'lien_afficher_icones_seuls' => 'عرض الرموز فقط',
496
-	'lien_afficher_texte_icones' => 'عرض الرموز والعناوين',
497
-	'lien_afficher_texte_seul' => 'عرض العناوين فقط',
498
-	'lien_liberer' => 'فك الحجز',
499
-	'lien_liberer_tous' => 'فك حجز الكل',
500
-	'lien_nouvea_pense_bete' => 'مذكرة جديدة',
501
-	'lien_nouveau_message' => 'رسالة جديدة',
502
-	'lien_nouvelle_annonce' => 'إعلان جديد',
503
-	'lien_petitions' => 'عريضة',
504
-	'lien_popularite' => 'شعبية: @popularite@%',
505
-	'lien_racine_site' => 'أصل الموقع',
506
-	'lien_reessayer' => 'إعادة المحاولة',
507
-	'lien_repondre_message' => 'الرد على هذه المشاركة',
508
-	'lien_supprimer' => 'حذف',
509
-	'lien_tout_afficher' => 'إظهار الكل',
510
-	'lien_visite_site' => 'زيارة هذا الموقع',
511
-	'lien_visites' => '@visites@ زيارة',
512
-	'lien_voir_auteur' => 'مراجعة هذا المؤلف',
513
-	'ligne' => 'سطر',
514
-	'login' => 'الدخول',
515
-	'login_acces_prive' => 'الدخول إلى المجال الخاص',
516
-	'login_autre_identifiant' => 'الاتصال بمعرّف آخر',
517
-	'login_cookie_accepte' => 'الرجاء تهيئ برنامج التصفح ليتقبلها (من هذا الموقع على الأقل)',
518
-	'login_cookie_oblige' => 'للتعريف عن نفسك بشكل آمن في هذا الموقع، يجب قبول الكعكات (cookies).',
519
-	'login_deconnexion_ok' => 'تم قطع الاتصال.',
520
-	'login_erreur_pass' => 'خطأ في كلمة السر.',
521
-	'login_espace_prive' => 'المجال الخاص',
522
-	'login_identifiant_inconnu' => 'المعرّف «@login@» غير معروف.',
523
-	'login_login' => 'المعرّف:',
524
-	'login_login2' => 'المعرّف او عنوان البريد الالكتروني:',
525
-	'login_login_pass_incorrect' => '(خطأ في المعرّف أو كلمة السر).',
526
-	'login_motpasseoublie' => 'هل نسيت كلمة السر؟',
527
-	'login_non_securise' => 'لطفا، هذه الاستمارة غير آمنة.
492
+    // L
493
+    'label_ajout_id_rapide' => 'إضافة سريعة',
494
+    'label_poids_fichier' => 'الحجم',
495
+    'lien_afficher_icones_seuls' => 'عرض الرموز فقط',
496
+    'lien_afficher_texte_icones' => 'عرض الرموز والعناوين',
497
+    'lien_afficher_texte_seul' => 'عرض العناوين فقط',
498
+    'lien_liberer' => 'فك الحجز',
499
+    'lien_liberer_tous' => 'فك حجز الكل',
500
+    'lien_nouvea_pense_bete' => 'مذكرة جديدة',
501
+    'lien_nouveau_message' => 'رسالة جديدة',
502
+    'lien_nouvelle_annonce' => 'إعلان جديد',
503
+    'lien_petitions' => 'عريضة',
504
+    'lien_popularite' => 'شعبية: @popularite@%',
505
+    'lien_racine_site' => 'أصل الموقع',
506
+    'lien_reessayer' => 'إعادة المحاولة',
507
+    'lien_repondre_message' => 'الرد على هذه المشاركة',
508
+    'lien_supprimer' => 'حذف',
509
+    'lien_tout_afficher' => 'إظهار الكل',
510
+    'lien_visite_site' => 'زيارة هذا الموقع',
511
+    'lien_visites' => '@visites@ زيارة',
512
+    'lien_voir_auteur' => 'مراجعة هذا المؤلف',
513
+    'ligne' => 'سطر',
514
+    'login' => 'الدخول',
515
+    'login_acces_prive' => 'الدخول إلى المجال الخاص',
516
+    'login_autre_identifiant' => 'الاتصال بمعرّف آخر',
517
+    'login_cookie_accepte' => 'الرجاء تهيئ برنامج التصفح ليتقبلها (من هذا الموقع على الأقل)',
518
+    'login_cookie_oblige' => 'للتعريف عن نفسك بشكل آمن في هذا الموقع، يجب قبول الكعكات (cookies).',
519
+    'login_deconnexion_ok' => 'تم قطع الاتصال.',
520
+    'login_erreur_pass' => 'خطأ في كلمة السر.',
521
+    'login_espace_prive' => 'المجال الخاص',
522
+    'login_identifiant_inconnu' => 'المعرّف «@login@» غير معروف.',
523
+    'login_login' => 'المعرّف:',
524
+    'login_login2' => 'المعرّف او عنوان البريد الالكتروني:',
525
+    'login_login_pass_incorrect' => '(خطأ في المعرّف أو كلمة السر).',
526
+    'login_motpasseoublie' => 'هل نسيت كلمة السر؟',
527
+    'login_non_securise' => 'لطفا، هذه الاستمارة غير آمنة.
528 528
    إذا كنت ترغب أن تكون كلمة سرك
529 529
    آمنة على الشبكة، يجب تفعيل جافاسكريبت 
530 530
    في برنامج التصفح',
531
-	'login_nouvelle_tentative' => 'محاولة جديدة',
532
-	'login_par_ici' => 'أنت مسجّل... توجه من هنا...',
533
-	'login_pass2' => 'كلمة السر:',
534
-	'login_preferez_refuser' => '<b>إذا كنت تفضل عدم قبول الكعكات</b>، يمكنك استخدام طريقة دخول أخرى (أقل أماناً):',
535
-	'login_recharger' => 'وإعادة تحميل الصفحة',
536
-	'login_rester_identifie' => 'ابقى متصلاً بضعة أيام',
537
-	'login_retour_public' => 'عودة إلى الموقع العام',
538
-	'login_retour_site' => 'عودة إلى الموقع العام',
539
-	'login_retoursitepublic' => 'عودة إلى الموقع العام',
540
-	'login_sans_cookie' => 'تعريف بدون الكعكة',
541
-	'login_securise' => 'تعريف مؤمّن',
542
-	'login_sinscrire' => 'تسجيل',
543
-	'login_test_navigateur' => 'تجربة المتصفح/إعادة الاتصال',
544
-	'login_verifiez_navigateur' => '(على أي حال، تأكد من أن المتصفح لم يقم بحفظ كلمة سرك...)',
531
+    'login_nouvelle_tentative' => 'محاولة جديدة',
532
+    'login_par_ici' => 'أنت مسجّل... توجه من هنا...',
533
+    'login_pass2' => 'كلمة السر:',
534
+    'login_preferez_refuser' => '<b>إذا كنت تفضل عدم قبول الكعكات</b>، يمكنك استخدام طريقة دخول أخرى (أقل أماناً):',
535
+    'login_recharger' => 'وإعادة تحميل الصفحة',
536
+    'login_rester_identifie' => 'ابقى متصلاً بضعة أيام',
537
+    'login_retour_public' => 'عودة إلى الموقع العام',
538
+    'login_retour_site' => 'عودة إلى الموقع العام',
539
+    'login_retoursitepublic' => 'عودة إلى الموقع العام',
540
+    'login_sans_cookie' => 'تعريف بدون الكعكة',
541
+    'login_securise' => 'تعريف مؤمّن',
542
+    'login_sinscrire' => 'تسجيل',
543
+    'login_test_navigateur' => 'تجربة المتصفح/إعادة الاتصال',
544
+    'login_verifiez_navigateur' => '(على أي حال، تأكد من أن المتصفح لم يقم بحفظ كلمة سرك...)',
545 545
 
546
-	// M
547
-	'masquer_colonne' => 'حجب هذا العمود',
548
-	'masquer_trad' => 'حجب الترجمات',
549
-	'message_nouveaux_identifiants_echec' => 'لا يمكن إنشاء معرف وكلمة سر جديدين.',
550
-	'message_nouveaux_identifiants_echec_envoi' => 'مشكلة في إرسال المعرف وكلمة السر الجديدين.',
551
-	'message_nouveaux_identifiants_ok' => 'تم إرسال المعرف وكلمة السر الجديدين الى @email@.',
552
-	'module_fichiers_langues' => 'ملفات اللغة',
546
+    // M
547
+    'masquer_colonne' => 'حجب هذا العمود',
548
+    'masquer_trad' => 'حجب الترجمات',
549
+    'message_nouveaux_identifiants_echec' => 'لا يمكن إنشاء معرف وكلمة سر جديدين.',
550
+    'message_nouveaux_identifiants_echec_envoi' => 'مشكلة في إرسال المعرف وكلمة السر الجديدين.',
551
+    'message_nouveaux_identifiants_ok' => 'تم إرسال المعرف وكلمة السر الجديدين الى @email@.',
552
+    'module_fichiers_langues' => 'ملفات اللغة',
553 553
 
554
-	// N
555
-	'navigateur_pas_redirige' => 'إذا لم تتم إعادة توجيه متصفحك، انقر هنا للمتابعة.',
556
-	'numero' => 'رقم',
554
+    // N
555
+    'navigateur_pas_redirige' => 'إذا لم تتم إعادة توجيه متصفحك، انقر هنا للمتابعة.',
556
+    'numero' => 'رقم',
557 557
 
558
-	// O
559
-	'occurence' => 'ظهور',
560
-	'onglet_affacer_base' => 'حذف قاعدة البيانات',
561
-	'onglet_auteur' => 'المؤلف',
562
-	'onglet_contenu_site' => 'محتوى الموقع',
563
-	'onglet_evolution_visite_mod' => 'تطور',
564
-	'onglet_fonctions_avances' => 'الوظائف المتطورة',
565
-	'onglet_informations_personnelles' => 'المعلومات الشخصية',
566
-	'onglet_interactivite' => 'التفاعلية',
567
-	'onglet_messagerie' => 'المراسلة',
568
-	'onglet_repartition_rubrique' => 'التوزيع حسب الأقسام',
569
-	'onglet_save_restaur_base' => 'نسخ احتياطي / استرجاع القاعدة',
570
-	'onglet_vider_cache' => 'تفريغ الذاكرة المخبأة',
558
+    // O
559
+    'occurence' => 'ظهور',
560
+    'onglet_affacer_base' => 'حذف قاعدة البيانات',
561
+    'onglet_auteur' => 'المؤلف',
562
+    'onglet_contenu_site' => 'محتوى الموقع',
563
+    'onglet_evolution_visite_mod' => 'تطور',
564
+    'onglet_fonctions_avances' => 'الوظائف المتطورة',
565
+    'onglet_informations_personnelles' => 'المعلومات الشخصية',
566
+    'onglet_interactivite' => 'التفاعلية',
567
+    'onglet_messagerie' => 'المراسلة',
568
+    'onglet_repartition_rubrique' => 'التوزيع حسب الأقسام',
569
+    'onglet_save_restaur_base' => 'نسخ احتياطي / استرجاع القاعدة',
570
+    'onglet_vider_cache' => 'تفريغ الذاكرة المخبأة',
571 571
 
572
-	// P
573
-	'pass_choix_pass' => 'الرجاء اختيار كلمة السر الجديدة:',
574
-	'pass_erreur' => 'خطأ',
575
-	'pass_erreur_acces_refuse' => '<b>خطأ:< b> لم تعد تملك حق الدخول إلى هذا الموقع.',
576
-	'pass_erreur_code_inconnu' => '<b>خطأ:< b> هذا المعرّف لا يتناسب مع أي من الزوار الذين يتمتعون بحق الدخول إلى هذا الموقع.',
577
-	'pass_erreur_non_enregistre' => '<b>خطأ:< b>  العنوان <tt>@email_oubli@</tt> ليس مسجلاً في هذا الموقع.',
578
-	'pass_erreur_non_valide' => '<b>خطأ:< b>  العنوان <tt>@email_oubli@</tt> ليس صالحاً.',
579
-	'pass_erreur_probleme_technique' => '<b>خطأ:< b>  لم يتم بعث هذه الرسالة بسبب مشكلة تقنية.',
580
-	'pass_espace_prive_bla' => 'المجال الخاص لهذا الموقع مفتوح
572
+    // P
573
+    'pass_choix_pass' => 'الرجاء اختيار كلمة السر الجديدة:',
574
+    'pass_erreur' => 'خطأ',
575
+    'pass_erreur_acces_refuse' => '<b>خطأ:< b> لم تعد تملك حق الدخول إلى هذا الموقع.',
576
+    'pass_erreur_code_inconnu' => '<b>خطأ:< b> هذا المعرّف لا يتناسب مع أي من الزوار الذين يتمتعون بحق الدخول إلى هذا الموقع.',
577
+    'pass_erreur_non_enregistre' => '<b>خطأ:< b>  العنوان <tt>@email_oubli@</tt> ليس مسجلاً في هذا الموقع.',
578
+    'pass_erreur_non_valide' => '<b>خطأ:< b>  العنوان <tt>@email_oubli@</tt> ليس صالحاً.',
579
+    'pass_erreur_probleme_technique' => '<b>خطأ:< b>  لم يتم بعث هذه الرسالة بسبب مشكلة تقنية.',
580
+    'pass_espace_prive_bla' => 'المجال الخاص لهذا الموقع مفتوح
581 581
 للزوار بعد تسجيلهم. بعد تسجيلك
582 582
 يمكنك مراجعة المقالات قيد التحرير
583 583
 واقتراح مقالات والمشاركة في كل المنتديات.',
584
-	'pass_forum_bla' => 'طلبت المشاركة في منتدى
584
+    'pass_forum_bla' => 'طلبت المشاركة في منتدى
585 585
 محصور بالزوار المسجلين.',
586
-	'pass_indiquez_cidessous' => 'قم بإدخال العنوان الإلكتروني الذي 
586
+    'pass_indiquez_cidessous' => 'قم بإدخال العنوان الإلكتروني الذي 
587 587
 تسجلت بواستطه سابقاً.
588 588
 ستحصل على رسالة تفسر لك كيفية
589 589
 استعادة دخولك.',
590
-	'pass_mail_passcookie' => '(هذه رسالة آلية)
590
+    'pass_mail_passcookie' => '(هذه رسالة آلية)
591 591
 لاستعادة دخولك إلى الموقع
592 592
 @nom_site_spip@  (@adresse_site@)
593 593
 
@@ -599,145 +599,145 @@  discard block
 block discarded – undo
599 599
 وإعادة الاتصال بالموقع.
600 600
 
601 601
 ',
602
-	'pass_mot_oublie' => 'نسيان كلمة السر',
603
-	'pass_nouveau_enregistre' => 'تم تسجيل كلمة سرك الجديدة.',
604
-	'pass_nouveau_pass' => 'كلمة السر الجديدة',
605
-	'pass_ok' => 'موافق',
606
-	'pass_oubli_mot' => 'نسيان كلمة السر',
607
-	'pass_procedure_changer' => 'من أجل تغيير كلمة السر، قم بأدخال عنوان البريد الالكتروني المرتبط بحسابك.',
608
-	'pass_quitter_fenetre' => 'إقفال هذه النافذة',
609
-	'pass_rappel_login' => 'تذكير: معرّفك هو «@login@».',
610
-	'pass_recevoir_mail' => 'تم ارسال رابط لإعادة تأصيل كلمة السر الى عنوان البريد لديك (اذا كان صالحاً).',
611
-	'pass_retour_public' => 'عودة إلى الموقع العام',
612
-	'pass_rien_a_faire_ici' => 'لا شغل لك هنا.',
613
-	'pass_vousinscrire' => 'تسجيلك في الموقع',
614
-	'precedent' => 'السابق',
615
-	'previsualisation' => 'عرض مسبق',
616
-	'previsualiser' => 'عرض مسبق',
602
+    'pass_mot_oublie' => 'نسيان كلمة السر',
603
+    'pass_nouveau_enregistre' => 'تم تسجيل كلمة سرك الجديدة.',
604
+    'pass_nouveau_pass' => 'كلمة السر الجديدة',
605
+    'pass_ok' => 'موافق',
606
+    'pass_oubli_mot' => 'نسيان كلمة السر',
607
+    'pass_procedure_changer' => 'من أجل تغيير كلمة السر، قم بأدخال عنوان البريد الالكتروني المرتبط بحسابك.',
608
+    'pass_quitter_fenetre' => 'إقفال هذه النافذة',
609
+    'pass_rappel_login' => 'تذكير: معرّفك هو «@login@».',
610
+    'pass_recevoir_mail' => 'تم ارسال رابط لإعادة تأصيل كلمة السر الى عنوان البريد لديك (اذا كان صالحاً).',
611
+    'pass_retour_public' => 'عودة إلى الموقع العام',
612
+    'pass_rien_a_faire_ici' => 'لا شغل لك هنا.',
613
+    'pass_vousinscrire' => 'تسجيلك في الموقع',
614
+    'precedent' => 'السابق',
615
+    'previsualisation' => 'عرض مسبق',
616
+    'previsualiser' => 'عرض مسبق',
617 617
 
618
-	// R
619
-	'retour' => 'عودة',
618
+    // R
619
+    'retour' => 'عودة',
620 620
 
621
-	// S
622
-	'spip_conforme_dtd' => 'يعتبر SPIP أن هذا المستند مطابق لتحديد DOCTYPE:',
623
-	'squelette' => 'صفحة نموذجية',
624
-	'squelette_inclus_ligne' => 'صفحة نموذجية مدمجة، سطر',
625
-	'squelette_ligne' => 'صفحة نموذجية، سطر',
626
-	'stats_visites_et_popularite' => '@visites@ زيارة؛ شعبية: @popularite@',
627
-	'suivant' => 'التالي',
621
+    // S
622
+    'spip_conforme_dtd' => 'يعتبر SPIP أن هذا المستند مطابق لتحديد DOCTYPE:',
623
+    'squelette' => 'صفحة نموذجية',
624
+    'squelette_inclus_ligne' => 'صفحة نموذجية مدمجة، سطر',
625
+    'squelette_ligne' => 'صفحة نموذجية، سطر',
626
+    'stats_visites_et_popularite' => '@visites@ زيارة؛ شعبية: @popularite@',
627
+    'suivant' => 'التالي',
628 628
 
629
-	// T
630
-	'taille_go' => '@taille@ غيغابايت',
631
-	'taille_ko' => '@taille@ كيلوبايت',
632
-	'taille_mo' => '@taille@ ميغابايت',
633
-	'taille_octets' => '@taille@ بايت',
634
-	'texte_actualite_site_1' => 'عندما تتأقلم مع واجهة النظام انقر على «',
635
-	'texte_actualite_site_2' => 'الواجهة الكاملة',
636
-	'texte_actualite_site_3' => '»  لإتاحة المزيد من الوظائف.',
637
-	'texte_creation_automatique_vignette' => 'لقد تم تفعيل الإنشاء الآلي لمصغرات المعاينة. إذا استخدمت هذه الاستمارة لإدخال صور بتنسيق (أو تنسيقات) @gd_formats@، سيتم تزويدها بمصغر لا يزيد حجمه عن @taille_preview@  نقطة. ',
638
-	'texte_documents_associes' => 'المستندات التالية ترافق المقال،
629
+    // T
630
+    'taille_go' => '@taille@ غيغابايت',
631
+    'taille_ko' => '@taille@ كيلوبايت',
632
+    'taille_mo' => '@taille@ ميغابايت',
633
+    'taille_octets' => '@taille@ بايت',
634
+    'texte_actualite_site_1' => 'عندما تتأقلم مع واجهة النظام انقر على «',
635
+    'texte_actualite_site_2' => 'الواجهة الكاملة',
636
+    'texte_actualite_site_3' => '»  لإتاحة المزيد من الوظائف.',
637
+    'texte_creation_automatique_vignette' => 'لقد تم تفعيل الإنشاء الآلي لمصغرات المعاينة. إذا استخدمت هذه الاستمارة لإدخال صور بتنسيق (أو تنسيقات) @gd_formats@، سيتم تزويدها بمصغر لا يزيد حجمه عن @taille_preview@  نقطة. ',
638
+    'texte_documents_associes' => 'المستندات التالية ترافق المقال،
639 639
     لكنها لم تُدرج
640 640
     مباشرة. بالاعتماد على تصميم الموقع العمومي،
641 641
     قد تظهر على شكل مستندات مرفقة.',
642
-	'texte_erreur_mise_niveau_base' => 'خطأ في قاعدة البيانات خلال الترقية.
642
+    'texte_erreur_mise_niveau_base' => 'خطأ في قاعدة البيانات خلال الترقية.
643 643
      تعذر تمرير الصورة <b>@fichier@</b>  (المقال @id_article@). 
644 644
      سجل هذا المرجع وحاول إعادة عملية
645 645
      الترقية، وأخيراً تأكد من أن الصور لا تزال تظهر
646 646
      في المقالات.',
647
-	'texte_erreur_visiteur' => 'حاولت الدخول إلى المجال الخاص بمعرّف لا يسمح بذلك.',
648
-	'texte_inc_auth_1' => 'عرّفت عن نفسك
647
+    'texte_erreur_visiteur' => 'حاولت الدخول إلى المجال الخاص بمعرّف لا يسمح بذلك.',
648
+    'texte_inc_auth_1' => 'عرّفت عن نفسك
649 649
 بالمعرّف <b>@auth_login@</b>، لكنه غير (لم يعد) موجود في قاعدة البيانات.
650 650
   حاول  ',
651
-	'texte_inc_auth_2' => 'إعادة الاتصال',
652
-	'texte_inc_auth_3' => '، بعد إنهاء المتصفح ثم
651
+    'texte_inc_auth_2' => 'إعادة الاتصال',
652
+    'texte_inc_auth_3' => '، بعد إنهاء المتصفح ثم
653 653
 إعادة تشغيله إذا اقتضت الحاجة.',
654
-	'texte_inc_config' => 'التغييرات الداخلة على هذه الصفحة تؤثر بشكل ملحوظ على
654
+    'texte_inc_config' => 'التغييرات الداخلة على هذه الصفحة تؤثر بشكل ملحوظ على
655 655
 تشغيل الموقع. يستحسن عدم إدخال تغييرات قبل
656 656
 التأقلم مع نظام SPIP  للنشر. <br /><br /><b>بشكل
657 657
 عام، ننصحك
658 658
 بحصر التعامل مع هذه الصفحات بالمسؤول الأساسي عن تصميم الموقع.</b>',
659
-	'texte_inc_meta_1' => 'واجه النظام خطأً خلال كتابة الملف <code>@fichier@</code>. بصفتك أحد مدراء الموقع، الرجاء',
660
-	'texte_inc_meta_2' => 'التأكد من حقوق الكتابة',
661
-	'texte_inc_meta_3' => 'الخاصة بالدليل <code>@repertoire@</code>. ',
662
-	'texte_statut_en_cours_redaction' => 'قيد التحرير',
663
-	'texte_statut_poubelle' => 'إلى المهملات',
664
-	'texte_statut_propose_evaluation' => 'معروض للتقييم',
665
-	'texte_statut_publie' => 'منشور',
666
-	'texte_statut_refuse' => 'مرفوض',
667
-	'titre_ajouter_mot_cle' => 'إضافة مفتاح:',
668
-	'titre_cadre_raccourcis' => 'اختصارات:',
669
-	'titre_changer_couleur_interface' => 'تغيير لون الواجهة',
670
-	'titre_image_admin_article' => 'أنت مخول إدارة هذا المقال',
671
-	'titre_image_administrateur' => 'مدير',
672
-	'titre_image_aide' => 'تعليمات حول هذا العنصر',
673
-	'titre_image_auteur_supprime' => 'مؤلف محذوف',
674
-	'titre_image_redacteur' => 'محرر دون إذن دخول',
675
-	'titre_image_redacteur_02' => 'محرر',
676
-	'titre_image_selecteur' => 'عرض القائمة',
677
-	'titre_image_visiteur' => 'زائر',
678
-	'titre_joindre_document' => 'إرفاق مستند',
679
-	'titre_mots_cles' => 'المفاتيح',
680
-	'titre_probleme_technique' => 'تحذير: مشكلة تقنية (خادم SQL) تمنع الدخول إلى هذا الجزء من الموقع. شكراً على تفهمكم.',
681
-	'titre_publier_document' => 'نشر مستند في هذا القسم',
682
-	'titre_signatures_attente' => 'تواقيع بانتظار التصديق',
683
-	'titre_signatures_confirmees' => 'توقيعات مصدّقة',
684
-	'titre_statistiques' => 'إحصاءات الموقع',
685
-	'titre_titre_document' => 'اسم المستند: ',
686
-	'todo' => 'قريباً',
687
-	'trad_definir_reference' => 'اختيار "@titre@" كمرجع للترجمات',
688
-	'trad_reference' => '(مرجع الترجمات)',
659
+    'texte_inc_meta_1' => 'واجه النظام خطأً خلال كتابة الملف <code>@fichier@</code>. بصفتك أحد مدراء الموقع، الرجاء',
660
+    'texte_inc_meta_2' => 'التأكد من حقوق الكتابة',
661
+    'texte_inc_meta_3' => 'الخاصة بالدليل <code>@repertoire@</code>. ',
662
+    'texte_statut_en_cours_redaction' => 'قيد التحرير',
663
+    'texte_statut_poubelle' => 'إلى المهملات',
664
+    'texte_statut_propose_evaluation' => 'معروض للتقييم',
665
+    'texte_statut_publie' => 'منشور',
666
+    'texte_statut_refuse' => 'مرفوض',
667
+    'titre_ajouter_mot_cle' => 'إضافة مفتاح:',
668
+    'titre_cadre_raccourcis' => 'اختصارات:',
669
+    'titre_changer_couleur_interface' => 'تغيير لون الواجهة',
670
+    'titre_image_admin_article' => 'أنت مخول إدارة هذا المقال',
671
+    'titre_image_administrateur' => 'مدير',
672
+    'titre_image_aide' => 'تعليمات حول هذا العنصر',
673
+    'titre_image_auteur_supprime' => 'مؤلف محذوف',
674
+    'titre_image_redacteur' => 'محرر دون إذن دخول',
675
+    'titre_image_redacteur_02' => 'محرر',
676
+    'titre_image_selecteur' => 'عرض القائمة',
677
+    'titre_image_visiteur' => 'زائر',
678
+    'titre_joindre_document' => 'إرفاق مستند',
679
+    'titre_mots_cles' => 'المفاتيح',
680
+    'titre_probleme_technique' => 'تحذير: مشكلة تقنية (خادم SQL) تمنع الدخول إلى هذا الجزء من الموقع. شكراً على تفهمكم.',
681
+    'titre_publier_document' => 'نشر مستند في هذا القسم',
682
+    'titre_signatures_attente' => 'تواقيع بانتظار التصديق',
683
+    'titre_signatures_confirmees' => 'توقيعات مصدّقة',
684
+    'titre_statistiques' => 'إحصاءات الموقع',
685
+    'titre_titre_document' => 'اسم المستند: ',
686
+    'todo' => 'قريباً',
687
+    'trad_definir_reference' => 'اختيار "@titre@" كمرجع للترجمات',
688
+    'trad_reference' => '(مرجع الترجمات)',
689 689
 
690
-	// U
691
-	'upload_limit' => 'حجم هذا الملف أكبر مما يتحمل جهاز الخدمة: الحجم الأقصى المسموح به <b>للتنزيل</b> هو @max@.',
690
+    // U
691
+    'upload_limit' => 'حجم هذا الملف أكبر مما يتحمل جهاز الخدمة: الحجم الأقصى المسموح به <b>للتنزيل</b> هو @max@.',
692 692
 
693
-	// Z
694
-	'zbug_balise_b_aval' => ': العلامة B متأخرة',
695
-	'zbug_balise_inexistante' => 'خطأ في الاعلان عن العلامة @balise@ لـ@from@',
696
-	'zbug_balise_sans_argument' => 'عامل غير موجود في علامة @balise@',
697
-	'zbug_boucle' => 'حلقة',
698
-	'zbug_boucle_recursive_undef' => 'حلقة دورية غير معرّفة: @nom@',
699
-	'zbug_calcul' => 'حساب',
700
-	'zbug_champ_hors_boucle' => 'الحقل @champ@ خارج الحلقة',
701
-	'zbug_champ_hors_critere' => 'الحقل @champ@ خارج المقياس @critere@',
702
-	'zbug_champ_hors_motif' => 'الحقل @champ@ خارج سياق @motif@',
703
-	'zbug_code' => 'الرموز البرمجية',
704
-	'zbug_critere_inconnu' => 'معيار غير معروف @critere@',
705
-	'zbug_critere_sur_table_sans_cle_primaire' => '{@critere@} على جدول دون مفتاح اساسي افرادي',
706
-	'zbug_distant_interdit' => 'عملية خارجية ممنوعة',
707
-	'zbug_doublon_table_sans_cle_primaire' => 'قيمة مكررة في جدول لا يملك مفتاح أساسي',
708
-	'zbug_doublon_table_sans_index' => 'تكرار في جدول غير مفهرس',
709
-	'zbug_erreur_boucle_double' => 'تعريف متكرر للحلقة @id@',
710
-	'zbug_erreur_boucle_fermant' => 'علامة إغلاق غائبة في حلقة @id@',
711
-	'zbug_erreur_boucle_syntaxe' => 'تركيب حلقة @id@ غير صحيح',
712
-	'zbug_erreur_compilation' => 'خطأ تصنيف',
713
-	'zbug_erreur_execution_page' => 'خطأ في التنفيذ',
714
-	'zbug_erreur_filtre' => 'المرشح @filtre@ غير معرّف ',
715
-	'zbug_erreur_meme_parent' => 'لا ينطبق معيار {meme_parent} إلا على حلقتي (FORUMS) أو (RUBRIQUES)',
716
-	'zbug_erreur_squelette' => 'خطأ في الصفحة النموذجية',
717
-	'zbug_hors_compilation' => 'خارج التصنيف',
718
-	'zbug_info_erreur_squelette' => 'خطأ في الموفع',
719
-	'zbug_inversion_ordre_inexistant' => 'عكس ترتيب غير موجود أصلاً',
720
-	'zbug_pagination_sans_critere' => 'علامة PAGINATION# بدون معيار {pagination} أو مستخدمة في حلقة دورية',
721
-	'zbug_parametres_inclus_incorrects' => 'عامل إدراج غير صحيحة: @param@',
722
-	'zbug_profile' => 'فترة المعالجة: @time@',
723
-	'zbug_resultat' => 'النتيجة',
724
-	'zbug_serveur_indefini' => 'خادم SQL غير محدد',
725
-	'zbug_statistiques' => 'احصاءات استفسارات SQL مرتبة حسب المدة',
726
-	'zbug_table_inconnue' => 'جدول SQL هو «@table@» غير معروف',
727
-	'zxml_connus_attributs' => 'خاصيات معروفة',
728
-	'zxml_de' => 'من',
729
-	'zxml_inconnu_attribut' => 'خاصية غير معروفة',
730
-	'zxml_inconnu_balise' => 'علامة غير معروفة',
731
-	'zxml_inconnu_entite' => 'كائن غير معروف',
732
-	'zxml_inconnu_id' => 'هوية ID غير معروفة',
733
-	'zxml_mais_de' => 'لكن من',
734
-	'zxml_non_conforme' => 'غير مطابق للشكل',
735
-	'zxml_non_fils' => 'ليس من سلالة',
736
-	'zxml_nonvide_balise' => 'علامة غير فارغة',
737
-	'zxml_obligatoire_attribut' => 'خاصية إجبارية لكنها غير موجودة في',
738
-	'zxml_succession_fils_incorrecte' => 'تتابع سلالات غير سليم',
739
-	'zxml_survoler' => 'الحوم لعرض الصحيح',
740
-	'zxml_valeur_attribut' => 'قيمة الخاصية',
741
-	'zxml_vide_balise' => 'علامة فارغة',
742
-	'zxml_vu' => 'ظهر مسبقاً'
693
+    // Z
694
+    'zbug_balise_b_aval' => ': العلامة B متأخرة',
695
+    'zbug_balise_inexistante' => 'خطأ في الاعلان عن العلامة @balise@ لـ@from@',
696
+    'zbug_balise_sans_argument' => 'عامل غير موجود في علامة @balise@',
697
+    'zbug_boucle' => 'حلقة',
698
+    'zbug_boucle_recursive_undef' => 'حلقة دورية غير معرّفة: @nom@',
699
+    'zbug_calcul' => 'حساب',
700
+    'zbug_champ_hors_boucle' => 'الحقل @champ@ خارج الحلقة',
701
+    'zbug_champ_hors_critere' => 'الحقل @champ@ خارج المقياس @critere@',
702
+    'zbug_champ_hors_motif' => 'الحقل @champ@ خارج سياق @motif@',
703
+    'zbug_code' => 'الرموز البرمجية',
704
+    'zbug_critere_inconnu' => 'معيار غير معروف @critere@',
705
+    'zbug_critere_sur_table_sans_cle_primaire' => '{@critere@} على جدول دون مفتاح اساسي افرادي',
706
+    'zbug_distant_interdit' => 'عملية خارجية ممنوعة',
707
+    'zbug_doublon_table_sans_cle_primaire' => 'قيمة مكررة في جدول لا يملك مفتاح أساسي',
708
+    'zbug_doublon_table_sans_index' => 'تكرار في جدول غير مفهرس',
709
+    'zbug_erreur_boucle_double' => 'تعريف متكرر للحلقة @id@',
710
+    'zbug_erreur_boucle_fermant' => 'علامة إغلاق غائبة في حلقة @id@',
711
+    'zbug_erreur_boucle_syntaxe' => 'تركيب حلقة @id@ غير صحيح',
712
+    'zbug_erreur_compilation' => 'خطأ تصنيف',
713
+    'zbug_erreur_execution_page' => 'خطأ في التنفيذ',
714
+    'zbug_erreur_filtre' => 'المرشح @filtre@ غير معرّف ',
715
+    'zbug_erreur_meme_parent' => 'لا ينطبق معيار {meme_parent} إلا على حلقتي (FORUMS) أو (RUBRIQUES)',
716
+    'zbug_erreur_squelette' => 'خطأ في الصفحة النموذجية',
717
+    'zbug_hors_compilation' => 'خارج التصنيف',
718
+    'zbug_info_erreur_squelette' => 'خطأ في الموفع',
719
+    'zbug_inversion_ordre_inexistant' => 'عكس ترتيب غير موجود أصلاً',
720
+    'zbug_pagination_sans_critere' => 'علامة PAGINATION# بدون معيار {pagination} أو مستخدمة في حلقة دورية',
721
+    'zbug_parametres_inclus_incorrects' => 'عامل إدراج غير صحيحة: @param@',
722
+    'zbug_profile' => 'فترة المعالجة: @time@',
723
+    'zbug_resultat' => 'النتيجة',
724
+    'zbug_serveur_indefini' => 'خادم SQL غير محدد',
725
+    'zbug_statistiques' => 'احصاءات استفسارات SQL مرتبة حسب المدة',
726
+    'zbug_table_inconnue' => 'جدول SQL هو «@table@» غير معروف',
727
+    'zxml_connus_attributs' => 'خاصيات معروفة',
728
+    'zxml_de' => 'من',
729
+    'zxml_inconnu_attribut' => 'خاصية غير معروفة',
730
+    'zxml_inconnu_balise' => 'علامة غير معروفة',
731
+    'zxml_inconnu_entite' => 'كائن غير معروف',
732
+    'zxml_inconnu_id' => 'هوية ID غير معروفة',
733
+    'zxml_mais_de' => 'لكن من',
734
+    'zxml_non_conforme' => 'غير مطابق للشكل',
735
+    'zxml_non_fils' => 'ليس من سلالة',
736
+    'zxml_nonvide_balise' => 'علامة غير فارغة',
737
+    'zxml_obligatoire_attribut' => 'خاصية إجبارية لكنها غير موجودة في',
738
+    'zxml_succession_fils_incorrecte' => 'تتابع سلالات غير سليم',
739
+    'zxml_survoler' => 'الحوم لعرض الصحيح',
740
+    'zxml_valeur_attribut' => 'قيمة الخاصية',
741
+    'zxml_vide_balise' => 'علامة فارغة',
742
+    'zxml_vu' => 'ظهر مسبقاً'
743 743
 );
Please login to merge, or discard this patch.