Completed
Push — master ( 7bbe03...8295ac )
by cam
01:11
created
ecrire/src/Texte/Collecteur/Modeles.php 2 patches
Indentation   +197 added lines, -197 removed lines patch added patch discarded remove patch
@@ -22,202 +22,202 @@
 block discarded – undo
22 22
  */
23 23
 class Modeles extends AbstractCollecteur {
24 24
 
25
-	protected static string $markPrefix = 'MODELE';
26
-
27
-	/**
28
-	 * La preg pour découper et collecter les modèles
29
-	 * @var string
30
-	 */
31
-	protected string $preg_modele;
32
-
33
-	public function __construct(?string $preg = null) {
34
-
35
-		$this->preg_modele = ($preg ?:
36
-			'@<([a-z_-]{3,})' # <modele
37
-			. '\s*([0-9]*)\s*' # id
38
-			. '([|](?:<[^<>]*>|[^>])*?)?' # |arguments (y compris des tags <...>)
39
-			. '\s*/?' . '>@isS' # fin du modele >
40
-		);
41
-	}
42
-
43
-	/**
44
-	 * Sanitizer une collection d'occurences de modèle : on ne fait rien
45
-	 *
46
-	 * @param array $collection
47
-	 * @param string $sanitize_callback
48
-	 * @return array
49
-	 */
50
-	protected function sanitizer_collection(array $collection, string $sanitize_callback): array {
51
-
52
-		return $collection;
53
-	}
54
-
55
-	/**
56
-	 * @param string $texte
57
-	 * @param array $options
58
-	 *   bool $collecter_liens
59
-	 * @return array
60
-	 */
61
-	public function collecter(string $texte, array $options = []): array {
62
-		if (!$texte) {
63
-			return [];
64
-		}
65
-
66
-		// collecter les matchs de la preg
67
-		$modeles = $this->collecteur($texte, '', '<', $this->preg_modele);
68
-
69
-		$pos_prev = 0;
70
-		foreach ($modeles as $k => &$modele) {
71
-			$pos = $modele['pos'];
72
-			$modele['type'] = $modele['match'][1];
73
-			$modele['id'] = $modele['match'][2] ?? '';
74
-			$modele['params'] = $modele['match'][3] ?? '';
75
-
76
-			$longueur = $modele['length'];
77
-			$end = $pos + $longueur;
78
-
79
-			// il faut avoir un id ou des params commençant par un | sinon c'est une simple balise html
80
-			if (empty($modele['id']) and empty($modele['params'])) {
81
-				unset($modeles[$k]);
82
-				continue;
83
-			}
84
-
85
-			// si on veut seulement detecter la présence, on peut retourner tel quel
86
-			if (!empty($options['detecter_presence'])) {
87
-				break;
88
-			}
89
-
90
-			$modele['lien'] = false;
91
-			if (!empty($options['collecter_liens'])
92
-				and $pos_fermeture_lien = stripos($texte, '</a>', $end)
93
-				and !strlen(trim(substr($texte, $end, $pos_fermeture_lien - $end)))) {
94
-
95
-				$pos_lien_ouvrant = stripos($texte, '<a', $pos_prev);
96
-				if ($pos_lien_ouvrant !== false
97
-					and $pos_lien_ouvrant < $pos
98
-					and preg_match('/<a\s[^<>]*>\s*$/i', substr($texte, $pos_prev, $pos - $pos_prev), $r)
99
-				) {
100
-					$modele['lien'] = [
101
-						'href' => extraire_attribut($r[0], 'href'),
102
-						'class' => extraire_attribut($r[0], 'class'),
103
-						'mime' => extraire_attribut($r[0], 'type'),
104
-						'title' => extraire_attribut($r[0], 'title'),
105
-						'hreflang' => extraire_attribut($r[0], 'hreflang')
106
-					];
107
-					$n = strlen($r[0]);
108
-					$pos -= $n;
109
-					$longueur = $pos_fermeture_lien - $pos + 4;
110
-					$end = $pos + $longueur;
111
-				}
112
-			}
113
-
114
-
115
-			$modele['pos'] = $pos;
116
-			$modele['length'] = $longueur;
117
-			$pos_prev = $end;
118
-		}
119
-
120
-		return $modeles;
121
-	}
122
-
123
-	/**
124
-	 * Traiter les modeles d'un texte
125
-	 * @param string $texte
126
-	 * @param array $options
127
-	 *   bool|array $doublons
128
-	 *   string $echap
129
-	 *   ?Spip\Texte\CollecteurLiens $collecteurLiens
130
-	 *   ?array $env
131
-	 *   ?string $connect
132
-	 * @return string
133
-	 */
134
-	public function traiter(string $texte, array $options) {
135
-		if ($texte) {
136
-			$doublons = $options['doublons'] ?? false;
137
-			$echap = $options['echap'] ?? '';
138
-			$collecteurLiens = $options['collecteurLiens'] ?? null;
139
-			$env = $options['env'] ?? [];
140
-			$connect = $options['connect'] ?? '';
141
-
142
-			// preserver la compatibilite : true = recherche des documents
143
-			if ($doublons === true) {
144
-				$doublons = ['documents' => ['doc', 'emb', 'img']];
145
-			}
146
-
147
-			$modeles = $this->collecter($texte, ['collecter_liens' => true]);
148
-			if (!empty($modeles)) {
149
-				include_spip('public/assembler');
150
-				$wrap_embed_html = charger_fonction('wrap_embed_html', 'inc', true);
151
-
152
-				$offset_pos = 0;
153
-				foreach ($modeles as $m) {
154
-					// calculer le modele
155
-					# hack indexation
156
-					if ($doublons) {
157
-						$texte .= preg_replace(',[|][^|=]*,s', ' ', $m['params']);
158
-					} # version normale
159
-					else {
160
-						// si un tableau de liens a ete passe, reinjecter le contenu d'origine
161
-						// dans les parametres, plutot que les liens echappes
162
-						$params = $m['params'];
163
-						if (!is_null($collecteurLiens)) {
164
-							$params = $collecteurLiens->retablir($params);
165
-						}
166
-
167
-						$modele = inclure_modele($m['type'], $m['id'], $params, $m['lien'], $connect ?? '', $env);
168
-
169
-						// en cas d'echec,
170
-						// si l'objet demande a une url,
171
-						// creer un petit encadre vers elle
172
-						if ($modele === false) {
173
-							$modele = $m['raw'];
174
-
175
-							if (!is_null($collecteurLiens)) {
176
-								$modele = $collecteurLiens->retablir($modele);
177
-							}
178
-
179
-							$contexte = array_merge($env, ['id' => $m['id'], 'type' => $m['type'], 'modele' => $modele]);
180
-
181
-							if (!empty($m['lien'])) {
182
-								# un eventuel guillemet (") sera reechappe par #ENV
183
-								$contexte['lien'] = str_replace('&quot;', '"', $m['lien']['href']);
184
-								$contexte['lien_class'] = $m['lien']['class'];
185
-								$contexte['lien_mime'] = $m['lien']['mime'];
186
-								$contexte['lien_title'] = $m['lien']['title'];
187
-								$contexte['lien_hreflang'] = $m['lien']['hreflang'];
188
-							}
189
-
190
-							$modele = recuperer_fond('modeles/dist', $contexte, [], $connect ?? '');
191
-						}
192
-
193
-						// le remplacer dans le texte
194
-						if ($modele !== false) {
195
-							$modele = protege_js_modeles($modele);
196
-
197
-							if ($wrap_embed_html) {
198
-								$modele = $wrap_embed_html($m['raw'], $modele);
199
-							}
200
-
201
-							$rempl = code_echappement($modele, $echap);
202
-							$texte = substr_replace($texte, $rempl, $m['pos'] + $offset_pos, $m['length']);
203
-							$offset_pos += strlen($rempl) - $m['length'];
204
-						}
205
-					}
206
-
207
-					// hack pour tout l'espace prive
208
-					if ((test_espace_prive() or ($doublons)) and !empty($m['id'])) {
209
-						$type = strtolower($m['type']);
210
-						foreach ($doublons ?: ['documents' => ['doc', 'emb', 'img']] as $quoi => $type_modeles) {
211
-							if (in_array($type, $type_modeles)) {
212
-								$GLOBALS["doublons_{$quoi}_inclus"][] = $m['id'];
213
-							}
214
-						}
215
-					}
216
-				}
217
-			}
218
-		}
219
-
220
-		return $texte;
221
-	}
25
+    protected static string $markPrefix = 'MODELE';
26
+
27
+    /**
28
+     * La preg pour découper et collecter les modèles
29
+     * @var string
30
+     */
31
+    protected string $preg_modele;
32
+
33
+    public function __construct(?string $preg = null) {
34
+
35
+        $this->preg_modele = ($preg ?:
36
+            '@<([a-z_-]{3,})' # <modele
37
+            . '\s*([0-9]*)\s*' # id
38
+            . '([|](?:<[^<>]*>|[^>])*?)?' # |arguments (y compris des tags <...>)
39
+            . '\s*/?' . '>@isS' # fin du modele >
40
+        );
41
+    }
42
+
43
+    /**
44
+     * Sanitizer une collection d'occurences de modèle : on ne fait rien
45
+     *
46
+     * @param array $collection
47
+     * @param string $sanitize_callback
48
+     * @return array
49
+     */
50
+    protected function sanitizer_collection(array $collection, string $sanitize_callback): array {
51
+
52
+        return $collection;
53
+    }
54
+
55
+    /**
56
+     * @param string $texte
57
+     * @param array $options
58
+     *   bool $collecter_liens
59
+     * @return array
60
+     */
61
+    public function collecter(string $texte, array $options = []): array {
62
+        if (!$texte) {
63
+            return [];
64
+        }
65
+
66
+        // collecter les matchs de la preg
67
+        $modeles = $this->collecteur($texte, '', '<', $this->preg_modele);
68
+
69
+        $pos_prev = 0;
70
+        foreach ($modeles as $k => &$modele) {
71
+            $pos = $modele['pos'];
72
+            $modele['type'] = $modele['match'][1];
73
+            $modele['id'] = $modele['match'][2] ?? '';
74
+            $modele['params'] = $modele['match'][3] ?? '';
75
+
76
+            $longueur = $modele['length'];
77
+            $end = $pos + $longueur;
78
+
79
+            // il faut avoir un id ou des params commençant par un | sinon c'est une simple balise html
80
+            if (empty($modele['id']) and empty($modele['params'])) {
81
+                unset($modeles[$k]);
82
+                continue;
83
+            }
84
+
85
+            // si on veut seulement detecter la présence, on peut retourner tel quel
86
+            if (!empty($options['detecter_presence'])) {
87
+                break;
88
+            }
89
+
90
+            $modele['lien'] = false;
91
+            if (!empty($options['collecter_liens'])
92
+                and $pos_fermeture_lien = stripos($texte, '</a>', $end)
93
+                and !strlen(trim(substr($texte, $end, $pos_fermeture_lien - $end)))) {
94
+
95
+                $pos_lien_ouvrant = stripos($texte, '<a', $pos_prev);
96
+                if ($pos_lien_ouvrant !== false
97
+                    and $pos_lien_ouvrant < $pos
98
+                    and preg_match('/<a\s[^<>]*>\s*$/i', substr($texte, $pos_prev, $pos - $pos_prev), $r)
99
+                ) {
100
+                    $modele['lien'] = [
101
+                        'href' => extraire_attribut($r[0], 'href'),
102
+                        'class' => extraire_attribut($r[0], 'class'),
103
+                        'mime' => extraire_attribut($r[0], 'type'),
104
+                        'title' => extraire_attribut($r[0], 'title'),
105
+                        'hreflang' => extraire_attribut($r[0], 'hreflang')
106
+                    ];
107
+                    $n = strlen($r[0]);
108
+                    $pos -= $n;
109
+                    $longueur = $pos_fermeture_lien - $pos + 4;
110
+                    $end = $pos + $longueur;
111
+                }
112
+            }
113
+
114
+
115
+            $modele['pos'] = $pos;
116
+            $modele['length'] = $longueur;
117
+            $pos_prev = $end;
118
+        }
119
+
120
+        return $modeles;
121
+    }
122
+
123
+    /**
124
+     * Traiter les modeles d'un texte
125
+     * @param string $texte
126
+     * @param array $options
127
+     *   bool|array $doublons
128
+     *   string $echap
129
+     *   ?Spip\Texte\CollecteurLiens $collecteurLiens
130
+     *   ?array $env
131
+     *   ?string $connect
132
+     * @return string
133
+     */
134
+    public function traiter(string $texte, array $options) {
135
+        if ($texte) {
136
+            $doublons = $options['doublons'] ?? false;
137
+            $echap = $options['echap'] ?? '';
138
+            $collecteurLiens = $options['collecteurLiens'] ?? null;
139
+            $env = $options['env'] ?? [];
140
+            $connect = $options['connect'] ?? '';
141
+
142
+            // preserver la compatibilite : true = recherche des documents
143
+            if ($doublons === true) {
144
+                $doublons = ['documents' => ['doc', 'emb', 'img']];
145
+            }
146
+
147
+            $modeles = $this->collecter($texte, ['collecter_liens' => true]);
148
+            if (!empty($modeles)) {
149
+                include_spip('public/assembler');
150
+                $wrap_embed_html = charger_fonction('wrap_embed_html', 'inc', true);
151
+
152
+                $offset_pos = 0;
153
+                foreach ($modeles as $m) {
154
+                    // calculer le modele
155
+                    # hack indexation
156
+                    if ($doublons) {
157
+                        $texte .= preg_replace(',[|][^|=]*,s', ' ', $m['params']);
158
+                    } # version normale
159
+                    else {
160
+                        // si un tableau de liens a ete passe, reinjecter le contenu d'origine
161
+                        // dans les parametres, plutot que les liens echappes
162
+                        $params = $m['params'];
163
+                        if (!is_null($collecteurLiens)) {
164
+                            $params = $collecteurLiens->retablir($params);
165
+                        }
166
+
167
+                        $modele = inclure_modele($m['type'], $m['id'], $params, $m['lien'], $connect ?? '', $env);
168
+
169
+                        // en cas d'echec,
170
+                        // si l'objet demande a une url,
171
+                        // creer un petit encadre vers elle
172
+                        if ($modele === false) {
173
+                            $modele = $m['raw'];
174
+
175
+                            if (!is_null($collecteurLiens)) {
176
+                                $modele = $collecteurLiens->retablir($modele);
177
+                            }
178
+
179
+                            $contexte = array_merge($env, ['id' => $m['id'], 'type' => $m['type'], 'modele' => $modele]);
180
+
181
+                            if (!empty($m['lien'])) {
182
+                                # un eventuel guillemet (") sera reechappe par #ENV
183
+                                $contexte['lien'] = str_replace('&quot;', '"', $m['lien']['href']);
184
+                                $contexte['lien_class'] = $m['lien']['class'];
185
+                                $contexte['lien_mime'] = $m['lien']['mime'];
186
+                                $contexte['lien_title'] = $m['lien']['title'];
187
+                                $contexte['lien_hreflang'] = $m['lien']['hreflang'];
188
+                            }
189
+
190
+                            $modele = recuperer_fond('modeles/dist', $contexte, [], $connect ?? '');
191
+                        }
192
+
193
+                        // le remplacer dans le texte
194
+                        if ($modele !== false) {
195
+                            $modele = protege_js_modeles($modele);
196
+
197
+                            if ($wrap_embed_html) {
198
+                                $modele = $wrap_embed_html($m['raw'], $modele);
199
+                            }
200
+
201
+                            $rempl = code_echappement($modele, $echap);
202
+                            $texte = substr_replace($texte, $rempl, $m['pos'] + $offset_pos, $m['length']);
203
+                            $offset_pos += strlen($rempl) - $m['length'];
204
+                        }
205
+                    }
206
+
207
+                    // hack pour tout l'espace prive
208
+                    if ((test_espace_prive() or ($doublons)) and !empty($m['id'])) {
209
+                        $type = strtolower($m['type']);
210
+                        foreach ($doublons ?: ['documents' => ['doc', 'emb', 'img']] as $quoi => $type_modeles) {
211
+                            if (in_array($type, $type_modeles)) {
212
+                                $GLOBALS["doublons_{$quoi}_inclus"][] = $m['id'];
213
+                            }
214
+                        }
215
+                    }
216
+                }
217
+            }
218
+        }
219
+
220
+        return $texte;
221
+    }
222 222
 
223 223
 }
Please login to merge, or discard this patch.
Spacing   +2 added lines, -3 removed lines patch added patch discarded remove patch
@@ -32,11 +32,10 @@
 block discarded – undo
32 32
 
33 33
 	public function __construct(?string $preg = null) {
34 34
 
35
-		$this->preg_modele = ($preg ?:
36
-			'@<([a-z_-]{3,})' # <modele
35
+		$this->preg_modele = ($preg ?: '@<([a-z_-]{3,})' # <modele
37 36
 			. '\s*([0-9]*)\s*' # id
38 37
 			. '([|](?:<[^<>]*>|[^>])*?)?' # |arguments (y compris des tags <...>)
39
-			. '\s*/?' . '>@isS' # fin du modele >
38
+			. '\s*/?'.'>@isS' # fin du modele >
40 39
 		);
41 40
 	}
42 41
 
Please login to merge, or discard this patch.
ecrire/src/Texte/Collecteur/Liens.php 1 patch
Indentation   +98 added lines, -98 removed lines patch added patch discarded remove patch
@@ -17,103 +17,103 @@
 block discarded – undo
17 17
  */
18 18
 class Liens extends AbstractCollecteur {
19 19
 
20
-	protected static string $markPrefix = 'LIEN';
21
-
22
-	/**
23
-	 * La preg pour découper et collecter les modèles
24
-	 * @var string
25
-	 */
26
-	protected string $preg_lien;
27
-
28
-	public function __construct(?string $preg = null) {
29
-
30
-		// Regexp des raccourcis, aussi utilisee pour la fusion de sauvegarde Spip
31
-		// Laisser passer des paires de crochets pour la balise multi
32
-		// mais refuser plus d'imbrications ou de mauvaises imbrications
33
-		// sinon les crochets ne peuvent plus servir qu'a ce type de raccourci
34
-		$this->preg_lien = ($preg ?: '/\[([^][]*?([[][^]>-]*[]][^][]*)*)->(>?)([^]]*)\]/msS');
35
-	}
36
-
37
-
38
-	/**
39
-	 * Sanitizer une collection d'occurences de liens : il faut sanitizer le href et le texte uniquement
40
-	 *
41
-	 * @param array $collection
42
-	 * @param string $sanitize_callback
43
-	 * @return array
44
-	 */
45
-	protected function sanitizer_collection(array $collection, string $sanitize_callback): array {
46
-		foreach ($collection as &$lien) {
47
-			$t = $sanitize_callback($lien['texte']);
48
-			if ($t !== $lien['texte']) {
49
-				$lien['raw'] = str_replace($lien['texte'], $t, $lien['raw']);
50
-				$lien['texte'] = $t;
51
-			}
52
-			$href = $sanitize_callback($lien['href']);
53
-			if ($href !== $lien['href']) {
54
-				$lien['raw'] = str_replace($lien['href'], $href, $lien['raw']);
55
-				$lien['href'] = $href;
56
-			}
57
-		}
58
-
59
-		return $collection;
60
-	}
61
-
62
-	/**
63
-	 * @param string $texte
64
-	 * @param array $options
65
-	 *   bool $collecter_liens
66
-	 * @return array
67
-	 */
68
-	public function collecter(string $texte, array $options = []): array {
69
-		if (!$texte) {
70
-			return [];
71
-		}
72
-
73
-		$liens = [];
74
-		if (strpos($texte, '->') !== false) {
75
-
76
-			$desechappe_crochets = false;
77
-			// si il y a un crochet ouvrant échappé ou un crochet fermant échappé, les substituer pour les ignorer
78
-			if (strpos($texte, '\[') !== false or strpos($texte, '\]') !== false) {
79
-				$texte = str_replace(['\[', '\]'], ["\x1\x5", "\x1\x6"], $texte);
80
-				$desechappe_crochets = true;
81
-			}
82
-
83
-			// collecter les matchs de la preg
84
-			$liens = $this->collecteur($texte, '->', '[', $this->preg_lien, empty($options['detecter_presence']) ? 0 : 1);
85
-
86
-			// si on veut seulement detecter la présence, on peut retourner tel quel
87
-			if (empty($options['detecter_presence'])) {
88
-
89
-				foreach ($liens as $k => &$lien) {
90
-
91
-					$lien['href'] = end($lien['match']);
92
-					$lien['texte'] = $lien['match'][1];
93
-					$lien['ouvrant'] = $lien['match'][3] ?? '';
94
-
95
-					// la mise en lien automatique est passee par la a tort !
96
-					// corrigeons pour eviter d'avoir un <a...> dans un href...
97
-					if (strncmp($lien['href'], '<a', 2) == 0) {
98
-						$href = extraire_attribut($lien['href'], 'href');
99
-						// remplacons dans la source qui peut etre reinjectee dans les arguments
100
-						// d'un modele
101
-						$lien['raw'] = str_replace($lien['href'], $href, $lien['raw']);
102
-						// et prenons le href comme la vraie url a linker
103
-						$lien['href'] = $href;
104
-					}
105
-
106
-					if ($desechappe_crochets and strpos($lien['raw'], "\x1") !== false) {
107
-						$lien['raw'] = str_replace(["\x1\x5", "\x1\x6"], ['[', ']'], $lien['raw']);
108
-						$lien['texte'] = str_replace(["\x1\x5", "\x1\x6"], ['[', ']'], $lien['texte']);
109
-						$lien['href'] = str_replace(["\x1\x5", "\x1\x6"], ['[', ']'], $lien['href']);
110
-					}
111
-
112
-				}
113
-			}
114
-		}
115
-
116
-		return $liens;
117
-	}
20
+    protected static string $markPrefix = 'LIEN';
21
+
22
+    /**
23
+     * La preg pour découper et collecter les modèles
24
+     * @var string
25
+     */
26
+    protected string $preg_lien;
27
+
28
+    public function __construct(?string $preg = null) {
29
+
30
+        // Regexp des raccourcis, aussi utilisee pour la fusion de sauvegarde Spip
31
+        // Laisser passer des paires de crochets pour la balise multi
32
+        // mais refuser plus d'imbrications ou de mauvaises imbrications
33
+        // sinon les crochets ne peuvent plus servir qu'a ce type de raccourci
34
+        $this->preg_lien = ($preg ?: '/\[([^][]*?([[][^]>-]*[]][^][]*)*)->(>?)([^]]*)\]/msS');
35
+    }
36
+
37
+
38
+    /**
39
+     * Sanitizer une collection d'occurences de liens : il faut sanitizer le href et le texte uniquement
40
+     *
41
+     * @param array $collection
42
+     * @param string $sanitize_callback
43
+     * @return array
44
+     */
45
+    protected function sanitizer_collection(array $collection, string $sanitize_callback): array {
46
+        foreach ($collection as &$lien) {
47
+            $t = $sanitize_callback($lien['texte']);
48
+            if ($t !== $lien['texte']) {
49
+                $lien['raw'] = str_replace($lien['texte'], $t, $lien['raw']);
50
+                $lien['texte'] = $t;
51
+            }
52
+            $href = $sanitize_callback($lien['href']);
53
+            if ($href !== $lien['href']) {
54
+                $lien['raw'] = str_replace($lien['href'], $href, $lien['raw']);
55
+                $lien['href'] = $href;
56
+            }
57
+        }
58
+
59
+        return $collection;
60
+    }
61
+
62
+    /**
63
+     * @param string $texte
64
+     * @param array $options
65
+     *   bool $collecter_liens
66
+     * @return array
67
+     */
68
+    public function collecter(string $texte, array $options = []): array {
69
+        if (!$texte) {
70
+            return [];
71
+        }
72
+
73
+        $liens = [];
74
+        if (strpos($texte, '->') !== false) {
75
+
76
+            $desechappe_crochets = false;
77
+            // si il y a un crochet ouvrant échappé ou un crochet fermant échappé, les substituer pour les ignorer
78
+            if (strpos($texte, '\[') !== false or strpos($texte, '\]') !== false) {
79
+                $texte = str_replace(['\[', '\]'], ["\x1\x5", "\x1\x6"], $texte);
80
+                $desechappe_crochets = true;
81
+            }
82
+
83
+            // collecter les matchs de la preg
84
+            $liens = $this->collecteur($texte, '->', '[', $this->preg_lien, empty($options['detecter_presence']) ? 0 : 1);
85
+
86
+            // si on veut seulement detecter la présence, on peut retourner tel quel
87
+            if (empty($options['detecter_presence'])) {
88
+
89
+                foreach ($liens as $k => &$lien) {
90
+
91
+                    $lien['href'] = end($lien['match']);
92
+                    $lien['texte'] = $lien['match'][1];
93
+                    $lien['ouvrant'] = $lien['match'][3] ?? '';
94
+
95
+                    // la mise en lien automatique est passee par la a tort !
96
+                    // corrigeons pour eviter d'avoir un <a...> dans un href...
97
+                    if (strncmp($lien['href'], '<a', 2) == 0) {
98
+                        $href = extraire_attribut($lien['href'], 'href');
99
+                        // remplacons dans la source qui peut etre reinjectee dans les arguments
100
+                        // d'un modele
101
+                        $lien['raw'] = str_replace($lien['href'], $href, $lien['raw']);
102
+                        // et prenons le href comme la vraie url a linker
103
+                        $lien['href'] = $href;
104
+                    }
105
+
106
+                    if ($desechappe_crochets and strpos($lien['raw'], "\x1") !== false) {
107
+                        $lien['raw'] = str_replace(["\x1\x5", "\x1\x6"], ['[', ']'], $lien['raw']);
108
+                        $lien['texte'] = str_replace(["\x1\x5", "\x1\x6"], ['[', ']'], $lien['texte']);
109
+                        $lien['href'] = str_replace(["\x1\x5", "\x1\x6"], ['[', ']'], $lien['href']);
110
+                    }
111
+
112
+                }
113
+            }
114
+        }
115
+
116
+        return $liens;
117
+    }
118 118
 
119 119
 }
Please login to merge, or discard this patch.
ecrire/src/Texte/Collecteur/Multis.php 2 patches
Indentation   +204 added lines, -204 removed lines patch added patch discarded remove patch
@@ -29,209 +29,209 @@
 block discarded – undo
29 29
  */
30 30
 class Multis extends AbstractCollecteur {
31 31
 
32
-	protected static string $markPrefix = 'MULTI';
33
-
34
-	/**
35
-	 * La preg pour découper et collecter les modèles
36
-	 * @var string
37
-	 */
38
-	protected string $preg_multi;
39
-
40
-	public function __construct(?string $preg = null) {
41
-
42
-		$this->preg_multi = ($preg ?: '@<multi>(.*?)</multi>@sS');
43
-	}
44
-
45
-	/**
46
-	 * Sanitizer une collection d'occurences de multi : on sanitize chaque texte de langue séparemment
47
-	 *
48
-	 * @param array $collection
49
-	 * @param string $sanitize_callback
50
-	 * @return array
51
-	 */
52
-	protected function sanitizer_collection(array $collection, string $sanitize_callback): array {
53
-
54
-		foreach ($collection as &$multi) {
55
-			$changed = false;
56
-			foreach ($multi['trads'] as $lang => $trad) {
57
-				$t = $sanitize_callback($trad);
58
-				if ($t !== $trad) {
59
-					$changed = true;
60
-					$multi['trads'][$lang] = $t;
61
-				}
62
-			}
63
-			if ($changed) {
64
-				$texte = $this->agglomerer_trads($multi['trads']);
65
-				$multi['raw'] = str_replace($multi['texte'], $texte, $multi['raw']);
66
-				$multi['texte'] = $texte;
67
-			}
68
-		}
69
-		return $collection;
70
-	}
71
-
72
-
73
-	/**
74
-	 * Convertit le contenu d'une balise `<multi>` en un tableau
75
-	 *
76
-	 * Exemple de blocs.
77
-	 * - `texte par défaut [fr] en français [en] en anglais`
78
-	 * - `[fr] en français [en] en anglais`
79
-	 *
80
-	 * @param string $bloc
81
-	 *     Le contenu intérieur d'un bloc multi
82
-	 * @return array [code de langue => texte]
83
-	 *     Peut retourner un code de langue vide, lorsqu'un texte par défaut est indiqué.
84
-	 **/
85
-	protected function extraire_trads($bloc) {
86
-		$trads = [];
87
-
88
-		$langs = $this->collecteur($bloc, ']', '[', '@[\[]([a-z]{2,3}(_[a-z]{2,3})?(_[a-z]{2,3})?)[\]]@siS');
89
-		$lang = '';
90
-		$pos_prev = 0;
91
-		foreach ($langs as $l) {
92
-			$pos = $l['pos'];
93
-			if ($lang or $pos > $pos_prev) {
94
-				$trads[$lang] = substr($bloc, $pos_prev, $pos - $pos_prev);
95
-			}
96
-			$lang = $l['match'][1];
97
-			$pos_prev = $pos + $l['length'];
98
-		}
99
-		$trads[$lang] = substr($bloc, $pos_prev);
100
-
101
-		return $trads;
102
-	}
103
-
104
-	/**
105
-	 * Recoller ensemble les trads pour reconstituer le texte dans la balise <multi>...</multi>
106
-	 * @param $trads
107
-	 * @return string
108
-	 */
109
-	protected function agglomerer_trads($trads) {
110
-		$texte = '';
111
-		foreach ($trads as $lang => $trad) {
112
-			if ($texte or $lang) {
113
-				$texte .= "[$lang]";
114
-			}
115
-			$texte .= $trad;
116
-		}
117
-		return $texte;
118
-	}
119
-
120
-	/**
121
-	 * @param string $texte
122
-	 * @param array $options
123
-	 *   bool $collecter_liens
124
-	 * @return array
125
-	 */
126
-	public function collecter(string $texte, array $options = []): array {
127
-		if (!$texte) {
128
-			return [];
129
-		}
130
-
131
-		// collecter les matchs de la preg
132
-		$multis = $this->collecteur($texte, '', '<multi', $this->preg_multi, empty($options['detecter_presence']) ? 0 : 1);
133
-
134
-		// si on veut seulement detecter la présence, on peut retourner tel quel
135
-		if (empty($options['detecter_presence'])) {
136
-
137
-			$pos_prev = 0;
138
-			foreach ($multis as $k => &$multi) {
139
-
140
-				$multi['texte'] = $multi['match'][1];
141
-				// extraire les trads du texte
142
-				$trads = $this->extraire_trads($multi['match'][1]);
143
-				$multi['trads'] = $trads;
144
-			}
145
-		}
146
-
147
-		return $multis;
148
-	}
149
-
150
-	/**
151
-	 * Traiter les multis d'un texte
152
-	 *
153
-	 * @uses approcher_langue()
154
-	 * @uses lang_typo()
155
-	 * @uses code_echappement()
156
-	 * @uses echappe_retour()
157
-	 *
158
-	 * @param string $texte
159
-	 * @param array $options
160
-	 *   ?string $lang
161
-	 *   ?string $lang_defaut
162
-	 *   ?bool echappe_span
163
-	 *   ?bool appliquer_typo
164
-	 * @return string
165
-	 */
166
-	public function traiter(string $texte, array $options) {
167
-		if ($texte) {
168
-
169
-			$multis = $this->collecter($texte);
170
-			if (!empty($multis)) {
171
-				$lang = $options['lang'] ?? $GLOBALS['spip_lang'];
172
-				$lang_defaut = $options['lang_defaut'] ?? _LANGUE_PAR_DEFAUT;
173
-				$echappe_span = $options['echappe_span'] ?? false;
174
-				$appliquer_typo = $options['appliquer_typo'] ?? true;
175
-
176
-				if (!function_exists('approcher_langue')) {
177
-					include_spip('inc/lang');
178
-				}
179
-				if (!function_exists('code_echappement')) {
180
-					include_spip('inc/texte_mini');
181
-				}
182
-
183
-				$offset_pos = 0;
184
-				foreach ($multis as $m) {
185
-
186
-					// chercher la version de la langue courante
187
-					$trads = $m['trads'];
188
-					if ($l = approcher_langue($trads, $lang)) {
189
-						$trad = $trads[$l];
190
-					} else {
191
-						if ($lang_defaut == 'aucune') {
192
-							$trad = '';
193
-						} else {
194
-							// langue absente, prendre le fr ou une langue précisée (meme comportement que inc/traduire.php)
195
-							// ou la premiere dispo
196
-							if (!$l = approcher_langue($trads, $options['lang_defaut'])) {
197
-								$l = array_values($trads);
198
-								$l = reset($l);
199
-							}
200
-
201
-							// mais typographier le texte selon les regles de celle-ci
202
-							// Attention aux blocs multi sur plusieurs lignes
203
-							if ($appliquer_typo) {
204
-								$trad = $trads[$l];
205
-								$typographie = charger_fonction(lang_typo($l), 'typographie');
206
-								$trad = $typographie($trad);
207
-
208
-								// Tester si on echappe en span ou en div
209
-								// il ne faut pas echapper en div si propre produit un seul paragraphe
210
-								include_spip('inc/texte');
211
-								$trad_propre = preg_replace(',(^<p[^>]*>|</p>$),Uims', '', propre($trad));
212
-								$mode = preg_match(',</?(' . _BALISES_BLOCS . ')[>[:space:]],iS', $trad_propre) ? 'div' : 'span';
213
-								if ($mode === 'div') {
214
-									$trad = rtrim($trad) . "\n\n";
215
-								}
216
-								$trad = code_echappement($trad, 'multi', false, $mode);
217
-								$trad = str_replace("'", '"', inserer_attribut($trad, 'lang', $l));
218
-								if (lang_dir($l) !== lang_dir($lang)) {
219
-									$trad = str_replace("'", '"', inserer_attribut($trad, 'dir', lang_dir($l)));
220
-								}
221
-								if (!$echappe_span) {
222
-									$trad = echappe_retour($trad, 'multi');
223
-								}
224
-							}
225
-						}
226
-					}
227
-
228
-					$texte = substr_replace($texte, $trad, $m['pos'] + $offset_pos, $m['length']);
229
-					$offset_pos += strlen($trad) - $m['length'];
230
-				}
231
-			}
232
-		}
233
-
234
-		return $texte;
235
-	}
32
+    protected static string $markPrefix = 'MULTI';
33
+
34
+    /**
35
+     * La preg pour découper et collecter les modèles
36
+     * @var string
37
+     */
38
+    protected string $preg_multi;
39
+
40
+    public function __construct(?string $preg = null) {
41
+
42
+        $this->preg_multi = ($preg ?: '@<multi>(.*?)</multi>@sS');
43
+    }
44
+
45
+    /**
46
+     * Sanitizer une collection d'occurences de multi : on sanitize chaque texte de langue séparemment
47
+     *
48
+     * @param array $collection
49
+     * @param string $sanitize_callback
50
+     * @return array
51
+     */
52
+    protected function sanitizer_collection(array $collection, string $sanitize_callback): array {
53
+
54
+        foreach ($collection as &$multi) {
55
+            $changed = false;
56
+            foreach ($multi['trads'] as $lang => $trad) {
57
+                $t = $sanitize_callback($trad);
58
+                if ($t !== $trad) {
59
+                    $changed = true;
60
+                    $multi['trads'][$lang] = $t;
61
+                }
62
+            }
63
+            if ($changed) {
64
+                $texte = $this->agglomerer_trads($multi['trads']);
65
+                $multi['raw'] = str_replace($multi['texte'], $texte, $multi['raw']);
66
+                $multi['texte'] = $texte;
67
+            }
68
+        }
69
+        return $collection;
70
+    }
71
+
72
+
73
+    /**
74
+     * Convertit le contenu d'une balise `<multi>` en un tableau
75
+     *
76
+     * Exemple de blocs.
77
+     * - `texte par défaut [fr] en français [en] en anglais`
78
+     * - `[fr] en français [en] en anglais`
79
+     *
80
+     * @param string $bloc
81
+     *     Le contenu intérieur d'un bloc multi
82
+     * @return array [code de langue => texte]
83
+     *     Peut retourner un code de langue vide, lorsqu'un texte par défaut est indiqué.
84
+     **/
85
+    protected function extraire_trads($bloc) {
86
+        $trads = [];
87
+
88
+        $langs = $this->collecteur($bloc, ']', '[', '@[\[]([a-z]{2,3}(_[a-z]{2,3})?(_[a-z]{2,3})?)[\]]@siS');
89
+        $lang = '';
90
+        $pos_prev = 0;
91
+        foreach ($langs as $l) {
92
+            $pos = $l['pos'];
93
+            if ($lang or $pos > $pos_prev) {
94
+                $trads[$lang] = substr($bloc, $pos_prev, $pos - $pos_prev);
95
+            }
96
+            $lang = $l['match'][1];
97
+            $pos_prev = $pos + $l['length'];
98
+        }
99
+        $trads[$lang] = substr($bloc, $pos_prev);
100
+
101
+        return $trads;
102
+    }
103
+
104
+    /**
105
+     * Recoller ensemble les trads pour reconstituer le texte dans la balise <multi>...</multi>
106
+     * @param $trads
107
+     * @return string
108
+     */
109
+    protected function agglomerer_trads($trads) {
110
+        $texte = '';
111
+        foreach ($trads as $lang => $trad) {
112
+            if ($texte or $lang) {
113
+                $texte .= "[$lang]";
114
+            }
115
+            $texte .= $trad;
116
+        }
117
+        return $texte;
118
+    }
119
+
120
+    /**
121
+     * @param string $texte
122
+     * @param array $options
123
+     *   bool $collecter_liens
124
+     * @return array
125
+     */
126
+    public function collecter(string $texte, array $options = []): array {
127
+        if (!$texte) {
128
+            return [];
129
+        }
130
+
131
+        // collecter les matchs de la preg
132
+        $multis = $this->collecteur($texte, '', '<multi', $this->preg_multi, empty($options['detecter_presence']) ? 0 : 1);
133
+
134
+        // si on veut seulement detecter la présence, on peut retourner tel quel
135
+        if (empty($options['detecter_presence'])) {
136
+
137
+            $pos_prev = 0;
138
+            foreach ($multis as $k => &$multi) {
139
+
140
+                $multi['texte'] = $multi['match'][1];
141
+                // extraire les trads du texte
142
+                $trads = $this->extraire_trads($multi['match'][1]);
143
+                $multi['trads'] = $trads;
144
+            }
145
+        }
146
+
147
+        return $multis;
148
+    }
149
+
150
+    /**
151
+     * Traiter les multis d'un texte
152
+     *
153
+     * @uses approcher_langue()
154
+     * @uses lang_typo()
155
+     * @uses code_echappement()
156
+     * @uses echappe_retour()
157
+     *
158
+     * @param string $texte
159
+     * @param array $options
160
+     *   ?string $lang
161
+     *   ?string $lang_defaut
162
+     *   ?bool echappe_span
163
+     *   ?bool appliquer_typo
164
+     * @return string
165
+     */
166
+    public function traiter(string $texte, array $options) {
167
+        if ($texte) {
168
+
169
+            $multis = $this->collecter($texte);
170
+            if (!empty($multis)) {
171
+                $lang = $options['lang'] ?? $GLOBALS['spip_lang'];
172
+                $lang_defaut = $options['lang_defaut'] ?? _LANGUE_PAR_DEFAUT;
173
+                $echappe_span = $options['echappe_span'] ?? false;
174
+                $appliquer_typo = $options['appliquer_typo'] ?? true;
175
+
176
+                if (!function_exists('approcher_langue')) {
177
+                    include_spip('inc/lang');
178
+                }
179
+                if (!function_exists('code_echappement')) {
180
+                    include_spip('inc/texte_mini');
181
+                }
182
+
183
+                $offset_pos = 0;
184
+                foreach ($multis as $m) {
185
+
186
+                    // chercher la version de la langue courante
187
+                    $trads = $m['trads'];
188
+                    if ($l = approcher_langue($trads, $lang)) {
189
+                        $trad = $trads[$l];
190
+                    } else {
191
+                        if ($lang_defaut == 'aucune') {
192
+                            $trad = '';
193
+                        } else {
194
+                            // langue absente, prendre le fr ou une langue précisée (meme comportement que inc/traduire.php)
195
+                            // ou la premiere dispo
196
+                            if (!$l = approcher_langue($trads, $options['lang_defaut'])) {
197
+                                $l = array_values($trads);
198
+                                $l = reset($l);
199
+                            }
200
+
201
+                            // mais typographier le texte selon les regles de celle-ci
202
+                            // Attention aux blocs multi sur plusieurs lignes
203
+                            if ($appliquer_typo) {
204
+                                $trad = $trads[$l];
205
+                                $typographie = charger_fonction(lang_typo($l), 'typographie');
206
+                                $trad = $typographie($trad);
207
+
208
+                                // Tester si on echappe en span ou en div
209
+                                // il ne faut pas echapper en div si propre produit un seul paragraphe
210
+                                include_spip('inc/texte');
211
+                                $trad_propre = preg_replace(',(^<p[^>]*>|</p>$),Uims', '', propre($trad));
212
+                                $mode = preg_match(',</?(' . _BALISES_BLOCS . ')[>[:space:]],iS', $trad_propre) ? 'div' : 'span';
213
+                                if ($mode === 'div') {
214
+                                    $trad = rtrim($trad) . "\n\n";
215
+                                }
216
+                                $trad = code_echappement($trad, 'multi', false, $mode);
217
+                                $trad = str_replace("'", '"', inserer_attribut($trad, 'lang', $l));
218
+                                if (lang_dir($l) !== lang_dir($lang)) {
219
+                                    $trad = str_replace("'", '"', inserer_attribut($trad, 'dir', lang_dir($l)));
220
+                                }
221
+                                if (!$echappe_span) {
222
+                                    $trad = echappe_retour($trad, 'multi');
223
+                                }
224
+                            }
225
+                        }
226
+                    }
227
+
228
+                    $texte = substr_replace($texte, $trad, $m['pos'] + $offset_pos, $m['length']);
229
+                    $offset_pos += strlen($trad) - $m['length'];
230
+                }
231
+            }
232
+        }
233
+
234
+        return $texte;
235
+    }
236 236
 
237 237
 }
Please login to merge, or discard this patch.
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -209,9 +209,9 @@
 block discarded – undo
209 209
 								// il ne faut pas echapper en div si propre produit un seul paragraphe
210 210
 								include_spip('inc/texte');
211 211
 								$trad_propre = preg_replace(',(^<p[^>]*>|</p>$),Uims', '', propre($trad));
212
-								$mode = preg_match(',</?(' . _BALISES_BLOCS . ')[>[:space:]],iS', $trad_propre) ? 'div' : 'span';
212
+								$mode = preg_match(',</?('._BALISES_BLOCS.')[>[:space:]],iS', $trad_propre) ? 'div' : 'span';
213 213
 								if ($mode === 'div') {
214
-									$trad = rtrim($trad) . "\n\n";
214
+									$trad = rtrim($trad)."\n\n";
215 215
 								}
216 216
 								$trad = code_echappement($trad, 'multi', false, $mode);
217 217
 								$trad = str_replace("'", '"', inserer_attribut($trad, 'lang', $l));
Please login to merge, or discard this patch.
ecrire/inc/modeles.php 1 patch
Indentation   +12 added lines, -12 removed lines patch added patch discarded remove patch
@@ -11,7 +11,7 @@  discard block
 block discarded – undo
11 11
 \***************************************************************************/
12 12
 
13 13
 if (!defined('_ECRIRE_INC_VERSION')) {
14
-	return;
14
+    return;
15 15
 }
16 16
 
17 17
 /**
@@ -26,16 +26,16 @@  discard block
 block discarded – undo
26 26
  */
27 27
 function traiter_modeles($texte, $doublons = false, $echap = '', string $connect = '', ?Spip\Texte\Collecteur\Liens $collecteurLiens = null, $env = []) {
28 28
 
29
-	include_spip("src/Texte/Collecteur/AbstractCollecteur");
30
-	include_spip("src/Texte/Collecteur/Modeles");
31
-	$collecteurModeles = new Spip\Texte\Collecteur\Modeles();
29
+    include_spip("src/Texte/Collecteur/AbstractCollecteur");
30
+    include_spip("src/Texte/Collecteur/Modeles");
31
+    $collecteurModeles = new Spip\Texte\Collecteur\Modeles();
32 32
 
33
-	$options = [
34
-		'doublons' => $doublons,
35
-		'echap' => $echap,
36
-		'connect' => $connect,
37
-		'collecteurLiens' => $collecteurLiens,
38
-		'env' => $env
39
-	];
40
-	return $collecteurModeles->traiter($texte ?? '', $options);
33
+    $options = [
34
+        'doublons' => $doublons,
35
+        'echap' => $echap,
36
+        'connect' => $connect,
37
+        'collecteurLiens' => $collecteurLiens,
38
+        'env' => $env
39
+    ];
40
+    return $collecteurModeles->traiter($texte ?? '', $options);
41 41
 }
Please login to merge, or discard this patch.
ecrire/inc/liens.php 1 patch
Indentation   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -11,5 +11,5 @@
 block discarded – undo
11 11
 \***************************************************************************/
12 12
 
13 13
 if (!defined('_ECRIRE_INC_VERSION')) {
14
-	return;
14
+    return;
15 15
 }
Please login to merge, or discard this patch.
ecrire/inc/texte_mini.php 3 patches
Spacing   +28 added lines, -28 removed lines patch added patch discarded remove patch
@@ -44,13 +44,13 @@  discard block
 block discarded – undo
44 44
 	// celle du texte) et public (spip_lang est la langue du texte)
45 45
 	$dir = _DIR_RESTREINT ? lang_dir() : lang_dir($GLOBALS['spip_lang']);
46 46
 
47
-	$p = 'puce' . (test_espace_prive() ? '_prive' : '');
47
+	$p = 'puce'.(test_espace_prive() ? '_prive' : '');
48 48
 	if ($dir == 'rtl') {
49 49
 		$p .= '_rtl';
50 50
 	}
51 51
 
52 52
 	if (!isset($GLOBALS[$p])) {
53
-		$GLOBALS[$p] = '<span class="spip-puce ' . $dir . '"><b>–</b></span>';
53
+		$GLOBALS[$p] = '<span class="spip-puce '.$dir.'"><b>–</b></span>';
54 54
 	}
55 55
 
56 56
 	return $GLOBALS[$p];
@@ -68,12 +68,12 @@  discard block
 block discarded – undo
68 68
 function spip_balisage_code(string $corps, bool $bloc = false, string $attributs = '', string $langage = '') {
69 69
 
70 70
 	$echap = spip_htmlspecialchars($corps); // il ne faut pas passer dans entites_html, ne pas transformer les &#xxx; du code !
71
-	$class = "spip_code " . ($bloc ? 'spip_code_block' : 'spip_code_inline');
71
+	$class = "spip_code ".($bloc ? 'spip_code_block' : 'spip_code_inline');
72 72
 	if ($langage) {
73 73
 		$class .= " language-$langage";
74 74
 	}
75 75
 	if ($attributs) {
76
-		$attributs = " " . trim($attributs);
76
+		$attributs = " ".trim($attributs);
77 77
 	}
78 78
 	if ($bloc) {
79 79
 		$html = "<div class=\"precode\">"
@@ -87,7 +87,7 @@  discard block
 block discarded – undo
87 87
 	else {
88 88
 		$echap = str_replace("\t", "&nbsp; &nbsp; &nbsp; &nbsp; ", $echap);
89 89
 		$echap = str_replace("  ", " &nbsp;", $echap);
90
-		$html = "<code class=\"$class\" dir=\"ltr\"$attributs>" . $echap . '</code>';
90
+		$html = "<code class=\"$class\" dir=\"ltr\"$attributs>".$echap.'</code>';
91 91
 	}
92 92
 
93 93
 	return $html;
@@ -105,7 +105,7 @@  discard block
 block discarded – undo
105 105
 }
106 106
 
107 107
 if (!defined('_BALISES_BLOCS_REGEXP')) {
108
-	define('_BALISES_BLOCS_REGEXP', ',</?(' . _BALISES_BLOCS . ')[>[:space:]],iS');
108
+	define('_BALISES_BLOCS_REGEXP', ',</?('._BALISES_BLOCS.')[>[:space:]],iS');
109 109
 }
110 110
 
111 111
 //
@@ -122,7 +122,7 @@  discard block
 block discarded – undo
122 122
 
123 123
 	// Tester si on echappe en span ou en div
124 124
 	if (is_null($mode) or !in_array($mode, ['div', 'span'])) {
125
-		$mode = preg_match(',</?(' . _BALISES_BLOCS . ')[>[:space:]],iS', $rempl) ? 'div' : 'span';
125
+		$mode = preg_match(',</?('._BALISES_BLOCS.')[>[:space:]],iS', $rempl) ? 'div' : 'span';
126 126
 	}
127 127
 
128 128
 	// Decouper en morceaux, base64 a des probleme selon la taille de la pile
@@ -157,7 +157,7 @@  discard block
 block discarded – undo
157 157
 	) {
158 158
 		foreach ($matches as $m) {
159 159
 			if ($m[1] === 'code') {
160
-				$code = '<code' . $m[2] . '>' . spip_htmlspecialchars($m[3]) . '</code>';
160
+				$code = '<code'.$m[2].'>'.spip_htmlspecialchars($m[3]).'</code>';
161 161
 				$pre = str_replace($m[0], $code, $pre);
162 162
 			}
163 163
 		}
@@ -167,7 +167,7 @@  discard block
 block discarded – undo
167 167
 
168 168
 // Echapper les <code>...</ code>
169 169
 function traiter_echap_code_dist($regs, $options = []) {
170
-	[, , $att, $corps] = $regs;
170
+	[,, $att, $corps] = $regs;
171 171
 
172 172
 	// ne pas mettre le <div...> s'il n'y a qu'une ligne
173 173
 	if (strpos($corps, "\n") !== false) {
@@ -251,11 +251,11 @@  discard block
 block discarded – undo
251 251
 			else {
252 252
 				$callback_secure_prefix = ($callback_options['secure_prefix'] ?? '');
253 253
 				if (
254
-					function_exists($f = $callback_prefix . $callback_secure_prefix . 'traiter_echap_' . strtolower($regs[1]))
255
-					or function_exists($f = $f . '_dist')
254
+					function_exists($f = $callback_prefix.$callback_secure_prefix.'traiter_echap_'.strtolower($regs[1]))
255
+					or function_exists($f = $f.'_dist')
256 256
 					or ($callback_secure_prefix and (
257
-						function_exists($f = $callback_prefix . 'traiter_echap_' . strtolower($regs[1]))
258
-						or function_exists($f = $f . '_dist')
257
+						function_exists($f = $callback_prefix.'traiter_echap_'.strtolower($regs[1]))
258
+						or function_exists($f = $f.'_dist')
259 259
 					))
260 260
 				) {
261 261
 					$echap = $f($regs, $callback_options);
@@ -277,7 +277,7 @@  discard block
 block discarded – undo
277 277
 	// dans une callback autonommee
278 278
 	if (strpos($preg ?: _PROTEGE_BLOCS, 'script') !== false) {
279 279
 		if (
280
-			strpos($letexte, '<' . '?') !== false and preg_match_all(
280
+			strpos($letexte, '<'.'?') !== false and preg_match_all(
281 281
 				',<[?].*($|[?]>),UisS',
282 282
 				$letexte,
283 283
 				$matches,
@@ -309,7 +309,7 @@  discard block
 block discarded – undo
309 309
 			strpos($letexte, '<') !== false
310 310
 			and
311 311
 			preg_match_all(
312
-				',<(span|div)\sclass=[\'"]base64' . $source . '[\'"]\s(.*)>\s*</\1>,UmsS',
312
+				',<(span|div)\sclass=[\'"]base64'.$source.'[\'"]\s(.*)>\s*</\1>,UmsS',
313 313
 				$letexte,
314 314
 				$regs,
315 315
 				PREG_SET_ORDER
@@ -326,7 +326,7 @@  discard block
 block discarded – undo
326 326
 					}
327 327
 				}
328 328
 				if ($at) {
329
-					$rempl = '<' . $reg[1] . '>' . $rempl . '</' . $reg[1] . '>';
329
+					$rempl = '<'.$reg[1].'>'.$rempl.'</'.$reg[1].'>';
330 330
 					foreach ($at as $attr => $a) {
331 331
 						$rempl = inserer_attribut($rempl, $attr, $a);
332 332
 					}
@@ -407,8 +407,8 @@  discard block
 block discarded – undo
407 407
 	$texte = nettoyer_raccourcis_typo($texte);
408 408
 
409 409
 	// balises de sauts de ligne et paragraphe
410
-	$texte = preg_replace('/<p( [^>]*)?' . '>/', "\r", $texte);
411
-	$texte = preg_replace('/<br( [^>]*)?' . '>/', "\n", $texte);
410
+	$texte = preg_replace('/<p( [^>]*)?'.'>/', "\r", $texte);
411
+	$texte = preg_replace('/<br( [^>]*)?'.'>/', "\n", $texte);
412 412
 
413 413
 	// on repasse les doubles \n en \r que nettoyer_raccourcis_typo() a pu modifier
414 414
 	$texte = str_replace("\n\n", "\r", $texte);
@@ -416,7 +416,7 @@  discard block
 block discarded – undo
416 416
 	// supprimer les tags
417 417
 	$texte = supprimer_tags($texte);
418 418
 	$texte = trim(str_replace("\n", ' ', $texte));
419
-	$texte .= "\n";  // marquer la fin
419
+	$texte .= "\n"; // marquer la fin
420 420
 
421 421
 	// corriger la longueur de coupe
422 422
 	// en fonction de la presence de caracteres utf
@@ -431,7 +431,7 @@  discard block
 block discarded – undo
431 431
 	// couper au mot precedent
432 432
 	$long = spip_substr($texte, 0, max($taille - 4, 1));
433 433
 	$u = $GLOBALS['meta']['pcre_u'];
434
-	$court = preg_replace("/([^\s][\s]+)[^\s]*\n?$/" . $u, "\\1", $long);
434
+	$court = preg_replace("/([^\s][\s]+)[^\s]*\n?$/".$u, "\\1", $long);
435 435
 	if (is_null($suite)) {
436 436
 		$suite = (defined('_COUPER_SUITE') ? _COUPER_SUITE : '&nbsp;(...)');
437 437
 	}
@@ -441,7 +441,7 @@  discard block
 block discarded – undo
441 441
 	if (spip_strlen($court) < max(0.75 * $taille, 2)) {
442 442
 		$points = '';
443 443
 		$long = spip_substr($texte, 0, $taille);
444
-		$texte = preg_replace("/([^\s][\s]+)[^\s]*\n?$/" . $u, "\\1", $long);
444
+		$texte = preg_replace("/([^\s][\s]+)[^\s]*\n?$/".$u, "\\1", $long);
445 445
 		// encore trop court ? couper au caractere
446 446
 		if (spip_strlen($texte) < 0.75 * $taille) {
447 447
 			$texte = $long;
@@ -460,7 +460,7 @@  discard block
 block discarded – undo
460 460
 	// supprimer l'eventuelle entite finale mal coupee
461 461
 	$texte = preg_replace('/&#?[a-z0-9]*$/S', '', $texte);
462 462
 
463
-	return quote_amp(trim($texte)) . $points;
463
+	return quote_amp(trim($texte)).$points;
464 464
 }
465 465
 
466 466
 
@@ -472,16 +472,16 @@  discard block
 block discarded – undo
472 472
 				define('_PROTEGE_JS_MODELES', creer_uniqid());
473 473
 			}
474 474
 			foreach ($r as $regs) {
475
-				$t = str_replace($regs[0], code_echappement($regs[0], 'javascript' . _PROTEGE_JS_MODELES), $t);
475
+				$t = str_replace($regs[0], code_echappement($regs[0], 'javascript'._PROTEGE_JS_MODELES), $t);
476 476
 			}
477 477
 		}
478
-		if (preg_match_all(',<\?php.*?($|\?' . '>),isS', $t, $r, PREG_SET_ORDER)) {
478
+		if (preg_match_all(',<\?php.*?($|\?'.'>),isS', $t, $r, PREG_SET_ORDER)) {
479 479
 			if (!defined('_PROTEGE_PHP_MODELES')) {
480 480
 				include_spip('inc/acces');
481 481
 				define('_PROTEGE_PHP_MODELES', creer_uniqid());
482 482
 			}
483 483
 			foreach ($r as $regs) {
484
-				$t = str_replace($regs[0], code_echappement($regs[0], 'php' . _PROTEGE_PHP_MODELES), $t);
484
+				$t = str_replace($regs[0], code_echappement($regs[0], 'php'._PROTEGE_PHP_MODELES), $t);
485 485
 			}
486 486
 		}
487 487
 	}
@@ -599,7 +599,7 @@  discard block
 block discarded – undo
599 599
 			if (!empty($options['wrap_suspect'])) {
600 600
 				$texte = wrap($texte, $options['wrap_suspect']);
601 601
 			}
602
-			$texte = "<mark class='danger-js' title='" . attribut_html(_T('erreur_contenu_suspect')) . "'>⚠️</mark> " . $texte;
602
+			$texte = "<mark class='danger-js' title='".attribut_html(_T('erreur_contenu_suspect'))."'>⚠️</mark> ".$texte;
603 603
 		}
604 604
 
605 605
 		$texte = $collecteurModeles->retablir($texte);
@@ -746,11 +746,11 @@  discard block
 block discarded – undo
746 746
  **/
747 747
 function supprime_img($letexte, $message = null) {
748 748
 	if ($message === null) {
749
-		$message = '(' . _T('img_indisponible') . ')';
749
+		$message = '('._T('img_indisponible').')';
750 750
 	}
751 751
 
752 752
 	return preg_replace(
753
-		',<(img|doc|emb)([0-9]+)(\|([^>]*))?' . '\s*/?' . '>,i',
753
+		',<(img|doc|emb)([0-9]+)(\|([^>]*))?'.'\s*/?'.'>,i',
754 754
 		$message,
755 755
 		$letexte
756 756
 	);
Please login to merge, or discard this patch.
Braces   +2 added lines, -4 removed lines patch added patch discarded remove patch
@@ -83,8 +83,7 @@  discard block
 block discarded – undo
83 83
 		  . '</code>'
84 84
 		  . '</pre>'
85 85
 		  . '</div>';
86
-	}
87
-	else {
86
+	} else {
88 87
 		$echap = str_replace("\t", "&nbsp; &nbsp; &nbsp; &nbsp; ", $echap);
89 88
 		$echap = str_replace("  ", " &nbsp;", $echap);
90 89
 		$html = "<code class=\"$class\" dir=\"ltr\"$attributs>" . $echap . '</code>';
@@ -611,8 +610,7 @@  discard block
 block discarded – undo
611 610
 		$collecteurLiens = $collecteurModeles = null;
612 611
 		if (!empty($options['expanser_liens'])) {
613 612
 			$texte = expanser_liens($texte, $env['connect'] ?? '', $env['env'] ?? []);
614
-		}
615
-		else {
613
+		} else {
616 614
 			include_spip("src/Texte/Collecteur/AbstractCollecteur");
617 615
 			include_spip("src/Texte/Collecteur/Liens");
618 616
 			include_spip("src/Texte/Collecteur/Modeles");
Please login to merge, or discard this patch.
Indentation   +519 added lines, -519 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
 include_spip('inc/filtres');
23 23
 include_spip('inc/lang');
@@ -39,21 +39,21 @@  discard block
 block discarded – undo
39 39
  **/
40 40
 function definir_puce() {
41 41
 
42
-	// Attention au sens, qui n'est pas defini de la meme facon dans
43
-	// l'espace prive (spip_lang est la langue de l'interface, lang_dir
44
-	// celle du texte) et public (spip_lang est la langue du texte)
45
-	$dir = _DIR_RESTREINT ? lang_dir() : lang_dir($GLOBALS['spip_lang']);
42
+    // Attention au sens, qui n'est pas defini de la meme facon dans
43
+    // l'espace prive (spip_lang est la langue de l'interface, lang_dir
44
+    // celle du texte) et public (spip_lang est la langue du texte)
45
+    $dir = _DIR_RESTREINT ? lang_dir() : lang_dir($GLOBALS['spip_lang']);
46 46
 
47
-	$p = 'puce' . (test_espace_prive() ? '_prive' : '');
48
-	if ($dir == 'rtl') {
49
-		$p .= '_rtl';
50
-	}
47
+    $p = 'puce' . (test_espace_prive() ? '_prive' : '');
48
+    if ($dir == 'rtl') {
49
+        $p .= '_rtl';
50
+    }
51 51
 
52
-	if (!isset($GLOBALS[$p])) {
53
-		$GLOBALS[$p] = '<span class="spip-puce ' . $dir . '"><b>–</b></span>';
54
-	}
52
+    if (!isset($GLOBALS[$p])) {
53
+        $GLOBALS[$p] = '<span class="spip-puce ' . $dir . '"><b>–</b></span>';
54
+    }
55 55
 
56
-	return $GLOBALS[$p];
56
+    return $GLOBALS[$p];
57 57
 }
58 58
 
59 59
 /**
@@ -67,30 +67,30 @@  discard block
 block discarded – undo
67 67
  */
68 68
 function spip_balisage_code(string $corps, bool $bloc = false, string $attributs = '', string $langage = '') {
69 69
 
70
-	$echap = spip_htmlspecialchars($corps); // il ne faut pas passer dans entites_html, ne pas transformer les &#xxx; du code !
71
-	$class = "spip_code " . ($bloc ? 'spip_code_block' : 'spip_code_inline');
72
-	if ($langage) {
73
-		$class .= " language-$langage";
74
-	}
75
-	if ($attributs) {
76
-		$attributs = " " . trim($attributs);
77
-	}
78
-	if ($bloc) {
79
-		$html = "<div class=\"precode\">"
80
-		  . "<pre class=\"$class\" dir=\"ltr\" style=\"text-align: left;\"$attributs>"
81
-		  . "<code>"
82
-		  . $echap
83
-		  . '</code>'
84
-		  . '</pre>'
85
-		  . '</div>';
86
-	}
87
-	else {
88
-		$echap = str_replace("\t", "&nbsp; &nbsp; &nbsp; &nbsp; ", $echap);
89
-		$echap = str_replace("  ", " &nbsp;", $echap);
90
-		$html = "<code class=\"$class\" dir=\"ltr\"$attributs>" . $echap . '</code>';
91
-	}
92
-
93
-	return $html;
70
+    $echap = spip_htmlspecialchars($corps); // il ne faut pas passer dans entites_html, ne pas transformer les &#xxx; du code !
71
+    $class = "spip_code " . ($bloc ? 'spip_code_block' : 'spip_code_inline');
72
+    if ($langage) {
73
+        $class .= " language-$langage";
74
+    }
75
+    if ($attributs) {
76
+        $attributs = " " . trim($attributs);
77
+    }
78
+    if ($bloc) {
79
+        $html = "<div class=\"precode\">"
80
+            . "<pre class=\"$class\" dir=\"ltr\" style=\"text-align: left;\"$attributs>"
81
+            . "<code>"
82
+            . $echap
83
+            . '</code>'
84
+            . '</pre>'
85
+            . '</div>';
86
+    }
87
+    else {
88
+        $echap = str_replace("\t", "&nbsp; &nbsp; &nbsp; &nbsp; ", $echap);
89
+        $echap = str_replace("  ", " &nbsp;", $echap);
90
+        $html = "<code class=\"$class\" dir=\"ltr\"$attributs>" . $echap . '</code>';
91
+    }
92
+
93
+    return $html;
94 94
 }
95 95
 
96 96
 
@@ -98,14 +98,14 @@  discard block
 block discarded – undo
98 98
 // dont on souhaite qu'ils provoquent un saut de paragraphe
99 99
 
100 100
 if (!defined('_BALISES_BLOCS')) {
101
-	define(
102
-		'_BALISES_BLOCS',
103
-		'address|applet|article|aside|blockquote|button|center|d[ltd]|div|fieldset|fig(ure|caption)|footer|form|h[1-6r]|hgroup|head|header|iframe|li|map|marquee|nav|noscript|object|ol|pre|section|t(able|[rdh]|body|foot|extarea)|ul|script|style'
104
-	);
101
+    define(
102
+        '_BALISES_BLOCS',
103
+        'address|applet|article|aside|blockquote|button|center|d[ltd]|div|fieldset|fig(ure|caption)|footer|form|h[1-6r]|hgroup|head|header|iframe|li|map|marquee|nav|noscript|object|ol|pre|section|t(able|[rdh]|body|foot|extarea)|ul|script|style'
104
+    );
105 105
 }
106 106
 
107 107
 if (!defined('_BALISES_BLOCS_REGEXP')) {
108
-	define('_BALISES_BLOCS_REGEXP', ',</?(' . _BALISES_BLOCS . ')[>[:space:]],iS');
108
+    define('_BALISES_BLOCS_REGEXP', ',</?(' . _BALISES_BLOCS . ')[>[:space:]],iS');
109 109
 }
110 110
 
111 111
 //
@@ -116,100 +116,100 @@  discard block
 block discarded – undo
116 116
 // une $source differente ; le script detecte automagiquement si ce qu'on
117 117
 // echappe est un div ou un span
118 118
 function code_echappement($rempl, $source = '', $no_transform = false, $mode = null) {
119
-	if (!strlen($rempl)) {
120
-		return '';
121
-	}
122
-
123
-	// Tester si on echappe en span ou en div
124
-	if (is_null($mode) or !in_array($mode, ['div', 'span'])) {
125
-		$mode = preg_match(',</?(' . _BALISES_BLOCS . ')[>[:space:]],iS', $rempl) ? 'div' : 'span';
126
-	}
127
-
128
-	// Decouper en morceaux, base64 a des probleme selon la taille de la pile
129
-	$taille = 30000;
130
-	$return = '';
131
-	for ($i = 0; $i < strlen($rempl); $i += $taille) {
132
-		// Convertir en base64 et cacher dans un attribut
133
-		// utiliser les " pour eviter le re-encodage de ' et &#8217
134
-		$base64 = base64_encode(substr($rempl, $i, $taille));
135
-		$return .= "<$mode class=\"base64$source\" title=\"$base64\"></$mode>";
136
-	}
137
-
138
-	return $return;
119
+    if (!strlen($rempl)) {
120
+        return '';
121
+    }
122
+
123
+    // Tester si on echappe en span ou en div
124
+    if (is_null($mode) or !in_array($mode, ['div', 'span'])) {
125
+        $mode = preg_match(',</?(' . _BALISES_BLOCS . ')[>[:space:]],iS', $rempl) ? 'div' : 'span';
126
+    }
127
+
128
+    // Decouper en morceaux, base64 a des probleme selon la taille de la pile
129
+    $taille = 30000;
130
+    $return = '';
131
+    for ($i = 0; $i < strlen($rempl); $i += $taille) {
132
+        // Convertir en base64 et cacher dans un attribut
133
+        // utiliser les " pour eviter le re-encodage de ' et &#8217
134
+        $base64 = base64_encode(substr($rempl, $i, $taille));
135
+        $return .= "<$mode class=\"base64$source\" title=\"$base64\"></$mode>";
136
+    }
137
+
138
+    return $return;
139 139
 }
140 140
 
141 141
 
142 142
 // Echapper les <html>...</ html>
143 143
 function traiter_echap_html_dist($regs, $options = []) {
144
-	return $regs[3];
144
+    return $regs[3];
145 145
 }
146 146
 
147 147
 // Echapper les <pre>...</ pre>
148 148
 function traiter_echap_pre_dist($regs, $options = []) {
149
-	// echapper les <code> dans <pre>
150
-	$pre = $regs[3];
151
-
152
-	// echapper les < dans <code>
153
-	// on utilise _PROTEGE_BLOCS pour simplifier le code et la maintenance, mais on est interesse que par <code>
154
-	if (
155
-		strpos($pre, '<') !== false
156
-		and preg_match_all(_PROTEGE_BLOCS, $pre, $matches, PREG_SET_ORDER)
157
-	) {
158
-		foreach ($matches as $m) {
159
-			if ($m[1] === 'code') {
160
-				$code = '<code' . $m[2] . '>' . spip_htmlspecialchars($m[3]) . '</code>';
161
-				$pre = str_replace($m[0], $code, $pre);
162
-			}
163
-		}
164
-	}
165
-	return "<pre>$pre</pre>";
149
+    // echapper les <code> dans <pre>
150
+    $pre = $regs[3];
151
+
152
+    // echapper les < dans <code>
153
+    // on utilise _PROTEGE_BLOCS pour simplifier le code et la maintenance, mais on est interesse que par <code>
154
+    if (
155
+        strpos($pre, '<') !== false
156
+        and preg_match_all(_PROTEGE_BLOCS, $pre, $matches, PREG_SET_ORDER)
157
+    ) {
158
+        foreach ($matches as $m) {
159
+            if ($m[1] === 'code') {
160
+                $code = '<code' . $m[2] . '>' . spip_htmlspecialchars($m[3]) . '</code>';
161
+                $pre = str_replace($m[0], $code, $pre);
162
+            }
163
+        }
164
+    }
165
+    return "<pre>$pre</pre>";
166 166
 }
167 167
 
168 168
 // Echapper les <code>...</ code>
169 169
 function traiter_echap_code_dist($regs, $options = []) {
170
-	[, , $att, $corps] = $regs;
170
+    [, , $att, $corps] = $regs;
171 171
 
172
-	// ne pas mettre le <div...> s'il n'y a qu'une ligne
173
-	if (strpos($corps, "\n") !== false) {
174
-		// supprimer les sauts de ligne debut/fin
175
-		// (mais pas les espaces => ascii art).
176
-		$corps = preg_replace("/^[\n\r]+|[\n\r]+$/s", '', $corps);
172
+    // ne pas mettre le <div...> s'il n'y a qu'une ligne
173
+    if (strpos($corps, "\n") !== false) {
174
+        // supprimer les sauts de ligne debut/fin
175
+        // (mais pas les espaces => ascii art).
176
+        $corps = preg_replace("/^[\n\r]+|[\n\r]+$/s", '', $corps);
177 177
 
178
-		$echap = spip_balisage_code($corps, true, $att);
179
-	} else {
180
-		$echap = spip_balisage_code($corps, false, $att);
181
-	}
178
+        $echap = spip_balisage_code($corps, true, $att);
179
+    } else {
180
+        $echap = spip_balisage_code($corps, false, $att);
181
+    }
182 182
 
183
-	return $echap;
183
+    return $echap;
184 184
 }
185 185
 
186 186
 // Echapper les <cadre>...</ cadre> aka <frame>...</ frame>
187 187
 function traiter_echap_cadre_dist($regs, $options = []) {
188
-	$echap = trim(entites_html($regs[3]));
189
-	// compter les lignes un peu plus finement qu'avec les \n
190
-	$lignes = explode("\n", trim($echap));
191
-	$n = 0;
192
-	foreach ($lignes as $l) {
193
-		$n += floor(strlen($l) / 60) + 1;
194
-	}
195
-	$n = max($n, 2);
196
-	$echap = "\n<textarea readonly='readonly' cols='40' rows='$n' class='spip_cadre spip_cadre_block' dir='ltr'>$echap</textarea>";
197
-
198
-	return $echap;
188
+    $echap = trim(entites_html($regs[3]));
189
+    // compter les lignes un peu plus finement qu'avec les \n
190
+    $lignes = explode("\n", trim($echap));
191
+    $n = 0;
192
+    foreach ($lignes as $l) {
193
+        $n += floor(strlen($l) / 60) + 1;
194
+    }
195
+    $n = max($n, 2);
196
+    $echap = "\n<textarea readonly='readonly' cols='40' rows='$n' class='spip_cadre spip_cadre_block' dir='ltr'>$echap</textarea>";
197
+
198
+    return $echap;
199 199
 }
200 200
 
201 201
 function traiter_echap_frame_dist($regs, $options = []) {
202
-	return traiter_echap_cadre_dist($regs);
202
+    return traiter_echap_cadre_dist($regs);
203 203
 }
204 204
 
205 205
 function traiter_echap_script_dist($regs, $options = []) {
206
-	// rendre joli (et inactif) si c'est un script language=php
207
-	if (preg_match(',<script\b[^>]+php,ims', $regs[0])) {
208
-		return highlight_string($regs[0], true);
209
-	}
206
+    // rendre joli (et inactif) si c'est un script language=php
207
+    if (preg_match(',<script\b[^>]+php,ims', $regs[0])) {
208
+        return highlight_string($regs[0], true);
209
+    }
210 210
 
211
-	// Cas normal : le script passe tel quel
212
-	return $regs[0];
211
+    // Cas normal : le script passe tel quel
212
+    return $regs[0];
213 213
 }
214 214
 
215 215
 define('_PROTEGE_BLOCS', ',<(html|pre|code|cadre|frame|script|style)(\b[^>]*)?>(.*)</\1>,UimsS');
@@ -228,73 +228,73 @@  discard block
 block discarded – undo
228 228
  * @return string|string[]
229 229
  */
230 230
 function echappe_html(
231
-	$letexte,
232
-	$source = '',
233
-	$no_transform = false,
234
-	$preg = '',
235
-	$callback_prefix = '',
236
-	$callback_options = []
231
+    $letexte,
232
+    $source = '',
233
+    $no_transform = false,
234
+    $preg = '',
235
+    $callback_prefix = '',
236
+    $callback_options = []
237 237
 ) {
238
-	if (!is_string($letexte) or !strlen($letexte)) {
239
-		return $letexte;
240
-	}
241
-
242
-	if (
243
-		($preg or str_contains($letexte, '<'))
244
-		and preg_match_all($preg ?: _PROTEGE_BLOCS, $letexte, $matches, PREG_SET_ORDER)
245
-	) {
246
-		foreach ($matches as $regs) {
247
-			// echappements tels quels ?
248
-			if ($no_transform) {
249
-				$echap = $regs[0];
250
-			} // sinon les traiter selon le cas
251
-			else {
252
-				$callback_secure_prefix = ($callback_options['secure_prefix'] ?? '');
253
-				if (
254
-					function_exists($f = $callback_prefix . $callback_secure_prefix . 'traiter_echap_' . strtolower($regs[1]))
255
-					or function_exists($f = $f . '_dist')
256
-					or ($callback_secure_prefix and (
257
-						function_exists($f = $callback_prefix . 'traiter_echap_' . strtolower($regs[1]))
258
-						or function_exists($f = $f . '_dist')
259
-					))
260
-				) {
261
-					$echap = $f($regs, $callback_options);
262
-				}
263
-			}
264
-
265
-			$p = strpos($letexte, (string) $regs[0]);
266
-			$letexte = substr_replace($letexte, code_echappement($echap, $source, $no_transform), $p, strlen($regs[0]));
267
-		}
268
-	}
269
-
270
-	if ($no_transform) {
271
-		return $letexte;
272
-	}
273
-
274
-	// Echapper le php pour faire joli (ici, c'est pas pour la securite)
275
-	// seulement si on a echappe les <script>
276
-	// (derogatoire car on ne peut pas faire passer < ? ... ? >
277
-	// dans une callback autonommee
278
-	if (strpos($preg ?: _PROTEGE_BLOCS, 'script') !== false) {
279
-		if (
280
-			strpos($letexte, '<' . '?') !== false and preg_match_all(
281
-				',<[?].*($|[?]>),UisS',
282
-				$letexte,
283
-				$matches,
284
-				PREG_SET_ORDER
285
-			)
286
-		) {
287
-			foreach ($matches as $regs) {
288
-				$letexte = str_replace(
289
-					$regs[0],
290
-					code_echappement(highlight_string($regs[0], true), $source),
291
-					$letexte
292
-				);
293
-			}
294
-		}
295
-	}
296
-
297
-	return $letexte;
238
+    if (!is_string($letexte) or !strlen($letexte)) {
239
+        return $letexte;
240
+    }
241
+
242
+    if (
243
+        ($preg or str_contains($letexte, '<'))
244
+        and preg_match_all($preg ?: _PROTEGE_BLOCS, $letexte, $matches, PREG_SET_ORDER)
245
+    ) {
246
+        foreach ($matches as $regs) {
247
+            // echappements tels quels ?
248
+            if ($no_transform) {
249
+                $echap = $regs[0];
250
+            } // sinon les traiter selon le cas
251
+            else {
252
+                $callback_secure_prefix = ($callback_options['secure_prefix'] ?? '');
253
+                if (
254
+                    function_exists($f = $callback_prefix . $callback_secure_prefix . 'traiter_echap_' . strtolower($regs[1]))
255
+                    or function_exists($f = $f . '_dist')
256
+                    or ($callback_secure_prefix and (
257
+                        function_exists($f = $callback_prefix . 'traiter_echap_' . strtolower($regs[1]))
258
+                        or function_exists($f = $f . '_dist')
259
+                    ))
260
+                ) {
261
+                    $echap = $f($regs, $callback_options);
262
+                }
263
+            }
264
+
265
+            $p = strpos($letexte, (string) $regs[0]);
266
+            $letexte = substr_replace($letexte, code_echappement($echap, $source, $no_transform), $p, strlen($regs[0]));
267
+        }
268
+    }
269
+
270
+    if ($no_transform) {
271
+        return $letexte;
272
+    }
273
+
274
+    // Echapper le php pour faire joli (ici, c'est pas pour la securite)
275
+    // seulement si on a echappe les <script>
276
+    // (derogatoire car on ne peut pas faire passer < ? ... ? >
277
+    // dans une callback autonommee
278
+    if (strpos($preg ?: _PROTEGE_BLOCS, 'script') !== false) {
279
+        if (
280
+            strpos($letexte, '<' . '?') !== false and preg_match_all(
281
+                ',<[?].*($|[?]>),UisS',
282
+                $letexte,
283
+                $matches,
284
+                PREG_SET_ORDER
285
+            )
286
+        ) {
287
+            foreach ($matches as $regs) {
288
+                $letexte = str_replace(
289
+                    $regs[0],
290
+                    code_echappement(highlight_string($regs[0], true), $source),
291
+                    $letexte
292
+                );
293
+            }
294
+        }
295
+    }
296
+
297
+    return $letexte;
298 298
 }
299 299
 
300 300
 //
@@ -302,57 +302,57 @@  discard block
 block discarded – undo
302 302
 // Rq: $source sert a faire des echappements "a soi" qui ne sont pas nettoyes
303 303
 // par propre() : exemple dans multi et dans typo()
304 304
 function echappe_retour($letexte, $source = '', $filtre = '') {
305
-	if (strpos($letexte, (string) "base64$source")) {
306
-		# spip_log(spip_htmlspecialchars($letexte));  ## pour les curieux
307
-		$max_prof = 5;
308
-		while (
309
-			strpos($letexte, '<') !== false
310
-			and
311
-			preg_match_all(
312
-				',<(span|div)\sclass=[\'"]base64' . $source . '[\'"]\s(.*)>\s*</\1>,UmsS',
313
-				$letexte,
314
-				$regs,
315
-				PREG_SET_ORDER
316
-			)
317
-			and $max_prof--
318
-		) {
319
-			foreach ($regs as $reg) {
320
-				$rempl = base64_decode(extraire_attribut($reg[0], 'title'));
321
-				// recherche d'attributs supplementaires
322
-				$at = [];
323
-				foreach (['lang', 'dir'] as $attr) {
324
-					if ($a = extraire_attribut($reg[0], $attr)) {
325
-						$at[$attr] = $a;
326
-					}
327
-				}
328
-				if ($at) {
329
-					$rempl = '<' . $reg[1] . '>' . $rempl . '</' . $reg[1] . '>';
330
-					foreach ($at as $attr => $a) {
331
-						$rempl = inserer_attribut($rempl, $attr, $a);
332
-					}
333
-				}
334
-				if ($filtre) {
335
-					$rempl = $filtre($rempl);
336
-				}
337
-				$letexte = str_replace($reg[0], $rempl, $letexte);
338
-			}
339
-		}
340
-	}
341
-
342
-	return $letexte;
305
+    if (strpos($letexte, (string) "base64$source")) {
306
+        # spip_log(spip_htmlspecialchars($letexte));  ## pour les curieux
307
+        $max_prof = 5;
308
+        while (
309
+            strpos($letexte, '<') !== false
310
+            and
311
+            preg_match_all(
312
+                ',<(span|div)\sclass=[\'"]base64' . $source . '[\'"]\s(.*)>\s*</\1>,UmsS',
313
+                $letexte,
314
+                $regs,
315
+                PREG_SET_ORDER
316
+            )
317
+            and $max_prof--
318
+        ) {
319
+            foreach ($regs as $reg) {
320
+                $rempl = base64_decode(extraire_attribut($reg[0], 'title'));
321
+                // recherche d'attributs supplementaires
322
+                $at = [];
323
+                foreach (['lang', 'dir'] as $attr) {
324
+                    if ($a = extraire_attribut($reg[0], $attr)) {
325
+                        $at[$attr] = $a;
326
+                    }
327
+                }
328
+                if ($at) {
329
+                    $rempl = '<' . $reg[1] . '>' . $rempl . '</' . $reg[1] . '>';
330
+                    foreach ($at as $attr => $a) {
331
+                        $rempl = inserer_attribut($rempl, $attr, $a);
332
+                    }
333
+                }
334
+                if ($filtre) {
335
+                    $rempl = $filtre($rempl);
336
+                }
337
+                $letexte = str_replace($reg[0], $rempl, $letexte);
338
+            }
339
+        }
340
+    }
341
+
342
+    return $letexte;
343 343
 }
344 344
 
345 345
 // Reinserer le javascript de confiance (venant des modeles)
346 346
 
347 347
 function echappe_retour_modeles($letexte, $interdire_scripts = false) {
348
-	$letexte = echappe_retour($letexte);
348
+    $letexte = echappe_retour($letexte);
349 349
 
350
-	// Dans les appels directs hors squelette, securiser aussi ici
351
-	if ($interdire_scripts) {
352
-		$letexte = interdire_scripts($letexte);
353
-	}
350
+    // Dans les appels directs hors squelette, securiser aussi ici
351
+    if ($interdire_scripts) {
352
+        $letexte = interdire_scripts($letexte);
353
+    }
354 354
 
355
-	return trim($letexte);
355
+    return trim($letexte);
356 356
 }
357 357
 
358 358
 
@@ -380,131 +380,131 @@  discard block
 block discarded – undo
380 380
  *     texte coupé
381 381
  **/
382 382
 function couper($texte, $taille = 50, $suite = null) {
383
-	if (!($length = strlen($texte)) or $taille <= 0) {
384
-		return '';
385
-	}
386
-	$offset = 400 + 2 * $taille;
387
-	while (
388
-		$offset < $length
389
-		and strlen(preg_replace(',<(!--|\w|/)[^>]+>,Uims', '', substr($texte, 0, $offset))) < $taille
390
-	) {
391
-		$offset = 2 * $offset;
392
-	}
393
-	if (
394
-		$offset < $length
395
-		&& ($p_tag_ouvrant = strpos($texte, '<', $offset)) !== null
396
-	) {
397
-		$p_tag_fermant = strpos($texte, '>', $offset);
398
-		if ($p_tag_fermant && ($p_tag_fermant < $p_tag_ouvrant)) {
399
-			$offset = $p_tag_fermant + 1;
400
-		} // prolonger la coupe jusqu'au tag fermant suivant eventuel
401
-	}
402
-	$texte = substr($texte, 0, $offset); /* eviter de travailler sur 10ko pour extraire 150 caracteres */
403
-
404
-	if (!function_exists('nettoyer_raccourcis_typo')) {
405
-		include_spip('inc/lien');
406
-	}
407
-	$texte = nettoyer_raccourcis_typo($texte);
408
-
409
-	// balises de sauts de ligne et paragraphe
410
-	$texte = preg_replace('/<p( [^>]*)?' . '>/', "\r", $texte);
411
-	$texte = preg_replace('/<br( [^>]*)?' . '>/', "\n", $texte);
412
-
413
-	// on repasse les doubles \n en \r que nettoyer_raccourcis_typo() a pu modifier
414
-	$texte = str_replace("\n\n", "\r", $texte);
415
-
416
-	// supprimer les tags
417
-	$texte = supprimer_tags($texte);
418
-	$texte = trim(str_replace("\n", ' ', $texte));
419
-	$texte .= "\n";  // marquer la fin
420
-
421
-	// corriger la longueur de coupe
422
-	// en fonction de la presence de caracteres utf
423
-	if ($GLOBALS['meta']['charset'] == 'utf-8') {
424
-		$long = charset2unicode($texte);
425
-		$long = spip_substr($long, 0, max($taille, 1));
426
-		$nbcharutf = preg_match_all('/(&#[0-9]{3,6};)/S', $long, $matches);
427
-		$taille += $nbcharutf;
428
-	}
429
-
430
-
431
-	// couper au mot precedent
432
-	$long = spip_substr($texte, 0, max($taille - 4, 1));
433
-	$u = $GLOBALS['meta']['pcre_u'];
434
-	$court = preg_replace("/([^\s][\s]+)[^\s]*\n?$/" . $u, "\\1", $long);
435
-	if (is_null($suite)) {
436
-		$suite = (defined('_COUPER_SUITE') ? _COUPER_SUITE : '&nbsp;(...)');
437
-	}
438
-	$points = $suite;
439
-
440
-	// trop court ? ne pas faire de (...)
441
-	if (spip_strlen($court) < max(0.75 * $taille, 2)) {
442
-		$points = '';
443
-		$long = spip_substr($texte, 0, $taille);
444
-		$texte = preg_replace("/([^\s][\s]+)[^\s]*\n?$/" . $u, "\\1", $long);
445
-		// encore trop court ? couper au caractere
446
-		if (spip_strlen($texte) < 0.75 * $taille) {
447
-			$texte = $long;
448
-		}
449
-	} else {
450
-		$texte = $court;
451
-	}
452
-
453
-	if (strpos($texte, "\n")) {  // la fin est encore la : c'est qu'on n'a pas de texte de suite
454
-	$points = '';
455
-	}
456
-
457
-	// remettre les paragraphes
458
-	$texte = preg_replace("/\r+/", "\n\n", $texte);
459
-
460
-	// supprimer l'eventuelle entite finale mal coupee
461
-	$texte = preg_replace('/&#?[a-z0-9]*$/S', '', $texte);
462
-
463
-	return quote_amp(trim($texte)) . $points;
383
+    if (!($length = strlen($texte)) or $taille <= 0) {
384
+        return '';
385
+    }
386
+    $offset = 400 + 2 * $taille;
387
+    while (
388
+        $offset < $length
389
+        and strlen(preg_replace(',<(!--|\w|/)[^>]+>,Uims', '', substr($texte, 0, $offset))) < $taille
390
+    ) {
391
+        $offset = 2 * $offset;
392
+    }
393
+    if (
394
+        $offset < $length
395
+        && ($p_tag_ouvrant = strpos($texte, '<', $offset)) !== null
396
+    ) {
397
+        $p_tag_fermant = strpos($texte, '>', $offset);
398
+        if ($p_tag_fermant && ($p_tag_fermant < $p_tag_ouvrant)) {
399
+            $offset = $p_tag_fermant + 1;
400
+        } // prolonger la coupe jusqu'au tag fermant suivant eventuel
401
+    }
402
+    $texte = substr($texte, 0, $offset); /* eviter de travailler sur 10ko pour extraire 150 caracteres */
403
+
404
+    if (!function_exists('nettoyer_raccourcis_typo')) {
405
+        include_spip('inc/lien');
406
+    }
407
+    $texte = nettoyer_raccourcis_typo($texte);
408
+
409
+    // balises de sauts de ligne et paragraphe
410
+    $texte = preg_replace('/<p( [^>]*)?' . '>/', "\r", $texte);
411
+    $texte = preg_replace('/<br( [^>]*)?' . '>/', "\n", $texte);
412
+
413
+    // on repasse les doubles \n en \r que nettoyer_raccourcis_typo() a pu modifier
414
+    $texte = str_replace("\n\n", "\r", $texte);
415
+
416
+    // supprimer les tags
417
+    $texte = supprimer_tags($texte);
418
+    $texte = trim(str_replace("\n", ' ', $texte));
419
+    $texte .= "\n";  // marquer la fin
420
+
421
+    // corriger la longueur de coupe
422
+    // en fonction de la presence de caracteres utf
423
+    if ($GLOBALS['meta']['charset'] == 'utf-8') {
424
+        $long = charset2unicode($texte);
425
+        $long = spip_substr($long, 0, max($taille, 1));
426
+        $nbcharutf = preg_match_all('/(&#[0-9]{3,6};)/S', $long, $matches);
427
+        $taille += $nbcharutf;
428
+    }
429
+
430
+
431
+    // couper au mot precedent
432
+    $long = spip_substr($texte, 0, max($taille - 4, 1));
433
+    $u = $GLOBALS['meta']['pcre_u'];
434
+    $court = preg_replace("/([^\s][\s]+)[^\s]*\n?$/" . $u, "\\1", $long);
435
+    if (is_null($suite)) {
436
+        $suite = (defined('_COUPER_SUITE') ? _COUPER_SUITE : '&nbsp;(...)');
437
+    }
438
+    $points = $suite;
439
+
440
+    // trop court ? ne pas faire de (...)
441
+    if (spip_strlen($court) < max(0.75 * $taille, 2)) {
442
+        $points = '';
443
+        $long = spip_substr($texte, 0, $taille);
444
+        $texte = preg_replace("/([^\s][\s]+)[^\s]*\n?$/" . $u, "\\1", $long);
445
+        // encore trop court ? couper au caractere
446
+        if (spip_strlen($texte) < 0.75 * $taille) {
447
+            $texte = $long;
448
+        }
449
+    } else {
450
+        $texte = $court;
451
+    }
452
+
453
+    if (strpos($texte, "\n")) {  // la fin est encore la : c'est qu'on n'a pas de texte de suite
454
+    $points = '';
455
+    }
456
+
457
+    // remettre les paragraphes
458
+    $texte = preg_replace("/\r+/", "\n\n", $texte);
459
+
460
+    // supprimer l'eventuelle entite finale mal coupee
461
+    $texte = preg_replace('/&#?[a-z0-9]*$/S', '', $texte);
462
+
463
+    return quote_amp(trim($texte)) . $points;
464 464
 }
465 465
 
466 466
 
467 467
 function protege_js_modeles($t) {
468
-	if (isset($GLOBALS['visiteur_session'])) {
469
-		if (preg_match_all(',<script.*?($|</script.),isS', $t, $r, PREG_SET_ORDER)) {
470
-			if (!defined('_PROTEGE_JS_MODELES')) {
471
-				include_spip('inc/acces');
472
-				define('_PROTEGE_JS_MODELES', creer_uniqid());
473
-			}
474
-			foreach ($r as $regs) {
475
-				$t = str_replace($regs[0], code_echappement($regs[0], 'javascript' . _PROTEGE_JS_MODELES), $t);
476
-			}
477
-		}
478
-		if (preg_match_all(',<\?php.*?($|\?' . '>),isS', $t, $r, PREG_SET_ORDER)) {
479
-			if (!defined('_PROTEGE_PHP_MODELES')) {
480
-				include_spip('inc/acces');
481
-				define('_PROTEGE_PHP_MODELES', creer_uniqid());
482
-			}
483
-			foreach ($r as $regs) {
484
-				$t = str_replace($regs[0], code_echappement($regs[0], 'php' . _PROTEGE_PHP_MODELES), $t);
485
-			}
486
-		}
487
-	}
488
-
489
-	return $t;
468
+    if (isset($GLOBALS['visiteur_session'])) {
469
+        if (preg_match_all(',<script.*?($|</script.),isS', $t, $r, PREG_SET_ORDER)) {
470
+            if (!defined('_PROTEGE_JS_MODELES')) {
471
+                include_spip('inc/acces');
472
+                define('_PROTEGE_JS_MODELES', creer_uniqid());
473
+            }
474
+            foreach ($r as $regs) {
475
+                $t = str_replace($regs[0], code_echappement($regs[0], 'javascript' . _PROTEGE_JS_MODELES), $t);
476
+            }
477
+        }
478
+        if (preg_match_all(',<\?php.*?($|\?' . '>),isS', $t, $r, PREG_SET_ORDER)) {
479
+            if (!defined('_PROTEGE_PHP_MODELES')) {
480
+                include_spip('inc/acces');
481
+                define('_PROTEGE_PHP_MODELES', creer_uniqid());
482
+            }
483
+            foreach ($r as $regs) {
484
+                $t = str_replace($regs[0], code_echappement($regs[0], 'php' . _PROTEGE_PHP_MODELES), $t);
485
+            }
486
+        }
487
+    }
488
+
489
+    return $t;
490 490
 }
491 491
 
492 492
 
493 493
 function echapper_faux_tags($letexte) {
494
-	if (strpos($letexte, '<') === false) {
495
-		return $letexte;
496
-	}
497
-	$textMatches = preg_split(',(</?[a-z!][^<>]*>),', $letexte, -1, PREG_SPLIT_DELIM_CAPTURE);
498
-
499
-	$letexte = '';
500
-	while (is_countable($textMatches) ? count($textMatches) : 0) {
501
-		// un texte a echapper
502
-		$letexte .= str_replace('<', '&lt;', array_shift($textMatches));
503
-		// un tag html qui a servit a faite le split
504
-		$letexte .= array_shift($textMatches);
505
-	}
506
-
507
-	return $letexte;
494
+    if (strpos($letexte, '<') === false) {
495
+        return $letexte;
496
+    }
497
+    $textMatches = preg_split(',(</?[a-z!][^<>]*>),', $letexte, -1, PREG_SPLIT_DELIM_CAPTURE);
498
+
499
+    $letexte = '';
500
+    while (is_countable($textMatches) ? count($textMatches) : 0) {
501
+        // un texte a echapper
502
+        $letexte .= str_replace('<', '&lt;', array_shift($textMatches));
503
+        // un tag html qui a servit a faite le split
504
+        $letexte .= array_shift($textMatches);
505
+    }
506
+
507
+    return $letexte;
508 508
 }
509 509
 
510 510
 /**
@@ -524,115 +524,115 @@  discard block
 block discarded – undo
524 524
  * @return string
525 525
  */
526 526
 function echapper_html_suspect($texte, $options = [], $connect = null, $env = []) {
527
-	static $echapper_html_suspect;
528
-	if (!$texte or !is_string($texte)) {
529
-		return $texte;
530
-	}
531
-
532
-	if (!isset($echapper_html_suspect)) {
533
-		$echapper_html_suspect = charger_fonction('echapper_html_suspect', 'inc', true);
534
-	}
535
-	// si fonction personalisee, on delegue
536
-	if ($echapper_html_suspect) {
537
-		// on collecte le tableau d'arg minimal pour ne pas casser un appel a une fonction inc_echapper_html_suspect() selon l'ancienne signature
538
-		$args = [$texte, $options];
539
-		if ($connect or !empty($env)) {
540
-			$args[] = $connect;
541
-		}
542
-		if (!empty($env)) {
543
-			$args[] = $env;
544
-		}
545
-		return $echapper_html_suspect(...$args);
546
-	}
547
-
548
-	if (is_bool($options)) {
549
-		$options = ['strict' => $options];
550
-	}
551
-	$strict = $options['strict'] ?? true;
552
-
553
-	// pas de balise html ou pas d'attribut sur les balises ? c'est OK
554
-	if (
555
-		strpos($texte, '<') === false
556
-		or !str_contains($texte, '=')
557
-	) {
558
-		return $texte;
559
-	}
560
-
561
-	// dans le prive, on veut afficher tout echappé pour la moderation
562
-	if (!isset($env['espace_prive'])) {
563
-		// conserver le comportement historique en cas d'appel court sans env
564
-		$env['espace_prive'] = test_espace_prive();
565
-	}
566
-	if (!empty($env['espace_prive']) or !empty($env['wysiwyg'])) {
567
-
568
-		// quand c'est du texte qui passe par propre on est plus coulant tant qu'il y a pas d'attribut du type onxxx=
569
-		// car sinon on declenche sur les modeles ou ressources
570
-		if (
571
-			!$strict and
572
-			(strpos($texte, 'on') === false or !preg_match(",<\w+.*\bon\w+\s*=,UimsS", $texte))
573
-		) {
574
-			return $texte;
575
-		}
576
-
577
-		include_spip("src/Texte/Collecteur/AbstractCollecteur");
578
-		include_spip("src/Texte/Collecteur/Modeles");
579
-		$collecteurModeles = new Spip\Texte\Collecteur\Modeles();
580
-		$texte = $collecteurModeles->echapper($texte);
581
-		$texte = echappe_js($texte);
582
-
583
-		$texte_to_check = $texte;
584
-		// si les raccourcis liens vont etre interprétés, il faut les expanser avant de vérifier que le html est safe
585
-		// car un raccourci peut etre utilisé pour faire un lien malin
586
-		// et un raccourci est potentiellement modifié par safehtml, ce qui fait un faux positif dans is_html_safe
587
-		if (!empty($options['expanser_liens'])) {
588
-			$texte_to_check = expanser_liens($texte_to_check, $env['connect'] ?? '', $env['env'] ?? []);
589
-		}
590
-		if (!is_html_safe($texte_to_check)) {
591
-			$texte = $options['texte_source_affiche'] ?? $texte;
592
-			$texte = preg_replace(",<(/?\w+\b[^>]*>),", "<tt>&lt;\\1</tt>", $texte);
593
-			$texte = str_replace('<', '&lt;', $texte);
594
-			$texte = str_replace('&lt;tt>', '<tt>', $texte);
595
-			$texte = str_replace('&lt;/tt>', '</tt>', $texte);
596
-			if (!function_exists('attribut_html')) {
597
-				include_spip('inc/filtres');
598
-			}
599
-			if (!empty($options['wrap_suspect'])) {
600
-				$texte = wrap($texte, $options['wrap_suspect']);
601
-			}
602
-			$texte = "<mark class='danger-js' title='" . attribut_html(_T('erreur_contenu_suspect')) . "'>⚠️</mark> " . $texte;
603
-		}
604
-
605
-		$texte = $collecteurModeles->retablir($texte);
606
-	}
607
-
608
-	// si on est là dans le public c'est le mode parano
609
-	// on veut donc un rendu propre et secure, et virer silencieusement ce qui est dangereux
610
-	else {
611
-		$collecteurLiens = $collecteurModeles = null;
612
-		if (!empty($options['expanser_liens'])) {
613
-			$texte = expanser_liens($texte, $env['connect'] ?? '', $env['env'] ?? []);
614
-		}
615
-		else {
616
-			include_spip("src/Texte/Collecteur/AbstractCollecteur");
617
-			include_spip("src/Texte/Collecteur/Liens");
618
-			include_spip("src/Texte/Collecteur/Modeles");
619
-
620
-			$collecteurLiens = new Spip\Texte\Collecteur\Liens();
621
-			$texte = $collecteurLiens->echapper($texte, ['sanitize_callback' => 'safehtml']);
622
-
623
-			$collecteurModeles = new Spip\Texte\Collecteur\Modeles();
624
-			$texte = $collecteurModeles->echapper($texte);
625
-		}
626
-		$texte = safehtml($texte);
627
-		if ($collecteurModeles) {
628
-			$texte = $collecteurModeles->retablir($texte);
629
-		}
630
-		if ($collecteurLiens) {
631
-			$texte = $collecteurLiens->retablir($texte);
632
-		}
633
-	}
634
-
635
-	return $texte;
527
+    static $echapper_html_suspect;
528
+    if (!$texte or !is_string($texte)) {
529
+        return $texte;
530
+    }
531
+
532
+    if (!isset($echapper_html_suspect)) {
533
+        $echapper_html_suspect = charger_fonction('echapper_html_suspect', 'inc', true);
534
+    }
535
+    // si fonction personalisee, on delegue
536
+    if ($echapper_html_suspect) {
537
+        // on collecte le tableau d'arg minimal pour ne pas casser un appel a une fonction inc_echapper_html_suspect() selon l'ancienne signature
538
+        $args = [$texte, $options];
539
+        if ($connect or !empty($env)) {
540
+            $args[] = $connect;
541
+        }
542
+        if (!empty($env)) {
543
+            $args[] = $env;
544
+        }
545
+        return $echapper_html_suspect(...$args);
546
+    }
547
+
548
+    if (is_bool($options)) {
549
+        $options = ['strict' => $options];
550
+    }
551
+    $strict = $options['strict'] ?? true;
552
+
553
+    // pas de balise html ou pas d'attribut sur les balises ? c'est OK
554
+    if (
555
+        strpos($texte, '<') === false
556
+        or !str_contains($texte, '=')
557
+    ) {
558
+        return $texte;
559
+    }
560
+
561
+    // dans le prive, on veut afficher tout echappé pour la moderation
562
+    if (!isset($env['espace_prive'])) {
563
+        // conserver le comportement historique en cas d'appel court sans env
564
+        $env['espace_prive'] = test_espace_prive();
565
+    }
566
+    if (!empty($env['espace_prive']) or !empty($env['wysiwyg'])) {
567
+
568
+        // quand c'est du texte qui passe par propre on est plus coulant tant qu'il y a pas d'attribut du type onxxx=
569
+        // car sinon on declenche sur les modeles ou ressources
570
+        if (
571
+            !$strict and
572
+            (strpos($texte, 'on') === false or !preg_match(",<\w+.*\bon\w+\s*=,UimsS", $texte))
573
+        ) {
574
+            return $texte;
575
+        }
576
+
577
+        include_spip("src/Texte/Collecteur/AbstractCollecteur");
578
+        include_spip("src/Texte/Collecteur/Modeles");
579
+        $collecteurModeles = new Spip\Texte\Collecteur\Modeles();
580
+        $texte = $collecteurModeles->echapper($texte);
581
+        $texte = echappe_js($texte);
582
+
583
+        $texte_to_check = $texte;
584
+        // si les raccourcis liens vont etre interprétés, il faut les expanser avant de vérifier que le html est safe
585
+        // car un raccourci peut etre utilisé pour faire un lien malin
586
+        // et un raccourci est potentiellement modifié par safehtml, ce qui fait un faux positif dans is_html_safe
587
+        if (!empty($options['expanser_liens'])) {
588
+            $texte_to_check = expanser_liens($texte_to_check, $env['connect'] ?? '', $env['env'] ?? []);
589
+        }
590
+        if (!is_html_safe($texte_to_check)) {
591
+            $texte = $options['texte_source_affiche'] ?? $texte;
592
+            $texte = preg_replace(",<(/?\w+\b[^>]*>),", "<tt>&lt;\\1</tt>", $texte);
593
+            $texte = str_replace('<', '&lt;', $texte);
594
+            $texte = str_replace('&lt;tt>', '<tt>', $texte);
595
+            $texte = str_replace('&lt;/tt>', '</tt>', $texte);
596
+            if (!function_exists('attribut_html')) {
597
+                include_spip('inc/filtres');
598
+            }
599
+            if (!empty($options['wrap_suspect'])) {
600
+                $texte = wrap($texte, $options['wrap_suspect']);
601
+            }
602
+            $texte = "<mark class='danger-js' title='" . attribut_html(_T('erreur_contenu_suspect')) . "'>⚠️</mark> " . $texte;
603
+        }
604
+
605
+        $texte = $collecteurModeles->retablir($texte);
606
+    }
607
+
608
+    // si on est là dans le public c'est le mode parano
609
+    // on veut donc un rendu propre et secure, et virer silencieusement ce qui est dangereux
610
+    else {
611
+        $collecteurLiens = $collecteurModeles = null;
612
+        if (!empty($options['expanser_liens'])) {
613
+            $texte = expanser_liens($texte, $env['connect'] ?? '', $env['env'] ?? []);
614
+        }
615
+        else {
616
+            include_spip("src/Texte/Collecteur/AbstractCollecteur");
617
+            include_spip("src/Texte/Collecteur/Liens");
618
+            include_spip("src/Texte/Collecteur/Modeles");
619
+
620
+            $collecteurLiens = new Spip\Texte\Collecteur\Liens();
621
+            $texte = $collecteurLiens->echapper($texte, ['sanitize_callback' => 'safehtml']);
622
+
623
+            $collecteurModeles = new Spip\Texte\Collecteur\Modeles();
624
+            $texte = $collecteurModeles->echapper($texte);
625
+        }
626
+        $texte = safehtml($texte);
627
+        if ($collecteurModeles) {
628
+            $texte = $collecteurModeles->retablir($texte);
629
+        }
630
+        if ($collecteurLiens) {
631
+            $texte = $collecteurLiens->retablir($texte);
632
+        }
633
+    }
634
+
635
+    return $texte;
636 636
 }
637 637
 
638 638
 
@@ -653,52 +653,52 @@  discard block
 block discarded – undo
653 653
  *      texte sécurisé
654 654
  **/
655 655
 function safehtml($t) {
656
-	static $safehtml;
657
-
658
-	if (!$t or !is_string($t)) {
659
-		return $t;
660
-	}
661
-	# attention safehtml nettoie deux ou trois caracteres de plus. A voir
662
-	if (strpos($t, '<') === false) {
663
-		return str_replace("\x00", '', $t);
664
-	}
665
-
666
-	$collecteurIdiomes = null;
667
-	if (stripos($t, '<:') !== false) {
668
-		include_spip("src/Texte/Collecteur/AbstractCollecteur");
669
-		include_spip("src/Texte/Collecteur/Idiomes");
670
-		$collecteurIdiomes = new Spip\Texte\Collecteur\Idiomes();
671
-		$t = $collecteurIdiomes->echapper($t);
672
-	}
673
-	$collecteurMultis = null;
674
-	if (stripos($t, '<multi') !== false) {
675
-		include_spip("src/Texte/Collecteur/AbstractCollecteur");
676
-		include_spip("src/Texte/Collecteur/Multis");
677
-		$collecteurMultis = new Spip\Texte\Collecteur\Multis();
678
-		$t = $collecteurMultis->echapper($t, ['sanitize_callback' => 'safehtml']);
679
-	}
680
-
681
-	if (!function_exists('interdire_scripts')) {
682
-		include_spip('inc/texte');
683
-	}
684
-	$t = interdire_scripts($t); // jolifier le php
685
-	$t = echappe_js($t);
686
-
687
-	if (!isset($safehtml)) {
688
-		$safehtml = charger_fonction('safehtml', 'inc', true);
689
-	}
690
-	if ($safehtml) {
691
-		$t = $safehtml($t);
692
-	}
693
-
694
-	if ($collecteurMultis) {
695
-		$t = $collecteurMultis->retablir($t);
696
-	}
697
-	if ($collecteurIdiomes) {
698
-		$t = $collecteurIdiomes->retablir($t);
699
-	}
700
-
701
-	return interdire_scripts($t); // interdire le php (2 precautions)
656
+    static $safehtml;
657
+
658
+    if (!$t or !is_string($t)) {
659
+        return $t;
660
+    }
661
+    # attention safehtml nettoie deux ou trois caracteres de plus. A voir
662
+    if (strpos($t, '<') === false) {
663
+        return str_replace("\x00", '', $t);
664
+    }
665
+
666
+    $collecteurIdiomes = null;
667
+    if (stripos($t, '<:') !== false) {
668
+        include_spip("src/Texte/Collecteur/AbstractCollecteur");
669
+        include_spip("src/Texte/Collecteur/Idiomes");
670
+        $collecteurIdiomes = new Spip\Texte\Collecteur\Idiomes();
671
+        $t = $collecteurIdiomes->echapper($t);
672
+    }
673
+    $collecteurMultis = null;
674
+    if (stripos($t, '<multi') !== false) {
675
+        include_spip("src/Texte/Collecteur/AbstractCollecteur");
676
+        include_spip("src/Texte/Collecteur/Multis");
677
+        $collecteurMultis = new Spip\Texte\Collecteur\Multis();
678
+        $t = $collecteurMultis->echapper($t, ['sanitize_callback' => 'safehtml']);
679
+    }
680
+
681
+    if (!function_exists('interdire_scripts')) {
682
+        include_spip('inc/texte');
683
+    }
684
+    $t = interdire_scripts($t); // jolifier le php
685
+    $t = echappe_js($t);
686
+
687
+    if (!isset($safehtml)) {
688
+        $safehtml = charger_fonction('safehtml', 'inc', true);
689
+    }
690
+    if ($safehtml) {
691
+        $t = $safehtml($t);
692
+    }
693
+
694
+    if ($collecteurMultis) {
695
+        $t = $collecteurMultis->retablir($t);
696
+    }
697
+    if ($collecteurIdiomes) {
698
+        $t = $collecteurIdiomes->retablir($t);
699
+    }
700
+
701
+    return interdire_scripts($t); // interdire le php (2 precautions)
702 702
 }
703 703
 
704 704
 
@@ -706,25 +706,25 @@  discard block
 block discarded – undo
706 706
  * Detecter si un texte est "safe" ie non modifie significativement par safehtml()
707 707
  */
708 708
 function is_html_safe(string $texte): bool {
709
-	if ($is_html_safe = charger_fonction('is_html_safe', 'inc', true)) {
710
-		return $is_html_safe($texte);
711
-	}
712
-
713
-	// simplifier les retour ligne pour etre certain de ce que l'on compare
714
-	$texte = str_replace("\r\n", "\n", $texte);
715
-	// safehtml reduit aussi potentiellement les &nbsp;
716
-	$texte = str_replace("&nbsp;", " ", $texte);
717
-	// safehtml remplace les entités numériques
718
-	if (strpos($texte, '&#') !== false) {
719
-		$texte = unicode2charset($texte);
720
-	}
721
-
722
-	$texte_safe = safehtml($texte);
723
-
724
-	// on teste sur strlen car safehtml supprime le contenu dangereux
725
-	// mais il peut aussi changer des ' en " sur les attributs html,
726
-	// donc un test d'egalite est trop strict
727
-	return strlen($texte_safe) === strlen($texte);
709
+    if ($is_html_safe = charger_fonction('is_html_safe', 'inc', true)) {
710
+        return $is_html_safe($texte);
711
+    }
712
+
713
+    // simplifier les retour ligne pour etre certain de ce que l'on compare
714
+    $texte = str_replace("\r\n", "\n", $texte);
715
+    // safehtml reduit aussi potentiellement les &nbsp;
716
+    $texte = str_replace("&nbsp;", " ", $texte);
717
+    // safehtml remplace les entités numériques
718
+    if (strpos($texte, '&#') !== false) {
719
+        $texte = unicode2charset($texte);
720
+    }
721
+
722
+    $texte_safe = safehtml($texte);
723
+
724
+    // on teste sur strlen car safehtml supprime le contenu dangereux
725
+    // mais il peut aussi changer des ' en " sur les attributs html,
726
+    // donc un test d'egalite est trop strict
727
+    return strlen($texte_safe) === strlen($texte);
728 728
 }
729 729
 
730 730
 /**
@@ -745,13 +745,13 @@  discard block
 block discarded – undo
745 745
  *     texte sans les modèles d'image
746 746
  **/
747 747
 function supprime_img($letexte, $message = null) {
748
-	if ($message === null) {
749
-		$message = '(' . _T('img_indisponible') . ')';
750
-	}
751
-
752
-	return preg_replace(
753
-		',<(img|doc|emb)([0-9]+)(\|([^>]*))?' . '\s*/?' . '>,i',
754
-		$message,
755
-		$letexte
756
-	);
748
+    if ($message === null) {
749
+        $message = '(' . _T('img_indisponible') . ')';
750
+    }
751
+
752
+    return preg_replace(
753
+        ',<(img|doc|emb)([0-9]+)(\|([^>]*))?' . '\s*/?' . '>,i',
754
+        $message,
755
+        $letexte
756
+    );
757 757
 }
Please login to merge, or discard this patch.
ecrire/lang/spip_fr.php 1 patch
Indentation   +669 added lines, -669 removed lines patch added patch discarded remove patch
@@ -2,248 +2,248 @@  discard block
 block discarded – undo
2 2
 // This is a SPIP language file  --  Ceci est un fichier langue de SPIP
3 3
 // Fichier source, a modifier dans https://git.spip.net/spip/spip.git
4 4
 if (!defined('_ECRIRE_INC_VERSION')) {
5
-	return;
5
+    return;
6 6
 }
7 7
 
8 8
 $GLOBALS[$GLOBALS['idx_lang']] = array(
9 9
 
10
-	// A
11
-	'access_interface_graphique' => 'Retour à l’interface graphique complète',
12
-	'access_mode_texte' => 'Afficher l’interface textuelle simplifiée',
13
-	'admin_debug' => 'debug',
14
-	'admin_modifier_article' => 'Modifier cet article',
15
-	'admin_modifier_auteur' => 'Modifier cet auteur',
16
-	'admin_modifier_breve' => 'Modifier cette brève',
17
-	'admin_modifier_mot' => 'Modifier ce mot-clé',
18
-	'admin_modifier_rubrique' => 'Modifier cette rubrique',
19
-	'admin_recalculer' => 'Recalculer cette page',
20
-	'afficher_calendrier' => 'Afficher le calendrier',
21
-	'afficher_trad' => 'afficher les traductions',
22
-	'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. Veuillez contacter votre hébergeur.',
23
-	'alerte_modif_info_concourante' => 'ATTENTION : Cette information a été modifiée par ailleurs. La valeur actuelle est :',
24
-	'analyse_xml' => 'Analyse XML',
25
-	'annuler' => 'Annuler',
26
-	'antispam_champ_vide' => 'Veuillez laisser ce champ vide :',
27
-	'articles_recents' => 'Articles les plus récents',
28
-	'attention_champ_mini_nb_caractères' => 'Attention ! @nb@ caractères au minimum',
29
-	'avis_1_erreur_saisie' => 'Il y a 1 erreur dans votre saisie, veuillez vérifier les informations.',
30
-	'avis_archive_incorrect' => 'le fichier archive n’est pas un fichier SPIP',
31
-	'avis_archive_invalide' => 'le fichier archive n’est pas valide',
32
-	'avis_attention' => 'ATTENTION !',
33
-	'avis_champ_incorrect_type_objet' => 'Nom de champ incorrect @name@ pour objet de type @type@',
34
-	'avis_colonne_inexistante' => 'La colonne @col@ n’existe pas',
35
-	'avis_erreur' => 'Erreur : voir ci-dessous',
36
-	'avis_erreur_connexion' => 'Erreur de connexion',
37
-	'avis_erreur_cookie' => 'problème de cookie',
38
-	'avis_erreur_fonction_contexte' => 'Erreur de programmation. Cette fonction ne doit pas être appelée dans ce contexte.',
39
-	'avis_erreur_mysql' => 'Erreur SQL',
40
-	'avis_erreur_sauvegarde' => 'Erreur dans la sauvegarde (@type@ @id_objet@) !',
41
-	'avis_erreur_visiteur' => 'Problème d’accès à l’espace privé',
42
-	'avis_nb_erreurs_saisie' => 'Il y a @nb@ erreurs dans votre saisie, veuillez vérifier les informations.',
10
+    // A
11
+    'access_interface_graphique' => 'Retour à l’interface graphique complète',
12
+    'access_mode_texte' => 'Afficher l’interface textuelle simplifiée',
13
+    'admin_debug' => 'debug',
14
+    'admin_modifier_article' => 'Modifier cet article',
15
+    'admin_modifier_auteur' => 'Modifier cet auteur',
16
+    'admin_modifier_breve' => 'Modifier cette brève',
17
+    'admin_modifier_mot' => 'Modifier ce mot-clé',
18
+    'admin_modifier_rubrique' => 'Modifier cette rubrique',
19
+    'admin_recalculer' => 'Recalculer cette page',
20
+    'afficher_calendrier' => 'Afficher le calendrier',
21
+    'afficher_trad' => 'afficher les traductions',
22
+    '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. Veuillez contacter votre hébergeur.',
23
+    'alerte_modif_info_concourante' => 'ATTENTION : Cette information a été modifiée par ailleurs. La valeur actuelle est :',
24
+    'analyse_xml' => 'Analyse XML',
25
+    'annuler' => 'Annuler',
26
+    'antispam_champ_vide' => 'Veuillez laisser ce champ vide :',
27
+    'articles_recents' => 'Articles les plus récents',
28
+    'attention_champ_mini_nb_caractères' => 'Attention ! @nb@ caractères au minimum',
29
+    'avis_1_erreur_saisie' => 'Il y a 1 erreur dans votre saisie, veuillez vérifier les informations.',
30
+    'avis_archive_incorrect' => 'le fichier archive n’est pas un fichier SPIP',
31
+    'avis_archive_invalide' => 'le fichier archive n’est pas valide',
32
+    'avis_attention' => 'ATTENTION !',
33
+    'avis_champ_incorrect_type_objet' => 'Nom de champ incorrect @name@ pour objet de type @type@',
34
+    'avis_colonne_inexistante' => 'La colonne @col@ n’existe pas',
35
+    'avis_erreur' => 'Erreur : voir ci-dessous',
36
+    'avis_erreur_connexion' => 'Erreur de connexion',
37
+    'avis_erreur_cookie' => 'problème de cookie',
38
+    'avis_erreur_fonction_contexte' => 'Erreur de programmation. Cette fonction ne doit pas être appelée dans ce contexte.',
39
+    'avis_erreur_mysql' => 'Erreur SQL',
40
+    'avis_erreur_sauvegarde' => 'Erreur dans la sauvegarde (@type@ @id_objet@) !',
41
+    'avis_erreur_visiteur' => 'Problème d’accès à l’espace privé',
42
+    'avis_nb_erreurs_saisie' => 'Il y a @nb@ erreurs dans votre saisie, veuillez vérifier les informations.',
43 43
 
44
-	// B
45
-	'barre_a_accent_grave' => 'Insérer un A accent grave majuscule',
46
-	'barre_aide' => 'Utilisez les raccourcis typographiques pour enrichir votre mise en page',
47
-	'barre_e_accent_aigu' => 'Insérer un E accent aigu majuscule',
48
-	'barre_eo' => 'Insérer un E dans l’O',
49
-	'barre_eo_maj' => 'Insérer un E dans l’O majuscule',
50
-	'barre_euro' => 'Insérer le symbole €',
51
-	'barre_gras' => 'Mettre en {{gras}}',
52
-	'barre_guillemets' => 'Entourer de « guillemets »',
53
-	'barre_guillemets_simples' => 'Entourer de “guillemets de second niveau”',
54
-	'barre_intertitre' => 'Transformer en {{{intertitre}}}',
55
-	'barre_italic' => 'Mettre en {italique}',
56
-	'barre_lien' => 'Transformer en [lien hypertexte->http://...]',
57
-	'barre_lien_input' => 'Veuillez indiquer l’adresse de votre lien (vous pouvez indiquer une adresse Web sous la forme http://www.monsite/com ou simplement indiquer le numéro d’un article de ce site.',
58
-	'barre_note' => 'Transformer en [[Note de bas de page]]',
59
-	'barre_paragraphe' => 'Créer un paragraphe',
60
-	'barre_quote' => '<quote>Citer un message</quote>',
61
-	'bouton_changer' => 'Changer',
62
-	'bouton_chercher' => 'Chercher',
63
-	'bouton_choisir' => 'Choisir',
64
-	'bouton_deplacer' => 'Déplacer',
65
-	'bouton_download' => 'Télécharger',
66
-	'bouton_enregistrer' => 'Enregistrer',
67
-	'bouton_radio_desactiver_messagerie_interne' => 'Désactiver la messagerie interne',
68
-	'bouton_radio_envoi_annonces' => 'Envoyer les annonces éditoriales',
69
-	'bouton_radio_non_envoi_annonces' => 'Ne pas envoyer d’annonces',
70
-	'bouton_radio_non_envoi_liste_nouveautes' => 'Ne pas envoyer la liste des nouveautés',
71
-	'bouton_recharger_page' => 'recharger cette page',
72
-	'bouton_telecharger' => 'Télécharger',
73
-	'bouton_upload' => 'Téléverser',
74
-	'bouton_valider' => 'Valider',
44
+    // B
45
+    'barre_a_accent_grave' => 'Insérer un A accent grave majuscule',
46
+    'barre_aide' => 'Utilisez les raccourcis typographiques pour enrichir votre mise en page',
47
+    'barre_e_accent_aigu' => 'Insérer un E accent aigu majuscule',
48
+    'barre_eo' => 'Insérer un E dans l’O',
49
+    'barre_eo_maj' => 'Insérer un E dans l’O majuscule',
50
+    'barre_euro' => 'Insérer le symbole €',
51
+    'barre_gras' => 'Mettre en {{gras}}',
52
+    'barre_guillemets' => 'Entourer de « guillemets »',
53
+    'barre_guillemets_simples' => 'Entourer de “guillemets de second niveau”',
54
+    'barre_intertitre' => 'Transformer en {{{intertitre}}}',
55
+    'barre_italic' => 'Mettre en {italique}',
56
+    'barre_lien' => 'Transformer en [lien hypertexte->http://...]',
57
+    'barre_lien_input' => 'Veuillez indiquer l’adresse de votre lien (vous pouvez indiquer une adresse Web sous la forme http://www.monsite/com ou simplement indiquer le numéro d’un article de ce site.',
58
+    'barre_note' => 'Transformer en [[Note de bas de page]]',
59
+    'barre_paragraphe' => 'Créer un paragraphe',
60
+    'barre_quote' => '<quote>Citer un message</quote>',
61
+    'bouton_changer' => 'Changer',
62
+    'bouton_chercher' => 'Chercher',
63
+    'bouton_choisir' => 'Choisir',
64
+    'bouton_deplacer' => 'Déplacer',
65
+    'bouton_download' => 'Télécharger',
66
+    'bouton_enregistrer' => 'Enregistrer',
67
+    'bouton_radio_desactiver_messagerie_interne' => 'Désactiver la messagerie interne',
68
+    'bouton_radio_envoi_annonces' => 'Envoyer les annonces éditoriales',
69
+    'bouton_radio_non_envoi_annonces' => 'Ne pas envoyer d’annonces',
70
+    'bouton_radio_non_envoi_liste_nouveautes' => 'Ne pas envoyer la liste des nouveautés',
71
+    'bouton_recharger_page' => 'recharger cette page',
72
+    'bouton_telecharger' => 'Télécharger',
73
+    'bouton_upload' => 'Téléverser',
74
+    'bouton_valider' => 'Valider',
75 75
 
76
-	// C
77
-	'cal_apresmidi' => 'après-midi',
78
-	'cal_jour_entier' => 'jour entier',
79
-	'cal_matin' => 'matin',
80
-	'cal_par_jour' => 'calendrier par jour',
81
-	'cal_par_mois' => 'calendrier par mois',
82
-	'cal_par_semaine' => 'calendrier par semaine',
83
-	'choix_couleur_interface' => 'couleur ',
84
-	'choix_interface' => 'choix  de l’interface',
85
-	'colonne' => 'Colonne',
86
-	'confirm_changer_statut' => 'Attention, vous avez demandé à changer le statut de cet élément. Souhaitez-vous continuer ?',
87
-	'correcte' => 'correcte', # chaine utilisée dans le debugueur : "validation .. impossible" ou "validation .. correcte"
76
+    // C
77
+    'cal_apresmidi' => 'après-midi',
78
+    'cal_jour_entier' => 'jour entier',
79
+    'cal_matin' => 'matin',
80
+    'cal_par_jour' => 'calendrier par jour',
81
+    'cal_par_mois' => 'calendrier par mois',
82
+    'cal_par_semaine' => 'calendrier par semaine',
83
+    'choix_couleur_interface' => 'couleur ',
84
+    'choix_interface' => 'choix  de l’interface',
85
+    'colonne' => 'Colonne',
86
+    'confirm_changer_statut' => 'Attention, vous avez demandé à changer le statut de cet élément. Souhaitez-vous continuer ?',
87
+    'correcte' => 'correcte', # chaine utilisée dans le debugueur : "validation .. impossible" ou "validation .. correcte"
88 88
 
89
-	// D
90
-	'date_aujourdhui' => 'aujourd’hui',
91
-	'date_avant_jc' => 'av. J.C.',
92
-	'date_dans' => 'dans @delai@',
93
-	'date_de_mois_1' => '@j@ @nommois@',
94
-	'date_de_mois_10' => '@j@ @nommois@',
95
-	'date_de_mois_11' => '@j@ @nommois@',
96
-	'date_de_mois_12' => '@j@ @nommois@',
97
-	'date_de_mois_2' => '@j@ @nommois@',
98
-	'date_de_mois_3' => '@j@ @nommois@',
99
-	'date_de_mois_4' => '@j@ @nommois@',
100
-	'date_de_mois_5' => '@j@ @nommois@',
101
-	'date_de_mois_6' => '@j@ @nommois@',
102
-	'date_de_mois_7' => '@j@ @nommois@',
103
-	'date_de_mois_8' => '@j@ @nommois@',
104
-	'date_de_mois_9' => '@j@ @nommois@',
105
-	'date_demain' => 'demain',
106
-	'date_fmt_heures_minutes' => '@h@h@m@min',
107
-	'date_fmt_heures_minutes_court' => '@h@h@m@',
108
-	'date_fmt_jour' => '@nomjour@ @jour@',
109
-	'date_fmt_jour_heure' => '@jour@ à @heure@',
110
-	'date_fmt_jour_heure_debut_fin' => '@jour@ de @heure_debut@ à @heure_fin@',
111
-	'date_fmt_jour_heure_debut_fin_abbr' => '@dtstart@@jour@ de @heure_debut@@dtabbr@ à @dtend@@heure_fin@@dtabbr@',
112
-	'date_fmt_jour_mois' => '@jour@ @nommois@',
113
-	'date_fmt_jour_mois_annee' => '@jour@ @nommois@ @annee@',
114
-	'date_fmt_mois_annee' => '@nommois@ @annee@',
115
-	'date_fmt_nomjour' => '@nomjour@ @date@',
116
-	'date_fmt_nomjour_date' => 'le @nomjour@ @date@',
117
-	'date_fmt_periode' => 'Du @date_debut@ au @date_fin@',
118
-	'date_fmt_periode_abbr' => 'Du @dtart@@date_debut@@dtabbr@ au @dtend@@date_fin@@dtabbr@',
119
-	'date_fmt_periode_from' => 'Du',
120
-	'date_fmt_periode_to' => 'au',
121
-	'date_fmt_saison_annee' => '@saison@ @annee@',
122
-	'date_heures' => 'heures',
123
-	'date_hier' => 'hier',
124
-	'date_il_y_a' => 'il y a @delai@',
125
-	'date_jnum1' => '1er',
126
-	'date_jnum10' => '10',
127
-	'date_jnum11' => '11',
128
-	'date_jnum12' => '12',
129
-	'date_jnum13' => '13',
130
-	'date_jnum14' => '14',
131
-	'date_jnum15' => '15',
132
-	'date_jnum16' => '16',
133
-	'date_jnum17' => '17',
134
-	'date_jnum18' => '18',
135
-	'date_jnum19' => '19',
136
-	'date_jnum2' => '2',
137
-	'date_jnum20' => '20',
138
-	'date_jnum21' => '21',
139
-	'date_jnum22' => '22',
140
-	'date_jnum23' => '23',
141
-	'date_jnum24' => '24',
142
-	'date_jnum25' => '25',
143
-	'date_jnum26' => '26',
144
-	'date_jnum27' => '27',
145
-	'date_jnum28' => '28',
146
-	'date_jnum29' => '29',
147
-	'date_jnum3' => '3',
148
-	'date_jnum30' => '30',
149
-	'date_jnum31' => '31',
150
-	'date_jnum4' => '4',
151
-	'date_jnum5' => '5',
152
-	'date_jnum6' => '6',
153
-	'date_jnum7' => '7',
154
-	'date_jnum8' => '8',
155
-	'date_jnum9' => '9',
156
-	'date_jour_1' => 'dimanche',
157
-	'date_jour_1_abbr' => 'dim.',
158
-	'date_jour_1_initiale' => 'd.',
159
-	'date_jour_2' => 'lundi',
160
-	'date_jour_2_abbr' => 'lun.',
161
-	'date_jour_2_initiale' => 'l.',
162
-	'date_jour_3' => 'mardi',
163
-	'date_jour_3_abbr' => 'mar.',
164
-	'date_jour_3_initiale' => 'm.',
165
-	'date_jour_4' => 'mercredi',
166
-	'date_jour_4_abbr' => 'mer.',
167
-	'date_jour_4_initiale' => 'm.',
168
-	'date_jour_5' => 'jeudi',
169
-	'date_jour_5_abbr' => 'jeu.',
170
-	'date_jour_5_initiale' => 'j.',
171
-	'date_jour_6' => 'vendredi',
172
-	'date_jour_6_abbr' => 'ven.',
173
-	'date_jour_6_initiale' => 'v.',
174
-	'date_jour_7' => 'samedi',
175
-	'date_jour_7_abbr' => 'sam.',
176
-	'date_jour_7_initiale' => 's.',
177
-	'date_jours' => 'jours',
178
-	'date_minutes' => 'minutes',
179
-	'date_mois' => 'mois',
180
-	'date_mois_1' => 'janvier',
181
-	'date_mois_10' => 'octobre',
182
-	'date_mois_10_abbr' => 'oct.',
183
-	'date_mois_11' => 'novembre',
184
-	'date_mois_11_abbr' => 'nov.',
185
-	'date_mois_12' => 'décembre',
186
-	'date_mois_12_abbr' => 'déc.',
187
-	'date_mois_1_abbr' => 'janv.',
188
-	'date_mois_2' => 'février',
189
-	'date_mois_2_abbr' => 'févr.',
190
-	'date_mois_3' => 'mars',
191
-	'date_mois_3_abbr' => 'mars',
192
-	'date_mois_4' => 'avril',
193
-	'date_mois_4_abbr' => 'avr.',
194
-	'date_mois_5' => 'mai',
195
-	'date_mois_5_abbr' => 'mai',
196
-	'date_mois_6' => 'juin',
197
-	'date_mois_6_abbr' => 'juin',
198
-	'date_mois_7' => 'juillet',
199
-	'date_mois_7_abbr' => 'juil.',
200
-	'date_mois_8' => 'août',
201
-	'date_mois_8_abbr' => 'août',
202
-	'date_mois_9' => 'septembre',
203
-	'date_mois_9_abbr' => 'sept.',
204
-	'date_saison_1' => 'hiver',
205
-	'date_saison_2' => 'printemps',
206
-	'date_saison_3' => 'été',
207
-	'date_saison_4' => 'automne',
208
-	'date_secondes' => 'secondes',
209
-	'date_semaines' => 'semaines',
210
-	'date_un_mois' => 'mois',
211
-	'date_une_heure' => 'heure',
212
-	'date_une_minute' => 'minute',
213
-	'date_une_seconde' => 'seconde',
214
-	'date_une_semaine' => 'semaine',
215
-	'dirs_commencer' => ' afin de commencer réellement l’installation',
216
-	'dirs_preliminaire' => 'Préliminaire : <b>Régler les droits d’accès</b>',
217
-	'dirs_probleme_droits' => 'Problème de droits d’accès',
218
-	'dirs_repertoires_absents' => '<p><b>Les répertoires suivants n’ont pas été trouvés :</b></p><ul>@bad_dirs@</ul>
89
+    // D
90
+    'date_aujourdhui' => 'aujourd’hui',
91
+    'date_avant_jc' => 'av. J.C.',
92
+    'date_dans' => 'dans @delai@',
93
+    'date_de_mois_1' => '@j@ @nommois@',
94
+    'date_de_mois_10' => '@j@ @nommois@',
95
+    'date_de_mois_11' => '@j@ @nommois@',
96
+    'date_de_mois_12' => '@j@ @nommois@',
97
+    'date_de_mois_2' => '@j@ @nommois@',
98
+    'date_de_mois_3' => '@j@ @nommois@',
99
+    'date_de_mois_4' => '@j@ @nommois@',
100
+    'date_de_mois_5' => '@j@ @nommois@',
101
+    'date_de_mois_6' => '@j@ @nommois@',
102
+    'date_de_mois_7' => '@j@ @nommois@',
103
+    'date_de_mois_8' => '@j@ @nommois@',
104
+    'date_de_mois_9' => '@j@ @nommois@',
105
+    'date_demain' => 'demain',
106
+    'date_fmt_heures_minutes' => '@h@h@m@min',
107
+    'date_fmt_heures_minutes_court' => '@h@h@m@',
108
+    'date_fmt_jour' => '@nomjour@ @jour@',
109
+    'date_fmt_jour_heure' => '@jour@ à @heure@',
110
+    'date_fmt_jour_heure_debut_fin' => '@jour@ de @heure_debut@ à @heure_fin@',
111
+    'date_fmt_jour_heure_debut_fin_abbr' => '@dtstart@@jour@ de @heure_debut@@dtabbr@ à @dtend@@heure_fin@@dtabbr@',
112
+    'date_fmt_jour_mois' => '@jour@ @nommois@',
113
+    'date_fmt_jour_mois_annee' => '@jour@ @nommois@ @annee@',
114
+    'date_fmt_mois_annee' => '@nommois@ @annee@',
115
+    'date_fmt_nomjour' => '@nomjour@ @date@',
116
+    'date_fmt_nomjour_date' => 'le @nomjour@ @date@',
117
+    'date_fmt_periode' => 'Du @date_debut@ au @date_fin@',
118
+    'date_fmt_periode_abbr' => 'Du @dtart@@date_debut@@dtabbr@ au @dtend@@date_fin@@dtabbr@',
119
+    'date_fmt_periode_from' => 'Du',
120
+    'date_fmt_periode_to' => 'au',
121
+    'date_fmt_saison_annee' => '@saison@ @annee@',
122
+    'date_heures' => 'heures',
123
+    'date_hier' => 'hier',
124
+    'date_il_y_a' => 'il y a @delai@',
125
+    'date_jnum1' => '1er',
126
+    'date_jnum10' => '10',
127
+    'date_jnum11' => '11',
128
+    'date_jnum12' => '12',
129
+    'date_jnum13' => '13',
130
+    'date_jnum14' => '14',
131
+    'date_jnum15' => '15',
132
+    'date_jnum16' => '16',
133
+    'date_jnum17' => '17',
134
+    'date_jnum18' => '18',
135
+    'date_jnum19' => '19',
136
+    'date_jnum2' => '2',
137
+    'date_jnum20' => '20',
138
+    'date_jnum21' => '21',
139
+    'date_jnum22' => '22',
140
+    'date_jnum23' => '23',
141
+    'date_jnum24' => '24',
142
+    'date_jnum25' => '25',
143
+    'date_jnum26' => '26',
144
+    'date_jnum27' => '27',
145
+    'date_jnum28' => '28',
146
+    'date_jnum29' => '29',
147
+    'date_jnum3' => '3',
148
+    'date_jnum30' => '30',
149
+    'date_jnum31' => '31',
150
+    'date_jnum4' => '4',
151
+    'date_jnum5' => '5',
152
+    'date_jnum6' => '6',
153
+    'date_jnum7' => '7',
154
+    'date_jnum8' => '8',
155
+    'date_jnum9' => '9',
156
+    'date_jour_1' => 'dimanche',
157
+    'date_jour_1_abbr' => 'dim.',
158
+    'date_jour_1_initiale' => 'd.',
159
+    'date_jour_2' => 'lundi',
160
+    'date_jour_2_abbr' => 'lun.',
161
+    'date_jour_2_initiale' => 'l.',
162
+    'date_jour_3' => 'mardi',
163
+    'date_jour_3_abbr' => 'mar.',
164
+    'date_jour_3_initiale' => 'm.',
165
+    'date_jour_4' => 'mercredi',
166
+    'date_jour_4_abbr' => 'mer.',
167
+    'date_jour_4_initiale' => 'm.',
168
+    'date_jour_5' => 'jeudi',
169
+    'date_jour_5_abbr' => 'jeu.',
170
+    'date_jour_5_initiale' => 'j.',
171
+    'date_jour_6' => 'vendredi',
172
+    'date_jour_6_abbr' => 'ven.',
173
+    'date_jour_6_initiale' => 'v.',
174
+    'date_jour_7' => 'samedi',
175
+    'date_jour_7_abbr' => 'sam.',
176
+    'date_jour_7_initiale' => 's.',
177
+    'date_jours' => 'jours',
178
+    'date_minutes' => 'minutes',
179
+    'date_mois' => 'mois',
180
+    'date_mois_1' => 'janvier',
181
+    'date_mois_10' => 'octobre',
182
+    'date_mois_10_abbr' => 'oct.',
183
+    'date_mois_11' => 'novembre',
184
+    'date_mois_11_abbr' => 'nov.',
185
+    'date_mois_12' => 'décembre',
186
+    'date_mois_12_abbr' => 'déc.',
187
+    'date_mois_1_abbr' => 'janv.',
188
+    'date_mois_2' => 'février',
189
+    'date_mois_2_abbr' => 'févr.',
190
+    'date_mois_3' => 'mars',
191
+    'date_mois_3_abbr' => 'mars',
192
+    'date_mois_4' => 'avril',
193
+    'date_mois_4_abbr' => 'avr.',
194
+    'date_mois_5' => 'mai',
195
+    'date_mois_5_abbr' => 'mai',
196
+    'date_mois_6' => 'juin',
197
+    'date_mois_6_abbr' => 'juin',
198
+    'date_mois_7' => 'juillet',
199
+    'date_mois_7_abbr' => 'juil.',
200
+    'date_mois_8' => 'août',
201
+    'date_mois_8_abbr' => 'août',
202
+    'date_mois_9' => 'septembre',
203
+    'date_mois_9_abbr' => 'sept.',
204
+    'date_saison_1' => 'hiver',
205
+    'date_saison_2' => 'printemps',
206
+    'date_saison_3' => 'été',
207
+    'date_saison_4' => 'automne',
208
+    'date_secondes' => 'secondes',
209
+    'date_semaines' => 'semaines',
210
+    'date_un_mois' => 'mois',
211
+    'date_une_heure' => 'heure',
212
+    'date_une_minute' => 'minute',
213
+    'date_une_seconde' => 'seconde',
214
+    'date_une_semaine' => 'semaine',
215
+    'dirs_commencer' => ' afin de commencer réellement l’installation',
216
+    'dirs_preliminaire' => 'Préliminaire : <b>Régler les droits d’accès</b>',
217
+    'dirs_probleme_droits' => 'Problème de droits d’accès',
218
+    'dirs_repertoires_absents' => '<p><b>Les répertoires suivants n’ont pas été trouvés :</b></p><ul>@bad_dirs@</ul>
219 219
   <p>Il est probable que cela soit dû à un problème de mauvaise mise en majuscules ou minuscules.
220 220
   Vérifiez que les minuscules et majuscules de ces répertoires concordent bien avec ce qui est affiché
221 221
   ci-dessus ; si ce n’est pas le cas, renommez les répertoires avec votre logiciel FTP de façon à corriger l’erreur.</p>
222 222
   <p>Une fois cette manipulation effectuée, vous pourrez ',
223
-	'dirs_repertoires_suivants' => '<p><b>Les répertoires suivants ne sont pas accessibles en écriture :</b></p> <ul>@bad_dirs@</ul>
223
+    'dirs_repertoires_suivants' => '<p><b>Les répertoires suivants ne sont pas accessibles en écriture :</b></p> <ul>@bad_dirs@</ul>
224 224
   <p>Pour y remédier, utilisez votre client FTP afin de régler les droits d’accès de chacun
225 225
   de ces répertoires. La procédure est expliquée en détail dans le guide d’installation.</p>
226 226
   <p>Une fois cette manipulation effectuée, vous pourrez ',
227
-	'double_occurrence' => 'Double occurrence de @balise@',
227
+    'double_occurrence' => 'Double occurrence de @balise@',
228 228
 
229
-	// E
230
-	'en_cours' => 'en cours',
231
-	'envoi_via_le_site' => 'Envoi via le site',
232
-	'erreur' => 'Erreur',
233
-	'erreur_balise_non_fermee' => 'dernière balise non refermée :',
234
-	'erreur_technique_ajaxform' => 'Oups. Une erreur inattendue a empêché de soumettre le formulaire. Vous pouvez essayer à nouveau.',
235
-	'erreur_technique_enregistrement_champs' => 'Une erreur technique a empêché l’enregistrement correct du champ @champs@.',
236
-	'erreur_technique_enregistrement_impossible' => 'Une erreur technique a empêché l’enregistrement.',
237
-	'erreur_texte' => 'erreur(s)',
238
-	'etape' => 'Étape',
229
+    // E
230
+    'en_cours' => 'en cours',
231
+    'envoi_via_le_site' => 'Envoi via le site',
232
+    'erreur' => 'Erreur',
233
+    'erreur_balise_non_fermee' => 'dernière balise non refermée :',
234
+    'erreur_technique_ajaxform' => 'Oups. Une erreur inattendue a empêché de soumettre le formulaire. Vous pouvez essayer à nouveau.',
235
+    'erreur_technique_enregistrement_champs' => 'Une erreur technique a empêché l’enregistrement correct du champ @champs@.',
236
+    'erreur_technique_enregistrement_impossible' => 'Une erreur technique a empêché l’enregistrement.',
237
+    'erreur_texte' => 'erreur(s)',
238
+    'etape' => 'Étape',
239 239
 
240
-	// F
241
-	'fichier_introuvable' => 'Fichier @fichier@ introuvable.',
242
-	'fonction_introuvable' => 'Fonction @fonction@() introuvable.',
243
-	'form_auteur_confirmation' => 'Confirmez votre adresse email',
244
-	'form_auteur_email_modifie' => 'Votre adresse email a été modifiée.',
245
-	'form_auteur_envoi_mail_confirmation' => 'Un courrier électronique de confirmation vient d’être envoyé à @email@. Vous devrez visiter l’adresse Web mentionnée dans ce courrier pour valider votre adresse mail.',
246
-	'form_auteur_mail_confirmation' => 'Bonjour,
240
+    // F
241
+    'fichier_introuvable' => 'Fichier @fichier@ introuvable.',
242
+    'fonction_introuvable' => 'Fonction @fonction@() introuvable.',
243
+    'form_auteur_confirmation' => 'Confirmez votre adresse email',
244
+    'form_auteur_email_modifie' => 'Votre adresse email a été modifiée.',
245
+    'form_auteur_envoi_mail_confirmation' => 'Un courrier électronique de confirmation vient d’être envoyé à @email@. Vous devrez visiter l’adresse Web mentionnée dans ce courrier pour valider votre adresse mail.',
246
+    'form_auteur_mail_confirmation' => 'Bonjour,
247 247
 
248 248
 Vous avez demandé à changer votre adresse email.
249 249
 Pour confirmer votre nouvelle adresse, il suffit de vous connecter à
@@ -252,346 +252,346 @@  discard block
 block discarded – undo
252 252
 
253 253
     @url@
254 254
 ',
255
-	'form_deja_inscrit' => 'Vous êtes déjà inscrit.',
256
-	'form_email_non_valide' => 'Votre adresse email n’est pas valide.',
257
-	'form_forum_access_refuse' => 'Vous n’avez plus accès à ce site.',
258
-	'form_forum_bonjour' => 'Bonjour @nom@,',
259
-	'form_forum_confirmer_email' => 'Pour confirmer votre adresse email, rendez-vous à cette adresse : @url_confirm@',
260
-	'form_forum_email_deja_enregistre' => 'Cette adresse email est déjà enregistrée, vous pouvez donc utiliser votre mot de passe habituel.',
261
-	'form_forum_identifiant_mail' => 'Votre nouvel identifiant vient de vous être envoyé par email.',
262
-	'form_forum_identifiants' => 'Identifiants personnels',
263
-	'form_forum_indiquer_nom_email' => 'Indiquez ici votre nom et votre adresse email. Votre identifiant personnel vous parviendra rapidement, par courrier électronique.',
264
-	'form_forum_login' => 'login :',
265
-	'form_forum_message_auto' => '(ceci est un message automatique)',
266
-	'form_forum_pass' => 'mot de passe :',
267
-	'form_forum_probleme_mail' => 'Problème de mail : l’identifiant ne peut pas être envoyé.',
268
-	'form_forum_voici1' => 'Voici vos identifiants pour pouvoir participer à la vie du site "@nom_site_spip@" (@adresse_site@) :',
269
-	'form_forum_voici2' => 'Voici vos identifiants pour proposer des articles sur
255
+    'form_deja_inscrit' => 'Vous êtes déjà inscrit.',
256
+    'form_email_non_valide' => 'Votre adresse email n’est pas valide.',
257
+    'form_forum_access_refuse' => 'Vous n’avez plus accès à ce site.',
258
+    'form_forum_bonjour' => 'Bonjour @nom@,',
259
+    'form_forum_confirmer_email' => 'Pour confirmer votre adresse email, rendez-vous à cette adresse : @url_confirm@',
260
+    'form_forum_email_deja_enregistre' => 'Cette adresse email est déjà enregistrée, vous pouvez donc utiliser votre mot de passe habituel.',
261
+    'form_forum_identifiant_mail' => 'Votre nouvel identifiant vient de vous être envoyé par email.',
262
+    'form_forum_identifiants' => 'Identifiants personnels',
263
+    'form_forum_indiquer_nom_email' => 'Indiquez ici votre nom et votre adresse email. Votre identifiant personnel vous parviendra rapidement, par courrier électronique.',
264
+    'form_forum_login' => 'login :',
265
+    'form_forum_message_auto' => '(ceci est un message automatique)',
266
+    'form_forum_pass' => 'mot de passe :',
267
+    'form_forum_probleme_mail' => 'Problème de mail : l’identifiant ne peut pas être envoyé.',
268
+    'form_forum_voici1' => 'Voici vos identifiants pour pouvoir participer à la vie du site "@nom_site_spip@" (@adresse_site@) :',
269
+    'form_forum_voici2' => 'Voici vos identifiants pour proposer des articles sur
270 270
 le site "@nom_site_spip@" (@adresse_login@) :',
271
-	'form_indiquer_email' => 'Veuillez indiquer votre adresse email.',
272
-	'form_indiquer_nom' => 'Veuillez indiquer votre nom.',
273
-	'form_indiquer_nom_site' => 'Veuillez indiquer le nom de votre site.',
274
-	'form_pet_deja_enregistre' => 'Ce site est déjà enregistré',
275
-	'form_pet_signature_pasprise' => 'Votre signature n’est pas prise en compte.',
276
-	'form_prop_confirmer_envoi' => 'Confirmer l’envoi',
277
-	'form_prop_description' => 'Description/commentaire',
278
-	'form_prop_enregistre' => 'Votre proposition est enregistrée, elle apparaîtra en ligne après validation par les responsables de ce site.',
279
-	'form_prop_envoyer' => 'Envoyer un message',
280
-	'form_prop_indiquer_email' => 'Veuillez indiquer une adresse email valide',
281
-	'form_prop_indiquer_nom_site' => 'Veuillez indiquer le nom du site.',
282
-	'form_prop_indiquer_sujet' => 'Veuillez indiquer un sujet',
283
-	'form_prop_message_envoye' => 'Message envoyé',
284
-	'form_prop_non_enregistre' => 'Votre proposition n’a pas été enregistrée.',
285
-	'form_prop_sujet' => 'Sujet',
286
-	'form_prop_url_site' => 'Adresse URL du site',
287
-	'format_date_attendu' => 'Saisir une date au format jj/mm/aaaa.',
288
-	'format_date_incorrecte' => 'La date ou son format est incorrect',
289
-	'format_heure_attendu' => 'Saisir une heure au format hh:mm.',
290
-	'format_heure_incorrecte' => 'L’heure ou son format est incorrect',
291
-	'forum_non_inscrit' => 'Vous n’êtes pas inscrit, ou l’adresse ou le mot de passe sont erronés.',
292
-	'forum_par_auteur' => 'par @auteur@',
293
-	'forum_titre_erreur' => 'Erreur...',
271
+    'form_indiquer_email' => 'Veuillez indiquer votre adresse email.',
272
+    'form_indiquer_nom' => 'Veuillez indiquer votre nom.',
273
+    'form_indiquer_nom_site' => 'Veuillez indiquer le nom de votre site.',
274
+    'form_pet_deja_enregistre' => 'Ce site est déjà enregistré',
275
+    'form_pet_signature_pasprise' => 'Votre signature n’est pas prise en compte.',
276
+    'form_prop_confirmer_envoi' => 'Confirmer l’envoi',
277
+    'form_prop_description' => 'Description/commentaire',
278
+    'form_prop_enregistre' => 'Votre proposition est enregistrée, elle apparaîtra en ligne après validation par les responsables de ce site.',
279
+    'form_prop_envoyer' => 'Envoyer un message',
280
+    'form_prop_indiquer_email' => 'Veuillez indiquer une adresse email valide',
281
+    'form_prop_indiquer_nom_site' => 'Veuillez indiquer le nom du site.',
282
+    'form_prop_indiquer_sujet' => 'Veuillez indiquer un sujet',
283
+    'form_prop_message_envoye' => 'Message envoyé',
284
+    'form_prop_non_enregistre' => 'Votre proposition n’a pas été enregistrée.',
285
+    'form_prop_sujet' => 'Sujet',
286
+    'form_prop_url_site' => 'Adresse URL du site',
287
+    'format_date_attendu' => 'Saisir une date au format jj/mm/aaaa.',
288
+    'format_date_incorrecte' => 'La date ou son format est incorrect',
289
+    'format_heure_attendu' => 'Saisir une heure au format hh:mm.',
290
+    'format_heure_incorrecte' => 'L’heure ou son format est incorrect',
291
+    'forum_non_inscrit' => 'Vous n’êtes pas inscrit, ou l’adresse ou le mot de passe sont erronés.',
292
+    'forum_par_auteur' => 'par @auteur@',
293
+    'forum_titre_erreur' => 'Erreur...',
294 294
 
295
-	// I
296
-	'ical_texte_rss_articles' => 'Le fichier « backend » des articles de ce site se trouve à l’adresse :',
297
-	'ical_texte_rss_articles2' => 'Vous pouvez également obtenir des fichiers « backend » pour les articles de chaque rubrique du site :',
298
-	'ical_texte_rss_breves' => 'Il existe de plus un fichier contenant les brèves du site. En précisant un numéro de rubrique, vous obtiendrez uniquement les brèves de cette rubrique.',
299
-	'icone_a_suivre' => 'À suivre',
300
-	'icone_admin_site' => 'Administration du site',
301
-	'icone_agenda' => 'Agenda',
302
-	'icone_aide_ligne' => 'Aide',
303
-	'icone_articles' => 'Articles',
304
-	'icone_auteurs' => 'Auteurs',
305
-	'icone_brouteur' => 'Navigation rapide',
306
-	'icone_configuration_site' => 'Configuration',
307
-	'icone_configurer_site' => 'Configurer votre site',
308
-	'icone_creer_nouvel_auteur' => 'Créer un nouvel auteur',
309
-	'icone_creer_rubrique' => 'Créer une rubrique',
310
-	'icone_creer_sous_rubrique' => 'Créer une sous-rubrique',
311
-	'icone_deconnecter' => 'Se déconnecter',
312
-	'icone_discussions' => 'Discussions',
313
-	'icone_doc_rubrique' => 'Documents des rubriques',
314
-	'icone_ecrire_article' => 'Écrire un nouvel article',
315
-	'icone_edition_site' => 'Édition',
316
-	'icone_gestion_langues' => 'Gestion des langues',
317
-	'icone_informations_personnelles' => 'Informations personnelles',
318
-	'icone_interface_complet' => 'interface complète',
319
-	'icone_interface_simple' => 'Interface simplifiée',
320
-	'icone_maintenance_site' => 'Maintenance du site',
321
-	'icone_messagerie_personnelle' => 'Messagerie personnelle',
322
-	'icone_repartition_debut' => 'Afficher la répartition depuis le début',
323
-	'icone_rubriques' => 'Rubriques',
324
-	'icone_sauver_site' => 'Sauvegarde du site',
325
-	'icone_site_entier' => 'Tout le site',
326
-	'icone_sites_references' => 'Sites référencés',
327
-	'icone_statistiques' => 'Statistiques du site',
328
-	'icone_suivi_activite' => 'Suivre la vie du site',
329
-	'icone_suivi_actualite' => 'Évolution du site',
330
-	'icone_suivi_pettions' => 'Suivre/gérer les pétitions',
331
-	'icone_suivi_revisions' => 'Modifications des articles',
332
-	'icone_supprimer_document' => 'Supprimer ce document',
333
-	'icone_supprimer_image' => 'Supprimer cette image',
334
-	'icone_tous_articles' => 'Tous vos articles',
335
-	'icone_tous_auteur' => 'Tous les auteurs',
336
-	'icone_tous_visiteur' => 'Tous les visiteurs',
337
-	'icone_visiter_site' => 'Voir le site public',
338
-	'icone_voir_en_ligne' => 'Voir en ligne',
339
-	'img_indisponible' => 'image indisponible',
340
-	'impossible' => 'impossible',
341
-	'info_a_suivre' => 'À SUIVRE »',
342
-	'info_acces_interdit' => 'Accès interdit',
343
-	'info_acces_refuse' => 'Accès refusé',
344
-	'info_action' => 'Action : @action@',
345
-	'info_administrer_rubriques' => 'Vous pouvez administrer cette rubrique et ses sous-rubriques',
346
-	'info_adresse_non_indiquee' => 'Vous n’avez pas indiqué d’adresse à tester !',
347
-	'info_aide' => 'AIDE :',
348
-	'info_ajouter_mot' => 'Ajouter ce mot',
349
-	'info_annonce' => 'ANNONCE',
350
-	'info_annonces_generales' => 'Annonces générales :',
351
-	'info_article_propose' => 'Article proposé',
352
-	'info_article_publie' => 'Article publié',
353
-	'info_article_redaction' => 'Article en cours de rédaction',
354
-	'info_article_refuse' => 'Article refusé',
355
-	'info_article_supprime' => 'Article supprimé',
356
-	'info_articles' => 'Articles',
357
-	'info_articles_a_valider' => 'Les articles à valider',
358
-	'info_articles_nb' => '@nb@ articles',
359
-	'info_articles_proposes' => 'Articles proposés',
360
-	'info_articles_un' => '1 article',
361
-	'info_auteurs_nombre' => 'auteur(s) :',
362
-	'info_authentification_ftp' => 'Authentification (par FTP).',
363
-	'info_breves_2' => 'brèves',
364
-	'info_breves_nb' => '@nb@ brèves',
365
-	'info_breves_un' => '1 brève',
366
-	'info_connexion_refusee' => 'Connexion refusée',
367
-	'info_contact_developpeur' => 'Veuillez contacter un développeur.',
368
-	'info_contenance' => 'Ce site contient :',
369
-	'info_contribution' => 'contributions',
370
-	'info_copyright' => '@spip@ est un logiciel libre distribué @lien_gpl@.',
371
-	'info_copyright_doc' => 'Pour plus d’informations, voir le site <a href="@spipnet@">@spipnet_affiche@</a>.',
372
-	'info_copyright_gpl' => 'sous licence GPL',
373
-	'info_cours_edition' => 'En cours de modification',
374
-	'info_creer_repertoire' => 'Veuillez créer un fichier ou un répertoire nommé :',
375
-	'info_creer_repertoire_2' => 'à l’intérieur du sous-répertoire <b>@repertoire@</b>, puis :',
376
-	'info_creer_vignette' => 'création automatique de la vignette',
377
-	'info_creerdansrubrique_non_autorise' => 'Vous n’avez pas de droits suffisants pour créer un contenu dans cette rubrique',
378
-	'info_deplier' => 'Déplier',
379
-	'info_descriptif_nombre' => 'descriptif(s) :',
380
-	'info_description' => 'Description :',
381
-	'info_description_2' => 'Description :',
382
-	'info_dimension' => 'Dimensions :',
383
-	'info_documents_nb' => '@nb@ documents',
384
-	'info_documents_un' => '1 document',
385
-	'info_ecire_message_prive' => 'Écrire un message privé',
386
-	'info_email_invalide' => 'Adresse email invalide.',
387
-	'info_en_cours_validation' => 'Vos articles en cours de rédaction',
388
-	'info_en_ligne' => 'Actuellement en ligne :',
389
-	'info_envoyer_message_prive' => 'Envoyer un message privé à cet auteur',
390
-	'info_erreur_requete' => 'Erreur dans la requête :',
391
-	'info_erreur_squelette2' => 'Aucun squelette <b>@fichier@</b> n’est disponible...',
392
-	'info_erreur_systeme' => 'Erreur système (errno @errsys@)',
393
-	'info_erreur_systeme2' => 'Le disque dur est peut-être plein, ou la base de données endommagée.<br />
295
+    // I
296
+    'ical_texte_rss_articles' => 'Le fichier « backend » des articles de ce site se trouve à l’adresse :',
297
+    'ical_texte_rss_articles2' => 'Vous pouvez également obtenir des fichiers « backend » pour les articles de chaque rubrique du site :',
298
+    'ical_texte_rss_breves' => 'Il existe de plus un fichier contenant les brèves du site. En précisant un numéro de rubrique, vous obtiendrez uniquement les brèves de cette rubrique.',
299
+    'icone_a_suivre' => 'À suivre',
300
+    'icone_admin_site' => 'Administration du site',
301
+    'icone_agenda' => 'Agenda',
302
+    'icone_aide_ligne' => 'Aide',
303
+    'icone_articles' => 'Articles',
304
+    'icone_auteurs' => 'Auteurs',
305
+    'icone_brouteur' => 'Navigation rapide',
306
+    'icone_configuration_site' => 'Configuration',
307
+    'icone_configurer_site' => 'Configurer votre site',
308
+    'icone_creer_nouvel_auteur' => 'Créer un nouvel auteur',
309
+    'icone_creer_rubrique' => 'Créer une rubrique',
310
+    'icone_creer_sous_rubrique' => 'Créer une sous-rubrique',
311
+    'icone_deconnecter' => 'Se déconnecter',
312
+    'icone_discussions' => 'Discussions',
313
+    'icone_doc_rubrique' => 'Documents des rubriques',
314
+    'icone_ecrire_article' => 'Écrire un nouvel article',
315
+    'icone_edition_site' => 'Édition',
316
+    'icone_gestion_langues' => 'Gestion des langues',
317
+    'icone_informations_personnelles' => 'Informations personnelles',
318
+    'icone_interface_complet' => 'interface complète',
319
+    'icone_interface_simple' => 'Interface simplifiée',
320
+    'icone_maintenance_site' => 'Maintenance du site',
321
+    'icone_messagerie_personnelle' => 'Messagerie personnelle',
322
+    'icone_repartition_debut' => 'Afficher la répartition depuis le début',
323
+    'icone_rubriques' => 'Rubriques',
324
+    'icone_sauver_site' => 'Sauvegarde du site',
325
+    'icone_site_entier' => 'Tout le site',
326
+    'icone_sites_references' => 'Sites référencés',
327
+    'icone_statistiques' => 'Statistiques du site',
328
+    'icone_suivi_activite' => 'Suivre la vie du site',
329
+    'icone_suivi_actualite' => 'Évolution du site',
330
+    'icone_suivi_pettions' => 'Suivre/gérer les pétitions',
331
+    'icone_suivi_revisions' => 'Modifications des articles',
332
+    'icone_supprimer_document' => 'Supprimer ce document',
333
+    'icone_supprimer_image' => 'Supprimer cette image',
334
+    'icone_tous_articles' => 'Tous vos articles',
335
+    'icone_tous_auteur' => 'Tous les auteurs',
336
+    'icone_tous_visiteur' => 'Tous les visiteurs',
337
+    'icone_visiter_site' => 'Voir le site public',
338
+    'icone_voir_en_ligne' => 'Voir en ligne',
339
+    'img_indisponible' => 'image indisponible',
340
+    'impossible' => 'impossible',
341
+    'info_a_suivre' => 'À SUIVRE »',
342
+    'info_acces_interdit' => 'Accès interdit',
343
+    'info_acces_refuse' => 'Accès refusé',
344
+    'info_action' => 'Action : @action@',
345
+    'info_administrer_rubriques' => 'Vous pouvez administrer cette rubrique et ses sous-rubriques',
346
+    'info_adresse_non_indiquee' => 'Vous n’avez pas indiqué d’adresse à tester !',
347
+    'info_aide' => 'AIDE :',
348
+    'info_ajouter_mot' => 'Ajouter ce mot',
349
+    'info_annonce' => 'ANNONCE',
350
+    'info_annonces_generales' => 'Annonces générales :',
351
+    'info_article_propose' => 'Article proposé',
352
+    'info_article_publie' => 'Article publié',
353
+    'info_article_redaction' => 'Article en cours de rédaction',
354
+    'info_article_refuse' => 'Article refusé',
355
+    'info_article_supprime' => 'Article supprimé',
356
+    'info_articles' => 'Articles',
357
+    'info_articles_a_valider' => 'Les articles à valider',
358
+    'info_articles_nb' => '@nb@ articles',
359
+    'info_articles_proposes' => 'Articles proposés',
360
+    'info_articles_un' => '1 article',
361
+    'info_auteurs_nombre' => 'auteur(s) :',
362
+    'info_authentification_ftp' => 'Authentification (par FTP).',
363
+    'info_breves_2' => 'brèves',
364
+    'info_breves_nb' => '@nb@ brèves',
365
+    'info_breves_un' => '1 brève',
366
+    'info_connexion_refusee' => 'Connexion refusée',
367
+    'info_contact_developpeur' => 'Veuillez contacter un développeur.',
368
+    'info_contenance' => 'Ce site contient :',
369
+    'info_contribution' => 'contributions',
370
+    'info_copyright' => '@spip@ est un logiciel libre distribué @lien_gpl@.',
371
+    'info_copyright_doc' => 'Pour plus d’informations, voir le site <a href="@spipnet@">@spipnet_affiche@</a>.',
372
+    'info_copyright_gpl' => 'sous licence GPL',
373
+    'info_cours_edition' => 'En cours de modification',
374
+    'info_creer_repertoire' => 'Veuillez créer un fichier ou un répertoire nommé :',
375
+    'info_creer_repertoire_2' => 'à l’intérieur du sous-répertoire <b>@repertoire@</b>, puis :',
376
+    'info_creer_vignette' => 'création automatique de la vignette',
377
+    'info_creerdansrubrique_non_autorise' => 'Vous n’avez pas de droits suffisants pour créer un contenu dans cette rubrique',
378
+    'info_deplier' => 'Déplier',
379
+    'info_descriptif_nombre' => 'descriptif(s) :',
380
+    'info_description' => 'Description :',
381
+    'info_description_2' => 'Description :',
382
+    'info_dimension' => 'Dimensions :',
383
+    'info_documents_nb' => '@nb@ documents',
384
+    'info_documents_un' => '1 document',
385
+    'info_ecire_message_prive' => 'Écrire un message privé',
386
+    'info_email_invalide' => 'Adresse email invalide.',
387
+    'info_en_cours_validation' => 'Vos articles en cours de rédaction',
388
+    'info_en_ligne' => 'Actuellement en ligne :',
389
+    'info_envoyer_message_prive' => 'Envoyer un message privé à cet auteur',
390
+    'info_erreur_requete' => 'Erreur dans la requête :',
391
+    'info_erreur_squelette2' => 'Aucun squelette <b>@fichier@</b> n’est disponible...',
392
+    'info_erreur_systeme' => 'Erreur système (errno @errsys@)',
393
+    'info_erreur_systeme2' => 'Le disque dur est peut-être plein, ou la base de données endommagée.<br />
394 394
 <span style="color:red;">Essayez de <a href=\'@script@\'>réparer la base</a>, ou contactez votre hébergeur.</span>',
395
-	'info_fini' => 'C’est fini !',
396
-	'info_format_image' => 'Formats d’images pouvant être utilisées pour créer des vignettes : @gd_formats@.',
397
-	'info_format_non_defini' => 'format non défini',
398
-	'info_grand_ecran' => 'Grand écran',
399
-	'info_image_aide' => 'AIDE',
400
-	'info_image_process_titre' => 'Méthode de fabrication des vignettes',
401
-	'info_impossible_lire_page' => '<b>Erreur !</b> Impossible de lire la page <tt><html>@test_proxy@</html></tt> à travers le proxy ',
402
-	'info_installation_systeme_publication' => 'Installation du système de publication...',
403
-	'info_installer_documents' => 'Vous pouvez installer automatiquement tous les documents contenus dans le dossier @upload@.',
404
-	'info_installer_ftp' => 'En tant qu’administrateur, vous pouvez installer (par FTP) des fichiers dans le dossier @upload@ pour ensuite les sélectionner directement ici.',
405
-	'info_installer_images' => 'Vous pouvez installer des images aux formats JPEG, GIF et PNG.',
406
-	'info_installer_images_dossier' => 'Installer des images dans le dossier @upload@ pour pouvoir les sélectionner ici.',
407
-	'info_interface_complete' => 'interface complète',
408
-	'info_interface_simple' => 'Interface simplifiée',
409
-	'info_joindre_document_article' => 'Vous pouvez joindre à cet article des documents de type',
410
-	'info_joindre_document_rubrique' => 'Vous pouvez ajouter dans cette rubrique des documents de type',
411
-	'info_joindre_documents_article' => 'Vous pouvez joindre à votre article des documents de type :',
412
-	'info_l_article' => 'l’article',
413
-	'info_la_breve' => 'la brève',
414
-	'info_la_rubrique' => 'la rubrique',
415
-	'info_langue_principale' => 'Langue principale du site',
416
-	'info_largeur_vignette' => '@largeur_vignette@ × @hauteur_vignette@ pixels',
417
-	'info_les_auteurs_1' => 'par @les_auteurs@',
418
-	'info_logo_format_interdit' => 'Seuls les logos aux formats @formats@ sont autorisés.',
419
-	'info_logo_max_poids' => 'Les logos doivent obligatoirement faire moins de @maxi@ (ce fichier fait @actuel@).',
420
-	'info_mail_fournisseur' => '[email protected]',
421
-	'info_message_2' => 'MESSAGE',
422
-	'info_message_supprime' => 'MESSAGE SUPPRIMÉ',
423
-	'info_messages_nb' => '@nb@ messages',
424
-	'info_messages_un' => '1 message',
425
-	'info_mise_en_ligne' => 'Date de mise en ligne :',
426
-	'info_modification_parametres_securite' => 'modifications des paramètres de sécurité',
427
-	'info_mois_courant' => 'Dans le courant du mois :',
428
-	'info_mot_cle_ajoute' => 'Le mot-clé suivant a été ajouté à',
429
-	'info_multi_herit' => 'Langue par défaut',
430
-	'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 vous sélectionnez 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.',
431
-	'info_multilinguisme' => 'Multilinguisme',
432
-	'info_nom_non_utilisateurs_connectes' => 'Votre nom n’apparaît pas dans la liste des utilisateurs connectés.',
433
-	'info_nom_utilisateurs_connectes' => 'Votre nom apparaît dans la liste des utilisateurs connectés.',
434
-	'info_nombre_en_ligne' => 'Actuellement en ligne :',
435
-	'info_non_resultat' => 'Aucun résultat pour "@cherche_mot@"',
436
-	'info_non_utilisation_messagerie' => 'Vous n’utilisez pas la messagerie interne de ce site.',
437
-	'info_nouveau_message' => 'VOUS AVEZ UN NOUVEAU MESSAGE',
438
-	'info_nouveaux_messages' => 'VOUS AVEZ @total_messages@ NOUVEAUX MESSAGES',
439
-	'info_numero_abbreviation' => 'N° ',
440
-	'info_obligatoire' => 'Cette information est obligatoire',
441
-	'info_page_actuelle' => 'Page actuelle',
442
-	'info_pense_bete' => 'PENSE-BÊTE',
443
-	'info_petit_ecran' => 'Petit écran',
444
-	'info_petition_close' => 'Pétition close',
445
-	'info_pixels' => 'pixels',
446
-	'info_plusieurs_mots_trouves' => 'Plusieurs mots-clés trouvés pour "@cherche_mot@" :',
447
-	'info_portfolio_automatique' => 'Portfolio automatique :',
448
-	'info_premier_resultat' => '[@debut_limit@ premiers résultats sur @total@]',
449
-	'info_premier_resultat_sur' => '[@debut_limit@ premiers résultats sur @total@]',
450
-	'info_propose_1' => '[@nom_site_spip@] Propose : @titre@',
451
-	'info_propose_2' => 'Article proposé
395
+    'info_fini' => 'C’est fini !',
396
+    'info_format_image' => 'Formats d’images pouvant être utilisées pour créer des vignettes : @gd_formats@.',
397
+    'info_format_non_defini' => 'format non défini',
398
+    'info_grand_ecran' => 'Grand écran',
399
+    'info_image_aide' => 'AIDE',
400
+    'info_image_process_titre' => 'Méthode de fabrication des vignettes',
401
+    'info_impossible_lire_page' => '<b>Erreur !</b> Impossible de lire la page <tt><html>@test_proxy@</html></tt> à travers le proxy ',
402
+    'info_installation_systeme_publication' => 'Installation du système de publication...',
403
+    'info_installer_documents' => 'Vous pouvez installer automatiquement tous les documents contenus dans le dossier @upload@.',
404
+    'info_installer_ftp' => 'En tant qu’administrateur, vous pouvez installer (par FTP) des fichiers dans le dossier @upload@ pour ensuite les sélectionner directement ici.',
405
+    'info_installer_images' => 'Vous pouvez installer des images aux formats JPEG, GIF et PNG.',
406
+    'info_installer_images_dossier' => 'Installer des images dans le dossier @upload@ pour pouvoir les sélectionner ici.',
407
+    'info_interface_complete' => 'interface complète',
408
+    'info_interface_simple' => 'Interface simplifiée',
409
+    'info_joindre_document_article' => 'Vous pouvez joindre à cet article des documents de type',
410
+    'info_joindre_document_rubrique' => 'Vous pouvez ajouter dans cette rubrique des documents de type',
411
+    'info_joindre_documents_article' => 'Vous pouvez joindre à votre article des documents de type :',
412
+    'info_l_article' => 'l’article',
413
+    'info_la_breve' => 'la brève',
414
+    'info_la_rubrique' => 'la rubrique',
415
+    'info_langue_principale' => 'Langue principale du site',
416
+    'info_largeur_vignette' => '@largeur_vignette@ × @hauteur_vignette@ pixels',
417
+    'info_les_auteurs_1' => 'par @les_auteurs@',
418
+    'info_logo_format_interdit' => 'Seuls les logos aux formats @formats@ sont autorisés.',
419
+    'info_logo_max_poids' => 'Les logos doivent obligatoirement faire moins de @maxi@ (ce fichier fait @actuel@).',
420
+    'info_mail_fournisseur' => '[email protected]',
421
+    'info_message_2' => 'MESSAGE',
422
+    'info_message_supprime' => 'MESSAGE SUPPRIMÉ',
423
+    'info_messages_nb' => '@nb@ messages',
424
+    'info_messages_un' => '1 message',
425
+    'info_mise_en_ligne' => 'Date de mise en ligne :',
426
+    'info_modification_parametres_securite' => 'modifications des paramètres de sécurité',
427
+    'info_mois_courant' => 'Dans le courant du mois :',
428
+    'info_mot_cle_ajoute' => 'Le mot-clé suivant a été ajouté à',
429
+    'info_multi_herit' => 'Langue par défaut',
430
+    '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 vous sélectionnez 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.',
431
+    'info_multilinguisme' => 'Multilinguisme',
432
+    'info_nom_non_utilisateurs_connectes' => 'Votre nom n’apparaît pas dans la liste des utilisateurs connectés.',
433
+    'info_nom_utilisateurs_connectes' => 'Votre nom apparaît dans la liste des utilisateurs connectés.',
434
+    'info_nombre_en_ligne' => 'Actuellement en ligne :',
435
+    'info_non_resultat' => 'Aucun résultat pour "@cherche_mot@"',
436
+    'info_non_utilisation_messagerie' => 'Vous n’utilisez pas la messagerie interne de ce site.',
437
+    'info_nouveau_message' => 'VOUS AVEZ UN NOUVEAU MESSAGE',
438
+    'info_nouveaux_messages' => 'VOUS AVEZ @total_messages@ NOUVEAUX MESSAGES',
439
+    'info_numero_abbreviation' => 'N° ',
440
+    'info_obligatoire' => 'Cette information est obligatoire',
441
+    'info_page_actuelle' => 'Page actuelle',
442
+    'info_pense_bete' => 'PENSE-BÊTE',
443
+    'info_petit_ecran' => 'Petit écran',
444
+    'info_petition_close' => 'Pétition close',
445
+    'info_pixels' => 'pixels',
446
+    'info_plusieurs_mots_trouves' => 'Plusieurs mots-clés trouvés pour "@cherche_mot@" :',
447
+    'info_portfolio_automatique' => 'Portfolio automatique :',
448
+    'info_premier_resultat' => '[@debut_limit@ premiers résultats sur @total@]',
449
+    'info_premier_resultat_sur' => '[@debut_limit@ premiers résultats sur @total@]',
450
+    'info_propose_1' => '[@nom_site_spip@] Propose : @titre@',
451
+    'info_propose_2' => 'Article proposé
452 452
 ---------------',
453
-	'info_propose_3' => 'L’article "@titre@" est proposé à la publication.',
454
-	'info_propose_4' => 'Vous êtes invité à venir le consulter et à donner votre opinion',
455
-	'info_propose_5' => 'dans le forum qui lui est attaché. Il est disponible à l’adresse :',
456
-	'info_publie_01' => 'L’article "@titre@" a été validé par @connect_nom@.',
457
-	'info_publie_1' => '[@nom_site_spip@] PUBLIE : @titre@',
458
-	'info_publie_2' => 'Article publié
453
+    'info_propose_3' => 'L’article "@titre@" est proposé à la publication.',
454
+    'info_propose_4' => 'Vous êtes invité à venir le consulter et à donner votre opinion',
455
+    'info_propose_5' => 'dans le forum qui lui est attaché. Il est disponible à l’adresse :',
456
+    'info_publie_01' => 'L’article "@titre@" a été validé par @connect_nom@.',
457
+    'info_publie_1' => '[@nom_site_spip@] PUBLIE : @titre@',
458
+    'info_publie_2' => 'Article publié
459 459
 --------------',
460
-	'info_rechercher' => 'Rechercher',
461
-	'info_rechercher_02' => 'Rechercher :',
462
-	'info_remplacer_vignette' => 'Remplacer la vignette par défaut par un logo personnalisé :',
463
-	'info_rubriques_nb' => '@nb@ rubriques',
464
-	'info_rubriques_un' => '1 rubrique',
465
-	'info_sans_titre_2' => 'sans titre',
466
-	'info_selectionner_fichier' => 'Vous pouvez sélectionner un fichier du dossier @upload@',
467
-	'info_selectionner_fichier_2' => 'Sélectionner un fichier :',
468
-	'info_sites_nb' => '@nb@ sites',
469
-	'info_sites_un' => '1 site',
470
-	'info_supprimer_vignette' => 'supprimer la vignette',
471
-	'info_symbole_bleu' => 'Le symbole <b>bleu</b> indique un <b>pense-bête</b> : c’est-à-dire un message à votre usage personnel.',
472
-	'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.',
473
-	'info_symbole_vert' => 'Le symbole <b>vert</b> indique les <b>messages échangés avec d’autres utilisateurs</b> du site.',
474
-	'info_telecharger_nouveau_logo' => 'Télécharger un nouveau logo :',
475
-	'info_telecharger_ordinateur' => 'Télécharger depuis votre ordinateur :',
476
-	'info_tous_resultats_enregistres' => '[tous les résultats sont enregistrés]',
477
-	'info_tout_afficher' => 'Tout afficher',
478
-	'info_travaux_texte' => 'Ce site n’est pas encore configuré. Revenez plus tard...',
479
-	'info_travaux_titre' => 'Site en travaux',
480
-	'info_trop_resultat' => 'Trop de résultats pour "@cherche_mot@" ; veuillez affiner la recherche.',
481
-	'info_utilisation_messagerie_interne' => 'Vous utilisez la messagerie interne de ce site.',
482
-	'info_valider_lien' => 'valider ce lien',
483
-	'info_verifier_image' => ', veuillez vérifier que vos images ont été transférées correctement.',
484
-	'info_vignette_defaut' => 'Vignette par défaut',
485
-	'info_vignette_personnalisee' => 'Vignette personnalisée',
486
-	'info_visite' => 'visite :',
487
-	'info_vos_rendez_vous' => 'Vos rendez-vous à venir',
488
-	'infos_vos_pense_bete' => 'Vos pense-bêtes',
460
+    'info_rechercher' => 'Rechercher',
461
+    'info_rechercher_02' => 'Rechercher :',
462
+    'info_remplacer_vignette' => 'Remplacer la vignette par défaut par un logo personnalisé :',
463
+    'info_rubriques_nb' => '@nb@ rubriques',
464
+    'info_rubriques_un' => '1 rubrique',
465
+    'info_sans_titre_2' => 'sans titre',
466
+    'info_selectionner_fichier' => 'Vous pouvez sélectionner un fichier du dossier @upload@',
467
+    'info_selectionner_fichier_2' => 'Sélectionner un fichier :',
468
+    'info_sites_nb' => '@nb@ sites',
469
+    'info_sites_un' => '1 site',
470
+    'info_supprimer_vignette' => 'supprimer la vignette',
471
+    'info_symbole_bleu' => 'Le symbole <b>bleu</b> indique un <b>pense-bête</b> : c’est-à-dire un message à votre usage personnel.',
472
+    '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.',
473
+    'info_symbole_vert' => 'Le symbole <b>vert</b> indique les <b>messages échangés avec d’autres utilisateurs</b> du site.',
474
+    'info_telecharger_nouveau_logo' => 'Télécharger un nouveau logo :',
475
+    'info_telecharger_ordinateur' => 'Télécharger depuis votre ordinateur :',
476
+    'info_tous_resultats_enregistres' => '[tous les résultats sont enregistrés]',
477
+    'info_tout_afficher' => 'Tout afficher',
478
+    'info_travaux_texte' => 'Ce site n’est pas encore configuré. Revenez plus tard...',
479
+    'info_travaux_titre' => 'Site en travaux',
480
+    'info_trop_resultat' => 'Trop de résultats pour "@cherche_mot@" ; veuillez affiner la recherche.',
481
+    'info_utilisation_messagerie_interne' => 'Vous utilisez la messagerie interne de ce site.',
482
+    'info_valider_lien' => 'valider ce lien',
483
+    'info_verifier_image' => ', veuillez vérifier que vos images ont été transférées correctement.',
484
+    'info_vignette_defaut' => 'Vignette par défaut',
485
+    'info_vignette_personnalisee' => 'Vignette personnalisée',
486
+    'info_visite' => 'visite :',
487
+    'info_vos_rendez_vous' => 'Vos rendez-vous à venir',
488
+    'infos_vos_pense_bete' => 'Vos pense-bêtes',
489 489
 
490
-	// L
491
-	'label_ajout_id_rapide' => 'Ajout rapide',
492
-	'label_poids_fichier' => 'Taille',
493
-	'label_ponctuer' => '@label@ :',
494
-	'lien_afficher_icones_seuls' => 'Afficher uniquement les icones',
495
-	'lien_afficher_texte_icones' => 'Afficher les icones et le texte',
496
-	'lien_afficher_texte_seul' => 'Afficher uniquement le texte',
497
-	'lien_aller_a_la_derniere_page' => 'Aller à la dernière page',
498
-	'lien_aller_a_la_page_nb' => 'Aller à la page @nb@',
499
-	'lien_aller_a_la_page_precedente' => 'Aller à la page précédente',
500
-	'lien_aller_a_la_page_suivante' => 'Aller à la page suivante',
501
-	'lien_aller_a_la_premiere_page' => 'Aller à la première page',
502
-	'lien_liberer' => 'libérer',
503
-	'lien_liberer_tous' => 'Tout libérer',
504
-	'lien_nouvea_pense_bete' => 'NOUVEAU PENSE-BÊTE',
505
-	'lien_nouveau_message' => 'NOUVEAU MESSAGE',
506
-	'lien_nouvelle_annonce' => 'NOUVELLE ANNONCE',
507
-	'lien_petitions' => 'PÉTITION',
508
-	'lien_popularite' => 'popularité : @popularite@%',
509
-	'lien_racine_site' => 'RACINE DU SITE',
510
-	'lien_reessayer' => 'réessayer',
511
-	'lien_repondre_message' => 'Répondre à ce message',
512
-	'lien_supprimer' => 'supprimer',
513
-	'lien_tout_afficher' => 'Tout afficher',
514
-	'lien_visite_site' => 'visiter ce site',
515
-	'lien_visites' => '@visites@ visites',
516
-	'lien_voir_auteur' => 'Voir cet auteur',
517
-	'ligne' => 'Ligne',
518
-	'login' => 'Connexion',
519
-	'login_acces_prive' => 'accès à l’espace privé',
520
-	'login_autre_identifiant' => 'se connecter sous un autre identifiant',
521
-	'login_cookie_accepte' => 'Veuillez régler votre navigateur pour qu’il les accepte (au moins pour ce site).',
522
-	'login_cookie_oblige' => 'Pour vous identifier de façon sûre sur ce site, vous devez accepter les cookies.',
523
-	'login_deconnexion_ok' => 'Déconnexion effectuée.',
524
-	'login_erreur_pass' => 'Erreur de mot de passe.',
525
-	'login_espace_prive' => 'espace privé',
526
-	'login_identifiant_inconnu' => 'L’identifiant « @login@ » est inconnu.',
527
-	'login_login' => 'Login :',
528
-	'login_login2' => 'Login ou adresse email :',
529
-	'login_login_pass_incorrect' => '(Login ou mot de passe incorrect.)',
530
-	'login_motpasseoublie' => 'mot de passe oublié ?',
531
-	'login_non_securise' => 'Attention, ce formulaire n’est pas sécurisé.
490
+    // L
491
+    'label_ajout_id_rapide' => 'Ajout rapide',
492
+    'label_poids_fichier' => 'Taille',
493
+    'label_ponctuer' => '@label@ :',
494
+    'lien_afficher_icones_seuls' => 'Afficher uniquement les icones',
495
+    'lien_afficher_texte_icones' => 'Afficher les icones et le texte',
496
+    'lien_afficher_texte_seul' => 'Afficher uniquement le texte',
497
+    'lien_aller_a_la_derniere_page' => 'Aller à la dernière page',
498
+    'lien_aller_a_la_page_nb' => 'Aller à la page @nb@',
499
+    'lien_aller_a_la_page_precedente' => 'Aller à la page précédente',
500
+    'lien_aller_a_la_page_suivante' => 'Aller à la page suivante',
501
+    'lien_aller_a_la_premiere_page' => 'Aller à la première page',
502
+    'lien_liberer' => 'libérer',
503
+    'lien_liberer_tous' => 'Tout libérer',
504
+    'lien_nouvea_pense_bete' => 'NOUVEAU PENSE-BÊTE',
505
+    'lien_nouveau_message' => 'NOUVEAU MESSAGE',
506
+    'lien_nouvelle_annonce' => 'NOUVELLE ANNONCE',
507
+    'lien_petitions' => 'PÉTITION',
508
+    'lien_popularite' => 'popularité : @popularite@%',
509
+    'lien_racine_site' => 'RACINE DU SITE',
510
+    'lien_reessayer' => 'réessayer',
511
+    'lien_repondre_message' => 'Répondre à ce message',
512
+    'lien_supprimer' => 'supprimer',
513
+    'lien_tout_afficher' => 'Tout afficher',
514
+    'lien_visite_site' => 'visiter ce site',
515
+    'lien_visites' => '@visites@ visites',
516
+    'lien_voir_auteur' => 'Voir cet auteur',
517
+    'ligne' => 'Ligne',
518
+    'login' => 'Connexion',
519
+    'login_acces_prive' => 'accès à l’espace privé',
520
+    'login_autre_identifiant' => 'se connecter sous un autre identifiant',
521
+    'login_cookie_accepte' => 'Veuillez régler votre navigateur pour qu’il les accepte (au moins pour ce site).',
522
+    'login_cookie_oblige' => 'Pour vous identifier de façon sûre sur ce site, vous devez accepter les cookies.',
523
+    'login_deconnexion_ok' => 'Déconnexion effectuée.',
524
+    'login_erreur_pass' => 'Erreur de mot de passe.',
525
+    'login_espace_prive' => 'espace privé',
526
+    'login_identifiant_inconnu' => 'L’identifiant « @login@ » est inconnu.',
527
+    'login_login' => 'Login :',
528
+    'login_login2' => 'Login ou adresse email :',
529
+    'login_login_pass_incorrect' => '(Login ou mot de passe incorrect.)',
530
+    'login_motpasseoublie' => 'mot de passe oublié ?',
531
+    'login_non_securise' => 'Attention, ce formulaire n’est pas sécurisé.
532 532
 			Si vous ne voulez pas que votre mot de passe puisse être
533 533
 			intercepté sur le réseau, veuillez activer Javascript
534 534
 			dans votre navigateur et',
535
-	'login_nouvelle_tentative' => 'Nouvelle tentative',
536
-	'login_par_ici' => 'Vous êtes enregistré... par ici...',
537
-	'login_pass2' => 'Mot de passe :',
538
-	'login_preferez_refuser' => '<b>Si vous préférez refuser les cookies</b>, une autre méthode de connexion (moins sécurisée) est à votre disposition :',
539
-	'login_recharger' => 'recharger cette page',
540
-	'login_rester_identifie' => 'Se souvenir de moi',
541
-	'login_retour_public' => 'Retour au site public',
542
-	'login_retour_site' => 'Retour au site public',
543
-	'login_retoursitepublic' => 'retour au site public',
544
-	'login_sans_cookie' => 'Identification sans cookie',
545
-	'login_securise' => 'Login sécurisé',
546
-	'login_sinscrire' => 'S’inscrire',
547
-	'login_test_navigateur' => 'test navigateur/reconnexion',
548
-	'login_verifiez_navigateur' => '(Vérifiez toutefois que votre navigateur n’a pas mémorisé votre mot de passe...)',
535
+    'login_nouvelle_tentative' => 'Nouvelle tentative',
536
+    'login_par_ici' => 'Vous êtes enregistré... par ici...',
537
+    'login_pass2' => 'Mot de passe :',
538
+    'login_preferez_refuser' => '<b>Si vous préférez refuser les cookies</b>, une autre méthode de connexion (moins sécurisée) est à votre disposition :',
539
+    'login_recharger' => 'recharger cette page',
540
+    'login_rester_identifie' => 'Se souvenir de moi',
541
+    'login_retour_public' => 'Retour au site public',
542
+    'login_retour_site' => 'Retour au site public',
543
+    'login_retoursitepublic' => 'retour au site public',
544
+    'login_sans_cookie' => 'Identification sans cookie',
545
+    'login_securise' => 'Login sécurisé',
546
+    'login_sinscrire' => 'S’inscrire',
547
+    'login_test_navigateur' => 'test navigateur/reconnexion',
548
+    'login_verifiez_navigateur' => '(Vérifiez toutefois que votre navigateur n’a pas mémorisé votre mot de passe...)',
549 549
 
550
-	// M
551
-	'masquer_colonne' => 'Masquer cette colonne',
552
-	'masquer_trad' => 'masquer les traductions',
553
-	'message_nouveaux_identifiants_echec' => 'Impossible de générer de nouveaux identifiants.',
554
-	'message_nouveaux_identifiants_echec_envoi' => 'Les nouveaux identifiants de connexion n’ont pas pu être envoyés.',
555
-	'message_nouveaux_identifiants_ok' => 'Les nouveaux identifiants de connexion ont été envoyés à @email@.',
556
-	'module_fichiers_langues' => 'Fichiers de langue',
550
+    // M
551
+    'masquer_colonne' => 'Masquer cette colonne',
552
+    'masquer_trad' => 'masquer les traductions',
553
+    'message_nouveaux_identifiants_echec' => 'Impossible de générer de nouveaux identifiants.',
554
+    'message_nouveaux_identifiants_echec_envoi' => 'Les nouveaux identifiants de connexion n’ont pas pu être envoyés.',
555
+    'message_nouveaux_identifiants_ok' => 'Les nouveaux identifiants de connexion ont été envoyés à @email@.',
556
+    'module_fichiers_langues' => 'Fichiers de langue',
557 557
 
558
-	// N
559
-	'navigateur_pas_redirige' => 'Si votre navigateur n’est pas redirigé, cliquez ici pour continuer.',
560
-	'numero' => 'Numéro',
558
+    // N
559
+    'navigateur_pas_redirige' => 'Si votre navigateur n’est pas redirigé, cliquez ici pour continuer.',
560
+    'numero' => 'Numéro',
561 561
 
562
-	// O
563
-	'occurence' => 'Occurrence',
564
-	'onglet_affacer_base' => 'Effacer la base',
565
-	'onglet_auteur' => 'L’auteur',
566
-	'onglet_contenu_site' => 'Contenu du site',
567
-	'onglet_evolution_visite_mod' => 'Évolution',
568
-	'onglet_fonctions_avances' => 'Fonctions avancées',
569
-	'onglet_informations_personnelles' => 'Informations personnelles',
570
-	'onglet_interactivite' => 'Interactivité',
571
-	'onglet_messagerie' => 'Messagerie',
572
-	'onglet_repartition_rubrique' => 'Répartition par rubriques',
573
-	'onglet_save_restaur_base' => 'Sauvegarder/restaurer la base',
574
-	'onglet_vider_cache' => 'Vider le cache',
562
+    // O
563
+    'occurence' => 'Occurrence',
564
+    'onglet_affacer_base' => 'Effacer la base',
565
+    'onglet_auteur' => 'L’auteur',
566
+    'onglet_contenu_site' => 'Contenu du site',
567
+    'onglet_evolution_visite_mod' => 'Évolution',
568
+    'onglet_fonctions_avances' => 'Fonctions avancées',
569
+    'onglet_informations_personnelles' => 'Informations personnelles',
570
+    'onglet_interactivite' => 'Interactivité',
571
+    'onglet_messagerie' => 'Messagerie',
572
+    'onglet_repartition_rubrique' => 'Répartition par rubriques',
573
+    'onglet_save_restaur_base' => 'Sauvegarder/restaurer la base',
574
+    'onglet_vider_cache' => 'Vider le cache',
575 575
 
576
-	// P
577
-	'pass_choix_pass' => 'Veuillez choisir votre nouveau mot de passe :',
578
-	'pass_erreur' => 'Erreur',
579
-	'pass_erreur_acces_refuse' => '<b>Erreur :</b> vous n’avez plus accès à ce site.',
580
-	'pass_erreur_code_inconnu' => '<b>Erreur :</b> ce code ne correspond à aucun des visiteurs ayant accès à ce site.',
581
-	'pass_erreur_non_enregistre' => '<b>Erreur :</b> l’adresse <tt>@email_oubli@</tt> n’est pas enregistrée sur ce site.',
582
-	'pass_erreur_non_valide' => '<b>Erreur :</b> cet email <tt>@email_oubli@</tt> n’est pas valide !',
583
-	'pass_erreur_probleme_technique' => '<b>Erreur :</b> à cause d’un problème technique, l’email ne peut pas être envoyé.',
584
-	'pass_espace_prive_bla' => 'L’espace privé de ce site est ouvert aux
576
+    // P
577
+    'pass_choix_pass' => 'Veuillez choisir votre nouveau mot de passe :',
578
+    'pass_erreur' => 'Erreur',
579
+    'pass_erreur_acces_refuse' => '<b>Erreur :</b> vous n’avez plus accès à ce site.',
580
+    'pass_erreur_code_inconnu' => '<b>Erreur :</b> ce code ne correspond à aucun des visiteurs ayant accès à ce site.',
581
+    'pass_erreur_non_enregistre' => '<b>Erreur :</b> l’adresse <tt>@email_oubli@</tt> n’est pas enregistrée sur ce site.',
582
+    'pass_erreur_non_valide' => '<b>Erreur :</b> cet email <tt>@email_oubli@</tt> n’est pas valide !',
583
+    'pass_erreur_probleme_technique' => '<b>Erreur :</b> à cause d’un problème technique, l’email ne peut pas être envoyé.',
584
+    'pass_espace_prive_bla' => 'L’espace privé de ce site est ouvert aux
585 585
 		visiteurs, après inscription. Une fois enregistré,
586 586
 		vous pourrez consulter les articles en cours de rédaction,
587 587
 		proposer des articles et participer à tous les forums.',
588
-	'pass_forum_bla' => 'Vous avez demandé à intervenir sur un forum
588
+    'pass_forum_bla' => 'Vous avez demandé à intervenir sur un forum
589 589
 		réservé aux visiteurs enregistrés.',
590
-	'pass_indiquez_cidessous' => 'Indiquez ci-dessous l’adresse email sous laquelle vous
590
+    'pass_indiquez_cidessous' => 'Indiquez ci-dessous l’adresse email sous laquelle vous
591 591
 			vous êtes précédemment enregistré. Vous
592 592
 			recevrez un email vous indiquant la marche à suivre pour
593 593
 			récupérer votre accès.',
594
-	'pass_mail_passcookie' => '(ceci est un message automatique)
594
+    'pass_mail_passcookie' => '(ceci est un message automatique)
595 595
 Pour retrouver votre accès au site
596 596
 @nom_site_spip@ (@adresse_site@)
597 597
 
@@ -603,146 +603,146 @@  discard block
 block discarded – undo
603 603
 et vous reconnecter au site.
604 604
 
605 605
 ',
606
-	'pass_mot_oublie' => 'Mot de passe oublié',
607
-	'pass_nouveau_enregistre' => 'Votre nouveau mot de passe a été enregistré.',
608
-	'pass_nouveau_pass' => 'Nouveau mot de passe',
609
-	'pass_ok' => 'OK',
610
-	'pass_oubli_mot' => 'Oubli du mot de passe',
611
-	'pass_procedure_changer' => 'Pour modifier votre mot de passe, merci d’indiquer l’adresse email associée à votre compte.',
612
-	'pass_quitter_fenetre' => 'Quitter cette fenêtre',
613
-	'pass_rappel_login' => 'Rappel : votre identifiant (login) est « @login@ ».',
614
-	'pass_recevoir_mail' => 'Un lien de réinitialisation de votre mot de passe vous a été envoyé sur votre adresse email (si celle-ci est valide).',
615
-	'pass_retour_public' => 'Retour sur le site public',
616
-	'pass_rien_a_faire_ici' => 'Rien à faire ici.',
617
-	'pass_vousinscrire' => 'Vous inscrire sur ce site',
618
-	'precedent' => 'précédent',
619
-	'previsualisation' => 'Prévisualisation',
620
-	'previsualiser' => 'Prévisualiser',
606
+    'pass_mot_oublie' => 'Mot de passe oublié',
607
+    'pass_nouveau_enregistre' => 'Votre nouveau mot de passe a été enregistré.',
608
+    'pass_nouveau_pass' => 'Nouveau mot de passe',
609
+    'pass_ok' => 'OK',
610
+    'pass_oubli_mot' => 'Oubli du mot de passe',
611
+    'pass_procedure_changer' => 'Pour modifier votre mot de passe, merci d’indiquer l’adresse email associée à votre compte.',
612
+    'pass_quitter_fenetre' => 'Quitter cette fenêtre',
613
+    'pass_rappel_login' => 'Rappel : votre identifiant (login) est « @login@ ».',
614
+    'pass_recevoir_mail' => 'Un lien de réinitialisation de votre mot de passe vous a été envoyé sur votre adresse email (si celle-ci est valide).',
615
+    'pass_retour_public' => 'Retour sur le site public',
616
+    'pass_rien_a_faire_ici' => 'Rien à faire ici.',
617
+    'pass_vousinscrire' => 'Vous inscrire sur ce site',
618
+    'precedent' => 'précédent',
619
+    'previsualisation' => 'Prévisualisation',
620
+    'previsualiser' => 'Prévisualiser',
621 621
 
622
-	// R
623
-	'retour' => 'Retour',
622
+    // R
623
+    'retour' => 'Retour',
624 624
 
625
-	// S
626
-	'spip_conforme_dtd' => 'SPIP considère ce document comme conforme à son DOCTYPE :',
627
-	'squelette' => 'squelette',
628
-	'squelette_inclus_ligne' => 'squelette inclus, ligne',
629
-	'squelette_ligne' => 'squelette, ligne',
630
-	'stats_visites_et_popularite' => '@visites@ visites ; popularité : @popularite@',
631
-	'suivant' => 'suivant',
625
+    // S
626
+    'spip_conforme_dtd' => 'SPIP considère ce document comme conforme à son DOCTYPE :',
627
+    'squelette' => 'squelette',
628
+    'squelette_inclus_ligne' => 'squelette inclus, ligne',
629
+    'squelette_ligne' => 'squelette, ligne',
630
+    'stats_visites_et_popularite' => '@visites@ visites ; popularité : @popularite@',
631
+    'suivant' => 'suivant',
632 632
 
633
-	// T
634
-	'taille_go' => '@taille@ Go',
635
-	'taille_ko' => '@taille@ ko',
636
-	'taille_mo' => '@taille@ Mo',
637
-	'taille_octets' => '@taille@ octets',
638
-	'texte_actualite_site_1' => 'Quand vous serez familiarisé(e) avec l’interface, vous pourrez cliquer sur « ',
639
-	'texte_actualite_site_2' => 'interface complète',
640
-	'texte_actualite_site_3' => ' » pour ouvrir plus de possibilités.',
641
-	'texte_creation_automatique_vignette' => 'La création automatique de vignettes de prévisualisation est activée sur ce site. Si vous installez à 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.',
642
-	'texte_documents_associes' => 'Les documents suivants sont associés à l’article,
633
+    // T
634
+    'taille_go' => '@taille@ Go',
635
+    'taille_ko' => '@taille@ ko',
636
+    'taille_mo' => '@taille@ Mo',
637
+    'taille_octets' => '@taille@ octets',
638
+    'texte_actualite_site_1' => 'Quand vous serez familiarisé(e) avec l’interface, vous pourrez cliquer sur « ',
639
+    'texte_actualite_site_2' => 'interface complète',
640
+    'texte_actualite_site_3' => ' » pour ouvrir plus de possibilités.',
641
+    'texte_creation_automatique_vignette' => 'La création automatique de vignettes de prévisualisation est activée sur ce site. Si vous installez à 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.',
642
+    'texte_documents_associes' => 'Les documents suivants sont associés à l’article,
643 643
 				mais ils n’y ont pas été directement
644 644
 				insérés. Selon la mise en page du site public,
645 645
 				ils pourront apparaître sous forme de documents joints.',
646
-	'texte_erreur_mise_niveau_base' => 'Erreur de base de données lors de la mise à niveau.
646
+    'texte_erreur_mise_niveau_base' => 'Erreur de base de données lors de la mise à niveau.
647 647
 		L’image <b>@fichier@</b> n’est pas passée (article @id_article@).
648 648
 		Notez bien cette référence, réessayez la mise à
649 649
 		niveau, et enfin vérifiez que les images apparaissent
650 650
 		toujours dans les articles.',
651
-	'texte_erreur_visiteur' => 'Vous avez tenté d’accéder à l’espace privé avec un login qui ne le permet pas.',
652
-	'texte_inc_auth_1' => 'Vous êtes identifié sous le
651
+    'texte_erreur_visiteur' => 'Vous avez tenté d’accéder à l’espace privé avec un login qui ne le permet pas.',
652
+    'texte_inc_auth_1' => 'Vous êtes identifié sous le
653 653
 		login <b>@auth_login@</b>, mais celui-ci n’existe pas/plus dans la base.
654 654
 		Essayez de vous',
655
-	'texte_inc_auth_2' => 'reconnecter',
656
-	'texte_inc_auth_3' => ', après avoir éventuellement quitté puis
655
+    'texte_inc_auth_2' => 'reconnecter',
656
+    'texte_inc_auth_3' => ', après avoir éventuellement quitté puis
657 657
 		redémarré votre navigateur.',
658
-	'texte_inc_config' => 'Les modifications effectuées dans ces pages influent notablement sur le
658
+    'texte_inc_config' => 'Les modifications effectuées dans ces pages influent notablement sur le
659 659
  fonctionnement de votre site. Nous vous recommandons de ne pas y intervenir tant que vous n’êtes pas
660 660
  familier du fonctionnement du système SPIP. <br /><br /><b>Plus
661 661
  généralement, il est fortement conseillé
662 662
  de laisser la charge de ces pages au webmestre principal de votre site.</b>',
663
-	'texte_inc_meta_1' => 'Le système a rencontré une erreur lors de l’écriture du fichier <code>@fichier@</code>. Veuillez, en tant qu’administrateur du site,',
664
-	'texte_inc_meta_2' => 'vérifier les droits d’écriture',
665
-	'texte_inc_meta_3' => 'sur le répertoire <code>@repertoire@</code>.',
666
-	'texte_statut_en_cours_redaction' => 'en cours de rédaction',
667
-	'texte_statut_poubelle' => 'à la poubelle',
668
-	'texte_statut_propose_evaluation' => 'proposé à l’évaluation',
669
-	'texte_statut_publie' => 'publié en ligne',
670
-	'texte_statut_refuse' => 'refusé',
671
-	'titre_ajouter_mot_cle' => 'AJOUTER UN MOT-CLÉ :',
672
-	'titre_cadre_raccourcis' => 'RACCOURCIS :',
673
-	'titre_changer_couleur_interface' => 'Changer la couleur de l’interface',
674
-	'titre_image_admin_article' => 'Vous pouvez administrer cet article',
675
-	'titre_image_administrateur' => 'Administrateur',
676
-	'titre_image_aide' => 'De l’aide sur cet élément',
677
-	'titre_image_auteur_supprime' => 'Auteur supprimé',
678
-	'titre_image_redacteur' => 'Rédacteur sans accès',
679
-	'titre_image_redacteur_02' => 'Rédacteur',
680
-	'titre_image_selecteur' => 'Afficher la liste',
681
-	'titre_image_visiteur' => 'Visiteur',
682
-	'titre_joindre_document' => 'JOINDRE UN DOCUMENT',
683
-	'titre_mots_cles' => 'MOTS-CLÉS',
684
-	'titre_probleme_technique' => 'Attention : un problème technique (serveur SQL) empêche l’accès à cette partie du site. Merci de votre compréhension.',
685
-	'titre_publier_document' => 'PUBLIER UN DOCUMENT DANS CETTE RUBRIQUE',
686
-	'titre_signatures_attente' => 'Signatures en attente de validation',
687
-	'titre_signatures_confirmees' => 'Signatures confirmées',
688
-	'titre_statistiques' => 'Statistiques du site',
689
-	'titre_titre_document' => 'Titre du document :',
690
-	'todo' => 'à venir',
691
-	'trad_definir_reference' => 'Choisir "@titre@" comme référence des traductions',
692
-	'trad_reference' => '(référence des traductions)',
663
+    'texte_inc_meta_1' => 'Le système a rencontré une erreur lors de l’écriture du fichier <code>@fichier@</code>. Veuillez, en tant qu’administrateur du site,',
664
+    'texte_inc_meta_2' => 'vérifier les droits d’écriture',
665
+    'texte_inc_meta_3' => 'sur le répertoire <code>@repertoire@</code>.',
666
+    'texte_statut_en_cours_redaction' => 'en cours de rédaction',
667
+    'texte_statut_poubelle' => 'à la poubelle',
668
+    'texte_statut_propose_evaluation' => 'proposé à l’évaluation',
669
+    'texte_statut_publie' => 'publié en ligne',
670
+    'texte_statut_refuse' => 'refusé',
671
+    'titre_ajouter_mot_cle' => 'AJOUTER UN MOT-CLÉ :',
672
+    'titre_cadre_raccourcis' => 'RACCOURCIS :',
673
+    'titre_changer_couleur_interface' => 'Changer la couleur de l’interface',
674
+    'titre_image_admin_article' => 'Vous pouvez administrer cet article',
675
+    'titre_image_administrateur' => 'Administrateur',
676
+    'titre_image_aide' => 'De l’aide sur cet élément',
677
+    'titre_image_auteur_supprime' => 'Auteur supprimé',
678
+    'titre_image_redacteur' => 'Rédacteur sans accès',
679
+    'titre_image_redacteur_02' => 'Rédacteur',
680
+    'titre_image_selecteur' => 'Afficher la liste',
681
+    'titre_image_visiteur' => 'Visiteur',
682
+    'titre_joindre_document' => 'JOINDRE UN DOCUMENT',
683
+    'titre_mots_cles' => 'MOTS-CLÉS',
684
+    'titre_probleme_technique' => 'Attention : un problème technique (serveur SQL) empêche l’accès à cette partie du site. Merci de votre compréhension.',
685
+    'titre_publier_document' => 'PUBLIER UN DOCUMENT DANS CETTE RUBRIQUE',
686
+    'titre_signatures_attente' => 'Signatures en attente de validation',
687
+    'titre_signatures_confirmees' => 'Signatures confirmées',
688
+    'titre_statistiques' => 'Statistiques du site',
689
+    'titre_titre_document' => 'Titre du document :',
690
+    'todo' => 'à venir',
691
+    'trad_definir_reference' => 'Choisir "@titre@" comme référence des traductions',
692
+    'trad_reference' => '(référence des traductions)',
693 693
 
694
-	// U
695
-	'upload_limit' => 'Ce fichier est trop gros pour le serveur ; la taille maximum autorisée en <i>upload</i> est de @max@.',
694
+    // U
695
+    'upload_limit' => 'Ce fichier est trop gros pour le serveur ; la taille maximum autorisée en <i>upload</i> est de @max@.',
696 696
 
697
-	// Z
698
-	'zbug_balise_b_aval' => ' : balise B en aval',
699
-	'zbug_balise_inexistante' => 'Balise @balise@ mal déclarée pour @from@',
700
-	'zbug_balise_sans_argument' => 'Argument manquant dans la balise @balise@',
701
-	'zbug_boucle' => 'boucle',
702
-	'zbug_boucle_recursive_undef' => 'Boucle récursive non définie : @nom@',
703
-	'zbug_calcul' => 'calcul',
704
-	'zbug_champ_hors_boucle' => 'Champ @champ@ hors boucle',
705
-	'zbug_champ_hors_critere' => 'Champ @champ@ hors critère @critere@',
706
-	'zbug_champ_hors_motif' => 'Champ @champ@ hors d’un contexte @motif@',
707
-	'zbug_code' => 'code',
708
-	'zbug_critere_inconnu' => 'Critère inconnu @critere@',
709
-	'zbug_critere_sur_table_sans_cle_primaire' => '{@critere@} sur une table sans clef primaire atomique',
710
-	'zbug_distant_interdit' => 'Externe interdit', # Contexte : une base de données "externe", pas gérée par SPIP, mais que SPIP 1.8 sait utiliser dans ses boucles -- seul problèmes certaines manipulations sont interdites sur ces bases-là.
711
-	'zbug_doublon_table_sans_cle_primaire' => 'Doublons sur une table sans clef primaire atomique',
712
-	'zbug_doublon_table_sans_index' => 'Doublons sur une table sans index',
713
-	'zbug_erreur_boucle_double' => 'Double définition de la boucle @id@',
714
-	'zbug_erreur_boucle_fermant' => 'Boucle @id@ non fermée',
715
-	'zbug_erreur_boucle_syntaxe' => 'Syntaxe de la boucle @id@ incorrecte',
716
-	'zbug_erreur_compilation' => 'Erreur de compilation',
717
-	'zbug_erreur_execution_page' => 'Erreur d’exécution',
718
-	'zbug_erreur_filtre' => 'Filtre @filtre@ non défini',
719
-	'zbug_erreur_filtre_nbarg_min' => 'Filtre @filtre@ : il manque @nb@ argument(s)',
720
-	'zbug_erreur_meme_parent' => 'Le critère {meme_parent} ne s’applique qu’aux boucles (FORUMS) ou (RUBRIQUES)',
721
-	'zbug_erreur_squelette' => 'Erreur(s) dans le squelette',
722
-	'zbug_hors_compilation' => 'Hors Compilation',
723
-	'zbug_info_erreur_squelette' => 'Erreur sur le site',
724
-	'zbug_inversion_ordre_inexistant' => 'Inversion d’un ordre inexistant',
725
-	'zbug_pagination_sans_critere' => 'Balise #PAGINATION sans critère {pagination} ou employé dans une boucle récursive',
726
-	'zbug_parametres_inclus_incorrects' => 'Paramètre d’inclusion incorrect : @param@',
727
-	'zbug_profile' => 'Temps de calcul : @time@',
728
-	'zbug_resultat' => 'résultat',
729
-	'zbug_serveur_indefini' => 'Serveur SQL indéfini',
730
-	'zbug_statistiques' => 'Statistiques des requêtes SQL classées par durée',
731
-	'zbug_table_inconnue' => 'Table SQL « @table@ » inconnue',
732
-	'zxml_connus_attributs' => 'attributs connus',
733
-	'zxml_de' => 'de',
734
-	'zxml_inconnu_attribut' => 'attribut inconnu',
735
-	'zxml_inconnu_balise' => 'balise inconnue',
736
-	'zxml_inconnu_entite' => 'entité inconnue',
737
-	'zxml_inconnu_id' => 'ID inconnu',
738
-	'zxml_mais_de' => 'mais de',
739
-	'zxml_non_conforme' => 'n’est pas conforme au motif',
740
-	'zxml_non_fils' => 'n’est pas un fils de',
741
-	'zxml_nonvide_balise' => 'balise non vide',
742
-	'zxml_obligatoire_attribut' => 'attribut obligatoire mais absent dans',
743
-	'zxml_succession_fils_incorrecte' => 'succession des fils incorrecte',
744
-	'zxml_survoler' => 'survoler pour voir les corrects',
745
-	'zxml_valeur_attribut' => 'valeur de l’attribut',
746
-	'zxml_vide_balise' => 'balise vide',
747
-	'zxml_vu' => 'vu auparavant'
697
+    // Z
698
+    'zbug_balise_b_aval' => ' : balise B en aval',
699
+    'zbug_balise_inexistante' => 'Balise @balise@ mal déclarée pour @from@',
700
+    'zbug_balise_sans_argument' => 'Argument manquant dans la balise @balise@',
701
+    'zbug_boucle' => 'boucle',
702
+    'zbug_boucle_recursive_undef' => 'Boucle récursive non définie : @nom@',
703
+    'zbug_calcul' => 'calcul',
704
+    'zbug_champ_hors_boucle' => 'Champ @champ@ hors boucle',
705
+    'zbug_champ_hors_critere' => 'Champ @champ@ hors critère @critere@',
706
+    'zbug_champ_hors_motif' => 'Champ @champ@ hors d’un contexte @motif@',
707
+    'zbug_code' => 'code',
708
+    'zbug_critere_inconnu' => 'Critère inconnu @critere@',
709
+    'zbug_critere_sur_table_sans_cle_primaire' => '{@critere@} sur une table sans clef primaire atomique',
710
+    'zbug_distant_interdit' => 'Externe interdit', # Contexte : une base de données "externe", pas gérée par SPIP, mais que SPIP 1.8 sait utiliser dans ses boucles -- seul problèmes certaines manipulations sont interdites sur ces bases-là.
711
+    'zbug_doublon_table_sans_cle_primaire' => 'Doublons sur une table sans clef primaire atomique',
712
+    'zbug_doublon_table_sans_index' => 'Doublons sur une table sans index',
713
+    'zbug_erreur_boucle_double' => 'Double définition de la boucle @id@',
714
+    'zbug_erreur_boucle_fermant' => 'Boucle @id@ non fermée',
715
+    'zbug_erreur_boucle_syntaxe' => 'Syntaxe de la boucle @id@ incorrecte',
716
+    'zbug_erreur_compilation' => 'Erreur de compilation',
717
+    'zbug_erreur_execution_page' => 'Erreur d’exécution',
718
+    'zbug_erreur_filtre' => 'Filtre @filtre@ non défini',
719
+    'zbug_erreur_filtre_nbarg_min' => 'Filtre @filtre@ : il manque @nb@ argument(s)',
720
+    'zbug_erreur_meme_parent' => 'Le critère {meme_parent} ne s’applique qu’aux boucles (FORUMS) ou (RUBRIQUES)',
721
+    'zbug_erreur_squelette' => 'Erreur(s) dans le squelette',
722
+    'zbug_hors_compilation' => 'Hors Compilation',
723
+    'zbug_info_erreur_squelette' => 'Erreur sur le site',
724
+    'zbug_inversion_ordre_inexistant' => 'Inversion d’un ordre inexistant',
725
+    'zbug_pagination_sans_critere' => 'Balise #PAGINATION sans critère {pagination} ou employé dans une boucle récursive',
726
+    'zbug_parametres_inclus_incorrects' => 'Paramètre d’inclusion incorrect : @param@',
727
+    'zbug_profile' => 'Temps de calcul : @time@',
728
+    'zbug_resultat' => 'résultat',
729
+    'zbug_serveur_indefini' => 'Serveur SQL indéfini',
730
+    'zbug_statistiques' => 'Statistiques des requêtes SQL classées par durée',
731
+    'zbug_table_inconnue' => 'Table SQL « @table@ » inconnue',
732
+    'zxml_connus_attributs' => 'attributs connus',
733
+    'zxml_de' => 'de',
734
+    'zxml_inconnu_attribut' => 'attribut inconnu',
735
+    'zxml_inconnu_balise' => 'balise inconnue',
736
+    'zxml_inconnu_entite' => 'entité inconnue',
737
+    'zxml_inconnu_id' => 'ID inconnu',
738
+    'zxml_mais_de' => 'mais de',
739
+    'zxml_non_conforme' => 'n’est pas conforme au motif',
740
+    'zxml_non_fils' => 'n’est pas un fils de',
741
+    'zxml_nonvide_balise' => 'balise non vide',
742
+    'zxml_obligatoire_attribut' => 'attribut obligatoire mais absent dans',
743
+    'zxml_succession_fils_incorrecte' => 'succession des fils incorrecte',
744
+    'zxml_survoler' => 'survoler pour voir les corrects',
745
+    'zxml_valeur_attribut' => 'valeur de l’attribut',
746
+    'zxml_vide_balise' => 'balise vide',
747
+    'zxml_vu' => 'vu auparavant'
748 748
 );
Please login to merge, or discard this patch.
ecrire/lang/spip_oc_lnc.php 1 patch
Indentation   +569 added lines, -569 removed lines patch added patch discarded remove patch
@@ -4,507 +4,507 @@  discard block
 block discarded – undo
4 4
 // ** ne pas modifier le fichier **
5 5
 
6 6
 if (!defined('_ECRIRE_INC_VERSION')) {
7
-	return;
7
+    return;
8 8
 }
9 9
 
10 10
 $GLOBALS[$GLOBALS['idx_lang']] = array(
11 11
 
12
-	// A
13
-	'access_interface_graphique' => 'Tornar a l’interfàcia grafica completa',
14
-	'access_mode_texte' => 'Afichar l’interfàcia textuala simplificada',
15
-	'admin_debug' => 'desbugatge',
16
-	'admin_modifier_article' => 'Modificar aquel article',
17
-	'admin_modifier_auteur' => 'Modificar aquel autor',
18
-	'admin_modifier_breve' => 'Modificar aquela brèva',
19
-	'admin_modifier_mot' => 'Modificar aquel mot clau',
20
-	'admin_modifier_rubrique' => 'Modificar aquela rubrica',
21
-	'admin_recalculer' => 'Tornar calcular la pagina',
22
-	'afficher_trad' => 'mostrar las reviradas',
23
-	'alerte_maj_impossible' => '<b>Alèrta!</b> Es impossible d’actualizar la basa SQL vèrs la version @version@; saique i a un problèma relatiu al drech de modificar la basa de donadas. Volgatz contactar vòstre albergador.',
24
-	'analyse_xml' => 'Analisi XML',
25
-	'annuler' => 'Anullar',
26
-	'antispam_champ_vide' => 'Volgatz daissar aquel camp void :',
27
-	'articles_recents' => 'Los articles mai recents',
28
-	'avis_archive_incorrect' => 'lo fichièr archiu es pas un fichièr SPIP',
29
-	'avis_archive_invalide' => 'lo fichièr archiu es pas valid',
30
-	'avis_attention' => 'ATENCION!',
31
-	'avis_champ_incorrect_type_objet' => 'Nom de camp incorrècte @name@ per objècte de tipe @type@',
32
-	'avis_colonne_inexistante' => 'La colomna @col@ existís pas',
33
-	'avis_erreur' => 'Error: vejatz çai jos',
34
-	'avis_erreur_connexion' => 'Error de connexion',
35
-	'avis_erreur_cookie' => 'problèma de cookie',
36
-	'avis_erreur_fonction_contexte' => 'Error de programacion. Cal pas apelar aquela foncion dins aquel contèxt.',
37
-	'avis_erreur_mysql' => 'Error SQL ',
38
-	'avis_erreur_sauvegarde' => 'Error dins la salvagarda (@type@ @id_objet@)! ',
39
-	'avis_erreur_visiteur' => 'Problèma per accedir a l’espaci privat',
12
+    // A
13
+    'access_interface_graphique' => 'Tornar a l’interfàcia grafica completa',
14
+    'access_mode_texte' => 'Afichar l’interfàcia textuala simplificada',
15
+    'admin_debug' => 'desbugatge',
16
+    'admin_modifier_article' => 'Modificar aquel article',
17
+    'admin_modifier_auteur' => 'Modificar aquel autor',
18
+    'admin_modifier_breve' => 'Modificar aquela brèva',
19
+    'admin_modifier_mot' => 'Modificar aquel mot clau',
20
+    'admin_modifier_rubrique' => 'Modificar aquela rubrica',
21
+    'admin_recalculer' => 'Tornar calcular la pagina',
22
+    'afficher_trad' => 'mostrar las reviradas',
23
+    'alerte_maj_impossible' => '<b>Alèrta!</b> Es impossible d’actualizar la basa SQL vèrs la version @version@; saique i a un problèma relatiu al drech de modificar la basa de donadas. Volgatz contactar vòstre albergador.',
24
+    'analyse_xml' => 'Analisi XML',
25
+    'annuler' => 'Anullar',
26
+    'antispam_champ_vide' => 'Volgatz daissar aquel camp void :',
27
+    'articles_recents' => 'Los articles mai recents',
28
+    'avis_archive_incorrect' => 'lo fichièr archiu es pas un fichièr SPIP',
29
+    'avis_archive_invalide' => 'lo fichièr archiu es pas valid',
30
+    'avis_attention' => 'ATENCION!',
31
+    'avis_champ_incorrect_type_objet' => 'Nom de camp incorrècte @name@ per objècte de tipe @type@',
32
+    'avis_colonne_inexistante' => 'La colomna @col@ existís pas',
33
+    'avis_erreur' => 'Error: vejatz çai jos',
34
+    'avis_erreur_connexion' => 'Error de connexion',
35
+    'avis_erreur_cookie' => 'problèma de cookie',
36
+    'avis_erreur_fonction_contexte' => 'Error de programacion. Cal pas apelar aquela foncion dins aquel contèxt.',
37
+    'avis_erreur_mysql' => 'Error SQL ',
38
+    'avis_erreur_sauvegarde' => 'Error dins la salvagarda (@type@ @id_objet@)! ',
39
+    'avis_erreur_visiteur' => 'Problèma per accedir a l’espaci privat',
40 40
 
41
-	// B
42
-	'barre_a_accent_grave' => 'Inserir una A accent grèu majuscula',
43
-	'barre_aide' => 'Utilizar las acorchas tipograficas per enriquir vòstra compaginacion',
44
-	'barre_e_accent_aigu' => 'Inserir una E accent agut majuscula',
45
-	'barre_eo' => 'Inserir una E dins l’O',
46
-	'barre_eo_maj' => 'Inserir una E dins la O majuscula',
47
-	'barre_euro' => 'Inserir lo simbèl de l’èuro: €',
48
-	'barre_gras' => 'Metre en {{gras}}',
49
-	'barre_guillemets' => 'Enrodar amb de « verguetas »',
50
-	'barre_guillemets_simples' => 'Enrodar amb de „verguetas“',
51
-	'barre_intertitre' => 'Transformar en {{{intertítol}}}',
52
-	'barre_italic' => 'Metre en {italics}',
53
-	'barre_lien' => 'Transformar en [ligam ipertèxt->http://...]',
54
-	'barre_lien_input' => 'Volgatz indicar l’adreiça de vòstre ligam (podètz indicar una adreiça web jos la forma http://www.lomieusit.com o simplament indicar lo numèro d’un article d’aquel sit).',
55
-	'barre_note' => 'Transformar en [[Nòta de pè]]',
56
-	'barre_quote' => '<quote>Citar un messatge</quote>',
57
-	'bouton_changer' => 'Cambiar',
58
-	'bouton_chercher' => 'Cercar',
59
-	'bouton_choisir' => 'Causir',
60
-	'bouton_download' => 'Telecargar', # MODIF
61
-	'bouton_enregistrer' => 'Registrar',
62
-	'bouton_radio_desactiver_messagerie_interne' => 'Desactivar la messatjariá intèrna',
63
-	'bouton_radio_envoi_annonces' => 'Mandar los anoncis editorials',
64
-	'bouton_radio_non_envoi_annonces' => 'Mandar pas d’anoncis',
65
-	'bouton_radio_non_envoi_liste_nouveautes' => 'Mandar pas la tièra de las novetats',
66
-	'bouton_recharger_page' => 'tornar cargar aquela pagina',
67
-	'bouton_telecharger' => 'Telecargar',
68
-	'bouton_upload' => 'Telecargar', # MODIF
69
-	'bouton_valider' => 'Validar',
41
+    // B
42
+    'barre_a_accent_grave' => 'Inserir una A accent grèu majuscula',
43
+    'barre_aide' => 'Utilizar las acorchas tipograficas per enriquir vòstra compaginacion',
44
+    'barre_e_accent_aigu' => 'Inserir una E accent agut majuscula',
45
+    'barre_eo' => 'Inserir una E dins l’O',
46
+    'barre_eo_maj' => 'Inserir una E dins la O majuscula',
47
+    'barre_euro' => 'Inserir lo simbèl de l’èuro: €',
48
+    'barre_gras' => 'Metre en {{gras}}',
49
+    'barre_guillemets' => 'Enrodar amb de « verguetas »',
50
+    'barre_guillemets_simples' => 'Enrodar amb de „verguetas“',
51
+    'barre_intertitre' => 'Transformar en {{{intertítol}}}',
52
+    'barre_italic' => 'Metre en {italics}',
53
+    'barre_lien' => 'Transformar en [ligam ipertèxt->http://...]',
54
+    'barre_lien_input' => 'Volgatz indicar l’adreiça de vòstre ligam (podètz indicar una adreiça web jos la forma http://www.lomieusit.com o simplament indicar lo numèro d’un article d’aquel sit).',
55
+    'barre_note' => 'Transformar en [[Nòta de pè]]',
56
+    'barre_quote' => '<quote>Citar un messatge</quote>',
57
+    'bouton_changer' => 'Cambiar',
58
+    'bouton_chercher' => 'Cercar',
59
+    'bouton_choisir' => 'Causir',
60
+    'bouton_download' => 'Telecargar', # MODIF
61
+    'bouton_enregistrer' => 'Registrar',
62
+    'bouton_radio_desactiver_messagerie_interne' => 'Desactivar la messatjariá intèrna',
63
+    'bouton_radio_envoi_annonces' => 'Mandar los anoncis editorials',
64
+    'bouton_radio_non_envoi_annonces' => 'Mandar pas d’anoncis',
65
+    'bouton_radio_non_envoi_liste_nouveautes' => 'Mandar pas la tièra de las novetats',
66
+    'bouton_recharger_page' => 'tornar cargar aquela pagina',
67
+    'bouton_telecharger' => 'Telecargar',
68
+    'bouton_upload' => 'Telecargar', # MODIF
69
+    'bouton_valider' => 'Validar',
70 70
 
71
-	// C
72
-	'cal_apresmidi' => 'tantòst',
73
-	'cal_jour_entier' => 'jorn entièr',
74
-	'cal_matin' => 'matin',
75
-	'cal_par_jour' => 'calendièr per jorn',
76
-	'cal_par_mois' => 'calendièr per mes',
77
-	'cal_par_semaine' => 'calendièr per setmana',
78
-	'choix_couleur_interface' => 'color ',
79
-	'choix_interface' => 'causir l’interfàcia',
80
-	'colonne' => 'Colomna',
81
-	'confirm_changer_statut' => 'Atencion, avètz demandat de cambiar l’estatut d’aquel element. Desiratz de contunhar? ',
82
-	'correcte' => 'corrècte',
71
+    // C
72
+    'cal_apresmidi' => 'tantòst',
73
+    'cal_jour_entier' => 'jorn entièr',
74
+    'cal_matin' => 'matin',
75
+    'cal_par_jour' => 'calendièr per jorn',
76
+    'cal_par_mois' => 'calendièr per mes',
77
+    'cal_par_semaine' => 'calendièr per setmana',
78
+    'choix_couleur_interface' => 'color ',
79
+    'choix_interface' => 'causir l’interfàcia',
80
+    'colonne' => 'Colomna',
81
+    'confirm_changer_statut' => 'Atencion, avètz demandat de cambiar l’estatut d’aquel element. Desiratz de contunhar? ',
82
+    'correcte' => 'corrècte',
83 83
 
84
-	// D
85
-	'date_aujourdhui' => 'uèi',
86
-	'date_avant_jc' => 'abans lo Crist',
87
-	'date_dans' => 'd’aquí @delai@',
88
-	'date_de_mois_1' => '@j@ de genièr',
89
-	'date_de_mois_10' => '@j@ d’octobre',
90
-	'date_de_mois_11' => '@j@ de novembre',
91
-	'date_de_mois_12' => '@j@ de decembre',
92
-	'date_de_mois_2' => '@j@ de febrièr',
93
-	'date_de_mois_3' => '@j@ de març',
94
-	'date_de_mois_4' => '@j@ d’abril',
95
-	'date_de_mois_5' => '@j@ de mai',
96
-	'date_de_mois_6' => '@j@ de junh',
97
-	'date_de_mois_7' => '@j@ de julh',
98
-	'date_de_mois_8' => '@j@ d’agost',
99
-	'date_de_mois_9' => '@j@ de setembre',
100
-	'date_demain' => 'deman',
101
-	'date_fmt_heures_minutes' => '@h@h@m@min',
102
-	'date_fmt_jour_heure' => '@jour@ a @heure@',
103
-	'date_fmt_jour_mois' => '@jourmois@',
104
-	'date_fmt_jour_mois_annee' => '@jourmois@ de @annee@',
105
-	'date_fmt_mois_annee' => '@nommois@ de @annee@',
106
-	'date_fmt_nomjour_date' => 'lo @nomjour@ @date@',
107
-	'date_heures' => 'oras',
108
-	'date_hier' => 'ièr',
109
-	'date_il_y_a' => 'fa @delai@',
110
-	'date_jnum1' => '1r',
111
-	'date_jnum10' => '10',
112
-	'date_jnum11' => '11',
113
-	'date_jnum12' => '12',
114
-	'date_jnum13' => '13',
115
-	'date_jnum14' => '14',
116
-	'date_jnum15' => '15',
117
-	'date_jnum16' => '16',
118
-	'date_jnum17' => '17',
119
-	'date_jnum18' => '18',
120
-	'date_jnum19' => '19',
121
-	'date_jnum2' => '2',
122
-	'date_jnum20' => '20',
123
-	'date_jnum21' => '21',
124
-	'date_jnum22' => '22',
125
-	'date_jnum23' => '23',
126
-	'date_jnum24' => '24',
127
-	'date_jnum25' => '25',
128
-	'date_jnum26' => '26',
129
-	'date_jnum27' => '27',
130
-	'date_jnum28' => '28',
131
-	'date_jnum29' => '29',
132
-	'date_jnum3' => '3',
133
-	'date_jnum30' => '30',
134
-	'date_jnum31' => '31',
135
-	'date_jnum4' => '4',
136
-	'date_jnum5' => '5',
137
-	'date_jnum6' => '6',
138
-	'date_jnum7' => '7',
139
-	'date_jnum8' => '8',
140
-	'date_jnum9' => '9',
141
-	'date_jour_1' => 'dimenge',
142
-	'date_jour_1_abbr' => 'dmg.',
143
-	'date_jour_1_initiale' => 'dg.',
144
-	'date_jour_2' => 'diluns',
145
-	'date_jour_2_abbr' => 'dil.',
146
-	'date_jour_2_initiale' => 'dl.',
147
-	'date_jour_3' => 'dimars',
148
-	'date_jour_3_abbr' => 'dmr.',
149
-	'date_jour_3_initiale' => 'dm.',
150
-	'date_jour_4' => 'dimècres',
151
-	'date_jour_4_abbr' => 'dmc.',
152
-	'date_jour_4_initiale' => 'dc.',
153
-	'date_jour_5' => 'dijòus',
154
-	'date_jour_5_abbr' => 'dij.',
155
-	'date_jour_5_initiale' => 'dj.',
156
-	'date_jour_6' => 'divendres',
157
-	'date_jour_6_abbr' => 'div.',
158
-	'date_jour_6_initiale' => 'dv.',
159
-	'date_jour_7' => 'dissabte',
160
-	'date_jour_7_abbr' => 'dis.',
161
-	'date_jour_7_initiale' => 'ds.',
162
-	'date_jours' => 'jorns',
163
-	'date_minutes' => 'minutas',
164
-	'date_mois' => 'mes(es)',
165
-	'date_mois_1' => 'genièr',
166
-	'date_mois_10' => 'octobre',
167
-	'date_mois_11' => 'novembre',
168
-	'date_mois_12' => 'decembre',
169
-	'date_mois_2' => 'febrièr',
170
-	'date_mois_3' => 'març',
171
-	'date_mois_4' => 'abril',
172
-	'date_mois_5' => 'mai',
173
-	'date_mois_6' => 'junh',
174
-	'date_mois_7' => 'julh',
175
-	'date_mois_8' => 'agost',
176
-	'date_mois_9' => 'setembre',
177
-	'date_saison_1' => 'ivèrn',
178
-	'date_saison_2' => 'prima',
179
-	'date_saison_3' => 'estiu',
180
-	'date_saison_4' => 'davalada',
181
-	'date_semaines' => 'setmana(s)',
182
-	'dirs_commencer' => 'per començar vertadièrament l’installacion',
183
-	'dirs_preliminaire' => 'Preliminar: <b>Reglar los dreches d’accès</b>',
184
-	'dirs_probleme_droits' => 'Problèma de dreches d’accès',
185
-	'dirs_repertoires_absents' => '<p><b>S’es pas trobat los repertòris seguents: </b></p> <ul>@bad_dirs@.</ul> 
84
+    // D
85
+    'date_aujourdhui' => 'uèi',
86
+    'date_avant_jc' => 'abans lo Crist',
87
+    'date_dans' => 'd’aquí @delai@',
88
+    'date_de_mois_1' => '@j@ de genièr',
89
+    'date_de_mois_10' => '@j@ d’octobre',
90
+    'date_de_mois_11' => '@j@ de novembre',
91
+    'date_de_mois_12' => '@j@ de decembre',
92
+    'date_de_mois_2' => '@j@ de febrièr',
93
+    'date_de_mois_3' => '@j@ de març',
94
+    'date_de_mois_4' => '@j@ d’abril',
95
+    'date_de_mois_5' => '@j@ de mai',
96
+    'date_de_mois_6' => '@j@ de junh',
97
+    'date_de_mois_7' => '@j@ de julh',
98
+    'date_de_mois_8' => '@j@ d’agost',
99
+    'date_de_mois_9' => '@j@ de setembre',
100
+    'date_demain' => 'deman',
101
+    'date_fmt_heures_minutes' => '@h@h@m@min',
102
+    'date_fmt_jour_heure' => '@jour@ a @heure@',
103
+    'date_fmt_jour_mois' => '@jourmois@',
104
+    'date_fmt_jour_mois_annee' => '@jourmois@ de @annee@',
105
+    'date_fmt_mois_annee' => '@nommois@ de @annee@',
106
+    'date_fmt_nomjour_date' => 'lo @nomjour@ @date@',
107
+    'date_heures' => 'oras',
108
+    'date_hier' => 'ièr',
109
+    'date_il_y_a' => 'fa @delai@',
110
+    'date_jnum1' => '1r',
111
+    'date_jnum10' => '10',
112
+    'date_jnum11' => '11',
113
+    'date_jnum12' => '12',
114
+    'date_jnum13' => '13',
115
+    'date_jnum14' => '14',
116
+    'date_jnum15' => '15',
117
+    'date_jnum16' => '16',
118
+    'date_jnum17' => '17',
119
+    'date_jnum18' => '18',
120
+    'date_jnum19' => '19',
121
+    'date_jnum2' => '2',
122
+    'date_jnum20' => '20',
123
+    'date_jnum21' => '21',
124
+    'date_jnum22' => '22',
125
+    'date_jnum23' => '23',
126
+    'date_jnum24' => '24',
127
+    'date_jnum25' => '25',
128
+    'date_jnum26' => '26',
129
+    'date_jnum27' => '27',
130
+    'date_jnum28' => '28',
131
+    'date_jnum29' => '29',
132
+    'date_jnum3' => '3',
133
+    'date_jnum30' => '30',
134
+    'date_jnum31' => '31',
135
+    'date_jnum4' => '4',
136
+    'date_jnum5' => '5',
137
+    'date_jnum6' => '6',
138
+    'date_jnum7' => '7',
139
+    'date_jnum8' => '8',
140
+    'date_jnum9' => '9',
141
+    'date_jour_1' => 'dimenge',
142
+    'date_jour_1_abbr' => 'dmg.',
143
+    'date_jour_1_initiale' => 'dg.',
144
+    'date_jour_2' => 'diluns',
145
+    'date_jour_2_abbr' => 'dil.',
146
+    'date_jour_2_initiale' => 'dl.',
147
+    'date_jour_3' => 'dimars',
148
+    'date_jour_3_abbr' => 'dmr.',
149
+    'date_jour_3_initiale' => 'dm.',
150
+    'date_jour_4' => 'dimècres',
151
+    'date_jour_4_abbr' => 'dmc.',
152
+    'date_jour_4_initiale' => 'dc.',
153
+    'date_jour_5' => 'dijòus',
154
+    'date_jour_5_abbr' => 'dij.',
155
+    'date_jour_5_initiale' => 'dj.',
156
+    'date_jour_6' => 'divendres',
157
+    'date_jour_6_abbr' => 'div.',
158
+    'date_jour_6_initiale' => 'dv.',
159
+    'date_jour_7' => 'dissabte',
160
+    'date_jour_7_abbr' => 'dis.',
161
+    'date_jour_7_initiale' => 'ds.',
162
+    'date_jours' => 'jorns',
163
+    'date_minutes' => 'minutas',
164
+    'date_mois' => 'mes(es)',
165
+    'date_mois_1' => 'genièr',
166
+    'date_mois_10' => 'octobre',
167
+    'date_mois_11' => 'novembre',
168
+    'date_mois_12' => 'decembre',
169
+    'date_mois_2' => 'febrièr',
170
+    'date_mois_3' => 'març',
171
+    'date_mois_4' => 'abril',
172
+    'date_mois_5' => 'mai',
173
+    'date_mois_6' => 'junh',
174
+    'date_mois_7' => 'julh',
175
+    'date_mois_8' => 'agost',
176
+    'date_mois_9' => 'setembre',
177
+    'date_saison_1' => 'ivèrn',
178
+    'date_saison_2' => 'prima',
179
+    'date_saison_3' => 'estiu',
180
+    'date_saison_4' => 'davalada',
181
+    'date_semaines' => 'setmana(s)',
182
+    'dirs_commencer' => 'per començar vertadièrament l’installacion',
183
+    'dirs_preliminaire' => 'Preliminar: <b>Reglar los dreches d’accès</b>',
184
+    'dirs_probleme_droits' => 'Problèma de dreches d’accès',
185
+    'dirs_repertoires_absents' => '<p><b>S’es pas trobat los repertòris seguents: </b></p> <ul>@bad_dirs@.</ul> 
186 186
   <p>Se pòt que venga d’un problèma de majusculas o minusculas mal mesas.
187 187
   Verificatz que las minusculas e majusculas d’aqueles repertòris correspondan ben amb çò afichat
188 188
   çai subre; s’es pas lo cas, tornatz nommar los repertòris amb vòstre logicial FTP en corregir l’error.</p>
189 189
   <p>Un còp qu’auretz fach aquò, poiretz ',
190
-	'dirs_repertoires_suivants' => '<p><b>Los repertòris seguents son pas accessibles en escritura: </b></p><ul>@bad_dirs@.</ul> </b>
190
+    'dirs_repertoires_suivants' => '<p><b>Los repertòris seguents son pas accessibles en escritura: </b></p><ul>@bad_dirs@.</ul> </b>
191 191
   <p>Per adobar aquò, utilizatz vòstre client FTP per tal de reglar los dreches d’accès de cadun
192 192
   d’aqueles repertòris. La guida d’installacion explica en detalh cossí cal procedir.</p>
193 193
   <p>Tre qu’auretz facha aquela manipulacion, poiretz ',
194
-	'double_occurrence' => 'Dobla ocurréncia', # MODIF
194
+    'double_occurrence' => 'Dobla ocurréncia', # MODIF
195 195
 
196
-	// E
197
-	'envoi_via_le_site' => 'Mandadís amb lo biais del sit web',
198
-	'erreur' => 'Error',
199
-	'erreur_balise_non_fermee' => 'darrièra balisa non tampada :',
200
-	'erreur_texte' => 'error(s)',
196
+    // E
197
+    'envoi_via_le_site' => 'Mandadís amb lo biais del sit web',
198
+    'erreur' => 'Error',
199
+    'erreur_balise_non_fermee' => 'darrièra balisa non tampada :',
200
+    'erreur_texte' => 'error(s)',
201 201
 
202
-	// F
203
-	'fichier_introuvable' => 'S’es pas pogut trobar lo fichièr @fichier@.', # MODIF
204
-	'form_deja_inscrit' => 'Sètz ja inscrich(a).',
205
-	'form_email_non_valide' => 'Vòstra adreiça e-mail es pas valida.',
206
-	'form_forum_access_refuse' => 'Podètz pas mai accedir a aquel sit.',
207
-	'form_forum_bonjour' => 'Bonjorn @nom@,,',
208
-	'form_forum_email_deja_enregistre' => 'Aquela adreiça e-mail ja es registrada, adoncas podètz utilizar vòstre mot de santa Clara costumièr.',
209
-	'form_forum_identifiant_mail' => 'Vos avèm mandat vòstre identificant novèl per e-mail.',
210
-	'form_forum_identifiants' => 'Identificants personals',
211
-	'form_forum_indiquer_nom_email' => 'Indicatz aquí vòstre nom e vòstra adreiça e-mail. Vòstre identificant personal arribarà lèu-lèu, per e-mail.',
212
-	'form_forum_login' => 'login :',
213
-	'form_forum_message_auto' => '(aquò’s un messatge automatic)',
214
-	'form_forum_pass' => 'mot de santa Clara :',
215
-	'form_forum_probleme_mail' => 'Problèma d’e-mail: se pòt pas mandar l’identificant.',
216
-	'form_forum_voici1' => 'Vaicí vòstres identificants per poder participar a la vida
202
+    // F
203
+    'fichier_introuvable' => 'S’es pas pogut trobar lo fichièr @fichier@.', # MODIF
204
+    'form_deja_inscrit' => 'Sètz ja inscrich(a).',
205
+    'form_email_non_valide' => 'Vòstra adreiça e-mail es pas valida.',
206
+    'form_forum_access_refuse' => 'Podètz pas mai accedir a aquel sit.',
207
+    'form_forum_bonjour' => 'Bonjorn @nom@,,',
208
+    'form_forum_email_deja_enregistre' => 'Aquela adreiça e-mail ja es registrada, adoncas podètz utilizar vòstre mot de santa Clara costumièr.',
209
+    'form_forum_identifiant_mail' => 'Vos avèm mandat vòstre identificant novèl per e-mail.',
210
+    'form_forum_identifiants' => 'Identificants personals',
211
+    'form_forum_indiquer_nom_email' => 'Indicatz aquí vòstre nom e vòstra adreiça e-mail. Vòstre identificant personal arribarà lèu-lèu, per e-mail.',
212
+    'form_forum_login' => 'login :',
213
+    'form_forum_message_auto' => '(aquò’s un messatge automatic)',
214
+    'form_forum_pass' => 'mot de santa Clara :',
215
+    'form_forum_probleme_mail' => 'Problèma d’e-mail: se pòt pas mandar l’identificant.',
216
+    'form_forum_voici1' => 'Vaicí vòstres identificants per poder participar a la vida
217 217
 del sit "@nom_site_spip@" (@adresse_site@) :',
218
-	'form_forum_voici2' => 'Vaquí vòstres identificants per prepausar d’articles 
218
+    'form_forum_voici2' => 'Vaquí vòstres identificants per prepausar d’articles 
219 219
  sul sit "@nom_site_spip@" (@adresse_login@) :',
220
-	'form_indiquer_email' => 'Volgatz indicar vòstra adreiça e-mail.',
221
-	'form_indiquer_nom' => 'Volgatz indicar vòstre nom.',
222
-	'form_indiquer_nom_site' => 'Volgatz indicar lo nom de vòstre sit.',
223
-	'form_pet_deja_enregistre' => 'Ja aquel sit es registrat',
224
-	'form_pet_signature_pasprise' => 'Vòstra signatura es pas presa en compte.',
225
-	'form_prop_confirmer_envoi' => 'Confirmar lo mandadís',
226
-	'form_prop_description' => 'Descripcion/comentari',
227
-	'form_prop_enregistre' => 'Vòstra proposicion es plan registrada, apareisserà en linha tre que los responsables del sit l’auràn validada .',
228
-	'form_prop_envoyer' => 'Mandar un messatge',
229
-	'form_prop_indiquer_email' => 'Volgatz indicar una adreiça e-mail valida',
230
-	'form_prop_indiquer_nom_site' => 'Volgatz indicar lo nom del sit.',
231
-	'form_prop_indiquer_sujet' => 'Volgatz indicar un subjècte',
232
-	'form_prop_message_envoye' => 'Messatge mandat',
233
-	'form_prop_non_enregistre' => 'Vòstra proposicion es pas estada registrada.',
234
-	'form_prop_sujet' => 'Subjècte',
235
-	'form_prop_url_site' => 'Adreiça (URL) del sit', # MODIF
236
-	'forum_non_inscrit' => 'Siá sètz pas inscrich(a), siá avètz fach una error d’adreiça o de mot de santa Clara. ',
237
-	'forum_par_auteur' => 'per @auteur@',
238
-	'forum_titre_erreur' => 'Error...',
220
+    'form_indiquer_email' => 'Volgatz indicar vòstra adreiça e-mail.',
221
+    'form_indiquer_nom' => 'Volgatz indicar vòstre nom.',
222
+    'form_indiquer_nom_site' => 'Volgatz indicar lo nom de vòstre sit.',
223
+    'form_pet_deja_enregistre' => 'Ja aquel sit es registrat',
224
+    'form_pet_signature_pasprise' => 'Vòstra signatura es pas presa en compte.',
225
+    'form_prop_confirmer_envoi' => 'Confirmar lo mandadís',
226
+    'form_prop_description' => 'Descripcion/comentari',
227
+    'form_prop_enregistre' => 'Vòstra proposicion es plan registrada, apareisserà en linha tre que los responsables del sit l’auràn validada .',
228
+    'form_prop_envoyer' => 'Mandar un messatge',
229
+    'form_prop_indiquer_email' => 'Volgatz indicar una adreiça e-mail valida',
230
+    'form_prop_indiquer_nom_site' => 'Volgatz indicar lo nom del sit.',
231
+    'form_prop_indiquer_sujet' => 'Volgatz indicar un subjècte',
232
+    'form_prop_message_envoye' => 'Messatge mandat',
233
+    'form_prop_non_enregistre' => 'Vòstra proposicion es pas estada registrada.',
234
+    'form_prop_sujet' => 'Subjècte',
235
+    'form_prop_url_site' => 'Adreiça (URL) del sit', # MODIF
236
+    'forum_non_inscrit' => 'Siá sètz pas inscrich(a), siá avètz fach una error d’adreiça o de mot de santa Clara. ',
237
+    'forum_par_auteur' => 'per @auteur@',
238
+    'forum_titre_erreur' => 'Error...',
239 239
 
240
-	// I
241
-	'ical_texte_rss_articles' => 'Lo fichièr "backend" dels articles d’aqueste sit se tròba a l’adreiça:',
242
-	'ical_texte_rss_articles2' => 'Atanben podètz obténer de fichièrs "backend" pels articles de cada rubrica del sit:',
243
-	'ical_texte_rss_breves' => 'Existisson mai d’un fichièr contenent las brèvas del sit. En precisar un numèro de rubrica,  obtendretz sonque las brèvas de la rubrica aquela.',
244
-	'icone_a_suivre' => 'De seguir',
245
-	'icone_admin_site' => 'Administracion del sit',
246
-	'icone_agenda' => 'Agenda',
247
-	'icone_aide_ligne' => 'Ajuda',
248
-	'icone_articles' => 'Articles',
249
-	'icone_auteurs' => 'Autors',
250
-	'icone_brouteur' => 'Navigacion rapida',
251
-	'icone_configuration_site' => 'Configuracion',
252
-	'icone_configurer_site' => 'Configurar vòstre sit',
253
-	'icone_creer_nouvel_auteur' => 'Crear un autor nòu',
254
-	'icone_creer_rubrique' => 'Crear una rubrica',
255
-	'icone_creer_sous_rubrique' => 'Crear una sosrubrica',
256
-	'icone_deconnecter' => 'Se desconnectar',
257
-	'icone_discussions' => 'Discussions',
258
-	'icone_doc_rubrique' => 'Documents de las rubricas',
259
-	'icone_ecrire_article' => 'Escriure un article nòu',
260
-	'icone_edition_site' => 'Edicion',
261
-	'icone_gestion_langues' => 'Gestion de las lengas',
262
-	'icone_informations_personnelles' => 'Informacions personalas',
263
-	'icone_interface_complet' => 'Interfàcia completa',
264
-	'icone_interface_simple' => 'Interfàcia simplificada',
265
-	'icone_maintenance_site' => 'Mantenença del sit',
266
-	'icone_messagerie_personnelle' => 'Messatjariá personala',
267
-	'icone_repartition_debut' => 'Afichar la reparticion dempuèi la començança',
268
-	'icone_rubriques' => 'Rubricas',
269
-	'icone_sauver_site' => 'Salvagarda del sit',
270
-	'icone_site_entier' => 'Tot lo sit ',
271
-	'icone_sites_references' => 'Sits referenciats',
272
-	'icone_statistiques' => 'Estadisticas del sit',
273
-	'icone_suivi_activite' => 'Seguir la vida del sit',
274
-	'icone_suivi_actualite' => 'Evolucion del sit',
275
-	'icone_suivi_pettions' => 'Seguir/gerir las peticions',
276
-	'icone_suivi_revisions' => 'Modificacions dels articles',
277
-	'icone_supprimer_document' => 'Suprimir aquel document',
278
-	'icone_supprimer_image' => 'Suprimir aquel imatge',
279
-	'icone_tous_articles' => 'Totes vòstres articles ',
280
-	'icone_tous_auteur' => 'Totes los autors ',
281
-	'icone_visiter_site' => 'Vesitar', # MODIF
282
-	'icone_voir_en_ligne' => 'Veire en linha',
283
-	'img_indisponible' => 'imatge indisponible',
284
-	'impossible' => 'impossible',
285
-	'info_a_suivre' => 'DE SEGUIR>>',
286
-	'info_acces_interdit' => 'Accès proïbit',
287
-	'info_acces_refuse' => 'Accès refusat',
288
-	'info_action' => 'Accion : @action@',
289
-	'info_administrer_rubriques' => 'Podètz administrar aquela rubrica e sas sosrubricas',
290
-	'info_adresse_non_indiquee' => 'Avètz pas indicat l’adreiça de testar !',
291
-	'info_aide' => 'AJUDA :',
292
-	'info_ajouter_mot' => 'Apondre aquel mot',
293
-	'info_annonce' => 'ANONCI',
294
-	'info_annonces_generales' => 'Anoncis generals:',
295
-	'info_article_propose' => 'Article prepausat',
296
-	'info_article_publie' => 'Article publicat',
297
-	'info_article_redaction' => 'Article en cors de redaccion',
298
-	'info_article_refuse' => 'Article refusat',
299
-	'info_article_supprime' => 'Article suprimit',
300
-	'info_articles' => 'Articles',
301
-	'info_articles_a_valider' => 'Los articles de validar',
302
-	'info_articles_proposes' => 'Articles prepausats',
303
-	'info_auteurs_nombre' => 'autor(s)',
304
-	'info_authentification_ftp' => 'autentificacion (per FTP).',
305
-	'info_breves_2' => 'brèvas',
306
-	'info_connexion_refusee' => 'Connexion refusada',
307
-	'info_contact_developpeur' => 'Volgatz contactar un desvolopaire.',
308
-	'info_contenance' => 'Aquel sit conten:',
309
-	'info_contribution' => 'Contribucions de forum', # MODIF
310
-	'info_copyright' => '@spip@ es un logicial liure distribuit @lien_gpl@.',
311
-	'info_copyright_doc' => ' Per mai d’informacions, veire lo sit <a href="@spipnet@">http://www.spip.net/oc</a>.', # MODIF
312
-	'info_copyright_gpl' => 'jos licéncia GPL',
313
-	'info_cours_edition' => 'Vòstres articles en cors de redaccion', # MODIF
314
-	'info_creer_repertoire' => 'Volgatz crear un fichièr o un repertòri nommat',
315
-	'info_creer_repertoire_2' => 'dintre lo sosrepertòri   <b>@repertoire@</b>, puèi:',
316
-	'info_creer_vignette' => 'creacion automatica de la vinheta',
317
-	'info_deplier' => 'Desplegar',
318
-	'info_descriptif_nombre' => 'descriptiu(s) :',
319
-	'info_description' => 'Descripcion :',
320
-	'info_description_2' => 'Descripcion :',
321
-	'info_dimension' => 'Dimensions :',
322
-	'info_ecire_message_prive' => 'Escriure un messatge privat',
323
-	'info_email_invalide' => 'Adreiça e-mail invalida',
324
-	'info_en_cours_validation' => 'Vòstres articles en cors de redaccion',
325
-	'info_en_ligne' => 'Ara en linha:',
326
-	'info_envoyer_message_prive' => 'Mandar un messatge privat a aquel autor',
327
-	'info_erreur_requete' => 'Error dins la requista',
328
-	'info_erreur_squelette2' => 'Ges d’esqueleta <b>@fichier@</b> es pas disponibla...',
329
-	'info_erreur_systeme' => 'Error sistèma (errno @errsys@)',
330
-	'info_erreur_systeme2' => 'Lo disc dur es benlèu plen, o la basa de donadas degalhada.<br />
240
+    // I
241
+    'ical_texte_rss_articles' => 'Lo fichièr "backend" dels articles d’aqueste sit se tròba a l’adreiça:',
242
+    'ical_texte_rss_articles2' => 'Atanben podètz obténer de fichièrs "backend" pels articles de cada rubrica del sit:',
243
+    'ical_texte_rss_breves' => 'Existisson mai d’un fichièr contenent las brèvas del sit. En precisar un numèro de rubrica,  obtendretz sonque las brèvas de la rubrica aquela.',
244
+    'icone_a_suivre' => 'De seguir',
245
+    'icone_admin_site' => 'Administracion del sit',
246
+    'icone_agenda' => 'Agenda',
247
+    'icone_aide_ligne' => 'Ajuda',
248
+    'icone_articles' => 'Articles',
249
+    'icone_auteurs' => 'Autors',
250
+    'icone_brouteur' => 'Navigacion rapida',
251
+    'icone_configuration_site' => 'Configuracion',
252
+    'icone_configurer_site' => 'Configurar vòstre sit',
253
+    'icone_creer_nouvel_auteur' => 'Crear un autor nòu',
254
+    'icone_creer_rubrique' => 'Crear una rubrica',
255
+    'icone_creer_sous_rubrique' => 'Crear una sosrubrica',
256
+    'icone_deconnecter' => 'Se desconnectar',
257
+    'icone_discussions' => 'Discussions',
258
+    'icone_doc_rubrique' => 'Documents de las rubricas',
259
+    'icone_ecrire_article' => 'Escriure un article nòu',
260
+    'icone_edition_site' => 'Edicion',
261
+    'icone_gestion_langues' => 'Gestion de las lengas',
262
+    'icone_informations_personnelles' => 'Informacions personalas',
263
+    'icone_interface_complet' => 'Interfàcia completa',
264
+    'icone_interface_simple' => 'Interfàcia simplificada',
265
+    'icone_maintenance_site' => 'Mantenença del sit',
266
+    'icone_messagerie_personnelle' => 'Messatjariá personala',
267
+    'icone_repartition_debut' => 'Afichar la reparticion dempuèi la començança',
268
+    'icone_rubriques' => 'Rubricas',
269
+    'icone_sauver_site' => 'Salvagarda del sit',
270
+    'icone_site_entier' => 'Tot lo sit ',
271
+    'icone_sites_references' => 'Sits referenciats',
272
+    'icone_statistiques' => 'Estadisticas del sit',
273
+    'icone_suivi_activite' => 'Seguir la vida del sit',
274
+    'icone_suivi_actualite' => 'Evolucion del sit',
275
+    'icone_suivi_pettions' => 'Seguir/gerir las peticions',
276
+    'icone_suivi_revisions' => 'Modificacions dels articles',
277
+    'icone_supprimer_document' => 'Suprimir aquel document',
278
+    'icone_supprimer_image' => 'Suprimir aquel imatge',
279
+    'icone_tous_articles' => 'Totes vòstres articles ',
280
+    'icone_tous_auteur' => 'Totes los autors ',
281
+    'icone_visiter_site' => 'Vesitar', # MODIF
282
+    'icone_voir_en_ligne' => 'Veire en linha',
283
+    'img_indisponible' => 'imatge indisponible',
284
+    'impossible' => 'impossible',
285
+    'info_a_suivre' => 'DE SEGUIR>>',
286
+    'info_acces_interdit' => 'Accès proïbit',
287
+    'info_acces_refuse' => 'Accès refusat',
288
+    'info_action' => 'Accion : @action@',
289
+    'info_administrer_rubriques' => 'Podètz administrar aquela rubrica e sas sosrubricas',
290
+    'info_adresse_non_indiquee' => 'Avètz pas indicat l’adreiça de testar !',
291
+    'info_aide' => 'AJUDA :',
292
+    'info_ajouter_mot' => 'Apondre aquel mot',
293
+    'info_annonce' => 'ANONCI',
294
+    'info_annonces_generales' => 'Anoncis generals:',
295
+    'info_article_propose' => 'Article prepausat',
296
+    'info_article_publie' => 'Article publicat',
297
+    'info_article_redaction' => 'Article en cors de redaccion',
298
+    'info_article_refuse' => 'Article refusat',
299
+    'info_article_supprime' => 'Article suprimit',
300
+    'info_articles' => 'Articles',
301
+    'info_articles_a_valider' => 'Los articles de validar',
302
+    'info_articles_proposes' => 'Articles prepausats',
303
+    'info_auteurs_nombre' => 'autor(s)',
304
+    'info_authentification_ftp' => 'autentificacion (per FTP).',
305
+    'info_breves_2' => 'brèvas',
306
+    'info_connexion_refusee' => 'Connexion refusada',
307
+    'info_contact_developpeur' => 'Volgatz contactar un desvolopaire.',
308
+    'info_contenance' => 'Aquel sit conten:',
309
+    'info_contribution' => 'Contribucions de forum', # MODIF
310
+    'info_copyright' => '@spip@ es un logicial liure distribuit @lien_gpl@.',
311
+    'info_copyright_doc' => ' Per mai d’informacions, veire lo sit <a href="@spipnet@">http://www.spip.net/oc</a>.', # MODIF
312
+    'info_copyright_gpl' => 'jos licéncia GPL',
313
+    'info_cours_edition' => 'Vòstres articles en cors de redaccion', # MODIF
314
+    'info_creer_repertoire' => 'Volgatz crear un fichièr o un repertòri nommat',
315
+    'info_creer_repertoire_2' => 'dintre lo sosrepertòri   <b>@repertoire@</b>, puèi:',
316
+    'info_creer_vignette' => 'creacion automatica de la vinheta',
317
+    'info_deplier' => 'Desplegar',
318
+    'info_descriptif_nombre' => 'descriptiu(s) :',
319
+    'info_description' => 'Descripcion :',
320
+    'info_description_2' => 'Descripcion :',
321
+    'info_dimension' => 'Dimensions :',
322
+    'info_ecire_message_prive' => 'Escriure un messatge privat',
323
+    'info_email_invalide' => 'Adreiça e-mail invalida',
324
+    'info_en_cours_validation' => 'Vòstres articles en cors de redaccion',
325
+    'info_en_ligne' => 'Ara en linha:',
326
+    'info_envoyer_message_prive' => 'Mandar un messatge privat a aquel autor',
327
+    'info_erreur_requete' => 'Error dins la requista',
328
+    'info_erreur_squelette2' => 'Ges d’esqueleta <b>@fichier@</b> es pas disponibla...',
329
+    'info_erreur_systeme' => 'Error sistèma (errno @errsys@)',
330
+    'info_erreur_systeme2' => 'Lo disc dur es benlèu plen, o la basa de donadas degalhada.<br />
331 331
 <span style="color:red;">Assajatz de <a href=\'@script@\'>reparar la basa</a>, o contactatz vòstre albergador.</span>',
332
-	'info_fini' => 'Es acabat !',
333
-	'info_format_image' => 'Formats d’imatges que se pòdon utilizar per crear de vinhetas: @gd_formats@.',
334
-	'info_format_non_defini' => 'format non definit',
335
-	'info_grand_ecran' => 'Ecran grand',
336
-	'info_image_aide' => 'AJUDA',
337
-	'info_image_process_titre' => 'Metòde de fabricacion de las vinhetas',
338
-	'info_impossible_lire_page' => '<b>Error!</b> Impossible de legir la pagina <tt><html>@test_proxy@</html></tt> a travèrs del proxy <tt>',
339
-	'info_installation_systeme_publication' => 'Installacion del sistèma de publicacion...',
340
-	'info_installer_documents' => 'Podètz installar automaticament totes los documents contenguts dins lo repertòri @upload@.',
341
-	'info_installer_ftp' => 'Coma administrator, podètz installar (per FTP) de fichièrs dins lo repertòri @upload@,  puèi los  seleccionar dirèctament aicí.',
342
-	'info_installer_images' => 'Podètz installar d’imatges als formats JPEG, GIF e PNG.',
343
-	'info_installer_images_dossier' => 'Installar d’imatges dins lo reprtòri @upload@ per los poder seleccionar aicí.',
344
-	'info_interface_complete' => 'Interfàcia completa',
345
-	'info_interface_simple' => 'Interfàcia simplificada',
346
-	'info_joindre_document_article' => 'Podètz jónher a aquel article de documents de la mena de',
347
-	'info_joindre_document_rubrique' => 'Podètz apondre a aquela rubrica de documents de la mena de',
348
-	'info_joindre_documents_article' => 'Podètz jónher a aquel article de documents de la mena de:',
349
-	'info_l_article' => 'l’article',
350
-	'info_la_breve' => 'la brèva',
351
-	'info_la_rubrique' => 'la rubrica',
352
-	'info_langue_principale' => 'Lenga majorala del sit',
353
-	'info_largeur_vignette' => '@largeur_vignette@ x @hauteur_vignette@ pixèls',
354
-	'info_les_auteurs_1' => 'per @les_auteurs@ ',
355
-	'info_logo_format_interdit' => 'Los lògos de formats @formats@ son sols autorizats.',
356
-	'info_logo_max_poids' => 'Los lògos an de far mens de @maxi@ (aqueste fichièr fa @actuel@).',
357
-	'info_mail_fournisseur' => '[email protected]',
358
-	'info_message_2' => 'MESSATGE',
359
-	'info_message_supprime' => 'MESSATGE SUPRIMIT',
360
-	'info_mise_en_ligne' => 'Data de mesa en linha:',
361
-	'info_modification_parametres_securite' => 'modificacions dels paramètres de seguretat',
362
-	'info_mois_courant' => 'Dins lo corrent del mes:',
363
-	'info_mot_cle_ajoute' => 'S’es apondut lo mot clau seguent a ',
364
-	'info_multi_herit' => 'Lenga predefinida',
365
-	'info_multi_langues_soulignees' => 'Las <u>lengas solinhadas</u> benefícian d’una revirada de totes los tèxtes de l’interfàcia. Se seleccionatz aquelas lengas, fòrça elements del sit public (datas, formularis) se reviraràn automaticament. Per las lengas non solinhadas, aqueles elements apareisseràn dins la lenga principala del sit.', # MODIF
366
-	'info_multilinguisme' => 'Multilingüisme',
367
-	'info_nom_non_utilisateurs_connectes' => 'Vòstre nom apareis pas dins la tièra dels utilizaires connectats.',
368
-	'info_nom_utilisateurs_connectes' => 'Lo vòstre nom apareis dins la tièra dels utilizaires connectats.',
369
-	'info_nombre_en_ligne' => 'Ara en linha:',
370
-	'info_non_resultat' => 'Pas cap de resultat per "@cherche_mot@"',
371
-	'info_non_utilisation_messagerie' => 'Utilizatz pas la messatjariá intèrna d’aquel sit.',
372
-	'info_nouveau_message' => 'AVÈTZ UN MESSATGE NÒU',
373
-	'info_nouveaux_messages' => 'AVÈTZ @total_messages@ MESSATGES NÒUS',
374
-	'info_numero_abbreviation' => 'N° ',
375
-	'info_pense_bete' => 'MEMENTO',
376
-	'info_petit_ecran' => 'Ecran pichòt ',
377
-	'info_pixels' => 'pixèls',
378
-	'info_plusieurs_mots_trouves' => 'Mai d’un mot clau trobat per "@cherche_mot@" :',
379
-	'info_portfolio_automatique' => 'Pòrtfòlio automatic:',
380
-	'info_premier_resultat' => '[@debut_limit@ primièrs resultats de @total@]',
381
-	'info_premier_resultat_sur' => ' [@debut_limit@ primièrs resultats de @total@]',
382
-	'info_propose_1' => '[@nom_site_spip@] Prepausa: @titre@',
383
-	'info_propose_2' => 'Article prepausat
332
+    'info_fini' => 'Es acabat !',
333
+    'info_format_image' => 'Formats d’imatges que se pòdon utilizar per crear de vinhetas: @gd_formats@.',
334
+    'info_format_non_defini' => 'format non definit',
335
+    'info_grand_ecran' => 'Ecran grand',
336
+    'info_image_aide' => 'AJUDA',
337
+    'info_image_process_titre' => 'Metòde de fabricacion de las vinhetas',
338
+    'info_impossible_lire_page' => '<b>Error!</b> Impossible de legir la pagina <tt><html>@test_proxy@</html></tt> a travèrs del proxy <tt>',
339
+    'info_installation_systeme_publication' => 'Installacion del sistèma de publicacion...',
340
+    'info_installer_documents' => 'Podètz installar automaticament totes los documents contenguts dins lo repertòri @upload@.',
341
+    'info_installer_ftp' => 'Coma administrator, podètz installar (per FTP) de fichièrs dins lo repertòri @upload@,  puèi los  seleccionar dirèctament aicí.',
342
+    'info_installer_images' => 'Podètz installar d’imatges als formats JPEG, GIF e PNG.',
343
+    'info_installer_images_dossier' => 'Installar d’imatges dins lo reprtòri @upload@ per los poder seleccionar aicí.',
344
+    'info_interface_complete' => 'Interfàcia completa',
345
+    'info_interface_simple' => 'Interfàcia simplificada',
346
+    'info_joindre_document_article' => 'Podètz jónher a aquel article de documents de la mena de',
347
+    'info_joindre_document_rubrique' => 'Podètz apondre a aquela rubrica de documents de la mena de',
348
+    'info_joindre_documents_article' => 'Podètz jónher a aquel article de documents de la mena de:',
349
+    'info_l_article' => 'l’article',
350
+    'info_la_breve' => 'la brèva',
351
+    'info_la_rubrique' => 'la rubrica',
352
+    'info_langue_principale' => 'Lenga majorala del sit',
353
+    'info_largeur_vignette' => '@largeur_vignette@ x @hauteur_vignette@ pixèls',
354
+    'info_les_auteurs_1' => 'per @les_auteurs@ ',
355
+    'info_logo_format_interdit' => 'Los lògos de formats @formats@ son sols autorizats.',
356
+    'info_logo_max_poids' => 'Los lògos an de far mens de @maxi@ (aqueste fichièr fa @actuel@).',
357
+    'info_mail_fournisseur' => '[email protected]',
358
+    'info_message_2' => 'MESSATGE',
359
+    'info_message_supprime' => 'MESSATGE SUPRIMIT',
360
+    'info_mise_en_ligne' => 'Data de mesa en linha:',
361
+    'info_modification_parametres_securite' => 'modificacions dels paramètres de seguretat',
362
+    'info_mois_courant' => 'Dins lo corrent del mes:',
363
+    'info_mot_cle_ajoute' => 'S’es apondut lo mot clau seguent a ',
364
+    'info_multi_herit' => 'Lenga predefinida',
365
+    'info_multi_langues_soulignees' => 'Las <u>lengas solinhadas</u> benefícian d’una revirada de totes los tèxtes de l’interfàcia. Se seleccionatz aquelas lengas, fòrça elements del sit public (datas, formularis) se reviraràn automaticament. Per las lengas non solinhadas, aqueles elements apareisseràn dins la lenga principala del sit.', # MODIF
366
+    'info_multilinguisme' => 'Multilingüisme',
367
+    'info_nom_non_utilisateurs_connectes' => 'Vòstre nom apareis pas dins la tièra dels utilizaires connectats.',
368
+    'info_nom_utilisateurs_connectes' => 'Lo vòstre nom apareis dins la tièra dels utilizaires connectats.',
369
+    'info_nombre_en_ligne' => 'Ara en linha:',
370
+    'info_non_resultat' => 'Pas cap de resultat per "@cherche_mot@"',
371
+    'info_non_utilisation_messagerie' => 'Utilizatz pas la messatjariá intèrna d’aquel sit.',
372
+    'info_nouveau_message' => 'AVÈTZ UN MESSATGE NÒU',
373
+    'info_nouveaux_messages' => 'AVÈTZ @total_messages@ MESSATGES NÒUS',
374
+    'info_numero_abbreviation' => 'N° ',
375
+    'info_pense_bete' => 'MEMENTO',
376
+    'info_petit_ecran' => 'Ecran pichòt ',
377
+    'info_pixels' => 'pixèls',
378
+    'info_plusieurs_mots_trouves' => 'Mai d’un mot clau trobat per "@cherche_mot@" :',
379
+    'info_portfolio_automatique' => 'Pòrtfòlio automatic:',
380
+    'info_premier_resultat' => '[@debut_limit@ primièrs resultats de @total@]',
381
+    'info_premier_resultat_sur' => ' [@debut_limit@ primièrs resultats de @total@]',
382
+    'info_propose_1' => '[@nom_site_spip@] Prepausa: @titre@',
383
+    'info_propose_2' => 'Article prepausat
384 384
 ---------------',
385
-	'info_propose_3' => 'L’article "@titre@" es prepausat a la publicacion.',
386
-	'info_propose_4' => 'Vos convidam a lo venir consultar e a donar vòstre vejaire',
387
-	'info_propose_5' => 'dins lo forum que li es estacat. Es disponible a l’adreiça:',
388
-	'info_publie_01' => 'L’article "@titre@" es estat validat per @connect_nom@.',
389
-	'info_publie_1' => '[@nom_site_spip@] PUBLICA: @titre@',
390
-	'info_publie_2' => 'Article publicat
385
+    'info_propose_3' => 'L’article "@titre@" es prepausat a la publicacion.',
386
+    'info_propose_4' => 'Vos convidam a lo venir consultar e a donar vòstre vejaire',
387
+    'info_propose_5' => 'dins lo forum que li es estacat. Es disponible a l’adreiça:',
388
+    'info_publie_01' => 'L’article "@titre@" es estat validat per @connect_nom@.',
389
+    'info_publie_1' => '[@nom_site_spip@] PUBLICA: @titre@',
390
+    'info_publie_2' => 'Article publicat
391 391
 --------------',
392
-	'info_rechercher' => 'Cercar',
393
-	'info_rechercher_02' => 'Cercar:',
394
-	'info_remplacer_vignette' => 'Remplaçar la vinheta predefinida per un lògo personalizat:',
395
-	'info_sans_titre_2' => 'sens títol',
396
-	'info_selectionner_fichier' => 'Podètz seleccionar un fichièr del dorsièr @upload@',
397
-	'info_selectionner_fichier_2' => 'Seleccionar un fichièr:',
398
-	'info_supprimer_vignette' => 'suprimir la vinheta',
399
-	'info_symbole_bleu' => 'Lo simbèl <b>blau</b> marca un <b>memento</b>: valent a dire un messatge per vòstre usatge personal.',
400
-	'info_symbole_jaune' => 'Lo simbèl <b>jaune</b> marca un <b>anonci per totes los redactors </b>: los administrators lo pòdon modificar, cada redactor lo pòt veire.',
401
-	'info_symbole_vert' => 'Lo simbèl <b>verd</b> marca los <b>messatges escambiats amb d’autres utilizaires</b> del sit.',
402
-	'info_telecharger_nouveau_logo' => 'Telecargar un lògo nòu:',
403
-	'info_telecharger_ordinateur' => 'Telecargar a partir de vòstre ordenador:',
404
-	'info_tous_resultats_enregistres' => '[totes los resultats son registrats]',
405
-	'info_tout_afficher' => 'O afichar tot',
406
-	'info_travaux_texte' => 'Aquel sit es pas encara configurat. Tornatz mai tard...',
407
-	'info_travaux_titre' => 'Sit en òbras',
408
-	'info_trop_resultat' => 'Tròp de resultats per "@cherche_mot@"; volgatz afinar la recèrca.',
409
-	'info_utilisation_messagerie_interne' => 'Utilizatz la messatjariá intèrna d’aquel sit.',
410
-	'info_valider_lien' => 'validar aquel ligam',
411
-	'info_verifier_image' => ', volgatz verificar que los imatges se sián plan transferits.',
412
-	'info_vignette_defaut' => 'Vinheta predefinida',
413
-	'info_vignette_personnalisee' => 'Vinheta personalizada',
414
-	'info_visite' => 'vesita:',
415
-	'info_vos_rendez_vous' => 'Los vòstres rendètz-vos venents',
416
-	'infos_vos_pense_bete' => 'Vòstres mementos', # MODIF
392
+    'info_rechercher' => 'Cercar',
393
+    'info_rechercher_02' => 'Cercar:',
394
+    'info_remplacer_vignette' => 'Remplaçar la vinheta predefinida per un lògo personalizat:',
395
+    'info_sans_titre_2' => 'sens títol',
396
+    'info_selectionner_fichier' => 'Podètz seleccionar un fichièr del dorsièr @upload@',
397
+    'info_selectionner_fichier_2' => 'Seleccionar un fichièr:',
398
+    'info_supprimer_vignette' => 'suprimir la vinheta',
399
+    'info_symbole_bleu' => 'Lo simbèl <b>blau</b> marca un <b>memento</b>: valent a dire un messatge per vòstre usatge personal.',
400
+    'info_symbole_jaune' => 'Lo simbèl <b>jaune</b> marca un <b>anonci per totes los redactors </b>: los administrators lo pòdon modificar, cada redactor lo pòt veire.',
401
+    'info_symbole_vert' => 'Lo simbèl <b>verd</b> marca los <b>messatges escambiats amb d’autres utilizaires</b> del sit.',
402
+    'info_telecharger_nouveau_logo' => 'Telecargar un lògo nòu:',
403
+    'info_telecharger_ordinateur' => 'Telecargar a partir de vòstre ordenador:',
404
+    'info_tous_resultats_enregistres' => '[totes los resultats son registrats]',
405
+    'info_tout_afficher' => 'O afichar tot',
406
+    'info_travaux_texte' => 'Aquel sit es pas encara configurat. Tornatz mai tard...',
407
+    'info_travaux_titre' => 'Sit en òbras',
408
+    'info_trop_resultat' => 'Tròp de resultats per "@cherche_mot@"; volgatz afinar la recèrca.',
409
+    'info_utilisation_messagerie_interne' => 'Utilizatz la messatjariá intèrna d’aquel sit.',
410
+    'info_valider_lien' => 'validar aquel ligam',
411
+    'info_verifier_image' => ', volgatz verificar que los imatges se sián plan transferits.',
412
+    'info_vignette_defaut' => 'Vinheta predefinida',
413
+    'info_vignette_personnalisee' => 'Vinheta personalizada',
414
+    'info_visite' => 'vesita:',
415
+    'info_vos_rendez_vous' => 'Los vòstres rendètz-vos venents',
416
+    'infos_vos_pense_bete' => 'Vòstres mementos', # MODIF
417 417
 
418
-	// L
419
-	'lien_afficher_icones_seuls' => 'Afichar sonque las icònas',
420
-	'lien_afficher_texte_icones' => 'Afichar las icònas e lo tèxt',
421
-	'lien_afficher_texte_seul' => 'Afichar sonque lo tèxt',
422
-	'lien_liberer' => 'liberar',
423
-	'lien_liberer_tous' => 'liberar aqueles articles', # MODIF
424
-	'lien_nouvea_pense_bete' => 'MEMENTO NÒU',
425
-	'lien_nouveau_message' => 'MESSATGE NÒU',
426
-	'lien_nouvelle_annonce' => 'ANONCI NOVÈL',
427
-	'lien_petitions' => 'PETICION',
428
-	'lien_popularite' => 'popularitat: @popularite@%',
429
-	'lien_racine_site' => 'RAIÇ DEL SIT',
430
-	'lien_reessayer' => 'tornar ensajar',
431
-	'lien_repondre_message' => 'Respondre a aquel messatge',
432
-	'lien_supprimer' => 'suprimir',
433
-	'lien_tout_afficher' => 'O afichar tot',
434
-	'lien_visite_site' => 'vesitar aquel sit',
435
-	'lien_visites' => '@visites@ vesitas',
436
-	'lien_voir_auteur' => 'Veire aquel autor',
437
-	'ligne' => 'Linha',
438
-	'login_acces_prive' => 'accès a l’espaci privat',
439
-	'login_autre_identifiant' => 'se connectar amb un autre identificant',
440
-	'login_cookie_accepte' => 'Volgatz configurar vòstre navigador per que los accèpte (almens per aquel sit).',
441
-	'login_cookie_oblige' => 'Per vos identificar d’un biais segur sus aqueste sit, vos cal acceptar los cookies.',
442
-	'login_deconnexion_ok' => 'Sètz desconnectat/ada.',
443
-	'login_erreur_pass' => 'Error de mot de santa Clara.',
444
-	'login_espace_prive' => 'espaci privat',
445
-	'login_identifiant_inconnu' => 'L’identificant «@login@» es inconegut.',
446
-	'login_login' => 'Login :',
447
-	'login_login2' => 'Login (identificant de connexion al sit) :', # MODIF
448
-	'login_login_pass_incorrect' => '(Login o mot de santa Clara incorrècte.)',
449
-	'login_motpasseoublie' => 'mot de santa Clara oblidat ?',
450
-	'login_non_securise' => 'Atencion, aquel formulari es pas securizat.
418
+    // L
419
+    'lien_afficher_icones_seuls' => 'Afichar sonque las icònas',
420
+    'lien_afficher_texte_icones' => 'Afichar las icònas e lo tèxt',
421
+    'lien_afficher_texte_seul' => 'Afichar sonque lo tèxt',
422
+    'lien_liberer' => 'liberar',
423
+    'lien_liberer_tous' => 'liberar aqueles articles', # MODIF
424
+    'lien_nouvea_pense_bete' => 'MEMENTO NÒU',
425
+    'lien_nouveau_message' => 'MESSATGE NÒU',
426
+    'lien_nouvelle_annonce' => 'ANONCI NOVÈL',
427
+    'lien_petitions' => 'PETICION',
428
+    'lien_popularite' => 'popularitat: @popularite@%',
429
+    'lien_racine_site' => 'RAIÇ DEL SIT',
430
+    'lien_reessayer' => 'tornar ensajar',
431
+    'lien_repondre_message' => 'Respondre a aquel messatge',
432
+    'lien_supprimer' => 'suprimir',
433
+    'lien_tout_afficher' => 'O afichar tot',
434
+    'lien_visite_site' => 'vesitar aquel sit',
435
+    'lien_visites' => '@visites@ vesitas',
436
+    'lien_voir_auteur' => 'Veire aquel autor',
437
+    'ligne' => 'Linha',
438
+    'login_acces_prive' => 'accès a l’espaci privat',
439
+    'login_autre_identifiant' => 'se connectar amb un autre identificant',
440
+    'login_cookie_accepte' => 'Volgatz configurar vòstre navigador per que los accèpte (almens per aquel sit).',
441
+    'login_cookie_oblige' => 'Per vos identificar d’un biais segur sus aqueste sit, vos cal acceptar los cookies.',
442
+    'login_deconnexion_ok' => 'Sètz desconnectat/ada.',
443
+    'login_erreur_pass' => 'Error de mot de santa Clara.',
444
+    'login_espace_prive' => 'espaci privat',
445
+    'login_identifiant_inconnu' => 'L’identificant «@login@» es inconegut.',
446
+    'login_login' => 'Login :',
447
+    'login_login2' => 'Login (identificant de connexion al sit) :', # MODIF
448
+    'login_login_pass_incorrect' => '(Login o mot de santa Clara incorrècte.)',
449
+    'login_motpasseoublie' => 'mot de santa Clara oblidat ?',
450
+    'login_non_securise' => 'Atencion, aquel formulari es pas securizat.
451 451
     Se volètz pas que vòstre mot de santa Clara siá
452 452
    interceptat sul ret, volgatz activar Javascript 
453 453
    dins vòstre navigador e',
454
-	'login_nouvelle_tentative' => 'novèl ensag',
455
-	'login_par_ici' => 'Sètz registrat/ada... per aquí...',
456
-	'login_pass2' => 'Mot de santa Clara :',
457
-	'login_preferez_refuser' => '<b>Se vos agrada mai de refusar los cookies</b>, un autre metòde de connexion (mens securizat) es a vòstra disposicion:',
458
-	'login_recharger' => 'tornar cargar aquela pagina',
459
-	'login_rester_identifie' => 'Demorar identificat qualques jorns', # MODIF
460
-	'login_retour_public' => 'Tornar al sit public',
461
-	'login_retour_site' => 'Tornar al sit public',
462
-	'login_retoursitepublic' => 'tornar al sit public',
463
-	'login_sinscrire' => 's’inscriure', # MODIF
464
-	'login_test_navigateur' => 'Ensag navigador/tornar connectar',
465
-	'login_verifiez_navigateur' => '(ça que la verificatz que vòstre navigador aja pas servat vòstre mot de santa Clara en memòria...)',
454
+    'login_nouvelle_tentative' => 'novèl ensag',
455
+    'login_par_ici' => 'Sètz registrat/ada... per aquí...',
456
+    'login_pass2' => 'Mot de santa Clara :',
457
+    'login_preferez_refuser' => '<b>Se vos agrada mai de refusar los cookies</b>, un autre metòde de connexion (mens securizat) es a vòstra disposicion:',
458
+    'login_recharger' => 'tornar cargar aquela pagina',
459
+    'login_rester_identifie' => 'Demorar identificat qualques jorns', # MODIF
460
+    'login_retour_public' => 'Tornar al sit public',
461
+    'login_retour_site' => 'Tornar al sit public',
462
+    'login_retoursitepublic' => 'tornar al sit public',
463
+    'login_sinscrire' => 's’inscriure', # MODIF
464
+    'login_test_navigateur' => 'Ensag navigador/tornar connectar',
465
+    'login_verifiez_navigateur' => '(ça que la verificatz que vòstre navigador aja pas servat vòstre mot de santa Clara en memòria...)',
466 466
 
467
-	// M
468
-	'masquer_trad' => 'escondre las reviradas',
469
-	'module_fichiers_langues' => 'Fichièrs de lenga',
467
+    // M
468
+    'masquer_trad' => 'escondre las reviradas',
469
+    'module_fichiers_langues' => 'Fichièrs de lenga',
470 470
 
471
-	// N
472
-	'navigateur_pas_redirige' => 'Se vòstre navigador es pas redirigit, clicatz aicí per contunhar.',
473
-	'numero' => 'Numèro',
471
+    // N
472
+    'navigateur_pas_redirige' => 'Se vòstre navigador es pas redirigit, clicatz aicí per contunhar.',
473
+    'numero' => 'Numèro',
474 474
 
475
-	// O
476
-	'occurence' => 'Ocurréncia',
477
-	'onglet_affacer_base' => 'Escafar la basa',
478
-	'onglet_auteur' => 'L’autor',
479
-	'onglet_contenu_site' => 'Contengut del sit',
480
-	'onglet_evolution_visite_mod' => 'Evolucion',
481
-	'onglet_fonctions_avances' => 'Foncions avançadas',
482
-	'onglet_informations_personnelles' => 'Informacions personalas',
483
-	'onglet_interactivite' => 'Interactivitat',
484
-	'onglet_messagerie' => 'Messatjariá',
485
-	'onglet_repartition_rubrique' => 'Reparticion per rubricas',
486
-	'onglet_save_restaur_base' => 'Salvagardar/restaurar la basa',
487
-	'onglet_vider_cache' => 'Vojar l’escondedor',
475
+    // O
476
+    'occurence' => 'Ocurréncia',
477
+    'onglet_affacer_base' => 'Escafar la basa',
478
+    'onglet_auteur' => 'L’autor',
479
+    'onglet_contenu_site' => 'Contengut del sit',
480
+    'onglet_evolution_visite_mod' => 'Evolucion',
481
+    'onglet_fonctions_avances' => 'Foncions avançadas',
482
+    'onglet_informations_personnelles' => 'Informacions personalas',
483
+    'onglet_interactivite' => 'Interactivitat',
484
+    'onglet_messagerie' => 'Messatjariá',
485
+    'onglet_repartition_rubrique' => 'Reparticion per rubricas',
486
+    'onglet_save_restaur_base' => 'Salvagardar/restaurar la basa',
487
+    'onglet_vider_cache' => 'Vojar l’escondedor',
488 488
 
489
-	// P
490
-	'pass_choix_pass' => 'Volgatz causir vòstre mot de santa Clara novèl:',
491
-	'pass_erreur' => 'Error',
492
-	'pass_erreur_acces_refuse' => '<b>Error :</b> podètz pas pus accedir a aquel sit.',
493
-	'pass_erreur_code_inconnu' => '<b>Error :</b> aquel còde correspond pas a cap de vesitaire que pòsca accedir a aquel sit.',
494
-	'pass_erreur_non_enregistre' => '<b>Error:</b> l’adreiça <tt>@email_oubli@</tt> es pas registrada sus aquel sit.',
495
-	'pass_erreur_non_valide' => '<b>Error:</b> aquel e-mail <tt>@email_oubli@</tt> es pas valid!',
496
-	'pass_erreur_probleme_technique' => '<b>Error:</b> pr’amor d’un problèma tecnic, l’e-mail se pòt pas mandar. ',
497
-	'pass_espace_prive_bla' => 'L’espaci privat d’aqueste sit es dobèrt als
489
+    // P
490
+    'pass_choix_pass' => 'Volgatz causir vòstre mot de santa Clara novèl:',
491
+    'pass_erreur' => 'Error',
492
+    'pass_erreur_acces_refuse' => '<b>Error :</b> podètz pas pus accedir a aquel sit.',
493
+    'pass_erreur_code_inconnu' => '<b>Error :</b> aquel còde correspond pas a cap de vesitaire que pòsca accedir a aquel sit.',
494
+    'pass_erreur_non_enregistre' => '<b>Error:</b> l’adreiça <tt>@email_oubli@</tt> es pas registrada sus aquel sit.',
495
+    'pass_erreur_non_valide' => '<b>Error:</b> aquel e-mail <tt>@email_oubli@</tt> es pas valid!',
496
+    'pass_erreur_probleme_technique' => '<b>Error:</b> pr’amor d’un problèma tecnic, l’e-mail se pòt pas mandar. ',
497
+    'pass_espace_prive_bla' => 'L’espaci privat d’aqueste sit es dobèrt als
498 498
   vesitaires que se son inscriches. Un còp registrat/ada,
499 499
   poiretz consultar los articles en cors de redaccion,
500 500
   prepausar d’articles novèls e participar a totes los forums.',
501
-	'pass_forum_bla' => 'Avètz demandat d’intervenir dins un forum
501
+    'pass_forum_bla' => 'Avètz demandat d’intervenir dins un forum
502 502
   reservat als vesitaires registrats.',
503
-	'pass_indiquez_cidessous' => 'Marcatz çai sota l’adreiça e-mail ont
503
+    'pass_indiquez_cidessous' => 'Marcatz çai sota l’adreiça e-mail ont
504 504
  vos registrèretz lo còp passat. 
505 505
    Recebretz un e-mail que vos bailarà lo biais de 
506 506
     tornar trobar vòstre accès.',
507
-	'pass_mail_passcookie' => '(aquò’s un messatge automatic)
507
+    'pass_mail_passcookie' => '(aquò’s un messatge automatic)
508 508
 Per tornar trobar vòstre accès al sit
509 509
 @nom_site_spip@ (@adresse_site@)
510 510
 
@@ -516,126 +516,126 @@  discard block
 block discarded – undo
516 516
 e vos tornar connectar al sit.
517 517
 
518 518
 ',
519
-	'pass_mot_oublie' => 'Mot de santa Clara desmembrat',
520
-	'pass_nouveau_enregistre' => 'Vòstre mot de santa Clara novèl es estat registrat.',
521
-	'pass_nouveau_pass' => 'Mot de santa Clara novèl',
522
-	'pass_ok' => 'D’acòrdi',
523
-	'pass_oubli_mot' => 'Mot de santa Clara desmembrat',
524
-	'pass_quitter_fenetre' => 'Quitar aquesta fenèstra ',
525
-	'pass_rappel_login' => 'Remembrança: vòstre identificant (login) es « @login@ ».',
526
-	'pass_recevoir_mail' => 'Recebretz un e-mail que vos explicarà cossí tornar trobar vòstre accès al sit.', # MODIF
527
-	'pass_retour_public' => 'Tornar al sit public',
528
-	'pass_rien_a_faire_ici' => 'Pas res a faire aicí.',
529
-	'pass_vousinscrire' => 'S’inscriure sus aqueste sit',
530
-	'precedent' => 'precedent',
531
-	'previsualisation' => 'Previsualizacion',
532
-	'previsualiser' => 'Previsualizar',
519
+    'pass_mot_oublie' => 'Mot de santa Clara desmembrat',
520
+    'pass_nouveau_enregistre' => 'Vòstre mot de santa Clara novèl es estat registrat.',
521
+    'pass_nouveau_pass' => 'Mot de santa Clara novèl',
522
+    'pass_ok' => 'D’acòrdi',
523
+    'pass_oubli_mot' => 'Mot de santa Clara desmembrat',
524
+    'pass_quitter_fenetre' => 'Quitar aquesta fenèstra ',
525
+    'pass_rappel_login' => 'Remembrança: vòstre identificant (login) es « @login@ ».',
526
+    'pass_recevoir_mail' => 'Recebretz un e-mail que vos explicarà cossí tornar trobar vòstre accès al sit.', # MODIF
527
+    'pass_retour_public' => 'Tornar al sit public',
528
+    'pass_rien_a_faire_ici' => 'Pas res a faire aicí.',
529
+    'pass_vousinscrire' => 'S’inscriure sus aqueste sit',
530
+    'precedent' => 'precedent',
531
+    'previsualisation' => 'Previsualizacion',
532
+    'previsualiser' => 'Previsualizar',
533 533
 
534
-	// R
535
-	'retour' => 'Tornar',
534
+    // R
535
+    'retour' => 'Tornar',
536 536
 
537
-	// S
538
-	'spip_conforme_dtd' => 'SPIP considèra aquel document coma confòrm a son DOCTYPE :',
539
-	'squelette' => 'esqueleta',
540
-	'squelette_inclus_ligne' => 'esqueleta inclusa, linha',
541
-	'squelette_ligne' => 'esqueleta, linha',
542
-	'stats_visites_et_popularite' => '@visites@ vesitas; popularitat: @popularite@',
543
-	'suivant' => 'seguent',
537
+    // S
538
+    'spip_conforme_dtd' => 'SPIP considèra aquel document coma confòrm a son DOCTYPE :',
539
+    'squelette' => 'esqueleta',
540
+    'squelette_inclus_ligne' => 'esqueleta inclusa, linha',
541
+    'squelette_ligne' => 'esqueleta, linha',
542
+    'stats_visites_et_popularite' => '@visites@ vesitas; popularitat: @popularite@',
543
+    'suivant' => 'seguent',
544 544
 
545
-	// T
546
-	'taille_ko' => '@taille@ Ko',
547
-	'taille_mo' => '@taille@ Mo',
548
-	'taille_octets' => '@taille@ octets',
549
-	'texte_actualite_site_1' => 'Quand vos seretz familharizat/ada amb l’interfàcia, poiretz clicar sus «',
550
-	'texte_actualite_site_2' => 'Interfàcia completa',
551
-	'texte_actualite_site_3' => '" per dobrir mai de possibilitats.',
552
-	'texte_creation_automatique_vignette' => 'La creacion automatica de vinhetas de previsualizacion es activada sus aquel sit. S’installatz a partir d’aquel formulari d’imatges al(s) format(s) @gd_formats@, s’acompanharàn d’una vinheta d’una talha maximala de @taille_preview@ pixèls.',
553
-	'texte_documents_associes' => 'Los documents seguents s’assòcian a l’article,
545
+    // T
546
+    'taille_ko' => '@taille@ Ko',
547
+    'taille_mo' => '@taille@ Mo',
548
+    'taille_octets' => '@taille@ octets',
549
+    'texte_actualite_site_1' => 'Quand vos seretz familharizat/ada amb l’interfàcia, poiretz clicar sus «',
550
+    'texte_actualite_site_2' => 'Interfàcia completa',
551
+    'texte_actualite_site_3' => '" per dobrir mai de possibilitats.',
552
+    'texte_creation_automatique_vignette' => 'La creacion automatica de vinhetas de previsualizacion es activada sus aquel sit. S’installatz a partir d’aquel formulari d’imatges al(s) format(s) @gd_formats@, s’acompanharàn d’una vinheta d’una talha maximala de @taille_preview@ pixèls.',
553
+    'texte_documents_associes' => 'Los documents seguents s’assòcian a l’article,
554 554
  mas s’inserisson pas
555 555
  dirèctament. Segon la compaginacion del sit public,
556 556
  poiràn aparéisser jos forma de documents jonches.',
557
-	'texte_erreur_mise_niveau_base' => 'Error de basa de donadas pendent la mesa a nivèl. L’imatge <b>@fichier@</b> es pas passat (article @id_article@).
557
+    'texte_erreur_mise_niveau_base' => 'Error de basa de donadas pendent la mesa a nivèl. L’imatge <b>@fichier@</b> es pas passat (article @id_article@).
558 558
   Notatz plan aquela referéncia, tornatz ensajar la mesa a
559 559
  nivèl, e verificatz puèi que los imatges aparescan
560 560
  encara dins los articles.',
561
-	'texte_erreur_visiteur' => 'Avètz assajat d’accedir a l’espaci privat amb un identificant qu’o permet pas.',
562
-	'texte_inc_auth_1' => 'Sètz identificat/ada coma
561
+    'texte_erreur_visiteur' => 'Avètz assajat d’accedir a l’espaci privat amb un identificant qu’o permet pas.',
562
+    'texte_inc_auth_1' => 'Sètz identificat/ada coma
563 563
    <b>@auth_login@</b>, mas aquel login existís pas o pas mai dins la basa.
564 564
   Ensajatz de vos', # MODIF
565
-	'texte_inc_auth_2' => 'tornar connectar',
566
-	'texte_inc_auth_3' => ', aprèp qu’auretz quitat eventualament, puèi
565
+    'texte_inc_auth_2' => 'tornar connectar',
566
+    'texte_inc_auth_3' => ', aprèp qu’auretz quitat eventualament, puèi
567 567
   tornat lançar vòstre navigador.',
568
-	'texte_inc_config' => 'Las modificacions fachas dins aquestas paginas influéncian bravament lo
568
+    'texte_inc_config' => 'Las modificacions fachas dins aquestas paginas influéncian bravament lo
569 569
  foncionament de vòstre sit. Vos aconselham d’i intervenir pas tant que siatz pas
570 570
  acostumat/ada al foncionament del sistèma SPIP. <br /><br /><b>
571 571
  En general, se conselha fòrt
572 572
  de daissar la carga d’aquestas paginas al webmèstre principal de vòstre sit.</b>',
573
-	'texte_inc_meta_1' => 'Lo sistèma a rescontrat una error dins l’escritura del fichièr <code>@fichier@</code>.Volgatz, coma administrator/tritz del sit,',
574
-	'texte_inc_meta_2' => 'verificar los dreches d’escritura',
575
-	'texte_inc_meta_3' => 'dins lo repertòri <code>@repertoire@</code>.',
576
-	'texte_statut_en_cours_redaction' => 'en cors de redaccion',
577
-	'texte_statut_poubelle' => 'al bordilhièr',
578
-	'texte_statut_propose_evaluation' => 'prepausat per avaloracion',
579
-	'texte_statut_publie' => 'publicat en linha',
580
-	'texte_statut_refuse' => 'refusat',
581
-	'titre_ajouter_mot_cle' => 'APONDRE UN MOT CLAU:',
582
-	'titre_cadre_raccourcis' => 'ACORCHAS:',
583
-	'titre_changer_couleur_interface' => 'Cambiar la color de l’interfàcia',
584
-	'titre_image_admin_article' => 'Podètz administrar aqueste article',
585
-	'titre_image_administrateur' => 'Administrator',
586
-	'titre_image_aide' => 'D’ajuda subre aquel element',
587
-	'titre_image_auteur_supprime' => 'Autor suprimit',
588
-	'titre_image_redacteur' => 'Redactor sens accès',
589
-	'titre_image_redacteur_02' => 'Redactor',
590
-	'titre_image_visiteur' => 'Vesitaire',
591
-	'titre_joindre_document' => 'JÓNHER UN DOCUMENT',
592
-	'titre_mots_cles' => 'MOTS CLAU',
593
-	'titre_probleme_technique' => 'Atencion: un problèma tecnic (servidor SQL) empacha d’accedir a aquela part del sit. Mercés de vòstra indulgéncia.',
594
-	'titre_publier_document' => 'PUBLICAR UN DOCUMENT DINS AQUELA RUBRICA',
595
-	'titre_statistiques' => 'Estadisticas del sit',
596
-	'titre_titre_document' => 'Títol del document:',
597
-	'trad_reference' => '(article de referéncia)', # MODIF
573
+    'texte_inc_meta_1' => 'Lo sistèma a rescontrat una error dins l’escritura del fichièr <code>@fichier@</code>.Volgatz, coma administrator/tritz del sit,',
574
+    'texte_inc_meta_2' => 'verificar los dreches d’escritura',
575
+    'texte_inc_meta_3' => 'dins lo repertòri <code>@repertoire@</code>.',
576
+    'texte_statut_en_cours_redaction' => 'en cors de redaccion',
577
+    'texte_statut_poubelle' => 'al bordilhièr',
578
+    'texte_statut_propose_evaluation' => 'prepausat per avaloracion',
579
+    'texte_statut_publie' => 'publicat en linha',
580
+    'texte_statut_refuse' => 'refusat',
581
+    'titre_ajouter_mot_cle' => 'APONDRE UN MOT CLAU:',
582
+    'titre_cadre_raccourcis' => 'ACORCHAS:',
583
+    'titre_changer_couleur_interface' => 'Cambiar la color de l’interfàcia',
584
+    'titre_image_admin_article' => 'Podètz administrar aqueste article',
585
+    'titre_image_administrateur' => 'Administrator',
586
+    'titre_image_aide' => 'D’ajuda subre aquel element',
587
+    'titre_image_auteur_supprime' => 'Autor suprimit',
588
+    'titre_image_redacteur' => 'Redactor sens accès',
589
+    'titre_image_redacteur_02' => 'Redactor',
590
+    'titre_image_visiteur' => 'Vesitaire',
591
+    'titre_joindre_document' => 'JÓNHER UN DOCUMENT',
592
+    'titre_mots_cles' => 'MOTS CLAU',
593
+    'titre_probleme_technique' => 'Atencion: un problèma tecnic (servidor SQL) empacha d’accedir a aquela part del sit. Mercés de vòstra indulgéncia.',
594
+    'titre_publier_document' => 'PUBLICAR UN DOCUMENT DINS AQUELA RUBRICA',
595
+    'titre_statistiques' => 'Estadisticas del sit',
596
+    'titre_titre_document' => 'Títol del document:',
597
+    'trad_reference' => '(article de referéncia)', # MODIF
598 598
 
599
-	// Z
600
-	'zbug_balise_b_aval' => ' : balisa B en aval',
601
-	'zbug_boucle' => 'bloca',
602
-	'zbug_boucle_recursive_undef' => 'bloca recursiva non definida', # MODIF
603
-	'zbug_champ_hors_boucle' => 'Camp @champ@ fòra bloca',
604
-	'zbug_champ_hors_motif' => 'Camp @champ@ en defòra d’una bloca de motiu @motif@', # MODIF
605
-	'zbug_code' => 'còde',
606
-	'zbug_critere_inconnu' => 'critèri inconegut @critere@', # MODIF
607
-	'zbug_distant_interdit' => 'extèrne enebit', # MODIF
608
-	'zbug_doublon_table_sans_index' => 'doblons sus una taula sens indèx', # MODIF
609
-	'zbug_erreur_boucle_double' => 'BLOCA@id@: definicion dobla', # MODIF
610
-	'zbug_erreur_boucle_fermant' => 'BLOCA@id@: lo tag barrador manca', # MODIF
611
-	'zbug_erreur_boucle_syntaxe' => 'Sintaxi bloca incorrècta', # MODIF
612
-	'zbug_erreur_compilation' => 'Error de compilacion',
613
-	'zbug_erreur_execution_page' => 'error d’execucion de la pagina', # MODIF
614
-	'zbug_erreur_filtre' => 'Error: filtre <b>« @filtre@ »</b> non definit', # MODIF
615
-	'zbug_erreur_meme_parent' => '{meme_parent} s’aplica sonque a las blocas (FORUMS) o (RUBRIQUES)', # MODIF
616
-	'zbug_erreur_squelette' => 'Error(s) dins l’esqueleta',
617
-	'zbug_info_erreur_squelette' => 'Error subre lo sit',
618
-	'zbug_inversion_ordre_inexistant' => 'inversion d’un òrdre inexistent', # MODIF
619
-	'zbug_pagination_sans_critere' => '#PAGINATION sens critèri {pagination} o emplegat dins una bocla recursiva', # MODIF
620
-	'zbug_parametres_inclus_incorrects' => 'Paramètres d’inclusion incorrèctes', # MODIF
621
-	'zbug_profile' => 'Temps de calcul: @time@',
622
-	'zbug_resultat' => 'resultat',
623
-	'zbug_serveur_indefini' => 'servidor SQL indefinit', # MODIF
624
-	'zbug_table_inconnue' => 'Taula SQL « @table@ » inconeguda',
625
-	'zxml_connus_attributs' => 'atributs coneguts',
626
-	'zxml_de' => 'de',
627
-	'zxml_inconnu_attribut' => 'atribut inconegut',
628
-	'zxml_inconnu_balise' => 'balisa inconeguda',
629
-	'zxml_inconnu_entite' => 'entitat inconeguda',
630
-	'zxml_inconnu_id' => 'ID inconegut',
631
-	'zxml_mais_de' => 'mas de',
632
-	'zxml_non_conforme' => 'es pas confòrm al motiu',
633
-	'zxml_non_fils' => 'es pas un filh de',
634
-	'zxml_nonvide_balise' => 'balisa non voida',
635
-	'zxml_obligatoire_attribut' => 'atribut obligatòri mas absent dins',
636
-	'zxml_succession_fils_incorrecte' => 'succession dels filhs incorrècte',
637
-	'zxml_survoler' => 'susvolar per veire los corrèctes',
638
-	'zxml_valeur_attribut' => 'valor de l’atribut',
639
-	'zxml_vide_balise' => 'balise voida',
640
-	'zxml_vu' => 'vist aperavant'
599
+    // Z
600
+    'zbug_balise_b_aval' => ' : balisa B en aval',
601
+    'zbug_boucle' => 'bloca',
602
+    'zbug_boucle_recursive_undef' => 'bloca recursiva non definida', # MODIF
603
+    'zbug_champ_hors_boucle' => 'Camp @champ@ fòra bloca',
604
+    'zbug_champ_hors_motif' => 'Camp @champ@ en defòra d’una bloca de motiu @motif@', # MODIF
605
+    'zbug_code' => 'còde',
606
+    'zbug_critere_inconnu' => 'critèri inconegut @critere@', # MODIF
607
+    'zbug_distant_interdit' => 'extèrne enebit', # MODIF
608
+    'zbug_doublon_table_sans_index' => 'doblons sus una taula sens indèx', # MODIF
609
+    'zbug_erreur_boucle_double' => 'BLOCA@id@: definicion dobla', # MODIF
610
+    'zbug_erreur_boucle_fermant' => 'BLOCA@id@: lo tag barrador manca', # MODIF
611
+    'zbug_erreur_boucle_syntaxe' => 'Sintaxi bloca incorrècta', # MODIF
612
+    'zbug_erreur_compilation' => 'Error de compilacion',
613
+    'zbug_erreur_execution_page' => 'error d’execucion de la pagina', # MODIF
614
+    'zbug_erreur_filtre' => 'Error: filtre <b>« @filtre@ »</b> non definit', # MODIF
615
+    'zbug_erreur_meme_parent' => '{meme_parent} s’aplica sonque a las blocas (FORUMS) o (RUBRIQUES)', # MODIF
616
+    'zbug_erreur_squelette' => 'Error(s) dins l’esqueleta',
617
+    'zbug_info_erreur_squelette' => 'Error subre lo sit',
618
+    'zbug_inversion_ordre_inexistant' => 'inversion d’un òrdre inexistent', # MODIF
619
+    'zbug_pagination_sans_critere' => '#PAGINATION sens critèri {pagination} o emplegat dins una bocla recursiva', # MODIF
620
+    'zbug_parametres_inclus_incorrects' => 'Paramètres d’inclusion incorrèctes', # MODIF
621
+    'zbug_profile' => 'Temps de calcul: @time@',
622
+    'zbug_resultat' => 'resultat',
623
+    'zbug_serveur_indefini' => 'servidor SQL indefinit', # MODIF
624
+    'zbug_table_inconnue' => 'Taula SQL « @table@ » inconeguda',
625
+    'zxml_connus_attributs' => 'atributs coneguts',
626
+    'zxml_de' => 'de',
627
+    'zxml_inconnu_attribut' => 'atribut inconegut',
628
+    'zxml_inconnu_balise' => 'balisa inconeguda',
629
+    'zxml_inconnu_entite' => 'entitat inconeguda',
630
+    'zxml_inconnu_id' => 'ID inconegut',
631
+    'zxml_mais_de' => 'mas de',
632
+    'zxml_non_conforme' => 'es pas confòrm al motiu',
633
+    'zxml_non_fils' => 'es pas un filh de',
634
+    'zxml_nonvide_balise' => 'balisa non voida',
635
+    'zxml_obligatoire_attribut' => 'atribut obligatòri mas absent dins',
636
+    'zxml_succession_fils_incorrecte' => 'succession dels filhs incorrècte',
637
+    'zxml_survoler' => 'susvolar per veire los corrèctes',
638
+    'zxml_valeur_attribut' => 'valor de l’atribut',
639
+    'zxml_vide_balise' => 'balise voida',
640
+    'zxml_vu' => 'vist aperavant'
641 641
 );
Please login to merge, or discard this patch.
ecrire/lang/spip_eo.php 1 patch
Indentation   +656 added lines, -656 removed lines patch added patch discarded remove patch
@@ -4,584 +4,584 @@  discard block
 block discarded – undo
4 4
 // ** ne pas modifier le fichier **
5 5
 
6 6
 if (!defined('_ECRIRE_INC_VERSION')) {
7
-	return;
7
+    return;
8 8
 }
9 9
 
10 10
 $GLOBALS[$GLOBALS['idx_lang']] = array(
11 11
 
12
-	// A
13
-	'access_interface_graphique' => 'Reen al kompleta grafika interfaco',
14
-	'access_mode_texte' => 'Afiŝi la simpligitan tekstan interfacon',
15
-	'admin_debug' => 'erarserĉilo',
16
-	'admin_modifier_article' => 'Modifu tiun ĉi artikolon',
17
-	'admin_modifier_auteur' => 'Modifu tiun ĉi aŭtoron',
18
-	'admin_modifier_breve' => 'Modifu tiun ĉi fulm-informon',
19
-	'admin_modifier_mot' => 'Modifu tiun ĉi ŝlosilvorton',
20
-	'admin_modifier_rubrique' => 'Modifu tiun ĉi rubrikon',
21
-	'admin_recalculer' => 'Rekalkulu tiun ĉi paĝon',
22
-	'afficher_calendrier' => 'Montri la kalendaro',
23
-	'afficher_trad' => 'afiŝi la tradukojn',
24
-	'alerte_maj_impossible' => '<b>Alarmo !</b> La ĝisdatigo de la SQL-datenbazo al versio @version@ ne eblas pro datenbazo-modif-rajtaj kialoj. Bonvolu kontakti vian retgastiganton.',
25
-	'alerte_modif_info_concourante' => 'ATENTU : Tiu ĉi informo estis modifita de alia homo. La nuna stato estas :',
26
-	'analyse_xml' => 'XML analizo',
27
-	'annuler' => 'Nuligi',
28
-	'antispam_champ_vide' => 'Bonvolu forlasi tiun tajpujon malplena :',
29
-	'articles_recents' => 'La plej freŝaj artikoloj',
30
-	'avis_1_erreur_saisie' => 'Estas 1 eraro en via tajpado, bonvolu kontroli ĝin.',
31
-	'avis_archive_incorrect' => 'Tiu arkivo ne estas SPIP-dosiero',
32
-	'avis_archive_invalide' => 'Tiu arkiva dosiero ne validas',
33
-	'avis_attention' => 'ATENTU !',
34
-	'avis_champ_incorrect_type_objet' => 'Erara tajpuja nomo @name@ por la objekto de tipo @type@',
35
-	'avis_colonne_inexistante' => 'La kolumno @col@ ne ekzistas',
36
-	'avis_erreur' => 'Eraro : vidu ĉi-sube',
37
-	'avis_erreur_connexion' => 'Konekt-eraro',
38
-	'avis_erreur_cookie' => 'kuketo-problemo',
39
-	'avis_erreur_fonction_contexte' => 'Program-eraro. Tiu funkcio ne alvokeblas en tiu ĉi kunteksto.',
40
-	'avis_erreur_mysql' => 'SQL-eraro',
41
-	'avis_erreur_sauvegarde' => 'Konservo-eraro (@type@ @id_objet@) ! ',
42
-	'avis_erreur_visiteur' => 'Alir-problemo al la privata spaco',
43
-	'avis_nb_erreurs_saisie' => 'Estas @nb@ eraroj en via tajpado, bonvolu kontroli ilin.',
12
+    // A
13
+    'access_interface_graphique' => 'Reen al kompleta grafika interfaco',
14
+    'access_mode_texte' => 'Afiŝi la simpligitan tekstan interfacon',
15
+    'admin_debug' => 'erarserĉilo',
16
+    'admin_modifier_article' => 'Modifu tiun ĉi artikolon',
17
+    'admin_modifier_auteur' => 'Modifu tiun ĉi aŭtoron',
18
+    'admin_modifier_breve' => 'Modifu tiun ĉi fulm-informon',
19
+    'admin_modifier_mot' => 'Modifu tiun ĉi ŝlosilvorton',
20
+    'admin_modifier_rubrique' => 'Modifu tiun ĉi rubrikon',
21
+    'admin_recalculer' => 'Rekalkulu tiun ĉi paĝon',
22
+    'afficher_calendrier' => 'Montri la kalendaro',
23
+    'afficher_trad' => 'afiŝi la tradukojn',
24
+    'alerte_maj_impossible' => '<b>Alarmo !</b> La ĝisdatigo de la SQL-datenbazo al versio @version@ ne eblas pro datenbazo-modif-rajtaj kialoj. Bonvolu kontakti vian retgastiganton.',
25
+    'alerte_modif_info_concourante' => 'ATENTU : Tiu ĉi informo estis modifita de alia homo. La nuna stato estas :',
26
+    'analyse_xml' => 'XML analizo',
27
+    'annuler' => 'Nuligi',
28
+    'antispam_champ_vide' => 'Bonvolu forlasi tiun tajpujon malplena :',
29
+    'articles_recents' => 'La plej freŝaj artikoloj',
30
+    'avis_1_erreur_saisie' => 'Estas 1 eraro en via tajpado, bonvolu kontroli ĝin.',
31
+    'avis_archive_incorrect' => 'Tiu arkivo ne estas SPIP-dosiero',
32
+    'avis_archive_invalide' => 'Tiu arkiva dosiero ne validas',
33
+    'avis_attention' => 'ATENTU !',
34
+    'avis_champ_incorrect_type_objet' => 'Erara tajpuja nomo @name@ por la objekto de tipo @type@',
35
+    'avis_colonne_inexistante' => 'La kolumno @col@ ne ekzistas',
36
+    'avis_erreur' => 'Eraro : vidu ĉi-sube',
37
+    'avis_erreur_connexion' => 'Konekt-eraro',
38
+    'avis_erreur_cookie' => 'kuketo-problemo',
39
+    'avis_erreur_fonction_contexte' => 'Program-eraro. Tiu funkcio ne alvokeblas en tiu ĉi kunteksto.',
40
+    'avis_erreur_mysql' => 'SQL-eraro',
41
+    'avis_erreur_sauvegarde' => 'Konservo-eraro (@type@ @id_objet@) ! ',
42
+    'avis_erreur_visiteur' => 'Alir-problemo al la privata spaco',
43
+    'avis_nb_erreurs_saisie' => 'Estas @nb@ eraroj en via tajpado, bonvolu kontroli ilin.',
44 44
 
45
-	// B
46
-	'barre_a_accent_grave' => 'Entajpi malakut-akcentan ĉefliteran A',
47
-	'barre_aide' => 'Uzu la tipografiajn rapidligilojn por pliriĉigi vian enpaĝigon',
48
-	'barre_e_accent_aigu' => 'Entajpi malakut-akcentan ĉefliteran E',
49
-	'barre_eo' => 'Entajpi E en ĉefliteran O',
50
-	'barre_eo_maj' => 'Entajpi E en la ĉeflitero O',
51
-	'barre_euro' => 'Entajpi la simbolon €',
52
-	'barre_gras' => '{{Grasigi}}',
53
-	'barre_guillemets' => 'Flanki per « citiloj »',
54
-	'barre_guillemets_simples' => 'Flanki per “simplaj citiloj”',
55
-	'barre_intertitre' => '{{{Intertitoligi}}}',
56
-	'barre_italic' => '{Kursivigi}',
57
-	'barre_lien' => 'Transformi al [hiperligo->http://...]',
58
-	'barre_lien_input' => 'Bonvolu indiki la retadreson de via ligilo (vi povas indiki ret-adreson tian, kia http://www.monsite.com aŭ simple indiki la numeron de artikolo de tiu retejo.',
59
-	'barre_note' => 'Transformi al [[sub-paĝan noton]]',
60
-	'barre_paragraphe' => 'Krei paragrafon',
61
-	'barre_quote' => '<quote>Citi mesaĝon</quote>',
62
-	'bouton_changer' => 'Ŝanĝi',
63
-	'bouton_chercher' => 'Serĉi',
64
-	'bouton_choisir' => 'Elekti',
65
-	'bouton_deplacer' => 'Movi',
66
-	'bouton_download' => 'Elŝuti',
67
-	'bouton_enregistrer' => 'Registri',
68
-	'bouton_radio_desactiver_messagerie_interne' => 'Malŝalti la internan mesaĝilon',
69
-	'bouton_radio_envoi_annonces' => 'Sendi la ĉefartikolajn anoncojn',
70
-	'bouton_radio_non_envoi_annonces' => 'Ne sendi anoncojn',
71
-	'bouton_radio_non_envoi_liste_nouveautes' => 'Ne sendi liston de novaĵoj',
72
-	'bouton_recharger_page' => 'freŝigi tiun paĝon',
73
-	'bouton_telecharger' => 'Alŝuti',
74
-	'bouton_upload' => 'Alŝuti',
75
-	'bouton_valider' => 'Validigi',
45
+    // B
46
+    'barre_a_accent_grave' => 'Entajpi malakut-akcentan ĉefliteran A',
47
+    'barre_aide' => 'Uzu la tipografiajn rapidligilojn por pliriĉigi vian enpaĝigon',
48
+    'barre_e_accent_aigu' => 'Entajpi malakut-akcentan ĉefliteran E',
49
+    'barre_eo' => 'Entajpi E en ĉefliteran O',
50
+    'barre_eo_maj' => 'Entajpi E en la ĉeflitero O',
51
+    'barre_euro' => 'Entajpi la simbolon €',
52
+    'barre_gras' => '{{Grasigi}}',
53
+    'barre_guillemets' => 'Flanki per « citiloj »',
54
+    'barre_guillemets_simples' => 'Flanki per “simplaj citiloj”',
55
+    'barre_intertitre' => '{{{Intertitoligi}}}',
56
+    'barre_italic' => '{Kursivigi}',
57
+    'barre_lien' => 'Transformi al [hiperligo->http://...]',
58
+    'barre_lien_input' => 'Bonvolu indiki la retadreson de via ligilo (vi povas indiki ret-adreson tian, kia http://www.monsite.com aŭ simple indiki la numeron de artikolo de tiu retejo.',
59
+    'barre_note' => 'Transformi al [[sub-paĝan noton]]',
60
+    'barre_paragraphe' => 'Krei paragrafon',
61
+    'barre_quote' => '<quote>Citi mesaĝon</quote>',
62
+    'bouton_changer' => 'Ŝanĝi',
63
+    'bouton_chercher' => 'Serĉi',
64
+    'bouton_choisir' => 'Elekti',
65
+    'bouton_deplacer' => 'Movi',
66
+    'bouton_download' => 'Elŝuti',
67
+    'bouton_enregistrer' => 'Registri',
68
+    'bouton_radio_desactiver_messagerie_interne' => 'Malŝalti la internan mesaĝilon',
69
+    'bouton_radio_envoi_annonces' => 'Sendi la ĉefartikolajn anoncojn',
70
+    'bouton_radio_non_envoi_annonces' => 'Ne sendi anoncojn',
71
+    'bouton_radio_non_envoi_liste_nouveautes' => 'Ne sendi liston de novaĵoj',
72
+    'bouton_recharger_page' => 'freŝigi tiun paĝon',
73
+    'bouton_telecharger' => 'Alŝuti',
74
+    'bouton_upload' => 'Alŝuti',
75
+    'bouton_valider' => 'Validigi',
76 76
 
77
-	// C
78
-	'cal_apresmidi' => 'posttagmezo',
79
-	'cal_jour_entier' => 'tuta tago',
80
-	'cal_matin' => 'mateno',
81
-	'cal_par_jour' => 'tag-kalendaro',
82
-	'cal_par_mois' => 'monat-kalendaro',
83
-	'cal_par_semaine' => 'semajn-kalendaro',
84
-	'choix_couleur_interface' => 'koloro',
85
-	'choix_interface' => 'elekto de interfaco',
86
-	'colonne' => 'Kolumno',
87
-	'confirm_changer_statut' => 'Atentu, vi petis por ŝanĝi la statuton de tiu elemento. Ĉu vi deziras daŭrigi ?',
88
-	'correcte' => 'korekta',
77
+    // C
78
+    'cal_apresmidi' => 'posttagmezo',
79
+    'cal_jour_entier' => 'tuta tago',
80
+    'cal_matin' => 'mateno',
81
+    'cal_par_jour' => 'tag-kalendaro',
82
+    'cal_par_mois' => 'monat-kalendaro',
83
+    'cal_par_semaine' => 'semajn-kalendaro',
84
+    'choix_couleur_interface' => 'koloro',
85
+    'choix_interface' => 'elekto de interfaco',
86
+    'colonne' => 'Kolumno',
87
+    'confirm_changer_statut' => 'Atentu, vi petis por ŝanĝi la statuton de tiu elemento. Ĉu vi deziras daŭrigi ?',
88
+    'correcte' => 'korekta',
89 89
 
90
-	// D
91
-	'date_aujourdhui' => 'hodiaŭ',
92
-	'date_avant_jc' => 'a.K.',
93
-	'date_dans' => 'post @delai@',
94
-	'date_de_mois_1' => '@j@ @nommois@',
95
-	'date_de_mois_10' => '@j@ @nommois@',
96
-	'date_de_mois_11' => '@j@ @nommois@',
97
-	'date_de_mois_12' => '@j@ @nommois@',
98
-	'date_de_mois_2' => '@j@ @nommois@',
99
-	'date_de_mois_3' => '@j@ @nommois@',
100
-	'date_de_mois_4' => '@j@ @nommois@',
101
-	'date_de_mois_5' => '@j@ @nommois@',
102
-	'date_de_mois_6' => '@j@ @nommois@',
103
-	'date_de_mois_7' => '@j@ @nommois@',
104
-	'date_de_mois_8' => '@j@ @nommois@',
105
-	'date_de_mois_9' => '@j@ @nommois@',
106
-	'date_demain' => 'morgaŭ',
107
-	'date_fmt_heures_minutes' => '@h@h@m@min',
108
-	'date_fmt_heures_minutes_court' => '@h@h@m@',
109
-	'date_fmt_jour' => '@nomjour@ la @jour@a',
110
-	'date_fmt_jour_heure' => '@jour@ je la @heure@',
111
-	'date_fmt_jour_heure_debut_fin' => 'la @jour@ de @heure_debut@ ĝis @heure_fin@',
112
-	'date_fmt_jour_heure_debut_fin_abbr' => 'la @dtstart@@jour@a de @heure_debut@@dtabbr@ ĝis @dtend@@heure_fin@@dtend@',
113
-	'date_fmt_jour_mois' => '@jour@a @nommois@',
114
-	'date_fmt_jour_mois_annee' => '@jour@a @nommois@ @annee@',
115
-	'date_fmt_mois_annee' => '@nommois@ @annee@',
116
-	'date_fmt_nomjour' => '@nomjour@ @date@',
117
-	'date_fmt_nomjour_date' => 'la @nomjour@ @date@',
118
-	'date_fmt_periode' => 'De @date_debut@ ĝis @date_fin@',
119
-	'date_fmt_periode_abbr' => 'De @dtart@@date_debut@@dtabbr@ ĝis @dtend@@date_fin@@dtabbr@',
120
-	'date_fmt_periode_from' => 'De',
121
-	'date_fmt_periode_to' => 'ĝis',
122
-	'date_fmt_saison_annee' => '@saison@ @annee@',
123
-	'date_heures' => 'horoj',
124
-	'date_hier' => 'hieraŭ',
125
-	'date_il_y_a' => 'antaŭ @delai@',
126
-	'date_jnum1' => '1',
127
-	'date_jnum10' => '10',
128
-	'date_jnum11' => '11',
129
-	'date_jnum12' => '12',
130
-	'date_jnum13' => '13',
131
-	'date_jnum14' => '14',
132
-	'date_jnum15' => '15',
133
-	'date_jnum16' => '16',
134
-	'date_jnum17' => '17',
135
-	'date_jnum18' => '18',
136
-	'date_jnum19' => '19',
137
-	'date_jnum2' => '2',
138
-	'date_jnum20' => '20',
139
-	'date_jnum21' => '21',
140
-	'date_jnum22' => '22',
141
-	'date_jnum23' => '23',
142
-	'date_jnum24' => '24',
143
-	'date_jnum25' => '25',
144
-	'date_jnum26' => '26',
145
-	'date_jnum27' => '27',
146
-	'date_jnum28' => '28',
147
-	'date_jnum29' => '29',
148
-	'date_jnum3' => '3',
149
-	'date_jnum30' => '30',
150
-	'date_jnum31' => '31',
151
-	'date_jnum4' => '4',
152
-	'date_jnum5' => '5',
153
-	'date_jnum6' => '6',
154
-	'date_jnum7' => '7',
155
-	'date_jnum8' => '8',
156
-	'date_jnum9' => '9',
157
-	'date_jour_1' => 'dimanĉo',
158
-	'date_jour_1_abbr' => 'dim.',
159
-	'date_jour_1_initiale' => 'd.',
160
-	'date_jour_2' => 'lundo',
161
-	'date_jour_2_abbr' => 'lun.',
162
-	'date_jour_2_initiale' => 'l.',
163
-	'date_jour_3' => 'mardo',
164
-	'date_jour_3_abbr' => 'mar.',
165
-	'date_jour_3_initiale' => 'm.',
166
-	'date_jour_4' => 'merkredo',
167
-	'date_jour_4_abbr' => 'mer.',
168
-	'date_jour_4_initiale' => 'm.',
169
-	'date_jour_5' => 'ĵaŭdo',
170
-	'date_jour_5_abbr' => 'jaŭ.',
171
-	'date_jour_5_initiale' => 'j.',
172
-	'date_jour_6' => 'vendredo',
173
-	'date_jour_6_abbr' => 'ven.',
174
-	'date_jour_6_initiale' => 'v.',
175
-	'date_jour_7' => 'sabato',
176
-	'date_jour_7_abbr' => 'sab.',
177
-	'date_jour_7_initiale' => 's.',
178
-	'date_jours' => 'tagoj',
179
-	'date_minutes' => 'minutoj',
180
-	'date_mois' => 'monatoj',
181
-	'date_mois_1' => 'januaro',
182
-	'date_mois_10' => 'oktobro',
183
-	'date_mois_10_abbr' => 'oct.',
184
-	'date_mois_11' => 'novembro',
185
-	'date_mois_11_abbr' => 'nov.',
186
-	'date_mois_12' => 'decembro',
187
-	'date_mois_12_abbr' => 'dec.',
188
-	'date_mois_1_abbr' => 'jan.',
189
-	'date_mois_2' => 'februaro',
190
-	'date_mois_2_abbr' => 'feb.',
191
-	'date_mois_3' => 'marto',
192
-	'date_mois_3_abbr' => 'mar.',
193
-	'date_mois_4' => 'aprilo',
194
-	'date_mois_4_abbr' => 'apr.',
195
-	'date_mois_5' => 'majo',
196
-	'date_mois_5_abbr' => 'majo',
197
-	'date_mois_6' => 'junio',
198
-	'date_mois_6_abbr' => 'jun.',
199
-	'date_mois_7' => 'julio',
200
-	'date_mois_7_abbr' => 'jul.',
201
-	'date_mois_8' => 'aŭgusto',
202
-	'date_mois_8_abbr' => 'aŭg.',
203
-	'date_mois_9' => 'septembro',
204
-	'date_mois_9_abbr' => 'sep.',
205
-	'date_saison_1' => 'vintro',
206
-	'date_saison_2' => 'printempo',
207
-	'date_saison_3' => 'somero',
208
-	'date_saison_4' => 'aŭtuno',
209
-	'date_secondes' => 'sekundoj',
210
-	'date_semaines' => 'semajnoj',
211
-	'date_un_mois' => 'monato',
212
-	'date_une_heure' => 'horo',
213
-	'date_une_minute' => 'minuto',
214
-	'date_une_seconde' => 'sekundo',
215
-	'date_une_semaine' => 'semajno',
216
-	'dirs_commencer' => ' por vere komenci la instalprocezon',
217
-	'dirs_preliminaire' => 'Antaŭfaro : <b>Difinu la alir-rajtojn</b>',
218
-	'dirs_probleme_droits' => 'Alir-rajta problemo',
219
-	'dirs_repertoires_absents' => '<b>La jenaj dosierujoj ne estas trovitaj : <ul>@bad_dirs@.</ul> </b>
90
+    // D
91
+    'date_aujourdhui' => 'hodiaŭ',
92
+    'date_avant_jc' => 'a.K.',
93
+    'date_dans' => 'post @delai@',
94
+    'date_de_mois_1' => '@j@ @nommois@',
95
+    'date_de_mois_10' => '@j@ @nommois@',
96
+    'date_de_mois_11' => '@j@ @nommois@',
97
+    'date_de_mois_12' => '@j@ @nommois@',
98
+    'date_de_mois_2' => '@j@ @nommois@',
99
+    'date_de_mois_3' => '@j@ @nommois@',
100
+    'date_de_mois_4' => '@j@ @nommois@',
101
+    'date_de_mois_5' => '@j@ @nommois@',
102
+    'date_de_mois_6' => '@j@ @nommois@',
103
+    'date_de_mois_7' => '@j@ @nommois@',
104
+    'date_de_mois_8' => '@j@ @nommois@',
105
+    'date_de_mois_9' => '@j@ @nommois@',
106
+    'date_demain' => 'morgaŭ',
107
+    'date_fmt_heures_minutes' => '@h@h@m@min',
108
+    'date_fmt_heures_minutes_court' => '@h@h@m@',
109
+    'date_fmt_jour' => '@nomjour@ la @jour@a',
110
+    'date_fmt_jour_heure' => '@jour@ je la @heure@',
111
+    'date_fmt_jour_heure_debut_fin' => 'la @jour@ de @heure_debut@ ĝis @heure_fin@',
112
+    'date_fmt_jour_heure_debut_fin_abbr' => 'la @dtstart@@jour@a de @heure_debut@@dtabbr@ ĝis @dtend@@heure_fin@@dtend@',
113
+    'date_fmt_jour_mois' => '@jour@a @nommois@',
114
+    'date_fmt_jour_mois_annee' => '@jour@a @nommois@ @annee@',
115
+    'date_fmt_mois_annee' => '@nommois@ @annee@',
116
+    'date_fmt_nomjour' => '@nomjour@ @date@',
117
+    'date_fmt_nomjour_date' => 'la @nomjour@ @date@',
118
+    'date_fmt_periode' => 'De @date_debut@ ĝis @date_fin@',
119
+    'date_fmt_periode_abbr' => 'De @dtart@@date_debut@@dtabbr@ ĝis @dtend@@date_fin@@dtabbr@',
120
+    'date_fmt_periode_from' => 'De',
121
+    'date_fmt_periode_to' => 'ĝis',
122
+    'date_fmt_saison_annee' => '@saison@ @annee@',
123
+    'date_heures' => 'horoj',
124
+    'date_hier' => 'hieraŭ',
125
+    'date_il_y_a' => 'antaŭ @delai@',
126
+    'date_jnum1' => '1',
127
+    'date_jnum10' => '10',
128
+    'date_jnum11' => '11',
129
+    'date_jnum12' => '12',
130
+    'date_jnum13' => '13',
131
+    'date_jnum14' => '14',
132
+    'date_jnum15' => '15',
133
+    'date_jnum16' => '16',
134
+    'date_jnum17' => '17',
135
+    'date_jnum18' => '18',
136
+    'date_jnum19' => '19',
137
+    'date_jnum2' => '2',
138
+    'date_jnum20' => '20',
139
+    'date_jnum21' => '21',
140
+    'date_jnum22' => '22',
141
+    'date_jnum23' => '23',
142
+    'date_jnum24' => '24',
143
+    'date_jnum25' => '25',
144
+    'date_jnum26' => '26',
145
+    'date_jnum27' => '27',
146
+    'date_jnum28' => '28',
147
+    'date_jnum29' => '29',
148
+    'date_jnum3' => '3',
149
+    'date_jnum30' => '30',
150
+    'date_jnum31' => '31',
151
+    'date_jnum4' => '4',
152
+    'date_jnum5' => '5',
153
+    'date_jnum6' => '6',
154
+    'date_jnum7' => '7',
155
+    'date_jnum8' => '8',
156
+    'date_jnum9' => '9',
157
+    'date_jour_1' => 'dimanĉo',
158
+    'date_jour_1_abbr' => 'dim.',
159
+    'date_jour_1_initiale' => 'd.',
160
+    'date_jour_2' => 'lundo',
161
+    'date_jour_2_abbr' => 'lun.',
162
+    'date_jour_2_initiale' => 'l.',
163
+    'date_jour_3' => 'mardo',
164
+    'date_jour_3_abbr' => 'mar.',
165
+    'date_jour_3_initiale' => 'm.',
166
+    'date_jour_4' => 'merkredo',
167
+    'date_jour_4_abbr' => 'mer.',
168
+    'date_jour_4_initiale' => 'm.',
169
+    'date_jour_5' => 'ĵaŭdo',
170
+    'date_jour_5_abbr' => 'jaŭ.',
171
+    'date_jour_5_initiale' => 'j.',
172
+    'date_jour_6' => 'vendredo',
173
+    'date_jour_6_abbr' => 'ven.',
174
+    'date_jour_6_initiale' => 'v.',
175
+    'date_jour_7' => 'sabato',
176
+    'date_jour_7_abbr' => 'sab.',
177
+    'date_jour_7_initiale' => 's.',
178
+    'date_jours' => 'tagoj',
179
+    'date_minutes' => 'minutoj',
180
+    'date_mois' => 'monatoj',
181
+    'date_mois_1' => 'januaro',
182
+    'date_mois_10' => 'oktobro',
183
+    'date_mois_10_abbr' => 'oct.',
184
+    'date_mois_11' => 'novembro',
185
+    'date_mois_11_abbr' => 'nov.',
186
+    'date_mois_12' => 'decembro',
187
+    'date_mois_12_abbr' => 'dec.',
188
+    'date_mois_1_abbr' => 'jan.',
189
+    'date_mois_2' => 'februaro',
190
+    'date_mois_2_abbr' => 'feb.',
191
+    'date_mois_3' => 'marto',
192
+    'date_mois_3_abbr' => 'mar.',
193
+    'date_mois_4' => 'aprilo',
194
+    'date_mois_4_abbr' => 'apr.',
195
+    'date_mois_5' => 'majo',
196
+    'date_mois_5_abbr' => 'majo',
197
+    'date_mois_6' => 'junio',
198
+    'date_mois_6_abbr' => 'jun.',
199
+    'date_mois_7' => 'julio',
200
+    'date_mois_7_abbr' => 'jul.',
201
+    'date_mois_8' => 'aŭgusto',
202
+    'date_mois_8_abbr' => 'aŭg.',
203
+    'date_mois_9' => 'septembro',
204
+    'date_mois_9_abbr' => 'sep.',
205
+    'date_saison_1' => 'vintro',
206
+    'date_saison_2' => 'printempo',
207
+    'date_saison_3' => 'somero',
208
+    'date_saison_4' => 'aŭtuno',
209
+    'date_secondes' => 'sekundoj',
210
+    'date_semaines' => 'semajnoj',
211
+    'date_un_mois' => 'monato',
212
+    'date_une_heure' => 'horo',
213
+    'date_une_minute' => 'minuto',
214
+    'date_une_seconde' => 'sekundo',
215
+    'date_une_semaine' => 'semajno',
216
+    'dirs_commencer' => ' por vere komenci la instalprocezon',
217
+    'dirs_preliminaire' => 'Antaŭfaro : <b>Difinu la alir-rajtojn</b>',
218
+    'dirs_probleme_droits' => 'Alir-rajta problemo',
219
+    'dirs_repertoires_absents' => '<b>La jenaj dosierujoj ne estas trovitaj : <ul>@bad_dirs@.</ul> </b>
220 220
   <p>La problemo verŝajne rilatas al majuskligo de literoj.
221 221
   Kontrolu ke la majuskloj ja kongruas kun tio kio estas afiŝita ĉi-supre ;
222 222
   se ili ne kongruas, bonvolu renomi la dosierujon per via FTP-programo por korekti la eraron.
223 223
 </p><p>Post tio, vi povos</p>',
224
-	'dirs_repertoires_suivants' => '<b>La jenaj dosierujoj ne estas skribe modifeblaj : 
224
+    'dirs_repertoires_suivants' => '<b>La jenaj dosierujoj ne estas skribe modifeblaj : 
225 225
 <ul>@bad_dirs@.</ul></b>
226 226
 <p>Por solvi tion, uzu vian FTP-klienton por reguligi la alir-rajtojn de ĉiu
227 227
  el tiuj dosierujoj. La proceduron oni detale klarigas en la instalgvidlibro.
228 228
 </p><p>Post tio, vi povos </p>',
229
-	'double_occurrence' => 'Duobla trafo de @balise@',
229
+    'double_occurrence' => 'Duobla trafo de @balise@',
230 230
 
231
-	// E
232
-	'en_cours' => 'okazanta',
233
-	'envoi_via_le_site' => 'Sendo tra la retejo',
234
-	'erreur' => 'Eraro',
235
-	'erreur_balise_non_fermee' => 'lasta ne fermita marko :',
236
-	'erreur_technique_ajaxform' => 'Aj. Neatendita eraro ne ebligis la sendon de la formularo. Vi povas reprovi denove.',
237
-	'erreur_technique_enregistrement_champs' => 'Teknika eraro neebligis la ĝustan registradon de la kampo @champs@.',
238
-	'erreur_technique_enregistrement_impossible' => 'Teknika eraro neebligis la registradon.',
239
-	'erreur_texte' => 'eraro(j)',
240
-	'etape' => 'Etapo',
231
+    // E
232
+    'en_cours' => 'okazanta',
233
+    'envoi_via_le_site' => 'Sendo tra la retejo',
234
+    'erreur' => 'Eraro',
235
+    'erreur_balise_non_fermee' => 'lasta ne fermita marko :',
236
+    'erreur_technique_ajaxform' => 'Aj. Neatendita eraro ne ebligis la sendon de la formularo. Vi povas reprovi denove.',
237
+    'erreur_technique_enregistrement_champs' => 'Teknika eraro neebligis la ĝustan registradon de la kampo @champs@.',
238
+    'erreur_technique_enregistrement_impossible' => 'Teknika eraro neebligis la registradon.',
239
+    'erreur_texte' => 'eraro(j)',
240
+    'etape' => 'Etapo',
241 241
 
242
-	// F
243
-	'fichier_introuvable' => 'Netrovebla dosiero @fichier@ ', # MODIF
244
-	'form_auteur_confirmation' => 'Konfirmu vian retpoŝtadreso',
245
-	'form_auteur_email_modifie' => 'Via retpoŝtadreso estis modifita.',
246
-	'form_auteur_envoi_mail_confirmation' => 'Konfirmretmesaĝo estis sendita al @email@. Vi devu viziti la menciita retadreso en la retmesaĝo por validigi vian retpoŝtadreson.',
247
-	'form_auteur_mail_confirmation' => 'Saluton,
242
+    // F
243
+    'fichier_introuvable' => 'Netrovebla dosiero @fichier@ ', # MODIF
244
+    'form_auteur_confirmation' => 'Konfirmu vian retpoŝtadreso',
245
+    'form_auteur_email_modifie' => 'Via retpoŝtadreso estis modifita.',
246
+    'form_auteur_envoi_mail_confirmation' => 'Konfirmretmesaĝo estis sendita al @email@. Vi devu viziti la menciita retadreso en la retmesaĝo por validigi vian retpoŝtadreson.',
247
+    'form_auteur_mail_confirmation' => 'Saluton,
248 248
 
249 249
 Vi petis ŝanĝi vian retpoŝtadreson.
250 250
 Por konfirmi vian novan retadreson, simple ensaluti al
251 251
 la retadreso ĉi-sube (alie, via peto estos ignoritaj) :
252 252
 
253 253
     @url@',
254
-	'form_deja_inscrit' => 'Vi estas jam registrita.',
255
-	'form_email_non_valide' => 'Via retpoŝtadreso ne validas.',
256
-	'form_forum_access_refuse' => 'Vi ne plu havas alir-rajton al tiu retejo.',
257
-	'form_forum_bonjour' => 'Saluton @nom@,',
258
-	'form_forum_confirmer_email' => 'Por konfirmi vian retpoŝtadreson, iru al tiu retadreso : @url_confirm@',
259
-	'form_forum_email_deja_enregistre' => 'Tiu ĉi retpoŝtadreso estas jam registrita, vi povas do uzi vian kutiman pasvorton.',
260
-	'form_forum_identifiant_mail' => 'Via nova ensalutilo estis ĵus al vi sendita per retletero.',
261
-	'form_forum_identifiants' => 'Personaj ensalutiloj',
262
-	'form_forum_indiquer_nom_email' => 'Indiku ĉi tie vian nomon kaj retpoŝtadreson. Via persona ensalutilo rapide alvenos al vi retletere.',
263
-	'form_forum_login' => 'salutnomo :',
264
-	'form_forum_message_auto' => '(tio estas aŭtomata mesaĝo)',
265
-	'form_forum_pass' => 'pasvorto :',
266
-	'form_forum_probleme_mail' => 'Retpoŝta problemo : la ensalutilo ne sendeblas.',
267
-	'form_forum_voici1' => 'Jen viaj ensalutiloj por partopreni la vivon de la retejo "@nom_site_spip@" (@adresse_site@) :',
268
-	'form_forum_voici2' => 'Jen estas viaj ensalutiloj por proponi artikolojn ĉe la retejo "@nom_site_spip@" (@adresse_login@) :',
269
-	'form_indiquer_email' => 'Bonvolu indiki vian retpoŝtadreson.',
270
-	'form_indiquer_nom' => 'Bonvolu indiki vian nomon.',
271
-	'form_indiquer_nom_site' => 'Bonvolu indiki la nomon de via retejo.',
272
-	'form_pet_deja_enregistre' => 'Tiu retejo estas jam registrita',
273
-	'form_pet_signature_pasprise' => 'Via subskribo ne estas registrita.',
274
-	'form_prop_confirmer_envoi' => 'Konfirmi la sendon',
275
-	'form_prop_description' => 'Priskribo/komento',
276
-	'form_prop_enregistre' => 'Via kontribuo estas registrita, ĝi aperos ĉerete post validigo de la respondeculoj de la retejo.',
277
-	'form_prop_envoyer' => 'Sendi mesaĝon',
278
-	'form_prop_indiquer_email' => 'Bonvolu indiki validan retpoŝtadreson',
279
-	'form_prop_indiquer_nom_site' => 'Bonvolu indiki la nomon de la retejo.',
280
-	'form_prop_indiquer_sujet' => 'Bonvolu indiki temon',
281
-	'form_prop_message_envoye' => 'Mesaĝo sendita',
282
-	'form_prop_non_enregistre' => 'Via propono ne estis registrita.',
283
-	'form_prop_sujet' => 'Temo',
284
-	'form_prop_url_site' => 'URL-adreso de la retejo',
285
-	'format_date_incorrecte' => 'La dato aŭ ĝia formo ne validas',
286
-	'format_heure_incorrecte' => 'La horo aŭ ĝia formo ne validas',
287
-	'forum_non_inscrit' => 'Vi ne estas registrita, aŭ la adreso aŭ la pasvorto ne ĝustas.',
288
-	'forum_par_auteur' => 'de @auteur@',
289
-	'forum_titre_erreur' => 'Eraro...',
254
+    'form_deja_inscrit' => 'Vi estas jam registrita.',
255
+    'form_email_non_valide' => 'Via retpoŝtadreso ne validas.',
256
+    'form_forum_access_refuse' => 'Vi ne plu havas alir-rajton al tiu retejo.',
257
+    'form_forum_bonjour' => 'Saluton @nom@,',
258
+    'form_forum_confirmer_email' => 'Por konfirmi vian retpoŝtadreson, iru al tiu retadreso : @url_confirm@',
259
+    'form_forum_email_deja_enregistre' => 'Tiu ĉi retpoŝtadreso estas jam registrita, vi povas do uzi vian kutiman pasvorton.',
260
+    'form_forum_identifiant_mail' => 'Via nova ensalutilo estis ĵus al vi sendita per retletero.',
261
+    'form_forum_identifiants' => 'Personaj ensalutiloj',
262
+    'form_forum_indiquer_nom_email' => 'Indiku ĉi tie vian nomon kaj retpoŝtadreson. Via persona ensalutilo rapide alvenos al vi retletere.',
263
+    'form_forum_login' => 'salutnomo :',
264
+    'form_forum_message_auto' => '(tio estas aŭtomata mesaĝo)',
265
+    'form_forum_pass' => 'pasvorto :',
266
+    'form_forum_probleme_mail' => 'Retpoŝta problemo : la ensalutilo ne sendeblas.',
267
+    'form_forum_voici1' => 'Jen viaj ensalutiloj por partopreni la vivon de la retejo "@nom_site_spip@" (@adresse_site@) :',
268
+    'form_forum_voici2' => 'Jen estas viaj ensalutiloj por proponi artikolojn ĉe la retejo "@nom_site_spip@" (@adresse_login@) :',
269
+    'form_indiquer_email' => 'Bonvolu indiki vian retpoŝtadreson.',
270
+    'form_indiquer_nom' => 'Bonvolu indiki vian nomon.',
271
+    'form_indiquer_nom_site' => 'Bonvolu indiki la nomon de via retejo.',
272
+    'form_pet_deja_enregistre' => 'Tiu retejo estas jam registrita',
273
+    'form_pet_signature_pasprise' => 'Via subskribo ne estas registrita.',
274
+    'form_prop_confirmer_envoi' => 'Konfirmi la sendon',
275
+    'form_prop_description' => 'Priskribo/komento',
276
+    'form_prop_enregistre' => 'Via kontribuo estas registrita, ĝi aperos ĉerete post validigo de la respondeculoj de la retejo.',
277
+    'form_prop_envoyer' => 'Sendi mesaĝon',
278
+    'form_prop_indiquer_email' => 'Bonvolu indiki validan retpoŝtadreson',
279
+    'form_prop_indiquer_nom_site' => 'Bonvolu indiki la nomon de la retejo.',
280
+    'form_prop_indiquer_sujet' => 'Bonvolu indiki temon',
281
+    'form_prop_message_envoye' => 'Mesaĝo sendita',
282
+    'form_prop_non_enregistre' => 'Via propono ne estis registrita.',
283
+    'form_prop_sujet' => 'Temo',
284
+    'form_prop_url_site' => 'URL-adreso de la retejo',
285
+    'format_date_incorrecte' => 'La dato aŭ ĝia formo ne validas',
286
+    'format_heure_incorrecte' => 'La horo aŭ ĝia formo ne validas',
287
+    'forum_non_inscrit' => 'Vi ne estas registrita, aŭ la adreso aŭ la pasvorto ne ĝustas.',
288
+    'forum_par_auteur' => 'de @auteur@',
289
+    'forum_titre_erreur' => 'Eraro...',
290 290
 
291
-	// I
292
-	'ical_texte_rss_articles' => 'La abondosiero (backend-dosiero) de la artikoloj de tiu retejo troveblas ĉe la retadreso :',
293
-	'ical_texte_rss_articles2' => 'Sube, vi povas trovi abonligojn por gvati evoluadon de artikoloj el ĉiu rubriko de la retejo :',
294
-	'ical_texte_rss_breves' => 'Krome ekzistas dosiero enhavanta ĉiujn fulm-informojn de la retejo. Precizigante la rubriko-numeron, vi ricevos nur la fulm-informojn el tiu rubriko.',
295
-	'icone_a_suivre' => 'Stabejo',
296
-	'icone_admin_site' => 'Reteja administrado',
297
-	'icone_agenda' => 'Agendo',
298
-	'icone_aide_ligne' => 'Helpilo',
299
-	'icone_articles' => 'Artikoloj',
300
-	'icone_auteurs' => 'Aŭtoroj',
301
-	'icone_brouteur' => 'Rapida retumado',
302
-	'icone_configuration_site' => 'Konfiguro',
303
-	'icone_configurer_site' => 'Konfiguri vian retejon',
304
-	'icone_creer_nouvel_auteur' => 'Krei novan aŭtoron',
305
-	'icone_creer_rubrique' => 'Krei novan rubrikon',
306
-	'icone_creer_sous_rubrique' => 'Krei sub-rubrikon',
307
-	'icone_deconnecter' => 'Elsaluti',
308
-	'icone_discussions' => 'Diskutoj',
309
-	'icone_doc_rubrique' => 'Dokumentoj de la rubrikoj',
310
-	'icone_ecrire_article' => 'Skribi novan artikolon',
311
-	'icone_edition_site' => 'Redaktejo',
312
-	'icone_gestion_langues' => 'Mastrumado de lingvoj',
313
-	'icone_informations_personnelles' => 'Personaj datenoj',
314
-	'icone_interface_complet' => 'kompleta interfaco',
315
-	'icone_interface_simple' => 'Simpla interfaco',
316
-	'icone_maintenance_site' => 'Retejo-bontenado',
317
-	'icone_messagerie_personnelle' => 'Persona mesaĝilo',
318
-	'icone_repartition_debut' => 'Afiŝi la distribuon ekde la komenco',
319
-	'icone_rubriques' => 'Rubrikoj',
320
-	'icone_sauver_site' => 'Savkopii la retejon',
321
-	'icone_site_entier' => 'La tuta retejo',
322
-	'icone_sites_references' => 'Referencigitaj retejoj',
323
-	'icone_statistiques' => 'Statistikoj de la retejo',
324
-	'icone_suivi_activite' => 'Gvati vivon de la retejo',
325
-	'icone_suivi_actualite' => 'Evoluado de la retejo',
326
-	'icone_suivi_pettions' => 'Superrigardi/mastrumi la petskribon',
327
-	'icone_suivi_revisions' => 'Modifoj de artikoloj',
328
-	'icone_supprimer_document' => 'Forigi tiun dokumenton',
329
-	'icone_supprimer_image' => 'Forigi tiun bildon',
330
-	'icone_tous_articles' => 'Ĉiuj viaj artikoloj',
331
-	'icone_tous_auteur' => 'Ĉiuj aŭtoroj',
332
-	'icone_tous_visiteur' => 'Ĉiuj vizitantoj',
333
-	'icone_visiter_site' => 'Vidi la publika spaco',
334
-	'icone_voir_en_ligne' => 'Vidi ĉeretigite',
335
-	'img_indisponible' => 'nedisponebla bildo',
336
-	'impossible' => 'ne eblas',
337
-	'info_a_suivre' => 'STABEJO »',
338
-	'info_acces_interdit' => 'Malpermesata aliro',
339
-	'info_acces_refuse' => 'Rifuzita aliro',
340
-	'info_action' => 'Ago : @action@',
341
-	'info_administrer_rubriques' => 'Vi povas mastrumi tiun rubrikon kaj ties subrubrikojn',
342
-	'info_adresse_non_indiquee' => 'Vi indikis neniun adreson por testi !',
343
-	'info_aide' => 'HELPO :',
344
-	'info_ajouter_mot' => 'Aldoni tiun vorton',
345
-	'info_annonce' => 'ANONCO',
346
-	'info_annonces_generales' => 'Ĝeneralaj anoncoj :',
347
-	'info_article_propose' => 'Proponita artikolo',
348
-	'info_article_publie' => 'Publikigita artikolo',
349
-	'info_article_redaction' => 'Redaktata artikolo',
350
-	'info_article_refuse' => 'Rifuzita artikolo',
351
-	'info_article_supprime' => 'Forviŝita artikolo',
352
-	'info_articles' => 'Artikoloj',
353
-	'info_articles_a_valider' => 'Validigendaj artikoloj',
354
-	'info_articles_nb' => '@nb@ artikoloj',
355
-	'info_articles_proposes' => 'Proponitaj artikoloj',
356
-	'info_articles_un' => '1 artikolo',
357
-	'info_auteurs_nombre' => 'aŭtoro(j) :',
358
-	'info_authentification_ftp' => 'Aŭtentigo (per FTP).',
359
-	'info_breves_2' => 'fulm-informoj',
360
-	'info_breves_nb' => '@nb@ fulm-informoj',
361
-	'info_breves_un' => '1 fulm-informo',
362
-	'info_connexion_refusee' => 'Konektiĝo rifuzata',
363
-	'info_contact_developpeur' => 'Bonvolu kontakti programiston.',
364
-	'info_contenance' => 'Tiu retejo enhavas :',
365
-	'info_contribution' => 'kontribuaĵoj',
366
-	'info_copyright' => '@spip@ estas libera programo distribuata @lien_gpl@.',
367
-	'info_copyright_doc' => 'Por pliaj informoj vidu la retpaĝon <a href="@spipnet@">@spipnet_affiche@</a>.',
368
-	'info_copyright_gpl' => 'sub licenco GPL',
369
-	'info_cours_edition' => 'Viaj redaktataj artikoloj', # MODIF
370
-	'info_creer_repertoire' => 'Bonvolu krei dosieron aŭ dosierujon kies nomo estu :',
371
-	'info_creer_repertoire_2' => 'ene de la subdosierujo <b>@repertoire@</b>, kaj :',
372
-	'info_creer_vignette' => 'aŭtomata kreo de la vinjeto',
373
-	'info_creerdansrubrique_non_autorise' => 'Vi ne havas sufiĉajn rajtojn por krei enhavo en ĉi tiu rubriko',
374
-	'info_deplier' => 'Malfaldi',
375
-	'info_descriptif_nombre' => 'priskribo(j) :',
376
-	'info_description' => 'Priskribo :',
377
-	'info_description_2' => 'Priskribo :',
378
-	'info_dimension' => 'Dimensioj :',
379
-	'info_documents_nb' => '@nb@ dokumentoj',
380
-	'info_documents_un' => '1 dokumento',
381
-	'info_ecire_message_prive' => 'Skribi privatan mesaĝon',
382
-	'info_email_invalide' => 'Nevalida retpoŝtadreso.',
383
-	'info_en_cours_validation' => 'Viaj redaktataj artikoloj',
384
-	'info_en_ligne' => 'Nun ĉerete :',
385
-	'info_envoyer_message_prive' => 'Sendi privatan mesaĝon al tiu ĉi aŭtoro',
386
-	'info_erreur_requete' => 'Eraro en la peto : ',
387
-	'info_erreur_squelette2' => 'Neniu skeleto <b>@fichier@</b> disponeblas...',
388
-	'info_erreur_systeme' => 'Sistemo-eraro (errno @errsys@)',
389
-	'info_erreur_systeme2' => 'Eble la fiksdisko plenas, aŭ la datenbazo estas difektita.<br />
291
+    // I
292
+    'ical_texte_rss_articles' => 'La abondosiero (backend-dosiero) de la artikoloj de tiu retejo troveblas ĉe la retadreso :',
293
+    'ical_texte_rss_articles2' => 'Sube, vi povas trovi abonligojn por gvati evoluadon de artikoloj el ĉiu rubriko de la retejo :',
294
+    'ical_texte_rss_breves' => 'Krome ekzistas dosiero enhavanta ĉiujn fulm-informojn de la retejo. Precizigante la rubriko-numeron, vi ricevos nur la fulm-informojn el tiu rubriko.',
295
+    'icone_a_suivre' => 'Stabejo',
296
+    'icone_admin_site' => 'Reteja administrado',
297
+    'icone_agenda' => 'Agendo',
298
+    'icone_aide_ligne' => 'Helpilo',
299
+    'icone_articles' => 'Artikoloj',
300
+    'icone_auteurs' => 'Aŭtoroj',
301
+    'icone_brouteur' => 'Rapida retumado',
302
+    'icone_configuration_site' => 'Konfiguro',
303
+    'icone_configurer_site' => 'Konfiguri vian retejon',
304
+    'icone_creer_nouvel_auteur' => 'Krei novan aŭtoron',
305
+    'icone_creer_rubrique' => 'Krei novan rubrikon',
306
+    'icone_creer_sous_rubrique' => 'Krei sub-rubrikon',
307
+    'icone_deconnecter' => 'Elsaluti',
308
+    'icone_discussions' => 'Diskutoj',
309
+    'icone_doc_rubrique' => 'Dokumentoj de la rubrikoj',
310
+    'icone_ecrire_article' => 'Skribi novan artikolon',
311
+    'icone_edition_site' => 'Redaktejo',
312
+    'icone_gestion_langues' => 'Mastrumado de lingvoj',
313
+    'icone_informations_personnelles' => 'Personaj datenoj',
314
+    'icone_interface_complet' => 'kompleta interfaco',
315
+    'icone_interface_simple' => 'Simpla interfaco',
316
+    'icone_maintenance_site' => 'Retejo-bontenado',
317
+    'icone_messagerie_personnelle' => 'Persona mesaĝilo',
318
+    'icone_repartition_debut' => 'Afiŝi la distribuon ekde la komenco',
319
+    'icone_rubriques' => 'Rubrikoj',
320
+    'icone_sauver_site' => 'Savkopii la retejon',
321
+    'icone_site_entier' => 'La tuta retejo',
322
+    'icone_sites_references' => 'Referencigitaj retejoj',
323
+    'icone_statistiques' => 'Statistikoj de la retejo',
324
+    'icone_suivi_activite' => 'Gvati vivon de la retejo',
325
+    'icone_suivi_actualite' => 'Evoluado de la retejo',
326
+    'icone_suivi_pettions' => 'Superrigardi/mastrumi la petskribon',
327
+    'icone_suivi_revisions' => 'Modifoj de artikoloj',
328
+    'icone_supprimer_document' => 'Forigi tiun dokumenton',
329
+    'icone_supprimer_image' => 'Forigi tiun bildon',
330
+    'icone_tous_articles' => 'Ĉiuj viaj artikoloj',
331
+    'icone_tous_auteur' => 'Ĉiuj aŭtoroj',
332
+    'icone_tous_visiteur' => 'Ĉiuj vizitantoj',
333
+    'icone_visiter_site' => 'Vidi la publika spaco',
334
+    'icone_voir_en_ligne' => 'Vidi ĉeretigite',
335
+    'img_indisponible' => 'nedisponebla bildo',
336
+    'impossible' => 'ne eblas',
337
+    'info_a_suivre' => 'STABEJO »',
338
+    'info_acces_interdit' => 'Malpermesata aliro',
339
+    'info_acces_refuse' => 'Rifuzita aliro',
340
+    'info_action' => 'Ago : @action@',
341
+    'info_administrer_rubriques' => 'Vi povas mastrumi tiun rubrikon kaj ties subrubrikojn',
342
+    'info_adresse_non_indiquee' => 'Vi indikis neniun adreson por testi !',
343
+    'info_aide' => 'HELPO :',
344
+    'info_ajouter_mot' => 'Aldoni tiun vorton',
345
+    'info_annonce' => 'ANONCO',
346
+    'info_annonces_generales' => 'Ĝeneralaj anoncoj :',
347
+    'info_article_propose' => 'Proponita artikolo',
348
+    'info_article_publie' => 'Publikigita artikolo',
349
+    'info_article_redaction' => 'Redaktata artikolo',
350
+    'info_article_refuse' => 'Rifuzita artikolo',
351
+    'info_article_supprime' => 'Forviŝita artikolo',
352
+    'info_articles' => 'Artikoloj',
353
+    'info_articles_a_valider' => 'Validigendaj artikoloj',
354
+    'info_articles_nb' => '@nb@ artikoloj',
355
+    'info_articles_proposes' => 'Proponitaj artikoloj',
356
+    'info_articles_un' => '1 artikolo',
357
+    'info_auteurs_nombre' => 'aŭtoro(j) :',
358
+    'info_authentification_ftp' => 'Aŭtentigo (per FTP).',
359
+    'info_breves_2' => 'fulm-informoj',
360
+    'info_breves_nb' => '@nb@ fulm-informoj',
361
+    'info_breves_un' => '1 fulm-informo',
362
+    'info_connexion_refusee' => 'Konektiĝo rifuzata',
363
+    'info_contact_developpeur' => 'Bonvolu kontakti programiston.',
364
+    'info_contenance' => 'Tiu retejo enhavas :',
365
+    'info_contribution' => 'kontribuaĵoj',
366
+    'info_copyright' => '@spip@ estas libera programo distribuata @lien_gpl@.',
367
+    'info_copyright_doc' => 'Por pliaj informoj vidu la retpaĝon <a href="@spipnet@">@spipnet_affiche@</a>.',
368
+    'info_copyright_gpl' => 'sub licenco GPL',
369
+    'info_cours_edition' => 'Viaj redaktataj artikoloj', # MODIF
370
+    'info_creer_repertoire' => 'Bonvolu krei dosieron aŭ dosierujon kies nomo estu :',
371
+    'info_creer_repertoire_2' => 'ene de la subdosierujo <b>@repertoire@</b>, kaj :',
372
+    'info_creer_vignette' => 'aŭtomata kreo de la vinjeto',
373
+    'info_creerdansrubrique_non_autorise' => 'Vi ne havas sufiĉajn rajtojn por krei enhavo en ĉi tiu rubriko',
374
+    'info_deplier' => 'Malfaldi',
375
+    'info_descriptif_nombre' => 'priskribo(j) :',
376
+    'info_description' => 'Priskribo :',
377
+    'info_description_2' => 'Priskribo :',
378
+    'info_dimension' => 'Dimensioj :',
379
+    'info_documents_nb' => '@nb@ dokumentoj',
380
+    'info_documents_un' => '1 dokumento',
381
+    'info_ecire_message_prive' => 'Skribi privatan mesaĝon',
382
+    'info_email_invalide' => 'Nevalida retpoŝtadreso.',
383
+    'info_en_cours_validation' => 'Viaj redaktataj artikoloj',
384
+    'info_en_ligne' => 'Nun ĉerete :',
385
+    'info_envoyer_message_prive' => 'Sendi privatan mesaĝon al tiu ĉi aŭtoro',
386
+    'info_erreur_requete' => 'Eraro en la peto : ',
387
+    'info_erreur_squelette2' => 'Neniu skeleto <b>@fichier@</b> disponeblas...',
388
+    'info_erreur_systeme' => 'Sistemo-eraro (errno @errsys@)',
389
+    'info_erreur_systeme2' => 'Eble la fiksdisko plenas, aŭ la datenbazo estas difektita.<br />
390 390
 <span style="color:red;">Provu<a href=\'@script@\'>ripari la datenbazon</a>,
391 391
 aŭ kontaktu vian retgastiganton.</span>',
392
-	'info_fini' => 'Finite !',
393
-	'info_format_image' => 'Bildaj formatoj uzeblaj por krei vinjetojn : @gd_formats@.',
394
-	'info_format_non_defini' => 'nedefinita formato',
395
-	'info_grand_ecran' => 'Granda ekrano',
396
-	'info_image_aide' => 'HELPILO',
397
-	'info_image_process_titre' => 'Metodo pri vinjet-farado',
398
-	'info_impossible_lire_page' => '<b>Eraro !</b> Ne eblas legi la paĝon <tt> <html>@test_proxy@</html> </tt> tra la prokura servilo <tt>',
399
-	'info_installation_systeme_publication' => 'Instalo de la publikiga sistemo...',
400
-	'info_installer_documents' => 'Vi povas aŭtomate instali ĉiujn dokumentojn troviĝantajn en la dosiero @upload@.',
401
-	'info_installer_ftp' => 'Kiel mastrumanto, vi povas instali (FTP-e) dosierojn en la dosierujon @upload@ kaj poste rekte selekti ilin ĉi tie.',
402
-	'info_installer_images' => 'Vi povas instali bildojn je la formatoj JPEG, GIF kaj PNG.',
403
-	'info_installer_images_dossier' => 'Instali bildojn en la dosierujon @upload@ por povi ilin selekti ĉi tie.',
404
-	'info_interface_complete' => 'kompleta interfaco',
405
-	'info_interface_simple' => 'Simpla interfaco',
406
-	'info_joindre_document_article' => 'Vi povas ligi kun tiu artikolo dokumentojn tiajn, kiaj',
407
-	'info_joindre_document_rubrique' => 'Vi povas ligi kun tiu rubriko dokumentojn tiajn, kiaj',
408
-	'info_joindre_documents_article' => 'Vi povas ligi kun tiu artikolo dokumentojn tiajn, kiaj :',
409
-	'info_l_article' => 'la artikolo',
410
-	'info_la_breve' => 'la fulm-informo',
411
-	'info_la_rubrique' => 'la rubriko',
412
-	'info_langue_principale' => 'Ĉefa lingvo de la retejo',
413
-	'info_largeur_vignette' => '@largeur_vignette@ x @hauteur_vignette@ bilderoj',
414
-	'info_les_auteurs_1' => 'de @les_auteurs@',
415
-	'info_logo_format_interdit' => 'Nur vinjetoj je formatoj @formats@ estas permesataj.',
416
-	'info_logo_max_poids' => 'Vinjetoj devige pezu malpli ol @maxi@ (tiu dosiero pezas @actuel@).',
417
-	'info_mail_fournisseur' => '[email protected]',
418
-	'info_message_2' => 'MESAĜO',
419
-	'info_message_supprime' => 'FORIGITA MESAĜO',
420
-	'info_messages_nb' => '@nb@ mesaĝoj',
421
-	'info_messages_un' => '1 mesaĝo',
422
-	'info_mise_en_ligne' => 'Dato de ĉeretigo : ',
423
-	'info_modification_parametres_securite' => 'modifoj de la sekuraj parametroj',
424
-	'info_mois_courant' => 'En la kuranta monato :',
425
-	'info_mot_cle_ajoute' => 'La jena ŝlosilvorto estas ligita kun',
426
-	'info_multi_herit' => 'Defaŭlta lingvo',
427
-	'info_multi_langues_soulignees' => 'Por la <u>substrekitaj lingvoj</u>, ĉiuj tekstoj de la interfaco estas tute aŭ parte tradukitaj. Kiam vi elektas tiujn lingvojn, multaj elementoj de la publika retejo (datenoj, formularoj) estos aŭtomate tradukitaj. Por la nesubstrekitaj lingvoj, tiuj elementoj afiŝiĝos en la ĉefa lingvo de la retejo.',
428
-	'info_multilinguisme' => 'Multlingvismo',
429
-	'info_nom_non_utilisateurs_connectes' => 'Via nomo ne aperas en la listo de la ensalutintaj uzantoj.',
430
-	'info_nom_utilisateurs_connectes' => 'Via nomo aperas en la listo de la ensalutintaj uzantoj.',
431
-	'info_nombre_en_ligne' => 'Nun ensalutintaj :',
432
-	'info_non_resultat' => 'Neniu rezulto por "@cherche_mot@"',
433
-	'info_non_utilisation_messagerie' => 'Vi ne uzas la internan mesaĝilon de tiu retejo.',
434
-	'info_nouveau_message' => 'VI HAVAS NOVAN MESAĜON',
435
-	'info_nouveaux_messages' => 'VI HAVAS @total_messages@ NOVA(J)N MESAĜO(J)N',
436
-	'info_numero_abbreviation' => 'N° ',
437
-	'info_obligatoire' => 'Tiu ĉi informo estas deviga',
438
-	'info_pense_bete' => 'MEMORIGILO',
439
-	'info_petit_ecran' => 'Eta ekrano',
440
-	'info_petition_close' => 'Petskribo fermita',
441
-	'info_pixels' => 'bilderoj',
442
-	'info_plusieurs_mots_trouves' => 'Pluraj ŝlosilvortoj trovitaj por "@cherche_mot@" :',
443
-	'info_portfolio_automatique' => 'Aŭtomata dokumentujo :',
444
-	'info_premier_resultat' => '[@debut_limit@ unuaj rezultoj el @total@]',
445
-	'info_premier_resultat_sur' => '[@debut_limit@ unuaj rezultoj el @total@]',
446
-	'info_propose_1' => '[@nom_site_spip@] Proponas : @titre@',
447
-	'info_propose_2' => 'Proponita artikolo
392
+    'info_fini' => 'Finite !',
393
+    'info_format_image' => 'Bildaj formatoj uzeblaj por krei vinjetojn : @gd_formats@.',
394
+    'info_format_non_defini' => 'nedefinita formato',
395
+    'info_grand_ecran' => 'Granda ekrano',
396
+    'info_image_aide' => 'HELPILO',
397
+    'info_image_process_titre' => 'Metodo pri vinjet-farado',
398
+    'info_impossible_lire_page' => '<b>Eraro !</b> Ne eblas legi la paĝon <tt> <html>@test_proxy@</html> </tt> tra la prokura servilo <tt>',
399
+    'info_installation_systeme_publication' => 'Instalo de la publikiga sistemo...',
400
+    'info_installer_documents' => 'Vi povas aŭtomate instali ĉiujn dokumentojn troviĝantajn en la dosiero @upload@.',
401
+    'info_installer_ftp' => 'Kiel mastrumanto, vi povas instali (FTP-e) dosierojn en la dosierujon @upload@ kaj poste rekte selekti ilin ĉi tie.',
402
+    'info_installer_images' => 'Vi povas instali bildojn je la formatoj JPEG, GIF kaj PNG.',
403
+    'info_installer_images_dossier' => 'Instali bildojn en la dosierujon @upload@ por povi ilin selekti ĉi tie.',
404
+    'info_interface_complete' => 'kompleta interfaco',
405
+    'info_interface_simple' => 'Simpla interfaco',
406
+    'info_joindre_document_article' => 'Vi povas ligi kun tiu artikolo dokumentojn tiajn, kiaj',
407
+    'info_joindre_document_rubrique' => 'Vi povas ligi kun tiu rubriko dokumentojn tiajn, kiaj',
408
+    'info_joindre_documents_article' => 'Vi povas ligi kun tiu artikolo dokumentojn tiajn, kiaj :',
409
+    'info_l_article' => 'la artikolo',
410
+    'info_la_breve' => 'la fulm-informo',
411
+    'info_la_rubrique' => 'la rubriko',
412
+    'info_langue_principale' => 'Ĉefa lingvo de la retejo',
413
+    'info_largeur_vignette' => '@largeur_vignette@ x @hauteur_vignette@ bilderoj',
414
+    'info_les_auteurs_1' => 'de @les_auteurs@',
415
+    'info_logo_format_interdit' => 'Nur vinjetoj je formatoj @formats@ estas permesataj.',
416
+    'info_logo_max_poids' => 'Vinjetoj devige pezu malpli ol @maxi@ (tiu dosiero pezas @actuel@).',
417
+    'info_mail_fournisseur' => '[email protected]',
418
+    'info_message_2' => 'MESAĜO',
419
+    'info_message_supprime' => 'FORIGITA MESAĜO',
420
+    'info_messages_nb' => '@nb@ mesaĝoj',
421
+    'info_messages_un' => '1 mesaĝo',
422
+    'info_mise_en_ligne' => 'Dato de ĉeretigo : ',
423
+    'info_modification_parametres_securite' => 'modifoj de la sekuraj parametroj',
424
+    'info_mois_courant' => 'En la kuranta monato :',
425
+    'info_mot_cle_ajoute' => 'La jena ŝlosilvorto estas ligita kun',
426
+    'info_multi_herit' => 'Defaŭlta lingvo',
427
+    'info_multi_langues_soulignees' => 'Por la <u>substrekitaj lingvoj</u>, ĉiuj tekstoj de la interfaco estas tute aŭ parte tradukitaj. Kiam vi elektas tiujn lingvojn, multaj elementoj de la publika retejo (datenoj, formularoj) estos aŭtomate tradukitaj. Por la nesubstrekitaj lingvoj, tiuj elementoj afiŝiĝos en la ĉefa lingvo de la retejo.',
428
+    'info_multilinguisme' => 'Multlingvismo',
429
+    'info_nom_non_utilisateurs_connectes' => 'Via nomo ne aperas en la listo de la ensalutintaj uzantoj.',
430
+    'info_nom_utilisateurs_connectes' => 'Via nomo aperas en la listo de la ensalutintaj uzantoj.',
431
+    'info_nombre_en_ligne' => 'Nun ensalutintaj :',
432
+    'info_non_resultat' => 'Neniu rezulto por "@cherche_mot@"',
433
+    'info_non_utilisation_messagerie' => 'Vi ne uzas la internan mesaĝilon de tiu retejo.',
434
+    'info_nouveau_message' => 'VI HAVAS NOVAN MESAĜON',
435
+    'info_nouveaux_messages' => 'VI HAVAS @total_messages@ NOVA(J)N MESAĜO(J)N',
436
+    'info_numero_abbreviation' => 'N° ',
437
+    'info_obligatoire' => 'Tiu ĉi informo estas deviga',
438
+    'info_pense_bete' => 'MEMORIGILO',
439
+    'info_petit_ecran' => 'Eta ekrano',
440
+    'info_petition_close' => 'Petskribo fermita',
441
+    'info_pixels' => 'bilderoj',
442
+    'info_plusieurs_mots_trouves' => 'Pluraj ŝlosilvortoj trovitaj por "@cherche_mot@" :',
443
+    'info_portfolio_automatique' => 'Aŭtomata dokumentujo :',
444
+    'info_premier_resultat' => '[@debut_limit@ unuaj rezultoj el @total@]',
445
+    'info_premier_resultat_sur' => '[@debut_limit@ unuaj rezultoj el @total@]',
446
+    'info_propose_1' => '[@nom_site_spip@] Proponas : @titre@',
447
+    'info_propose_2' => 'Proponita artikolo
448 448
 ---------------',
449
-	'info_propose_3' => 'La artikolo "@titre@" estas proponita por publikigo.',
450
-	'info_propose_4' => 'Vi estas petata konsulti ĝin kaj doni vian opinion',
451
-	'info_propose_5' => 'en la forumo ligita al ĝi. Ĝi estas disponebla el la adreso :',
452
-	'info_publie_01' => 'La artikolo "@titre@" estis validigita de @connect_nom@.',
453
-	'info_publie_1' => '[@nom_site_spip@] PUBLIKIGAS : @titre@',
454
-	'info_publie_2' => 'Artikolo publikigita
449
+    'info_propose_3' => 'La artikolo "@titre@" estas proponita por publikigo.',
450
+    'info_propose_4' => 'Vi estas petata konsulti ĝin kaj doni vian opinion',
451
+    'info_propose_5' => 'en la forumo ligita al ĝi. Ĝi estas disponebla el la adreso :',
452
+    'info_publie_01' => 'La artikolo "@titre@" estis validigita de @connect_nom@.',
453
+    'info_publie_1' => '[@nom_site_spip@] PUBLIKIGAS : @titre@',
454
+    'info_publie_2' => 'Artikolo publikigita
455 455
 --------------',
456
-	'info_rechercher' => 'Serĉi',
457
-	'info_rechercher_02' => 'Serĉi :',
458
-	'info_remplacer_vignette' => 'Anstataŭi la defaŭltan vinjeton per propra vinjeto :',
459
-	'info_rubriques_nb' => '@nb@ rubrikoj',
460
-	'info_rubriques_un' => '1 rubriko',
461
-	'info_sans_titre_2' => 'sen titolo',
462
-	'info_selectionner_fichier' => 'Vi povas selekti dosieron el la dosierujo @upload@',
463
-	'info_selectionner_fichier_2' => 'Elektu dosieron :',
464
-	'info_sites_nb' => '@nb@ retejoj',
465
-	'info_sites_un' => '1 retejo',
466
-	'info_supprimer_vignette' => 'forigi la vinjeton',
467
-	'info_symbole_bleu' => 'La <b>blua</b> simbolo indikas <b>memorigilon</b> : tio estas al vi persone adresata memoriga mesaĝo.',
468
-	'info_symbole_jaune' => 'La <b>flava</b> simbolo indikas <b>anoncon al ĉiuj redaktantoj</b> : modifebla de ĉiuj mastrumantoj, kaj videbla de ĉiuj redaktantoj.',
469
-	'info_symbole_vert' => 'La <b>verda</b> simbolo indikas la <b>mesaĝojn interŝanĝitajn kun aliaj uzantoj</b> de la retejo.',
470
-	'info_telecharger_nouveau_logo' => 'Alŝuti novan vinjeton :',
471
-	'info_telecharger_ordinateur' => 'Alŝuti ekde via komputilo :',
472
-	'info_tous_resultats_enregistres' => '[ĉiuj rezultoj estas registritaj]',
473
-	'info_tout_afficher' => 'Ĉion afiŝi',
474
-	'info_travaux_texte' => 'Tiu retejo ne jam estas konfigurita. Bonvolu reveni poste...',
475
-	'info_travaux_titre' => 'Retejo prilaborata ',
476
-	'info_trop_resultat' => 'Tro da rezultoj por "@cherche_mot@" ; bonvolu fajnigi la serĉokriteriojn.',
477
-	'info_utilisation_messagerie_interne' => 'Vi uzas la internan poŝton de tiu ĉi retejo.',
478
-	'info_valider_lien' => 'validigi tiun ĉi ligilon',
479
-	'info_verifier_image' => ', bonvolu kontroli ĉu viaj bildoj estas trafe transigitaj.',
480
-	'info_vignette_defaut' => 'Defaŭlta vinjeto',
481
-	'info_vignette_personnalisee' => 'Persona vinjeto',
482
-	'info_visite' => 'vizito :',
483
-	'info_vos_rendez_vous' => 'Viaj estontaj rendevuoj',
484
-	'infos_vos_pense_bete' => 'Viaj memorigiloj',
456
+    'info_rechercher' => 'Serĉi',
457
+    'info_rechercher_02' => 'Serĉi :',
458
+    'info_remplacer_vignette' => 'Anstataŭi la defaŭltan vinjeton per propra vinjeto :',
459
+    'info_rubriques_nb' => '@nb@ rubrikoj',
460
+    'info_rubriques_un' => '1 rubriko',
461
+    'info_sans_titre_2' => 'sen titolo',
462
+    'info_selectionner_fichier' => 'Vi povas selekti dosieron el la dosierujo @upload@',
463
+    'info_selectionner_fichier_2' => 'Elektu dosieron :',
464
+    'info_sites_nb' => '@nb@ retejoj',
465
+    'info_sites_un' => '1 retejo',
466
+    'info_supprimer_vignette' => 'forigi la vinjeton',
467
+    'info_symbole_bleu' => 'La <b>blua</b> simbolo indikas <b>memorigilon</b> : tio estas al vi persone adresata memoriga mesaĝo.',
468
+    'info_symbole_jaune' => 'La <b>flava</b> simbolo indikas <b>anoncon al ĉiuj redaktantoj</b> : modifebla de ĉiuj mastrumantoj, kaj videbla de ĉiuj redaktantoj.',
469
+    'info_symbole_vert' => 'La <b>verda</b> simbolo indikas la <b>mesaĝojn interŝanĝitajn kun aliaj uzantoj</b> de la retejo.',
470
+    'info_telecharger_nouveau_logo' => 'Alŝuti novan vinjeton :',
471
+    'info_telecharger_ordinateur' => 'Alŝuti ekde via komputilo :',
472
+    'info_tous_resultats_enregistres' => '[ĉiuj rezultoj estas registritaj]',
473
+    'info_tout_afficher' => 'Ĉion afiŝi',
474
+    'info_travaux_texte' => 'Tiu retejo ne jam estas konfigurita. Bonvolu reveni poste...',
475
+    'info_travaux_titre' => 'Retejo prilaborata ',
476
+    'info_trop_resultat' => 'Tro da rezultoj por "@cherche_mot@" ; bonvolu fajnigi la serĉokriteriojn.',
477
+    'info_utilisation_messagerie_interne' => 'Vi uzas la internan poŝton de tiu ĉi retejo.',
478
+    'info_valider_lien' => 'validigi tiun ĉi ligilon',
479
+    'info_verifier_image' => ', bonvolu kontroli ĉu viaj bildoj estas trafe transigitaj.',
480
+    'info_vignette_defaut' => 'Defaŭlta vinjeto',
481
+    'info_vignette_personnalisee' => 'Persona vinjeto',
482
+    'info_visite' => 'vizito :',
483
+    'info_vos_rendez_vous' => 'Viaj estontaj rendevuoj',
484
+    'infos_vos_pense_bete' => 'Viaj memorigiloj',
485 485
 
486
-	// L
487
-	'label_ajout_id_rapide' => 'Rapida aldono',
488
-	'label_poids_fichier' => 'Grandeco',
489
-	'lien_afficher_icones_seuls' => 'Afiŝi nur la piktogramojn',
490
-	'lien_afficher_texte_icones' => 'Afiŝi la piktogramojn kaj la tekston',
491
-	'lien_afficher_texte_seul' => 'Afiŝi nur la tekston',
492
-	'lien_liberer' => 'liberigi',
493
-	'lien_liberer_tous' => 'Liberigi ĉiujn',
494
-	'lien_nouvea_pense_bete' => 'NOVA MEMORIGILO',
495
-	'lien_nouveau_message' => 'NOVA MESAĜO',
496
-	'lien_nouvelle_annonce' => 'NOVA ANONCO',
497
-	'lien_petitions' => 'PETSKRIBO',
498
-	'lien_popularite' => 'populareco : @popularite@%',
499
-	'lien_racine_site' => 'RADIKO DE LA RETEJO',
500
-	'lien_reessayer' => 'reprovi',
501
-	'lien_repondre_message' => 'Respondi al tiu mesaĝo',
502
-	'lien_supprimer' => 'forigi',
503
-	'lien_tout_afficher' => 'Afiŝi ĉion',
504
-	'lien_visite_site' => 'viziti tiun retejon',
505
-	'lien_visites' => '@visites@ vizitoj',
506
-	'lien_voir_auteur' => 'Vidi tiun aŭtoron',
507
-	'ligne' => 'Linio',
508
-	'login' => 'Ensaluti',
509
-	'login_acces_prive' => 'aliro al la privata spaco',
510
-	'login_autre_identifiant' => 'ensaluti per alia salutnomo',
511
-	'login_cookie_accepte' => 'Bonvolu agordi vian retumilon por ke ĝi akceptu ilin (almenaŭ por tiu ĉi retejo).',
512
-	'login_cookie_oblige' => 'Por sekure ensalutiĝi en tiu retejo, vi devas akcepti la kuketojn.',
513
-	'login_deconnexion_ok' => 'Elsalutinta.',
514
-	'login_erreur_pass' => 'Pasvort-eraro.',
515
-	'login_espace_prive' => 'privata spaco',
516
-	'login_identifiant_inconnu' => 'La salutnomo « @login@ » estas nekonata.',
517
-	'login_login' => 'Salutnomo :',
518
-	'login_login2' => 'Salutnomo aŭ retpoŝtadreso :',
519
-	'login_login_pass_incorrect' => '(Salutnomo aŭ pasvorto ne valida.)',
520
-	'login_motpasseoublie' => 'ĉu pasvorto forgesita ?',
521
-	'login_non_securise' => 'Atentu, tiu formularo ne estas sekurigita ;.
486
+    // L
487
+    'label_ajout_id_rapide' => 'Rapida aldono',
488
+    'label_poids_fichier' => 'Grandeco',
489
+    'lien_afficher_icones_seuls' => 'Afiŝi nur la piktogramojn',
490
+    'lien_afficher_texte_icones' => 'Afiŝi la piktogramojn kaj la tekston',
491
+    'lien_afficher_texte_seul' => 'Afiŝi nur la tekston',
492
+    'lien_liberer' => 'liberigi',
493
+    'lien_liberer_tous' => 'Liberigi ĉiujn',
494
+    'lien_nouvea_pense_bete' => 'NOVA MEMORIGILO',
495
+    'lien_nouveau_message' => 'NOVA MESAĜO',
496
+    'lien_nouvelle_annonce' => 'NOVA ANONCO',
497
+    'lien_petitions' => 'PETSKRIBO',
498
+    'lien_popularite' => 'populareco : @popularite@%',
499
+    'lien_racine_site' => 'RADIKO DE LA RETEJO',
500
+    'lien_reessayer' => 'reprovi',
501
+    'lien_repondre_message' => 'Respondi al tiu mesaĝo',
502
+    'lien_supprimer' => 'forigi',
503
+    'lien_tout_afficher' => 'Afiŝi ĉion',
504
+    'lien_visite_site' => 'viziti tiun retejon',
505
+    'lien_visites' => '@visites@ vizitoj',
506
+    'lien_voir_auteur' => 'Vidi tiun aŭtoron',
507
+    'ligne' => 'Linio',
508
+    'login' => 'Ensaluti',
509
+    'login_acces_prive' => 'aliro al la privata spaco',
510
+    'login_autre_identifiant' => 'ensaluti per alia salutnomo',
511
+    'login_cookie_accepte' => 'Bonvolu agordi vian retumilon por ke ĝi akceptu ilin (almenaŭ por tiu ĉi retejo).',
512
+    'login_cookie_oblige' => 'Por sekure ensalutiĝi en tiu retejo, vi devas akcepti la kuketojn.',
513
+    'login_deconnexion_ok' => 'Elsalutinta.',
514
+    'login_erreur_pass' => 'Pasvort-eraro.',
515
+    'login_espace_prive' => 'privata spaco',
516
+    'login_identifiant_inconnu' => 'La salutnomo « @login@ » estas nekonata.',
517
+    'login_login' => 'Salutnomo :',
518
+    'login_login2' => 'Salutnomo aŭ retpoŝtadreso :',
519
+    'login_login_pass_incorrect' => '(Salutnomo aŭ pasvorto ne valida.)',
520
+    'login_motpasseoublie' => 'ĉu pasvorto forgesita ?',
521
+    'login_non_securise' => 'Atentu, tiu formularo ne estas sekurigita ;.
522 522
    Se vi ne volas ke via pasvorto estu fraŭde
523 523
    interkaptita ĉe la reto, bonvolu aktivigi
524 524
    Javascript-on en via retumilo',
525
-	'login_nouvelle_tentative' => 'Nova provo',
526
-	'login_par_ici' => 'Vi estas registrita... ĉi tien...',
527
-	'login_pass2' => 'Pasvorto :',
528
-	'login_preferez_refuser' => '<b>Se vi preferas rifuzi kuketojn</b>, alia konektometodo (malpli sekura) estas je via dispono :',
529
-	'login_recharger' => 'freŝigi tiun ĉi paĝon',
530
-	'login_rester_identifie' => 'Resti ensalutinta kelkajn tagojn', # MODIF
531
-	'login_retour_public' => 'Reen al la publika spaco',
532
-	'login_retour_site' => 'Reen al la publika spaco',
533
-	'login_retoursitepublic' => 'reen al la publika spaco',
534
-	'login_sans_cookie' => 'Ensaluto sen kuketo',
535
-	'login_securise' => 'Sekura salutnomo',
536
-	'login_sinscrire' => 'registriĝi', # MODIF
537
-	'login_test_navigateur' => 'testo retumilo/rekonektiĝo',
538
-	'login_verifiez_navigateur' => '(Kontrolu tamen ke via retumilo ne memoras pri via pasvorto...)',
525
+    'login_nouvelle_tentative' => 'Nova provo',
526
+    'login_par_ici' => 'Vi estas registrita... ĉi tien...',
527
+    'login_pass2' => 'Pasvorto :',
528
+    'login_preferez_refuser' => '<b>Se vi preferas rifuzi kuketojn</b>, alia konektometodo (malpli sekura) estas je via dispono :',
529
+    'login_recharger' => 'freŝigi tiun ĉi paĝon',
530
+    'login_rester_identifie' => 'Resti ensalutinta kelkajn tagojn', # MODIF
531
+    'login_retour_public' => 'Reen al la publika spaco',
532
+    'login_retour_site' => 'Reen al la publika spaco',
533
+    'login_retoursitepublic' => 'reen al la publika spaco',
534
+    'login_sans_cookie' => 'Ensaluto sen kuketo',
535
+    'login_securise' => 'Sekura salutnomo',
536
+    'login_sinscrire' => 'registriĝi', # MODIF
537
+    'login_test_navigateur' => 'testo retumilo/rekonektiĝo',
538
+    'login_verifiez_navigateur' => '(Kontrolu tamen ke via retumilo ne memoras pri via pasvorto...)',
539 539
 
540
-	// M
541
-	'masquer_colonne' => 'Kaŝi tiun ĉi kolumnon',
542
-	'masquer_trad' => 'kaŝi la tradukojn',
543
-	'message_nouveaux_identifiants_echec' => 'Ne eblas krei novajn ensalutilojn.',
544
-	'message_nouveaux_identifiants_echec_envoi' => 'Ne eblis sendi la novajn ensalutilojn.',
545
-	'message_nouveaux_identifiants_ok' => 'La novaj ensalutilojn estis senditaj al @email@.',
546
-	'module_fichiers_langues' => 'Dosieroj de lingvo',
540
+    // M
541
+    'masquer_colonne' => 'Kaŝi tiun ĉi kolumnon',
542
+    'masquer_trad' => 'kaŝi la tradukojn',
543
+    'message_nouveaux_identifiants_echec' => 'Ne eblas krei novajn ensalutilojn.',
544
+    'message_nouveaux_identifiants_echec_envoi' => 'Ne eblis sendi la novajn ensalutilojn.',
545
+    'message_nouveaux_identifiants_ok' => 'La novaj ensalutilojn estis senditaj al @email@.',
546
+    'module_fichiers_langues' => 'Dosieroj de lingvo',
547 547
 
548
-	// N
549
-	'navigateur_pas_redirige' => 'Se via retumilo ne redirektiĝas, daŭrigu musklakante ĉi tie.',
550
-	'numero' => 'Numero',
548
+    // N
549
+    'navigateur_pas_redirige' => 'Se via retumilo ne redirektiĝas, daŭrigu musklakante ĉi tie.',
550
+    'numero' => 'Numero',
551 551
 
552
-	// O
553
-	'occurence' => 'Trafo',
554
-	'onglet_affacer_base' => 'Forigi la datenbazon',
555
-	'onglet_auteur' => 'La aŭtoro',
556
-	'onglet_contenu_site' => 'Enhavo de la retejo',
557
-	'onglet_evolution_visite_mod' => 'Evoluado',
558
-	'onglet_fonctions_avances' => 'Ampleksaj funkcioj',
559
-	'onglet_informations_personnelles' => 'Personaj datenoj',
560
-	'onglet_interactivite' => 'Interagado',
561
-	'onglet_messagerie' => 'Mesaĝilo',
562
-	'onglet_repartition_rubrique' => 'Distribuo laŭ rubrikoj',
563
-	'onglet_save_restaur_base' => 'Savkopii/restaŭri la datenbazon',
564
-	'onglet_vider_cache' => 'Malplenigi la staplon',
552
+    // O
553
+    'occurence' => 'Trafo',
554
+    'onglet_affacer_base' => 'Forigi la datenbazon',
555
+    'onglet_auteur' => 'La aŭtoro',
556
+    'onglet_contenu_site' => 'Enhavo de la retejo',
557
+    'onglet_evolution_visite_mod' => 'Evoluado',
558
+    'onglet_fonctions_avances' => 'Ampleksaj funkcioj',
559
+    'onglet_informations_personnelles' => 'Personaj datenoj',
560
+    'onglet_interactivite' => 'Interagado',
561
+    'onglet_messagerie' => 'Mesaĝilo',
562
+    'onglet_repartition_rubrique' => 'Distribuo laŭ rubrikoj',
563
+    'onglet_save_restaur_base' => 'Savkopii/restaŭri la datenbazon',
564
+    'onglet_vider_cache' => 'Malplenigi la staplon',
565 565
 
566
-	// P
567
-	'pass_choix_pass' => 'Bonvolu elekti vian novan pasvorton :',
568
-	'pass_erreur' => 'Eraro',
569
-	'pass_erreur_acces_refuse' => '<b>Eraro :</b> vi ne plu havas aliron al tiu retejo.',
570
-	'pass_erreur_code_inconnu' => '<b>Eraro :</b> tiu kodo kongruas kun neniu el la vizitantoj rajtantaj aliri tiun ĉi retejon.',
571
-	'pass_erreur_non_enregistre' => '<b>Eraro :</b> la retpoŝtadreso <tt>@email_oubli@</tt> ne estas registrita ĉi tie.',
572
-	'pass_erreur_non_valide' => '<b>Eraro :</b> tiu retpoŝtadreso <tt>@email_oubli@</tt> ne validas !',
573
-	'pass_erreur_probleme_technique' => '<b>Eraro :</b> pro teknika problemo, la retmesaĝo ne povas esti sendata.',
574
-	'pass_espace_prive_bla' => 'La privata spaco de tiu ĉi retejo estas malfermita al
566
+    // P
567
+    'pass_choix_pass' => 'Bonvolu elekti vian novan pasvorton :',
568
+    'pass_erreur' => 'Eraro',
569
+    'pass_erreur_acces_refuse' => '<b>Eraro :</b> vi ne plu havas aliron al tiu retejo.',
570
+    'pass_erreur_code_inconnu' => '<b>Eraro :</b> tiu kodo kongruas kun neniu el la vizitantoj rajtantaj aliri tiun ĉi retejon.',
571
+    'pass_erreur_non_enregistre' => '<b>Eraro :</b> la retpoŝtadreso <tt>@email_oubli@</tt> ne estas registrita ĉi tie.',
572
+    'pass_erreur_non_valide' => '<b>Eraro :</b> tiu retpoŝtadreso <tt>@email_oubli@</tt> ne validas !',
573
+    'pass_erreur_probleme_technique' => '<b>Eraro :</b> pro teknika problemo, la retmesaĝo ne povas esti sendata.',
574
+    'pass_espace_prive_bla' => 'La privata spaco de tiu ĉi retejo estas malfermita al
575 575
   vizitantoj, post ties registriĝo. Tio farita, vi povos
576 576
   konsulti la redaktatajn artikolojn, proponi artikolojn
577 577
   kaj partopreni en ĉiuj forumoj.',
578
-	'pass_forum_bla' => 'Vi petis por kontribui en forumo
578
+    'pass_forum_bla' => 'Vi petis por kontribui en forumo
579 579
   rezervita al registritaj vizitantoj.',
580
-	'pass_indiquez_cidessous' => 'Indiku ĉi-sube la retpoŝtadreson laŭ kiu vi
580
+    'pass_indiquez_cidessous' => 'Indiku ĉi-sube la retpoŝtadreson laŭ kiu vi
581 581
    antaŭe registriĝis. Vi
582 582
    ricevos retmesaĝon kiu indikos al vi kion fari por
583 583
    reakiri vian alir-rajton.',
584
-	'pass_mail_passcookie' => '(tio ĉi estas aŭtomata mesaĝo)
584
+    'pass_mail_passcookie' => '(tio ĉi estas aŭtomata mesaĝo)
585 585
 Por reakiri alireblon al la retejo
586 586
 @nom_site_spip@ (@adresse_site@)
587 587
 
@@ -593,144 +593,144 @@  discard block
 block discarded – undo
593 593
 kaj ensaluti.
594 594
 
595 595
 ',
596
-	'pass_mot_oublie' => 'Pasvorto forgesita',
597
-	'pass_nouveau_enregistre' => 'Via nova pasvorto estas registrita.',
598
-	'pass_nouveau_pass' => 'Nova pasvorto',
599
-	'pass_ok' => 'JES',
600
-	'pass_oubli_mot' => 'Pasvorto-forgeso',
601
-	'pass_procedure_changer' => 'Por ŝanĝi vian pasvorton, specifu al ni la asociitan retpoŝtadreson el via konto.',
602
-	'pass_quitter_fenetre' => 'Forlasi tiun fenestron',
603
-	'pass_rappel_login' => 'Memoru : via ensalutilo (salutnomo) estas « @login@ ».',
604
-	'pass_recevoir_mail' => 'Vi ricevos retmesaĝon indikantan al vi kiel retrovi vian aliron al la retejo.', # MODIF
605
-	'pass_retour_public' => 'Reen al la publika spaco',
606
-	'pass_rien_a_faire_ici' => 'Nenion por fari ĉi tie.',
607
-	'pass_vousinscrire' => 'Registriĝi ĉe tiu retejo',
608
-	'precedent' => 'antaŭan',
609
-	'previsualisation' => 'Antaŭrigardo',
610
-	'previsualiser' => 'Antaŭrigardi',
596
+    'pass_mot_oublie' => 'Pasvorto forgesita',
597
+    'pass_nouveau_enregistre' => 'Via nova pasvorto estas registrita.',
598
+    'pass_nouveau_pass' => 'Nova pasvorto',
599
+    'pass_ok' => 'JES',
600
+    'pass_oubli_mot' => 'Pasvorto-forgeso',
601
+    'pass_procedure_changer' => 'Por ŝanĝi vian pasvorton, specifu al ni la asociitan retpoŝtadreson el via konto.',
602
+    'pass_quitter_fenetre' => 'Forlasi tiun fenestron',
603
+    'pass_rappel_login' => 'Memoru : via ensalutilo (salutnomo) estas « @login@ ».',
604
+    'pass_recevoir_mail' => 'Vi ricevos retmesaĝon indikantan al vi kiel retrovi vian aliron al la retejo.', # MODIF
605
+    'pass_retour_public' => 'Reen al la publika spaco',
606
+    'pass_rien_a_faire_ici' => 'Nenion por fari ĉi tie.',
607
+    'pass_vousinscrire' => 'Registriĝi ĉe tiu retejo',
608
+    'precedent' => 'antaŭan',
609
+    'previsualisation' => 'Antaŭrigardo',
610
+    'previsualiser' => 'Antaŭrigardi',
611 611
 
612
-	// R
613
-	'retour' => 'Reen',
612
+    // R
613
+    'retour' => 'Reen',
614 614
 
615
-	// S
616
-	'spip_conforme_dtd' => 'SPIP konsideras tiun dokumenton konforma al sia DOCTYPE :',
617
-	'squelette' => 'skeleto',
618
-	'squelette_inclus_ligne' => 'skeleto inkluzivita, linio',
619
-	'squelette_ligne' => 'skeleto, linio',
620
-	'stats_visites_et_popularite' => '@visites@ vizitoj ; populareco : @popularite@',
621
-	'suivant' => 'sekvanta',
615
+    // S
616
+    'spip_conforme_dtd' => 'SPIP konsideras tiun dokumenton konforma al sia DOCTYPE :',
617
+    'squelette' => 'skeleto',
618
+    'squelette_inclus_ligne' => 'skeleto inkluzivita, linio',
619
+    'squelette_ligne' => 'skeleto, linio',
620
+    'stats_visites_et_popularite' => '@visites@ vizitoj ; populareco : @popularite@',
621
+    'suivant' => 'sekvanta',
622 622
 
623
-	// T
624
-	'taille_go' => '@taille@ Go',
625
-	'taille_ko' => '@taille@ kb',
626
-	'taille_mo' => '@taille@ Mb',
627
-	'taille_octets' => '@taille@ bitokoj',
628
-	'texte_actualite_site_1' => 'Kiam vi estos kutimiĝinta kun la interfaco, vi povos musklaki sur « ',
629
-	'texte_actualite_site_2' => 'kompleta interfaco',
630
-	'texte_actualite_site_3' => ' » por malfermi pliajn eblecojn.',
631
-	'texte_creation_automatique_vignette' => 'La aŭtomata kreado de antaŭrigardaj vinjetoj estas aktivigita ĉe tiu ĉi retejo. Se vi instalas pere de tiu ĉi formularo bildojn je la formato(j) @gd_formats@, ili estos akompanataj de vinjeto kun maksimuma grandeco de @taille_preview@ bilderoj.',
632
-	'texte_documents_associes' => 'La sekvantaj dokumentoj estas asociitaj al la artikolo,
623
+    // T
624
+    'taille_go' => '@taille@ Go',
625
+    'taille_ko' => '@taille@ kb',
626
+    'taille_mo' => '@taille@ Mb',
627
+    'taille_octets' => '@taille@ bitokoj',
628
+    'texte_actualite_site_1' => 'Kiam vi estos kutimiĝinta kun la interfaco, vi povos musklaki sur « ',
629
+    'texte_actualite_site_2' => 'kompleta interfaco',
630
+    'texte_actualite_site_3' => ' » por malfermi pliajn eblecojn.',
631
+    'texte_creation_automatique_vignette' => 'La aŭtomata kreado de antaŭrigardaj vinjetoj estas aktivigita ĉe tiu ĉi retejo. Se vi instalas pere de tiu ĉi formularo bildojn je la formato(j) @gd_formats@, ili estos akompanataj de vinjeto kun maksimuma grandeco de @taille_preview@ bilderoj.',
632
+    'texte_documents_associes' => 'La sekvantaj dokumentoj estas asociitaj al la artikolo,
633 633
     sed ili ne estis rekte enmetitaj en ĝin.
634 634
     Laŭ la enpaĝigo de la publika spaco,
635 635
     ili povos aperi en formo de alkroĉitaj dokumentoj.',
636
-	'texte_erreur_mise_niveau_base' => 'Datenbazo-eraro dum la alniveligo.
636
+    'texte_erreur_mise_niveau_base' => 'Datenbazo-eraro dum la alniveligo.
637 637
   La bildo <b>@fichier@</b> ne transŝutiĝis (artikolo @id_article@).
638 638
   Bone notu tiun referencon, reprovu la alniveligon,
639 639
   kaj fine kontrolu ke la bildoj plu aperu
640 640
 en la artikoloj.',
641
-	'texte_erreur_visiteur' => 'Vi provis eniri la privatan spacon pere de ne alir-rajtiga salutnomo.',
642
-	'texte_inc_auth_1' => 'Vi ensalutis laŭ la
641
+    'texte_erreur_visiteur' => 'Vi provis eniri la privatan spacon pere de ne alir-rajtiga salutnomo.',
642
+    'texte_inc_auth_1' => 'Vi ensalutis laŭ la
643 643
   salutnomo <b>@auth_login@</b>, sed tiu ne/ne plu ekzistas en la datenbazo.
644 644
   Provu',
645
-	'texte_inc_auth_2' => 'rekonektiĝi',
646
-	'texte_inc_auth_3' => ', post esti eventuale ferminta kaj
645
+    'texte_inc_auth_2' => 'rekonektiĝi',
646
+    'texte_inc_auth_3' => ', post esti eventuale ferminta kaj
647 647
   restartiginta via retumilon.',
648
-	'texte_inc_config' => 'La ŝanĝoj faritaj en tiuj ĉi paĝoj influas grave la
648
+    'texte_inc_config' => 'La ŝanĝoj faritaj en tiuj ĉi paĝoj influas grave la
649 649
  funkciadon de via retejo. Ni konsilas al vi ne plu interveni antaŭ ol esti pli
650 650
  kutimiĝinta pri la funkciado de la SPIP-sistemo. <br /><br /><b>Pli
651 651
  ĝenerale, estas tre konsilinde lasi la mastrumadon de tiuj ĉi paĝoj
652 652
 sub la respondeco de la ĉefa retejestro .</b>',
653
-	'texte_inc_meta_1' => 'La sistemo detektis eraron dum skribado de la dosiero <code>@fichier@</code>. Bonvolu, kiel mastrumanto de la retejo,',
654
-	'texte_inc_meta_2' => 'kontroli la skriborajtojn',
655
-	'texte_inc_meta_3' => 'en la dosierujo <code>@repertoire@</code>.',
656
-	'texte_statut_en_cours_redaction' => 'Redaktataj',
657
-	'texte_statut_poubelle' => 'en rubujo',
658
-	'texte_statut_propose_evaluation' => 'proponita por taksado',
659
-	'texte_statut_publie' => 'rete publikigita',
660
-	'texte_statut_refuse' => 'rifuzita',
661
-	'titre_ajouter_mot_cle' => 'ALDONI ŜLOSILVORTON :',
662
-	'titre_cadre_raccourcis' => 'RAPIDAJ ALIROJ :',
663
-	'titre_changer_couleur_interface' => 'Ŝanĝi la koloron de la interfaco',
664
-	'titre_image_admin_article' => 'Vi povas mastrumi tiun ĉi artikolon',
665
-	'titre_image_administrateur' => 'Mastrumanto',
666
-	'titre_image_aide' => 'Helpo pri tiu elemento',
667
-	'titre_image_auteur_supprime' => 'Aŭtoro forigita',
668
-	'titre_image_redacteur' => 'Redaktanto sen alireblo',
669
-	'titre_image_redacteur_02' => 'Redaktanto',
670
-	'titre_image_selecteur' => 'Montri la liston',
671
-	'titre_image_visiteur' => 'Vizitanto',
672
-	'titre_joindre_document' => 'ALDONI DOKUMENTON',
673
-	'titre_mots_cles' => 'ŜLOSILVORTOJ',
674
-	'titre_probleme_technique' => 'Atentu : teknika problemo  (SQL-servilo) malhelpas la aliron al tiu parto de la retejo. Dankon pro via komprenemo.',
675
-	'titre_publier_document' => 'PUBLIKIGI DOKUMENTON EN TIU ĈI RUBRIKO',
676
-	'titre_signatures_attente' => 'Subskriboj validotaj',
677
-	'titre_signatures_confirmees' => 'Subskriboj konfirmitaj',
678
-	'titre_statistiques' => 'Statistikoj de la retejo',
679
-	'titre_titre_document' => 'Titolo de la dokumento :',
680
-	'todo' => 'venonta',
681
-	'trad_definir_reference' => 'Elekti „@titre@“ kiel referenco de la tradukoj',
682
-	'trad_reference' => '(referenco de la traduktoj)',
653
+    'texte_inc_meta_1' => 'La sistemo detektis eraron dum skribado de la dosiero <code>@fichier@</code>. Bonvolu, kiel mastrumanto de la retejo,',
654
+    'texte_inc_meta_2' => 'kontroli la skriborajtojn',
655
+    'texte_inc_meta_3' => 'en la dosierujo <code>@repertoire@</code>.',
656
+    'texte_statut_en_cours_redaction' => 'Redaktataj',
657
+    'texte_statut_poubelle' => 'en rubujo',
658
+    'texte_statut_propose_evaluation' => 'proponita por taksado',
659
+    'texte_statut_publie' => 'rete publikigita',
660
+    'texte_statut_refuse' => 'rifuzita',
661
+    'titre_ajouter_mot_cle' => 'ALDONI ŜLOSILVORTON :',
662
+    'titre_cadre_raccourcis' => 'RAPIDAJ ALIROJ :',
663
+    'titre_changer_couleur_interface' => 'Ŝanĝi la koloron de la interfaco',
664
+    'titre_image_admin_article' => 'Vi povas mastrumi tiun ĉi artikolon',
665
+    'titre_image_administrateur' => 'Mastrumanto',
666
+    'titre_image_aide' => 'Helpo pri tiu elemento',
667
+    'titre_image_auteur_supprime' => 'Aŭtoro forigita',
668
+    'titre_image_redacteur' => 'Redaktanto sen alireblo',
669
+    'titre_image_redacteur_02' => 'Redaktanto',
670
+    'titre_image_selecteur' => 'Montri la liston',
671
+    'titre_image_visiteur' => 'Vizitanto',
672
+    'titre_joindre_document' => 'ALDONI DOKUMENTON',
673
+    'titre_mots_cles' => 'ŜLOSILVORTOJ',
674
+    'titre_probleme_technique' => 'Atentu : teknika problemo  (SQL-servilo) malhelpas la aliron al tiu parto de la retejo. Dankon pro via komprenemo.',
675
+    'titre_publier_document' => 'PUBLIKIGI DOKUMENTON EN TIU ĈI RUBRIKO',
676
+    'titre_signatures_attente' => 'Subskriboj validotaj',
677
+    'titre_signatures_confirmees' => 'Subskriboj konfirmitaj',
678
+    'titre_statistiques' => 'Statistikoj de la retejo',
679
+    'titre_titre_document' => 'Titolo de la dokumento :',
680
+    'todo' => 'venonta',
681
+    'trad_definir_reference' => 'Elekti „@titre@“ kiel referenco de la tradukoj',
682
+    'trad_reference' => '(referenco de la traduktoj)',
683 683
 
684
-	// U
685
-	'upload_limit' => 'Tiu dosiero estas tro granda por la servilo : la maksimuma dosiergrando, kiam oni alŝutas, estas @max@.',
684
+    // U
685
+    'upload_limit' => 'Tiu dosiero estas tro granda por la servilo : la maksimuma dosiergrando, kiam oni alŝutas, estas @max@.',
686 686
 
687
-	// Z
688
-	'zbug_balise_b_aval' => ' : posta B marko',
689
-	'zbug_balise_inexistante' => 'Marko @balise@ malbone deklarita por @from@',
690
-	'zbug_balise_sans_argument' => 'Mankas argumento en la marko @balise@',
691
-	'zbug_boucle' => 'iteracio',
692
-	'zbug_boucle_recursive_undef' => 'Nedifinita rekursia iteracio : @nom@',
693
-	'zbug_calcul' => 'komputado',
694
-	'zbug_champ_hors_boucle' => 'Kampo @champ@ eksteras iteracion',
695
-	'zbug_champ_hors_motif' => 'Kampo @champ@ eksteras kontekston @motif@',
696
-	'zbug_code' => 'kodo',
697
-	'zbug_critere_inconnu' => 'Nekonata kriterio @critere@',
698
-	'zbug_critere_sur_table_sans_cle_primaire' => '{@critere@} pri tabelo sen atoma ĉefŝlosilo',
699
-	'zbug_distant_interdit' => 'Ago ĉe tiu ekstera datenbazo malpermesata',
700
-	'zbug_doublon_table_sans_cle_primaire' => 'Duobloj uzitaj ĉe tabelo, kiu ne havas simplan ĉefŝlosilon',
701
-	'zbug_doublon_table_sans_index' => 'Duoblaĵoj en la datentabelo sen indekso',
702
-	'zbug_erreur_boucle_double' => 'Duobla difino de la interacio @id@',
703
-	'zbug_erreur_boucle_fermant' => 'Iteracio @id@ ne fermita',
704
-	'zbug_erreur_boucle_syntaxe' => 'Sintakso de la iteracia @id@ ne valida',
705
-	'zbug_erreur_compilation' => 'Kompil-eraro',
706
-	'zbug_erreur_execution_page' => 'Eraro dum plenumo',
707
-	'zbug_erreur_filtre' => 'Filtrilo @filtre@ nedifinita',
708
-	'zbug_erreur_meme_parent' => 'La kriterio {meme_parent} nur aplikiĝas je iteracioj (FORUMS) aŭ (RUBRIQUES)',
709
-	'zbug_erreur_squelette' => 'Eraro(j) en la skeleto',
710
-	'zbug_hors_compilation' => 'Ne kompilita',
711
-	'zbug_info_erreur_squelette' => 'Eraro ĉe la retejo',
712
-	'zbug_inversion_ordre_inexistant' => 'Inversigo de ne ekzistanta ordo',
713
-	'zbug_pagination_sans_critere' => 'Marko #PAGINATION senkriteria {pagination} aŭ uzata en rekursia iteracio',
714
-	'zbug_parametres_inclus_incorrects' => 'Ne korektaj inkludaj parametroj : @param@',
715
-	'zbug_profile' => 'Kalkuldaŭro : @time@',
716
-	'zbug_resultat' => 'rezulto',
717
-	'zbug_serveur_indefini' => 'Nedifinata SQL-servilo',
718
-	'zbug_statistiques' => 'statistikoj pri SQL-informpetoj ordigitaj laŭ daŭro',
719
-	'zbug_table_inconnue' => 'nekonata SQL « @table@ » tabelo',
720
-	'zxml_connus_attributs' => 'konataj atributoj',
721
-	'zxml_de' => 'de',
722
-	'zxml_inconnu_attribut' => 'nekonataj atributoj',
723
-	'zxml_inconnu_balise' => 'ne konita marko',
724
-	'zxml_inconnu_entite' => 'ne konata ento',
725
-	'zxml_inconnu_id' => 'ne konata ID',
726
-	'zxml_mais_de' => 'sed',
727
-	'zxml_non_conforme' => 'ne kongrua kun la motivo',
728
-	'zxml_non_fils' => 'ne estas filo de',
729
-	'zxml_nonvide_balise' => 'ne malplena marko',
730
-	'zxml_obligatoire_attribut' => 'deviga atributo sed foresta en',
731
-	'zxml_succession_fils_incorrecte' => 'sinsekvo de filoj korekta',
732
-	'zxml_survoler' => 'superflugi por ekvidi korektaĵojn',
733
-	'zxml_valeur_attribut' => 'atributa valoro',
734
-	'zxml_vide_balise' => 'malplena marko',
735
-	'zxml_vu' => 'antaŭe vidita'
687
+    // Z
688
+    'zbug_balise_b_aval' => ' : posta B marko',
689
+    'zbug_balise_inexistante' => 'Marko @balise@ malbone deklarita por @from@',
690
+    'zbug_balise_sans_argument' => 'Mankas argumento en la marko @balise@',
691
+    'zbug_boucle' => 'iteracio',
692
+    'zbug_boucle_recursive_undef' => 'Nedifinita rekursia iteracio : @nom@',
693
+    'zbug_calcul' => 'komputado',
694
+    'zbug_champ_hors_boucle' => 'Kampo @champ@ eksteras iteracion',
695
+    'zbug_champ_hors_motif' => 'Kampo @champ@ eksteras kontekston @motif@',
696
+    'zbug_code' => 'kodo',
697
+    'zbug_critere_inconnu' => 'Nekonata kriterio @critere@',
698
+    'zbug_critere_sur_table_sans_cle_primaire' => '{@critere@} pri tabelo sen atoma ĉefŝlosilo',
699
+    'zbug_distant_interdit' => 'Ago ĉe tiu ekstera datenbazo malpermesata',
700
+    'zbug_doublon_table_sans_cle_primaire' => 'Duobloj uzitaj ĉe tabelo, kiu ne havas simplan ĉefŝlosilon',
701
+    'zbug_doublon_table_sans_index' => 'Duoblaĵoj en la datentabelo sen indekso',
702
+    'zbug_erreur_boucle_double' => 'Duobla difino de la interacio @id@',
703
+    'zbug_erreur_boucle_fermant' => 'Iteracio @id@ ne fermita',
704
+    'zbug_erreur_boucle_syntaxe' => 'Sintakso de la iteracia @id@ ne valida',
705
+    'zbug_erreur_compilation' => 'Kompil-eraro',
706
+    'zbug_erreur_execution_page' => 'Eraro dum plenumo',
707
+    'zbug_erreur_filtre' => 'Filtrilo @filtre@ nedifinita',
708
+    'zbug_erreur_meme_parent' => 'La kriterio {meme_parent} nur aplikiĝas je iteracioj (FORUMS) aŭ (RUBRIQUES)',
709
+    'zbug_erreur_squelette' => 'Eraro(j) en la skeleto',
710
+    'zbug_hors_compilation' => 'Ne kompilita',
711
+    'zbug_info_erreur_squelette' => 'Eraro ĉe la retejo',
712
+    'zbug_inversion_ordre_inexistant' => 'Inversigo de ne ekzistanta ordo',
713
+    'zbug_pagination_sans_critere' => 'Marko #PAGINATION senkriteria {pagination} aŭ uzata en rekursia iteracio',
714
+    'zbug_parametres_inclus_incorrects' => 'Ne korektaj inkludaj parametroj : @param@',
715
+    'zbug_profile' => 'Kalkuldaŭro : @time@',
716
+    'zbug_resultat' => 'rezulto',
717
+    'zbug_serveur_indefini' => 'Nedifinata SQL-servilo',
718
+    'zbug_statistiques' => 'statistikoj pri SQL-informpetoj ordigitaj laŭ daŭro',
719
+    'zbug_table_inconnue' => 'nekonata SQL « @table@ » tabelo',
720
+    'zxml_connus_attributs' => 'konataj atributoj',
721
+    'zxml_de' => 'de',
722
+    'zxml_inconnu_attribut' => 'nekonataj atributoj',
723
+    'zxml_inconnu_balise' => 'ne konita marko',
724
+    'zxml_inconnu_entite' => 'ne konata ento',
725
+    'zxml_inconnu_id' => 'ne konata ID',
726
+    'zxml_mais_de' => 'sed',
727
+    'zxml_non_conforme' => 'ne kongrua kun la motivo',
728
+    'zxml_non_fils' => 'ne estas filo de',
729
+    'zxml_nonvide_balise' => 'ne malplena marko',
730
+    'zxml_obligatoire_attribut' => 'deviga atributo sed foresta en',
731
+    'zxml_succession_fils_incorrecte' => 'sinsekvo de filoj korekta',
732
+    'zxml_survoler' => 'superflugi por ekvidi korektaĵojn',
733
+    'zxml_valeur_attribut' => 'atributa valoro',
734
+    'zxml_vide_balise' => 'malplena marko',
735
+    'zxml_vu' => 'antaŭe vidita'
736 736
 );
Please login to merge, or discard this patch.