Completed
Push — master ( 2d83ae...c3f096 )
by cam
55s
created
ecrire/src/I18n/Description.php 1 patch
Indentation   +12 added lines, -12 removed lines patch added patch discarded remove patch
@@ -3,16 +3,16 @@
 block discarded – undo
3 3
 namespace Spip\I18n;
4 4
 
5 5
 class Description {
6
-	/** @var string code de langue (hors module) */
7
-	public $code;
8
-	/** @var string nom du module de langue */
9
-	public $module;
10
-	/** @var string langue de la traduction */
11
-	public $langue;
12
-	/** @var string traduction */
13
-	public $texte;
14
-	/** @var string var mode particulier appliqué ? */
15
-	public $mode;
16
-	/** @var bool Corrections des textes appliqué ? */
17
-	public $corrections = false;
6
+    /** @var string code de langue (hors module) */
7
+    public $code;
8
+    /** @var string nom du module de langue */
9
+    public $module;
10
+    /** @var string langue de la traduction */
11
+    public $langue;
12
+    /** @var string traduction */
13
+    public $texte;
14
+    /** @var string var mode particulier appliqué ? */
15
+    public $mode;
16
+    /** @var bool Corrections des textes appliqué ? */
17
+    public $corrections = false;
18 18
 }
Please login to merge, or discard this patch.
ecrire/src/Compilateur/Iterateur/Factory.php 2 patches
Indentation   +53 added lines, -53 removed lines patch added patch discarded remove patch
@@ -12,60 +12,60 @@
 block discarded – undo
12 12
  */
13 13
 class Factory
14 14
 {
15
-	public static function create($iterateur, $command, $info = null) {
16
-		$iter = null;
17
-		// cas des SI {si expression} analises tres tot
18
-		// pour eviter le chargement de tout iterateur
19
-		if (isset($command['si'])) {
20
-			foreach ($command['si'] as $si) {
21
-				if (!$si) {
22
-					// $command pour boucle SQL peut generer des erreurs de compilation
23
-					// s'il est transmis alors qu'on est dans un iterateur vide
24
-					return new Decorator(new EmptyIterator(), [], $info);
25
-				}
26
-			}
27
-		}
15
+    public static function create($iterateur, $command, $info = null) {
16
+        $iter = null;
17
+        // cas des SI {si expression} analises tres tot
18
+        // pour eviter le chargement de tout iterateur
19
+        if (isset($command['si'])) {
20
+            foreach ($command['si'] as $si) {
21
+                if (!$si) {
22
+                    // $command pour boucle SQL peut generer des erreurs de compilation
23
+                    // s'il est transmis alors qu'on est dans un iterateur vide
24
+                    return new Decorator(new EmptyIterator(), [], $info);
25
+                }
26
+            }
27
+        }
28 28
 
29
-		// chercher un iterateur PHP existant (par exemple dans SPL)
30
-		// (il faudrait passer l'argument ->sql_serveur
31
-		// pour etre certain qu'on est sur un "php:")
32
-		if (class_exists($iterateur)) {
33
-			$a = $command['args'] ?? [];
29
+        // chercher un iterateur PHP existant (par exemple dans SPL)
30
+        // (il faudrait passer l'argument ->sql_serveur
31
+        // pour etre certain qu'on est sur un "php:")
32
+        if (class_exists($iterateur)) {
33
+            $a = $command['args'] ?? [];
34 34
 
35
-			// permettre de passer un Iterateur directement {args #ITERATEUR} :
36
-			// si on recoit deja un iterateur en argument, on l'utilise
37
-			if ((is_countable($a) ? count($a) : 0) == 1 and is_object($a[0]) and is_subclass_of($a[0], \Iterator::class)) {
38
-				$iter = $a[0];
39
-			} else {
40
-				// sinon, on cree un iterateur du type donne
41
-				// arguments de creation de l'iterateur...
42
-				try {
43
-					$iter = $iterateur(...$a);
44
-				} catch (Exception $e) {
45
-					spip_log("Erreur de chargement de l'iterateur {$iterateur}");
46
-					spip_log($e->getMessage());
47
-					$iter = new EmptyIterator();
48
-				}
49
-			}
50
-		} else {
51
-			// chercher la classe d'iterateur Iterateur/XXX
52
-			// definie dans le fichier src/Compilateur/Iterateur/xxx.php
53
-			// FIXME: déclarer quelque part les iterateurs supplémentaires
54
-			$class = __NAMESPACE__ . '\\' . ucfirst(strtolower($iterateur));
55
-			if (!class_exists($class)) {
56
-				// historique
57
-				// Chercher IterateurXXX
58
-				include_spip('iterateur/' . $iterateur);
59
-				$class = 'Iterateur' . $iterateur;
60
-				if (!class_exists($class)) {
61
-					exit("Iterateur {$iterateur} non trouvé");
62
-					// si l'iterateur n'existe pas, on se rabat sur le generique
63
-					// $iter = new EmptyIterator();
64
-				}
65
-			}
66
-			$iter = new $class($command, $info);
67
-		}
35
+            // permettre de passer un Iterateur directement {args #ITERATEUR} :
36
+            // si on recoit deja un iterateur en argument, on l'utilise
37
+            if ((is_countable($a) ? count($a) : 0) == 1 and is_object($a[0]) and is_subclass_of($a[0], \Iterator::class)) {
38
+                $iter = $a[0];
39
+            } else {
40
+                // sinon, on cree un iterateur du type donne
41
+                // arguments de creation de l'iterateur...
42
+                try {
43
+                    $iter = $iterateur(...$a);
44
+                } catch (Exception $e) {
45
+                    spip_log("Erreur de chargement de l'iterateur {$iterateur}");
46
+                    spip_log($e->getMessage());
47
+                    $iter = new EmptyIterator();
48
+                }
49
+            }
50
+        } else {
51
+            // chercher la classe d'iterateur Iterateur/XXX
52
+            // definie dans le fichier src/Compilateur/Iterateur/xxx.php
53
+            // FIXME: déclarer quelque part les iterateurs supplémentaires
54
+            $class = __NAMESPACE__ . '\\' . ucfirst(strtolower($iterateur));
55
+            if (!class_exists($class)) {
56
+                // historique
57
+                // Chercher IterateurXXX
58
+                include_spip('iterateur/' . $iterateur);
59
+                $class = 'Iterateur' . $iterateur;
60
+                if (!class_exists($class)) {
61
+                    exit("Iterateur {$iterateur} non trouvé");
62
+                    // si l'iterateur n'existe pas, on se rabat sur le generique
63
+                    // $iter = new EmptyIterator();
64
+                }
65
+            }
66
+            $iter = new $class($command, $info);
67
+        }
68 68
 
69
-		return new Decorator($iter, $command, $info);
70
-	}
69
+        return new Decorator($iter, $command, $info);
70
+    }
71 71
 }
Please login to merge, or discard this patch.
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -51,12 +51,12 @@
 block discarded – undo
51 51
 			// chercher la classe d'iterateur Iterateur/XXX
52 52
 			// definie dans le fichier src/Compilateur/Iterateur/xxx.php
53 53
 			// FIXME: déclarer quelque part les iterateurs supplémentaires
54
-			$class = __NAMESPACE__ . '\\' . ucfirst(strtolower($iterateur));
54
+			$class = __NAMESPACE__.'\\'.ucfirst(strtolower($iterateur));
55 55
 			if (!class_exists($class)) {
56 56
 				// historique
57 57
 				// Chercher IterateurXXX
58
-				include_spip('iterateur/' . $iterateur);
59
-				$class = 'Iterateur' . $iterateur;
58
+				include_spip('iterateur/'.$iterateur);
59
+				$class = 'Iterateur'.$iterateur;
60 60
 				if (!class_exists($class)) {
61 61
 					exit("Iterateur {$iterateur} non trouvé");
62 62
 					// si l'iterateur n'existe pas, on se rabat sur le generique
Please login to merge, or discard this patch.
ecrire/inc/presentation_mini.php 2 patches
Indentation   +136 added lines, -136 removed lines patch added patch discarded remove patch
@@ -16,7 +16,7 @@  discard block
 block discarded – undo
16 16
  * @package SPIP\Core\Affichage
17 17
  **/
18 18
 if (!defined('_ECRIRE_INC_VERSION')) {
19
-	return;
19
+    return;
20 20
 }
21 21
 
22 22
 /**
@@ -25,7 +25,7 @@  discard block
 block discarded – undo
25 25
  * @return string Code HTML
26 26
  */
27 27
 function debut_grand_cadre() {
28
- return "\n<div class = 'table_page'>\n";
28
+    return "\n<div class = 'table_page'>\n";
29 29
 }
30 30
 
31 31
 /**
@@ -34,7 +34,7 @@  discard block
 block discarded – undo
34 34
  * @return string Code HTML
35 35
  */
36 36
 function fin_grand_cadre() {
37
- return "\n</div>";
37
+    return "\n</div>";
38 38
 }
39 39
 
40 40
 // Debut de la colonne de gauche
@@ -49,7 +49,7 @@  discard block
 block discarded – undo
49 49
  * @return string Code HTML
50 50
  */
51 51
 function debut_gauche() {
52
-	return "<div id = 'conteneur' class = ''>\n<div id = 'navigation' class = 'lat' role = 'contentinfo'>\n";
52
+    return "<div id = 'conteneur' class = ''>\n<div id = 'navigation' class = 'lat' role = 'contentinfo'>\n";
53 53
 }
54 54
 
55 55
 /**
@@ -58,7 +58,7 @@  discard block
 block discarded – undo
58 58
  * @return string Code HTML
59 59
  */
60 60
 function fin_gauche() {
61
- return "</div></div><br class = 'nettoyeur' />";
61
+    return "</div></div><br class = 'nettoyeur' />";
62 62
 }
63 63
 
64 64
 /**
@@ -67,13 +67,13 @@  discard block
 block discarded – undo
67 67
  * @return string Code HTML
68 68
  */
69 69
 function creer_colonne_droite() {
70
-	static $deja_colonne_droite;
71
-	if ($deja_colonne_droite) {
72
-		return '';
73
-	}
74
-	$deja_colonne_droite = true;
70
+    static $deja_colonne_droite;
71
+    if ($deja_colonne_droite) {
72
+        return '';
73
+    }
74
+    $deja_colonne_droite = true;
75 75
 
76
-	return "\n</div><div id='extra' class='lat' role='complementary'>";
76
+    return "\n</div><div id='extra' class='lat' role='complementary'>";
77 77
 }
78 78
 
79 79
 /**
@@ -82,10 +82,10 @@  discard block
 block discarded – undo
82 82
  * @return string Code HTML
83 83
  */
84 84
 function debut_droite() {
85
-	return liste_objets_bloques(_request('exec'))
86
-	. creer_colonne_droite()
87
-	. '</div>'
88
-	. "\n<div id='contenu'>";
85
+    return liste_objets_bloques(_request('exec'))
86
+    . creer_colonne_droite()
87
+    . '</div>'
88
+    . "\n<div id='contenu'>";
89 89
 }
90 90
 
91 91
 /**
@@ -107,32 +107,32 @@  discard block
 block discarded – undo
107 107
  *     Code HTML
108 108
  **/
109 109
 function liste_objets_bloques($exec, $contexte = [], $auteur = null): string {
110
-	$res = '';
111
-	include_spip('inc/config');
112
-	if (lire_config('articles_modif', 'non') !== 'non') {
113
-		include_spip('inc/drapeau_edition');
114
-		if (is_null($auteur)) {
115
-			$auteur = $GLOBALS['visiteur_session'];
116
-		}
117
-		if (
118
-			$en_cours = trouver_objet_exec($exec)
119
-			and $en_cours['edition']
120
-			and $type = $en_cours['type']
121
-			and ((isset($contexte[$en_cours['id_table_objet']]) and $id = $contexte[$en_cours['id_table_objet']])
122
-				or $id = _request($en_cours['id_table_objet']))
123
-		) {
124
-			// marquer le fait que l'objet est ouvert en edition par toto
125
-			// a telle date ; une alerte sera donnee aux autres redacteurs
126
-			signale_edition($id, $auteur, $type);
127
-		}
128
-
129
-		$objets_ouverts = liste_drapeau_edition($auteur['id_auteur']);
130
-		if (count($objets_ouverts)) {
131
-			$res .= recuperer_fond('prive/objets/liste/objets-en-edition', [], ['ajax' => true]);
132
-		}
133
-	}
134
-
135
-	return $res;
110
+    $res = '';
111
+    include_spip('inc/config');
112
+    if (lire_config('articles_modif', 'non') !== 'non') {
113
+        include_spip('inc/drapeau_edition');
114
+        if (is_null($auteur)) {
115
+            $auteur = $GLOBALS['visiteur_session'];
116
+        }
117
+        if (
118
+            $en_cours = trouver_objet_exec($exec)
119
+            and $en_cours['edition']
120
+            and $type = $en_cours['type']
121
+            and ((isset($contexte[$en_cours['id_table_objet']]) and $id = $contexte[$en_cours['id_table_objet']])
122
+                or $id = _request($en_cours['id_table_objet']))
123
+        ) {
124
+            // marquer le fait que l'objet est ouvert en edition par toto
125
+            // a telle date ; une alerte sera donnee aux autres redacteurs
126
+            signale_edition($id, $auteur, $type);
127
+        }
128
+
129
+        $objets_ouverts = liste_drapeau_edition($auteur['id_auteur']);
130
+        if (count($objets_ouverts)) {
131
+            $res .= recuperer_fond('prive/objets/liste/objets-en-edition', [], ['ajax' => true]);
132
+        }
133
+    }
134
+
135
+    return $res;
136 136
 }
137 137
 
138 138
 
@@ -146,20 +146,20 @@  discard block
 block discarded – undo
146 146
  * @return string Code HTML
147 147
  **/
148 148
 function fin_page() {
149
-	include_spip('inc/pipelines');
150
-	// avec &var_profile=1 on a le tableau de mesures SQL
151
-	$debug = ((_request('exec') !== 'valider_xml')
152
-		and ((_request('var_mode') == 'debug')
153
-			or (isset($GLOBALS['tableau_des_temps']) and $GLOBALS['tableau_des_temps'])
154
-			and isset($_COOKIE['spip_admin'])));
155
-	$t = '</div><div id="pied"><div class="largeur">'
156
-		. recuperer_fond('prive/squelettes/inclure/pied')
157
-		. '</div>'
158
-		. '</div></div>' // cf. div#page et div.largeur ouvertes dans conmmencer_page()
159
-		. ($debug ? erreur_squelette() : '')
160
-		. "</body></html>\n";
161
-
162
-	return f_queue($t);
149
+    include_spip('inc/pipelines');
150
+    // avec &var_profile=1 on a le tableau de mesures SQL
151
+    $debug = ((_request('exec') !== 'valider_xml')
152
+        and ((_request('var_mode') == 'debug')
153
+            or (isset($GLOBALS['tableau_des_temps']) and $GLOBALS['tableau_des_temps'])
154
+            and isset($_COOKIE['spip_admin'])));
155
+    $t = '</div><div id="pied"><div class="largeur">'
156
+        . recuperer_fond('prive/squelettes/inclure/pied')
157
+        . '</div>'
158
+        . '</div></div>' // cf. div#page et div.largeur ouvertes dans conmmencer_page()
159
+        . ($debug ? erreur_squelette() : '')
160
+        . "</body></html>\n";
161
+
162
+    return f_queue($t);
163 163
 }
164 164
 
165 165
 /**
@@ -174,22 +174,22 @@  discard block
 block discarded – undo
174 174
  * @return string Code HTML
175 175
  **/
176 176
 function html_tests_js() {
177
-	if (_SPIP_AJAX and !defined('_TESTER_NOSCRIPT')) {
178
-		// pour le pied de page (deja defini si on est validation XML)
179
-		define(
180
-			'_TESTER_NOSCRIPT',
181
-			"<noscript>\n<div style='display:none;'><img src='"
182
-			. generer_url_ecrire('test_ajax', 'js=-1')
183
-			. "' width='1' height='1' alt='' /></div></noscript>\n"
184
-		);
185
-	}
186
-
187
-	$rejouer = '';
188
-	if (defined('_SESSION_REJOUER')) {
189
-		$rejouer = (_SESSION_REJOUER === true) ? rejouer_session() : _SESSION_REJOUER;
190
-	}
191
-
192
-	return $rejouer . (defined('_TESTER_NOSCRIPT') ? _TESTER_NOSCRIPT : '');
177
+    if (_SPIP_AJAX and !defined('_TESTER_NOSCRIPT')) {
178
+        // pour le pied de page (deja defini si on est validation XML)
179
+        define(
180
+            '_TESTER_NOSCRIPT',
181
+            "<noscript>\n<div style='display:none;'><img src='"
182
+            . generer_url_ecrire('test_ajax', 'js=-1')
183
+            . "' width='1' height='1' alt='' /></div></noscript>\n"
184
+        );
185
+    }
186
+
187
+    $rejouer = '';
188
+    if (defined('_SESSION_REJOUER')) {
189
+        $rejouer = (_SESSION_REJOUER === true) ? rejouer_session() : _SESSION_REJOUER;
190
+    }
191
+
192
+    return $rejouer . (defined('_TESTER_NOSCRIPT') ? _TESTER_NOSCRIPT : '');
193 193
 }
194 194
 
195 195
 /**
@@ -199,25 +199,25 @@  discard block
 block discarded – undo
199 199
  **/
200 200
 function info_maj_spip() {
201 201
 
202
-	$maj = $GLOBALS['meta']['info_maj_spip'] ?? null;
203
-	if (!$maj) {
204
-		return '';
205
-	}
202
+    $maj = $GLOBALS['meta']['info_maj_spip'] ?? null;
203
+    if (!$maj) {
204
+        return '';
205
+    }
206 206
 
207
-	$maj = explode('|', $maj);
208
-	// c'est une ancienne notif, on a fait la maj depuis !
209
-	if ($GLOBALS['spip_version_branche'] !== reset($maj)) {
210
-		return '';
211
-	}
207
+    $maj = explode('|', $maj);
208
+    // c'est une ancienne notif, on a fait la maj depuis !
209
+    if ($GLOBALS['spip_version_branche'] !== reset($maj)) {
210
+        return '';
211
+    }
212 212
 
213
-	if (!autoriser('webmestre')) {
214
-		return '';
215
-	}
213
+    if (!autoriser('webmestre')) {
214
+        return '';
215
+    }
216 216
 
217
-	array_shift($maj);
218
-	$maj = implode('|', $maj);
217
+    array_shift($maj);
218
+    $maj = implode('|', $maj);
219 219
 
220
-	return "$maj<br />";
220
+    return "$maj<br />";
221 221
 }
222 222
 
223 223
 /**
@@ -228,43 +228,43 @@  discard block
 block discarded – undo
228 228
  **/
229 229
 function info_copyright() {
230 230
 
231
-	$version = $GLOBALS['spip_version_affichee'];
232
-
233
-	//
234
-	// Mention, le cas echeant, de la revision SVN courante
235
-	//
236
-	if ($vcs = version_vcs_courante(_DIR_RACINE, true)) {
237
-		if ($vcs['vcs'] === 'GIT') {
238
-			$url = 'https://git.spip.net/spip/spip/commit/' . $vcs['commit'];
239
-		} elseif ($vcs['vcs'] === 'SVN') {
240
-			$url = 'https://core.spip.net/projects/spip/repository/revisions/' . $vcs['commit'];
241
-		} else {
242
-			$url = '';
243
-		}
244
-		// affichage "GIT [master: abcdef]"
245
-		$commit = $vcs['commit_short'] ?? $vcs['commit'];
246
-		if ($url) {
247
-			$commit = "<a href=\"$url\" target=\"_blank\" rel=\"noopener noreferrer\">$commit</a>";
248
-		}
249
-		if ($vcs['branch']) {
250
-			$commit = $vcs['branch'] . ': ' . $commit;
251
-		}
252
-		$version .= " {$vcs['vcs']} [$commit]";
253
-	}
254
-
255
-	// et la version de l'ecran de securite
256
-	$secu = defined('_ECRAN_SECURITE')
257
-		? '<br />' . _T('ecran_securite', ['version' => _ECRAN_SECURITE])
258
-		: '';
259
-
260
-	return _T(
261
-		'info_copyright',
262
-		[
263
-			'spip' => "<b>SPIP $version</b> ",
264
-			'lien_gpl' => '<a href="https://www.gnu.org/licenses/gpl-3.0.html">' . _T('info_copyright_gpl') . '</a>'
265
-		]
266
-	)
267
-	. $secu;
231
+    $version = $GLOBALS['spip_version_affichee'];
232
+
233
+    //
234
+    // Mention, le cas echeant, de la revision SVN courante
235
+    //
236
+    if ($vcs = version_vcs_courante(_DIR_RACINE, true)) {
237
+        if ($vcs['vcs'] === 'GIT') {
238
+            $url = 'https://git.spip.net/spip/spip/commit/' . $vcs['commit'];
239
+        } elseif ($vcs['vcs'] === 'SVN') {
240
+            $url = 'https://core.spip.net/projects/spip/repository/revisions/' . $vcs['commit'];
241
+        } else {
242
+            $url = '';
243
+        }
244
+        // affichage "GIT [master: abcdef]"
245
+        $commit = $vcs['commit_short'] ?? $vcs['commit'];
246
+        if ($url) {
247
+            $commit = "<a href=\"$url\" target=\"_blank\" rel=\"noopener noreferrer\">$commit</a>";
248
+        }
249
+        if ($vcs['branch']) {
250
+            $commit = $vcs['branch'] . ': ' . $commit;
251
+        }
252
+        $version .= " {$vcs['vcs']} [$commit]";
253
+    }
254
+
255
+    // et la version de l'ecran de securite
256
+    $secu = defined('_ECRAN_SECURITE')
257
+        ? '<br />' . _T('ecran_securite', ['version' => _ECRAN_SECURITE])
258
+        : '';
259
+
260
+    return _T(
261
+        'info_copyright',
262
+        [
263
+            'spip' => "<b>SPIP $version</b> ",
264
+            'lien_gpl' => '<a href="https://www.gnu.org/licenses/gpl-3.0.html">' . _T('info_copyright_gpl') . '</a>'
265
+        ]
266
+    )
267
+    . $secu;
268 268
 }
269 269
 
270 270
 /**
@@ -279,17 +279,17 @@  discard block
 block discarded – undo
279 279
  * @return string             Code HTML
280 280
  **/
281 281
 function formulaire_recherche($page, $complement = '') {
282
-	$recherche = _request('recherche');
283
-	$recherche_aff = entites_html($recherche);
284
-	if (!strlen($recherche)) {
285
-		$recherche_aff = _T('info_rechercher');
286
-		$onfocus = " onfocus=\"this.value='';\"";
287
-	} else {
288
-		$onfocus = '';
289
-	}
290
-
291
-	$form = '<input type="text" size="10" value="' . $recherche_aff . '" name="recherche" class="recherche" accesskey="r"' . $onfocus . ' />';
292
-	$form .= "<input type='image' src='" . chemin_image('rechercher-20.png') . "' name='submit' class='submit' alt='" . _T('info_rechercher') . "' />";
293
-
294
-	return "<div class='spip_recherche'>" . generer_form_ecrire($page, $form . $complement, " method='get'") . '</div>';
282
+    $recherche = _request('recherche');
283
+    $recherche_aff = entites_html($recherche);
284
+    if (!strlen($recherche)) {
285
+        $recherche_aff = _T('info_rechercher');
286
+        $onfocus = " onfocus=\"this.value='';\"";
287
+    } else {
288
+        $onfocus = '';
289
+    }
290
+
291
+    $form = '<input type="text" size="10" value="' . $recherche_aff . '" name="recherche" class="recherche" accesskey="r"' . $onfocus . ' />';
292
+    $form .= "<input type='image' src='" . chemin_image('rechercher-20.png') . "' name='submit' class='submit' alt='" . _T('info_rechercher') . "' />";
293
+
294
+    return "<div class='spip_recherche'>" . generer_form_ecrire($page, $form . $complement, " method='get'") . '</div>';
295 295
 }
Please login to merge, or discard this patch.
Spacing   +9 added lines, -9 removed lines patch added patch discarded remove patch
@@ -189,7 +189,7 @@  discard block
 block discarded – undo
189 189
 		$rejouer = (_SESSION_REJOUER === true) ? rejouer_session() : _SESSION_REJOUER;
190 190
 	}
191 191
 
192
-	return $rejouer . (defined('_TESTER_NOSCRIPT') ? _TESTER_NOSCRIPT : '');
192
+	return $rejouer.(defined('_TESTER_NOSCRIPT') ? _TESTER_NOSCRIPT : '');
193 193
 }
194 194
 
195 195
 /**
@@ -235,9 +235,9 @@  discard block
 block discarded – undo
235 235
 	//
236 236
 	if ($vcs = version_vcs_courante(_DIR_RACINE, true)) {
237 237
 		if ($vcs['vcs'] === 'GIT') {
238
-			$url = 'https://git.spip.net/spip/spip/commit/' . $vcs['commit'];
238
+			$url = 'https://git.spip.net/spip/spip/commit/'.$vcs['commit'];
239 239
 		} elseif ($vcs['vcs'] === 'SVN') {
240
-			$url = 'https://core.spip.net/projects/spip/repository/revisions/' . $vcs['commit'];
240
+			$url = 'https://core.spip.net/projects/spip/repository/revisions/'.$vcs['commit'];
241 241
 		} else {
242 242
 			$url = '';
243 243
 		}
@@ -247,21 +247,21 @@  discard block
 block discarded – undo
247 247
 			$commit = "<a href=\"$url\" target=\"_blank\" rel=\"noopener noreferrer\">$commit</a>";
248 248
 		}
249 249
 		if ($vcs['branch']) {
250
-			$commit = $vcs['branch'] . ': ' . $commit;
250
+			$commit = $vcs['branch'].': '.$commit;
251 251
 		}
252 252
 		$version .= " {$vcs['vcs']} [$commit]";
253 253
 	}
254 254
 
255 255
 	// et la version de l'ecran de securite
256 256
 	$secu = defined('_ECRAN_SECURITE')
257
-		? '<br />' . _T('ecran_securite', ['version' => _ECRAN_SECURITE])
257
+		? '<br />'._T('ecran_securite', ['version' => _ECRAN_SECURITE])
258 258
 		: '';
259 259
 
260 260
 	return _T(
261 261
 		'info_copyright',
262 262
 		[
263 263
 			'spip' => "<b>SPIP $version</b> ",
264
-			'lien_gpl' => '<a href="https://www.gnu.org/licenses/gpl-3.0.html">' . _T('info_copyright_gpl') . '</a>'
264
+			'lien_gpl' => '<a href="https://www.gnu.org/licenses/gpl-3.0.html">'._T('info_copyright_gpl').'</a>'
265 265
 		]
266 266
 	)
267 267
 	. $secu;
@@ -288,8 +288,8 @@  discard block
 block discarded – undo
288 288
 		$onfocus = '';
289 289
 	}
290 290
 
291
-	$form = '<input type="text" size="10" value="' . $recherche_aff . '" name="recherche" class="recherche" accesskey="r"' . $onfocus . ' />';
292
-	$form .= "<input type='image' src='" . chemin_image('rechercher-20.png') . "' name='submit' class='submit' alt='" . _T('info_rechercher') . "' />";
291
+	$form = '<input type="text" size="10" value="'.$recherche_aff.'" name="recherche" class="recherche" accesskey="r"'.$onfocus.' />';
292
+	$form .= "<input type='image' src='".chemin_image('rechercher-20.png')."' name='submit' class='submit' alt='"._T('info_rechercher')."' />";
293 293
 
294
-	return "<div class='spip_recherche'>" . generer_form_ecrire($page, $form . $complement, " method='get'") . '</div>';
294
+	return "<div class='spip_recherche'>".generer_form_ecrire($page, $form.$complement, " method='get'").'</div>';
295 295
 }
Please login to merge, or discard this patch.
ecrire/req/sqlite_generique.php 2 patches
Indentation   +1622 added lines, -1622 removed lines patch added patch discarded remove patch
@@ -20,7 +20,7 @@  discard block
 block discarded – undo
20 20
  */
21 21
 
22 22
 if (!defined('_ECRIRE_INC_VERSION')) {
23
-	return;
23
+    return;
24 24
 }
25 25
 
26 26
 // TODO: get/set_caracteres ?
@@ -44,91 +44,91 @@  discard block
 block discarded – undo
44 44
  */
45 45
 function req_sqlite_dist($addr, $port, $login, $pass, $db = '', $prefixe = '', $sqlite_version = '')
46 46
 {
47
-	static $last_connect = [];
48
-
49
-	// si provient de selectdb
50
-	// un code pour etre sur que l'on vient de select_db()
51
-	if (strpos($db, $code = '@selectdb@') !== false) {
52
-		foreach (['addr', 'port', 'login', 'pass', 'prefixe'] as $a) {
53
-			$$a = $last_connect[$a];
54
-		}
55
-		$db = str_replace($code, '', $db);
56
-	}
57
-
58
-	/*
47
+    static $last_connect = [];
48
+
49
+    // si provient de selectdb
50
+    // un code pour etre sur que l'on vient de select_db()
51
+    if (strpos($db, $code = '@selectdb@') !== false) {
52
+        foreach (['addr', 'port', 'login', 'pass', 'prefixe'] as $a) {
53
+            $$a = $last_connect[$a];
54
+        }
55
+        $db = str_replace($code, '', $db);
56
+    }
57
+
58
+    /*
59 59
 	 * En sqlite, seule l'adresse du fichier est importante.
60 60
 	 * Ce sera $db le nom,
61 61
 	 * le path est $addr
62 62
 	 * (_DIR_DB si $addr est vide)
63 63
 	 */
64
-	_sqlite_init();
65
-
66
-	// determiner le dossier de la base : $addr ou _DIR_DB
67
-	$f = _DIR_DB;
68
-	if ($addr and str_contains($addr, '/')) {
69
-		$f = rtrim($addr, '/') . '/';
70
-	}
71
-
72
-	// un nom de base demande et impossible d'obtenir la base, on s'en va :
73
-	// il faut que la base existe ou que le repertoire parent soit writable
74
-	if ($db and !is_file($f .= $db . '.sqlite') and !is_writable(dirname($f))) {
75
-		spip_log("base $f non trouvee ou droits en ecriture manquants", 'sqlite.' . _LOG_HS);
76
-
77
-		return false;
78
-	}
79
-
80
-	// charger les modules sqlite au besoin
81
-	if (!_sqlite_charger_version($sqlite_version)) {
82
-		spip_log("Impossible de trouver/charger le module SQLite ($sqlite_version)!", 'sqlite.' . _LOG_HS);
83
-
84
-		return false;
85
-	}
86
-
87
-	// chargement des constantes
88
-	// il ne faut pas definir les constantes avant d'avoir charge les modules sqlite
89
-	$define = 'spip_sqlite' . $sqlite_version . '_constantes';
90
-	$define();
91
-
92
-	$ok = false;
93
-	if (!$db) {
94
-		// si pas de db ->
95
-		// base temporaire tant qu'on ne connait pas son vrai nom
96
-		// pour tester la connexion
97
-		$db = '_sqlite' . $sqlite_version . '_install';
98
-		$tmp = _DIR_DB . $db . '.sqlite';
99
-		$ok = $link = new \PDO("sqlite:$tmp");
100
-	} else {
101
-		// Ouvrir (eventuellement creer la base)
102
-		$ok = $link = new \PDO("sqlite:$f");
103
-	}
104
-
105
-	if (!$ok) {
106
-		$e = _sqlite_last_error_from_link($link);
107
-		spip_log("Impossible d'ouvrir la base SQLite($sqlite_version) $f : $e", 'sqlite.' . _LOG_HS);
108
-
109
-		return false;
110
-	}
111
-
112
-	if ($link) {
113
-		$last_connect = [
114
-			'addr' => $addr,
115
-			'port' => $port,
116
-			'login' => $login,
117
-			'pass' => $pass,
118
-			'db' => $db,
119
-			'prefixe' => $prefixe,
120
-		];
121
-		// etre sur qu'on definit bien les fonctions a chaque nouvelle connexion
122
-		include_spip('req/sqlite_fonctions');
123
-		_sqlite_init_functions($link);
124
-	}
125
-
126
-	return [
127
-		'db' => $db,
128
-		'prefixe' => $prefixe ? $prefixe : $db,
129
-		'link' => $link,
130
-		'total_requetes' => 0,
131
-	];
64
+    _sqlite_init();
65
+
66
+    // determiner le dossier de la base : $addr ou _DIR_DB
67
+    $f = _DIR_DB;
68
+    if ($addr and str_contains($addr, '/')) {
69
+        $f = rtrim($addr, '/') . '/';
70
+    }
71
+
72
+    // un nom de base demande et impossible d'obtenir la base, on s'en va :
73
+    // il faut que la base existe ou que le repertoire parent soit writable
74
+    if ($db and !is_file($f .= $db . '.sqlite') and !is_writable(dirname($f))) {
75
+        spip_log("base $f non trouvee ou droits en ecriture manquants", 'sqlite.' . _LOG_HS);
76
+
77
+        return false;
78
+    }
79
+
80
+    // charger les modules sqlite au besoin
81
+    if (!_sqlite_charger_version($sqlite_version)) {
82
+        spip_log("Impossible de trouver/charger le module SQLite ($sqlite_version)!", 'sqlite.' . _LOG_HS);
83
+
84
+        return false;
85
+    }
86
+
87
+    // chargement des constantes
88
+    // il ne faut pas definir les constantes avant d'avoir charge les modules sqlite
89
+    $define = 'spip_sqlite' . $sqlite_version . '_constantes';
90
+    $define();
91
+
92
+    $ok = false;
93
+    if (!$db) {
94
+        // si pas de db ->
95
+        // base temporaire tant qu'on ne connait pas son vrai nom
96
+        // pour tester la connexion
97
+        $db = '_sqlite' . $sqlite_version . '_install';
98
+        $tmp = _DIR_DB . $db . '.sqlite';
99
+        $ok = $link = new \PDO("sqlite:$tmp");
100
+    } else {
101
+        // Ouvrir (eventuellement creer la base)
102
+        $ok = $link = new \PDO("sqlite:$f");
103
+    }
104
+
105
+    if (!$ok) {
106
+        $e = _sqlite_last_error_from_link($link);
107
+        spip_log("Impossible d'ouvrir la base SQLite($sqlite_version) $f : $e", 'sqlite.' . _LOG_HS);
108
+
109
+        return false;
110
+    }
111
+
112
+    if ($link) {
113
+        $last_connect = [
114
+            'addr' => $addr,
115
+            'port' => $port,
116
+            'login' => $login,
117
+            'pass' => $pass,
118
+            'db' => $db,
119
+            'prefixe' => $prefixe,
120
+        ];
121
+        // etre sur qu'on definit bien les fonctions a chaque nouvelle connexion
122
+        include_spip('req/sqlite_fonctions');
123
+        _sqlite_init_functions($link);
124
+    }
125
+
126
+    return [
127
+        'db' => $db,
128
+        'prefixe' => $prefixe ? $prefixe : $db,
129
+        'link' => $link,
130
+        'total_requetes' => 0,
131
+    ];
132 132
 }
133 133
 
134 134
 
@@ -148,14 +148,14 @@  discard block
 block discarded – undo
148 148
  */
149 149
 function spip_sqlite_query($query, $serveur = '', $requeter = true)
150 150
 {
151
-	#spip_log("spip_sqlite_query() > $query",'sqlite.'._LOG_DEBUG);
152
-	#_sqlite_init(); // fait la premiere fois dans spip_sqlite
153
-	$query = Sqlite::traduire_requete($query, $serveur);
154
-	if (!$requeter) {
155
-		return $query;
156
-	}
157
-
158
-	return Sqlite::executer_requete($query, $serveur);
151
+    #spip_log("spip_sqlite_query() > $query",'sqlite.'._LOG_DEBUG);
152
+    #_sqlite_init(); // fait la premiere fois dans spip_sqlite
153
+    $query = Sqlite::traduire_requete($query, $serveur);
154
+    if (!$requeter) {
155
+        return $query;
156
+    }
157
+
158
+    return Sqlite::executer_requete($query, $serveur);
159 159
 }
160 160
 
161 161
 
@@ -173,11 +173,11 @@  discard block
 block discarded – undo
173 173
 function spip_sqlite_alter($query, $serveur = '', $requeter = true)
174 174
 {
175 175
 
176
-	$query = spip_sqlite_query("ALTER $query", $serveur, false);
177
-	// traduire la requete pour recuperer les bons noms de table
178
-	$query = Sqlite::traduire_requete($query, $serveur);
176
+    $query = spip_sqlite_query("ALTER $query", $serveur, false);
177
+    // traduire la requete pour recuperer les bons noms de table
178
+    $query = Sqlite::traduire_requete($query, $serveur);
179 179
 
180
-	/*
180
+    /*
181 181
 		 * la il faut faire les transformations
182 182
 		 * si ALTER TABLE x (DROP|CHANGE) y
183 183
 		 *
@@ -186,251 +186,251 @@  discard block
 block discarded – undo
186 186
 		 * 3) faire chaque requete independemment
187 187
 		 */
188 188
 
189
-	// 1
190
-	if (preg_match('/\s*(ALTER(\s*IGNORE)?\s*TABLE\s*([^\s]*))\s*(.*)?/is', $query, $regs)) {
191
-		$debut = $regs[1];
192
-		$table = $regs[3];
193
-		$suite = $regs[4];
194
-	} else {
195
-		spip_log("SQLite : Probleme de ALTER TABLE mal forme dans $query", 'sqlite.' . _LOG_ERREUR);
196
-
197
-		return false;
198
-	}
199
-
200
-	// 2
201
-	// il faudrait une regexp pour eviter de spliter ADD PRIMARY KEY (colA, colB)
202
-	// tout en cassant "ADD PRIMARY KEY (colA, colB), ADD INDEX (chose)"... en deux
203
-	// ou revoir l'api de sql_alter en creant un
204
-	// sql_alter_table($table,array($actions));
205
-	$todo = explode(',', $suite);
206
-
207
-	// on remet les morceaux dechires ensembles... que c'est laid !
208
-	$todo2 = [];
209
-	$i = 0;
210
-	$ouverte = false;
211
-	while ($do = array_shift($todo)) {
212
-		$todo2[$i] = isset($todo2[$i]) ? $todo2[$i] . ',' . $do : $do;
213
-		$o = (str_contains($do, '('));
214
-		$f = (str_contains($do, ')'));
215
-		if ($o and !$f) {
216
-			$ouverte = true;
217
-		} elseif ($f) {
218
-			$ouverte = false;
219
-		}
220
-		if (!$ouverte) {
221
-			$i++;
222
-		}
223
-	}
224
-
225
-	// 3
226
-	$resultats = [];
227
-	foreach ($todo2 as $do) {
228
-		$do = trim($do);
229
-		if (
230
-			!preg_match('/(DROP PRIMARY KEY|DROP KEY|DROP INDEX|DROP COLUMN|DROP'
231
-				. '|CHANGE COLUMN|CHANGE|MODIFY|RENAME TO|RENAME'
232
-				. '|ADD PRIMARY KEY|ADD KEY|ADD INDEX|ADD UNIQUE KEY|ADD UNIQUE'
233
-				. '|ADD COLUMN|ADD'
234
-				. ')\s*([^\s]*)\s*(.*)?/i', $do, $matches)
235
-		) {
236
-			spip_log(
237
-				"SQLite : Probleme de ALTER TABLE, utilisation non reconnue dans : $do \n(requete d'origine : $query)",
238
-				'sqlite.' . _LOG_ERREUR
239
-			);
240
-
241
-			return false;
242
-		}
243
-
244
-		$cle = strtoupper($matches[1]);
245
-		$colonne_origine = $matches[2];
246
-		$colonne_destination = '';
247
-
248
-		$def = $matches[3];
249
-
250
-		// eluder une eventuelle clause before|after|first inutilisable
251
-		$defr = rtrim(preg_replace('/(BEFORE|AFTER|FIRST)(.*)$/is', '', $def));
252
-		$defo = $defr; // garder la def d'origine pour certains cas
253
-		// remplacer les definitions venant de mysql
254
-		$defr = _sqlite_remplacements_definitions_table($defr);
255
-
256
-		// reinjecter dans le do
257
-		$do = str_replace($def, $defr, $do);
258
-		$def = $defr;
259
-
260
-		switch ($cle) {
261
-				// suppression d'un index
262
-			case 'DROP KEY':
263
-			case 'DROP INDEX':
264
-				$nom_index = $colonne_origine;
265
-				spip_sqlite_drop_index($nom_index, $table, $serveur);
266
-				break;
267
-
268
-				// suppression d'une pk
269
-			case 'DROP PRIMARY KEY':
270
-				if (
271
-					!_sqlite_modifier_table(
272
-						$table,
273
-						$colonne_origine,
274
-						['key' => ['PRIMARY KEY' => '']],
275
-						$serveur
276
-					)
277
-				) {
278
-					return false;
279
-				}
280
-				break;
281
-				// suppression d'une colonne
282
-			case 'DROP COLUMN':
283
-			case 'DROP':
284
-				if (
285
-					!_sqlite_modifier_table(
286
-						$table,
287
-						[$colonne_origine => ''],
288
-						[],
289
-						$serveur
290
-					)
291
-				) {
292
-					return false;
293
-				}
294
-				break;
295
-
296
-			case 'CHANGE COLUMN':
297
-			case 'CHANGE':
298
-				// recuperer le nom de la future colonne
299
-				// on reprend la def d'origine car _sqlite_modifier_table va refaire la translation
300
-				// en tenant compte de la cle primaire (ce qui est mieux)
301
-				$def = trim($defo);
302
-				$colonne_destination = substr($def, 0, strpos($def, ' '));
303
-				$def = substr($def, strlen($colonne_destination) + 1);
304
-
305
-				if (
306
-					!_sqlite_modifier_table(
307
-						$table,
308
-						[$colonne_origine => $colonne_destination],
309
-						['field' => [$colonne_destination => $def]],
310
-						$serveur
311
-					)
312
-				) {
313
-					return false;
314
-				}
315
-				break;
316
-
317
-			case 'MODIFY':
318
-				// on reprend la def d'origine car _sqlite_modifier_table va refaire la translation
319
-				// en tenant compte de la cle primaire (ce qui est mieux)
320
-				if (
321
-					!_sqlite_modifier_table(
322
-						$table,
323
-						$colonne_origine,
324
-						['field' => [$colonne_origine => $defo]],
325
-						$serveur
326
-					)
327
-				) {
328
-					return false;
329
-				}
330
-				break;
331
-
332
-				// pas geres en sqlite2
333
-			case 'RENAME':
334
-				$do = 'RENAME TO' . substr($do, 6);
335
-			case 'RENAME TO':
336
-				if (!Sqlite::executer_requete("$debut $do", $serveur)) {
337
-					spip_log("SQLite : Erreur ALTER TABLE / RENAME : $query", 'sqlite.' . _LOG_ERREUR);
338
-
339
-					return false;
340
-				}
341
-				break;
342
-
343
-				// ajout d'une pk
344
-			case 'ADD PRIMARY KEY':
345
-				$pk = trim(substr($do, 16));
346
-				$pk = ($pk[0] == '(') ? substr($pk, 1, -1) : $pk;
347
-				if (
348
-					!_sqlite_modifier_table(
349
-						$table,
350
-						$colonne_origine,
351
-						['key' => ['PRIMARY KEY' => $pk]],
352
-						$serveur
353
-					)
354
-				) {
355
-					return false;
356
-				}
357
-				break;
358
-				// ajout d'un index
359
-			case 'ADD UNIQUE KEY':
360
-			case 'ADD UNIQUE':
361
-				$unique = true;
362
-			case 'ADD INDEX':
363
-			case 'ADD KEY':
364
-				if (!isset($unique)) {
365
-					$unique = false;
366
-				}
367
-				// peut etre "(colonne)" ou "nom_index (colonnes)"
368
-				// bug potentiel si qqn met "(colonne, colonne)"
369
-				//
370
-				// nom_index (colonnes)
371
-				if ($def) {
372
-					$colonnes = substr($def, 1, -1);
373
-					$nom_index = $colonne_origine;
374
-				} else {
375
-					// (colonne)
376
-					if ($colonne_origine[0] == '(') {
377
-						$colonnes = substr($colonne_origine, 1, -1);
378
-						if (str_contains(',', $colonnes)) {
379
-							spip_log('SQLite : Erreur, impossible de creer un index sur plusieurs colonnes'
380
-								. " sans qu'il ait de nom ($table, ($colonnes))", 'sqlite.' . _LOG_ERREUR);
381
-							break;
382
-						} else {
383
-							$nom_index = $colonnes;
384
-						}
385
-					} // nom_index
386
-					else {
387
-						$nom_index = $colonnes = $colonne_origine;
388
-					}
389
-				}
390
-				spip_sqlite_create_index($nom_index, $table, $colonnes, $unique, $serveur);
391
-				break;
392
-
393
-				// pas geres en sqlite2
394
-			case 'ADD COLUMN':
395
-				$do = 'ADD' . substr($do, 10);
396
-			case 'ADD':
397
-			default:
398
-				if (!preg_match(',primary\s+key,i', $do)) {
399
-					if (!Sqlite::executer_requete("$debut $do", $serveur)) {
400
-						spip_log("SQLite : Erreur ALTER TABLE / ADD : $query", 'sqlite.' . _LOG_ERREUR);
401
-
402
-						return false;
403
-					}
404
-					break;
405
-				}
406
-				// ou si la colonne est aussi primary key
407
-				// cas du add id_truc int primary key
408
-				// ajout d'une colonne qui passe en primary key directe
409
-				else {
410
-					$def = trim(substr($do, 3));
411
-					$colonne_ajoutee = substr($def, 0, strpos($def, ' '));
412
-					$def = substr($def, strlen($colonne_ajoutee) + 1);
413
-					$opts = [];
414
-					if (preg_match(',primary\s+key,i', $def)) {
415
-						$opts['key'] = ['PRIMARY KEY' => $colonne_ajoutee];
416
-						$def = preg_replace(',primary\s+key,i', '', $def);
417
-					}
418
-					$opts['field'] = [$colonne_ajoutee => $def];
419
-					if (!_sqlite_modifier_table($table, [$colonne_ajoutee], $opts, $serveur)) {
420
-						spip_log("SQLite : Erreur ALTER TABLE / ADD : $query", 'sqlite.' . _LOG_ERREUR);
421
-
422
-						return false;
423
-					}
424
-				}
425
-				break;
426
-		}
427
-		// tout est bon, ouf !
428
-		spip_log("SQLite ($serveur) : Changements OK : $debut $do", 'sqlite.' . _LOG_INFO);
429
-	}
430
-
431
-	spip_log("SQLite ($serveur) : fin ALTER TABLE OK !", 'sqlite.' . _LOG_INFO);
432
-
433
-	return true;
189
+    // 1
190
+    if (preg_match('/\s*(ALTER(\s*IGNORE)?\s*TABLE\s*([^\s]*))\s*(.*)?/is', $query, $regs)) {
191
+        $debut = $regs[1];
192
+        $table = $regs[3];
193
+        $suite = $regs[4];
194
+    } else {
195
+        spip_log("SQLite : Probleme de ALTER TABLE mal forme dans $query", 'sqlite.' . _LOG_ERREUR);
196
+
197
+        return false;
198
+    }
199
+
200
+    // 2
201
+    // il faudrait une regexp pour eviter de spliter ADD PRIMARY KEY (colA, colB)
202
+    // tout en cassant "ADD PRIMARY KEY (colA, colB), ADD INDEX (chose)"... en deux
203
+    // ou revoir l'api de sql_alter en creant un
204
+    // sql_alter_table($table,array($actions));
205
+    $todo = explode(',', $suite);
206
+
207
+    // on remet les morceaux dechires ensembles... que c'est laid !
208
+    $todo2 = [];
209
+    $i = 0;
210
+    $ouverte = false;
211
+    while ($do = array_shift($todo)) {
212
+        $todo2[$i] = isset($todo2[$i]) ? $todo2[$i] . ',' . $do : $do;
213
+        $o = (str_contains($do, '('));
214
+        $f = (str_contains($do, ')'));
215
+        if ($o and !$f) {
216
+            $ouverte = true;
217
+        } elseif ($f) {
218
+            $ouverte = false;
219
+        }
220
+        if (!$ouverte) {
221
+            $i++;
222
+        }
223
+    }
224
+
225
+    // 3
226
+    $resultats = [];
227
+    foreach ($todo2 as $do) {
228
+        $do = trim($do);
229
+        if (
230
+            !preg_match('/(DROP PRIMARY KEY|DROP KEY|DROP INDEX|DROP COLUMN|DROP'
231
+                . '|CHANGE COLUMN|CHANGE|MODIFY|RENAME TO|RENAME'
232
+                . '|ADD PRIMARY KEY|ADD KEY|ADD INDEX|ADD UNIQUE KEY|ADD UNIQUE'
233
+                . '|ADD COLUMN|ADD'
234
+                . ')\s*([^\s]*)\s*(.*)?/i', $do, $matches)
235
+        ) {
236
+            spip_log(
237
+                "SQLite : Probleme de ALTER TABLE, utilisation non reconnue dans : $do \n(requete d'origine : $query)",
238
+                'sqlite.' . _LOG_ERREUR
239
+            );
240
+
241
+            return false;
242
+        }
243
+
244
+        $cle = strtoupper($matches[1]);
245
+        $colonne_origine = $matches[2];
246
+        $colonne_destination = '';
247
+
248
+        $def = $matches[3];
249
+
250
+        // eluder une eventuelle clause before|after|first inutilisable
251
+        $defr = rtrim(preg_replace('/(BEFORE|AFTER|FIRST)(.*)$/is', '', $def));
252
+        $defo = $defr; // garder la def d'origine pour certains cas
253
+        // remplacer les definitions venant de mysql
254
+        $defr = _sqlite_remplacements_definitions_table($defr);
255
+
256
+        // reinjecter dans le do
257
+        $do = str_replace($def, $defr, $do);
258
+        $def = $defr;
259
+
260
+        switch ($cle) {
261
+                // suppression d'un index
262
+            case 'DROP KEY':
263
+            case 'DROP INDEX':
264
+                $nom_index = $colonne_origine;
265
+                spip_sqlite_drop_index($nom_index, $table, $serveur);
266
+                break;
267
+
268
+                // suppression d'une pk
269
+            case 'DROP PRIMARY KEY':
270
+                if (
271
+                    !_sqlite_modifier_table(
272
+                        $table,
273
+                        $colonne_origine,
274
+                        ['key' => ['PRIMARY KEY' => '']],
275
+                        $serveur
276
+                    )
277
+                ) {
278
+                    return false;
279
+                }
280
+                break;
281
+                // suppression d'une colonne
282
+            case 'DROP COLUMN':
283
+            case 'DROP':
284
+                if (
285
+                    !_sqlite_modifier_table(
286
+                        $table,
287
+                        [$colonne_origine => ''],
288
+                        [],
289
+                        $serveur
290
+                    )
291
+                ) {
292
+                    return false;
293
+                }
294
+                break;
295
+
296
+            case 'CHANGE COLUMN':
297
+            case 'CHANGE':
298
+                // recuperer le nom de la future colonne
299
+                // on reprend la def d'origine car _sqlite_modifier_table va refaire la translation
300
+                // en tenant compte de la cle primaire (ce qui est mieux)
301
+                $def = trim($defo);
302
+                $colonne_destination = substr($def, 0, strpos($def, ' '));
303
+                $def = substr($def, strlen($colonne_destination) + 1);
304
+
305
+                if (
306
+                    !_sqlite_modifier_table(
307
+                        $table,
308
+                        [$colonne_origine => $colonne_destination],
309
+                        ['field' => [$colonne_destination => $def]],
310
+                        $serveur
311
+                    )
312
+                ) {
313
+                    return false;
314
+                }
315
+                break;
316
+
317
+            case 'MODIFY':
318
+                // on reprend la def d'origine car _sqlite_modifier_table va refaire la translation
319
+                // en tenant compte de la cle primaire (ce qui est mieux)
320
+                if (
321
+                    !_sqlite_modifier_table(
322
+                        $table,
323
+                        $colonne_origine,
324
+                        ['field' => [$colonne_origine => $defo]],
325
+                        $serveur
326
+                    )
327
+                ) {
328
+                    return false;
329
+                }
330
+                break;
331
+
332
+                // pas geres en sqlite2
333
+            case 'RENAME':
334
+                $do = 'RENAME TO' . substr($do, 6);
335
+            case 'RENAME TO':
336
+                if (!Sqlite::executer_requete("$debut $do", $serveur)) {
337
+                    spip_log("SQLite : Erreur ALTER TABLE / RENAME : $query", 'sqlite.' . _LOG_ERREUR);
338
+
339
+                    return false;
340
+                }
341
+                break;
342
+
343
+                // ajout d'une pk
344
+            case 'ADD PRIMARY KEY':
345
+                $pk = trim(substr($do, 16));
346
+                $pk = ($pk[0] == '(') ? substr($pk, 1, -1) : $pk;
347
+                if (
348
+                    !_sqlite_modifier_table(
349
+                        $table,
350
+                        $colonne_origine,
351
+                        ['key' => ['PRIMARY KEY' => $pk]],
352
+                        $serveur
353
+                    )
354
+                ) {
355
+                    return false;
356
+                }
357
+                break;
358
+                // ajout d'un index
359
+            case 'ADD UNIQUE KEY':
360
+            case 'ADD UNIQUE':
361
+                $unique = true;
362
+            case 'ADD INDEX':
363
+            case 'ADD KEY':
364
+                if (!isset($unique)) {
365
+                    $unique = false;
366
+                }
367
+                // peut etre "(colonne)" ou "nom_index (colonnes)"
368
+                // bug potentiel si qqn met "(colonne, colonne)"
369
+                //
370
+                // nom_index (colonnes)
371
+                if ($def) {
372
+                    $colonnes = substr($def, 1, -1);
373
+                    $nom_index = $colonne_origine;
374
+                } else {
375
+                    // (colonne)
376
+                    if ($colonne_origine[0] == '(') {
377
+                        $colonnes = substr($colonne_origine, 1, -1);
378
+                        if (str_contains(',', $colonnes)) {
379
+                            spip_log('SQLite : Erreur, impossible de creer un index sur plusieurs colonnes'
380
+                                . " sans qu'il ait de nom ($table, ($colonnes))", 'sqlite.' . _LOG_ERREUR);
381
+                            break;
382
+                        } else {
383
+                            $nom_index = $colonnes;
384
+                        }
385
+                    } // nom_index
386
+                    else {
387
+                        $nom_index = $colonnes = $colonne_origine;
388
+                    }
389
+                }
390
+                spip_sqlite_create_index($nom_index, $table, $colonnes, $unique, $serveur);
391
+                break;
392
+
393
+                // pas geres en sqlite2
394
+            case 'ADD COLUMN':
395
+                $do = 'ADD' . substr($do, 10);
396
+            case 'ADD':
397
+            default:
398
+                if (!preg_match(',primary\s+key,i', $do)) {
399
+                    if (!Sqlite::executer_requete("$debut $do", $serveur)) {
400
+                        spip_log("SQLite : Erreur ALTER TABLE / ADD : $query", 'sqlite.' . _LOG_ERREUR);
401
+
402
+                        return false;
403
+                    }
404
+                    break;
405
+                }
406
+                // ou si la colonne est aussi primary key
407
+                // cas du add id_truc int primary key
408
+                // ajout d'une colonne qui passe en primary key directe
409
+                else {
410
+                    $def = trim(substr($do, 3));
411
+                    $colonne_ajoutee = substr($def, 0, strpos($def, ' '));
412
+                    $def = substr($def, strlen($colonne_ajoutee) + 1);
413
+                    $opts = [];
414
+                    if (preg_match(',primary\s+key,i', $def)) {
415
+                        $opts['key'] = ['PRIMARY KEY' => $colonne_ajoutee];
416
+                        $def = preg_replace(',primary\s+key,i', '', $def);
417
+                    }
418
+                    $opts['field'] = [$colonne_ajoutee => $def];
419
+                    if (!_sqlite_modifier_table($table, [$colonne_ajoutee], $opts, $serveur)) {
420
+                        spip_log("SQLite : Erreur ALTER TABLE / ADD : $query", 'sqlite.' . _LOG_ERREUR);
421
+
422
+                        return false;
423
+                    }
424
+                }
425
+                break;
426
+        }
427
+        // tout est bon, ouf !
428
+        spip_log("SQLite ($serveur) : Changements OK : $debut $do", 'sqlite.' . _LOG_INFO);
429
+    }
430
+
431
+    spip_log("SQLite ($serveur) : fin ALTER TABLE OK !", 'sqlite.' . _LOG_INFO);
432
+
433
+    return true;
434 434
 }
435 435
 
436 436
 /**
@@ -452,38 +452,38 @@  discard block
 block discarded – undo
452 452
  *     - true si la requête réussie, false sinon.
453 453
  */
454 454
 function spip_sqlite_create(
455
-	$nom,
456
-	$champs,
457
-	$cles,
458
-	$autoinc = false,
459
-	$temporary = false,
460
-	$serveur = '',
461
-	$requeter = true
455
+    $nom,
456
+    $champs,
457
+    $cles,
458
+    $autoinc = false,
459
+    $temporary = false,
460
+    $serveur = '',
461
+    $requeter = true
462 462
 ) {
463
-	$query = _sqlite_requete_create($nom, $champs, $cles, $autoinc, $temporary, $ifnotexists = true, $serveur, $requeter);
464
-	if (!$query) {
465
-		return false;
466
-	}
467
-	$res = spip_sqlite_query($query, $serveur, $requeter);
468
-
469
-	// SQLite ne cree pas les KEY sur les requetes CREATE TABLE
470
-	// il faut donc les faire creer ensuite
471
-	if (!$requeter) {
472
-		return $res;
473
-	}
474
-
475
-	$ok = $res ? true : false;
476
-	if ($ok) {
477
-		foreach ($cles as $k => $v) {
478
-			if (preg_match(',^(UNIQUE KEY|KEY|UNIQUE)\s,i', $k, $m)) {
479
-				$index = trim(substr($k, strlen($m[1])));
480
-				$unique = (strlen($m[1]) > 3);
481
-				$ok &= spip_sqlite_create_index($index, $nom, $v, $unique, $serveur);
482
-			}
483
-		}
484
-	}
485
-
486
-	return $ok ? true : false;
463
+    $query = _sqlite_requete_create($nom, $champs, $cles, $autoinc, $temporary, $ifnotexists = true, $serveur, $requeter);
464
+    if (!$query) {
465
+        return false;
466
+    }
467
+    $res = spip_sqlite_query($query, $serveur, $requeter);
468
+
469
+    // SQLite ne cree pas les KEY sur les requetes CREATE TABLE
470
+    // il faut donc les faire creer ensuite
471
+    if (!$requeter) {
472
+        return $res;
473
+    }
474
+
475
+    $ok = $res ? true : false;
476
+    if ($ok) {
477
+        foreach ($cles as $k => $v) {
478
+            if (preg_match(',^(UNIQUE KEY|KEY|UNIQUE)\s,i', $k, $m)) {
479
+                $index = trim(substr($k, strlen($m[1])));
480
+                $unique = (strlen($m[1]) > 3);
481
+                $ok &= spip_sqlite_create_index($index, $nom, $v, $unique, $serveur);
482
+            }
483
+        }
484
+    }
485
+
486
+    return $ok ? true : false;
487 487
 }
488 488
 
489 489
 /**
@@ -497,21 +497,21 @@  discard block
 block discarded – undo
497 497
  **/
498 498
 function spip_sqlite_create_base($nom, $serveur = '', $option = true)
499 499
 {
500
-	$f = $nom . '.sqlite';
501
-	if (strpos($nom, '/') === false) {
502
-		$f = _DIR_DB . $f;
503
-	}
500
+    $f = $nom . '.sqlite';
501
+    if (strpos($nom, '/') === false) {
502
+        $f = _DIR_DB . $f;
503
+    }
504 504
 
505
-	$ok = new \PDO("sqlite:$f");
505
+    $ok = new \PDO("sqlite:$f");
506 506
 
507
-	if ($ok) {
508
-		unset($ok);
507
+    if ($ok) {
508
+        unset($ok);
509 509
 
510
-		return true;
511
-	}
512
-	unset($ok);
510
+        return true;
511
+    }
512
+    unset($ok);
513 513
 
514
-	return false;
514
+    return false;
515 515
 }
516 516
 
517 517
 
@@ -533,22 +533,22 @@  discard block
 block discarded – undo
533 533
  */
534 534
 function spip_sqlite_create_view($nom, $query_select, $serveur = '', $requeter = true)
535 535
 {
536
-	if (!$query_select) {
537
-		return false;
538
-	}
539
-	// vue deja presente
540
-	if (sql_showtable($nom, false, $serveur)) {
541
-		spip_log(
542
-			"Echec creation d'une vue sql ($nom) car celle-ci existe deja (serveur:$serveur)",
543
-			'sqlite.' . _LOG_ERREUR
544
-		);
545
-
546
-		return false;
547
-	}
548
-
549
-	$query = "CREATE VIEW $nom AS " . $query_select;
550
-
551
-	return spip_sqlite_query($query, $serveur, $requeter);
536
+    if (!$query_select) {
537
+        return false;
538
+    }
539
+    // vue deja presente
540
+    if (sql_showtable($nom, false, $serveur)) {
541
+        spip_log(
542
+            "Echec creation d'une vue sql ($nom) car celle-ci existe deja (serveur:$serveur)",
543
+            'sqlite.' . _LOG_ERREUR
544
+        );
545
+
546
+        return false;
547
+    }
548
+
549
+    $query = "CREATE VIEW $nom AS " . $query_select;
550
+
551
+    return spip_sqlite_query($query, $serveur, $requeter);
552 552
 }
553 553
 
554 554
 /**
@@ -571,54 +571,54 @@  discard block
 block discarded – undo
571 571
  */
572 572
 function spip_sqlite_create_index($nom, $table, $champs, $unique = '', $serveur = '', $requeter = true)
573 573
 {
574
-	if (!($nom or $table or $champs)) {
575
-		spip_log(
576
-			"Champ manquant pour creer un index sqlite ($nom, $table, (" . join(',', $champs) . '))',
577
-			'sqlite.' . _LOG_ERREUR
578
-		);
579
-
580
-		return false;
581
-	}
582
-
583
-	// SQLite ne differentie pas noms des index en fonction des tables
584
-	// il faut donc creer des noms uniques d'index pour une base sqlite
585
-	$nom = $table . '_' . $nom;
586
-	// enlever d'eventuelles parentheses deja presentes sur champs
587
-	if (!is_array($champs)) {
588
-		if ($champs[0] == '(') {
589
-			$champs = substr($champs, 1, -1);
590
-		}
591
-		$champs = [$champs];
592
-		// supprimer l'info de longueur d'index mysql en fin de champ
593
-		$champs = preg_replace(',\(\d+\)$,', '', $champs);
594
-	}
595
-
596
-	$ifnotexists = '';
597
-	$version = spip_sqlite_fetch(spip_sqlite_query('select sqlite_version() AS sqlite_version', $serveur), '', $serveur);
598
-	if (!function_exists('spip_version_compare')) {
599
-		include_spip('plugins/installer');
600
-	}
601
-
602
-	if ($version and spip_version_compare($version['sqlite_version'], '3.3.0', '>=')) {
603
-		$ifnotexists = ' IF NOT EXISTS';
604
-	} else {
605
-		/* simuler le IF EXISTS - version 2 et sqlite < 3.3a */
606
-		$a = spip_sqlite_showtable($table, $serveur);
607
-		if (isset($a['key']['KEY ' . $nom])) {
608
-			return true;
609
-		}
610
-	}
611
-
612
-	$query = 'CREATE ' . ($unique ? 'UNIQUE ' : '') . "INDEX$ifnotexists $nom ON $table (" . join(',', $champs) . ')';
613
-	$res = spip_sqlite_query($query, $serveur, $requeter);
614
-	if (!$requeter) {
615
-		return $res;
616
-	}
617
-	if ($res) {
618
-		return true;
619
-	} else {
620
-		return false;
621
-	}
574
+    if (!($nom or $table or $champs)) {
575
+        spip_log(
576
+            "Champ manquant pour creer un index sqlite ($nom, $table, (" . join(',', $champs) . '))',
577
+            'sqlite.' . _LOG_ERREUR
578
+        );
579
+
580
+        return false;
581
+    }
582
+
583
+    // SQLite ne differentie pas noms des index en fonction des tables
584
+    // il faut donc creer des noms uniques d'index pour une base sqlite
585
+    $nom = $table . '_' . $nom;
586
+    // enlever d'eventuelles parentheses deja presentes sur champs
587
+    if (!is_array($champs)) {
588
+        if ($champs[0] == '(') {
589
+            $champs = substr($champs, 1, -1);
590
+        }
591
+        $champs = [$champs];
592
+        // supprimer l'info de longueur d'index mysql en fin de champ
593
+        $champs = preg_replace(',\(\d+\)$,', '', $champs);
594
+    }
595
+
596
+    $ifnotexists = '';
597
+    $version = spip_sqlite_fetch(spip_sqlite_query('select sqlite_version() AS sqlite_version', $serveur), '', $serveur);
598
+    if (!function_exists('spip_version_compare')) {
599
+        include_spip('plugins/installer');
600
+    }
601
+
602
+    if ($version and spip_version_compare($version['sqlite_version'], '3.3.0', '>=')) {
603
+        $ifnotexists = ' IF NOT EXISTS';
604
+    } else {
605
+        /* simuler le IF EXISTS - version 2 et sqlite < 3.3a */
606
+        $a = spip_sqlite_showtable($table, $serveur);
607
+        if (isset($a['key']['KEY ' . $nom])) {
608
+            return true;
609
+        }
610
+    }
611
+
612
+    $query = 'CREATE ' . ($unique ? 'UNIQUE ' : '') . "INDEX$ifnotexists $nom ON $table (" . join(',', $champs) . ')';
613
+    $res = spip_sqlite_query($query, $serveur, $requeter);
614
+    if (!$requeter) {
615
+        return $res;
616
+    }
617
+    if ($res) {
618
+        return true;
619
+    } else {
620
+        return false;
621
+    }
622 622
 }
623 623
 
624 624
 /**
@@ -636,31 +636,31 @@  discard block
 block discarded – undo
636 636
  */
637 637
 function spip_sqlite_count($r, $serveur = '', $requeter = true)
638 638
 {
639
-	if (!$r) {
640
-		return 0;
641
-	}
642
-
643
-	// select ou autre (insert, update,...) ?
644
-	// (link,requete) a compter
645
-	if (is_array($r->spipSqliteRowCount)) {
646
-		list($link, $query) = $r->spipSqliteRowCount;
647
-		// amelioration possible a tester intensivement : pas de order by pour compter !
648
-		// $query = preg_replace(",ORDER BY .+(LIMIT\s|HAVING\s|GROUP BY\s|$),Uims","\\1",$query);
649
-		$query = "SELECT count(*) as zzzzsqlitecount FROM ($query)";
650
-		$l = $link->query($query);
651
-		$i = 0;
652
-		if ($l and $z = $l->fetch()) {
653
-			$i = $z['zzzzsqlitecount'];
654
-		}
655
-		$r->spipSqliteRowCount = $i;
656
-	}
657
-	if (isset($r->spipSqliteRowCount)) {
658
-		// Ce compte est faux s'il y a des limit dans la requete :(
659
-		// il retourne le nombre d'enregistrements sans le limit
660
-		return $r->spipSqliteRowCount;
661
-	} else {
662
-		return $r->rowCount();
663
-	}
639
+    if (!$r) {
640
+        return 0;
641
+    }
642
+
643
+    // select ou autre (insert, update,...) ?
644
+    // (link,requete) a compter
645
+    if (is_array($r->spipSqliteRowCount)) {
646
+        list($link, $query) = $r->spipSqliteRowCount;
647
+        // amelioration possible a tester intensivement : pas de order by pour compter !
648
+        // $query = preg_replace(",ORDER BY .+(LIMIT\s|HAVING\s|GROUP BY\s|$),Uims","\\1",$query);
649
+        $query = "SELECT count(*) as zzzzsqlitecount FROM ($query)";
650
+        $l = $link->query($query);
651
+        $i = 0;
652
+        if ($l and $z = $l->fetch()) {
653
+            $i = $z['zzzzsqlitecount'];
654
+        }
655
+        $r->spipSqliteRowCount = $i;
656
+    }
657
+    if (isset($r->spipSqliteRowCount)) {
658
+        // Ce compte est faux s'il y a des limit dans la requete :(
659
+        // il retourne le nombre d'enregistrements sans le limit
660
+        return $r->spipSqliteRowCount;
661
+    } else {
662
+        return $r->rowCount();
663
+    }
664 664
 }
665 665
 
666 666
 
@@ -679,30 +679,30 @@  discard block
 block discarded – undo
679 679
  *     - false si la requête a échouée
680 680
  **/
681 681
 function spip_sqlite_countsel(
682
-	$from = [],
683
-	$where = [],
684
-	$groupby = '',
685
-	$having = [],
686
-	$serveur = '',
687
-	$requeter = true
682
+    $from = [],
683
+    $where = [],
684
+    $groupby = '',
685
+    $having = [],
686
+    $serveur = '',
687
+    $requeter = true
688 688
 ) {
689
-	$c = !$groupby ? '*' : ('DISTINCT ' . (is_string($groupby) ? $groupby : join(',', $groupby)));
690
-	$r = spip_sqlite_select(
691
-		"COUNT($c)",
692
-		$from,
693
-		$where,
694
-		'',
695
-		'',
696
-		'',
697
-		$having,
698
-		$serveur,
699
-		$requeter
700
-	);
701
-	if ((is_resource($r) or is_object($r)) && $requeter) { // ressource : sqlite2, object : sqlite3
702
-		list($r) = spip_sqlite_fetch($r, SPIP_SQLITE3_NUM, $serveur);
703
-	}
704
-
705
-	return $r;
689
+    $c = !$groupby ? '*' : ('DISTINCT ' . (is_string($groupby) ? $groupby : join(',', $groupby)));
690
+    $r = spip_sqlite_select(
691
+        "COUNT($c)",
692
+        $from,
693
+        $where,
694
+        '',
695
+        '',
696
+        '',
697
+        $having,
698
+        $serveur,
699
+        $requeter
700
+    );
701
+    if ((is_resource($r) or is_object($r)) && $requeter) { // ressource : sqlite2, object : sqlite3
702
+        list($r) = spip_sqlite_fetch($r, SPIP_SQLITE3_NUM, $serveur);
703
+    }
704
+
705
+    return $r;
706 706
 }
707 707
 
708 708
 
@@ -720,24 +720,24 @@  discard block
 block discarded – undo
720 720
  **/
721 721
 function spip_sqlite_delete($table, $where = '', $serveur = '', $requeter = true)
722 722
 {
723
-	$res = spip_sqlite_query(
724
-		_sqlite_calculer_expression('DELETE FROM', $table, ',')
725
-			. _sqlite_calculer_expression('WHERE', $where),
726
-		$serveur,
727
-		$requeter
728
-	);
729
-
730
-	// renvoyer la requete inerte si demandee
731
-	if (!$requeter) {
732
-		return $res;
733
-	}
734
-
735
-	if ($res) {
736
-		$link = _sqlite_link($serveur);
737
-		return $res->rowCount();
738
-	} else {
739
-		return false;
740
-	}
723
+    $res = spip_sqlite_query(
724
+        _sqlite_calculer_expression('DELETE FROM', $table, ',')
725
+            . _sqlite_calculer_expression('WHERE', $where),
726
+        $serveur,
727
+        $requeter
728
+    );
729
+
730
+    // renvoyer la requete inerte si demandee
731
+    if (!$requeter) {
732
+        return $res;
733
+    }
734
+
735
+    if ($res) {
736
+        $link = _sqlite_link($serveur);
737
+        return $res->rowCount();
738
+    } else {
739
+        return false;
740
+    }
741 741
 }
742 742
 
743 743
 
@@ -754,15 +754,15 @@  discard block
 block discarded – undo
754 754
  */
755 755
 function spip_sqlite_drop_table($table, $exist = '', $serveur = '', $requeter = true)
756 756
 {
757
-	if ($exist) {
758
-		$exist = ' IF EXISTS';
759
-	}
760
-
761
-	if (spip_sqlite_query("DROP TABLE$exist $table", $serveur, $requeter)) {
762
-		return true;
763
-	} else {
764
-		return false;
765
-	}
757
+    if ($exist) {
758
+        $exist = ' IF EXISTS';
759
+    }
760
+
761
+    if (spip_sqlite_query("DROP TABLE$exist $table", $serveur, $requeter)) {
762
+        return true;
763
+    } else {
764
+        return false;
765
+    }
766 766
 }
767 767
 
768 768
 
@@ -779,11 +779,11 @@  discard block
 block discarded – undo
779 779
  */
780 780
 function spip_sqlite_drop_view($view, $exist = '', $serveur = '', $requeter = true)
781 781
 {
782
-	if ($exist) {
783
-		$exist = ' IF EXISTS';
784
-	}
782
+    if ($exist) {
783
+        $exist = ' IF EXISTS';
784
+    }
785 785
 
786
-	return spip_sqlite_query("DROP VIEW$exist $view", $serveur, $requeter);
786
+    return spip_sqlite_query("DROP VIEW$exist $view", $serveur, $requeter);
787 787
 }
788 788
 
789 789
 /**
@@ -798,20 +798,20 @@  discard block
 block discarded – undo
798 798
  */
799 799
 function spip_sqlite_drop_index($nom, $table, $serveur = '', $requeter = true)
800 800
 {
801
-	if (!($nom or $table)) {
802
-		spip_log("Champ manquant pour supprimer un index sqlite ($nom, $table)", 'sqlite.' . _LOG_ERREUR);
801
+    if (!($nom or $table)) {
802
+        spip_log("Champ manquant pour supprimer un index sqlite ($nom, $table)", 'sqlite.' . _LOG_ERREUR);
803 803
 
804
-		return false;
805
-	}
804
+        return false;
805
+    }
806 806
 
807
-	// SQLite ne differentie pas noms des index en fonction des tables
808
-	// il faut donc creer des noms uniques d'index pour une base sqlite
809
-	$index = $table . '_' . $nom;
810
-	$exist = ' IF EXISTS';
807
+    // SQLite ne differentie pas noms des index en fonction des tables
808
+    // il faut donc creer des noms uniques d'index pour une base sqlite
809
+    $index = $table . '_' . $nom;
810
+    $exist = ' IF EXISTS';
811 811
 
812
-	$query = "DROP INDEX$exist $index";
812
+    $query = "DROP INDEX$exist $index";
813 813
 
814
-	return spip_sqlite_query($query, $serveur, $requeter);
814
+    return spip_sqlite_query($query, $serveur, $requeter);
815 815
 }
816 816
 
817 817
 /**
@@ -828,29 +828,29 @@  discard block
 block discarded – undo
828 828
  **/
829 829
 function spip_sqlite_error($query = '', $serveur = '')
830 830
 {
831
-	$link = _sqlite_link($serveur);
832
-
833
-	if ($link) {
834
-		$errs = $link->errorInfo();
835
-		$s = _sqlite_last_error_from_link($link);
836
-	} else {
837
-		$s = ': aucune ressource sqlite (link)';
838
-	}
839
-	if ($s) {
840
-		$trace = debug_backtrace();
841
-		if ($trace[0]['function'] != 'spip_sqlite_error') {
842
-			spip_log("$s - $query - " . sql_error_backtrace(), 'sqlite.' . _LOG_ERREUR);
843
-		}
844
-	}
845
-
846
-	return $s;
831
+    $link = _sqlite_link($serveur);
832
+
833
+    if ($link) {
834
+        $errs = $link->errorInfo();
835
+        $s = _sqlite_last_error_from_link($link);
836
+    } else {
837
+        $s = ': aucune ressource sqlite (link)';
838
+    }
839
+    if ($s) {
840
+        $trace = debug_backtrace();
841
+        if ($trace[0]['function'] != 'spip_sqlite_error') {
842
+            spip_log("$s - $query - " . sql_error_backtrace(), 'sqlite.' . _LOG_ERREUR);
843
+        }
844
+    }
845
+
846
+    return $s;
847 847
 }
848 848
 
849 849
 function _sqlite_last_error_from_link($link)
850 850
 {
851
-	if ($link) {
852
-		$errs = $link->errorInfo();
853
-		/*
851
+    if ($link) {
852
+        $errs = $link->errorInfo();
853
+        /*
854 854
 			$errs[0]
855 855
 				numero SQLState ('HY000' souvent lors d'une erreur)
856 856
 				http://www.easysoft.com/developer/interfaces/odbc/sqlstate_status_return_codes.html
@@ -860,11 +860,11 @@  discard block
 block discarded – undo
860 860
 			$errs[2]
861 861
 				Le texte du message d'erreur
862 862
 		*/
863
-		if (ltrim($errs[0], '0')) { // 00000 si pas d'erreur
864
-			return "$errs[2]";
865
-		}
866
-	}
867
-	return '';
863
+        if (ltrim($errs[0], '0')) { // 00000 si pas d'erreur
864
+            return "$errs[2]";
865
+        }
866
+    }
867
+    return '';
868 868
 }
869 869
 
870 870
 /**
@@ -882,23 +882,23 @@  discard block
 block discarded – undo
882 882
  **/
883 883
 function spip_sqlite_errno($serveur = '')
884 884
 {
885
-	$link = _sqlite_link($serveur);
886
-
887
-	if ($link) {
888
-		$t = $link->errorInfo();
889
-		$s = ltrim($t[0], '0'); // 00000 si pas d'erreur
890
-		if ($s) {
891
-			$s .= ' / ' . $t[1];
892
-		} // ajoute l'erreur du moteur SQLite
893
-	} else {
894
-		$s = ': aucune ressource sqlite (link)';
895
-	}
896
-
897
-	if ($s) {
898
-		spip_log("Erreur sqlite $s", 'sqlite.' . _LOG_ERREUR);
899
-	}
900
-
901
-	return $s ? $s : 0;
885
+    $link = _sqlite_link($serveur);
886
+
887
+    if ($link) {
888
+        $t = $link->errorInfo();
889
+        $s = ltrim($t[0], '0'); // 00000 si pas d'erreur
890
+        if ($s) {
891
+            $s .= ' / ' . $t[1];
892
+        } // ajoute l'erreur du moteur SQLite
893
+    } else {
894
+        $s = ': aucune ressource sqlite (link)';
895
+    }
896
+
897
+    if ($s) {
898
+        spip_log("Erreur sqlite $s", 'sqlite.' . _LOG_ERREUR);
899
+    }
900
+
901
+    return $s ? $s : 0;
902 902
 }
903 903
 
904 904
 
@@ -915,19 +915,19 @@  discard block
 block discarded – undo
915 915
  */
916 916
 function spip_sqlite_explain($query, $serveur = '', $requeter = true)
917 917
 {
918
-	if (strpos(ltrim($query), 'SELECT') !== 0) {
919
-		return [];
920
-	}
921
-
922
-	$query = Sqlite::traduire_requete($query, $serveur);
923
-	$query = 'EXPLAIN ' . $query;
924
-	if (!$requeter) {
925
-		return $query;
926
-	}
927
-	// on ne trace pas ces requetes, sinon on obtient un tracage sans fin...
928
-	$r = Sqlite::executer_requete($query, $serveur, false);
929
-
930
-	return $r ? spip_sqlite_fetch($r, null, $serveur) : false; // hum ? etrange ca... a verifier
918
+    if (strpos(ltrim($query), 'SELECT') !== 0) {
919
+        return [];
920
+    }
921
+
922
+    $query = Sqlite::traduire_requete($query, $serveur);
923
+    $query = 'EXPLAIN ' . $query;
924
+    if (!$requeter) {
925
+        return $query;
926
+    }
927
+    // on ne trace pas ces requetes, sinon on obtient un tracage sans fin...
928
+    $r = Sqlite::executer_requete($query, $serveur, false);
929
+
930
+    return $r ? spip_sqlite_fetch($r, null, $serveur) : false; // hum ? etrange ca... a verifier
931 931
 }
932 932
 
933 933
 
@@ -948,35 +948,35 @@  discard block
 block discarded – undo
948 948
 function spip_sqlite_fetch($r, $t = '', $serveur = '', $requeter = true)
949 949
 {
950 950
 
951
-	$link = _sqlite_link($serveur);
952
-	$t = $t ? $t : SPIP_SQLITE3_ASSOC;
953
-
954
-	if (!$r) {
955
-		return false;
956
-	}
957
-
958
-	$retour = $r->fetch($t);
959
-
960
-	if (!$retour) {
961
-		if ($r->errorCode() === '00000') {
962
-			return null;
963
-		}
964
-		return false;
965
-	}
966
-
967
-	// Renvoie des 'table.titre' au lieu de 'titre' tout court ! pff !
968
-	// suppression de 'table.' pour toutes les cles (c'est un peu violent !)
969
-	// c'est couteux : on ne verifie que la premiere ligne pour voir si on le fait ou non
970
-	if (str_contains(implode('', array_keys($retour)), '.')) {
971
-		foreach ($retour as $cle => $val) {
972
-			if (($pos = strpos($cle, '.')) !== false) {
973
-				$retour[substr($cle, $pos + 1)] = &$retour[$cle];
974
-				unset($retour[$cle]);
975
-			}
976
-		}
977
-	}
978
-
979
-	return $retour;
951
+    $link = _sqlite_link($serveur);
952
+    $t = $t ? $t : SPIP_SQLITE3_ASSOC;
953
+
954
+    if (!$r) {
955
+        return false;
956
+    }
957
+
958
+    $retour = $r->fetch($t);
959
+
960
+    if (!$retour) {
961
+        if ($r->errorCode() === '00000') {
962
+            return null;
963
+        }
964
+        return false;
965
+    }
966
+
967
+    // Renvoie des 'table.titre' au lieu de 'titre' tout court ! pff !
968
+    // suppression de 'table.' pour toutes les cles (c'est un peu violent !)
969
+    // c'est couteux : on ne verifie que la premiere ligne pour voir si on le fait ou non
970
+    if (str_contains(implode('', array_keys($retour)), '.')) {
971
+        foreach ($retour as $cle => $val) {
972
+            if (($pos = strpos($cle, '.')) !== false) {
973
+                $retour[substr($cle, $pos + 1)] = &$retour[$cle];
974
+                unset($retour[$cle]);
975
+            }
976
+        }
977
+    }
978
+
979
+    return $retour;
980 980
 }
981 981
 
982 982
 /**
@@ -990,8 +990,8 @@  discard block
 block discarded – undo
990 990
  **/
991 991
 function spip_sqlite_seek($r, $row_number, $serveur = '', $requeter = true)
992 992
 {
993
-	// encore un truc de bien fichu : PDO ne PEUT PAS faire de seek ou de rewind...
994
-	return false;
993
+    // encore un truc de bien fichu : PDO ne PEUT PAS faire de seek ou de rewind...
994
+    return false;
995 995
 }
996 996
 
997 997
 
@@ -1008,10 +1008,10 @@  discard block
 block discarded – undo
1008 1008
  */
1009 1009
 function spip_sqlite_free(&$r, $serveur = '', $requeter = true)
1010 1010
 {
1011
-	unset($r);
1011
+    unset($r);
1012 1012
 
1013
-	return true;
1014
-	//return sqlite_free_result($r);
1013
+    return true;
1014
+    //return sqlite_free_result($r);
1015 1015
 }
1016 1016
 
1017 1017
 
@@ -1027,8 +1027,8 @@  discard block
 block discarded – undo
1027 1027
  */
1028 1028
 function spip_sqlite_get_charset($charset = [], $serveur = '', $requeter = true)
1029 1029
 {
1030
-	//$c = !$charset ? '' : (" LIKE "._q($charset['charset']));
1031
-	//return spip_sqlite_fetch(sqlite_query(_sqlite_link($serveur), "SHOW CHARACTER SET$c"), NULL, $serveur);
1030
+    //$c = !$charset ? '' : (" LIKE "._q($charset['charset']));
1031
+    //return spip_sqlite_fetch(sqlite_query(_sqlite_link($serveur), "SHOW CHARACTER SET$c"), NULL, $serveur);
1032 1032
 }
1033 1033
 
1034 1034
 
@@ -1044,7 +1044,7 @@  discard block
 block discarded – undo
1044 1044
  **/
1045 1045
 function spip_sqlite_hex($v)
1046 1046
 {
1047
-	return hexdec($v);
1047
+    return hexdec($v);
1048 1048
 }
1049 1049
 
1050 1050
 
@@ -1067,7 +1067,7 @@  discard block
 block discarded – undo
1067 1067
  **/
1068 1068
 function spip_sqlite_in($val, $valeurs, $not = '', $serveur = '', $requeter = true)
1069 1069
 {
1070
-	return "($val $not IN ($valeurs))";
1070
+    return "($val $not IN ($valeurs))";
1071 1071
 }
1072 1072
 
1073 1073
 
@@ -1096,20 +1096,20 @@  discard block
 block discarded – undo
1096 1096
 function spip_sqlite_insert($table, $champs, $valeurs, $desc = [], $serveur = '', $requeter = true)
1097 1097
 {
1098 1098
 
1099
-	$query = "INSERT INTO $table " . ($champs ? "$champs VALUES $valeurs" : 'DEFAULT VALUES');
1100
-	if ($r = spip_sqlite_query($query, $serveur, $requeter)) {
1101
-		if (!$requeter) {
1102
-			return $r;
1103
-		}
1104
-		$nb = Sqlite::last_insert_id($serveur);
1105
-	} else {
1106
-		$nb = false;
1107
-	}
1099
+    $query = "INSERT INTO $table " . ($champs ? "$champs VALUES $valeurs" : 'DEFAULT VALUES');
1100
+    if ($r = spip_sqlite_query($query, $serveur, $requeter)) {
1101
+        if (!$requeter) {
1102
+            return $r;
1103
+        }
1104
+        $nb = Sqlite::last_insert_id($serveur);
1105
+    } else {
1106
+        $nb = false;
1107
+    }
1108 1108
 
1109
-	$err = spip_sqlite_error($query, $serveur);
1109
+    $err = spip_sqlite_error($query, $serveur);
1110 1110
 
1111
-	// cas particulier : ne pas substituer la reponse spip_sqlite_query si on est en profilage
1112
-	return isset($_GET['var_profile']) ? $r : $nb;
1111
+    // cas particulier : ne pas substituer la reponse spip_sqlite_query si on est en profilage
1112
+    return isset($_GET['var_profile']) ? $r : $nb;
1113 1113
 }
1114 1114
 
1115 1115
 
@@ -1135,28 +1135,28 @@  discard block
 block discarded – undo
1135 1135
  **/
1136 1136
 function spip_sqlite_insertq($table, $couples = [], $desc = [], $serveur = '', $requeter = true)
1137 1137
 {
1138
-	if (!$desc) {
1139
-		$desc = description_table($table, $serveur);
1140
-	}
1141
-	if (!$desc) {
1142
-		die("$table insertion sans description");
1143
-	}
1144
-	$fields = isset($desc['field']) ? $desc['field'] : [];
1145
-
1146
-	foreach ($couples as $champ => $val) {
1147
-		$couples[$champ] = _sqlite_calculer_cite($val, $fields[$champ]);
1148
-	}
1149
-
1150
-	// recherche de champs 'timestamp' pour mise a jour auto de ceux-ci
1151
-	$couples = _sqlite_ajouter_champs_timestamp($table, $couples, $desc, $serveur);
1152
-
1153
-	$cles = $valeurs = '';
1154
-	if (count($couples)) {
1155
-		$cles = '(' . join(',', array_keys($couples)) . ')';
1156
-		$valeurs = '(' . join(',', $couples) . ')';
1157
-	}
1158
-
1159
-	return spip_sqlite_insert($table, $cles, $valeurs, $desc, $serveur, $requeter);
1138
+    if (!$desc) {
1139
+        $desc = description_table($table, $serveur);
1140
+    }
1141
+    if (!$desc) {
1142
+        die("$table insertion sans description");
1143
+    }
1144
+    $fields = isset($desc['field']) ? $desc['field'] : [];
1145
+
1146
+    foreach ($couples as $champ => $val) {
1147
+        $couples[$champ] = _sqlite_calculer_cite($val, $fields[$champ]);
1148
+    }
1149
+
1150
+    // recherche de champs 'timestamp' pour mise a jour auto de ceux-ci
1151
+    $couples = _sqlite_ajouter_champs_timestamp($table, $couples, $desc, $serveur);
1152
+
1153
+    $cles = $valeurs = '';
1154
+    if (count($couples)) {
1155
+        $cles = '(' . join(',', array_keys($couples)) . ')';
1156
+        $valeurs = '(' . join(',', $couples) . ')';
1157
+    }
1158
+
1159
+    return spip_sqlite_insert($table, $cles, $valeurs, $desc, $serveur, $requeter);
1160 1160
 }
1161 1161
 
1162 1162
 
@@ -1181,70 +1181,70 @@  discard block
 block discarded – undo
1181 1181
  **/
1182 1182
 function spip_sqlite_insertq_multi($table, $tab_couples = [], $desc = [], $serveur = '', $requeter = true)
1183 1183
 {
1184
-	if (!$desc) {
1185
-		$desc = description_table($table, $serveur);
1186
-	}
1187
-	if (!$desc) {
1188
-		die("$table insertion sans description");
1189
-	}
1190
-	if (!isset($desc['field'])) {
1191
-		$desc['field'] = [];
1192
-	}
1193
-
1194
-	// recuperer les champs 'timestamp' pour mise a jour auto de ceux-ci
1195
-	$maj = _sqlite_ajouter_champs_timestamp($table, [], $desc, $serveur);
1196
-
1197
-	// seul le nom de la table est a traduire ici :
1198
-	// le faire une seule fois au debut
1199
-	$query_start = "INSERT INTO $table ";
1200
-	$query_start = Sqlite::traduire_requete($query_start, $serveur);
1201
-
1202
-	// ouvrir une transaction
1203
-	if ($requeter) {
1204
-		Sqlite::demarrer_transaction($serveur);
1205
-	}
1206
-
1207
-	while ($couples = array_shift($tab_couples)) {
1208
-		foreach ($couples as $champ => $val) {
1209
-			$couples[$champ] = _sqlite_calculer_cite($val, $desc['field'][$champ]);
1210
-		}
1211
-
1212
-		// inserer les champs timestamp par defaut
1213
-		$couples = array_merge($maj, $couples);
1214
-
1215
-		$champs = $valeurs = '';
1216
-		if (count($couples)) {
1217
-			$champs = '(' . join(',', array_keys($couples)) . ')';
1218
-			$valeurs = '(' . join(',', $couples) . ')';
1219
-			$query = $query_start . "$champs VALUES $valeurs";
1220
-		} else {
1221
-			$query = $query_start . 'DEFAULT VALUES';
1222
-		}
1223
-
1224
-		if ($requeter) {
1225
-			$retour = Sqlite::executer_requete($query, $serveur);
1226
-		}
1227
-
1228
-		// sur le dernier couple uniquement
1229
-		if (!count($tab_couples)) {
1230
-			$nb = 0;
1231
-			if ($requeter) {
1232
-				$nb = Sqlite::last_insert_id($serveur);
1233
-			} else {
1234
-				return $query;
1235
-			}
1236
-		}
1237
-
1238
-		$err = spip_sqlite_error($query, $serveur);
1239
-	}
1240
-
1241
-	if ($requeter) {
1242
-		Sqlite::finir_transaction($serveur);
1243
-	}
1244
-
1245
-	// renvoie le dernier id d'autoincrement ajoute
1246
-	// cas particulier : ne pas substituer la reponse spip_sqlite_query si on est en profilage
1247
-	return isset($_GET['var_profile']) ? $retour : $nb;
1184
+    if (!$desc) {
1185
+        $desc = description_table($table, $serveur);
1186
+    }
1187
+    if (!$desc) {
1188
+        die("$table insertion sans description");
1189
+    }
1190
+    if (!isset($desc['field'])) {
1191
+        $desc['field'] = [];
1192
+    }
1193
+
1194
+    // recuperer les champs 'timestamp' pour mise a jour auto de ceux-ci
1195
+    $maj = _sqlite_ajouter_champs_timestamp($table, [], $desc, $serveur);
1196
+
1197
+    // seul le nom de la table est a traduire ici :
1198
+    // le faire une seule fois au debut
1199
+    $query_start = "INSERT INTO $table ";
1200
+    $query_start = Sqlite::traduire_requete($query_start, $serveur);
1201
+
1202
+    // ouvrir une transaction
1203
+    if ($requeter) {
1204
+        Sqlite::demarrer_transaction($serveur);
1205
+    }
1206
+
1207
+    while ($couples = array_shift($tab_couples)) {
1208
+        foreach ($couples as $champ => $val) {
1209
+            $couples[$champ] = _sqlite_calculer_cite($val, $desc['field'][$champ]);
1210
+        }
1211
+
1212
+        // inserer les champs timestamp par defaut
1213
+        $couples = array_merge($maj, $couples);
1214
+
1215
+        $champs = $valeurs = '';
1216
+        if (count($couples)) {
1217
+            $champs = '(' . join(',', array_keys($couples)) . ')';
1218
+            $valeurs = '(' . join(',', $couples) . ')';
1219
+            $query = $query_start . "$champs VALUES $valeurs";
1220
+        } else {
1221
+            $query = $query_start . 'DEFAULT VALUES';
1222
+        }
1223
+
1224
+        if ($requeter) {
1225
+            $retour = Sqlite::executer_requete($query, $serveur);
1226
+        }
1227
+
1228
+        // sur le dernier couple uniquement
1229
+        if (!count($tab_couples)) {
1230
+            $nb = 0;
1231
+            if ($requeter) {
1232
+                $nb = Sqlite::last_insert_id($serveur);
1233
+            } else {
1234
+                return $query;
1235
+            }
1236
+        }
1237
+
1238
+        $err = spip_sqlite_error($query, $serveur);
1239
+    }
1240
+
1241
+    if ($requeter) {
1242
+        Sqlite::finir_transaction($serveur);
1243
+    }
1244
+
1245
+    // renvoie le dernier id d'autoincrement ajoute
1246
+    // cas particulier : ne pas substituer la reponse spip_sqlite_query si on est en profilage
1247
+    return isset($_GET['var_profile']) ? $retour : $nb;
1248 1248
 }
1249 1249
 
1250 1250
 
@@ -1260,7 +1260,7 @@  discard block
 block discarded – undo
1260 1260
  **/
1261 1261
 function spip_sqlite_preferer_transaction($serveur = '', $requeter = true)
1262 1262
 {
1263
-	return true;
1263
+    return true;
1264 1264
 }
1265 1265
 
1266 1266
 /**
@@ -1278,12 +1278,12 @@  discard block
 block discarded – undo
1278 1278
  **/
1279 1279
 function spip_sqlite_demarrer_transaction($serveur = '', $requeter = true)
1280 1280
 {
1281
-	if (!$requeter) {
1282
-		return 'BEGIN TRANSACTION';
1283
-	}
1284
-	Sqlite::demarrer_transaction($serveur);
1281
+    if (!$requeter) {
1282
+        return 'BEGIN TRANSACTION';
1283
+    }
1284
+    Sqlite::demarrer_transaction($serveur);
1285 1285
 
1286
-	return true;
1286
+    return true;
1287 1287
 }
1288 1288
 
1289 1289
 /**
@@ -1298,12 +1298,12 @@  discard block
 block discarded – undo
1298 1298
  **/
1299 1299
 function spip_sqlite_terminer_transaction($serveur = '', $requeter = true)
1300 1300
 {
1301
-	if (!$requeter) {
1302
-		return 'COMMIT';
1303
-	}
1304
-	Sqlite::finir_transaction($serveur);
1301
+    if (!$requeter) {
1302
+        return 'COMMIT';
1303
+    }
1304
+    Sqlite::finir_transaction($serveur);
1305 1305
 
1306
-	return true;
1306
+    return true;
1307 1307
 }
1308 1308
 
1309 1309
 
@@ -1319,27 +1319,27 @@  discard block
 block discarded – undo
1319 1319
  **/
1320 1320
 function spip_sqlite_listdbs($serveur = '', $requeter = true)
1321 1321
 {
1322
-	_sqlite_init();
1323
-
1324
-	if (!is_dir($d = substr(_DIR_DB, 0, -1))) {
1325
-		return [];
1326
-	}
1327
-
1328
-	include_spip('inc/flock');
1329
-	$bases = preg_files($d, $pattern = '(.*)\.sqlite$');
1330
-	$bds = [];
1331
-
1332
-	foreach ($bases as $b) {
1333
-		// pas de bases commencant pas sqlite
1334
-		// (on s'en sert pour l'installation pour simuler la presence d'un serveur)
1335
-		// les bases sont de la forme _sqliteX_tmp_spip_install.sqlite
1336
-		if (strpos($b, '_sqlite')) {
1337
-			continue;
1338
-		}
1339
-		$bds[] = preg_replace(";.*/$pattern;iS", '$1', $b);
1340
-	}
1341
-
1342
-	return $bds;
1322
+    _sqlite_init();
1323
+
1324
+    if (!is_dir($d = substr(_DIR_DB, 0, -1))) {
1325
+        return [];
1326
+    }
1327
+
1328
+    include_spip('inc/flock');
1329
+    $bases = preg_files($d, $pattern = '(.*)\.sqlite$');
1330
+    $bds = [];
1331
+
1332
+    foreach ($bases as $b) {
1333
+        // pas de bases commencant pas sqlite
1334
+        // (on s'en sert pour l'installation pour simuler la presence d'un serveur)
1335
+        // les bases sont de la forme _sqliteX_tmp_spip_install.sqlite
1336
+        if (strpos($b, '_sqlite')) {
1337
+            continue;
1338
+        }
1339
+        $bds[] = preg_replace(";.*/$pattern;iS", '$1', $b);
1340
+    }
1341
+
1342
+    return $bds;
1343 1343
 }
1344 1344
 
1345 1345
 
@@ -1355,9 +1355,9 @@  discard block
 block discarded – undo
1355 1355
  */
1356 1356
 function spip_sqlite_multi($objet, $lang)
1357 1357
 {
1358
-	$r = 'EXTRAIRE_MULTI(' . $objet . ", '" . $lang . "') AS multi";
1358
+    $r = 'EXTRAIRE_MULTI(' . $objet . ", '" . $lang . "') AS multi";
1359 1359
 
1360
-	return $r;
1360
+    return $r;
1361 1361
 }
1362 1362
 
1363 1363
 
@@ -1375,15 +1375,15 @@  discard block
 block discarded – undo
1375 1375
  **/
1376 1376
 function spip_sqlite_optimize($table, $serveur = '', $requeter = true)
1377 1377
 {
1378
-	static $do = false;
1379
-	if ($requeter and $do) {
1380
-		return true;
1381
-	}
1382
-	if ($requeter) {
1383
-		$do = true;
1384
-	}
1385
-
1386
-	return spip_sqlite_query('VACUUM', $serveur, $requeter);
1378
+    static $do = false;
1379
+    if ($requeter and $do) {
1380
+        return true;
1381
+    }
1382
+    if ($requeter) {
1383
+        $do = true;
1384
+    }
1385
+
1386
+    return spip_sqlite_query('VACUUM', $serveur, $requeter);
1387 1387
 }
1388 1388
 
1389 1389
 
@@ -1401,15 +1401,15 @@  discard block
 block discarded – undo
1401 1401
  */
1402 1402
 function spip_sqlite_quote($v, $type = '')
1403 1403
 {
1404
-	if (!is_array($v)) {
1405
-		return _sqlite_calculer_cite($v, $type);
1406
-	}
1407
-	// si c'est un tableau, le parcourir en propageant le type
1408
-	foreach ($v as $k => $r) {
1409
-		$v[$k] = spip_sqlite_quote($r, $type);
1410
-	}
1411
-
1412
-	return join(',', $v);
1404
+    if (!is_array($v)) {
1405
+        return _sqlite_calculer_cite($v, $type);
1406
+    }
1407
+    // si c'est un tableau, le parcourir en propageant le type
1408
+    foreach ($v as $k => $r) {
1409
+        $v[$k] = spip_sqlite_quote($r, $type);
1410
+    }
1411
+
1412
+    return join(',', $v);
1413 1413
 }
1414 1414
 
1415 1415
 
@@ -1427,9 +1427,9 @@  discard block
 block discarded – undo
1427 1427
  **/
1428 1428
 function spip_sqlite_date_proche($champ, $interval, $unite)
1429 1429
 {
1430
-	$op = (($interval <= 0) ? '>' : '<');
1430
+    $op = (($interval <= 0) ? '>' : '<');
1431 1431
 
1432
-	return "($champ $op datetime('" . date('Y-m-d H:i:s') . "', '$interval $unite'))";
1432
+    return "($champ $op datetime('" . date('Y-m-d H:i:s') . "', '$interval $unite'))";
1433 1433
 }
1434 1434
 
1435 1435
 
@@ -1448,48 +1448,48 @@  discard block
 block discarded – undo
1448 1448
  */
1449 1449
 function spip_sqlite_repair($table, $serveur = '', $requeter = true)
1450 1450
 {
1451
-	if (
1452
-		$desc = spip_sqlite_showtable($table, $serveur)
1453
-		and isset($desc['field'])
1454
-		and is_array($desc['field'])
1455
-	) {
1456
-		foreach ($desc['field'] as $c => $d) {
1457
-			if (
1458
-				preg_match(',^(tinytext|mediumtext|text|longtext|varchar|char),i', $d)
1459
-				and stripos($d, 'NOT NULL') !== false
1460
-				and stripos($d, 'DEFAULT') === false
1461
-				/* pas touche aux cles primaires */
1462
-				and (!isset($desc['key']['PRIMARY KEY']) or $desc['key']['PRIMARY KEY'] !== $c)
1463
-			) {
1464
-				spip_sqlite_alter($q = "TABLE $table CHANGE $c $c $d DEFAULT ''", $serveur);
1465
-				spip_log("ALTER $q", 'repair' . _LOG_INFO_IMPORTANTE);
1466
-			}
1467
-			if (
1468
-				preg_match(',^(INTEGER),i', $d)
1469
-				and stripos($d, 'NOT NULL') !== false
1470
-				and stripos($d, 'DEFAULT') === false
1471
-				/* pas touche aux cles primaires */
1472
-				and (!isset($desc['key']['PRIMARY KEY']) or $desc['key']['PRIMARY KEY'] !== $c)
1473
-			) {
1474
-				spip_sqlite_alter($q = "TABLE $table CHANGE $c $c $d DEFAULT '0'", $serveur);
1475
-				spip_log("ALTER $q", 'repair' . _LOG_INFO_IMPORTANTE);
1476
-			}
1477
-			if (
1478
-				preg_match(',^(datetime),i', $d)
1479
-				and stripos($d, 'NOT NULL') !== false
1480
-				and stripos($d, 'DEFAULT') === false
1481
-				/* pas touche aux cles primaires */
1482
-				and (!isset($desc['key']['PRIMARY KEY']) or $desc['key']['PRIMARY KEY'] !== $c)
1483
-			) {
1484
-				spip_sqlite_alter($q = "TABLE $table CHANGE $c $c $d DEFAULT '0000-00-00 00:00:00'", $serveur);
1485
-				spip_log("ALTER $q", 'repair' . _LOG_INFO_IMPORTANTE);
1486
-			}
1487
-		}
1488
-
1489
-		return [' OK '];
1490
-	}
1491
-
1492
-	return [' ERROR '];
1451
+    if (
1452
+        $desc = spip_sqlite_showtable($table, $serveur)
1453
+        and isset($desc['field'])
1454
+        and is_array($desc['field'])
1455
+    ) {
1456
+        foreach ($desc['field'] as $c => $d) {
1457
+            if (
1458
+                preg_match(',^(tinytext|mediumtext|text|longtext|varchar|char),i', $d)
1459
+                and stripos($d, 'NOT NULL') !== false
1460
+                and stripos($d, 'DEFAULT') === false
1461
+                /* pas touche aux cles primaires */
1462
+                and (!isset($desc['key']['PRIMARY KEY']) or $desc['key']['PRIMARY KEY'] !== $c)
1463
+            ) {
1464
+                spip_sqlite_alter($q = "TABLE $table CHANGE $c $c $d DEFAULT ''", $serveur);
1465
+                spip_log("ALTER $q", 'repair' . _LOG_INFO_IMPORTANTE);
1466
+            }
1467
+            if (
1468
+                preg_match(',^(INTEGER),i', $d)
1469
+                and stripos($d, 'NOT NULL') !== false
1470
+                and stripos($d, 'DEFAULT') === false
1471
+                /* pas touche aux cles primaires */
1472
+                and (!isset($desc['key']['PRIMARY KEY']) or $desc['key']['PRIMARY KEY'] !== $c)
1473
+            ) {
1474
+                spip_sqlite_alter($q = "TABLE $table CHANGE $c $c $d DEFAULT '0'", $serveur);
1475
+                spip_log("ALTER $q", 'repair' . _LOG_INFO_IMPORTANTE);
1476
+            }
1477
+            if (
1478
+                preg_match(',^(datetime),i', $d)
1479
+                and stripos($d, 'NOT NULL') !== false
1480
+                and stripos($d, 'DEFAULT') === false
1481
+                /* pas touche aux cles primaires */
1482
+                and (!isset($desc['key']['PRIMARY KEY']) or $desc['key']['PRIMARY KEY'] !== $c)
1483
+            ) {
1484
+                spip_sqlite_alter($q = "TABLE $table CHANGE $c $c $d DEFAULT '0000-00-00 00:00:00'", $serveur);
1485
+                spip_log("ALTER $q", 'repair' . _LOG_INFO_IMPORTANTE);
1486
+            }
1487
+        }
1488
+
1489
+        return [' OK '];
1490
+    }
1491
+
1492
+    return [' ERROR '];
1493 1493
 }
1494 1494
 
1495 1495
 
@@ -1519,25 +1519,25 @@  discard block
 block discarded – undo
1519 1519
  **/
1520 1520
 function spip_sqlite_replace($table, $couples, $desc = [], $serveur = '', $requeter = true)
1521 1521
 {
1522
-	if (!$desc) {
1523
-		$desc = description_table($table, $serveur);
1524
-	}
1525
-	if (!$desc) {
1526
-		die("$table insertion sans description");
1527
-	}
1528
-	$fields = isset($desc['field']) ? $desc['field'] : [];
1529
-
1530
-	foreach ($couples as $champ => $val) {
1531
-		$couples[$champ] = _sqlite_calculer_cite($val, $fields[$champ]);
1532
-	}
1533
-
1534
-	// recherche de champs 'timestamp' pour mise a jour auto de ceux-ci
1535
-	$couples = _sqlite_ajouter_champs_timestamp($table, $couples, $desc, $serveur);
1536
-
1537
-	return spip_sqlite_query("REPLACE INTO $table (" . join(',', array_keys($couples)) . ') VALUES (' . join(
1538
-		',',
1539
-		$couples
1540
-	) . ')', $serveur);
1522
+    if (!$desc) {
1523
+        $desc = description_table($table, $serveur);
1524
+    }
1525
+    if (!$desc) {
1526
+        die("$table insertion sans description");
1527
+    }
1528
+    $fields = isset($desc['field']) ? $desc['field'] : [];
1529
+
1530
+    foreach ($couples as $champ => $val) {
1531
+        $couples[$champ] = _sqlite_calculer_cite($val, $fields[$champ]);
1532
+    }
1533
+
1534
+    // recherche de champs 'timestamp' pour mise a jour auto de ceux-ci
1535
+    $couples = _sqlite_ajouter_champs_timestamp($table, $couples, $desc, $serveur);
1536
+
1537
+    return spip_sqlite_query("REPLACE INTO $table (" . join(',', array_keys($couples)) . ') VALUES (' . join(
1538
+        ',',
1539
+        $couples
1540
+    ) . ')', $serveur);
1541 1541
 }
1542 1542
 
1543 1543
 
@@ -1568,13 +1568,13 @@  discard block
 block discarded – undo
1568 1568
 function spip_sqlite_replace_multi($table, $tab_couples, $desc = [], $serveur = '', $requeter = true)
1569 1569
 {
1570 1570
 
1571
-	// boucler pour trainter chaque requete independemment
1572
-	foreach ($tab_couples as $couples) {
1573
-		$retour = spip_sqlite_replace($table, $couples, $desc, $serveur, $requeter);
1574
-	}
1571
+    // boucler pour trainter chaque requete independemment
1572
+    foreach ($tab_couples as $couples) {
1573
+        $retour = spip_sqlite_replace($table, $couples, $desc, $serveur, $requeter);
1574
+    }
1575 1575
 
1576
-	// renvoie le dernier id
1577
-	return $retour;
1576
+    // renvoie le dernier id
1577
+    return $retour;
1578 1578
 }
1579 1579
 
1580 1580
 
@@ -1601,44 +1601,44 @@  discard block
 block discarded – undo
1601 1601
  *     - array  : Tableau décrivant requête et temps d'exécution si var_profile actif pour tracer.
1602 1602
  */
1603 1603
 function spip_sqlite_select(
1604
-	$select,
1605
-	$from,
1606
-	$where = '',
1607
-	$groupby = '',
1608
-	$orderby = '',
1609
-	$limit = '',
1610
-	$having = '',
1611
-	$serveur = '',
1612
-	$requeter = true
1604
+    $select,
1605
+    $from,
1606
+    $where = '',
1607
+    $groupby = '',
1608
+    $orderby = '',
1609
+    $limit = '',
1610
+    $having = '',
1611
+    $serveur = '',
1612
+    $requeter = true
1613 1613
 ) {
1614 1614
 
1615
-	// version() n'est pas connu de sqlite
1616
-	$select = str_replace('version()', 'sqlite_version()', $select);
1617
-
1618
-	// recomposer from
1619
-	$from = (!is_array($from) ? $from : _sqlite_calculer_select_as($from));
1620
-
1621
-	$query =
1622
-		_sqlite_calculer_expression('SELECT', $select, ', ')
1623
-		. _sqlite_calculer_expression('FROM', $from, ', ')
1624
-		. _sqlite_calculer_expression('WHERE', $where)
1625
-		. _sqlite_calculer_expression('GROUP BY', $groupby, ',')
1626
-		. _sqlite_calculer_expression('HAVING', $having)
1627
-		. ($orderby ? ("\nORDER BY " . _sqlite_calculer_order($orderby)) : '')
1628
-		. ($limit ? "\nLIMIT $limit" : '');
1629
-
1630
-	// dans un select, on doit renvoyer la requête en cas d'erreur
1631
-	$res = spip_sqlite_query($query, $serveur, $requeter);
1632
-	// texte de la requete demande ?
1633
-	if (!$requeter) {
1634
-		return $res;
1635
-	}
1636
-	// erreur survenue ?
1637
-	if ($res === false) {
1638
-		return Sqlite::traduire_requete($query, $serveur);
1639
-	}
1640
-
1641
-	return $res;
1615
+    // version() n'est pas connu de sqlite
1616
+    $select = str_replace('version()', 'sqlite_version()', $select);
1617
+
1618
+    // recomposer from
1619
+    $from = (!is_array($from) ? $from : _sqlite_calculer_select_as($from));
1620
+
1621
+    $query =
1622
+        _sqlite_calculer_expression('SELECT', $select, ', ')
1623
+        . _sqlite_calculer_expression('FROM', $from, ', ')
1624
+        . _sqlite_calculer_expression('WHERE', $where)
1625
+        . _sqlite_calculer_expression('GROUP BY', $groupby, ',')
1626
+        . _sqlite_calculer_expression('HAVING', $having)
1627
+        . ($orderby ? ("\nORDER BY " . _sqlite_calculer_order($orderby)) : '')
1628
+        . ($limit ? "\nLIMIT $limit" : '');
1629
+
1630
+    // dans un select, on doit renvoyer la requête en cas d'erreur
1631
+    $res = spip_sqlite_query($query, $serveur, $requeter);
1632
+    // texte de la requete demande ?
1633
+    if (!$requeter) {
1634
+        return $res;
1635
+    }
1636
+    // erreur survenue ?
1637
+    if ($res === false) {
1638
+        return Sqlite::traduire_requete($query, $serveur);
1639
+    }
1640
+
1641
+    return $res;
1642 1642
 }
1643 1643
 
1644 1644
 
@@ -1658,32 +1658,32 @@  discard block
 block discarded – undo
1658 1658
  **/
1659 1659
 function spip_sqlite_selectdb($db, $serveur = '', $requeter = true)
1660 1660
 {
1661
-	_sqlite_init();
1662
-
1663
-	// interdire la creation d'une nouvelle base,
1664
-	// sauf si on est dans l'installation
1665
-	if (
1666
-		!is_file($f = _DIR_DB . $db . '.sqlite')
1667
-		&& (!defined('_ECRIRE_INSTALL') || !_ECRIRE_INSTALL)
1668
-	) {
1669
-		spip_log("Il est interdit de creer la base $db", 'sqlite.' . _LOG_HS);
1670
-
1671
-		return false;
1672
-	}
1673
-
1674
-	// se connecter a la base indiquee
1675
-	// avec les identifiants connus
1676
-	$index = $serveur ? $serveur : 0;
1677
-
1678
-	if ($link = spip_connect_db('', '', '', '', '@selectdb@' . $db, $serveur, '', '')) {
1679
-		if (($db == $link['db']) && $GLOBALS['connexions'][$index] = $link) {
1680
-			return $db;
1681
-		}
1682
-	} else {
1683
-		spip_log("Impossible de selectionner la base $db", 'sqlite.' . _LOG_HS);
1684
-	}
1685
-
1686
-	return false;
1661
+    _sqlite_init();
1662
+
1663
+    // interdire la creation d'une nouvelle base,
1664
+    // sauf si on est dans l'installation
1665
+    if (
1666
+        !is_file($f = _DIR_DB . $db . '.sqlite')
1667
+        && (!defined('_ECRIRE_INSTALL') || !_ECRIRE_INSTALL)
1668
+    ) {
1669
+        spip_log("Il est interdit de creer la base $db", 'sqlite.' . _LOG_HS);
1670
+
1671
+        return false;
1672
+    }
1673
+
1674
+    // se connecter a la base indiquee
1675
+    // avec les identifiants connus
1676
+    $index = $serveur ? $serveur : 0;
1677
+
1678
+    if ($link = spip_connect_db('', '', '', '', '@selectdb@' . $db, $serveur, '', '')) {
1679
+        if (($db == $link['db']) && $GLOBALS['connexions'][$index] = $link) {
1680
+            return $db;
1681
+        }
1682
+    } else {
1683
+        spip_log("Impossible de selectionner la base $db", 'sqlite.' . _LOG_HS);
1684
+    }
1685
+
1686
+    return false;
1687 1687
 }
1688 1688
 
1689 1689
 
@@ -1699,8 +1699,8 @@  discard block
 block discarded – undo
1699 1699
  */
1700 1700
 function spip_sqlite_set_charset($charset, $serveur = '', $requeter = true)
1701 1701
 {
1702
-	# spip_log("Gestion charset sql a ecrire : "."SET NAMES "._q($charset), 'sqlite.'._LOG_ERREUR);
1703
-	# return spip_sqlite_query("SET NAMES ". spip_sqlite_quote($charset), $serveur); //<-- Passe pas !
1702
+    # spip_log("Gestion charset sql a ecrire : "."SET NAMES "._q($charset), 'sqlite.'._LOG_ERREUR);
1703
+    # return spip_sqlite_query("SET NAMES ". spip_sqlite_quote($charset), $serveur); //<-- Passe pas !
1704 1704
 }
1705 1705
 
1706 1706
 
@@ -1719,24 +1719,24 @@  discard block
 block discarded – undo
1719 1719
  **/
1720 1720
 function spip_sqlite_showbase($match, $serveur = '', $requeter = true)
1721 1721
 {
1722
-	// type est le type d'entrée : table / index / view
1723
-	// on ne retourne que les tables (?) et non les vues...
1724
-	# ESCAPE non supporte par les versions sqlite <3
1725
-	#	return spip_sqlite_query("SELECT name FROM sqlite_master WHERE type='table' AND tbl_name LIKE "._q($match)." ESCAPE '\'", $serveur, $requeter);
1726
-	$match = preg_quote($match);
1727
-	$match = str_replace('\\\_', '[[TIRETBAS]]', $match);
1728
-	$match = str_replace('\\\%', '[[POURCENT]]', $match);
1729
-	$match = str_replace('_', '.', $match);
1730
-	$match = str_replace('%', '.*', $match);
1731
-	$match = str_replace('[[TIRETBAS]]', '_', $match);
1732
-	$match = str_replace('[[POURCENT]]', '%', $match);
1733
-	$match = "^$match$";
1734
-
1735
-	return spip_sqlite_query(
1736
-		"SELECT name FROM sqlite_master WHERE type='table' AND tbl_name REGEXP " . _q($match),
1737
-		$serveur,
1738
-		$requeter
1739
-	);
1722
+    // type est le type d'entrée : table / index / view
1723
+    // on ne retourne que les tables (?) et non les vues...
1724
+    # ESCAPE non supporte par les versions sqlite <3
1725
+    #	return spip_sqlite_query("SELECT name FROM sqlite_master WHERE type='table' AND tbl_name LIKE "._q($match)." ESCAPE '\'", $serveur, $requeter);
1726
+    $match = preg_quote($match);
1727
+    $match = str_replace('\\\_', '[[TIRETBAS]]', $match);
1728
+    $match = str_replace('\\\%', '[[POURCENT]]', $match);
1729
+    $match = str_replace('_', '.', $match);
1730
+    $match = str_replace('%', '.*', $match);
1731
+    $match = str_replace('[[TIRETBAS]]', '_', $match);
1732
+    $match = str_replace('[[POURCENT]]', '%', $match);
1733
+    $match = "^$match$";
1734
+
1735
+    return spip_sqlite_query(
1736
+        "SELECT name FROM sqlite_master WHERE type='table' AND tbl_name REGEXP " . _q($match),
1737
+        $serveur,
1738
+        $requeter
1739
+    );
1740 1740
 }
1741 1741
 
1742 1742
 /**
@@ -1755,19 +1755,19 @@  discard block
 block discarded – undo
1755 1755
  **/
1756 1756
 function spip_sqlite_table_exists(string $table, $serveur = '', $requeter = true)
1757 1757
 {
1758
-	$r = spip_sqlite_query(
1759
-		'SELECT name FROM sqlite_master WHERE'
1760
-			. ' type=\'table\''
1761
-			. ' AND name=' . spip_sqlite_quote($table, 'string')
1762
-			. ' AND name NOT LIKE \'sqlite_%\'',
1763
-		$serveur,
1764
-		$requeter
1765
-	);
1766
-	if (!$requeter) {
1767
-		return $r;
1768
-	}
1769
-	$res = spip_sqlite_fetch($r);
1770
-	return (bool) $res;
1758
+    $r = spip_sqlite_query(
1759
+        'SELECT name FROM sqlite_master WHERE'
1760
+            . ' type=\'table\''
1761
+            . ' AND name=' . spip_sqlite_quote($table, 'string')
1762
+            . ' AND name NOT LIKE \'sqlite_%\'',
1763
+        $serveur,
1764
+        $requeter
1765
+    );
1766
+    if (!$requeter) {
1767
+        return $r;
1768
+    }
1769
+    $res = spip_sqlite_fetch($r);
1770
+    return (bool) $res;
1771 1771
 }
1772 1772
 
1773 1773
 define('_SQLITE_RE_SHOW_TABLE', '/^[^(),]*\(((?:[^()]*\((?:[^()]*\([^()]*\))?[^()]*\)[^()]*)*[^()]*)\)[^()]*$/');
@@ -1791,129 +1791,129 @@  discard block
 block discarded – undo
1791 1791
  */
1792 1792
 function spip_sqlite_showtable($nom_table, $serveur = '', $requeter = true)
1793 1793
 {
1794
-	$query =
1795
-		'SELECT sql, type FROM'
1796
-		. ' (SELECT * FROM sqlite_master UNION ALL'
1797
-		. ' SELECT * FROM sqlite_temp_master)'
1798
-		. " WHERE tbl_name LIKE '$nom_table'"
1799
-		. " AND type!='meta' AND sql NOT NULL AND name NOT LIKE 'sqlite_%'"
1800
-		. ' ORDER BY substr(type,2,1), name';
1801
-
1802
-	$a = spip_sqlite_query($query, $serveur, $requeter);
1803
-	if (!$a) {
1804
-		return '';
1805
-	}
1806
-	if (!$requeter) {
1807
-		return $a;
1808
-	}
1809
-	if (!($a = spip_sqlite_fetch($a, null, $serveur))) {
1810
-		return '';
1811
-	}
1812
-	$vue = ($a['type'] == 'view'); // table | vue
1813
-
1814
-	// c'est une table
1815
-	// il faut parser le create
1816
-	if (!$vue) {
1817
-		if (!preg_match(_SQLITE_RE_SHOW_TABLE, array_shift($a), $r)) {
1818
-			return '';
1819
-		} else {
1820
-			$desc = $r[1];
1821
-			// extraction d'une KEY éventuelle en prenant garde de ne pas
1822
-			// relever un champ dont le nom contient KEY (ex. ID_WHISKEY)
1823
-			if (preg_match('/^(.*?),([^,]*\sKEY[ (].*)$/s', $desc, $r)) {
1824
-				$namedkeys = $r[2];
1825
-				$desc = $r[1];
1826
-			} else {
1827
-				$namedkeys = '';
1828
-			}
1829
-
1830
-			$fields = [];
1831
-			$keys = [];
1832
-
1833
-			// enlever les contenus des valeurs DEFAULT 'xxx' qui pourraient perturber
1834
-			// par exemple s'il contiennent une virgule.
1835
-			// /!\ cela peut aussi echapper le nom des champs si la table a eu des operations avec SQLite Manager !
1836
-			list($desc, $echaps) = query_echappe_textes($desc);
1837
-
1838
-			// separer toutes les descriptions de champs, separes par des virgules
1839
-			# /!\ explode peut exploser aussi DECIMAL(10,2) !
1840
-			$k_precedent = null;
1841
-			foreach (explode(',', $desc) as $v) {
1842
-				preg_match('/^\s*([^\s]+)\s+(.*)/', $v, $r);
1843
-				// Les cles de champs peuvent etre entourees
1844
-				// de guillements doubles " , simples ', graves ` ou de crochets [ ],  ou rien.
1845
-				// http://www.sqlite.org/lang_keywords.html
1846
-				$k = strtolower(query_reinjecte_textes($r[1], $echaps)); // champ, "champ", [champ]...
1847
-				if ($char = strpbrk($k[0], '\'"[`')) {
1848
-					$k = trim($k, $char);
1849
-					if ($char == '[') {
1850
-						$k = rtrim($k, ']');
1851
-					}
1852
-				}
1853
-				$def = query_reinjecte_textes($r[2], $echaps); // valeur du champ
1854
-
1855
-				// rustine pour DECIMAL(10,2)
1856
-				// s'il y a une parenthèse fermante dans la clé
1857
-				// ou dans la définition sans qu'il n'y ait une ouverture avant
1858
-				if (str_contains($k, ')') or preg_match('/^[^\(]*\)/', $def)) {
1859
-					$fields[$k_precedent] .= ',' . $k . ' ' . $def;
1860
-					continue;
1861
-				}
1862
-
1863
-				// la primary key peut etre dans une des descriptions de champs
1864
-				// et non en fin de table, cas encore decouvert avec Sqlite Manager
1865
-				if (stripos($r[2], 'PRIMARY KEY') !== false) {
1866
-					$keys['PRIMARY KEY'] = $k;
1867
-				}
1868
-
1869
-				$fields[$k] = $def;
1870
-				$k_precedent = $k;
1871
-			}
1872
-			// key inclues dans la requete
1873
-			foreach (preg_split('/\)\s*(,|$)/', $namedkeys) as $v) {
1874
-				if (preg_match('/^\s*([^(]*)\(([^(]*(\(\d+\))?)$/', $v, $r)) {
1875
-					$k = str_replace('`', '', trim($r[1]));
1876
-					$t = trim(strtolower(str_replace('`', '', $r[2])), '"');
1877
-					if ($k && !isset($keys[$k])) {
1878
-						$keys[$k] = $t;
1879
-					} else {
1880
-						$keys[] = $t;
1881
-					}
1882
-				}
1883
-			}
1884
-			// sinon ajouter les key index
1885
-			$query =
1886
-				'SELECT name,sql FROM'
1887
-				. ' (SELECT * FROM sqlite_master UNION ALL'
1888
-				. ' SELECT * FROM sqlite_temp_master)'
1889
-				. " WHERE tbl_name LIKE '$nom_table'"
1890
-				. " AND type='index' AND name NOT LIKE 'sqlite_%'"
1891
-				. 'ORDER BY substr(type,2,1), name';
1892
-			$a = spip_sqlite_query($query, $serveur, $requeter);
1893
-			while ($r = spip_sqlite_fetch($a, null, $serveur)) {
1894
-				$key = str_replace($nom_table . '_', '', $r['name']); // enlever le nom de la table ajoute a l'index
1895
-				$keytype = 'KEY';
1896
-				if (strpos($r['sql'], 'UNIQUE INDEX') !== false) {
1897
-					$keytype = 'UNIQUE KEY';
1898
-				}
1899
-				$colonnes = preg_replace(',.*\((.*)\).*,', '$1', $r['sql']);
1900
-				$keys[$keytype . ' ' . $key] = $colonnes;
1901
-			}
1902
-		}
1903
-	} // c'est une vue, on liste les champs disponibles simplement
1904
-	else {
1905
-		if ($res = sql_fetsel('*', $nom_table, '', '', '', '1', '', $serveur)) { // limit 1
1906
-			$fields = [];
1907
-			foreach ($res as $c => $v) {
1908
-				$fields[$c] = '';
1909
-			}
1910
-			$keys = [];
1911
-		} else {
1912
-			return '';
1913
-		}
1914
-	}
1915
-
1916
-	return ['field' => $fields, 'key' => $keys];
1794
+    $query =
1795
+        'SELECT sql, type FROM'
1796
+        . ' (SELECT * FROM sqlite_master UNION ALL'
1797
+        . ' SELECT * FROM sqlite_temp_master)'
1798
+        . " WHERE tbl_name LIKE '$nom_table'"
1799
+        . " AND type!='meta' AND sql NOT NULL AND name NOT LIKE 'sqlite_%'"
1800
+        . ' ORDER BY substr(type,2,1), name';
1801
+
1802
+    $a = spip_sqlite_query($query, $serveur, $requeter);
1803
+    if (!$a) {
1804
+        return '';
1805
+    }
1806
+    if (!$requeter) {
1807
+        return $a;
1808
+    }
1809
+    if (!($a = spip_sqlite_fetch($a, null, $serveur))) {
1810
+        return '';
1811
+    }
1812
+    $vue = ($a['type'] == 'view'); // table | vue
1813
+
1814
+    // c'est une table
1815
+    // il faut parser le create
1816
+    if (!$vue) {
1817
+        if (!preg_match(_SQLITE_RE_SHOW_TABLE, array_shift($a), $r)) {
1818
+            return '';
1819
+        } else {
1820
+            $desc = $r[1];
1821
+            // extraction d'une KEY éventuelle en prenant garde de ne pas
1822
+            // relever un champ dont le nom contient KEY (ex. ID_WHISKEY)
1823
+            if (preg_match('/^(.*?),([^,]*\sKEY[ (].*)$/s', $desc, $r)) {
1824
+                $namedkeys = $r[2];
1825
+                $desc = $r[1];
1826
+            } else {
1827
+                $namedkeys = '';
1828
+            }
1829
+
1830
+            $fields = [];
1831
+            $keys = [];
1832
+
1833
+            // enlever les contenus des valeurs DEFAULT 'xxx' qui pourraient perturber
1834
+            // par exemple s'il contiennent une virgule.
1835
+            // /!\ cela peut aussi echapper le nom des champs si la table a eu des operations avec SQLite Manager !
1836
+            list($desc, $echaps) = query_echappe_textes($desc);
1837
+
1838
+            // separer toutes les descriptions de champs, separes par des virgules
1839
+            # /!\ explode peut exploser aussi DECIMAL(10,2) !
1840
+            $k_precedent = null;
1841
+            foreach (explode(',', $desc) as $v) {
1842
+                preg_match('/^\s*([^\s]+)\s+(.*)/', $v, $r);
1843
+                // Les cles de champs peuvent etre entourees
1844
+                // de guillements doubles " , simples ', graves ` ou de crochets [ ],  ou rien.
1845
+                // http://www.sqlite.org/lang_keywords.html
1846
+                $k = strtolower(query_reinjecte_textes($r[1], $echaps)); // champ, "champ", [champ]...
1847
+                if ($char = strpbrk($k[0], '\'"[`')) {
1848
+                    $k = trim($k, $char);
1849
+                    if ($char == '[') {
1850
+                        $k = rtrim($k, ']');
1851
+                    }
1852
+                }
1853
+                $def = query_reinjecte_textes($r[2], $echaps); // valeur du champ
1854
+
1855
+                // rustine pour DECIMAL(10,2)
1856
+                // s'il y a une parenthèse fermante dans la clé
1857
+                // ou dans la définition sans qu'il n'y ait une ouverture avant
1858
+                if (str_contains($k, ')') or preg_match('/^[^\(]*\)/', $def)) {
1859
+                    $fields[$k_precedent] .= ',' . $k . ' ' . $def;
1860
+                    continue;
1861
+                }
1862
+
1863
+                // la primary key peut etre dans une des descriptions de champs
1864
+                // et non en fin de table, cas encore decouvert avec Sqlite Manager
1865
+                if (stripos($r[2], 'PRIMARY KEY') !== false) {
1866
+                    $keys['PRIMARY KEY'] = $k;
1867
+                }
1868
+
1869
+                $fields[$k] = $def;
1870
+                $k_precedent = $k;
1871
+            }
1872
+            // key inclues dans la requete
1873
+            foreach (preg_split('/\)\s*(,|$)/', $namedkeys) as $v) {
1874
+                if (preg_match('/^\s*([^(]*)\(([^(]*(\(\d+\))?)$/', $v, $r)) {
1875
+                    $k = str_replace('`', '', trim($r[1]));
1876
+                    $t = trim(strtolower(str_replace('`', '', $r[2])), '"');
1877
+                    if ($k && !isset($keys[$k])) {
1878
+                        $keys[$k] = $t;
1879
+                    } else {
1880
+                        $keys[] = $t;
1881
+                    }
1882
+                }
1883
+            }
1884
+            // sinon ajouter les key index
1885
+            $query =
1886
+                'SELECT name,sql FROM'
1887
+                . ' (SELECT * FROM sqlite_master UNION ALL'
1888
+                . ' SELECT * FROM sqlite_temp_master)'
1889
+                . " WHERE tbl_name LIKE '$nom_table'"
1890
+                . " AND type='index' AND name NOT LIKE 'sqlite_%'"
1891
+                . 'ORDER BY substr(type,2,1), name';
1892
+            $a = spip_sqlite_query($query, $serveur, $requeter);
1893
+            while ($r = spip_sqlite_fetch($a, null, $serveur)) {
1894
+                $key = str_replace($nom_table . '_', '', $r['name']); // enlever le nom de la table ajoute a l'index
1895
+                $keytype = 'KEY';
1896
+                if (strpos($r['sql'], 'UNIQUE INDEX') !== false) {
1897
+                    $keytype = 'UNIQUE KEY';
1898
+                }
1899
+                $colonnes = preg_replace(',.*\((.*)\).*,', '$1', $r['sql']);
1900
+                $keys[$keytype . ' ' . $key] = $colonnes;
1901
+            }
1902
+        }
1903
+    } // c'est une vue, on liste les champs disponibles simplement
1904
+    else {
1905
+        if ($res = sql_fetsel('*', $nom_table, '', '', '', '1', '', $serveur)) { // limit 1
1906
+            $fields = [];
1907
+            foreach ($res as $c => $v) {
1908
+                $fields[$c] = '';
1909
+            }
1910
+            $keys = [];
1911
+        } else {
1912
+            return '';
1913
+        }
1914
+    }
1915
+
1916
+    return ['field' => $fields, 'key' => $keys];
1917 1917
 }
1918 1918
 
1919 1919
 
@@ -1940,24 +1940,24 @@  discard block
 block discarded – undo
1940 1940
  */
1941 1941
 function spip_sqlite_update($table, $champs, $where = '', $desc = '', $serveur = '', $requeter = true)
1942 1942
 {
1943
-	// recherche de champs 'timestamp' pour mise a jour auto de ceux-ci
1944
-	$champs = _sqlite_ajouter_champs_timestamp($table, $champs, $desc, $serveur);
1945
-
1946
-	$set = [];
1947
-	foreach ($champs as $champ => $val) {
1948
-		$set[] = $champ . "=$val";
1949
-	}
1950
-	if (!empty($set)) {
1951
-		return spip_sqlite_query(
1952
-			_sqlite_calculer_expression('UPDATE', $table, ',')
1953
-				. _sqlite_calculer_expression('SET', $set, ',')
1954
-				. _sqlite_calculer_expression('WHERE', $where),
1955
-			$serveur,
1956
-			$requeter
1957
-		);
1958
-	}
1959
-
1960
-	return false;
1943
+    // recherche de champs 'timestamp' pour mise a jour auto de ceux-ci
1944
+    $champs = _sqlite_ajouter_champs_timestamp($table, $champs, $desc, $serveur);
1945
+
1946
+    $set = [];
1947
+    foreach ($champs as $champ => $val) {
1948
+        $set[] = $champ . "=$val";
1949
+    }
1950
+    if (!empty($set)) {
1951
+        return spip_sqlite_query(
1952
+            _sqlite_calculer_expression('UPDATE', $table, ',')
1953
+                . _sqlite_calculer_expression('SET', $set, ',')
1954
+                . _sqlite_calculer_expression('WHERE', $where),
1955
+            $serveur,
1956
+            $requeter
1957
+        );
1958
+    }
1959
+
1960
+    return false;
1961 1961
 }
1962 1962
 
1963 1963
 
@@ -1988,38 +1988,38 @@  discard block
 block discarded – undo
1988 1988
 function spip_sqlite_updateq($table, $champs, $where = '', $desc = [], $serveur = '', $requeter = true)
1989 1989
 {
1990 1990
 
1991
-	if (!$champs) {
1992
-		return;
1993
-	}
1994
-	if (!$desc) {
1995
-		$desc = description_table($table, $serveur);
1996
-	}
1997
-	if (!$desc) {
1998
-		die("$table insertion sans description");
1999
-	}
2000
-	$fields = $desc['field'];
2001
-
2002
-	$set = [];
2003
-	foreach ($champs as $champ => $val) {
2004
-		$set[$champ] = $champ . '=' . _sqlite_calculer_cite($val, isset($fields[$champ]) ? $fields[$champ] : '');
2005
-	}
2006
-
2007
-	// recherche de champs 'timestamp' pour mise a jour auto de ceux-ci
2008
-	// attention ils sont deja quotes
2009
-	$maj = _sqlite_ajouter_champs_timestamp($table, [], $desc, $serveur);
2010
-	foreach ($maj as $champ => $val) {
2011
-		if (!isset($set[$champ])) {
2012
-			$set[$champ] = $champ . '=' . $val;
2013
-		}
2014
-	}
2015
-
2016
-	return spip_sqlite_query(
2017
-		_sqlite_calculer_expression('UPDATE', $table, ',')
2018
-			. _sqlite_calculer_expression('SET', $set, ',')
2019
-			. _sqlite_calculer_expression('WHERE', $where),
2020
-		$serveur,
2021
-		$requeter
2022
-	);
1991
+    if (!$champs) {
1992
+        return;
1993
+    }
1994
+    if (!$desc) {
1995
+        $desc = description_table($table, $serveur);
1996
+    }
1997
+    if (!$desc) {
1998
+        die("$table insertion sans description");
1999
+    }
2000
+    $fields = $desc['field'];
2001
+
2002
+    $set = [];
2003
+    foreach ($champs as $champ => $val) {
2004
+        $set[$champ] = $champ . '=' . _sqlite_calculer_cite($val, isset($fields[$champ]) ? $fields[$champ] : '');
2005
+    }
2006
+
2007
+    // recherche de champs 'timestamp' pour mise a jour auto de ceux-ci
2008
+    // attention ils sont deja quotes
2009
+    $maj = _sqlite_ajouter_champs_timestamp($table, [], $desc, $serveur);
2010
+    foreach ($maj as $champ => $val) {
2011
+        if (!isset($set[$champ])) {
2012
+            $set[$champ] = $champ . '=' . $val;
2013
+        }
2014
+    }
2015
+
2016
+    return spip_sqlite_query(
2017
+        _sqlite_calculer_expression('UPDATE', $table, ',')
2018
+            . _sqlite_calculer_expression('SET', $set, ',')
2019
+            . _sqlite_calculer_expression('WHERE', $where),
2020
+        $serveur,
2021
+        $requeter
2022
+    );
2023 2023
 }
2024 2024
 
2025 2025
 
@@ -2038,17 +2038,17 @@  discard block
 block discarded – undo
2038 2038
  */
2039 2039
 function _sqlite_init()
2040 2040
 {
2041
-	if (!defined('_DIR_DB')) {
2042
-		define('_DIR_DB', _DIR_ETC . 'bases/');
2043
-	}
2044
-	if (!defined('_SQLITE_CHMOD')) {
2045
-		define('_SQLITE_CHMOD', _SPIP_CHMOD);
2046
-	}
2047
-
2048
-	if (!is_dir($d = _DIR_DB)) {
2049
-		include_spip('inc/flock');
2050
-		sous_repertoire($d);
2051
-	}
2041
+    if (!defined('_DIR_DB')) {
2042
+        define('_DIR_DB', _DIR_ETC . 'bases/');
2043
+    }
2044
+    if (!defined('_SQLITE_CHMOD')) {
2045
+        define('_SQLITE_CHMOD', _SPIP_CHMOD);
2046
+    }
2047
+
2048
+    if (!is_dir($d = _DIR_DB)) {
2049
+        include_spip('inc/flock');
2050
+        sous_repertoire($d);
2051
+    }
2052 2052
 }
2053 2053
 
2054 2054
 
@@ -2063,20 +2063,20 @@  discard block
 block discarded – undo
2063 2063
  */
2064 2064
 function _sqlite_is_version($version = '', $link = '', $serveur = '', $requeter = true)
2065 2065
 {
2066
-	if ($link === '') {
2067
-		$link = _sqlite_link($serveur);
2068
-	}
2069
-	if (!$link) {
2070
-		return false;
2071
-	}
2066
+    if ($link === '') {
2067
+        $link = _sqlite_link($serveur);
2068
+    }
2069
+    if (!$link) {
2070
+        return false;
2071
+    }
2072 2072
 
2073
-	$v = 3;
2073
+    $v = 3;
2074 2074
 
2075
-	if (!$version) {
2076
-		return $v;
2077
-	}
2075
+    if (!$version) {
2076
+        return $v;
2077
+    }
2078 2078
 
2079
-	return ($version == $v);
2079
+    return ($version == $v);
2080 2080
 }
2081 2081
 
2082 2082
 
@@ -2088,9 +2088,9 @@  discard block
 block discarded – undo
2088 2088
  */
2089 2089
 function _sqlite_link($serveur = '')
2090 2090
 {
2091
-	$link = &$GLOBALS['connexions'][$serveur ? $serveur : 0]['link'];
2091
+    $link = &$GLOBALS['connexions'][$serveur ? $serveur : 0]['link'];
2092 2092
 
2093
-	return $link;
2093
+    return $link;
2094 2094
 }
2095 2095
 
2096 2096
 
@@ -2106,54 +2106,54 @@  discard block
 block discarded – undo
2106 2106
  */
2107 2107
 function _sqlite_calculer_cite($v, $type)
2108 2108
 {
2109
-	if ($type) {
2110
-		if (
2111
-			is_null($v)
2112
-			and stripos($type, 'NOT NULL') === false
2113
-		) {
2114
-			// null php se traduit en NULL SQL
2115
-			return 'NULL';
2116
-		}
2117
-
2118
-		if (sql_test_date($type) and preg_match('/^\w+\(/', $v)) {
2119
-			return $v;
2120
-		}
2121
-		if (sql_test_int($type)) {
2122
-			if (is_numeric($v)) {
2123
-				return $v;
2124
-			} elseif ($v === null) {
2125
-				return 0;
2126
-			} elseif (ctype_xdigit(substr($v, 2)) and strncmp($v, '0x', 2) === 0) {
2127
-				return hexdec(substr($v, 2));
2128
-			} else {
2129
-				return intval($v);
2130
-			}
2131
-		}
2132
-	} else {
2133
-		// si on ne connait pas le type on le deduit de $v autant que possible
2134
-		if (is_bool($v)) {
2135
-			return strval(intval($v));
2136
-		} elseif (is_numeric($v)) {
2137
-			return strval($v);
2138
-		}
2139
-	}
2140
-
2141
-	// trouver un link sqlite pour faire l'echappement
2142
-	foreach ($GLOBALS['connexions'] as $s) {
2143
-		if (
2144
-			$l = $s['link']
2145
-			and is_object($l)
2146
-			and $l instanceof \PDO
2147
-			and $l->getAttribute(\PDO::ATTR_DRIVER_NAME) === 'sqlite'
2148
-		) {
2149
-			return $l->quote($v ?? '');
2150
-		}
2151
-	}
2152
-
2153
-	// echapper les ' en ''
2154
-	spip_log('Pas de methode ->quote pour echapper', 'sqlite.' . _LOG_INFO_IMPORTANTE);
2155
-
2156
-	return ("'" . str_replace("'", "''", $v) . "'");
2109
+    if ($type) {
2110
+        if (
2111
+            is_null($v)
2112
+            and stripos($type, 'NOT NULL') === false
2113
+        ) {
2114
+            // null php se traduit en NULL SQL
2115
+            return 'NULL';
2116
+        }
2117
+
2118
+        if (sql_test_date($type) and preg_match('/^\w+\(/', $v)) {
2119
+            return $v;
2120
+        }
2121
+        if (sql_test_int($type)) {
2122
+            if (is_numeric($v)) {
2123
+                return $v;
2124
+            } elseif ($v === null) {
2125
+                return 0;
2126
+            } elseif (ctype_xdigit(substr($v, 2)) and strncmp($v, '0x', 2) === 0) {
2127
+                return hexdec(substr($v, 2));
2128
+            } else {
2129
+                return intval($v);
2130
+            }
2131
+        }
2132
+    } else {
2133
+        // si on ne connait pas le type on le deduit de $v autant que possible
2134
+        if (is_bool($v)) {
2135
+            return strval(intval($v));
2136
+        } elseif (is_numeric($v)) {
2137
+            return strval($v);
2138
+        }
2139
+    }
2140
+
2141
+    // trouver un link sqlite pour faire l'echappement
2142
+    foreach ($GLOBALS['connexions'] as $s) {
2143
+        if (
2144
+            $l = $s['link']
2145
+            and is_object($l)
2146
+            and $l instanceof \PDO
2147
+            and $l->getAttribute(\PDO::ATTR_DRIVER_NAME) === 'sqlite'
2148
+        ) {
2149
+            return $l->quote($v ?? '');
2150
+        }
2151
+    }
2152
+
2153
+    // echapper les ' en ''
2154
+    spip_log('Pas de methode ->quote pour echapper', 'sqlite.' . _LOG_INFO_IMPORTANTE);
2155
+
2156
+    return ("'" . str_replace("'", "''", $v) . "'");
2157 2157
 }
2158 2158
 
2159 2159
 
@@ -2170,21 +2170,21 @@  discard block
 block discarded – undo
2170 2170
  */
2171 2171
 function _sqlite_calculer_expression($expression, $v, $join = 'AND')
2172 2172
 {
2173
-	if (empty($v)) {
2174
-		return '';
2175
-	}
2176
-
2177
-	$exp = "\n$expression ";
2178
-
2179
-	if (!is_array($v)) {
2180
-		return $exp . $v;
2181
-	} else {
2182
-		if (strtoupper($join) === 'AND') {
2183
-			return $exp . join("\n\t$join ", array_map('_sqlite_calculer_where', $v));
2184
-		} else {
2185
-			return $exp . join($join, $v);
2186
-		}
2187
-	}
2173
+    if (empty($v)) {
2174
+        return '';
2175
+    }
2176
+
2177
+    $exp = "\n$expression ";
2178
+
2179
+    if (!is_array($v)) {
2180
+        return $exp . $v;
2181
+    } else {
2182
+        if (strtoupper($join) === 'AND') {
2183
+            return $exp . join("\n\t$join ", array_map('_sqlite_calculer_where', $v));
2184
+        } else {
2185
+            return $exp . join($join, $v);
2186
+        }
2187
+    }
2188 2188
 }
2189 2189
 
2190 2190
 
@@ -2201,7 +2201,7 @@  discard block
 block discarded – undo
2201 2201
  */
2202 2202
 function _sqlite_calculer_order($orderby)
2203 2203
 {
2204
-	return (is_array($orderby)) ? join(', ', $orderby) : $orderby;
2204
+    return (is_array($orderby)) ? join(', ', $orderby) : $orderby;
2205 2205
 }
2206 2206
 
2207 2207
 
@@ -2213,26 +2213,26 @@  discard block
 block discarded – undo
2213 2213
  */
2214 2214
 function _sqlite_calculer_select_as($args)
2215 2215
 {
2216
-	$res = '';
2217
-	foreach ($args as $k => $v) {
2218
-		if (substr($k, -1) == '@') {
2219
-			// c'est une jointure qui se refere au from precedent
2220
-			// pas de virgule
2221
-			$res .= '  ' . $v;
2222
-		} else {
2223
-			if (!is_numeric($k)) {
2224
-				$p = strpos($v, ' ');
2225
-				if ($p) {
2226
-					$v = substr($v, 0, $p) . " AS '$k'" . substr($v, $p);
2227
-				} else {
2228
-					$v .= " AS '$k'";
2229
-				}
2230
-			}
2231
-			$res .= ', ' . $v;
2232
-		}
2233
-	}
2234
-
2235
-	return substr($res, 2);
2216
+    $res = '';
2217
+    foreach ($args as $k => $v) {
2218
+        if (substr($k, -1) == '@') {
2219
+            // c'est une jointure qui se refere au from precedent
2220
+            // pas de virgule
2221
+            $res .= '  ' . $v;
2222
+        } else {
2223
+            if (!is_numeric($k)) {
2224
+                $p = strpos($v, ' ');
2225
+                if ($p) {
2226
+                    $v = substr($v, 0, $p) . " AS '$k'" . substr($v, $p);
2227
+                } else {
2228
+                    $v .= " AS '$k'";
2229
+                }
2230
+            }
2231
+            $res .= ', ' . $v;
2232
+        }
2233
+    }
2234
+
2235
+    return substr($res, 2);
2236 2236
 }
2237 2237
 
2238 2238
 
@@ -2256,26 +2256,26 @@  discard block
 block discarded – undo
2256 2256
  */
2257 2257
 function _sqlite_calculer_where($v)
2258 2258
 {
2259
-	if (!is_array($v)) {
2260
-		return $v;
2261
-	}
2262
-
2263
-	$op = array_shift($v);
2264
-	if (!($n = count($v))) {
2265
-		return $op;
2266
-	} else {
2267
-		$arg = _sqlite_calculer_where(array_shift($v));
2268
-		if ($n == 1) {
2269
-			return "$op($arg)";
2270
-		} else {
2271
-			$arg2 = _sqlite_calculer_where(array_shift($v));
2272
-			if ($n == 2) {
2273
-				return "($arg $op $arg2)";
2274
-			} else {
2275
-				return "($arg $op ($arg2) : $v[0])";
2276
-			}
2277
-		}
2278
-	}
2259
+    if (!is_array($v)) {
2260
+        return $v;
2261
+    }
2262
+
2263
+    $op = array_shift($v);
2264
+    if (!($n = count($v))) {
2265
+        return $op;
2266
+    } else {
2267
+        $arg = _sqlite_calculer_where(array_shift($v));
2268
+        if ($n == 1) {
2269
+            return "$op($arg)";
2270
+        } else {
2271
+            $arg2 = _sqlite_calculer_where(array_shift($v));
2272
+            if ($n == 2) {
2273
+                return "($arg $op $arg2)";
2274
+            } else {
2275
+                return "($arg $op ($arg2) : $v[0])";
2276
+            }
2277
+        }
2278
+    }
2279 2279
 }
2280 2280
 
2281 2281
 
@@ -2291,19 +2291,19 @@  discard block
 block discarded – undo
2291 2291
  */
2292 2292
 function _sqlite_charger_version($version = '')
2293 2293
 {
2294
-	$versions = [];
2295
-
2296
-	// version 3
2297
-	if (!$version || $version == 3) {
2298
-		if (extension_loaded('pdo') && extension_loaded('pdo_sqlite')) {
2299
-			$versions[] = 3;
2300
-		}
2301
-	}
2302
-	if ($version) {
2303
-		return in_array($version, $versions);
2304
-	}
2305
-
2306
-	return $versions;
2294
+    $versions = [];
2295
+
2296
+    // version 3
2297
+    if (!$version || $version == 3) {
2298
+        if (extension_loaded('pdo') && extension_loaded('pdo_sqlite')) {
2299
+            $versions[] = 3;
2300
+        }
2301
+    }
2302
+    if ($version) {
2303
+        return in_array($version, $versions);
2304
+    }
2305
+
2306
+    return $versions;
2307 2307
 }
2308 2308
 
2309 2309
 
@@ -2342,147 +2342,147 @@  discard block
 block discarded – undo
2342 2342
 function _sqlite_modifier_table($table, $colonne, $opt = [], $serveur = '')
2343 2343
 {
2344 2344
 
2345
-	if (is_array($table)) {
2346
-		$table_destination = reset($table);
2347
-		$table_origine = key($table);
2348
-	} else {
2349
-		$table_origine = $table_destination = $table;
2350
-	}
2351
-	// ne prend actuellement qu'un changement
2352
-	// mais pourra etre adapte pour changer plus qu'une colonne a la fois
2353
-	if (is_array($colonne)) {
2354
-		$colonne_destination = reset($colonne);
2355
-		$colonne_origine = key($colonne);
2356
-	} else {
2357
-		$colonne_origine = $colonne_destination = $colonne;
2358
-	}
2359
-	if (!isset($opt['field'])) {
2360
-		$opt['field'] = [];
2361
-	}
2362
-	if (!isset($opt['key'])) {
2363
-		$opt['key'] = [];
2364
-	}
2365
-
2366
-	// si les noms de tables sont differents, pas besoin de table temporaire
2367
-	// on prendra directement le nom de la future table
2368
-	$meme_table = ($table_origine == $table_destination);
2369
-
2370
-	$def_origine = sql_showtable($table_origine, false, $serveur);
2371
-	if (!$def_origine or !isset($def_origine['field'])) {
2372
-		spip_log("Alter table impossible sur $table_origine : table non trouvee", 'sqlite' . _LOG_ERREUR);
2373
-
2374
-		return false;
2375
-	}
2376
-
2377
-
2378
-	$table_tmp = $table_origine . '_tmp';
2379
-
2380
-	// 1) creer une table temporaire avec les modifications
2381
-	// - DROP : suppression de la colonne
2382
-	// - CHANGE : modification de la colonne
2383
-	// (foreach pour conserver l'ordre des champs)
2384
-
2385
-	// field
2386
-	$fields = [];
2387
-	// pour le INSERT INTO plus loin
2388
-	// stocker la correspondance nouvelles->anciennes colonnes
2389
-	$fields_correspondances = [];
2390
-	foreach ($def_origine['field'] as $c => $d) {
2391
-		if ($colonne_origine && ($c == $colonne_origine)) {
2392
-			// si pas DROP
2393
-			if ($colonne_destination) {
2394
-				$fields[$colonne_destination] = $opt['field'][$colonne_destination];
2395
-				$fields_correspondances[$colonne_destination] = $c;
2396
-			}
2397
-		} else {
2398
-			$fields[$c] = $d;
2399
-			$fields_correspondances[$c] = $c;
2400
-		}
2401
-	}
2402
-	// cas de ADD sqlite2 (ajout du champ en fin de table):
2403
-	if (!$colonne_origine && $colonne_destination) {
2404
-		$fields[$colonne_destination] = $opt['field'][$colonne_destination];
2405
-	}
2406
-
2407
-	// key...
2408
-	$keys = [];
2409
-	foreach ($def_origine['key'] as $c => $d) {
2410
-		$c = str_replace($colonne_origine, $colonne_destination, $c);
2411
-		$d = str_replace($colonne_origine, $colonne_destination, $d);
2412
-		// seulement si on ne supprime pas la colonne !
2413
-		if ($d) {
2414
-			$keys[$c] = $d;
2415
-		}
2416
-	}
2417
-
2418
-	// autres keys, on merge
2419
-	$keys = array_merge($keys, $opt['key']);
2420
-	$queries = [];
2421
-
2422
-	// copier dans destination (si differente de origine), sinon tmp
2423
-	$table_copie = ($meme_table) ? $table_tmp : $table_destination;
2424
-	$autoinc = (isset($keys['PRIMARY KEY'])
2425
-		and $keys['PRIMARY KEY']
2426
-		and stripos($keys['PRIMARY KEY'], ',') === false
2427
-		and stripos($fields[$keys['PRIMARY KEY']], 'default') === false);
2428
-
2429
-	if (
2430
-		$q = _sqlite_requete_create(
2431
-			$table_copie,
2432
-			$fields,
2433
-			$keys,
2434
-			$autoinc,
2435
-			$temporary = false,
2436
-			$ifnotexists = true,
2437
-			$serveur
2438
-		)
2439
-	) {
2440
-		$queries[] = $q;
2441
-	}
2442
-
2443
-
2444
-	// 2) y copier les champs qui vont bien
2445
-	$champs_dest = join(', ', array_keys($fields_correspondances));
2446
-	$champs_ori = join(', ', $fields_correspondances);
2447
-	$queries[] = "INSERT INTO $table_copie ($champs_dest) SELECT $champs_ori FROM $table_origine";
2448
-
2449
-	// 3) supprimer la table d'origine
2450
-	$queries[] = "DROP TABLE $table_origine";
2451
-
2452
-	// 4) renommer la table temporaire
2453
-	// avec le nom de la table destination
2454
-	// si necessaire
2455
-	if ($meme_table) {
2456
-		$queries[] = "ALTER TABLE $table_copie RENAME TO $table_destination";
2457
-	}
2458
-
2459
-	// 5) remettre les index !
2460
-	foreach ($keys as $k => $v) {
2461
-		if ($k == 'PRIMARY KEY') {
2462
-		} else {
2463
-			// enlever KEY
2464
-			$k = substr($k, 4);
2465
-			$queries[] = "CREATE INDEX $table_destination" . "_$k ON $table_destination ($v)";
2466
-		}
2467
-	}
2468
-
2469
-
2470
-	if (count($queries)) {
2471
-		Sqlite::demarrer_transaction($serveur);
2472
-		// il faut les faire une par une car $query = join('; ', $queries).";"; ne fonctionne pas
2473
-		foreach ($queries as $q) {
2474
-			if (!Sqlite::executer_requete($q, $serveur)) {
2475
-				spip_log('SQLite : ALTER TABLE table :'
2476
-					. " Erreur a l'execution de la requete : $q", 'sqlite.' . _LOG_ERREUR);
2477
-				Sqlite::annuler_transaction($serveur);
2478
-
2479
-				return false;
2480
-			}
2481
-		}
2482
-		Sqlite::finir_transaction($serveur);
2483
-	}
2484
-
2485
-	return true;
2345
+    if (is_array($table)) {
2346
+        $table_destination = reset($table);
2347
+        $table_origine = key($table);
2348
+    } else {
2349
+        $table_origine = $table_destination = $table;
2350
+    }
2351
+    // ne prend actuellement qu'un changement
2352
+    // mais pourra etre adapte pour changer plus qu'une colonne a la fois
2353
+    if (is_array($colonne)) {
2354
+        $colonne_destination = reset($colonne);
2355
+        $colonne_origine = key($colonne);
2356
+    } else {
2357
+        $colonne_origine = $colonne_destination = $colonne;
2358
+    }
2359
+    if (!isset($opt['field'])) {
2360
+        $opt['field'] = [];
2361
+    }
2362
+    if (!isset($opt['key'])) {
2363
+        $opt['key'] = [];
2364
+    }
2365
+
2366
+    // si les noms de tables sont differents, pas besoin de table temporaire
2367
+    // on prendra directement le nom de la future table
2368
+    $meme_table = ($table_origine == $table_destination);
2369
+
2370
+    $def_origine = sql_showtable($table_origine, false, $serveur);
2371
+    if (!$def_origine or !isset($def_origine['field'])) {
2372
+        spip_log("Alter table impossible sur $table_origine : table non trouvee", 'sqlite' . _LOG_ERREUR);
2373
+
2374
+        return false;
2375
+    }
2376
+
2377
+
2378
+    $table_tmp = $table_origine . '_tmp';
2379
+
2380
+    // 1) creer une table temporaire avec les modifications
2381
+    // - DROP : suppression de la colonne
2382
+    // - CHANGE : modification de la colonne
2383
+    // (foreach pour conserver l'ordre des champs)
2384
+
2385
+    // field
2386
+    $fields = [];
2387
+    // pour le INSERT INTO plus loin
2388
+    // stocker la correspondance nouvelles->anciennes colonnes
2389
+    $fields_correspondances = [];
2390
+    foreach ($def_origine['field'] as $c => $d) {
2391
+        if ($colonne_origine && ($c == $colonne_origine)) {
2392
+            // si pas DROP
2393
+            if ($colonne_destination) {
2394
+                $fields[$colonne_destination] = $opt['field'][$colonne_destination];
2395
+                $fields_correspondances[$colonne_destination] = $c;
2396
+            }
2397
+        } else {
2398
+            $fields[$c] = $d;
2399
+            $fields_correspondances[$c] = $c;
2400
+        }
2401
+    }
2402
+    // cas de ADD sqlite2 (ajout du champ en fin de table):
2403
+    if (!$colonne_origine && $colonne_destination) {
2404
+        $fields[$colonne_destination] = $opt['field'][$colonne_destination];
2405
+    }
2406
+
2407
+    // key...
2408
+    $keys = [];
2409
+    foreach ($def_origine['key'] as $c => $d) {
2410
+        $c = str_replace($colonne_origine, $colonne_destination, $c);
2411
+        $d = str_replace($colonne_origine, $colonne_destination, $d);
2412
+        // seulement si on ne supprime pas la colonne !
2413
+        if ($d) {
2414
+            $keys[$c] = $d;
2415
+        }
2416
+    }
2417
+
2418
+    // autres keys, on merge
2419
+    $keys = array_merge($keys, $opt['key']);
2420
+    $queries = [];
2421
+
2422
+    // copier dans destination (si differente de origine), sinon tmp
2423
+    $table_copie = ($meme_table) ? $table_tmp : $table_destination;
2424
+    $autoinc = (isset($keys['PRIMARY KEY'])
2425
+        and $keys['PRIMARY KEY']
2426
+        and stripos($keys['PRIMARY KEY'], ',') === false
2427
+        and stripos($fields[$keys['PRIMARY KEY']], 'default') === false);
2428
+
2429
+    if (
2430
+        $q = _sqlite_requete_create(
2431
+            $table_copie,
2432
+            $fields,
2433
+            $keys,
2434
+            $autoinc,
2435
+            $temporary = false,
2436
+            $ifnotexists = true,
2437
+            $serveur
2438
+        )
2439
+    ) {
2440
+        $queries[] = $q;
2441
+    }
2442
+
2443
+
2444
+    // 2) y copier les champs qui vont bien
2445
+    $champs_dest = join(', ', array_keys($fields_correspondances));
2446
+    $champs_ori = join(', ', $fields_correspondances);
2447
+    $queries[] = "INSERT INTO $table_copie ($champs_dest) SELECT $champs_ori FROM $table_origine";
2448
+
2449
+    // 3) supprimer la table d'origine
2450
+    $queries[] = "DROP TABLE $table_origine";
2451
+
2452
+    // 4) renommer la table temporaire
2453
+    // avec le nom de la table destination
2454
+    // si necessaire
2455
+    if ($meme_table) {
2456
+        $queries[] = "ALTER TABLE $table_copie RENAME TO $table_destination";
2457
+    }
2458
+
2459
+    // 5) remettre les index !
2460
+    foreach ($keys as $k => $v) {
2461
+        if ($k == 'PRIMARY KEY') {
2462
+        } else {
2463
+            // enlever KEY
2464
+            $k = substr($k, 4);
2465
+            $queries[] = "CREATE INDEX $table_destination" . "_$k ON $table_destination ($v)";
2466
+        }
2467
+    }
2468
+
2469
+
2470
+    if (count($queries)) {
2471
+        Sqlite::demarrer_transaction($serveur);
2472
+        // il faut les faire une par une car $query = join('; ', $queries).";"; ne fonctionne pas
2473
+        foreach ($queries as $q) {
2474
+            if (!Sqlite::executer_requete($q, $serveur)) {
2475
+                spip_log('SQLite : ALTER TABLE table :'
2476
+                    . " Erreur a l'execution de la requete : $q", 'sqlite.' . _LOG_ERREUR);
2477
+                Sqlite::annuler_transaction($serveur);
2478
+
2479
+                return false;
2480
+            }
2481
+        }
2482
+        Sqlite::finir_transaction($serveur);
2483
+    }
2484
+
2485
+    return true;
2486 2486
 }
2487 2487
 
2488 2488
 
@@ -2493,61 +2493,61 @@  discard block
 block discarded – undo
2493 2493
  */
2494 2494
 function _sqlite_ref_fonctions()
2495 2495
 {
2496
-	$fonctions = [
2497
-		'alter' => 'spip_sqlite_alter',
2498
-		'count' => 'spip_sqlite_count',
2499
-		'countsel' => 'spip_sqlite_countsel',
2500
-		'create' => 'spip_sqlite_create',
2501
-		'create_base' => 'spip_sqlite_create_base',
2502
-		'create_view' => 'spip_sqlite_create_view',
2503
-		'date_proche' => 'spip_sqlite_date_proche',
2504
-		'delete' => 'spip_sqlite_delete',
2505
-		'drop_table' => 'spip_sqlite_drop_table',
2506
-		'drop_view' => 'spip_sqlite_drop_view',
2507
-		'errno' => 'spip_sqlite_errno',
2508
-		'error' => 'spip_sqlite_error',
2509
-		'explain' => 'spip_sqlite_explain',
2510
-		'fetch' => 'spip_sqlite_fetch',
2511
-		'seek' => 'spip_sqlite_seek',
2512
-		'free' => 'spip_sqlite_free',
2513
-		'hex' => 'spip_sqlite_hex',
2514
-		'in' => 'spip_sqlite_in',
2515
-		'insert' => 'spip_sqlite_insert',
2516
-		'insertq' => 'spip_sqlite_insertq',
2517
-		'insertq_multi' => 'spip_sqlite_insertq_multi',
2518
-		'listdbs' => 'spip_sqlite_listdbs',
2519
-		'multi' => 'spip_sqlite_multi',
2520
-		'optimize' => 'spip_sqlite_optimize',
2521
-		'query' => 'spip_sqlite_query',
2522
-		'quote' => 'spip_sqlite_quote',
2523
-		'repair' => 'spip_sqlite_repair',
2524
-		'replace' => 'spip_sqlite_replace',
2525
-		'replace_multi' => 'spip_sqlite_replace_multi',
2526
-		'select' => 'spip_sqlite_select',
2527
-		'selectdb' => 'spip_sqlite_selectdb',
2528
-		'set_charset' => 'spip_sqlite_set_charset',
2529
-		'get_charset' => 'spip_sqlite_get_charset',
2530
-		'showbase' => 'spip_sqlite_showbase',
2531
-		'showtable' => 'spip_sqlite_showtable',
2532
-		'table_exists' => 'spip_sqlite_table_exists',
2533
-		'update' => 'spip_sqlite_update',
2534
-		'updateq' => 'spip_sqlite_updateq',
2535
-		'preferer_transaction' => 'spip_sqlite_preferer_transaction',
2536
-		'demarrer_transaction' => 'spip_sqlite_demarrer_transaction',
2537
-		'terminer_transaction' => 'spip_sqlite_terminer_transaction',
2538
-	];
2539
-
2540
-	// association de chaque nom http d'un charset aux couples sqlite
2541
-	// SQLite supporte utf-8 et utf-16 uniquement.
2542
-	$charsets = [
2543
-		'utf-8' => ['charset' => 'utf8', 'collation' => 'utf8_general_ci'],
2544
-		//'utf-16be'=>array('charset'=>'utf16be','collation'=>'UTF-16BE'),// aucune idee de quoi il faut remplir dans es champs la
2545
-		//'utf-16le'=>array('charset'=>'utf16le','collation'=>'UTF-16LE')
2546
-	];
2547
-
2548
-	$fonctions['charsets'] = $charsets;
2549
-
2550
-	return $fonctions;
2496
+    $fonctions = [
2497
+        'alter' => 'spip_sqlite_alter',
2498
+        'count' => 'spip_sqlite_count',
2499
+        'countsel' => 'spip_sqlite_countsel',
2500
+        'create' => 'spip_sqlite_create',
2501
+        'create_base' => 'spip_sqlite_create_base',
2502
+        'create_view' => 'spip_sqlite_create_view',
2503
+        'date_proche' => 'spip_sqlite_date_proche',
2504
+        'delete' => 'spip_sqlite_delete',
2505
+        'drop_table' => 'spip_sqlite_drop_table',
2506
+        'drop_view' => 'spip_sqlite_drop_view',
2507
+        'errno' => 'spip_sqlite_errno',
2508
+        'error' => 'spip_sqlite_error',
2509
+        'explain' => 'spip_sqlite_explain',
2510
+        'fetch' => 'spip_sqlite_fetch',
2511
+        'seek' => 'spip_sqlite_seek',
2512
+        'free' => 'spip_sqlite_free',
2513
+        'hex' => 'spip_sqlite_hex',
2514
+        'in' => 'spip_sqlite_in',
2515
+        'insert' => 'spip_sqlite_insert',
2516
+        'insertq' => 'spip_sqlite_insertq',
2517
+        'insertq_multi' => 'spip_sqlite_insertq_multi',
2518
+        'listdbs' => 'spip_sqlite_listdbs',
2519
+        'multi' => 'spip_sqlite_multi',
2520
+        'optimize' => 'spip_sqlite_optimize',
2521
+        'query' => 'spip_sqlite_query',
2522
+        'quote' => 'spip_sqlite_quote',
2523
+        'repair' => 'spip_sqlite_repair',
2524
+        'replace' => 'spip_sqlite_replace',
2525
+        'replace_multi' => 'spip_sqlite_replace_multi',
2526
+        'select' => 'spip_sqlite_select',
2527
+        'selectdb' => 'spip_sqlite_selectdb',
2528
+        'set_charset' => 'spip_sqlite_set_charset',
2529
+        'get_charset' => 'spip_sqlite_get_charset',
2530
+        'showbase' => 'spip_sqlite_showbase',
2531
+        'showtable' => 'spip_sqlite_showtable',
2532
+        'table_exists' => 'spip_sqlite_table_exists',
2533
+        'update' => 'spip_sqlite_update',
2534
+        'updateq' => 'spip_sqlite_updateq',
2535
+        'preferer_transaction' => 'spip_sqlite_preferer_transaction',
2536
+        'demarrer_transaction' => 'spip_sqlite_demarrer_transaction',
2537
+        'terminer_transaction' => 'spip_sqlite_terminer_transaction',
2538
+    ];
2539
+
2540
+    // association de chaque nom http d'un charset aux couples sqlite
2541
+    // SQLite supporte utf-8 et utf-16 uniquement.
2542
+    $charsets = [
2543
+        'utf-8' => ['charset' => 'utf8', 'collation' => 'utf8_general_ci'],
2544
+        //'utf-16be'=>array('charset'=>'utf16be','collation'=>'UTF-16BE'),// aucune idee de quoi il faut remplir dans es champs la
2545
+        //'utf-16le'=>array('charset'=>'utf16le','collation'=>'UTF-16LE')
2546
+    ];
2547
+
2548
+    $fonctions['charsets'] = $charsets;
2549
+
2550
+    return $fonctions;
2551 2551
 }
2552 2552
 
2553 2553
 
@@ -2560,56 +2560,56 @@  discard block
 block discarded – undo
2560 2560
  */
2561 2561
 function _sqlite_remplacements_definitions_table($query, $autoinc = false)
2562 2562
 {
2563
-	// quelques remplacements
2564
-	$num = '(\s*\([0-9]*\))?';
2565
-	$enum = '(\s*\([^\)]*\))?';
2566
-
2567
-	$remplace = [
2568
-		'/enum' . $enum . '/is' => 'VARCHAR(255)',
2569
-		'/COLLATE \w+_bin/is' => 'COLLATE BINARY',
2570
-		'/COLLATE \w+_ci/is' => 'COLLATE NOCASE',
2571
-		'/auto_increment/is' => '',
2572
-		'/current_timestamp\(\)/is' => 'CURRENT_TIMESTAMP', // Fix export depuis mariaDB #4374
2573
-		'/(timestamp .* )ON .*$/is' => '\\1',
2574
-		'/character set \w+/is' => '',
2575
-		'/((big|small|medium|tiny)?int(eger)?)' . $num . '\s*unsigned/is' => '\\1 UNSIGNED',
2576
-		'/(text\s+not\s+null(\s+collate\s+\w+)?)\s*$/is' => "\\1 DEFAULT ''",
2577
-		'/((char|varchar)' . $num . '\s+not\s+null(\s+collate\s+\w+)?)\s*$/is' => "\\1 DEFAULT ''",
2578
-		'/(datetime\s+not\s+null)\s*$/is' => "\\1 DEFAULT '0000-00-00 00:00:00'",
2579
-		'/(date\s+not\s+null)\s*$/is' => "\\1 DEFAULT '0000-00-00'",
2580
-	];
2581
-
2582
-	// pour l'autoincrement, il faut des INTEGER NOT NULL PRIMARY KEY
2583
-	$remplace_autocinc = [
2584
-		'/(big|small|medium|tiny)?int(eger)?' . $num . '/is' => 'INTEGER'
2585
-	];
2586
-	// pour les int non autoincrement, il faut un DEFAULT
2587
-	$remplace_nonautocinc = [
2588
-		'/((big|small|medium|tiny)?int(eger)?' . $num . '\s+not\s+null)\s*$/is' => "\\1 DEFAULT 0",
2589
-	];
2590
-
2591
-	if (is_string($query)) {
2592
-		$query = preg_replace(array_keys($remplace), $remplace, $query);
2593
-		if ($autoinc or preg_match(',AUTO_INCREMENT,is', $query)) {
2594
-			$query = preg_replace(array_keys($remplace_autocinc), $remplace_autocinc, $query);
2595
-		} else {
2596
-			$query = preg_replace(array_keys($remplace_nonautocinc), $remplace_nonautocinc, $query);
2597
-			$query = _sqlite_collate_ci($query);
2598
-		}
2599
-	} elseif (is_array($query)) {
2600
-		foreach ($query as $k => $q) {
2601
-			$ai = ($autoinc ? $k == $autoinc : preg_match(',AUTO_INCREMENT,is', $q));
2602
-			$query[$k] = preg_replace(array_keys($remplace), $remplace, $query[$k]);
2603
-			if ($ai) {
2604
-				$query[$k] = preg_replace(array_keys($remplace_autocinc), $remplace_autocinc, $query[$k]);
2605
-			} else {
2606
-				$query[$k] = preg_replace(array_keys($remplace_nonautocinc), $remplace_nonautocinc, $query[$k]);
2607
-				$query[$k] = _sqlite_collate_ci($query[$k]);
2608
-			}
2609
-		}
2610
-	}
2611
-
2612
-	return $query;
2563
+    // quelques remplacements
2564
+    $num = '(\s*\([0-9]*\))?';
2565
+    $enum = '(\s*\([^\)]*\))?';
2566
+
2567
+    $remplace = [
2568
+        '/enum' . $enum . '/is' => 'VARCHAR(255)',
2569
+        '/COLLATE \w+_bin/is' => 'COLLATE BINARY',
2570
+        '/COLLATE \w+_ci/is' => 'COLLATE NOCASE',
2571
+        '/auto_increment/is' => '',
2572
+        '/current_timestamp\(\)/is' => 'CURRENT_TIMESTAMP', // Fix export depuis mariaDB #4374
2573
+        '/(timestamp .* )ON .*$/is' => '\\1',
2574
+        '/character set \w+/is' => '',
2575
+        '/((big|small|medium|tiny)?int(eger)?)' . $num . '\s*unsigned/is' => '\\1 UNSIGNED',
2576
+        '/(text\s+not\s+null(\s+collate\s+\w+)?)\s*$/is' => "\\1 DEFAULT ''",
2577
+        '/((char|varchar)' . $num . '\s+not\s+null(\s+collate\s+\w+)?)\s*$/is' => "\\1 DEFAULT ''",
2578
+        '/(datetime\s+not\s+null)\s*$/is' => "\\1 DEFAULT '0000-00-00 00:00:00'",
2579
+        '/(date\s+not\s+null)\s*$/is' => "\\1 DEFAULT '0000-00-00'",
2580
+    ];
2581
+
2582
+    // pour l'autoincrement, il faut des INTEGER NOT NULL PRIMARY KEY
2583
+    $remplace_autocinc = [
2584
+        '/(big|small|medium|tiny)?int(eger)?' . $num . '/is' => 'INTEGER'
2585
+    ];
2586
+    // pour les int non autoincrement, il faut un DEFAULT
2587
+    $remplace_nonautocinc = [
2588
+        '/((big|small|medium|tiny)?int(eger)?' . $num . '\s+not\s+null)\s*$/is' => "\\1 DEFAULT 0",
2589
+    ];
2590
+
2591
+    if (is_string($query)) {
2592
+        $query = preg_replace(array_keys($remplace), $remplace, $query);
2593
+        if ($autoinc or preg_match(',AUTO_INCREMENT,is', $query)) {
2594
+            $query = preg_replace(array_keys($remplace_autocinc), $remplace_autocinc, $query);
2595
+        } else {
2596
+            $query = preg_replace(array_keys($remplace_nonautocinc), $remplace_nonautocinc, $query);
2597
+            $query = _sqlite_collate_ci($query);
2598
+        }
2599
+    } elseif (is_array($query)) {
2600
+        foreach ($query as $k => $q) {
2601
+            $ai = ($autoinc ? $k == $autoinc : preg_match(',AUTO_INCREMENT,is', $q));
2602
+            $query[$k] = preg_replace(array_keys($remplace), $remplace, $query[$k]);
2603
+            if ($ai) {
2604
+                $query[$k] = preg_replace(array_keys($remplace_autocinc), $remplace_autocinc, $query[$k]);
2605
+            } else {
2606
+                $query[$k] = preg_replace(array_keys($remplace_nonautocinc), $remplace_nonautocinc, $query[$k]);
2607
+                $query[$k] = _sqlite_collate_ci($query[$k]);
2608
+            }
2609
+        }
2610
+    }
2611
+
2612
+    return $query;
2613 2613
 }
2614 2614
 
2615 2615
 /**
@@ -2621,17 +2621,17 @@  discard block
 block discarded – undo
2621 2621
  */
2622 2622
 function _sqlite_collate_ci($champ)
2623 2623
 {
2624
-	if (stripos($champ, 'COLLATE') !== false) {
2625
-		return $champ;
2626
-	}
2627
-	if (stripos($champ, 'BINARY') !== false) {
2628
-		return str_ireplace('BINARY', 'COLLATE BINARY', $champ);
2629
-	}
2630
-	if (preg_match(',^(char|varchar|(long|small|medium|tiny)?text),i', $champ)) {
2631
-		return $champ . ' COLLATE NOCASE';
2632
-	}
2633
-
2634
-	return $champ;
2624
+    if (stripos($champ, 'COLLATE') !== false) {
2625
+        return $champ;
2626
+    }
2627
+    if (stripos($champ, 'BINARY') !== false) {
2628
+        return str_ireplace('BINARY', 'COLLATE BINARY', $champ);
2629
+    }
2630
+    if (preg_match(',^(char|varchar|(long|small|medium|tiny)?text),i', $champ)) {
2631
+        return $champ . ' COLLATE NOCASE';
2632
+    }
2633
+
2634
+    return $champ;
2635 2635
 }
2636 2636
 
2637 2637
 
@@ -2650,84 +2650,84 @@  discard block
 block discarded – undo
2650 2650
  * @return bool|string
2651 2651
  */
2652 2652
 function _sqlite_requete_create(
2653
-	$nom,
2654
-	$champs,
2655
-	$cles,
2656
-	$autoinc = false,
2657
-	$temporary = false,
2658
-	$_ifnotexists = true,
2659
-	$serveur = '',
2660
-	$requeter = true
2653
+    $nom,
2654
+    $champs,
2655
+    $cles,
2656
+    $autoinc = false,
2657
+    $temporary = false,
2658
+    $_ifnotexists = true,
2659
+    $serveur = '',
2660
+    $requeter = true
2661 2661
 ) {
2662
-	$query = $keys = $s = $p = '';
2663
-
2664
-	// certains plugins declarent les tables  (permet leur inclusion dans le dump)
2665
-	// sans les renseigner (laisse le compilo recuperer la description)
2666
-	if (!is_array($champs) || !is_array($cles)) {
2667
-		return;
2668
-	}
2669
-
2670
-	// sqlite ne gere pas KEY tout court dans une requete CREATE TABLE
2671
-	// il faut passer par des create index
2672
-	// Il gere par contre primary key !
2673
-	// Soit la PK est definie dans les cles, soit dans un champs
2674
-	// soit faussement dans les 2 (et dans ce cas, il faut l’enlever à un des 2 endroits !)
2675
-	$pk = 'PRIMARY KEY';
2676
-	// le champ de cle primaire
2677
-	$champ_pk = !empty($cles[$pk]) ? $cles[$pk] : '';
2678
-
2679
-	foreach ($champs as $k => $v) {
2680
-		if (false !== stripos($v, $pk)) {
2681
-			$champ_pk = $k;
2682
-			// on n'en a plus besoin dans field, vu que defini dans key
2683
-			$champs[$k] = preg_replace("/$pk/is", '', $champs[$k]);
2684
-			break;
2685
-		}
2686
-	}
2687
-
2688
-	if ($champ_pk) {
2689
-		$keys = "\n\t\t$pk ($champ_pk)";
2690
-	}
2691
-	// Pas de DEFAULT 0 sur les cles primaires en auto-increment
2692
-	if (
2693
-		isset($champs[$champ_pk])
2694
-		and stripos($champs[$champ_pk], 'default 0') !== false
2695
-	) {
2696
-		$champs[$champ_pk] = trim(str_ireplace('default 0', '', $champs[$champ_pk]));
2697
-	}
2698
-
2699
-	$champs = _sqlite_remplacements_definitions_table($champs, $autoinc ? $champ_pk : false);
2700
-	foreach ($champs as $k => $v) {
2701
-		$query .= "$s\n\t\t$k $v";
2702
-		$s = ',';
2703
-	}
2704
-
2705
-	$ifnotexists = '';
2706
-	if ($_ifnotexists) {
2707
-		$version = spip_sqlite_fetch(
2708
-			spip_sqlite_query('select sqlite_version() AS sqlite_version', $serveur),
2709
-			'',
2710
-			$serveur
2711
-		);
2712
-		if (!function_exists('spip_version_compare')) {
2713
-			include_spip('plugins/installer');
2714
-		}
2715
-
2716
-		if ($version and spip_version_compare($version['sqlite_version'], '3.3.0', '>=')) {
2717
-			$ifnotexists = ' IF NOT EXISTS';
2718
-		} else {
2719
-			/* simuler le IF EXISTS - version 2 et sqlite < 3.3a */
2720
-			$a = spip_sqlite_showtable($nom, $serveur);
2721
-			if (isset($a['key']['KEY ' . $nom])) {
2722
-				return true;
2723
-			}
2724
-		}
2725
-	}
2726
-
2727
-	$temporary = $temporary ? ' TEMPORARY' : '';
2728
-	$q = "CREATE$temporary TABLE$ifnotexists $nom ($query" . ($keys ? ",$keys" : '') . ")\n";
2729
-
2730
-	return $q;
2662
+    $query = $keys = $s = $p = '';
2663
+
2664
+    // certains plugins declarent les tables  (permet leur inclusion dans le dump)
2665
+    // sans les renseigner (laisse le compilo recuperer la description)
2666
+    if (!is_array($champs) || !is_array($cles)) {
2667
+        return;
2668
+    }
2669
+
2670
+    // sqlite ne gere pas KEY tout court dans une requete CREATE TABLE
2671
+    // il faut passer par des create index
2672
+    // Il gere par contre primary key !
2673
+    // Soit la PK est definie dans les cles, soit dans un champs
2674
+    // soit faussement dans les 2 (et dans ce cas, il faut l’enlever à un des 2 endroits !)
2675
+    $pk = 'PRIMARY KEY';
2676
+    // le champ de cle primaire
2677
+    $champ_pk = !empty($cles[$pk]) ? $cles[$pk] : '';
2678
+
2679
+    foreach ($champs as $k => $v) {
2680
+        if (false !== stripos($v, $pk)) {
2681
+            $champ_pk = $k;
2682
+            // on n'en a plus besoin dans field, vu que defini dans key
2683
+            $champs[$k] = preg_replace("/$pk/is", '', $champs[$k]);
2684
+            break;
2685
+        }
2686
+    }
2687
+
2688
+    if ($champ_pk) {
2689
+        $keys = "\n\t\t$pk ($champ_pk)";
2690
+    }
2691
+    // Pas de DEFAULT 0 sur les cles primaires en auto-increment
2692
+    if (
2693
+        isset($champs[$champ_pk])
2694
+        and stripos($champs[$champ_pk], 'default 0') !== false
2695
+    ) {
2696
+        $champs[$champ_pk] = trim(str_ireplace('default 0', '', $champs[$champ_pk]));
2697
+    }
2698
+
2699
+    $champs = _sqlite_remplacements_definitions_table($champs, $autoinc ? $champ_pk : false);
2700
+    foreach ($champs as $k => $v) {
2701
+        $query .= "$s\n\t\t$k $v";
2702
+        $s = ',';
2703
+    }
2704
+
2705
+    $ifnotexists = '';
2706
+    if ($_ifnotexists) {
2707
+        $version = spip_sqlite_fetch(
2708
+            spip_sqlite_query('select sqlite_version() AS sqlite_version', $serveur),
2709
+            '',
2710
+            $serveur
2711
+        );
2712
+        if (!function_exists('spip_version_compare')) {
2713
+            include_spip('plugins/installer');
2714
+        }
2715
+
2716
+        if ($version and spip_version_compare($version['sqlite_version'], '3.3.0', '>=')) {
2717
+            $ifnotexists = ' IF NOT EXISTS';
2718
+        } else {
2719
+            /* simuler le IF EXISTS - version 2 et sqlite < 3.3a */
2720
+            $a = spip_sqlite_showtable($nom, $serveur);
2721
+            if (isset($a['key']['KEY ' . $nom])) {
2722
+                return true;
2723
+            }
2724
+        }
2725
+    }
2726
+
2727
+    $temporary = $temporary ? ' TEMPORARY' : '';
2728
+    $q = "CREATE$temporary TABLE$ifnotexists $nom ($query" . ($keys ? ",$keys" : '') . ")\n";
2729
+
2730
+    return $q;
2731 2731
 }
2732 2732
 
2733 2733
 
@@ -2747,40 +2747,40 @@  discard block
 block discarded – undo
2747 2747
  */
2748 2748
 function _sqlite_ajouter_champs_timestamp($table, $couples, $desc = '', $serveur = '')
2749 2749
 {
2750
-	static $tables = [];
2751
-
2752
-	if (!isset($tables[$table])) {
2753
-		if (!$desc) {
2754
-			$trouver_table = charger_fonction('trouver_table', 'base');
2755
-			$desc = $trouver_table($table, $serveur);
2756
-			// si pas de description, on ne fait rien, ou on die() ?
2757
-			if (!$desc) {
2758
-				return $couples;
2759
-			}
2760
-		}
2761
-
2762
-		// recherche des champs avec simplement 'TIMESTAMP'
2763
-		// cependant, il faudra peut etre etendre
2764
-		// avec la gestion de DEFAULT et ON UPDATE
2765
-		// mais ceux-ci ne sont pas utilises dans le core
2766
-		$tables[$table] = ['valeur' => [], 'cite' => [], 'desc' => []];
2767
-
2768
-		$now = _sqlite_func_now(true);
2769
-		foreach ($desc['field'] as $k => $v) {
2770
-			if (strpos(strtolower(ltrim($v)), 'timestamp') === 0) {
2771
-				$tables[$table]['desc'][$k] = $v;
2772
-				$tables[$table]['valeur'][$k] = _sqlite_calculer_cite($now, $tables[$table]['desc'][$k]);
2773
-			}
2774
-		}
2775
-	} else {
2776
-		$now = _sqlite_func_now(true);
2777
-		foreach (array_keys($tables[$table]['desc']) as $k) {
2778
-			$tables[$table]['valeur'][$k] = _sqlite_calculer_cite($now, $tables[$table]['desc'][$k]);
2779
-		}
2780
-	}
2781
-
2782
-	// ajout des champs type 'timestamp' absents
2783
-	return array_merge($tables[$table]['valeur'], $couples);
2750
+    static $tables = [];
2751
+
2752
+    if (!isset($tables[$table])) {
2753
+        if (!$desc) {
2754
+            $trouver_table = charger_fonction('trouver_table', 'base');
2755
+            $desc = $trouver_table($table, $serveur);
2756
+            // si pas de description, on ne fait rien, ou on die() ?
2757
+            if (!$desc) {
2758
+                return $couples;
2759
+            }
2760
+        }
2761
+
2762
+        // recherche des champs avec simplement 'TIMESTAMP'
2763
+        // cependant, il faudra peut etre etendre
2764
+        // avec la gestion de DEFAULT et ON UPDATE
2765
+        // mais ceux-ci ne sont pas utilises dans le core
2766
+        $tables[$table] = ['valeur' => [], 'cite' => [], 'desc' => []];
2767
+
2768
+        $now = _sqlite_func_now(true);
2769
+        foreach ($desc['field'] as $k => $v) {
2770
+            if (strpos(strtolower(ltrim($v)), 'timestamp') === 0) {
2771
+                $tables[$table]['desc'][$k] = $v;
2772
+                $tables[$table]['valeur'][$k] = _sqlite_calculer_cite($now, $tables[$table]['desc'][$k]);
2773
+            }
2774
+        }
2775
+    } else {
2776
+        $now = _sqlite_func_now(true);
2777
+        foreach (array_keys($tables[$table]['desc']) as $k) {
2778
+            $tables[$table]['valeur'][$k] = _sqlite_calculer_cite($now, $tables[$table]['desc'][$k]);
2779
+        }
2780
+    }
2781
+
2782
+    // ajout des champs type 'timestamp' absents
2783
+    return array_merge($tables[$table]['valeur'], $couples);
2784 2784
 }
2785 2785
 
2786 2786
 
@@ -2792,5 +2792,5 @@  discard block
 block discarded – undo
2792 2792
  */
2793 2793
 function spip_versions_sqlite()
2794 2794
 {
2795
-	return _sqlite_charger_version();
2795
+    return _sqlite_charger_version();
2796 2796
 }
Please login to merge, or discard this patch.
Spacing   +83 added lines, -83 removed lines patch added patch discarded remove patch
@@ -66,27 +66,27 @@  discard block
 block discarded – undo
66 66
 	// determiner le dossier de la base : $addr ou _DIR_DB
67 67
 	$f = _DIR_DB;
68 68
 	if ($addr and str_contains($addr, '/')) {
69
-		$f = rtrim($addr, '/') . '/';
69
+		$f = rtrim($addr, '/').'/';
70 70
 	}
71 71
 
72 72
 	// un nom de base demande et impossible d'obtenir la base, on s'en va :
73 73
 	// il faut que la base existe ou que le repertoire parent soit writable
74
-	if ($db and !is_file($f .= $db . '.sqlite') and !is_writable(dirname($f))) {
75
-		spip_log("base $f non trouvee ou droits en ecriture manquants", 'sqlite.' . _LOG_HS);
74
+	if ($db and !is_file($f .= $db.'.sqlite') and !is_writable(dirname($f))) {
75
+		spip_log("base $f non trouvee ou droits en ecriture manquants", 'sqlite.'._LOG_HS);
76 76
 
77 77
 		return false;
78 78
 	}
79 79
 
80 80
 	// charger les modules sqlite au besoin
81 81
 	if (!_sqlite_charger_version($sqlite_version)) {
82
-		spip_log("Impossible de trouver/charger le module SQLite ($sqlite_version)!", 'sqlite.' . _LOG_HS);
82
+		spip_log("Impossible de trouver/charger le module SQLite ($sqlite_version)!", 'sqlite.'._LOG_HS);
83 83
 
84 84
 		return false;
85 85
 	}
86 86
 
87 87
 	// chargement des constantes
88 88
 	// il ne faut pas definir les constantes avant d'avoir charge les modules sqlite
89
-	$define = 'spip_sqlite' . $sqlite_version . '_constantes';
89
+	$define = 'spip_sqlite'.$sqlite_version.'_constantes';
90 90
 	$define();
91 91
 
92 92
 	$ok = false;
@@ -94,8 +94,8 @@  discard block
 block discarded – undo
94 94
 		// si pas de db ->
95 95
 		// base temporaire tant qu'on ne connait pas son vrai nom
96 96
 		// pour tester la connexion
97
-		$db = '_sqlite' . $sqlite_version . '_install';
98
-		$tmp = _DIR_DB . $db . '.sqlite';
97
+		$db = '_sqlite'.$sqlite_version.'_install';
98
+		$tmp = _DIR_DB.$db.'.sqlite';
99 99
 		$ok = $link = new \PDO("sqlite:$tmp");
100 100
 	} else {
101 101
 		// Ouvrir (eventuellement creer la base)
@@ -104,7 +104,7 @@  discard block
 block discarded – undo
104 104
 
105 105
 	if (!$ok) {
106 106
 		$e = _sqlite_last_error_from_link($link);
107
-		spip_log("Impossible d'ouvrir la base SQLite($sqlite_version) $f : $e", 'sqlite.' . _LOG_HS);
107
+		spip_log("Impossible d'ouvrir la base SQLite($sqlite_version) $f : $e", 'sqlite.'._LOG_HS);
108 108
 
109 109
 		return false;
110 110
 	}
@@ -192,7 +192,7 @@  discard block
 block discarded – undo
192 192
 		$table = $regs[3];
193 193
 		$suite = $regs[4];
194 194
 	} else {
195
-		spip_log("SQLite : Probleme de ALTER TABLE mal forme dans $query", 'sqlite.' . _LOG_ERREUR);
195
+		spip_log("SQLite : Probleme de ALTER TABLE mal forme dans $query", 'sqlite.'._LOG_ERREUR);
196 196
 
197 197
 		return false;
198 198
 	}
@@ -209,7 +209,7 @@  discard block
 block discarded – undo
209 209
 	$i = 0;
210 210
 	$ouverte = false;
211 211
 	while ($do = array_shift($todo)) {
212
-		$todo2[$i] = isset($todo2[$i]) ? $todo2[$i] . ',' . $do : $do;
212
+		$todo2[$i] = isset($todo2[$i]) ? $todo2[$i].','.$do : $do;
213 213
 		$o = (str_contains($do, '('));
214 214
 		$f = (str_contains($do, ')'));
215 215
 		if ($o and !$f) {
@@ -235,7 +235,7 @@  discard block
 block discarded – undo
235 235
 		) {
236 236
 			spip_log(
237 237
 				"SQLite : Probleme de ALTER TABLE, utilisation non reconnue dans : $do \n(requete d'origine : $query)",
238
-				'sqlite.' . _LOG_ERREUR
238
+				'sqlite.'._LOG_ERREUR
239 239
 			);
240 240
 
241 241
 			return false;
@@ -331,10 +331,10 @@  discard block
 block discarded – undo
331 331
 
332 332
 				// pas geres en sqlite2
333 333
 			case 'RENAME':
334
-				$do = 'RENAME TO' . substr($do, 6);
334
+				$do = 'RENAME TO'.substr($do, 6);
335 335
 			case 'RENAME TO':
336 336
 				if (!Sqlite::executer_requete("$debut $do", $serveur)) {
337
-					spip_log("SQLite : Erreur ALTER TABLE / RENAME : $query", 'sqlite.' . _LOG_ERREUR);
337
+					spip_log("SQLite : Erreur ALTER TABLE / RENAME : $query", 'sqlite.'._LOG_ERREUR);
338 338
 
339 339
 					return false;
340 340
 				}
@@ -377,7 +377,7 @@  discard block
 block discarded – undo
377 377
 						$colonnes = substr($colonne_origine, 1, -1);
378 378
 						if (str_contains(',', $colonnes)) {
379 379
 							spip_log('SQLite : Erreur, impossible de creer un index sur plusieurs colonnes'
380
-								. " sans qu'il ait de nom ($table, ($colonnes))", 'sqlite.' . _LOG_ERREUR);
380
+								. " sans qu'il ait de nom ($table, ($colonnes))", 'sqlite.'._LOG_ERREUR);
381 381
 							break;
382 382
 						} else {
383 383
 							$nom_index = $colonnes;
@@ -392,12 +392,12 @@  discard block
 block discarded – undo
392 392
 
393 393
 				// pas geres en sqlite2
394 394
 			case 'ADD COLUMN':
395
-				$do = 'ADD' . substr($do, 10);
395
+				$do = 'ADD'.substr($do, 10);
396 396
 			case 'ADD':
397 397
 			default:
398 398
 				if (!preg_match(',primary\s+key,i', $do)) {
399 399
 					if (!Sqlite::executer_requete("$debut $do", $serveur)) {
400
-						spip_log("SQLite : Erreur ALTER TABLE / ADD : $query", 'sqlite.' . _LOG_ERREUR);
400
+						spip_log("SQLite : Erreur ALTER TABLE / ADD : $query", 'sqlite.'._LOG_ERREUR);
401 401
 
402 402
 						return false;
403 403
 					}
@@ -417,7 +417,7 @@  discard block
 block discarded – undo
417 417
 					}
418 418
 					$opts['field'] = [$colonne_ajoutee => $def];
419 419
 					if (!_sqlite_modifier_table($table, [$colonne_ajoutee], $opts, $serveur)) {
420
-						spip_log("SQLite : Erreur ALTER TABLE / ADD : $query", 'sqlite.' . _LOG_ERREUR);
420
+						spip_log("SQLite : Erreur ALTER TABLE / ADD : $query", 'sqlite.'._LOG_ERREUR);
421 421
 
422 422
 						return false;
423 423
 					}
@@ -425,10 +425,10 @@  discard block
 block discarded – undo
425 425
 				break;
426 426
 		}
427 427
 		// tout est bon, ouf !
428
-		spip_log("SQLite ($serveur) : Changements OK : $debut $do", 'sqlite.' . _LOG_INFO);
428
+		spip_log("SQLite ($serveur) : Changements OK : $debut $do", 'sqlite.'._LOG_INFO);
429 429
 	}
430 430
 
431
-	spip_log("SQLite ($serveur) : fin ALTER TABLE OK !", 'sqlite.' . _LOG_INFO);
431
+	spip_log("SQLite ($serveur) : fin ALTER TABLE OK !", 'sqlite.'._LOG_INFO);
432 432
 
433 433
 	return true;
434 434
 }
@@ -497,9 +497,9 @@  discard block
 block discarded – undo
497 497
  **/
498 498
 function spip_sqlite_create_base($nom, $serveur = '', $option = true)
499 499
 {
500
-	$f = $nom . '.sqlite';
500
+	$f = $nom.'.sqlite';
501 501
 	if (strpos($nom, '/') === false) {
502
-		$f = _DIR_DB . $f;
502
+		$f = _DIR_DB.$f;
503 503
 	}
504 504
 
505 505
 	$ok = new \PDO("sqlite:$f");
@@ -540,13 +540,13 @@  discard block
 block discarded – undo
540 540
 	if (sql_showtable($nom, false, $serveur)) {
541 541
 		spip_log(
542 542
 			"Echec creation d'une vue sql ($nom) car celle-ci existe deja (serveur:$serveur)",
543
-			'sqlite.' . _LOG_ERREUR
543
+			'sqlite.'._LOG_ERREUR
544 544
 		);
545 545
 
546 546
 		return false;
547 547
 	}
548 548
 
549
-	$query = "CREATE VIEW $nom AS " . $query_select;
549
+	$query = "CREATE VIEW $nom AS ".$query_select;
550 550
 
551 551
 	return spip_sqlite_query($query, $serveur, $requeter);
552 552
 }
@@ -573,8 +573,8 @@  discard block
 block discarded – undo
573 573
 {
574 574
 	if (!($nom or $table or $champs)) {
575 575
 		spip_log(
576
-			"Champ manquant pour creer un index sqlite ($nom, $table, (" . join(',', $champs) . '))',
577
-			'sqlite.' . _LOG_ERREUR
576
+			"Champ manquant pour creer un index sqlite ($nom, $table, (".join(',', $champs).'))',
577
+			'sqlite.'._LOG_ERREUR
578 578
 		);
579 579
 
580 580
 		return false;
@@ -582,7 +582,7 @@  discard block
 block discarded – undo
582 582
 
583 583
 	// SQLite ne differentie pas noms des index en fonction des tables
584 584
 	// il faut donc creer des noms uniques d'index pour une base sqlite
585
-	$nom = $table . '_' . $nom;
585
+	$nom = $table.'_'.$nom;
586 586
 	// enlever d'eventuelles parentheses deja presentes sur champs
587 587
 	if (!is_array($champs)) {
588 588
 		if ($champs[0] == '(') {
@@ -604,12 +604,12 @@  discard block
 block discarded – undo
604 604
 	} else {
605 605
 		/* simuler le IF EXISTS - version 2 et sqlite < 3.3a */
606 606
 		$a = spip_sqlite_showtable($table, $serveur);
607
-		if (isset($a['key']['KEY ' . $nom])) {
607
+		if (isset($a['key']['KEY '.$nom])) {
608 608
 			return true;
609 609
 		}
610 610
 	}
611 611
 
612
-	$query = 'CREATE ' . ($unique ? 'UNIQUE ' : '') . "INDEX$ifnotexists $nom ON $table (" . join(',', $champs) . ')';
612
+	$query = 'CREATE '.($unique ? 'UNIQUE ' : '')."INDEX$ifnotexists $nom ON $table (".join(',', $champs).')';
613 613
 	$res = spip_sqlite_query($query, $serveur, $requeter);
614 614
 	if (!$requeter) {
615 615
 		return $res;
@@ -686,7 +686,7 @@  discard block
 block discarded – undo
686 686
 	$serveur = '',
687 687
 	$requeter = true
688 688
 ) {
689
-	$c = !$groupby ? '*' : ('DISTINCT ' . (is_string($groupby) ? $groupby : join(',', $groupby)));
689
+	$c = !$groupby ? '*' : ('DISTINCT '.(is_string($groupby) ? $groupby : join(',', $groupby)));
690 690
 	$r = spip_sqlite_select(
691 691
 		"COUNT($c)",
692 692
 		$from,
@@ -799,14 +799,14 @@  discard block
 block discarded – undo
799 799
 function spip_sqlite_drop_index($nom, $table, $serveur = '', $requeter = true)
800 800
 {
801 801
 	if (!($nom or $table)) {
802
-		spip_log("Champ manquant pour supprimer un index sqlite ($nom, $table)", 'sqlite.' . _LOG_ERREUR);
802
+		spip_log("Champ manquant pour supprimer un index sqlite ($nom, $table)", 'sqlite.'._LOG_ERREUR);
803 803
 
804 804
 		return false;
805 805
 	}
806 806
 
807 807
 	// SQLite ne differentie pas noms des index en fonction des tables
808 808
 	// il faut donc creer des noms uniques d'index pour une base sqlite
809
-	$index = $table . '_' . $nom;
809
+	$index = $table.'_'.$nom;
810 810
 	$exist = ' IF EXISTS';
811 811
 
812 812
 	$query = "DROP INDEX$exist $index";
@@ -839,7 +839,7 @@  discard block
 block discarded – undo
839 839
 	if ($s) {
840 840
 		$trace = debug_backtrace();
841 841
 		if ($trace[0]['function'] != 'spip_sqlite_error') {
842
-			spip_log("$s - $query - " . sql_error_backtrace(), 'sqlite.' . _LOG_ERREUR);
842
+			spip_log("$s - $query - ".sql_error_backtrace(), 'sqlite.'._LOG_ERREUR);
843 843
 		}
844 844
 	}
845 845
 
@@ -888,14 +888,14 @@  discard block
 block discarded – undo
888 888
 		$t = $link->errorInfo();
889 889
 		$s = ltrim($t[0], '0'); // 00000 si pas d'erreur
890 890
 		if ($s) {
891
-			$s .= ' / ' . $t[1];
891
+			$s .= ' / '.$t[1];
892 892
 		} // ajoute l'erreur du moteur SQLite
893 893
 	} else {
894 894
 		$s = ': aucune ressource sqlite (link)';
895 895
 	}
896 896
 
897 897
 	if ($s) {
898
-		spip_log("Erreur sqlite $s", 'sqlite.' . _LOG_ERREUR);
898
+		spip_log("Erreur sqlite $s", 'sqlite.'._LOG_ERREUR);
899 899
 	}
900 900
 
901 901
 	return $s ? $s : 0;
@@ -920,7 +920,7 @@  discard block
 block discarded – undo
920 920
 	}
921 921
 
922 922
 	$query = Sqlite::traduire_requete($query, $serveur);
923
-	$query = 'EXPLAIN ' . $query;
923
+	$query = 'EXPLAIN '.$query;
924 924
 	if (!$requeter) {
925 925
 		return $query;
926 926
 	}
@@ -1096,7 +1096,7 @@  discard block
 block discarded – undo
1096 1096
 function spip_sqlite_insert($table, $champs, $valeurs, $desc = [], $serveur = '', $requeter = true)
1097 1097
 {
1098 1098
 
1099
-	$query = "INSERT INTO $table " . ($champs ? "$champs VALUES $valeurs" : 'DEFAULT VALUES');
1099
+	$query = "INSERT INTO $table ".($champs ? "$champs VALUES $valeurs" : 'DEFAULT VALUES');
1100 1100
 	if ($r = spip_sqlite_query($query, $serveur, $requeter)) {
1101 1101
 		if (!$requeter) {
1102 1102
 			return $r;
@@ -1152,8 +1152,8 @@  discard block
 block discarded – undo
1152 1152
 
1153 1153
 	$cles = $valeurs = '';
1154 1154
 	if (count($couples)) {
1155
-		$cles = '(' . join(',', array_keys($couples)) . ')';
1156
-		$valeurs = '(' . join(',', $couples) . ')';
1155
+		$cles = '('.join(',', array_keys($couples)).')';
1156
+		$valeurs = '('.join(',', $couples).')';
1157 1157
 	}
1158 1158
 
1159 1159
 	return spip_sqlite_insert($table, $cles, $valeurs, $desc, $serveur, $requeter);
@@ -1214,11 +1214,11 @@  discard block
 block discarded – undo
1214 1214
 
1215 1215
 		$champs = $valeurs = '';
1216 1216
 		if (count($couples)) {
1217
-			$champs = '(' . join(',', array_keys($couples)) . ')';
1218
-			$valeurs = '(' . join(',', $couples) . ')';
1219
-			$query = $query_start . "$champs VALUES $valeurs";
1217
+			$champs = '('.join(',', array_keys($couples)).')';
1218
+			$valeurs = '('.join(',', $couples).')';
1219
+			$query = $query_start."$champs VALUES $valeurs";
1220 1220
 		} else {
1221
-			$query = $query_start . 'DEFAULT VALUES';
1221
+			$query = $query_start.'DEFAULT VALUES';
1222 1222
 		}
1223 1223
 
1224 1224
 		if ($requeter) {
@@ -1355,7 +1355,7 @@  discard block
 block discarded – undo
1355 1355
  */
1356 1356
 function spip_sqlite_multi($objet, $lang)
1357 1357
 {
1358
-	$r = 'EXTRAIRE_MULTI(' . $objet . ", '" . $lang . "') AS multi";
1358
+	$r = 'EXTRAIRE_MULTI('.$objet.", '".$lang."') AS multi";
1359 1359
 
1360 1360
 	return $r;
1361 1361
 }
@@ -1429,7 +1429,7 @@  discard block
 block discarded – undo
1429 1429
 {
1430 1430
 	$op = (($interval <= 0) ? '>' : '<');
1431 1431
 
1432
-	return "($champ $op datetime('" . date('Y-m-d H:i:s') . "', '$interval $unite'))";
1432
+	return "($champ $op datetime('".date('Y-m-d H:i:s')."', '$interval $unite'))";
1433 1433
 }
1434 1434
 
1435 1435
 
@@ -1462,7 +1462,7 @@  discard block
 block discarded – undo
1462 1462
 				and (!isset($desc['key']['PRIMARY KEY']) or $desc['key']['PRIMARY KEY'] !== $c)
1463 1463
 			) {
1464 1464
 				spip_sqlite_alter($q = "TABLE $table CHANGE $c $c $d DEFAULT ''", $serveur);
1465
-				spip_log("ALTER $q", 'repair' . _LOG_INFO_IMPORTANTE);
1465
+				spip_log("ALTER $q", 'repair'._LOG_INFO_IMPORTANTE);
1466 1466
 			}
1467 1467
 			if (
1468 1468
 				preg_match(',^(INTEGER),i', $d)
@@ -1472,7 +1472,7 @@  discard block
 block discarded – undo
1472 1472
 				and (!isset($desc['key']['PRIMARY KEY']) or $desc['key']['PRIMARY KEY'] !== $c)
1473 1473
 			) {
1474 1474
 				spip_sqlite_alter($q = "TABLE $table CHANGE $c $c $d DEFAULT '0'", $serveur);
1475
-				spip_log("ALTER $q", 'repair' . _LOG_INFO_IMPORTANTE);
1475
+				spip_log("ALTER $q", 'repair'._LOG_INFO_IMPORTANTE);
1476 1476
 			}
1477 1477
 			if (
1478 1478
 				preg_match(',^(datetime),i', $d)
@@ -1482,7 +1482,7 @@  discard block
 block discarded – undo
1482 1482
 				and (!isset($desc['key']['PRIMARY KEY']) or $desc['key']['PRIMARY KEY'] !== $c)
1483 1483
 			) {
1484 1484
 				spip_sqlite_alter($q = "TABLE $table CHANGE $c $c $d DEFAULT '0000-00-00 00:00:00'", $serveur);
1485
-				spip_log("ALTER $q", 'repair' . _LOG_INFO_IMPORTANTE);
1485
+				spip_log("ALTER $q", 'repair'._LOG_INFO_IMPORTANTE);
1486 1486
 			}
1487 1487
 		}
1488 1488
 
@@ -1534,10 +1534,10 @@  discard block
 block discarded – undo
1534 1534
 	// recherche de champs 'timestamp' pour mise a jour auto de ceux-ci
1535 1535
 	$couples = _sqlite_ajouter_champs_timestamp($table, $couples, $desc, $serveur);
1536 1536
 
1537
-	return spip_sqlite_query("REPLACE INTO $table (" . join(',', array_keys($couples)) . ') VALUES (' . join(
1537
+	return spip_sqlite_query("REPLACE INTO $table (".join(',', array_keys($couples)).') VALUES ('.join(
1538 1538
 		',',
1539 1539
 		$couples
1540
-	) . ')', $serveur);
1540
+	).')', $serveur);
1541 1541
 }
1542 1542
 
1543 1543
 
@@ -1624,7 +1624,7 @@  discard block
 block discarded – undo
1624 1624
 		. _sqlite_calculer_expression('WHERE', $where)
1625 1625
 		. _sqlite_calculer_expression('GROUP BY', $groupby, ',')
1626 1626
 		. _sqlite_calculer_expression('HAVING', $having)
1627
-		. ($orderby ? ("\nORDER BY " . _sqlite_calculer_order($orderby)) : '')
1627
+		. ($orderby ? ("\nORDER BY "._sqlite_calculer_order($orderby)) : '')
1628 1628
 		. ($limit ? "\nLIMIT $limit" : '');
1629 1629
 
1630 1630
 	// dans un select, on doit renvoyer la requête en cas d'erreur
@@ -1663,10 +1663,10 @@  discard block
 block discarded – undo
1663 1663
 	// interdire la creation d'une nouvelle base,
1664 1664
 	// sauf si on est dans l'installation
1665 1665
 	if (
1666
-		!is_file($f = _DIR_DB . $db . '.sqlite')
1666
+		!is_file($f = _DIR_DB.$db.'.sqlite')
1667 1667
 		&& (!defined('_ECRIRE_INSTALL') || !_ECRIRE_INSTALL)
1668 1668
 	) {
1669
-		spip_log("Il est interdit de creer la base $db", 'sqlite.' . _LOG_HS);
1669
+		spip_log("Il est interdit de creer la base $db", 'sqlite.'._LOG_HS);
1670 1670
 
1671 1671
 		return false;
1672 1672
 	}
@@ -1675,12 +1675,12 @@  discard block
 block discarded – undo
1675 1675
 	// avec les identifiants connus
1676 1676
 	$index = $serveur ? $serveur : 0;
1677 1677
 
1678
-	if ($link = spip_connect_db('', '', '', '', '@selectdb@' . $db, $serveur, '', '')) {
1678
+	if ($link = spip_connect_db('', '', '', '', '@selectdb@'.$db, $serveur, '', '')) {
1679 1679
 		if (($db == $link['db']) && $GLOBALS['connexions'][$index] = $link) {
1680 1680
 			return $db;
1681 1681
 		}
1682 1682
 	} else {
1683
-		spip_log("Impossible de selectionner la base $db", 'sqlite.' . _LOG_HS);
1683
+		spip_log("Impossible de selectionner la base $db", 'sqlite.'._LOG_HS);
1684 1684
 	}
1685 1685
 
1686 1686
 	return false;
@@ -1733,7 +1733,7 @@  discard block
 block discarded – undo
1733 1733
 	$match = "^$match$";
1734 1734
 
1735 1735
 	return spip_sqlite_query(
1736
-		"SELECT name FROM sqlite_master WHERE type='table' AND tbl_name REGEXP " . _q($match),
1736
+		"SELECT name FROM sqlite_master WHERE type='table' AND tbl_name REGEXP "._q($match),
1737 1737
 		$serveur,
1738 1738
 		$requeter
1739 1739
 	);
@@ -1758,7 +1758,7 @@  discard block
 block discarded – undo
1758 1758
 	$r = spip_sqlite_query(
1759 1759
 		'SELECT name FROM sqlite_master WHERE'
1760 1760
 			. ' type=\'table\''
1761
-			. ' AND name=' . spip_sqlite_quote($table, 'string')
1761
+			. ' AND name='.spip_sqlite_quote($table, 'string')
1762 1762
 			. ' AND name NOT LIKE \'sqlite_%\'',
1763 1763
 		$serveur,
1764 1764
 		$requeter
@@ -1856,7 +1856,7 @@  discard block
 block discarded – undo
1856 1856
 				// s'il y a une parenthèse fermante dans la clé
1857 1857
 				// ou dans la définition sans qu'il n'y ait une ouverture avant
1858 1858
 				if (str_contains($k, ')') or preg_match('/^[^\(]*\)/', $def)) {
1859
-					$fields[$k_precedent] .= ',' . $k . ' ' . $def;
1859
+					$fields[$k_precedent] .= ','.$k.' '.$def;
1860 1860
 					continue;
1861 1861
 				}
1862 1862
 
@@ -1891,13 +1891,13 @@  discard block
 block discarded – undo
1891 1891
 				. 'ORDER BY substr(type,2,1), name';
1892 1892
 			$a = spip_sqlite_query($query, $serveur, $requeter);
1893 1893
 			while ($r = spip_sqlite_fetch($a, null, $serveur)) {
1894
-				$key = str_replace($nom_table . '_', '', $r['name']); // enlever le nom de la table ajoute a l'index
1894
+				$key = str_replace($nom_table.'_', '', $r['name']); // enlever le nom de la table ajoute a l'index
1895 1895
 				$keytype = 'KEY';
1896 1896
 				if (strpos($r['sql'], 'UNIQUE INDEX') !== false) {
1897 1897
 					$keytype = 'UNIQUE KEY';
1898 1898
 				}
1899 1899
 				$colonnes = preg_replace(',.*\((.*)\).*,', '$1', $r['sql']);
1900
-				$keys[$keytype . ' ' . $key] = $colonnes;
1900
+				$keys[$keytype.' '.$key] = $colonnes;
1901 1901
 			}
1902 1902
 		}
1903 1903
 	} // c'est une vue, on liste les champs disponibles simplement
@@ -1945,7 +1945,7 @@  discard block
 block discarded – undo
1945 1945
 
1946 1946
 	$set = [];
1947 1947
 	foreach ($champs as $champ => $val) {
1948
-		$set[] = $champ . "=$val";
1948
+		$set[] = $champ."=$val";
1949 1949
 	}
1950 1950
 	if (!empty($set)) {
1951 1951
 		return spip_sqlite_query(
@@ -2001,7 +2001,7 @@  discard block
 block discarded – undo
2001 2001
 
2002 2002
 	$set = [];
2003 2003
 	foreach ($champs as $champ => $val) {
2004
-		$set[$champ] = $champ . '=' . _sqlite_calculer_cite($val, isset($fields[$champ]) ? $fields[$champ] : '');
2004
+		$set[$champ] = $champ.'='._sqlite_calculer_cite($val, isset($fields[$champ]) ? $fields[$champ] : '');
2005 2005
 	}
2006 2006
 
2007 2007
 	// recherche de champs 'timestamp' pour mise a jour auto de ceux-ci
@@ -2009,7 +2009,7 @@  discard block
 block discarded – undo
2009 2009
 	$maj = _sqlite_ajouter_champs_timestamp($table, [], $desc, $serveur);
2010 2010
 	foreach ($maj as $champ => $val) {
2011 2011
 		if (!isset($set[$champ])) {
2012
-			$set[$champ] = $champ . '=' . $val;
2012
+			$set[$champ] = $champ.'='.$val;
2013 2013
 		}
2014 2014
 	}
2015 2015
 
@@ -2039,7 +2039,7 @@  discard block
 block discarded – undo
2039 2039
 function _sqlite_init()
2040 2040
 {
2041 2041
 	if (!defined('_DIR_DB')) {
2042
-		define('_DIR_DB', _DIR_ETC . 'bases/');
2042
+		define('_DIR_DB', _DIR_ETC.'bases/');
2043 2043
 	}
2044 2044
 	if (!defined('_SQLITE_CHMOD')) {
2045 2045
 		define('_SQLITE_CHMOD', _SPIP_CHMOD);
@@ -2151,9 +2151,9 @@  discard block
 block discarded – undo
2151 2151
 	}
2152 2152
 
2153 2153
 	// echapper les ' en ''
2154
-	spip_log('Pas de methode ->quote pour echapper', 'sqlite.' . _LOG_INFO_IMPORTANTE);
2154
+	spip_log('Pas de methode ->quote pour echapper', 'sqlite.'._LOG_INFO_IMPORTANTE);
2155 2155
 
2156
-	return ("'" . str_replace("'", "''", $v) . "'");
2156
+	return ("'".str_replace("'", "''", $v)."'");
2157 2157
 }
2158 2158
 
2159 2159
 
@@ -2177,12 +2177,12 @@  discard block
 block discarded – undo
2177 2177
 	$exp = "\n$expression ";
2178 2178
 
2179 2179
 	if (!is_array($v)) {
2180
-		return $exp . $v;
2180
+		return $exp.$v;
2181 2181
 	} else {
2182 2182
 		if (strtoupper($join) === 'AND') {
2183
-			return $exp . join("\n\t$join ", array_map('_sqlite_calculer_where', $v));
2183
+			return $exp.join("\n\t$join ", array_map('_sqlite_calculer_where', $v));
2184 2184
 		} else {
2185
-			return $exp . join($join, $v);
2185
+			return $exp.join($join, $v);
2186 2186
 		}
2187 2187
 	}
2188 2188
 }
@@ -2218,17 +2218,17 @@  discard block
 block discarded – undo
2218 2218
 		if (substr($k, -1) == '@') {
2219 2219
 			// c'est une jointure qui se refere au from precedent
2220 2220
 			// pas de virgule
2221
-			$res .= '  ' . $v;
2221
+			$res .= '  '.$v;
2222 2222
 		} else {
2223 2223
 			if (!is_numeric($k)) {
2224 2224
 				$p = strpos($v, ' ');
2225 2225
 				if ($p) {
2226
-					$v = substr($v, 0, $p) . " AS '$k'" . substr($v, $p);
2226
+					$v = substr($v, 0, $p)." AS '$k'".substr($v, $p);
2227 2227
 				} else {
2228 2228
 					$v .= " AS '$k'";
2229 2229
 				}
2230 2230
 			}
2231
-			$res .= ', ' . $v;
2231
+			$res .= ', '.$v;
2232 2232
 		}
2233 2233
 	}
2234 2234
 
@@ -2369,13 +2369,13 @@  discard block
 block discarded – undo
2369 2369
 
2370 2370
 	$def_origine = sql_showtable($table_origine, false, $serveur);
2371 2371
 	if (!$def_origine or !isset($def_origine['field'])) {
2372
-		spip_log("Alter table impossible sur $table_origine : table non trouvee", 'sqlite' . _LOG_ERREUR);
2372
+		spip_log("Alter table impossible sur $table_origine : table non trouvee", 'sqlite'._LOG_ERREUR);
2373 2373
 
2374 2374
 		return false;
2375 2375
 	}
2376 2376
 
2377 2377
 
2378
-	$table_tmp = $table_origine . '_tmp';
2378
+	$table_tmp = $table_origine.'_tmp';
2379 2379
 
2380 2380
 	// 1) creer une table temporaire avec les modifications
2381 2381
 	// - DROP : suppression de la colonne
@@ -2462,7 +2462,7 @@  discard block
 block discarded – undo
2462 2462
 		} else {
2463 2463
 			// enlever KEY
2464 2464
 			$k = substr($k, 4);
2465
-			$queries[] = "CREATE INDEX $table_destination" . "_$k ON $table_destination ($v)";
2465
+			$queries[] = "CREATE INDEX $table_destination"."_$k ON $table_destination ($v)";
2466 2466
 		}
2467 2467
 	}
2468 2468
 
@@ -2473,7 +2473,7 @@  discard block
 block discarded – undo
2473 2473
 		foreach ($queries as $q) {
2474 2474
 			if (!Sqlite::executer_requete($q, $serveur)) {
2475 2475
 				spip_log('SQLite : ALTER TABLE table :'
2476
-					. " Erreur a l'execution de la requete : $q", 'sqlite.' . _LOG_ERREUR);
2476
+					. " Erreur a l'execution de la requete : $q", 'sqlite.'._LOG_ERREUR);
2477 2477
 				Sqlite::annuler_transaction($serveur);
2478 2478
 
2479 2479
 				return false;
@@ -2565,27 +2565,27 @@  discard block
 block discarded – undo
2565 2565
 	$enum = '(\s*\([^\)]*\))?';
2566 2566
 
2567 2567
 	$remplace = [
2568
-		'/enum' . $enum . '/is' => 'VARCHAR(255)',
2568
+		'/enum'.$enum.'/is' => 'VARCHAR(255)',
2569 2569
 		'/COLLATE \w+_bin/is' => 'COLLATE BINARY',
2570 2570
 		'/COLLATE \w+_ci/is' => 'COLLATE NOCASE',
2571 2571
 		'/auto_increment/is' => '',
2572 2572
 		'/current_timestamp\(\)/is' => 'CURRENT_TIMESTAMP', // Fix export depuis mariaDB #4374
2573 2573
 		'/(timestamp .* )ON .*$/is' => '\\1',
2574 2574
 		'/character set \w+/is' => '',
2575
-		'/((big|small|medium|tiny)?int(eger)?)' . $num . '\s*unsigned/is' => '\\1 UNSIGNED',
2575
+		'/((big|small|medium|tiny)?int(eger)?)'.$num.'\s*unsigned/is' => '\\1 UNSIGNED',
2576 2576
 		'/(text\s+not\s+null(\s+collate\s+\w+)?)\s*$/is' => "\\1 DEFAULT ''",
2577
-		'/((char|varchar)' . $num . '\s+not\s+null(\s+collate\s+\w+)?)\s*$/is' => "\\1 DEFAULT ''",
2577
+		'/((char|varchar)'.$num.'\s+not\s+null(\s+collate\s+\w+)?)\s*$/is' => "\\1 DEFAULT ''",
2578 2578
 		'/(datetime\s+not\s+null)\s*$/is' => "\\1 DEFAULT '0000-00-00 00:00:00'",
2579 2579
 		'/(date\s+not\s+null)\s*$/is' => "\\1 DEFAULT '0000-00-00'",
2580 2580
 	];
2581 2581
 
2582 2582
 	// pour l'autoincrement, il faut des INTEGER NOT NULL PRIMARY KEY
2583 2583
 	$remplace_autocinc = [
2584
-		'/(big|small|medium|tiny)?int(eger)?' . $num . '/is' => 'INTEGER'
2584
+		'/(big|small|medium|tiny)?int(eger)?'.$num.'/is' => 'INTEGER'
2585 2585
 	];
2586 2586
 	// pour les int non autoincrement, il faut un DEFAULT
2587 2587
 	$remplace_nonautocinc = [
2588
-		'/((big|small|medium|tiny)?int(eger)?' . $num . '\s+not\s+null)\s*$/is' => "\\1 DEFAULT 0",
2588
+		'/((big|small|medium|tiny)?int(eger)?'.$num.'\s+not\s+null)\s*$/is' => "\\1 DEFAULT 0",
2589 2589
 	];
2590 2590
 
2591 2591
 	if (is_string($query)) {
@@ -2628,7 +2628,7 @@  discard block
 block discarded – undo
2628 2628
 		return str_ireplace('BINARY', 'COLLATE BINARY', $champ);
2629 2629
 	}
2630 2630
 	if (preg_match(',^(char|varchar|(long|small|medium|tiny)?text),i', $champ)) {
2631
-		return $champ . ' COLLATE NOCASE';
2631
+		return $champ.' COLLATE NOCASE';
2632 2632
 	}
2633 2633
 
2634 2634
 	return $champ;
@@ -2718,14 +2718,14 @@  discard block
 block discarded – undo
2718 2718
 		} else {
2719 2719
 			/* simuler le IF EXISTS - version 2 et sqlite < 3.3a */
2720 2720
 			$a = spip_sqlite_showtable($nom, $serveur);
2721
-			if (isset($a['key']['KEY ' . $nom])) {
2721
+			if (isset($a['key']['KEY '.$nom])) {
2722 2722
 				return true;
2723 2723
 			}
2724 2724
 		}
2725 2725
 	}
2726 2726
 
2727 2727
 	$temporary = $temporary ? ' TEMPORARY' : '';
2728
-	$q = "CREATE$temporary TABLE$ifnotexists $nom ($query" . ($keys ? ",$keys" : '') . ")\n";
2728
+	$q = "CREATE$temporary TABLE$ifnotexists $nom ($query".($keys ? ",$keys" : '').")\n";
2729 2729
 
2730 2730
 	return $q;
2731 2731
 }
Please login to merge, or discard this patch.
ecrire/lang/ecrire_pt_br.php 1 patch
Indentation   +839 added lines, -839 removed lines patch added patch discarded remove patch
@@ -4,879 +4,879 @@
 block discarded – undo
4 4
 // ** ne pas modifier le fichier **
5 5
 
6 6
 if (!defined('_ECRIRE_INC_VERSION')) {
7
-	return;
7
+    return;
8 8
 }
9 9
 
10 10
 $GLOBALS[$GLOBALS['idx_lang']] = array(
11 11
 
12
-	// A
13
-	'activer_plugin' => 'Ativar o plugin',
14
-	'affichage' => 'Exibição',
15
-	'aide_non_disponible' => 'Esta parte da ajuda online ainda não está disponível neste idioma.',
16
-	'annuler_recherche' => 'Cancelar a busca',
17
-	'auteur' => 'Autor:',
18
-	'avis_acces_interdit' => 'Acesso negado.',
19
-	'avis_acces_interdit_prive' => 'Você não está autorizado a acessar a página <b>@exec@</b>.',
20
-	'avis_article_modifie' => 'Atenção, @nom_auteur_modif@ editou esta matéria há @date_diff@ minutos',
21
-	'avis_aucun_resultat' => 'Nenhum resultado.',
22
-	'avis_base_inaccessible' => 'Não foi possível conectar com a base de dados @base@.',
23
-	'avis_chemin_invalide_1' => 'O caminho que você escolheu',
24
-	'avis_chemin_invalide_2' => 'não parece válido. Por favor, volte à página anterior e verifique as informações fornecidas.',
25
-	'avis_connexion_echec_1' => 'A conexão com a base de dados falhou.',
26
-	'avis_connexion_echec_2' => 'Volte à página anterior e verifique as informações que você forneceu.',
27
-	'avis_connexion_echec_3' => '<b>N.B.</b> Em diversos servidores, você precisa <b>solicitar</b> a ativação do seu acesso à base de dados antes de poder utilizá-la. Se você não consegue se conectar, verifique se você efetuou esse pedido.',
28
-	'avis_connexion_erreur_creer_base' => 'Não foi possível criar a base de dados.',
29
-	'avis_connexion_erreur_fichier_cle_manquant_1' => 'A instalação deve ser realizada por um webmaster com um backup das chaves e sua senha.',
30
-	'avis_connexion_erreur_fichier_cle_manquant_2' => 'A instalação deve ser feita por um webmaster com um backup das chaves',
31
-	'avis_connexion_erreur_nom_base' => 'O nome da base só pode conter letras, números e traços',
32
-	'avis_connexion_ldap_echec_1' => 'A conexão ao servidor LDAP falhou.',
33
-	'avis_connexion_ldap_echec_2' => 'Volte à página anterior e verifique as informações que você forneceu.',
34
-	'avis_connexion_ldap_echec_3' => 'Opcionalmente, não use o suporte LDAP para importar os usuários.',
35
-	'avis_deplacement_rubrique' => 'Atenção! Esta seção contém @contient_breves@ nota@scb@: se você a transferir, por favor, marque este quadrado.',
36
-	'avis_erreur_connexion_mysql' => 'Erro de conexão SQL',
37
-	'avis_erreur_creation_compte' => 'Erro durante a inicialização da conta',
38
-	'avis_espace_interdit' => '<b>Área interdita</b> <div>O SPIP já está instalado.</div>',
39
-	'avis_lecture_noms_bases_1' => 'O programa de instalação não pôde ler os nomes das bases de dados instaladas.',
40
-	'avis_lecture_noms_bases_2' => 'Ou nenhuma base de dados esta disponível, ou a função que permite listar as bases foi desativada por razões de segurança (o que é o caso de diversos provedores de hospedagem).',
41
-	'avis_lecture_noms_bases_3' => 'No segundo caso, é provável que uma base de dados com o nome do seu login possa ser utilizada:',
42
-	'avis_non_acces_page' => 'Você não tem acesso a esta página.',
43
-	'avis_operation_echec' => 'A operação falhou.',
44
-	'avis_operation_impossible' => 'Operação impossível',
45
-	'avis_suppression_base' => 'ATENÇÃO, a supressão dos dados é irreversível',
12
+    // A
13
+    'activer_plugin' => 'Ativar o plugin',
14
+    'affichage' => 'Exibição',
15
+    'aide_non_disponible' => 'Esta parte da ajuda online ainda não está disponível neste idioma.',
16
+    'annuler_recherche' => 'Cancelar a busca',
17
+    'auteur' => 'Autor:',
18
+    'avis_acces_interdit' => 'Acesso negado.',
19
+    'avis_acces_interdit_prive' => 'Você não está autorizado a acessar a página <b>@exec@</b>.',
20
+    'avis_article_modifie' => 'Atenção, @nom_auteur_modif@ editou esta matéria há @date_diff@ minutos',
21
+    'avis_aucun_resultat' => 'Nenhum resultado.',
22
+    'avis_base_inaccessible' => 'Não foi possível conectar com a base de dados @base@.',
23
+    'avis_chemin_invalide_1' => 'O caminho que você escolheu',
24
+    'avis_chemin_invalide_2' => 'não parece válido. Por favor, volte à página anterior e verifique as informações fornecidas.',
25
+    'avis_connexion_echec_1' => 'A conexão com a base de dados falhou.',
26
+    'avis_connexion_echec_2' => 'Volte à página anterior e verifique as informações que você forneceu.',
27
+    'avis_connexion_echec_3' => '<b>N.B.</b> Em diversos servidores, você precisa <b>solicitar</b> a ativação do seu acesso à base de dados antes de poder utilizá-la. Se você não consegue se conectar, verifique se você efetuou esse pedido.',
28
+    'avis_connexion_erreur_creer_base' => 'Não foi possível criar a base de dados.',
29
+    'avis_connexion_erreur_fichier_cle_manquant_1' => 'A instalação deve ser realizada por um webmaster com um backup das chaves e sua senha.',
30
+    'avis_connexion_erreur_fichier_cle_manquant_2' => 'A instalação deve ser feita por um webmaster com um backup das chaves',
31
+    'avis_connexion_erreur_nom_base' => 'O nome da base só pode conter letras, números e traços',
32
+    'avis_connexion_ldap_echec_1' => 'A conexão ao servidor LDAP falhou.',
33
+    'avis_connexion_ldap_echec_2' => 'Volte à página anterior e verifique as informações que você forneceu.',
34
+    'avis_connexion_ldap_echec_3' => 'Opcionalmente, não use o suporte LDAP para importar os usuários.',
35
+    'avis_deplacement_rubrique' => 'Atenção! Esta seção contém @contient_breves@ nota@scb@: se você a transferir, por favor, marque este quadrado.',
36
+    'avis_erreur_connexion_mysql' => 'Erro de conexão SQL',
37
+    'avis_erreur_creation_compte' => 'Erro durante a inicialização da conta',
38
+    'avis_espace_interdit' => '<b>Área interdita</b> <div>O SPIP já está instalado.</div>',
39
+    'avis_lecture_noms_bases_1' => 'O programa de instalação não pôde ler os nomes das bases de dados instaladas.',
40
+    'avis_lecture_noms_bases_2' => 'Ou nenhuma base de dados esta disponível, ou a função que permite listar as bases foi desativada por razões de segurança (o que é o caso de diversos provedores de hospedagem).',
41
+    'avis_lecture_noms_bases_3' => 'No segundo caso, é provável que uma base de dados com o nome do seu login possa ser utilizada:',
42
+    'avis_non_acces_page' => 'Você não tem acesso a esta página.',
43
+    'avis_operation_echec' => 'A operação falhou.',
44
+    'avis_operation_impossible' => 'Operação impossível',
45
+    'avis_suppression_base' => 'ATENÇÃO, a supressão dos dados é irreversível',
46 46
 
47
-	// B
48
-	'bouton_acces_ldap' => 'Incluir o acesso ao LDAP',
49
-	'bouton_ajouter' => 'Incluir',
50
-	'bouton_annuler' => 'Anular',
51
-	'bouton_cache_activer' => 'Reativar o cache',
52
-	'bouton_cache_desactiver' => 'Desativar temporariamente o cache',
53
-	'bouton_demande_publication' => 'Solicitar a publicação desta matéria',
54
-	'bouton_desactive_tout' => 'Desativar tudo',
55
-	'bouton_desinstaller' => 'Desinstalar',
56
-	'bouton_effacer_tout' => 'Apagar TUDO',
57
-	'bouton_envoyer_message' => 'Mensagem definitiva: enviar',
58
-	'bouton_fermer' => 'Fechar',
59
-	'bouton_mettre_a_jour_base' => 'Atualizar a base de dados',
60
-	'bouton_modifier' => 'Alterar',
61
-	'bouton_radio_afficher' => 'Exibir',
62
-	'bouton_radio_apparaitre_liste_redacteurs_connectes' => 'Exibir nas listas de redatores conectados',
63
-	'bouton_radio_envoi_annonces_adresse' => 'Enviar os avisos para o endereço:',
64
-	'bouton_radio_envoi_liste_nouveautes' => 'Enviar a lista de novidades',
65
-	'bouton_radio_non_apparaitre_liste_redacteurs_connectes' => 'Não exibir na lista de redatores',
66
-	'bouton_radio_non_envoi_annonces_editoriales' => 'Não enviar os avisos editoriais',
67
-	'bouton_redirection' => 'REDIRECIONAMENTO',
68
-	'bouton_reinitialiser_aux_valeurs_par_defaut' => 'Reiniciar aos valores padrão',
69
-	'bouton_relancer_inscription' => 'Reiniciar o registro',
70
-	'bouton_relancer_inscriptions' => 'Reiniciar os registros',
71
-	'bouton_relancer_installation' => 'Reiniciar a instalação',
72
-	'bouton_reset_password' => 'Criar uma nova senha e enviá-la por e-mail',
73
-	'bouton_suivant' => 'Avançar',
74
-	'bouton_tenter_recuperation' => 'Tentar uma reparação',
75
-	'bouton_test_proxy' => 'Testar o proxy',
76
-	'bouton_vider_cache' => 'Limpar o cache',
47
+    // B
48
+    'bouton_acces_ldap' => 'Incluir o acesso ao LDAP',
49
+    'bouton_ajouter' => 'Incluir',
50
+    'bouton_annuler' => 'Anular',
51
+    'bouton_cache_activer' => 'Reativar o cache',
52
+    'bouton_cache_desactiver' => 'Desativar temporariamente o cache',
53
+    'bouton_demande_publication' => 'Solicitar a publicação desta matéria',
54
+    'bouton_desactive_tout' => 'Desativar tudo',
55
+    'bouton_desinstaller' => 'Desinstalar',
56
+    'bouton_effacer_tout' => 'Apagar TUDO',
57
+    'bouton_envoyer_message' => 'Mensagem definitiva: enviar',
58
+    'bouton_fermer' => 'Fechar',
59
+    'bouton_mettre_a_jour_base' => 'Atualizar a base de dados',
60
+    'bouton_modifier' => 'Alterar',
61
+    'bouton_radio_afficher' => 'Exibir',
62
+    'bouton_radio_apparaitre_liste_redacteurs_connectes' => 'Exibir nas listas de redatores conectados',
63
+    'bouton_radio_envoi_annonces_adresse' => 'Enviar os avisos para o endereço:',
64
+    'bouton_radio_envoi_liste_nouveautes' => 'Enviar a lista de novidades',
65
+    'bouton_radio_non_apparaitre_liste_redacteurs_connectes' => 'Não exibir na lista de redatores',
66
+    'bouton_radio_non_envoi_annonces_editoriales' => 'Não enviar os avisos editoriais',
67
+    'bouton_redirection' => 'REDIRECIONAMENTO',
68
+    'bouton_reinitialiser_aux_valeurs_par_defaut' => 'Reiniciar aos valores padrão',
69
+    'bouton_relancer_inscription' => 'Reiniciar o registro',
70
+    'bouton_relancer_inscriptions' => 'Reiniciar os registros',
71
+    'bouton_relancer_installation' => 'Reiniciar a instalação',
72
+    'bouton_reset_password' => 'Criar uma nova senha e enviá-la por e-mail',
73
+    'bouton_suivant' => 'Avançar',
74
+    'bouton_tenter_recuperation' => 'Tentar uma reparação',
75
+    'bouton_test_proxy' => 'Testar o proxy',
76
+    'bouton_vider_cache' => 'Limpar o cache',
77 77
 
78
-	// C
79
-	'cache_modifiable_webmestre' => 'Este parâmetro é modificável pelo webmaster do site.',
80
-	'calendrier_synchro' => 'Se você usa um programa de agenda compatível com <b>iCal</b>, você pode sincronizá-lo com as informações deste site.',
81
-	'config_activer_champs' => 'Ativar os campos a seguir',
82
-	'config_choix_base_sup' => 'indicar uma base neste servidor',
83
-	'config_erreur_base_sup' => 'O SPIP não tem acesso à lista de bases acessíveis',
84
-	'config_info_base_sup' => 'Se você tiver outras bases de dados para serem consultadas via SPIP, em seu servidor SQL ou em outro, o formulário abaixo permite configurá-las. Se você deixar determinados campos em branco, os dados de conexão da base principal serão utilizados.',
85
-	'config_info_base_sup_disponibles' => 'Bases suplementares já consultáveis:',
86
-	'config_info_enregistree' => 'A nova configuração foi gravada',
87
-	'config_info_logos' => 'Cada elemento do site pode ter um ícone, bem como um ícone de «mouseOver»',
88
-	'config_info_logos_utiliser' => 'Usar os ícones',
89
-	'config_info_logos_utiliser_non' => 'Não usar o ícones',
90
-	'config_info_logos_utiliser_survol' => 'Usar os ícones de mouseOver',
91
-	'config_info_logos_utiliser_survol_non' => 'Não usar os ícones de mouseOver',
92
-	'config_info_redirection' => 'Ao ativar esta opção, você poderá criar matérias virtuais, meras referências a matérias publicadas em outros sites ou fora do SPIP.',
93
-	'config_redirection' => 'Matérias virtuais',
94
-	'config_titre_base_sup' => 'Configuração de uma base suplementar',
95
-	'config_titre_base_sup_choix' => 'Escolha uma base suplementar',
96
-	'connexion_ldap' => 'Conexão:',
97
-	'creer_et_associer_un_auteur' => 'Criar e vincular um autor',
78
+    // C
79
+    'cache_modifiable_webmestre' => 'Este parâmetro é modificável pelo webmaster do site.',
80
+    'calendrier_synchro' => 'Se você usa um programa de agenda compatível com <b>iCal</b>, você pode sincronizá-lo com as informações deste site.',
81
+    'config_activer_champs' => 'Ativar os campos a seguir',
82
+    'config_choix_base_sup' => 'indicar uma base neste servidor',
83
+    'config_erreur_base_sup' => 'O SPIP não tem acesso à lista de bases acessíveis',
84
+    'config_info_base_sup' => 'Se você tiver outras bases de dados para serem consultadas via SPIP, em seu servidor SQL ou em outro, o formulário abaixo permite configurá-las. Se você deixar determinados campos em branco, os dados de conexão da base principal serão utilizados.',
85
+    'config_info_base_sup_disponibles' => 'Bases suplementares já consultáveis:',
86
+    'config_info_enregistree' => 'A nova configuração foi gravada',
87
+    'config_info_logos' => 'Cada elemento do site pode ter um ícone, bem como um ícone de «mouseOver»',
88
+    'config_info_logos_utiliser' => 'Usar os ícones',
89
+    'config_info_logos_utiliser_non' => 'Não usar o ícones',
90
+    'config_info_logos_utiliser_survol' => 'Usar os ícones de mouseOver',
91
+    'config_info_logos_utiliser_survol_non' => 'Não usar os ícones de mouseOver',
92
+    'config_info_redirection' => 'Ao ativar esta opção, você poderá criar matérias virtuais, meras referências a matérias publicadas em outros sites ou fora do SPIP.',
93
+    'config_redirection' => 'Matérias virtuais',
94
+    'config_titre_base_sup' => 'Configuração de uma base suplementar',
95
+    'config_titre_base_sup_choix' => 'Escolha uma base suplementar',
96
+    'connexion_ldap' => 'Conexão:',
97
+    'creer_et_associer_un_auteur' => 'Criar e vincular um autor',
98 98
 
99
-	// D
100
-	'date_mot_heures' => 'horas',
99
+    // D
100
+    'date_mot_heures' => 'horas',
101 101
 
102
-	// E
103
-	'ecran_connexion_couleur_principale' => 'Cor principal',
104
-	'ecran_connexion_image_fond' => 'Imagem de fundo',
105
-	'ecran_connexion_image_fond_explication' => 'Usar uma imagem (formato JPEG, 1920x1080 pixels)',
106
-	'ecran_connexion_image_revenir_couleur_defaut' => 'Reverter para a cor padrão',
107
-	'ecran_connexion_titre' => 'Tela de conexão',
108
-	'ecran_securite' => ' + tela de segurança @version@',
109
-	'email' => 'e-mail',
110
-	'email_2' => 'e-mail:',
111
-	'en_savoir_plus' => 'Saiba mais',
112
-	'entree_adresse_annuaire' => 'Endereço do catálogo',
113
-	'entree_adresse_email' => 'Seu endereço de e-mail',
114
-	'entree_adresse_email_2' => 'Endereço de e-mail',
115
-	'entree_base_donnee_1' => 'Endereço da base de dados',
116
-	'entree_base_donnee_2' => '(Frequentemente este endereço corresponde ao do seu site, às vezes ele corresponde ao nome «localhost», algumas vezes ele pode ser deixado completamente em branco.)',
117
-	'entree_biographie' => 'Biografia curta em poucas palavras.',
118
-	'entree_chemin_acces' => '<b>Informe</b> o caminho de acesso:',
119
-	'entree_cle_pgp' => 'Sua chave PGP',
120
-	'entree_cle_pgp_2' => 'Chave PGP',
121
-	'entree_contenu_rubrique' => '(Conteúdo da seção em poucas palavras.)',
122
-	'entree_identifiants_connexion' => 'Seus dados de conexão...',
123
-	'entree_identifiants_connexion_2' => 'Dados de conexão',
124
-	'entree_informations_connexion_ldap' => 'Informe neste formulário os dados de conexão ao seu catálogo LDAP.
102
+    // E
103
+    'ecran_connexion_couleur_principale' => 'Cor principal',
104
+    'ecran_connexion_image_fond' => 'Imagem de fundo',
105
+    'ecran_connexion_image_fond_explication' => 'Usar uma imagem (formato JPEG, 1920x1080 pixels)',
106
+    'ecran_connexion_image_revenir_couleur_defaut' => 'Reverter para a cor padrão',
107
+    'ecran_connexion_titre' => 'Tela de conexão',
108
+    'ecran_securite' => ' + tela de segurança @version@',
109
+    'email' => 'e-mail',
110
+    'email_2' => 'e-mail:',
111
+    'en_savoir_plus' => 'Saiba mais',
112
+    'entree_adresse_annuaire' => 'Endereço do catálogo',
113
+    'entree_adresse_email' => 'Seu endereço de e-mail',
114
+    'entree_adresse_email_2' => 'Endereço de e-mail',
115
+    'entree_base_donnee_1' => 'Endereço da base de dados',
116
+    'entree_base_donnee_2' => '(Frequentemente este endereço corresponde ao do seu site, às vezes ele corresponde ao nome «localhost», algumas vezes ele pode ser deixado completamente em branco.)',
117
+    'entree_biographie' => 'Biografia curta em poucas palavras.',
118
+    'entree_chemin_acces' => '<b>Informe</b> o caminho de acesso:',
119
+    'entree_cle_pgp' => 'Sua chave PGP',
120
+    'entree_cle_pgp_2' => 'Chave PGP',
121
+    'entree_contenu_rubrique' => '(Conteúdo da seção em poucas palavras.)',
122
+    'entree_identifiants_connexion' => 'Seus dados de conexão...',
123
+    'entree_identifiants_connexion_2' => 'Dados de conexão',
124
+    'entree_informations_connexion_ldap' => 'Informe neste formulário os dados de conexão ao seu catálogo LDAP.
125 125
 Estas informações deverão ser fornecidas pelo administrador do sistema ou da rede.',
126
-	'entree_infos_perso' => 'Quem é você?',
127
-	'entree_infos_perso_2' => 'Quem é o autor?',
128
-	'entree_interieur_rubrique' => 'No interior da seção:',
129
-	'entree_liens_sites' => '<b>Link hipertexto</b> (referência, site a visitar...)',
130
-	'entree_login' => 'Seu login',
131
-	'entree_login_connexion_1' => 'O login de conexão',
132
-	'entree_login_connexion_2' => '(Frequentemente corresponde ao seu login para acesso por FTP; às vezes pode ser deixado em branco)',
133
-	'entree_mot_passe' => 'Sua senha',
134
-	'entree_mot_passe_1' => 'A senha de conexão',
135
-	'entree_mot_passe_2' => '(Frequentemente corresponde à sua senha para acesso por FTP; às vezes pode ser deixado em branco)',
136
-	'entree_nom_fichier' => 'Por favor, informe o nome do arquivo @texte_compresse@:',
137
-	'entree_nom_pseudo' => 'Seu nome ou apelido',
138
-	'entree_nom_pseudo_1' => '(Seu nome ou apelido)',
139
-	'entree_nom_pseudo_2' => 'Nome ou apelido',
140
-	'entree_nom_site' => 'O nome do seu site',
141
-	'entree_nom_site_2' => 'Nome do site do autor',
142
-	'entree_nouveau_passe' => 'Nova senha',
143
-	'entree_passe_ldap' => 'Senha',
144
-	'entree_port_annuaire' => 'O número da porta do catálogo',
145
-	'entree_signature' => 'Assinatura',
146
-	'entree_titre_obligatoire' => '<b>Título</b> [Obrigatório]<br />',
147
-	'entree_url' => 'O endereço (URL) do seu site',
148
-	'entree_url_2' => 'Endereço (URL) do site',
149
-	'erreur_connect_deja_existant' => 'Já existe um servidor com esse nome',
150
-	'erreur_contenu_suspect' => 'Texto escapado',
151
-	'erreur_email_deja_existant' => 'Esse endereço de email já está em uso.',
152
-	'erreur_nom_connect_incorrect' => 'Este nome de servidor não é autorizado',
153
-	'erreur_plugin_attribut_balise_manquant' => 'Atributo @attribut@ faltando no tag @balise@.',
154
-	'erreur_plugin_desinstalation_echouee' => 'A desinstalação do plugin falhou. No entanto, você pode desativá-lo.',
155
-	'erreur_plugin_fichier_absent' => 'Arquivo ausente',
156
-	'erreur_plugin_fichier_def_absent' => 'Arquivo de definição ausente',
157
-	'erreur_plugin_nom_fonction_interdit' => 'Nome de função não permitido',
158
-	'erreur_plugin_nom_manquant' => 'Nome do plugin ausente',
159
-	'erreur_plugin_prefix_manquant' => 'Área de nomeação do plugin não definida',
160
-	'erreur_plugin_tag_plugin_absent' => '&lt;plugin&gt; ausente no arquivo de definição',
161
-	'erreur_plugin_version_manquant' => 'Versão do plugin ausente',
162
-	'erreur_type_fichier' => 'Tipo de arquivo incorreto',
126
+    'entree_infos_perso' => 'Quem é você?',
127
+    'entree_infos_perso_2' => 'Quem é o autor?',
128
+    'entree_interieur_rubrique' => 'No interior da seção:',
129
+    'entree_liens_sites' => '<b>Link hipertexto</b> (referência, site a visitar...)',
130
+    'entree_login' => 'Seu login',
131
+    'entree_login_connexion_1' => 'O login de conexão',
132
+    'entree_login_connexion_2' => '(Frequentemente corresponde ao seu login para acesso por FTP; às vezes pode ser deixado em branco)',
133
+    'entree_mot_passe' => 'Sua senha',
134
+    'entree_mot_passe_1' => 'A senha de conexão',
135
+    'entree_mot_passe_2' => '(Frequentemente corresponde à sua senha para acesso por FTP; às vezes pode ser deixado em branco)',
136
+    'entree_nom_fichier' => 'Por favor, informe o nome do arquivo @texte_compresse@:',
137
+    'entree_nom_pseudo' => 'Seu nome ou apelido',
138
+    'entree_nom_pseudo_1' => '(Seu nome ou apelido)',
139
+    'entree_nom_pseudo_2' => 'Nome ou apelido',
140
+    'entree_nom_site' => 'O nome do seu site',
141
+    'entree_nom_site_2' => 'Nome do site do autor',
142
+    'entree_nouveau_passe' => 'Nova senha',
143
+    'entree_passe_ldap' => 'Senha',
144
+    'entree_port_annuaire' => 'O número da porta do catálogo',
145
+    'entree_signature' => 'Assinatura',
146
+    'entree_titre_obligatoire' => '<b>Título</b> [Obrigatório]<br />',
147
+    'entree_url' => 'O endereço (URL) do seu site',
148
+    'entree_url_2' => 'Endereço (URL) do site',
149
+    'erreur_connect_deja_existant' => 'Já existe um servidor com esse nome',
150
+    'erreur_contenu_suspect' => 'Texto escapado',
151
+    'erreur_email_deja_existant' => 'Esse endereço de email já está em uso.',
152
+    'erreur_nom_connect_incorrect' => 'Este nome de servidor não é autorizado',
153
+    'erreur_plugin_attribut_balise_manquant' => 'Atributo @attribut@ faltando no tag @balise@.',
154
+    'erreur_plugin_desinstalation_echouee' => 'A desinstalação do plugin falhou. No entanto, você pode desativá-lo.',
155
+    'erreur_plugin_fichier_absent' => 'Arquivo ausente',
156
+    'erreur_plugin_fichier_def_absent' => 'Arquivo de definição ausente',
157
+    'erreur_plugin_nom_fonction_interdit' => 'Nome de função não permitido',
158
+    'erreur_plugin_nom_manquant' => 'Nome do plugin ausente',
159
+    'erreur_plugin_prefix_manquant' => 'Área de nomeação do plugin não definida',
160
+    'erreur_plugin_tag_plugin_absent' => '&lt;plugin&gt; ausente no arquivo de definição',
161
+    'erreur_plugin_version_manquant' => 'Versão do plugin ausente',
162
+    'erreur_type_fichier' => 'Tipo de arquivo incorreto',
163 163
 
164
-	// H
165
-	'htaccess_a_simuler' => 'Aviso: a configuração do seu servidor HTTP não leva em conta os arquivos @htaccess@. Para poder garantir um bom nível de segurança, é preciso que você altere esta configuração, ou que as constantes @constantes@ (definíveis no arquivo mes_options.php) tenham como valor os diretórios abaixo de @document_root@.',
166
-	'htaccess_inoperant' => 'htaccess inoperante',
164
+    // H
165
+    'htaccess_a_simuler' => 'Aviso: a configuração do seu servidor HTTP não leva em conta os arquivos @htaccess@. Para poder garantir um bom nível de segurança, é preciso que você altere esta configuração, ou que as constantes @constantes@ (definíveis no arquivo mes_options.php) tenham como valor os diretórios abaixo de @document_root@.',
166
+    'htaccess_inoperant' => 'htaccess inoperante',
167 167
 
168
-	// I
169
-	'ical_info1' => 'Esta página apresenta diversos métodos para se manter a par da atividade deste site.',
170
-	'ical_info2' => 'Para mais informações sobre todas estas técnicas, não deixe de consultar <a href="@spipnet@">a documentação do SPIP</a>.',
171
-	'ical_info_calendrier' => 'Dois calendários estão à sua disposição. O primeiro é um mapa do site anunciando todas as matérias publicadas. O segundo contém os avisos editoriais bem como suas últimas mensagens privadas: ele lhe é reservado graças a uma chave pessoal, que você pode alterar a qualquer momento ao renovar a sua senha.',
172
-	'ical_methode_http' => 'Transferência',
173
-	'ical_methode_webcal' => 'Sincronização (webcal://)',
174
-	'ical_texte_prive' => 'Este calendário, de uso estritamente pessoal, o informa sobre a atividade editorial privada deste site (tarefas e encontros pessoais, matérias e notas propostas...).',
175
-	'ical_texte_public' => 'Este calendário permite-lhe acompanhar a atividade pública deste site (matérias e notas publicadas).',
176
-	'ical_texte_rss' => 'Você pode sindicar as novidades deste site em qualquer leitor de arquivos em formato XML/RSS (Rich Site Summary). É também o formato que permite ao SPIP ler as novidades publicadas em outros sites que utilizem um formato de troca de informações compatível (sites sindicados).',
177
-	'ical_titre_js' => 'Javascript',
178
-	'ical_titre_mailing' => 'Mailing-list',
179
-	'ical_titre_rss' => 'Arquivos de sindicação',
180
-	'icone_accueil' => 'Página Inicial',
181
-	'icone_activer_cookie' => 'Ativar o coockie de correspondência',
182
-	'icone_activite' => 'Atividade',
183
-	'icone_admin_plugin' => 'Gerenciamento dos plugins',
184
-	'icone_administration' => 'Manutenção',
185
-	'icone_afficher_auteurs' => 'Exibir os autores',
186
-	'icone_afficher_visiteurs' => 'Exibir os visitantes',
187
-	'icone_arret_discussion' => 'Não participar mais desta discussão',
188
-	'icone_calendrier' => 'Calendário',
189
-	'icone_configuration' => 'Configuração',
190
-	'icone_creer_auteur' => 'Criar um novo autor e vinculá-lo a esta matéria',
191
-	'icone_creer_mot_cle' => 'Criar uma nova palavra-chave e vinculá-la a esta matéria',
192
-	'icone_creer_rubrique_2' => 'Criar uma nova seção',
193
-	'icone_developpement' => 'Desenvolvimento',
194
-	'icone_edition' => 'Edição',
195
-	'icone_ma_langue' => 'Meu idioma',
196
-	'icone_mes_infos' => 'Minhas informações',
197
-	'icone_mes_preferences' => 'Minhas preferências',
198
-	'icone_modifier_article' => 'Editar esta matéria',
199
-	'icone_modifier_rubrique' => 'Editar esta seção',
200
-	'icone_publication' => 'Publicação',
201
-	'icone_relancer_signataire' => 'Reconfirmar o assinante',
202
-	'icone_retour' => 'Voltar',
203
-	'icone_retour_article' => 'Voltar para a matéria',
204
-	'icone_squelette' => 'Templates',
205
-	'icone_suivi_publication' => 'Acompanhamento da publicação',
206
-	'icone_supprimer_cookie' => 'Excluir o cookie de correspondência',
207
-	'icone_supprimer_rubrique' => 'Excluir esta seção',
208
-	'icone_supprimer_signature' => 'Excluir esta assinatura',
209
-	'icone_valider_signature' => 'Validar esta assinatura',
210
-	'image_administrer_rubrique' => 'Você pode administrar esta seção',
211
-	'impossible_modifier_login_auteur' => 'Não foi possível alterar o login.',
212
-	'impossible_modifier_pass_auteur' => 'Não foi possível alterar a senha.',
213
-	'info_1_article' => '1 matéria',
214
-	'info_1_auteur' => '1 autor',
215
-	'info_1_message' => '1 mensagem',
216
-	'info_1_mot_cle' => '1 palavra-chave',
217
-	'info_1_rubrique' => '1 seção',
218
-	'info_1_visiteur' => '1 visitante',
219
-	'info_activer_cookie' => 'Você pode ativar um <b>cookie de correspondência</b>, que lhe permitirá passar facilmente do site público para o site privado.',
220
-	'info_activer_menu_developpement' => 'Exibir o menu Desenvolvimento',
221
-	'info_admin_etre_webmestre' => 'Me conceder direitos de webmaster',
222
-	'info_admin_je_suis_webmestre' => 'Eu sou <b>webmaster</b>',
223
-	'info_admin_statuer_webmestre' => 'Dar a este administrador os direitos de webmaster',
224
-	'info_admin_webmestre' => 'Este administrador é <b>webmaster</b>',
225
-	'info_administrateur' => 'Administrador',
226
-	'info_administrateur_1' => 'Administrador',
227
-	'info_administrateur_2' => 'do site (<i>use com cuidado</i>)',
228
-	'info_administrateur_site_01' => 'Se você é administrador do site, por favor,',
229
-	'info_administrateur_site_02' => 'clique neste link',
230
-	'info_administrateurs' => 'Administradores',
231
-	'info_administrer_rubrique' => 'Você pode administrar esta seção',
232
-	'info_adresse' => 'no endereço:',
233
-	'info_adresse_desinscription' => 'Endereço da desinscrição:',
234
-	'info_adresse_url' => 'Endereço (URL) do site público',
235
-	'info_afficher_par_nb' => 'Exibir por',
236
-	'info_aide_en_ligne' => 'Ajuda online SPIP',
237
-	'info_ajout_image' => 'Assim que você incluir imagens e documentos anexados a uma matéria, o SPIP pode criar para você, automaticamente, ícones (miniaturas) das imagens inseridas. Isto permite, por exemplo, criar automaticamente uma galeria ou um portfólio.',
238
-	'info_ajouter_rubrique' => 'Incluir outra seção para administrar:',
239
-	'info_annonce_nouveautes' => 'Aviso das novidades',
240
-	'info_article' => 'matéria',
241
-	'info_article_2' => 'matérias',
242
-	'info_article_a_paraitre' => 'As matérias pós-datadas para exibição',
243
-	'info_articles_02' => 'matérias',
244
-	'info_articles_2' => 'Matérias',
245
-	'info_articles_auteur' => 'As matérias deste autor',
246
-	'info_articles_miens' => 'Minhas matérias',
247
-	'info_articles_tous' => 'Todas as matérias',
248
-	'info_articles_trouves' => 'Matérias encontradas',
249
-	'info_attente_validation' => 'Suas matérias aguardando validação',
250
-	'info_aucun_article' => 'Nenhuma matéria',
251
-	'info_aucun_auteur' => 'Nenhum autor',
252
-	'info_aucun_message' => 'Nenhuma mensagem',
253
-	'info_aucun_rubrique' => 'Nenhuma seção',
254
-	'info_aujourdhui' => 'Hoje:',
255
-	'info_auteur_gere_rubriques' => 'Este autor gerencia as seções a seguir:',
256
-	'info_auteur_gere_toutes_rubriques' => 'Este autor gerencia <b>todas as seções</b>',
257
-	'info_auteur_gere_toutes_rubriques_2' => 'Eu gerencio <b>todas as seções</b>',
258
-	'info_auteurs' => 'Os autores',
259
-	'info_auteurs_par_tri' => 'Autores@partri@',
260
-	'info_auteurs_trouves' => 'Autores encontrados',
261
-	'info_authentification_externe' => 'Autenticação externa',
262
-	'info_avertissement' => 'Aviso',
263
-	'info_barre_outils' => 'com sua barra de ferramentas?',
264
-	'info_base_installee' => 'A estrutura da sua base de dados foi instalada.',
265
-	'info_bio' => 'Biografia',
266
-	'info_cache_desactive' => 'O cache está temporariamente desativado.',
267
-	'info_chapeau' => 'Introdução',
268
-	'info_chapeau_2' => 'Introdução:',
269
-	'info_chemin_acces_1' => 'Opções: <b>Caminho de acesso no diretório</b>',
270
-	'info_chemin_acces_2' => 'A partir daqui, você deverá configurar o caminho de acesso às informações do diretório. Esta informação é indispensávelpara ler os perfis dos usuários no diretório.',
271
-	'info_chemin_acces_annuaire' => 'Opções: <b>Caminho de acesso no diretório</b>',
272
-	'info_choix_base' => 'Terceiro passo:',
273
-	'info_classement_1' => '<sup><u>o</u></sup> em @liste@',
274
-	'info_classement_2' => '<sup><u>a</u></sup> em @liste@',
275
-	'info_code_acces' => 'Não se esqueça dos seus dados de conexão!',
276
-	'info_config_suivi' => 'Se este endereço corresponde a uma mailing-list, você pode informar abaixo o endereço onde os participantes do site podem se inscrever. Este endereço pode ser um URL (por exemplo a página de inscrição na lista pela Web), ou um endereço de e-mail dotado de um assunto específico (par exemple: <tt>@adresse_suivi@?subject=subscribe</tt>):',
277
-	'info_config_suivi_explication' => 'Voce pode assinar a  mailing-list deste site. Você irá receber por e-mail, os avisos de matérias e notas propostos para publicação.',
278
-	'info_confirmer_passe' => 'Confirmar a nova senha:',
279
-	'info_conflit_edition_avis_non_sauvegarde' => 'Atenção os campos a seguir foram alterados por terceiros. As suas modificações nestes campos não foram, por isso, gravadas.',
280
-	'info_conflit_edition_differences' => 'Diferenças:',
281
-	'info_conflit_edition_version_enregistree' => 'A versão gravada:',
282
-	'info_conflit_edition_votre_version' => 'A sua versão:',
283
-	'info_connexion_base' => 'Teste de conexão com a base',
284
-	'info_connexion_base_donnee' => 'Conexão à sua base de dados',
285
-	'info_connexion_ldap_ok' => '<b>A conexão LDAP foi efetuada.</b><p>Você pode passar para o próximo passo.</p>',
286
-	'info_connexion_mysql' => 'Sua conexão SQL',
287
-	'info_connexion_ok' => 'A conexão foi obtida.',
288
-	'info_contact' => 'Contato',
289
-	'info_contenu_articles' => 'Conteúdo das matérias',
290
-	'info_contributions' => 'Contribuições',
291
-	'info_creation_paragraphe' => 'Para criar parágrafos, basta deixar linhas em branco.',
292
-	'info_creation_rubrique' => 'Antes de poder escrever matérias, você deve criar, pelo menos, uma seção.<br />',
293
-	'info_creation_tables' => 'Criação das tabelas da base',
294
-	'info_creer_base' => '<b>Criar</b> uma nova base de dados:',
295
-	'info_dans_rubrique' => 'Na seção:',
296
-	'info_date_publication_anterieure' => 'Data de redação anterior:',
297
-	'info_date_referencement' => 'DATA DE REFERENCIAMENTO DESTE SITE:',
298
-	'info_derniere_etape' => 'Terminou!',
299
-	'info_descriptif' => 'Descrição:',
300
-	'info_desinstaller_plugin' => 'exclui os dados e desativa o plugin',
301
-	'info_discussion_cours' => 'Discussões em andamento',
302
-	'info_ecrire_article' => 'Antes de poder escrever matérias, você precisa criar pelo menos uma seção.',
303
-	'info_email_envoi' => 'Endereço de e-mail de envio (opcional)',
304
-	'info_email_envoi_txt' => 'Informe aqui o endereço a ser utilizado para enviar os e-mails (por padrão, o endereço de destino será usado como endereço de envio):',
305
-	'info_email_webmestre' => 'Endereço de e-mail do webmaster',
306
-	'info_envoi_email_automatique' => 'Envio automático de e-mails',
307
-	'info_envoyer_maintenant' => 'Enviar agora',
308
-	'info_etape_suivante' => 'Avançar para a próxima etapa',
309
-	'info_etape_suivante_1' => 'Você pode passar para a próxima etapa.',
310
-	'info_etape_suivante_2' => 'Você pode passar para a próxima etapa.',
311
-	'info_exceptions_proxy' => 'Exceções para o proxy',
312
-	'info_exportation_base' => 'exportação da base para @archive@',
313
-	'info_facilite_suivi_activite' => 'Para facilitar o acompanhamento da atividade editorial do site, o SPIP pode avisar por e-mail, por exemplo para uma mailing-list de redatores, os avisos dos pedidos de publicação e das validações das matérias. Informe um ou mais endereços, separados por vírgula.',
314
-	'info_fichiers_authent' => 'Arquivos de autenticação «.htpasswd»',
315
-	'info_forums_abo_invites' => 'O seu site comporta fóruns por assinatura; os visitantes são convidados a se registrar no site público.',
316
-	'info_gauche_admin_tech' => '<b>Esta página é acessível apenas aos responsáveis pelo site.</b><p>Ela dá acesso às diferentes funções de manutenção técnica. Algumas dessas funções possuem um processo específico de autenticação que exige acesso FTP ao website.</p>',
317
-	'info_gauche_admin_vider' => '<b>Esta página é acessível apenas aos responsáveis pelo site.</b><p> Ela dá acesso às diferentes funções de manutenção técnica. Algumas dessas funções possuem um processo específico de autenticação que exige acesso FTP ao website.</p>',
318
-	'info_gauche_auteurs' => 'Aqui, você encontra todos os autores do site.
168
+    // I
169
+    'ical_info1' => 'Esta página apresenta diversos métodos para se manter a par da atividade deste site.',
170
+    'ical_info2' => 'Para mais informações sobre todas estas técnicas, não deixe de consultar <a href="@spipnet@">a documentação do SPIP</a>.',
171
+    'ical_info_calendrier' => 'Dois calendários estão à sua disposição. O primeiro é um mapa do site anunciando todas as matérias publicadas. O segundo contém os avisos editoriais bem como suas últimas mensagens privadas: ele lhe é reservado graças a uma chave pessoal, que você pode alterar a qualquer momento ao renovar a sua senha.',
172
+    'ical_methode_http' => 'Transferência',
173
+    'ical_methode_webcal' => 'Sincronização (webcal://)',
174
+    'ical_texte_prive' => 'Este calendário, de uso estritamente pessoal, o informa sobre a atividade editorial privada deste site (tarefas e encontros pessoais, matérias e notas propostas...).',
175
+    'ical_texte_public' => 'Este calendário permite-lhe acompanhar a atividade pública deste site (matérias e notas publicadas).',
176
+    'ical_texte_rss' => 'Você pode sindicar as novidades deste site em qualquer leitor de arquivos em formato XML/RSS (Rich Site Summary). É também o formato que permite ao SPIP ler as novidades publicadas em outros sites que utilizem um formato de troca de informações compatível (sites sindicados).',
177
+    'ical_titre_js' => 'Javascript',
178
+    'ical_titre_mailing' => 'Mailing-list',
179
+    'ical_titre_rss' => 'Arquivos de sindicação',
180
+    'icone_accueil' => 'Página Inicial',
181
+    'icone_activer_cookie' => 'Ativar o coockie de correspondência',
182
+    'icone_activite' => 'Atividade',
183
+    'icone_admin_plugin' => 'Gerenciamento dos plugins',
184
+    'icone_administration' => 'Manutenção',
185
+    'icone_afficher_auteurs' => 'Exibir os autores',
186
+    'icone_afficher_visiteurs' => 'Exibir os visitantes',
187
+    'icone_arret_discussion' => 'Não participar mais desta discussão',
188
+    'icone_calendrier' => 'Calendário',
189
+    'icone_configuration' => 'Configuração',
190
+    'icone_creer_auteur' => 'Criar um novo autor e vinculá-lo a esta matéria',
191
+    'icone_creer_mot_cle' => 'Criar uma nova palavra-chave e vinculá-la a esta matéria',
192
+    'icone_creer_rubrique_2' => 'Criar uma nova seção',
193
+    'icone_developpement' => 'Desenvolvimento',
194
+    'icone_edition' => 'Edição',
195
+    'icone_ma_langue' => 'Meu idioma',
196
+    'icone_mes_infos' => 'Minhas informações',
197
+    'icone_mes_preferences' => 'Minhas preferências',
198
+    'icone_modifier_article' => 'Editar esta matéria',
199
+    'icone_modifier_rubrique' => 'Editar esta seção',
200
+    'icone_publication' => 'Publicação',
201
+    'icone_relancer_signataire' => 'Reconfirmar o assinante',
202
+    'icone_retour' => 'Voltar',
203
+    'icone_retour_article' => 'Voltar para a matéria',
204
+    'icone_squelette' => 'Templates',
205
+    'icone_suivi_publication' => 'Acompanhamento da publicação',
206
+    'icone_supprimer_cookie' => 'Excluir o cookie de correspondência',
207
+    'icone_supprimer_rubrique' => 'Excluir esta seção',
208
+    'icone_supprimer_signature' => 'Excluir esta assinatura',
209
+    'icone_valider_signature' => 'Validar esta assinatura',
210
+    'image_administrer_rubrique' => 'Você pode administrar esta seção',
211
+    'impossible_modifier_login_auteur' => 'Não foi possível alterar o login.',
212
+    'impossible_modifier_pass_auteur' => 'Não foi possível alterar a senha.',
213
+    'info_1_article' => '1 matéria',
214
+    'info_1_auteur' => '1 autor',
215
+    'info_1_message' => '1 mensagem',
216
+    'info_1_mot_cle' => '1 palavra-chave',
217
+    'info_1_rubrique' => '1 seção',
218
+    'info_1_visiteur' => '1 visitante',
219
+    'info_activer_cookie' => 'Você pode ativar um <b>cookie de correspondência</b>, que lhe permitirá passar facilmente do site público para o site privado.',
220
+    'info_activer_menu_developpement' => 'Exibir o menu Desenvolvimento',
221
+    'info_admin_etre_webmestre' => 'Me conceder direitos de webmaster',
222
+    'info_admin_je_suis_webmestre' => 'Eu sou <b>webmaster</b>',
223
+    'info_admin_statuer_webmestre' => 'Dar a este administrador os direitos de webmaster',
224
+    'info_admin_webmestre' => 'Este administrador é <b>webmaster</b>',
225
+    'info_administrateur' => 'Administrador',
226
+    'info_administrateur_1' => 'Administrador',
227
+    'info_administrateur_2' => 'do site (<i>use com cuidado</i>)',
228
+    'info_administrateur_site_01' => 'Se você é administrador do site, por favor,',
229
+    'info_administrateur_site_02' => 'clique neste link',
230
+    'info_administrateurs' => 'Administradores',
231
+    'info_administrer_rubrique' => 'Você pode administrar esta seção',
232
+    'info_adresse' => 'no endereço:',
233
+    'info_adresse_desinscription' => 'Endereço da desinscrição:',
234
+    'info_adresse_url' => 'Endereço (URL) do site público',
235
+    'info_afficher_par_nb' => 'Exibir por',
236
+    'info_aide_en_ligne' => 'Ajuda online SPIP',
237
+    'info_ajout_image' => 'Assim que você incluir imagens e documentos anexados a uma matéria, o SPIP pode criar para você, automaticamente, ícones (miniaturas) das imagens inseridas. Isto permite, por exemplo, criar automaticamente uma galeria ou um portfólio.',
238
+    'info_ajouter_rubrique' => 'Incluir outra seção para administrar:',
239
+    'info_annonce_nouveautes' => 'Aviso das novidades',
240
+    'info_article' => 'matéria',
241
+    'info_article_2' => 'matérias',
242
+    'info_article_a_paraitre' => 'As matérias pós-datadas para exibição',
243
+    'info_articles_02' => 'matérias',
244
+    'info_articles_2' => 'Matérias',
245
+    'info_articles_auteur' => 'As matérias deste autor',
246
+    'info_articles_miens' => 'Minhas matérias',
247
+    'info_articles_tous' => 'Todas as matérias',
248
+    'info_articles_trouves' => 'Matérias encontradas',
249
+    'info_attente_validation' => 'Suas matérias aguardando validação',
250
+    'info_aucun_article' => 'Nenhuma matéria',
251
+    'info_aucun_auteur' => 'Nenhum autor',
252
+    'info_aucun_message' => 'Nenhuma mensagem',
253
+    'info_aucun_rubrique' => 'Nenhuma seção',
254
+    'info_aujourdhui' => 'Hoje:',
255
+    'info_auteur_gere_rubriques' => 'Este autor gerencia as seções a seguir:',
256
+    'info_auteur_gere_toutes_rubriques' => 'Este autor gerencia <b>todas as seções</b>',
257
+    'info_auteur_gere_toutes_rubriques_2' => 'Eu gerencio <b>todas as seções</b>',
258
+    'info_auteurs' => 'Os autores',
259
+    'info_auteurs_par_tri' => 'Autores@partri@',
260
+    'info_auteurs_trouves' => 'Autores encontrados',
261
+    'info_authentification_externe' => 'Autenticação externa',
262
+    'info_avertissement' => 'Aviso',
263
+    'info_barre_outils' => 'com sua barra de ferramentas?',
264
+    'info_base_installee' => 'A estrutura da sua base de dados foi instalada.',
265
+    'info_bio' => 'Biografia',
266
+    'info_cache_desactive' => 'O cache está temporariamente desativado.',
267
+    'info_chapeau' => 'Introdução',
268
+    'info_chapeau_2' => 'Introdução:',
269
+    'info_chemin_acces_1' => 'Opções: <b>Caminho de acesso no diretório</b>',
270
+    'info_chemin_acces_2' => 'A partir daqui, você deverá configurar o caminho de acesso às informações do diretório. Esta informação é indispensávelpara ler os perfis dos usuários no diretório.',
271
+    'info_chemin_acces_annuaire' => 'Opções: <b>Caminho de acesso no diretório</b>',
272
+    'info_choix_base' => 'Terceiro passo:',
273
+    'info_classement_1' => '<sup><u>o</u></sup> em @liste@',
274
+    'info_classement_2' => '<sup><u>a</u></sup> em @liste@',
275
+    'info_code_acces' => 'Não se esqueça dos seus dados de conexão!',
276
+    'info_config_suivi' => 'Se este endereço corresponde a uma mailing-list, você pode informar abaixo o endereço onde os participantes do site podem se inscrever. Este endereço pode ser um URL (por exemplo a página de inscrição na lista pela Web), ou um endereço de e-mail dotado de um assunto específico (par exemple: <tt>@adresse_suivi@?subject=subscribe</tt>):',
277
+    'info_config_suivi_explication' => 'Voce pode assinar a  mailing-list deste site. Você irá receber por e-mail, os avisos de matérias e notas propostos para publicação.',
278
+    'info_confirmer_passe' => 'Confirmar a nova senha:',
279
+    'info_conflit_edition_avis_non_sauvegarde' => 'Atenção os campos a seguir foram alterados por terceiros. As suas modificações nestes campos não foram, por isso, gravadas.',
280
+    'info_conflit_edition_differences' => 'Diferenças:',
281
+    'info_conflit_edition_version_enregistree' => 'A versão gravada:',
282
+    'info_conflit_edition_votre_version' => 'A sua versão:',
283
+    'info_connexion_base' => 'Teste de conexão com a base',
284
+    'info_connexion_base_donnee' => 'Conexão à sua base de dados',
285
+    'info_connexion_ldap_ok' => '<b>A conexão LDAP foi efetuada.</b><p>Você pode passar para o próximo passo.</p>',
286
+    'info_connexion_mysql' => 'Sua conexão SQL',
287
+    'info_connexion_ok' => 'A conexão foi obtida.',
288
+    'info_contact' => 'Contato',
289
+    'info_contenu_articles' => 'Conteúdo das matérias',
290
+    'info_contributions' => 'Contribuições',
291
+    'info_creation_paragraphe' => 'Para criar parágrafos, basta deixar linhas em branco.',
292
+    'info_creation_rubrique' => 'Antes de poder escrever matérias, você deve criar, pelo menos, uma seção.<br />',
293
+    'info_creation_tables' => 'Criação das tabelas da base',
294
+    'info_creer_base' => '<b>Criar</b> uma nova base de dados:',
295
+    'info_dans_rubrique' => 'Na seção:',
296
+    'info_date_publication_anterieure' => 'Data de redação anterior:',
297
+    'info_date_referencement' => 'DATA DE REFERENCIAMENTO DESTE SITE:',
298
+    'info_derniere_etape' => 'Terminou!',
299
+    'info_descriptif' => 'Descrição:',
300
+    'info_desinstaller_plugin' => 'exclui os dados e desativa o plugin',
301
+    'info_discussion_cours' => 'Discussões em andamento',
302
+    'info_ecrire_article' => 'Antes de poder escrever matérias, você precisa criar pelo menos uma seção.',
303
+    'info_email_envoi' => 'Endereço de e-mail de envio (opcional)',
304
+    'info_email_envoi_txt' => 'Informe aqui o endereço a ser utilizado para enviar os e-mails (por padrão, o endereço de destino será usado como endereço de envio):',
305
+    'info_email_webmestre' => 'Endereço de e-mail do webmaster',
306
+    'info_envoi_email_automatique' => 'Envio automático de e-mails',
307
+    'info_envoyer_maintenant' => 'Enviar agora',
308
+    'info_etape_suivante' => 'Avançar para a próxima etapa',
309
+    'info_etape_suivante_1' => 'Você pode passar para a próxima etapa.',
310
+    'info_etape_suivante_2' => 'Você pode passar para a próxima etapa.',
311
+    'info_exceptions_proxy' => 'Exceções para o proxy',
312
+    'info_exportation_base' => 'exportação da base para @archive@',
313
+    'info_facilite_suivi_activite' => 'Para facilitar o acompanhamento da atividade editorial do site, o SPIP pode avisar por e-mail, por exemplo para uma mailing-list de redatores, os avisos dos pedidos de publicação e das validações das matérias. Informe um ou mais endereços, separados por vírgula.',
314
+    'info_fichiers_authent' => 'Arquivos de autenticação «.htpasswd»',
315
+    'info_forums_abo_invites' => 'O seu site comporta fóruns por assinatura; os visitantes são convidados a se registrar no site público.',
316
+    'info_gauche_admin_tech' => '<b>Esta página é acessível apenas aos responsáveis pelo site.</b><p>Ela dá acesso às diferentes funções de manutenção técnica. Algumas dessas funções possuem um processo específico de autenticação que exige acesso FTP ao website.</p>',
317
+    'info_gauche_admin_vider' => '<b>Esta página é acessível apenas aos responsáveis pelo site.</b><p> Ela dá acesso às diferentes funções de manutenção técnica. Algumas dessas funções possuem um processo específico de autenticação que exige acesso FTP ao website.</p>',
318
+    'info_gauche_auteurs' => 'Aqui, você encontra todos os autores do site.
319 319
 Os status dos autores é indicado pela côr dos ícones (administrador = verde; redator = amarelo).',
320
-	'info_gauche_auteurs_exterieurs' => 'Os autores externos, sem acesso ao site, são indicados por um ícone azul;
320
+    'info_gauche_auteurs_exterieurs' => 'Os autores externos, sem acesso ao site, são indicados por um ícone azul;
321 321
 os autores excluídos por um ícone cinza.',
322
-	'info_gauche_messagerie' => 'O sistema interno de mensagens permite a troca de mensagens entre redatores, a criação de lembretes (para seu uso pessoal) ou exibir anúncios na página de entrada da área privada (se você for administrador).',
323
-	'info_gauche_statistiques_referers' => 'Esta página apresenta a lista dos  <i>referers</i>, ou seja, dos sites que contêm links para o seu site, unicamente para ontem e hoje; esta lista é zerada a cada 24 horas.',
324
-	'info_gauche_visiteurs_enregistres' => 'Você encontrará aqui os visitantes registrados na área pública do site (fóruns por assinatura).',
325
-	'info_generation_miniatures_images' => 'Geração de miniaturas das imagens',
326
-	'info_gerer_trad_objets' => '@objets@ : gerenciar os links de tradução',
327
-	'info_hebergeur_desactiver_envoi_email' => 'Alguns serviços de hospedagem desativam o envio automático de e-mails a partir dos seus servidores. Neste caso, as funcionalidades a seguir não funcionarão.',
328
-	'info_hier' => 'ontem:',
329
-	'info_identification_publique' => 'Sua identificação pública...',
330
-	'info_image_process' => 'Por favor, selecione o melhor método de criação dos ícones, clicando na imagem correspondente.',
331
-	'info_image_process2' => 'Se nenhuma imagem está sendo exibida, o servidor que hospeda o seu site não foi configurado para utilizar essas ferramentas. Se você deseja usar essas funções, contate o responsável técnico e solicite as extensões «GD» ou «Imagick».',
332
-	'info_images_auto' => 'Imagens calculadas automaticamente',
333
-	'info_informations_personnelles' => 'Informações pessoais',
334
-	'info_inscription' => 'Inscrição online',
335
-	'info_inscription_automatique' => 'Inscrição automática de novos redatores',
336
-	'info_jeu_caractere' => 'Conjunto de caracteres do site',
337
-	'info_jours' => 'dias',
338
-	'info_laisser_champs_vides' => 'deixar estes campos vazios)',
339
-	'info_langues' => 'Idiomas do site',
340
-	'info_ldap_ok' => 'A autenticação LDAP está instalada.',
341
-	'info_lien_hypertexte' => 'Link hipertexto:',
342
-	'info_liste_nouveautes_envoyee' => 'A lista de novidades foi enviada',
343
-	'info_liste_redacteurs_connectes' => 'Lista de redatores conectados',
344
-	'info_login_existant' => 'Este login já está cadastrado.',
345
-	'info_login_trop_court' => 'Login muito curto.',
346
-	'info_login_trop_court_car_pluriel' => 'O login deve conter pelo menos @nb@ caracteres.',
347
-	'info_logos' => 'Os ícones',
348
-	'info_maximum' => 'máximo:',
349
-	'info_meme_rubrique' => 'Na mesma seção',
350
-	'info_message_en_redaction' => 'Suas mensagens em fase de redação',
351
-	'info_message_technique' => 'Mensagem técnica:',
352
-	'info_messagerie_interne' => 'Mensageria interna',
353
-	'info_mise_a_niveau_base' => 'atualização da sua base SQL',
354
-	'info_mise_a_niveau_base_2' => '{{Atenção!}} Você instalou uma versão de arquivos SPIP {anterior} à que estava instalada no site: a sua base de dados corre o risco de se corromper e o seu site não funcionar mais.<br />{{Reinstale os arquivos SPIP.}}',
355
-	'info_modification_enregistree' => 'Sua alteração foi gravada',
356
-	'info_modifier_auteur' => 'Editar o autor:',
357
-	'info_modifier_rubrique' => 'Editar a seção:',
358
-	'info_modifier_titre' => 'Editar: @titre@',
359
-	'info_mon_site_spip' => 'Meu site SPIP',
360
-	'info_moyenne' => 'média:',
361
-	'info_multi_cet_article' => 'Idioma desta matéria:',
362
-	'info_multi_langues_choisies' => 'Por favor, selecione a seguir os idiomas à disposição dos redatores do seu site.
322
+    'info_gauche_messagerie' => 'O sistema interno de mensagens permite a troca de mensagens entre redatores, a criação de lembretes (para seu uso pessoal) ou exibir anúncios na página de entrada da área privada (se você for administrador).',
323
+    'info_gauche_statistiques_referers' => 'Esta página apresenta a lista dos  <i>referers</i>, ou seja, dos sites que contêm links para o seu site, unicamente para ontem e hoje; esta lista é zerada a cada 24 horas.',
324
+    'info_gauche_visiteurs_enregistres' => 'Você encontrará aqui os visitantes registrados na área pública do site (fóruns por assinatura).',
325
+    'info_generation_miniatures_images' => 'Geração de miniaturas das imagens',
326
+    'info_gerer_trad_objets' => '@objets@ : gerenciar os links de tradução',
327
+    'info_hebergeur_desactiver_envoi_email' => 'Alguns serviços de hospedagem desativam o envio automático de e-mails a partir dos seus servidores. Neste caso, as funcionalidades a seguir não funcionarão.',
328
+    'info_hier' => 'ontem:',
329
+    'info_identification_publique' => 'Sua identificação pública...',
330
+    'info_image_process' => 'Por favor, selecione o melhor método de criação dos ícones, clicando na imagem correspondente.',
331
+    'info_image_process2' => 'Se nenhuma imagem está sendo exibida, o servidor que hospeda o seu site não foi configurado para utilizar essas ferramentas. Se você deseja usar essas funções, contate o responsável técnico e solicite as extensões «GD» ou «Imagick».',
332
+    'info_images_auto' => 'Imagens calculadas automaticamente',
333
+    'info_informations_personnelles' => 'Informações pessoais',
334
+    'info_inscription' => 'Inscrição online',
335
+    'info_inscription_automatique' => 'Inscrição automática de novos redatores',
336
+    'info_jeu_caractere' => 'Conjunto de caracteres do site',
337
+    'info_jours' => 'dias',
338
+    'info_laisser_champs_vides' => 'deixar estes campos vazios)',
339
+    'info_langues' => 'Idiomas do site',
340
+    'info_ldap_ok' => 'A autenticação LDAP está instalada.',
341
+    'info_lien_hypertexte' => 'Link hipertexto:',
342
+    'info_liste_nouveautes_envoyee' => 'A lista de novidades foi enviada',
343
+    'info_liste_redacteurs_connectes' => 'Lista de redatores conectados',
344
+    'info_login_existant' => 'Este login já está cadastrado.',
345
+    'info_login_trop_court' => 'Login muito curto.',
346
+    'info_login_trop_court_car_pluriel' => 'O login deve conter pelo menos @nb@ caracteres.',
347
+    'info_logos' => 'Os ícones',
348
+    'info_maximum' => 'máximo:',
349
+    'info_meme_rubrique' => 'Na mesma seção',
350
+    'info_message_en_redaction' => 'Suas mensagens em fase de redação',
351
+    'info_message_technique' => 'Mensagem técnica:',
352
+    'info_messagerie_interne' => 'Mensageria interna',
353
+    'info_mise_a_niveau_base' => 'atualização da sua base SQL',
354
+    'info_mise_a_niveau_base_2' => '{{Atenção!}} Você instalou uma versão de arquivos SPIP {anterior} à que estava instalada no site: a sua base de dados corre o risco de se corromper e o seu site não funcionar mais.<br />{{Reinstale os arquivos SPIP.}}',
355
+    'info_modification_enregistree' => 'Sua alteração foi gravada',
356
+    'info_modifier_auteur' => 'Editar o autor:',
357
+    'info_modifier_rubrique' => 'Editar a seção:',
358
+    'info_modifier_titre' => 'Editar: @titre@',
359
+    'info_mon_site_spip' => 'Meu site SPIP',
360
+    'info_moyenne' => 'média:',
361
+    'info_multi_cet_article' => 'Idioma desta matéria:',
362
+    'info_multi_langues_choisies' => 'Por favor, selecione a seguir os idiomas à disposição dos redatores do seu site.
363 363
 Os idiomas já utilizados no site (no topo da lista) não podem ser desativados.',
364
-	'info_multi_objets' => '@objets@ : ativar o menu de idioma',
365
-	'info_multi_secteurs' => '... apenas para as seções situadas na raiz?',
366
-	'info_nb_articles' => '@nb@ matérias',
367
-	'info_nb_auteurs' => '@nb@ autores',
368
-	'info_nb_messages' => '@nb@ mensagens',
369
-	'info_nb_mots_cles' => '@nb@ palavras-chave',
370
-	'info_nb_rubriques' => '@nb@ seções',
371
-	'info_nb_visiteurs' => '@nb@ visitantes',
372
-	'info_nom' => 'Nome',
373
-	'info_nom_destinataire' => 'Nome do destinatário',
374
-	'info_nom_pas_conforme' => 'tags HTML não são permitidas',
375
-	'info_nom_site' => 'Nome do seu site',
376
-	'info_nombre_articles' => '@nb_articles@ matérias,',
377
-	'info_nombre_rubriques' => '@nb_rubriques@ seções,',
378
-	'info_nombre_sites' => '@nb_sites@ sites,',
379
-	'info_non_deplacer' => 'Não mover...',
380
-	'info_non_envoi_annonce_dernieres_nouveautes' => 'O SPIP pode enviar regularmente o anúncio das últimas novidades do site (matérias e notas publicadas recentemente).',
381
-	'info_non_envoi_liste_nouveautes' => 'Não enviar a lista de novidades',
382
-	'info_non_modifiable' => 'não pode ser modificado',
383
-	'info_non_suppression_mot_cle' => 'Eu não quero excluir esta palavra-chave.',
384
-	'info_notes' => 'Observações',
385
-	'info_nouvel_article' => 'Nova matéria',
386
-	'info_nouvelle_traduction' => 'Nova tradução:',
387
-	'info_numero_article' => 'MATÉRIA NÚMERO:',
388
-	'info_obligatoire_02' => '(obrigatório)',
389
-	'info_option_accepter_visiteurs' => 'Aceitar a inscrição de visitantes do site público',
390
-	'info_option_ne_pas_accepter_visiteurs' => 'Recusar a inscrição dos visitantes',
391
-	'info_options_avancees' => 'OPÇÕES AVANÇADAS',
392
-	'info_ou' => 'ou...',
393
-	'info_page_interdite' => 'Página não autorizada',
394
-	'info_par_nom' => 'por nome',
395
-	'info_par_nombre_article' => 'por número de matérias',
396
-	'info_par_statut' => 'por status',
397
-	'info_par_tri' => '’(por @tri@)’',
398
-	'info_passe_trop_court' => 'Senha muito curta.',
399
-	'info_passe_trop_court_car_pluriel' => 'A senha deve conter pelo menos @nb@ caracteres.',
400
-	'info_passes_identiques' => 'As duas senhas não são idênticas.',
401
-	'info_plus_cinq_car' => 'mais de 5 caracteres',
402
-	'info_plus_cinq_car_2' => '(Mais de 5 caracteres)',
403
-	'info_plus_trois_car' => '(Mais de 3 caracteres)',
404
-	'info_popularite' => 'popularidade: @popularite@; visitas: @visites@',
405
-	'info_post_scriptum' => 'Rodapé',
406
-	'info_post_scriptum_2' => 'Rodapé:',
407
-	'info_pour' => 'para',
408
-	'info_preview_texte' => 'É possível visualizar os diferentes elementos editoriais do site que tenham  pelo menos o status de «proposto», bem como os elementos em fase de redação de que se é autor. Esta funcionalidade deve estar disponível para os administradores, para os redatores, ou para ninguém?',
409
-	'info_procedez_par_etape' => 'proceder passo-a-passo',
410
-	'info_procedure_maj_version' => 'o procedimento de atualização deve ser rodado para adaptar a base de dados à nova versão do SPIP.',
411
-	'info_proxy_ok' => 'Teste do proxy bem sucedido',
412
-	'info_ps' => 'P.S.',
413
-	'info_publier' => 'publicar',
414
-	'info_publies' => 'Suas matérias publicadas online',
415
-	'info_question_accepter_visiteurs' => 'Se os templates do seu site prevêem o cadastramento de visitantes sem acesso à área privada, por favor, ative a opção abaixo:',
416
-	'info_question_inscription_nouveaux_redacteurs' => 'Você quer aceitar inscrições de novos redatores a partir do site público? Se você aceitar, os visitantes poderão se cadastrar através de um formulário automatizado, tendo acesso à área privada para propôr as suas próprias matérias. <div class="notice">Durante a fase de inscrição, os usuários recebem um e-mail automático, fornecendo-lhes os seus códigos de acesso à área privada. Alguns serviços de hospedagem desativam o envio de e-mails a partir dos seus servidores: nesse caso, a inscrição automática é impossível.</div>',
417
-	'info_qui_edite' => '@nom_auteur_modif@ trabalhou neste conteúdo há @date_diff@ minutos',
418
-	'info_racine_site' => 'Raiz do site',
419
-	'info_recharger_page' => 'Por favor, atualize esta página em alguns instantes.',
420
-	'info_recherche_auteur_zero' => 'Nenhum resultado para «@cherche_auteur@».',
421
-	'info_recommencer' => 'Por favor, recomece.',
422
-	'info_redacteur_1' => 'Redator',
423
-	'info_redacteur_2' => 'com acesso à área privada (<i>recomendado</i>)',
424
-	'info_redacteurs' => 'Redatores',
425
-	'info_redaction_en_cours' => 'EM FASE DE REDAÇÃO',
426
-	'info_redirection' => 'Redirecionamento',
427
-	'info_redirection_activee' => 'O redirecionamento foi ativado.',
428
-	'info_redirection_boucle' => 'Você tentou redirecionar a matéria para ela mesma.',
429
-	'info_redirection_desactivee' => 'O redirecionamento foi excluído.',
430
-	'info_refuses' => 'Suas matérias recusadas',
431
-	'info_reglage_ldap' => 'Opções: <b>Configuração da importação LDAP</b>',
432
-	'info_renvoi_article' => '<b>Redirecionamento.</b> Esta matéria redireciona para a página:',
433
-	'info_reserve_admin' => 'Apenas os administradores podem alterar este endereço.',
434
-	'info_restreindre_rubrique' => 'Restringir o gerenciamento à seção:',
435
-	'info_resultat_recherche' => 'Resultados da busca:',
436
-	'info_rubriques' => 'Seções',
437
-	'info_rubriques_02' => 'seções',
438
-	'info_rubriques_trouvees' => 'Seções encontradas',
439
-	'info_sans_titre' => 'Sem título',
440
-	'info_selection_chemin_acces' => '<b>Selecione</b> a seguir o caminho para acessar o diretório:',
441
-	'info_signatures' => 'assinaturas',
442
-	'info_site' => 'Site',
443
-	'info_site_2' => 'site:',
444
-	'info_site_min' => 'site',
445
-	'info_site_reference_2' => 'Site referenciado',
446
-	'info_site_web' => 'Website:',
447
-	'info_sites' => 'sites',
448
-	'info_sites_lies_mot' => 'Os sites referenciados vinculados a esta palavra-chave',
449
-	'info_sites_proxy' => 'Utilizar um proxy',
450
-	'info_sites_trouves' => 'Sites encontrados',
451
-	'info_sous_titre' => 'Subtítulo:',
452
-	'info_statut_administrateur' => 'Administrador',
453
-	'info_statut_auteur' => 'Status deste autor:',
454
-	'info_statut_auteur_2' => 'Eu sou',
455
-	'info_statut_auteur_a_confirmer' => 'Inscrição a confirmar',
456
-	'info_statut_auteur_autre' => 'Outro status:',
457
-	'info_statut_redacteur' => 'Redator',
458
-	'info_statut_utilisateurs_1' => 'Status padrão dos usuários importados',
459
-	'info_statut_utilisateurs_2' => 'Escolha o status atribuído às pessoas que constam do diretório LDAP, quando elas se conectarem pela primeira vêz. Você poderá, em seguida, alterar caso a caso este valor para cada autor.',
460
-	'info_suivi_activite' => 'Acompanhamento da atividade editorial',
461
-	'info_surtitre' => 'Sobretítulo:',
462
-	'info_syndication_integrale_1' => 'O seu site propõe arquivos de sindicação (ver «<a href="@url@">@titre@</a>»).',
463
-	'info_syndication_integrale_2' => 'Você deseja transmitir as matérias integralmente, ou difundir apenas um resumo de algumas centenas de caracteres?',
464
-	'info_table_prefix' => 'Você pode alterar o prefixo do nome das tabelas de dados (indispensável no caso de pretender instalar diversos sites na mesma base de dados). Este prefixo deve estar em minúsculas, não acentuadas, e sem espaços.',
465
-	'info_taille_maximale_images' => 'SPIP irá testar o tamanho máximo das imagens que o sistema pode tratar (em milhões de pixels).<br />As imagens muito grandes não serão reduzidas.',
466
-	'info_taille_maximale_vignette' => 'Tamanho máximo dos ícones gerados pelo sistema:',
467
-	'info_terminer_installation' => 'Você pode agora terminar o procedimento de instalação padrão.',
468
-	'info_texte' => 'Texto',
469
-	'info_texte_explicatif' => 'Texto explicativo',
470
-	'info_texte_long' => '(o texto é longo: ele aparecerá em diversas partes que serão recombinadas após validação.)',
471
-	'info_texte_message' => 'Texto da sua mensagem',
472
-	'info_texte_message_02' => 'Texto da mensagem',
473
-	'info_titre' => 'Título:',
474
-	'info_total' => 'total:',
475
-	'info_tous_articles_en_redaction' => 'Todas as matérias em fase de redação',
476
-	'info_tous_articles_presents' => 'Todas as matérias publicadas nesta seção',
477
-	'info_tous_articles_refuses' => 'Todas as matérias recusadas',
478
-	'info_tous_les' => 'todos os:',
479
-	'info_tout_site' => 'Todo o site',
480
-	'info_tout_site2' => 'A matéria não foi traduzida para este idioma.',
481
-	'info_tout_site3' => 'A matéria foi traduzida para este idioma, mas foram feitas alterações na matéria de referência. A tradução procisa ser atualizada.',
482
-	'info_tout_site4' => 'A matéria foi traduzida para este idioma e a tradução está em dia.',
483
-	'info_tout_site5' => 'Matéria original.',
484
-	'info_tout_site6' => '<b>Atenção:</b> apenas as matérias originais estão exibidas.
364
+    'info_multi_objets' => '@objets@ : ativar o menu de idioma',
365
+    'info_multi_secteurs' => '... apenas para as seções situadas na raiz?',
366
+    'info_nb_articles' => '@nb@ matérias',
367
+    'info_nb_auteurs' => '@nb@ autores',
368
+    'info_nb_messages' => '@nb@ mensagens',
369
+    'info_nb_mots_cles' => '@nb@ palavras-chave',
370
+    'info_nb_rubriques' => '@nb@ seções',
371
+    'info_nb_visiteurs' => '@nb@ visitantes',
372
+    'info_nom' => 'Nome',
373
+    'info_nom_destinataire' => 'Nome do destinatário',
374
+    'info_nom_pas_conforme' => 'tags HTML não são permitidas',
375
+    'info_nom_site' => 'Nome do seu site',
376
+    'info_nombre_articles' => '@nb_articles@ matérias,',
377
+    'info_nombre_rubriques' => '@nb_rubriques@ seções,',
378
+    'info_nombre_sites' => '@nb_sites@ sites,',
379
+    'info_non_deplacer' => 'Não mover...',
380
+    'info_non_envoi_annonce_dernieres_nouveautes' => 'O SPIP pode enviar regularmente o anúncio das últimas novidades do site (matérias e notas publicadas recentemente).',
381
+    'info_non_envoi_liste_nouveautes' => 'Não enviar a lista de novidades',
382
+    'info_non_modifiable' => 'não pode ser modificado',
383
+    'info_non_suppression_mot_cle' => 'Eu não quero excluir esta palavra-chave.',
384
+    'info_notes' => 'Observações',
385
+    'info_nouvel_article' => 'Nova matéria',
386
+    'info_nouvelle_traduction' => 'Nova tradução:',
387
+    'info_numero_article' => 'MATÉRIA NÚMERO:',
388
+    'info_obligatoire_02' => '(obrigatório)',
389
+    'info_option_accepter_visiteurs' => 'Aceitar a inscrição de visitantes do site público',
390
+    'info_option_ne_pas_accepter_visiteurs' => 'Recusar a inscrição dos visitantes',
391
+    'info_options_avancees' => 'OPÇÕES AVANÇADAS',
392
+    'info_ou' => 'ou...',
393
+    'info_page_interdite' => 'Página não autorizada',
394
+    'info_par_nom' => 'por nome',
395
+    'info_par_nombre_article' => 'por número de matérias',
396
+    'info_par_statut' => 'por status',
397
+    'info_par_tri' => '’(por @tri@)’',
398
+    'info_passe_trop_court' => 'Senha muito curta.',
399
+    'info_passe_trop_court_car_pluriel' => 'A senha deve conter pelo menos @nb@ caracteres.',
400
+    'info_passes_identiques' => 'As duas senhas não são idênticas.',
401
+    'info_plus_cinq_car' => 'mais de 5 caracteres',
402
+    'info_plus_cinq_car_2' => '(Mais de 5 caracteres)',
403
+    'info_plus_trois_car' => '(Mais de 3 caracteres)',
404
+    'info_popularite' => 'popularidade: @popularite@; visitas: @visites@',
405
+    'info_post_scriptum' => 'Rodapé',
406
+    'info_post_scriptum_2' => 'Rodapé:',
407
+    'info_pour' => 'para',
408
+    'info_preview_texte' => 'É possível visualizar os diferentes elementos editoriais do site que tenham  pelo menos o status de «proposto», bem como os elementos em fase de redação de que se é autor. Esta funcionalidade deve estar disponível para os administradores, para os redatores, ou para ninguém?',
409
+    'info_procedez_par_etape' => 'proceder passo-a-passo',
410
+    'info_procedure_maj_version' => 'o procedimento de atualização deve ser rodado para adaptar a base de dados à nova versão do SPIP.',
411
+    'info_proxy_ok' => 'Teste do proxy bem sucedido',
412
+    'info_ps' => 'P.S.',
413
+    'info_publier' => 'publicar',
414
+    'info_publies' => 'Suas matérias publicadas online',
415
+    'info_question_accepter_visiteurs' => 'Se os templates do seu site prevêem o cadastramento de visitantes sem acesso à área privada, por favor, ative a opção abaixo:',
416
+    'info_question_inscription_nouveaux_redacteurs' => 'Você quer aceitar inscrições de novos redatores a partir do site público? Se você aceitar, os visitantes poderão se cadastrar através de um formulário automatizado, tendo acesso à área privada para propôr as suas próprias matérias. <div class="notice">Durante a fase de inscrição, os usuários recebem um e-mail automático, fornecendo-lhes os seus códigos de acesso à área privada. Alguns serviços de hospedagem desativam o envio de e-mails a partir dos seus servidores: nesse caso, a inscrição automática é impossível.</div>',
417
+    'info_qui_edite' => '@nom_auteur_modif@ trabalhou neste conteúdo há @date_diff@ minutos',
418
+    'info_racine_site' => 'Raiz do site',
419
+    'info_recharger_page' => 'Por favor, atualize esta página em alguns instantes.',
420
+    'info_recherche_auteur_zero' => 'Nenhum resultado para «@cherche_auteur@».',
421
+    'info_recommencer' => 'Por favor, recomece.',
422
+    'info_redacteur_1' => 'Redator',
423
+    'info_redacteur_2' => 'com acesso à área privada (<i>recomendado</i>)',
424
+    'info_redacteurs' => 'Redatores',
425
+    'info_redaction_en_cours' => 'EM FASE DE REDAÇÃO',
426
+    'info_redirection' => 'Redirecionamento',
427
+    'info_redirection_activee' => 'O redirecionamento foi ativado.',
428
+    'info_redirection_boucle' => 'Você tentou redirecionar a matéria para ela mesma.',
429
+    'info_redirection_desactivee' => 'O redirecionamento foi excluído.',
430
+    'info_refuses' => 'Suas matérias recusadas',
431
+    'info_reglage_ldap' => 'Opções: <b>Configuração da importação LDAP</b>',
432
+    'info_renvoi_article' => '<b>Redirecionamento.</b> Esta matéria redireciona para a página:',
433
+    'info_reserve_admin' => 'Apenas os administradores podem alterar este endereço.',
434
+    'info_restreindre_rubrique' => 'Restringir o gerenciamento à seção:',
435
+    'info_resultat_recherche' => 'Resultados da busca:',
436
+    'info_rubriques' => 'Seções',
437
+    'info_rubriques_02' => 'seções',
438
+    'info_rubriques_trouvees' => 'Seções encontradas',
439
+    'info_sans_titre' => 'Sem título',
440
+    'info_selection_chemin_acces' => '<b>Selecione</b> a seguir o caminho para acessar o diretório:',
441
+    'info_signatures' => 'assinaturas',
442
+    'info_site' => 'Site',
443
+    'info_site_2' => 'site:',
444
+    'info_site_min' => 'site',
445
+    'info_site_reference_2' => 'Site referenciado',
446
+    'info_site_web' => 'Website:',
447
+    'info_sites' => 'sites',
448
+    'info_sites_lies_mot' => 'Os sites referenciados vinculados a esta palavra-chave',
449
+    'info_sites_proxy' => 'Utilizar um proxy',
450
+    'info_sites_trouves' => 'Sites encontrados',
451
+    'info_sous_titre' => 'Subtítulo:',
452
+    'info_statut_administrateur' => 'Administrador',
453
+    'info_statut_auteur' => 'Status deste autor:',
454
+    'info_statut_auteur_2' => 'Eu sou',
455
+    'info_statut_auteur_a_confirmer' => 'Inscrição a confirmar',
456
+    'info_statut_auteur_autre' => 'Outro status:',
457
+    'info_statut_redacteur' => 'Redator',
458
+    'info_statut_utilisateurs_1' => 'Status padrão dos usuários importados',
459
+    'info_statut_utilisateurs_2' => 'Escolha o status atribuído às pessoas que constam do diretório LDAP, quando elas se conectarem pela primeira vêz. Você poderá, em seguida, alterar caso a caso este valor para cada autor.',
460
+    'info_suivi_activite' => 'Acompanhamento da atividade editorial',
461
+    'info_surtitre' => 'Sobretítulo:',
462
+    'info_syndication_integrale_1' => 'O seu site propõe arquivos de sindicação (ver «<a href="@url@">@titre@</a>»).',
463
+    'info_syndication_integrale_2' => 'Você deseja transmitir as matérias integralmente, ou difundir apenas um resumo de algumas centenas de caracteres?',
464
+    'info_table_prefix' => 'Você pode alterar o prefixo do nome das tabelas de dados (indispensável no caso de pretender instalar diversos sites na mesma base de dados). Este prefixo deve estar em minúsculas, não acentuadas, e sem espaços.',
465
+    'info_taille_maximale_images' => 'SPIP irá testar o tamanho máximo das imagens que o sistema pode tratar (em milhões de pixels).<br />As imagens muito grandes não serão reduzidas.',
466
+    'info_taille_maximale_vignette' => 'Tamanho máximo dos ícones gerados pelo sistema:',
467
+    'info_terminer_installation' => 'Você pode agora terminar o procedimento de instalação padrão.',
468
+    'info_texte' => 'Texto',
469
+    'info_texte_explicatif' => 'Texto explicativo',
470
+    'info_texte_long' => '(o texto é longo: ele aparecerá em diversas partes que serão recombinadas após validação.)',
471
+    'info_texte_message' => 'Texto da sua mensagem',
472
+    'info_texte_message_02' => 'Texto da mensagem',
473
+    'info_titre' => 'Título:',
474
+    'info_total' => 'total:',
475
+    'info_tous_articles_en_redaction' => 'Todas as matérias em fase de redação',
476
+    'info_tous_articles_presents' => 'Todas as matérias publicadas nesta seção',
477
+    'info_tous_articles_refuses' => 'Todas as matérias recusadas',
478
+    'info_tous_les' => 'todos os:',
479
+    'info_tout_site' => 'Todo o site',
480
+    'info_tout_site2' => 'A matéria não foi traduzida para este idioma.',
481
+    'info_tout_site3' => 'A matéria foi traduzida para este idioma, mas foram feitas alterações na matéria de referência. A tradução procisa ser atualizada.',
482
+    'info_tout_site4' => 'A matéria foi traduzida para este idioma e a tradução está em dia.',
483
+    'info_tout_site5' => 'Matéria original.',
484
+    'info_tout_site6' => '<b>Atenção:</b> apenas as matérias originais estão exibidas.
485 485
 As traduções estão associadas ao original, numa côr que indica o seu status:',
486
-	'info_traductions' => 'Traduções',
487
-	'info_travail_colaboratif' => 'Trabalho colaborativo nas matérias',
488
-	'info_un_article' => 'uma matéria,',
489
-	'info_un_site' => 'um site,',
490
-	'info_une_rubrique' => 'uma seção,',
491
-	'info_une_rubrique_02' => '1 seção',
492
-	'info_url' => 'URL:',
493
-	'info_url_proxy' => 'URL do proxy',
494
-	'info_url_proxy_pas_conforme' => 'O URL do proxy não é válido.',
495
-	'info_url_site_pas_conforme' => 'O URL do site não é válido.',
496
-	'info_url_test_proxy' => 'URL de teste',
497
-	'info_urlref' => 'Link hipertexto:',
498
-	'info_utilisation_spip' => 'Você pode agora começar a utilizar o sistema de publicação assistida...',
499
-	'info_visites_par_mois' => 'Exibir por mês:',
500
-	'info_visiteur_1' => 'Visitante',
501
-	'info_visiteur_2' => 'do site público',
502
-	'info_visiteurs' => 'Visitantes',
503
-	'info_visiteurs_02' => 'Visitantes do site público',
504
-	'info_webmestre_forces' => 'Os webmasters são definidos em <tt>@file_options@</tt>.',
505
-	'install_adresse_base_hebergeur' => 'Endereço da base de dados atribuído pelo serviço de hospedagem:',
506
-	'install_connect_ok' => 'A nova base de dados foi corretamente declarada sob o nome de servidor @connect@.',
507
-	'install_echec_annonce' => 'A instalação irá, provavelmente, falhar, ou levar a um site que não funciona...',
508
-	'install_extension_mbstring' => 'O SPIP não funciona com:',
509
-	'install_extension_php_obligatoire' => 'O SPIP exige a extensão php:',
510
-	'install_login_base_hebergeur' => 'Login de conexão atribuído pelo serviço de hospedagem:',
511
-	'install_nom_base_hebergeur' => 'Nome da base atribuído pelo serviço de hospedagem:',
512
-	'install_pas_table' => 'Base atualmente sem tabelas',
513
-	'install_pass_base_hebergeur' => 'Senha de conexão atribuída pelo serviço de hospedagem',
514
-	'install_php_extension' => 'As extensões a seguir estão faltando: @extensions@',
515
-	'install_php_version' => 'PHP versão @version@ é insuficiente (mínimo = @minimum@)',
516
-	'install_php_version_max' => 'A versão @version@ do PHP é muito recente (máximo = @maximum@)',
517
-	'install_select_langue' => 'Escolha um idioma e clique no botão «avançar» para iniciar o procedimento de instalação.',
518
-	'install_select_type_db' => 'Indicar o tipo de base de dados:',
519
-	'install_select_type_mysql' => 'MySQL',
520
-	'install_select_type_pg' => 'PostgreSQL',
521
-	'install_select_type_sqlite2' => 'SQLite 2',
522
-	'install_select_type_sqlite3' => 'SQLite 3',
523
-	'install_serveur_hebergeur' => 'Servidor de base de dados atribuído pelo serviço de hospedagem',
524
-	'install_table_prefix_hebergeur' => 'Prefixo de tabela atribuído pelo serviço de hospedagem:',
525
-	'install_tables_base' => 'Tabelas da base',
526
-	'install_types_db_connus' => 'SPIP pode usar <b>MySQL</b> (a mais comum), e <b>SQLite</b>.',
527
-	'install_types_db_connus_avertissement' => 'O suporte ao <b>PostgreSQL</b> é também proposto a título experimental',
528
-	'instituer_erreur_statut_a_change' => 'O status já foi alterado',
529
-	'instituer_erreur_statut_non_autorise' => 'Você não pode escolher este status',
530
-	'intem_redacteur' => 'redator',
531
-	'intitule_licence' => 'Licença',
532
-	'item_accepter_inscriptions' => 'Aceitar as inscrições',
533
-	'item_activer_messages_avertissement' => 'Ativar as mensagens de aviso',
534
-	'item_administrateur_2' => 'administrador',
535
-	'item_afficher_calendrier' => 'Exibir no calendário',
536
-	'item_autoriser_syndication_integrale' => 'Difundir a íntegra das matérias nos arquivos de sindicação',
537
-	'item_choix_administrateurs' => 'os administradores',
538
-	'item_choix_generation_miniature' => 'Gerar automaticamente as miniaturas das imagens.',
539
-	'item_choix_non_generation_miniature' => 'Não gerar as miniaturas das imagens.',
540
-	'item_choix_redacteurs' => 'os redatores',
541
-	'item_choix_visiteurs' => 'os visitantes do site público',
542
-	'item_creer_fichiers_authent' => 'Criar os arquivos .htpasswd',
543
-	'item_login' => 'Login',
544
-	'item_messagerie_agenda' => 'Ativar as mesagens internas e a agenda',
545
-	'item_mots_cles_association_articles' => 'às matérias',
546
-	'item_mots_cles_association_rubriques' => 'às seções',
547
-	'item_mots_cles_association_sites' => 'aos sites referenciados ou sindicados.',
548
-	'item_non' => 'Não',
549
-	'item_non_accepter_inscriptions' => 'Não aceitar inscrições',
550
-	'item_non_activer_messages_avertissement' => 'Sem mensagens de aviso',
551
-	'item_non_afficher_calendrier' => 'Não exibir no calendário',
552
-	'item_non_autoriser_syndication_integrale' => 'Difundir apenas um resumo',
553
-	'item_non_creer_fichiers_authent' => 'Não criar os arquivos',
554
-	'item_non_messagerie_agenda' => 'Desativar as mensagens internas e a agenda',
555
-	'item_non_publier_articles' => 'Não publicar as matérias antes da data de publicação fixada.',
556
-	'item_nouvel_auteur' => 'Novo autor',
557
-	'item_nouvelle_rubrique' => 'Nova seção',
558
-	'item_oui' => 'Sim',
559
-	'item_publier_articles' => 'Publicar as matérias seja qual for a sua data de publicação.',
560
-	'item_reponse_article' => 'Resposta à matéria',
561
-	'item_visiteur' => 'Visitante',
486
+    'info_traductions' => 'Traduções',
487
+    'info_travail_colaboratif' => 'Trabalho colaborativo nas matérias',
488
+    'info_un_article' => 'uma matéria,',
489
+    'info_un_site' => 'um site,',
490
+    'info_une_rubrique' => 'uma seção,',
491
+    'info_une_rubrique_02' => '1 seção',
492
+    'info_url' => 'URL:',
493
+    'info_url_proxy' => 'URL do proxy',
494
+    'info_url_proxy_pas_conforme' => 'O URL do proxy não é válido.',
495
+    'info_url_site_pas_conforme' => 'O URL do site não é válido.',
496
+    'info_url_test_proxy' => 'URL de teste',
497
+    'info_urlref' => 'Link hipertexto:',
498
+    'info_utilisation_spip' => 'Você pode agora começar a utilizar o sistema de publicação assistida...',
499
+    'info_visites_par_mois' => 'Exibir por mês:',
500
+    'info_visiteur_1' => 'Visitante',
501
+    'info_visiteur_2' => 'do site público',
502
+    'info_visiteurs' => 'Visitantes',
503
+    'info_visiteurs_02' => 'Visitantes do site público',
504
+    'info_webmestre_forces' => 'Os webmasters são definidos em <tt>@file_options@</tt>.',
505
+    'install_adresse_base_hebergeur' => 'Endereço da base de dados atribuído pelo serviço de hospedagem:',
506
+    'install_connect_ok' => 'A nova base de dados foi corretamente declarada sob o nome de servidor @connect@.',
507
+    'install_echec_annonce' => 'A instalação irá, provavelmente, falhar, ou levar a um site que não funciona...',
508
+    'install_extension_mbstring' => 'O SPIP não funciona com:',
509
+    'install_extension_php_obligatoire' => 'O SPIP exige a extensão php:',
510
+    'install_login_base_hebergeur' => 'Login de conexão atribuído pelo serviço de hospedagem:',
511
+    'install_nom_base_hebergeur' => 'Nome da base atribuído pelo serviço de hospedagem:',
512
+    'install_pas_table' => 'Base atualmente sem tabelas',
513
+    'install_pass_base_hebergeur' => 'Senha de conexão atribuída pelo serviço de hospedagem',
514
+    'install_php_extension' => 'As extensões a seguir estão faltando: @extensions@',
515
+    'install_php_version' => 'PHP versão @version@ é insuficiente (mínimo = @minimum@)',
516
+    'install_php_version_max' => 'A versão @version@ do PHP é muito recente (máximo = @maximum@)',
517
+    'install_select_langue' => 'Escolha um idioma e clique no botão «avançar» para iniciar o procedimento de instalação.',
518
+    'install_select_type_db' => 'Indicar o tipo de base de dados:',
519
+    'install_select_type_mysql' => 'MySQL',
520
+    'install_select_type_pg' => 'PostgreSQL',
521
+    'install_select_type_sqlite2' => 'SQLite 2',
522
+    'install_select_type_sqlite3' => 'SQLite 3',
523
+    'install_serveur_hebergeur' => 'Servidor de base de dados atribuído pelo serviço de hospedagem',
524
+    'install_table_prefix_hebergeur' => 'Prefixo de tabela atribuído pelo serviço de hospedagem:',
525
+    'install_tables_base' => 'Tabelas da base',
526
+    'install_types_db_connus' => 'SPIP pode usar <b>MySQL</b> (a mais comum), e <b>SQLite</b>.',
527
+    'install_types_db_connus_avertissement' => 'O suporte ao <b>PostgreSQL</b> é também proposto a título experimental',
528
+    'instituer_erreur_statut_a_change' => 'O status já foi alterado',
529
+    'instituer_erreur_statut_non_autorise' => 'Você não pode escolher este status',
530
+    'intem_redacteur' => 'redator',
531
+    'intitule_licence' => 'Licença',
532
+    'item_accepter_inscriptions' => 'Aceitar as inscrições',
533
+    'item_activer_messages_avertissement' => 'Ativar as mensagens de aviso',
534
+    'item_administrateur_2' => 'administrador',
535
+    'item_afficher_calendrier' => 'Exibir no calendário',
536
+    'item_autoriser_syndication_integrale' => 'Difundir a íntegra das matérias nos arquivos de sindicação',
537
+    'item_choix_administrateurs' => 'os administradores',
538
+    'item_choix_generation_miniature' => 'Gerar automaticamente as miniaturas das imagens.',
539
+    'item_choix_non_generation_miniature' => 'Não gerar as miniaturas das imagens.',
540
+    'item_choix_redacteurs' => 'os redatores',
541
+    'item_choix_visiteurs' => 'os visitantes do site público',
542
+    'item_creer_fichiers_authent' => 'Criar os arquivos .htpasswd',
543
+    'item_login' => 'Login',
544
+    'item_messagerie_agenda' => 'Ativar as mesagens internas e a agenda',
545
+    'item_mots_cles_association_articles' => 'às matérias',
546
+    'item_mots_cles_association_rubriques' => 'às seções',
547
+    'item_mots_cles_association_sites' => 'aos sites referenciados ou sindicados.',
548
+    'item_non' => 'Não',
549
+    'item_non_accepter_inscriptions' => 'Não aceitar inscrições',
550
+    'item_non_activer_messages_avertissement' => 'Sem mensagens de aviso',
551
+    'item_non_afficher_calendrier' => 'Não exibir no calendário',
552
+    'item_non_autoriser_syndication_integrale' => 'Difundir apenas um resumo',
553
+    'item_non_creer_fichiers_authent' => 'Não criar os arquivos',
554
+    'item_non_messagerie_agenda' => 'Desativar as mensagens internas e a agenda',
555
+    'item_non_publier_articles' => 'Não publicar as matérias antes da data de publicação fixada.',
556
+    'item_nouvel_auteur' => 'Novo autor',
557
+    'item_nouvelle_rubrique' => 'Nova seção',
558
+    'item_oui' => 'Sim',
559
+    'item_publier_articles' => 'Publicar as matérias seja qual for a sua data de publicação.',
560
+    'item_reponse_article' => 'Resposta à matéria',
561
+    'item_visiteur' => 'Visitante',
562 562
 
563
-	// J
564
-	'jour_non_connu_nc' => 'n.c.',
563
+    // J
564
+    'jour_non_connu_nc' => 'n.c.',
565 565
 
566
-	// L
567
-	'label_bando_outils' => 'Barra de ferramentas',
568
-	'label_bando_outils_afficher' => 'Exibir as ferramentas',
569
-	'label_bando_outils_masquer' => 'Esconder as ferramentas',
570
-	'label_choix_langue' => 'Escolha o seu idioma',
571
-	'label_langue' => 'Idioma',
572
-	'label_nom_fichier_connect' => 'Informe o nome usado por este servidor',
573
-	'label_slogan_site' => 'Slogan do site',
574
-	'label_taille_ecran' => 'Largura da tela',
575
-	'label_texte_et_icones_navigation' => 'Menu de navegação',
576
-	'label_texte_et_icones_page' => 'Exibição na página',
577
-	'ldap_correspondance' => 'herança do campo @champ@',
578
-	'ldap_correspondance_1' => 'Herança dos campos LDAP',
579
-	'ldap_correspondance_2' => 'Para cada um dos campos SPIP a seguir, indique o nome do campo LDAP correspondente. Deixe em branco para não preencher, separe por espaços ou vírgulas para tentar vários campos LDAP.',
580
-	'lien_ajouter_auteur' => 'Incluir este autor',
581
-	'lien_ajouter_une_rubrique' => 'Incluir esta seção',
582
-	'lien_email' => 'e-mail',
583
-	'lien_nom_site' => 'NOME DO SITE:',
584
-	'lien_rapide_contenu' => 'Ir para o conteúdo',
585
-	'lien_rapide_navigation' => 'Ir para a navegação',
586
-	'lien_rapide_recherche' => 'Ir para a busca',
587
-	'lien_retirer_auteur' => 'Retirar o autor',
588
-	'lien_retirer_rubrique' => 'Excluir a seção',
589
-	'lien_retirer_tous_auteurs' => 'Retirar todos os autores',
590
-	'lien_retirer_toutes_rubriques' => 'Retirar todas as seções',
591
-	'lien_site' => 'site',
592
-	'lien_tout_decocher' => 'Desmarcar tudo',
593
-	'lien_tout_deplier' => 'Expandir tudo',
594
-	'lien_tout_replier' => 'Retrair tudo',
595
-	'lien_tout_supprimer' => 'Excluir tudo',
596
-	'lien_trier_nom' => 'Ordenar pelo nome',
597
-	'lien_trier_nombre_articles' => 'Ordenar por número de matérias',
598
-	'lien_trier_statut' => 'Ordenar pelo status',
599
-	'lien_voir_en_ligne' => 'VER ONLINE:',
600
-	'logo_article' => 'Ícone da matéria',
601
-	'logo_auteur' => 'Ícone do autor',
602
-	'logo_rubrique' => 'Ícone da seção',
603
-	'logo_site' => 'Ícone deste site',
604
-	'logo_standard_rubrique' => 'Ícone padrão das seções',
605
-	'logo_survol' => 'Ícone para mouseOver',
566
+    // L
567
+    'label_bando_outils' => 'Barra de ferramentas',
568
+    'label_bando_outils_afficher' => 'Exibir as ferramentas',
569
+    'label_bando_outils_masquer' => 'Esconder as ferramentas',
570
+    'label_choix_langue' => 'Escolha o seu idioma',
571
+    'label_langue' => 'Idioma',
572
+    'label_nom_fichier_connect' => 'Informe o nome usado por este servidor',
573
+    'label_slogan_site' => 'Slogan do site',
574
+    'label_taille_ecran' => 'Largura da tela',
575
+    'label_texte_et_icones_navigation' => 'Menu de navegação',
576
+    'label_texte_et_icones_page' => 'Exibição na página',
577
+    'ldap_correspondance' => 'herança do campo @champ@',
578
+    'ldap_correspondance_1' => 'Herança dos campos LDAP',
579
+    'ldap_correspondance_2' => 'Para cada um dos campos SPIP a seguir, indique o nome do campo LDAP correspondente. Deixe em branco para não preencher, separe por espaços ou vírgulas para tentar vários campos LDAP.',
580
+    'lien_ajouter_auteur' => 'Incluir este autor',
581
+    'lien_ajouter_une_rubrique' => 'Incluir esta seção',
582
+    'lien_email' => 'e-mail',
583
+    'lien_nom_site' => 'NOME DO SITE:',
584
+    'lien_rapide_contenu' => 'Ir para o conteúdo',
585
+    'lien_rapide_navigation' => 'Ir para a navegação',
586
+    'lien_rapide_recherche' => 'Ir para a busca',
587
+    'lien_retirer_auteur' => 'Retirar o autor',
588
+    'lien_retirer_rubrique' => 'Excluir a seção',
589
+    'lien_retirer_tous_auteurs' => 'Retirar todos os autores',
590
+    'lien_retirer_toutes_rubriques' => 'Retirar todas as seções',
591
+    'lien_site' => 'site',
592
+    'lien_tout_decocher' => 'Desmarcar tudo',
593
+    'lien_tout_deplier' => 'Expandir tudo',
594
+    'lien_tout_replier' => 'Retrair tudo',
595
+    'lien_tout_supprimer' => 'Excluir tudo',
596
+    'lien_trier_nom' => 'Ordenar pelo nome',
597
+    'lien_trier_nombre_articles' => 'Ordenar por número de matérias',
598
+    'lien_trier_statut' => 'Ordenar pelo status',
599
+    'lien_voir_en_ligne' => 'VER ONLINE:',
600
+    'logo_article' => 'Ícone da matéria',
601
+    'logo_auteur' => 'Ícone do autor',
602
+    'logo_rubrique' => 'Ícone da seção',
603
+    'logo_site' => 'Ícone deste site',
604
+    'logo_standard_rubrique' => 'Ícone padrão das seções',
605
+    'logo_survol' => 'Ícone para mouseOver',
606 606
 
607
-	// M
608
-	'menu_aide_installation_choix_base' => 'Seleção da sua base',
609
-	'module_fichier_langue' => 'Arquivo de idioma',
610
-	'module_raccourci' => 'Atalho',
611
-	'module_texte_affiche' => 'Texto exibido',
612
-	'module_texte_explicatif' => 'Você pode inserir os atalhos a seguir nos templates do seu site público. Eles serão traduzidos automaticamente para os idiomas para os quais exista um arquivo de idioma.',
613
-	'module_texte_traduction' => 'O arquivo de idioma «@module@» está disponível em:',
614
-	'mois_non_connu' => 'desconhecido',
607
+    // M
608
+    'menu_aide_installation_choix_base' => 'Seleção da sua base',
609
+    'module_fichier_langue' => 'Arquivo de idioma',
610
+    'module_raccourci' => 'Atalho',
611
+    'module_texte_affiche' => 'Texto exibido',
612
+    'module_texte_explicatif' => 'Você pode inserir os atalhos a seguir nos templates do seu site público. Eles serão traduzidos automaticamente para os idiomas para os quais exista um arquivo de idioma.',
613
+    'module_texte_traduction' => 'O arquivo de idioma «@module@» está disponível em:',
614
+    'mois_non_connu' => 'desconhecido',
615 615
 
616
-	// N
617
-	'nouvelle_version_spip' => 'A versão @version@ do SPIP está disponível',
618
-	'nouvelle_version_spip_majeure' => 'Uma nova versão SPIP @version@ está disponível',
616
+    // N
617
+    'nouvelle_version_spip' => 'A versão @version@ do SPIP está disponível',
618
+    'nouvelle_version_spip_majeure' => 'Uma nova versão SPIP @version@ está disponível',
619 619
 
620
-	// O
621
-	'onglet_contenu' => 'Conteúdo',
622
-	'onglet_declarer_une_autre_base' => 'Configurar outra base',
623
-	'onglet_discuter' => 'Discutir',
624
-	'onglet_interactivite' => 'Interatividade',
625
-	'onglet_proprietes' => 'Propriedades',
626
-	'onglet_repartition_actuelle' => 'atualmente',
627
-	'onglet_sous_rubriques' => 'Subseções',
620
+    // O
621
+    'onglet_contenu' => 'Conteúdo',
622
+    'onglet_declarer_une_autre_base' => 'Configurar outra base',
623
+    'onglet_discuter' => 'Discutir',
624
+    'onglet_interactivite' => 'Interatividade',
625
+    'onglet_proprietes' => 'Propriedades',
626
+    'onglet_repartition_actuelle' => 'atualmente',
627
+    'onglet_sous_rubriques' => 'Subseções',
628 628
 
629
-	// P
630
-	'page_pas_proxy' => 'Esta página não deve passar pelo proxy',
631
-	'pas_de_proxy_pour' => 'Se necessário, indique as máquinas ou domínios para os quais este proxy não se aplica (por exemplo: @exemple@)',
632
-	'phpinfo' => 'Configuração PHP',
633
-	'plugin_charge_paquet' => 'Carregamento do pacote @name@',
634
-	'plugin_charger' => 'Transferir',
635
-	'plugin_erreur_charger' => 'erro: não foi possível carregar @zip@',
636
-	'plugin_erreur_droit1' => 'O diretório <code>@dest@</code> não está acessível para escrita.',
637
-	'plugin_erreur_droit2' => 'Por favor, verifique os direitos deste diretório (e criá-lo, caso não exista), ou instalar os arquivos por FTP.',
638
-	'plugin_erreur_zip' => 'falha pclzip: erro @status@',
639
-	'plugin_etat_developpement' => 'em desenvolvimento',
640
-	'plugin_etat_experimental' => 'experimental',
641
-	'plugin_etat_stable' => 'estável',
642
-	'plugin_etat_test' => 'em teste',
643
-	'plugin_impossible_activer' => 'Não foi possível ativar o plugin @plugin@',
644
-	'plugin_info_automatique1' => 'Se você deseja autorizar a instalaçào automática dos plugins, por favor:',
645
-	'plugin_info_automatique1_lib' => 'Se você deseja autorizar a instalação automática desta biblioteca, por favor:',
646
-	'plugin_info_automatique2' => 'crie um diretório <code>@rep@</code> ;',
647
-	'plugin_info_automatique3' => 'verifique se o servidor está autorizado a escrever neste diretório',
648
-	'plugin_info_automatique_creer' => 'a ser criado na raiz do site.',
649
-	'plugin_info_automatique_exemples' => 'exemplos:',
650
-	'plugin_info_automatique_ftp' => 'Você pode instalar os plugins, por FTP, no diretório <tt>@rep@</tt>',
651
-	'plugin_info_automatique_lib' => 'Alguns plugins precisam também poder transferir arquivos para o diretório <code>lib/</code>, a ser criado, caso não exista, na raiz do site.',
652
-	'plugin_info_automatique_liste' => 'Suas listas de plugins:',
653
-	'plugin_info_automatique_liste_officielle' => 'os plugins oficiais',
654
-	'plugin_info_automatique_liste_update' => 'Atualizar as listas',
655
-	'plugin_info_automatique_ou' => 'ou...',
656
-	'plugin_info_automatique_select' => 'Selecione abaixo um plugin: O SPIP o transferirá e o instalará no diretório <code>@rep@</code>; se o plugin já existir, será atualizado.',
657
-	'plugin_info_credit' => 'Créditos',
658
-	'plugin_info_erreur_xml' => 'A declaração deste plugin está incorreta',
659
-	'plugin_info_install_ok' => 'Instalação bem sucedida',
660
-	'plugin_info_necessite' => 'Requer:',
661
-	'plugin_info_non_compatible_spip' => 'Este plugin não é compatível com esta versão do SPIP',
662
-	'plugin_info_plugins_dist_1' => 'Os plugins abaixo são carregados e ativados no diretório @plugins_dist@.',
663
-	'plugin_info_plugins_dist_2' => 'Eles não são desativáveis.',
664
-	'plugin_info_telecharger' => 'transferir de @url@ e instalar em @rep@',
665
-	'plugin_info_upgrade_ok' => 'Atualização bem sucedida',
666
-	'plugin_librairies_installees' => 'Bibliotecas instaladas',
667
-	'plugin_necessite_extension_php' => 'Requer a extensão PHP @plugin@ na versão @version@.',
668
-	'plugin_necessite_extension_php_sans_version' => 'Requer a extensão PHP @plugin@',
669
-	'plugin_necessite_lib' => 'Este plugin precisa da biblioteca @lib@',
670
-	'plugin_necessite_php' => 'Requer @plugin@ na versão @version@.',
671
-	'plugin_necessite_plugin' => 'Precisa do plugin @plugin@, na versão @version@.',
672
-	'plugin_necessite_plugin_sans_version' => 'Precisa do plugin @plugin@',
673
-	'plugin_necessite_spip' => 'É necessário o SPIP na versão @version@, pelo menos.',
674
-	'plugin_source' => 'fonte: ',
675
-	'plugin_titre_automatique' => 'Instalação automática',
676
-	'plugin_titre_automatique_ajouter' => 'Incluir plugins',
677
-	'plugin_titre_installation' => 'Instalação do plugin @plugin@',
678
-	'plugin_titre_modifier' => 'Meus plugins',
679
-	'plugin_utilise_extension_php' => 'A extensão PHP @plugin@ deve estar na versão @version@.',
680
-	'plugin_utilise_php' => '@plugin@ deve estar na versão @version@.',
681
-	'plugin_utilise_plugin' => 'O plugin @plugin@ deve estar na versão @version@.',
682
-	'plugin_zip_active' => 'Continue para o ativar',
683
-	'plugin_zip_adresse' => 'Indique abaixo o endereço de um arquivo zip de plugin a ser transferido, ou ainda o endereço de uma lista de plugins.',
684
-	'plugin_zip_adresse_champ' => 'Endereço do plugin ou da lista',
685
-	'plugin_zip_content' => 'Ele contém os arquivos a seguir (@taille@),<br />prontos para serem instalados no diretório <code>@rep@</code>',
686
-	'plugin_zip_installe_finie' => 'O arquivo @zip@ foi descompactado e instalado.',
687
-	'plugin_zip_installe_rep_finie' => 'O arquivo @zip@ foi descompactado e instalado no diretório @rep@',
688
-	'plugin_zip_installer' => 'Você pode, agora, instalá-lo.',
689
-	'plugin_zip_telecharge' => 'O arquivo @zip@ foi transferido',
690
-	'plugins_actif_aucun' => 'Nenhum plugin ativado.',
691
-	'plugins_actif_un' => 'Um plugin ativado.',
692
-	'plugins_actifs' => '@count@ plugins ativados.',
693
-	'plugins_actifs_liste' => 'Ativos',
694
-	'plugins_compte' => '@count@ plugins',
695
-	'plugins_disponible_un' => 'Um plugin disponível.',
696
-	'plugins_disponibles' => '@count@ plugins disponiveis.',
697
-	'plugins_erreur' => 'Erro nos plugins: @plugins@',
698
-	'plugins_liste' => 'Lista dos plugins',
699
-	'plugins_liste_dist' => 'Plugins bloqueados',
700
-	'plugins_recents' => 'Plugins recentes.',
701
-	'plugins_tous_liste' => 'Todos',
702
-	'plugins_vue_hierarchie' => 'Hierarquia',
703
-	'plugins_vue_liste' => 'Lista',
704
-	'protocole_ldap' => 'Versão do protocolo:',
629
+    // P
630
+    'page_pas_proxy' => 'Esta página não deve passar pelo proxy',
631
+    'pas_de_proxy_pour' => 'Se necessário, indique as máquinas ou domínios para os quais este proxy não se aplica (por exemplo: @exemple@)',
632
+    'phpinfo' => 'Configuração PHP',
633
+    'plugin_charge_paquet' => 'Carregamento do pacote @name@',
634
+    'plugin_charger' => 'Transferir',
635
+    'plugin_erreur_charger' => 'erro: não foi possível carregar @zip@',
636
+    'plugin_erreur_droit1' => 'O diretório <code>@dest@</code> não está acessível para escrita.',
637
+    'plugin_erreur_droit2' => 'Por favor, verifique os direitos deste diretório (e criá-lo, caso não exista), ou instalar os arquivos por FTP.',
638
+    'plugin_erreur_zip' => 'falha pclzip: erro @status@',
639
+    'plugin_etat_developpement' => 'em desenvolvimento',
640
+    'plugin_etat_experimental' => 'experimental',
641
+    'plugin_etat_stable' => 'estável',
642
+    'plugin_etat_test' => 'em teste',
643
+    'plugin_impossible_activer' => 'Não foi possível ativar o plugin @plugin@',
644
+    'plugin_info_automatique1' => 'Se você deseja autorizar a instalaçào automática dos plugins, por favor:',
645
+    'plugin_info_automatique1_lib' => 'Se você deseja autorizar a instalação automática desta biblioteca, por favor:',
646
+    'plugin_info_automatique2' => 'crie um diretório <code>@rep@</code> ;',
647
+    'plugin_info_automatique3' => 'verifique se o servidor está autorizado a escrever neste diretório',
648
+    'plugin_info_automatique_creer' => 'a ser criado na raiz do site.',
649
+    'plugin_info_automatique_exemples' => 'exemplos:',
650
+    'plugin_info_automatique_ftp' => 'Você pode instalar os plugins, por FTP, no diretório <tt>@rep@</tt>',
651
+    'plugin_info_automatique_lib' => 'Alguns plugins precisam também poder transferir arquivos para o diretório <code>lib/</code>, a ser criado, caso não exista, na raiz do site.',
652
+    'plugin_info_automatique_liste' => 'Suas listas de plugins:',
653
+    'plugin_info_automatique_liste_officielle' => 'os plugins oficiais',
654
+    'plugin_info_automatique_liste_update' => 'Atualizar as listas',
655
+    'plugin_info_automatique_ou' => 'ou...',
656
+    'plugin_info_automatique_select' => 'Selecione abaixo um plugin: O SPIP o transferirá e o instalará no diretório <code>@rep@</code>; se o plugin já existir, será atualizado.',
657
+    'plugin_info_credit' => 'Créditos',
658
+    'plugin_info_erreur_xml' => 'A declaração deste plugin está incorreta',
659
+    'plugin_info_install_ok' => 'Instalação bem sucedida',
660
+    'plugin_info_necessite' => 'Requer:',
661
+    'plugin_info_non_compatible_spip' => 'Este plugin não é compatível com esta versão do SPIP',
662
+    'plugin_info_plugins_dist_1' => 'Os plugins abaixo são carregados e ativados no diretório @plugins_dist@.',
663
+    'plugin_info_plugins_dist_2' => 'Eles não são desativáveis.',
664
+    'plugin_info_telecharger' => 'transferir de @url@ e instalar em @rep@',
665
+    'plugin_info_upgrade_ok' => 'Atualização bem sucedida',
666
+    'plugin_librairies_installees' => 'Bibliotecas instaladas',
667
+    'plugin_necessite_extension_php' => 'Requer a extensão PHP @plugin@ na versão @version@.',
668
+    'plugin_necessite_extension_php_sans_version' => 'Requer a extensão PHP @plugin@',
669
+    'plugin_necessite_lib' => 'Este plugin precisa da biblioteca @lib@',
670
+    'plugin_necessite_php' => 'Requer @plugin@ na versão @version@.',
671
+    'plugin_necessite_plugin' => 'Precisa do plugin @plugin@, na versão @version@.',
672
+    'plugin_necessite_plugin_sans_version' => 'Precisa do plugin @plugin@',
673
+    'plugin_necessite_spip' => 'É necessário o SPIP na versão @version@, pelo menos.',
674
+    'plugin_source' => 'fonte: ',
675
+    'plugin_titre_automatique' => 'Instalação automática',
676
+    'plugin_titre_automatique_ajouter' => 'Incluir plugins',
677
+    'plugin_titre_installation' => 'Instalação do plugin @plugin@',
678
+    'plugin_titre_modifier' => 'Meus plugins',
679
+    'plugin_utilise_extension_php' => 'A extensão PHP @plugin@ deve estar na versão @version@.',
680
+    'plugin_utilise_php' => '@plugin@ deve estar na versão @version@.',
681
+    'plugin_utilise_plugin' => 'O plugin @plugin@ deve estar na versão @version@.',
682
+    'plugin_zip_active' => 'Continue para o ativar',
683
+    'plugin_zip_adresse' => 'Indique abaixo o endereço de um arquivo zip de plugin a ser transferido, ou ainda o endereço de uma lista de plugins.',
684
+    'plugin_zip_adresse_champ' => 'Endereço do plugin ou da lista',
685
+    'plugin_zip_content' => 'Ele contém os arquivos a seguir (@taille@),<br />prontos para serem instalados no diretório <code>@rep@</code>',
686
+    'plugin_zip_installe_finie' => 'O arquivo @zip@ foi descompactado e instalado.',
687
+    'plugin_zip_installe_rep_finie' => 'O arquivo @zip@ foi descompactado e instalado no diretório @rep@',
688
+    'plugin_zip_installer' => 'Você pode, agora, instalá-lo.',
689
+    'plugin_zip_telecharge' => 'O arquivo @zip@ foi transferido',
690
+    'plugins_actif_aucun' => 'Nenhum plugin ativado.',
691
+    'plugins_actif_un' => 'Um plugin ativado.',
692
+    'plugins_actifs' => '@count@ plugins ativados.',
693
+    'plugins_actifs_liste' => 'Ativos',
694
+    'plugins_compte' => '@count@ plugins',
695
+    'plugins_disponible_un' => 'Um plugin disponível.',
696
+    'plugins_disponibles' => '@count@ plugins disponiveis.',
697
+    'plugins_erreur' => 'Erro nos plugins: @plugins@',
698
+    'plugins_liste' => 'Lista dos plugins',
699
+    'plugins_liste_dist' => 'Plugins bloqueados',
700
+    'plugins_recents' => 'Plugins recentes.',
701
+    'plugins_tous_liste' => 'Todos',
702
+    'plugins_vue_hierarchie' => 'Hierarquia',
703
+    'plugins_vue_liste' => 'Lista',
704
+    'protocole_ldap' => 'Versão do protocolo:',
705 705
 
706
-	// Q
707
-	'queue_executer_maintenant' => 'Executar agora',
708
-	'queue_info_purger' => 'Você pode excluir todas as tarefas de fundo em espera e reinicializar a lista com as tarefas periódicas',
709
-	'queue_nb_jobs_in_queue' => '@nb@ tarefas em espera',
710
-	'queue_next_job_in_nb_sec' => 'Próxima tarefa em @nb@ s',
711
-	'queue_no_job_in_queue' => 'Nenhum tarefa em espera',
712
-	'queue_one_job_in_queue' => '1 tarefa em espera',
713
-	'queue_priorite_tache' => 'prioridade',
714
-	'queue_purger_queue' => 'Reiniciar a lista de tarefas',
715
-	'queue_titre' => 'Tarefas de fundo',
706
+    // Q
707
+    'queue_executer_maintenant' => 'Executar agora',
708
+    'queue_info_purger' => 'Você pode excluir todas as tarefas de fundo em espera e reinicializar a lista com as tarefas periódicas',
709
+    'queue_nb_jobs_in_queue' => '@nb@ tarefas em espera',
710
+    'queue_next_job_in_nb_sec' => 'Próxima tarefa em @nb@ s',
711
+    'queue_no_job_in_queue' => 'Nenhum tarefa em espera',
712
+    'queue_one_job_in_queue' => '1 tarefa em espera',
713
+    'queue_priorite_tache' => 'prioridade',
714
+    'queue_purger_queue' => 'Reiniciar a lista de tarefas',
715
+    'queue_titre' => 'Tarefas de fundo',
716 716
 
717
-	// R
718
-	'repertoire_plugins' => 'Diretório:',
719
-	'required' => '(obrigatório)',
717
+    // R
718
+    'repertoire_plugins' => 'Diretório:',
719
+    'required' => '(obrigatório)',
720 720
 
721
-	// S
722
-	'sans_heure' => 'sem hora',
723
-	'statut_admin_restreint' => '(admin limitado)',
724
-	'statut_webmestre' => 'webmaster',
721
+    // S
722
+    'sans_heure' => 'sem hora',
723
+    'statut_admin_restreint' => '(admin limitado)',
724
+    'statut_webmestre' => 'webmaster',
725 725
 
726
-	// T
727
-	'tache_cron_asap' => 'Tarefa CRON @function@ (ASAP)',
728
-	'tache_cron_secondes' => 'Tarefa CRON @function@ (a cada @nb@ s)',
729
-	'taille_cache_image' => 'As imagens calculadas automaticamente pelo SPIP (ícones de documentos, títulos apresentados sob a forma gráfica, funções matemáticas em formato TeX...) ocupam, no diretório @dir@, um total de @taille@.',
730
-	'taille_cache_moins_de' => 'O tamanho do cache é menor do que @octets@.',
731
-	'taille_cache_octets' => 'O tamanho atual do cache é de cerca de @octets@.',
732
-	'taille_cache_vide' => 'O cache está vazio.',
733
-	'taille_repertoire_cache' => 'Tamanho do diretório cache',
734
-	'text_article_propose_publication' => 'Matéria proposta para publicação.',
735
-	'texte_acces_ldap_anonyme_1' => 'Alguns servidores LDAP não aceitam nenhum acesso anônimo. Neste caso, é necessário especificar um identificador de acesso inicial de modo a poder, em seguida, pesquisar as informações no diretório. Na maior parte dos casos, entretanto, os campos a seguir poderão ser deixados em branco.',
736
-	'texte_admin_effacer_01' => 'Este comando apaga <i>todo</i> o conteúdo da base de dados,incluindo <i>todos</i> os acessos dos redatores e administradores. Após executá-lo, você deverá reinstalar o SPIP para recriar uma nova base de dados bem como um acesso inicial de administrador.',
737
-	'texte_adresse_annuaire_1' => '(Se o seu diretório está instalado na mesma máquina que este website, trata-se provavelmente de «localhost».)',
738
-	'texte_ajout_auteur' => 'O autor a seguir foi incluído na matéria:',
739
-	'texte_annuaire_ldap_1' => 'Se você tem acesso a um diretório LDAP, você poderá utilizá-lo para importar automaticamente os usuários para o SPIP.',
740
-	'texte_article_statut' => 'Esta matéria está:',
741
-	'texte_article_virtuel' => 'Matéria virtual',
742
-	'texte_article_virtuel_reference' => '<b>Matéria virtual:</b> matéria referenciada no seu site SPIP, mas redirecionada para um outro URL. Para cancelar o redirecionamento, apague o URL abaixo.',
743
-	'texte_aucun_resultat_auteur' => 'Nenhum resultado para "@cherche_auteur@"',
744
-	'texte_auteur_messagerie' => 'Este site pode monitorar permanentemente a lista de editores conectados, permitindo-lhe trocar mensagens em tempo real. Você pode decidir não aparecer nessa lista (ficando "invisível" para os outros usuários).',
745
-	'texte_auteurs' => 'OS AUTORES',
746
-	'texte_choix_base_1' => 'Escolha a sua base:',
747
-	'texte_choix_base_2' => 'O servidor SQL contém várias bases de dados.',
748
-	'texte_choix_base_3' => '<b>Escolha</b> abaixo a que lhe foi atribuída pelo seu serviço de hospedagem:',
749
-	'texte_choix_table_prefix' => 'Prefixo das tabelas:',
750
-	'texte_compte_element' => '@count@ elemento',
751
-	'texte_compte_elements' => '@count@ elementos',
752
-	'texte_conflit_edition_correction' => 'Por favor, controle abaixo as diferenças entre as duas versões do texto; você pode também copiar as suas modificações e depois recomeçar.',
753
-	'texte_connexion_mysql' => 'Consulte as informações fornecidas pelo seu serviço de hospedagem: nelas, você deverá encontrar o servidor de base de dados fornecido e os seus dados de conexão ao servidor SQL.',
754
-	'texte_contenu_article' => '(Conteúdo da matéria em poucas palavras.)',
755
-	'texte_contenu_articles' => 'De acordo com o layout adotado pelo seu site, você poderá decidir se certos elementos das matérias serão utilizados. Use a listagem abaixo para indicar quais elementos estão disponíveis.',
756
-	'texte_crash_base' => 'Se a sua base de dados se corrompeu, você poderá tentar uma reparação automática.',
757
-	'texte_creer_rubrique' => 'Antes de poder escrever matérias, você precisa criar uma seção.',
758
-	'texte_date_creation_article' => 'DATA DE CRIAÇÃO DA MATÉRIA:',
759
-	'texte_date_creation_objet' => 'Data de criação:', # on ajoute le &quot;:&quot;
760
-	'texte_date_publication_anterieure' => 'Data de redação anterior:',
761
-	'texte_date_publication_anterieure_nonaffichee' => 'Não exibir a data de redação anterior.',
762
-	'texte_date_publication_article' => 'DATA DE PUBLICAÇÃO ONLINE:',
763
-	'texte_date_publication_objet' => 'Data de publicação online:',
764
-	'texte_definir_comme_traduction_rubrique' => 'Esta seção é uma tradução da seção número:',
765
-	'texte_descriptif_rapide' => 'Descrição rápida',
766
-	'texte_effacer_base' => 'Apagar a base de dados do SPIP',
767
-	'texte_effacer_statistiques' => 'Apagar as estatísticas',
768
-	'texte_en_cours_validation' => 'Os conteúdos abaixo estão propostos para publicação.',
769
-	'texte_enrichir_mise_a_jour' => 'Você pode enriquecer a diagramação do seu texto usando «atalhos tipográficos».',
770
-	'texte_fichier_authent' => '<b>O SPIP pode criar os arquivos especiais  <tt>.htpasswd</tt> e <tt>.htpasswd-admin</tt> no diretório @dossier@?</b><p>
726
+    // T
727
+    'tache_cron_asap' => 'Tarefa CRON @function@ (ASAP)',
728
+    'tache_cron_secondes' => 'Tarefa CRON @function@ (a cada @nb@ s)',
729
+    'taille_cache_image' => 'As imagens calculadas automaticamente pelo SPIP (ícones de documentos, títulos apresentados sob a forma gráfica, funções matemáticas em formato TeX...) ocupam, no diretório @dir@, um total de @taille@.',
730
+    'taille_cache_moins_de' => 'O tamanho do cache é menor do que @octets@.',
731
+    'taille_cache_octets' => 'O tamanho atual do cache é de cerca de @octets@.',
732
+    'taille_cache_vide' => 'O cache está vazio.',
733
+    'taille_repertoire_cache' => 'Tamanho do diretório cache',
734
+    'text_article_propose_publication' => 'Matéria proposta para publicação.',
735
+    'texte_acces_ldap_anonyme_1' => 'Alguns servidores LDAP não aceitam nenhum acesso anônimo. Neste caso, é necessário especificar um identificador de acesso inicial de modo a poder, em seguida, pesquisar as informações no diretório. Na maior parte dos casos, entretanto, os campos a seguir poderão ser deixados em branco.',
736
+    'texte_admin_effacer_01' => 'Este comando apaga <i>todo</i> o conteúdo da base de dados,incluindo <i>todos</i> os acessos dos redatores e administradores. Após executá-lo, você deverá reinstalar o SPIP para recriar uma nova base de dados bem como um acesso inicial de administrador.',
737
+    'texte_adresse_annuaire_1' => '(Se o seu diretório está instalado na mesma máquina que este website, trata-se provavelmente de «localhost».)',
738
+    'texte_ajout_auteur' => 'O autor a seguir foi incluído na matéria:',
739
+    'texte_annuaire_ldap_1' => 'Se você tem acesso a um diretório LDAP, você poderá utilizá-lo para importar automaticamente os usuários para o SPIP.',
740
+    'texte_article_statut' => 'Esta matéria está:',
741
+    'texte_article_virtuel' => 'Matéria virtual',
742
+    'texte_article_virtuel_reference' => '<b>Matéria virtual:</b> matéria referenciada no seu site SPIP, mas redirecionada para um outro URL. Para cancelar o redirecionamento, apague o URL abaixo.',
743
+    'texte_aucun_resultat_auteur' => 'Nenhum resultado para "@cherche_auteur@"',
744
+    'texte_auteur_messagerie' => 'Este site pode monitorar permanentemente a lista de editores conectados, permitindo-lhe trocar mensagens em tempo real. Você pode decidir não aparecer nessa lista (ficando "invisível" para os outros usuários).',
745
+    'texte_auteurs' => 'OS AUTORES',
746
+    'texte_choix_base_1' => 'Escolha a sua base:',
747
+    'texte_choix_base_2' => 'O servidor SQL contém várias bases de dados.',
748
+    'texte_choix_base_3' => '<b>Escolha</b> abaixo a que lhe foi atribuída pelo seu serviço de hospedagem:',
749
+    'texte_choix_table_prefix' => 'Prefixo das tabelas:',
750
+    'texte_compte_element' => '@count@ elemento',
751
+    'texte_compte_elements' => '@count@ elementos',
752
+    'texte_conflit_edition_correction' => 'Por favor, controle abaixo as diferenças entre as duas versões do texto; você pode também copiar as suas modificações e depois recomeçar.',
753
+    'texte_connexion_mysql' => 'Consulte as informações fornecidas pelo seu serviço de hospedagem: nelas, você deverá encontrar o servidor de base de dados fornecido e os seus dados de conexão ao servidor SQL.',
754
+    'texte_contenu_article' => '(Conteúdo da matéria em poucas palavras.)',
755
+    'texte_contenu_articles' => 'De acordo com o layout adotado pelo seu site, você poderá decidir se certos elementos das matérias serão utilizados. Use a listagem abaixo para indicar quais elementos estão disponíveis.',
756
+    'texte_crash_base' => 'Se a sua base de dados se corrompeu, você poderá tentar uma reparação automática.',
757
+    'texte_creer_rubrique' => 'Antes de poder escrever matérias, você precisa criar uma seção.',
758
+    'texte_date_creation_article' => 'DATA DE CRIAÇÃO DA MATÉRIA:',
759
+    'texte_date_creation_objet' => 'Data de criação:', # on ajoute le &quot;:&quot;
760
+    'texte_date_publication_anterieure' => 'Data de redação anterior:',
761
+    'texte_date_publication_anterieure_nonaffichee' => 'Não exibir a data de redação anterior.',
762
+    'texte_date_publication_article' => 'DATA DE PUBLICAÇÃO ONLINE:',
763
+    'texte_date_publication_objet' => 'Data de publicação online:',
764
+    'texte_definir_comme_traduction_rubrique' => 'Esta seção é uma tradução da seção número:',
765
+    'texte_descriptif_rapide' => 'Descrição rápida',
766
+    'texte_effacer_base' => 'Apagar a base de dados do SPIP',
767
+    'texte_effacer_statistiques' => 'Apagar as estatísticas',
768
+    'texte_en_cours_validation' => 'Os conteúdos abaixo estão propostos para publicação.',
769
+    'texte_enrichir_mise_a_jour' => 'Você pode enriquecer a diagramação do seu texto usando «atalhos tipográficos».',
770
+    'texte_fichier_authent' => '<b>O SPIP pode criar os arquivos especiais  <tt>.htpasswd</tt> e <tt>.htpasswd-admin</tt> no diretório @dossier@?</b><p>
771 771
 Estes arquivos podem servir para restringir o acesso aos autores e administradores em outras áreas do seu site (programas externos de estatísticas, por exemplo).</p><p>
772 772
 Se eles não forem úteis, você poderá deixar esta opção com o seu valor padrão (sem criar os arquivos).</p>',
773
-	'texte_informations_personnelles_1' => 'O sistema vai criar agora um acesso personalizado ao site.',
774
-	'texte_informations_personnelles_2' => '(Nota: trata-se de uma reinstalação, se o seu acesso funciona corretamente, você pode',
775
-	'texte_introductif_article' => '(Texto introdutório da matéria.)',
776
-	'texte_jeu_caractere' => 'É aconselhável usar no seu site o alfabeto universal (<tt>utf-8</tt>): ele permite a exibição de textos em todos os idiomas, e não tem problemas de compatibilidade com os navegadores modernos.',
777
-	'texte_jeu_caractere_3' => 'O seu site está configurado atualmente com o conjunto de caracteres:',
778
-	'texte_jeu_caractere_4' => 'Se isso não corresponde à realidade dos seus dados (por ex., em seguimento a um restauro da base de dados), ou se <em>você lançou este site</em> e deseja utilizar um outro conjunto de caracteres, por favor, indique-o aqui:',
779
-	'texte_login_ldap_1' => '(Deixe em branco para acesso anônimo, ou informe o caminho completo, por exemplo «<tt>uid=dupont, ou=users, dc=mon-domaine, dc=com</tt>».)',
780
-	'texte_login_precaution' => 'Atenção! Este é o login com o qual você está conectado agora. Use este formulário com cautela...',
781
-	'texte_messagerie_agenda' => 'As mensagens internas permitem que os redatores se comuniquem entre si, diretamente da área privada do site. Elas estão associadas a uma agenda.',
782
-	'texte_mise_a_niveau_base_1' => 'Você acabou de atualizar os arquivos do SPIP.
773
+    'texte_informations_personnelles_1' => 'O sistema vai criar agora um acesso personalizado ao site.',
774
+    'texte_informations_personnelles_2' => '(Nota: trata-se de uma reinstalação, se o seu acesso funciona corretamente, você pode',
775
+    'texte_introductif_article' => '(Texto introdutório da matéria.)',
776
+    'texte_jeu_caractere' => 'É aconselhável usar no seu site o alfabeto universal (<tt>utf-8</tt>): ele permite a exibição de textos em todos os idiomas, e não tem problemas de compatibilidade com os navegadores modernos.',
777
+    'texte_jeu_caractere_3' => 'O seu site está configurado atualmente com o conjunto de caracteres:',
778
+    'texte_jeu_caractere_4' => 'Se isso não corresponde à realidade dos seus dados (por ex., em seguimento a um restauro da base de dados), ou se <em>você lançou este site</em> e deseja utilizar um outro conjunto de caracteres, por favor, indique-o aqui:',
779
+    'texte_login_ldap_1' => '(Deixe em branco para acesso anônimo, ou informe o caminho completo, por exemplo «<tt>uid=dupont, ou=users, dc=mon-domaine, dc=com</tt>».)',
780
+    'texte_login_precaution' => 'Atenção! Este é o login com o qual você está conectado agora. Use este formulário com cautela...',
781
+    'texte_messagerie_agenda' => 'As mensagens internas permitem que os redatores se comuniquem entre si, diretamente da área privada do site. Elas estão associadas a uma agenda.',
782
+    'texte_mise_a_niveau_base_1' => 'Você acabou de atualizar os arquivos do SPIP.
783 783
 Agora é necessário atualizar a base de dados do site.',
784
-	'texte_modifier_article' => 'Editar a matéria:',
785
-	'texte_multilinguisme' => 'Se você deseja gerar objetos em diversos idiomas, com uma navegação complexa, você pode incluir um menu de seleção de idioma nesses objetos, de acordo com a estrutura do seu site.',
786
-	'texte_multilinguisme_trad' => 'Você pode, igualmente, ativar um sistema de gerenciamento de links entre as diferentes traduções em certos objetos.',
787
-	'texte_non_compresse' => '<i>não compactado</i> (seu servidor não suporta esta funcionalidade)',
788
-	'texte_nouvelle_version_spip_1' => 'Você instalou uma nova versão do SPIP.',
789
-	'texte_nouvelle_version_spip_2' => 'Esta nova versão precisa de uma atualização mais completa do que o normal. Se você é o webmaster do site, por favor, apague o arquivo @connect@ e retome a instalação de forma a incluir os seus parâmetros de conexão à base de dados.<p> (NB.: se você não se lembra dos seus parâmetros de conexão, consulte o arquivo @connect@ antes de apagá-lo...)</p>',
790
-	'texte_operation_echec' => 'Volte à página anterior, escolha uma outra base de dados ou crie uma nova. Verifique as informações fornecidas pelo seu serviço de hospedagem.',
791
-	'texte_plus_trois_car' => 'mais de 3 caracteres',
792
-	'texte_plusieurs_articles' => 'Demasiados autores encontrados para "@cherche_auteur@":',
793
-	'texte_port_annuaire' => '(O valor padrão indicado é geralmente conveniente.)',
794
-	'texte_presente_plugin' => 'Esta página lista os plugins disponíveis para o site. Você pode ativar os plugins necessários marcando a opção correspondente.',
795
-	'texte_proposer_publication' => 'Assim que a sua matéria estiver pronta, você pode propor a sua publicação.',
796
-	'texte_proxy' => 'Em alguns casos (intranet, redes protegidas...), os sites remotos (documentação do SPIP, sites sindicados etc.) só estarão acessíveis através de um <i>proxy HTTP</i>. Nesse caso, informe abaixo o endereço, no formato @[email protected], você pode deixar este campo vazio.',
797
-	'texte_publication_articles_post_dates' => 'Que comportamento o SPIP deve adotar face às matérias em que a data de publicação está pré-datada?',
798
-	'texte_rappel_selection_champs' => '[Não se esqueça de selecionar corretamente este campo.]',
799
-	'texte_recalcul_page' => 'Se você quiser recalcular uma única página, passe para a área pública e clique no botão «atualizar».',
800
-	'texte_recuperer_base' => 'Reparar a base de dados',
801
-	'texte_reference_mais_redirige' => 'matéria referenciada no seu site em  SPIP, mas redirecionada para outro URL.',
802
-	'texte_requetes_echouent' => '<b>Já que certas solicitações SQL falharam sistematicamente e sem razão aparente, é possível que a causa esteja na base de dados em si.</b><p>
784
+    'texte_modifier_article' => 'Editar a matéria:',
785
+    'texte_multilinguisme' => 'Se você deseja gerar objetos em diversos idiomas, com uma navegação complexa, você pode incluir um menu de seleção de idioma nesses objetos, de acordo com a estrutura do seu site.',
786
+    'texte_multilinguisme_trad' => 'Você pode, igualmente, ativar um sistema de gerenciamento de links entre as diferentes traduções em certos objetos.',
787
+    'texte_non_compresse' => '<i>não compactado</i> (seu servidor não suporta esta funcionalidade)',
788
+    'texte_nouvelle_version_spip_1' => 'Você instalou uma nova versão do SPIP.',
789
+    'texte_nouvelle_version_spip_2' => 'Esta nova versão precisa de uma atualização mais completa do que o normal. Se você é o webmaster do site, por favor, apague o arquivo @connect@ e retome a instalação de forma a incluir os seus parâmetros de conexão à base de dados.<p> (NB.: se você não se lembra dos seus parâmetros de conexão, consulte o arquivo @connect@ antes de apagá-lo...)</p>',
790
+    'texte_operation_echec' => 'Volte à página anterior, escolha uma outra base de dados ou crie uma nova. Verifique as informações fornecidas pelo seu serviço de hospedagem.',
791
+    'texte_plus_trois_car' => 'mais de 3 caracteres',
792
+    'texte_plusieurs_articles' => 'Demasiados autores encontrados para "@cherche_auteur@":',
793
+    'texte_port_annuaire' => '(O valor padrão indicado é geralmente conveniente.)',
794
+    'texte_presente_plugin' => 'Esta página lista os plugins disponíveis para o site. Você pode ativar os plugins necessários marcando a opção correspondente.',
795
+    'texte_proposer_publication' => 'Assim que a sua matéria estiver pronta, você pode propor a sua publicação.',
796
+    'texte_proxy' => 'Em alguns casos (intranet, redes protegidas...), os sites remotos (documentação do SPIP, sites sindicados etc.) só estarão acessíveis através de um <i>proxy HTTP</i>. Nesse caso, informe abaixo o endereço, no formato @[email protected], você pode deixar este campo vazio.',
797
+    'texte_publication_articles_post_dates' => 'Que comportamento o SPIP deve adotar face às matérias em que a data de publicação está pré-datada?',
798
+    'texte_rappel_selection_champs' => '[Não se esqueça de selecionar corretamente este campo.]',
799
+    'texte_recalcul_page' => 'Se você quiser recalcular uma única página, passe para a área pública e clique no botão «atualizar».',
800
+    'texte_recuperer_base' => 'Reparar a base de dados',
801
+    'texte_reference_mais_redirige' => 'matéria referenciada no seu site em  SPIP, mas redirecionada para outro URL.',
802
+    'texte_requetes_echouent' => '<b>Já que certas solicitações SQL falharam sistematicamente e sem razão aparente, é possível que a causa esteja na base de dados em si.</b><p>
803 803
 O seu servidor SQL dispõe de uma funcionalidade de reparação das suas tabelas quando elas são danificadas por acidente. Você poderá tentar esta reparação; em caso de falha, conserve uma cópia da mensagem de erro, que poderá conter indícios do que não está funcionando...</p><p>
804 804
 Se o problema persistir, contate o seu serviço de hospedagem.</p>',
805
-	'texte_selection_langue_principale' => 'Você pode escolher abaixo o «idioma principal» do site. esta escolha não o obriga - felizmente! - a escrever as suas matérias no idioma selecionado, mas permite determinar:
805
+    'texte_selection_langue_principale' => 'Você pode escolher abaixo o «idioma principal» do site. esta escolha não o obriga - felizmente! - a escrever as suas matérias no idioma selecionado, mas permite determinar:
806 806
  <ul><li>o formato padrão das datas no site público;</li>
807 807
  <li>a natureza do motor tipográfico que o SPIP deverá usar para a composição dos textos;</li>
808 808
  <li>o idioma usado nos formulários do site público;</li>
809 809
  <li>o idioma padrão exibido na área privada.</li></ul>',
810
-	'texte_sous_titre' => 'Subtítulo',
811
-	'texte_statistiques_visites' => '(barras escuras:  domingo / curva escura: evolução da média)',
812
-	'texte_statut_attente_validation' => 'aguardando validação',
813
-	'texte_statut_publies' => 'publicadas online',
814
-	'texte_statut_refuses' => 'recusadas',
815
-	'texte_suppression_fichiers' => 'Use este comando para excluir todos os arquivos que constam do cache do SPIP. Isto permite, por exemplo, forçar a reconstrução de todas as páginas, caso você tenha feito alterações importantes no layout ou na estrutura do site.',
816
-	'texte_sur_titre' => 'Sobretítulo',
817
-	'texte_table_ok' => ': esta tabela está OK.',
818
-	'texte_tentative_recuperation' => 'Tentativa de reparação',
819
-	'texte_tenter_reparation' => 'Tentar uma reparação da base de dados',
820
-	'texte_test_proxy' => 'Para testar este proxy, informe aqui o endereço de um website que você deseje testar.',
821
-	'texte_titre_02' => 'Título:',
822
-	'texte_titre_obligatoire' => '<b>Título</b> [obrigatório]',
823
-	'texte_travail_article' => '@nom_auteur_modif@ trabalhou nesta matéria há @date_diff@ minutos',
824
-	'texte_travail_collaboratif' => 'Se é frequente acontecer de mais de um redator trabalhar em uma mesma matéria, o sistema pode exibir as matérias recentemente "abertas", de modo a evitar modificações concorrentes. Esta opção está desativada por padrão, para evitar a exibição de mensagens de aviso desnecessárias.',
825
-	'texte_vide' => 'vazia',
826
-	'texte_vider_cache' => 'Esvaziar o cache',
827
-	'titre_admin_tech' => 'Manutenção técnica',
828
-	'titre_admin_vider' => 'Manutenção técnica',
829
-	'titre_ajouter_un_auteur' => 'Incluir um autor',
830
-	'titre_ajouter_un_mot' => 'Incluir uma palavra-chave',
831
-	'titre_cadre_afficher_article' => 'Exibir as matérias',
832
-	'titre_cadre_afficher_traductions' => 'Exibir o status das traduções para os idiomas a seguir:',
833
-	'titre_cadre_ajouter_auteur' => 'INCLUIR UM AUTOR:',
834
-	'titre_cadre_interieur_rubrique' => 'Na seção',
835
-	'titre_cadre_numero_auteur' => 'AUTOR NÚMERO',
836
-	'titre_cadre_numero_objet' => '@objet@ NÚMERO:',
837
-	'titre_cadre_signature_obligatoire' => '<b>Assinatura</b> [obrigatório]<br />',
838
-	'titre_config_contenu_notifications' => 'Notificações',
839
-	'titre_config_contenu_prive' => 'Na área privada',
840
-	'titre_config_contenu_public' => 'No site público',
841
-	'titre_config_fonctions' => 'Configuração do site',
842
-	'titre_config_langage' => 'Configurar o idioma',
843
-	'titre_configuration' => 'Configuração do site',
844
-	'titre_configurer_preferences' => 'Configurar as suas preferências',
845
-	'titre_configurer_preferences_menus' => 'Configurar as suas preferências de menus',
846
-	'titre_conflit_edition' => 'Conflito durante a edição',
847
-	'titre_connexion_ldap' => 'Opções: <b>Sua conexão LDAP</b>',
848
-	'titre_groupe_mots' => 'GRUPO DE PALAVRAS-CHAVE:',
849
-	'titre_identite_site' => 'Identidade do site',
850
-	'titre_langue_article' => 'Idioma da matéria',
851
-	'titre_langue_rubrique' => 'Idioma da seção',
852
-	'titre_langue_trad_article' => 'IDIOMA E TRADUÇÕES DA MATÉRIA',
853
-	'titre_les_articles' => 'AS MATÉRIAS',
854
-	'titre_messagerie_agenda' => 'Mensagens internas e agenda',
855
-	'titre_naviguer_dans_le_site' => 'Navegar no site...',
856
-	'titre_nouvelle_rubrique' => 'Nova seção',
857
-	'titre_numero_rubrique' => 'SEÇÃO NÚMERO:',
858
-	'titre_page_articles_edit' => 'Editar: @titre@',
859
-	'titre_page_articles_page' => 'As matérias',
860
-	'titre_page_articles_tous' => 'Todo o site',
861
-	'titre_page_calendrier' => 'Calendário @nom_mois@ @annee@',
862
-	'titre_page_config_contenu' => 'Configuração do site',
863
-	'titre_page_delete_all' => 'supressão total e irreversível',
864
-	'titre_page_recherche' => 'Resultados da busca por @recherche@',
865
-	'titre_page_statistiques_referers' => 'Estatísticas (links de entrada)',
866
-	'titre_page_upgrade' => 'Atualização do SPIP',
867
-	'titre_preference_menus_favoris' => 'Menus favoritos',
868
-	'titre_publication_articles_post_dates' => 'Publicação de matérias pós-datadas',
869
-	'titre_reparation' => 'Reparação',
870
-	'titre_suivi_petition' => 'Acompanhamento das petições',
871
-	'tls_ldap' => 'Transport Layer Security:',
872
-	'trad_article_traduction' => 'Todas as versões desta matéria:',
873
-	'trad_delier' => 'Desvincular destas traduções',
874
-	'trad_lier' => 'Esta matéria é uma tradução da matéria número:',
875
-	'trad_new' => 'Escrever uma nova tradução',
810
+    'texte_sous_titre' => 'Subtítulo',
811
+    'texte_statistiques_visites' => '(barras escuras:  domingo / curva escura: evolução da média)',
812
+    'texte_statut_attente_validation' => 'aguardando validação',
813
+    'texte_statut_publies' => 'publicadas online',
814
+    'texte_statut_refuses' => 'recusadas',
815
+    'texte_suppression_fichiers' => 'Use este comando para excluir todos os arquivos que constam do cache do SPIP. Isto permite, por exemplo, forçar a reconstrução de todas as páginas, caso você tenha feito alterações importantes no layout ou na estrutura do site.',
816
+    'texte_sur_titre' => 'Sobretítulo',
817
+    'texte_table_ok' => ': esta tabela está OK.',
818
+    'texte_tentative_recuperation' => 'Tentativa de reparação',
819
+    'texte_tenter_reparation' => 'Tentar uma reparação da base de dados',
820
+    'texte_test_proxy' => 'Para testar este proxy, informe aqui o endereço de um website que você deseje testar.',
821
+    'texte_titre_02' => 'Título:',
822
+    'texte_titre_obligatoire' => '<b>Título</b> [obrigatório]',
823
+    'texte_travail_article' => '@nom_auteur_modif@ trabalhou nesta matéria há @date_diff@ minutos',
824
+    'texte_travail_collaboratif' => 'Se é frequente acontecer de mais de um redator trabalhar em uma mesma matéria, o sistema pode exibir as matérias recentemente "abertas", de modo a evitar modificações concorrentes. Esta opção está desativada por padrão, para evitar a exibição de mensagens de aviso desnecessárias.',
825
+    'texte_vide' => 'vazia',
826
+    'texte_vider_cache' => 'Esvaziar o cache',
827
+    'titre_admin_tech' => 'Manutenção técnica',
828
+    'titre_admin_vider' => 'Manutenção técnica',
829
+    'titre_ajouter_un_auteur' => 'Incluir um autor',
830
+    'titre_ajouter_un_mot' => 'Incluir uma palavra-chave',
831
+    'titre_cadre_afficher_article' => 'Exibir as matérias',
832
+    'titre_cadre_afficher_traductions' => 'Exibir o status das traduções para os idiomas a seguir:',
833
+    'titre_cadre_ajouter_auteur' => 'INCLUIR UM AUTOR:',
834
+    'titre_cadre_interieur_rubrique' => 'Na seção',
835
+    'titre_cadre_numero_auteur' => 'AUTOR NÚMERO',
836
+    'titre_cadre_numero_objet' => '@objet@ NÚMERO:',
837
+    'titre_cadre_signature_obligatoire' => '<b>Assinatura</b> [obrigatório]<br />',
838
+    'titre_config_contenu_notifications' => 'Notificações',
839
+    'titre_config_contenu_prive' => 'Na área privada',
840
+    'titre_config_contenu_public' => 'No site público',
841
+    'titre_config_fonctions' => 'Configuração do site',
842
+    'titre_config_langage' => 'Configurar o idioma',
843
+    'titre_configuration' => 'Configuração do site',
844
+    'titre_configurer_preferences' => 'Configurar as suas preferências',
845
+    'titre_configurer_preferences_menus' => 'Configurar as suas preferências de menus',
846
+    'titre_conflit_edition' => 'Conflito durante a edição',
847
+    'titre_connexion_ldap' => 'Opções: <b>Sua conexão LDAP</b>',
848
+    'titre_groupe_mots' => 'GRUPO DE PALAVRAS-CHAVE:',
849
+    'titre_identite_site' => 'Identidade do site',
850
+    'titre_langue_article' => 'Idioma da matéria',
851
+    'titre_langue_rubrique' => 'Idioma da seção',
852
+    'titre_langue_trad_article' => 'IDIOMA E TRADUÇÕES DA MATÉRIA',
853
+    'titre_les_articles' => 'AS MATÉRIAS',
854
+    'titre_messagerie_agenda' => 'Mensagens internas e agenda',
855
+    'titre_naviguer_dans_le_site' => 'Navegar no site...',
856
+    'titre_nouvelle_rubrique' => 'Nova seção',
857
+    'titre_numero_rubrique' => 'SEÇÃO NÚMERO:',
858
+    'titre_page_articles_edit' => 'Editar: @titre@',
859
+    'titre_page_articles_page' => 'As matérias',
860
+    'titre_page_articles_tous' => 'Todo o site',
861
+    'titre_page_calendrier' => 'Calendário @nom_mois@ @annee@',
862
+    'titre_page_config_contenu' => 'Configuração do site',
863
+    'titre_page_delete_all' => 'supressão total e irreversível',
864
+    'titre_page_recherche' => 'Resultados da busca por @recherche@',
865
+    'titre_page_statistiques_referers' => 'Estatísticas (links de entrada)',
866
+    'titre_page_upgrade' => 'Atualização do SPIP',
867
+    'titre_preference_menus_favoris' => 'Menus favoritos',
868
+    'titre_publication_articles_post_dates' => 'Publicação de matérias pós-datadas',
869
+    'titre_reparation' => 'Reparação',
870
+    'titre_suivi_petition' => 'Acompanhamento das petições',
871
+    'tls_ldap' => 'Transport Layer Security:',
872
+    'trad_article_traduction' => 'Todas as versões desta matéria:',
873
+    'trad_delier' => 'Desvincular destas traduções',
874
+    'trad_lier' => 'Esta matéria é uma tradução da matéria número:',
875
+    'trad_new' => 'Escrever uma nova tradução',
876 876
 
877
-	// U
878
-	'utf8_convert_erreur_orig' => 'Erro: o conjunto de caracteres @charset@ não é suportado.',
877
+    // U
878
+    'utf8_convert_erreur_orig' => 'Erro: o conjunto de caracteres @charset@ não é suportado.',
879 879
 
880
-	// V
881
-	'version' => 'Versão:'
880
+    // V
881
+    'version' => 'Versão:'
882 882
 );
Please login to merge, or discard this patch.
ecrire/lang/spip_eo.php 1 patch
Indentation   +657 added lines, -657 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,145 +593,145 @@  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
-	'taille_octets_bi' => '@taille@ bitokoj',
629
-	'texte_actualite_site_1' => 'Kiam vi estos kutimiĝinta kun la interfaco, vi povos musklaki sur « ',
630
-	'texte_actualite_site_2' => 'kompleta interfaco',
631
-	'texte_actualite_site_3' => ' » por malfermi pliajn eblecojn.',
632
-	'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.',
633
-	'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
+    'taille_octets_bi' => '@taille@ bitokoj',
629
+    'texte_actualite_site_1' => 'Kiam vi estos kutimiĝinta kun la interfaco, vi povos musklaki sur « ',
630
+    'texte_actualite_site_2' => 'kompleta interfaco',
631
+    'texte_actualite_site_3' => ' » por malfermi pliajn eblecojn.',
632
+    '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.',
633
+    'texte_documents_associes' => 'La sekvantaj dokumentoj estas asociitaj al la artikolo,
634 634
     sed ili ne estis rekte enmetitaj en ĝin.
635 635
     Laŭ la enpaĝigo de la publika spaco,
636 636
     ili povos aperi en formo de alkroĉitaj dokumentoj.',
637
-	'texte_erreur_mise_niveau_base' => 'Datenbazo-eraro dum la alniveligo.
637
+    'texte_erreur_mise_niveau_base' => 'Datenbazo-eraro dum la alniveligo.
638 638
   La bildo <b>@fichier@</b> ne transŝutiĝis (artikolo @id_article@).
639 639
   Bone notu tiun referencon, reprovu la alniveligon,
640 640
   kaj fine kontrolu ke la bildoj plu aperu
641 641
 en la artikoloj.',
642
-	'texte_erreur_visiteur' => 'Vi provis eniri la privatan spacon pere de ne alir-rajtiga salutnomo.',
643
-	'texte_inc_auth_1' => 'Vi ensalutis laŭ la
642
+    'texte_erreur_visiteur' => 'Vi provis eniri la privatan spacon pere de ne alir-rajtiga salutnomo.',
643
+    'texte_inc_auth_1' => 'Vi ensalutis laŭ la
644 644
   salutnomo <b>@auth_login@</b>, sed tiu ne/ne plu ekzistas en la datenbazo.
645 645
   Provu',
646
-	'texte_inc_auth_2' => 'rekonektiĝi',
647
-	'texte_inc_auth_3' => ', post esti eventuale ferminta kaj
646
+    'texte_inc_auth_2' => 'rekonektiĝi',
647
+    'texte_inc_auth_3' => ', post esti eventuale ferminta kaj
648 648
   restartiginta via retumilon.',
649
-	'texte_inc_config' => 'La ŝanĝoj faritaj en tiuj ĉi paĝoj influas grave la
649
+    'texte_inc_config' => 'La ŝanĝoj faritaj en tiuj ĉi paĝoj influas grave la
650 650
  funkciadon de via retejo. Ni konsilas al vi ne plu interveni antaŭ ol esti pli
651 651
  kutimiĝinta pri la funkciado de la SPIP-sistemo. <br /><br /><b>Pli
652 652
  ĝenerale, estas tre konsilinde lasi la mastrumadon de tiuj ĉi paĝoj
653 653
 sub la respondeco de la ĉefa retejestro .</b>',
654
-	'texte_inc_meta_1' => 'La sistemo detektis eraron dum skribado de la dosiero <code>@fichier@</code>. Bonvolu, kiel mastrumanto de la retejo,',
655
-	'texte_inc_meta_2' => 'kontroli la skriborajtojn',
656
-	'texte_inc_meta_3' => 'en la dosierujo <code>@repertoire@</code>.',
657
-	'texte_statut_en_cours_redaction' => 'Redaktataj',
658
-	'texte_statut_poubelle' => 'en rubujo',
659
-	'texte_statut_propose_evaluation' => 'proponita por taksado',
660
-	'texte_statut_publie' => 'rete publikigita',
661
-	'texte_statut_refuse' => 'rifuzita',
662
-	'titre_ajouter_mot_cle' => 'ALDONI ŜLOSILVORTON :',
663
-	'titre_cadre_raccourcis' => 'RAPIDAJ ALIROJ :',
664
-	'titre_changer_couleur_interface' => 'Ŝanĝi la koloron de la interfaco',
665
-	'titre_image_admin_article' => 'Vi povas mastrumi tiun ĉi artikolon',
666
-	'titre_image_administrateur' => 'Mastrumanto',
667
-	'titre_image_aide' => 'Helpo pri tiu elemento',
668
-	'titre_image_auteur_supprime' => 'Aŭtoro forigita',
669
-	'titre_image_redacteur' => 'Redaktanto sen alireblo',
670
-	'titre_image_redacteur_02' => 'Redaktanto',
671
-	'titre_image_selecteur' => 'Montri la liston',
672
-	'titre_image_visiteur' => 'Vizitanto',
673
-	'titre_joindre_document' => 'ALDONI DOKUMENTON',
674
-	'titre_mots_cles' => 'ŜLOSILVORTOJ',
675
-	'titre_probleme_technique' => 'Atentu : teknika problemo  (SQL-servilo) malhelpas la aliron al tiu parto de la retejo. Dankon pro via komprenemo.',
676
-	'titre_publier_document' => 'PUBLIKIGI DOKUMENTON EN TIU ĈI RUBRIKO',
677
-	'titre_signatures_attente' => 'Subskriboj validotaj',
678
-	'titre_signatures_confirmees' => 'Subskriboj konfirmitaj',
679
-	'titre_statistiques' => 'Statistikoj de la retejo',
680
-	'titre_titre_document' => 'Titolo de la dokumento :',
681
-	'todo' => 'venonta',
682
-	'trad_definir_reference' => 'Elekti „@titre@“ kiel referenco de la tradukoj',
683
-	'trad_reference' => '(referenco de la traduktoj)',
654
+    'texte_inc_meta_1' => 'La sistemo detektis eraron dum skribado de la dosiero <code>@fichier@</code>. Bonvolu, kiel mastrumanto de la retejo,',
655
+    'texte_inc_meta_2' => 'kontroli la skriborajtojn',
656
+    'texte_inc_meta_3' => 'en la dosierujo <code>@repertoire@</code>.',
657
+    'texte_statut_en_cours_redaction' => 'Redaktataj',
658
+    'texte_statut_poubelle' => 'en rubujo',
659
+    'texte_statut_propose_evaluation' => 'proponita por taksado',
660
+    'texte_statut_publie' => 'rete publikigita',
661
+    'texte_statut_refuse' => 'rifuzita',
662
+    'titre_ajouter_mot_cle' => 'ALDONI ŜLOSILVORTON :',
663
+    'titre_cadre_raccourcis' => 'RAPIDAJ ALIROJ :',
664
+    'titre_changer_couleur_interface' => 'Ŝanĝi la koloron de la interfaco',
665
+    'titre_image_admin_article' => 'Vi povas mastrumi tiun ĉi artikolon',
666
+    'titre_image_administrateur' => 'Mastrumanto',
667
+    'titre_image_aide' => 'Helpo pri tiu elemento',
668
+    'titre_image_auteur_supprime' => 'Aŭtoro forigita',
669
+    'titre_image_redacteur' => 'Redaktanto sen alireblo',
670
+    'titre_image_redacteur_02' => 'Redaktanto',
671
+    'titre_image_selecteur' => 'Montri la liston',
672
+    'titre_image_visiteur' => 'Vizitanto',
673
+    'titre_joindre_document' => 'ALDONI DOKUMENTON',
674
+    'titre_mots_cles' => 'ŜLOSILVORTOJ',
675
+    'titre_probleme_technique' => 'Atentu : teknika problemo  (SQL-servilo) malhelpas la aliron al tiu parto de la retejo. Dankon pro via komprenemo.',
676
+    'titre_publier_document' => 'PUBLIKIGI DOKUMENTON EN TIU ĈI RUBRIKO',
677
+    'titre_signatures_attente' => 'Subskriboj validotaj',
678
+    'titre_signatures_confirmees' => 'Subskriboj konfirmitaj',
679
+    'titre_statistiques' => 'Statistikoj de la retejo',
680
+    'titre_titre_document' => 'Titolo de la dokumento :',
681
+    'todo' => 'venonta',
682
+    'trad_definir_reference' => 'Elekti „@titre@“ kiel referenco de la tradukoj',
683
+    'trad_reference' => '(referenco de la traduktoj)',
684 684
 
685
-	// U
686
-	'upload_limit' => 'Tiu dosiero estas tro granda por la servilo : la maksimuma dosiergrando, kiam oni alŝutas, estas @max@.',
685
+    // U
686
+    'upload_limit' => 'Tiu dosiero estas tro granda por la servilo : la maksimuma dosiergrando, kiam oni alŝutas, estas @max@.',
687 687
 
688
-	// Z
689
-	'zbug_balise_b_aval' => ' : posta B marko',
690
-	'zbug_balise_inexistante' => 'Marko @balise@ malbone deklarita por @from@',
691
-	'zbug_balise_sans_argument' => 'Mankas argumento en la marko @balise@',
692
-	'zbug_boucle' => 'iteracio',
693
-	'zbug_boucle_recursive_undef' => 'Nedifinita rekursia iteracio : @nom@',
694
-	'zbug_calcul' => 'komputado',
695
-	'zbug_champ_hors_boucle' => 'Kampo @champ@ eksteras iteracion',
696
-	'zbug_champ_hors_motif' => 'Kampo @champ@ eksteras kontekston @motif@',
697
-	'zbug_code' => 'kodo',
698
-	'zbug_critere_inconnu' => 'Nekonata kriterio @critere@',
699
-	'zbug_critere_sur_table_sans_cle_primaire' => '{@critere@} pri tabelo sen atoma ĉefŝlosilo',
700
-	'zbug_distant_interdit' => 'Ago ĉe tiu ekstera datenbazo malpermesata',
701
-	'zbug_doublon_table_sans_cle_primaire' => 'Duobloj uzitaj ĉe tabelo, kiu ne havas simplan ĉefŝlosilon',
702
-	'zbug_doublon_table_sans_index' => 'Duoblaĵoj en la datentabelo sen indekso',
703
-	'zbug_erreur_boucle_double' => 'Duobla difino de la interacio @id@',
704
-	'zbug_erreur_boucle_fermant' => 'Iteracio @id@ ne fermita',
705
-	'zbug_erreur_boucle_syntaxe' => 'Sintakso de la iteracia @id@ ne valida',
706
-	'zbug_erreur_compilation' => 'Kompil-eraro',
707
-	'zbug_erreur_execution_page' => 'Eraro dum plenumo',
708
-	'zbug_erreur_filtre' => 'Filtrilo @filtre@ nedifinita',
709
-	'zbug_erreur_meme_parent' => 'La kriterio {meme_parent} nur aplikiĝas je iteracioj (FORUMS) aŭ (RUBRIQUES)',
710
-	'zbug_erreur_squelette' => 'Eraro(j) en la skeleto',
711
-	'zbug_hors_compilation' => 'Ne kompilita',
712
-	'zbug_info_erreur_squelette' => 'Eraro ĉe la retejo',
713
-	'zbug_inversion_ordre_inexistant' => 'Inversigo de ne ekzistanta ordo',
714
-	'zbug_pagination_sans_critere' => 'Marko #PAGINATION senkriteria {pagination} aŭ uzata en rekursia iteracio',
715
-	'zbug_parametres_inclus_incorrects' => 'Ne korektaj inkludaj parametroj : @param@',
716
-	'zbug_profile' => 'Kalkuldaŭro : @time@',
717
-	'zbug_resultat' => 'rezulto',
718
-	'zbug_serveur_indefini' => 'Nedifinata SQL-servilo',
719
-	'zbug_statistiques' => 'statistikoj pri SQL-informpetoj ordigitaj laŭ daŭro',
720
-	'zbug_table_inconnue' => 'nekonata SQL « @table@ » tabelo',
721
-	'zxml_connus_attributs' => 'konataj atributoj',
722
-	'zxml_de' => 'de',
723
-	'zxml_inconnu_attribut' => 'nekonataj atributoj',
724
-	'zxml_inconnu_balise' => 'ne konita marko',
725
-	'zxml_inconnu_entite' => 'ne konata ento',
726
-	'zxml_inconnu_id' => 'ne konata ID',
727
-	'zxml_mais_de' => 'sed',
728
-	'zxml_non_conforme' => 'ne kongrua kun la motivo',
729
-	'zxml_non_fils' => 'ne estas filo de',
730
-	'zxml_nonvide_balise' => 'ne malplena marko',
731
-	'zxml_obligatoire_attribut' => 'deviga atributo sed foresta en',
732
-	'zxml_succession_fils_incorrecte' => 'sinsekvo de filoj korekta',
733
-	'zxml_survoler' => 'superflugi por ekvidi korektaĵojn',
734
-	'zxml_valeur_attribut' => 'atributa valoro',
735
-	'zxml_vide_balise' => 'malplena marko',
736
-	'zxml_vu' => 'antaŭe vidita'
688
+    // Z
689
+    'zbug_balise_b_aval' => ' : posta B marko',
690
+    'zbug_balise_inexistante' => 'Marko @balise@ malbone deklarita por @from@',
691
+    'zbug_balise_sans_argument' => 'Mankas argumento en la marko @balise@',
692
+    'zbug_boucle' => 'iteracio',
693
+    'zbug_boucle_recursive_undef' => 'Nedifinita rekursia iteracio : @nom@',
694
+    'zbug_calcul' => 'komputado',
695
+    'zbug_champ_hors_boucle' => 'Kampo @champ@ eksteras iteracion',
696
+    'zbug_champ_hors_motif' => 'Kampo @champ@ eksteras kontekston @motif@',
697
+    'zbug_code' => 'kodo',
698
+    'zbug_critere_inconnu' => 'Nekonata kriterio @critere@',
699
+    'zbug_critere_sur_table_sans_cle_primaire' => '{@critere@} pri tabelo sen atoma ĉefŝlosilo',
700
+    'zbug_distant_interdit' => 'Ago ĉe tiu ekstera datenbazo malpermesata',
701
+    'zbug_doublon_table_sans_cle_primaire' => 'Duobloj uzitaj ĉe tabelo, kiu ne havas simplan ĉefŝlosilon',
702
+    'zbug_doublon_table_sans_index' => 'Duoblaĵoj en la datentabelo sen indekso',
703
+    'zbug_erreur_boucle_double' => 'Duobla difino de la interacio @id@',
704
+    'zbug_erreur_boucle_fermant' => 'Iteracio @id@ ne fermita',
705
+    'zbug_erreur_boucle_syntaxe' => 'Sintakso de la iteracia @id@ ne valida',
706
+    'zbug_erreur_compilation' => 'Kompil-eraro',
707
+    'zbug_erreur_execution_page' => 'Eraro dum plenumo',
708
+    'zbug_erreur_filtre' => 'Filtrilo @filtre@ nedifinita',
709
+    'zbug_erreur_meme_parent' => 'La kriterio {meme_parent} nur aplikiĝas je iteracioj (FORUMS) aŭ (RUBRIQUES)',
710
+    'zbug_erreur_squelette' => 'Eraro(j) en la skeleto',
711
+    'zbug_hors_compilation' => 'Ne kompilita',
712
+    'zbug_info_erreur_squelette' => 'Eraro ĉe la retejo',
713
+    'zbug_inversion_ordre_inexistant' => 'Inversigo de ne ekzistanta ordo',
714
+    'zbug_pagination_sans_critere' => 'Marko #PAGINATION senkriteria {pagination} aŭ uzata en rekursia iteracio',
715
+    'zbug_parametres_inclus_incorrects' => 'Ne korektaj inkludaj parametroj : @param@',
716
+    'zbug_profile' => 'Kalkuldaŭro : @time@',
717
+    'zbug_resultat' => 'rezulto',
718
+    'zbug_serveur_indefini' => 'Nedifinata SQL-servilo',
719
+    'zbug_statistiques' => 'statistikoj pri SQL-informpetoj ordigitaj laŭ daŭro',
720
+    'zbug_table_inconnue' => 'nekonata SQL « @table@ » tabelo',
721
+    'zxml_connus_attributs' => 'konataj atributoj',
722
+    'zxml_de' => 'de',
723
+    'zxml_inconnu_attribut' => 'nekonataj atributoj',
724
+    'zxml_inconnu_balise' => 'ne konita marko',
725
+    'zxml_inconnu_entite' => 'ne konata ento',
726
+    'zxml_inconnu_id' => 'ne konata ID',
727
+    'zxml_mais_de' => 'sed',
728
+    'zxml_non_conforme' => 'ne kongrua kun la motivo',
729
+    'zxml_non_fils' => 'ne estas filo de',
730
+    'zxml_nonvide_balise' => 'ne malplena marko',
731
+    'zxml_obligatoire_attribut' => 'deviga atributo sed foresta en',
732
+    'zxml_succession_fils_incorrecte' => 'sinsekvo de filoj korekta',
733
+    'zxml_survoler' => 'superflugi por ekvidi korektaĵojn',
734
+    'zxml_valeur_attribut' => 'atributa valoro',
735
+    'zxml_vide_balise' => 'malplena marko',
736
+    'zxml_vu' => 'antaŭe vidita'
737 737
 );
Please login to merge, or discard this patch.
ecrire/lang/spip_tr.php 1 patch
Indentation   +587 added lines, -587 removed lines patch added patch discarded remove patch
@@ -4,510 +4,510 @@  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' => 'Tam grafik arayüze geri dön',
14
-	'access_mode_texte' => 'Basitleştirilmiş metin arayüzünü göster',
15
-	'admin_debug' => 'hata ayıkla',
16
-	'admin_modifier_article' => 'Bu makaleyi değiştir',
17
-	'admin_modifier_auteur' => 'Bu yazarı değiştir',
18
-	'admin_modifier_breve' => 'Bu kısa haberi değiştir',
19
-	'admin_modifier_mot' => 'Bu anahtar sözcüğü değiştir',
20
-	'admin_modifier_rubrique' => 'Bu bölümü değiştir',
21
-	'admin_recalculer' => 'Bu sayfayı yeniden oluştur',
22
-	'afficher_trad' => 'çevirileri listele',
23
-	'alerte_maj_impossible' => '<b>Dikkat !</b> SQL veri tabanının @version@ sürümüne güncellenmesi imkansız. Sorun veritabanı değiştirme haklarından kaynaklanıyor olabilir, lütfen sitenizi barındıran şirkete başvurunuz.',
24
-	'alerte_modif_info_concourante' => 'DİKKAT: Bu bilgi başka bir yerde değiştirildi. Güncel değer :',
25
-	'analyse_xml' => 'XML analizi',
26
-	'annuler' => 'İptal et',
27
-	'antispam_champ_vide' => 'Lütfen bu alanı boş bırakınız :',
28
-	'articles_recents' => 'En yeni makaleler',
29
-	'avis_archive_incorrect' => 'arşiv dosyası SPIP dosyası değil',
30
-	'avis_archive_invalide' => 'bu arşiv dosyası geçerli değil',
31
-	'avis_attention' => 'DİKKAT !',
32
-	'avis_champ_incorrect_type_objet' => '@type@ tipindeki nesne için @name@ ismi geçersiz',
33
-	'avis_colonne_inexistante' => '@col@ isimli sütun yok',
34
-	'avis_erreur' => 'Hata: aşağıdaki açıklamaya bakınız',
35
-	'avis_erreur_connexion' => 'Bağlantı hatası',
36
-	'avis_erreur_cookie' => 'çerez sorunu',
37
-	'avis_erreur_fonction_contexte' => 'Yazılım hatası. Bu işlev bu biçimde kullanılmamalı.',
38
-	'avis_erreur_mysql' => 'SQL hatası',
39
-	'avis_erreur_sauvegarde' => 'Yedeklemede hata (@type@ @id_objet@) !',
40
-	'avis_erreur_visiteur' => 'Özel alana erişim sorunu',
12
+    // A
13
+    'access_interface_graphique' => 'Tam grafik arayüze geri dön',
14
+    'access_mode_texte' => 'Basitleştirilmiş metin arayüzünü göster',
15
+    'admin_debug' => 'hata ayıkla',
16
+    'admin_modifier_article' => 'Bu makaleyi değiştir',
17
+    'admin_modifier_auteur' => 'Bu yazarı değiştir',
18
+    'admin_modifier_breve' => 'Bu kısa haberi değiştir',
19
+    'admin_modifier_mot' => 'Bu anahtar sözcüğü değiştir',
20
+    'admin_modifier_rubrique' => 'Bu bölümü değiştir',
21
+    'admin_recalculer' => 'Bu sayfayı yeniden oluştur',
22
+    'afficher_trad' => 'çevirileri listele',
23
+    'alerte_maj_impossible' => '<b>Dikkat !</b> SQL veri tabanının @version@ sürümüne güncellenmesi imkansız. Sorun veritabanı değiştirme haklarından kaynaklanıyor olabilir, lütfen sitenizi barındıran şirkete başvurunuz.',
24
+    'alerte_modif_info_concourante' => 'DİKKAT: Bu bilgi başka bir yerde değiştirildi. Güncel değer :',
25
+    'analyse_xml' => 'XML analizi',
26
+    'annuler' => 'İptal et',
27
+    'antispam_champ_vide' => 'Lütfen bu alanı boş bırakınız :',
28
+    'articles_recents' => 'En yeni makaleler',
29
+    'avis_archive_incorrect' => 'arşiv dosyası SPIP dosyası değil',
30
+    'avis_archive_invalide' => 'bu arşiv dosyası geçerli değil',
31
+    'avis_attention' => 'DİKKAT !',
32
+    'avis_champ_incorrect_type_objet' => '@type@ tipindeki nesne için @name@ ismi geçersiz',
33
+    'avis_colonne_inexistante' => '@col@ isimli sütun yok',
34
+    'avis_erreur' => 'Hata: aşağıdaki açıklamaya bakınız',
35
+    'avis_erreur_connexion' => 'Bağlantı hatası',
36
+    'avis_erreur_cookie' => 'çerez sorunu',
37
+    'avis_erreur_fonction_contexte' => 'Yazılım hatası. Bu işlev bu biçimde kullanılmamalı.',
38
+    'avis_erreur_mysql' => 'SQL hatası',
39
+    'avis_erreur_sauvegarde' => 'Yedeklemede hata (@type@ @id_objet@) !',
40
+    'avis_erreur_visiteur' => 'Özel alana erişim sorunu',
41 41
 
42
-	// B
43
-	'barre_a_accent_grave' => 'A harfinin üstüne aksan ekle (Türkçede anlamsız)',
44
-	'barre_aide' => 'Sayfa düzenini zenginleştirmek için tipografik kısayolları kullanınız',
45
-	'barre_e_accent_aigu' => 'E harfinin üstüne aksan ekle (Türkçe’de anlamsız)',
46
-	'barre_eo' => 'Türkçe’de anlamsız',
47
-	'barre_eo_maj' => 'Türkçe’de anlamsız',
48
-	'barre_euro' => '€ işaretini girin',
49
-	'barre_gras' => '{{Kalın}} yaz',
50
-	'barre_guillemets' => '« Tırnak » içine al',
51
-	'barre_guillemets_simples' => '“İkinci biçimde tırnak” içine al',
52
-	'barre_intertitre' => '{{{Arabaşlık’a}}} dönüştür',
53
-	'barre_italic' => '{Yana yatık (italik)} yaz',
54
-	'barre_lien' => '[Hipermetin bağlantısına->http://...] dönüştür',
55
-	'barre_lien_input' => 'Lütfen bağlantınızın adresini girin (adresi http://www.adresim.com veya bu sitede bulunan bir metnin numarası şeklinde girebilirsiniz).',
56
-	'barre_note' => '[[Sayfa sonu notuna]] dönüştür',
57
-	'barre_paragraphe' => 'Bir paragraf oluştur',
58
-	'barre_quote' => '<quote>Bir iletiden alıntı yap</quote>',
59
-	'bouton_changer' => 'Değiştir',
60
-	'bouton_chercher' => 'Ara',
61
-	'bouton_choisir' => 'Seç',
62
-	'bouton_download' => 'İndir', # MODIF
63
-	'bouton_enregistrer' => 'Kaydet',
64
-	'bouton_radio_desactiver_messagerie_interne' => 'İç iletileri kapat',
65
-	'bouton_radio_envoi_annonces' => 'Yazar duyurularını yolla',
66
-	'bouton_radio_non_envoi_annonces' => 'Duyuruları yollama',
67
-	'bouton_radio_non_envoi_liste_nouveautes' => 'Yenilikler listesini gönderme',
68
-	'bouton_recharger_page' => 'bu sayfayı yeniden yükle',
69
-	'bouton_telecharger' => 'İndir',
70
-	'bouton_upload' => 'İndir', # MODIF
71
-	'bouton_valider' => 'Onayla',
42
+    // B
43
+    'barre_a_accent_grave' => 'A harfinin üstüne aksan ekle (Türkçede anlamsız)',
44
+    'barre_aide' => 'Sayfa düzenini zenginleştirmek için tipografik kısayolları kullanınız',
45
+    'barre_e_accent_aigu' => 'E harfinin üstüne aksan ekle (Türkçe’de anlamsız)',
46
+    'barre_eo' => 'Türkçe’de anlamsız',
47
+    'barre_eo_maj' => 'Türkçe’de anlamsız',
48
+    'barre_euro' => '€ işaretini girin',
49
+    'barre_gras' => '{{Kalın}} yaz',
50
+    'barre_guillemets' => '« Tırnak » içine al',
51
+    'barre_guillemets_simples' => '“İkinci biçimde tırnak” içine al',
52
+    'barre_intertitre' => '{{{Arabaşlık’a}}} dönüştür',
53
+    'barre_italic' => '{Yana yatık (italik)} yaz',
54
+    'barre_lien' => '[Hipermetin bağlantısına->http://...] dönüştür',
55
+    'barre_lien_input' => 'Lütfen bağlantınızın adresini girin (adresi http://www.adresim.com veya bu sitede bulunan bir metnin numarası şeklinde girebilirsiniz).',
56
+    'barre_note' => '[[Sayfa sonu notuna]] dönüştür',
57
+    'barre_paragraphe' => 'Bir paragraf oluştur',
58
+    'barre_quote' => '<quote>Bir iletiden alıntı yap</quote>',
59
+    'bouton_changer' => 'Değiştir',
60
+    'bouton_chercher' => 'Ara',
61
+    'bouton_choisir' => 'Seç',
62
+    'bouton_download' => 'İndir', # MODIF
63
+    'bouton_enregistrer' => 'Kaydet',
64
+    'bouton_radio_desactiver_messagerie_interne' => 'İç iletileri kapat',
65
+    'bouton_radio_envoi_annonces' => 'Yazar duyurularını yolla',
66
+    'bouton_radio_non_envoi_annonces' => 'Duyuruları yollama',
67
+    'bouton_radio_non_envoi_liste_nouveautes' => 'Yenilikler listesini gönderme',
68
+    'bouton_recharger_page' => 'bu sayfayı yeniden yükle',
69
+    'bouton_telecharger' => 'İndir',
70
+    'bouton_upload' => 'İndir', # MODIF
71
+    'bouton_valider' => 'Onayla',
72 72
 
73
-	// C
74
-	'cal_apresmidi' => 'öğleden sonra',
75
-	'cal_jour_entier' => 'tam gün',
76
-	'cal_matin' => 'sabah',
77
-	'cal_par_jour' => 'günlük takvim',
78
-	'cal_par_mois' => 'aylık takvim',
79
-	'cal_par_semaine' => 'haftalık takvim',
80
-	'choix_couleur_interface' => 'renk',
81
-	'choix_interface' => 'arayüz seçimi',
82
-	'colonne' => 'Sütun',
83
-	'confirm_changer_statut' => 'Dikkat, bu elemanın durumunu değiştirmek istediniz. Devam etmek istiyor musunuz ?',
84
-	'correcte' => 'doğru',
73
+    // C
74
+    'cal_apresmidi' => 'öğleden sonra',
75
+    'cal_jour_entier' => 'tam gün',
76
+    'cal_matin' => 'sabah',
77
+    'cal_par_jour' => 'günlük takvim',
78
+    'cal_par_mois' => 'aylık takvim',
79
+    'cal_par_semaine' => 'haftalık takvim',
80
+    'choix_couleur_interface' => 'renk',
81
+    'choix_interface' => 'arayüz seçimi',
82
+    'colonne' => 'Sütun',
83
+    'confirm_changer_statut' => 'Dikkat, bu elemanın durumunu değiştirmek istediniz. Devam etmek istiyor musunuz ?',
84
+    'correcte' => 'doğru',
85 85
 
86
-	// D
87
-	'date_aujourdhui' => 'bugün',
88
-	'date_avant_jc' => 'İ.Ö.',
89
-	'date_dans' => ' @delai@ içinde',
90
-	'date_de_mois_1' => '@j@ @nommois@',
91
-	'date_de_mois_10' => '@j@ @nommois@',
92
-	'date_de_mois_11' => '@j@ @nommois@',
93
-	'date_de_mois_12' => '@j@ @nommois@',
94
-	'date_de_mois_2' => '@j@ @nommois@',
95
-	'date_de_mois_3' => '@j@ @nommois@',
96
-	'date_de_mois_4' => '@j@ @nommois@',
97
-	'date_de_mois_5' => '@j@ @nommois@',
98
-	'date_de_mois_6' => '@j@ @nommois@',
99
-	'date_de_mois_7' => '@j@ @nommois@',
100
-	'date_de_mois_8' => '@j@ @nommois@',
101
-	'date_de_mois_9' => '@j@ @nommois@',
102
-	'date_demain' => 'yarın',
103
-	'date_fmt_heures_minutes' => '@h@h@m@min',
104
-	'date_fmt_jour_heure' => '@jour@ @heure@',
105
-	'date_fmt_jour_mois' => '@jour@ @nommois@',
106
-	'date_fmt_jour_mois_annee' => '@jour@ @nommois@ @annee@',
107
-	'date_fmt_mois_annee' => '@nommois@ @annee@',
108
-	'date_fmt_nomjour_date' => '@date@ @nomjour@',
109
-	'date_heures' => 'saat ',
110
-	'date_hier' => 'dün',
111
-	'date_il_y_a' => '@delai@ önce',
112
-	'date_jnum1' => '1.',
113
-	'date_jnum10' => '10',
114
-	'date_jnum11' => '11',
115
-	'date_jnum12' => '12',
116
-	'date_jnum13' => '13',
117
-	'date_jnum14' => '14',
118
-	'date_jnum15' => '15',
119
-	'date_jnum16' => '16',
120
-	'date_jnum17' => '17',
121
-	'date_jnum18' => '18',
122
-	'date_jnum19' => '19',
123
-	'date_jnum2' => '2',
124
-	'date_jnum20' => '20',
125
-	'date_jnum21' => '21',
126
-	'date_jnum22' => '22',
127
-	'date_jnum23' => '23',
128
-	'date_jnum24' => '24',
129
-	'date_jnum25' => '25',
130
-	'date_jnum26' => '26',
131
-	'date_jnum27' => '27',
132
-	'date_jnum28' => '28',
133
-	'date_jnum29' => '29',
134
-	'date_jnum3' => '3',
135
-	'date_jnum30' => '30',
136
-	'date_jnum31' => '31',
137
-	'date_jnum4' => '4',
138
-	'date_jnum5' => '5',
139
-	'date_jnum6' => '6',
140
-	'date_jnum7' => '7',
141
-	'date_jnum8' => '8',
142
-	'date_jnum9' => '9',
143
-	'date_jour_1' => 'Pazar',
144
-	'date_jour_1_abbr' => 'Pzr.',
145
-	'date_jour_1_initiale' => 'g.',
146
-	'date_jour_2' => 'Pazartesi',
147
-	'date_jour_2_abbr' => 'Ptesi.',
148
-	'date_jour_2_initiale' => 'P.',
149
-	'date_jour_3' => 'Salı',
150
-	'date_jour_3_abbr' => 'Salı',
151
-	'date_jour_3_initiale' => 'S.',
152
-	'date_jour_4' => 'Çarşamba',
153
-	'date_jour_4_abbr' => 'Çarş.',
154
-	'date_jour_4_initiale' => 'Ç.',
155
-	'date_jour_5' => 'Perşembe',
156
-	'date_jour_5_abbr' => 'Perş.',
157
-	'date_jour_5_initiale' => 'P.',
158
-	'date_jour_6' => 'Cuma',
159
-	'date_jour_6_abbr' => 'Cuma',
160
-	'date_jour_6_initiale' => 'C.',
161
-	'date_jour_7' => 'Cumartesi',
162
-	'date_jour_7_abbr' => 'Ctesi',
163
-	'date_jour_7_initiale' => 'Ct.',
164
-	'date_jours' => 'gün',
165
-	'date_minutes' => 'dakika',
166
-	'date_mois' => 'ay',
167
-	'date_mois_1' => 'Ocak',
168
-	'date_mois_10' => 'Ekim',
169
-	'date_mois_11' => 'Kasım',
170
-	'date_mois_12' => 'Aralık',
171
-	'date_mois_2' => 'Şubat',
172
-	'date_mois_3' => 'Mart',
173
-	'date_mois_4' => 'Nisan',
174
-	'date_mois_5' => 'Mayıs',
175
-	'date_mois_6' => 'Haziran',
176
-	'date_mois_7' => 'Temmuz',
177
-	'date_mois_8' => 'Ağustos',
178
-	'date_mois_9' => 'Eylül',
179
-	'date_saison_1' => 'kış',
180
-	'date_saison_2' => 'ilkbahar',
181
-	'date_saison_3' => 'yaz',
182
-	'date_saison_4' => 'sonbahar',
183
-	'date_semaines' => 'hafta',
184
-	'dirs_commencer' => ' yüklemeye gerçekten başlamak için',
185
-	'dirs_preliminaire' => 'Ön bilgi : <b>Erişim haklarını ayarlayınız</b>',
186
-	'dirs_probleme_droits' => 'Erişim hakları sorunu ',
187
-	'dirs_repertoires_absents' => '<p><b>Şu dizinler bulunamadı : </b></p><ul>@bad_dirs@</ul> </b>
86
+    // D
87
+    'date_aujourdhui' => 'bugün',
88
+    'date_avant_jc' => 'İ.Ö.',
89
+    'date_dans' => ' @delai@ içinde',
90
+    'date_de_mois_1' => '@j@ @nommois@',
91
+    'date_de_mois_10' => '@j@ @nommois@',
92
+    'date_de_mois_11' => '@j@ @nommois@',
93
+    'date_de_mois_12' => '@j@ @nommois@',
94
+    'date_de_mois_2' => '@j@ @nommois@',
95
+    'date_de_mois_3' => '@j@ @nommois@',
96
+    'date_de_mois_4' => '@j@ @nommois@',
97
+    'date_de_mois_5' => '@j@ @nommois@',
98
+    'date_de_mois_6' => '@j@ @nommois@',
99
+    'date_de_mois_7' => '@j@ @nommois@',
100
+    'date_de_mois_8' => '@j@ @nommois@',
101
+    'date_de_mois_9' => '@j@ @nommois@',
102
+    'date_demain' => 'yarın',
103
+    'date_fmt_heures_minutes' => '@h@h@m@min',
104
+    'date_fmt_jour_heure' => '@jour@ @heure@',
105
+    'date_fmt_jour_mois' => '@jour@ @nommois@',
106
+    'date_fmt_jour_mois_annee' => '@jour@ @nommois@ @annee@',
107
+    'date_fmt_mois_annee' => '@nommois@ @annee@',
108
+    'date_fmt_nomjour_date' => '@date@ @nomjour@',
109
+    'date_heures' => 'saat ',
110
+    'date_hier' => 'dün',
111
+    'date_il_y_a' => '@delai@ önce',
112
+    'date_jnum1' => '1.',
113
+    'date_jnum10' => '10',
114
+    'date_jnum11' => '11',
115
+    'date_jnum12' => '12',
116
+    'date_jnum13' => '13',
117
+    'date_jnum14' => '14',
118
+    'date_jnum15' => '15',
119
+    'date_jnum16' => '16',
120
+    'date_jnum17' => '17',
121
+    'date_jnum18' => '18',
122
+    'date_jnum19' => '19',
123
+    'date_jnum2' => '2',
124
+    'date_jnum20' => '20',
125
+    'date_jnum21' => '21',
126
+    'date_jnum22' => '22',
127
+    'date_jnum23' => '23',
128
+    'date_jnum24' => '24',
129
+    'date_jnum25' => '25',
130
+    'date_jnum26' => '26',
131
+    'date_jnum27' => '27',
132
+    'date_jnum28' => '28',
133
+    'date_jnum29' => '29',
134
+    'date_jnum3' => '3',
135
+    'date_jnum30' => '30',
136
+    'date_jnum31' => '31',
137
+    'date_jnum4' => '4',
138
+    'date_jnum5' => '5',
139
+    'date_jnum6' => '6',
140
+    'date_jnum7' => '7',
141
+    'date_jnum8' => '8',
142
+    'date_jnum9' => '9',
143
+    'date_jour_1' => 'Pazar',
144
+    'date_jour_1_abbr' => 'Pzr.',
145
+    'date_jour_1_initiale' => 'g.',
146
+    'date_jour_2' => 'Pazartesi',
147
+    'date_jour_2_abbr' => 'Ptesi.',
148
+    'date_jour_2_initiale' => 'P.',
149
+    'date_jour_3' => 'Salı',
150
+    'date_jour_3_abbr' => 'Salı',
151
+    'date_jour_3_initiale' => 'S.',
152
+    'date_jour_4' => 'Çarşamba',
153
+    'date_jour_4_abbr' => 'Çarş.',
154
+    'date_jour_4_initiale' => 'Ç.',
155
+    'date_jour_5' => 'Perşembe',
156
+    'date_jour_5_abbr' => 'Perş.',
157
+    'date_jour_5_initiale' => 'P.',
158
+    'date_jour_6' => 'Cuma',
159
+    'date_jour_6_abbr' => 'Cuma',
160
+    'date_jour_6_initiale' => 'C.',
161
+    'date_jour_7' => 'Cumartesi',
162
+    'date_jour_7_abbr' => 'Ctesi',
163
+    'date_jour_7_initiale' => 'Ct.',
164
+    'date_jours' => 'gün',
165
+    'date_minutes' => 'dakika',
166
+    'date_mois' => 'ay',
167
+    'date_mois_1' => 'Ocak',
168
+    'date_mois_10' => 'Ekim',
169
+    'date_mois_11' => 'Kasım',
170
+    'date_mois_12' => 'Aralık',
171
+    'date_mois_2' => 'Şubat',
172
+    'date_mois_3' => 'Mart',
173
+    'date_mois_4' => 'Nisan',
174
+    'date_mois_5' => 'Mayıs',
175
+    'date_mois_6' => 'Haziran',
176
+    'date_mois_7' => 'Temmuz',
177
+    'date_mois_8' => 'Ağustos',
178
+    'date_mois_9' => 'Eylül',
179
+    'date_saison_1' => 'kış',
180
+    'date_saison_2' => 'ilkbahar',
181
+    'date_saison_3' => 'yaz',
182
+    'date_saison_4' => 'sonbahar',
183
+    'date_semaines' => 'hafta',
184
+    'dirs_commencer' => ' yüklemeye gerçekten başlamak için',
185
+    'dirs_preliminaire' => 'Ön bilgi : <b>Erişim haklarını ayarlayınız</b>',
186
+    'dirs_probleme_droits' => 'Erişim hakları sorunu ',
187
+    'dirs_repertoires_absents' => '<p><b>Şu dizinler bulunamadı : </b></p><ul>@bad_dirs@</ul> </b>
188 188
   <p>Büyük küçük harf hatasına bağlı olabilir.
189 189
   Dizinlerin küçük büyük harflerle yazılışlarının yukarıda gösterilenlerle uyuştuğunu kontrol edin;  eğer uyuşmuyorsa FTP programınızla dizin isimlerini düzeltin.</p>
190 190
   <p>Bu işlemi yaptığınızda ',
191
-	'dirs_repertoires_suivants' => '<p><b>Aşağıdaki dizinlere yazma izni yoktur : </b></p><ul>@bad_dirs@.</ul> 
191
+    'dirs_repertoires_suivants' => '<p><b>Aşağıdaki dizinlere yazma izni yoktur : </b></p><ul>@bad_dirs@.</ul> 
192 192
   <p>Bu sorunu çözmek için FTP programınızla her bir dizine erişim haklarını düzenleyin. Bu yordam, kurulum kitapçığında detaylı biçimde açıklanmıştır./p> 
193 193
   <p>Bu işlemi yaptığınızda ',
194
-	'double_occurrence' => 'Çift tekrar ', # MODIF
194
+    'double_occurrence' => 'Çift tekrar ', # MODIF
195 195
 
196
-	// E
197
-	'en_cours' => 'işlenmekte',
198
-	'envoi_via_le_site' => 'Site üzerinden gönder',
199
-	'erreur' => 'Hata',
200
-	'erreur_balise_non_fermee' => 'son etiket kapatılmamış :',
201
-	'erreur_texte' => 'hata(lar)',
202
-	'etape' => 'Aşama',
196
+    // E
197
+    'en_cours' => 'işlenmekte',
198
+    'envoi_via_le_site' => 'Site üzerinden gönder',
199
+    'erreur' => 'Hata',
200
+    'erreur_balise_non_fermee' => 'son etiket kapatılmamış :',
201
+    'erreur_texte' => 'hata(lar)',
202
+    'etape' => 'Aşama',
203 203
 
204
-	// F
205
-	'fichier_introuvable' => '@fichier@ dosyası bulunamadı', # MODIF
206
-	'form_deja_inscrit' => 'Zaten kayıtlısınız.',
207
-	'form_email_non_valide' => 'E-posta adresiniz geçersiz.',
208
-	'form_forum_access_refuse' => 'Artık bu siteye erişim izniniz yok.',
209
-	'form_forum_bonjour' => 'Merhaba @nom@,',
210
-	'form_forum_email_deja_enregistre' => 'Bu e-posta adresi zaten kayıtlı, kullanmakta olduğunuz şifrenizi kullanmaya devam edebilirsiniz.',
211
-	'form_forum_identifiant_mail' => 'Yeni tanımlayıcınız e-posta yoluyla gönderildi.',
212
-	'form_forum_identifiants' => 'Kişisel tanımlayıcılar',
213
-	'form_forum_indiquer_nom_email' => 'Buraya isminizi ve e-posta adresinizi giriniz. Yeni tanımlayıcınız size bir e-posta ile hemen gönderilecektir.',
214
-	'form_forum_login' => 'kullanıcı ismi :',
215
-	'form_forum_message_auto' => '(bu otomatik bir iletidir)',
216
-	'form_forum_pass' => 'şifre :',
217
-	'form_forum_probleme_mail' => 'E-posta sorunu : tanımlayıcı gönderilemiyor.',
218
-	'form_forum_voici1' => '"@nom_site_spip@" (@adresse_site@) site yaşamına katılabilmek için tanımlayıcılarınız :',
219
-	'form_forum_voici2' => '"@nom_site_spip@" (@adresse_login@) sitesinde makale yayınlayabilmeniz için gereken kimlik bilgileriniz :',
220
-	'form_indiquer_email' => 'Lütfen e-posta adresinizi belirtiniz.',
221
-	'form_indiquer_nom' => 'Lütfen isminizi belirtiniz.',
222
-	'form_indiquer_nom_site' => 'Lütfen sitenizin ismini belirtiniz.',
223
-	'form_pet_deja_enregistre' => 'Bu site zaten kayıtlı',
224
-	'form_pet_signature_pasprise' => 'İmzanız dikkate alınmadı.',
225
-	'form_prop_confirmer_envoi' => 'Gönderiyi onayla',
226
-	'form_prop_description' => 'Tanım / Yorum',
227
-	'form_prop_enregistre' => 'Öneriniz kaydedildi, sitenin sorumluları tarafından onaylandıktan sonra çevrimiçi yayınlanacak.',
228
-	'form_prop_envoyer' => 'Bir ileti gönder',
229
-	'form_prop_indiquer_email' => 'Lütfen geçerli bir e-posta adresi belirtiniz',
230
-	'form_prop_indiquer_nom_site' => 'Sitenin ismini giriniz.',
231
-	'form_prop_indiquer_sujet' => 'Bir konu belirtiniz',
232
-	'form_prop_message_envoye' => 'İleti gönderildi',
233
-	'form_prop_non_enregistre' => 'Öneriniz kaydedilmedi.',
234
-	'form_prop_sujet' => 'Konu',
235
-	'form_prop_url_site' => 'Sitenin Url adresi', # MODIF
236
-	'forum_non_inscrit' => 'Kayıtlı değilsiniz veya adresiniz veya şifreniz hatalı.',
237
-	'forum_par_auteur' => 'yazan @auteur@ ',
238
-	'forum_titre_erreur' => 'Hata...',
204
+    // F
205
+    'fichier_introuvable' => '@fichier@ dosyası bulunamadı', # MODIF
206
+    'form_deja_inscrit' => 'Zaten kayıtlısınız.',
207
+    'form_email_non_valide' => 'E-posta adresiniz geçersiz.',
208
+    'form_forum_access_refuse' => 'Artık bu siteye erişim izniniz yok.',
209
+    'form_forum_bonjour' => 'Merhaba @nom@,',
210
+    'form_forum_email_deja_enregistre' => 'Bu e-posta adresi zaten kayıtlı, kullanmakta olduğunuz şifrenizi kullanmaya devam edebilirsiniz.',
211
+    'form_forum_identifiant_mail' => 'Yeni tanımlayıcınız e-posta yoluyla gönderildi.',
212
+    'form_forum_identifiants' => 'Kişisel tanımlayıcılar',
213
+    'form_forum_indiquer_nom_email' => 'Buraya isminizi ve e-posta adresinizi giriniz. Yeni tanımlayıcınız size bir e-posta ile hemen gönderilecektir.',
214
+    'form_forum_login' => 'kullanıcı ismi :',
215
+    'form_forum_message_auto' => '(bu otomatik bir iletidir)',
216
+    'form_forum_pass' => 'şifre :',
217
+    'form_forum_probleme_mail' => 'E-posta sorunu : tanımlayıcı gönderilemiyor.',
218
+    'form_forum_voici1' => '"@nom_site_spip@" (@adresse_site@) site yaşamına katılabilmek için tanımlayıcılarınız :',
219
+    'form_forum_voici2' => '"@nom_site_spip@" (@adresse_login@) sitesinde makale yayınlayabilmeniz için gereken kimlik bilgileriniz :',
220
+    'form_indiquer_email' => 'Lütfen e-posta adresinizi belirtiniz.',
221
+    'form_indiquer_nom' => 'Lütfen isminizi belirtiniz.',
222
+    'form_indiquer_nom_site' => 'Lütfen sitenizin ismini belirtiniz.',
223
+    'form_pet_deja_enregistre' => 'Bu site zaten kayıtlı',
224
+    'form_pet_signature_pasprise' => 'İmzanız dikkate alınmadı.',
225
+    'form_prop_confirmer_envoi' => 'Gönderiyi onayla',
226
+    'form_prop_description' => 'Tanım / Yorum',
227
+    'form_prop_enregistre' => 'Öneriniz kaydedildi, sitenin sorumluları tarafından onaylandıktan sonra çevrimiçi yayınlanacak.',
228
+    'form_prop_envoyer' => 'Bir ileti gönder',
229
+    'form_prop_indiquer_email' => 'Lütfen geçerli bir e-posta adresi belirtiniz',
230
+    'form_prop_indiquer_nom_site' => 'Sitenin ismini giriniz.',
231
+    'form_prop_indiquer_sujet' => 'Bir konu belirtiniz',
232
+    'form_prop_message_envoye' => 'İleti gönderildi',
233
+    'form_prop_non_enregistre' => 'Öneriniz kaydedilmedi.',
234
+    'form_prop_sujet' => 'Konu',
235
+    'form_prop_url_site' => 'Sitenin Url adresi', # MODIF
236
+    'forum_non_inscrit' => 'Kayıtlı değilsiniz veya adresiniz veya şifreniz hatalı.',
237
+    'forum_par_auteur' => 'yazan @auteur@ ',
238
+    'forum_titre_erreur' => 'Hata...',
239 239
 
240
-	// I
241
-	'ical_texte_rss_articles' => 'Makalelerin «backend» dosyası şu adrestedir:',
242
-	'ical_texte_rss_articles2' => 'Sitenin her bir bölümünün makaleleri için «backend» dosyaları edinebilirsiniz :',
243
-	'ical_texte_rss_breves' => 'Ayrıca site haberlerini içeren bir dosya mevcuttur. Bir bölüm numarası belirterek, sadece bu bölümün haberlerini elde edebilirsiniz.',
244
-	'icone_a_suivre' => 'İzlenecek',
245
-	'icone_admin_site' => 'Site yönetimi',
246
-	'icone_agenda' => 'Ajanda',
247
-	'icone_aide_ligne' => 'Yardım',
248
-	'icone_articles' => 'Makaleler',
249
-	'icone_auteurs' => 'Yazarlar',
250
-	'icone_brouteur' => 'Hızlı gezinti',
251
-	'icone_configuration_site' => 'Yapılandırma',
252
-	'icone_configurer_site' => 'Sitenizi yapılandırın',
253
-	'icone_creer_nouvel_auteur' => 'Yeni bir yazar oluştur',
254
-	'icone_creer_rubrique' => 'Bölüm oluştur',
255
-	'icone_creer_sous_rubrique' => 'Alt-bölüm oluştur',
256
-	'icone_deconnecter' => 'Çıkış',
257
-	'icone_discussions' => 'Tartışmalar',
258
-	'icone_doc_rubrique' => 'Bölüm belgeleri',
259
-	'icone_ecrire_article' => 'Yeni bir makale yaz',
260
-	'icone_edition_site' => 'Yayın',
261
-	'icone_gestion_langues' => 'Dillerin yönetimi',
262
-	'icone_informations_personnelles' => 'Kişisel bilgiler',
263
-	'icone_interface_complet' => 'Tüm arayüz',
264
-	'icone_interface_simple' => 'Basit arayüz',
265
-	'icone_maintenance_site' => 'Site bakımı',
266
-	'icone_messagerie_personnelle' => 'Kişisel iletiler',
267
-	'icone_repartition_debut' => 'Dağılımı en başından itibaren göster',
268
-	'icone_rubriques' => 'Bölümler',
269
-	'icone_sauver_site' => 'Siteyi yedekle',
270
-	'icone_site_entier' => 'Tüm site',
271
-	'icone_sites_references' => 'Önerilen siteler',
272
-	'icone_statistiques' => 'Site istatistikleri',
273
-	'icone_suivi_activite' => 'Site yaşamını izle',
274
-	'icone_suivi_actualite' => 'Site gelişimi',
275
-	'icone_suivi_pettions' => 'Dilekçeleri izle / Yönet',
276
-	'icone_suivi_revisions' => 'Makale değişiklikleri',
277
-	'icone_supprimer_document' => 'Bu belgeyi sil',
278
-	'icone_supprimer_image' => 'Bu resmi sil',
279
-	'icone_tous_articles' => 'Tüm makaleleriniz',
280
-	'icone_tous_auteur' => 'Tüm yazarlar',
281
-	'icone_visiter_site' => 'Ziyaret et', # MODIF
282
-	'icone_voir_en_ligne' => 'Çevrimiçi göster',
283
-	'img_indisponible' => 'resim mevcut değil',
284
-	'impossible' => 'olanaksız',
285
-	'info_a_suivre' => 'İZLENECEK »',
286
-	'info_acces_interdit' => 'Erişim yasak',
287
-	'info_acces_refuse' => 'Erişim reddedildi',
288
-	'info_action' => 'Eylem : @action@',
289
-	'info_administrer_rubriques' => 'Bu bölümü ve alt-bölümleri yönetebilirsiniz',
290
-	'info_adresse_non_indiquee' => 'Denenecek bir adres belirtmediniz !',
291
-	'info_aide' => 'YARDIM :',
292
-	'info_ajouter_mot' => 'Bu sözcüğü ekle',
293
-	'info_annonce' => 'DUYURU',
294
-	'info_annonces_generales' => 'Genel duyurular :',
295
-	'info_article_propose' => 'Önerilen makale',
296
-	'info_article_publie' => 'Yayınlanan makale',
297
-	'info_article_redaction' => 'Yazılmakta olan makale',
298
-	'info_article_refuse' => 'Reddedilen makale',
299
-	'info_article_supprime' => 'Silinen makale',
300
-	'info_articles' => 'Makaleler',
301
-	'info_articles_a_valider' => 'Onaylanacak makaleler',
302
-	'info_articles_proposes' => 'Önerilen makaleler',
303
-	'info_auteurs_nombre' => 'yazar(lar) :',
304
-	'info_authentification_ftp' => 'Onay (FTP ile)',
305
-	'info_breves_2' => 'kısa haberler',
306
-	'info_connexion_refusee' => 'Bağlantı reddedildi',
307
-	'info_contact_developpeur' => 'Lütfen bir program geliştirici ile temasa geçiniz.',
308
-	'info_contenance' => 'Site içeriği :',
309
-	'info_contribution' => 'Forum katkıları', # MODIF
310
-	'info_copyright' => '@spip@, @lien_gpl@ GPL lisansı ile dağıtılan serbest bir yazılımdır.',
311
-	'info_copyright_doc' => 'Ayrıntılı bilgi için, bkz.  <a href="@spipnet@">http://www.spip.net/fr</a>.', # MODIF
312
-	'info_copyright_gpl' => 'GPL lisansı altında',
313
-	'info_cours_edition' => 'Yazılmakta olan makaleleriniz', # MODIF
314
-	'info_creer_repertoire' => 'Şu isimde bir dosya veya dizin oluşturunuz :',
315
-	'info_creer_repertoire_2' => '<b>@repertoire@</b> alt-dizini içerisinde, daha sonra :',
316
-	'info_creer_vignette' => 'otomatik ikon oluşturma',
317
-	'info_deplier' => 'Açılıp sergilenmesi',
318
-	'info_descriptif_nombre' => 'tanımlayıcı(lar) :',
319
-	'info_description' => 'Tanımlama :',
320
-	'info_description_2' => 'Tanımlama :',
321
-	'info_dimension' => 'Boyutlar :',
322
-	'info_ecire_message_prive' => 'Özel bir ileti yaz',
323
-	'info_email_invalide' => 'Geçersiz e-posta adresi.',
324
-	'info_en_cours_validation' => 'Yazılmakta olan makaleleriniz',
325
-	'info_en_ligne' => 'Şu anda çevrimiçi :',
326
-	'info_envoyer_message_prive' => 'Bu yazara özel bir ileti gönder',
327
-	'info_erreur_requete' => 'Aramada hata :',
328
-	'info_erreur_squelette2' => 'Hiçbir @fichier@ iskeleti müsait değil...',
329
-	'info_erreur_systeme' => 'Sistem hatası (hata no @errsys@)',
330
-	'info_erreur_systeme2' => 'Sabit disk dolu olabilir veya veritabanı hasar görmüş olabilir.<br />
240
+    // I
241
+    'ical_texte_rss_articles' => 'Makalelerin «backend» dosyası şu adrestedir:',
242
+    'ical_texte_rss_articles2' => 'Sitenin her bir bölümünün makaleleri için «backend» dosyaları edinebilirsiniz :',
243
+    'ical_texte_rss_breves' => 'Ayrıca site haberlerini içeren bir dosya mevcuttur. Bir bölüm numarası belirterek, sadece bu bölümün haberlerini elde edebilirsiniz.',
244
+    'icone_a_suivre' => 'İzlenecek',
245
+    'icone_admin_site' => 'Site yönetimi',
246
+    'icone_agenda' => 'Ajanda',
247
+    'icone_aide_ligne' => 'Yardım',
248
+    'icone_articles' => 'Makaleler',
249
+    'icone_auteurs' => 'Yazarlar',
250
+    'icone_brouteur' => 'Hızlı gezinti',
251
+    'icone_configuration_site' => 'Yapılandırma',
252
+    'icone_configurer_site' => 'Sitenizi yapılandırın',
253
+    'icone_creer_nouvel_auteur' => 'Yeni bir yazar oluştur',
254
+    'icone_creer_rubrique' => 'Bölüm oluştur',
255
+    'icone_creer_sous_rubrique' => 'Alt-bölüm oluştur',
256
+    'icone_deconnecter' => 'Çıkış',
257
+    'icone_discussions' => 'Tartışmalar',
258
+    'icone_doc_rubrique' => 'Bölüm belgeleri',
259
+    'icone_ecrire_article' => 'Yeni bir makale yaz',
260
+    'icone_edition_site' => 'Yayın',
261
+    'icone_gestion_langues' => 'Dillerin yönetimi',
262
+    'icone_informations_personnelles' => 'Kişisel bilgiler',
263
+    'icone_interface_complet' => 'Tüm arayüz',
264
+    'icone_interface_simple' => 'Basit arayüz',
265
+    'icone_maintenance_site' => 'Site bakımı',
266
+    'icone_messagerie_personnelle' => 'Kişisel iletiler',
267
+    'icone_repartition_debut' => 'Dağılımı en başından itibaren göster',
268
+    'icone_rubriques' => 'Bölümler',
269
+    'icone_sauver_site' => 'Siteyi yedekle',
270
+    'icone_site_entier' => 'Tüm site',
271
+    'icone_sites_references' => 'Önerilen siteler',
272
+    'icone_statistiques' => 'Site istatistikleri',
273
+    'icone_suivi_activite' => 'Site yaşamını izle',
274
+    'icone_suivi_actualite' => 'Site gelişimi',
275
+    'icone_suivi_pettions' => 'Dilekçeleri izle / Yönet',
276
+    'icone_suivi_revisions' => 'Makale değişiklikleri',
277
+    'icone_supprimer_document' => 'Bu belgeyi sil',
278
+    'icone_supprimer_image' => 'Bu resmi sil',
279
+    'icone_tous_articles' => 'Tüm makaleleriniz',
280
+    'icone_tous_auteur' => 'Tüm yazarlar',
281
+    'icone_visiter_site' => 'Ziyaret et', # MODIF
282
+    'icone_voir_en_ligne' => 'Çevrimiçi göster',
283
+    'img_indisponible' => 'resim mevcut değil',
284
+    'impossible' => 'olanaksız',
285
+    'info_a_suivre' => 'İZLENECEK »',
286
+    'info_acces_interdit' => 'Erişim yasak',
287
+    'info_acces_refuse' => 'Erişim reddedildi',
288
+    'info_action' => 'Eylem : @action@',
289
+    'info_administrer_rubriques' => 'Bu bölümü ve alt-bölümleri yönetebilirsiniz',
290
+    'info_adresse_non_indiquee' => 'Denenecek bir adres belirtmediniz !',
291
+    'info_aide' => 'YARDIM :',
292
+    'info_ajouter_mot' => 'Bu sözcüğü ekle',
293
+    'info_annonce' => 'DUYURU',
294
+    'info_annonces_generales' => 'Genel duyurular :',
295
+    'info_article_propose' => 'Önerilen makale',
296
+    'info_article_publie' => 'Yayınlanan makale',
297
+    'info_article_redaction' => 'Yazılmakta olan makale',
298
+    'info_article_refuse' => 'Reddedilen makale',
299
+    'info_article_supprime' => 'Silinen makale',
300
+    'info_articles' => 'Makaleler',
301
+    'info_articles_a_valider' => 'Onaylanacak makaleler',
302
+    'info_articles_proposes' => 'Önerilen makaleler',
303
+    'info_auteurs_nombre' => 'yazar(lar) :',
304
+    'info_authentification_ftp' => 'Onay (FTP ile)',
305
+    'info_breves_2' => 'kısa haberler',
306
+    'info_connexion_refusee' => 'Bağlantı reddedildi',
307
+    'info_contact_developpeur' => 'Lütfen bir program geliştirici ile temasa geçiniz.',
308
+    'info_contenance' => 'Site içeriği :',
309
+    'info_contribution' => 'Forum katkıları', # MODIF
310
+    'info_copyright' => '@spip@, @lien_gpl@ GPL lisansı ile dağıtılan serbest bir yazılımdır.',
311
+    'info_copyright_doc' => 'Ayrıntılı bilgi için, bkz.  <a href="@spipnet@">http://www.spip.net/fr</a>.', # MODIF
312
+    'info_copyright_gpl' => 'GPL lisansı altında',
313
+    'info_cours_edition' => 'Yazılmakta olan makaleleriniz', # MODIF
314
+    'info_creer_repertoire' => 'Şu isimde bir dosya veya dizin oluşturunuz :',
315
+    'info_creer_repertoire_2' => '<b>@repertoire@</b> alt-dizini içerisinde, daha sonra :',
316
+    'info_creer_vignette' => 'otomatik ikon oluşturma',
317
+    'info_deplier' => 'Açılıp sergilenmesi',
318
+    'info_descriptif_nombre' => 'tanımlayıcı(lar) :',
319
+    'info_description' => 'Tanımlama :',
320
+    'info_description_2' => 'Tanımlama :',
321
+    'info_dimension' => 'Boyutlar :',
322
+    'info_ecire_message_prive' => 'Özel bir ileti yaz',
323
+    'info_email_invalide' => 'Geçersiz e-posta adresi.',
324
+    'info_en_cours_validation' => 'Yazılmakta olan makaleleriniz',
325
+    'info_en_ligne' => 'Şu anda çevrimiçi :',
326
+    'info_envoyer_message_prive' => 'Bu yazara özel bir ileti gönder',
327
+    'info_erreur_requete' => 'Aramada hata :',
328
+    'info_erreur_squelette2' => 'Hiçbir @fichier@ iskeleti müsait değil...',
329
+    'info_erreur_systeme' => 'Sistem hatası (hata no @errsys@)',
330
+    'info_erreur_systeme2' => 'Sabit disk dolu olabilir veya veritabanı hasar görmüş olabilir.<br />
331 331
 <span style="color:red;">Veritabanını <a href=\'@script@\'>onarmayı deneyiniz </a>, veya sitenizi barındıran firmayı arayınız.</span>',
332
-	'info_fini' => 'Bitti !',
333
-	'info_format_image' => 'İkon yaratmak için kullanılabilecek resim formatları : @gd_formats@.',
334
-	'info_format_non_defini' => 'tanımsız format',
335
-	'info_grand_ecran' => 'Büyük ekran',
336
-	'info_image_aide' => 'YARDIM',
337
-	'info_image_process_titre' => 'İkon oluşturma yöntemleri',
338
-	'info_impossible_lire_page' => '<b>Hata !</b> Sayfa vekil (proxy) üzerinden <tt><html>@test_proxy@</html></tt> okunamıyor  <tt>',
339
-	'info_installation_systeme_publication' => 'Yayın sistemi kurulumu...',
340
-	'info_installer_documents' => '@upload@ dizininde bulunan tüm belgeleri otomatik olarak kurabilirsiniz. ',
341
-	'info_installer_ftp' => 'Yönetici olarak (FTP ile) @upload@ dizinine dosya gönderip sonra onları buradan direkt olarak seçebilirsiniz. ',
342
-	'info_installer_images' => 'JPEG, GIF ve PNG formatında resimler yükleyebilirsiniz.',
343
-	'info_installer_images_dossier' => 'Buradan seçim yapabilmek için @upload@ dizinine resim yükleyiniz. ',
344
-	'info_interface_complete' => 'Tam arayüz',
345
-	'info_interface_simple' => 'Basit arayüz',
346
-	'info_joindre_document_article' => 'Bu makaleye ekleyebileceğiniz belgeler ',
347
-	'info_joindre_document_rubrique' => 'Bu bölüme ekleyebileceğiniz belgeler ',
348
-	'info_joindre_documents_article' => 'Makalenize ekleyebileceğiniz belgeler :',
349
-	'info_l_article' => 'makale',
350
-	'info_la_breve' => 'kısa haber',
351
-	'info_la_rubrique' => 'bölüm',
352
-	'info_langue_principale' => 'Sitenin ana dili',
353
-	'info_largeur_vignette' => '@largeur_vignette@ x @hauteur_vignette@ piksel',
354
-	'info_les_auteurs_1' => 'yazan @les_auteurs@ ',
355
-	'info_logo_format_interdit' => 'Sadece @formats@ formatındaki logolar kullanılabilir.',
356
-	'info_logo_max_poids' => 'Logolar @maxi@ dan daha küçük olmalıdır (bu dosyanın boyutu  @actuel@).',
357
-	'info_mail_fournisseur' => 'isminiz@hizmet_veren_firma.com',
358
-	'info_message_2' => 'İLETİ',
359
-	'info_message_supprime' => 'İLETİ SİLİNDİ',
360
-	'info_mise_en_ligne' => 'Çevrimiçi yayın tarihi :',
361
-	'info_modification_parametres_securite' => 'güvenlik parametreleri değişikliği',
362
-	'info_mois_courant' => 'Ay içinde :',
363
-	'info_mot_cle_ajoute' => 'Şu anahtar sözcük eklendi > ',
364
-	'info_multi_herit' => 'Varsayılan dil :',
365
-	'info_multi_langues_soulignees' => '<u>Altı çizili dillerin</u> arayüzde tüm metinlerin çevirileri bulunmaktadır. Bu dilleri seçerseniz, kamu sitesinin bir çok elemanı (tarihler, formlar) otomatik olarak çevrilecektir. Altı çizili olmayan diller için ise bu elemanlar sitenin başlıca dilinde görüntülenecektir.', # MODIF
366
-	'info_multilinguisme' => 'Çok dillilik',
367
-	'info_nom_non_utilisateurs_connectes' => 'Bağlı kullanıcılar listesinde isminiz görünmüyor.',
368
-	'info_nom_utilisateurs_connectes' => 'Bağlı kullanıcılar listesinde isminiz görünüyor.',
369
-	'info_nombre_en_ligne' => 'Şu anda çevrimiçi :',
370
-	'info_non_resultat' => '"@cherche_mot@" için hiç sonuç yok',
371
-	'info_non_utilisation_messagerie' => 'Bu sitenin iç ileti sistemini kullanmıyorsunuz.',
372
-	'info_nouveau_message' => 'YENİ BİR İLETİNİZ VAR',
373
-	'info_nouveaux_messages' => '@total_messages@ YENİ MESAJINIZ VAR',
374
-	'info_numero_abbreviation' => 'N° ',
375
-	'info_obligatoire' => 'Bu bilgi zorunludur.',
376
-	'info_pense_bete' => 'HATIRLATMA',
377
-	'info_petit_ecran' => 'Küçük ekran',
378
-	'info_petition_close' => 'Dilekçe kapandı',
379
-	'info_pixels' => 'Piksel',
380
-	'info_plusieurs_mots_trouves' => ' "@cherche_mot@" için birçok anahtar sözcük bulundu',
381
-	'info_portfolio_automatique' => 'Otomatik portföy :',
382
-	'info_premier_resultat' => '[Toplam @total@ dan @debut_limit@ ilk sonuç]',
383
-	'info_premier_resultat_sur' => '[@debut_limit@ ilk sonuç / @total@ sonuç]',
384
-	'info_propose_1' => '[@nom_site_spip@] Öneriyor : @titre@',
385
-	'info_propose_2' => 'Önerilen makale
332
+    'info_fini' => 'Bitti !',
333
+    'info_format_image' => 'İkon yaratmak için kullanılabilecek resim formatları : @gd_formats@.',
334
+    'info_format_non_defini' => 'tanımsız format',
335
+    'info_grand_ecran' => 'Büyük ekran',
336
+    'info_image_aide' => 'YARDIM',
337
+    'info_image_process_titre' => 'İkon oluşturma yöntemleri',
338
+    'info_impossible_lire_page' => '<b>Hata !</b> Sayfa vekil (proxy) üzerinden <tt><html>@test_proxy@</html></tt> okunamıyor  <tt>',
339
+    'info_installation_systeme_publication' => 'Yayın sistemi kurulumu...',
340
+    'info_installer_documents' => '@upload@ dizininde bulunan tüm belgeleri otomatik olarak kurabilirsiniz. ',
341
+    'info_installer_ftp' => 'Yönetici olarak (FTP ile) @upload@ dizinine dosya gönderip sonra onları buradan direkt olarak seçebilirsiniz. ',
342
+    'info_installer_images' => 'JPEG, GIF ve PNG formatında resimler yükleyebilirsiniz.',
343
+    'info_installer_images_dossier' => 'Buradan seçim yapabilmek için @upload@ dizinine resim yükleyiniz. ',
344
+    'info_interface_complete' => 'Tam arayüz',
345
+    'info_interface_simple' => 'Basit arayüz',
346
+    'info_joindre_document_article' => 'Bu makaleye ekleyebileceğiniz belgeler ',
347
+    'info_joindre_document_rubrique' => 'Bu bölüme ekleyebileceğiniz belgeler ',
348
+    'info_joindre_documents_article' => 'Makalenize ekleyebileceğiniz belgeler :',
349
+    'info_l_article' => 'makale',
350
+    'info_la_breve' => 'kısa haber',
351
+    'info_la_rubrique' => 'bölüm',
352
+    'info_langue_principale' => 'Sitenin ana dili',
353
+    'info_largeur_vignette' => '@largeur_vignette@ x @hauteur_vignette@ piksel',
354
+    'info_les_auteurs_1' => 'yazan @les_auteurs@ ',
355
+    'info_logo_format_interdit' => 'Sadece @formats@ formatındaki logolar kullanılabilir.',
356
+    'info_logo_max_poids' => 'Logolar @maxi@ dan daha küçük olmalıdır (bu dosyanın boyutu  @actuel@).',
357
+    'info_mail_fournisseur' => 'isminiz@hizmet_veren_firma.com',
358
+    'info_message_2' => 'İLETİ',
359
+    'info_message_supprime' => 'İLETİ SİLİNDİ',
360
+    'info_mise_en_ligne' => 'Çevrimiçi yayın tarihi :',
361
+    'info_modification_parametres_securite' => 'güvenlik parametreleri değişikliği',
362
+    'info_mois_courant' => 'Ay içinde :',
363
+    'info_mot_cle_ajoute' => 'Şu anahtar sözcük eklendi > ',
364
+    'info_multi_herit' => 'Varsayılan dil :',
365
+    'info_multi_langues_soulignees' => '<u>Altı çizili dillerin</u> arayüzde tüm metinlerin çevirileri bulunmaktadır. Bu dilleri seçerseniz, kamu sitesinin bir çok elemanı (tarihler, formlar) otomatik olarak çevrilecektir. Altı çizili olmayan diller için ise bu elemanlar sitenin başlıca dilinde görüntülenecektir.', # MODIF
366
+    'info_multilinguisme' => 'Çok dillilik',
367
+    'info_nom_non_utilisateurs_connectes' => 'Bağlı kullanıcılar listesinde isminiz görünmüyor.',
368
+    'info_nom_utilisateurs_connectes' => 'Bağlı kullanıcılar listesinde isminiz görünüyor.',
369
+    'info_nombre_en_ligne' => 'Şu anda çevrimiçi :',
370
+    'info_non_resultat' => '"@cherche_mot@" için hiç sonuç yok',
371
+    'info_non_utilisation_messagerie' => 'Bu sitenin iç ileti sistemini kullanmıyorsunuz.',
372
+    'info_nouveau_message' => 'YENİ BİR İLETİNİZ VAR',
373
+    'info_nouveaux_messages' => '@total_messages@ YENİ MESAJINIZ VAR',
374
+    'info_numero_abbreviation' => 'N° ',
375
+    'info_obligatoire' => 'Bu bilgi zorunludur.',
376
+    'info_pense_bete' => 'HATIRLATMA',
377
+    'info_petit_ecran' => 'Küçük ekran',
378
+    'info_petition_close' => 'Dilekçe kapandı',
379
+    'info_pixels' => 'Piksel',
380
+    'info_plusieurs_mots_trouves' => ' "@cherche_mot@" için birçok anahtar sözcük bulundu',
381
+    'info_portfolio_automatique' => 'Otomatik portföy :',
382
+    'info_premier_resultat' => '[Toplam @total@ dan @debut_limit@ ilk sonuç]',
383
+    'info_premier_resultat_sur' => '[@debut_limit@ ilk sonuç / @total@ sonuç]',
384
+    'info_propose_1' => '[@nom_site_spip@] Öneriyor : @titre@',
385
+    'info_propose_2' => 'Önerilen makale
386 386
 ---------------',
387
-	'info_propose_3' => '"@titre@" makalesi yayınlanmak üzere önerildi.',
388
-	'info_propose_4' => 'Lütfen inceleyiniz ve görüşünüzü belirtiniz',
389
-	'info_propose_5' => 'bağlı olan forumda. Forumun adresi:',
390
-	'info_publie_01' => '"@titre@" makalesi @connect_nom@ tarafından onaylandı.',
391
-	'info_publie_1' => '[@nom_site_spip@] YAYINLANDI : @titre@',
392
-	'info_publie_2' => 'Yayınlanan makale
387
+    'info_propose_3' => '"@titre@" makalesi yayınlanmak üzere önerildi.',
388
+    'info_propose_4' => 'Lütfen inceleyiniz ve görüşünüzü belirtiniz',
389
+    'info_propose_5' => 'bağlı olan forumda. Forumun adresi:',
390
+    'info_publie_01' => '"@titre@" makalesi @connect_nom@ tarafından onaylandı.',
391
+    'info_publie_1' => '[@nom_site_spip@] YAYINLANDI : @titre@',
392
+    'info_publie_2' => 'Yayınlanan makale
393 393
 -----------------',
394
-	'info_rechercher' => 'Ara',
395
-	'info_rechercher_02' => 'Ara :',
396
-	'info_remplacer_vignette' => 'Varsayılan etiketi kişiselleştirilmiş bir logo ile değiştir :',
397
-	'info_sans_titre_2' => 'başlıksız',
398
-	'info_selectionner_fichier' => '@upload@ dizininden bir dosya seçebilirsiniz. ',
399
-	'info_selectionner_fichier_2' => 'Bir dosya seç :',
400
-	'info_supprimer_vignette' => 'Bu etiketi sil',
401
-	'info_symbole_bleu' => '<b>Mavi</b> sembol bir <b>hatırlatmayı</b> gösterir : yani, kişisel kullanımınız için bir iletidir.',
402
-	'info_symbole_jaune' => '<b>Sarı</b> sembol <b>tüm editörlere yönelik</b> bir duyuruyu gösterir : tüm yöneticiler tarafından değiştirilebilir ve tüm editörler tarafından görülebilir. ',
403
-	'info_symbole_vert' => 'Sarı sembol sitenin başka kullanıcılarıyla yapılan ileti alışverişlerini gösterir.',
404
-	'info_telecharger_nouveau_logo' => 'Yeni bir logo yükle :',
405
-	'info_telecharger_ordinateur' => 'Bilgisayarınızdan indiriniz :',
406
-	'info_tous_resultats_enregistres' => '[tüm sonuçlar kaydedildi]',
407
-	'info_tout_afficher' => 'Tümünü görüntüle',
408
-	'info_travaux_texte' => 'Bu site henüz konfigüre edilmedi. Lütfen daha sonra uğrayınız.',
409
-	'info_travaux_titre' => 'Site yapım aşamasında.',
410
-	'info_trop_resultat' => ' "@cherche_mot@" için çok fazla sonuç çıktı; lütfen aramayı netleştirin.',
411
-	'info_utilisation_messagerie_interne' => 'Bu sitenin iç ileti sistemini kullanıyorsunuz.',
412
-	'info_valider_lien' => 'Bu bağlantıyı onayla',
413
-	'info_verifier_image' => 'Resimlerinizin doğru iletildiğinden emin olunuz.',
414
-	'info_vignette_defaut' => 'Varsayılan ikon',
415
-	'info_vignette_personnalisee' => 'Kişiselleştirilmiş etiket',
416
-	'info_visite' => 'Ziyaret :',
417
-	'info_vos_rendez_vous' => 'İlerideki randevularınız',
418
-	'infos_vos_pense_bete' => 'Hatırlatmalarınız', # MODIF
394
+    'info_rechercher' => 'Ara',
395
+    'info_rechercher_02' => 'Ara :',
396
+    'info_remplacer_vignette' => 'Varsayılan etiketi kişiselleştirilmiş bir logo ile değiştir :',
397
+    'info_sans_titre_2' => 'başlıksız',
398
+    'info_selectionner_fichier' => '@upload@ dizininden bir dosya seçebilirsiniz. ',
399
+    'info_selectionner_fichier_2' => 'Bir dosya seç :',
400
+    'info_supprimer_vignette' => 'Bu etiketi sil',
401
+    'info_symbole_bleu' => '<b>Mavi</b> sembol bir <b>hatırlatmayı</b> gösterir : yani, kişisel kullanımınız için bir iletidir.',
402
+    'info_symbole_jaune' => '<b>Sarı</b> sembol <b>tüm editörlere yönelik</b> bir duyuruyu gösterir : tüm yöneticiler tarafından değiştirilebilir ve tüm editörler tarafından görülebilir. ',
403
+    'info_symbole_vert' => 'Sarı sembol sitenin başka kullanıcılarıyla yapılan ileti alışverişlerini gösterir.',
404
+    'info_telecharger_nouveau_logo' => 'Yeni bir logo yükle :',
405
+    'info_telecharger_ordinateur' => 'Bilgisayarınızdan indiriniz :',
406
+    'info_tous_resultats_enregistres' => '[tüm sonuçlar kaydedildi]',
407
+    'info_tout_afficher' => 'Tümünü görüntüle',
408
+    'info_travaux_texte' => 'Bu site henüz konfigüre edilmedi. Lütfen daha sonra uğrayınız.',
409
+    'info_travaux_titre' => 'Site yapım aşamasında.',
410
+    'info_trop_resultat' => ' "@cherche_mot@" için çok fazla sonuç çıktı; lütfen aramayı netleştirin.',
411
+    'info_utilisation_messagerie_interne' => 'Bu sitenin iç ileti sistemini kullanıyorsunuz.',
412
+    'info_valider_lien' => 'Bu bağlantıyı onayla',
413
+    'info_verifier_image' => 'Resimlerinizin doğru iletildiğinden emin olunuz.',
414
+    'info_vignette_defaut' => 'Varsayılan ikon',
415
+    'info_vignette_personnalisee' => 'Kişiselleştirilmiş etiket',
416
+    'info_visite' => 'Ziyaret :',
417
+    'info_vos_rendez_vous' => 'İlerideki randevularınız',
418
+    'infos_vos_pense_bete' => 'Hatırlatmalarınız', # MODIF
419 419
 
420
-	// L
421
-	'lien_afficher_icones_seuls' => 'Sadece ikonları görüntüle',
422
-	'lien_afficher_texte_icones' => 'ikonları ve metni görüntüle',
423
-	'lien_afficher_texte_seul' => 'Sadece metni görüntüle',
424
-	'lien_liberer' => 'Serbest bırak',
425
-	'lien_liberer_tous' => 'Bu makaleleri serbest bırak', # MODIF
426
-	'lien_nouvea_pense_bete' => 'YENİ HATIRLATMA',
427
-	'lien_nouveau_message' => 'YENİ İLETİ',
428
-	'lien_nouvelle_annonce' => 'YENİ DUYURU',
429
-	'lien_petitions' => 'DİLEKÇE ',
430
-	'lien_popularite' => 'Popülerlik : @popularite@%',
431
-	'lien_racine_site' => 'SİTENİN KÖK DİZİNİ',
432
-	'lien_reessayer' => 'Tekrar dene',
433
-	'lien_repondre_message' => 'Bu iletiye yanıt ver',
434
-	'lien_supprimer' => 'Sil',
435
-	'lien_tout_afficher' => 'Tümünü görüntüle',
436
-	'lien_visite_site' => 'Bu siteyi ziyaret et',
437
-	'lien_visites' => '@visites@ ziyaret',
438
-	'lien_voir_auteur' => 'Bu yazarı görüntüle',
439
-	'ligne' => 'Satır',
440
-	'login' => 'Bağlantı',
441
-	'login_acces_prive' => 'Özel alana erişim',
442
-	'login_autre_identifiant' => 'Başka bir kullanıcı ismi ile bağlan',
443
-	'login_cookie_accepte' => 'Lütfen gezgininizi (en azından bu site için) bunları kabul edecek biçimde ayarlayınız.',
444
-	'login_cookie_oblige' => 'Kendinizi güvenli bir şekilde tanımlamak için çerezleri kabul etmelisiniz.',
445
-	'login_deconnexion_ok' => 'Bağlantıya son verildi.',
446
-	'login_erreur_pass' => 'Şifre hatası.',
447
-	'login_espace_prive' => 'Özel alan',
448
-	'login_identifiant_inconnu' => '"@login@" kullanıcı ismi tanınmıyor.',
449
-	'login_login' => 'Kullanıcı ismi :',
450
-	'login_login2' => 'Kullanıcı ismi :', # MODIF
451
-	'login_login_pass_incorrect' => '(Kullanıcı ismi veya şifre hatalı.)',
452
-	'login_motpasseoublie' => 'Şifreyi unuttum',
453
-	'login_non_securise' => 'Dikkat, bu form güvenli değil.
420
+    // L
421
+    'lien_afficher_icones_seuls' => 'Sadece ikonları görüntüle',
422
+    'lien_afficher_texte_icones' => 'ikonları ve metni görüntüle',
423
+    'lien_afficher_texte_seul' => 'Sadece metni görüntüle',
424
+    'lien_liberer' => 'Serbest bırak',
425
+    'lien_liberer_tous' => 'Bu makaleleri serbest bırak', # MODIF
426
+    'lien_nouvea_pense_bete' => 'YENİ HATIRLATMA',
427
+    'lien_nouveau_message' => 'YENİ İLETİ',
428
+    'lien_nouvelle_annonce' => 'YENİ DUYURU',
429
+    'lien_petitions' => 'DİLEKÇE ',
430
+    'lien_popularite' => 'Popülerlik : @popularite@%',
431
+    'lien_racine_site' => 'SİTENİN KÖK DİZİNİ',
432
+    'lien_reessayer' => 'Tekrar dene',
433
+    'lien_repondre_message' => 'Bu iletiye yanıt ver',
434
+    'lien_supprimer' => 'Sil',
435
+    'lien_tout_afficher' => 'Tümünü görüntüle',
436
+    'lien_visite_site' => 'Bu siteyi ziyaret et',
437
+    'lien_visites' => '@visites@ ziyaret',
438
+    'lien_voir_auteur' => 'Bu yazarı görüntüle',
439
+    'ligne' => 'Satır',
440
+    'login' => 'Bağlantı',
441
+    'login_acces_prive' => 'Özel alana erişim',
442
+    'login_autre_identifiant' => 'Başka bir kullanıcı ismi ile bağlan',
443
+    'login_cookie_accepte' => 'Lütfen gezgininizi (en azından bu site için) bunları kabul edecek biçimde ayarlayınız.',
444
+    'login_cookie_oblige' => 'Kendinizi güvenli bir şekilde tanımlamak için çerezleri kabul etmelisiniz.',
445
+    'login_deconnexion_ok' => 'Bağlantıya son verildi.',
446
+    'login_erreur_pass' => 'Şifre hatası.',
447
+    'login_espace_prive' => 'Özel alan',
448
+    'login_identifiant_inconnu' => '"@login@" kullanıcı ismi tanınmıyor.',
449
+    'login_login' => 'Kullanıcı ismi :',
450
+    'login_login2' => 'Kullanıcı ismi :', # MODIF
451
+    'login_login_pass_incorrect' => '(Kullanıcı ismi veya şifre hatalı.)',
452
+    'login_motpasseoublie' => 'Şifreyi unuttum',
453
+    'login_non_securise' => 'Dikkat, bu form güvenli değil.
454 454
           Eğer şifrenizin ağ üzerinde tesbit edilmesini istemiyorsanız,
455 455
           lütfen gezgininizde Javascript’i çalıştırınız ve ',
456
-	'login_nouvelle_tentative' => 'Yeni deneme',
457
-	'login_par_ici' => 'Kayıt oldunuz... buradan devam ediniz...',
458
-	'login_pass2' => 'Şifre :',
459
-	'login_preferez_refuser' => '<b>Eğer çerezleri reddetmeyi tercih ediyorsanız,</b>   başka (daha az güvenli) bir bağlantı yöntemi emrinizde :',
460
-	'login_recharger' => 'sayfayı tekrar yükle',
461
-	'login_rester_identifie' => 'Bir kaç gün tanımlanmış olarak kalayım', # MODIF
462
-	'login_retour_public' => 'Kamusal siteye dön',
463
-	'login_retour_site' => 'Kamusal siteye dön',
464
-	'login_retoursitepublic' => 'Kamusal siteye dön',
465
-	'login_sinscrire' => 'Kayıt ol', # MODIF
466
-	'login_test_navigateur' => 'Gezgini dene / Tekrar bağlan',
467
-	'login_verifiez_navigateur' => '(Ancak gezginin şifrenizi belleğe almadığından emin olunuz...)',
456
+    'login_nouvelle_tentative' => 'Yeni deneme',
457
+    'login_par_ici' => 'Kayıt oldunuz... buradan devam ediniz...',
458
+    'login_pass2' => 'Şifre :',
459
+    'login_preferez_refuser' => '<b>Eğer çerezleri reddetmeyi tercih ediyorsanız,</b>   başka (daha az güvenli) bir bağlantı yöntemi emrinizde :',
460
+    'login_recharger' => 'sayfayı tekrar yükle',
461
+    'login_rester_identifie' => 'Bir kaç gün tanımlanmış olarak kalayım', # MODIF
462
+    'login_retour_public' => 'Kamusal siteye dön',
463
+    'login_retour_site' => 'Kamusal siteye dön',
464
+    'login_retoursitepublic' => 'Kamusal siteye dön',
465
+    'login_sinscrire' => 'Kayıt ol', # MODIF
466
+    'login_test_navigateur' => 'Gezgini dene / Tekrar bağlan',
467
+    'login_verifiez_navigateur' => '(Ancak gezginin şifrenizi belleğe almadığından emin olunuz...)',
468 468
 
469
-	// M
470
-	'masquer_colonne' => 'Bu sütunu sakla',
471
-	'masquer_trad' => 'çevirileri gizle',
472
-	'module_fichiers_langues' => 'Dil dosyaları',
469
+    // M
470
+    'masquer_colonne' => 'Bu sütunu sakla',
471
+    'masquer_trad' => 'çevirileri gizle',
472
+    'module_fichiers_langues' => 'Dil dosyaları',
473 473
 
474
-	// N
475
-	'navigateur_pas_redirige' => 'Gezgininiz yeniden yönlenmiyorsa, devam etmek için buraya tıklayınız.',
476
-	'numero' => 'Numara',
474
+    // N
475
+    'navigateur_pas_redirige' => 'Gezgininiz yeniden yönlenmiyorsa, devam etmek için buraya tıklayınız.',
476
+    'numero' => 'Numara',
477 477
 
478
-	// O
479
-	'occurence' => 'Tekrarlanış',
480
-	'onglet_affacer_base' => 'Veritabanını sil',
481
-	'onglet_auteur' => 'Yazar',
482
-	'onglet_contenu_site' => 'Sitenin içeriği',
483
-	'onglet_evolution_visite_mod' => 'Ziyaretlerin gelişimi',
484
-	'onglet_fonctions_avances' => 'Gelişmiş işlevler',
485
-	'onglet_informations_personnelles' => 'Kişisel bilgi',
486
-	'onglet_interactivite' => 'Etkileşim özelliği',
487
-	'onglet_messagerie' => 'İleti sistemi',
488
-	'onglet_repartition_rubrique' => 'Bölümlere göre dağılım',
489
-	'onglet_save_restaur_base' => 'Veritabanını yedekle / Geri yükle',
490
-	'onglet_vider_cache' => 'Önbelleği boşalt',
478
+    // O
479
+    'occurence' => 'Tekrarlanış',
480
+    'onglet_affacer_base' => 'Veritabanını sil',
481
+    'onglet_auteur' => 'Yazar',
482
+    'onglet_contenu_site' => 'Sitenin içeriği',
483
+    'onglet_evolution_visite_mod' => 'Ziyaretlerin gelişimi',
484
+    'onglet_fonctions_avances' => 'Gelişmiş işlevler',
485
+    'onglet_informations_personnelles' => 'Kişisel bilgi',
486
+    'onglet_interactivite' => 'Etkileşim özelliği',
487
+    'onglet_messagerie' => 'İleti sistemi',
488
+    'onglet_repartition_rubrique' => 'Bölümlere göre dağılım',
489
+    'onglet_save_restaur_base' => 'Veritabanını yedekle / Geri yükle',
490
+    'onglet_vider_cache' => 'Önbelleği boşalt',
491 491
 
492
-	// P
493
-	'pass_choix_pass' => 'Lütfen yeni şifrenizi seçiniz :',
494
-	'pass_erreur' => 'Hata',
495
-	'pass_erreur_acces_refuse' => '<b>Hata : </b> artık bu siteye erişiminiz yoktur.',
496
-	'pass_erreur_code_inconnu' => 'Hata : bu şifre bu siteye erişimi olan hiç bir ziyaretçiye uymuyor.',
497
-	'pass_erreur_non_enregistre' => 'Hata : @email_oubli@ adresi bu siteye kayıtlı değil. ',
498
-	'pass_erreur_non_valide' => 'Hata :  @email_oubli@ e-posta adresi geçerli değil !',
499
-	'pass_erreur_probleme_technique' => 'Hata : teknik bir sorundan ötürü e-posta gönderilemiyor.',
500
-	'pass_espace_prive_bla' => 'Bu sitenin özel alanı,
492
+    // P
493
+    'pass_choix_pass' => 'Lütfen yeni şifrenizi seçiniz :',
494
+    'pass_erreur' => 'Hata',
495
+    'pass_erreur_acces_refuse' => '<b>Hata : </b> artık bu siteye erişiminiz yoktur.',
496
+    'pass_erreur_code_inconnu' => 'Hata : bu şifre bu siteye erişimi olan hiç bir ziyaretçiye uymuyor.',
497
+    'pass_erreur_non_enregistre' => 'Hata : @email_oubli@ adresi bu siteye kayıtlı değil. ',
498
+    'pass_erreur_non_valide' => 'Hata :  @email_oubli@ e-posta adresi geçerli değil !',
499
+    'pass_erreur_probleme_technique' => 'Hata : teknik bir sorundan ötürü e-posta gönderilemiyor.',
500
+    'pass_espace_prive_bla' => 'Bu sitenin özel alanı,
501 501
     kayıtlı ziyaretçilere açıktır. Kayıt olduktan sonra,
502 502
     yazılmakta olan makalelere bakabilir, makale önerebilir 
503 503
   ve tüm forumlara katılabilirsiniz. ',
504
-	'pass_forum_bla' => 'Kayıtlı ziyaretçilere ayrılmış bir foruma
504
+    'pass_forum_bla' => 'Kayıtlı ziyaretçilere ayrılmış bir foruma
505 505
      müdahale etmek istediniz. ',
506
-	'pass_indiquez_cidessous' => 'Daha önce kayıt olduğunuz e-posta adresinizi aşağıya belirtiniz.
506
+    'pass_indiquez_cidessous' => 'Daha önce kayıt olduğunuz e-posta adresinizi aşağıya belirtiniz.
507 507
   Tekrar erişebilmek için gereken işlemi 
508 508
   belirten 
509 509
   bir e-posta alacaksınız. ',
510
-	'pass_mail_passcookie' => '(Bu otomatik bir iletidir)
510
+    'pass_mail_passcookie' => '(Bu otomatik bir iletidir)
511 511
 
512 512
   @nom_site_spip@ (@adresse_site@)
513 513
 
@@ -517,125 +517,125 @@  discard block
 block discarded – undo
517 517
  @sendcookie@
518 518
  O zaman yeni bir şifre girebilecek
519 519
  ve tekrar siteye bağlanabileceksiniz.  ',
520
-	'pass_mot_oublie' => 'Şifreyi unuttum',
521
-	'pass_nouveau_enregistre' => 'Yeni şifreniz kaydedildi.',
522
-	'pass_nouveau_pass' => 'Yeni şifre',
523
-	'pass_ok' => 'OK',
524
-	'pass_oubli_mot' => 'Şifremi unuttum',
525
-	'pass_quitter_fenetre' => 'Bu pencereyi terk et',
526
-	'pass_rappel_login' => 'Hatırlatma : kullanıcı isminiz « @login@ » dır.',
527
-	'pass_recevoir_mail' => 'Siteye erişiminizi yeniden nasıl kazanabileceğinizi belirten bir e-posta alacaksınız. ', # MODIF
528
-	'pass_retour_public' => 'Kamu sitesine dönüş',
529
-	'pass_rien_a_faire_ici' => 'Burada yapılacak bir şey yok.',
530
-	'pass_vousinscrire' => 'Bu siteye kaydolmanız',
531
-	'precedent' => 'önceki',
532
-	'previsualisation' => 'Öngörüntüle',
533
-	'previsualiser' => 'Öngörüntüle',
520
+    'pass_mot_oublie' => 'Şifreyi unuttum',
521
+    'pass_nouveau_enregistre' => 'Yeni şifreniz kaydedildi.',
522
+    'pass_nouveau_pass' => 'Yeni şifre',
523
+    'pass_ok' => 'OK',
524
+    'pass_oubli_mot' => 'Şifremi unuttum',
525
+    'pass_quitter_fenetre' => 'Bu pencereyi terk et',
526
+    'pass_rappel_login' => 'Hatırlatma : kullanıcı isminiz « @login@ » dır.',
527
+    'pass_recevoir_mail' => 'Siteye erişiminizi yeniden nasıl kazanabileceğinizi belirten bir e-posta alacaksınız. ', # MODIF
528
+    'pass_retour_public' => 'Kamu sitesine dönüş',
529
+    'pass_rien_a_faire_ici' => 'Burada yapılacak bir şey yok.',
530
+    'pass_vousinscrire' => 'Bu siteye kaydolmanız',
531
+    'precedent' => 'önceki',
532
+    'previsualisation' => 'Öngörüntüle',
533
+    'previsualiser' => 'Öngörüntüle',
534 534
 
535
-	// R
536
-	'retour' => 'Geri dön',
535
+    // R
536
+    'retour' => 'Geri dön',
537 537
 
538
-	// S
539
-	'spip_conforme_dtd' => 'SPIP bu belgeyi DOCTYPE’e uygun buluyor :',
540
-	'squelette' => 'iskelet',
541
-	'squelette_inclus_ligne' => 'iskelet eklendi, satır',
542
-	'squelette_ligne' => 'iskelet, satır',
543
-	'stats_visites_et_popularite' => '@visites@ ziyaret; popülerlik : @popularite@',
544
-	'suivant' => 'sonraki',
538
+    // S
539
+    'spip_conforme_dtd' => 'SPIP bu belgeyi DOCTYPE’e uygun buluyor :',
540
+    'squelette' => 'iskelet',
541
+    'squelette_inclus_ligne' => 'iskelet eklendi, satır',
542
+    'squelette_ligne' => 'iskelet, satır',
543
+    'stats_visites_et_popularite' => '@visites@ ziyaret; popülerlik : @popularite@',
544
+    'suivant' => 'sonraki',
545 545
 
546
-	// T
547
-	'taille_ko' => '@taille@ kb',
548
-	'taille_mo' => '@taille@ Mb',
549
-	'taille_octets' => '@taille@ bayt',
550
-	'taille_octets_bi' => '@taille@ bayt',
551
-	'texte_actualite_site_1' => 'Arayüze alışınca «',
552
-	'texte_actualite_site_2' => 'Tüm arayüz',
553
-	'texte_actualite_site_3' => '»’e tıklayarak daha fazla seçeneğe ulaşabilirsiniz.',
554
-	'texte_creation_automatique_vignette' => 'Bu sitede öngörüntüleme ikonlarının otomatik olarak yaratılması işlemi etkinleştirişmiştir. Eğer bu formdan hareket ederek @gd_formats@, formatlı resimler yüklerseniz, bunlara, en fazla @taille_preview@ piksel boyutunda bir ikon eşlik edecektir.',
555
-	'texte_documents_associes' => 'Aşağıdaki belgeler makale ile bağlantılı olup,
546
+    // T
547
+    'taille_ko' => '@taille@ kb',
548
+    'taille_mo' => '@taille@ Mb',
549
+    'taille_octets' => '@taille@ bayt',
550
+    'taille_octets_bi' => '@taille@ bayt',
551
+    'texte_actualite_site_1' => 'Arayüze alışınca «',
552
+    'texte_actualite_site_2' => 'Tüm arayüz',
553
+    'texte_actualite_site_3' => '»’e tıklayarak daha fazla seçeneğe ulaşabilirsiniz.',
554
+    'texte_creation_automatique_vignette' => 'Bu sitede öngörüntüleme ikonlarının otomatik olarak yaratılması işlemi etkinleştirişmiştir. Eğer bu formdan hareket ederek @gd_formats@, formatlı resimler yüklerseniz, bunlara, en fazla @taille_preview@ piksel boyutunda bir ikon eşlik edecektir.',
555
+    'texte_documents_associes' => 'Aşağıdaki belgeler makale ile bağlantılı olup,
556 556
     doğrudan makalenin içine dahil edilmemiştir. Kamu sitesinin sayfa düzenine göre,
557 557
     sonradan belge eki olarak görülebilir.',
558
-	'texte_erreur_mise_niveau_base' => 'Güncelleme sırasında veritabanı hatası. @fichier@ resmi ulaşmadı (@id_article@ makalesi). Bu referansı kaydedip güncelemeyi tekrar deneyiniz ve resimlerin makalelerde görüldüğünden emin olunuz. ',
559
-	'texte_erreur_visiteur' => 'Özel alana, girişe izin vermeyen bir kullanıcı ismiyle erişmeyi denediniz.',
560
-	'texte_inc_auth_1' => '<b>@auth_login@</b> kullanıcı ismini girdiniz ancak veritabanında bu kullanıcı ismi yok/artık yok. Lütfen şunu deneyiniz',
561
-	'texte_inc_auth_2' => 'gezgininizi kapatıp tekrar çalıştırınız ve ',
562
-	'texte_inc_auth_3' => 'tekrar bağlanınız.',
563
-	'texte_inc_config' => 'Bu sayfalarda yapılan değişiklikler sitenizin işleyişi üzerinde büyük ölçüde etkilidir. SPIP sisteminin işleyişine aşina olmadığınız sürece müdahale etmemenizi öneririz.  <br /><br /><b>Daha genel bir ifadeyle söylemek gerekirse bu sayfalarla ilgilenme işini sitenin Ağ Yöneticisi’ne bırakmanızı özellikle öneririz.</b>',
564
-	'texte_inc_meta_1' => 'Sistem <code>@fichier@</code> dosyasının yazılması sırasında bir hata ile karşılaştı. Lütfen, site yöneticisi olarak ',
565
-	'texte_inc_meta_2' => '(<code>ecrire/data/</code> dizinindeki) ',
566
-	'texte_inc_meta_3' => '<code>@repertoire@</code> dizinindeki yazma haklarını kontrol ediniz. ',
567
-	'texte_statut_en_cours_redaction' => 'Yazılıyor',
568
-	'texte_statut_poubelle' => 'Çöpe atıldı',
569
-	'texte_statut_propose_evaluation' => 'Değerlendirmeye alındı',
570
-	'texte_statut_publie' => 'Çevrimiçi yayınlandı',
571
-	'texte_statut_refuse' => 'Reddedildi',
572
-	'titre_ajouter_mot_cle' => 'BİR ANAHTAR-SÖZCÜK EKLE :',
573
-	'titre_cadre_raccourcis' => 'KISA YOLLAR :',
574
-	'titre_changer_couleur_interface' => 'Arayüz rengini değiştir',
575
-	'titre_image_admin_article' => 'Bu makaleyi yönetebilirsiniz',
576
-	'titre_image_administrateur' => 'Yönetici',
577
-	'titre_image_aide' => 'Bu eleman hakkında yardım',
578
-	'titre_image_auteur_supprime' => 'Silinmiş yazar',
579
-	'titre_image_redacteur' => 'Erişim hakkı olmayan yazar',
580
-	'titre_image_redacteur_02' => 'Yazar',
581
-	'titre_image_visiteur' => 'Ziyaretçi',
582
-	'titre_joindre_document' => 'BİR BELGE EKLE',
583
-	'titre_mots_cles' => 'ANAHTAR SÖZCÜKLER',
584
-	'titre_probleme_technique' => 'Dikkat : teknik bir sorun (SQL hizmet birimi) sitenin bu bölümüne erişimi engelliyor. Anlayışınız için teşekkürler.',
585
-	'titre_publier_document' => 'BU BÖLÜM ALTINDA BİR BELGE YAYINLA',
586
-	'titre_signatures_attente' => 'Onay bekleyen imzalar',
587
-	'titre_signatures_confirmees' => 'Onaylanmış imzalar',
588
-	'titre_statistiques' => 'Site istatistikleri',
589
-	'titre_titre_document' => 'Belge başlığı :',
590
-	'todo' => 'gelecek',
591
-	'trad_reference' => '(referans makale)', # MODIF
558
+    'texte_erreur_mise_niveau_base' => 'Güncelleme sırasında veritabanı hatası. @fichier@ resmi ulaşmadı (@id_article@ makalesi). Bu referansı kaydedip güncelemeyi tekrar deneyiniz ve resimlerin makalelerde görüldüğünden emin olunuz. ',
559
+    'texte_erreur_visiteur' => 'Özel alana, girişe izin vermeyen bir kullanıcı ismiyle erişmeyi denediniz.',
560
+    'texte_inc_auth_1' => '<b>@auth_login@</b> kullanıcı ismini girdiniz ancak veritabanında bu kullanıcı ismi yok/artık yok. Lütfen şunu deneyiniz',
561
+    'texte_inc_auth_2' => 'gezgininizi kapatıp tekrar çalıştırınız ve ',
562
+    'texte_inc_auth_3' => 'tekrar bağlanınız.',
563
+    'texte_inc_config' => 'Bu sayfalarda yapılan değişiklikler sitenizin işleyişi üzerinde büyük ölçüde etkilidir. SPIP sisteminin işleyişine aşina olmadığınız sürece müdahale etmemenizi öneririz.  <br /><br /><b>Daha genel bir ifadeyle söylemek gerekirse bu sayfalarla ilgilenme işini sitenin Ağ Yöneticisi’ne bırakmanızı özellikle öneririz.</b>',
564
+    'texte_inc_meta_1' => 'Sistem <code>@fichier@</code> dosyasının yazılması sırasında bir hata ile karşılaştı. Lütfen, site yöneticisi olarak ',
565
+    'texte_inc_meta_2' => '(<code>ecrire/data/</code> dizinindeki) ',
566
+    'texte_inc_meta_3' => '<code>@repertoire@</code> dizinindeki yazma haklarını kontrol ediniz. ',
567
+    'texte_statut_en_cours_redaction' => 'Yazılıyor',
568
+    'texte_statut_poubelle' => 'Çöpe atıldı',
569
+    'texte_statut_propose_evaluation' => 'Değerlendirmeye alındı',
570
+    'texte_statut_publie' => 'Çevrimiçi yayınlandı',
571
+    'texte_statut_refuse' => 'Reddedildi',
572
+    'titre_ajouter_mot_cle' => 'BİR ANAHTAR-SÖZCÜK EKLE :',
573
+    'titre_cadre_raccourcis' => 'KISA YOLLAR :',
574
+    'titre_changer_couleur_interface' => 'Arayüz rengini değiştir',
575
+    'titre_image_admin_article' => 'Bu makaleyi yönetebilirsiniz',
576
+    'titre_image_administrateur' => 'Yönetici',
577
+    'titre_image_aide' => 'Bu eleman hakkında yardım',
578
+    'titre_image_auteur_supprime' => 'Silinmiş yazar',
579
+    'titre_image_redacteur' => 'Erişim hakkı olmayan yazar',
580
+    'titre_image_redacteur_02' => 'Yazar',
581
+    'titre_image_visiteur' => 'Ziyaretçi',
582
+    'titre_joindre_document' => 'BİR BELGE EKLE',
583
+    'titre_mots_cles' => 'ANAHTAR SÖZCÜKLER',
584
+    'titre_probleme_technique' => 'Dikkat : teknik bir sorun (SQL hizmet birimi) sitenin bu bölümüne erişimi engelliyor. Anlayışınız için teşekkürler.',
585
+    'titre_publier_document' => 'BU BÖLÜM ALTINDA BİR BELGE YAYINLA',
586
+    'titre_signatures_attente' => 'Onay bekleyen imzalar',
587
+    'titre_signatures_confirmees' => 'Onaylanmış imzalar',
588
+    'titre_statistiques' => 'Site istatistikleri',
589
+    'titre_titre_document' => 'Belge başlığı :',
590
+    'todo' => 'gelecek',
591
+    'trad_reference' => '(referans makale)', # MODIF
592 592
 
593
-	// Z
594
-	'zbug_balise_b_aval' => ' : B etiketinde sorun var',
595
-	'zbug_balise_inexistante' => 'hata @from@: #@balise@ komutu mevcut değil', # MODIF
596
-	'zbug_balise_sans_argument' => '@balise@ komutunda argüman eksik',
597
-	'zbug_boucle' => 'döngü',
598
-	'zbug_boucle_recursive_undef' => 'tanımsız tekrarlı döngü', # MODIF
599
-	'zbug_calcul' => 'hesaplama',
600
-	'zbug_champ_hors_boucle' => '@champ@ alanı döngü dışında',
601
-	'zbug_champ_hors_motif' => '@champ@ alanı @motif@ döngüsü dışında ', # MODIF
602
-	'zbug_code' => 'kod',
603
-	'zbug_critere_inconnu' => 'tanımsız kriter @critere@', # MODIF
604
-	'zbug_distant_interdit' => 'yasaklanmış dış veri dosyası', # MODIF
605
-	'zbug_doublon_table_sans_cle_primaire' => 'endekssiz bir tabloda tekrarlar var', # MODIF
606
-	'zbug_doublon_table_sans_index' => 'endekslenmemiş bir tabloda tekrarlanan bilgiler', # MODIF
607
-	'zbug_erreur_boucle_double' => 'DÖNGÜ@id@: çift tanımlı', # MODIF
608
-	'zbug_erreur_boucle_fermant' => 'DÖNGÜ@id@: kapatma etiketi eksik', # MODIF
609
-	'zbug_erreur_boucle_syntaxe' => 'Döngü tümcesi hatalı', # MODIF
610
-	'zbug_erreur_compilation' => 'derleme hatası',
611
-	'zbug_erreur_execution_page' => 'sayfa işletilirken hata oluştu', # MODIF
612
-	'zbug_erreur_filtre' => 'Hata : <b>« @filtre@ »</b> filtresi tanımsız', # MODIF
613
-	'zbug_erreur_meme_parent' => '{meme_parent} sadece (FORUMS) veya  (RUBRIQUES) için uygulanabilir', # MODIF
614
-	'zbug_erreur_squelette' => 'İskelette hata var',
615
-	'zbug_hors_compilation' => 'Derleme Dışı',
616
-	'zbug_info_erreur_squelette' => 'Sitede hata var',
617
-	'zbug_inversion_ordre_inexistant' => 'olmayan bir sıralama ters çevrilemez', # MODIF
618
-	'zbug_pagination_sans_critere' => 'kritersiz veya kendini çağıran döngüde kullanılan #PAGINATION {pagination} ', # MODIF
619
-	'zbug_parametres_inclus_incorrects' => 'Ekleme parametreleri hatalı', # MODIF
620
-	'zbug_profile' => 'Hesaplama süresi : @time@',
621
-	'zbug_resultat' => 'sonuç',
622
-	'zbug_serveur_indefini' => 'SQL hizmet birimi tanımsız', # MODIF
623
-	'zbug_statistiques' => 'Süreye göre sınıflanmış SQL istekleri istatistikleri',
624
-	'zbug_table_inconnue' => '« @table@ » SQL tablosu tanımsız',
625
-	'zxml_connus_attributs' => 'bilinen öznitelikler',
626
-	'zxml_de' => 'nın / nin',
627
-	'zxml_inconnu_attribut' => 'bilinmeyen öznitelik',
628
-	'zxml_inconnu_balise' => 'bilinmeyen etiket',
629
-	'zxml_inconnu_entite' => 'bilinmeyen madde',
630
-	'zxml_inconnu_id' => 'bilinmeyen ID',
631
-	'zxml_mais_de' => 'ama nın / nin',
632
-	'zxml_non_conforme' => 'amaca uygun değil',
633
-	'zxml_non_fils' => 'bir alt maddesi değil',
634
-	'zxml_nonvide_balise' => 'boş olmayan etiket',
635
-	'zxml_obligatoire_attribut' => 'zorunlu ama belirtilmemiş etiket',
636
-	'zxml_succession_fils_incorrecte' => 'alt maddelerin peşpeşe gelmesi hatalı',
637
-	'zxml_survoler' => 'doğruları görmek için üzerindne geçmek ???',
638
-	'zxml_valeur_attribut' => 'özniteliğin değeri',
639
-	'zxml_vide_balise' => 'boş etiket',
640
-	'zxml_vu' => 'önceden görülen'
593
+    // Z
594
+    'zbug_balise_b_aval' => ' : B etiketinde sorun var',
595
+    'zbug_balise_inexistante' => 'hata @from@: #@balise@ komutu mevcut değil', # MODIF
596
+    'zbug_balise_sans_argument' => '@balise@ komutunda argüman eksik',
597
+    'zbug_boucle' => 'döngü',
598
+    'zbug_boucle_recursive_undef' => 'tanımsız tekrarlı döngü', # MODIF
599
+    'zbug_calcul' => 'hesaplama',
600
+    'zbug_champ_hors_boucle' => '@champ@ alanı döngü dışında',
601
+    'zbug_champ_hors_motif' => '@champ@ alanı @motif@ döngüsü dışında ', # MODIF
602
+    'zbug_code' => 'kod',
603
+    'zbug_critere_inconnu' => 'tanımsız kriter @critere@', # MODIF
604
+    'zbug_distant_interdit' => 'yasaklanmış dış veri dosyası', # MODIF
605
+    'zbug_doublon_table_sans_cle_primaire' => 'endekssiz bir tabloda tekrarlar var', # MODIF
606
+    'zbug_doublon_table_sans_index' => 'endekslenmemiş bir tabloda tekrarlanan bilgiler', # MODIF
607
+    'zbug_erreur_boucle_double' => 'DÖNGÜ@id@: çift tanımlı', # MODIF
608
+    'zbug_erreur_boucle_fermant' => 'DÖNGÜ@id@: kapatma etiketi eksik', # MODIF
609
+    'zbug_erreur_boucle_syntaxe' => 'Döngü tümcesi hatalı', # MODIF
610
+    'zbug_erreur_compilation' => 'derleme hatası',
611
+    'zbug_erreur_execution_page' => 'sayfa işletilirken hata oluştu', # MODIF
612
+    'zbug_erreur_filtre' => 'Hata : <b>« @filtre@ »</b> filtresi tanımsız', # MODIF
613
+    'zbug_erreur_meme_parent' => '{meme_parent} sadece (FORUMS) veya  (RUBRIQUES) için uygulanabilir', # MODIF
614
+    'zbug_erreur_squelette' => 'İskelette hata var',
615
+    'zbug_hors_compilation' => 'Derleme Dışı',
616
+    'zbug_info_erreur_squelette' => 'Sitede hata var',
617
+    'zbug_inversion_ordre_inexistant' => 'olmayan bir sıralama ters çevrilemez', # MODIF
618
+    'zbug_pagination_sans_critere' => 'kritersiz veya kendini çağıran döngüde kullanılan #PAGINATION {pagination} ', # MODIF
619
+    'zbug_parametres_inclus_incorrects' => 'Ekleme parametreleri hatalı', # MODIF
620
+    'zbug_profile' => 'Hesaplama süresi : @time@',
621
+    'zbug_resultat' => 'sonuç',
622
+    'zbug_serveur_indefini' => 'SQL hizmet birimi tanımsız', # MODIF
623
+    'zbug_statistiques' => 'Süreye göre sınıflanmış SQL istekleri istatistikleri',
624
+    'zbug_table_inconnue' => '« @table@ » SQL tablosu tanımsız',
625
+    'zxml_connus_attributs' => 'bilinen öznitelikler',
626
+    'zxml_de' => 'nın / nin',
627
+    'zxml_inconnu_attribut' => 'bilinmeyen öznitelik',
628
+    'zxml_inconnu_balise' => 'bilinmeyen etiket',
629
+    'zxml_inconnu_entite' => 'bilinmeyen madde',
630
+    'zxml_inconnu_id' => 'bilinmeyen ID',
631
+    'zxml_mais_de' => 'ama nın / nin',
632
+    'zxml_non_conforme' => 'amaca uygun değil',
633
+    'zxml_non_fils' => 'bir alt maddesi değil',
634
+    'zxml_nonvide_balise' => 'boş olmayan etiket',
635
+    'zxml_obligatoire_attribut' => 'zorunlu ama belirtilmemiş etiket',
636
+    'zxml_succession_fils_incorrecte' => 'alt maddelerin peşpeşe gelmesi hatalı',
637
+    'zxml_survoler' => 'doğruları görmek için üzerindne geçmek ???',
638
+    'zxml_valeur_attribut' => 'özniteliğin değeri',
639
+    'zxml_vide_balise' => 'boş etiket',
640
+    'zxml_vu' => 'önceden görülen'
641 641
 );
Please login to merge, or discard this patch.
ecrire/lang/spip_pt_br.php 1 patch
Indentation   +670 added lines, -670 removed lines patch added patch discarded remove patch
@@ -4,582 +4,582 @@  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' => 'Voltar para a interface gráfica completa',
14
-	'access_mode_texte' => 'Exibir a interface textual simplificada',
15
-	'admin_debug' => 'depurar',
16
-	'admin_modifier_article' => 'Editar esta matéria',
17
-	'admin_modifier_auteur' => 'Editar este autor',
18
-	'admin_modifier_breve' => 'Editar esta nota',
19
-	'admin_modifier_mot' => 'Editar esta palavra-chave',
20
-	'admin_modifier_rubrique' => 'Editar esta seção',
21
-	'admin_recalculer' => 'Atualizar esta página',
22
-	'afficher_calendrier' => 'Exibir o calendário',
23
-	'afficher_trad' => 'exibir as traduções',
24
-	'alerte_maj_impossible' => '<b>Atenção!</b> A atualização da base de dados SQL para a versão @version@ não é possível, provavelmente por problema de direitos de edição na base de dados. Por favor, contate o seu provedor de hospedagem.',
25
-	'alerte_modif_info_concourante' => 'ATENÇÃO: Esta informação foi alterada por outra pessoa. O valor atual é:',
26
-	'analyse_xml' => 'Analisar XML',
27
-	'annuler' => 'Cancelar',
28
-	'antispam_champ_vide' => 'Por favor, deixe este campo vazio:',
29
-	'articles_recents' => 'Matérias mais recentes',
30
-	'attention_champ_mini_nb_caractères' => 'Atenção! Mínimo de @nb@ caracteres',
31
-	'avis_1_erreur_saisie' => 'Há um erro nos dados informados. Por favor, verifique.',
32
-	'avis_archive_incorrect' => 'a cópia de segurança não é um arquivo do SPIP',
33
-	'avis_archive_invalide' => 'a cópia de segurança não é válida',
34
-	'avis_attention' => 'ATENÇÃO!',
35
-	'avis_champ_incorrect_type_objet' => 'Nome de campo @name@ incorreto para objeto do tipo @type@',
36
-	'avis_colonne_inexistante' => 'A coluna @col@ não existe',
37
-	'avis_erreur' => 'Erro: ver abaixo',
38
-	'avis_erreur_connexion' => 'Erro de conexão',
39
-	'avis_erreur_cookie' => 'problema de cookie',
40
-	'avis_erreur_fonction_contexte' => 'Erro de programação. Esta função não deve ser chamada neste contexto.',
41
-	'avis_erreur_mysql' => 'Erro SQL',
42
-	'avis_erreur_sauvegarde' => 'Erro na cópia de segurança (@type@ @id_objet@) !',
43
-	'avis_erreur_visiteur' => 'Problema de acesso ao espaço privado',
44
-	'avis_nb_erreurs_saisie' => 'Há @nb@ erros nos dados informados. Por favor, verifique.',
12
+    // A
13
+    'access_interface_graphique' => 'Voltar para a interface gráfica completa',
14
+    'access_mode_texte' => 'Exibir a interface textual simplificada',
15
+    'admin_debug' => 'depurar',
16
+    'admin_modifier_article' => 'Editar esta matéria',
17
+    'admin_modifier_auteur' => 'Editar este autor',
18
+    'admin_modifier_breve' => 'Editar esta nota',
19
+    'admin_modifier_mot' => 'Editar esta palavra-chave',
20
+    'admin_modifier_rubrique' => 'Editar esta seção',
21
+    'admin_recalculer' => 'Atualizar esta página',
22
+    'afficher_calendrier' => 'Exibir o calendário',
23
+    'afficher_trad' => 'exibir as traduções',
24
+    'alerte_maj_impossible' => '<b>Atenção!</b> A atualização da base de dados SQL para a versão @version@ não é possível, provavelmente por problema de direitos de edição na base de dados. Por favor, contate o seu provedor de hospedagem.',
25
+    'alerte_modif_info_concourante' => 'ATENÇÃO: Esta informação foi alterada por outra pessoa. O valor atual é:',
26
+    'analyse_xml' => 'Analisar XML',
27
+    'annuler' => 'Cancelar',
28
+    'antispam_champ_vide' => 'Por favor, deixe este campo vazio:',
29
+    'articles_recents' => 'Matérias mais recentes',
30
+    'attention_champ_mini_nb_caractères' => 'Atenção! Mínimo de @nb@ caracteres',
31
+    'avis_1_erreur_saisie' => 'Há um erro nos dados informados. Por favor, verifique.',
32
+    'avis_archive_incorrect' => 'a cópia de segurança não é um arquivo do SPIP',
33
+    'avis_archive_invalide' => 'a cópia de segurança não é válida',
34
+    'avis_attention' => 'ATENÇÃO!',
35
+    'avis_champ_incorrect_type_objet' => 'Nome de campo @name@ incorreto para objeto do tipo @type@',
36
+    'avis_colonne_inexistante' => 'A coluna @col@ não existe',
37
+    'avis_erreur' => 'Erro: ver abaixo',
38
+    'avis_erreur_connexion' => 'Erro de conexão',
39
+    'avis_erreur_cookie' => 'problema de cookie',
40
+    'avis_erreur_fonction_contexte' => 'Erro de programação. Esta função não deve ser chamada neste contexto.',
41
+    'avis_erreur_mysql' => 'Erro SQL',
42
+    'avis_erreur_sauvegarde' => 'Erro na cópia de segurança (@type@ @id_objet@) !',
43
+    'avis_erreur_visiteur' => 'Problema de acesso ao espaço privado',
44
+    'avis_nb_erreurs_saisie' => 'Há @nb@ erros nos dados informados. Por favor, verifique.',
45 45
 
46
-	// B
47
-	'barre_a_accent_grave' => 'Inserir um A maiúsculo com acento grave',
48
-	'barre_aide' => 'utilize os atalhos tipográficos para enriquecer o seu layout',
49
-	'barre_e_accent_aigu' => 'Inserir um E maiúsculo com acento agudo',
50
-	'barre_eo' => 'Inserir um OE contraído',
51
-	'barre_eo_maj' => 'Inserir um OE contraído maiúsculo',
52
-	'barre_euro' => 'Inserir o símbolo € (euro)',
53
-	'barre_gras' => 'Escrever em {{negrito}}',
54
-	'barre_guillemets' => 'envolver em "aspas"',
55
-	'barre_guillemets_simples' => 'Envolver em ’plicas’',
56
-	'barre_intertitre' => 'Transformar em {{{entretítulo}}}',
57
-	'barre_italic' => 'Escrever em {itálico}',
58
-	'barre_lien' => 'Transformar em [link hipertexto->http://...]',
59
-	'barre_lien_input' => 'Informe o endereço do seu link (você pode informar um endereço web do tipo http://www.monsite/com ou simplesmente informar o número de uma matéria deste site.',
60
-	'barre_note' => 'Transformar em [[Nota de pé de página]]',
61
-	'barre_paragraphe' => 'Criar um parágrafo',
62
-	'barre_quote' => '<quote>Citar uma mensagem</quote>',
63
-	'bouton_changer' => 'Alterar',
64
-	'bouton_chercher' => 'Procurar',
65
-	'bouton_choisir' => 'Escolher',
66
-	'bouton_deplacer' => 'Deslocar',
67
-	'bouton_download' => 'Baixar',
68
-	'bouton_enregistrer' => 'Gravar',
69
-	'bouton_radio_desactiver_messagerie_interne' => 'Desativar o sistema interno de mensagens',
70
-	'bouton_radio_envoi_annonces' => 'Enviar os avisos editoriais',
71
-	'bouton_radio_non_envoi_annonces' => 'Não enviar os avisos',
72
-	'bouton_radio_non_envoi_liste_nouveautes' => 'Não enviar a lista de novidades',
73
-	'bouton_recharger_page' => 'atualizar esta página',
74
-	'bouton_telecharger' => 'Transferir',
75
-	'bouton_upload' => 'Upload',
76
-	'bouton_valider' => 'Validar',
46
+    // B
47
+    'barre_a_accent_grave' => 'Inserir um A maiúsculo com acento grave',
48
+    'barre_aide' => 'utilize os atalhos tipográficos para enriquecer o seu layout',
49
+    'barre_e_accent_aigu' => 'Inserir um E maiúsculo com acento agudo',
50
+    'barre_eo' => 'Inserir um OE contraído',
51
+    'barre_eo_maj' => 'Inserir um OE contraído maiúsculo',
52
+    'barre_euro' => 'Inserir o símbolo € (euro)',
53
+    'barre_gras' => 'Escrever em {{negrito}}',
54
+    'barre_guillemets' => 'envolver em "aspas"',
55
+    'barre_guillemets_simples' => 'Envolver em ’plicas’',
56
+    'barre_intertitre' => 'Transformar em {{{entretítulo}}}',
57
+    'barre_italic' => 'Escrever em {itálico}',
58
+    'barre_lien' => 'Transformar em [link hipertexto->http://...]',
59
+    'barre_lien_input' => 'Informe o endereço do seu link (você pode informar um endereço web do tipo http://www.monsite/com ou simplesmente informar o número de uma matéria deste site.',
60
+    'barre_note' => 'Transformar em [[Nota de pé de página]]',
61
+    'barre_paragraphe' => 'Criar um parágrafo',
62
+    'barre_quote' => '<quote>Citar uma mensagem</quote>',
63
+    'bouton_changer' => 'Alterar',
64
+    'bouton_chercher' => 'Procurar',
65
+    'bouton_choisir' => 'Escolher',
66
+    'bouton_deplacer' => 'Deslocar',
67
+    'bouton_download' => 'Baixar',
68
+    'bouton_enregistrer' => 'Gravar',
69
+    'bouton_radio_desactiver_messagerie_interne' => 'Desativar o sistema interno de mensagens',
70
+    'bouton_radio_envoi_annonces' => 'Enviar os avisos editoriais',
71
+    'bouton_radio_non_envoi_annonces' => 'Não enviar os avisos',
72
+    'bouton_radio_non_envoi_liste_nouveautes' => 'Não enviar a lista de novidades',
73
+    'bouton_recharger_page' => 'atualizar esta página',
74
+    'bouton_telecharger' => 'Transferir',
75
+    'bouton_upload' => 'Upload',
76
+    'bouton_valider' => 'Validar',
77 77
 
78
-	// C
79
-	'cal_apresmidi' => 'tarde',
80
-	'cal_jour_entier' => 'dia todo',
81
-	'cal_matin' => 'manhã',
82
-	'cal_par_jour' => 'calendário por dia',
83
-	'cal_par_mois' => 'calendário por mês',
84
-	'cal_par_semaine' => 'calendário por semana',
85
-	'choix_couleur_interface' => 'côr',
86
-	'choix_interface' => 'escolha da interface',
87
-	'colonne' => 'Coluna',
88
-	'confirm_changer_statut' => 'Atenção, você solicitou a alteração de status deste elemento. Deseja continuar?',
89
-	'correcte' => 'correta',
78
+    // C
79
+    'cal_apresmidi' => 'tarde',
80
+    'cal_jour_entier' => 'dia todo',
81
+    'cal_matin' => 'manhã',
82
+    'cal_par_jour' => 'calendário por dia',
83
+    'cal_par_mois' => 'calendário por mês',
84
+    'cal_par_semaine' => 'calendário por semana',
85
+    'choix_couleur_interface' => 'côr',
86
+    'choix_interface' => 'escolha da interface',
87
+    'colonne' => 'Coluna',
88
+    'confirm_changer_statut' => 'Atenção, você solicitou a alteração de status deste elemento. Deseja continuar?',
89
+    'correcte' => 'correta',
90 90
 
91
-	// D
92
-	'date_aujourdhui' => 'hoje',
93
-	'date_avant_jc' => 'a.C.',
94
-	'date_dans' => 'entre @delai@',
95
-	'date_de_mois_1' => '@j@ de @nommois@',
96
-	'date_de_mois_10' => '@j@ de @nommois@',
97
-	'date_de_mois_11' => '@j@ de @nommois@',
98
-	'date_de_mois_12' => '@j@ de @nommois@',
99
-	'date_de_mois_2' => '@j@ de @nommois@',
100
-	'date_de_mois_3' => '@j@ de @nommois@',
101
-	'date_de_mois_4' => '@j@ de @nommois@',
102
-	'date_de_mois_5' => '@j@ de @nommois@',
103
-	'date_de_mois_6' => '@j@ de @nommois@',
104
-	'date_de_mois_7' => '@j@ de @nommois@',
105
-	'date_de_mois_8' => '@j@ de @nommois@',
106
-	'date_de_mois_9' => '@j@ de @nommois@',
107
-	'date_demain' => 'amanhã',
108
-	'date_fmt_heures_minutes' => '@h@h@m@min',
109
-	'date_fmt_heures_minutes_court' => '@h@h@m@',
110
-	'date_fmt_jour' => '@nomjour@ @jour@',
111
-	'date_fmt_jour_heure' => '@jour@ - @heure@',
112
-	'date_fmt_jour_heure_debut_fin' => 'dia @jour@ de @heure_debut@ a @heure_fin@',
113
-	'date_fmt_jour_heure_debut_fin_abbr' => 'dia @dtstart@@jour@ de @heure_debut@@dtabbr@ a @dtstart@@heure_fin@@dtend@',
114
-	'date_fmt_jour_mois' => '@jour@ de @nommois@',
115
-	'date_fmt_jour_mois_annee' => '@jour@ de @nommois@ de @annee@',
116
-	'date_fmt_mois_annee' => '@nommois@ de @annee@',
117
-	'date_fmt_nomjour' => '@nomjour@ @date@',
118
-	'date_fmt_nomjour_date' => '@nomjour@ de @date@',
119
-	'date_fmt_periode' => 'De @date_debut@ a @date_fin@',
120
-	'date_fmt_periode_abbr' => 'De @dtart@@date_debut@@dtabbr@ a @dtend@@date_fin@@dtabbr@',
121
-	'date_fmt_periode_from' => 'De',
122
-	'date_fmt_periode_to' => 'para',
123
-	'date_fmt_saison_annee' => '@saison@ @annee@',
124
-	'date_heures' => 'horas',
125
-	'date_hier' => 'ontem',
126
-	'date_il_y_a' => 'há @delai@',
127
-	'date_jnum1' => '1º',
128
-	'date_jnum10' => '10',
129
-	'date_jnum11' => '11',
130
-	'date_jnum12' => '12',
131
-	'date_jnum13' => '13',
132
-	'date_jnum14' => '14',
133
-	'date_jnum15' => '15',
134
-	'date_jnum16' => '16',
135
-	'date_jnum17' => '17',
136
-	'date_jnum18' => '18',
137
-	'date_jnum19' => '19',
138
-	'date_jnum2' => '2',
139
-	'date_jnum20' => '20',
140
-	'date_jnum21' => '21',
141
-	'date_jnum22' => '22',
142
-	'date_jnum23' => '23',
143
-	'date_jnum24' => '24',
144
-	'date_jnum25' => '25',
145
-	'date_jnum26' => '26',
146
-	'date_jnum27' => '27',
147
-	'date_jnum28' => '28',
148
-	'date_jnum29' => '29',
149
-	'date_jnum3' => '3',
150
-	'date_jnum30' => '30',
151
-	'date_jnum31' => '31',
152
-	'date_jnum4' => '4',
153
-	'date_jnum5' => '5',
154
-	'date_jnum6' => '6',
155
-	'date_jnum7' => '7',
156
-	'date_jnum8' => '8',
157
-	'date_jnum9' => '9',
158
-	'date_jour_1' => 'domingo',
159
-	'date_jour_1_abbr' => 'dom.',
160
-	'date_jour_1_initiale' => 'd.',
161
-	'date_jour_2' => 'segunda-feira',
162
-	'date_jour_2_abbr' => 'seg.',
163
-	'date_jour_2_initiale' => 's.',
164
-	'date_jour_3' => 'terça-feira',
165
-	'date_jour_3_abbr' => 'ter.',
166
-	'date_jour_3_initiale' => 't.',
167
-	'date_jour_4' => 'quarta-feira',
168
-	'date_jour_4_abbr' => 'quar.',
169
-	'date_jour_4_initiale' => 'q.',
170
-	'date_jour_5' => 'quinta-feira',
171
-	'date_jour_5_abbr' => 'quin.',
172
-	'date_jour_5_initiale' => 'q.',
173
-	'date_jour_6' => 'sexta-feira',
174
-	'date_jour_6_abbr' => 'sex.',
175
-	'date_jour_6_initiale' => 's.',
176
-	'date_jour_7' => 'sábado',
177
-	'date_jour_7_abbr' => 'sáb.',
178
-	'date_jour_7_initiale' => 's.',
179
-	'date_jours' => 'dias',
180
-	'date_minutes' => 'minutos',
181
-	'date_mois' => 'meses',
182
-	'date_mois_1' => 'janeiro',
183
-	'date_mois_10' => 'outubro',
184
-	'date_mois_10_abbr' => 'out.',
185
-	'date_mois_11' => 'novembro',
186
-	'date_mois_11_abbr' => 'nov.',
187
-	'date_mois_12' => 'dezembro',
188
-	'date_mois_12_abbr' => 'dez.',
189
-	'date_mois_1_abbr' => 'jan.',
190
-	'date_mois_2' => 'fevereiro',
191
-	'date_mois_2_abbr' => 'fev.',
192
-	'date_mois_3' => 'março',
193
-	'date_mois_3_abbr' => 'mar.',
194
-	'date_mois_4' => 'abril',
195
-	'date_mois_4_abbr' => 'abr.',
196
-	'date_mois_5' => 'maio',
197
-	'date_mois_5_abbr' => 'mai.',
198
-	'date_mois_6' => 'junho',
199
-	'date_mois_6_abbr' => 'jun.',
200
-	'date_mois_7' => 'julho',
201
-	'date_mois_7_abbr' => 'jul.',
202
-	'date_mois_8' => 'agosto',
203
-	'date_mois_8_abbr' => 'ago.',
204
-	'date_mois_9' => 'setembro',
205
-	'date_mois_9_abbr' => 'set.',
206
-	'date_saison_1' => 'inverno',
207
-	'date_saison_2' => 'primavera',
208
-	'date_saison_3' => 'verão',
209
-	'date_saison_4' => 'outono',
210
-	'date_secondes' => 'segundos',
211
-	'date_semaines' => 'semanas',
212
-	'date_un_mois' => 'mês',
213
-	'date_une_heure' => 'hora',
214
-	'date_une_minute' => 'minuto',
215
-	'date_une_seconde' => 'segundo',
216
-	'date_une_semaine' => 'semana',
217
-	'dirs_commencer' => 'Para começar realmente a instalação',
218
-	'dirs_preliminaire' => 'Preliminar: <b>Configurar os direitos de acesso</b>',
219
-	'dirs_probleme_droits' => 'Problema com as permissões de acesso',
220
-	'dirs_repertoires_absents' => '<p><b>Os diretórios a seguir não foram encontrados:</b></p><ul>@bad_dirs@.</ul>
91
+    // D
92
+    'date_aujourdhui' => 'hoje',
93
+    'date_avant_jc' => 'a.C.',
94
+    'date_dans' => 'entre @delai@',
95
+    'date_de_mois_1' => '@j@ de @nommois@',
96
+    'date_de_mois_10' => '@j@ de @nommois@',
97
+    'date_de_mois_11' => '@j@ de @nommois@',
98
+    'date_de_mois_12' => '@j@ de @nommois@',
99
+    'date_de_mois_2' => '@j@ de @nommois@',
100
+    'date_de_mois_3' => '@j@ de @nommois@',
101
+    'date_de_mois_4' => '@j@ de @nommois@',
102
+    'date_de_mois_5' => '@j@ de @nommois@',
103
+    'date_de_mois_6' => '@j@ de @nommois@',
104
+    'date_de_mois_7' => '@j@ de @nommois@',
105
+    'date_de_mois_8' => '@j@ de @nommois@',
106
+    'date_de_mois_9' => '@j@ de @nommois@',
107
+    'date_demain' => 'amanhã',
108
+    'date_fmt_heures_minutes' => '@h@h@m@min',
109
+    'date_fmt_heures_minutes_court' => '@h@h@m@',
110
+    'date_fmt_jour' => '@nomjour@ @jour@',
111
+    'date_fmt_jour_heure' => '@jour@ - @heure@',
112
+    'date_fmt_jour_heure_debut_fin' => 'dia @jour@ de @heure_debut@ a @heure_fin@',
113
+    'date_fmt_jour_heure_debut_fin_abbr' => 'dia @dtstart@@jour@ de @heure_debut@@dtabbr@ a @dtstart@@heure_fin@@dtend@',
114
+    'date_fmt_jour_mois' => '@jour@ de @nommois@',
115
+    'date_fmt_jour_mois_annee' => '@jour@ de @nommois@ de @annee@',
116
+    'date_fmt_mois_annee' => '@nommois@ de @annee@',
117
+    'date_fmt_nomjour' => '@nomjour@ @date@',
118
+    'date_fmt_nomjour_date' => '@nomjour@ de @date@',
119
+    'date_fmt_periode' => 'De @date_debut@ a @date_fin@',
120
+    'date_fmt_periode_abbr' => 'De @dtart@@date_debut@@dtabbr@ a @dtend@@date_fin@@dtabbr@',
121
+    'date_fmt_periode_from' => 'De',
122
+    'date_fmt_periode_to' => 'para',
123
+    'date_fmt_saison_annee' => '@saison@ @annee@',
124
+    'date_heures' => 'horas',
125
+    'date_hier' => 'ontem',
126
+    'date_il_y_a' => 'há @delai@',
127
+    'date_jnum1' => '1º',
128
+    'date_jnum10' => '10',
129
+    'date_jnum11' => '11',
130
+    'date_jnum12' => '12',
131
+    'date_jnum13' => '13',
132
+    'date_jnum14' => '14',
133
+    'date_jnum15' => '15',
134
+    'date_jnum16' => '16',
135
+    'date_jnum17' => '17',
136
+    'date_jnum18' => '18',
137
+    'date_jnum19' => '19',
138
+    'date_jnum2' => '2',
139
+    'date_jnum20' => '20',
140
+    'date_jnum21' => '21',
141
+    'date_jnum22' => '22',
142
+    'date_jnum23' => '23',
143
+    'date_jnum24' => '24',
144
+    'date_jnum25' => '25',
145
+    'date_jnum26' => '26',
146
+    'date_jnum27' => '27',
147
+    'date_jnum28' => '28',
148
+    'date_jnum29' => '29',
149
+    'date_jnum3' => '3',
150
+    'date_jnum30' => '30',
151
+    'date_jnum31' => '31',
152
+    'date_jnum4' => '4',
153
+    'date_jnum5' => '5',
154
+    'date_jnum6' => '6',
155
+    'date_jnum7' => '7',
156
+    'date_jnum8' => '8',
157
+    'date_jnum9' => '9',
158
+    'date_jour_1' => 'domingo',
159
+    'date_jour_1_abbr' => 'dom.',
160
+    'date_jour_1_initiale' => 'd.',
161
+    'date_jour_2' => 'segunda-feira',
162
+    'date_jour_2_abbr' => 'seg.',
163
+    'date_jour_2_initiale' => 's.',
164
+    'date_jour_3' => 'terça-feira',
165
+    'date_jour_3_abbr' => 'ter.',
166
+    'date_jour_3_initiale' => 't.',
167
+    'date_jour_4' => 'quarta-feira',
168
+    'date_jour_4_abbr' => 'quar.',
169
+    'date_jour_4_initiale' => 'q.',
170
+    'date_jour_5' => 'quinta-feira',
171
+    'date_jour_5_abbr' => 'quin.',
172
+    'date_jour_5_initiale' => 'q.',
173
+    'date_jour_6' => 'sexta-feira',
174
+    'date_jour_6_abbr' => 'sex.',
175
+    'date_jour_6_initiale' => 's.',
176
+    'date_jour_7' => 'sábado',
177
+    'date_jour_7_abbr' => 'sáb.',
178
+    'date_jour_7_initiale' => 's.',
179
+    'date_jours' => 'dias',
180
+    'date_minutes' => 'minutos',
181
+    'date_mois' => 'meses',
182
+    'date_mois_1' => 'janeiro',
183
+    'date_mois_10' => 'outubro',
184
+    'date_mois_10_abbr' => 'out.',
185
+    'date_mois_11' => 'novembro',
186
+    'date_mois_11_abbr' => 'nov.',
187
+    'date_mois_12' => 'dezembro',
188
+    'date_mois_12_abbr' => 'dez.',
189
+    'date_mois_1_abbr' => 'jan.',
190
+    'date_mois_2' => 'fevereiro',
191
+    'date_mois_2_abbr' => 'fev.',
192
+    'date_mois_3' => 'março',
193
+    'date_mois_3_abbr' => 'mar.',
194
+    'date_mois_4' => 'abril',
195
+    'date_mois_4_abbr' => 'abr.',
196
+    'date_mois_5' => 'maio',
197
+    'date_mois_5_abbr' => 'mai.',
198
+    'date_mois_6' => 'junho',
199
+    'date_mois_6_abbr' => 'jun.',
200
+    'date_mois_7' => 'julho',
201
+    'date_mois_7_abbr' => 'jul.',
202
+    'date_mois_8' => 'agosto',
203
+    'date_mois_8_abbr' => 'ago.',
204
+    'date_mois_9' => 'setembro',
205
+    'date_mois_9_abbr' => 'set.',
206
+    'date_saison_1' => 'inverno',
207
+    'date_saison_2' => 'primavera',
208
+    'date_saison_3' => 'verão',
209
+    'date_saison_4' => 'outono',
210
+    'date_secondes' => 'segundos',
211
+    'date_semaines' => 'semanas',
212
+    'date_un_mois' => 'mês',
213
+    'date_une_heure' => 'hora',
214
+    'date_une_minute' => 'minuto',
215
+    'date_une_seconde' => 'segundo',
216
+    'date_une_semaine' => 'semana',
217
+    'dirs_commencer' => 'Para começar realmente a instalação',
218
+    'dirs_preliminaire' => 'Preliminar: <b>Configurar os direitos de acesso</b>',
219
+    'dirs_probleme_droits' => 'Problema com as permissões de acesso',
220
+    'dirs_repertoires_absents' => '<p><b>Os diretórios a seguir não foram encontrados:</b></p><ul>@bad_dirs@.</ul>
221 221
 <p>É provável que isto se deva a um problema de letras em maiúsculas e minúsculas.
222 222
 Verifique se as maiúsculas e minúsuculas destes diretórios coincidem exatamente com o que está sendo exibido abaixo; se este não for o caso, renomeie os diretórios com o seu programa de FTP de modo a corrigir o erro.
223 223
 <p>Uma vêz feita esta manipulação, você poderá ',
224
-	'dirs_repertoires_suivants' => '<p><b>Os diretórios a seguir não estão acessiveis para leitura:</b></p><ul>@bad_dirs@.</ul>
224
+    'dirs_repertoires_suivants' => '<p><b>Os diretórios a seguir não estão acessiveis para leitura:</b></p><ul>@bad_dirs@.</ul>
225 225
 <p>Para corrigir, utilize o seu programa de FTP para configurar os direitos de acesso de cada um destes diretórios. O procedimento está explicado em detalhes no guia de instalação.</p>
226 226
 <p>Uma vêz feita esta alteração, você poderá ',
227
-	'double_occurrence' => 'Ocorrência dupla de @balise@',
227
+    'double_occurrence' => 'Ocorrência dupla de @balise@',
228 228
 
229
-	// E
230
-	'en_cours' => 'em curso',
231
-	'envoi_via_le_site' => 'Envio pelo site',
232
-	'erreur' => 'Erro',
233
-	'erreur_balise_non_fermee' => 'Última tag em aberto:',
234
-	'erreur_technique_ajaxform' => 'Ooops. Um erro inesperado impediu o envio do formulário. Você pode tentar novamente.',
235
-	'erreur_technique_enregistrement_champs' => 'Um erro técnico impediu a gravação correta do campo @champs@.',
236
-	'erreur_technique_enregistrement_impossible' => 'Um erro técnico impediu a gravação.',
237
-	'erreur_texte' => 'erro(s)',
238
-	'etape' => 'Etapa',
229
+    // E
230
+    'en_cours' => 'em curso',
231
+    'envoi_via_le_site' => 'Envio pelo site',
232
+    'erreur' => 'Erro',
233
+    'erreur_balise_non_fermee' => 'Última tag em aberto:',
234
+    'erreur_technique_ajaxform' => 'Ooops. Um erro inesperado impediu o envio do formulário. Você pode tentar novamente.',
235
+    'erreur_technique_enregistrement_champs' => 'Um erro técnico impediu a gravação correta do campo @champs@.',
236
+    'erreur_technique_enregistrement_impossible' => 'Um erro técnico impediu a gravação.',
237
+    'erreur_texte' => 'erro(s)',
238
+    'etape' => 'Etapa',
239 239
 
240
-	// F
241
-	'fichier_introuvable' => 'Arquivo @fichier@ não encontrado.',
242
-	'fonction_introuvable' => 'Função @fonction@() não encontrada.',
243
-	'form_auteur_confirmation' => 'Confirme o seu endereço de e-mail',
244
-	'form_auteur_email_modifie' => 'O seu endereço de e-mail foi alterado.',
245
-	'form_auteur_envoi_mail_confirmation' => 'Uma mensagem de confirmação acabou de ser enviada para @email@. Você precisa entrar no endereço web mencionado na mensagem para validar o seu endereço de e-mail.',
246
-	'form_auteur_mail_confirmation' => 'Olá,
240
+    // F
241
+    'fichier_introuvable' => 'Arquivo @fichier@ não encontrado.',
242
+    'fonction_introuvable' => 'Função @fonction@() não encontrada.',
243
+    'form_auteur_confirmation' => 'Confirme o seu endereço de e-mail',
244
+    'form_auteur_email_modifie' => 'O seu endereço de e-mail foi alterado.',
245
+    'form_auteur_envoi_mail_confirmation' => 'Uma mensagem de confirmação acabou de ser enviada para @email@. Você precisa entrar no endereço web mencionado na mensagem para validar o seu endereço de e-mail.',
246
+    'form_auteur_mail_confirmation' => 'Olá,
247 247
 
248 248
 Você pediu para alterar o seu endereço de e-mail
249 249
 Para confirmar o seu novo endereço, basta acessar o endereço abaixo (cas contrário, a sua solicitação será ignorada):
250 250
 
251 251
     @url@
252 252
 ',
253
-	'form_deja_inscrit' => 'Você já está inscrito.',
254
-	'form_email_non_valide' => 'Seu endereço de e-mail não é válido.',
255
-	'form_forum_access_refuse' => 'Você não tem mais acesso a este site.',
256
-	'form_forum_bonjour' => 'Bom dia @nom@,',
257
-	'form_forum_confirmer_email' => 'Para confirmar o seu endereço de e-mail, clique neste link: @url_confirm@',
258
-	'form_forum_email_deja_enregistre' => 'Este endereço de e-mail já está cadastrado, você pode usar a sua senha habitual.',
259
-	'form_forum_identifiant_mail' => 'Seu novo login foi enviado por e-mail.',
260
-	'form_forum_identifiants' => 'Identificadores pessoais',
261
-	'form_forum_indiquer_nom_email' => 'Informe aqui o seu nome  endereço de e-mail. O seu identificador pessoal será enviado de imediato por correio eletrônico.',
262
-	'form_forum_login' => 'login:',
263
-	'form_forum_message_auto' => '(esta é uma mensagem automática)',
264
-	'form_forum_pass' => 'senha:',
265
-	'form_forum_probleme_mail' => 'Problema de e-mail: o identificador não pôde ser enviado.',
266
-	'form_forum_voici1' => 'Estes são os seus identificadores para que você possa participar da vida do site "@nom_site_spip@" (@adresse_site@):',
267
-	'form_forum_voici2' => 'Estes são os seus identificadores para que você possa propor matérias ao site "@nom_site_spip@" (@adresse_login@):',
268
-	'form_indiquer_email' => 'Por favor, informe o seu endereço de e-mail.',
269
-	'form_indiquer_nom' => 'Por favor, informe o seu nome.',
270
-	'form_indiquer_nom_site' => 'Por favor, informe o nome do seu site.',
271
-	'form_pet_deja_enregistre' => 'Este site já está cadastrado',
272
-	'form_pet_signature_pasprise' => 'Sua assinatura não foi computada.',
273
-	'form_prop_confirmer_envoi' => 'Confirmar o envio',
274
-	'form_prop_description' => 'Descrição / comentário',
275
-	'form_prop_enregistre' => 'Sua proposta foi cadastrada, ela aparecerá online após ser validada pelos responsáveis deste site.',
276
-	'form_prop_envoyer' => 'Enviar uma mensagem',
277
-	'form_prop_indiquer_email' => 'Por favor, indique um endereço de e-mail válido',
278
-	'form_prop_indiquer_nom_site' => 'Por favor, informe o nome do site.',
279
-	'form_prop_indiquer_sujet' => 'Por favor, informe um assunto',
280
-	'form_prop_message_envoye' => 'Mensagem enviada',
281
-	'form_prop_non_enregistre' => 'Sua proposta não foi cadastrada.',
282
-	'form_prop_sujet' => 'Assunto',
283
-	'form_prop_url_site' => 'Endereço URL do site',
284
-	'format_date_attendu' => 'Inserir uma data no formato dd/mm/aaaa.',
285
-	'format_date_incorrecte' => 'A data e o seu formato está incorreta',
286
-	'format_heure_attendu' => 'Inserir uma hora no formato hh:mm.',
287
-	'format_heure_incorrecte' => 'A hora e o seu formato está incorreta',
288
-	'forum_non_inscrit' => 'Você não está inscrito, ou o endereço ou a senha estão errados.',
289
-	'forum_par_auteur' => 'por @auteur@',
290
-	'forum_titre_erreur' => 'Erro...',
253
+    'form_deja_inscrit' => 'Você já está inscrito.',
254
+    'form_email_non_valide' => 'Seu endereço de e-mail não é válido.',
255
+    'form_forum_access_refuse' => 'Você não tem mais acesso a este site.',
256
+    'form_forum_bonjour' => 'Bom dia @nom@,',
257
+    'form_forum_confirmer_email' => 'Para confirmar o seu endereço de e-mail, clique neste link: @url_confirm@',
258
+    'form_forum_email_deja_enregistre' => 'Este endereço de e-mail já está cadastrado, você pode usar a sua senha habitual.',
259
+    'form_forum_identifiant_mail' => 'Seu novo login foi enviado por e-mail.',
260
+    'form_forum_identifiants' => 'Identificadores pessoais',
261
+    'form_forum_indiquer_nom_email' => 'Informe aqui o seu nome  endereço de e-mail. O seu identificador pessoal será enviado de imediato por correio eletrônico.',
262
+    'form_forum_login' => 'login:',
263
+    'form_forum_message_auto' => '(esta é uma mensagem automática)',
264
+    'form_forum_pass' => 'senha:',
265
+    'form_forum_probleme_mail' => 'Problema de e-mail: o identificador não pôde ser enviado.',
266
+    'form_forum_voici1' => 'Estes são os seus identificadores para que você possa participar da vida do site "@nom_site_spip@" (@adresse_site@):',
267
+    'form_forum_voici2' => 'Estes são os seus identificadores para que você possa propor matérias ao site "@nom_site_spip@" (@adresse_login@):',
268
+    'form_indiquer_email' => 'Por favor, informe o seu endereço de e-mail.',
269
+    'form_indiquer_nom' => 'Por favor, informe o seu nome.',
270
+    'form_indiquer_nom_site' => 'Por favor, informe o nome do seu site.',
271
+    'form_pet_deja_enregistre' => 'Este site já está cadastrado',
272
+    'form_pet_signature_pasprise' => 'Sua assinatura não foi computada.',
273
+    'form_prop_confirmer_envoi' => 'Confirmar o envio',
274
+    'form_prop_description' => 'Descrição / comentário',
275
+    'form_prop_enregistre' => 'Sua proposta foi cadastrada, ela aparecerá online após ser validada pelos responsáveis deste site.',
276
+    'form_prop_envoyer' => 'Enviar uma mensagem',
277
+    'form_prop_indiquer_email' => 'Por favor, indique um endereço de e-mail válido',
278
+    'form_prop_indiquer_nom_site' => 'Por favor, informe o nome do site.',
279
+    'form_prop_indiquer_sujet' => 'Por favor, informe um assunto',
280
+    'form_prop_message_envoye' => 'Mensagem enviada',
281
+    'form_prop_non_enregistre' => 'Sua proposta não foi cadastrada.',
282
+    'form_prop_sujet' => 'Assunto',
283
+    'form_prop_url_site' => 'Endereço URL do site',
284
+    'format_date_attendu' => 'Inserir uma data no formato dd/mm/aaaa.',
285
+    'format_date_incorrecte' => 'A data e o seu formato está incorreta',
286
+    'format_heure_attendu' => 'Inserir uma hora no formato hh:mm.',
287
+    'format_heure_incorrecte' => 'A hora e o seu formato está incorreta',
288
+    'forum_non_inscrit' => 'Você não está inscrito, ou o endereço ou a senha estão errados.',
289
+    'forum_par_auteur' => 'por @auteur@',
290
+    'forum_titre_erreur' => 'Erro...',
291 291
 
292
-	// I
293
-	'ical_texte_rss_articles' => 'O arquivo «backend» das matérias deste site encontra-se no endereço:',
294
-	'ical_texte_rss_articles2' => 'Você pode também obter os arquivos «backend» para as matérias de cada seção do site:',
295
-	'ical_texte_rss_breves' => 'Existe também um arquivo contendo as notas do site. Ao especificar um número de seção, você obterá unicamente as natos dessa seção.',
296
-	'icone_a_suivre' => 'Acompanhar',
297
-	'icone_admin_site' => 'Administração do site',
298
-	'icone_agenda' => 'Agenda',
299
-	'icone_aide_ligne' => 'Ajuda',
300
-	'icone_articles' => 'Matérias',
301
-	'icone_auteurs' => 'Autores',
302
-	'icone_brouteur' => 'Navegação rápida',
303
-	'icone_configuration_site' => 'Configuração',
304
-	'icone_configurer_site' => 'Configurar o seu site',
305
-	'icone_creer_nouvel_auteur' => 'Criar um novo autor',
306
-	'icone_creer_rubrique' => 'Criar uma seção',
307
-	'icone_creer_sous_rubrique' => 'Criar uma subseção',
308
-	'icone_deconnecter' => 'Desconectar-se',
309
-	'icone_discussions' => 'Discussões',
310
-	'icone_doc_rubrique' => 'Documentos das seções',
311
-	'icone_ecrire_article' => 'Escrever uma nova matéria',
312
-	'icone_edition_site' => 'Edição',
313
-	'icone_gestion_langues' => 'Gerenciamento de idiomas',
314
-	'icone_informations_personnelles' => 'Informações pessoais',
315
-	'icone_interface_complet' => 'interface completa',
316
-	'icone_interface_simple' => 'Interface simplificada',
317
-	'icone_maintenance_site' => 'Manutenção do site',
318
-	'icone_messagerie_personnelle' => 'Mensagens pessoais',
319
-	'icone_repartition_debut' => 'Exibir a repartição após o início',
320
-	'icone_rubriques' => 'Seções',
321
-	'icone_sauver_site' => 'Backup do site',
322
-	'icone_site_entier' => 'Todo o site',
323
-	'icone_sites_references' => 'Sites referenciados',
324
-	'icone_statistiques' => 'Estatísticas do site',
325
-	'icone_suivi_activite' => 'Acompanhar a vida do site',
326
-	'icone_suivi_actualite' => 'Evolução do site',
327
-	'icone_suivi_pettions' => 'Acompanhar / gerenciar as petições',
328
-	'icone_suivi_revisions' => 'Modificações das matérias',
329
-	'icone_supprimer_document' => 'Suprimir este documento',
330
-	'icone_supprimer_image' => 'Suprimir esta imagem',
331
-	'icone_tous_articles' => 'Todas as suas matérias',
332
-	'icone_tous_auteur' => 'Todos os autores',
333
-	'icone_tous_visiteur' => 'Todos os visitantes',
334
-	'icone_visiter_site' => 'Ver o site público',
335
-	'icone_voir_en_ligne' => 'Ver online',
336
-	'img_indisponible' => 'imagem indisponível',
337
-	'impossible' => 'impossível',
338
-	'info_a_suivre' => 'ACOMPANHAR»',
339
-	'info_acces_interdit' => 'Acesso interdito',
340
-	'info_acces_refuse' => 'Acesso recusado',
341
-	'info_action' => 'Ação: @action@',
342
-	'info_administrer_rubriques' => 'Você pode administrar esta seção e suas subseções',
343
-	'info_adresse_non_indiquee' => 'Você não informou o endereço a testar!',
344
-	'info_aide' => 'AJUDA:',
345
-	'info_ajouter_mot' => 'Incluir esta palavra',
346
-	'info_annonce' => 'AVISO',
347
-	'info_annonces_generales' => 'Avisos gerais:',
348
-	'info_article_propose' => 'Matéria proposta',
349
-	'info_article_publie' => 'Matéria publicada',
350
-	'info_article_redaction' => 'Matéria em fase de redação',
351
-	'info_article_refuse' => 'Matéria recusada',
352
-	'info_article_supprime' => 'Matéria suprimida',
353
-	'info_articles' => 'Matérias',
354
-	'info_articles_a_valider' => 'As matérias para validar',
355
-	'info_articles_nb' => '@nb@ matérias',
356
-	'info_articles_proposes' => 'Matérias propostas',
357
-	'info_articles_un' => '1 matéria',
358
-	'info_auteurs_nombre' => 'autor(es):',
359
-	'info_authentification_ftp' => 'Autenticação (por FTP).',
360
-	'info_breves_2' => 'notas',
361
-	'info_breves_nb' => '@nb@ notas',
362
-	'info_breves_un' => '1 nota',
363
-	'info_connexion_refusee' => 'Conexão recusada',
364
-	'info_contact_developpeur' => 'Por favor, contate um desenvolvedor.',
365
-	'info_contenance' => 'Este site contém:',
366
-	'info_contribution' => 'contribuições',
367
-	'info_copyright' => '@spip@ é um software livre distribuído @lien_gpl@.',
368
-	'info_copyright_doc' => 'Para mais informações, veja o site <a href="@spipnet@">@spipnet_affiche@</a>.',
369
-	'info_copyright_gpl' => 'sob licença GPL',
370
-	'info_cours_edition' => 'Em edição',
371
-	'info_creer_repertoire' => 'Por favor, crie um arquivo ou diretório com o nome:',
372
-	'info_creer_repertoire_2' => 'dentro do subdiretório <b>@repertoire@</b>, e depois:',
373
-	'info_creer_vignette' => 'criação automática do ícone',
374
-	'info_creerdansrubrique_non_autorise' => 'Você não tem permissão para criar um conteúdo nesta seção',
375
-	'info_deplier' => 'Expandir',
376
-	'info_descriptif_nombre' => 'descrição(ões):',
377
-	'info_description' => 'Resumo:',
378
-	'info_description_2' => 'Resumo:',
379
-	'info_dimension' => 'Dimensões:',
380
-	'info_documents_nb' => '@nb@ documentos',
381
-	'info_documents_un' => '1 documento',
382
-	'info_ecire_message_prive' => 'Escrever uma mensagem privada',
383
-	'info_email_invalide' => 'Endereço de e-mail inválido.',
384
-	'info_en_cours_validation' => 'Suas matérias em fase de redação',
385
-	'info_en_ligne' => 'Atualmente online:',
386
-	'info_envoyer_message_prive' => 'Enviar uma mensagem privada a este autor',
387
-	'info_erreur_requete' => 'Erro na requisição:',
388
-	'info_erreur_squelette2' => 'Nenhum template <b>@fichier@</b> está disponível...',
389
-	'info_erreur_systeme' => 'Erro do sistema (errno @errsys@)',
390
-	'info_erreur_systeme2' => 'É possível que não haja espaço livre em disco, ou que a base de dados esteja corrompida.<br />
292
+    // I
293
+    'ical_texte_rss_articles' => 'O arquivo «backend» das matérias deste site encontra-se no endereço:',
294
+    'ical_texte_rss_articles2' => 'Você pode também obter os arquivos «backend» para as matérias de cada seção do site:',
295
+    'ical_texte_rss_breves' => 'Existe também um arquivo contendo as notas do site. Ao especificar um número de seção, você obterá unicamente as natos dessa seção.',
296
+    'icone_a_suivre' => 'Acompanhar',
297
+    'icone_admin_site' => 'Administração do site',
298
+    'icone_agenda' => 'Agenda',
299
+    'icone_aide_ligne' => 'Ajuda',
300
+    'icone_articles' => 'Matérias',
301
+    'icone_auteurs' => 'Autores',
302
+    'icone_brouteur' => 'Navegação rápida',
303
+    'icone_configuration_site' => 'Configuração',
304
+    'icone_configurer_site' => 'Configurar o seu site',
305
+    'icone_creer_nouvel_auteur' => 'Criar um novo autor',
306
+    'icone_creer_rubrique' => 'Criar uma seção',
307
+    'icone_creer_sous_rubrique' => 'Criar uma subseção',
308
+    'icone_deconnecter' => 'Desconectar-se',
309
+    'icone_discussions' => 'Discussões',
310
+    'icone_doc_rubrique' => 'Documentos das seções',
311
+    'icone_ecrire_article' => 'Escrever uma nova matéria',
312
+    'icone_edition_site' => 'Edição',
313
+    'icone_gestion_langues' => 'Gerenciamento de idiomas',
314
+    'icone_informations_personnelles' => 'Informações pessoais',
315
+    'icone_interface_complet' => 'interface completa',
316
+    'icone_interface_simple' => 'Interface simplificada',
317
+    'icone_maintenance_site' => 'Manutenção do site',
318
+    'icone_messagerie_personnelle' => 'Mensagens pessoais',
319
+    'icone_repartition_debut' => 'Exibir a repartição após o início',
320
+    'icone_rubriques' => 'Seções',
321
+    'icone_sauver_site' => 'Backup do site',
322
+    'icone_site_entier' => 'Todo o site',
323
+    'icone_sites_references' => 'Sites referenciados',
324
+    'icone_statistiques' => 'Estatísticas do site',
325
+    'icone_suivi_activite' => 'Acompanhar a vida do site',
326
+    'icone_suivi_actualite' => 'Evolução do site',
327
+    'icone_suivi_pettions' => 'Acompanhar / gerenciar as petições',
328
+    'icone_suivi_revisions' => 'Modificações das matérias',
329
+    'icone_supprimer_document' => 'Suprimir este documento',
330
+    'icone_supprimer_image' => 'Suprimir esta imagem',
331
+    'icone_tous_articles' => 'Todas as suas matérias',
332
+    'icone_tous_auteur' => 'Todos os autores',
333
+    'icone_tous_visiteur' => 'Todos os visitantes',
334
+    'icone_visiter_site' => 'Ver o site público',
335
+    'icone_voir_en_ligne' => 'Ver online',
336
+    'img_indisponible' => 'imagem indisponível',
337
+    'impossible' => 'impossível',
338
+    'info_a_suivre' => 'ACOMPANHAR»',
339
+    'info_acces_interdit' => 'Acesso interdito',
340
+    'info_acces_refuse' => 'Acesso recusado',
341
+    'info_action' => 'Ação: @action@',
342
+    'info_administrer_rubriques' => 'Você pode administrar esta seção e suas subseções',
343
+    'info_adresse_non_indiquee' => 'Você não informou o endereço a testar!',
344
+    'info_aide' => 'AJUDA:',
345
+    'info_ajouter_mot' => 'Incluir esta palavra',
346
+    'info_annonce' => 'AVISO',
347
+    'info_annonces_generales' => 'Avisos gerais:',
348
+    'info_article_propose' => 'Matéria proposta',
349
+    'info_article_publie' => 'Matéria publicada',
350
+    'info_article_redaction' => 'Matéria em fase de redação',
351
+    'info_article_refuse' => 'Matéria recusada',
352
+    'info_article_supprime' => 'Matéria suprimida',
353
+    'info_articles' => 'Matérias',
354
+    'info_articles_a_valider' => 'As matérias para validar',
355
+    'info_articles_nb' => '@nb@ matérias',
356
+    'info_articles_proposes' => 'Matérias propostas',
357
+    'info_articles_un' => '1 matéria',
358
+    'info_auteurs_nombre' => 'autor(es):',
359
+    'info_authentification_ftp' => 'Autenticação (por FTP).',
360
+    'info_breves_2' => 'notas',
361
+    'info_breves_nb' => '@nb@ notas',
362
+    'info_breves_un' => '1 nota',
363
+    'info_connexion_refusee' => 'Conexão recusada',
364
+    'info_contact_developpeur' => 'Por favor, contate um desenvolvedor.',
365
+    'info_contenance' => 'Este site contém:',
366
+    'info_contribution' => 'contribuições',
367
+    'info_copyright' => '@spip@ é um software livre distribuído @lien_gpl@.',
368
+    'info_copyright_doc' => 'Para mais informações, veja o site <a href="@spipnet@">@spipnet_affiche@</a>.',
369
+    'info_copyright_gpl' => 'sob licença GPL',
370
+    'info_cours_edition' => 'Em edição',
371
+    'info_creer_repertoire' => 'Por favor, crie um arquivo ou diretório com o nome:',
372
+    'info_creer_repertoire_2' => 'dentro do subdiretório <b>@repertoire@</b>, e depois:',
373
+    'info_creer_vignette' => 'criação automática do ícone',
374
+    'info_creerdansrubrique_non_autorise' => 'Você não tem permissão para criar um conteúdo nesta seção',
375
+    'info_deplier' => 'Expandir',
376
+    'info_descriptif_nombre' => 'descrição(ões):',
377
+    'info_description' => 'Resumo:',
378
+    'info_description_2' => 'Resumo:',
379
+    'info_dimension' => 'Dimensões:',
380
+    'info_documents_nb' => '@nb@ documentos',
381
+    'info_documents_un' => '1 documento',
382
+    'info_ecire_message_prive' => 'Escrever uma mensagem privada',
383
+    'info_email_invalide' => 'Endereço de e-mail inválido.',
384
+    'info_en_cours_validation' => 'Suas matérias em fase de redação',
385
+    'info_en_ligne' => 'Atualmente online:',
386
+    'info_envoyer_message_prive' => 'Enviar uma mensagem privada a este autor',
387
+    'info_erreur_requete' => 'Erro na requisição:',
388
+    'info_erreur_squelette2' => 'Nenhum template <b>@fichier@</b> está disponível...',
389
+    'info_erreur_systeme' => 'Erro do sistema (errno @errsys@)',
390
+    'info_erreur_systeme2' => 'É possível que não haja espaço livre em disco, ou que a base de dados esteja corrompida.<br />
391 391
 <span style="color:red;">Tente <a href=\'@script@\'>reparar a base</a>, ou contate o seu serviço de hospedagem.</span>',
392
-	'info_fini' => 'Terminou!',
393
-	'info_format_image' => 'Formatos das imagens que podem ser utilizados para criar os ícones @gd_formats@.',
394
-	'info_format_non_defini' => 'formato não definido',
395
-	'info_grand_ecran' => 'Alta resolução',
396
-	'info_image_aide' => 'AJUDA',
397
-	'info_image_process_titre' => 'Método de criação dos ícones',
398
-	'info_impossible_lire_page' => '<b>Erro!</b> Impossível ler a página <tt><html>@test_proxy@</html></tt> via proxy',
399
-	'info_installation_systeme_publication' => 'Instalação do sistema de publicação...',
400
-	'info_installer_documents' => 'Você pode instalar automaticamente todos os documentos contídos no diretório @upload@.',
401
-	'info_installer_ftp' => 'Como administrador, você pode transferir (por FTP) arquivos para o diretório @upload@ para, em seguida, selecioná-los aqui diretamente.',
402
-	'info_installer_images' => 'Você pode transferir imagens nos formatos JPEG, GIF e PNG.',
403
-	'info_installer_images_dossier' => 'Transferir as imagens para o diretório @upload@ para poder selecioná-las aqui.',
404
-	'info_interface_complete' => 'interface completa',
405
-	'info_interface_simple' => 'Interface simplificada',
406
-	'info_joindre_document_article' => 'Você pode anexar a esta matéria documentos dos tipos a seguir',
407
-	'info_joindre_document_rubrique' => 'Você pode anexar a esta seção documentos dos tipos a seguir',
408
-	'info_joindre_documents_article' => 'Você pode anexar à sua matéria documentos dos tipos a seguir:',
409
-	'info_l_article' => 'a matéria',
410
-	'info_la_breve' => 'a nota',
411
-	'info_la_rubrique' => 'a seção',
412
-	'info_langue_principale' => 'Idioma principal do site',
413
-	'info_largeur_vignette' => '@largeur_vignette@ × @hauteur_vignette@ pixels',
414
-	'info_les_auteurs_1' => 'por @les_auteurs@',
415
-	'info_logo_format_interdit' => 'Apenas os ícones nos formatos @formats@ estão autorizados.',
416
-	'info_logo_max_poids' => 'Os ícones devem obrigatoriamente ter menos de @maxi@ (este arquivo tem @actuel@).',
417
-	'info_mail_fournisseur' => '[email protected]',
418
-	'info_message_2' => 'MENSAGEM',
419
-	'info_message_supprime' => 'MENSAGEM EXCLUÍDA',
420
-	'info_messages_nb' => '@nb@ mensagens',
421
-	'info_messages_un' => '1 mensagem',
422
-	'info_mise_en_ligne' => 'Data de publicação online:',
423
-	'info_modification_parametres_securite' => 'modificações dos parâmetros de segurança',
424
-	'info_mois_courant' => 'No mês corrente:',
425
-	'info_mot_cle_ajoute' => 'A palavra-chave a seguir foi associada a',
426
-	'info_multi_herit' => 'Idioma padrão',
427
-	'info_multi_langues_soulignees' => 'Os <u>idiomas sublinhados</u> dispõem de tradução total ou parcial dos textos da interface. Se você escolher esses idiomas, diversos elementos do site público (datas, formulários) são traduzidos automaticamente. Para os idiomas não sublinhados, estes elementos aparecerão no idioma principal do site.',
428
-	'info_multilinguisme' => 'Multilinguismo',
429
-	'info_nom_non_utilisateurs_connectes' => 'Seu nome não aparece na relação de usuários conectados.',
430
-	'info_nom_utilisateurs_connectes' => 'Seu nome aparecerá na relação de usuários conectados.',
431
-	'info_nombre_en_ligne' => 'Online neste momento:',
432
-	'info_non_resultat' => 'Nenhum resultados para "@cherche_mot@"',
433
-	'info_non_utilisation_messagerie' => 'Você não utiliza o sistema de mensagens deste site.',
434
-	'info_nouveau_message' => 'VOCÊ TEM UMA NOVA MENSAGEM',
435
-	'info_nouveaux_messages' => 'VOCÊ TEM @total_messages@ MENSAGENS NOVAS',
436
-	'info_numero_abbreviation' => 'N° ',
437
-	'info_obligatoire' => 'Esta informação é obrigatória',
438
-	'info_page_actuelle' => 'Página atual',
439
-	'info_pense_bete' => 'LEMBRETE',
440
-	'info_petit_ecran' => 'Baixa resolução',
441
-	'info_petition_close' => 'Petição fechada',
442
-	'info_pixels' => 'pixels',
443
-	'info_plusieurs_mots_trouves' => 'Várias palavras-chave encontradas para "@cherche_mot@":',
444
-	'info_portfolio_automatique' => 'Portfólio automático:',
445
-	'info_premier_resultat' => '[@debut_limit@ primeiros resultados de @total@]',
446
-	'info_premier_resultat_sur' => '[@debut_limit@ primeiros resultados de @total@]',
447
-	'info_propose_1' => '[@nom_site_spip@] Propõe: @titre@',
448
-	'info_propose_2' => 'Matéria proposta
392
+    'info_fini' => 'Terminou!',
393
+    'info_format_image' => 'Formatos das imagens que podem ser utilizados para criar os ícones @gd_formats@.',
394
+    'info_format_non_defini' => 'formato não definido',
395
+    'info_grand_ecran' => 'Alta resolução',
396
+    'info_image_aide' => 'AJUDA',
397
+    'info_image_process_titre' => 'Método de criação dos ícones',
398
+    'info_impossible_lire_page' => '<b>Erro!</b> Impossível ler a página <tt><html>@test_proxy@</html></tt> via proxy',
399
+    'info_installation_systeme_publication' => 'Instalação do sistema de publicação...',
400
+    'info_installer_documents' => 'Você pode instalar automaticamente todos os documentos contídos no diretório @upload@.',
401
+    'info_installer_ftp' => 'Como administrador, você pode transferir (por FTP) arquivos para o diretório @upload@ para, em seguida, selecioná-los aqui diretamente.',
402
+    'info_installer_images' => 'Você pode transferir imagens nos formatos JPEG, GIF e PNG.',
403
+    'info_installer_images_dossier' => 'Transferir as imagens para o diretório @upload@ para poder selecioná-las aqui.',
404
+    'info_interface_complete' => 'interface completa',
405
+    'info_interface_simple' => 'Interface simplificada',
406
+    'info_joindre_document_article' => 'Você pode anexar a esta matéria documentos dos tipos a seguir',
407
+    'info_joindre_document_rubrique' => 'Você pode anexar a esta seção documentos dos tipos a seguir',
408
+    'info_joindre_documents_article' => 'Você pode anexar à sua matéria documentos dos tipos a seguir:',
409
+    'info_l_article' => 'a matéria',
410
+    'info_la_breve' => 'a nota',
411
+    'info_la_rubrique' => 'a seção',
412
+    'info_langue_principale' => 'Idioma principal do site',
413
+    'info_largeur_vignette' => '@largeur_vignette@ × @hauteur_vignette@ pixels',
414
+    'info_les_auteurs_1' => 'por @les_auteurs@',
415
+    'info_logo_format_interdit' => 'Apenas os ícones nos formatos @formats@ estão autorizados.',
416
+    'info_logo_max_poids' => 'Os ícones devem obrigatoriamente ter menos de @maxi@ (este arquivo tem @actuel@).',
417
+    'info_mail_fournisseur' => '[email protected]',
418
+    'info_message_2' => 'MENSAGEM',
419
+    'info_message_supprime' => 'MENSAGEM EXCLUÍDA',
420
+    'info_messages_nb' => '@nb@ mensagens',
421
+    'info_messages_un' => '1 mensagem',
422
+    'info_mise_en_ligne' => 'Data de publicação online:',
423
+    'info_modification_parametres_securite' => 'modificações dos parâmetros de segurança',
424
+    'info_mois_courant' => 'No mês corrente:',
425
+    'info_mot_cle_ajoute' => 'A palavra-chave a seguir foi associada a',
426
+    'info_multi_herit' => 'Idioma padrão',
427
+    'info_multi_langues_soulignees' => 'Os <u>idiomas sublinhados</u> dispõem de tradução total ou parcial dos textos da interface. Se você escolher esses idiomas, diversos elementos do site público (datas, formulários) são traduzidos automaticamente. Para os idiomas não sublinhados, estes elementos aparecerão no idioma principal do site.',
428
+    'info_multilinguisme' => 'Multilinguismo',
429
+    'info_nom_non_utilisateurs_connectes' => 'Seu nome não aparece na relação de usuários conectados.',
430
+    'info_nom_utilisateurs_connectes' => 'Seu nome aparecerá na relação de usuários conectados.',
431
+    'info_nombre_en_ligne' => 'Online neste momento:',
432
+    'info_non_resultat' => 'Nenhum resultados para "@cherche_mot@"',
433
+    'info_non_utilisation_messagerie' => 'Você não utiliza o sistema de mensagens deste site.',
434
+    'info_nouveau_message' => 'VOCÊ TEM UMA NOVA MENSAGEM',
435
+    'info_nouveaux_messages' => 'VOCÊ TEM @total_messages@ MENSAGENS NOVAS',
436
+    'info_numero_abbreviation' => 'N° ',
437
+    'info_obligatoire' => 'Esta informação é obrigatória',
438
+    'info_page_actuelle' => 'Página atual',
439
+    'info_pense_bete' => 'LEMBRETE',
440
+    'info_petit_ecran' => 'Baixa resolução',
441
+    'info_petition_close' => 'Petição fechada',
442
+    'info_pixels' => 'pixels',
443
+    'info_plusieurs_mots_trouves' => 'Várias palavras-chave encontradas para "@cherche_mot@":',
444
+    'info_portfolio_automatique' => 'Portfólio automático:',
445
+    'info_premier_resultat' => '[@debut_limit@ primeiros resultados de @total@]',
446
+    'info_premier_resultat_sur' => '[@debut_limit@ primeiros resultados de @total@]',
447
+    'info_propose_1' => '[@nom_site_spip@] Propõe: @titre@',
448
+    'info_propose_2' => 'Matéria proposta
449 449
 ----------------',
450
-	'info_propose_3' => 'A matéria "@titre@" foi proposta para publicação.',
451
-	'info_propose_4' => 'Você está convidado a consultá-la e dar sua opinião',
452
-	'info_propose_5' => 'no fórum a ela anexado. Ela está disponível no endereço:',
453
-	'info_publie_01' => 'A matéria "@titre@" foi validada por @connect_nom@.',
454
-	'info_publie_1' => '[@nom_site_spip@] PUBLICADO: @titre@',
455
-	'info_publie_2' => 'Matéria publicada
450
+    'info_propose_3' => 'A matéria "@titre@" foi proposta para publicação.',
451
+    'info_propose_4' => 'Você está convidado a consultá-la e dar sua opinião',
452
+    'info_propose_5' => 'no fórum a ela anexado. Ela está disponível no endereço:',
453
+    'info_publie_01' => 'A matéria "@titre@" foi validada por @connect_nom@.',
454
+    'info_publie_1' => '[@nom_site_spip@] PUBLICADO: @titre@',
455
+    'info_publie_2' => 'Matéria publicada
456 456
 -----------------',
457
-	'info_rechercher' => 'Procurar',
458
-	'info_rechercher_02' => 'Procurar:',
459
-	'info_remplacer_vignette' => 'Substituir o ícone padrão por um logo personalizado:',
460
-	'info_rubriques_nb' => '@nb@ seções',
461
-	'info_rubriques_un' => '1 seção',
462
-	'info_sans_titre_2' => 'sem título',
463
-	'info_selectionner_fichier' => 'Você pode escolher um arquivo do diretório @upload@',
464
-	'info_selectionner_fichier_2' => 'Selecionar um arquivo:',
465
-	'info_sites_nb' => '@nb@ sites',
466
-	'info_sites_un' => '1 site',
467
-	'info_supprimer_vignette' => 'excluir o ícone',
468
-	'info_symbole_bleu' => 'O ícone <b>azul</b> indica um <b>lembrete</b>: ou seja, uma mensagem para seu uso pessoal.',
469
-	'info_symbole_jaune' => 'O ícone <b>amarelo</b> indica um  <b>anúncio para todos os redatores</b>: modificável por todos os administradores, e visível por todos os redatores.',
470
-	'info_symbole_vert' => 'O ícone <b>verde</b> indica as  <b>mensagens trocadas com outros usuários</b> do site.',
471
-	'info_telecharger_nouveau_logo' => 'Transferir um novo logo:',
472
-	'info_telecharger_ordinateur' => 'Tranferir do seu computador:',
473
-	'info_tous_resultats_enregistres' => '[todos os resultados são gravados]',
474
-	'info_tout_afficher' => 'Mostrar todas',
475
-	'info_travaux_texte' => 'Este site ainda não está configurado. Volte mais tarde...',
476
-	'info_travaux_titre' => 'Site em manutenção',
477
-	'info_trop_resultat' => 'Resultados de mais para "@cherche_mot@"; por favor, refine a busca.',
478
-	'info_utilisation_messagerie_interne' => 'Você usa o sistema interno de mensagens deste site.',
479
-	'info_valider_lien' => 'validar este link',
480
-	'info_verifier_image' => ', verifique se as suas imagens foram transferidas corretamente.',
481
-	'info_vignette_defaut' => 'Ícone padrão',
482
-	'info_vignette_personnalisee' => 'Ícone personalizado',
483
-	'info_visite' => 'visita:',
484
-	'info_vos_rendez_vous' => 'Seus encontros futuros',
485
-	'infos_vos_pense_bete' => 'Seus lembretes',
457
+    'info_rechercher' => 'Procurar',
458
+    'info_rechercher_02' => 'Procurar:',
459
+    'info_remplacer_vignette' => 'Substituir o ícone padrão por um logo personalizado:',
460
+    'info_rubriques_nb' => '@nb@ seções',
461
+    'info_rubriques_un' => '1 seção',
462
+    'info_sans_titre_2' => 'sem título',
463
+    'info_selectionner_fichier' => 'Você pode escolher um arquivo do diretório @upload@',
464
+    'info_selectionner_fichier_2' => 'Selecionar um arquivo:',
465
+    'info_sites_nb' => '@nb@ sites',
466
+    'info_sites_un' => '1 site',
467
+    'info_supprimer_vignette' => 'excluir o ícone',
468
+    'info_symbole_bleu' => 'O ícone <b>azul</b> indica um <b>lembrete</b>: ou seja, uma mensagem para seu uso pessoal.',
469
+    'info_symbole_jaune' => 'O ícone <b>amarelo</b> indica um  <b>anúncio para todos os redatores</b>: modificável por todos os administradores, e visível por todos os redatores.',
470
+    'info_symbole_vert' => 'O ícone <b>verde</b> indica as  <b>mensagens trocadas com outros usuários</b> do site.',
471
+    'info_telecharger_nouveau_logo' => 'Transferir um novo logo:',
472
+    'info_telecharger_ordinateur' => 'Tranferir do seu computador:',
473
+    'info_tous_resultats_enregistres' => '[todos os resultados são gravados]',
474
+    'info_tout_afficher' => 'Mostrar todas',
475
+    'info_travaux_texte' => 'Este site ainda não está configurado. Volte mais tarde...',
476
+    'info_travaux_titre' => 'Site em manutenção',
477
+    'info_trop_resultat' => 'Resultados de mais para "@cherche_mot@"; por favor, refine a busca.',
478
+    'info_utilisation_messagerie_interne' => 'Você usa o sistema interno de mensagens deste site.',
479
+    'info_valider_lien' => 'validar este link',
480
+    'info_verifier_image' => ', verifique se as suas imagens foram transferidas corretamente.',
481
+    'info_vignette_defaut' => 'Ícone padrão',
482
+    'info_vignette_personnalisee' => 'Ícone personalizado',
483
+    'info_visite' => 'visita:',
484
+    'info_vos_rendez_vous' => 'Seus encontros futuros',
485
+    'infos_vos_pense_bete' => 'Seus lembretes',
486 486
 
487
-	// L
488
-	'label_ajout_id_rapide' => 'Ajuda rápida',
489
-	'label_poids_fichier' => 'Tamanho',
490
-	'label_ponctuer' => '@label@:',
491
-	'lien_afficher_icones_seuls' => 'Exibir apenas os ícones',
492
-	'lien_afficher_texte_icones' => 'Exibir ícones e texto',
493
-	'lien_afficher_texte_seul' => 'Exibir apenas o texto',
494
-	'lien_aller_a_la_derniere_page' => 'Ir para a última página',
495
-	'lien_aller_a_la_page_nb' => 'Ir para a página @nb@',
496
-	'lien_aller_a_la_page_precedente' => 'Ir para a página anterior',
497
-	'lien_aller_a_la_page_suivante' => 'Ir para a página seguinte',
498
-	'lien_aller_a_la_premiere_page' => 'Ir para a primeira página',
499
-	'lien_liberer' => 'liberar',
500
-	'lien_liberer_tous' => 'liberar todas',
501
-	'lien_nouvea_pense_bete' => 'NOVO LEMBRETE',
502
-	'lien_nouveau_message' => 'NOVA MENSAGEM',
503
-	'lien_nouvelle_annonce' => 'NOVO ANÚNCIO',
504
-	'lien_petitions' => 'PETIÇÃO',
505
-	'lien_popularite' => 'popularidade: @popularite@%',
506
-	'lien_racine_site' => 'RAIZ DO SITE',
507
-	'lien_reessayer' => 'tente novamente',
508
-	'lien_repondre_message' => 'Responder a esta mensagem',
509
-	'lien_supprimer' => 'excluir',
510
-	'lien_tout_afficher' => 'Mostrar tudo',
511
-	'lien_visite_site' => 'visitar este site',
512
-	'lien_visites' => '@visites@ visitas',
513
-	'lien_voir_auteur' => 'Ver este autor',
514
-	'ligne' => 'Linha',
515
-	'login' => 'Conexão',
516
-	'login_acces_prive' => 'acesso ao espaço privado',
517
-	'login_autre_identifiant' => 'conectar-se com outra identificação',
518
-	'login_cookie_accepte' => 'Por favor, configure o seu navegador para aceitá-los (pelo menos para este site).',
519
-	'login_cookie_oblige' => 'Para você se identificar de modo seguro neste site, você precisa aceitar cookies.',
520
-	'login_deconnexion_ok' => 'Desconexão efetuada.',
521
-	'login_erreur_pass' => 'Erro de senha.',
522
-	'login_espace_prive' => 'espaço privado',
523
-	'login_identifiant_inconnu' => 'O identificador «@login@» não está cadastrado.',
524
-	'login_login' => 'Login:',
525
-	'login_login2' => 'Login',
526
-	'login_login_pass_incorrect' => '(Login ou senha incorreta.)',
527
-	'login_motpasseoublie' => 'esqueceu sua senha?',
528
-	'login_non_securise' => 'Atenção, este formulário não é seguro.
487
+    // L
488
+    'label_ajout_id_rapide' => 'Ajuda rápida',
489
+    'label_poids_fichier' => 'Tamanho',
490
+    'label_ponctuer' => '@label@:',
491
+    'lien_afficher_icones_seuls' => 'Exibir apenas os ícones',
492
+    'lien_afficher_texte_icones' => 'Exibir ícones e texto',
493
+    'lien_afficher_texte_seul' => 'Exibir apenas o texto',
494
+    'lien_aller_a_la_derniere_page' => 'Ir para a última página',
495
+    'lien_aller_a_la_page_nb' => 'Ir para a página @nb@',
496
+    'lien_aller_a_la_page_precedente' => 'Ir para a página anterior',
497
+    'lien_aller_a_la_page_suivante' => 'Ir para a página seguinte',
498
+    'lien_aller_a_la_premiere_page' => 'Ir para a primeira página',
499
+    'lien_liberer' => 'liberar',
500
+    'lien_liberer_tous' => 'liberar todas',
501
+    'lien_nouvea_pense_bete' => 'NOVO LEMBRETE',
502
+    'lien_nouveau_message' => 'NOVA MENSAGEM',
503
+    'lien_nouvelle_annonce' => 'NOVO ANÚNCIO',
504
+    'lien_petitions' => 'PETIÇÃO',
505
+    'lien_popularite' => 'popularidade: @popularite@%',
506
+    'lien_racine_site' => 'RAIZ DO SITE',
507
+    'lien_reessayer' => 'tente novamente',
508
+    'lien_repondre_message' => 'Responder a esta mensagem',
509
+    'lien_supprimer' => 'excluir',
510
+    'lien_tout_afficher' => 'Mostrar tudo',
511
+    'lien_visite_site' => 'visitar este site',
512
+    'lien_visites' => '@visites@ visitas',
513
+    'lien_voir_auteur' => 'Ver este autor',
514
+    'ligne' => 'Linha',
515
+    'login' => 'Conexão',
516
+    'login_acces_prive' => 'acesso ao espaço privado',
517
+    'login_autre_identifiant' => 'conectar-se com outra identificação',
518
+    'login_cookie_accepte' => 'Por favor, configure o seu navegador para aceitá-los (pelo menos para este site).',
519
+    'login_cookie_oblige' => 'Para você se identificar de modo seguro neste site, você precisa aceitar cookies.',
520
+    'login_deconnexion_ok' => 'Desconexão efetuada.',
521
+    'login_erreur_pass' => 'Erro de senha.',
522
+    'login_espace_prive' => 'espaço privado',
523
+    'login_identifiant_inconnu' => 'O identificador «@login@» não está cadastrado.',
524
+    'login_login' => 'Login:',
525
+    'login_login2' => 'Login',
526
+    'login_login_pass_incorrect' => '(Login ou senha incorreta.)',
527
+    'login_motpasseoublie' => 'esqueceu sua senha?',
528
+    'login_non_securise' => 'Atenção, este formulário não é seguro.
529 529
 Se você não quiser que a sua senha possa ser interceptada na rede, por favor ative o Javascript no seu navegador e',
530
-	'login_nouvelle_tentative' => 'Tentar novamente',
531
-	'login_par_ici' => 'VocÊ está registrado... por aqui...',
532
-	'login_pass2' => 'Senha:',
533
-	'login_preferez_refuser' => '<b>Se você prefere recusar os cookies</b>, um outro método de conexão (menos seguro) está disponível:',
534
-	'login_recharger' => 'atualizar esta página',
535
-	'login_rester_identifie' => 'Manter-se identificado',
536
-	'login_retour_public' => 'Voltar ao site público',
537
-	'login_retour_site' => 'Voltar ao site público',
538
-	'login_retoursitepublic' => 'voltar ao site público',
539
-	'login_sans_cookie' => 'Identificação sem cookie',
540
-	'login_securise' => 'Login seguro',
541
-	'login_sinscrire' => 'Cadastrar-se',
542
-	'login_test_navigateur' => 'testar navegador/reconexão',
543
-	'login_verifiez_navigateur' => '(Verifique sempre se o seu navegador não está memorizando a sua senha...)',
530
+    'login_nouvelle_tentative' => 'Tentar novamente',
531
+    'login_par_ici' => 'VocÊ está registrado... por aqui...',
532
+    'login_pass2' => 'Senha:',
533
+    'login_preferez_refuser' => '<b>Se você prefere recusar os cookies</b>, um outro método de conexão (menos seguro) está disponível:',
534
+    'login_recharger' => 'atualizar esta página',
535
+    'login_rester_identifie' => 'Manter-se identificado',
536
+    'login_retour_public' => 'Voltar ao site público',
537
+    'login_retour_site' => 'Voltar ao site público',
538
+    'login_retoursitepublic' => 'voltar ao site público',
539
+    'login_sans_cookie' => 'Identificação sem cookie',
540
+    'login_securise' => 'Login seguro',
541
+    'login_sinscrire' => 'Cadastrar-se',
542
+    'login_test_navigateur' => 'testar navegador/reconexão',
543
+    'login_verifiez_navigateur' => '(Verifique sempre se o seu navegador não está memorizando a sua senha...)',
544 544
 
545
-	// M
546
-	'masquer_colonne' => 'Ocultar esta coluna',
547
-	'masquer_trad' => 'esconder as traduções',
548
-	'message_nouveaux_identifiants_echec' => 'Impossível criar novos logins.',
549
-	'message_nouveaux_identifiants_echec_envoi' => 'Os novos logins de conexão não puderam ser enviados.',
550
-	'message_nouveaux_identifiants_ok' => 'Os novos logins de conexão foram enviados para @email@.',
551
-	'module_fichiers_langues' => 'Arquivos de idioma',
545
+    // M
546
+    'masquer_colonne' => 'Ocultar esta coluna',
547
+    'masquer_trad' => 'esconder as traduções',
548
+    'message_nouveaux_identifiants_echec' => 'Impossível criar novos logins.',
549
+    'message_nouveaux_identifiants_echec_envoi' => 'Os novos logins de conexão não puderam ser enviados.',
550
+    'message_nouveaux_identifiants_ok' => 'Os novos logins de conexão foram enviados para @email@.',
551
+    'module_fichiers_langues' => 'Arquivos de idioma',
552 552
 
553
-	// N
554
-	'navigateur_pas_redirige' => 'Se o seu navegador não o redirecionar, clique aqui para continuar.',
555
-	'numero' => 'Número',
553
+    // N
554
+    'navigateur_pas_redirige' => 'Se o seu navegador não o redirecionar, clique aqui para continuar.',
555
+    'numero' => 'Número',
556 556
 
557
-	// O
558
-	'occurence' => 'Ocorrência',
559
-	'onglet_affacer_base' => 'Apagar a base',
560
-	'onglet_auteur' => 'O autor',
561
-	'onglet_contenu_site' => 'Conteúdo do site',
562
-	'onglet_evolution_visite_mod' => 'Evolução',
563
-	'onglet_fonctions_avances' => 'Funções avançadas',
564
-	'onglet_informations_personnelles' => 'Informações pessoais',
565
-	'onglet_interactivite' => 'Interatividade',
566
-	'onglet_messagerie' => 'Sistema de mensagens',
567
-	'onglet_repartition_rubrique' => 'Repartição por seções',
568
-	'onglet_save_restaur_base' => 'Fazer cópia de segurança/restaurar a base',
569
-	'onglet_vider_cache' => 'Esvaziar o cache',
557
+    // O
558
+    'occurence' => 'Ocorrência',
559
+    'onglet_affacer_base' => 'Apagar a base',
560
+    'onglet_auteur' => 'O autor',
561
+    'onglet_contenu_site' => 'Conteúdo do site',
562
+    'onglet_evolution_visite_mod' => 'Evolução',
563
+    'onglet_fonctions_avances' => 'Funções avançadas',
564
+    'onglet_informations_personnelles' => 'Informações pessoais',
565
+    'onglet_interactivite' => 'Interatividade',
566
+    'onglet_messagerie' => 'Sistema de mensagens',
567
+    'onglet_repartition_rubrique' => 'Repartição por seções',
568
+    'onglet_save_restaur_base' => 'Fazer cópia de segurança/restaurar a base',
569
+    'onglet_vider_cache' => 'Esvaziar o cache',
570 570
 
571
-	// P
572
-	'pass_choix_pass' => 'Por favor, escolha a sua nova senha:',
573
-	'pass_erreur' => 'Erro',
574
-	'pass_erreur_acces_refuse' => '<b>Erro:</b> você não tem mais acesso a este site.',
575
-	'pass_erreur_code_inconnu' => '<b>Erro:</b> este login não corresponde a nenhum visitante com permissão de acesso a este site.',
576
-	'pass_erreur_non_enregistre' => '<b>Erro:</b> o e-mail <tt>@email_oubli@</tt> não está cadastrado neste site.',
577
-	'pass_erreur_non_valide' => '<b>Erro:</b> o e-mail <tt>@email_oubli@</tt> não é válido!',
578
-	'pass_erreur_probleme_technique' => '<b>Erro:</b> este e-mail não pôde ser enviado devido a um problema técnico.',
579
-	'pass_espace_prive_bla' => 'O espaço privado deste site é aberto aos visitantes, após inscrição. Uma vez cadastrado, você poderá consultar as matérias em fase de redação, propor a publicação de novas matérias e participar de todos os fóruns.',
580
-	'pass_forum_bla' => 'Você soliciou a participação num fórum reservado a visitantes registrados.',
581
-	'pass_indiquez_cidessous' => 'Informe abaixo o endereço de e-mail com o qual você se cadastrou anteriormente. Você receberá um e-mail lhe indicando os procedimentos a seguir para recuperar o seu acesso.',
582
-	'pass_mail_passcookie' => '(esta é uma mensagem automática)
571
+    // P
572
+    'pass_choix_pass' => 'Por favor, escolha a sua nova senha:',
573
+    'pass_erreur' => 'Erro',
574
+    'pass_erreur_acces_refuse' => '<b>Erro:</b> você não tem mais acesso a este site.',
575
+    'pass_erreur_code_inconnu' => '<b>Erro:</b> este login não corresponde a nenhum visitante com permissão de acesso a este site.',
576
+    'pass_erreur_non_enregistre' => '<b>Erro:</b> o e-mail <tt>@email_oubli@</tt> não está cadastrado neste site.',
577
+    'pass_erreur_non_valide' => '<b>Erro:</b> o e-mail <tt>@email_oubli@</tt> não é válido!',
578
+    'pass_erreur_probleme_technique' => '<b>Erro:</b> este e-mail não pôde ser enviado devido a um problema técnico.',
579
+    'pass_espace_prive_bla' => 'O espaço privado deste site é aberto aos visitantes, após inscrição. Uma vez cadastrado, você poderá consultar as matérias em fase de redação, propor a publicação de novas matérias e participar de todos os fóruns.',
580
+    'pass_forum_bla' => 'Você soliciou a participação num fórum reservado a visitantes registrados.',
581
+    'pass_indiquez_cidessous' => 'Informe abaixo o endereço de e-mail com o qual você se cadastrou anteriormente. Você receberá um e-mail lhe indicando os procedimentos a seguir para recuperar o seu acesso.',
582
+    'pass_mail_passcookie' => '(esta é uma mensagem automática)
583 583
 Para recuperar o seu acesso ao site
584 584
 @nom_site_spip@ (@adresse_site@)
585 585
 
@@ -591,137 +591,137 @@  discard block
 block discarded – undo
591 591
 e reconectar-se com o site.
592 592
 
593 593
 ',
594
-	'pass_mot_oublie' => 'Senha esquecida',
595
-	'pass_nouveau_enregistre' => 'Sua nova senha foi cadastrada.',
596
-	'pass_nouveau_pass' => 'Nova senha',
597
-	'pass_ok' => 'OK',
598
-	'pass_oubli_mot' => 'Esquecimento de senha',
599
-	'pass_procedure_changer' => 'Para alterar a sua senha, por favor informe o endereço de e-mail associado à sua conta.',
600
-	'pass_quitter_fenetre' => 'Fechar esta janela',
601
-	'pass_rappel_login' => 'Lembrete: seu login é «@login@».',
602
-	'pass_recevoir_mail' => 'Um link para redefinição da sua senha foi enviado para o seu endereço de e-mail (se ele for válido).',
603
-	'pass_retour_public' => 'Voltar para o site público',
604
-	'pass_rien_a_faire_ici' => 'Nada a fazer aqui.',
605
-	'pass_vousinscrire' => 'Cadastrar-se neste site',
606
-	'precedent' => 'precedente',
607
-	'previsualisation' => 'Visualização',
608
-	'previsualiser' => 'Visualizar',
594
+    'pass_mot_oublie' => 'Senha esquecida',
595
+    'pass_nouveau_enregistre' => 'Sua nova senha foi cadastrada.',
596
+    'pass_nouveau_pass' => 'Nova senha',
597
+    'pass_ok' => 'OK',
598
+    'pass_oubli_mot' => 'Esquecimento de senha',
599
+    'pass_procedure_changer' => 'Para alterar a sua senha, por favor informe o endereço de e-mail associado à sua conta.',
600
+    'pass_quitter_fenetre' => 'Fechar esta janela',
601
+    'pass_rappel_login' => 'Lembrete: seu login é «@login@».',
602
+    'pass_recevoir_mail' => 'Um link para redefinição da sua senha foi enviado para o seu endereço de e-mail (se ele for válido).',
603
+    'pass_retour_public' => 'Voltar para o site público',
604
+    'pass_rien_a_faire_ici' => 'Nada a fazer aqui.',
605
+    'pass_vousinscrire' => 'Cadastrar-se neste site',
606
+    'precedent' => 'precedente',
607
+    'previsualisation' => 'Visualização',
608
+    'previsualiser' => 'Visualizar',
609 609
 
610
-	// R
611
-	'retour' => 'Voltar',
610
+    // R
611
+    'retour' => 'Voltar',
612 612
 
613
-	// S
614
-	'spip_conforme_dtd' => 'O SPIP considera este documento de acordo com o seu DOCTYPE:',
615
-	'squelette' => 'template',
616
-	'squelette_inclus_ligne' => 'template incluído, linha',
617
-	'squelette_ligne' => 'template, linha',
618
-	'stats_visites_et_popularite' => '@visites@ visitas; popularidade: @popularite@',
619
-	'suivant' => 'seguinte',
613
+    // S
614
+    'spip_conforme_dtd' => 'O SPIP considera este documento de acordo com o seu DOCTYPE:',
615
+    'squelette' => 'template',
616
+    'squelette_inclus_ligne' => 'template incluído, linha',
617
+    'squelette_ligne' => 'template, linha',
618
+    'stats_visites_et_popularite' => '@visites@ visitas; popularidade: @popularite@',
619
+    'suivant' => 'seguinte',
620 620
 
621
-	// T
622
-	'taille_go' => '@taille@ GB',
623
-	'taille_ko' => '@taille@ KB',
624
-	'taille_mo' => '@taille@ MB',
625
-	'taille_octets' => ' @taille@ bytes',
626
-	'taille_octets_bi' => ' @taille@ bytes',
627
-	'texte_actualite_site_1' => 'Quando você estiver mais familiarizado com a interface, clique em «',
628
-	'texte_actualite_site_2' => 'interface completa',
629
-	'texte_actualite_site_3' => '» para abrir mais possibilidades.',
630
-	'texte_creation_automatique_vignette' => 'A criação automática de ícones de visualização está ativada neste site. Se você transferir por este formulário imagens no(s) formato(s) @gd_formats@, elas serão acompanhadas de um ícone com o tamanho máximo de @taille_preview@ pixels.',
631
-	'texte_documents_associes' => 'Os documentos a seguir estão associados à matéria,
621
+    // T
622
+    'taille_go' => '@taille@ GB',
623
+    'taille_ko' => '@taille@ KB',
624
+    'taille_mo' => '@taille@ MB',
625
+    'taille_octets' => ' @taille@ bytes',
626
+    'taille_octets_bi' => ' @taille@ bytes',
627
+    'texte_actualite_site_1' => 'Quando você estiver mais familiarizado com a interface, clique em «',
628
+    'texte_actualite_site_2' => 'interface completa',
629
+    'texte_actualite_site_3' => '» para abrir mais possibilidades.',
630
+    'texte_creation_automatique_vignette' => 'A criação automática de ícones de visualização está ativada neste site. Se você transferir por este formulário imagens no(s) formato(s) @gd_formats@, elas serão acompanhadas de um ícone com o tamanho máximo de @taille_preview@ pixels.',
631
+    'texte_documents_associes' => 'Os documentos a seguir estão associados à matéria,
632 632
 mas eles não foram inseridos diretamente. Dependendo da elaboração dos templates do site público, eles podem aparecer como documentos anexados.',
633
-	'texte_erreur_mise_niveau_base' => 'Erro da base de dados durante a atualização.
633
+    'texte_erreur_mise_niveau_base' => 'Erro da base de dados durante a atualização.
634 634
 A imagem <b>@fichier@</b> não passou (matéria @id_article@).
635 635
 Anote esta referência, tente novamente a atualização e, finalmente, verifique se as imagens aparecem nas matérias.',
636
-	'texte_erreur_visiteur' => 'Você tentou acessar o espaço restrito com um login que não tem a permissão necessária.',
637
-	'texte_inc_auth_1' => 'Você se identificou com o login <b>@auth_login@</b>, mas ele não consta (mais) na base.
636
+    'texte_erreur_visiteur' => 'Você tentou acessar o espaço restrito com um login que não tem a permissão necessária.',
637
+    'texte_inc_auth_1' => 'Você se identificou com o login <b>@auth_login@</b>, mas ele não consta (mais) na base.
638 638
 Tente se',
639
-	'texte_inc_auth_2' => 'reconectar',
640
-	'texte_inc_auth_3' => ', após ter eventualmente saído e reiniciado o seu navegador.',
641
-	'texte_inc_config' => 'As modificações efetuadas nestas páginas influem consideravelmente no funcionamento do seu site. É recomendável não intervir enquanto você não estiver familiarizado com o funcionamento do sistema SPIP.<br /><br /><b>Geralmente, é fortemente aconselhável deixar a carga destas páginas para o webmaster principal do seu site.</b>',
642
-	'texte_inc_meta_1' => 'O sistema encontrou um erro durante a escrita do arquivo <code>@fichier@</code>. Como administrador do site, queira por favor,',
643
-	'texte_inc_meta_2' => 'Verificar os direitos de escrita',
644
-	'texte_inc_meta_3' => 'no diretório <code>@repertoire@</code>.',
645
-	'texte_statut_en_cours_redaction' => 'em fase de redação',
646
-	'texte_statut_poubelle' => 'na lixeira',
647
-	'texte_statut_propose_evaluation' => 'proposto para avaliação',
648
-	'texte_statut_publie' => 'publicado online',
649
-	'texte_statut_refuse' => 'recusado',
650
-	'titre_ajouter_mot_cle' => 'INCLUIR UMA PALAVRA-CHAVE:',
651
-	'titre_cadre_raccourcis' => 'ATALHOS:',
652
-	'titre_changer_couleur_interface' => 'Alterar a côr da interface',
653
-	'titre_image_admin_article' => 'Você pode administrar esta matéria',
654
-	'titre_image_administrateur' => 'Administrador',
655
-	'titre_image_aide' => 'Ajuda sobre este elemento',
656
-	'titre_image_auteur_supprime' => 'Autor excluído',
657
-	'titre_image_redacteur' => 'Redator sem acesso',
658
-	'titre_image_redacteur_02' => 'Redator',
659
-	'titre_image_selecteur' => 'Ver a lista',
660
-	'titre_image_visiteur' => 'Visitante',
661
-	'titre_joindre_document' => 'INCLUIR UM DOCUMENTO',
662
-	'titre_mots_cles' => 'PALAVRAS-CHAVE',
663
-	'titre_probleme_technique' => 'Atenção: um problema técnico (servidor SQL) impede o acesso a esta parte do site. Agradecemos sua compreensão.',
664
-	'titre_publier_document' => 'PUBLICAR UM DOCUMENTO NESTA SEÇÃO',
665
-	'titre_signatures_attente' => 'Assinaturas aguardando validação',
666
-	'titre_signatures_confirmees' => 'Assinaturas confirmadas',
667
-	'titre_statistiques' => 'Estatísticas do site',
668
-	'titre_titre_document' => 'Título do documento:',
669
-	'todo' => 'breve',
670
-	'trad_definir_reference' => 'Escolher "@titre@" como referência das traduções',
671
-	'trad_reference' => '(matéria das traduções)',
639
+    'texte_inc_auth_2' => 'reconectar',
640
+    'texte_inc_auth_3' => ', após ter eventualmente saído e reiniciado o seu navegador.',
641
+    'texte_inc_config' => 'As modificações efetuadas nestas páginas influem consideravelmente no funcionamento do seu site. É recomendável não intervir enquanto você não estiver familiarizado com o funcionamento do sistema SPIP.<br /><br /><b>Geralmente, é fortemente aconselhável deixar a carga destas páginas para o webmaster principal do seu site.</b>',
642
+    'texte_inc_meta_1' => 'O sistema encontrou um erro durante a escrita do arquivo <code>@fichier@</code>. Como administrador do site, queira por favor,',
643
+    'texte_inc_meta_2' => 'Verificar os direitos de escrita',
644
+    'texte_inc_meta_3' => 'no diretório <code>@repertoire@</code>.',
645
+    'texte_statut_en_cours_redaction' => 'em fase de redação',
646
+    'texte_statut_poubelle' => 'na lixeira',
647
+    'texte_statut_propose_evaluation' => 'proposto para avaliação',
648
+    'texte_statut_publie' => 'publicado online',
649
+    'texte_statut_refuse' => 'recusado',
650
+    'titre_ajouter_mot_cle' => 'INCLUIR UMA PALAVRA-CHAVE:',
651
+    'titre_cadre_raccourcis' => 'ATALHOS:',
652
+    'titre_changer_couleur_interface' => 'Alterar a côr da interface',
653
+    'titre_image_admin_article' => 'Você pode administrar esta matéria',
654
+    'titre_image_administrateur' => 'Administrador',
655
+    'titre_image_aide' => 'Ajuda sobre este elemento',
656
+    'titre_image_auteur_supprime' => 'Autor excluído',
657
+    'titre_image_redacteur' => 'Redator sem acesso',
658
+    'titre_image_redacteur_02' => 'Redator',
659
+    'titre_image_selecteur' => 'Ver a lista',
660
+    'titre_image_visiteur' => 'Visitante',
661
+    'titre_joindre_document' => 'INCLUIR UM DOCUMENTO',
662
+    'titre_mots_cles' => 'PALAVRAS-CHAVE',
663
+    'titre_probleme_technique' => 'Atenção: um problema técnico (servidor SQL) impede o acesso a esta parte do site. Agradecemos sua compreensão.',
664
+    'titre_publier_document' => 'PUBLICAR UM DOCUMENTO NESTA SEÇÃO',
665
+    'titre_signatures_attente' => 'Assinaturas aguardando validação',
666
+    'titre_signatures_confirmees' => 'Assinaturas confirmadas',
667
+    'titre_statistiques' => 'Estatísticas do site',
668
+    'titre_titre_document' => 'Título do documento:',
669
+    'todo' => 'breve',
670
+    'trad_definir_reference' => 'Escolher "@titre@" como referência das traduções',
671
+    'trad_reference' => '(matéria das traduções)',
672 672
 
673
-	// U
674
-	'upload_limit' => 'Este arquivo é grande demais para o servidor; o tamanho máximo autorizado para <i>upload</i> é de @max@.',
673
+    // U
674
+    'upload_limit' => 'Este arquivo é grande demais para o servidor; o tamanho máximo autorizado para <i>upload</i> é de @max@.',
675 675
 
676
-	// Z
677
-	'zbug_balise_b_aval' => ': tag B colocada após BOUCLE',
678
-	'zbug_balise_inexistante' => 'Tag @balise@ mal declarada para @from@',
679
-	'zbug_balise_sans_argument' => 'Falta um arqumento na tag @balise@',
680
-	'zbug_boucle' => 'laço',
681
-	'zbug_boucle_recursive_undef' => 'Laço recursivo não definido: @nom@',
682
-	'zbug_calcul' => 'cálculo',
683
-	'zbug_champ_hors_boucle' => 'Campo @champ@ fora do laço',
684
-	'zbug_champ_hors_critere' => 'Campo @champ@ fora do critério @critere@',
685
-	'zbug_champ_hors_motif' => 'Campo @champ@ fora de um contexto @motif@',
686
-	'zbug_code' => 'código',
687
-	'zbug_critere_inconnu' => 'Critério @critere@ desconhecido',
688
-	'zbug_critere_sur_table_sans_cle_primaire' => '{@critere@} em uma tabela sem chave primária atômica',
689
-	'zbug_distant_interdit' => 'Externa interdita',
690
-	'zbug_doublon_table_sans_cle_primaire' => 'Duplicação em tabela sem chave primária atômica',
691
-	'zbug_doublon_table_sans_index' => 'Doublons em uma tabela sem index',
692
-	'zbug_erreur_boucle_double' => 'Dupla definição do laço @id@',
693
-	'zbug_erreur_boucle_fermant' => 'Laço @id@ não fechado',
694
-	'zbug_erreur_boucle_syntaxe' => 'Sintaxe do laço @id@ está incorreta',
695
-	'zbug_erreur_compilation' => 'Erro de compilação',
696
-	'zbug_erreur_execution_page' => 'Erro de execução',
697
-	'zbug_erreur_filtre' => 'Filtro @filtre@ não definido',
698
-	'zbug_erreur_filtre_nbarg_min' => 'Filtro @filtre@: falta(m) @nb@ argumento(s)',
699
-	'zbug_erreur_meme_parent' => 'O critério {meme_parent} aplica-se exclusivamente aos laços (FORUMS) ou (RUBRIQUES)',
700
-	'zbug_erreur_squelette' => 'Erro(s) no template',
701
-	'zbug_hors_compilation' => 'Fora de Compilação',
702
-	'zbug_info_erreur_squelette' => 'Erro no site',
703
-	'zbug_inversion_ordre_inexistant' => 'Inversão de uma ordem inexistente',
704
-	'zbug_pagination_sans_critere' => 'Tag #PAGINATION sem critério {pagination} ou usada dentro de uma boucle recursiva',
705
-	'zbug_parametres_inclus_incorrects' => 'Parâmetro de inclusão incorreto: @param@',
706
-	'zbug_profile' => 'Tempo de processamento: @time@',
707
-	'zbug_resultat' => 'resultado',
708
-	'zbug_serveur_indefini' => 'Sevidor SQL não definido',
709
-	'zbug_statistiques' => 'Estatísticas das requisições SQL classificadas por duração',
710
-	'zbug_table_inconnue' => 'Tabela SQL «@table@» desconhecida',
711
-	'zxml_connus_attributs' => 'atributos conhecidos',
712
-	'zxml_de' => 'de',
713
-	'zxml_inconnu_attribut' => 'atributo desconhecido',
714
-	'zxml_inconnu_balise' => 'tag desconhecida',
715
-	'zxml_inconnu_entite' => 'entidade desconhecida',
716
-	'zxml_inconnu_id' => 'ID desconhecida',
717
-	'zxml_mais_de' => 'mas de',
718
-	'zxml_non_conforme' => 'não está de acordo com o motivo',
719
-	'zxml_non_fils' => 'não é filho de',
720
-	'zxml_nonvide_balise' => 'tag não vazia',
721
-	'zxml_obligatoire_attribut' => 'atributo obrigatório mas ausente em',
722
-	'zxml_succession_fils_incorrecte' => 'sucessão de filhos incorreta',
723
-	'zxml_survoler' => 'sobrepor para ver os corretos',
724
-	'zxml_valeur_attribut' => 'valor do atributo',
725
-	'zxml_vide_balise' => 'tag vazia',
726
-	'zxml_vu' => 'previsualização'
676
+    // Z
677
+    'zbug_balise_b_aval' => ': tag B colocada após BOUCLE',
678
+    'zbug_balise_inexistante' => 'Tag @balise@ mal declarada para @from@',
679
+    'zbug_balise_sans_argument' => 'Falta um arqumento na tag @balise@',
680
+    'zbug_boucle' => 'laço',
681
+    'zbug_boucle_recursive_undef' => 'Laço recursivo não definido: @nom@',
682
+    'zbug_calcul' => 'cálculo',
683
+    'zbug_champ_hors_boucle' => 'Campo @champ@ fora do laço',
684
+    'zbug_champ_hors_critere' => 'Campo @champ@ fora do critério @critere@',
685
+    'zbug_champ_hors_motif' => 'Campo @champ@ fora de um contexto @motif@',
686
+    'zbug_code' => 'código',
687
+    'zbug_critere_inconnu' => 'Critério @critere@ desconhecido',
688
+    'zbug_critere_sur_table_sans_cle_primaire' => '{@critere@} em uma tabela sem chave primária atômica',
689
+    'zbug_distant_interdit' => 'Externa interdita',
690
+    'zbug_doublon_table_sans_cle_primaire' => 'Duplicação em tabela sem chave primária atômica',
691
+    'zbug_doublon_table_sans_index' => 'Doublons em uma tabela sem index',
692
+    'zbug_erreur_boucle_double' => 'Dupla definição do laço @id@',
693
+    'zbug_erreur_boucle_fermant' => 'Laço @id@ não fechado',
694
+    'zbug_erreur_boucle_syntaxe' => 'Sintaxe do laço @id@ está incorreta',
695
+    'zbug_erreur_compilation' => 'Erro de compilação',
696
+    'zbug_erreur_execution_page' => 'Erro de execução',
697
+    'zbug_erreur_filtre' => 'Filtro @filtre@ não definido',
698
+    'zbug_erreur_filtre_nbarg_min' => 'Filtro @filtre@: falta(m) @nb@ argumento(s)',
699
+    'zbug_erreur_meme_parent' => 'O critério {meme_parent} aplica-se exclusivamente aos laços (FORUMS) ou (RUBRIQUES)',
700
+    'zbug_erreur_squelette' => 'Erro(s) no template',
701
+    'zbug_hors_compilation' => 'Fora de Compilação',
702
+    'zbug_info_erreur_squelette' => 'Erro no site',
703
+    'zbug_inversion_ordre_inexistant' => 'Inversão de uma ordem inexistente',
704
+    'zbug_pagination_sans_critere' => 'Tag #PAGINATION sem critério {pagination} ou usada dentro de uma boucle recursiva',
705
+    'zbug_parametres_inclus_incorrects' => 'Parâmetro de inclusão incorreto: @param@',
706
+    'zbug_profile' => 'Tempo de processamento: @time@',
707
+    'zbug_resultat' => 'resultado',
708
+    'zbug_serveur_indefini' => 'Sevidor SQL não definido',
709
+    'zbug_statistiques' => 'Estatísticas das requisições SQL classificadas por duração',
710
+    'zbug_table_inconnue' => 'Tabela SQL «@table@» desconhecida',
711
+    'zxml_connus_attributs' => 'atributos conhecidos',
712
+    'zxml_de' => 'de',
713
+    'zxml_inconnu_attribut' => 'atributo desconhecido',
714
+    'zxml_inconnu_balise' => 'tag desconhecida',
715
+    'zxml_inconnu_entite' => 'entidade desconhecida',
716
+    'zxml_inconnu_id' => 'ID desconhecida',
717
+    'zxml_mais_de' => 'mas de',
718
+    'zxml_non_conforme' => 'não está de acordo com o motivo',
719
+    'zxml_non_fils' => 'não é filho de',
720
+    'zxml_nonvide_balise' => 'tag não vazia',
721
+    'zxml_obligatoire_attribut' => 'atributo obrigatório mas ausente em',
722
+    'zxml_succession_fils_incorrecte' => 'sucessão de filhos incorreta',
723
+    'zxml_survoler' => 'sobrepor para ver os corretos',
724
+    'zxml_valeur_attribut' => 'valor do atributo',
725
+    'zxml_vide_balise' => 'tag vazia',
726
+    'zxml_vu' => 'previsualização'
727 727
 );
Please login to merge, or discard this patch.
ecrire/lang/spip_de.php 1 patch
Indentation   +670 added lines, -670 removed lines patch added patch discarded remove patch
@@ -4,248 +4,248 @@  discard block
 block discarded – undo
4 4
 // ** ne pas modifier le fichier **
5 5
 
6 6
 if (!defined('_ECRIRE_INC_VERSION')) {
7
-	return;
7
+    return;
8 8
 }
9 9
 
10 10
 $GLOBALS[$GLOBALS['idx_lang']] = array(
11 11
 
12
-	// A
13
-	'access_interface_graphique' => 'Zurück zur vollständigen grafischen Oberfläche',
14
-	'access_mode_texte' => 'vereinfachtes Interface als Textversion anzeigen',
15
-	'admin_debug' => 'Debug',
16
-	'admin_modifier_article' => 'Artikel bearbeiten',
17
-	'admin_modifier_auteur' => 'Autor bearbeiten',
18
-	'admin_modifier_breve' => 'Meldung bearbeiten',
19
-	'admin_modifier_mot' => 'Schlagwort bearbeiten',
20
-	'admin_modifier_rubrique' => 'Rubrik bearbeiten',
21
-	'admin_recalculer' => 'Seite aus Cache löschen',
22
-	'afficher_calendrier' => 'Kalender anzeigen',
23
-	'afficher_trad' => 'Übersetzungen anzeigen',
24
-	'alerte_maj_impossible' => '<b>Achtung!</b> Ihre SQL Datenbank konnte nicht auf die Version @version@ umgestellt werden. Möglicherweise gibt es ein Problem mit den Zugriffsrechten. Bitte setzen Sie sich mit Ihrem Webspace-Provider in Verbindung.',
25
-	'alerte_modif_info_concourante' => 'Achtung - diese Information wurde auf anderem Weg modifiziert. Der aktuelle Wert lautet:',
26
-	'analyse_xml' => 'XML-Analyse',
27
-	'annuler' => 'Abbrechen',
28
-	'antispam_champ_vide' => 'Bitte lassen Sie dieses Feld leer:',
29
-	'articles_recents' => 'Die neuesten Artikel',
30
-	'attention_champ_mini_nb_caractères' => 'Achtung! Mindestens @nb@ Zeichen',
31
-	'avis_1_erreur_saisie' => 'Ihre Eingabe enthält einen Fehler, bitte überprüfen Sie die Informationen.',
32
-	'avis_archive_incorrect' => 'Die archivierte Datei ist keine SPIP-Datei',
33
-	'avis_archive_invalide' => 'Die archivierte Datei ist keine SPIP-Datei',
34
-	'avis_attention' => 'ACHTUNG!',
35
-	'avis_champ_incorrect_type_objet' => 'Falscher Objektname @name@ für Objekt vom Typ @type@',
36
-	'avis_colonne_inexistante' => 'Die Spalte @col@ existiert nicht',
37
-	'avis_erreur' => 'Fehler: Siehe unten',
38
-	'avis_erreur_connexion' => 'Verbindungsfehler',
39
-	'avis_erreur_cookie' => 'Cookie-Problem',
40
-	'avis_erreur_fonction_contexte' => 'Programmfehler. Diese Funktion darf nicht in diesem Zusammenhang aufgerufen werden.',
41
-	'avis_erreur_mysql' => 'SQL-Fehler',
42
-	'avis_erreur_sauvegarde' => 'Fehler in der Sicherung (@type@ @id_objet@) ! ',
43
-	'avis_erreur_visiteur' => 'Ein Problem beim Zugang zum Redaktionssystem ist aufgetreten.',
44
-	'avis_nb_erreurs_saisie' => 'Ihre Eingabe enthält @nb@ Fehler, bitte überprüfen Sie die Informationen.',
12
+    // A
13
+    'access_interface_graphique' => 'Zurück zur vollständigen grafischen Oberfläche',
14
+    'access_mode_texte' => 'vereinfachtes Interface als Textversion anzeigen',
15
+    'admin_debug' => 'Debug',
16
+    'admin_modifier_article' => 'Artikel bearbeiten',
17
+    'admin_modifier_auteur' => 'Autor bearbeiten',
18
+    'admin_modifier_breve' => 'Meldung bearbeiten',
19
+    'admin_modifier_mot' => 'Schlagwort bearbeiten',
20
+    'admin_modifier_rubrique' => 'Rubrik bearbeiten',
21
+    'admin_recalculer' => 'Seite aus Cache löschen',
22
+    'afficher_calendrier' => 'Kalender anzeigen',
23
+    'afficher_trad' => 'Übersetzungen anzeigen',
24
+    'alerte_maj_impossible' => '<b>Achtung!</b> Ihre SQL Datenbank konnte nicht auf die Version @version@ umgestellt werden. Möglicherweise gibt es ein Problem mit den Zugriffsrechten. Bitte setzen Sie sich mit Ihrem Webspace-Provider in Verbindung.',
25
+    'alerte_modif_info_concourante' => 'Achtung - diese Information wurde auf anderem Weg modifiziert. Der aktuelle Wert lautet:',
26
+    'analyse_xml' => 'XML-Analyse',
27
+    'annuler' => 'Abbrechen',
28
+    'antispam_champ_vide' => 'Bitte lassen Sie dieses Feld leer:',
29
+    'articles_recents' => 'Die neuesten Artikel',
30
+    'attention_champ_mini_nb_caractères' => 'Achtung! Mindestens @nb@ Zeichen',
31
+    'avis_1_erreur_saisie' => 'Ihre Eingabe enthält einen Fehler, bitte überprüfen Sie die Informationen.',
32
+    'avis_archive_incorrect' => 'Die archivierte Datei ist keine SPIP-Datei',
33
+    'avis_archive_invalide' => 'Die archivierte Datei ist keine SPIP-Datei',
34
+    'avis_attention' => 'ACHTUNG!',
35
+    'avis_champ_incorrect_type_objet' => 'Falscher Objektname @name@ für Objekt vom Typ @type@',
36
+    'avis_colonne_inexistante' => 'Die Spalte @col@ existiert nicht',
37
+    'avis_erreur' => 'Fehler: Siehe unten',
38
+    'avis_erreur_connexion' => 'Verbindungsfehler',
39
+    'avis_erreur_cookie' => 'Cookie-Problem',
40
+    'avis_erreur_fonction_contexte' => 'Programmfehler. Diese Funktion darf nicht in diesem Zusammenhang aufgerufen werden.',
41
+    'avis_erreur_mysql' => 'SQL-Fehler',
42
+    'avis_erreur_sauvegarde' => 'Fehler in der Sicherung (@type@ @id_objet@) ! ',
43
+    'avis_erreur_visiteur' => 'Ein Problem beim Zugang zum Redaktionssystem ist aufgetreten.',
44
+    'avis_nb_erreurs_saisie' => 'Ihre Eingabe enthält @nb@ Fehler, bitte überprüfen Sie die Informationen.',
45 45
 
46
-	// B
47
-	'barre_a_accent_grave' => 'Grosses A mit accent grave einfügen',
48
-	'barre_aide' => 'Verwende Sie die typografischen Kürzel, um Ihre Seite zu formatieren.',
49
-	'barre_e_accent_aigu' => 'Grosses E mit accent aigu einfügen',
50
-	'barre_eo' => 'Ein E in das O einfügen',
51
-	'barre_eo_maj' => 'Ein E in ein grosses O einfügen',
52
-	'barre_euro' => 'Symbol € einfügen',
53
-	'barre_gras' => '{{fett}} setzen',
54
-	'barre_guillemets' => 'In „Anführungszeichen“ setzen',
55
-	'barre_guillemets_simples' => 'In ‚Anführungszeichen‘ setzen',
56
-	'barre_intertitre' => 'in {{{Zwischentitel}}} umwandeln',
57
-	'barre_italic' => 'in {kursive} Schrift setzen',
58
-	'barre_lien' => 'in [Hyperlink->http://...] umwandeln',
59
-	'barre_lien_input' => 'Bitte geben Sie die Adresse Ihres Links an. Sie können das Format http://www.meinewebsite.com wählen, oder einfach die Nummer eines Artikels dieser Website angeben.',
60
-	'barre_note' => 'In [[Fussnote]] umwandeln',
61
-	'barre_paragraphe' => 'Neuen Absatz anlegen',
62
-	'barre_quote' => '<quote>Nachricht zitieren</quote>',
63
-	'bouton_changer' => 'Ändern',
64
-	'bouton_chercher' => 'Suchen',
65
-	'bouton_choisir' => 'Auswählen',
66
-	'bouton_deplacer' => 'Verschieben',
67
-	'bouton_download' => 'Runterladen',
68
-	'bouton_enregistrer' => 'Speichern',
69
-	'bouton_radio_desactiver_messagerie_interne' => 'Interne Nachrichten abschalten',
70
-	'bouton_radio_envoi_annonces' => 'Editorische Ankündigungen verschicken',
71
-	'bouton_radio_non_envoi_annonces' => 'Keine Ankündigungen verschicken',
72
-	'bouton_radio_non_envoi_liste_nouveautes' => 'Keine Liste der Neuigkeiten verschicken',
73
-	'bouton_recharger_page' => 'Seite neu laden',
74
-	'bouton_telecharger' => 'Runterladen',
75
-	'bouton_upload' => 'Hochladen',
76
-	'bouton_valider' => 'Bestätigen',
46
+    // B
47
+    'barre_a_accent_grave' => 'Grosses A mit accent grave einfügen',
48
+    'barre_aide' => 'Verwende Sie die typografischen Kürzel, um Ihre Seite zu formatieren.',
49
+    'barre_e_accent_aigu' => 'Grosses E mit accent aigu einfügen',
50
+    'barre_eo' => 'Ein E in das O einfügen',
51
+    'barre_eo_maj' => 'Ein E in ein grosses O einfügen',
52
+    'barre_euro' => 'Symbol € einfügen',
53
+    'barre_gras' => '{{fett}} setzen',
54
+    'barre_guillemets' => 'In „Anführungszeichen“ setzen',
55
+    'barre_guillemets_simples' => 'In ‚Anführungszeichen‘ setzen',
56
+    'barre_intertitre' => 'in {{{Zwischentitel}}} umwandeln',
57
+    'barre_italic' => 'in {kursive} Schrift setzen',
58
+    'barre_lien' => 'in [Hyperlink->http://...] umwandeln',
59
+    'barre_lien_input' => 'Bitte geben Sie die Adresse Ihres Links an. Sie können das Format http://www.meinewebsite.com wählen, oder einfach die Nummer eines Artikels dieser Website angeben.',
60
+    'barre_note' => 'In [[Fussnote]] umwandeln',
61
+    'barre_paragraphe' => 'Neuen Absatz anlegen',
62
+    'barre_quote' => '<quote>Nachricht zitieren</quote>',
63
+    'bouton_changer' => 'Ändern',
64
+    'bouton_chercher' => 'Suchen',
65
+    'bouton_choisir' => 'Auswählen',
66
+    'bouton_deplacer' => 'Verschieben',
67
+    'bouton_download' => 'Runterladen',
68
+    'bouton_enregistrer' => 'Speichern',
69
+    'bouton_radio_desactiver_messagerie_interne' => 'Interne Nachrichten abschalten',
70
+    'bouton_radio_envoi_annonces' => 'Editorische Ankündigungen verschicken',
71
+    'bouton_radio_non_envoi_annonces' => 'Keine Ankündigungen verschicken',
72
+    'bouton_radio_non_envoi_liste_nouveautes' => 'Keine Liste der Neuigkeiten verschicken',
73
+    'bouton_recharger_page' => 'Seite neu laden',
74
+    'bouton_telecharger' => 'Runterladen',
75
+    'bouton_upload' => 'Hochladen',
76
+    'bouton_valider' => 'Bestätigen',
77 77
 
78
-	// C
79
-	'cal_apresmidi' => 'nachmittags',
80
-	'cal_jour_entier' => 'ganztägig',
81
-	'cal_matin' => 'morgens',
82
-	'cal_par_jour' => 'Tageskalender',
83
-	'cal_par_mois' => 'Monatskalender',
84
-	'cal_par_semaine' => 'Wochenkalender',
85
-	'choix_couleur_interface' => 'Farbe',
86
-	'choix_interface' => 'Oberflächenfarbe',
87
-	'colonne' => 'Spalte',
88
-	'confirm_changer_statut' => 'Achtung, Sie werden den Status dieses Elementes ändern. Wollen Sie fortfahren?',
89
-	'correcte' => 'korrekt',
78
+    // C
79
+    'cal_apresmidi' => 'nachmittags',
80
+    'cal_jour_entier' => 'ganztägig',
81
+    'cal_matin' => 'morgens',
82
+    'cal_par_jour' => 'Tageskalender',
83
+    'cal_par_mois' => 'Monatskalender',
84
+    'cal_par_semaine' => 'Wochenkalender',
85
+    'choix_couleur_interface' => 'Farbe',
86
+    'choix_interface' => 'Oberflächenfarbe',
87
+    'colonne' => 'Spalte',
88
+    'confirm_changer_statut' => 'Achtung, Sie werden den Status dieses Elementes ändern. Wollen Sie fortfahren?',
89
+    'correcte' => 'korrekt',
90 90
 
91
-	// D
92
-	'date_aujourdhui' => 'heute',
93
-	'date_avant_jc' => 'v.u.Z.',
94
-	'date_dans' => 'in @delai@',
95
-	'date_de_mois_1' => '@j@ @nommois@',
96
-	'date_de_mois_10' => '@j@ @nommois@',
97
-	'date_de_mois_11' => '@j@ @nommois@',
98
-	'date_de_mois_12' => '@j@ @nommois@',
99
-	'date_de_mois_2' => '@j@ @nommois@',
100
-	'date_de_mois_3' => '@j@ @nommois@',
101
-	'date_de_mois_4' => '@j@ @nommois@',
102
-	'date_de_mois_5' => '@j@ @nommois@',
103
-	'date_de_mois_6' => '@j@ @nommois@',
104
-	'date_de_mois_7' => '@j@ @nommois@',
105
-	'date_de_mois_8' => '@j@ @nommois@',
106
-	'date_de_mois_9' => '@j@ @nommois@',
107
-	'date_demain' => 'morgen',
108
-	'date_fmt_heures_minutes' => '@h@ Uhr @m@ Minuten',
109
-	'date_fmt_heures_minutes_court' => '@h@:@m@',
110
-	'date_fmt_jour' => '@nomjour@ @jour@',
111
-	'date_fmt_jour_heure' => '@jour@ um @heure@',
112
-	'date_fmt_jour_heure_debut_fin' => '@jour@ von @heure_debut@ bis @heure_fin@',
113
-	'date_fmt_jour_heure_debut_fin_abbr' => '@dtstart@@jour@ von @heure_debut@@dtabbr@ bis @dtend@@heure_fin@@dtabbr@',
114
-	'date_fmt_jour_mois' => '@jour@. @nommois@',
115
-	'date_fmt_jour_mois_annee' => '@jour@. @nommois@ @annee@',
116
-	'date_fmt_mois_annee' => '@nommois@ @annee@',
117
-	'date_fmt_nomjour' => '@nomjour@ @date@.',
118
-	'date_fmt_nomjour_date' => 'am @nomjour@ @date@',
119
-	'date_fmt_periode' => 'Vom @date_debut@ bis zum @date_fin@',
120
-	'date_fmt_periode_abbr' => 'Vom @dtart@@date_debut@@dtabbr@ bis zum @dtend@@date_fin@@dtabbr@',
121
-	'date_fmt_periode_from' => 'Von',
122
-	'date_fmt_periode_to' => 'bis',
123
-	'date_fmt_saison_annee' => '@saison@ @annee@',
124
-	'date_heures' => 'Stunden',
125
-	'date_hier' => 'gestern',
126
-	'date_il_y_a' => 'vor @delai@',
127
-	'date_jnum1' => '1',
128
-	'date_jnum10' => '10',
129
-	'date_jnum11' => '11',
130
-	'date_jnum12' => '12',
131
-	'date_jnum13' => '13',
132
-	'date_jnum14' => '14',
133
-	'date_jnum15' => '15',
134
-	'date_jnum16' => '16',
135
-	'date_jnum17' => '17',
136
-	'date_jnum18' => '18',
137
-	'date_jnum19' => '19',
138
-	'date_jnum2' => '2',
139
-	'date_jnum20' => '20',
140
-	'date_jnum21' => '21',
141
-	'date_jnum22' => '22',
142
-	'date_jnum23' => '23',
143
-	'date_jnum24' => '24',
144
-	'date_jnum25' => '25',
145
-	'date_jnum26' => '26',
146
-	'date_jnum27' => '27',
147
-	'date_jnum28' => '28',
148
-	'date_jnum29' => '29',
149
-	'date_jnum3' => '3',
150
-	'date_jnum30' => '30',
151
-	'date_jnum31' => '31',
152
-	'date_jnum4' => '4',
153
-	'date_jnum5' => '5',
154
-	'date_jnum6' => '6',
155
-	'date_jnum7' => '7',
156
-	'date_jnum8' => '8',
157
-	'date_jnum9' => '9',
158
-	'date_jour_1' => 'Sonntag',
159
-	'date_jour_1_abbr' => 'So.',
160
-	'date_jour_1_initiale' => 'S',
161
-	'date_jour_2' => 'Montag',
162
-	'date_jour_2_abbr' => 'Mo.',
163
-	'date_jour_2_initiale' => 'M',
164
-	'date_jour_3' => 'Dienstag',
165
-	'date_jour_3_abbr' => 'Di.',
166
-	'date_jour_3_initiale' => 'D',
167
-	'date_jour_4' => 'Mittwoch',
168
-	'date_jour_4_abbr' => 'Mi.',
169
-	'date_jour_4_initiale' => 'M',
170
-	'date_jour_5' => 'Donnerstag',
171
-	'date_jour_5_abbr' => 'Do.',
172
-	'date_jour_5_initiale' => 'D',
173
-	'date_jour_6' => 'Freitag',
174
-	'date_jour_6_abbr' => 'Fr.',
175
-	'date_jour_6_initiale' => 'F',
176
-	'date_jour_7' => 'Samstag',
177
-	'date_jour_7_abbr' => 'Sa.',
178
-	'date_jour_7_initiale' => 'S',
179
-	'date_jours' => 'Tagen',
180
-	'date_minutes' => 'Minuten',
181
-	'date_mois' => 'Monaten',
182
-	'date_mois_1' => 'Januar',
183
-	'date_mois_10' => 'Oktober',
184
-	'date_mois_10_abbr' => 'Okt.',
185
-	'date_mois_11' => 'November',
186
-	'date_mois_11_abbr' => 'Nev.',
187
-	'date_mois_12' => 'Dezember',
188
-	'date_mois_12_abbr' => 'Dez.',
189
-	'date_mois_1_abbr' => 'Jan.',
190
-	'date_mois_2' => 'Februar',
191
-	'date_mois_2_abbr' => 'Feb.',
192
-	'date_mois_3' => 'März',
193
-	'date_mois_3_abbr' => 'Mrz.',
194
-	'date_mois_4' => 'April',
195
-	'date_mois_4_abbr' => 'Apr.',
196
-	'date_mois_5' => 'Mai',
197
-	'date_mois_5_abbr' => 'Mai',
198
-	'date_mois_6' => 'Juni',
199
-	'date_mois_6_abbr' => 'Jun.',
200
-	'date_mois_7' => 'Juli',
201
-	'date_mois_7_abbr' => 'Juli',
202
-	'date_mois_8' => 'August',
203
-	'date_mois_8_abbr' => 'Aug.',
204
-	'date_mois_9' => 'September',
205
-	'date_mois_9_abbr' => 'Sept.',
206
-	'date_saison_1' => 'Winter',
207
-	'date_saison_2' => 'Frühling',
208
-	'date_saison_3' => 'Sommer',
209
-	'date_saison_4' => 'unabhängig',
210
-	'date_secondes' => 'Sekunden',
211
-	'date_semaines' => 'Wochen',
212
-	'date_un_mois' => 'Monat',
213
-	'date_une_heure' => 'Stunde',
214
-	'date_une_minute' => 'Minute',
215
-	'date_une_seconde' => 'Sekunde',
216
-	'date_une_semaine' => 'Woche',
217
-	'dirs_commencer' => 'um die Installation wirklich zu starten',
218
-	'dirs_preliminaire' => 'Vorbereitung: <b>Berechtigungen einstellen</b>',
219
-	'dirs_probleme_droits' => 'Problem mit den Berechtigungen',
220
-	'dirs_repertoires_absents' => '<p><b>Folgende Verzeichnisse wurden nicht gefunden:</b></p><ul>@bad_dirs@</ul>
91
+    // D
92
+    'date_aujourdhui' => 'heute',
93
+    'date_avant_jc' => 'v.u.Z.',
94
+    'date_dans' => 'in @delai@',
95
+    'date_de_mois_1' => '@j@ @nommois@',
96
+    'date_de_mois_10' => '@j@ @nommois@',
97
+    'date_de_mois_11' => '@j@ @nommois@',
98
+    'date_de_mois_12' => '@j@ @nommois@',
99
+    'date_de_mois_2' => '@j@ @nommois@',
100
+    'date_de_mois_3' => '@j@ @nommois@',
101
+    'date_de_mois_4' => '@j@ @nommois@',
102
+    'date_de_mois_5' => '@j@ @nommois@',
103
+    'date_de_mois_6' => '@j@ @nommois@',
104
+    'date_de_mois_7' => '@j@ @nommois@',
105
+    'date_de_mois_8' => '@j@ @nommois@',
106
+    'date_de_mois_9' => '@j@ @nommois@',
107
+    'date_demain' => 'morgen',
108
+    'date_fmt_heures_minutes' => '@h@ Uhr @m@ Minuten',
109
+    'date_fmt_heures_minutes_court' => '@h@:@m@',
110
+    'date_fmt_jour' => '@nomjour@ @jour@',
111
+    'date_fmt_jour_heure' => '@jour@ um @heure@',
112
+    'date_fmt_jour_heure_debut_fin' => '@jour@ von @heure_debut@ bis @heure_fin@',
113
+    'date_fmt_jour_heure_debut_fin_abbr' => '@dtstart@@jour@ von @heure_debut@@dtabbr@ bis @dtend@@heure_fin@@dtabbr@',
114
+    'date_fmt_jour_mois' => '@jour@. @nommois@',
115
+    'date_fmt_jour_mois_annee' => '@jour@. @nommois@ @annee@',
116
+    'date_fmt_mois_annee' => '@nommois@ @annee@',
117
+    'date_fmt_nomjour' => '@nomjour@ @date@.',
118
+    'date_fmt_nomjour_date' => 'am @nomjour@ @date@',
119
+    'date_fmt_periode' => 'Vom @date_debut@ bis zum @date_fin@',
120
+    'date_fmt_periode_abbr' => 'Vom @dtart@@date_debut@@dtabbr@ bis zum @dtend@@date_fin@@dtabbr@',
121
+    'date_fmt_periode_from' => 'Von',
122
+    'date_fmt_periode_to' => 'bis',
123
+    'date_fmt_saison_annee' => '@saison@ @annee@',
124
+    'date_heures' => 'Stunden',
125
+    'date_hier' => 'gestern',
126
+    'date_il_y_a' => 'vor @delai@',
127
+    'date_jnum1' => '1',
128
+    'date_jnum10' => '10',
129
+    'date_jnum11' => '11',
130
+    'date_jnum12' => '12',
131
+    'date_jnum13' => '13',
132
+    'date_jnum14' => '14',
133
+    'date_jnum15' => '15',
134
+    'date_jnum16' => '16',
135
+    'date_jnum17' => '17',
136
+    'date_jnum18' => '18',
137
+    'date_jnum19' => '19',
138
+    'date_jnum2' => '2',
139
+    'date_jnum20' => '20',
140
+    'date_jnum21' => '21',
141
+    'date_jnum22' => '22',
142
+    'date_jnum23' => '23',
143
+    'date_jnum24' => '24',
144
+    'date_jnum25' => '25',
145
+    'date_jnum26' => '26',
146
+    'date_jnum27' => '27',
147
+    'date_jnum28' => '28',
148
+    'date_jnum29' => '29',
149
+    'date_jnum3' => '3',
150
+    'date_jnum30' => '30',
151
+    'date_jnum31' => '31',
152
+    'date_jnum4' => '4',
153
+    'date_jnum5' => '5',
154
+    'date_jnum6' => '6',
155
+    'date_jnum7' => '7',
156
+    'date_jnum8' => '8',
157
+    'date_jnum9' => '9',
158
+    'date_jour_1' => 'Sonntag',
159
+    'date_jour_1_abbr' => 'So.',
160
+    'date_jour_1_initiale' => 'S',
161
+    'date_jour_2' => 'Montag',
162
+    'date_jour_2_abbr' => 'Mo.',
163
+    'date_jour_2_initiale' => 'M',
164
+    'date_jour_3' => 'Dienstag',
165
+    'date_jour_3_abbr' => 'Di.',
166
+    'date_jour_3_initiale' => 'D',
167
+    'date_jour_4' => 'Mittwoch',
168
+    'date_jour_4_abbr' => 'Mi.',
169
+    'date_jour_4_initiale' => 'M',
170
+    'date_jour_5' => 'Donnerstag',
171
+    'date_jour_5_abbr' => 'Do.',
172
+    'date_jour_5_initiale' => 'D',
173
+    'date_jour_6' => 'Freitag',
174
+    'date_jour_6_abbr' => 'Fr.',
175
+    'date_jour_6_initiale' => 'F',
176
+    'date_jour_7' => 'Samstag',
177
+    'date_jour_7_abbr' => 'Sa.',
178
+    'date_jour_7_initiale' => 'S',
179
+    'date_jours' => 'Tagen',
180
+    'date_minutes' => 'Minuten',
181
+    'date_mois' => 'Monaten',
182
+    'date_mois_1' => 'Januar',
183
+    'date_mois_10' => 'Oktober',
184
+    'date_mois_10_abbr' => 'Okt.',
185
+    'date_mois_11' => 'November',
186
+    'date_mois_11_abbr' => 'Nev.',
187
+    'date_mois_12' => 'Dezember',
188
+    'date_mois_12_abbr' => 'Dez.',
189
+    'date_mois_1_abbr' => 'Jan.',
190
+    'date_mois_2' => 'Februar',
191
+    'date_mois_2_abbr' => 'Feb.',
192
+    'date_mois_3' => 'März',
193
+    'date_mois_3_abbr' => 'Mrz.',
194
+    'date_mois_4' => 'April',
195
+    'date_mois_4_abbr' => 'Apr.',
196
+    'date_mois_5' => 'Mai',
197
+    'date_mois_5_abbr' => 'Mai',
198
+    'date_mois_6' => 'Juni',
199
+    'date_mois_6_abbr' => 'Jun.',
200
+    'date_mois_7' => 'Juli',
201
+    'date_mois_7_abbr' => 'Juli',
202
+    'date_mois_8' => 'August',
203
+    'date_mois_8_abbr' => 'Aug.',
204
+    'date_mois_9' => 'September',
205
+    'date_mois_9_abbr' => 'Sept.',
206
+    'date_saison_1' => 'Winter',
207
+    'date_saison_2' => 'Frühling',
208
+    'date_saison_3' => 'Sommer',
209
+    'date_saison_4' => 'unabhängig',
210
+    'date_secondes' => 'Sekunden',
211
+    'date_semaines' => 'Wochen',
212
+    'date_un_mois' => 'Monat',
213
+    'date_une_heure' => 'Stunde',
214
+    'date_une_minute' => 'Minute',
215
+    'date_une_seconde' => 'Sekunde',
216
+    'date_une_semaine' => 'Woche',
217
+    'dirs_commencer' => 'um die Installation wirklich zu starten',
218
+    'dirs_preliminaire' => 'Vorbereitung: <b>Berechtigungen einstellen</b>',
219
+    'dirs_probleme_droits' => 'Problem mit den Berechtigungen',
220
+    'dirs_repertoires_absents' => '<p><b>Folgende Verzeichnisse wurden nicht gefunden:</b></p><ul>@bad_dirs@</ul>
221 221
   <p>Das liegt wahrscheinlich an unzutreffender Gross- und Kleinschreibung.
222 222
   Überprüfen Sie bitte die genaue Schreibweise der oben stehenden Verzeichnisse,
223 223
   sollten Sie Abweichungen feststellen, benennen Sie bitte mit Ihrem FTP-Programm die betreffenden Verzeichnisse um.</p>
224 224
   <p>Danach können Sie ',
225
-	'dirs_repertoires_suivants' => '<p><b>In die folgenden Verzeichnisse kann nicht geschrieben werden:</b></p><ul>@bad_dirs@</ul>
225
+    'dirs_repertoires_suivants' => '<p><b>In die folgenden Verzeichnisse kann nicht geschrieben werden:</b></p><ul>@bad_dirs@</ul>
226 226
 <p>Um das Problem zu lösen, verwenden Sie bitte Ihren FTP-Client, um die Zugriffsrechte für diese
227 227
 Verzeichnisse zu setzen.Die Installationsanleitung erläutert die Details dazu.</p>
228 228
 <p>Wenn Sie diesen Vorgang abgeschlossen haben, können Sie',
229
-	'double_occurrence' => 'Dublette von @balise@',
229
+    'double_occurrence' => 'Dublette von @balise@',
230 230
 
231
-	// E
232
-	'en_cours' => 'läuft',
233
-	'envoi_via_le_site' => 'Gesendet über Website ',
234
-	'erreur' => 'Fehler',
235
-	'erreur_balise_non_fermee' => 'Letzter Tag nicht geschlossen:',
236
-	'erreur_technique_ajaxform' => 'Ups. Das Formular wurde aufgrund eines technischen Fehlers nicht abgeschickt. Sie können es erneut versuchen.',
237
-	'erreur_technique_enregistrement_champs' => 'Das Feld @champs@ konnte aufgrund eines technischen Problems nicht gespeichert werden.',
238
-	'erreur_technique_enregistrement_impossible' => 'Technisches Prolem: Speichern nicht möglich.',
239
-	'erreur_texte' => 'Fehler',
240
-	'etape' => 'Schritt',
231
+    // E
232
+    'en_cours' => 'läuft',
233
+    'envoi_via_le_site' => 'Gesendet über Website ',
234
+    'erreur' => 'Fehler',
235
+    'erreur_balise_non_fermee' => 'Letzter Tag nicht geschlossen:',
236
+    'erreur_technique_ajaxform' => 'Ups. Das Formular wurde aufgrund eines technischen Fehlers nicht abgeschickt. Sie können es erneut versuchen.',
237
+    'erreur_technique_enregistrement_champs' => 'Das Feld @champs@ konnte aufgrund eines technischen Problems nicht gespeichert werden.',
238
+    'erreur_technique_enregistrement_impossible' => 'Technisches Prolem: Speichern nicht möglich.',
239
+    'erreur_texte' => 'Fehler',
240
+    'etape' => 'Schritt',
241 241
 
242
-	// F
243
-	'fichier_introuvable' => 'Datei @fichier@ unauffindbar.',
244
-	'fonction_introuvable' => 'Funktion @fonction@() unauffindbar.',
245
-	'form_auteur_confirmation' => 'Bestätigen Sie Ihre Mailadresse',
246
-	'form_auteur_email_modifie' => 'Ihre Mailadresse wurde geändert.',
247
-	'form_auteur_envoi_mail_confirmation' => 'Eine Mail wurde an @email@ gesendet. Sie müssen auf den in ihr angegebenen Link klicken, um die Korrektheit Ihrer Adresse zu bestätigen.',
248
-	'form_auteur_mail_confirmation' => 'Hallo,
242
+    // F
243
+    'fichier_introuvable' => 'Datei @fichier@ unauffindbar.',
244
+    'fonction_introuvable' => 'Funktion @fonction@() unauffindbar.',
245
+    'form_auteur_confirmation' => 'Bestätigen Sie Ihre Mailadresse',
246
+    'form_auteur_email_modifie' => 'Ihre Mailadresse wurde geändert.',
247
+    'form_auteur_envoi_mail_confirmation' => 'Eine Mail wurde an @email@ gesendet. Sie müssen auf den in ihr angegebenen Link klicken, um die Korrektheit Ihrer Adresse zu bestätigen.',
248
+    'form_auteur_mail_confirmation' => 'Hallo,
249 249
 
250 250
 Sie möchten Ihre Mail-Adresse ändern.Um Ihre neue Adresse zu bestätigen,
251 251
  brauchen Sie nur diesen Link zu öffnen (wenn Sie darauf verzichten,
@@ -253,335 +253,335 @@  discard block
 block discarded – undo
253 253
 
254 254
     @url@
255 255
 ',
256
-	'form_deja_inscrit' => 'Sie sind bereits eingetragen.',
257
-	'form_email_non_valide' => 'Ihre E-Mail-Adresse ist ungültig.',
258
-	'form_forum_access_refuse' => 'Sie haben keinen Zugang mehr zu dieser Website.',
259
-	'form_forum_bonjour' => 'Hallo @nom@,',
260
-	'form_forum_confirmer_email' => 'Bitte öffnen sie folgenden URL zum Bestätigen ihrer Mailadresse: @url_confirm@',
261
-	'form_forum_email_deja_enregistre' => 'Diese E-Mail-Adresse ist bereits eingetragen. Sie können also Ihr normals Passwort verwenden.',
262
-	'form_forum_identifiant_mail' => 'Ihre neuen Zugangsdaten wurden Ihnen per Mail zugestellt.',
263
-	'form_forum_identifiants' => 'Persönliche Zugangsdaten',
264
-	'form_forum_indiquer_nom_email' => 'Tragen Sie bitte hier Ihren Namen und Ihre E-Mail-Adresse ein. Die persönlichen Zugangsdaten werden Ihnen dann per E-Mail zugeschickt.',
265
-	'form_forum_login' => 'Login:',
266
-	'form_forum_message_auto' => '(automatisch erzeugte Nachricht)',
267
-	'form_forum_pass' => 'Passwort:',
268
-	'form_forum_probleme_mail' => 'E-Mail Problem: Zugangsdaten können nicht verschickt werden.',
269
-	'form_forum_voici1' => 'Hier sind Ihre Zugangsdaten für die Teilnahme an der Website "@nom_site_spip@" (@adresse_site@):',
270
-	'form_forum_voici2' => 'Hier sind Ihre Zugangsdaten um Artikel für die Website "@nom_site_spip@" (@adresse_login@) vorzuschlagen:',
271
-	'form_indiquer_email' => 'Bitte geben Sie Ihre E-Mail-Adresse an.',
272
-	'form_indiquer_nom' => 'Bitte geben Sie Ihren Namen an.',
273
-	'form_indiquer_nom_site' => 'Bitte geben Sie den Namen Ihrer Website an.',
274
-	'form_pet_deja_enregistre' => 'Diese Website wurde bereits erfasst',
275
-	'form_pet_signature_pasprise' => 'Ihre Signatur wird nicht berücksichtigt.',
276
-	'form_prop_confirmer_envoi' => 'Endgültig senden',
277
-	'form_prop_description' => 'Beschreibung/Kommentar',
278
-	'form_prop_enregistre' => 'Ihr Vorschlag wurde gespeichert und wird nach Freigabe durch die Redaktion der Website angezeigt.',
279
-	'form_prop_envoyer' => 'Nachricht senden',
280
-	'form_prop_indiquer_email' => 'Bitte geben Sie eine gültige E-Mail Adresse an',
281
-	'form_prop_indiquer_nom_site' => 'Bitte geben Sie den Namen der Website an.',
282
-	'form_prop_indiquer_sujet' => 'Bitte geben Sie ein Thema an',
283
-	'form_prop_message_envoye' => 'Nachricht gesendet',
284
-	'form_prop_non_enregistre' => 'Ihr Vorschlag wurde nicht gespeichert.',
285
-	'form_prop_sujet' => 'Thema',
286
-	'form_prop_url_site' => 'URL der der Website',
287
-	'format_date_attendu' => 'Ein Datum im Format tt/mm/jjjj eingeben. ',
288
-	'format_date_incorrecte' => 'Falsches Datum oder Datumsformat',
289
-	'format_heure_attendu' => 'Uhrzeit im Format hh:mm eingeben.',
290
-	'format_heure_incorrecte' => 'Falsches Zeitformat oder Zeit',
291
-	'forum_non_inscrit' => 'Sie sind nicht eingeschrieben oder Adresse bzw. Passwort waren falsch.',
292
-	'forum_par_auteur' => 'von @auteur@',
293
-	'forum_titre_erreur' => 'Fehler...',
256
+    'form_deja_inscrit' => 'Sie sind bereits eingetragen.',
257
+    'form_email_non_valide' => 'Ihre E-Mail-Adresse ist ungültig.',
258
+    'form_forum_access_refuse' => 'Sie haben keinen Zugang mehr zu dieser Website.',
259
+    'form_forum_bonjour' => 'Hallo @nom@,',
260
+    'form_forum_confirmer_email' => 'Bitte öffnen sie folgenden URL zum Bestätigen ihrer Mailadresse: @url_confirm@',
261
+    'form_forum_email_deja_enregistre' => 'Diese E-Mail-Adresse ist bereits eingetragen. Sie können also Ihr normals Passwort verwenden.',
262
+    'form_forum_identifiant_mail' => 'Ihre neuen Zugangsdaten wurden Ihnen per Mail zugestellt.',
263
+    'form_forum_identifiants' => 'Persönliche Zugangsdaten',
264
+    'form_forum_indiquer_nom_email' => 'Tragen Sie bitte hier Ihren Namen und Ihre E-Mail-Adresse ein. Die persönlichen Zugangsdaten werden Ihnen dann per E-Mail zugeschickt.',
265
+    'form_forum_login' => 'Login:',
266
+    'form_forum_message_auto' => '(automatisch erzeugte Nachricht)',
267
+    'form_forum_pass' => 'Passwort:',
268
+    'form_forum_probleme_mail' => 'E-Mail Problem: Zugangsdaten können nicht verschickt werden.',
269
+    'form_forum_voici1' => 'Hier sind Ihre Zugangsdaten für die Teilnahme an der Website "@nom_site_spip@" (@adresse_site@):',
270
+    'form_forum_voici2' => 'Hier sind Ihre Zugangsdaten um Artikel für die Website "@nom_site_spip@" (@adresse_login@) vorzuschlagen:',
271
+    'form_indiquer_email' => 'Bitte geben Sie Ihre E-Mail-Adresse an.',
272
+    'form_indiquer_nom' => 'Bitte geben Sie Ihren Namen an.',
273
+    'form_indiquer_nom_site' => 'Bitte geben Sie den Namen Ihrer Website an.',
274
+    'form_pet_deja_enregistre' => 'Diese Website wurde bereits erfasst',
275
+    'form_pet_signature_pasprise' => 'Ihre Signatur wird nicht berücksichtigt.',
276
+    'form_prop_confirmer_envoi' => 'Endgültig senden',
277
+    'form_prop_description' => 'Beschreibung/Kommentar',
278
+    'form_prop_enregistre' => 'Ihr Vorschlag wurde gespeichert und wird nach Freigabe durch die Redaktion der Website angezeigt.',
279
+    'form_prop_envoyer' => 'Nachricht senden',
280
+    'form_prop_indiquer_email' => 'Bitte geben Sie eine gültige E-Mail Adresse an',
281
+    'form_prop_indiquer_nom_site' => 'Bitte geben Sie den Namen der Website an.',
282
+    'form_prop_indiquer_sujet' => 'Bitte geben Sie ein Thema an',
283
+    'form_prop_message_envoye' => 'Nachricht gesendet',
284
+    'form_prop_non_enregistre' => 'Ihr Vorschlag wurde nicht gespeichert.',
285
+    'form_prop_sujet' => 'Thema',
286
+    'form_prop_url_site' => 'URL der der Website',
287
+    'format_date_attendu' => 'Ein Datum im Format tt/mm/jjjj eingeben. ',
288
+    'format_date_incorrecte' => 'Falsches Datum oder Datumsformat',
289
+    'format_heure_attendu' => 'Uhrzeit im Format hh:mm eingeben.',
290
+    'format_heure_incorrecte' => 'Falsches Zeitformat oder Zeit',
291
+    'forum_non_inscrit' => 'Sie sind nicht eingeschrieben oder Adresse bzw. Passwort waren falsch.',
292
+    'forum_par_auteur' => 'von @auteur@',
293
+    'forum_titre_erreur' => 'Fehler...',
294 294
 
295
-	// I
296
-	'ical_texte_rss_articles' => 'Die «backend» Datei mit den Artikeln der Website finden Sie unter dieser Adresse:',
297
-	'ical_texte_rss_articles2' => 'Sie können auch «backend» Dateien für einzelne Rubriken de Website nutzen:',
298
-	'ical_texte_rss_breves' => 'Es gibt ebenfalls eine Datei für die Meldungen der Website. Wenn Sie die Nummer (ID) einer Rubrik angeben, erhalten Sie auchsschliesslich die Meldungen aus dieser Rubrik.',
299
-	'icone_a_suivre' => 'Aufgaben',
300
-	'icone_admin_site' => 'Konfiguration',
301
-	'icone_agenda' => 'Kalender',
302
-	'icone_aide_ligne' => 'Online-Hilfe',
303
-	'icone_articles' => 'Artikel',
304
-	'icone_auteurs' => 'Autoren',
305
-	'icone_brouteur' => 'Übersicht',
306
-	'icone_configuration_site' => 'Konfiguration',
307
-	'icone_configurer_site' => 'Ihre Website konfigurieren',
308
-	'icone_creer_nouvel_auteur' => 'Neuen Autor anlegen',
309
-	'icone_creer_rubrique' => 'Neue Rubrik anlegen',
310
-	'icone_creer_sous_rubrique' => 'Neue Unterrubrik anlegen',
311
-	'icone_deconnecter' => 'Log-Out',
312
-	'icone_discussions' => 'Diskussionen',
313
-	'icone_doc_rubrique' => 'Dokumente der Rubriken',
314
-	'icone_ecrire_article' => 'Neuen Artikel schreiben',
315
-	'icone_edition_site' => 'Redaktion',
316
-	'icone_gestion_langues' => 'Sprachverwaltung',
317
-	'icone_informations_personnelles' => 'Persönliche Informationen',
318
-	'icone_interface_complet' => 'Expertenmodus',
319
-	'icone_interface_simple' => 'Standardmodus',
320
-	'icone_maintenance_site' => 'Wartung',
321
-	'icone_messagerie_personnelle' => 'Persönliche Nachrichten',
322
-	'icone_repartition_debut' => 'Seit Einrichtung der Website',
323
-	'icone_rubriques' => 'Rubriken',
324
-	'icone_sauver_site' => 'Website sichern',
325
-	'icone_site_entier' => 'Ganze Website',
326
-	'icone_sites_references' => 'Verlinkte Websites',
327
-	'icone_statistiques' => 'Statistiken',
328
-	'icone_suivi_activite' => 'Aktivitäten verfolgen',
329
-	'icone_suivi_actualite' => 'Entwicklung der Website',
330
-	'icone_suivi_pettions' => 'Petitionen verwalten',
331
-	'icone_suivi_revisions' => 'Änderungen des Artikels',
332
-	'icone_supprimer_document' => 'Dokument löschen',
333
-	'icone_supprimer_image' => 'Bild löschen',
334
-	'icone_tous_articles' => 'Alle Ihre Artikel',
335
-	'icone_tous_auteur' => 'Alle Autoren',
336
-	'icone_tous_visiteur' => 'Alle Besucher',
337
-	'icone_visiter_site' => 'Website ansehen',
338
-	'icone_voir_en_ligne' => 'Online ansehen',
339
-	'img_indisponible' => 'Bild nicht vorhanden',
340
-	'impossible' => 'unmöglich',
341
-	'info_a_suivre' => 'AUFGABEN »',
342
-	'info_acces_interdit' => 'Zugang gesperrt',
343
-	'info_acces_refuse' => 'Zugang verweigert',
344
-	'info_action' => 'Aktion: @action@',
345
-	'info_administrer_rubriques' => 'Sie können diese Rubrik und ihre Unterrubriken verwalten',
346
-	'info_adresse_non_indiquee' => 'Sie haben keine Adresse zum Testen agegeben!',
347
-	'info_aide' => 'HILFE:',
348
-	'info_ajouter_mot' => 'Wort hinzufügen',
349
-	'info_annonce' => 'ANKÜNDIGUNG',
350
-	'info_annonces_generales' => 'Allgemeine Ankündigungen:',
351
-	'info_article_propose' => 'Vorgeschlagener Artikel',
352
-	'info_article_publie' => 'Veröffentlichter Artikel',
353
-	'info_article_redaction' => 'Artikel in Bearbeitung',
354
-	'info_article_refuse' => 'Abgelehnter Artikel',
355
-	'info_article_supprime' => 'Gelöschter Artikel',
356
-	'info_articles' => 'Artikel',
357
-	'info_articles_a_valider' => 'Zur Veröffentlichung vorgeschlagenen Artikel',
358
-	'info_articles_nb' => '@nb@ Artikel',
359
-	'info_articles_proposes' => 'Vorgeschlagene Artikel',
360
-	'info_articles_un' => '1 Artikel',
361
-	'info_auteurs_nombre' => 'Autor(en):',
362
-	'info_authentification_ftp' => 'Authentifizierung per FTP.',
363
-	'info_breves_2' => 'Meldungen',
364
-	'info_breves_nb' => '@nb@ Meldungen',
365
-	'info_breves_un' => '1 Meldung',
366
-	'info_connexion_refusee' => 'Die Verbindung wurde verweigert.',
367
-	'info_contact_developpeur' => 'Bitte kontaktieren Sie einen der Entwickler.',
368
-	'info_contenance' => 'Diese Website enthält:',
369
-	'info_contribution' => 'Beiträge',
370
-	'info_copyright' => '@spip@ ist freie Software im Sinne der @lien_gpl@.',
371
-	'info_copyright_doc' => 'Weitere Informationen finden Sie unter <a href="@spipnet@">@spipnet_affiche@</a>.',
372
-	'info_copyright_gpl' => 'GNU Public License',
373
-	'info_cours_edition' => 'In Bearbeitung',
374
-	'info_creer_repertoire' => 'Bitte legen Sie eine Datei oder ein Verzeichnis mit diesem Namen an: ',
375
-	'info_creer_repertoire_2' => '(Im Unterverzeichnis <b>@repertoire@</b>)',
376
-	'info_creer_vignette' => 'Miniaturbilder automatisch anlegen',
377
-	'info_creerdansrubrique_non_autorise' => 'Sie sind nicht berechtigt, Inhalte in dieser Rubrik anzulegen.',
378
-	'info_deplier' => 'Öffnen',
379
-	'info_descriptif_nombre' => 'Beschreibung(en):',
380
-	'info_description' => 'Beschreibung:',
381
-	'info_description_2' => 'Beschreibung:',
382
-	'info_dimension' => 'Maße:',
383
-	'info_documents_nb' => '@nb@ Dokumente',
384
-	'info_documents_un' => '1 Dokument',
385
-	'info_ecire_message_prive' => 'Neue private Nachricht schreiben',
386
-	'info_email_invalide' => 'Ungültige E-Mail Adresse.',
387
-	'info_en_cours_validation' => 'Ihre Artikel in Bearbeitung',
388
-	'info_en_ligne' => 'Zur Zeit online:',
389
-	'info_envoyer_message_prive' => 'Private Nachricht an diesen Autor schicken',
390
-	'info_erreur_requete' => 'Abfragefehler: ',
391
-	'info_erreur_squelette2' => 'Keine Vorlage <b>@fichier@</b> vorhanden ...',
392
-	'info_erreur_systeme' => 'Systemfahler (Fehler no. @errsys@)',
393
-	'info_erreur_systeme2' => 'Möglicherweise ist die Festplatte voll oder die Datenbank beschädigt.<br />
295
+    // I
296
+    'ical_texte_rss_articles' => 'Die «backend» Datei mit den Artikeln der Website finden Sie unter dieser Adresse:',
297
+    'ical_texte_rss_articles2' => 'Sie können auch «backend» Dateien für einzelne Rubriken de Website nutzen:',
298
+    'ical_texte_rss_breves' => 'Es gibt ebenfalls eine Datei für die Meldungen der Website. Wenn Sie die Nummer (ID) einer Rubrik angeben, erhalten Sie auchsschliesslich die Meldungen aus dieser Rubrik.',
299
+    'icone_a_suivre' => 'Aufgaben',
300
+    'icone_admin_site' => 'Konfiguration',
301
+    'icone_agenda' => 'Kalender',
302
+    'icone_aide_ligne' => 'Online-Hilfe',
303
+    'icone_articles' => 'Artikel',
304
+    'icone_auteurs' => 'Autoren',
305
+    'icone_brouteur' => 'Übersicht',
306
+    'icone_configuration_site' => 'Konfiguration',
307
+    'icone_configurer_site' => 'Ihre Website konfigurieren',
308
+    'icone_creer_nouvel_auteur' => 'Neuen Autor anlegen',
309
+    'icone_creer_rubrique' => 'Neue Rubrik anlegen',
310
+    'icone_creer_sous_rubrique' => 'Neue Unterrubrik anlegen',
311
+    'icone_deconnecter' => 'Log-Out',
312
+    'icone_discussions' => 'Diskussionen',
313
+    'icone_doc_rubrique' => 'Dokumente der Rubriken',
314
+    'icone_ecrire_article' => 'Neuen Artikel schreiben',
315
+    'icone_edition_site' => 'Redaktion',
316
+    'icone_gestion_langues' => 'Sprachverwaltung',
317
+    'icone_informations_personnelles' => 'Persönliche Informationen',
318
+    'icone_interface_complet' => 'Expertenmodus',
319
+    'icone_interface_simple' => 'Standardmodus',
320
+    'icone_maintenance_site' => 'Wartung',
321
+    'icone_messagerie_personnelle' => 'Persönliche Nachrichten',
322
+    'icone_repartition_debut' => 'Seit Einrichtung der Website',
323
+    'icone_rubriques' => 'Rubriken',
324
+    'icone_sauver_site' => 'Website sichern',
325
+    'icone_site_entier' => 'Ganze Website',
326
+    'icone_sites_references' => 'Verlinkte Websites',
327
+    'icone_statistiques' => 'Statistiken',
328
+    'icone_suivi_activite' => 'Aktivitäten verfolgen',
329
+    'icone_suivi_actualite' => 'Entwicklung der Website',
330
+    'icone_suivi_pettions' => 'Petitionen verwalten',
331
+    'icone_suivi_revisions' => 'Änderungen des Artikels',
332
+    'icone_supprimer_document' => 'Dokument löschen',
333
+    'icone_supprimer_image' => 'Bild löschen',
334
+    'icone_tous_articles' => 'Alle Ihre Artikel',
335
+    'icone_tous_auteur' => 'Alle Autoren',
336
+    'icone_tous_visiteur' => 'Alle Besucher',
337
+    'icone_visiter_site' => 'Website ansehen',
338
+    'icone_voir_en_ligne' => 'Online ansehen',
339
+    'img_indisponible' => 'Bild nicht vorhanden',
340
+    'impossible' => 'unmöglich',
341
+    'info_a_suivre' => 'AUFGABEN »',
342
+    'info_acces_interdit' => 'Zugang gesperrt',
343
+    'info_acces_refuse' => 'Zugang verweigert',
344
+    'info_action' => 'Aktion: @action@',
345
+    'info_administrer_rubriques' => 'Sie können diese Rubrik und ihre Unterrubriken verwalten',
346
+    'info_adresse_non_indiquee' => 'Sie haben keine Adresse zum Testen agegeben!',
347
+    'info_aide' => 'HILFE:',
348
+    'info_ajouter_mot' => 'Wort hinzufügen',
349
+    'info_annonce' => 'ANKÜNDIGUNG',
350
+    'info_annonces_generales' => 'Allgemeine Ankündigungen:',
351
+    'info_article_propose' => 'Vorgeschlagener Artikel',
352
+    'info_article_publie' => 'Veröffentlichter Artikel',
353
+    'info_article_redaction' => 'Artikel in Bearbeitung',
354
+    'info_article_refuse' => 'Abgelehnter Artikel',
355
+    'info_article_supprime' => 'Gelöschter Artikel',
356
+    'info_articles' => 'Artikel',
357
+    'info_articles_a_valider' => 'Zur Veröffentlichung vorgeschlagenen Artikel',
358
+    'info_articles_nb' => '@nb@ Artikel',
359
+    'info_articles_proposes' => 'Vorgeschlagene Artikel',
360
+    'info_articles_un' => '1 Artikel',
361
+    'info_auteurs_nombre' => 'Autor(en):',
362
+    'info_authentification_ftp' => 'Authentifizierung per FTP.',
363
+    'info_breves_2' => 'Meldungen',
364
+    'info_breves_nb' => '@nb@ Meldungen',
365
+    'info_breves_un' => '1 Meldung',
366
+    'info_connexion_refusee' => 'Die Verbindung wurde verweigert.',
367
+    'info_contact_developpeur' => 'Bitte kontaktieren Sie einen der Entwickler.',
368
+    'info_contenance' => 'Diese Website enthält:',
369
+    'info_contribution' => 'Beiträge',
370
+    'info_copyright' => '@spip@ ist freie Software im Sinne der @lien_gpl@.',
371
+    'info_copyright_doc' => 'Weitere Informationen finden Sie unter <a href="@spipnet@">@spipnet_affiche@</a>.',
372
+    'info_copyright_gpl' => 'GNU Public License',
373
+    'info_cours_edition' => 'In Bearbeitung',
374
+    'info_creer_repertoire' => 'Bitte legen Sie eine Datei oder ein Verzeichnis mit diesem Namen an: ',
375
+    'info_creer_repertoire_2' => '(Im Unterverzeichnis <b>@repertoire@</b>)',
376
+    'info_creer_vignette' => 'Miniaturbilder automatisch anlegen',
377
+    'info_creerdansrubrique_non_autorise' => 'Sie sind nicht berechtigt, Inhalte in dieser Rubrik anzulegen.',
378
+    'info_deplier' => 'Öffnen',
379
+    'info_descriptif_nombre' => 'Beschreibung(en):',
380
+    'info_description' => 'Beschreibung:',
381
+    'info_description_2' => 'Beschreibung:',
382
+    'info_dimension' => 'Maße:',
383
+    'info_documents_nb' => '@nb@ Dokumente',
384
+    'info_documents_un' => '1 Dokument',
385
+    'info_ecire_message_prive' => 'Neue private Nachricht schreiben',
386
+    'info_email_invalide' => 'Ungültige E-Mail Adresse.',
387
+    'info_en_cours_validation' => 'Ihre Artikel in Bearbeitung',
388
+    'info_en_ligne' => 'Zur Zeit online:',
389
+    'info_envoyer_message_prive' => 'Private Nachricht an diesen Autor schicken',
390
+    'info_erreur_requete' => 'Abfragefehler: ',
391
+    'info_erreur_squelette2' => 'Keine Vorlage <b>@fichier@</b> vorhanden ...',
392
+    'info_erreur_systeme' => 'Systemfahler (Fehler no. @errsys@)',
393
+    'info_erreur_systeme2' => 'Möglicherweise ist die Festplatte voll oder die Datenbank beschädigt.<br />
394 394
 <span style="color:red;">Versuchen Sie <a href=\'@script@\'>die Datenbank zu reparieren</a>, oder wenden Sie sich an Ihren Provider.</span>',
395
-	'info_fini' => 'Fertig!',
396
-	'info_format_image' => 'Für diese Dateiformate können Vorschaubilder erstellt werden: @gd_formats@.',
397
-	'info_format_non_defini' => 'Undefiniertes Format',
398
-	'info_grand_ecran' => 'Grosser Bildschirm',
399
-	'info_image_aide' => 'HILFE',
400
-	'info_image_process_titre' => 'Methode zum Anlegen der Miniaturbilder',
401
-	'info_impossible_lire_page' => '<b>Fehler!</b> Die Seite <tt><html>@test_proxy@</html></tt> ist nicht über den Proxy erreichbar',
402
-	'info_installation_systeme_publication' => 'Installation von SPIP ...',
403
-	'info_installer_documents' => 'Sie können alle Dokumente im Verzeichnis @upload@ automatisch installieren.',
404
-	'info_installer_ftp' => 'Als Administrator können Sie Dateien (per FTP) direkt in das Verzeichnis <i>@upload@</i> kopieren und sie hier auswählen.',
405
-	'info_installer_images' => 'Sie können Bilder in den Formaten JPEG, GIF und PNG verwenden.',
406
-	'info_installer_images_dossier' => 'Bilder ins Verzeichnis @upload@ kopieren um sie hier auswählen zu können.',
407
-	'info_interface_complete' => 'Expertenmodus',
408
-	'info_interface_simple' => 'Standardmodus',
409
-	'info_joindre_document_article' => 'Diesem Artikel können Sie Dokumente folgendem Typs beifügen: ',
410
-	'info_joindre_document_rubrique' => 'Dieser Rubrik können Sie Dokumente folgendem Typs beifügen:',
411
-	'info_joindre_documents_article' => 'Diesem Artikel können Sie Dokumente folgendem Typs beifügen:',
412
-	'info_l_article' => 'Der Artikel',
413
-	'info_la_breve' => 'Die Meldung',
414
-	'info_la_rubrique' => 'Die Rubrik',
415
-	'info_langue_principale' => 'Hauptsprache der Website',
416
-	'info_largeur_vignette' => '@largeur_vignette@ x @hauteur_vignette@ Pixel',
417
-	'info_les_auteurs_1' => 'von @les_auteurs@ ',
418
-	'info_logo_format_interdit' => 'Nur die Logos im Format @formats@ sind zugelassen.',
419
-	'info_logo_max_poids' => 'Die Logogrösse darf nicht @maxi@ überschreiten (aktuelle Dateigrösse @actuel@).',
420
-	'info_mail_fournisseur' => '[email protected]',
421
-	'info_message_2' => 'NACHRICHT',
422
-	'info_message_supprime' => 'NACHRICHT GELÖSCHT',
423
-	'info_messages_nb' => '@nb@ Nachrichten',
424
-	'info_messages_un' => '1 Nachricht',
425
-	'info_mise_en_ligne' => 'Online seit:',
426
-	'info_modification_parametres_securite' => 'Änderung der Sicherheitseinstellungen',
427
-	'info_mois_courant' => 'Im Lauf des Monats:',
428
-	'info_mot_cle_ajoute' => 'Das folgende Wort wurde hinzugefügt zu',
429
-	'info_multi_herit' => 'Standardsprache',
430
-	'info_multi_langues_soulignees' => 'Die Texte des Interface sind in die <u>unterstrichenen Sprachen</u> ganz oder teilweise übersetzt. Wenn Sie eine von ihnen wählen, werden viele Elemente der Website automatisch übersetzt (Datumsangaben, Formulare usw.). In den nicht unterstrichenen Sprachen werden diese Elemente in der Hauptsprache der Website angezeigt.',
431
-	'info_multilinguisme' => 'Mehrsprachigkeit',
432
-	'info_nom_non_utilisateurs_connectes' => 'Ihr Name wird nicht in der Liste der zur Zeit eingelogten Nutzer angezeigt.',
433
-	'info_nom_utilisateurs_connectes' => 'Ihr Name wird in der Liste der angemeldeten Nutzer angezeigt.',
434
-	'info_nombre_en_ligne' => 'Zur Zeit online:',
435
-	'info_non_resultat' => 'Keine Fundstellen für “@cherche_mot@”',
436
-	'info_non_utilisation_messagerie' => 'Sie nehmen nicht am Nachrichtensystem der Website teil.',
437
-	'info_nouveau_message' => 'SIE HABEN EINE NEUE NACHRICHT',
438
-	'info_nouveaux_messages' => 'SIE HABEN @total_messages@ NEUE NACHRICHTEN',
439
-	'info_numero_abbreviation' => 'N° ',
440
-	'info_obligatoire' => 'Diese Information ist obligatorisch.',
441
-	'info_page_actuelle' => 'Aktuelle Seite',
442
-	'info_pense_bete' => 'MERKZETTEL',
443
-	'info_petit_ecran' => 'Kleiner Bildschirm',
444
-	'info_petition_close' => 'Petition geschlossen',
445
-	'info_pixels' => 'Pixel',
446
-	'info_plusieurs_mots_trouves' => 'Mehrere Schlagworte entsprechen Ihrem Suchkriterium “@cherche_mot@”:',
447
-	'info_portfolio_automatique' => 'automatische Mappe:',
448
-	'info_premier_resultat' => '[@debut_limit@ erste Ergebnisse von @total@]',
449
-	'info_premier_resultat_sur' => '[@debut_limit@ erste Ergebnisse von @total@]',
450
-	'info_propose_1' => '[@nom_site_spip@] vorgeschlagen : @titre@',
451
-	'info_propose_2' => 'vorgeschlagener Artikel
395
+    'info_fini' => 'Fertig!',
396
+    'info_format_image' => 'Für diese Dateiformate können Vorschaubilder erstellt werden: @gd_formats@.',
397
+    'info_format_non_defini' => 'Undefiniertes Format',
398
+    'info_grand_ecran' => 'Grosser Bildschirm',
399
+    'info_image_aide' => 'HILFE',
400
+    'info_image_process_titre' => 'Methode zum Anlegen der Miniaturbilder',
401
+    'info_impossible_lire_page' => '<b>Fehler!</b> Die Seite <tt><html>@test_proxy@</html></tt> ist nicht über den Proxy erreichbar',
402
+    'info_installation_systeme_publication' => 'Installation von SPIP ...',
403
+    'info_installer_documents' => 'Sie können alle Dokumente im Verzeichnis @upload@ automatisch installieren.',
404
+    'info_installer_ftp' => 'Als Administrator können Sie Dateien (per FTP) direkt in das Verzeichnis <i>@upload@</i> kopieren und sie hier auswählen.',
405
+    'info_installer_images' => 'Sie können Bilder in den Formaten JPEG, GIF und PNG verwenden.',
406
+    'info_installer_images_dossier' => 'Bilder ins Verzeichnis @upload@ kopieren um sie hier auswählen zu können.',
407
+    'info_interface_complete' => 'Expertenmodus',
408
+    'info_interface_simple' => 'Standardmodus',
409
+    'info_joindre_document_article' => 'Diesem Artikel können Sie Dokumente folgendem Typs beifügen: ',
410
+    'info_joindre_document_rubrique' => 'Dieser Rubrik können Sie Dokumente folgendem Typs beifügen:',
411
+    'info_joindre_documents_article' => 'Diesem Artikel können Sie Dokumente folgendem Typs beifügen:',
412
+    'info_l_article' => 'Der Artikel',
413
+    'info_la_breve' => 'Die Meldung',
414
+    'info_la_rubrique' => 'Die Rubrik',
415
+    'info_langue_principale' => 'Hauptsprache der Website',
416
+    'info_largeur_vignette' => '@largeur_vignette@ x @hauteur_vignette@ Pixel',
417
+    'info_les_auteurs_1' => 'von @les_auteurs@ ',
418
+    'info_logo_format_interdit' => 'Nur die Logos im Format @formats@ sind zugelassen.',
419
+    'info_logo_max_poids' => 'Die Logogrösse darf nicht @maxi@ überschreiten (aktuelle Dateigrösse @actuel@).',
420
+    'info_mail_fournisseur' => '[email protected]',
421
+    'info_message_2' => 'NACHRICHT',
422
+    'info_message_supprime' => 'NACHRICHT GELÖSCHT',
423
+    'info_messages_nb' => '@nb@ Nachrichten',
424
+    'info_messages_un' => '1 Nachricht',
425
+    'info_mise_en_ligne' => 'Online seit:',
426
+    'info_modification_parametres_securite' => 'Änderung der Sicherheitseinstellungen',
427
+    'info_mois_courant' => 'Im Lauf des Monats:',
428
+    'info_mot_cle_ajoute' => 'Das folgende Wort wurde hinzugefügt zu',
429
+    'info_multi_herit' => 'Standardsprache',
430
+    'info_multi_langues_soulignees' => 'Die Texte des Interface sind in die <u>unterstrichenen Sprachen</u> ganz oder teilweise übersetzt. Wenn Sie eine von ihnen wählen, werden viele Elemente der Website automatisch übersetzt (Datumsangaben, Formulare usw.). In den nicht unterstrichenen Sprachen werden diese Elemente in der Hauptsprache der Website angezeigt.',
431
+    'info_multilinguisme' => 'Mehrsprachigkeit',
432
+    'info_nom_non_utilisateurs_connectes' => 'Ihr Name wird nicht in der Liste der zur Zeit eingelogten Nutzer angezeigt.',
433
+    'info_nom_utilisateurs_connectes' => 'Ihr Name wird in der Liste der angemeldeten Nutzer angezeigt.',
434
+    'info_nombre_en_ligne' => 'Zur Zeit online:',
435
+    'info_non_resultat' => 'Keine Fundstellen für “@cherche_mot@”',
436
+    'info_non_utilisation_messagerie' => 'Sie nehmen nicht am Nachrichtensystem der Website teil.',
437
+    'info_nouveau_message' => 'SIE HABEN EINE NEUE NACHRICHT',
438
+    'info_nouveaux_messages' => 'SIE HABEN @total_messages@ NEUE NACHRICHTEN',
439
+    'info_numero_abbreviation' => 'N° ',
440
+    'info_obligatoire' => 'Diese Information ist obligatorisch.',
441
+    'info_page_actuelle' => 'Aktuelle Seite',
442
+    'info_pense_bete' => 'MERKZETTEL',
443
+    'info_petit_ecran' => 'Kleiner Bildschirm',
444
+    'info_petition_close' => 'Petition geschlossen',
445
+    'info_pixels' => 'Pixel',
446
+    'info_plusieurs_mots_trouves' => 'Mehrere Schlagworte entsprechen Ihrem Suchkriterium “@cherche_mot@”:',
447
+    'info_portfolio_automatique' => 'automatische Mappe:',
448
+    'info_premier_resultat' => '[@debut_limit@ erste Ergebnisse von @total@]',
449
+    'info_premier_resultat_sur' => '[@debut_limit@ erste Ergebnisse von @total@]',
450
+    'info_propose_1' => '[@nom_site_spip@] vorgeschlagen : @titre@',
451
+    'info_propose_2' => 'vorgeschlagener Artikel
452 452
 ---------------',
453
-	'info_propose_3' => 'Der Artikel “@titre@” ist zur Veröffentlichung vorgeschlagen.',
454
-	'info_propose_4' => 'Bitte teilen Sie den anderen Autoren Ihre Meinung zu diesem Artikel mit',
455
-	'info_propose_5' => '(im Forum des Artikels). Sie können ihn unter dieser Adresse lesen:',
456
-	'info_publie_01' => 'Der Artikel „@titre@“ wurde von @connect_nom@ freigegeben.',
457
-	'info_publie_1' => '[@nom_site_spip@] VERÖFFENTLICHT: @titre@',
458
-	'info_publie_2' => 'Artikel veröffentlicht
453
+    'info_propose_3' => 'Der Artikel “@titre@” ist zur Veröffentlichung vorgeschlagen.',
454
+    'info_propose_4' => 'Bitte teilen Sie den anderen Autoren Ihre Meinung zu diesem Artikel mit',
455
+    'info_propose_5' => '(im Forum des Artikels). Sie können ihn unter dieser Adresse lesen:',
456
+    'info_publie_01' => 'Der Artikel „@titre@“ wurde von @connect_nom@ freigegeben.',
457
+    'info_publie_1' => '[@nom_site_spip@] VERÖFFENTLICHT: @titre@',
458
+    'info_publie_2' => 'Artikel veröffentlicht
459 459
 --------------',
460
-	'info_rechercher' => 'Suchen',
461
-	'info_rechercher_02' => 'Suchen:',
462
-	'info_remplacer_vignette' => 'Ersetzen Sie das Standard-Piktogramm durch ein eigenes Logo:',
463
-	'info_rubriques_nb' => '@nb@ Rubriken',
464
-	'info_rubriques_un' => '1 Rubrik',
465
-	'info_sans_titre_2' => 'ohne Titel',
466
-	'info_selectionner_fichier' => 'Sie können eine Datei aus dem Verzeichnis @upload@ auswählen.',
467
-	'info_selectionner_fichier_2' => 'Wählen Sie eine Datei:',
468
-	'info_sites_nb' => '@nb@ Websites',
469
-	'info_sites_un' => '1 Website',
470
-	'info_supprimer_vignette' => 'Icon löschen',
471
-	'info_symbole_bleu' => 'Das <b>blaue</b> Symbol bedeutet <b>Merkzettel</b>, d.h. eine Nachricht nur zu Ihrer eigenen Verwendung.',
472
-	'info_symbole_jaune' => 'Das <b>gelbe</b> Symbol bedeutet <b>Ankündigung an alle Redakteure</b> (für alle Redakteure sichtbar, Änderung nur durch Administratoren)',
473
-	'info_symbole_vert' => 'Das <b>grüne</b> Symbol bezeichnet Nachrichten an <b>andere Benutzer</b> der Website.',
474
-	'info_telecharger_nouveau_logo' => 'Neues Logo hochladen:',
475
-	'info_telecharger_ordinateur' => 'Von Ihrem Computer hochladen:',
476
-	'info_tous_resultats_enregistres' => ' [alle Ergebnisse sind erfasst]',
477
-	'info_tout_afficher' => 'Alles zeigen',
478
-	'info_travaux_texte' => 'Diese Website ist noch nicht fertig eingerichtet. Schauen Sie später mal wieder rein ...',
479
-	'info_travaux_titre' => 'Website in Bearbeitung',
480
-	'info_trop_resultat' => 'Zu viele Ergebnisse für “@cherche_mot”. Bitte präzisieren Sie Ihre Suchbegriffe.',
481
-	'info_utilisation_messagerie_interne' => 'Sie verwenden das interne Nachrichtensystem der Website. ',
482
-	'info_valider_lien' => 'Link freigeben',
483
-	'info_verifier_image' => ', bitte prüfen Sie, ob Ihre Bilder fehlerfrei übertagen wurden.',
484
-	'info_vignette_defaut' => 'Standardsymbol',
485
-	'info_vignette_personnalisee' => 'Persönliches Icon',
486
-	'info_visite' => 'Besuch:',
487
-	'info_vos_rendez_vous' => 'Ihre kommenden Termine',
488
-	'infos_vos_pense_bete' => 'Ihre Merkzettel',
460
+    'info_rechercher' => 'Suchen',
461
+    'info_rechercher_02' => 'Suchen:',
462
+    'info_remplacer_vignette' => 'Ersetzen Sie das Standard-Piktogramm durch ein eigenes Logo:',
463
+    'info_rubriques_nb' => '@nb@ Rubriken',
464
+    'info_rubriques_un' => '1 Rubrik',
465
+    'info_sans_titre_2' => 'ohne Titel',
466
+    'info_selectionner_fichier' => 'Sie können eine Datei aus dem Verzeichnis @upload@ auswählen.',
467
+    'info_selectionner_fichier_2' => 'Wählen Sie eine Datei:',
468
+    'info_sites_nb' => '@nb@ Websites',
469
+    'info_sites_un' => '1 Website',
470
+    'info_supprimer_vignette' => 'Icon löschen',
471
+    'info_symbole_bleu' => 'Das <b>blaue</b> Symbol bedeutet <b>Merkzettel</b>, d.h. eine Nachricht nur zu Ihrer eigenen Verwendung.',
472
+    'info_symbole_jaune' => 'Das <b>gelbe</b> Symbol bedeutet <b>Ankündigung an alle Redakteure</b> (für alle Redakteure sichtbar, Änderung nur durch Administratoren)',
473
+    'info_symbole_vert' => 'Das <b>grüne</b> Symbol bezeichnet Nachrichten an <b>andere Benutzer</b> der Website.',
474
+    'info_telecharger_nouveau_logo' => 'Neues Logo hochladen:',
475
+    'info_telecharger_ordinateur' => 'Von Ihrem Computer hochladen:',
476
+    'info_tous_resultats_enregistres' => ' [alle Ergebnisse sind erfasst]',
477
+    'info_tout_afficher' => 'Alles zeigen',
478
+    'info_travaux_texte' => 'Diese Website ist noch nicht fertig eingerichtet. Schauen Sie später mal wieder rein ...',
479
+    'info_travaux_titre' => 'Website in Bearbeitung',
480
+    'info_trop_resultat' => 'Zu viele Ergebnisse für “@cherche_mot”. Bitte präzisieren Sie Ihre Suchbegriffe.',
481
+    'info_utilisation_messagerie_interne' => 'Sie verwenden das interne Nachrichtensystem der Website. ',
482
+    'info_valider_lien' => 'Link freigeben',
483
+    'info_verifier_image' => ', bitte prüfen Sie, ob Ihre Bilder fehlerfrei übertagen wurden.',
484
+    'info_vignette_defaut' => 'Standardsymbol',
485
+    'info_vignette_personnalisee' => 'Persönliches Icon',
486
+    'info_visite' => 'Besuch:',
487
+    'info_vos_rendez_vous' => 'Ihre kommenden Termine',
488
+    'infos_vos_pense_bete' => 'Ihre Merkzettel',
489 489
 
490
-	// L
491
-	'label_ajout_id_rapide' => 'schnell hinzufügen',
492
-	'label_poids_fichier' => 'Größe',
493
-	'label_ponctuer' => '@label@:',
494
-	'lien_afficher_icones_seuls' => 'Nur Piktogramme anzeigen',
495
-	'lien_afficher_texte_icones' => 'Piktogramme und Beschriftung anzeigen',
496
-	'lien_afficher_texte_seul' => 'Nur Textmenüs',
497
-	'lien_aller_a_la_derniere_page' => 'Zur letzten Seite gehen',
498
-	'lien_aller_a_la_page_nb' => 'Zu Seite @nb@ gehen',
499
-	'lien_aller_a_la_page_precedente' => 'Zur vorherigen Seite gehen',
500
-	'lien_aller_a_la_page_suivante' => 'Zur nächsten Seite gehen',
501
-	'lien_aller_a_la_premiere_page' => 'Zur ersten Seite gehen',
502
-	'lien_liberer' => 'freigeben',
503
-	'lien_liberer_tous' => 'Alle freigeben',
504
-	'lien_nouvea_pense_bete' => 'NEUER MERKZETTEL',
505
-	'lien_nouveau_message' => 'NEUE NACHRICHT',
506
-	'lien_nouvelle_annonce' => 'NEUE ANKÜNDIGUNG',
507
-	'lien_petitions' => 'PETITION',
508
-	'lien_popularite' => 'Beliebtheit: @popularite@%',
509
-	'lien_racine_site' => 'OBERSTE EBENE DER WEBSITE',
510
-	'lien_reessayer' => 'Wiederholen',
511
-	'lien_repondre_message' => 'Nachricht beantworten',
512
-	'lien_supprimer' => 'Löschen',
513
-	'lien_tout_afficher' => 'Alles zeigen',
514
-	'lien_visite_site' => 'Website anzeigen',
515
-	'lien_visites' => '@visites@ Besuche',
516
-	'lien_voir_auteur' => 'Autor anzeigen',
517
-	'ligne' => 'Zeile',
518
-	'login' => 'Login',
519
-	'login_acces_prive' => 'Login zum Redaktionssystem',
520
-	'login_autre_identifiant' => 'Unter anderem Namen anmelden',
521
-	'login_cookie_accepte' => 'Bitte stellen Sie Ihren Webbrowser so ein, dass er sie akzeptiert (zumindest für diese Website).',
522
-	'login_cookie_oblige' => 'Zu Ihrer Sicherheit muss Ihr Browser Cookies akzeptieren, wenn Sie sich bei der Website anmelden.',
523
-	'login_deconnexion_ok' => 'Abmeldung erfolgreich.',
524
-	'login_erreur_pass' => 'Passwort oder Benutzername falsch.',
525
-	'login_espace_prive' => 'Redaktionssystem',
526
-	'login_identifiant_inconnu' => 'Benutzer «@login@» unbekannt.',
527
-	'login_login' => 'Login:',
528
-	'login_login2' => 'Login-ID oder E-Mail:',
529
-	'login_login_pass_incorrect' => '(Login oder Passwort falsch.)',
530
-	'login_motpasseoublie' => 'Passwort vergessen?',
531
-	'login_non_securise' => 'Achtung, dieses Formular ist nicht abgesichert. Wenn Sie sicher stellen wollen, dass Ihr Passwort nicht im Netzwerk mitgehört werden kann, aktivieren Sie bitte Javascript und',
532
-	'login_nouvelle_tentative' => 'Erneut versuchen',
533
-	'login_par_ici' => 'Sie sind angemeldet... hier...',
534
-	'login_pass2' => 'Passwort:',
535
-	'login_preferez_refuser' => '<b>Wenn Sie keine Cookies verwenden wollen</b>, können Sie eine alternative (weniger sichere) Anmeldung nutzen:',
536
-	'login_recharger' => 'diese Seite neu laden',
537
-	'login_rester_identifie' => 'An mich erinnern',
538
-	'login_retour_public' => 'Zurück zur öffentlichen Website',
539
-	'login_retour_site' => 'Zurück zur öffentlichen Website',
540
-	'login_retoursitepublic' => 'Zurück zur öffentlichen Website',
541
-	'login_sans_cookie' => 'Login ohne Cookie',
542
-	'login_securise' => 'Sicheres Login',
543
-	'login_sinscrire' => 'Anmelden',
544
-	'login_test_navigateur' => 'Test Webbrowser/Verbindung',
545
-	'login_verifiez_navigateur' => '(Überprüfen Sie, dass Ihr Webbrowser Ihr Passwort nicht gespeichert hat ...)',
490
+    // L
491
+    'label_ajout_id_rapide' => 'schnell hinzufügen',
492
+    'label_poids_fichier' => 'Größe',
493
+    'label_ponctuer' => '@label@:',
494
+    'lien_afficher_icones_seuls' => 'Nur Piktogramme anzeigen',
495
+    'lien_afficher_texte_icones' => 'Piktogramme und Beschriftung anzeigen',
496
+    'lien_afficher_texte_seul' => 'Nur Textmenüs',
497
+    'lien_aller_a_la_derniere_page' => 'Zur letzten Seite gehen',
498
+    'lien_aller_a_la_page_nb' => 'Zu Seite @nb@ gehen',
499
+    'lien_aller_a_la_page_precedente' => 'Zur vorherigen Seite gehen',
500
+    'lien_aller_a_la_page_suivante' => 'Zur nächsten Seite gehen',
501
+    'lien_aller_a_la_premiere_page' => 'Zur ersten Seite gehen',
502
+    'lien_liberer' => 'freigeben',
503
+    'lien_liberer_tous' => 'Alle freigeben',
504
+    'lien_nouvea_pense_bete' => 'NEUER MERKZETTEL',
505
+    'lien_nouveau_message' => 'NEUE NACHRICHT',
506
+    'lien_nouvelle_annonce' => 'NEUE ANKÜNDIGUNG',
507
+    'lien_petitions' => 'PETITION',
508
+    'lien_popularite' => 'Beliebtheit: @popularite@%',
509
+    'lien_racine_site' => 'OBERSTE EBENE DER WEBSITE',
510
+    'lien_reessayer' => 'Wiederholen',
511
+    'lien_repondre_message' => 'Nachricht beantworten',
512
+    'lien_supprimer' => 'Löschen',
513
+    'lien_tout_afficher' => 'Alles zeigen',
514
+    'lien_visite_site' => 'Website anzeigen',
515
+    'lien_visites' => '@visites@ Besuche',
516
+    'lien_voir_auteur' => 'Autor anzeigen',
517
+    'ligne' => 'Zeile',
518
+    'login' => 'Login',
519
+    'login_acces_prive' => 'Login zum Redaktionssystem',
520
+    'login_autre_identifiant' => 'Unter anderem Namen anmelden',
521
+    'login_cookie_accepte' => 'Bitte stellen Sie Ihren Webbrowser so ein, dass er sie akzeptiert (zumindest für diese Website).',
522
+    'login_cookie_oblige' => 'Zu Ihrer Sicherheit muss Ihr Browser Cookies akzeptieren, wenn Sie sich bei der Website anmelden.',
523
+    'login_deconnexion_ok' => 'Abmeldung erfolgreich.',
524
+    'login_erreur_pass' => 'Passwort oder Benutzername falsch.',
525
+    'login_espace_prive' => 'Redaktionssystem',
526
+    'login_identifiant_inconnu' => 'Benutzer «@login@» unbekannt.',
527
+    'login_login' => 'Login:',
528
+    'login_login2' => 'Login-ID oder E-Mail:',
529
+    'login_login_pass_incorrect' => '(Login oder Passwort falsch.)',
530
+    'login_motpasseoublie' => 'Passwort vergessen?',
531
+    'login_non_securise' => 'Achtung, dieses Formular ist nicht abgesichert. Wenn Sie sicher stellen wollen, dass Ihr Passwort nicht im Netzwerk mitgehört werden kann, aktivieren Sie bitte Javascript und',
532
+    'login_nouvelle_tentative' => 'Erneut versuchen',
533
+    'login_par_ici' => 'Sie sind angemeldet... hier...',
534
+    'login_pass2' => 'Passwort:',
535
+    'login_preferez_refuser' => '<b>Wenn Sie keine Cookies verwenden wollen</b>, können Sie eine alternative (weniger sichere) Anmeldung nutzen:',
536
+    'login_recharger' => 'diese Seite neu laden',
537
+    'login_rester_identifie' => 'An mich erinnern',
538
+    'login_retour_public' => 'Zurück zur öffentlichen Website',
539
+    'login_retour_site' => 'Zurück zur öffentlichen Website',
540
+    'login_retoursitepublic' => 'Zurück zur öffentlichen Website',
541
+    'login_sans_cookie' => 'Login ohne Cookie',
542
+    'login_securise' => 'Sicheres Login',
543
+    'login_sinscrire' => 'Anmelden',
544
+    'login_test_navigateur' => 'Test Webbrowser/Verbindung',
545
+    'login_verifiez_navigateur' => '(Überprüfen Sie, dass Ihr Webbrowser Ihr Passwort nicht gespeichert hat ...)',
546 546
 
547
-	// M
548
-	'masquer_colonne' => 'Diese Spalte verbergen',
549
-	'masquer_trad' => 'Übersetzungen ausblenden',
550
-	'message_nouveaux_identifiants_echec' => 'Es können keine neuen Zugangsdaten erzeigt werden.',
551
-	'message_nouveaux_identifiants_echec_envoi' => 'Die neuen Zugangsdaten konnten nicht übermittelt werden.',
552
-	'message_nouveaux_identifiants_ok' => 'Die neuen Zugangsdaten wurden an @email@ übermittelt.',
553
-	'module_fichiers_langues' => 'Sprachdateien',
547
+    // M
548
+    'masquer_colonne' => 'Diese Spalte verbergen',
549
+    'masquer_trad' => 'Übersetzungen ausblenden',
550
+    'message_nouveaux_identifiants_echec' => 'Es können keine neuen Zugangsdaten erzeigt werden.',
551
+    'message_nouveaux_identifiants_echec_envoi' => 'Die neuen Zugangsdaten konnten nicht übermittelt werden.',
552
+    'message_nouveaux_identifiants_ok' => 'Die neuen Zugangsdaten wurden an @email@ übermittelt.',
553
+    'module_fichiers_langues' => 'Sprachdateien',
554 554
 
555
-	// N
556
-	'navigateur_pas_redirige' => 'Wenn Ihr Browser keine automatische Weiterleitung unterstützt, klicken Sie hier.',
557
-	'numero' => 'Nummer',
555
+    // N
556
+    'navigateur_pas_redirige' => 'Wenn Ihr Browser keine automatische Weiterleitung unterstützt, klicken Sie hier.',
557
+    'numero' => 'Nummer',
558 558
 
559
-	// O
560
-	'occurence' => 'Vorkommen',
561
-	'onglet_affacer_base' => 'Datenbank löschen',
562
-	'onglet_auteur' => 'Autor',
563
-	'onglet_contenu_site' => 'Inhalte der Website',
564
-	'onglet_evolution_visite_mod' => 'Entwicklung',
565
-	'onglet_fonctions_avances' => 'Erweiterte Einstellungen',
566
-	'onglet_informations_personnelles' => 'Persönliche Informationen',
567
-	'onglet_interactivite' => 'Interaktivität',
568
-	'onglet_messagerie' => 'Nachrichtensystem',
569
-	'onglet_repartition_rubrique' => 'Verteilung auf Rubriken',
570
-	'onglet_save_restaur_base' => 'Datenbank sichern/wieder herstellen',
571
-	'onglet_vider_cache' => 'Sitecache löschen',
559
+    // O
560
+    'occurence' => 'Vorkommen',
561
+    'onglet_affacer_base' => 'Datenbank löschen',
562
+    'onglet_auteur' => 'Autor',
563
+    'onglet_contenu_site' => 'Inhalte der Website',
564
+    'onglet_evolution_visite_mod' => 'Entwicklung',
565
+    'onglet_fonctions_avances' => 'Erweiterte Einstellungen',
566
+    'onglet_informations_personnelles' => 'Persönliche Informationen',
567
+    'onglet_interactivite' => 'Interaktivität',
568
+    'onglet_messagerie' => 'Nachrichtensystem',
569
+    'onglet_repartition_rubrique' => 'Verteilung auf Rubriken',
570
+    'onglet_save_restaur_base' => 'Datenbank sichern/wieder herstellen',
571
+    'onglet_vider_cache' => 'Sitecache löschen',
572 572
 
573
-	// P
574
-	'pass_choix_pass' => 'Bitte geben Sie Ihr neues Passwort ein:',
575
-	'pass_erreur' => 'Fehler',
576
-	'pass_erreur_acces_refuse' => '<b>Fehler:</b> Sie haben keinen Zugang mehr zur Website.',
577
-	'pass_erreur_code_inconnu' => '<b>Fehler:</b> Angabe entspricht keinem Benutzer mit Zugang zu dieser Website.',
578
-	'pass_erreur_non_enregistre' => '<b>Fehler:</b> Die Adresse <tt>@email_oubli@</tt> ist nicht bekannt.',
579
-	'pass_erreur_non_valide' => '<b>Fehler:</b> Diese E-Mail Adresse <tt>@email_oubli@</tt> ist ungültig!',
580
-	'pass_erreur_probleme_technique' => '<b>Fehler:</b> E-Mail kann aufgrund eines technischen Problems nicht gesendet werden.',
581
-	'pass_espace_prive_bla' => 'Das Redaktionssystem dieser Website ist für Besucher zugänglich, die sich angemeldet haben. Nach erfolgreicher Anmeldung können Sie an Artikeln mitarbeiten, eigene Artikel vorschlagen und an allen Diskussionsforen teilnehmen.',
582
-	'pass_forum_bla' => 'Sie möchten in einem Forum für eingetragene Besucher der Website schreiben.',
583
-	'pass_indiquez_cidessous' => 'Bitte geben Sie die E-Mail Adresse an, mit der Sie sich ursprünglich eingetragen haben. Sie erhalten dann eine Mail mit allen erforderlichen Schritten um wieder Zugang zu bekommen.',
584
-	'pass_mail_passcookie' => '(Diese Nachricht wurde automatisch erzeugt)
573
+    // P
574
+    'pass_choix_pass' => 'Bitte geben Sie Ihr neues Passwort ein:',
575
+    'pass_erreur' => 'Fehler',
576
+    'pass_erreur_acces_refuse' => '<b>Fehler:</b> Sie haben keinen Zugang mehr zur Website.',
577
+    'pass_erreur_code_inconnu' => '<b>Fehler:</b> Angabe entspricht keinem Benutzer mit Zugang zu dieser Website.',
578
+    'pass_erreur_non_enregistre' => '<b>Fehler:</b> Die Adresse <tt>@email_oubli@</tt> ist nicht bekannt.',
579
+    'pass_erreur_non_valide' => '<b>Fehler:</b> Diese E-Mail Adresse <tt>@email_oubli@</tt> ist ungültig!',
580
+    'pass_erreur_probleme_technique' => '<b>Fehler:</b> E-Mail kann aufgrund eines technischen Problems nicht gesendet werden.',
581
+    'pass_espace_prive_bla' => 'Das Redaktionssystem dieser Website ist für Besucher zugänglich, die sich angemeldet haben. Nach erfolgreicher Anmeldung können Sie an Artikeln mitarbeiten, eigene Artikel vorschlagen und an allen Diskussionsforen teilnehmen.',
582
+    'pass_forum_bla' => 'Sie möchten in einem Forum für eingetragene Besucher der Website schreiben.',
583
+    'pass_indiquez_cidessous' => 'Bitte geben Sie die E-Mail Adresse an, mit der Sie sich ursprünglich eingetragen haben. Sie erhalten dann eine Mail mit allen erforderlichen Schritten um wieder Zugang zu bekommen.',
584
+    'pass_mail_passcookie' => '(Diese Nachricht wurde automatisch erzeugt)
585 585
 
586 586
 Um sich wieder bei der Website
587 587
 @nom_site_spip@ (@adresse_site@)
@@ -591,136 +591,136 @@  discard block
 block discarded – undo
591 591
 
592 592
 Sie können auf dieser Seite ein neues Passwort eingeben und sich wieder bei der Website einloggen.
593 593
 ',
594
-	'pass_mot_oublie' => 'Passwort vergessen',
595
-	'pass_nouveau_enregistre' => 'Ihr neues Passwort wurde gespeichert.',
596
-	'pass_nouveau_pass' => 'Neues Passwort',
597
-	'pass_ok' => 'O.K.',
598
-	'pass_oubli_mot' => 'Passwort vergessen',
599
-	'pass_procedure_changer' => 'Um Ihr Paßwort zu ändern, geben Sie bitte die Mailadresse Ihres Accounts an.',
600
-	'pass_quitter_fenetre' => 'Dieses Fenster verlassen',
601
-	'pass_rappel_login' => 'Erinnerung: Ihr Login ist «@login@».',
602
-	'pass_recevoir_mail' => 'Ein Link zum Zurücksetzen Ihres Passworts wurde an Ihre E-Mail-Adresse geschickt (sofern diese gültig ist).',
603
-	'pass_retour_public' => 'Zurück zum öffentlichen Bereich',
604
-	'pass_rien_a_faire_ici' => 'Hier ist nichts zu tun.',
605
-	'pass_vousinscrire' => 'Bei dieser Website anmelden',
606
-	'precedent' => 'zurück',
607
-	'previsualisation' => 'Vorschau',
608
-	'previsualiser' => 'Vorschau anzeigen',
594
+    'pass_mot_oublie' => 'Passwort vergessen',
595
+    'pass_nouveau_enregistre' => 'Ihr neues Passwort wurde gespeichert.',
596
+    'pass_nouveau_pass' => 'Neues Passwort',
597
+    'pass_ok' => 'O.K.',
598
+    'pass_oubli_mot' => 'Passwort vergessen',
599
+    'pass_procedure_changer' => 'Um Ihr Paßwort zu ändern, geben Sie bitte die Mailadresse Ihres Accounts an.',
600
+    'pass_quitter_fenetre' => 'Dieses Fenster verlassen',
601
+    'pass_rappel_login' => 'Erinnerung: Ihr Login ist «@login@».',
602
+    'pass_recevoir_mail' => 'Ein Link zum Zurücksetzen Ihres Passworts wurde an Ihre E-Mail-Adresse geschickt (sofern diese gültig ist).',
603
+    'pass_retour_public' => 'Zurück zum öffentlichen Bereich',
604
+    'pass_rien_a_faire_ici' => 'Hier ist nichts zu tun.',
605
+    'pass_vousinscrire' => 'Bei dieser Website anmelden',
606
+    'precedent' => 'zurück',
607
+    'previsualisation' => 'Vorschau',
608
+    'previsualiser' => 'Vorschau anzeigen',
609 609
 
610
-	// R
611
-	'retour' => 'Zurück',
610
+    // R
611
+    'retour' => 'Zurück',
612 612
 
613
-	// S
614
-	'spip_conforme_dtd' => 'SPIP erkennt dieses Dokument als dem DOCTYPE entsprechend:',
615
-	'squelette' => 'Skelett',
616
-	'squelette_inclus_ligne' => 'eingebettetes Skelett, Zeile',
617
-	'squelette_ligne' => 'Skelett, Zeile',
618
-	'stats_visites_et_popularite' => '@visites@ Besuche; Beliebtheit: @popularite@',
619
-	'suivant' => 'weiter',
613
+    // S
614
+    'spip_conforme_dtd' => 'SPIP erkennt dieses Dokument als dem DOCTYPE entsprechend:',
615
+    'squelette' => 'Skelett',
616
+    'squelette_inclus_ligne' => 'eingebettetes Skelett, Zeile',
617
+    'squelette_ligne' => 'Skelett, Zeile',
618
+    'stats_visites_et_popularite' => '@visites@ Besuche; Beliebtheit: @popularite@',
619
+    'suivant' => 'weiter',
620 620
 
621
-	// T
622
-	'taille_go' => '@taille@ Start',
623
-	'taille_ko' => '@taille@ kB',
624
-	'taille_mo' => '@taille@ MB',
625
-	'taille_octets' => '@taille@ Byte',
626
-	'taille_octets_bi' => '@taille@ Byte',
627
-	'texte_actualite_site_1' => 'Wenn Sie sich mit der Oberfläche des Redaktionssystems vertraut gemacht haben, können Sie „',
628
-	'texte_actualite_site_2' => 'den Expertenmodus aktivieren,',
629
-	'texte_actualite_site_3' => 'um zusätzliche Funktionen zu nutzen.',
630
-	'texte_creation_automatique_vignette' => 'Diese Website generiert automatisch Vorschaubilder. Wenn Sie Bilder in den Formaten @gd_formats@ mit diesem Formular installieren, werden Vorschaubilder mit den maximalen Diemsionen @taille_preview@ Pixel angelegt.',
631
-	'texte_documents_associes' => 'Die folgenden Dokumente wurden dem Artikel zugeordnet jedoch nicht direkt in ihn eingefügt. Ja nach Gestaltung der öffentlichen Website können Sie alle beigeordneten Dokumente angezeigt werden (oder auch nicht).',
632
-	'texte_erreur_mise_niveau_base' => 'Datenbankfehler beim Einrichten der neuen Version. Das Bild <b>@fichier@</b> wurde nicht übernommen (Artikel @id_article@).
621
+    // T
622
+    'taille_go' => '@taille@ Start',
623
+    'taille_ko' => '@taille@ kB',
624
+    'taille_mo' => '@taille@ MB',
625
+    'taille_octets' => '@taille@ Byte',
626
+    'taille_octets_bi' => '@taille@ Byte',
627
+    'texte_actualite_site_1' => 'Wenn Sie sich mit der Oberfläche des Redaktionssystems vertraut gemacht haben, können Sie „',
628
+    'texte_actualite_site_2' => 'den Expertenmodus aktivieren,',
629
+    'texte_actualite_site_3' => 'um zusätzliche Funktionen zu nutzen.',
630
+    'texte_creation_automatique_vignette' => 'Diese Website generiert automatisch Vorschaubilder. Wenn Sie Bilder in den Formaten @gd_formats@ mit diesem Formular installieren, werden Vorschaubilder mit den maximalen Diemsionen @taille_preview@ Pixel angelegt.',
631
+    'texte_documents_associes' => 'Die folgenden Dokumente wurden dem Artikel zugeordnet jedoch nicht direkt in ihn eingefügt. Ja nach Gestaltung der öffentlichen Website können Sie alle beigeordneten Dokumente angezeigt werden (oder auch nicht).',
632
+    'texte_erreur_mise_niveau_base' => 'Datenbankfehler beim Einrichten der neuen Version. Das Bild <b>@fichier@</b> wurde nicht übernommen (Artikel @id_article@).
633 633
  Bitte notieren Sie diesen Hinweis, starten Sie die Aktualisierung erneut und prüfen Sie, ob die Bilder
634 634
  in den Artikeln angezeigt werden.',
635
-	'texte_erreur_visiteur' => 'Sie haben versucht, sich mit einer Identität einzuloggen, die dazu nicht berechtigt.',
636
-	'texte_inc_auth_1' => 'Sie sind angemeldet als <b>@auth_login@</b>, aber diese ID existiert nicht bzw. nicht mehr in der Datenbank.
635
+    'texte_erreur_visiteur' => 'Sie haben versucht, sich mit einer Identität einzuloggen, die dazu nicht berechtigt.',
636
+    'texte_inc_auth_1' => 'Sie sind angemeldet als <b>@auth_login@</b>, aber diese ID existiert nicht bzw. nicht mehr in der Datenbank.
637 637
  Versuchen Sie,',
638
-	'texte_inc_auth_2' => 'sich erneut anzumelden',
639
-	'texte_inc_auth_3' => ', nachdem Sie u.U. Ihren Webbrowser neu gestartet haben.',
640
-	'texte_inc_config' => 'Die hier möglichten Einstellungen beeinflussen das grundsätzliche Verhalten Ihrer Website. Wir raten dringend, sie nur zu ändern, wenn Sie vollständig mit der Funktionsweise von SPIP vertraut sind.<br /><br /><b>Es ist ebenfalls mehr als ratsam, diese Einstellungen nur von Ihrem Haupt-Administrator vornehmen zu lassen.</b>',
641
-	'texte_inc_meta_1' => 'Das System konnte die Datei <code>@fichier@</code> nicht speichern. Bitte prüfen Sie als Administrator ',
642
-	'texte_inc_meta_2' => 'die Berechtigungen',
643
-	'texte_inc_meta_3' => 'für das Verzeichnis <code>@repertoire@</code>.',
644
-	'texte_statut_en_cours_redaction' => 'in Bearbeitung',
645
-	'texte_statut_poubelle' => 'im Mülleimer',
646
-	'texte_statut_propose_evaluation' => 'vorgeschlagen',
647
-	'texte_statut_publie' => 'veröffentlicht',
648
-	'texte_statut_refuse' => 'abgelehnt',
649
-	'titre_ajouter_mot_cle' => 'SCHLAGWORT ZUORDNEN:',
650
-	'titre_cadre_raccourcis' => 'SCHNELLZUGANG:',
651
-	'titre_changer_couleur_interface' => 'Farbe der Oberfläche ändern',
652
-	'titre_image_admin_article' => 'Sie können diesen Artikel verwalten',
653
-	'titre_image_administrateur' => 'Administrator',
654
-	'titre_image_aide' => 'Hilfe zu diesem Element',
655
-	'titre_image_auteur_supprime' => 'gelöschter Autor',
656
-	'titre_image_redacteur' => 'Redakteur ohne Systemzugang',
657
-	'titre_image_redacteur_02' => 'Redakteur',
658
-	'titre_image_selecteur' => 'Liste anzeigen',
659
-	'titre_image_visiteur' => 'Besucher',
660
-	'titre_joindre_document' => 'DOKUMENT ANFÜGEN',
661
-	'titre_mots_cles' => 'SCHLAGWORTE',
662
-	'titre_probleme_technique' => 'Achtung! Ein Problem mit dem SQL Server verhindert den Zugang zu diesem Teil der Website. Danke für Ihr Verständnis.',
663
-	'titre_publier_document' => 'DOKUMENT IN DIESER RUBRIK VERÖFFENTLICHEN',
664
-	'titre_signatures_attente' => 'Nicht bestätigte Unterschriften',
665
-	'titre_signatures_confirmees' => 'Bestätigte Unterschriften',
666
-	'titre_statistiques' => 'Statistiken',
667
-	'titre_titre_document' => 'Titel des Dokuments:',
668
-	'todo' => 'demnächst',
669
-	'trad_definir_reference' => 'Wählen Sie "@titre@" als Referenz für Übersetzungen',
670
-	'trad_reference' => '(Referenzartikel)',
638
+    'texte_inc_auth_2' => 'sich erneut anzumelden',
639
+    'texte_inc_auth_3' => ', nachdem Sie u.U. Ihren Webbrowser neu gestartet haben.',
640
+    'texte_inc_config' => 'Die hier möglichten Einstellungen beeinflussen das grundsätzliche Verhalten Ihrer Website. Wir raten dringend, sie nur zu ändern, wenn Sie vollständig mit der Funktionsweise von SPIP vertraut sind.<br /><br /><b>Es ist ebenfalls mehr als ratsam, diese Einstellungen nur von Ihrem Haupt-Administrator vornehmen zu lassen.</b>',
641
+    'texte_inc_meta_1' => 'Das System konnte die Datei <code>@fichier@</code> nicht speichern. Bitte prüfen Sie als Administrator ',
642
+    'texte_inc_meta_2' => 'die Berechtigungen',
643
+    'texte_inc_meta_3' => 'für das Verzeichnis <code>@repertoire@</code>.',
644
+    'texte_statut_en_cours_redaction' => 'in Bearbeitung',
645
+    'texte_statut_poubelle' => 'im Mülleimer',
646
+    'texte_statut_propose_evaluation' => 'vorgeschlagen',
647
+    'texte_statut_publie' => 'veröffentlicht',
648
+    'texte_statut_refuse' => 'abgelehnt',
649
+    'titre_ajouter_mot_cle' => 'SCHLAGWORT ZUORDNEN:',
650
+    'titre_cadre_raccourcis' => 'SCHNELLZUGANG:',
651
+    'titre_changer_couleur_interface' => 'Farbe der Oberfläche ändern',
652
+    'titre_image_admin_article' => 'Sie können diesen Artikel verwalten',
653
+    'titre_image_administrateur' => 'Administrator',
654
+    'titre_image_aide' => 'Hilfe zu diesem Element',
655
+    'titre_image_auteur_supprime' => 'gelöschter Autor',
656
+    'titre_image_redacteur' => 'Redakteur ohne Systemzugang',
657
+    'titre_image_redacteur_02' => 'Redakteur',
658
+    'titre_image_selecteur' => 'Liste anzeigen',
659
+    'titre_image_visiteur' => 'Besucher',
660
+    'titre_joindre_document' => 'DOKUMENT ANFÜGEN',
661
+    'titre_mots_cles' => 'SCHLAGWORTE',
662
+    'titre_probleme_technique' => 'Achtung! Ein Problem mit dem SQL Server verhindert den Zugang zu diesem Teil der Website. Danke für Ihr Verständnis.',
663
+    'titre_publier_document' => 'DOKUMENT IN DIESER RUBRIK VERÖFFENTLICHEN',
664
+    'titre_signatures_attente' => 'Nicht bestätigte Unterschriften',
665
+    'titre_signatures_confirmees' => 'Bestätigte Unterschriften',
666
+    'titre_statistiques' => 'Statistiken',
667
+    'titre_titre_document' => 'Titel des Dokuments:',
668
+    'todo' => 'demnächst',
669
+    'trad_definir_reference' => 'Wählen Sie "@titre@" als Referenz für Übersetzungen',
670
+    'trad_reference' => '(Referenzartikel)',
671 671
 
672
-	// U
673
-	'upload_limit' => 'Die Datei ist zu groß für den Server; die maximal erlaubte Dateigröße für den <i>Upload</i> ist @max@.',
672
+    // U
673
+    'upload_limit' => 'Die Datei ist zu groß für den Server; die maximal erlaubte Dateigröße für den <i>Upload</i> ist @max@.',
674 674
 
675
-	// Z
676
-	'zbug_balise_b_aval' => ' : Tag B muss vor der Schleife stehen',
677
-	'zbug_balise_inexistante' => 'Fehler: Der Tag @balise@ wurde nicht richtig für  @from@ deklariert.',
678
-	'zbug_balise_sans_argument' => 'Dem Tag @balise@ fehlt ein Parameter',
679
-	'zbug_boucle' => 'Schleife',
680
-	'zbug_boucle_recursive_undef' => 'Die rekursive Schleife @nom@ ist nicht definiert',
681
-	'zbug_calcul' => 'berechnen',
682
-	'zbug_champ_hors_boucle' => 'Feld @champ@ ausserhalb einer Schleife',
683
-	'zbug_champ_hors_critere' => 'Feld @champ@ ohne Kriterium @critere@',
684
-	'zbug_champ_hors_motif' => 'Feld @champ@ befindet sich ausserhalb eines Kontexts @motif@',
685
-	'zbug_code' => 'Code',
686
-	'zbug_critere_inconnu' => 'Unbekanntes Kriterium @critere@',
687
-	'zbug_critere_sur_table_sans_cle_primaire' => '{@critere@} für eine Tabelle ohne eindeutigen Schlüssel',
688
-	'zbug_distant_interdit' => 'Extern unzulässig',
689
-	'zbug_doublon_table_sans_cle_primaire' => 'Dublette in einer Tabelle ohne eindeutigen Primärschlüssel',
690
-	'zbug_doublon_table_sans_index' => 'Dublette in Tabelle ohne Index',
691
-	'zbug_erreur_boucle_double' => 'Schleife (BOUCLE) @id@ doppelt vorhanden',
692
-	'zbug_erreur_boucle_fermant' => 'Schleife (BOUCLE) @id@: Schluss-Tag fehlt',
693
-	'zbug_erreur_boucle_syntaxe' => 'Syntax der Schleife @id@ fehlerhaft',
694
-	'zbug_erreur_compilation' => 'Fehler beim Kompilieren',
695
-	'zbug_erreur_execution_page' => 'Fehler beim Ausführen',
696
-	'zbug_erreur_filtre' => 'Der Filter @filtre@ ist nicht definiert.',
697
-	'zbug_erreur_filtre_nbarg_min' => 'Filter @filtre@: es fehlen @nb@ Argument(e)',
698
-	'zbug_erreur_meme_parent' => 'Das Kriterium {meme_parent} funktioniert nur mit den Schleifen (FORUMS) und (RUBRIQUES).',
699
-	'zbug_erreur_squelette' => 'Fehler in Layoutvorlage (Skelett)',
700
-	'zbug_hors_compilation' => 'Außerhalb der Kompilation',
701
-	'zbug_info_erreur_squelette' => 'Irrtum auf der Seite',
702
-	'zbug_inversion_ordre_inexistant' => 'Umkehrung einer inexistenten Sortierung ',
703
-	'zbug_pagination_sans_critere' => '#PAGINATION ohne Kriterium {pagination} oder in rekursiver Schleife',
704
-	'zbug_parametres_inclus_incorrects' => 'INCLUDE-Parameter fehlerhaft: @param@',
705
-	'zbug_profile' => 'Rechenzeit: @time@',
706
-	'zbug_resultat' => 'Ergebnis',
707
-	'zbug_serveur_indefini' => 'SQL-Server nicht definiert',
708
-	'zbug_statistiques' => 'Statistik der SQL Abfragen nach Dauer',
709
-	'zbug_table_inconnue' => 'SQL-Tabelle « @table@ » unbekannt',
710
-	'zxml_connus_attributs' => 'bekannte Attribute',
711
-	'zxml_de' => 'von',
712
-	'zxml_inconnu_attribut' => 'Attribut unbekannt',
713
-	'zxml_inconnu_balise' => 'Tag unbekannt',
714
-	'zxml_inconnu_entite' => 'Entity unbekannt',
715
-	'zxml_inconnu_id' => 'ID unbekannt',
716
-	'zxml_mais_de' => 'aber',
717
-	'zxml_non_conforme' => 'entspricht nicht dem Motiv',
718
-	'zxml_non_fils' => 'ist kein Kind von',
719
-	'zxml_nonvide_balise' => 'kein leerer Tag',
720
-	'zxml_obligatoire_attribut' => 'obligatorisches Attribut fehlt in',
721
-	'zxml_succession_fils_incorrecte' => 'Objektreihenfolge inkorrekt',
722
-	'zxml_survoler' => 'Mouseover zeigt korrekte',
723
-	'zxml_valeur_attribut' => 'Attributwert',
724
-	'zxml_vide_balise' => 'leerer Tag',
725
-	'zxml_vu' => 'bereits gesehen'
675
+    // Z
676
+    'zbug_balise_b_aval' => ' : Tag B muss vor der Schleife stehen',
677
+    'zbug_balise_inexistante' => 'Fehler: Der Tag @balise@ wurde nicht richtig für  @from@ deklariert.',
678
+    'zbug_balise_sans_argument' => 'Dem Tag @balise@ fehlt ein Parameter',
679
+    'zbug_boucle' => 'Schleife',
680
+    'zbug_boucle_recursive_undef' => 'Die rekursive Schleife @nom@ ist nicht definiert',
681
+    'zbug_calcul' => 'berechnen',
682
+    'zbug_champ_hors_boucle' => 'Feld @champ@ ausserhalb einer Schleife',
683
+    'zbug_champ_hors_critere' => 'Feld @champ@ ohne Kriterium @critere@',
684
+    'zbug_champ_hors_motif' => 'Feld @champ@ befindet sich ausserhalb eines Kontexts @motif@',
685
+    'zbug_code' => 'Code',
686
+    'zbug_critere_inconnu' => 'Unbekanntes Kriterium @critere@',
687
+    'zbug_critere_sur_table_sans_cle_primaire' => '{@critere@} für eine Tabelle ohne eindeutigen Schlüssel',
688
+    'zbug_distant_interdit' => 'Extern unzulässig',
689
+    'zbug_doublon_table_sans_cle_primaire' => 'Dublette in einer Tabelle ohne eindeutigen Primärschlüssel',
690
+    'zbug_doublon_table_sans_index' => 'Dublette in Tabelle ohne Index',
691
+    'zbug_erreur_boucle_double' => 'Schleife (BOUCLE) @id@ doppelt vorhanden',
692
+    'zbug_erreur_boucle_fermant' => 'Schleife (BOUCLE) @id@: Schluss-Tag fehlt',
693
+    'zbug_erreur_boucle_syntaxe' => 'Syntax der Schleife @id@ fehlerhaft',
694
+    'zbug_erreur_compilation' => 'Fehler beim Kompilieren',
695
+    'zbug_erreur_execution_page' => 'Fehler beim Ausführen',
696
+    'zbug_erreur_filtre' => 'Der Filter @filtre@ ist nicht definiert.',
697
+    'zbug_erreur_filtre_nbarg_min' => 'Filter @filtre@: es fehlen @nb@ Argument(e)',
698
+    'zbug_erreur_meme_parent' => 'Das Kriterium {meme_parent} funktioniert nur mit den Schleifen (FORUMS) und (RUBRIQUES).',
699
+    'zbug_erreur_squelette' => 'Fehler in Layoutvorlage (Skelett)',
700
+    'zbug_hors_compilation' => 'Außerhalb der Kompilation',
701
+    'zbug_info_erreur_squelette' => 'Irrtum auf der Seite',
702
+    'zbug_inversion_ordre_inexistant' => 'Umkehrung einer inexistenten Sortierung ',
703
+    'zbug_pagination_sans_critere' => '#PAGINATION ohne Kriterium {pagination} oder in rekursiver Schleife',
704
+    'zbug_parametres_inclus_incorrects' => 'INCLUDE-Parameter fehlerhaft: @param@',
705
+    'zbug_profile' => 'Rechenzeit: @time@',
706
+    'zbug_resultat' => 'Ergebnis',
707
+    'zbug_serveur_indefini' => 'SQL-Server nicht definiert',
708
+    'zbug_statistiques' => 'Statistik der SQL Abfragen nach Dauer',
709
+    'zbug_table_inconnue' => 'SQL-Tabelle « @table@ » unbekannt',
710
+    'zxml_connus_attributs' => 'bekannte Attribute',
711
+    'zxml_de' => 'von',
712
+    'zxml_inconnu_attribut' => 'Attribut unbekannt',
713
+    'zxml_inconnu_balise' => 'Tag unbekannt',
714
+    'zxml_inconnu_entite' => 'Entity unbekannt',
715
+    'zxml_inconnu_id' => 'ID unbekannt',
716
+    'zxml_mais_de' => 'aber',
717
+    'zxml_non_conforme' => 'entspricht nicht dem Motiv',
718
+    'zxml_non_fils' => 'ist kein Kind von',
719
+    'zxml_nonvide_balise' => 'kein leerer Tag',
720
+    'zxml_obligatoire_attribut' => 'obligatorisches Attribut fehlt in',
721
+    'zxml_succession_fils_incorrecte' => 'Objektreihenfolge inkorrekt',
722
+    'zxml_survoler' => 'Mouseover zeigt korrekte',
723
+    'zxml_valeur_attribut' => 'Attributwert',
724
+    'zxml_vide_balise' => 'leerer Tag',
725
+    'zxml_vu' => 'bereits gesehen'
726 726
 );
Please login to merge, or discard this patch.