Completed
Push — master ( d9afd7...afcd40 )
by cam
01:15
created
prive/formulaires/configurer_redacteurs.php 1 patch
Indentation   +35 added lines, -35 removed lines patch added patch discarded remove patch
@@ -11,46 +11,46 @@
 block discarded – undo
11 11
 \***************************************************************************/
12 12
 
13 13
 if (!defined('_ECRIRE_INC_VERSION')) {
14
-	return;
14
+    return;
15 15
 }
16 16
 
17 17
 function formulaires_configurer_redacteurs_charger_dist() {
18
-	$valeurs = [];
19
-	foreach (
20
-		[
21
-			'accepter_inscriptions',
22
-		] as $m
23
-	) {
24
-		$valeurs[$m] = $GLOBALS['meta'][$m];
25
-	}
26
-
27
-	return $valeurs;
18
+    $valeurs = [];
19
+    foreach (
20
+        [
21
+            'accepter_inscriptions',
22
+        ] as $m
23
+    ) {
24
+        $valeurs[$m] = $GLOBALS['meta'][$m];
25
+    }
26
+
27
+    return $valeurs;
28 28
 }
29 29
 
30 30
 
31 31
 function formulaires_configurer_redacteurs_traiter_dist() {
32
-	$res = ['editable' => true];
33
-	// Modification du reglage accepter_inscriptions => vider le cache
34
-	// (pour repercuter la modif sur le panneau de login)
35
-	if (
36
-		($i = _request('accepter_inscriptions')
37
-		and $i != $GLOBALS['meta']['accepter_inscriptions'])
38
-	) {
39
-		include_spip('inc/invalideur');
40
-		suivre_invalideur('1'); # tout effacer
41
-	}
42
-
43
-	foreach (
44
-		[
45
-			'accepter_inscriptions',
46
-		] as $m
47
-	) {
48
-		if (!is_null($v = _request($m))) {
49
-			ecrire_meta($m, $v == 'oui' ? 'oui' : 'non');
50
-		}
51
-	}
52
-
53
-	$res['message_ok'] = _T('config_info_enregistree');
54
-
55
-	return $res;
32
+    $res = ['editable' => true];
33
+    // Modification du reglage accepter_inscriptions => vider le cache
34
+    // (pour repercuter la modif sur le panneau de login)
35
+    if (
36
+        ($i = _request('accepter_inscriptions')
37
+        and $i != $GLOBALS['meta']['accepter_inscriptions'])
38
+    ) {
39
+        include_spip('inc/invalideur');
40
+        suivre_invalideur('1'); # tout effacer
41
+    }
42
+
43
+    foreach (
44
+        [
45
+            'accepter_inscriptions',
46
+        ] as $m
47
+    ) {
48
+        if (!is_null($v = _request($m))) {
49
+            ecrire_meta($m, $v == 'oui' ? 'oui' : 'non');
50
+        }
51
+    }
52
+
53
+    $res['message_ok'] = _T('config_info_enregistree');
54
+
55
+    return $res;
56 56
 }
Please login to merge, or discard this patch.
ecrire/lang/spip_en.php 1 patch
Indentation   +668 added lines, -668 removed lines patch added patch discarded remove patch
@@ -4,247 +4,247 @@  discard block
 block discarded – undo
4 4
 // ** ne pas modifier le fichier **
5 5
 
6 6
 if (!defined('_ECRIRE_INC_VERSION')) {
7
-	return;
7
+    return;
8 8
 }
9 9
 
10 10
 $GLOBALS[$GLOBALS['idx_lang']] = array(
11 11
 
12
-	// A
13
-	'access_interface_graphique' => 'Back to the full graphic interface',
14
-	'access_mode_texte' => 'Show the simplified text interface',
15
-	'admin_debug' => 'debug',
16
-	'admin_modifier_article' => 'Modify this article',
17
-	'admin_modifier_auteur' => 'Modify this author',
18
-	'admin_modifier_breve' => 'Modify this news item',
19
-	'admin_modifier_mot' => 'Modify this keyword',
20
-	'admin_modifier_rubrique' => 'Modify this section',
21
-	'admin_recalculer' => 'Re-process this page',
22
-	'afficher_calendrier' => 'Show the calendar',
23
-	'afficher_trad' => 'show translations',
24
-	'alerte_maj_impossible' => '<b>Warning!</b> Failed to update the SQL database to version @version@. This may be due to a permissions problem on the database. Please contact your ISP.',
25
-	'alerte_modif_info_concourante' => 'WARNING: This information has been modified elsewhere. The current value is :',
26
-	'analyse_xml' => 'XML parsing',
27
-	'annuler' => 'Cancel',
28
-	'antispam_champ_vide' => 'Please leave this field empty:',
29
-	'articles_recents' => 'Most recent articles',
30
-	'attention_champ_mini_nb_caractères' => 'Warning! At least @nb@ characters',
31
-	'avis_1_erreur_saisie' => 'Your entry contains an error, please check your information.',
32
-	'avis_archive_incorrect' => 'archive is not a valid SPIP file',
33
-	'avis_archive_invalide' => 'archive file is not valid',
34
-	'avis_attention' => 'CAUTION!',
35
-	'avis_champ_incorrect_type_objet' => 'Invalid field name @name@ for object of type @type@',
36
-	'avis_colonne_inexistante' => 'Column @col@ does not exist',
37
-	'avis_erreur' => 'Error: see below',
38
-	'avis_erreur_connexion' => 'Connection error',
39
-	'avis_erreur_cookie' => 'cookie problem',
40
-	'avis_erreur_fonction_contexte' => 'Programming error. This function cannot be called in this context.',
41
-	'avis_erreur_mysql' => 'SQL error',
42
-	'avis_erreur_sauvegarde' => 'Error in backup (@type@ @id_objet@)!',
43
-	'avis_erreur_visiteur' => 'Problem entering the private area',
44
-	'avis_nb_erreurs_saisie' => 'Your entry contains @nb@ errors, please check your information.',
12
+    // A
13
+    'access_interface_graphique' => 'Back to the full graphic interface',
14
+    'access_mode_texte' => 'Show the simplified text interface',
15
+    'admin_debug' => 'debug',
16
+    'admin_modifier_article' => 'Modify this article',
17
+    'admin_modifier_auteur' => 'Modify this author',
18
+    'admin_modifier_breve' => 'Modify this news item',
19
+    'admin_modifier_mot' => 'Modify this keyword',
20
+    'admin_modifier_rubrique' => 'Modify this section',
21
+    'admin_recalculer' => 'Re-process this page',
22
+    'afficher_calendrier' => 'Show the calendar',
23
+    'afficher_trad' => 'show translations',
24
+    'alerte_maj_impossible' => '<b>Warning!</b> Failed to update the SQL database to version @version@. This may be due to a permissions problem on the database. Please contact your ISP.',
25
+    'alerte_modif_info_concourante' => 'WARNING: This information has been modified elsewhere. The current value is :',
26
+    'analyse_xml' => 'XML parsing',
27
+    'annuler' => 'Cancel',
28
+    'antispam_champ_vide' => 'Please leave this field empty:',
29
+    'articles_recents' => 'Most recent articles',
30
+    'attention_champ_mini_nb_caractères' => 'Warning! At least @nb@ characters',
31
+    'avis_1_erreur_saisie' => 'Your entry contains an error, please check your information.',
32
+    'avis_archive_incorrect' => 'archive is not a valid SPIP file',
33
+    'avis_archive_invalide' => 'archive file is not valid',
34
+    'avis_attention' => 'CAUTION!',
35
+    'avis_champ_incorrect_type_objet' => 'Invalid field name @name@ for object of type @type@',
36
+    'avis_colonne_inexistante' => 'Column @col@ does not exist',
37
+    'avis_erreur' => 'Error: see below',
38
+    'avis_erreur_connexion' => 'Connection error',
39
+    'avis_erreur_cookie' => 'cookie problem',
40
+    'avis_erreur_fonction_contexte' => 'Programming error. This function cannot be called in this context.',
41
+    'avis_erreur_mysql' => 'SQL error',
42
+    'avis_erreur_sauvegarde' => 'Error in backup (@type@ @id_objet@)!',
43
+    'avis_erreur_visiteur' => 'Problem entering the private area',
44
+    'avis_nb_erreurs_saisie' => 'Your entry contains @nb@ errors, please check your information.',
45 45
 
46
-	// B
47
-	'barre_a_accent_grave' => 'Insert a capital A with grave accent',
48
-	'barre_aide' => 'Use the typographic short cuts to refine your layout',
49
-	'barre_e_accent_aigu' => 'Insert a capital E with acute accent',
50
-	'barre_eo' => 'Insert an oe-ligature',
51
-	'barre_eo_maj' => 'Insert a capital EO-ligature',
52
-	'barre_euro' => 'Insert a € symbol',
53
-	'barre_gras' => 'Put in {{bold type}}',
54
-	'barre_guillemets' => 'Place between "double quotes"',
55
-	'barre_guillemets_simples' => 'Place between ‘single quotes’',
56
-	'barre_intertitre' => 'Turn into a {{{subheading}}}',
57
-	'barre_italic' => 'Put in {italics}',
58
-	'barre_lien' => 'Turn into a [hyperlink->http://...]',
59
-	'barre_lien_input' => 'Please enter the link address. You may use either an external URL (http://www.mysite.com) or reference another article on this site by simplying entering its number.',
60
-	'barre_note' => 'Turn into a [[Footnote]]',
61
-	'barre_paragraphe' => 'Create a paragraph',
62
-	'barre_quote' => '<quote>Quote a message</quote>',
63
-	'bouton_changer' => 'Change',
64
-	'bouton_chercher' => 'Search',
65
-	'bouton_choisir' => 'Select',
66
-	'bouton_deplacer' => 'Move',
67
-	'bouton_download' => 'Download',
68
-	'bouton_enregistrer' => 'Save',
69
-	'bouton_radio_desactiver_messagerie_interne' => 'Disable internal messaging',
70
-	'bouton_radio_envoi_annonces' => 'Send editorial announcements',
71
-	'bouton_radio_non_envoi_annonces' => 'Do not send any announcements',
72
-	'bouton_radio_non_envoi_liste_nouveautes' => 'Do not send latest news list',
73
-	'bouton_recharger_page' => 'reload this page',
74
-	'bouton_telecharger' => 'Upload',
75
-	'bouton_upload' => 'Upload',
76
-	'bouton_valider' => 'Submit',
46
+    // B
47
+    'barre_a_accent_grave' => 'Insert a capital A with grave accent',
48
+    'barre_aide' => 'Use the typographic short cuts to refine your layout',
49
+    'barre_e_accent_aigu' => 'Insert a capital E with acute accent',
50
+    'barre_eo' => 'Insert an oe-ligature',
51
+    'barre_eo_maj' => 'Insert a capital EO-ligature',
52
+    'barre_euro' => 'Insert a € symbol',
53
+    'barre_gras' => 'Put in {{bold type}}',
54
+    'barre_guillemets' => 'Place between "double quotes"',
55
+    'barre_guillemets_simples' => 'Place between ‘single quotes’',
56
+    'barre_intertitre' => 'Turn into a {{{subheading}}}',
57
+    'barre_italic' => 'Put in {italics}',
58
+    'barre_lien' => 'Turn into a [hyperlink->http://...]',
59
+    'barre_lien_input' => 'Please enter the link address. You may use either an external URL (http://www.mysite.com) or reference another article on this site by simplying entering its number.',
60
+    'barre_note' => 'Turn into a [[Footnote]]',
61
+    'barre_paragraphe' => 'Create a paragraph',
62
+    'barre_quote' => '<quote>Quote a message</quote>',
63
+    'bouton_changer' => 'Change',
64
+    'bouton_chercher' => 'Search',
65
+    'bouton_choisir' => 'Select',
66
+    'bouton_deplacer' => 'Move',
67
+    'bouton_download' => 'Download',
68
+    'bouton_enregistrer' => 'Save',
69
+    'bouton_radio_desactiver_messagerie_interne' => 'Disable internal messaging',
70
+    'bouton_radio_envoi_annonces' => 'Send editorial announcements',
71
+    'bouton_radio_non_envoi_annonces' => 'Do not send any announcements',
72
+    'bouton_radio_non_envoi_liste_nouveautes' => 'Do not send latest news list',
73
+    'bouton_recharger_page' => 'reload this page',
74
+    'bouton_telecharger' => 'Upload',
75
+    'bouton_upload' => 'Upload',
76
+    'bouton_valider' => 'Submit',
77 77
 
78
-	// C
79
-	'cal_apresmidi' => 'afternoon (p.m.)',
80
-	'cal_jour_entier' => 'entire day',
81
-	'cal_matin' => 'morning (a.m.)',
82
-	'cal_par_jour' => 'daily calendar',
83
-	'cal_par_mois' => 'monthly calendar',
84
-	'cal_par_semaine' => 'weekly calendar',
85
-	'choix_couleur_interface' => 'colour',
86
-	'choix_interface' => 'choice of interface',
87
-	'colonne' => 'Column',
88
-	'confirm_changer_statut' => 'Warning: You are about to change this article’s status. Do you wish to continue?',
89
-	'correcte' => 'correct',
78
+    // C
79
+    'cal_apresmidi' => 'afternoon (p.m.)',
80
+    'cal_jour_entier' => 'entire day',
81
+    'cal_matin' => 'morning (a.m.)',
82
+    'cal_par_jour' => 'daily calendar',
83
+    'cal_par_mois' => 'monthly calendar',
84
+    'cal_par_semaine' => 'weekly calendar',
85
+    'choix_couleur_interface' => 'colour',
86
+    'choix_interface' => 'choice of interface',
87
+    'colonne' => 'Column',
88
+    'confirm_changer_statut' => 'Warning: You are about to change this article’s status. Do you wish to continue?',
89
+    'correcte' => 'correct',
90 90
 
91
-	// D
92
-	'date_aujourdhui' => 'today',
93
-	'date_avant_jc' => 'B.C.',
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' => 'tomorrow',
108
-	'date_fmt_heures_minutes' => '@h@:@m@',
109
-	'date_fmt_heures_minutes_court' => '@h@:@m@',
110
-	'date_fmt_jour' => '@nomjour@ @jour@',
111
-	'date_fmt_jour_heure' => '@jour@ at @heure@',
112
-	'date_fmt_jour_heure_debut_fin' => '@jour@ from @heure_debut@ to @heure_fin@',
113
-	'date_fmt_jour_heure_debut_fin_abbr' => '@dtstart@@jour@ from @heure_debut@@dtabbr@ to @dtend@@heure_fin@@dtabbr@',
114
-	'date_fmt_jour_mois' => '@jourmois@',
115
-	'date_fmt_jour_mois_annee' => '@jourmois@ @annee@',
116
-	'date_fmt_mois_annee' => '@nommois@ @annee@',
117
-	'date_fmt_nomjour' => '@nomjour@ @date@',
118
-	'date_fmt_nomjour_date' => 'on @nomjour@ @date@',
119
-	'date_fmt_periode' => 'From @date_debut@ to @date_fin@',
120
-	'date_fmt_periode_abbr' => 'From @dtart@@date_debut@@dtabbr@ to @dtend@@date_fin@@dtabbr@',
121
-	'date_fmt_periode_from' => 'From',
122
-	'date_fmt_periode_to' => 'to',
123
-	'date_fmt_saison_annee' => '@saison@ @annee@',
124
-	'date_heures' => 'hours',
125
-	'date_hier' => 'yesterday',
126
-	'date_il_y_a' => '@delai@ ago',
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' => 'Sunday',
159
-	'date_jour_1_abbr' => 'Sun.',
160
-	'date_jour_1_initiale' => 'S.',
161
-	'date_jour_2' => 'Monday',
162
-	'date_jour_2_abbr' => 'Mon.',
163
-	'date_jour_2_initiale' => 'M.',
164
-	'date_jour_3' => 'Tuesday',
165
-	'date_jour_3_abbr' => 'Tue.',
166
-	'date_jour_3_initiale' => 'T.',
167
-	'date_jour_4' => 'Wednesday',
168
-	'date_jour_4_abbr' => 'Wed.',
169
-	'date_jour_4_initiale' => 'W.',
170
-	'date_jour_5' => 'Thursday',
171
-	'date_jour_5_abbr' => 'Thu.',
172
-	'date_jour_5_initiale' => 'T.',
173
-	'date_jour_6' => 'Friday',
174
-	'date_jour_6_abbr' => 'Fri.',
175
-	'date_jour_6_initiale' => 'F.',
176
-	'date_jour_7' => 'Saturday',
177
-	'date_jour_7_abbr' => 'Sat.',
178
-	'date_jour_7_initiale' => 'S.',
179
-	'date_jours' => 'days',
180
-	'date_minutes' => 'minutes',
181
-	'date_mois' => 'months',
182
-	'date_mois_1' => 'January',
183
-	'date_mois_10' => 'October',
184
-	'date_mois_10_abbr' => 'Oct',
185
-	'date_mois_11' => 'November',
186
-	'date_mois_11_abbr' => 'Nov',
187
-	'date_mois_12' => 'December',
188
-	'date_mois_12_abbr' => 'Dec',
189
-	'date_mois_1_abbr' => 'Jan',
190
-	'date_mois_2' => 'February',
191
-	'date_mois_2_abbr' => 'Feb',
192
-	'date_mois_3' => 'March',
193
-	'date_mois_3_abbr' => 'Mar',
194
-	'date_mois_4' => 'April',
195
-	'date_mois_4_abbr' => 'Apr',
196
-	'date_mois_5' => 'May',
197
-	'date_mois_5_abbr' => 'May',
198
-	'date_mois_6' => 'June',
199
-	'date_mois_6_abbr' => 'Jun',
200
-	'date_mois_7' => 'July',
201
-	'date_mois_7_abbr' => 'Jul',
202
-	'date_mois_8' => 'August',
203
-	'date_mois_8_abbr' => 'Aug',
204
-	'date_mois_9' => 'September',
205
-	'date_mois_9_abbr' => 'Sep',
206
-	'date_saison_1' => 'winter',
207
-	'date_saison_2' => 'spring',
208
-	'date_saison_3' => 'summer',
209
-	'date_saison_4' => 'autumn',
210
-	'date_secondes' => 'seconds',
211
-	'date_semaines' => 'weeks',
212
-	'date_un_mois' => 'month',
213
-	'date_une_heure' => 'hour',
214
-	'date_une_minute' => 'minute',
215
-	'date_une_seconde' => 'second',
216
-	'date_une_semaine' => 'week',
217
-	'dirs_commencer' => ' in order to start installation for real',
218
-	'dirs_preliminaire' => 'Preliminary: <b>Setting up access permissions</b>',
219
-	'dirs_probleme_droits' => 'Problem with access permissions',
220
-	'dirs_repertoires_absents' => '<p><b>The following directories were not found: </b></p><ul>@bad_dirs@.</ul>
91
+    // D
92
+    'date_aujourdhui' => 'today',
93
+    'date_avant_jc' => 'B.C.',
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' => 'tomorrow',
108
+    'date_fmt_heures_minutes' => '@h@:@m@',
109
+    'date_fmt_heures_minutes_court' => '@h@:@m@',
110
+    'date_fmt_jour' => '@nomjour@ @jour@',
111
+    'date_fmt_jour_heure' => '@jour@ at @heure@',
112
+    'date_fmt_jour_heure_debut_fin' => '@jour@ from @heure_debut@ to @heure_fin@',
113
+    'date_fmt_jour_heure_debut_fin_abbr' => '@dtstart@@jour@ from @heure_debut@@dtabbr@ to @dtend@@heure_fin@@dtabbr@',
114
+    'date_fmt_jour_mois' => '@jourmois@',
115
+    'date_fmt_jour_mois_annee' => '@jourmois@ @annee@',
116
+    'date_fmt_mois_annee' => '@nommois@ @annee@',
117
+    'date_fmt_nomjour' => '@nomjour@ @date@',
118
+    'date_fmt_nomjour_date' => 'on @nomjour@ @date@',
119
+    'date_fmt_periode' => 'From @date_debut@ to @date_fin@',
120
+    'date_fmt_periode_abbr' => 'From @dtart@@date_debut@@dtabbr@ to @dtend@@date_fin@@dtabbr@',
121
+    'date_fmt_periode_from' => 'From',
122
+    'date_fmt_periode_to' => 'to',
123
+    'date_fmt_saison_annee' => '@saison@ @annee@',
124
+    'date_heures' => 'hours',
125
+    'date_hier' => 'yesterday',
126
+    'date_il_y_a' => '@delai@ ago',
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' => 'Sunday',
159
+    'date_jour_1_abbr' => 'Sun.',
160
+    'date_jour_1_initiale' => 'S.',
161
+    'date_jour_2' => 'Monday',
162
+    'date_jour_2_abbr' => 'Mon.',
163
+    'date_jour_2_initiale' => 'M.',
164
+    'date_jour_3' => 'Tuesday',
165
+    'date_jour_3_abbr' => 'Tue.',
166
+    'date_jour_3_initiale' => 'T.',
167
+    'date_jour_4' => 'Wednesday',
168
+    'date_jour_4_abbr' => 'Wed.',
169
+    'date_jour_4_initiale' => 'W.',
170
+    'date_jour_5' => 'Thursday',
171
+    'date_jour_5_abbr' => 'Thu.',
172
+    'date_jour_5_initiale' => 'T.',
173
+    'date_jour_6' => 'Friday',
174
+    'date_jour_6_abbr' => 'Fri.',
175
+    'date_jour_6_initiale' => 'F.',
176
+    'date_jour_7' => 'Saturday',
177
+    'date_jour_7_abbr' => 'Sat.',
178
+    'date_jour_7_initiale' => 'S.',
179
+    'date_jours' => 'days',
180
+    'date_minutes' => 'minutes',
181
+    'date_mois' => 'months',
182
+    'date_mois_1' => 'January',
183
+    'date_mois_10' => 'October',
184
+    'date_mois_10_abbr' => 'Oct',
185
+    'date_mois_11' => 'November',
186
+    'date_mois_11_abbr' => 'Nov',
187
+    'date_mois_12' => 'December',
188
+    'date_mois_12_abbr' => 'Dec',
189
+    'date_mois_1_abbr' => 'Jan',
190
+    'date_mois_2' => 'February',
191
+    'date_mois_2_abbr' => 'Feb',
192
+    'date_mois_3' => 'March',
193
+    'date_mois_3_abbr' => 'Mar',
194
+    'date_mois_4' => 'April',
195
+    'date_mois_4_abbr' => 'Apr',
196
+    'date_mois_5' => 'May',
197
+    'date_mois_5_abbr' => 'May',
198
+    'date_mois_6' => 'June',
199
+    'date_mois_6_abbr' => 'Jun',
200
+    'date_mois_7' => 'July',
201
+    'date_mois_7_abbr' => 'Jul',
202
+    'date_mois_8' => 'August',
203
+    'date_mois_8_abbr' => 'Aug',
204
+    'date_mois_9' => 'September',
205
+    'date_mois_9_abbr' => 'Sep',
206
+    'date_saison_1' => 'winter',
207
+    'date_saison_2' => 'spring',
208
+    'date_saison_3' => 'summer',
209
+    'date_saison_4' => 'autumn',
210
+    'date_secondes' => 'seconds',
211
+    'date_semaines' => 'weeks',
212
+    'date_un_mois' => 'month',
213
+    'date_une_heure' => 'hour',
214
+    'date_une_minute' => 'minute',
215
+    'date_une_seconde' => 'second',
216
+    'date_une_semaine' => 'week',
217
+    'dirs_commencer' => ' in order to start installation for real',
218
+    'dirs_preliminaire' => 'Preliminary: <b>Setting up access permissions</b>',
219
+    'dirs_probleme_droits' => 'Problem with access permissions',
220
+    'dirs_repertoires_absents' => '<p><b>The following directories were not found: </b></p><ul>@bad_dirs@.</ul>
221 221
   <p>It is possible that this is due to inappropriate lower or upper case letters in directory names.
222 222
   Please check that the case of the letters in the names of these directories match what is displayed
223 223
   above. If they don’t, correct the directory names using your FTP client.</p>
224 224
   <p>Once this is done, you can',
225
-	'dirs_repertoires_suivants' => '<p><b>The following directories do not have write permission: </b></p><ul>@bad_dirs@</ul>
225
+    'dirs_repertoires_suivants' => '<p><b>The following directories do not have write permission: </b></p><ul>@bad_dirs@</ul>
226 226
 <p>To change this, use your FTP client to set access permissions for each
227 227
  of these directories. The procedure is detailed in the installation guide.</p>
228 228
   <p>Once you have done this, you can ',
229
-	'double_occurrence' => 'Two instances of @balise@',
229
+    'double_occurrence' => 'Two instances of @balise@',
230 230
 
231
-	// E
232
-	'en_cours' => 'processing',
233
-	'envoi_via_le_site' => 'Sent via the site',
234
-	'erreur' => 'Error',
235
-	'erreur_balise_non_fermee' => 'last tag not closed:',
236
-	'erreur_technique_ajaxform' => 'Ooops. An unexpected error prevented to submit the form. You can try again.',
237
-	'erreur_technique_enregistrement_champs' => 'A technical error prevented the right registration of the field @champs@.',
238
-	'erreur_technique_enregistrement_impossible' => 'A technical error prevented the registration.',
239
-	'erreur_texte' => 'error(s)',
240
-	'etape' => 'Step',
231
+    // E
232
+    'en_cours' => 'processing',
233
+    'envoi_via_le_site' => 'Sent via the site',
234
+    'erreur' => 'Error',
235
+    'erreur_balise_non_fermee' => 'last tag not closed:',
236
+    'erreur_technique_ajaxform' => 'Ooops. An unexpected error prevented to submit the form. You can try again.',
237
+    'erreur_technique_enregistrement_champs' => 'A technical error prevented the right registration of the field @champs@.',
238
+    'erreur_technique_enregistrement_impossible' => 'A technical error prevented the registration.',
239
+    'erreur_texte' => 'error(s)',
240
+    'etape' => 'Step',
241 241
 
242
-	// F
243
-	'fichier_introuvable' => 'File not found: @fichier@',
244
-	'form_auteur_confirmation' => 'Please confirm your email address',
245
-	'form_auteur_email_modifie' => 'Your email address has been changed.',
246
-	'form_auteur_envoi_mail_confirmation' => 'A confirmation email has been sent to @email@. You must visit the URL mentioned in the message to validate your email address.',
247
-	'form_auteur_mail_confirmation' => 'Hello,
242
+    // F
243
+    'fichier_introuvable' => 'File not found: @fichier@',
244
+    'form_auteur_confirmation' => 'Please confirm your email address',
245
+    'form_auteur_email_modifie' => 'Your email address has been changed.',
246
+    'form_auteur_envoi_mail_confirmation' => 'A confirmation email has been sent to @email@. You must visit the URL mentioned in the message to validate your email address.',
247
+    'form_auteur_mail_confirmation' => 'Hello,
248 248
 
249 249
 You have asked to change your email address.
250 250
 To confirm your new address, you need to connect to
@@ -252,347 +252,347 @@  discard block
 block discarded – undo
252 252
 
253 253
     @url@
254 254
 ',
255
-	'form_deja_inscrit' => 'You are already registered.',
256
-	'form_email_non_valide' => 'Your email address is not valid.',
257
-	'form_forum_access_refuse' => 'You no longer have access to this site.',
258
-	'form_forum_bonjour' => 'Hello @nom@,',
259
-	'form_forum_confirmer_email' => 'To confirm your email address, follow this link: @url_confirm@',
260
-	'form_forum_email_deja_enregistre' => 'This email address is already registered. Enter your usual password.',
261
-	'form_forum_identifiant_mail' => 'Your new identifier has just been emailed to you.',
262
-	'form_forum_identifiants' => 'Personal identifiers',
263
-	'form_forum_indiquer_nom_email' => 'Enter your name and email address here. You will receive your personal identifier shortly by email.',
264
-	'form_forum_login' => 'login:',
265
-	'form_forum_message_auto' => '(this is an automated message)',
266
-	'form_forum_pass' => 'password:',
267
-	'form_forum_probleme_mail' => 'Mail problem: the identifier could not be sent.',
268
-	'form_forum_voici1' => 'Here are your identifiers. You may now participate on the site
255
+    'form_deja_inscrit' => 'You are already registered.',
256
+    'form_email_non_valide' => 'Your email address is not valid.',
257
+    'form_forum_access_refuse' => 'You no longer have access to this site.',
258
+    'form_forum_bonjour' => 'Hello @nom@,',
259
+    'form_forum_confirmer_email' => 'To confirm your email address, follow this link: @url_confirm@',
260
+    'form_forum_email_deja_enregistre' => 'This email address is already registered. Enter your usual password.',
261
+    'form_forum_identifiant_mail' => 'Your new identifier has just been emailed to you.',
262
+    'form_forum_identifiants' => 'Personal identifiers',
263
+    'form_forum_indiquer_nom_email' => 'Enter your name and email address here. You will receive your personal identifier shortly by email.',
264
+    'form_forum_login' => 'login:',
265
+    'form_forum_message_auto' => '(this is an automated message)',
266
+    'form_forum_pass' => 'password:',
267
+    'form_forum_probleme_mail' => 'Mail problem: the identifier could not be sent.',
268
+    'form_forum_voici1' => 'Here are your identifiers. You may now participate on the site
269 269
 "@nom_site_spip@" (@adresse_site@):',
270
-	'form_forum_voici2' => 'Here are your identifiers for submitting articles to
270
+    'form_forum_voici2' => 'Here are your identifiers for submitting articles to
271 271
 the site "@nom_site_spip@" (@adresse_login@):',
272
-	'form_indiquer_email' => 'Please enter your email address.',
273
-	'form_indiquer_nom' => 'Please enter your name.',
274
-	'form_indiquer_nom_site' => 'Please enter the name of your site.',
275
-	'form_pet_deja_enregistre' => 'This site is already registered',
276
-	'form_pet_signature_pasprise' => 'Your signature has been ignored.',
277
-	'form_prop_confirmer_envoi' => 'Confirm send',
278
-	'form_prop_description' => 'Description/comment',
279
-	'form_prop_enregistre' => 'Your suggestion has been recorded. It will appear online after being validated by the administrators of this site.',
280
-	'form_prop_envoyer' => 'Send a message',
281
-	'form_prop_indiquer_email' => 'Please enter a valid email address',
282
-	'form_prop_indiquer_nom_site' => 'Please enter the site’s name.',
283
-	'form_prop_indiquer_sujet' => 'Please enter a subject',
284
-	'form_prop_message_envoye' => 'Message sent',
285
-	'form_prop_non_enregistre' => 'Your suggestion has not been recorded.',
286
-	'form_prop_sujet' => 'Subject',
287
-	'form_prop_url_site' => 'Site URL',
288
-	'format_date_attendu' => 'Enter a date in jj/mm/aaaa format.',
289
-	'format_date_incorrecte' => 'The date or its format is incorrect.',
290
-	'format_heure_attendu' => 'Enter a time in hh:mm format.',
291
-	'format_heure_incorrecte' => 'The hour or its format is incorrect.',
292
-	'forum_non_inscrit' => 'Either you are not registered, or the address or password are wrong.',
293
-	'forum_par_auteur' => 'by @auteur@',
294
-	'forum_titre_erreur' => 'Error...',
272
+    'form_indiquer_email' => 'Please enter your email address.',
273
+    'form_indiquer_nom' => 'Please enter your name.',
274
+    'form_indiquer_nom_site' => 'Please enter the name of your site.',
275
+    'form_pet_deja_enregistre' => 'This site is already registered',
276
+    'form_pet_signature_pasprise' => 'Your signature has been ignored.',
277
+    'form_prop_confirmer_envoi' => 'Confirm send',
278
+    'form_prop_description' => 'Description/comment',
279
+    'form_prop_enregistre' => 'Your suggestion has been recorded. It will appear online after being validated by the administrators of this site.',
280
+    'form_prop_envoyer' => 'Send a message',
281
+    'form_prop_indiquer_email' => 'Please enter a valid email address',
282
+    'form_prop_indiquer_nom_site' => 'Please enter the site’s name.',
283
+    'form_prop_indiquer_sujet' => 'Please enter a subject',
284
+    'form_prop_message_envoye' => 'Message sent',
285
+    'form_prop_non_enregistre' => 'Your suggestion has not been recorded.',
286
+    'form_prop_sujet' => 'Subject',
287
+    'form_prop_url_site' => 'Site URL',
288
+    'format_date_attendu' => 'Enter a date in jj/mm/aaaa format.',
289
+    'format_date_incorrecte' => 'The date or its format is incorrect.',
290
+    'format_heure_attendu' => 'Enter a time in hh:mm format.',
291
+    'format_heure_incorrecte' => 'The hour or its format is incorrect.',
292
+    'forum_non_inscrit' => 'Either you are not registered, or the address or password are wrong.',
293
+    'forum_par_auteur' => 'by @auteur@',
294
+    'forum_titre_erreur' => 'Error...',
295 295
 
296
-	// I
297
-	'ical_texte_rss_articles' => 'The site’s backend file for articles is:',
298
-	'ical_texte_rss_articles2' => 'You can also get backend files for individual sections on the site:',
299
-	'ical_texte_rss_breves' => 'Furthermore, there is a file containing the site’s news items. By selecting a section number, you can choose to get news items in that section only.',
300
-	'icone_a_suivre' => 'Launch pad',
301
-	'icone_admin_site' => 'Site administration',
302
-	'icone_agenda' => 'Calendar',
303
-	'icone_aide_ligne' => 'Help',
304
-	'icone_articles' => 'Articles',
305
-	'icone_auteurs' => 'Authors',
306
-	'icone_brouteur' => 'Quick browsing',
307
-	'icone_configuration_site' => 'Configuration',
308
-	'icone_configurer_site' => 'Configure your site',
309
-	'icone_creer_nouvel_auteur' => 'Create a new author',
310
-	'icone_creer_rubrique' => 'Create a section',
311
-	'icone_creer_sous_rubrique' => 'Create a subsection',
312
-	'icone_deconnecter' => 'Log out',
313
-	'icone_discussions' => 'Discussions',
314
-	'icone_doc_rubrique' => 'Documents attached',
315
-	'icone_ecrire_article' => 'Write a new article',
316
-	'icone_edition_site' => 'Edit site',
317
-	'icone_gestion_langues' => 'Language options',
318
-	'icone_informations_personnelles' => 'Personal information',
319
-	'icone_interface_complet' => 'full interface',
320
-	'icone_interface_simple' => 'Simplified interface',
321
-	'icone_maintenance_site' => 'Site maintenance',
322
-	'icone_messagerie_personnelle' => 'Private messages',
323
-	'icone_repartition_debut' => 'Show distribution from the start',
324
-	'icone_rubriques' => 'Sections',
325
-	'icone_sauver_site' => 'Site backup',
326
-	'icone_site_entier' => 'The entire site',
327
-	'icone_sites_references' => 'Referenced sites',
328
-	'icone_statistiques' => 'Site statistics',
329
-	'icone_suivi_activite' => 'Follow site activity',
330
-	'icone_suivi_actualite' => 'Site statistics',
331
-	'icone_suivi_pettions' => 'Manage petitions',
332
-	'icone_suivi_revisions' => 'Article revisions',
333
-	'icone_supprimer_document' => 'Delete this document',
334
-	'icone_supprimer_image' => 'Delete this image',
335
-	'icone_tous_articles' => 'All your articles',
336
-	'icone_tous_auteur' => 'All authors',
337
-	'icone_tous_visiteur' => 'All visitors',
338
-	'icone_visiter_site' => 'View the public site',
339
-	'icone_voir_en_ligne' => 'View online',
340
-	'img_indisponible' => 'image unavailable',
341
-	'impossible' => 'impossible',
342
-	'info_a_suivre' => 'LAUNCH PAD»',
343
-	'info_acces_interdit' => 'Access forbidden',
344
-	'info_acces_refuse' => 'Access denied',
345
-	'info_action' => 'Action: @action@',
346
-	'info_administrer_rubriques' => 'You can manage this section and any subsections',
347
-	'info_adresse_non_indiquee' => 'You did not specify an address to test!',
348
-	'info_aide' => 'HELP:',
349
-	'info_ajouter_mot' => 'Add keyword',
350
-	'info_annonce' => 'ANNOUNCEMENT',
351
-	'info_annonces_generales' => 'General announcements:',
352
-	'info_article_propose' => 'Article submitted',
353
-	'info_article_publie' => 'Article published',
354
-	'info_article_redaction' => 'Article in progress',
355
-	'info_article_refuse' => 'Article rejected',
356
-	'info_article_supprime' => 'Article deleted',
357
-	'info_articles' => 'Articles',
358
-	'info_articles_a_valider' => 'Articles awaiting validation',
359
-	'info_articles_nb' => '@nb@ articles',
360
-	'info_articles_proposes' => 'Articles submitted',
361
-	'info_articles_un' => '1 article',
362
-	'info_auteurs_nombre' => 'author(s):',
363
-	'info_authentification_ftp' => 'Authentication (by FTP).',
364
-	'info_breves_2' => 'news',
365
-	'info_breves_nb' => '@nb@ news items',
366
-	'info_breves_un' => '1 news item',
367
-	'info_connexion_refusee' => 'Connection denied',
368
-	'info_contact_developpeur' => 'Please contact a developer.',
369
-	'info_contenance' => 'This site contains:',
370
-	'info_contribution' => 'contributions',
371
-	'info_copyright' => '@spip@ is free software distributed @lien_gpl@.',
372
-	'info_copyright_doc' => 'For more visit <a href="@spipnet@">@spipnet_affiche@</a>.',
373
-	'info_copyright_gpl' => 'under the GPL license',
374
-	'info_cours_edition' => 'In progress',
375
-	'info_creer_repertoire' => 'Please create a file or a directory called:',
376
-	'info_creer_repertoire_2' => 'inside the sub-directory <b>@repertoire@</b>, then',
377
-	'info_creer_vignette' => 'automatic thumbnail creation',
378
-	'info_creerdansrubrique_non_autorise' => 'You don’t have sufficient rights to create content in this section',
379
-	'info_deplier' => 'Unfold',
380
-	'info_descriptif_nombre' => 'description(s):',
381
-	'info_description' => 'Description:',
382
-	'info_description_2' => 'Description:',
383
-	'info_dimension' => 'Size:',
384
-	'info_documents_nb' => '@nb@ documents',
385
-	'info_documents_un' => '1 document',
386
-	'info_ecire_message_prive' => 'Write a private message',
387
-	'info_email_invalide' => 'Invalid email address.',
388
-	'info_en_cours_validation' => 'Your articles in progress',
389
-	'info_en_ligne' => 'Online now:',
390
-	'info_envoyer_message_prive' => 'Send a private message to this author',
391
-	'info_erreur_requete' => 'Error in query:',
392
-	'info_erreur_squelette2' => 'No <b>@fichier@</b> template available ...',
393
-	'info_erreur_systeme' => 'System error (errno @errsys@)',
394
-	'info_erreur_systeme2' => 'The hard disk may be full or the database damaged. <br />
296
+    // I
297
+    'ical_texte_rss_articles' => 'The site’s backend file for articles is:',
298
+    'ical_texte_rss_articles2' => 'You can also get backend files for individual sections on the site:',
299
+    'ical_texte_rss_breves' => 'Furthermore, there is a file containing the site’s news items. By selecting a section number, you can choose to get news items in that section only.',
300
+    'icone_a_suivre' => 'Launch pad',
301
+    'icone_admin_site' => 'Site administration',
302
+    'icone_agenda' => 'Calendar',
303
+    'icone_aide_ligne' => 'Help',
304
+    'icone_articles' => 'Articles',
305
+    'icone_auteurs' => 'Authors',
306
+    'icone_brouteur' => 'Quick browsing',
307
+    'icone_configuration_site' => 'Configuration',
308
+    'icone_configurer_site' => 'Configure your site',
309
+    'icone_creer_nouvel_auteur' => 'Create a new author',
310
+    'icone_creer_rubrique' => 'Create a section',
311
+    'icone_creer_sous_rubrique' => 'Create a subsection',
312
+    'icone_deconnecter' => 'Log out',
313
+    'icone_discussions' => 'Discussions',
314
+    'icone_doc_rubrique' => 'Documents attached',
315
+    'icone_ecrire_article' => 'Write a new article',
316
+    'icone_edition_site' => 'Edit site',
317
+    'icone_gestion_langues' => 'Language options',
318
+    'icone_informations_personnelles' => 'Personal information',
319
+    'icone_interface_complet' => 'full interface',
320
+    'icone_interface_simple' => 'Simplified interface',
321
+    'icone_maintenance_site' => 'Site maintenance',
322
+    'icone_messagerie_personnelle' => 'Private messages',
323
+    'icone_repartition_debut' => 'Show distribution from the start',
324
+    'icone_rubriques' => 'Sections',
325
+    'icone_sauver_site' => 'Site backup',
326
+    'icone_site_entier' => 'The entire site',
327
+    'icone_sites_references' => 'Referenced sites',
328
+    'icone_statistiques' => 'Site statistics',
329
+    'icone_suivi_activite' => 'Follow site activity',
330
+    'icone_suivi_actualite' => 'Site statistics',
331
+    'icone_suivi_pettions' => 'Manage petitions',
332
+    'icone_suivi_revisions' => 'Article revisions',
333
+    'icone_supprimer_document' => 'Delete this document',
334
+    'icone_supprimer_image' => 'Delete this image',
335
+    'icone_tous_articles' => 'All your articles',
336
+    'icone_tous_auteur' => 'All authors',
337
+    'icone_tous_visiteur' => 'All visitors',
338
+    'icone_visiter_site' => 'View the public site',
339
+    'icone_voir_en_ligne' => 'View online',
340
+    'img_indisponible' => 'image unavailable',
341
+    'impossible' => 'impossible',
342
+    'info_a_suivre' => 'LAUNCH PAD»',
343
+    'info_acces_interdit' => 'Access forbidden',
344
+    'info_acces_refuse' => 'Access denied',
345
+    'info_action' => 'Action: @action@',
346
+    'info_administrer_rubriques' => 'You can manage this section and any subsections',
347
+    'info_adresse_non_indiquee' => 'You did not specify an address to test!',
348
+    'info_aide' => 'HELP:',
349
+    'info_ajouter_mot' => 'Add keyword',
350
+    'info_annonce' => 'ANNOUNCEMENT',
351
+    'info_annonces_generales' => 'General announcements:',
352
+    'info_article_propose' => 'Article submitted',
353
+    'info_article_publie' => 'Article published',
354
+    'info_article_redaction' => 'Article in progress',
355
+    'info_article_refuse' => 'Article rejected',
356
+    'info_article_supprime' => 'Article deleted',
357
+    'info_articles' => 'Articles',
358
+    'info_articles_a_valider' => 'Articles awaiting validation',
359
+    'info_articles_nb' => '@nb@ articles',
360
+    'info_articles_proposes' => 'Articles submitted',
361
+    'info_articles_un' => '1 article',
362
+    'info_auteurs_nombre' => 'author(s):',
363
+    'info_authentification_ftp' => 'Authentication (by FTP).',
364
+    'info_breves_2' => 'news',
365
+    'info_breves_nb' => '@nb@ news items',
366
+    'info_breves_un' => '1 news item',
367
+    'info_connexion_refusee' => 'Connection denied',
368
+    'info_contact_developpeur' => 'Please contact a developer.',
369
+    'info_contenance' => 'This site contains:',
370
+    'info_contribution' => 'contributions',
371
+    'info_copyright' => '@spip@ is free software distributed @lien_gpl@.',
372
+    'info_copyright_doc' => 'For more visit <a href="@spipnet@">@spipnet_affiche@</a>.',
373
+    'info_copyright_gpl' => 'under the GPL license',
374
+    'info_cours_edition' => 'In progress',
375
+    'info_creer_repertoire' => 'Please create a file or a directory called:',
376
+    'info_creer_repertoire_2' => 'inside the sub-directory <b>@repertoire@</b>, then',
377
+    'info_creer_vignette' => 'automatic thumbnail creation',
378
+    'info_creerdansrubrique_non_autorise' => 'You don’t have sufficient rights to create content in this section',
379
+    'info_deplier' => 'Unfold',
380
+    'info_descriptif_nombre' => 'description(s):',
381
+    'info_description' => 'Description:',
382
+    'info_description_2' => 'Description:',
383
+    'info_dimension' => 'Size:',
384
+    'info_documents_nb' => '@nb@ documents',
385
+    'info_documents_un' => '1 document',
386
+    'info_ecire_message_prive' => 'Write a private message',
387
+    'info_email_invalide' => 'Invalid email address.',
388
+    'info_en_cours_validation' => 'Your articles in progress',
389
+    'info_en_ligne' => 'Online now:',
390
+    'info_envoyer_message_prive' => 'Send a private message to this author',
391
+    'info_erreur_requete' => 'Error in query:',
392
+    'info_erreur_squelette2' => 'No <b>@fichier@</b> template available ...',
393
+    'info_erreur_systeme' => 'System error (errno @errsys@)',
394
+    'info_erreur_systeme2' => 'The hard disk may be full or the database damaged. <br />
395 395
 <span style="color:red;">Try <a href=\'@script@\'>repairing the database</a>, or contact your service provider.</span>',
396
-	'info_fini' => 'Done!',
397
-	'info_format_image' => 'Image format to be used for vignettes: @gd_formats@.',
398
-	'info_format_non_defini' => 'undefined format',
399
-	'info_grand_ecran' => 'Large display',
400
-	'info_image_aide' => 'HELP',
401
-	'info_image_process_titre' => 'How to create thumbnails',
402
-	'info_impossible_lire_page' => '<b>Error!</b> The page <tt><html>@test_proxy@</html></tt> cannot be viewed through the proxy',
403
-	'info_installation_systeme_publication' => 'Installing publication system...',
404
-	'info_installer_documents' => 'You can automatically install all documents in the folder @upload@.',
405
-	'info_installer_ftp' => 'As an administrator, you can install files via FTP to the folder @upload@ in order to select them directly from here.',
406
-	'info_installer_images' => 'You can install images in the formats JPEG, GIF, and PNG.',
407
-	'info_installer_images_dossier' => 'Install images in folder @upload@ if you want to select them here.',
408
-	'info_interface_complete' => 'full interface',
409
-	'info_interface_simple' => 'Simplified interface',
410
-	'info_joindre_document_article' => 'You can attach the following types of document to your article',
411
-	'info_joindre_document_rubrique' => 'You can add documents of the following types to this section ',
412
-	'info_joindre_documents_article' => 'You can attach documents of the following types to your article:',
413
-	'info_l_article' => 'the article',
414
-	'info_la_breve' => 'the news item',
415
-	'info_la_rubrique' => 'the section',
416
-	'info_langue_principale' => 'Main language for site',
417
-	'info_largeur_vignette' => '@largeur_vignette@ × @hauteur_vignette@ pixels',
418
-	'info_les_auteurs_1' => 'by @les_auteurs@',
419
-	'info_logo_format_interdit' => 'Only logos in these formats @formats@ are allowed.',
420
-	'info_logo_max_poids' => 'Logos must be less than @maxi@ (this file is @actuel@).',
421
-	'info_mail_fournisseur' => '[email protected]',
422
-	'info_message_2' => 'MESSAGE',
423
-	'info_message_supprime' => 'MESSAGE DELETED',
424
-	'info_messages_nb' => '@nb@ messages',
425
-	'info_messages_un' => '1 message',
426
-	'info_mise_en_ligne' => 'Published on:',
427
-	'info_modification_parametres_securite' => 'modifying security parameters',
428
-	'info_mois_courant' => 'During the month:',
429
-	'info_mot_cle_ajoute' => 'The following keyword was added to',
430
-	'info_multi_herit' => 'Default language',
431
-	'info_multi_langues_soulignees' => 'The <u>languages underlined</u> provide partial or total translations for all the interface texts. If you select these languages, many elements of the public site (dates, forms) will be translated automatically. As for the languages that are not underlined, those elements will be displayed using the site’s default language.',
432
-	'info_multilinguisme' => 'Multilingual',
433
-	'info_nom_non_utilisateurs_connectes' => 'Your name does not appear in the list of users online.',
434
-	'info_nom_utilisateurs_connectes' => 'Your name appears in the list of users online.',
435
-	'info_nombre_en_ligne' => 'Online now:',
436
-	'info_non_resultat' => 'No results for "@cherche_mot@"',
437
-	'info_non_utilisation_messagerie' => 'You are not using private messaging on this site.',
438
-	'info_nouveau_message' => 'YOU HAVE A NEW MESSAGE',
439
-	'info_nouveaux_messages' => 'YOU HAVE @total_messages@ NEW MESSAGES',
440
-	'info_numero_abbreviation' => 'No',
441
-	'info_obligatoire' => 'This information is required',
442
-	'info_page_actuelle' => 'Actual page',
443
-	'info_pense_bete' => 'MEMO',
444
-	'info_petit_ecran' => 'Small display',
445
-	'info_petition_close' => 'Petition closed',
446
-	'info_pixels' => 'pixels',
447
-	'info_plusieurs_mots_trouves' => 'Several keywords were found for "@cherche_mot@":',
448
-	'info_portfolio_automatique' => 'Automated portfolio:',
449
-	'info_premier_resultat' => '[First @debut_limit@ results out of @total@]',
450
-	'info_premier_resultat_sur' => '[First @debut_limit@ results out of @total@]',
451
-	'info_propose_1' => '[@nom_site_spip@] Submitted: @titre@',
452
-	'info_propose_2' => 'Article submitted
396
+    'info_fini' => 'Done!',
397
+    'info_format_image' => 'Image format to be used for vignettes: @gd_formats@.',
398
+    'info_format_non_defini' => 'undefined format',
399
+    'info_grand_ecran' => 'Large display',
400
+    'info_image_aide' => 'HELP',
401
+    'info_image_process_titre' => 'How to create thumbnails',
402
+    'info_impossible_lire_page' => '<b>Error!</b> The page <tt><html>@test_proxy@</html></tt> cannot be viewed through the proxy',
403
+    'info_installation_systeme_publication' => 'Installing publication system...',
404
+    'info_installer_documents' => 'You can automatically install all documents in the folder @upload@.',
405
+    'info_installer_ftp' => 'As an administrator, you can install files via FTP to the folder @upload@ in order to select them directly from here.',
406
+    'info_installer_images' => 'You can install images in the formats JPEG, GIF, and PNG.',
407
+    'info_installer_images_dossier' => 'Install images in folder @upload@ if you want to select them here.',
408
+    'info_interface_complete' => 'full interface',
409
+    'info_interface_simple' => 'Simplified interface',
410
+    'info_joindre_document_article' => 'You can attach the following types of document to your article',
411
+    'info_joindre_document_rubrique' => 'You can add documents of the following types to this section ',
412
+    'info_joindre_documents_article' => 'You can attach documents of the following types to your article:',
413
+    'info_l_article' => 'the article',
414
+    'info_la_breve' => 'the news item',
415
+    'info_la_rubrique' => 'the section',
416
+    'info_langue_principale' => 'Main language for site',
417
+    'info_largeur_vignette' => '@largeur_vignette@ × @hauteur_vignette@ pixels',
418
+    'info_les_auteurs_1' => 'by @les_auteurs@',
419
+    'info_logo_format_interdit' => 'Only logos in these formats @formats@ are allowed.',
420
+    'info_logo_max_poids' => 'Logos must be less than @maxi@ (this file is @actuel@).',
421
+    'info_mail_fournisseur' => '[email protected]',
422
+    'info_message_2' => 'MESSAGE',
423
+    'info_message_supprime' => 'MESSAGE DELETED',
424
+    'info_messages_nb' => '@nb@ messages',
425
+    'info_messages_un' => '1 message',
426
+    'info_mise_en_ligne' => 'Published on:',
427
+    'info_modification_parametres_securite' => 'modifying security parameters',
428
+    'info_mois_courant' => 'During the month:',
429
+    'info_mot_cle_ajoute' => 'The following keyword was added to',
430
+    'info_multi_herit' => 'Default language',
431
+    'info_multi_langues_soulignees' => 'The <u>languages underlined</u> provide partial or total translations for all the interface texts. If you select these languages, many elements of the public site (dates, forms) will be translated automatically. As for the languages that are not underlined, those elements will be displayed using the site’s default language.',
432
+    'info_multilinguisme' => 'Multilingual',
433
+    'info_nom_non_utilisateurs_connectes' => 'Your name does not appear in the list of users online.',
434
+    'info_nom_utilisateurs_connectes' => 'Your name appears in the list of users online.',
435
+    'info_nombre_en_ligne' => 'Online now:',
436
+    'info_non_resultat' => 'No results for "@cherche_mot@"',
437
+    'info_non_utilisation_messagerie' => 'You are not using private messaging on this site.',
438
+    'info_nouveau_message' => 'YOU HAVE A NEW MESSAGE',
439
+    'info_nouveaux_messages' => 'YOU HAVE @total_messages@ NEW MESSAGES',
440
+    'info_numero_abbreviation' => 'No',
441
+    'info_obligatoire' => 'This information is required',
442
+    'info_page_actuelle' => 'Actual page',
443
+    'info_pense_bete' => 'MEMO',
444
+    'info_petit_ecran' => 'Small display',
445
+    'info_petition_close' => 'Petition closed',
446
+    'info_pixels' => 'pixels',
447
+    'info_plusieurs_mots_trouves' => 'Several keywords were found for "@cherche_mot@":',
448
+    'info_portfolio_automatique' => 'Automated portfolio:',
449
+    'info_premier_resultat' => '[First @debut_limit@ results out of @total@]',
450
+    'info_premier_resultat_sur' => '[First @debut_limit@ results out of @total@]',
451
+    'info_propose_1' => '[@nom_site_spip@] Submitted: @titre@',
452
+    'info_propose_2' => 'Article submitted
453 453
 -----------------',
454
-	'info_propose_3' => 'The article "@titre@" has been submitted for publication.',
455
-	'info_propose_4' => 'You are invited to review it and give your opinion',
456
-	'info_propose_5' => 'in the associated forum. It is available here:',
457
-	'info_publie_01' => 'The article "@titre@" was validated by @connect_nom@.',
458
-	'info_publie_1' => '[@nom_site_spip@] PUBLISHED: @titre@',
459
-	'info_publie_2' => 'Article published
454
+    'info_propose_3' => 'The article "@titre@" has been submitted for publication.',
455
+    'info_propose_4' => 'You are invited to review it and give your opinion',
456
+    'info_propose_5' => 'in the associated forum. It is available here:',
457
+    'info_publie_01' => 'The article "@titre@" was validated by @connect_nom@.',
458
+    'info_publie_1' => '[@nom_site_spip@] PUBLISHED: @titre@',
459
+    'info_publie_2' => 'Article published
460 460
 -----------------',
461
-	'info_rechercher' => 'Search',
462
-	'info_rechercher_02' => 'Search:',
463
-	'info_remplacer_vignette' => 'Replace the default vignette by a customised logo:',
464
-	'info_rubriques_nb' => '@nb@ sections',
465
-	'info_rubriques_un' => '1 section',
466
-	'info_sans_titre_2' => 'untitled',
467
-	'info_selectionner_fichier' => 'You can select a file from the folder @upload@',
468
-	'info_selectionner_fichier_2' => 'Select a file:',
469
-	'info_sites_nb' => '@nb@ sites',
470
-	'info_sites_un' => '1 site',
471
-	'info_supprimer_vignette' => 'delete the vignette',
472
-	'info_symbole_bleu' => 'A <b>blue</b> symbol indicates a <b>memo</b>: i.e. a message for your personal use.',
473
-	'info_symbole_jaune' => 'A <b>yellow</b> symbol indicates an <b>announcement to all editors</b>: it can be edited by all administrators, and is visible to all editors.',
474
-	'info_symbole_vert' => 'A <b>green</b> symbol indicates the <b>messages exchanged with other users</b> of the site.',
475
-	'info_telecharger_nouveau_logo' => 'Upload a new logo:',
476
-	'info_telecharger_ordinateur' => 'Upload from your computer:',
477
-	'info_tous_resultats_enregistres' => '[all the results are recorded]',
478
-	'info_tout_afficher' => 'Show all',
479
-	'info_travaux_texte' => 'This site is not yet set up. Please come back later...',
480
-	'info_travaux_titre' => 'Site under construction',
481
-	'info_trop_resultat' => 'Too many results for "@cherche_mot@"; please refine the search.',
482
-	'info_utilisation_messagerie_interne' => 'You are using the internal message system of this site.',
483
-	'info_valider_lien' => 'validate this link',
484
-	'info_verifier_image' => ', please make sure your images have been transferred correctly.',
485
-	'info_vignette_defaut' => 'Default vignette',
486
-	'info_vignette_personnalisee' => 'Custom vignette',
487
-	'info_visite' => 'visit:',
488
-	'info_vos_rendez_vous' => 'Your future appointments',
489
-	'infos_vos_pense_bete' => 'Your memos',
461
+    'info_rechercher' => 'Search',
462
+    'info_rechercher_02' => 'Search:',
463
+    'info_remplacer_vignette' => 'Replace the default vignette by a customised logo:',
464
+    'info_rubriques_nb' => '@nb@ sections',
465
+    'info_rubriques_un' => '1 section',
466
+    'info_sans_titre_2' => 'untitled',
467
+    'info_selectionner_fichier' => 'You can select a file from the folder @upload@',
468
+    'info_selectionner_fichier_2' => 'Select a file:',
469
+    'info_sites_nb' => '@nb@ sites',
470
+    'info_sites_un' => '1 site',
471
+    'info_supprimer_vignette' => 'delete the vignette',
472
+    'info_symbole_bleu' => 'A <b>blue</b> symbol indicates a <b>memo</b>: i.e. a message for your personal use.',
473
+    'info_symbole_jaune' => 'A <b>yellow</b> symbol indicates an <b>announcement to all editors</b>: it can be edited by all administrators, and is visible to all editors.',
474
+    'info_symbole_vert' => 'A <b>green</b> symbol indicates the <b>messages exchanged with other users</b> of the site.',
475
+    'info_telecharger_nouveau_logo' => 'Upload a new logo:',
476
+    'info_telecharger_ordinateur' => 'Upload from your computer:',
477
+    'info_tous_resultats_enregistres' => '[all the results are recorded]',
478
+    'info_tout_afficher' => 'Show all',
479
+    'info_travaux_texte' => 'This site is not yet set up. Please come back later...',
480
+    'info_travaux_titre' => 'Site under construction',
481
+    'info_trop_resultat' => 'Too many results for "@cherche_mot@"; please refine the search.',
482
+    'info_utilisation_messagerie_interne' => 'You are using the internal message system of this site.',
483
+    'info_valider_lien' => 'validate this link',
484
+    'info_verifier_image' => ', please make sure your images have been transferred correctly.',
485
+    'info_vignette_defaut' => 'Default vignette',
486
+    'info_vignette_personnalisee' => 'Custom vignette',
487
+    'info_visite' => 'visit:',
488
+    'info_vos_rendez_vous' => 'Your future appointments',
489
+    'infos_vos_pense_bete' => 'Your memos',
490 490
 
491
-	// L
492
-	'label_ajout_id_rapide' => 'Quick addition',
493
-	'label_poids_fichier' => 'Size',
494
-	'label_ponctuer' => '@label@:',
495
-	'lien_afficher_icones_seuls' => 'Show only icons',
496
-	'lien_afficher_texte_icones' => 'Show icons and text',
497
-	'lien_afficher_texte_seul' => 'Show only text',
498
-	'lien_aller_a_la_derniere_page' => 'Go to the last page',
499
-	'lien_aller_a_la_page_nb' => 'Go to page @nb@',
500
-	'lien_aller_a_la_page_precedente' => 'Go to the previous page',
501
-	'lien_aller_a_la_page_suivante' => 'Go to the next page',
502
-	'lien_aller_a_la_premiere_page' => 'Go to the first page',
503
-	'lien_liberer' => 'release',
504
-	'lien_liberer_tous' => 'Release all',
505
-	'lien_nouvea_pense_bete' => 'NEW MEMO',
506
-	'lien_nouveau_message' => 'NEW MESSAGE',
507
-	'lien_nouvelle_annonce' => 'NEW ANNOUNCEMENT',
508
-	'lien_petitions' => 'PETITION',
509
-	'lien_popularite' => 'popularity: @popularite@%',
510
-	'lien_racine_site' => 'SITE ROOT',
511
-	'lien_reessayer' => 'try again',
512
-	'lien_repondre_message' => 'Reply to this message',
513
-	'lien_supprimer' => 'delete',
514
-	'lien_tout_afficher' => 'Show all',
515
-	'lien_visite_site' => 'visit this site',
516
-	'lien_visites' => '@visites@ visits',
517
-	'lien_voir_auteur' => 'Check this author',
518
-	'ligne' => 'Line',
519
-	'login' => 'Connection',
520
-	'login_acces_prive' => 'access to the private area',
521
-	'login_autre_identifiant' => 'use a different ID',
522
-	'login_cookie_accepte' => 'Please configure your browser to accept them for this site.',
523
-	'login_cookie_oblige' => 'For secure identification, your browser must accept cookies.',
524
-	'login_deconnexion_ok' => 'Logged out.',
525
-	'login_erreur_pass' => 'Wrong password.',
526
-	'login_espace_prive' => 'private area',
527
-	'login_identifiant_inconnu' => 'The identifier "@login@" is unknown.',
528
-	'login_login' => 'Login:',
529
-	'login_login2' => 'Login or e-mail address:',
530
-	'login_login_pass_incorrect' => '(Wrong login or password).',
531
-	'login_motpasseoublie' => 'password forgotten?',
532
-	'login_non_securise' => 'Caution, this form is not secure.
491
+    // L
492
+    'label_ajout_id_rapide' => 'Quick addition',
493
+    'label_poids_fichier' => 'Size',
494
+    'label_ponctuer' => '@label@:',
495
+    'lien_afficher_icones_seuls' => 'Show only icons',
496
+    'lien_afficher_texte_icones' => 'Show icons and text',
497
+    'lien_afficher_texte_seul' => 'Show only text',
498
+    'lien_aller_a_la_derniere_page' => 'Go to the last page',
499
+    'lien_aller_a_la_page_nb' => 'Go to page @nb@',
500
+    'lien_aller_a_la_page_precedente' => 'Go to the previous page',
501
+    'lien_aller_a_la_page_suivante' => 'Go to the next page',
502
+    'lien_aller_a_la_premiere_page' => 'Go to the first page',
503
+    'lien_liberer' => 'release',
504
+    'lien_liberer_tous' => 'Release all',
505
+    'lien_nouvea_pense_bete' => 'NEW MEMO',
506
+    'lien_nouveau_message' => 'NEW MESSAGE',
507
+    'lien_nouvelle_annonce' => 'NEW ANNOUNCEMENT',
508
+    'lien_petitions' => 'PETITION',
509
+    'lien_popularite' => 'popularity: @popularite@%',
510
+    'lien_racine_site' => 'SITE ROOT',
511
+    'lien_reessayer' => 'try again',
512
+    'lien_repondre_message' => 'Reply to this message',
513
+    'lien_supprimer' => 'delete',
514
+    'lien_tout_afficher' => 'Show all',
515
+    'lien_visite_site' => 'visit this site',
516
+    'lien_visites' => '@visites@ visits',
517
+    'lien_voir_auteur' => 'Check this author',
518
+    'ligne' => 'Line',
519
+    'login' => 'Connection',
520
+    'login_acces_prive' => 'access to the private area',
521
+    'login_autre_identifiant' => 'use a different ID',
522
+    'login_cookie_accepte' => 'Please configure your browser to accept them for this site.',
523
+    'login_cookie_oblige' => 'For secure identification, your browser must accept cookies.',
524
+    'login_deconnexion_ok' => 'Logged out.',
525
+    'login_erreur_pass' => 'Wrong password.',
526
+    'login_espace_prive' => 'private area',
527
+    'login_identifiant_inconnu' => 'The identifier "@login@" is unknown.',
528
+    'login_login' => 'Login:',
529
+    'login_login2' => 'Login or e-mail address:',
530
+    'login_login_pass_incorrect' => '(Wrong login or password).',
531
+    'login_motpasseoublie' => 'password forgotten?',
532
+    'login_non_securise' => 'Caution, this form is not secure.
533 533
    If you do not want your password to be open to
534 534
    interception on the network, please activate Javascript
535 535
    in your browser and',
536
-	'login_nouvelle_tentative' => 'New attempt',
537
-	'login_par_ici' => 'You are registered... this way...',
538
-	'login_pass2' => 'Password:',
539
-	'login_preferez_refuser' => '<b>If you prefer to refuse cookies</b>, there is another, less secure, method of connection available:',
540
-	'login_recharger' => 'reload this page',
541
-	'login_rester_identifie' => 'Remember me',
542
-	'login_retour_public' => 'Back to the public site',
543
-	'login_retour_site' => 'Back to the public site',
544
-	'login_retoursitepublic' => 'back to the public site',
545
-	'login_sans_cookie' => 'Identification without cookie',
546
-	'login_securise' => 'Secure login',
547
-	'login_sinscrire' => 'register',
548
-	'login_test_navigateur' => 'testing browser/reconnection',
549
-	'login_verifiez_navigateur' => '(However, check that your browser did not memorise your password...)',
536
+    'login_nouvelle_tentative' => 'New attempt',
537
+    'login_par_ici' => 'You are registered... this way...',
538
+    'login_pass2' => 'Password:',
539
+    'login_preferez_refuser' => '<b>If you prefer to refuse cookies</b>, there is another, less secure, method of connection available:',
540
+    'login_recharger' => 'reload this page',
541
+    'login_rester_identifie' => 'Remember me',
542
+    'login_retour_public' => 'Back to the public site',
543
+    'login_retour_site' => 'Back to the public site',
544
+    'login_retoursitepublic' => 'back to the public site',
545
+    'login_sans_cookie' => 'Identification without cookie',
546
+    'login_securise' => 'Secure login',
547
+    'login_sinscrire' => 'register',
548
+    'login_test_navigateur' => 'testing browser/reconnection',
549
+    'login_verifiez_navigateur' => '(However, check that your browser did not memorise your password...)',
550 550
 
551
-	// M
552
-	'masquer_colonne' => 'Hide this column',
553
-	'masquer_trad' => 'hide translations',
554
-	'message_nouveaux_identifiants_echec' => 'New identifiers could not be created.',
555
-	'message_nouveaux_identifiants_echec_envoi' => 'The new connection identifiers could not be sent.',
556
-	'message_nouveaux_identifiants_ok' => 'The new connection identifiers were sent to @email@.',
557
-	'module_fichiers_langues' => 'Language files',
551
+    // M
552
+    'masquer_colonne' => 'Hide this column',
553
+    'masquer_trad' => 'hide translations',
554
+    'message_nouveaux_identifiants_echec' => 'New identifiers could not be created.',
555
+    'message_nouveaux_identifiants_echec_envoi' => 'The new connection identifiers could not be sent.',
556
+    'message_nouveaux_identifiants_ok' => 'The new connection identifiers were sent to @email@.',
557
+    'module_fichiers_langues' => 'Language files',
558 558
 
559
-	// N
560
-	'navigateur_pas_redirige' => 'If you are not automatically redirected, click here to continue.',
561
-	'numero' => 'Number',
559
+    // N
560
+    'navigateur_pas_redirige' => 'If you are not automatically redirected, click here to continue.',
561
+    'numero' => 'Number',
562 562
 
563
-	// O
564
-	'occurence' => 'Instance',
565
-	'onglet_affacer_base' => 'Delete the database',
566
-	'onglet_auteur' => 'The author',
567
-	'onglet_contenu_site' => 'Site content',
568
-	'onglet_evolution_visite_mod' => 'Trend in visits',
569
-	'onglet_fonctions_avances' => 'Advanced functions',
570
-	'onglet_informations_personnelles' => 'Personal Information',
571
-	'onglet_interactivite' => 'Interactivity',
572
-	'onglet_messagerie' => 'Messaging',
573
-	'onglet_repartition_rubrique' => 'Distribution by section',
574
-	'onglet_save_restaur_base' => 'Backup/restore the database',
575
-	'onglet_vider_cache' => 'Empty the cache',
563
+    // O
564
+    'occurence' => 'Instance',
565
+    'onglet_affacer_base' => 'Delete the database',
566
+    'onglet_auteur' => 'The author',
567
+    'onglet_contenu_site' => 'Site content',
568
+    'onglet_evolution_visite_mod' => 'Trend in visits',
569
+    'onglet_fonctions_avances' => 'Advanced functions',
570
+    'onglet_informations_personnelles' => 'Personal Information',
571
+    'onglet_interactivite' => 'Interactivity',
572
+    'onglet_messagerie' => 'Messaging',
573
+    'onglet_repartition_rubrique' => 'Distribution by section',
574
+    'onglet_save_restaur_base' => 'Backup/restore the database',
575
+    'onglet_vider_cache' => 'Empty the cache',
576 576
 
577
-	// P
578
-	'pass_choix_pass' => 'Please choose a new password:',
579
-	'pass_erreur' => 'Error',
580
-	'pass_erreur_acces_refuse' => '<b>Error:</b> you no longer have access to this site.',
581
-	'pass_erreur_code_inconnu' => '<b>Error:</b> this code does not match any visitors with access permission to this site.',
582
-	'pass_erreur_non_enregistre' => '<b>Error :</b> the address <tt>@email_oubli@</tt> is not registered on this site.',
583
-	'pass_erreur_non_valide' => '<b>Error :</b> the e-mail <tt>@email_oubli@</tt> is not valid!',
584
-	'pass_erreur_probleme_technique' => '<b>Error :</b> this e-mail could not be sent due to a technical problem.',
585
-	'pass_espace_prive_bla' => 'The private area of this site is open to
577
+    // P
578
+    'pass_choix_pass' => 'Please choose a new password:',
579
+    'pass_erreur' => 'Error',
580
+    'pass_erreur_acces_refuse' => '<b>Error:</b> you no longer have access to this site.',
581
+    'pass_erreur_code_inconnu' => '<b>Error:</b> this code does not match any visitors with access permission to this site.',
582
+    'pass_erreur_non_enregistre' => '<b>Error :</b> the address <tt>@email_oubli@</tt> is not registered on this site.',
583
+    'pass_erreur_non_valide' => '<b>Error :</b> the e-mail <tt>@email_oubli@</tt> is not valid!',
584
+    'pass_erreur_probleme_technique' => '<b>Error :</b> this e-mail could not be sent due to a technical problem.',
585
+    'pass_espace_prive_bla' => 'The private area of this site is open to
586 586
 visitors after registration. Once you have registered,
587 587
 you can review the articles in progress,
588 588
 submit articles and participate in forums.',
589
-	'pass_forum_bla' => 'You have requested to take part in a forum
589
+    'pass_forum_bla' => 'You have requested to take part in a forum
590 590
 reserved for registered visitors.',
591
-	'pass_indiquez_cidessous' => 'Enter the email address with which you
591
+    'pass_indiquez_cidessous' => 'Enter the email address with which you
592 592
 registered. You
593 593
 will receive an email explaining how you
594 594
 can retrieve your password.',
595
-	'pass_mail_passcookie' => '(this is an automated message)
595
+    'pass_mail_passcookie' => '(this is an automated message)
596 596
 
597 597
 To recover your access to the site
598 598
 @nom_site_spip@ (@adresse_site@)
@@ -603,146 +603,146 @@  discard block
 block discarded – undo
603 603
 You can then enter a new password
604 604
 and log in to the site.
605 605
 ',
606
-	'pass_mot_oublie' => 'Password forgotten',
607
-	'pass_nouveau_enregistre' => 'Your new password has been recorded.',
608
-	'pass_nouveau_pass' => 'New password',
609
-	'pass_ok' => 'OK',
610
-	'pass_oubli_mot' => 'Forgotten password',
611
-	'pass_procedure_changer' => 'In order to change your password, we have to check your identity first. Please enter the e-mail address associated with this account.',
612
-	'pass_quitter_fenetre' => 'Close this window',
613
-	'pass_rappel_login' => 'Reminder: your identifier (login) is "@login@".',
614
-	'pass_recevoir_mail' => 'A link to reset your password has been sent to your email address (if it is valid).',
615
-	'pass_retour_public' => 'Back to the public site',
616
-	'pass_rien_a_faire_ici' => 'Nothing to do here.',
617
-	'pass_vousinscrire' => 'Registering with the site',
618
-	'precedent' => 'previous',
619
-	'previsualisation' => 'Preview',
620
-	'previsualiser' => 'Show preview',
606
+    'pass_mot_oublie' => 'Password forgotten',
607
+    'pass_nouveau_enregistre' => 'Your new password has been recorded.',
608
+    'pass_nouveau_pass' => 'New password',
609
+    'pass_ok' => 'OK',
610
+    'pass_oubli_mot' => 'Forgotten password',
611
+    'pass_procedure_changer' => 'In order to change your password, we have to check your identity first. Please enter the e-mail address associated with this account.',
612
+    'pass_quitter_fenetre' => 'Close this window',
613
+    'pass_rappel_login' => 'Reminder: your identifier (login) is "@login@".',
614
+    'pass_recevoir_mail' => 'A link to reset your password has been sent to your email address (if it is valid).',
615
+    'pass_retour_public' => 'Back to the public site',
616
+    'pass_rien_a_faire_ici' => 'Nothing to do here.',
617
+    'pass_vousinscrire' => 'Registering with the site',
618
+    'precedent' => 'previous',
619
+    'previsualisation' => 'Preview',
620
+    'previsualiser' => 'Show preview',
621 621
 
622
-	// R
623
-	'retour' => 'Back',
622
+    // R
623
+    'retour' => 'Back',
624 624
 
625
-	// S
626
-	'spip_conforme_dtd' => 'SPIP finds this page to be in compliance with its DOCTYPE:',
627
-	'squelette' => 'template',
628
-	'squelette_inclus_ligne' => 'included template, line',
629
-	'squelette_ligne' => 'template, line',
630
-	'stats_visites_et_popularite' => '@visites@ visits; popularity: @popularite@',
631
-	'suivant' => 'next',
625
+    // S
626
+    'spip_conforme_dtd' => 'SPIP finds this page to be in compliance with its DOCTYPE:',
627
+    'squelette' => 'template',
628
+    'squelette_inclus_ligne' => 'included template, line',
629
+    'squelette_ligne' => 'template, line',
630
+    'stats_visites_et_popularite' => '@visites@ visits; popularity: @popularite@',
631
+    'suivant' => 'next',
632 632
 
633
-	// T
634
-	'taille_go' => '@taille@ Gb',
635
-	'taille_ko' => '@taille@ kb',
636
-	'taille_mo' => '@taille@ Mb',
637
-	'taille_octets' => '@taille@ bytes',
638
-	'texte_actualite_site_1' => 'When you are more familiar with the interface, click on "',
639
-	'texte_actualite_site_2' => 'full interface',
640
-	'texte_actualite_site_3' => '" to make more features available.',
641
-	'texte_creation_automatique_vignette' => 'Automatic creation of preview vignettes is enabled. If you use this form to install,  images in the format(s) @gd_formats@, they will be coupled with a vignette whose maximum size is @taille_preview@ pixels.',
642
-	'texte_documents_associes' => 'The following documents are associated with the article,,
633
+    // T
634
+    'taille_go' => '@taille@ Gb',
635
+    'taille_ko' => '@taille@ kb',
636
+    'taille_mo' => '@taille@ Mb',
637
+    'taille_octets' => '@taille@ bytes',
638
+    'texte_actualite_site_1' => 'When you are more familiar with the interface, click on "',
639
+    'texte_actualite_site_2' => 'full interface',
640
+    'texte_actualite_site_3' => '" to make more features available.',
641
+    'texte_creation_automatique_vignette' => 'Automatic creation of preview vignettes is enabled. If you use this form to install,  images in the format(s) @gd_formats@, they will be coupled with a vignette whose maximum size is @taille_preview@ pixels.',
642
+    'texte_documents_associes' => 'The following documents are associated with the article,,
643 643
     but they were not directly
644 644
     inserted. Depending on the layout of the public site,
645 645
     they may appear as attached documents.',
646
-	'texte_erreur_mise_niveau_base' => 'Database error during the upgrade.
646
+    'texte_erreur_mise_niveau_base' => 'Database error during the upgrade.
647 647
       The image <b>@fichier@</b> did not pass (article @id_article@).<p>
648 648
    Note this reference carefully, try the upgrade procedure again,
649 649
    and check afterwards that the images still appear
650 650
       in the articles.',
651
-	'texte_erreur_visiteur' => 'You have tried to enter the private area using an unauthorised login.',
652
-	'texte_inc_auth_1' => 'You used the login
651
+    'texte_erreur_visiteur' => 'You have tried to enter the private area using an unauthorised login.',
652
+    'texte_inc_auth_1' => 'You used the login
653 653
   <b>@auth_login@</b>, but it does not exist in the database.
654 654
   Try to',
655
-	'texte_inc_auth_2' => 'reconnect',
656
-	'texte_inc_auth_3' => ', having quit and
655
+    'texte_inc_auth_2' => 'reconnect',
656
+    'texte_inc_auth_3' => ', having quit and
657 657
   restarted your browser if necessary.',
658
-	'texte_inc_config' => 'Changes made to the options on these pages have a great effect on
658
+    'texte_inc_config' => 'Changes made to the options on these pages have a great effect on
659 659
   the functioning of the site. You are advised not to make any changes unless you are
660 660
  familiar with how SPIP works. <br /><br /><b>In
661 661
  general, you are strongly advised
662 662
  to let the main webmaster of the site deal with these pages.</b>',
663
-	'texte_inc_meta_1' => 'The system encountered an error when trying to write the file <code>@fichier@</code>. As a site administrator, please',
664
-	'texte_inc_meta_2' => 'verify write permissions',
665
-	'texte_inc_meta_3' => 'of the directory <code>@repertoire@</code>.',
666
-	'texte_statut_en_cours_redaction' => 'editing in progress',
667
-	'texte_statut_poubelle' => 'to the dustbin',
668
-	'texte_statut_propose_evaluation' => 'submitted for evaluation',
669
-	'texte_statut_publie' => 'published online',
670
-	'texte_statut_refuse' => 'rejected',
671
-	'titre_ajouter_mot_cle' => 'ADD A KEYWORD:',
672
-	'titre_cadre_raccourcis' => 'SHORTCUTS:',
673
-	'titre_changer_couleur_interface' => 'Changing interface colour',
674
-	'titre_image_admin_article' => 'You can administrate this article',
675
-	'titre_image_administrateur' => 'Administrator',
676
-	'titre_image_aide' => 'Help on this item',
677
-	'titre_image_auteur_supprime' => 'Author deleted',
678
-	'titre_image_redacteur' => 'Editor without access',
679
-	'titre_image_redacteur_02' => 'Editor',
680
-	'titre_image_selecteur' => 'Display list',
681
-	'titre_image_visiteur' => 'Visitor',
682
-	'titre_joindre_document' => 'ATTACH A DOCUMENT',
683
-	'titre_mots_cles' => 'KEYWORDS',
684
-	'titre_probleme_technique' => 'Warning: a technical problem (SQL server) is preventing access to this part of the site. Thank you for your patience.',
685
-	'titre_publier_document' => 'PUBLISH A DOCUMENT IN THIS SECTION',
686
-	'titre_signatures_attente' => 'Signatures awaiting validation',
687
-	'titre_signatures_confirmees' => 'Signatures confirmed',
688
-	'titre_statistiques' => 'Site statistics',
689
-	'titre_titre_document' => 'Document title:',
690
-	'todo' => 'to come',
691
-	'trad_definir_reference' => 'Choose "@titre@" as a reference for translations',
692
-	'trad_reference' => '(reference for translations)',
663
+    'texte_inc_meta_1' => 'The system encountered an error when trying to write the file <code>@fichier@</code>. As a site administrator, please',
664
+    'texte_inc_meta_2' => 'verify write permissions',
665
+    'texte_inc_meta_3' => 'of the directory <code>@repertoire@</code>.',
666
+    'texte_statut_en_cours_redaction' => 'editing in progress',
667
+    'texte_statut_poubelle' => 'to the dustbin',
668
+    'texte_statut_propose_evaluation' => 'submitted for evaluation',
669
+    'texte_statut_publie' => 'published online',
670
+    'texte_statut_refuse' => 'rejected',
671
+    'titre_ajouter_mot_cle' => 'ADD A KEYWORD:',
672
+    'titre_cadre_raccourcis' => 'SHORTCUTS:',
673
+    'titre_changer_couleur_interface' => 'Changing interface colour',
674
+    'titre_image_admin_article' => 'You can administrate this article',
675
+    'titre_image_administrateur' => 'Administrator',
676
+    'titre_image_aide' => 'Help on this item',
677
+    'titre_image_auteur_supprime' => 'Author deleted',
678
+    'titre_image_redacteur' => 'Editor without access',
679
+    'titre_image_redacteur_02' => 'Editor',
680
+    'titre_image_selecteur' => 'Display list',
681
+    'titre_image_visiteur' => 'Visitor',
682
+    'titre_joindre_document' => 'ATTACH A DOCUMENT',
683
+    'titre_mots_cles' => 'KEYWORDS',
684
+    'titre_probleme_technique' => 'Warning: a technical problem (SQL server) is preventing access to this part of the site. Thank you for your patience.',
685
+    'titre_publier_document' => 'PUBLISH A DOCUMENT IN THIS SECTION',
686
+    'titre_signatures_attente' => 'Signatures awaiting validation',
687
+    'titre_signatures_confirmees' => 'Signatures confirmed',
688
+    'titre_statistiques' => 'Site statistics',
689
+    'titre_titre_document' => 'Document title:',
690
+    'todo' => 'to come',
691
+    'trad_definir_reference' => 'Choose "@titre@" as a reference for translations',
692
+    'trad_reference' => '(reference for translations)',
693 693
 
694
-	// U
695
-	'upload_limit' => 'This file is too big for the server: the maximum size allowed for <i>upload</i> is @max@.',
694
+    // U
695
+    'upload_limit' => 'This file is too big for the server: the maximum size allowed for <i>upload</i> is @max@.',
696 696
 
697
-	// Z
698
-	'zbug_balise_b_aval' => ': B tag too late in loop',
699
-	'zbug_balise_inexistante' => 'Tag @balise@ wrongly declared for @from@',
700
-	'zbug_balise_sans_argument' => 'Missing argument in the @balise@ tag',
701
-	'zbug_boucle' => 'loop',
702
-	'zbug_boucle_recursive_undef' => 'undefined recursive loop: @nom@',
703
-	'zbug_calcul' => 'calculation',
704
-	'zbug_champ_hors_boucle' => 'Field @champ@ outside loop',
705
-	'zbug_champ_hors_critere' => 'Field @champ@ outside criterion @critere@',
706
-	'zbug_champ_hors_motif' => 'Field @champ@ outside context @motif@',
707
-	'zbug_code' => 'code',
708
-	'zbug_critere_inconnu' => 'Unknown criterion @critere@',
709
-	'zbug_critere_sur_table_sans_cle_primaire' => '{@critere@} on a table without atomic primary key',
710
-	'zbug_distant_interdit' => 'External data forbidden',
711
-	'zbug_doublon_table_sans_cle_primaire' => 'Duplicate entries on a table which does not have a simple primary key',
712
-	'zbug_doublon_table_sans_index' => 'Duplicate entries on a table without an index',
713
-	'zbug_erreur_boucle_double' => 'Loop @id@: double definition',
714
-	'zbug_erreur_boucle_fermant' => 'Loop @id@: missing closing tag',
715
-	'zbug_erreur_boucle_syntaxe' => 'Syntax error in loop (BOUCLE)',
716
-	'zbug_erreur_compilation' => 'Compilation error',
717
-	'zbug_erreur_execution_page' => 'Execution error',
718
-	'zbug_erreur_filtre' => 'Undefined filter @filtre@',
719
-	'zbug_erreur_filtre_nbarg_min' => '@filtre@ filter: @nb@ argument(s) missing',
720
-	'zbug_erreur_meme_parent' => '{meme_parent} only applies to loops (FORUMS) and (RUBRIQUES)',
721
-	'zbug_erreur_squelette' => 'Error(s) in template',
722
-	'zbug_hors_compilation' => 'Uncompiled',
723
-	'zbug_info_erreur_squelette' => 'Error in the site',
724
-	'zbug_inversion_ordre_inexistant' => 'Reversion of non-existent order',
725
-	'zbug_pagination_sans_critere' => '#PAGINATION tag without {pagination} criterion, or used in a recursive loop',
726
-	'zbug_parametres_inclus_incorrects' => 'Wrong inclusion parameter: @param@',
727
-	'zbug_profile' => 'Calculation time: @time@',
728
-	'zbug_resultat' => 'result',
729
-	'zbug_serveur_indefini' => 'Undefined SQL server',
730
-	'zbug_statistiques' => 'SQL query statistics in order of duration',
731
-	'zbug_table_inconnue' => 'Unknown SQL table "@table@"',
732
-	'zxml_connus_attributs' => 'known attributes',
733
-	'zxml_de' => 'from',
734
-	'zxml_inconnu_attribut' => 'unknown attribute',
735
-	'zxml_inconnu_balise' => 'unknown tag',
736
-	'zxml_inconnu_entite' => 'unknown entity',
737
-	'zxml_inconnu_id' => 'unknown ID',
738
-	'zxml_mais_de' => 'but from',
739
-	'zxml_non_conforme' => 'not true to the principle',
740
-	'zxml_non_fils' => 'is not a child of',
741
-	'zxml_nonvide_balise' => 'tag not empty',
742
-	'zxml_obligatoire_attribut' => 'required attribute absent in',
743
-	'zxml_succession_fils_incorrecte' => 'incorrect child inheritance',
744
-	'zxml_survoler' => 'to see the correct ones, hover with the cursor',
745
-	'zxml_valeur_attribut' => 'attribute value',
746
-	'zxml_vide_balise' => 'empty tag',
747
-	'zxml_vu' => 'seen before'
697
+    // Z
698
+    'zbug_balise_b_aval' => ': B tag too late in loop',
699
+    'zbug_balise_inexistante' => 'Tag @balise@ wrongly declared for @from@',
700
+    'zbug_balise_sans_argument' => 'Missing argument in the @balise@ tag',
701
+    'zbug_boucle' => 'loop',
702
+    'zbug_boucle_recursive_undef' => 'undefined recursive loop: @nom@',
703
+    'zbug_calcul' => 'calculation',
704
+    'zbug_champ_hors_boucle' => 'Field @champ@ outside loop',
705
+    'zbug_champ_hors_critere' => 'Field @champ@ outside criterion @critere@',
706
+    'zbug_champ_hors_motif' => 'Field @champ@ outside context @motif@',
707
+    'zbug_code' => 'code',
708
+    'zbug_critere_inconnu' => 'Unknown criterion @critere@',
709
+    'zbug_critere_sur_table_sans_cle_primaire' => '{@critere@} on a table without atomic primary key',
710
+    'zbug_distant_interdit' => 'External data forbidden',
711
+    'zbug_doublon_table_sans_cle_primaire' => 'Duplicate entries on a table which does not have a simple primary key',
712
+    'zbug_doublon_table_sans_index' => 'Duplicate entries on a table without an index',
713
+    'zbug_erreur_boucle_double' => 'Loop @id@: double definition',
714
+    'zbug_erreur_boucle_fermant' => 'Loop @id@: missing closing tag',
715
+    'zbug_erreur_boucle_syntaxe' => 'Syntax error in loop (BOUCLE)',
716
+    'zbug_erreur_compilation' => 'Compilation error',
717
+    'zbug_erreur_execution_page' => 'Execution error',
718
+    'zbug_erreur_filtre' => 'Undefined filter @filtre@',
719
+    'zbug_erreur_filtre_nbarg_min' => '@filtre@ filter: @nb@ argument(s) missing',
720
+    'zbug_erreur_meme_parent' => '{meme_parent} only applies to loops (FORUMS) and (RUBRIQUES)',
721
+    'zbug_erreur_squelette' => 'Error(s) in template',
722
+    'zbug_hors_compilation' => 'Uncompiled',
723
+    'zbug_info_erreur_squelette' => 'Error in the site',
724
+    'zbug_inversion_ordre_inexistant' => 'Reversion of non-existent order',
725
+    'zbug_pagination_sans_critere' => '#PAGINATION tag without {pagination} criterion, or used in a recursive loop',
726
+    'zbug_parametres_inclus_incorrects' => 'Wrong inclusion parameter: @param@',
727
+    'zbug_profile' => 'Calculation time: @time@',
728
+    'zbug_resultat' => 'result',
729
+    'zbug_serveur_indefini' => 'Undefined SQL server',
730
+    'zbug_statistiques' => 'SQL query statistics in order of duration',
731
+    'zbug_table_inconnue' => 'Unknown SQL table "@table@"',
732
+    'zxml_connus_attributs' => 'known attributes',
733
+    'zxml_de' => 'from',
734
+    'zxml_inconnu_attribut' => 'unknown attribute',
735
+    'zxml_inconnu_balise' => 'unknown tag',
736
+    'zxml_inconnu_entite' => 'unknown entity',
737
+    'zxml_inconnu_id' => 'unknown ID',
738
+    'zxml_mais_de' => 'but from',
739
+    'zxml_non_conforme' => 'not true to the principle',
740
+    'zxml_non_fils' => 'is not a child of',
741
+    'zxml_nonvide_balise' => 'tag not empty',
742
+    'zxml_obligatoire_attribut' => 'required attribute absent in',
743
+    'zxml_succession_fils_incorrecte' => 'incorrect child inheritance',
744
+    'zxml_survoler' => 'to see the correct ones, hover with the cursor',
745
+    'zxml_valeur_attribut' => 'attribute value',
746
+    'zxml_vide_balise' => 'empty tag',
747
+    'zxml_vu' => 'seen before'
748 748
 );
Please login to merge, or discard this patch.
ecrire/public/cacher.php 3 patches
Spacing   +12 added lines, -12 removed lines patch added patch discarded remove patch
@@ -29,7 +29,7 @@  discard block
 block discarded – undo
29 29
 function generer_nom_fichier_cache($contexte, $page) {
30 30
 	$u = md5(var_export([$contexte, $page], true));
31 31
 
32
-	return $u . '.cache';
32
+	return $u.'.cache';
33 33
 }
34 34
 
35 35
 /**
@@ -61,10 +61,10 @@  discard block
 block discarded – undo
61 61
 	}
62 62
 	else {
63 63
 		// en lecture on essaye pas de creer les repertoires, on va au plus vite
64
-		$rep = _DIR_CACHE . "calcul/$d/";
64
+		$rep = _DIR_CACHE."calcul/$d/";
65 65
 	}
66 66
 
67
-	return $rep . $u . '.cache';
67
+	return $rep.$u.'.cache';
68 68
 }
69 69
 
70 70
 /**
@@ -115,7 +115,7 @@  discard block
 block discarded – undo
115 115
 		);
116 116
 	}
117 117
 
118
-	return crc32($GLOBALS['meta']['cache_signature'] . $page['texte']);
118
+	return crc32($GLOBALS['meta']['cache_signature'].$page['texte']);
119 119
 }
120 120
 
121 121
 /**
@@ -271,7 +271,7 @@  discard block
 block discarded – undo
271 271
 		// "cache sessionne" ; sa date indique la date de validite
272 272
 		// des caches sessionnes
273 273
 		if (!$tmp = lire_cache($chemin_cache)) {
274
-			spip_log('Creation cache sessionne ' . $chemin_cache);
274
+			spip_log('Creation cache sessionne '.$chemin_cache);
275 275
 			$tmp = [
276 276
 				'invalideurs' => ['session' => ''],
277 277
 				'lastmodified' => $_SERVER['REQUEST_TIME']
@@ -297,8 +297,8 @@  discard block
 block discarded – undo
297 297
 	// l'enregistrer, compresse ou non...
298 298
 	$ok = ecrire_cache($chemin_cache, $pagez);
299 299
 
300
-	spip_log((_IS_BOT ? 'Bot:' : '') . "Creation du cache $chemin_cache pour "
301
-		. $page['entetes']['X-Spip-Cache'] . ' secondes' . ($ok ? '' : ' (erreur!)'), _LOG_INFO);
300
+	spip_log((_IS_BOT ? 'Bot:' : '')."Creation du cache $chemin_cache pour "
301
+		. $page['entetes']['X-Spip-Cache'].' secondes'.($ok ? '' : ' (erreur!)'), _LOG_INFO);
302 302
 
303 303
 	// Inserer ses invalideurs
304 304
 	include_spip('inc/invalideur');
@@ -319,7 +319,7 @@  discard block
 block discarded – undo
319 319
 function nettoyer_petit_cache($prefix, $duree = 300) {
320 320
 	// determiner le repertoire a purger : 'tmp/CACHE/rech/'
321 321
 	$dircache = sous_repertoire(_DIR_CACHE, $prefix);
322
-	if (spip_touch($dircache . 'purger_' . $prefix, $duree, true)) {
322
+	if (spip_touch($dircache.'purger_'.$prefix, $duree, true)) {
323 323
 		foreach (preg_files($dircache, '[.]txt$') as $f) {
324 324
 			if ($_SERVER['REQUEST_TIME'] - (@file_exists($f) ? @filemtime($f) : 0) > $duree) {
325 325
 				spip_unlink($f);
@@ -414,9 +414,9 @@  discard block
 block discarded – undo
414 414
 		if (spip_connect()) {
415 415
 			include_spip('inc/invalideur');
416 416
 			retire_caches($chemin_cache); # API invalideur inutile
417
-			supprimer_fichier(_DIR_CACHE . $chemin_cache);
417
+			supprimer_fichier(_DIR_CACHE.$chemin_cache);
418 418
 			if (isset($chemin_cache_session) and $chemin_cache_session) {
419
-				supprimer_fichier(_DIR_CACHE . $chemin_cache_session);
419
+				supprimer_fichier(_DIR_CACHE.$chemin_cache_session);
420 420
 			}
421 421
 		}
422 422
 	}
@@ -433,9 +433,9 @@  discard block
 block discarded – undo
433 433
 		$page = ['contexte_implicite' => $contexte_implicite]; // ignorer le cache deja lu
434 434
 		include_spip('inc/invalideur');
435 435
 		retire_caches($chemin_cache); # API invalideur inutile
436
-		supprimer_fichier(_DIR_CACHE . $chemin_cache);
436
+		supprimer_fichier(_DIR_CACHE.$chemin_cache);
437 437
 		if (isset($chemin_cache_session) and $chemin_cache_session) {
438
-			supprimer_fichier(_DIR_CACHE . $chemin_cache_session);
438
+			supprimer_fichier(_DIR_CACHE.$chemin_cache_session);
439 439
 		}
440 440
 	}
441 441
 
Please login to merge, or discard this patch.
Braces   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -58,8 +58,7 @@
 block discarded – undo
58 58
 		$rep = sous_repertoire(_DIR_CACHE, '', false, true);
59 59
 		$rep = sous_repertoire($rep, 'calcul/', false, true);
60 60
 		$rep = sous_repertoire($rep, $d, false, true);
61
-	}
62
-	else {
61
+	} else {
63 62
 		// en lecture on essaye pas de creer les repertoires, on va au plus vite
64 63
 		$rep = _DIR_CACHE . "calcul/$d/";
65 64
 	}
Please login to merge, or discard this patch.
Indentation   +320 added lines, -320 removed lines patch added patch discarded remove patch
@@ -11,7 +11,7 @@  discard block
 block discarded – undo
11 11
 \***************************************************************************/
12 12
 
13 13
 if (!defined('_ECRIRE_INC_VERSION')) {
14
-	return;
14
+    return;
15 15
 }
16 16
 
17 17
 /**
@@ -25,9 +25,9 @@  discard block
 block discarded – undo
25 25
  * @return string
26 26
  */
27 27
 function generer_nom_fichier_cache($contexte, $page) {
28
-	$u = md5(var_export([$contexte, $page], true));
28
+    $u = md5(var_export([$contexte, $page], true));
29 29
 
30
-	return $u . '.cache';
30
+    return $u . '.cache';
31 31
 }
32 32
 
33 33
 /**
@@ -43,26 +43,26 @@  discard block
 block discarded – undo
43 43
  * @return string
44 44
  */
45 45
 function cache_chemin_fichier($nom_cache, $ecrire = false) {
46
-	static $l1, $l2;
47
-	if (is_null($l1)) {
48
-		$length = (defined('_CACHE_PROFONDEUR_STOCKAGE') ? min(8, max(_CACHE_PROFONDEUR_STOCKAGE, 2)) : 4);
49
-		$l1 = intval(floor($length / 2));
50
-		$l2 = $length - $l1;
51
-	}
52
-	$d = substr($nom_cache, 0, $l1);
53
-	$u = substr($nom_cache, $l1, $l2);
54
-
55
-	if ($ecrire) {
56
-		$rep = sous_repertoire(_DIR_CACHE, '', false, true);
57
-		$rep = sous_repertoire($rep, 'calcul/', false, true);
58
-		$rep = sous_repertoire($rep, $d, false, true);
59
-	}
60
-	else {
61
-		// en lecture on essaye pas de creer les repertoires, on va au plus vite
62
-		$rep = _DIR_CACHE . "calcul/$d/";
63
-	}
64
-
65
-	return $rep . $u . '.cache';
46
+    static $l1, $l2;
47
+    if (is_null($l1)) {
48
+        $length = (defined('_CACHE_PROFONDEUR_STOCKAGE') ? min(8, max(_CACHE_PROFONDEUR_STOCKAGE, 2)) : 4);
49
+        $l1 = intval(floor($length / 2));
50
+        $l2 = $length - $l1;
51
+    }
52
+    $d = substr($nom_cache, 0, $l1);
53
+    $u = substr($nom_cache, $l1, $l2);
54
+
55
+    if ($ecrire) {
56
+        $rep = sous_repertoire(_DIR_CACHE, '', false, true);
57
+        $rep = sous_repertoire($rep, 'calcul/', false, true);
58
+        $rep = sous_repertoire($rep, $d, false, true);
59
+    }
60
+    else {
61
+        // en lecture on essaye pas de creer les repertoires, on va au plus vite
62
+        $rep = _DIR_CACHE . "calcul/$d/";
63
+    }
64
+
65
+    return $rep . $u . '.cache';
66 66
 }
67 67
 
68 68
 /**
@@ -73,7 +73,7 @@  discard block
 block discarded – undo
73 73
  * @return bool
74 74
  */
75 75
 function ecrire_cache($nom_cache, $valeur) {
76
-	return ecrire_fichier(cache_chemin_fichier($nom_cache, true), serialize(['nom_cache' => $nom_cache, 'valeur' => $valeur]));
76
+    return ecrire_fichier(cache_chemin_fichier($nom_cache, true), serialize(['nom_cache' => $nom_cache, 'valeur' => $valeur]));
77 77
 }
78 78
 
79 79
 /**
@@ -83,38 +83,38 @@  discard block
 block discarded – undo
83 83
  * @return mixed
84 84
  */
85 85
 function lire_cache($nom_cache) {
86
-	$tmp = [];
87
-	if (
88
-		file_exists($f = cache_chemin_fichier($nom_cache))
89
-		and lire_fichier($f, $tmp)
90
-		and $tmp = unserialize($tmp)
91
-		and $tmp['nom_cache'] == $nom_cache
92
-		and isset($tmp['valeur'])
93
-	) {
94
-		return $tmp['valeur'];
95
-	}
96
-
97
-	return false;
86
+    $tmp = [];
87
+    if (
88
+        file_exists($f = cache_chemin_fichier($nom_cache))
89
+        and lire_fichier($f, $tmp)
90
+        and $tmp = unserialize($tmp)
91
+        and $tmp['nom_cache'] == $nom_cache
92
+        and isset($tmp['valeur'])
93
+    ) {
94
+        return $tmp['valeur'];
95
+    }
96
+
97
+    return false;
98 98
 }
99 99
 
100 100
 // Parano : on signe le cache, afin d'interdire un hack d'injection
101 101
 // dans notre memcache
102 102
 function cache_signature(&$page) {
103
-	if (!isset($GLOBALS['meta']['cache_signature'])) {
104
-		include_spip('inc/acces');
105
-		include_spip('auth/sha256.inc');
106
-		ecrire_meta(
107
-			'cache_signature',
108
-			spip_sha256(
109
-				$_SERVER['DOCUMENT_ROOT']
110
-				. ($_SERVER['SERVER_SIGNATURE'] ?? '')
111
-				. creer_uniqid()
112
-			),
113
-			'non'
114
-		);
115
-	}
116
-
117
-	return crc32($GLOBALS['meta']['cache_signature'] . $page['texte']);
103
+    if (!isset($GLOBALS['meta']['cache_signature'])) {
104
+        include_spip('inc/acces');
105
+        include_spip('auth/sha256.inc');
106
+        ecrire_meta(
107
+            'cache_signature',
108
+            spip_sha256(
109
+                $_SERVER['DOCUMENT_ROOT']
110
+                . ($_SERVER['SERVER_SIGNATURE'] ?? '')
111
+                . creer_uniqid()
112
+            ),
113
+            'non'
114
+        );
115
+    }
116
+
117
+    return crc32($GLOBALS['meta']['cache_signature'] . $page['texte']);
118 118
 }
119 119
 
120 120
 /**
@@ -127,14 +127,14 @@  discard block
 block discarded – undo
127 127
  * @return array
128 128
  */
129 129
 function gzip_page($page) {
130
-	if (function_exists('gzcompress') and strlen($page['texte']) > 16 * 1024) {
131
-		$page['gz'] = true;
132
-		$page['texte'] = gzcompress($page['texte']);
133
-	} else {
134
-		$page['gz'] = false;
135
-	}
136
-
137
-	return $page;
130
+    if (function_exists('gzcompress') and strlen($page['texte']) > 16 * 1024) {
131
+        $page['gz'] = true;
132
+        $page['texte'] = gzcompress($page['texte']);
133
+    } else {
134
+        $page['gz'] = false;
135
+    }
136
+
137
+    return $page;
138 138
 }
139 139
 
140 140
 /**
@@ -147,10 +147,10 @@  discard block
 block discarded – undo
147 147
  * @return void
148 148
  */
149 149
 function gunzip_page(&$page) {
150
-	if ($page['gz']) {
151
-		$page['texte'] = gzuncompress($page['texte']);
152
-		$page['gz'] = false; // ne pas gzuncompress deux fois une meme page
153
-	}
150
+    if ($page['gz']) {
151
+        $page['texte'] = gzuncompress($page['texte']);
152
+        $page['gz'] = false; // ne pas gzuncompress deux fois une meme page
153
+    }
154 154
 }
155 155
 
156 156
 /**
@@ -165,72 +165,72 @@  discard block
 block discarded – undo
165 165
  * -1 si il faut calculer sans stocker en cache
166 166
  */
167 167
 function cache_valide(&$page, $date) {
168
-	$now = $_SERVER['REQUEST_TIME'];
169
-
170
-	// Apparition d'un nouvel article post-date ?
171
-	if (
172
-		isset($GLOBALS['meta']['post_dates'])
173
-		and $GLOBALS['meta']['post_dates'] == 'non'
174
-		and isset($GLOBALS['meta']['date_prochain_postdate'])
175
-		and $now > $GLOBALS['meta']['date_prochain_postdate']
176
-	) {
177
-		spip_log('Un article post-date invalide le cache');
178
-		include_spip('inc/rubriques');
179
-		calculer_prochain_postdate(true);
180
-	}
181
-
182
-	if (defined('_VAR_NOCACHE') and _VAR_NOCACHE) {
183
-		return -1;
184
-	}
185
-	if (isset($GLOBALS['meta']['cache_inhib']) and $_SERVER['REQUEST_TIME'] < $GLOBALS['meta']['cache_inhib']) {
186
-		return -1;
187
-	}
188
-	if (defined('_NO_CACHE')) {
189
-		return (_NO_CACHE == 0 and !isset($page['texte'])) ? 1 : _NO_CACHE;
190
-	}
191
-
192
-	// pas de cache ? on le met a jour, sauf pour les bots (on leur calcule la page sans mise en cache)
193
-	if (!$page or !isset($page['texte']) or !isset($page['entetes']['X-Spip-Cache'])) {
194
-		return _IS_BOT ? -1 : 1;
195
-	}
196
-
197
-	// controle de la signature
198
-	if ($page['sig'] !== cache_signature($page)) {
199
-		return _IS_BOT ? -1 : 1;
200
-	}
201
-
202
-	// #CACHE{n,statique} => on n'invalide pas avec derniere_modif
203
-	// cf. ecrire/public/balises.php, balise_CACHE_dist()
204
-	if (!isset($page['entetes']['X-Spip-Statique']) or $page['entetes']['X-Spip-Statique'] !== 'oui') {
205
-		// Cache invalide par la meta 'derniere_modif'
206
-		// sauf pour les bots, qui utilisent toujours le cache
207
-		if (
208
-			!_IS_BOT
209
-			and $GLOBALS['derniere_modif_invalide']
210
-			and isset($GLOBALS['meta']['derniere_modif'])
211
-			and $date < $GLOBALS['meta']['derniere_modif']
212
-		) {
213
-			return 1;
214
-		}
215
-	}
216
-
217
-	// Sinon comparer l'age du fichier a sa duree de cache
218
-	$duree = intval($page['entetes']['X-Spip-Cache']);
219
-	$cache_mark = ($GLOBALS['meta']['cache_mark'] ?? 0);
220
-	if ($duree == 0) {  #CACHE{0}
221
-	return -1;
222
-	} // sauf pour les bots, qui utilisent toujours le cache
223
-	else {
224
-		if (
225
-			(!_IS_BOT and $date + $duree < $now)
226
-			# le cache est anterieur a la derniere purge : l'ignorer, meme pour les bots
227
-			or $date < $cache_mark
228
-		) {
229
-			return _IS_BOT ? -1 : 1;
230
-		} else {
231
-			return 0;
232
-		}
233
-	}
168
+    $now = $_SERVER['REQUEST_TIME'];
169
+
170
+    // Apparition d'un nouvel article post-date ?
171
+    if (
172
+        isset($GLOBALS['meta']['post_dates'])
173
+        and $GLOBALS['meta']['post_dates'] == 'non'
174
+        and isset($GLOBALS['meta']['date_prochain_postdate'])
175
+        and $now > $GLOBALS['meta']['date_prochain_postdate']
176
+    ) {
177
+        spip_log('Un article post-date invalide le cache');
178
+        include_spip('inc/rubriques');
179
+        calculer_prochain_postdate(true);
180
+    }
181
+
182
+    if (defined('_VAR_NOCACHE') and _VAR_NOCACHE) {
183
+        return -1;
184
+    }
185
+    if (isset($GLOBALS['meta']['cache_inhib']) and $_SERVER['REQUEST_TIME'] < $GLOBALS['meta']['cache_inhib']) {
186
+        return -1;
187
+    }
188
+    if (defined('_NO_CACHE')) {
189
+        return (_NO_CACHE == 0 and !isset($page['texte'])) ? 1 : _NO_CACHE;
190
+    }
191
+
192
+    // pas de cache ? on le met a jour, sauf pour les bots (on leur calcule la page sans mise en cache)
193
+    if (!$page or !isset($page['texte']) or !isset($page['entetes']['X-Spip-Cache'])) {
194
+        return _IS_BOT ? -1 : 1;
195
+    }
196
+
197
+    // controle de la signature
198
+    if ($page['sig'] !== cache_signature($page)) {
199
+        return _IS_BOT ? -1 : 1;
200
+    }
201
+
202
+    // #CACHE{n,statique} => on n'invalide pas avec derniere_modif
203
+    // cf. ecrire/public/balises.php, balise_CACHE_dist()
204
+    if (!isset($page['entetes']['X-Spip-Statique']) or $page['entetes']['X-Spip-Statique'] !== 'oui') {
205
+        // Cache invalide par la meta 'derniere_modif'
206
+        // sauf pour les bots, qui utilisent toujours le cache
207
+        if (
208
+            !_IS_BOT
209
+            and $GLOBALS['derniere_modif_invalide']
210
+            and isset($GLOBALS['meta']['derniere_modif'])
211
+            and $date < $GLOBALS['meta']['derniere_modif']
212
+        ) {
213
+            return 1;
214
+        }
215
+    }
216
+
217
+    // Sinon comparer l'age du fichier a sa duree de cache
218
+    $duree = intval($page['entetes']['X-Spip-Cache']);
219
+    $cache_mark = ($GLOBALS['meta']['cache_mark'] ?? 0);
220
+    if ($duree == 0) {  #CACHE{0}
221
+    return -1;
222
+    } // sauf pour les bots, qui utilisent toujours le cache
223
+    else {
224
+        if (
225
+            (!_IS_BOT and $date + $duree < $now)
226
+            # le cache est anterieur a la derniere purge : l'ignorer, meme pour les bots
227
+            or $date < $cache_mark
228
+        ) {
229
+            return _IS_BOT ? -1 : 1;
230
+        } else {
231
+            return 0;
232
+        }
233
+    }
234 234
 }
235 235
 
236 236
 /**
@@ -243,59 +243,59 @@  discard block
 block discarded – undo
243 243
  */
244 244
 function creer_cache(&$page, &$chemin_cache) {
245 245
 
246
-	// Ne rien faire si on est en preview, debug, ou si une erreur
247
-	// grave s'est presentee (compilation du squelette, MySQL, etc)
248
-	// le cas var_nocache ne devrait jamais arriver ici (securite)
249
-	// le cas spip_interdire_cache correspond a une ereur SQL grave non anticipable
250
-	if (
251
-		(defined('_VAR_NOCACHE') and _VAR_NOCACHE)
252
-		or defined('spip_interdire_cache')
253
-	) {
254
-		return;
255
-	}
256
-
257
-	// Si la page c1234 a un invalideur de session 'zz', sauver dans
258
-	// 'tmp/cache/MD5(chemin_cache)_zz'
259
-	if (
260
-		isset($page['invalideurs'])
261
-		and isset($page['invalideurs']['session'])
262
-	) {
263
-		// on verifie que le contenu du chemin cache indique seulement
264
-		// "cache sessionne" ; sa date indique la date de validite
265
-		// des caches sessionnes
266
-		if (!$tmp = lire_cache($chemin_cache)) {
267
-			spip_log('Creation cache sessionne ' . $chemin_cache);
268
-			$tmp = [
269
-				'invalideurs' => ['session' => ''],
270
-				'lastmodified' => $_SERVER['REQUEST_TIME']
271
-			];
272
-			ecrire_cache($chemin_cache, $tmp);
273
-		}
274
-		$chemin_cache = generer_nom_fichier_cache(
275
-			['chemin_cache' => $chemin_cache],
276
-			['session' => $page['invalideurs']['session']]
277
-		);
278
-	}
279
-
280
-	// ajouter la date de production dans le cache lui meme
281
-	// (qui contient deja sa duree de validite)
282
-	$page['lastmodified'] = $_SERVER['REQUEST_TIME'];
283
-
284
-	// compresser le contenu si besoin
285
-	$pagez = gzip_page($page);
286
-
287
-	// signer le contenu
288
-	$pagez['sig'] = cache_signature($pagez);
289
-
290
-	// l'enregistrer, compresse ou non...
291
-	$ok = ecrire_cache($chemin_cache, $pagez);
292
-
293
-	spip_log((_IS_BOT ? 'Bot:' : '') . "Creation du cache $chemin_cache pour "
294
-		. $page['entetes']['X-Spip-Cache'] . ' secondes' . ($ok ? '' : ' (erreur!)'), _LOG_INFO);
295
-
296
-	// Inserer ses invalideurs
297
-	include_spip('inc/invalideur');
298
-	maj_invalideurs($chemin_cache, $page);
246
+    // Ne rien faire si on est en preview, debug, ou si une erreur
247
+    // grave s'est presentee (compilation du squelette, MySQL, etc)
248
+    // le cas var_nocache ne devrait jamais arriver ici (securite)
249
+    // le cas spip_interdire_cache correspond a une ereur SQL grave non anticipable
250
+    if (
251
+        (defined('_VAR_NOCACHE') and _VAR_NOCACHE)
252
+        or defined('spip_interdire_cache')
253
+    ) {
254
+        return;
255
+    }
256
+
257
+    // Si la page c1234 a un invalideur de session 'zz', sauver dans
258
+    // 'tmp/cache/MD5(chemin_cache)_zz'
259
+    if (
260
+        isset($page['invalideurs'])
261
+        and isset($page['invalideurs']['session'])
262
+    ) {
263
+        // on verifie que le contenu du chemin cache indique seulement
264
+        // "cache sessionne" ; sa date indique la date de validite
265
+        // des caches sessionnes
266
+        if (!$tmp = lire_cache($chemin_cache)) {
267
+            spip_log('Creation cache sessionne ' . $chemin_cache);
268
+            $tmp = [
269
+                'invalideurs' => ['session' => ''],
270
+                'lastmodified' => $_SERVER['REQUEST_TIME']
271
+            ];
272
+            ecrire_cache($chemin_cache, $tmp);
273
+        }
274
+        $chemin_cache = generer_nom_fichier_cache(
275
+            ['chemin_cache' => $chemin_cache],
276
+            ['session' => $page['invalideurs']['session']]
277
+        );
278
+    }
279
+
280
+    // ajouter la date de production dans le cache lui meme
281
+    // (qui contient deja sa duree de validite)
282
+    $page['lastmodified'] = $_SERVER['REQUEST_TIME'];
283
+
284
+    // compresser le contenu si besoin
285
+    $pagez = gzip_page($page);
286
+
287
+    // signer le contenu
288
+    $pagez['sig'] = cache_signature($pagez);
289
+
290
+    // l'enregistrer, compresse ou non...
291
+    $ok = ecrire_cache($chemin_cache, $pagez);
292
+
293
+    spip_log((_IS_BOT ? 'Bot:' : '') . "Creation du cache $chemin_cache pour "
294
+        . $page['entetes']['X-Spip-Cache'] . ' secondes' . ($ok ? '' : ' (erreur!)'), _LOG_INFO);
295
+
296
+    // Inserer ses invalideurs
297
+    include_spip('inc/invalideur');
298
+    maj_invalideurs($chemin_cache, $page);
299 299
 }
300 300
 
301 301
 
@@ -308,15 +308,15 @@  discard block
 block discarded – undo
308 308
  * @return void
309 309
  */
310 310
 function nettoyer_petit_cache($prefix, $duree = 300) {
311
-	// determiner le repertoire a purger : 'tmp/CACHE/rech/'
312
-	$dircache = sous_repertoire(_DIR_CACHE, $prefix);
313
-	if (spip_touch($dircache . 'purger_' . $prefix, $duree, true)) {
314
-		foreach (preg_files($dircache, '[.]txt$') as $f) {
315
-			if ($_SERVER['REQUEST_TIME'] - (@file_exists($f) ? @filemtime($f) : 0) > $duree) {
316
-				spip_unlink($f);
317
-			}
318
-		}
319
-	}
311
+    // determiner le repertoire a purger : 'tmp/CACHE/rech/'
312
+    $dircache = sous_repertoire(_DIR_CACHE, $prefix);
313
+    if (spip_touch($dircache . 'purger_' . $prefix, $duree, true)) {
314
+        foreach (preg_files($dircache, '[.]txt$') as $f) {
315
+            if ($_SERVER['REQUEST_TIME'] - (@file_exists($f) ? @filemtime($f) : 0) > $duree) {
316
+                spip_unlink($f);
317
+            }
318
+        }
319
+    }
320 320
 }
321 321
 
322 322
 
@@ -344,133 +344,133 @@  discard block
 block discarded – undo
344 344
  */
345 345
 function public_cacher_dist($contexte, &$use_cache, &$chemin_cache, &$page, &$lastmodified) {
346 346
 
347
-	# fonction de cache minimale : dire "non on ne met rien en cache"
348
-	# $use_cache = -1; return;
349
-
350
-	// Second appel, destine a l'enregistrement du cache sur le disque
351
-	if (isset($chemin_cache)) {
352
-		return creer_cache($page, $chemin_cache);
353
-	}
354
-
355
-	// Toute la suite correspond au premier appel
356
-	$contexte_implicite = $page['contexte_implicite'];
357
-
358
-	// Cas ignorant le cache car completement dynamique
359
-	if (
360
-		(!empty($_SERVER['REQUEST_METHOD']) and $_SERVER['REQUEST_METHOD'] === 'POST')
361
-		or _request('connect')
362
-	) {
363
-		$use_cache = -1;
364
-		$lastmodified = 0;
365
-		$chemin_cache = '';
366
-		$page = [];
367
-
368
-		return;
369
-	}
370
-
371
-	// Controler l'existence d'un cache nous correspondant
372
-	$chemin_cache = generer_nom_fichier_cache($contexte, $page);
373
-	$lastmodified = 0;
374
-
375
-	// charger le cache s'il existe (et si il a bien le bon hash = anticollision)
376
-	if (!$page = lire_cache($chemin_cache)) {
377
-		$page = [];
378
-	}
379
-
380
-	// s'il est sessionne, charger celui correspondant a notre session
381
-	if (
382
-		isset($page['invalideurs'])
383
-		and isset($page['invalideurs']['session'])
384
-	) {
385
-		$chemin_cache_session = generer_nom_fichier_cache(
386
-			['chemin_cache' => $chemin_cache],
387
-			['session' => spip_session()]
388
-		);
389
-		if (
390
-			$page_session = lire_cache($chemin_cache_session)
391
-			and $page_session['lastmodified'] >= $page['lastmodified']
392
-		) {
393
-			$page = $page_session;
394
-		} else {
395
-			$page = [];
396
-		}
397
-	}
398
-
399
-
400
-	// Faut-il effacer des pages invalidees (en particulier ce cache-ci) ?
401
-	if (isset($GLOBALS['meta']['invalider'])) {
402
-		// ne le faire que si la base est disponible
403
-		if (spip_connect()) {
404
-			include_spip('inc/invalideur');
405
-			retire_caches($chemin_cache); # API invalideur inutile
406
-			supprimer_fichier(_DIR_CACHE . $chemin_cache);
407
-			if (isset($chemin_cache_session) and $chemin_cache_session) {
408
-				supprimer_fichier(_DIR_CACHE . $chemin_cache_session);
409
-			}
410
-		}
411
-	}
412
-
413
-	// Si un calcul, recalcul [ou preview, mais c'est recalcul] est demande,
414
-	// on supprime le cache
415
-	if (
416
-		defined('_VAR_MODE') &&
417
-		_VAR_MODE &&
418
-		(isset($_COOKIE['spip_session']) ||
419
-			isset($_COOKIE['spip_admin']) ||
420
-			@file_exists(_ACCESS_FILE_NAME))
421
-	) {
422
-		$page = ['contexte_implicite' => $contexte_implicite]; // ignorer le cache deja lu
423
-		include_spip('inc/invalideur');
424
-		retire_caches($chemin_cache); # API invalideur inutile
425
-		supprimer_fichier(_DIR_CACHE . $chemin_cache);
426
-		if (isset($chemin_cache_session) and $chemin_cache_session) {
427
-			supprimer_fichier(_DIR_CACHE . $chemin_cache_session);
428
-		}
429
-	}
430
-
431
-	// $delais par defaut
432
-	// pour toutes les pages sans #CACHE{} hors modeles/ et espace privé
433
-	// qui sont a cache nul par defaut
434
-	if (!isset($GLOBALS['delais'])) {
435
-		if (!defined('_DUREE_CACHE_DEFAUT')) {
436
-			define('_DUREE_CACHE_DEFAUT', 24 * 3600);
437
-		}
438
-		$GLOBALS['delais'] = _DUREE_CACHE_DEFAUT;
439
-	}
440
-
441
-	// determiner la validite de la page
442
-	if ($page) {
443
-		$use_cache = cache_valide($page, $page['lastmodified'] ?? 0);
444
-		// le contexte implicite n'est pas stocke dans le cache, mais il y a equivalence
445
-		// par le nom du cache. On le reinjecte donc ici pour utilisation eventuelle au calcul
446
-		$page['contexte_implicite'] = $contexte_implicite;
447
-		if (!$use_cache) {
448
-			// $page est un cache utilisable
449
-			gunzip_page($page);
450
-
451
-			return;
452
-		}
453
-	} else {
454
-		$page = ['contexte_implicite' => $contexte_implicite];
455
-		$use_cache = cache_valide($page, 0); // fichier cache absent : provoque le calcul
456
-	}
457
-
458
-	// Si pas valide mais pas de connexion a la base, le garder quand meme
459
-	if (!spip_connect()) {
460
-		if (isset($page['texte'])) {
461
-			gunzip_page($page);
462
-			$use_cache = 0;
463
-		} else {
464
-			spip_log("Erreur base de donnees, impossible utiliser $chemin_cache");
465
-			include_spip('inc/minipres');
466
-
467
-			return minipres(_T('info_travaux_titre'), _T('titre_probleme_technique'), ['status' => 503]);
468
-		}
469
-	}
470
-
471
-	if ($use_cache < 0) {
472
-		$chemin_cache = '';
473
-	}
474
-
475
-	return;
347
+    # fonction de cache minimale : dire "non on ne met rien en cache"
348
+    # $use_cache = -1; return;
349
+
350
+    // Second appel, destine a l'enregistrement du cache sur le disque
351
+    if (isset($chemin_cache)) {
352
+        return creer_cache($page, $chemin_cache);
353
+    }
354
+
355
+    // Toute la suite correspond au premier appel
356
+    $contexte_implicite = $page['contexte_implicite'];
357
+
358
+    // Cas ignorant le cache car completement dynamique
359
+    if (
360
+        (!empty($_SERVER['REQUEST_METHOD']) and $_SERVER['REQUEST_METHOD'] === 'POST')
361
+        or _request('connect')
362
+    ) {
363
+        $use_cache = -1;
364
+        $lastmodified = 0;
365
+        $chemin_cache = '';
366
+        $page = [];
367
+
368
+        return;
369
+    }
370
+
371
+    // Controler l'existence d'un cache nous correspondant
372
+    $chemin_cache = generer_nom_fichier_cache($contexte, $page);
373
+    $lastmodified = 0;
374
+
375
+    // charger le cache s'il existe (et si il a bien le bon hash = anticollision)
376
+    if (!$page = lire_cache($chemin_cache)) {
377
+        $page = [];
378
+    }
379
+
380
+    // s'il est sessionne, charger celui correspondant a notre session
381
+    if (
382
+        isset($page['invalideurs'])
383
+        and isset($page['invalideurs']['session'])
384
+    ) {
385
+        $chemin_cache_session = generer_nom_fichier_cache(
386
+            ['chemin_cache' => $chemin_cache],
387
+            ['session' => spip_session()]
388
+        );
389
+        if (
390
+            $page_session = lire_cache($chemin_cache_session)
391
+            and $page_session['lastmodified'] >= $page['lastmodified']
392
+        ) {
393
+            $page = $page_session;
394
+        } else {
395
+            $page = [];
396
+        }
397
+    }
398
+
399
+
400
+    // Faut-il effacer des pages invalidees (en particulier ce cache-ci) ?
401
+    if (isset($GLOBALS['meta']['invalider'])) {
402
+        // ne le faire que si la base est disponible
403
+        if (spip_connect()) {
404
+            include_spip('inc/invalideur');
405
+            retire_caches($chemin_cache); # API invalideur inutile
406
+            supprimer_fichier(_DIR_CACHE . $chemin_cache);
407
+            if (isset($chemin_cache_session) and $chemin_cache_session) {
408
+                supprimer_fichier(_DIR_CACHE . $chemin_cache_session);
409
+            }
410
+        }
411
+    }
412
+
413
+    // Si un calcul, recalcul [ou preview, mais c'est recalcul] est demande,
414
+    // on supprime le cache
415
+    if (
416
+        defined('_VAR_MODE') &&
417
+        _VAR_MODE &&
418
+        (isset($_COOKIE['spip_session']) ||
419
+            isset($_COOKIE['spip_admin']) ||
420
+            @file_exists(_ACCESS_FILE_NAME))
421
+    ) {
422
+        $page = ['contexte_implicite' => $contexte_implicite]; // ignorer le cache deja lu
423
+        include_spip('inc/invalideur');
424
+        retire_caches($chemin_cache); # API invalideur inutile
425
+        supprimer_fichier(_DIR_CACHE . $chemin_cache);
426
+        if (isset($chemin_cache_session) and $chemin_cache_session) {
427
+            supprimer_fichier(_DIR_CACHE . $chemin_cache_session);
428
+        }
429
+    }
430
+
431
+    // $delais par defaut
432
+    // pour toutes les pages sans #CACHE{} hors modeles/ et espace privé
433
+    // qui sont a cache nul par defaut
434
+    if (!isset($GLOBALS['delais'])) {
435
+        if (!defined('_DUREE_CACHE_DEFAUT')) {
436
+            define('_DUREE_CACHE_DEFAUT', 24 * 3600);
437
+        }
438
+        $GLOBALS['delais'] = _DUREE_CACHE_DEFAUT;
439
+    }
440
+
441
+    // determiner la validite de la page
442
+    if ($page) {
443
+        $use_cache = cache_valide($page, $page['lastmodified'] ?? 0);
444
+        // le contexte implicite n'est pas stocke dans le cache, mais il y a equivalence
445
+        // par le nom du cache. On le reinjecte donc ici pour utilisation eventuelle au calcul
446
+        $page['contexte_implicite'] = $contexte_implicite;
447
+        if (!$use_cache) {
448
+            // $page est un cache utilisable
449
+            gunzip_page($page);
450
+
451
+            return;
452
+        }
453
+    } else {
454
+        $page = ['contexte_implicite' => $contexte_implicite];
455
+        $use_cache = cache_valide($page, 0); // fichier cache absent : provoque le calcul
456
+    }
457
+
458
+    // Si pas valide mais pas de connexion a la base, le garder quand meme
459
+    if (!spip_connect()) {
460
+        if (isset($page['texte'])) {
461
+            gunzip_page($page);
462
+            $use_cache = 0;
463
+        } else {
464
+            spip_log("Erreur base de donnees, impossible utiliser $chemin_cache");
465
+            include_spip('inc/minipres');
466
+
467
+            return minipres(_T('info_travaux_titre'), _T('titre_probleme_technique'), ['status' => 503]);
468
+        }
469
+    }
470
+
471
+    if ($use_cache < 0) {
472
+        $chemin_cache = '';
473
+    }
474
+
475
+    return;
476 476
 }
Please login to merge, or discard this patch.
ecrire/public/aiguiller.php 3 patches
Spacing   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -28,7 +28,7 @@  discard block
 block discarded – undo
28 28
 	) {
29 29
 		// si l'url est une url du site, on la laisse passer sans rien faire
30 30
 		// c'est encore le plus simple
31
-		$base = $GLOBALS['meta']['adresse_site'] . '/';
31
+		$base = $GLOBALS['meta']['adresse_site'].'/';
32 32
 		if (strlen($base) and strncmp($redirect, $base, strlen($base)) == 0) {
33 33
 			return $redirect;
34 34
 		}
@@ -156,7 +156,7 @@  discard block
 block discarded – undo
156 156
 			if ($ancre = _request('var_ajax_ancre')) {
157 157
 				// pas n'importe quoi quand meme dans la variable !
158 158
 				$ancre = str_replace(['<', '"', "'"], ['&lt;', '&quot;', ''], $ancre);
159
-				$texte = "<a href='#$ancre' name='ajax_ancre' style='display:none;'>anchor</a>" . $texte;
159
+				$texte = "<a href='#$ancre' name='ajax_ancre' style='display:none;'>anchor</a>".$texte;
160 160
 			}
161 161
 		} else {
162 162
 			include_spip('inc/headers');
@@ -199,26 +199,26 @@  discard block
 block discarded – undo
199 199
 	$sign = _request('formulaire_action_sign');
200 200
 	if (!empty($GLOBALS['visiteur_session']['id_auteur'])) {
201 201
 		if (empty($sign)) {
202
-			spip_log("signature ajax form incorrecte : $form (formulaire non signe mais on a une session)", 'formulaires' . _LOG_ERREUR);
202
+			spip_log("signature ajax form incorrecte : $form (formulaire non signe mais on a une session)", 'formulaires'._LOG_ERREUR);
203 203
 			return false;
204 204
 		}
205 205
 		$securiser_action = charger_fonction('securiser_action', 'inc');
206 206
 		$secu = $securiser_action($form, $args, '', -1);
207 207
 		if ($sign !== $secu['hash']) {
208
-			spip_log("signature ajax form incorrecte : $form (formulaire signe mais ne correspond pas a la session)", 'formulaires' . _LOG_ERREUR);
208
+			spip_log("signature ajax form incorrecte : $form (formulaire signe mais ne correspond pas a la session)", 'formulaires'._LOG_ERREUR);
209 209
 			return false;
210 210
 		}
211 211
 	}
212 212
 	else {
213 213
 		if (!empty($sign)) {
214
-			spip_log("signature ajax form incorrecte : $form (formulaire signe mais pas de session)", 'formulaires' . _LOG_ERREUR);
214
+			spip_log("signature ajax form incorrecte : $form (formulaire signe mais pas de session)", 'formulaires'._LOG_ERREUR);
215 215
 			return false;
216 216
 		}
217 217
 	}
218 218
 
219 219
 	include_spip('inc/filtres');
220 220
 	if (($args = decoder_contexte_ajax($args, $form)) === false) {
221
-		spip_log("signature ajax form incorrecte : $form (encodage corrompu)", 'formulaires' . _LOG_ERREUR);
221
+		spip_log("signature ajax form incorrecte : $form (encodage corrompu)", 'formulaires'._LOG_ERREUR);
222 222
 
223 223
 		return false; // continuons le hit comme si de rien etait
224 224
 	} else {
@@ -335,7 +335,7 @@  discard block
 block discarded – undo
335 335
 				// on ajoute un br en display none en tete du retour ajax pour regler un bug dans IE6/7
336 336
 				// sans cela le formulaire n'est pas actif apres le hit ajax
337 337
 				// la classe ajax-form-is-ok sert a s'assurer que le retour ajax s'est bien passe
338
-				$retour = "<br class='bugajaxie ajax-form-is-ok' style='display:none;'/>" . $retour;
338
+				$retour = "<br class='bugajaxie ajax-form-is-ok' style='display:none;'/>".$retour;
339 339
 				ajax_retour($retour, false);
340 340
 
341 341
 				return true; // on a fini le hit
Please login to merge, or discard this patch.
Braces   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -208,8 +208,7 @@
 block discarded – undo
208 208
 			spip_log("signature ajax form incorrecte : $form (formulaire signe mais ne correspond pas a la session)", 'formulaires' . _LOG_ERREUR);
209 209
 			return false;
210 210
 		}
211
-	}
212
-	else {
211
+	} else {
213 212
 		if (!empty($sign)) {
214 213
 			spip_log("signature ajax form incorrecte : $form (formulaire signe mais pas de session)", 'formulaires' . _LOG_ERREUR);
215 214
 			return false;
Please login to merge, or discard this patch.
Indentation   +289 added lines, -289 removed lines patch added patch discarded remove patch
@@ -11,161 +11,161 @@  discard block
 block discarded – undo
11 11
 \***************************************************************************/
12 12
 
13 13
 if (!defined('_ECRIRE_INC_VERSION')) {
14
-	return;
14
+    return;
15 15
 }
16 16
 
17 17
 function securiser_redirect_action($redirect) {
18
-	// cas d'un double urlencode : si un urldecode de l'url n'est pas secure, on retient ca comme redirect
19
-	if (strpos($redirect, '%') !== false) {
20
-		$r2 = urldecode($redirect);
21
-		if (($r3 = securiser_redirect_action($r2)) !== $r2) {
22
-			return $r3;
23
-		}
24
-	}
25
-	if (
26
-		(tester_url_absolue($redirect) or preg_match(',^\w+:,', trim($redirect)))
27
-		and !defined('_AUTORISER_ACTION_ABS_REDIRECT')
28
-	) {
29
-		// si l'url est une url du site, on la laisse passer sans rien faire
30
-		// c'est encore le plus simple
31
-		$base = $GLOBALS['meta']['adresse_site'] . '/';
32
-		if (strlen($base) and strncmp($redirect, $base, strlen($base)) == 0) {
33
-			return $redirect;
34
-		}
35
-		$base = url_de_base();
36
-		if (strlen($base) and strncmp($redirect, $base, strlen($base)) == 0) {
37
-			return $redirect;
38
-		}
18
+    // cas d'un double urlencode : si un urldecode de l'url n'est pas secure, on retient ca comme redirect
19
+    if (strpos($redirect, '%') !== false) {
20
+        $r2 = urldecode($redirect);
21
+        if (($r3 = securiser_redirect_action($r2)) !== $r2) {
22
+            return $r3;
23
+        }
24
+    }
25
+    if (
26
+        (tester_url_absolue($redirect) or preg_match(',^\w+:,', trim($redirect)))
27
+        and !defined('_AUTORISER_ACTION_ABS_REDIRECT')
28
+    ) {
29
+        // si l'url est une url du site, on la laisse passer sans rien faire
30
+        // c'est encore le plus simple
31
+        $base = $GLOBALS['meta']['adresse_site'] . '/';
32
+        if (strlen($base) and strncmp($redirect, $base, strlen($base)) == 0) {
33
+            return $redirect;
34
+        }
35
+        $base = url_de_base();
36
+        if (strlen($base) and strncmp($redirect, $base, strlen($base)) == 0) {
37
+            return $redirect;
38
+        }
39 39
 
40
-		return '';
41
-	}
40
+        return '';
41
+    }
42 42
 
43
-	return $redirect;
43
+    return $redirect;
44 44
 }
45 45
 
46 46
 function traiter_appels_actions() {
47
-	// cas de l'appel qui renvoie une redirection (302) ou rien (204)
48
-	if ($action = _request('action')) {
49
-		include_spip('base/abstract_sql'); // chargement systematique pour les actions
50
-		include_spip('inc/autoriser');
51
-		include_spip('inc/headers');
52
-		include_spip('inc/actions');
53
-		// des actions peuvent appeler _T
54
-		if (!isset($GLOBALS['spip_lang'])) {
55
-			include_spip('inc/lang');
56
-			utiliser_langue_visiteur();
57
-		}
58
-		// si l'action est provoque par un hit {ajax}
59
-		// il faut transmettre l'env ajax au redirect
60
-		// on le met avant dans la query string au cas ou l'action fait elle meme sa redirection
61
-		if (
62
-			($v = _request('var_ajax'))
63
-			and ($v !== 'form')
64
-			and ($args = _request('var_ajax_env'))
65
-			and ($url = _request('redirect'))
66
-		) {
67
-			$url = parametre_url($url, 'var_ajax', $v, '&');
68
-			$url = parametre_url($url, 'var_ajax_env', $args, '&');
69
-			set_request('redirect', $url);
70
-		} else {
71
-			if (_request('redirect')) {
72
-				set_request('redirect', securiser_redirect_action(_request('redirect')));
73
-			}
74
-		}
75
-		$var_f = charger_fonction($action, 'action');
76
-		$var_f();
77
-		if (!isset($GLOBALS['redirect'])) {
78
-			$GLOBALS['redirect'] = _request('redirect') ?? '';
79
-			if ($_SERVER['REQUEST_METHOD'] === 'POST') {
80
-				$GLOBALS['redirect'] = urldecode($GLOBALS['redirect']);
81
-			}
82
-			$GLOBALS['redirect'] = securiser_redirect_action($GLOBALS['redirect']);
83
-		}
84
-		if ($url = $GLOBALS['redirect']) {
85
-			// si l'action est provoque par un hit {ajax}
86
-			// il faut transmettre l'env ajax au redirect
87
-			// qui a pu etre defini par l'action
88
-			if (
89
-				($v = _request('var_ajax'))
90
-				and ($v !== 'form')
91
-				and ($args = _request('var_ajax_env'))
92
-			) {
93
-				$url = parametre_url($url, 'var_ajax', $v, '&');
94
-				$url = parametre_url($url, 'var_ajax_env', $args, '&');
95
-				// passer l'ancre en variable pour pouvoir la gerer cote serveur
96
-				$url = preg_replace(',#([^#&?]+)$,', "&var_ajax_ancre=\\1", $url);
97
-			}
98
-			$url = str_replace('&amp;', '&', $url); // les redirections se font en &, pas en en &amp;
99
-			redirige_par_entete($url);
100
-		}
47
+    // cas de l'appel qui renvoie une redirection (302) ou rien (204)
48
+    if ($action = _request('action')) {
49
+        include_spip('base/abstract_sql'); // chargement systematique pour les actions
50
+        include_spip('inc/autoriser');
51
+        include_spip('inc/headers');
52
+        include_spip('inc/actions');
53
+        // des actions peuvent appeler _T
54
+        if (!isset($GLOBALS['spip_lang'])) {
55
+            include_spip('inc/lang');
56
+            utiliser_langue_visiteur();
57
+        }
58
+        // si l'action est provoque par un hit {ajax}
59
+        // il faut transmettre l'env ajax au redirect
60
+        // on le met avant dans la query string au cas ou l'action fait elle meme sa redirection
61
+        if (
62
+            ($v = _request('var_ajax'))
63
+            and ($v !== 'form')
64
+            and ($args = _request('var_ajax_env'))
65
+            and ($url = _request('redirect'))
66
+        ) {
67
+            $url = parametre_url($url, 'var_ajax', $v, '&');
68
+            $url = parametre_url($url, 'var_ajax_env', $args, '&');
69
+            set_request('redirect', $url);
70
+        } else {
71
+            if (_request('redirect')) {
72
+                set_request('redirect', securiser_redirect_action(_request('redirect')));
73
+            }
74
+        }
75
+        $var_f = charger_fonction($action, 'action');
76
+        $var_f();
77
+        if (!isset($GLOBALS['redirect'])) {
78
+            $GLOBALS['redirect'] = _request('redirect') ?? '';
79
+            if ($_SERVER['REQUEST_METHOD'] === 'POST') {
80
+                $GLOBALS['redirect'] = urldecode($GLOBALS['redirect']);
81
+            }
82
+            $GLOBALS['redirect'] = securiser_redirect_action($GLOBALS['redirect']);
83
+        }
84
+        if ($url = $GLOBALS['redirect']) {
85
+            // si l'action est provoque par un hit {ajax}
86
+            // il faut transmettre l'env ajax au redirect
87
+            // qui a pu etre defini par l'action
88
+            if (
89
+                ($v = _request('var_ajax'))
90
+                and ($v !== 'form')
91
+                and ($args = _request('var_ajax_env'))
92
+            ) {
93
+                $url = parametre_url($url, 'var_ajax', $v, '&');
94
+                $url = parametre_url($url, 'var_ajax_env', $args, '&');
95
+                // passer l'ancre en variable pour pouvoir la gerer cote serveur
96
+                $url = preg_replace(',#([^#&?]+)$,', "&var_ajax_ancre=\\1", $url);
97
+            }
98
+            $url = str_replace('&amp;', '&', $url); // les redirections se font en &, pas en en &amp;
99
+            redirige_par_entete($url);
100
+        }
101 101
 
102
-		// attention : avec zlib.output_compression=1 on a vu des cas de ob_get_length() qui renvoi 0
103
-		// et du coup en renvoi un status 204 a tort (vu sur le menu rubriques notamment)
104
-		if (
105
-			!headers_sent()
106
-			and !ob_get_length()
107
-		) {
108
-			http_status(204);
109
-		} // No Content
110
-		return true;
111
-	}
102
+        // attention : avec zlib.output_compression=1 on a vu des cas de ob_get_length() qui renvoi 0
103
+        // et du coup en renvoi un status 204 a tort (vu sur le menu rubriques notamment)
104
+        if (
105
+            !headers_sent()
106
+            and !ob_get_length()
107
+        ) {
108
+            http_status(204);
109
+        } // No Content
110
+        return true;
111
+    }
112 112
 
113
-	return false;
113
+    return false;
114 114
 }
115 115
 
116 116
 
117 117
 function refuser_traiter_formulaire_ajax() {
118
-	if (
119
-		$v = _request('var_ajax')
120
-		and $v == 'form'
121
-		and $form = _request('formulaire_action')
122
-		and $args = _request('formulaire_action_args')
123
-		and decoder_contexte_ajax($args, $form) !== false
124
-	) {
125
-		// on est bien dans le contexte de traitement d'un formulaire en ajax
126
-		// mais traiter ne veut pas
127
-		// on le dit a la page qui va resumbit
128
-		// sans ajax
129
-		include_spip('inc/actions');
130
-		ajax_retour('noajax', false);
131
-		exit;
132
-	}
118
+    if (
119
+        $v = _request('var_ajax')
120
+        and $v == 'form'
121
+        and $form = _request('formulaire_action')
122
+        and $args = _request('formulaire_action_args')
123
+        and decoder_contexte_ajax($args, $form) !== false
124
+    ) {
125
+        // on est bien dans le contexte de traitement d'un formulaire en ajax
126
+        // mais traiter ne veut pas
127
+        // on le dit a la page qui va resumbit
128
+        // sans ajax
129
+        include_spip('inc/actions');
130
+        ajax_retour('noajax', false);
131
+        exit;
132
+    }
133 133
 }
134 134
 
135 135
 function traiter_appels_inclusions_ajax() {
136
-	// traiter les appels de bloc ajax (ex: pagination)
137
-	if (
138
-		$v = _request('var_ajax')
139
-		and $v !== 'form'
140
-		and $args = _request('var_ajax_env')
141
-	) {
142
-		include_spip('inc/filtres');
143
-		include_spip('inc/actions');
144
-		if (
145
-			$args = decoder_contexte_ajax($args)
146
-			and $fond = $args['fond']
147
-		) {
148
-			include_spip('public/assembler');
149
-			$contexte = calculer_contexte();
150
-			$contexte = array_merge($args, $contexte);
151
-			$page = recuperer_fond($fond, $contexte, ['trim' => false]);
152
-			$texte = $page;
153
-			if ($ancre = _request('var_ajax_ancre')) {
154
-				// pas n'importe quoi quand meme dans la variable !
155
-				$ancre = str_replace(['<', '"', "'"], ['&lt;', '&quot;', ''], $ancre);
156
-				$texte = "<a href='#$ancre' name='ajax_ancre' style='display:none;'>anchor</a>" . $texte;
157
-			}
158
-		} else {
159
-			include_spip('inc/headers');
160
-			http_response_code(400);
161
-			$texte = _L('signature ajax bloc incorrecte');
162
-		}
163
-		ajax_retour($texte, false);
136
+    // traiter les appels de bloc ajax (ex: pagination)
137
+    if (
138
+        $v = _request('var_ajax')
139
+        and $v !== 'form'
140
+        and $args = _request('var_ajax_env')
141
+    ) {
142
+        include_spip('inc/filtres');
143
+        include_spip('inc/actions');
144
+        if (
145
+            $args = decoder_contexte_ajax($args)
146
+            and $fond = $args['fond']
147
+        ) {
148
+            include_spip('public/assembler');
149
+            $contexte = calculer_contexte();
150
+            $contexte = array_merge($args, $contexte);
151
+            $page = recuperer_fond($fond, $contexte, ['trim' => false]);
152
+            $texte = $page;
153
+            if ($ancre = _request('var_ajax_ancre')) {
154
+                // pas n'importe quoi quand meme dans la variable !
155
+                $ancre = str_replace(['<', '"', "'"], ['&lt;', '&quot;', ''], $ancre);
156
+                $texte = "<a href='#$ancre' name='ajax_ancre' style='display:none;'>anchor</a>" . $texte;
157
+            }
158
+        } else {
159
+            include_spip('inc/headers');
160
+            http_response_code(400);
161
+            $texte = _L('signature ajax bloc incorrecte');
162
+        }
163
+        ajax_retour($texte, false);
164 164
 
165
-		return true; // on a fini le hit
166
-	}
165
+        return true; // on a fini le hit
166
+    }
167 167
 
168
-	return false;
168
+    return false;
169 169
 }
170 170
 
171 171
 // au 1er appel, traite les formulaires dynamiques charger/verifier/traiter
@@ -173,173 +173,173 @@  discard block
 block discarded – undo
173 173
 // Le 1er renvoie True si il faut faire exit a la sortie
174 174
 
175 175
 function traiter_formulaires_dynamiques($get = false) {
176
-	static $post = [];
177
-	static $done = false;
176
+    static $post = [];
177
+    static $done = false;
178 178
 
179
-	if ($get) {
180
-		return $post;
181
-	}
182
-	if ($done) {
183
-		return false;
184
-	}
185
-	$done = true;
179
+    if ($get) {
180
+        return $post;
181
+    }
182
+    if ($done) {
183
+        return false;
184
+    }
185
+    $done = true;
186 186
 
187
-	if (
188
-		!($form = _request('formulaire_action')
189
-		and $args = _request('formulaire_action_args'))
190
-	) {
191
-		return false;
192
-	} // le hit peut continuer normalement
187
+    if (
188
+        !($form = _request('formulaire_action')
189
+        and $args = _request('formulaire_action_args'))
190
+    ) {
191
+        return false;
192
+    } // le hit peut continuer normalement
193 193
 
194
-	// verifier que le post est licite (du meme auteur ou d'une session anonyme)
195
-	$sign = _request('formulaire_action_sign');
196
-	if (!empty($GLOBALS['visiteur_session']['id_auteur'])) {
197
-		if (empty($sign)) {
198
-			spip_log("signature ajax form incorrecte : $form (formulaire non signe mais on a une session)", 'formulaires' . _LOG_ERREUR);
199
-			return false;
200
-		}
201
-		$securiser_action = charger_fonction('securiser_action', 'inc');
202
-		$secu = $securiser_action($form, $args, '', -1);
203
-		if ($sign !== $secu['hash']) {
204
-			spip_log("signature ajax form incorrecte : $form (formulaire signe mais ne correspond pas a la session)", 'formulaires' . _LOG_ERREUR);
205
-			return false;
206
-		}
207
-	}
208
-	else {
209
-		if (!empty($sign)) {
210
-			spip_log("signature ajax form incorrecte : $form (formulaire signe mais pas de session)", 'formulaires' . _LOG_ERREUR);
211
-			return false;
212
-		}
213
-	}
194
+    // verifier que le post est licite (du meme auteur ou d'une session anonyme)
195
+    $sign = _request('formulaire_action_sign');
196
+    if (!empty($GLOBALS['visiteur_session']['id_auteur'])) {
197
+        if (empty($sign)) {
198
+            spip_log("signature ajax form incorrecte : $form (formulaire non signe mais on a une session)", 'formulaires' . _LOG_ERREUR);
199
+            return false;
200
+        }
201
+        $securiser_action = charger_fonction('securiser_action', 'inc');
202
+        $secu = $securiser_action($form, $args, '', -1);
203
+        if ($sign !== $secu['hash']) {
204
+            spip_log("signature ajax form incorrecte : $form (formulaire signe mais ne correspond pas a la session)", 'formulaires' . _LOG_ERREUR);
205
+            return false;
206
+        }
207
+    }
208
+    else {
209
+        if (!empty($sign)) {
210
+            spip_log("signature ajax form incorrecte : $form (formulaire signe mais pas de session)", 'formulaires' . _LOG_ERREUR);
211
+            return false;
212
+        }
213
+    }
214 214
 
215
-	include_spip('inc/filtres');
216
-	if (($args = decoder_contexte_ajax($args, $form)) === false) {
217
-		spip_log("signature ajax form incorrecte : $form (encodage corrompu)", 'formulaires' . _LOG_ERREUR);
215
+    include_spip('inc/filtres');
216
+    if (($args = decoder_contexte_ajax($args, $form)) === false) {
217
+        spip_log("signature ajax form incorrecte : $form (encodage corrompu)", 'formulaires' . _LOG_ERREUR);
218 218
 
219
-		return false; // continuons le hit comme si de rien etait
220
-	} else {
221
-		include_spip('inc/lang');
222
-		// sauvegarder la lang en cours
223
-		$old_lang = $GLOBALS['spip_lang'];
224
-		// changer la langue avec celle qui a cours dans le formulaire
225
-		// on la depile de $args car c'est un argument implicite masque
226
-		changer_langue(array_shift($args));
219
+        return false; // continuons le hit comme si de rien etait
220
+    } else {
221
+        include_spip('inc/lang');
222
+        // sauvegarder la lang en cours
223
+        $old_lang = $GLOBALS['spip_lang'];
224
+        // changer la langue avec celle qui a cours dans le formulaire
225
+        // on la depile de $args car c'est un argument implicite masque
226
+        changer_langue(array_shift($args));
227 227
 
228 228
 
229
-		// inclure mes_fonctions et autres filtres avant verifier/traiter
230
-		include_fichiers_fonctions();
231
-		// ainsi que l'API SQL bien utile dans verifier/traiter
232
-		include_spip('base/abstract_sql');
229
+        // inclure mes_fonctions et autres filtres avant verifier/traiter
230
+        include_fichiers_fonctions();
231
+        // ainsi que l'API SQL bien utile dans verifier/traiter
232
+        include_spip('base/abstract_sql');
233 233
 
234
-		/**
235
-		 * Pipeline exécuté lors de la soumission d'un formulaire,
236
-		 * mais avant l'appel de la fonction de vérification.
237
-		 */
238
-		pipeline(
239
-			'formulaire_receptionner',
240
-			[
241
-				'args' => ['form' => $form, 'args' => $args],
242
-				'data' => null,
243
-			]
244
-		);
234
+        /**
235
+         * Pipeline exécuté lors de la soumission d'un formulaire,
236
+         * mais avant l'appel de la fonction de vérification.
237
+         */
238
+        pipeline(
239
+            'formulaire_receptionner',
240
+            [
241
+                'args' => ['form' => $form, 'args' => $args],
242
+                'data' => null,
243
+            ]
244
+        );
245 245
 
246
-		$verifier = charger_fonction('verifier', "formulaires/$form/", true);
247
-		$post["erreurs_$form"] = pipeline(
248
-			'formulaire_verifier',
249
-			[
250
-				'args' => ['form' => $form, 'args' => $args],
251
-				'data' => $verifier ? call_user_func_array($verifier, $args) : []
252
-			]
253
-		);
254
-		// prise en charge CVT multi etape si besoin
255
-		if (_request('cvtm_prev_post')) {
256
-			include_spip('inc/cvt_multietapes');
257
-			$post["erreurs_$form"] = cvtmulti_formulaire_verifier_etapes(
258
-				['form' => $form, 'args' => $args],
259
-				$post["erreurs_$form"]
260
-			);
261
-		}
246
+        $verifier = charger_fonction('verifier', "formulaires/$form/", true);
247
+        $post["erreurs_$form"] = pipeline(
248
+            'formulaire_verifier',
249
+            [
250
+                'args' => ['form' => $form, 'args' => $args],
251
+                'data' => $verifier ? call_user_func_array($verifier, $args) : []
252
+            ]
253
+        );
254
+        // prise en charge CVT multi etape si besoin
255
+        if (_request('cvtm_prev_post')) {
256
+            include_spip('inc/cvt_multietapes');
257
+            $post["erreurs_$form"] = cvtmulti_formulaire_verifier_etapes(
258
+                ['form' => $form, 'args' => $args],
259
+                $post["erreurs_$form"]
260
+            );
261
+        }
262 262
 
263
-		// accessibilite : si des erreurs mais pas de message general l'ajouter
264
-		if ((isset($post["erreurs_$form"]) and is_countable($post["erreurs_$form"]) ? count($post["erreurs_$form"]) : 0) and !isset($post["erreurs_$form"]['message_erreur'])) {
265
-			$post["erreurs_$form"]['message_erreur'] = singulier_ou_pluriel(
266
-				is_countable($post["erreurs_$form"]) ? count($post["erreurs_$form"]) : 0,
267
-				'avis_1_erreur_saisie',
268
-				'avis_nb_erreurs_saisie'
269
-			);
270
-		}
263
+        // accessibilite : si des erreurs mais pas de message general l'ajouter
264
+        if ((isset($post["erreurs_$form"]) and is_countable($post["erreurs_$form"]) ? count($post["erreurs_$form"]) : 0) and !isset($post["erreurs_$form"]['message_erreur'])) {
265
+            $post["erreurs_$form"]['message_erreur'] = singulier_ou_pluriel(
266
+                is_countable($post["erreurs_$form"]) ? count($post["erreurs_$form"]) : 0,
267
+                'avis_1_erreur_saisie',
268
+                'avis_nb_erreurs_saisie'
269
+            );
270
+        }
271 271
 
272
-		// si on ne demandait qu'une verif json
273
-		if (_request('formulaire_action_verifier_json')) {
274
-			include_spip('inc/json');
275
-			include_spip('inc/actions');
276
-			ajax_retour(json_encode($post["erreurs_$form"], JSON_THROW_ON_ERROR), 'text/plain');
272
+        // si on ne demandait qu'une verif json
273
+        if (_request('formulaire_action_verifier_json')) {
274
+            include_spip('inc/json');
275
+            include_spip('inc/actions');
276
+            ajax_retour(json_encode($post["erreurs_$form"], JSON_THROW_ON_ERROR), 'text/plain');
277 277
 
278
-			return true; // on a fini le hit
279
-		}
280
-		$retour = '';
281
-		if (isset($post["erreurs_$form"]) and ((is_countable($post["erreurs_$form"]) ? count($post["erreurs_$form"]) : 0) == 0)) {
282
-			$rev = '';
283
-			if ($traiter = charger_fonction('traiter', "formulaires/$form/", true)) {
284
-				$rev = call_user_func_array($traiter, $args);
285
-			}
278
+            return true; // on a fini le hit
279
+        }
280
+        $retour = '';
281
+        if (isset($post["erreurs_$form"]) and ((is_countable($post["erreurs_$form"]) ? count($post["erreurs_$form"]) : 0) == 0)) {
282
+            $rev = '';
283
+            if ($traiter = charger_fonction('traiter', "formulaires/$form/", true)) {
284
+                $rev = call_user_func_array($traiter, $args);
285
+            }
286 286
 
287
-			$rev = pipeline(
288
-				'formulaire_traiter',
289
-				[
290
-					'args' => ['form' => $form, 'args' => $args],
291
-					'data' => $rev
292
-				]
293
-			);
294
-			// le retour de traiter est
295
-			// un tableau explicite ('editable'=>$editable,'message_ok'=>$message,'redirect'=>$redirect,'id_xx'=>$id_xx)
296
-			// il permet le pipelinage, en particulier
297
-			// en y passant l'id de l'objet cree/modifie
298
-			// si message_erreur est present, on considere que le traitement a echoue
299
-			$post["message_ok_$form"] = '';
300
-			// on peut avoir message_ok et message_erreur
301
-			if (isset($rev['message_ok'])) {
302
-				$post["message_ok_$form"] = $rev['message_ok'];
303
-			}
287
+            $rev = pipeline(
288
+                'formulaire_traiter',
289
+                [
290
+                    'args' => ['form' => $form, 'args' => $args],
291
+                    'data' => $rev
292
+                ]
293
+            );
294
+            // le retour de traiter est
295
+            // un tableau explicite ('editable'=>$editable,'message_ok'=>$message,'redirect'=>$redirect,'id_xx'=>$id_xx)
296
+            // il permet le pipelinage, en particulier
297
+            // en y passant l'id de l'objet cree/modifie
298
+            // si message_erreur est present, on considere que le traitement a echoue
299
+            $post["message_ok_$form"] = '';
300
+            // on peut avoir message_ok et message_erreur
301
+            if (isset($rev['message_ok'])) {
302
+                $post["message_ok_$form"] = $rev['message_ok'];
303
+            }
304 304
 
305
-			// verifier si traiter n'a pas echoue avec une erreur :
306
-			if (isset($rev['message_erreur'])) {
307
-				$post["erreurs_$form"]['message_erreur'] = $rev['message_erreur'];
308
-				// si il y a une erreur on ne redirige pas
309
-			} else {
310
-				// sinon faire ce qu'il faut :
311
-				if (isset($rev['editable'])) {
312
-					$post["editable_$form"] = $rev['editable'];
313
-				}
314
-				// si une redirection est demandee, appeler redirigae_formulaire qui choisira
315
-				// le bon mode de redirection (302 et on ne revient pas ici, ou javascript et on continue)
316
-				if (isset($rev['redirect']) and $rev['redirect']) {
317
-					include_spip('inc/headers');
318
-					[$masque, $message] = redirige_formulaire($rev['redirect'], '', 'ajaxform');
319
-					$post["message_ok_$form"] .= $message;
320
-					$retour .= $masque;
321
-				}
322
-			}
323
-		}
324
-		// si le formulaire a ete soumis en ajax, on le renvoie direct !
325
-		if (_request('var_ajax')) {
326
-			if (find_in_path('formulaire_.php', 'balise/', true)) {
327
-				include_spip('inc/actions');
328
-				include_spip('public/assembler');
329
-				array_unshift($args, $form);
330
-				$retour .= inclure_balise_dynamique(call_user_func_array('balise_formulaire__dyn', $args), false);
331
-				// on ajoute un br en display none en tete du retour ajax pour regler un bug dans IE6/7
332
-				// sans cela le formulaire n'est pas actif apres le hit ajax
333
-				// la classe ajax-form-is-ok sert a s'assurer que le retour ajax s'est bien passe
334
-				$retour = "<br class='bugajaxie ajax-form-is-ok' style='display:none;'/>" . $retour;
335
-				ajax_retour($retour, false);
305
+            // verifier si traiter n'a pas echoue avec une erreur :
306
+            if (isset($rev['message_erreur'])) {
307
+                $post["erreurs_$form"]['message_erreur'] = $rev['message_erreur'];
308
+                // si il y a une erreur on ne redirige pas
309
+            } else {
310
+                // sinon faire ce qu'il faut :
311
+                if (isset($rev['editable'])) {
312
+                    $post["editable_$form"] = $rev['editable'];
313
+                }
314
+                // si une redirection est demandee, appeler redirigae_formulaire qui choisira
315
+                // le bon mode de redirection (302 et on ne revient pas ici, ou javascript et on continue)
316
+                if (isset($rev['redirect']) and $rev['redirect']) {
317
+                    include_spip('inc/headers');
318
+                    [$masque, $message] = redirige_formulaire($rev['redirect'], '', 'ajaxform');
319
+                    $post["message_ok_$form"] .= $message;
320
+                    $retour .= $masque;
321
+                }
322
+            }
323
+        }
324
+        // si le formulaire a ete soumis en ajax, on le renvoie direct !
325
+        if (_request('var_ajax')) {
326
+            if (find_in_path('formulaire_.php', 'balise/', true)) {
327
+                include_spip('inc/actions');
328
+                include_spip('public/assembler');
329
+                array_unshift($args, $form);
330
+                $retour .= inclure_balise_dynamique(call_user_func_array('balise_formulaire__dyn', $args), false);
331
+                // on ajoute un br en display none en tete du retour ajax pour regler un bug dans IE6/7
332
+                // sans cela le formulaire n'est pas actif apres le hit ajax
333
+                // la classe ajax-form-is-ok sert a s'assurer que le retour ajax s'est bien passe
334
+                $retour = "<br class='bugajaxie ajax-form-is-ok' style='display:none;'/>" . $retour;
335
+                ajax_retour($retour, false);
336 336
 
337
-				return true; // on a fini le hit
338
-			}
339
-		}
340
-		// restaurer la lang en cours
341
-		changer_langue($old_lang);
342
-	}
337
+                return true; // on a fini le hit
338
+            }
339
+        }
340
+        // restaurer la lang en cours
341
+        changer_langue($old_lang);
342
+    }
343 343
 
344
-	return false; // le hit peut continuer normalement
344
+    return false; // le hit peut continuer normalement
345 345
 }
Please login to merge, or discard this patch.
ecrire/inc/documents.php 3 patches
Braces   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -157,8 +157,7 @@
 block discarded – undo
157 157
 		) {
158 158
 			$dest = substr($dest, 0, -strlen($m[0])) . '_' . $m[1];
159 159
 			break;
160
-		}
161
-		else {
160
+		} else {
162 161
 			$dest = substr($dest, 0, -strlen($m[0]));
163 162
 			$ext = $m[1] . '.' . $ext;
164 163
 		}
Please login to merge, or discard this patch.
Spacing   +9 added lines, -9 removed lines patch added patch discarded remove patch
@@ -62,7 +62,7 @@  discard block
 block discarded – undo
62 62
 	}
63 63
 
64 64
 	if (strncmp($fichier, _DIR_IMG, strlen(_DIR_IMG)) !== 0) {
65
-		$fichier = _DIR_IMG . $fichier;
65
+		$fichier = _DIR_IMG.$fichier;
66 66
 	}
67 67
 
68 68
 	// fichier normal
@@ -158,23 +158,23 @@  discard block
 block discarded – undo
158 158
 			or !$r = verifier_upload_autorise($dest)
159 159
 			or $r['autozip']
160 160
 		) {
161
-			$dest = substr($dest, 0, -strlen($m[0])) . '_' . $m[1];
161
+			$dest = substr($dest, 0, -strlen($m[0])).'_'.$m[1];
162 162
 			break;
163 163
 		}
164 164
 		else {
165 165
 			$dest = substr($dest, 0, -strlen($m[0]));
166
-			$ext = $m[1] . '.' . $ext;
166
+			$ext = $m[1].'.'.$ext;
167 167
 		}
168 168
 	}
169 169
 
170 170
 	// Si le document "source" est deja au bon endroit, ne rien faire
171
-	if ($source == ($dir . $dest . '.' . $ext)) {
171
+	if ($source == ($dir.$dest.'.'.$ext)) {
172 172
 		return $source;
173 173
 	}
174 174
 
175 175
 	// sinon tourner jusqu'a trouver un numero correct
176 176
 	$n = 0;
177
-	while (@file_exists($newFile = $dir . $dest . ($n++ ? ('-' . $n) : '') . '.' . $ext)) {
177
+	while (@file_exists($newFile = $dir.$dest.($n++ ? ('-'.$n) : '').'.'.$ext)) {
178 178
 		;
179 179
 	}
180 180
 
@@ -235,7 +235,7 @@  discard block
 block discarded – undo
235 235
 function deplacer_fichier_upload($source, $dest, $move = false) {
236 236
 	// Securite
237 237
 	if (substr($dest, 0, strlen(_DIR_RACINE)) == _DIR_RACINE) {
238
-		$dest = _DIR_RACINE . preg_replace(',\.\.+,', '.', substr($dest, strlen(_DIR_RACINE)));
238
+		$dest = _DIR_RACINE.preg_replace(',\.\.+,', '.', substr($dest, strlen(_DIR_RACINE)));
239 239
 	} else {
240 240
 		$dest = preg_replace(',\.\.+,', '.', $dest);
241 241
 	}
@@ -317,8 +317,8 @@  discard block
 block discarded – undo
317 317
 
318 318
 		default: /* autre */
319 319
 			if (!$msg) {
320
-				$msg = _T('pass_erreur') . ' ' . $error
321
-					. '<br />' . propre('[->http://php.net/manual/fr/features.file-upload.errors.php]');
320
+				$msg = _T('pass_erreur').' '.$error
321
+					. '<br />'.propre('[->http://php.net/manual/fr/features.file-upload.errors.php]');
322 322
 			}
323 323
 			break;
324 324
 	}
@@ -336,7 +336,7 @@  discard block
 block discarded – undo
336 336
 	include_spip('inc/minipres');
337 337
 	echo minipres(
338 338
 		$msg,
339
-		"<div style='text-align: " . $GLOBALS['spip_lang_right'] . "'><a href='" . rawurldecode($GLOBALS['redirect']) . "'><button type='button'>" . _T('ecrire:bouton_suivant') . '</button></a></div>'
339
+		"<div style='text-align: ".$GLOBALS['spip_lang_right']."'><a href='".rawurldecode($GLOBALS['redirect'])."'><button type='button'>"._T('ecrire:bouton_suivant').'</button></a></div>'
340 340
 	);
341 341
 	exit;
342 342
 }
Please login to merge, or discard this patch.
Indentation   +227 added lines, -227 removed lines patch added patch discarded remove patch
@@ -17,7 +17,7 @@  discard block
 block discarded – undo
17 17
  */
18 18
 
19 19
 if (!defined('_ECRIRE_INC_VERSION')) {
20
-	return;
20
+    return;
21 21
 }
22 22
 
23 23
 /**
@@ -30,12 +30,12 @@  discard block
 block discarded – undo
30 30
  * @return string
31 31
  */
32 32
 function set_spip_doc(?string $fichier): string {
33
-	if ($fichier and strpos($fichier, (string) _DIR_IMG) === 0) {
34
-		return substr($fichier, strlen(_DIR_IMG));
35
-	} else {
36
-		// ex: fichier distant
37
-		return $fichier ?? '';
38
-	} 
33
+    if ($fichier and strpos($fichier, (string) _DIR_IMG) === 0) {
34
+        return substr($fichier, strlen(_DIR_IMG));
35
+    } else {
36
+        // ex: fichier distant
37
+        return $fichier ?? '';
38
+    } 
39 39
 }
40 40
 
41 41
 /**
@@ -47,26 +47,26 @@  discard block
 block discarded – undo
47 47
  * @return bool|string
48 48
  */
49 49
 function get_spip_doc(?string $fichier) {
50
-	if ($fichier === null) {
51
-		return false;
52
-	}
53
-
54
-	// fichier distant
55
-	if (tester_url_absolue($fichier)) {
56
-		return $fichier;
57
-	}
58
-
59
-	// gestion d'erreurs, fichier=''
60
-	if (!strlen($fichier)) {
61
-		return false;
62
-	}
63
-
64
-	if (strncmp($fichier, _DIR_IMG, strlen(_DIR_IMG)) !== 0) {
65
-		$fichier = _DIR_IMG . $fichier;
66
-	}
67
-
68
-	// fichier normal
69
-	return $fichier;
50
+    if ($fichier === null) {
51
+        return false;
52
+    }
53
+
54
+    // fichier distant
55
+    if (tester_url_absolue($fichier)) {
56
+        return $fichier;
57
+    }
58
+
59
+    // gestion d'erreurs, fichier=''
60
+    if (!strlen($fichier)) {
61
+        return false;
62
+    }
63
+
64
+    if (strncmp($fichier, _DIR_IMG, strlen(_DIR_IMG)) !== 0) {
65
+        $fichier = _DIR_IMG . $fichier;
66
+    }
67
+
68
+    // fichier normal
69
+    return $fichier;
70 70
 }
71 71
 
72 72
 /**
@@ -80,26 +80,26 @@  discard block
 block discarded – undo
80 80
  * @return string
81 81
  */
82 82
 function creer_repertoire_documents($ext) {
83
-	$rep = sous_repertoire(_DIR_IMG, $ext);
84
-
85
-	if (!$ext or !$rep) {
86
-		spip_log("creer_repertoire_documents '$rep' interdit");
87
-		exit;
88
-	}
89
-
90
-	// Cette variable de configuration peut etre posee par un plugin
91
-	// par exemple acces_restreint
92
-	// sauf pour logo/ utilise pour stocker les logoon et logooff
93
-	if (
94
-		isset($GLOBALS['meta']['creer_htaccess'])
95
-		and $GLOBALS['meta']['creer_htaccess'] == 'oui'
96
-		and $ext !== 'logo'
97
-	) {
98
-		include_spip('inc/acces');
99
-		verifier_htaccess($rep);
100
-	}
101
-
102
-	return $rep;
83
+    $rep = sous_repertoire(_DIR_IMG, $ext);
84
+
85
+    if (!$ext or !$rep) {
86
+        spip_log("creer_repertoire_documents '$rep' interdit");
87
+        exit;
88
+    }
89
+
90
+    // Cette variable de configuration peut etre posee par un plugin
91
+    // par exemple acces_restreint
92
+    // sauf pour logo/ utilise pour stocker les logoon et logooff
93
+    if (
94
+        isset($GLOBALS['meta']['creer_htaccess'])
95
+        and $GLOBALS['meta']['creer_htaccess'] == 'oui'
96
+        and $ext !== 'logo'
97
+    ) {
98
+        include_spip('inc/acces');
99
+        verifier_htaccess($rep);
100
+    }
101
+
102
+    return $rep;
103 103
 }
104 104
 
105 105
 /**
@@ -108,22 +108,22 @@  discard block
 block discarded – undo
108 108
  * @param string $nom
109 109
  */
110 110
 function effacer_repertoire_temporaire($nom) {
111
-	if ($d = opendir($nom)) {
112
-		while (($f = readdir($d)) !== false) {
113
-			if (is_file("$nom/$f")) {
114
-				spip_unlink("$nom/$f");
115
-			} else {
116
-				if (
117
-					$f <> '.' and $f <> '..'
118
-					and is_dir("$nom/$f")
119
-				) {
120
-					effacer_repertoire_temporaire("$nom/$f");
121
-				}
122
-			}
123
-		}
124
-	}
125
-	closedir($d);
126
-	@rmdir($nom);
111
+    if ($d = opendir($nom)) {
112
+        while (($f = readdir($d)) !== false) {
113
+            if (is_file("$nom/$f")) {
114
+                spip_unlink("$nom/$f");
115
+            } else {
116
+                if (
117
+                    $f <> '.' and $f <> '..'
118
+                    and is_dir("$nom/$f")
119
+                ) {
120
+                    effacer_repertoire_temporaire("$nom/$f");
121
+                }
122
+            }
123
+        }
124
+    }
125
+    closedir($d);
126
+    @rmdir($nom);
127 127
 }
128 128
 
129 129
 //
@@ -140,45 +140,45 @@  discard block
 block discarded – undo
140 140
  */
141 141
 function copier_document($ext, $orig, $source, $subdir = null) {
142 142
 
143
-	$orig = preg_replace(',\.\.+,', '.', $orig); // pas de .. dans le nom du doc
144
-	$dir = creer_repertoire_documents($subdir ?: $ext);
145
-
146
-	$dest = preg_replace('/<[^>]*>/', '', basename($orig));
147
-	$dest = preg_replace('/\.([^.]+)$/', '', $dest);
148
-	$dest = translitteration($dest);
149
-	$dest = preg_replace('/[^.=\w-]+/', '_', $dest);
150
-
151
-	// ne pas accepter de noms de la forme -r90.jpg qui sont reserves
152
-	// pour les images transformees par rotation (action/documenter)
153
-	$dest = preg_replace(',-r(90|180|270)$,', '', $dest);
154
-
155
-	while (preg_match(',\.(\w+)$,', $dest, $m)) {
156
-		if (
157
-			!function_exists('verifier_upload_autorise')
158
-			or !$r = verifier_upload_autorise($dest)
159
-			or $r['autozip']
160
-		) {
161
-			$dest = substr($dest, 0, -strlen($m[0])) . '_' . $m[1];
162
-			break;
163
-		}
164
-		else {
165
-			$dest = substr($dest, 0, -strlen($m[0]));
166
-			$ext = $m[1] . '.' . $ext;
167
-		}
168
-	}
169
-
170
-	// Si le document "source" est deja au bon endroit, ne rien faire
171
-	if ($source == ($dir . $dest . '.' . $ext)) {
172
-		return $source;
173
-	}
174
-
175
-	// sinon tourner jusqu'a trouver un numero correct
176
-	$n = 0;
177
-	while (@file_exists($newFile = $dir . $dest . ($n++ ? ('-' . $n) : '') . '.' . $ext)) {
178
-		;
179
-	}
180
-
181
-	return deplacer_fichier_upload($source, $newFile);
143
+    $orig = preg_replace(',\.\.+,', '.', $orig); // pas de .. dans le nom du doc
144
+    $dir = creer_repertoire_documents($subdir ?: $ext);
145
+
146
+    $dest = preg_replace('/<[^>]*>/', '', basename($orig));
147
+    $dest = preg_replace('/\.([^.]+)$/', '', $dest);
148
+    $dest = translitteration($dest);
149
+    $dest = preg_replace('/[^.=\w-]+/', '_', $dest);
150
+
151
+    // ne pas accepter de noms de la forme -r90.jpg qui sont reserves
152
+    // pour les images transformees par rotation (action/documenter)
153
+    $dest = preg_replace(',-r(90|180|270)$,', '', $dest);
154
+
155
+    while (preg_match(',\.(\w+)$,', $dest, $m)) {
156
+        if (
157
+            !function_exists('verifier_upload_autorise')
158
+            or !$r = verifier_upload_autorise($dest)
159
+            or $r['autozip']
160
+        ) {
161
+            $dest = substr($dest, 0, -strlen($m[0])) . '_' . $m[1];
162
+            break;
163
+        }
164
+        else {
165
+            $dest = substr($dest, 0, -strlen($m[0]));
166
+            $ext = $m[1] . '.' . $ext;
167
+        }
168
+    }
169
+
170
+    // Si le document "source" est deja au bon endroit, ne rien faire
171
+    if ($source == ($dir . $dest . '.' . $ext)) {
172
+        return $source;
173
+    }
174
+
175
+    // sinon tourner jusqu'a trouver un numero correct
176
+    $n = 0;
177
+    while (@file_exists($newFile = $dir . $dest . ($n++ ? ('-' . $n) : '') . '.' . $ext)) {
178
+        ;
179
+    }
180
+
181
+    return deplacer_fichier_upload($source, $newFile);
182 182
 }
183 183
 
184 184
 /**
@@ -193,28 +193,28 @@  discard block
 block discarded – undo
193 193
  * @return bool|string
194 194
  */
195 195
 function determine_upload($type = '') {
196
-	if (!function_exists('autoriser')) {
197
-		include_spip('inc/autoriser');
198
-	}
199
-
200
-	if (
201
-		!autoriser('chargerftp')
202
-		or $type == 'logos'
203
-	) { # on ne le permet pas pour les logos
204
-	return false;
205
-	}
206
-
207
-	$repertoire = _DIR_TRANSFERT;
208
-	if (!@is_dir($repertoire)) {
209
-		$repertoire = str_replace(_DIR_TMP, '', $repertoire);
210
-		$repertoire = sous_repertoire(_DIR_TMP, $repertoire);
211
-	}
212
-
213
-	if (!$GLOBALS['visiteur_session']['restreint']) {
214
-		return $repertoire;
215
-	} else {
216
-		return sous_repertoire($repertoire, $GLOBALS['visiteur_session']['login']);
217
-	}
196
+    if (!function_exists('autoriser')) {
197
+        include_spip('inc/autoriser');
198
+    }
199
+
200
+    if (
201
+        !autoriser('chargerftp')
202
+        or $type == 'logos'
203
+    ) { # on ne le permet pas pour les logos
204
+    return false;
205
+    }
206
+
207
+    $repertoire = _DIR_TRANSFERT;
208
+    if (!@is_dir($repertoire)) {
209
+        $repertoire = str_replace(_DIR_TMP, '', $repertoire);
210
+        $repertoire = sous_repertoire(_DIR_TMP, $repertoire);
211
+    }
212
+
213
+    if (!$GLOBALS['visiteur_session']['restreint']) {
214
+        return $repertoire;
215
+    } else {
216
+        return sous_repertoire($repertoire, $GLOBALS['visiteur_session']['login']);
217
+    }
218 218
 }
219 219
 
220 220
 /**
@@ -233,35 +233,35 @@  discard block
 block discarded – undo
233 233
  * @return bool|mixed|string
234 234
  */
235 235
 function deplacer_fichier_upload($source, $dest, $move = false) {
236
-	// Securite
237
-	if (substr($dest, 0, strlen(_DIR_RACINE)) == _DIR_RACINE) {
238
-		$dest = _DIR_RACINE . preg_replace(',\.\.+,', '.', substr($dest, strlen(_DIR_RACINE)));
239
-	} else {
240
-		$dest = preg_replace(',\.\.+,', '.', $dest);
241
-	}
242
-
243
-	if ($move) {
244
-		$ok = @rename($source, $dest);
245
-	} else {
246
-		$ok = @copy($source, $dest);
247
-	}
248
-	if (!$ok) {
249
-		$ok = @move_uploaded_file($source, $dest);
250
-	}
251
-	if ($ok) {
252
-		@chmod($dest, _SPIP_CHMOD & ~0111);
253
-	} else {
254
-		$f = @fopen($dest, 'w');
255
-		if ($f) {
256
-			fclose($f);
257
-		} else {
258
-			include_spip('inc/flock');
259
-			raler_fichier($dest);
260
-		}
261
-		spip_unlink($dest);
262
-	}
263
-
264
-	return $ok ? $dest : false;
236
+    // Securite
237
+    if (substr($dest, 0, strlen(_DIR_RACINE)) == _DIR_RACINE) {
238
+        $dest = _DIR_RACINE . preg_replace(',\.\.+,', '.', substr($dest, strlen(_DIR_RACINE)));
239
+    } else {
240
+        $dest = preg_replace(',\.\.+,', '.', $dest);
241
+    }
242
+
243
+    if ($move) {
244
+        $ok = @rename($source, $dest);
245
+    } else {
246
+        $ok = @copy($source, $dest);
247
+    }
248
+    if (!$ok) {
249
+        $ok = @move_uploaded_file($source, $dest);
250
+    }
251
+    if ($ok) {
252
+        @chmod($dest, _SPIP_CHMOD & ~0111);
253
+    } else {
254
+        $f = @fopen($dest, 'w');
255
+        if ($f) {
256
+            fclose($f);
257
+        } else {
258
+            include_spip('inc/flock');
259
+            raler_fichier($dest);
260
+        }
261
+        spip_unlink($dest);
262
+    }
263
+
264
+    return $ok ? $dest : false;
265 265
 }
266 266
 
267 267
 
@@ -285,60 +285,60 @@  discard block
 block discarded – undo
285 285
  */
286 286
 function check_upload_error($error, $msg = '', $return = false) {
287 287
 
288
-	if (!$error) {
289
-		return false;
290
-	}
291
-
292
-	spip_log("Erreur upload $error -- cf. http://php.net/manual/fr/features.file-upload.errors.php");
293
-
294
-	switch ($error) {
295
-		case 4: /* UPLOAD_ERR_NO_FILE */
296
-			return true;
297
-
298
-		# on peut affiner les differents messages d'erreur
299
-		case 1: /* UPLOAD_ERR_INI_SIZE */
300
-			$msg = _T(
301
-				'upload_limit',
302
-				['max' => ini_get('upload_max_filesize')]
303
-			);
304
-			break;
305
-		case 2: /* UPLOAD_ERR_FORM_SIZE */
306
-			$msg = _T(
307
-				'upload_limit',
308
-				['max' => ini_get('upload_max_filesize')]
309
-			);
310
-			break;
311
-		case 3: /* UPLOAD_ERR_PARTIAL  */
312
-			$msg = _T(
313
-				'upload_limit',
314
-				['max' => ini_get('upload_max_filesize')]
315
-			);
316
-			break;
317
-
318
-		default: /* autre */
319
-			if (!$msg) {
320
-				$msg = _T('pass_erreur') . ' ' . $error
321
-					. '<br />' . propre('[->http://php.net/manual/fr/features.file-upload.errors.php]');
322
-			}
323
-			break;
324
-	}
325
-
326
-	spip_log("erreur upload $error");
327
-	if ($return) {
328
-		return $msg;
329
-	}
330
-
331
-	if (_request('iframe') == 'iframe') {
332
-		echo "<div class='upload_answer upload_error'>$msg</div>";
333
-		exit;
334
-	}
335
-
336
-	include_spip('inc/minipres');
337
-	echo minipres(
338
-		$msg,
339
-		"<div style='text-align: " . $GLOBALS['spip_lang_right'] . "'><a href='" . rawurldecode($GLOBALS['redirect']) . "'><button type='button'>" . _T('ecrire:bouton_suivant') . '</button></a></div>'
340
-	);
341
-	exit;
288
+    if (!$error) {
289
+        return false;
290
+    }
291
+
292
+    spip_log("Erreur upload $error -- cf. http://php.net/manual/fr/features.file-upload.errors.php");
293
+
294
+    switch ($error) {
295
+        case 4: /* UPLOAD_ERR_NO_FILE */
296
+            return true;
297
+
298
+        # on peut affiner les differents messages d'erreur
299
+        case 1: /* UPLOAD_ERR_INI_SIZE */
300
+            $msg = _T(
301
+                'upload_limit',
302
+                ['max' => ini_get('upload_max_filesize')]
303
+            );
304
+            break;
305
+        case 2: /* UPLOAD_ERR_FORM_SIZE */
306
+            $msg = _T(
307
+                'upload_limit',
308
+                ['max' => ini_get('upload_max_filesize')]
309
+            );
310
+            break;
311
+        case 3: /* UPLOAD_ERR_PARTIAL  */
312
+            $msg = _T(
313
+                'upload_limit',
314
+                ['max' => ini_get('upload_max_filesize')]
315
+            );
316
+            break;
317
+
318
+        default: /* autre */
319
+            if (!$msg) {
320
+                $msg = _T('pass_erreur') . ' ' . $error
321
+                    . '<br />' . propre('[->http://php.net/manual/fr/features.file-upload.errors.php]');
322
+            }
323
+            break;
324
+    }
325
+
326
+    spip_log("erreur upload $error");
327
+    if ($return) {
328
+        return $msg;
329
+    }
330
+
331
+    if (_request('iframe') == 'iframe') {
332
+        echo "<div class='upload_answer upload_error'>$msg</div>";
333
+        exit;
334
+    }
335
+
336
+    include_spip('inc/minipres');
337
+    echo minipres(
338
+        $msg,
339
+        "<div style='text-align: " . $GLOBALS['spip_lang_right'] . "'><a href='" . rawurldecode($GLOBALS['redirect']) . "'><button type='button'>" . _T('ecrire:bouton_suivant') . '</button></a></div>'
340
+    );
341
+    exit;
342 342
 }
343 343
 
344 344
 /**
@@ -355,24 +355,24 @@  discard block
 block discarded – undo
355 355
  * @return string
356 356
  */
357 357
 function corriger_extension($ext) {
358
-	$ext = preg_replace(',[^a-z0-9],i', '', $ext);
359
-	switch ($ext) {
360
-		case 'htm':
361
-			$ext = 'html';
362
-			break;
363
-		case 'jpeg':
364
-			$ext = 'jpg';
365
-			break;
366
-		case 'tiff':
367
-			$ext = 'tif';
368
-			break;
369
-		case 'aif':
370
-			$ext = 'aiff';
371
-			break;
372
-		case 'mpeg':
373
-			$ext = 'mpg';
374
-			break;
375
-	}
376
-
377
-	return $ext;
358
+    $ext = preg_replace(',[^a-z0-9],i', '', $ext);
359
+    switch ($ext) {
360
+        case 'htm':
361
+            $ext = 'html';
362
+            break;
363
+        case 'jpeg':
364
+            $ext = 'jpg';
365
+            break;
366
+        case 'tiff':
367
+            $ext = 'tif';
368
+            break;
369
+        case 'aif':
370
+            $ext = 'aiff';
371
+            break;
372
+        case 'mpeg':
373
+            $ext = 'mpg';
374
+            break;
375
+    }
376
+
377
+    return $ext;
378 378
 }
Please login to merge, or discard this patch.
ecrire/inc/surligne.php 2 patches
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -37,7 +37,7 @@  discard block
 block discarded – undo
37 37
 function surligner_mots($page, $surcharge_surligne = '') {
38 38
 	$surlignejs_engines = [
39 39
 		[
40
-			',' . str_replace(['/', '.'], ['\/', '\.'], $GLOBALS['meta']['adresse_site']) . ',i',
40
+			','.str_replace(['/', '.'], ['\/', '\.'], $GLOBALS['meta']['adresse_site']).',i',
41 41
 			',recherche=([^&]+),i'
42 42
 		], //SPIP
43 43
 		[',^http://(www\.)?google\.,i', ',q=([^&]+),i'], // Google
@@ -72,19 +72,19 @@  discard block
 block discarded – undo
72 72
 			//good referrer found or var_recherche is not null
73 73
 			include_spip('inc/filtres');
74 74
 			$script = "
75
-      <script type='text/javascript' src='" . url_absolue(find_in_path('javascript/SearchHighlight.js')) . "'></script>
75
+      <script type='text/javascript' src='" . url_absolue(find_in_path('javascript/SearchHighlight.js'))."'></script>
76 76
       <script type='text/javascript'>
77 77
        var highlighter = function() {
78 78
 		  jQuery(this).SearchHighlight({
79
-            tag_name:'" . (html5_permis() ? 'mark' : 'span') . "',
79
+            tag_name:'" . (html5_permis() ? 'mark' : 'span')."',
80 80
             style_name:'spip_surligne',
81 81
             exact:'whole',
82 82
             style_name_suffix:false,
83
-            engines:[/^" . str_replace(['/', '.'], ['\/', '\.'], $GLOBALS['meta']['adresse_site']) . "/i,/recherche=([^&]+)/i],
83
+            engines:[/^" . str_replace(['/', '.'], ['\/', '\.'], $GLOBALS['meta']['adresse_site'])."/i,/recherche=([^&]+)/i],
84 84
             highlight:'.surlignable',
85 85
             nohighlight:'.pas_surlignable'" .
86 86
 				($surcharge_surligne ? ",
87
-            keys:'$surcharge_surligne'" : '') . ',
87
+            keys:'$surcharge_surligne'" : '').',
88 88
             min_length: 3
89 89
           });
90 90
 	  }
Please login to merge, or discard this patch.
Indentation   +46 added lines, -46 removed lines patch added patch discarded remove patch
@@ -16,7 +16,7 @@  discard block
 block discarded – undo
16 16
  * @package SPIP\Core\Surligne
17 17
  **/
18 18
 if (!defined('_ECRIRE_INC_VERSION')) {
19
-	return;
19
+    return;
20 20
 }
21 21
 
22 22
 /**
@@ -35,43 +35,43 @@  discard block
 block discarded – undo
35 35
  *     Page HTML
36 36
  **/
37 37
 function surligner_mots($page, $surcharge_surligne = '') {
38
-	$surlignejs_engines = [
39
-		[
40
-			',' . str_replace(['/', '.'], ['\/', '\.'], $GLOBALS['meta']['adresse_site']) . ',i',
41
-			',recherche=([^&]+),i'
42
-		], //SPIP
43
-		[',^http://(www\.)?google\.,i', ',q=([^&]+),i'], // Google
44
-		[',^http://(www\.)?search\.yahoo\.,i', ',p=([^&]+),i'], // Yahoo
45
-		[',^http://(www\.)?search\.msn\.,i', ',q=([^&]+),i'], // MSN
46
-		[',^http://(www\.)?search\.live\.,i', ',query=([^&]+),i'], // MSN Live
47
-		[',^http://(www\.)?search\.aol\.,i', ',userQuery=([^&]+),i'], // AOL
48
-		[',^http://(www\.)?ask\.com,i', ',q=([^&]+),i'], // Ask.com
49
-		[',^http://(www\.)?altavista\.,i', ',q=([^&]+),i'], // AltaVista
50
-		[',^http://(www\.)?feedster\.,i', ',q=([^&]+),i'], // Feedster
51
-		[',^http://(www\.)?search\.lycos\.,i', ',q=([^&]+),i'], // Lycos
52
-		[',^http://(www\.)?alltheweb\.,i', ',q=([^&]+),i'], // AllTheWeb
53
-		[',^http://(www\.)?technorati\.com,i', ',([^\?\/]+)(?:\?.*)$,i'], // Technorati
54
-	];
38
+    $surlignejs_engines = [
39
+        [
40
+            ',' . str_replace(['/', '.'], ['\/', '\.'], $GLOBALS['meta']['adresse_site']) . ',i',
41
+            ',recherche=([^&]+),i'
42
+        ], //SPIP
43
+        [',^http://(www\.)?google\.,i', ',q=([^&]+),i'], // Google
44
+        [',^http://(www\.)?search\.yahoo\.,i', ',p=([^&]+),i'], // Yahoo
45
+        [',^http://(www\.)?search\.msn\.,i', ',q=([^&]+),i'], // MSN
46
+        [',^http://(www\.)?search\.live\.,i', ',query=([^&]+),i'], // MSN Live
47
+        [',^http://(www\.)?search\.aol\.,i', ',userQuery=([^&]+),i'], // AOL
48
+        [',^http://(www\.)?ask\.com,i', ',q=([^&]+),i'], // Ask.com
49
+        [',^http://(www\.)?altavista\.,i', ',q=([^&]+),i'], // AltaVista
50
+        [',^http://(www\.)?feedster\.,i', ',q=([^&]+),i'], // Feedster
51
+        [',^http://(www\.)?search\.lycos\.,i', ',q=([^&]+),i'], // Lycos
52
+        [',^http://(www\.)?alltheweb\.,i', ',q=([^&]+),i'], // AllTheWeb
53
+        [',^http://(www\.)?technorati\.com,i', ',([^\?\/]+)(?:\?.*)$,i'], // Technorati
54
+    ];
55 55
 
56 56
 
57
-	$ref = $_SERVER['HTTP_REFERER'] ?? null;
58
-	//avoid a js injection
59
-	if ($surcharge_surligne) {
60
-		$surcharge_surligne = preg_replace(",(?<!\\\\)((?:(?>\\\\){2})*)('),", '$1\\\$2', $surcharge_surligne);
61
-		$surcharge_surligne = str_replace('\\', '\\\\', $surcharge_surligne);
62
-		if ($GLOBALS['meta']['charset'] == 'utf-8') {
63
-			include_spip('inc/charsets');
64
-			if (!is_utf8($surcharge_surligne)) {
65
-				$surcharge_surligne = utf8_encode($surcharge_surligne);
66
-			}
67
-		}
68
-		$surcharge_surligne = preg_replace(',\*$,', '', trim($surcharge_surligne)); # supprimer un * final
69
-	}
70
-	foreach ($surlignejs_engines as $engine) {
71
-		if ($surcharge_surligne || (preg_match($engine[0], $ref) && preg_match($engine[1], $ref))) {
72
-			//good referrer found or var_recherche is not null
73
-			include_spip('inc/filtres');
74
-			$script = "
57
+    $ref = $_SERVER['HTTP_REFERER'] ?? null;
58
+    //avoid a js injection
59
+    if ($surcharge_surligne) {
60
+        $surcharge_surligne = preg_replace(",(?<!\\\\)((?:(?>\\\\){2})*)('),", '$1\\\$2', $surcharge_surligne);
61
+        $surcharge_surligne = str_replace('\\', '\\\\', $surcharge_surligne);
62
+        if ($GLOBALS['meta']['charset'] == 'utf-8') {
63
+            include_spip('inc/charsets');
64
+            if (!is_utf8($surcharge_surligne)) {
65
+                $surcharge_surligne = utf8_encode($surcharge_surligne);
66
+            }
67
+        }
68
+        $surcharge_surligne = preg_replace(',\*$,', '', trim($surcharge_surligne)); # supprimer un * final
69
+    }
70
+    foreach ($surlignejs_engines as $engine) {
71
+        if ($surcharge_surligne || (preg_match($engine[0], $ref) && preg_match($engine[1], $ref))) {
72
+            //good referrer found or var_recherche is not null
73
+            include_spip('inc/filtres');
74
+            $script = "
75 75
       <script type='text/javascript' src='" . url_absolue(find_in_path('javascript/SearchHighlight.js')) . "'></script>
76 76
       <script type='text/javascript'>
77 77
        var highlighter = function() {
@@ -83,7 +83,7 @@  discard block
 block discarded – undo
83 83
             engines:[/^" . str_replace(['/', '.'], ['\/', '\.'], $GLOBALS['meta']['adresse_site']) . "/i,/recherche=([^&]+)/i],
84 84
             highlight:'.surlignable',
85 85
             nohighlight:'.pas_surlignable'" .
86
-				($surcharge_surligne ? ",
86
+                ($surcharge_surligne ? ",
87 87
             keys:'$surcharge_surligne'" : '') . ',
88 88
             min_length: 3
89 89
           });
@@ -94,14 +94,14 @@  discard block
 block discarded – undo
94 94
       };
95 95
       </script>
96 96
       ';
97
-			// on l'insere juste avant </head>, sinon tout en bas
98
-			if (is_null($l = strpos($page, '</head>'))) {
99
-				$l = strlen($page);
100
-			}
101
-			$page = substr_replace($page, $script, $l, 0);
102
-			break;
103
-		}
104
-	}
97
+            // on l'insere juste avant </head>, sinon tout en bas
98
+            if (is_null($l = strpos($page, '</head>'))) {
99
+                $l = strlen($page);
100
+            }
101
+            $page = substr_replace($page, $script, $l, 0);
102
+            break;
103
+        }
104
+    }
105 105
 
106
-	return $page;
106
+    return $page;
107 107
 }
Please login to merge, or discard this patch.
ecrire/lang/ecrire_fr_tu.php 1 patch
Indentation   +836 added lines, -836 removed lines patch added patch discarded remove patch
@@ -4,436 +4,436 @@  discard block
 block discarded – undo
4 4
 // ** ne pas modifier le fichier **
5 5
 
6 6
 if (!defined('_ECRIRE_INC_VERSION')) {
7
-	return;
7
+    return;
8 8
 }
9 9
 
10 10
 $GLOBALS[$GLOBALS['idx_lang']] = array(
11 11
 
12
-	// A
13
-	'activer_plugin' => 'Activer le plugin',
14
-	'affichage' => 'Affichage',
15
-	'aide_non_disponible' => 'Cette partie de l’aide en ligne n’est pas encore disponible dans cette langue.',
16
-	'annuler_recherche' => 'Annuler la recherche',
17
-	'auteur' => 'Auteur :',
18
-	'avis_acces_interdit' => 'Accès interdit.',
19
-	'avis_acces_interdit_prive' => 'Tu n’as pas le droit d’accéder à la page <b>@exec@</b>.',
20
-	'avis_article_modifie' => 'Attention, @nom_auteur_modif@ a travaillé sur cet article il y a @date_diff@ minutes',
21
-	'avis_aucun_resultat' => 'Aucun résultat.',
22
-	'avis_base_inaccessible' => 'Impossible de se connecter à la base de données @base@.',
23
-	'avis_chemin_invalide_1' => 'Le chemin que tu as choisi',
24
-	'avis_chemin_invalide_2' => 'ne semble pas valide. Retourne à la page précédente et vérifie les informations fournies.',
25
-	'avis_connexion_echec_1' => 'La connexion  à la base de données a échoué.',
26
-	'avis_connexion_echec_2' => 'Reviens à la page précédente, et vérifie les informations que tu as fournies.',
27
-	'avis_connexion_echec_3' => '<b>N.B.</b> Sur de nombreux serveurs, tu dois <b>demander</b> l’activation de ton accès à la base de données avant de pouvoir l’utiliser. Si tu ne peux pas te connecter, vérifie que tu as effectué cette démarche.',
28
-	'avis_connexion_erreur_creer_base' => 'La base de données n’a pas pu être créée.',
29
-	'avis_connexion_erreur_nom_base' => 'Le nom de la base ne peut contenir que des lettres, des chiffres et des tirets',
30
-	'avis_connexion_ldap_echec_1' => 'La connexion au serveur LDAP a échoué.',
31
-	'avis_connexion_ldap_echec_2' => 'Reviens à la page précédente, et vérifie les informations que tu as fournies.',
32
-	'avis_connexion_ldap_echec_3' => 'Alternativement, n’utilise pas le support LDAP pour importer des utilisateurs.',
33
-	'avis_deplacement_rubrique' => 'Attention ! Cette rubrique contient @contient_breves@ brève@scb@ : si tu la déplaces, coche cette case de confirmation.',
34
-	'avis_erreur_connexion_mysql' => 'Erreur de connexion SQL',
35
-	'avis_espace_interdit' => '<b>Espace interdit</b> <div>SPIP est déjà installé.</div>',
36
-	'avis_lecture_noms_bases_1' => 'Le programme d’installation n’a pas pu lire les noms des bases de données installées.',
37
-	'avis_lecture_noms_bases_2' => 'Soit aucune base n’est disponible, soit la fonction permettant de lister les bases a été désactivée
12
+    // A
13
+    'activer_plugin' => 'Activer le plugin',
14
+    'affichage' => 'Affichage',
15
+    'aide_non_disponible' => 'Cette partie de l’aide en ligne n’est pas encore disponible dans cette langue.',
16
+    'annuler_recherche' => 'Annuler la recherche',
17
+    'auteur' => 'Auteur :',
18
+    'avis_acces_interdit' => 'Accès interdit.',
19
+    'avis_acces_interdit_prive' => 'Tu n’as pas le droit d’accéder à la page <b>@exec@</b>.',
20
+    'avis_article_modifie' => 'Attention, @nom_auteur_modif@ a travaillé sur cet article il y a @date_diff@ minutes',
21
+    'avis_aucun_resultat' => 'Aucun résultat.',
22
+    'avis_base_inaccessible' => 'Impossible de se connecter à la base de données @base@.',
23
+    'avis_chemin_invalide_1' => 'Le chemin que tu as choisi',
24
+    'avis_chemin_invalide_2' => 'ne semble pas valide. Retourne à la page précédente et vérifie les informations fournies.',
25
+    'avis_connexion_echec_1' => 'La connexion  à la base de données a échoué.',
26
+    'avis_connexion_echec_2' => 'Reviens à la page précédente, et vérifie les informations que tu as fournies.',
27
+    'avis_connexion_echec_3' => '<b>N.B.</b> Sur de nombreux serveurs, tu dois <b>demander</b> l’activation de ton accès à la base de données avant de pouvoir l’utiliser. Si tu ne peux pas te connecter, vérifie que tu as effectué cette démarche.',
28
+    'avis_connexion_erreur_creer_base' => 'La base de données n’a pas pu être créée.',
29
+    'avis_connexion_erreur_nom_base' => 'Le nom de la base ne peut contenir que des lettres, des chiffres et des tirets',
30
+    'avis_connexion_ldap_echec_1' => 'La connexion au serveur LDAP a échoué.',
31
+    'avis_connexion_ldap_echec_2' => 'Reviens à la page précédente, et vérifie les informations que tu as fournies.',
32
+    'avis_connexion_ldap_echec_3' => 'Alternativement, n’utilise pas le support LDAP pour importer des utilisateurs.',
33
+    'avis_deplacement_rubrique' => 'Attention ! Cette rubrique contient @contient_breves@ brève@scb@ : si tu la déplaces, coche cette case de confirmation.',
34
+    'avis_erreur_connexion_mysql' => 'Erreur de connexion SQL',
35
+    'avis_espace_interdit' => '<b>Espace interdit</b> <div>SPIP est déjà installé.</div>',
36
+    'avis_lecture_noms_bases_1' => 'Le programme d’installation n’a pas pu lire les noms des bases de données installées.',
37
+    'avis_lecture_noms_bases_2' => 'Soit aucune base n’est disponible, soit la fonction permettant de lister les bases a été désactivée
38 38
 		pour des raisons de sécurité (ce qui est le cas chez de nombreux hébergeurs).',
39
-	'avis_lecture_noms_bases_3' => 'Dans la seconde alternative, il est probable qu’une base portant ton nom de login soit utilisable :',
40
-	'avis_non_acces_page' => 'Tu n’as pas accès à cette page.',
41
-	'avis_operation_echec' => 'L’opération a échoué.',
42
-	'avis_operation_impossible' => 'Opération impossible',
43
-	'avis_suppression_base' => 'ATTENTION, la suppression des données est irréversible',
39
+    'avis_lecture_noms_bases_3' => 'Dans la seconde alternative, il est probable qu’une base portant ton nom de login soit utilisable :',
40
+    'avis_non_acces_page' => 'Tu n’as pas accès à cette page.',
41
+    'avis_operation_echec' => 'L’opération a échoué.',
42
+    'avis_operation_impossible' => 'Opération impossible',
43
+    'avis_suppression_base' => 'ATTENTION, la suppression des données est irréversible',
44 44
 
45
-	// B
46
-	'bouton_acces_ldap' => 'Ajouter l’accès à LDAP',
47
-	'bouton_ajouter' => 'Ajouter',
48
-	'bouton_annuler' => 'Annuler',
49
-	'bouton_cache_activer' => 'Réactiver le cache',
50
-	'bouton_cache_desactiver' => 'Désactiver temporairement le cache',
51
-	'bouton_demande_publication' => 'Demander la publication de cet article',
52
-	'bouton_desactive_tout' => 'Tout désactiver',
53
-	'bouton_desinstaller' => 'Désinstaller',
54
-	'bouton_effacer_tout' => 'Effacer TOUT',
55
-	'bouton_envoyer_message' => 'Message définitif : envoyer',
56
-	'bouton_fermer' => 'Fermer',
57
-	'bouton_mettre_a_jour_base' => 'Mettre à jour la base de données',
58
-	'bouton_modifier' => 'Modifier',
59
-	'bouton_radio_afficher' => 'Afficher',
60
-	'bouton_radio_apparaitre_liste_redacteurs_connectes' => 'Apparaître dans la liste des rédacteurs connectés',
61
-	'bouton_radio_envoi_annonces_adresse' => 'Envoyer les annonces à l’adresse :',
62
-	'bouton_radio_envoi_liste_nouveautes' => 'Envoyer la liste des nouveautés',
63
-	'bouton_radio_non_apparaitre_liste_redacteurs_connectes' => 'Ne pas apparaître dans la liste des rédacteurs',
64
-	'bouton_radio_non_envoi_annonces_editoriales' => 'Ne pas envoyer d’annonces éditoriales',
65
-	'bouton_redirection' => 'REDIRECTION',
66
-	'bouton_reinitialiser_aux_valeurs_par_defaut' => 'Réinitialiser aux valeurs par défaut',
67
-	'bouton_relancer_inscription' => 'Relancer l’inscription',
68
-	'bouton_relancer_inscriptions' => 'Relancer les inscriptions',
69
-	'bouton_relancer_installation' => 'Relancer l’installation',
70
-	'bouton_reset_password' => 'Générer un nouveau mot de passe et l’envoyer par email',
71
-	'bouton_suivant' => 'Suivant',
72
-	'bouton_tenter_recuperation' => 'Tenter une réparation',
73
-	'bouton_test_proxy' => 'Essayer le proxy',
74
-	'bouton_vider_cache' => 'Vider le cache',
45
+    // B
46
+    'bouton_acces_ldap' => 'Ajouter l’accès à LDAP',
47
+    'bouton_ajouter' => 'Ajouter',
48
+    'bouton_annuler' => 'Annuler',
49
+    'bouton_cache_activer' => 'Réactiver le cache',
50
+    'bouton_cache_desactiver' => 'Désactiver temporairement le cache',
51
+    'bouton_demande_publication' => 'Demander la publication de cet article',
52
+    'bouton_desactive_tout' => 'Tout désactiver',
53
+    'bouton_desinstaller' => 'Désinstaller',
54
+    'bouton_effacer_tout' => 'Effacer TOUT',
55
+    'bouton_envoyer_message' => 'Message définitif : envoyer',
56
+    'bouton_fermer' => 'Fermer',
57
+    'bouton_mettre_a_jour_base' => 'Mettre à jour la base de données',
58
+    'bouton_modifier' => 'Modifier',
59
+    'bouton_radio_afficher' => 'Afficher',
60
+    'bouton_radio_apparaitre_liste_redacteurs_connectes' => 'Apparaître dans la liste des rédacteurs connectés',
61
+    'bouton_radio_envoi_annonces_adresse' => 'Envoyer les annonces à l’adresse :',
62
+    'bouton_radio_envoi_liste_nouveautes' => 'Envoyer la liste des nouveautés',
63
+    'bouton_radio_non_apparaitre_liste_redacteurs_connectes' => 'Ne pas apparaître dans la liste des rédacteurs',
64
+    'bouton_radio_non_envoi_annonces_editoriales' => 'Ne pas envoyer d’annonces éditoriales',
65
+    'bouton_redirection' => 'REDIRECTION',
66
+    'bouton_reinitialiser_aux_valeurs_par_defaut' => 'Réinitialiser aux valeurs par défaut',
67
+    'bouton_relancer_inscription' => 'Relancer l’inscription',
68
+    'bouton_relancer_inscriptions' => 'Relancer les inscriptions',
69
+    'bouton_relancer_installation' => 'Relancer l’installation',
70
+    'bouton_reset_password' => 'Générer un nouveau mot de passe et l’envoyer par email',
71
+    'bouton_suivant' => 'Suivant',
72
+    'bouton_tenter_recuperation' => 'Tenter une réparation',
73
+    'bouton_test_proxy' => 'Essayer le proxy',
74
+    'bouton_vider_cache' => 'Vider le cache',
75 75
 
76
-	// C
77
-	'cache_modifiable_webmestre' => 'Ce paramètre est modifiable par le webmestre du site.',
78
-	'calendrier_synchro' => 'Si tu utilises un logiciel d’agenda compatible <b>iCal</b>, tu peux le synchroniser avec les informations de ce site.',
79
-	'config_activer_champs' => 'Activer les champs suivants',
80
-	'config_choix_base_sup' => 'indiquer une base sur ce serveur',
81
-	'config_erreur_base_sup' => 'SPIP n’a pas accès à la liste des bases accessibles',
82
-	'config_info_base_sup' => 'Si tu aa d’autres bases de données à interroger à travers SPIP, avec son serveur SQL ou avec un autre, le formulaire ci-dessous, te permet de les déclarer. Si tu laisses certains champs vides, les identifiants de connexion à la base principale seront utilisés.',
83
-	'config_info_base_sup_disponibles' => 'Bases supplémentaires déjà interrogeables :',
84
-	'config_info_enregistree' => 'La nouvelle configuration a été enregistrée',
85
-	'config_info_logos' => 'Chaque élément du site peut avoir un logo, ainsi qu’un « logo de survol »',
86
-	'config_info_logos_utiliser' => 'Utiliser les logos',
87
-	'config_info_logos_utiliser_non' => 'Ne pas utiliser les logos',
88
-	'config_info_logos_utiliser_survol' => 'Utiliser les logos de survol',
89
-	'config_info_logos_utiliser_survol_non' => 'Ne pas utiliser les logos de survol',
90
-	'config_info_redirection' => 'En activant cette option, tu pourras créer des articles virtuels, simples références d’articles publiés sur d’autres sites ou hors de SPIP.',
91
-	'config_redirection' => 'Articles virtuels',
92
-	'config_titre_base_sup' => 'Déclaration d’une base supplémentaire',
93
-	'config_titre_base_sup_choix' => 'Choisis une base supplémentaire',
94
-	'connexion_ldap' => 'Connexion :',
95
-	'creer_et_associer_un_auteur' => 'Créer et associer un auteur',
76
+    // C
77
+    'cache_modifiable_webmestre' => 'Ce paramètre est modifiable par le webmestre du site.',
78
+    'calendrier_synchro' => 'Si tu utilises un logiciel d’agenda compatible <b>iCal</b>, tu peux le synchroniser avec les informations de ce site.',
79
+    'config_activer_champs' => 'Activer les champs suivants',
80
+    'config_choix_base_sup' => 'indiquer une base sur ce serveur',
81
+    'config_erreur_base_sup' => 'SPIP n’a pas accès à la liste des bases accessibles',
82
+    'config_info_base_sup' => 'Si tu aa d’autres bases de données à interroger à travers SPIP, avec son serveur SQL ou avec un autre, le formulaire ci-dessous, te permet de les déclarer. Si tu laisses certains champs vides, les identifiants de connexion à la base principale seront utilisés.',
83
+    'config_info_base_sup_disponibles' => 'Bases supplémentaires déjà interrogeables :',
84
+    'config_info_enregistree' => 'La nouvelle configuration a été enregistrée',
85
+    'config_info_logos' => 'Chaque élément du site peut avoir un logo, ainsi qu’un « logo de survol »',
86
+    'config_info_logos_utiliser' => 'Utiliser les logos',
87
+    'config_info_logos_utiliser_non' => 'Ne pas utiliser les logos',
88
+    'config_info_logos_utiliser_survol' => 'Utiliser les logos de survol',
89
+    'config_info_logos_utiliser_survol_non' => 'Ne pas utiliser les logos de survol',
90
+    'config_info_redirection' => 'En activant cette option, tu pourras créer des articles virtuels, simples références d’articles publiés sur d’autres sites ou hors de SPIP.',
91
+    'config_redirection' => 'Articles virtuels',
92
+    'config_titre_base_sup' => 'Déclaration d’une base supplémentaire',
93
+    'config_titre_base_sup_choix' => 'Choisis une base supplémentaire',
94
+    'connexion_ldap' => 'Connexion :',
95
+    'creer_et_associer_un_auteur' => 'Créer et associer un auteur',
96 96
 
97
-	// D
98
-	'date_mot_heures' => 'heures',
97
+    // D
98
+    'date_mot_heures' => 'heures',
99 99
 
100
-	// E
101
-	'ecran_connexion_couleur_principale' => 'Couleur principale',
102
-	'ecran_connexion_image_fond' => 'Image de fond',
103
-	'ecran_connexion_image_fond_explication' => 'Utiliser une image (format JPEG, 1920x1080 pixels)',
104
-	'ecran_connexion_image_revenir_couleur_defaut' => 'Revenir à la couleur par défaut',
105
-	'ecran_connexion_titre' => 'Écran de connexion',
106
-	'ecran_securite' => ' + écran de sécurité @version@',
107
-	'email' => 'email',
108
-	'email_2' => 'email :',
109
-	'en_savoir_plus' => 'En savoir plus',
110
-	'entree_adresse_annuaire' => 'Adresse de l’annuaire',
111
-	'entree_adresse_email' => 'Ton adresse email',
112
-	'entree_adresse_email_2' => 'Adresse email',
113
-	'entree_base_donnee_1' => 'Adresse de la base de données',
114
-	'entree_base_donnee_2' => '(Souvent cette adresse correspond à celle de ton site, parfois elle correspond à la mention « localhost », parfois elle est laissée totalement vide.)',
115
-	'entree_biographie' => 'Courte biographie en quelques mots.',
116
-	'entree_chemin_acces' => '<b>Entrer</b> le chemin d’accès :',
117
-	'entree_cle_pgp' => 'Ta clé PGP',
118
-	'entree_cle_pgp_2' => 'Clé PGP',
119
-	'entree_contenu_rubrique' => '(Contenu de la rubrique en quelques mots.)',
120
-	'entree_identifiants_connexion' => 'Tes identifiants de connexion...',
121
-	'entree_identifiants_connexion_2' => 'Identifiants de connexion',
122
-	'entree_informations_connexion_ldap' => 'Entre dans ce formulaire les informations de connexion à ton annuaire LDAP.
100
+    // E
101
+    'ecran_connexion_couleur_principale' => 'Couleur principale',
102
+    'ecran_connexion_image_fond' => 'Image de fond',
103
+    'ecran_connexion_image_fond_explication' => 'Utiliser une image (format JPEG, 1920x1080 pixels)',
104
+    'ecran_connexion_image_revenir_couleur_defaut' => 'Revenir à la couleur par défaut',
105
+    'ecran_connexion_titre' => 'Écran de connexion',
106
+    'ecran_securite' => ' + écran de sécurité @version@',
107
+    'email' => 'email',
108
+    'email_2' => 'email :',
109
+    'en_savoir_plus' => 'En savoir plus',
110
+    'entree_adresse_annuaire' => 'Adresse de l’annuaire',
111
+    'entree_adresse_email' => 'Ton adresse email',
112
+    'entree_adresse_email_2' => 'Adresse email',
113
+    'entree_base_donnee_1' => 'Adresse de la base de données',
114
+    'entree_base_donnee_2' => '(Souvent cette adresse correspond à celle de ton site, parfois elle correspond à la mention « localhost », parfois elle est laissée totalement vide.)',
115
+    'entree_biographie' => 'Courte biographie en quelques mots.',
116
+    'entree_chemin_acces' => '<b>Entrer</b> le chemin d’accès :',
117
+    'entree_cle_pgp' => 'Ta clé PGP',
118
+    'entree_cle_pgp_2' => 'Clé PGP',
119
+    'entree_contenu_rubrique' => '(Contenu de la rubrique en quelques mots.)',
120
+    'entree_identifiants_connexion' => 'Tes identifiants de connexion...',
121
+    'entree_identifiants_connexion_2' => 'Identifiants de connexion',
122
+    'entree_informations_connexion_ldap' => 'Entre dans ce formulaire les informations de connexion à ton annuaire LDAP.
123 123
 	Ces informations doivent pouvoir t’être fournies par l’administrateur du système,
124 124
 	ou du réseau.',
125
-	'entree_infos_perso' => 'Qui es-tu ?',
126
-	'entree_infos_perso_2' => 'Qui est l’auteur ?',
127
-	'entree_interieur_rubrique' => 'À l’intérieur de la rubrique :',
128
-	'entree_liens_sites' => '<b>Lien hypertexte</b> (référence, site à visiter...)',
129
-	'entree_login' => 'Ton login',
130
-	'entree_login_connexion_1' => 'Le login de connexion',
131
-	'entree_login_connexion_2' => '(Correspond parfois à ton login d’accès au FTP ; parfois laissé vide)',
132
-	'entree_mot_passe' => 'Ton mot de passe',
133
-	'entree_mot_passe_1' => 'Le mot de passe de connexion',
134
-	'entree_mot_passe_2' => '(Correspond parfois à ton mot de passe pour le FTP ; parfois laissé vide)',
135
-	'entree_nom_fichier' => 'Entre le nom du fichier @texte_compresse@ :',
136
-	'entree_nom_pseudo' => 'Ton nom ou ton pseudo',
137
-	'entree_nom_pseudo_1' => '(Ton nom ou ton pseudo)',
138
-	'entree_nom_pseudo_2' => 'Nom ou pseudo',
139
-	'entree_nom_site' => 'Le nom de ton site',
140
-	'entree_nom_site_2' => 'Nom du site de l’auteur',
141
-	'entree_nouveau_passe' => 'Nouveau mot de passe',
142
-	'entree_passe_ldap' => 'Mot de passe',
143
-	'entree_port_annuaire' => 'Le numéro de port de l’annuaire',
144
-	'entree_signature' => 'Signature',
145
-	'entree_titre_obligatoire' => '<b>Titre</b> [Obligatoire]<br />',
146
-	'entree_url' => 'L’adresse (URL) de ton site',
147
-	'entree_url_2' => 'Adresse (URL) du site',
148
-	'erreur_connect_deja_existant' => 'Un serveur existe déjà avec ce nom',
149
-	'erreur_contenu_suspect' => 'Texte échappé',
150
-	'erreur_email_deja_existant' => 'Cette adresse email est déjà enregistrée.',
151
-	'erreur_nom_connect_incorrect' => 'Ce nom de serveur n’est pas autorisé',
152
-	'erreur_plugin_attribut_balise_manquant' => 'Attribut @attribut@ manquant dans la balise @balise@.',
153
-	'erreur_plugin_desinstalation_echouee' => 'La désinstallation du plugin a échoué. Tu peux néanmoins le désactiver.',
154
-	'erreur_plugin_fichier_absent' => 'Fichier absent',
155
-	'erreur_plugin_fichier_def_absent' => 'Fichier de définition absent',
156
-	'erreur_plugin_nom_fonction_interdit' => 'Nom de fonction interdit',
157
-	'erreur_plugin_nom_manquant' => 'Nom du plugin manquant',
158
-	'erreur_plugin_prefix_manquant' => 'Espace de nommage du plugin non défini',
159
-	'erreur_plugin_tag_plugin_absent' => '&lt;plugin&gt; manquant dans le fichier de définition',
160
-	'erreur_plugin_version_manquant' => 'Version du plugin manquante',
161
-	'erreur_type_fichier' => 'Type de fichier incorrect',
125
+    'entree_infos_perso' => 'Qui es-tu ?',
126
+    'entree_infos_perso_2' => 'Qui est l’auteur ?',
127
+    'entree_interieur_rubrique' => 'À l’intérieur de la rubrique :',
128
+    'entree_liens_sites' => '<b>Lien hypertexte</b> (référence, site à visiter...)',
129
+    'entree_login' => 'Ton login',
130
+    'entree_login_connexion_1' => 'Le login de connexion',
131
+    'entree_login_connexion_2' => '(Correspond parfois à ton login d’accès au FTP ; parfois laissé vide)',
132
+    'entree_mot_passe' => 'Ton mot de passe',
133
+    'entree_mot_passe_1' => 'Le mot de passe de connexion',
134
+    'entree_mot_passe_2' => '(Correspond parfois à ton mot de passe pour le FTP ; parfois laissé vide)',
135
+    'entree_nom_fichier' => 'Entre le nom du fichier @texte_compresse@ :',
136
+    'entree_nom_pseudo' => 'Ton nom ou ton pseudo',
137
+    'entree_nom_pseudo_1' => '(Ton nom ou ton pseudo)',
138
+    'entree_nom_pseudo_2' => 'Nom ou pseudo',
139
+    'entree_nom_site' => 'Le nom de ton site',
140
+    'entree_nom_site_2' => 'Nom du site de l’auteur',
141
+    'entree_nouveau_passe' => 'Nouveau mot de passe',
142
+    'entree_passe_ldap' => 'Mot de passe',
143
+    'entree_port_annuaire' => 'Le numéro de port de l’annuaire',
144
+    'entree_signature' => 'Signature',
145
+    'entree_titre_obligatoire' => '<b>Titre</b> [Obligatoire]<br />',
146
+    'entree_url' => 'L’adresse (URL) de ton site',
147
+    'entree_url_2' => 'Adresse (URL) du site',
148
+    'erreur_connect_deja_existant' => 'Un serveur existe déjà avec ce nom',
149
+    'erreur_contenu_suspect' => 'Texte échappé',
150
+    'erreur_email_deja_existant' => 'Cette adresse email est déjà enregistrée.',
151
+    'erreur_nom_connect_incorrect' => 'Ce nom de serveur n’est pas autorisé',
152
+    'erreur_plugin_attribut_balise_manquant' => 'Attribut @attribut@ manquant dans la balise @balise@.',
153
+    'erreur_plugin_desinstalation_echouee' => 'La désinstallation du plugin a échoué. Tu peux néanmoins le désactiver.',
154
+    'erreur_plugin_fichier_absent' => 'Fichier absent',
155
+    'erreur_plugin_fichier_def_absent' => 'Fichier de définition absent',
156
+    'erreur_plugin_nom_fonction_interdit' => 'Nom de fonction interdit',
157
+    'erreur_plugin_nom_manquant' => 'Nom du plugin manquant',
158
+    'erreur_plugin_prefix_manquant' => 'Espace de nommage du plugin non défini',
159
+    'erreur_plugin_tag_plugin_absent' => '&lt;plugin&gt; manquant dans le fichier de définition',
160
+    'erreur_plugin_version_manquant' => 'Version du plugin manquante',
161
+    'erreur_type_fichier' => 'Type de fichier incorrect',
162 162
 
163
-	// H
164
-	'htaccess_a_simuler' => 'Avertissement : la configuration de ton serveur HTTP ne tient pas compte des fichiers @htaccess@. Pour pouvoir assurer une bonne sécurité, il faut que tu modifies cette configuration sur ce point, ou bien que les constantes @constantes@ (définissables dans le fichier mes_options.php) aient comme valeur des répertoires en dehors de @document_root@.',
165
-	'htaccess_inoperant' => 'htaccess inopérant',
163
+    // H
164
+    'htaccess_a_simuler' => 'Avertissement : la configuration de ton serveur HTTP ne tient pas compte des fichiers @htaccess@. Pour pouvoir assurer une bonne sécurité, il faut que tu modifies cette configuration sur ce point, ou bien que les constantes @constantes@ (définissables dans le fichier mes_options.php) aient comme valeur des répertoires en dehors de @document_root@.',
165
+    'htaccess_inoperant' => 'htaccess inopérant',
166 166
 
167
-	// I
168
-	'ical_info1' => 'Cette page présente plusieurs méthodes pour rester en contact avec la vie de ce site.',
169
-	'ical_info2' => 'Pour plus de renseignements sur toutes ces techniques, n’hésite pas à consulter <a href="@spipnet@">la documentation de SPIP</a>.',
170
-	'ical_info_calendrier' => 'Deux calendriers sont à ta disposition. Le premier est un plan du site annonçant tous les articles publiés. Le second contient les annonces éditoriales ainsi que tes derniers messages privés : il t’est réservé grâce à une clé personnelle, que tu peux modifier à tout moment en renouvelant ton mot de passe.',
171
-	'ical_methode_http' => 'Téléchargement',
172
-	'ical_methode_webcal' => 'Synchronisation (webcal://)',
173
-	'ical_texte_js' => 'Une ligne de javascript te permet d’afficher très simplement, sur n’importe quel site t’appartenant, les articles récents publiés sur ce site.',
174
-	'ical_texte_prive' => 'Ce calendrier, à usage strictement personnel, t’informe de l’activité éditoriale privée de ce site (tâches et rendez-vous personnels, articles et brèves proposés...).',
175
-	'ical_texte_public' => 'Ce calendrier te permet de suivre l’activité publique de ce site (articles et brèves publiés).',
176
-	'ical_texte_rss' => 'Tu peux syndiquer les nouveautés de ce site dans n’importe quel lecteur de fichiers au format XML/RSS (Rich Site Summary). C’est aussi le format qui permet à SPIP de lire les nouveautés publiées sur d’autres sites utilisant un format d’échange compatible (sites syndiqués).',
177
-	'ical_titre_js' => 'Javascript',
178
-	'ical_titre_mailing' => 'Mailing-list',
179
-	'ical_titre_rss' => 'Fichiers de syndication',
180
-	'icone_accueil' => 'Accueil',
181
-	'icone_activer_cookie' => 'Activer le cookie de correspondance',
182
-	'icone_activite' => 'Activité',
183
-	'icone_admin_plugin' => 'Gestion des plugins',
184
-	'icone_administration' => 'Maintenance',
185
-	'icone_afficher_auteurs' => 'Afficher les auteurs',
186
-	'icone_afficher_visiteurs' => 'Afficher les visiteurs',
187
-	'icone_arret_discussion' => 'Ne plus participer à cette discussion',
188
-	'icone_calendrier' => 'Calendrier',
189
-	'icone_configuration' => 'Configuration',
190
-	'icone_creer_auteur' => 'Créer un nouvel auteur et l’associer à cet article',
191
-	'icone_creer_mot_cle' => 'Créer un nouveau mot-clé et le lier à cet article',
192
-	'icone_creer_rubrique_2' => 'Créer une nouvelle rubrique',
193
-	'icone_developpement' => 'Développement',
194
-	'icone_edition' => 'Édition',
195
-	'icone_ma_langue' => 'Ma langue',
196
-	'icone_mes_infos' => 'Mes infos',
197
-	'icone_mes_preferences' => 'Mes préférences',
198
-	'icone_modifier_article' => 'Modifier cet article',
199
-	'icone_modifier_rubrique' => 'Modifier cette rubrique',
200
-	'icone_publication' => 'Publication',
201
-	'icone_relancer_signataire' => 'Relancer le signataire',
202
-	'icone_retour' => 'Retour',
203
-	'icone_retour_article' => 'Retour à l’article',
204
-	'icone_squelette' => 'Squelettes',
205
-	'icone_suivi_publication' => 'Suivi de la publication',
206
-	'icone_supprimer_cookie' => 'Supprimer le cookie de correspondance',
207
-	'icone_supprimer_rubrique' => 'Supprimer cette rubrique',
208
-	'icone_supprimer_signature' => 'Supprimer cette signature',
209
-	'icone_valider_signature' => 'Valider cette signature',
210
-	'image_administrer_rubrique' => 'Tu peux administrer cette rubrique',
211
-	'impossible_modifier_login_auteur' => 'Impossible de modifier le login.',
212
-	'impossible_modifier_pass_auteur' => 'Impossible de modifier le mot de passe.',
213
-	'info_1_article' => '1 article',
214
-	'info_1_auteur' => '1 auteur',
215
-	'info_1_message' => '1 message',
216
-	'info_1_mot_cle' => '1 mot-clé',
217
-	'info_1_rubrique' => '1 rubrique',
218
-	'info_1_visiteur' => '1 visiteur',
219
-	'info_activer_cookie' => 'Tu peux activer un <b>cookie de correspondance</b>, ce qui te
167
+    // I
168
+    'ical_info1' => 'Cette page présente plusieurs méthodes pour rester en contact avec la vie de ce site.',
169
+    'ical_info2' => 'Pour plus de renseignements sur toutes ces techniques, n’hésite pas à consulter <a href="@spipnet@">la documentation de SPIP</a>.',
170
+    'ical_info_calendrier' => 'Deux calendriers sont à ta disposition. Le premier est un plan du site annonçant tous les articles publiés. Le second contient les annonces éditoriales ainsi que tes derniers messages privés : il t’est réservé grâce à une clé personnelle, que tu peux modifier à tout moment en renouvelant ton mot de passe.',
171
+    'ical_methode_http' => 'Téléchargement',
172
+    'ical_methode_webcal' => 'Synchronisation (webcal://)',
173
+    'ical_texte_js' => 'Une ligne de javascript te permet d’afficher très simplement, sur n’importe quel site t’appartenant, les articles récents publiés sur ce site.',
174
+    'ical_texte_prive' => 'Ce calendrier, à usage strictement personnel, t’informe de l’activité éditoriale privée de ce site (tâches et rendez-vous personnels, articles et brèves proposés...).',
175
+    'ical_texte_public' => 'Ce calendrier te permet de suivre l’activité publique de ce site (articles et brèves publiés).',
176
+    'ical_texte_rss' => 'Tu peux syndiquer les nouveautés de ce site dans n’importe quel lecteur de fichiers au format XML/RSS (Rich Site Summary). C’est aussi le format qui permet à SPIP de lire les nouveautés publiées sur d’autres sites utilisant un format d’échange compatible (sites syndiqués).',
177
+    'ical_titre_js' => 'Javascript',
178
+    'ical_titre_mailing' => 'Mailing-list',
179
+    'ical_titre_rss' => 'Fichiers de syndication',
180
+    'icone_accueil' => 'Accueil',
181
+    'icone_activer_cookie' => 'Activer le cookie de correspondance',
182
+    'icone_activite' => 'Activité',
183
+    'icone_admin_plugin' => 'Gestion des plugins',
184
+    'icone_administration' => 'Maintenance',
185
+    'icone_afficher_auteurs' => 'Afficher les auteurs',
186
+    'icone_afficher_visiteurs' => 'Afficher les visiteurs',
187
+    'icone_arret_discussion' => 'Ne plus participer à cette discussion',
188
+    'icone_calendrier' => 'Calendrier',
189
+    'icone_configuration' => 'Configuration',
190
+    'icone_creer_auteur' => 'Créer un nouvel auteur et l’associer à cet article',
191
+    'icone_creer_mot_cle' => 'Créer un nouveau mot-clé et le lier à cet article',
192
+    'icone_creer_rubrique_2' => 'Créer une nouvelle rubrique',
193
+    'icone_developpement' => 'Développement',
194
+    'icone_edition' => 'Édition',
195
+    'icone_ma_langue' => 'Ma langue',
196
+    'icone_mes_infos' => 'Mes infos',
197
+    'icone_mes_preferences' => 'Mes préférences',
198
+    'icone_modifier_article' => 'Modifier cet article',
199
+    'icone_modifier_rubrique' => 'Modifier cette rubrique',
200
+    'icone_publication' => 'Publication',
201
+    'icone_relancer_signataire' => 'Relancer le signataire',
202
+    'icone_retour' => 'Retour',
203
+    'icone_retour_article' => 'Retour à l’article',
204
+    'icone_squelette' => 'Squelettes',
205
+    'icone_suivi_publication' => 'Suivi de la publication',
206
+    'icone_supprimer_cookie' => 'Supprimer le cookie de correspondance',
207
+    'icone_supprimer_rubrique' => 'Supprimer cette rubrique',
208
+    'icone_supprimer_signature' => 'Supprimer cette signature',
209
+    'icone_valider_signature' => 'Valider cette signature',
210
+    'image_administrer_rubrique' => 'Tu peux administrer cette rubrique',
211
+    'impossible_modifier_login_auteur' => 'Impossible de modifier le login.',
212
+    'impossible_modifier_pass_auteur' => 'Impossible de modifier le mot de passe.',
213
+    'info_1_article' => '1 article',
214
+    'info_1_auteur' => '1 auteur',
215
+    'info_1_message' => '1 message',
216
+    'info_1_mot_cle' => '1 mot-clé',
217
+    'info_1_rubrique' => '1 rubrique',
218
+    'info_1_visiteur' => '1 visiteur',
219
+    'info_activer_cookie' => 'Tu peux activer un <b>cookie de correspondance</b>, ce qui te
220 220
 	permettra de passer facilement du site public au site privé.',
221
-	'info_activer_menu_developpement' => 'Afficher le menu Développement',
222
-	'info_admin_etre_webmestre' => 'Me donner les droits de webmestre',
223
-	'info_admin_je_suis_webmestre' => 'Je suis <b>webmestre</b>',
224
-	'info_admin_statuer_webmestre' => 'Donner à cet administrateur les droits de webmestre',
225
-	'info_admin_webmestre' => 'Cet administrateur est <b>webmestre</b>',
226
-	'info_administrateur' => 'Administrateur',
227
-	'info_administrateur_1' => 'Administrateur',
228
-	'info_administrateur_2' => 'du site (<i>utilise avec précaution</i>)',
229
-	'info_administrateur_site_01' => 'Si tu es administrateur du site, ',
230
-	'info_administrateur_site_02' => 'clique sur ce lien',
231
-	'info_administrateurs' => 'Administrateurs',
232
-	'info_administrer_rubrique' => 'Tu peux administrer cette rubrique',
233
-	'info_adresse' => 'à l’adresse :',
234
-	'info_adresse_desinscription' => 'Adresse de désinscription :',
235
-	'info_adresse_url' => 'Adresse (URL) du site public',
236
-	'info_afficher_par_nb' => 'Afficher par',
237
-	'info_aide_en_ligne' => 'Aide en ligne SPIP',
238
-	'info_ajout_image' => 'Lorsque tu ajoutes des images en tant que documents joints à un article,
221
+    'info_activer_menu_developpement' => 'Afficher le menu Développement',
222
+    'info_admin_etre_webmestre' => 'Me donner les droits de webmestre',
223
+    'info_admin_je_suis_webmestre' => 'Je suis <b>webmestre</b>',
224
+    'info_admin_statuer_webmestre' => 'Donner à cet administrateur les droits de webmestre',
225
+    'info_admin_webmestre' => 'Cet administrateur est <b>webmestre</b>',
226
+    'info_administrateur' => 'Administrateur',
227
+    'info_administrateur_1' => 'Administrateur',
228
+    'info_administrateur_2' => 'du site (<i>utilise avec précaution</i>)',
229
+    'info_administrateur_site_01' => 'Si tu es administrateur du site, ',
230
+    'info_administrateur_site_02' => 'clique sur ce lien',
231
+    'info_administrateurs' => 'Administrateurs',
232
+    'info_administrer_rubrique' => 'Tu peux administrer cette rubrique',
233
+    'info_adresse' => 'à l’adresse :',
234
+    'info_adresse_desinscription' => 'Adresse de désinscription :',
235
+    'info_adresse_url' => 'Adresse (URL) du site public',
236
+    'info_afficher_par_nb' => 'Afficher par',
237
+    'info_aide_en_ligne' => 'Aide en ligne SPIP',
238
+    'info_ajout_image' => 'Lorsque tu ajoutes des images en tant que documents joints à un article,
239 239
 		SPIP peut créer pour toi, automatiquement, des vignettes (miniatures) des
240 240
 		images insérées. Cela permet par exemple de créer
241 241
 		automatiquement une galerie ou un portfolio.',
242
-	'info_ajouter_rubrique' => 'Ajouter une autre rubrique à administrer :',
243
-	'info_annonce_nouveautes' => 'Annonce des nouveautés',
244
-	'info_article' => 'article',
245
-	'info_article_2' => 'articles',
246
-	'info_article_a_paraitre' => 'Les articles post-datés à paraître',
247
-	'info_articles_02' => 'articles',
248
-	'info_articles_2' => 'Articles',
249
-	'info_articles_auteur' => 'Les articles de cet auteur',
250
-	'info_articles_miens' => 'Mes articles',
251
-	'info_articles_tous' => 'Tous les articles',
252
-	'info_articles_trouves' => 'Articles trouvés',
253
-	'info_attente_validation' => 'Tes articles en attente de validation',
254
-	'info_aucun_article' => 'Aucun article',
255
-	'info_aucun_auteur' => 'Aucun auteur',
256
-	'info_aucun_message' => 'Aucun message',
257
-	'info_aucun_rubrique' => 'Aucune rubrique',
258
-	'info_aujourdhui' => 'aujourd’hui :',
259
-	'info_auteur_gere_rubriques' => 'Cet auteur gère les rubriques suivantes :',
260
-	'info_auteur_gere_toutes_rubriques' => 'Cet auteur gère <b>toutes les rubriques</b>',
261
-	'info_auteur_gere_toutes_rubriques_2' => 'Je gère <b>toutes les rubriques</b>',
262
-	'info_auteurs' => 'Les auteurs',
263
-	'info_auteurs_par_tri' => 'Auteurs@partri@',
264
-	'info_auteurs_trouves' => 'Auteurs trouvés',
265
-	'info_authentification_externe' => 'Authentification externe',
266
-	'info_avertissement' => 'Avertissement',
267
-	'info_barre_outils' => 'avec sa barre d’outils ?',
268
-	'info_base_installee' => 'La structure de ta base de données est installée.',
269
-	'info_bio' => 'Biographie',
270
-	'info_cache_desactive' => 'Le cache est temporairement désactivé.',
271
-	'info_chapeau' => 'Chapeau',
272
-	'info_chapeau_2' => 'Chapeau :',
273
-	'info_chemin_acces_1' => 'Options : <b>Chemin d’accès dans l’annuaire</b>',
274
-	'info_chemin_acces_2' => 'Tu dois désormais configurer le chemin d’accès aux informations dans l’annuaire. Cette information est indispensable pour lire les profils utilisateurs stockés dans l’annuaire.',
275
-	'info_chemin_acces_annuaire' => 'Options : <b>Chemin d’accès dans l’annuaire',
276
-	'info_choix_base' => 'Troisième étape :',
277
-	'info_classement_1' => '<sup>er</sup> sur @liste@',
278
-	'info_classement_2' => '<sup>e</sup> sur @liste@',
279
-	'info_code_acces' => 'N’oublie pas tes propres codes d’accès !',
280
-	'info_config_suivi' => 'Si cette adresse correspond à une mailing-list, tu peux indiquer ci-dessous l’adresse à laquelle les participants au site peuvent s’inscrire. Cette adresse peut être une URL (par exemple la page d’inscription à la liste par le Web), ou une adresse email dotée d’un sujet spécifique (par exemple : <tt>@adresse_suivi@?subject=subscribe</tt>) :',
281
-	'info_config_suivi_explication' => 'Tu peux t’abonner à la mailing-list de ce site. Tu recevras alors par courrier électronique les annonces d’articles et de brèves proposés à la publication.',
282
-	'info_confirmer_passe' => 'Confirmer ce nouveau mot de passe :',
283
-	'info_conflit_edition_avis_non_sauvegarde' => 'Attention, les champs suivants ont été modifiés par ailleurs. Tes modifications sur ces champs n’ont donc pas été enregistrées.',
284
-	'info_conflit_edition_differences' => 'Différences :',
285
-	'info_conflit_edition_version_enregistree' => 'La version enregistrée :',
286
-	'info_conflit_edition_votre_version' => 'Ta version :',
287
-	'info_connexion_base' => 'Essai de connexion à la base',
288
-	'info_connexion_base_donnee' => 'Connexion à ta base de données',
289
-	'info_connexion_ldap_ok' => '<b>La connexion LDAP a réussi.</b><p> Tu peux passer à l’étape suivante.</p>',
290
-	'info_connexion_mysql' => 'Ta connexion SQL',
291
-	'info_connexion_ok' => 'La connexion a réussi.',
292
-	'info_contact' => 'Contact',
293
-	'info_contenu_articles' => 'Contenu des articles',
294
-	'info_contributions' => 'Contributions',
295
-	'info_creation_paragraphe' => 'Pour créer des paragraphes, laisse simplement des lignes vides.',
296
-	'info_creation_rubrique' => 'Avant de pouvoir écrire des articles,<br /> tu dois créer au moins une rubrique.<br />',
297
-	'info_creation_tables' => 'Création des tables de la base',
298
-	'info_creer_base' => '<b>Créer</b> une nouvelle base de données :',
299
-	'info_dans_rubrique' => 'Dans la rubrique :',
300
-	'info_date_publication_anterieure' => 'Date de rédaction antérieure :',
301
-	'info_date_referencement' => 'DATE DE RÉFÉRENCEMENT DE CE SITE :',
302
-	'info_derniere_etape' => 'C’est terminé !',
303
-	'info_descriptif' => 'Descriptif :',
304
-	'info_desinstaller_plugin' => 'supprime les données et désactive le plugin',
305
-	'info_discussion_cours' => 'Discussions en cours',
306
-	'info_ecrire_article' => 'Avant de pouvoir écrire des articles, tu dois créer au moins une rubrique.',
307
-	'info_email_envoi' => 'Adresse email d’envoi (optionnel)',
308
-	'info_email_envoi_txt' => 'Indique ici l’adresse à utiliser pour envoyer les emails (à défaut, l’adresse destinataire sera utilisée comme adresse d’envoi) :',
309
-	'info_email_webmestre' => 'Adresse e-mail du webmestre',
310
-	'info_envoi_email_automatique' => 'Envoi de mails automatique',
311
-	'info_envoyer_maintenant' => 'Envoyer maintenant',
312
-	'info_etape_suivante' => 'Passer à l’étape suivante',
313
-	'info_etape_suivante_1' => 'Tu peux passer à l’étape suivante.',
314
-	'info_etape_suivante_2' => 'Tu peux passer à l’étape suivante.',
315
-	'info_exceptions_proxy' => 'Exceptions pour le proxy',
316
-	'info_exportation_base' => 'exportation de la base vers @archive@',
317
-	'info_facilite_suivi_activite' => 'Afin de faciliter le suivi de l’activité
242
+    'info_ajouter_rubrique' => 'Ajouter une autre rubrique à administrer :',
243
+    'info_annonce_nouveautes' => 'Annonce des nouveautés',
244
+    'info_article' => 'article',
245
+    'info_article_2' => 'articles',
246
+    'info_article_a_paraitre' => 'Les articles post-datés à paraître',
247
+    'info_articles_02' => 'articles',
248
+    'info_articles_2' => 'Articles',
249
+    'info_articles_auteur' => 'Les articles de cet auteur',
250
+    'info_articles_miens' => 'Mes articles',
251
+    'info_articles_tous' => 'Tous les articles',
252
+    'info_articles_trouves' => 'Articles trouvés',
253
+    'info_attente_validation' => 'Tes articles en attente de validation',
254
+    'info_aucun_article' => 'Aucun article',
255
+    'info_aucun_auteur' => 'Aucun auteur',
256
+    'info_aucun_message' => 'Aucun message',
257
+    'info_aucun_rubrique' => 'Aucune rubrique',
258
+    'info_aujourdhui' => 'aujourd’hui :',
259
+    'info_auteur_gere_rubriques' => 'Cet auteur gère les rubriques suivantes :',
260
+    'info_auteur_gere_toutes_rubriques' => 'Cet auteur gère <b>toutes les rubriques</b>',
261
+    'info_auteur_gere_toutes_rubriques_2' => 'Je gère <b>toutes les rubriques</b>',
262
+    'info_auteurs' => 'Les auteurs',
263
+    'info_auteurs_par_tri' => 'Auteurs@partri@',
264
+    'info_auteurs_trouves' => 'Auteurs trouvés',
265
+    'info_authentification_externe' => 'Authentification externe',
266
+    'info_avertissement' => 'Avertissement',
267
+    'info_barre_outils' => 'avec sa barre d’outils ?',
268
+    'info_base_installee' => 'La structure de ta base de données est installée.',
269
+    'info_bio' => 'Biographie',
270
+    'info_cache_desactive' => 'Le cache est temporairement désactivé.',
271
+    'info_chapeau' => 'Chapeau',
272
+    'info_chapeau_2' => 'Chapeau :',
273
+    'info_chemin_acces_1' => 'Options : <b>Chemin d’accès dans l’annuaire</b>',
274
+    'info_chemin_acces_2' => 'Tu dois désormais configurer le chemin d’accès aux informations dans l’annuaire. Cette information est indispensable pour lire les profils utilisateurs stockés dans l’annuaire.',
275
+    'info_chemin_acces_annuaire' => 'Options : <b>Chemin d’accès dans l’annuaire',
276
+    'info_choix_base' => 'Troisième étape :',
277
+    'info_classement_1' => '<sup>er</sup> sur @liste@',
278
+    'info_classement_2' => '<sup>e</sup> sur @liste@',
279
+    'info_code_acces' => 'N’oublie pas tes propres codes d’accès !',
280
+    'info_config_suivi' => 'Si cette adresse correspond à une mailing-list, tu peux indiquer ci-dessous l’adresse à laquelle les participants au site peuvent s’inscrire. Cette adresse peut être une URL (par exemple la page d’inscription à la liste par le Web), ou une adresse email dotée d’un sujet spécifique (par exemple : <tt>@adresse_suivi@?subject=subscribe</tt>) :',
281
+    'info_config_suivi_explication' => 'Tu peux t’abonner à la mailing-list de ce site. Tu recevras alors par courrier électronique les annonces d’articles et de brèves proposés à la publication.',
282
+    'info_confirmer_passe' => 'Confirmer ce nouveau mot de passe :',
283
+    'info_conflit_edition_avis_non_sauvegarde' => 'Attention, les champs suivants ont été modifiés par ailleurs. Tes modifications sur ces champs n’ont donc pas été enregistrées.',
284
+    'info_conflit_edition_differences' => 'Différences :',
285
+    'info_conflit_edition_version_enregistree' => 'La version enregistrée :',
286
+    'info_conflit_edition_votre_version' => 'Ta version :',
287
+    'info_connexion_base' => 'Essai de connexion à la base',
288
+    'info_connexion_base_donnee' => 'Connexion à ta base de données',
289
+    'info_connexion_ldap_ok' => '<b>La connexion LDAP a réussi.</b><p> Tu peux passer à l’étape suivante.</p>',
290
+    'info_connexion_mysql' => 'Ta connexion SQL',
291
+    'info_connexion_ok' => 'La connexion a réussi.',
292
+    'info_contact' => 'Contact',
293
+    'info_contenu_articles' => 'Contenu des articles',
294
+    'info_contributions' => 'Contributions',
295
+    'info_creation_paragraphe' => 'Pour créer des paragraphes, laisse simplement des lignes vides.',
296
+    'info_creation_rubrique' => 'Avant de pouvoir écrire des articles,<br /> tu dois créer au moins une rubrique.<br />',
297
+    'info_creation_tables' => 'Création des tables de la base',
298
+    'info_creer_base' => '<b>Créer</b> une nouvelle base de données :',
299
+    'info_dans_rubrique' => 'Dans la rubrique :',
300
+    'info_date_publication_anterieure' => 'Date de rédaction antérieure :',
301
+    'info_date_referencement' => 'DATE DE RÉFÉRENCEMENT DE CE SITE :',
302
+    'info_derniere_etape' => 'C’est terminé !',
303
+    'info_descriptif' => 'Descriptif :',
304
+    'info_desinstaller_plugin' => 'supprime les données et désactive le plugin',
305
+    'info_discussion_cours' => 'Discussions en cours',
306
+    'info_ecrire_article' => 'Avant de pouvoir écrire des articles, tu dois créer au moins une rubrique.',
307
+    'info_email_envoi' => 'Adresse email d’envoi (optionnel)',
308
+    'info_email_envoi_txt' => 'Indique ici l’adresse à utiliser pour envoyer les emails (à défaut, l’adresse destinataire sera utilisée comme adresse d’envoi) :',
309
+    'info_email_webmestre' => 'Adresse e-mail du webmestre',
310
+    'info_envoi_email_automatique' => 'Envoi de mails automatique',
311
+    'info_envoyer_maintenant' => 'Envoyer maintenant',
312
+    'info_etape_suivante' => 'Passer à l’étape suivante',
313
+    'info_etape_suivante_1' => 'Tu peux passer à l’étape suivante.',
314
+    'info_etape_suivante_2' => 'Tu peux passer à l’étape suivante.',
315
+    'info_exceptions_proxy' => 'Exceptions pour le proxy',
316
+    'info_exportation_base' => 'exportation de la base vers @archive@',
317
+    'info_facilite_suivi_activite' => 'Afin de faciliter le suivi de l’activité
318 318
 		éditoriale du site, SPIP peut faire parvenir par mail, par exemple
319 319
 		à une mailing-list des rédacteurs, l’annonce des demandes de
320 320
 		publication et des validations d’articles.',
321
-	'info_fichiers_authent' => 'Fichiers d’authentification « .htpasswd »',
322
-	'info_forums_abo_invites' => 'Ton site comporte des forums sur abonnement ; les visiteurs sont donc invités à s’enregistrer sur le site public.',
323
-	'info_gauche_admin_tech' => '<b>Cette page est uniquement accessible aux responsables du site.</b><p> Elle donne accès aux différentes
321
+    'info_fichiers_authent' => 'Fichiers d’authentification « .htpasswd »',
322
+    'info_forums_abo_invites' => 'Ton site comporte des forums sur abonnement ; les visiteurs sont donc invités à s’enregistrer sur le site public.',
323
+    'info_gauche_admin_tech' => '<b>Cette page est uniquement accessible aux responsables du site.</b><p> Elle donne accès aux différentes
324 324
 fonctions de maintenance technique. Certaines d’entre elles donnent lieu à un processus d’authentification spécifique, qui
325 325
 exige d’avoir un accès FTP au site Web.</p>',
326
-	'info_gauche_admin_vider' => '<b>Cette page est uniquement accessible aux responsables du site.</b><p> Elle donne accès aux différentes
326
+    'info_gauche_admin_vider' => '<b>Cette page est uniquement accessible aux responsables du site.</b><p> Elle donne accès aux différentes
327 327
 fonctions de maintenance technique. Certaines d’entre elles donnent lieu à un processus d’authentification spécifique, qui
328 328
 exige d’avoir un accès FTP au site Web.</p>',
329
-	'info_gauche_auteurs' => 'Tu trouveras ici tous les auteurs du site.
329
+    'info_gauche_auteurs' => 'Tu trouveras ici tous les auteurs du site.
330 330
  Leur statut est indiqué par la couleur de leur icone (administrateur = vert ; rédacteur = jaune).',
331
-	'info_gauche_auteurs_exterieurs' => 'Les auteurs extérieurs, sans accès au site, sont indiqués par une icone bleue ;
331
+    'info_gauche_auteurs_exterieurs' => 'Les auteurs extérieurs, sans accès au site, sont indiqués par une icone bleue ;
332 332
 		les auteurs effacés par une icone grise.',
333
-	'info_gauche_messagerie' => 'La messagerie te permet d’échanger des messages entre rédacteurs, de conserver des pense-bêtes (pour ton usage personnel) ou d’afficher des annonces sur la page d’accueil de l’espace privé (si tu es administrateur).',
334
-	'info_gauche_statistiques_referers' => 'Cette page présente la liste des <i>referers</i>, c’est-à-dire des sites contenant des liens menant vers ton propre site, uniquement pour hier et aujourd’hui : cette liste est remise à zéro toutes les 24 heures.',
335
-	'info_gauche_visiteurs_enregistres' => 'Tu trouveras ici les visiteurs enregistrés
333
+    'info_gauche_messagerie' => 'La messagerie te permet d’échanger des messages entre rédacteurs, de conserver des pense-bêtes (pour ton usage personnel) ou d’afficher des annonces sur la page d’accueil de l’espace privé (si tu es administrateur).',
334
+    'info_gauche_statistiques_referers' => 'Cette page présente la liste des <i>referers</i>, c’est-à-dire des sites contenant des liens menant vers ton propre site, uniquement pour hier et aujourd’hui : cette liste est remise à zéro toutes les 24 heures.',
335
+    'info_gauche_visiteurs_enregistres' => 'Tu trouveras ici les visiteurs enregistrés
336 336
 	dans l’espace public du site (forums sur abonnement).',
337
-	'info_generation_miniatures_images' => 'Génération de miniatures des images',
338
-	'info_gerer_trad_objets' => '@objets@ : gérer les liens de traduction',
339
-	'info_hebergeur_desactiver_envoi_email' => 'Certains hébergeurs désactivent l’envoi automatique de
337
+    'info_generation_miniatures_images' => 'Génération de miniatures des images',
338
+    'info_gerer_trad_objets' => '@objets@ : gérer les liens de traduction',
339
+    'info_hebergeur_desactiver_envoi_email' => 'Certains hébergeurs désactivent l’envoi automatique de
340 340
 		mails depuis leurs serveurs. Dans ce cas, les fonctionnalités suivantes
341 341
 		de SPIP ne fonctionneront pas.',
342
-	'info_hier' => 'hier :',
343
-	'info_identification_publique' => 'Ton identité publique...',
344
-	'info_image_process' => 'Sélectionne ci-après la meilleure méthode de fabrication des vignettes en cliquant sur l’image correspondante.',
345
-	'info_image_process2' => 'Si aucune image n’apparaît, alors le serveur qui héberge ton site n’a pas été configuré pour utiliser de tels outils. Si tu souhaites utiliser ces fonctions, contactes le responsable technique et demandes les extensions « GD » ou « Imagick ».',
346
-	'info_images_auto' => 'Images calculées automatiquement',
347
-	'info_informations_personnelles' => 'Informations personnelles',
348
-	'info_inscription' => 'Inscription le',
349
-	'info_inscription_automatique' => 'Inscription automatique de nouveaux rédacteurs',
350
-	'info_jeu_caractere' => 'Jeu de caractères du site',
351
-	'info_jours' => 'jours',
352
-	'info_laisser_champs_vides' => 'laisser ces champs vides)',
353
-	'info_langues' => 'Langues du site',
354
-	'info_ldap_ok' => 'L’authentification LDAP est installée.',
355
-	'info_lien_hypertexte' => 'Lien hypertexte :',
356
-	'info_liste_nouveautes_envoyee' => 'La liste des nouveautés a été envoyée',
357
-	'info_liste_redacteurs_connectes' => 'Liste des rédacteurs connectés',
358
-	'info_login_existant' => 'Ce login existe déjà.',
359
-	'info_login_trop_court' => 'Login trop court.',
360
-	'info_login_trop_court_car_pluriel' => 'Le login doit contenir au moins @nb@ caractères.',
361
-	'info_logos' => 'Les logos',
362
-	'info_maximum' => 'maximum :',
363
-	'info_meme_rubrique' => 'Dans la même rubrique',
364
-	'info_message_en_redaction' => 'Tes messages en cours de rédaction',
365
-	'info_message_technique' => 'Message technique :',
366
-	'info_messagerie_interne' => 'Messagerie interne',
367
-	'info_mise_a_niveau_base' => 'mise à niveau de ta base SQL',
368
-	'info_mise_a_niveau_base_2' => '{{Attention !}} Tu as installé une version
342
+    'info_hier' => 'hier :',
343
+    'info_identification_publique' => 'Ton identité publique...',
344
+    'info_image_process' => 'Sélectionne ci-après la meilleure méthode de fabrication des vignettes en cliquant sur l’image correspondante.',
345
+    'info_image_process2' => 'Si aucune image n’apparaît, alors le serveur qui héberge ton site n’a pas été configuré pour utiliser de tels outils. Si tu souhaites utiliser ces fonctions, contactes le responsable technique et demandes les extensions « GD » ou « Imagick ».',
346
+    'info_images_auto' => 'Images calculées automatiquement',
347
+    'info_informations_personnelles' => 'Informations personnelles',
348
+    'info_inscription' => 'Inscription le',
349
+    'info_inscription_automatique' => 'Inscription automatique de nouveaux rédacteurs',
350
+    'info_jeu_caractere' => 'Jeu de caractères du site',
351
+    'info_jours' => 'jours',
352
+    'info_laisser_champs_vides' => 'laisser ces champs vides)',
353
+    'info_langues' => 'Langues du site',
354
+    'info_ldap_ok' => 'L’authentification LDAP est installée.',
355
+    'info_lien_hypertexte' => 'Lien hypertexte :',
356
+    'info_liste_nouveautes_envoyee' => 'La liste des nouveautés a été envoyée',
357
+    'info_liste_redacteurs_connectes' => 'Liste des rédacteurs connectés',
358
+    'info_login_existant' => 'Ce login existe déjà.',
359
+    'info_login_trop_court' => 'Login trop court.',
360
+    'info_login_trop_court_car_pluriel' => 'Le login doit contenir au moins @nb@ caractères.',
361
+    'info_logos' => 'Les logos',
362
+    'info_maximum' => 'maximum :',
363
+    'info_meme_rubrique' => 'Dans la même rubrique',
364
+    'info_message_en_redaction' => 'Tes messages en cours de rédaction',
365
+    'info_message_technique' => 'Message technique :',
366
+    'info_messagerie_interne' => 'Messagerie interne',
367
+    'info_mise_a_niveau_base' => 'mise à niveau de ta base SQL',
368
+    'info_mise_a_niveau_base_2' => '{{Attention !}} Tu as installé une version
369 369
   des fichiers SPIP {antérieure} à celle qui se trouvait
370 370
   auparavant sur ce site : ta base de données risque d’être
371 371
   perdue et ton site ne fonctionnera plus.<br />{{Réinstalle les
372 372
   fichiers de SPIP.}}',
373
-	'info_modification_enregistree' => 'Ta modification a été enregistrée',
374
-	'info_modifier_auteur' => 'Modifier l’auteur :',
375
-	'info_modifier_rubrique' => 'Modifier la rubrique :',
376
-	'info_modifier_titre' => 'Modifier : @titre@',
377
-	'info_mon_site_spip' => 'Mon site SPIP',
378
-	'info_moyenne' => 'moyenne :',
379
-	'info_multi_cet_article' => 'Langue de cet article :',
380
-	'info_multi_langues_choisies' => 'Sélectionne ci-après les langues à disposition des rédacteurs de ton site.
373
+    'info_modification_enregistree' => 'Ta modification a été enregistrée',
374
+    'info_modifier_auteur' => 'Modifier l’auteur :',
375
+    'info_modifier_rubrique' => 'Modifier la rubrique :',
376
+    'info_modifier_titre' => 'Modifier : @titre@',
377
+    'info_mon_site_spip' => 'Mon site SPIP',
378
+    'info_moyenne' => 'moyenne :',
379
+    'info_multi_cet_article' => 'Langue de cet article :',
380
+    'info_multi_langues_choisies' => 'Sélectionne ci-après les langues à disposition des rédacteurs de ton site.
381 381
 		Les langues déjà utilisées dans ton site (affichées en premier) ne peuvent pas être désactivées.',
382
-	'info_multi_objets' => '@objets@ : activer le menu de langue',
383
-	'info_multi_secteurs' => '... seulement pour les rubriques situées à la racine ?',
384
-	'info_nb_articles' => '@nb@ articles',
385
-	'info_nb_auteurs' => '@nb@ auteurs',
386
-	'info_nb_messages' => '@nb@ messages',
387
-	'info_nb_mots_cles' => '@nb@ mots-clés',
388
-	'info_nb_rubriques' => '@nb@ rubriques',
389
-	'info_nb_visiteurs' => '@nb@ visiteurs',
390
-	'info_nom' => 'Nom',
391
-	'info_nom_destinataire' => 'Nom du destinataire',
392
-	'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés',
393
-	'info_nom_site' => 'Nom de ton site',
394
-	'info_nombre_articles' => '@nb_articles@ articles,',
395
-	'info_nombre_rubriques' => '@nb_rubriques@ rubriques,',
396
-	'info_nombre_sites' => '@nb_sites@ sites,',
397
-	'info_non_deplacer' => 'Ne pas déplacer...',
398
-	'info_non_envoi_annonce_dernieres_nouveautes' => 'SPIP peut envoyer, régulièrement, l’annonce des dernières nouveautés du site
382
+    'info_multi_objets' => '@objets@ : activer le menu de langue',
383
+    'info_multi_secteurs' => '... seulement pour les rubriques situées à la racine ?',
384
+    'info_nb_articles' => '@nb@ articles',
385
+    'info_nb_auteurs' => '@nb@ auteurs',
386
+    'info_nb_messages' => '@nb@ messages',
387
+    'info_nb_mots_cles' => '@nb@ mots-clés',
388
+    'info_nb_rubriques' => '@nb@ rubriques',
389
+    'info_nb_visiteurs' => '@nb@ visiteurs',
390
+    'info_nom' => 'Nom',
391
+    'info_nom_destinataire' => 'Nom du destinataire',
392
+    'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés',
393
+    'info_nom_site' => 'Nom de ton site',
394
+    'info_nombre_articles' => '@nb_articles@ articles,',
395
+    'info_nombre_rubriques' => '@nb_rubriques@ rubriques,',
396
+    'info_nombre_sites' => '@nb_sites@ sites,',
397
+    'info_non_deplacer' => 'Ne pas déplacer...',
398
+    'info_non_envoi_annonce_dernieres_nouveautes' => 'SPIP peut envoyer, régulièrement, l’annonce des dernières nouveautés du site
399 399
 		(articles et brèves récemment publiés).',
400
-	'info_non_envoi_liste_nouveautes' => 'Ne pas envoyer la liste des nouveautés',
401
-	'info_non_modifiable' => 'ne peut pas être modifié',
402
-	'info_non_suppression_mot_cle' => 'je ne veux pas supprimer ce mot-clé.',
403
-	'info_notes' => 'Notes',
404
-	'info_nouvel_article' => 'Nouvel article',
405
-	'info_nouvelle_traduction' => 'Nouvelle traduction :',
406
-	'info_numero_article' => 'ARTICLE NUMÉRO :',
407
-	'info_obligatoire_02' => '(obligatoire)',
408
-	'info_option_accepter_visiteurs' => 'Accepter l’inscription de visiteurs du site public',
409
-	'info_option_ne_pas_accepter_visiteurs' => 'Refuser l’inscription des visiteurs',
410
-	'info_options_avancees' => 'OPTIONS AVANCÉES',
411
-	'info_ou' => 'ou...',
412
-	'info_page_interdite' => 'Page interdite',
413
-	'info_par_nom' => 'par nom',
414
-	'info_par_nombre_article' => '(par nombre d’articles)',
415
-	'info_par_statut' => 'par statut',
416
-	'info_par_tri' => '’(par @tri@)’',
417
-	'info_passe_trop_court' => 'Mot de passe trop court.',
418
-	'info_passe_trop_court_car_pluriel' => 'Le mot de passe doit contenir au moins @nb@ caractères.',
419
-	'info_passes_identiques' => 'Les deux mots de passe ne sont pas identiques.',
420
-	'info_plus_cinq_car' => 'plus de 5 caractères',
421
-	'info_plus_cinq_car_2' => '(Plus de 5 caractères)',
422
-	'info_plus_trois_car' => '(Plus de 3 caractères)',
423
-	'info_popularite' => 'popularité : @popularite@ ; visites : @visites@',
424
-	'info_post_scriptum' => 'Post-Scriptum',
425
-	'info_post_scriptum_2' => 'Post-scriptum :',
426
-	'info_pour' => 'pour',
427
-	'info_preview_texte' => 'Il est possible de prévisualiser le site comme si tous les articles et les brèves (ayant au moins le statut « proposé ») étaient publiés. Cette possibilité doit-elle être ouverte aux administrateurs seulement, à tous les rédacteurs, ou à personne ?',
428
-	'info_procedez_par_etape' => 'procéde étape par étape',
429
-	'info_procedure_maj_version' => 'la procédure de mise à jour doit être lancée afin d’adapter
400
+    'info_non_envoi_liste_nouveautes' => 'Ne pas envoyer la liste des nouveautés',
401
+    'info_non_modifiable' => 'ne peut pas être modifié',
402
+    'info_non_suppression_mot_cle' => 'je ne veux pas supprimer ce mot-clé.',
403
+    'info_notes' => 'Notes',
404
+    'info_nouvel_article' => 'Nouvel article',
405
+    'info_nouvelle_traduction' => 'Nouvelle traduction :',
406
+    'info_numero_article' => 'ARTICLE NUMÉRO :',
407
+    'info_obligatoire_02' => '(obligatoire)',
408
+    'info_option_accepter_visiteurs' => 'Accepter l’inscription de visiteurs du site public',
409
+    'info_option_ne_pas_accepter_visiteurs' => 'Refuser l’inscription des visiteurs',
410
+    'info_options_avancees' => 'OPTIONS AVANCÉES',
411
+    'info_ou' => 'ou...',
412
+    'info_page_interdite' => 'Page interdite',
413
+    'info_par_nom' => 'par nom',
414
+    'info_par_nombre_article' => '(par nombre d’articles)',
415
+    'info_par_statut' => 'par statut',
416
+    'info_par_tri' => '’(par @tri@)’',
417
+    'info_passe_trop_court' => 'Mot de passe trop court.',
418
+    'info_passe_trop_court_car_pluriel' => 'Le mot de passe doit contenir au moins @nb@ caractères.',
419
+    'info_passes_identiques' => 'Les deux mots de passe ne sont pas identiques.',
420
+    'info_plus_cinq_car' => 'plus de 5 caractères',
421
+    'info_plus_cinq_car_2' => '(Plus de 5 caractères)',
422
+    'info_plus_trois_car' => '(Plus de 3 caractères)',
423
+    'info_popularite' => 'popularité : @popularite@ ; visites : @visites@',
424
+    'info_post_scriptum' => 'Post-Scriptum',
425
+    'info_post_scriptum_2' => 'Post-scriptum :',
426
+    'info_pour' => 'pour',
427
+    'info_preview_texte' => 'Il est possible de prévisualiser le site comme si tous les articles et les brèves (ayant au moins le statut « proposé ») étaient publiés. Cette possibilité doit-elle être ouverte aux administrateurs seulement, à tous les rédacteurs, ou à personne ?',
428
+    'info_procedez_par_etape' => 'procéde étape par étape',
429
+    'info_procedure_maj_version' => 'la procédure de mise à jour doit être lancée afin d’adapter
430 430
 	la base de données à la nouvelle version de SPIP.',
431
-	'info_proxy_ok' => 'Test du proxy réussi.',
432
-	'info_ps' => 'P.-S.',
433
-	'info_publier' => 'publier',
434
-	'info_publies' => 'Tes articles publiés en ligne',
435
-	'info_question_accepter_visiteurs' => 'Si les squelettes de ton site prévoient l’enregistrement de visiteurs sans accès à l’espace privé, active l’option ci-dessous :',
436
-	'info_question_inscription_nouveaux_redacteurs' => 'Acceptes-tu les inscriptions de nouveaux rédacteurs à
431
+    'info_proxy_ok' => 'Test du proxy réussi.',
432
+    'info_ps' => 'P.-S.',
433
+    'info_publier' => 'publier',
434
+    'info_publies' => 'Tes articles publiés en ligne',
435
+    'info_question_accepter_visiteurs' => 'Si les squelettes de ton site prévoient l’enregistrement de visiteurs sans accès à l’espace privé, active l’option ci-dessous :',
436
+    'info_question_inscription_nouveaux_redacteurs' => 'Acceptes-tu les inscriptions de nouveaux rédacteurs à
437 437
   partir du site public ? Si tu acceptes, les visiteurs pourront s’inscrire
438 438
   depuis un formulaire automatisé et accéderont alors à l’espace privé pour
439 439
   proposer leurs propres articles. <div class="notice">Lors de la phase d’inscription,
@@ -442,403 +442,403 @@  discard block
 block discarded – undo
442 442
   hébergeurs désactivent l’envoi de mails depuis leurs
443 443
   serveurs : dans ce cas, l’inscription automatique est
444 444
   impossible.</div>',
445
-	'info_qui_edite' => '@nom_auteur_modif@ a travaillé sur ce contenu il y a @date_diff@ minutes',
446
-	'info_racine_site' => 'Racine du site',
447
-	'info_recharger_page' => 'Recharger cette page dans quelques instants.',
448
-	'info_recherche_auteur_zero' => 'Aucun résultat pour « @cherche_auteur@ ».',
449
-	'info_recommencer' => 'Recommence.',
450
-	'info_redacteur_1' => 'Rédacteur',
451
-	'info_redacteur_2' => 'ayant accès à l’espace privé (<i>recommandé</i>)',
452
-	'info_redacteurs' => 'Rédacteurs',
453
-	'info_redaction_en_cours' => 'EN COURS DE RÉDACTION',
454
-	'info_redirection' => 'Redirection',
455
-	'info_redirection_activee' => 'La redirection est activée.',
456
-	'info_redirection_boucle' => 'Tu essaies de rediriger l’article sur lui-même.',
457
-	'info_redirection_desactivee' => 'La redirection a été supprimée.',
458
-	'info_refuses' => 'Tes articles refusés',
459
-	'info_reglage_ldap' => 'Options : <b>Réglage de l’importation LDAP</b>',
460
-	'info_renvoi_article' => '<b>Redirection.</b> Cet article renvoie à la page :',
461
-	'info_reserve_admin' => 'Seuls les administrateurs peuvent modifier cette adresse.',
462
-	'info_restreindre_rubrique' => 'Restreindre la gestion à la rubrique :',
463
-	'info_resultat_recherche' => 'Résultats de la recherche :',
464
-	'info_rubriques' => 'Rubriques',
465
-	'info_rubriques_02' => 'rubriques',
466
-	'info_rubriques_trouvees' => 'Rubriques trouvées',
467
-	'info_sans_titre' => 'Sans titre',
468
-	'info_selection_chemin_acces' => '<b>Sélectionne</b> ci-après le chemin d’accès dans l’annuaire :',
469
-	'info_signatures' => 'signatures',
470
-	'info_site' => 'Site',
471
-	'info_site_2' => 'site :',
472
-	'info_site_min' => 'site',
473
-	'info_site_reference_2' => 'Site référencé',
474
-	'info_site_web' => 'Site Web :',
475
-	'info_sites' => 'sites',
476
-	'info_sites_lies_mot' => 'Les sites référencés liés à ce mot-clé',
477
-	'info_sites_proxy' => 'Utiliser un proxy',
478
-	'info_sites_trouves' => 'Sites trouvés',
479
-	'info_sous_titre' => 'Soustitre :',
480
-	'info_statut_administrateur' => 'Administrateur',
481
-	'info_statut_auteur' => 'Statut de cet auteur :',
482
-	'info_statut_auteur_2' => 'Je suis',
483
-	'info_statut_auteur_a_confirmer' => 'Inscription à confirmer',
484
-	'info_statut_auteur_autre' => 'Autre statut :',
485
-	'info_statut_redacteur' => 'Rédacteur',
486
-	'info_statut_utilisateurs_1' => 'Statut par défaut des utilisateurs importés',
487
-	'info_statut_utilisateurs_2' => 'Choisis le statut qui est attribué aux personnes présentes dans l’annuaire LDAP lorsqu’elles se connectent pour la première fois. Tu pourras par la suite modifier cette valeur pour chaque auteur au cas par cas.',
488
-	'info_suivi_activite' => 'Suivi de l’activité éditoriale',
489
-	'info_surtitre' => 'Surtitre :',
490
-	'info_syndication_integrale_1' => 'Ton site propose des fichiers de syndication (voir « <a href="@url@">@titre@</a> »).',
491
-	'info_syndication_integrale_2' => 'Souhaites-tu transmettre les articles dans leur intégralité, ou ne diffuser qu’un résumé de quelques centaines de caractères ?',
492
-	'info_table_prefix' => 'Tu peux modifier le préfixe du nom des tables de données (ceci est indispensable lorsque l’on souhaite installer plusieurs sites dans la même base de données). Ce préfixe s’écrit en lettres minuscules, non accentuées, et sans espace.',
493
-	'info_taille_maximale_images' => 'SPIP va tester la taille maximale des images qu’il peut traiter (en millions de pixels).<br /> Les images plus grandes ne seront pas réduites.',
494
-	'info_taille_maximale_vignette' => 'Taille maximale des vignettes générées par le système :',
495
-	'info_terminer_installation' => 'Tu peux maintenant terminer la procédure d’installation standard.',
496
-	'info_texte' => 'Texte',
497
-	'info_texte_explicatif' => 'Texte explicatif',
498
-	'info_texte_long' => '(le texte est long : il apparaît donc en plusieurs parties qui seront recollées après validation.)',
499
-	'info_texte_message' => 'Texte de ton message',
500
-	'info_texte_message_02' => 'Texte du message',
501
-	'info_titre' => 'Titre :',
502
-	'info_total' => 'total :',
503
-	'info_tous_articles_en_redaction' => 'Tous les articles en cours de rédaction',
504
-	'info_tous_articles_presents' => 'Tous les articles publiés dans cette rubrique',
505
-	'info_tous_articles_refuses' => 'Tous les articles refusés',
506
-	'info_tous_les' => 'tous les :',
507
-	'info_tout_site' => 'Tout le site',
508
-	'info_tout_site2' => 'L’article n’a pas été traduit dans cette langue.',
509
-	'info_tout_site3' => 'L’article a été traduit dans cette langue, mais des modifications ont été apportées par la suite à l’article de référence. La traduction doit être mise à jour.',
510
-	'info_tout_site4' => 'L’article a été traduit dans cette langue, et la traduction est à jour.',
511
-	'info_tout_site5' => 'Article original.',
512
-	'info_tout_site6' => '<b>Attention :</b> seuls les articles originaux sont affichés.
445
+    'info_qui_edite' => '@nom_auteur_modif@ a travaillé sur ce contenu il y a @date_diff@ minutes',
446
+    'info_racine_site' => 'Racine du site',
447
+    'info_recharger_page' => 'Recharger cette page dans quelques instants.',
448
+    'info_recherche_auteur_zero' => 'Aucun résultat pour « @cherche_auteur@ ».',
449
+    'info_recommencer' => 'Recommence.',
450
+    'info_redacteur_1' => 'Rédacteur',
451
+    'info_redacteur_2' => 'ayant accès à l’espace privé (<i>recommandé</i>)',
452
+    'info_redacteurs' => 'Rédacteurs',
453
+    'info_redaction_en_cours' => 'EN COURS DE RÉDACTION',
454
+    'info_redirection' => 'Redirection',
455
+    'info_redirection_activee' => 'La redirection est activée.',
456
+    'info_redirection_boucle' => 'Tu essaies de rediriger l’article sur lui-même.',
457
+    'info_redirection_desactivee' => 'La redirection a été supprimée.',
458
+    'info_refuses' => 'Tes articles refusés',
459
+    'info_reglage_ldap' => 'Options : <b>Réglage de l’importation LDAP</b>',
460
+    'info_renvoi_article' => '<b>Redirection.</b> Cet article renvoie à la page :',
461
+    'info_reserve_admin' => 'Seuls les administrateurs peuvent modifier cette adresse.',
462
+    'info_restreindre_rubrique' => 'Restreindre la gestion à la rubrique :',
463
+    'info_resultat_recherche' => 'Résultats de la recherche :',
464
+    'info_rubriques' => 'Rubriques',
465
+    'info_rubriques_02' => 'rubriques',
466
+    'info_rubriques_trouvees' => 'Rubriques trouvées',
467
+    'info_sans_titre' => 'Sans titre',
468
+    'info_selection_chemin_acces' => '<b>Sélectionne</b> ci-après le chemin d’accès dans l’annuaire :',
469
+    'info_signatures' => 'signatures',
470
+    'info_site' => 'Site',
471
+    'info_site_2' => 'site :',
472
+    'info_site_min' => 'site',
473
+    'info_site_reference_2' => 'Site référencé',
474
+    'info_site_web' => 'Site Web :',
475
+    'info_sites' => 'sites',
476
+    'info_sites_lies_mot' => 'Les sites référencés liés à ce mot-clé',
477
+    'info_sites_proxy' => 'Utiliser un proxy',
478
+    'info_sites_trouves' => 'Sites trouvés',
479
+    'info_sous_titre' => 'Soustitre :',
480
+    'info_statut_administrateur' => 'Administrateur',
481
+    'info_statut_auteur' => 'Statut de cet auteur :',
482
+    'info_statut_auteur_2' => 'Je suis',
483
+    'info_statut_auteur_a_confirmer' => 'Inscription à confirmer',
484
+    'info_statut_auteur_autre' => 'Autre statut :',
485
+    'info_statut_redacteur' => 'Rédacteur',
486
+    'info_statut_utilisateurs_1' => 'Statut par défaut des utilisateurs importés',
487
+    'info_statut_utilisateurs_2' => 'Choisis le statut qui est attribué aux personnes présentes dans l’annuaire LDAP lorsqu’elles se connectent pour la première fois. Tu pourras par la suite modifier cette valeur pour chaque auteur au cas par cas.',
488
+    'info_suivi_activite' => 'Suivi de l’activité éditoriale',
489
+    'info_surtitre' => 'Surtitre :',
490
+    'info_syndication_integrale_1' => 'Ton site propose des fichiers de syndication (voir « <a href="@url@">@titre@</a> »).',
491
+    'info_syndication_integrale_2' => 'Souhaites-tu transmettre les articles dans leur intégralité, ou ne diffuser qu’un résumé de quelques centaines de caractères ?',
492
+    'info_table_prefix' => 'Tu peux modifier le préfixe du nom des tables de données (ceci est indispensable lorsque l’on souhaite installer plusieurs sites dans la même base de données). Ce préfixe s’écrit en lettres minuscules, non accentuées, et sans espace.',
493
+    'info_taille_maximale_images' => 'SPIP va tester la taille maximale des images qu’il peut traiter (en millions de pixels).<br /> Les images plus grandes ne seront pas réduites.',
494
+    'info_taille_maximale_vignette' => 'Taille maximale des vignettes générées par le système :',
495
+    'info_terminer_installation' => 'Tu peux maintenant terminer la procédure d’installation standard.',
496
+    'info_texte' => 'Texte',
497
+    'info_texte_explicatif' => 'Texte explicatif',
498
+    'info_texte_long' => '(le texte est long : il apparaît donc en plusieurs parties qui seront recollées après validation.)',
499
+    'info_texte_message' => 'Texte de ton message',
500
+    'info_texte_message_02' => 'Texte du message',
501
+    'info_titre' => 'Titre :',
502
+    'info_total' => 'total :',
503
+    'info_tous_articles_en_redaction' => 'Tous les articles en cours de rédaction',
504
+    'info_tous_articles_presents' => 'Tous les articles publiés dans cette rubrique',
505
+    'info_tous_articles_refuses' => 'Tous les articles refusés',
506
+    'info_tous_les' => 'tous les :',
507
+    'info_tout_site' => 'Tout le site',
508
+    'info_tout_site2' => 'L’article n’a pas été traduit dans cette langue.',
509
+    'info_tout_site3' => 'L’article a été traduit dans cette langue, mais des modifications ont été apportées par la suite à l’article de référence. La traduction doit être mise à jour.',
510
+    'info_tout_site4' => 'L’article a été traduit dans cette langue, et la traduction est à jour.',
511
+    'info_tout_site5' => 'Article original.',
512
+    'info_tout_site6' => '<b>Attention :</b> seuls les articles originaux sont affichés.
513 513
 Les traductions sont associées à l’original,
514 514
 dans une couleur qui indique leur état :',
515
-	'info_traductions' => 'Traductions',
516
-	'info_travail_colaboratif' => 'Travail collaboratif sur les articles',
517
-	'info_un_article' => 'un article,',
518
-	'info_un_site' => 'un site,',
519
-	'info_une_rubrique' => 'une rubrique,',
520
-	'info_une_rubrique_02' => '1 rubrique',
521
-	'info_url' => 'URL :',
522
-	'info_url_proxy' => 'URL du proxy',
523
-	'info_url_proxy_pas_conforme' => 'l’URL du proxy n’est pas valide.',
524
-	'info_url_site_pas_conforme' => 'l’URL du site n’est pas valide.',
525
-	'info_url_test_proxy' => 'URL de test',
526
-	'info_urlref' => 'Lien hypertexte :',
527
-	'info_utilisation_spip' => 'Tu peux maintenant commencer à utiliser le système de publication assistée...',
528
-	'info_visites_par_mois' => 'Affichage par mois :',
529
-	'info_visiteur_1' => 'Visiteur',
530
-	'info_visiteur_2' => 'du site public',
531
-	'info_visiteurs' => 'Visiteurs',
532
-	'info_visiteurs_02' => 'Visiteurs du site public',
533
-	'info_webmestre_forces' => 'Les webmestres sont actuellement définis dans <tt>@file_options@</tt>.',
534
-	'install_adresse_base_hebergeur' => 'Adresse de la base de données attribuée par l’hébergeur',
535
-	'install_connect_ok' => 'La nouvelle base a bien été déclarée sous le nom de serveur @connect@.',
536
-	'install_echec_annonce' => 'L’installation va probablement échouer, ou aboutir à un site non fonctionnel...',
537
-	'install_extension_mbstring' => 'SPIP ne fonctionne pas avec :',
538
-	'install_extension_php_obligatoire' => 'SPIP exige l’extension php :',
539
-	'install_login_base_hebergeur' => 'Login de connexion attribué par l’hébergeur',
540
-	'install_nom_base_hebergeur' => 'Nom de la base attribué par l’hébergeur :',
541
-	'install_pas_table' => 'Base actuellement sans tables',
542
-	'install_pass_base_hebergeur' => 'Mot de passe de connexion attribué par l’hébergeur',
543
-	'install_php_version' => 'PHP version @version@ insuffisant (minimum = @minimum@)',
544
-	'install_select_langue' => 'Sélectionne une langue puis clique sur le bouton « suivant » pour lancer la procédure d’installation.',
545
-	'install_select_type_db' => 'Indiquer le type de base de données :',
546
-	'install_select_type_mysql' => 'MySQL',
547
-	'install_select_type_pg' => 'PostgreSQL',
548
-	'install_select_type_sqlite2' => 'SQLite 2',
549
-	'install_select_type_sqlite3' => 'SQLite 3',
550
-	'install_serveur_hebergeur' => 'Serveur de base de données attribué par l’hébergeur',
551
-	'install_table_prefix_hebergeur' => 'Préfixe de table attribué par l’hébergeur :',
552
-	'install_tables_base' => 'Tables de la base',
553
-	'install_types_db_connus' => 'SPIP sait utiliser <b>MySQL</b> (le plus répandu) et <b>SQLite</b>.',
554
-	'install_types_db_connus_avertissement' => 'Le support de <b>PostgreSQL</b> est également proposé à titre experimental',
555
-	'instituer_erreur_statut_a_change' => 'Le statut a déjà été modifié',
556
-	'instituer_erreur_statut_non_autorise' => 'Tu ne peux pas choisir ce statut',
557
-	'intem_redacteur' => 'rédacteur',
558
-	'intitule_licence' => 'Licence',
559
-	'item_accepter_inscriptions' => 'Accepter les inscriptions',
560
-	'item_activer_messages_avertissement' => 'Activer les messages d’avertissement',
561
-	'item_administrateur_2' => 'administrateur',
562
-	'item_afficher_calendrier' => 'Afficher dans le calendrier',
563
-	'item_autoriser_syndication_integrale' => 'Diffuser l’intégralité des articles dans les fichiers de syndication',
564
-	'item_choix_administrateurs' => 'les administrateurs',
565
-	'item_choix_generation_miniature' => 'Générer automatiquement les miniatures des images.',
566
-	'item_choix_non_generation_miniature' => 'Ne pas générer de miniatures des images.',
567
-	'item_choix_redacteurs' => 'les rédacteurs',
568
-	'item_choix_visiteurs' => 'les visiteurs du site public',
569
-	'item_creer_fichiers_authent' => 'Créer les fichiers .htpasswd',
570
-	'item_login' => 'Login',
571
-	'item_messagerie_agenda' => 'Activer la messagerie et l’agenda',
572
-	'item_mots_cles_association_articles' => 'aux articles',
573
-	'item_mots_cles_association_rubriques' => 'aux rubriques',
574
-	'item_mots_cles_association_sites' => 'aux sites référencés ou syndiqués.',
575
-	'item_non' => 'Non',
576
-	'item_non_accepter_inscriptions' => 'Ne pas accepter les inscriptions',
577
-	'item_non_activer_messages_avertissement' => 'Pas de messages d’avertissement',
578
-	'item_non_afficher_calendrier' => 'Ne pas afficher dans le calendrier',
579
-	'item_non_autoriser_syndication_integrale' => 'Ne diffuser qu’un résumé',
580
-	'item_non_creer_fichiers_authent' => 'Ne pas créer ces fichiers',
581
-	'item_non_messagerie_agenda' => 'Désactiver la messagerie et l’agenda',
582
-	'item_non_publier_articles' => 'Ne pas publier les articles avant la date de publication fixée.',
583
-	'item_nouvel_auteur' => 'Nouvel auteur',
584
-	'item_nouvelle_rubrique' => 'Nouvelle rubrique',
585
-	'item_oui' => 'Oui',
586
-	'item_publier_articles' => 'Publier les articles, quelle que soit leur date de publication.',
587
-	'item_reponse_article' => 'Réponse à l’article',
588
-	'item_visiteur' => 'visiteur',
515
+    'info_traductions' => 'Traductions',
516
+    'info_travail_colaboratif' => 'Travail collaboratif sur les articles',
517
+    'info_un_article' => 'un article,',
518
+    'info_un_site' => 'un site,',
519
+    'info_une_rubrique' => 'une rubrique,',
520
+    'info_une_rubrique_02' => '1 rubrique',
521
+    'info_url' => 'URL :',
522
+    'info_url_proxy' => 'URL du proxy',
523
+    'info_url_proxy_pas_conforme' => 'l’URL du proxy n’est pas valide.',
524
+    'info_url_site_pas_conforme' => 'l’URL du site n’est pas valide.',
525
+    'info_url_test_proxy' => 'URL de test',
526
+    'info_urlref' => 'Lien hypertexte :',
527
+    'info_utilisation_spip' => 'Tu peux maintenant commencer à utiliser le système de publication assistée...',
528
+    'info_visites_par_mois' => 'Affichage par mois :',
529
+    'info_visiteur_1' => 'Visiteur',
530
+    'info_visiteur_2' => 'du site public',
531
+    'info_visiteurs' => 'Visiteurs',
532
+    'info_visiteurs_02' => 'Visiteurs du site public',
533
+    'info_webmestre_forces' => 'Les webmestres sont actuellement définis dans <tt>@file_options@</tt>.',
534
+    'install_adresse_base_hebergeur' => 'Adresse de la base de données attribuée par l’hébergeur',
535
+    'install_connect_ok' => 'La nouvelle base a bien été déclarée sous le nom de serveur @connect@.',
536
+    'install_echec_annonce' => 'L’installation va probablement échouer, ou aboutir à un site non fonctionnel...',
537
+    'install_extension_mbstring' => 'SPIP ne fonctionne pas avec :',
538
+    'install_extension_php_obligatoire' => 'SPIP exige l’extension php :',
539
+    'install_login_base_hebergeur' => 'Login de connexion attribué par l’hébergeur',
540
+    'install_nom_base_hebergeur' => 'Nom de la base attribué par l’hébergeur :',
541
+    'install_pas_table' => 'Base actuellement sans tables',
542
+    'install_pass_base_hebergeur' => 'Mot de passe de connexion attribué par l’hébergeur',
543
+    'install_php_version' => 'PHP version @version@ insuffisant (minimum = @minimum@)',
544
+    'install_select_langue' => 'Sélectionne une langue puis clique sur le bouton « suivant » pour lancer la procédure d’installation.',
545
+    'install_select_type_db' => 'Indiquer le type de base de données :',
546
+    'install_select_type_mysql' => 'MySQL',
547
+    'install_select_type_pg' => 'PostgreSQL',
548
+    'install_select_type_sqlite2' => 'SQLite 2',
549
+    'install_select_type_sqlite3' => 'SQLite 3',
550
+    'install_serveur_hebergeur' => 'Serveur de base de données attribué par l’hébergeur',
551
+    'install_table_prefix_hebergeur' => 'Préfixe de table attribué par l’hébergeur :',
552
+    'install_tables_base' => 'Tables de la base',
553
+    'install_types_db_connus' => 'SPIP sait utiliser <b>MySQL</b> (le plus répandu) et <b>SQLite</b>.',
554
+    'install_types_db_connus_avertissement' => 'Le support de <b>PostgreSQL</b> est également proposé à titre experimental',
555
+    'instituer_erreur_statut_a_change' => 'Le statut a déjà été modifié',
556
+    'instituer_erreur_statut_non_autorise' => 'Tu ne peux pas choisir ce statut',
557
+    'intem_redacteur' => 'rédacteur',
558
+    'intitule_licence' => 'Licence',
559
+    'item_accepter_inscriptions' => 'Accepter les inscriptions',
560
+    'item_activer_messages_avertissement' => 'Activer les messages d’avertissement',
561
+    'item_administrateur_2' => 'administrateur',
562
+    'item_afficher_calendrier' => 'Afficher dans le calendrier',
563
+    'item_autoriser_syndication_integrale' => 'Diffuser l’intégralité des articles dans les fichiers de syndication',
564
+    'item_choix_administrateurs' => 'les administrateurs',
565
+    'item_choix_generation_miniature' => 'Générer automatiquement les miniatures des images.',
566
+    'item_choix_non_generation_miniature' => 'Ne pas générer de miniatures des images.',
567
+    'item_choix_redacteurs' => 'les rédacteurs',
568
+    'item_choix_visiteurs' => 'les visiteurs du site public',
569
+    'item_creer_fichiers_authent' => 'Créer les fichiers .htpasswd',
570
+    'item_login' => 'Login',
571
+    'item_messagerie_agenda' => 'Activer la messagerie et l’agenda',
572
+    'item_mots_cles_association_articles' => 'aux articles',
573
+    'item_mots_cles_association_rubriques' => 'aux rubriques',
574
+    'item_mots_cles_association_sites' => 'aux sites référencés ou syndiqués.',
575
+    'item_non' => 'Non',
576
+    'item_non_accepter_inscriptions' => 'Ne pas accepter les inscriptions',
577
+    'item_non_activer_messages_avertissement' => 'Pas de messages d’avertissement',
578
+    'item_non_afficher_calendrier' => 'Ne pas afficher dans le calendrier',
579
+    'item_non_autoriser_syndication_integrale' => 'Ne diffuser qu’un résumé',
580
+    'item_non_creer_fichiers_authent' => 'Ne pas créer ces fichiers',
581
+    'item_non_messagerie_agenda' => 'Désactiver la messagerie et l’agenda',
582
+    'item_non_publier_articles' => 'Ne pas publier les articles avant la date de publication fixée.',
583
+    'item_nouvel_auteur' => 'Nouvel auteur',
584
+    'item_nouvelle_rubrique' => 'Nouvelle rubrique',
585
+    'item_oui' => 'Oui',
586
+    'item_publier_articles' => 'Publier les articles, quelle que soit leur date de publication.',
587
+    'item_reponse_article' => 'Réponse à l’article',
588
+    'item_visiteur' => 'visiteur',
589 589
 
590
-	// J
591
-	'jour_non_connu_nc' => 'n.c.',
590
+    // J
591
+    'jour_non_connu_nc' => 'n.c.',
592 592
 
593
-	// L
594
-	'label_bando_outils' => 'Barre d’outils',
595
-	'label_bando_outils_afficher' => 'Afficher les outils',
596
-	'label_bando_outils_masquer' => 'Masquer les outils',
597
-	'label_choix_langue' => 'Choisis ta langue',
598
-	'label_nom_fichier_connect' => 'Indiques le nom utilisé pour ce serveur',
599
-	'label_slogan_site' => 'Slogan du site',
600
-	'label_taille_ecran' => 'Largeur de l’écran',
601
-	'label_texte_et_icones_navigation' => 'Menu de navigation',
602
-	'label_texte_et_icones_page' => 'Affichage dans la page',
603
-	'ldap_correspondance' => 'héritage du champ @champ@',
604
-	'ldap_correspondance_1' => 'Héritage des champs LDAP',
605
-	'ldap_correspondance_2' => 'Pour chacun des champs SPIP suivants, indiquer le nom du champ LDAP correspondant. Laisser vide pour ne pas le remplir, séparer par des espaces ou des virgules pour essayer plusieurs champs LDAP.',
606
-	'lien_ajouter_auteur' => 'Ajouter cet auteur',
607
-	'lien_ajouter_une_rubrique' => 'Ajouter cette rubrique',
608
-	'lien_email' => 'email',
609
-	'lien_nom_site' => 'NOM DU SITE :',
610
-	'lien_rapide_contenu' => 'Aller au contenu',
611
-	'lien_rapide_navigation' => 'Aller à la navigation',
612
-	'lien_rapide_recherche' => 'Aller à la recherche',
613
-	'lien_retirer_auteur' => 'Retirer l’auteur',
614
-	'lien_retirer_rubrique' => 'Retirer la rubrique',
615
-	'lien_retirer_tous_auteurs' => 'Retirer tous les auteurs',
616
-	'lien_retirer_toutes_rubriques' => 'Retirer toutes les rubriques',
617
-	'lien_site' => 'site',
618
-	'lien_tout_decocher' => 'Tout décocher',
619
-	'lien_tout_deplier' => 'Tout déplier',
620
-	'lien_tout_replier' => 'Tout replier',
621
-	'lien_tout_supprimer' => 'Tout supprimer',
622
-	'lien_trier_nom' => 'Trier par nom',
623
-	'lien_trier_nombre_articles' => 'Trier par nombre d’articles',
624
-	'lien_trier_statut' => 'Trier par statut',
625
-	'lien_voir_en_ligne' => 'VOIR EN LIGNE :',
626
-	'logo_article' => 'Logo de l’article',
627
-	'logo_auteur' => 'Logo de l’auteur',
628
-	'logo_rubrique' => 'Logo de la rubrique',
629
-	'logo_site' => 'Logo de ce site',
630
-	'logo_standard_rubrique' => 'Logo standard des rubriques',
631
-	'logo_survol' => 'Logo pour survol',
593
+    // L
594
+    'label_bando_outils' => 'Barre d’outils',
595
+    'label_bando_outils_afficher' => 'Afficher les outils',
596
+    'label_bando_outils_masquer' => 'Masquer les outils',
597
+    'label_choix_langue' => 'Choisis ta langue',
598
+    'label_nom_fichier_connect' => 'Indiques le nom utilisé pour ce serveur',
599
+    'label_slogan_site' => 'Slogan du site',
600
+    'label_taille_ecran' => 'Largeur de l’écran',
601
+    'label_texte_et_icones_navigation' => 'Menu de navigation',
602
+    'label_texte_et_icones_page' => 'Affichage dans la page',
603
+    'ldap_correspondance' => 'héritage du champ @champ@',
604
+    'ldap_correspondance_1' => 'Héritage des champs LDAP',
605
+    'ldap_correspondance_2' => 'Pour chacun des champs SPIP suivants, indiquer le nom du champ LDAP correspondant. Laisser vide pour ne pas le remplir, séparer par des espaces ou des virgules pour essayer plusieurs champs LDAP.',
606
+    'lien_ajouter_auteur' => 'Ajouter cet auteur',
607
+    'lien_ajouter_une_rubrique' => 'Ajouter cette rubrique',
608
+    'lien_email' => 'email',
609
+    'lien_nom_site' => 'NOM DU SITE :',
610
+    'lien_rapide_contenu' => 'Aller au contenu',
611
+    'lien_rapide_navigation' => 'Aller à la navigation',
612
+    'lien_rapide_recherche' => 'Aller à la recherche',
613
+    'lien_retirer_auteur' => 'Retirer l’auteur',
614
+    'lien_retirer_rubrique' => 'Retirer la rubrique',
615
+    'lien_retirer_tous_auteurs' => 'Retirer tous les auteurs',
616
+    'lien_retirer_toutes_rubriques' => 'Retirer toutes les rubriques',
617
+    'lien_site' => 'site',
618
+    'lien_tout_decocher' => 'Tout décocher',
619
+    'lien_tout_deplier' => 'Tout déplier',
620
+    'lien_tout_replier' => 'Tout replier',
621
+    'lien_tout_supprimer' => 'Tout supprimer',
622
+    'lien_trier_nom' => 'Trier par nom',
623
+    'lien_trier_nombre_articles' => 'Trier par nombre d’articles',
624
+    'lien_trier_statut' => 'Trier par statut',
625
+    'lien_voir_en_ligne' => 'VOIR EN LIGNE :',
626
+    'logo_article' => 'Logo de l’article',
627
+    'logo_auteur' => 'Logo de l’auteur',
628
+    'logo_rubrique' => 'Logo de la rubrique',
629
+    'logo_site' => 'Logo de ce site',
630
+    'logo_standard_rubrique' => 'Logo standard des rubriques',
631
+    'logo_survol' => 'Logo pour survol',
632 632
 
633
-	// M
634
-	'menu_aide_installation_choix_base' => 'Choix de ta base',
635
-	'module_fichier_langue' => 'Fichier de langue',
636
-	'module_raccourci' => 'Raccourci',
637
-	'module_texte_affiche' => 'Texte affiché',
638
-	'module_texte_explicatif' => 'Tu peux insérer les raccourcis suivants dans les squelettes de ton site public. Ils seront automatiquement traduits dans les différentes langues pour lesquelles il existe un fichier de langue.',
639
-	'module_texte_traduction' => 'Le fichier de langue « @module@ » est disponible en :',
640
-	'mois_non_connu' => 'non connu',
633
+    // M
634
+    'menu_aide_installation_choix_base' => 'Choix de ta base',
635
+    'module_fichier_langue' => 'Fichier de langue',
636
+    'module_raccourci' => 'Raccourci',
637
+    'module_texte_affiche' => 'Texte affiché',
638
+    'module_texte_explicatif' => 'Tu peux insérer les raccourcis suivants dans les squelettes de ton site public. Ils seront automatiquement traduits dans les différentes langues pour lesquelles il existe un fichier de langue.',
639
+    'module_texte_traduction' => 'Le fichier de langue « @module@ » est disponible en :',
640
+    'mois_non_connu' => 'non connu',
641 641
 
642
-	// N
643
-	'nouvelle_version_spip' => 'La mise à jour @version@ de SPIP est disponible',
644
-	'nouvelle_version_spip_majeure' => 'Une nouvelle version SPIP @version@ est disponible',
642
+    // N
643
+    'nouvelle_version_spip' => 'La mise à jour @version@ de SPIP est disponible',
644
+    'nouvelle_version_spip_majeure' => 'Une nouvelle version SPIP @version@ est disponible',
645 645
 
646
-	// O
647
-	'onglet_contenu' => 'Contenu',
648
-	'onglet_declarer_une_autre_base' => 'Déclarer une autre base',
649
-	'onglet_discuter' => 'Discuter',
650
-	'onglet_interactivite' => 'Interactivité',
651
-	'onglet_proprietes' => 'Propriétés',
652
-	'onglet_repartition_actuelle' => 'actuellement',
653
-	'onglet_sous_rubriques' => 'Sous-rubriques',
646
+    // O
647
+    'onglet_contenu' => 'Contenu',
648
+    'onglet_declarer_une_autre_base' => 'Déclarer une autre base',
649
+    'onglet_discuter' => 'Discuter',
650
+    'onglet_interactivite' => 'Interactivité',
651
+    'onglet_proprietes' => 'Propriétés',
652
+    'onglet_repartition_actuelle' => 'actuellement',
653
+    'onglet_sous_rubriques' => 'Sous-rubriques',
654 654
 
655
-	// P
656
-	'page_pas_proxy' => 'Cette page ne doit pas passer par le proxy',
657
-	'pas_de_proxy_pour' => 'Au besoin, indique les machines ou domaines pour lesquels ce proxy ne doit pas s’appliquer (par exemple : @exemple@)',
658
-	'phpinfo' => 'Configuration PHP',
659
-	'plugin_charge_paquet' => 'Chargement du paquet @name@',
660
-	'plugin_charger' => 'Télécharger',
661
-	'plugin_erreur_charger' => 'erreur : impossible de charger @zip@',
662
-	'plugin_erreur_droit1' => 'Le répertoire <code>@dest@</code> n’est pas accessible en écriture.',
663
-	'plugin_erreur_droit2' => 'Ça serait bien que tu vérifies les droits sur ce répertoire (et le crées le cas échéant), ou alors installe les fichiers par FTP.',
664
-	'plugin_erreur_zip' => 'échec pclzip : erreur @status@',
665
-	'plugin_etat_developpement' => 'en développement',
666
-	'plugin_etat_experimental' => 'expérimental',
667
-	'plugin_etat_stable' => 'stable',
668
-	'plugin_etat_test' => 'en test',
669
-	'plugin_impossible_activer' => 'Impossible d’activer le plugin @plugin@',
670
-	'plugin_info_automatique1' => 'Si tu souhaites autoriser l’installation automatique des plugins, il faut :',
671
-	'plugin_info_automatique1_lib' => 'Si tu souhaites autoriser l’installation automatique de cette librairie, alors :',
672
-	'plugin_info_automatique2' => 'créer un répertoire <code>@rep@</code> ;',
673
-	'plugin_info_automatique3' => 'vérifier que le serveur est autorisé à écrire dans ce répertoire.',
674
-	'plugin_info_automatique_creer' => 'à créer à la racine du site.',
675
-	'plugin_info_automatique_exemples' => 'exemples :',
676
-	'plugin_info_automatique_ftp' => 'Tu peux installer des plugins, par FTP, dans le répertoire <tt>@rep@</tt>',
677
-	'plugin_info_automatique_lib' => 'Certains plugins demandent aussi à pouvoir télécharger des fichiers dans le répertoire <code>lib/</code>, à créer le cas échéant à la racine du site.',
678
-	'plugin_info_automatique_liste' => 'Tes listes de plugins :',
679
-	'plugin_info_automatique_liste_officielle' => 'les plugins officiels',
680
-	'plugin_info_automatique_liste_update' => 'Mettre à jour les listes',
681
-	'plugin_info_automatique_ou' => 'ou...',
682
-	'plugin_info_automatique_select' => 'Sélectionne ci-dessous un plugin : SPIP le téléchargera et l’installera dans le répertoire <code>@rep@</code> ; si ce plugin existe déjà, il sera mis à jour.',
683
-	'plugin_info_credit' => 'Crédits',
684
-	'plugin_info_erreur_xml' => 'La déclaration de ce plugin est incorrecte',
685
-	'plugin_info_install_ok' => 'Installation réussie',
686
-	'plugin_info_necessite' => 'Nécessite :',
687
-	'plugin_info_non_compatible_spip' => 'Ce plugin n’est pas compatible avec cette version de SPIP',
688
-	'plugin_info_plugins_dist_1' => 'Les plugins ci-dessous sont chargés et activés dans le répertoire @plugins_dist@.',
689
-	'plugin_info_plugins_dist_2' => 'Ils ne sont pas désactivables.',
690
-	'plugin_info_telecharger' => 'à télécharger depuis @url@ et à installer dans @rep@',
691
-	'plugin_info_upgrade_ok' => 'Mise à jour réussie',
692
-	'plugin_librairies_installees' => 'Librairies installées',
693
-	'plugin_necessite_extension_php' => 'Nécessite l’extension PHP @plugin@ en version @version@.',
694
-	'plugin_necessite_extension_php_sans_version' => 'Nécessite l’extension PHP @plugin@',
695
-	'plugin_necessite_lib' => 'Ce plugin nécessite la librairie @lib@',
696
-	'plugin_necessite_php' => 'Nécessite @plugin@ en version @version@.',
697
-	'plugin_necessite_plugin' => 'Nécessite le plugin @plugin@ en version @version@.',
698
-	'plugin_necessite_plugin_sans_version' => 'Nécessite le plugin @plugin@',
699
-	'plugin_necessite_spip' => 'Nécessite SPIP en version @version@ minimum.',
700
-	'plugin_source' => 'source : ',
701
-	'plugin_titre_automatique' => 'Installation automatique',
702
-	'plugin_titre_automatique_ajouter' => 'Ajouter des plugins',
703
-	'plugin_titre_installation' => 'Installation du plugin @plugin@',
704
-	'plugin_titre_modifier' => 'Mes plugins',
705
-	'plugin_utilise_extension_php' => 'L’extension PHP @plugin@ doit être en version @version@.',
706
-	'plugin_utilise_php' => '@plugin@ doit être en version @version@.',
707
-	'plugin_utilise_plugin' => 'Le plugin @plugin@ doit être en version @version@.',
708
-	'plugin_zip_active' => 'Continuez pour l’activer',
709
-	'plugin_zip_adresse' => 'indique ci-dessous l’adresse d’un fichier zip de plugin à télécharger, ou encore l’adresse d’une liste de plugins.',
710
-	'plugin_zip_adresse_champ' => 'Adresse du plugin ou de la liste ',
711
-	'plugin_zip_content' => 'Il contient les fichiers suivants (@taille@),<br />prêts à installer dans le répertoire <code>@rep@</code>',
712
-	'plugin_zip_installe_finie' => 'Le fichier @zip@ a été décompacté et installé.',
713
-	'plugin_zip_installe_rep_finie' => 'Le fichier @zip@ a été décompacté et installé dans le répertoire @rep@',
714
-	'plugin_zip_installer' => 'Tu peux maintenant l’installer.',
715
-	'plugin_zip_telecharge' => 'Le fichier @zip@ a été téléchargé',
716
-	'plugins_actif_aucun' => 'Aucun plugin activé.',
717
-	'plugins_actif_un' => 'Un plugin activé.',
718
-	'plugins_actifs' => '@count@ plugins activés.',
719
-	'plugins_actifs_liste' => 'Actifs',
720
-	'plugins_compte' => '@count@ plugins',
721
-	'plugins_disponible_un' => 'Un plugin disponible.',
722
-	'plugins_disponibles' => '@count@ plugins disponibles.',
723
-	'plugins_erreur' => 'Erreur dans les plugins : @plugins@',
724
-	'plugins_liste' => 'Liste des plugins',
725
-	'plugins_liste_dist' => 'Plugins verrouillés',
726
-	'plugins_recents' => 'Plugins récents.',
727
-	'plugins_tous_liste' => 'Tous',
728
-	'plugins_vue_hierarchie' => 'Hiérarchie',
729
-	'plugins_vue_liste' => 'Liste',
730
-	'protocole_ldap' => 'Version du protocole :',
655
+    // P
656
+    'page_pas_proxy' => 'Cette page ne doit pas passer par le proxy',
657
+    'pas_de_proxy_pour' => 'Au besoin, indique les machines ou domaines pour lesquels ce proxy ne doit pas s’appliquer (par exemple : @exemple@)',
658
+    'phpinfo' => 'Configuration PHP',
659
+    'plugin_charge_paquet' => 'Chargement du paquet @name@',
660
+    'plugin_charger' => 'Télécharger',
661
+    'plugin_erreur_charger' => 'erreur : impossible de charger @zip@',
662
+    'plugin_erreur_droit1' => 'Le répertoire <code>@dest@</code> n’est pas accessible en écriture.',
663
+    'plugin_erreur_droit2' => 'Ça serait bien que tu vérifies les droits sur ce répertoire (et le crées le cas échéant), ou alors installe les fichiers par FTP.',
664
+    'plugin_erreur_zip' => 'échec pclzip : erreur @status@',
665
+    'plugin_etat_developpement' => 'en développement',
666
+    'plugin_etat_experimental' => 'expérimental',
667
+    'plugin_etat_stable' => 'stable',
668
+    'plugin_etat_test' => 'en test',
669
+    'plugin_impossible_activer' => 'Impossible d’activer le plugin @plugin@',
670
+    'plugin_info_automatique1' => 'Si tu souhaites autoriser l’installation automatique des plugins, il faut :',
671
+    'plugin_info_automatique1_lib' => 'Si tu souhaites autoriser l’installation automatique de cette librairie, alors :',
672
+    'plugin_info_automatique2' => 'créer un répertoire <code>@rep@</code> ;',
673
+    'plugin_info_automatique3' => 'vérifier que le serveur est autorisé à écrire dans ce répertoire.',
674
+    'plugin_info_automatique_creer' => 'à créer à la racine du site.',
675
+    'plugin_info_automatique_exemples' => 'exemples :',
676
+    'plugin_info_automatique_ftp' => 'Tu peux installer des plugins, par FTP, dans le répertoire <tt>@rep@</tt>',
677
+    'plugin_info_automatique_lib' => 'Certains plugins demandent aussi à pouvoir télécharger des fichiers dans le répertoire <code>lib/</code>, à créer le cas échéant à la racine du site.',
678
+    'plugin_info_automatique_liste' => 'Tes listes de plugins :',
679
+    'plugin_info_automatique_liste_officielle' => 'les plugins officiels',
680
+    'plugin_info_automatique_liste_update' => 'Mettre à jour les listes',
681
+    'plugin_info_automatique_ou' => 'ou...',
682
+    'plugin_info_automatique_select' => 'Sélectionne ci-dessous un plugin : SPIP le téléchargera et l’installera dans le répertoire <code>@rep@</code> ; si ce plugin existe déjà, il sera mis à jour.',
683
+    'plugin_info_credit' => 'Crédits',
684
+    'plugin_info_erreur_xml' => 'La déclaration de ce plugin est incorrecte',
685
+    'plugin_info_install_ok' => 'Installation réussie',
686
+    'plugin_info_necessite' => 'Nécessite :',
687
+    'plugin_info_non_compatible_spip' => 'Ce plugin n’est pas compatible avec cette version de SPIP',
688
+    'plugin_info_plugins_dist_1' => 'Les plugins ci-dessous sont chargés et activés dans le répertoire @plugins_dist@.',
689
+    'plugin_info_plugins_dist_2' => 'Ils ne sont pas désactivables.',
690
+    'plugin_info_telecharger' => 'à télécharger depuis @url@ et à installer dans @rep@',
691
+    'plugin_info_upgrade_ok' => 'Mise à jour réussie',
692
+    'plugin_librairies_installees' => 'Librairies installées',
693
+    'plugin_necessite_extension_php' => 'Nécessite l’extension PHP @plugin@ en version @version@.',
694
+    'plugin_necessite_extension_php_sans_version' => 'Nécessite l’extension PHP @plugin@',
695
+    'plugin_necessite_lib' => 'Ce plugin nécessite la librairie @lib@',
696
+    'plugin_necessite_php' => 'Nécessite @plugin@ en version @version@.',
697
+    'plugin_necessite_plugin' => 'Nécessite le plugin @plugin@ en version @version@.',
698
+    'plugin_necessite_plugin_sans_version' => 'Nécessite le plugin @plugin@',
699
+    'plugin_necessite_spip' => 'Nécessite SPIP en version @version@ minimum.',
700
+    'plugin_source' => 'source : ',
701
+    'plugin_titre_automatique' => 'Installation automatique',
702
+    'plugin_titre_automatique_ajouter' => 'Ajouter des plugins',
703
+    'plugin_titre_installation' => 'Installation du plugin @plugin@',
704
+    'plugin_titre_modifier' => 'Mes plugins',
705
+    'plugin_utilise_extension_php' => 'L’extension PHP @plugin@ doit être en version @version@.',
706
+    'plugin_utilise_php' => '@plugin@ doit être en version @version@.',
707
+    'plugin_utilise_plugin' => 'Le plugin @plugin@ doit être en version @version@.',
708
+    'plugin_zip_active' => 'Continuez pour l’activer',
709
+    'plugin_zip_adresse' => 'indique ci-dessous l’adresse d’un fichier zip de plugin à télécharger, ou encore l’adresse d’une liste de plugins.',
710
+    'plugin_zip_adresse_champ' => 'Adresse du plugin ou de la liste ',
711
+    'plugin_zip_content' => 'Il contient les fichiers suivants (@taille@),<br />prêts à installer dans le répertoire <code>@rep@</code>',
712
+    'plugin_zip_installe_finie' => 'Le fichier @zip@ a été décompacté et installé.',
713
+    'plugin_zip_installe_rep_finie' => 'Le fichier @zip@ a été décompacté et installé dans le répertoire @rep@',
714
+    'plugin_zip_installer' => 'Tu peux maintenant l’installer.',
715
+    'plugin_zip_telecharge' => 'Le fichier @zip@ a été téléchargé',
716
+    'plugins_actif_aucun' => 'Aucun plugin activé.',
717
+    'plugins_actif_un' => 'Un plugin activé.',
718
+    'plugins_actifs' => '@count@ plugins activés.',
719
+    'plugins_actifs_liste' => 'Actifs',
720
+    'plugins_compte' => '@count@ plugins',
721
+    'plugins_disponible_un' => 'Un plugin disponible.',
722
+    'plugins_disponibles' => '@count@ plugins disponibles.',
723
+    'plugins_erreur' => 'Erreur dans les plugins : @plugins@',
724
+    'plugins_liste' => 'Liste des plugins',
725
+    'plugins_liste_dist' => 'Plugins verrouillés',
726
+    'plugins_recents' => 'Plugins récents.',
727
+    'plugins_tous_liste' => 'Tous',
728
+    'plugins_vue_hierarchie' => 'Hiérarchie',
729
+    'plugins_vue_liste' => 'Liste',
730
+    'protocole_ldap' => 'Version du protocole :',
731 731
 
732
-	// Q
733
-	'queue_executer_maintenant' => 'Exécuter maintenant',
734
-	'queue_info_purger' => 'Tu peux supprimer toutes les tâches de fond en attente et réinitialiser la liste avec les tâches périodiques',
735
-	'queue_nb_jobs_in_queue' => '@nb@ tâches en attente',
736
-	'queue_next_job_in_nb_sec' => 'Prochaine tâche dans @nb@ s',
737
-	'queue_no_job_in_queue' => 'Aucune tâche en attente',
738
-	'queue_one_job_in_queue' => '1 tâche en attente',
739
-	'queue_priorite_tache' => 'priorité',
740
-	'queue_purger_queue' => 'Réinitialiser la liste des tâches',
741
-	'queue_titre' => 'Tâches de fond',
732
+    // Q
733
+    'queue_executer_maintenant' => 'Exécuter maintenant',
734
+    'queue_info_purger' => 'Tu peux supprimer toutes les tâches de fond en attente et réinitialiser la liste avec les tâches périodiques',
735
+    'queue_nb_jobs_in_queue' => '@nb@ tâches en attente',
736
+    'queue_next_job_in_nb_sec' => 'Prochaine tâche dans @nb@ s',
737
+    'queue_no_job_in_queue' => 'Aucune tâche en attente',
738
+    'queue_one_job_in_queue' => '1 tâche en attente',
739
+    'queue_priorite_tache' => 'priorité',
740
+    'queue_purger_queue' => 'Réinitialiser la liste des tâches',
741
+    'queue_titre' => 'Tâches de fond',
742 742
 
743
-	// R
744
-	'repertoire_plugins' => 'Répertoire :',
745
-	'required' => '(obligatoire)',
743
+    // R
744
+    'repertoire_plugins' => 'Répertoire :',
745
+    'required' => '(obligatoire)',
746 746
 
747
-	// S
748
-	'sans_heure' => 'sans heure',
749
-	'statut_admin_restreint' => 'admin restreint',
750
-	'statut_webmestre' => 'webmestre',
747
+    // S
748
+    'sans_heure' => 'sans heure',
749
+    'statut_admin_restreint' => 'admin restreint',
750
+    'statut_webmestre' => 'webmestre',
751 751
 
752
-	// T
753
-	'tache_cron_asap' => 'Tâche CRON @function@ (ASAP)',
754
-	'tache_cron_secondes' => 'Tâche CRON @function@ (toutes les @nb@ s)',
755
-	'taille_cache_image' => 'Les images calculées automatiquement par SPIP (vignettes des documents, titres présentés sous forme graphique, fonctions mathématiques au format TeX...) occupent dans le répertoire @dir@ un total de @taille@.',
756
-	'taille_cache_infinie' => 'Ce site ne prévoit pas de limitation de taille du cache.',
757
-	'taille_cache_maxi' => 'SPIP essaie de limiter la taille du répertoire du cache de ce site à environ <b>@octets@</b> de données.',
758
-	'taille_cache_moins_de' => 'La taille du cache est de moins de @octets@.',
759
-	'taille_cache_octets' => 'La taille du cache est actuellement de @octets@ environ.',
760
-	'taille_cache_vide' => 'Le cache est vide.',
761
-	'taille_repertoire_cache' => 'Taille du répertoire cache',
762
-	'text_article_propose_publication' => 'Article proposé pour la publication.',
763
-	'texte_acces_ldap_anonyme_1' => 'Certains serveurs LDAP n’acceptent aucun accès anonyme. Dans ce cas il faut spécifier un identifiant d’accès initial afin de pouvoir ensuite rechercher des informations dans l’annuaire. Dans la plupart des cas néanmoins, les champs suivants pourront être laissés vides.',
764
-	'texte_admin_effacer_01' => 'Cette commande efface <i>tout</i> le contenu de la base de données,
752
+    // T
753
+    'tache_cron_asap' => 'Tâche CRON @function@ (ASAP)',
754
+    'tache_cron_secondes' => 'Tâche CRON @function@ (toutes les @nb@ s)',
755
+    'taille_cache_image' => 'Les images calculées automatiquement par SPIP (vignettes des documents, titres présentés sous forme graphique, fonctions mathématiques au format TeX...) occupent dans le répertoire @dir@ un total de @taille@.',
756
+    'taille_cache_infinie' => 'Ce site ne prévoit pas de limitation de taille du cache.',
757
+    'taille_cache_maxi' => 'SPIP essaie de limiter la taille du répertoire du cache de ce site à environ <b>@octets@</b> de données.',
758
+    'taille_cache_moins_de' => 'La taille du cache est de moins de @octets@.',
759
+    'taille_cache_octets' => 'La taille du cache est actuellement de @octets@ environ.',
760
+    'taille_cache_vide' => 'Le cache est vide.',
761
+    'taille_repertoire_cache' => 'Taille du répertoire cache',
762
+    'text_article_propose_publication' => 'Article proposé pour la publication.',
763
+    'texte_acces_ldap_anonyme_1' => 'Certains serveurs LDAP n’acceptent aucun accès anonyme. Dans ce cas il faut spécifier un identifiant d’accès initial afin de pouvoir ensuite rechercher des informations dans l’annuaire. Dans la plupart des cas néanmoins, les champs suivants pourront être laissés vides.',
764
+    'texte_admin_effacer_01' => 'Cette commande efface <i>tout</i> le contenu de la base de données,
765 765
 y compris <i>tous</i> les accès rédacteurs et administrateurs. Après l’avoir exécutée, tu devras lancer la
766 766
 réinstallation de SPIP pour recréer une nouvelle base ainsi qu’un premier accès administrateur.',
767
-	'texte_adresse_annuaire_1' => '(Si ton annuaire est installé sur la même machine que ce site Web, il s’agit probablement de « localhost ».)',
768
-	'texte_ajout_auteur' => 'L’auteur suivant a été ajouté à l’article :',
769
-	'texte_annuaire_ldap_1' => 'Si tu as accès à un annuaire (LDAP), tu peux l’utiliser pour importer automatiquement des utilisateurs sous SPIP.',
770
-	'texte_article_statut' => 'Cet article est :',
771
-	'texte_article_virtuel' => 'Article virtuel',
772
-	'texte_article_virtuel_reference' => '<b>Article virtuel :</b> article référencé dans ton site SPIP, mais redirigé vers une autre URL. Pour supprimer la redirection, efface l’URL ci-dessus.',
773
-	'texte_aucun_resultat_auteur' => 'Aucun résultat pour "@cherche_auteur@"',
774
-	'texte_auteur_messagerie' => 'Ce site peut t’indiquer en permanence la liste des rédacteurs connectés, ce qui te permet d’échanger des messages en direct. Tu peux décider de ne pas apparaître dans cette liste (tu es « invisible » pour les autres utilisateurs).',
775
-	'texte_auteurs' => 'LES AUTEURS',
776
-	'texte_choix_base_1' => 'Choisis ta base :',
777
-	'texte_choix_base_2' => 'Le serveur SQL contient plusieurs bases de données.',
778
-	'texte_choix_base_3' => '<b>Sélectionne</b> ci-après celle qui t’a été attribuée par ton hébergeur :',
779
-	'texte_choix_table_prefix' => 'Préfixe des tables :',
780
-	'texte_compte_element' => '@count@ élément',
781
-	'texte_compte_elements' => '@count@ éléments',
782
-	'texte_conflit_edition_correction' => 'Contrôle ci-dessous les différences entre les deux versions du texte ; tu peux aussi copier tes modifications, puis recommencer.',
783
-	'texte_connexion_mysql' => 'Consulte les informations fournies par ton hébergeur : tu dois y trouver, le  serveur de base de données qu’il propose et tes identifiants personnels pour t’y connecter.',
784
-	'texte_contenu_article' => '(Contenu de l’article en quelques mots.)',
785
-	'texte_contenu_articles' => 'Selon la maquette adoptée pour ton site, tu peux décider
767
+    'texte_adresse_annuaire_1' => '(Si ton annuaire est installé sur la même machine que ce site Web, il s’agit probablement de « localhost ».)',
768
+    'texte_ajout_auteur' => 'L’auteur suivant a été ajouté à l’article :',
769
+    'texte_annuaire_ldap_1' => 'Si tu as accès à un annuaire (LDAP), tu peux l’utiliser pour importer automatiquement des utilisateurs sous SPIP.',
770
+    'texte_article_statut' => 'Cet article est :',
771
+    'texte_article_virtuel' => 'Article virtuel',
772
+    'texte_article_virtuel_reference' => '<b>Article virtuel :</b> article référencé dans ton site SPIP, mais redirigé vers une autre URL. Pour supprimer la redirection, efface l’URL ci-dessus.',
773
+    'texte_aucun_resultat_auteur' => 'Aucun résultat pour "@cherche_auteur@"',
774
+    'texte_auteur_messagerie' => 'Ce site peut t’indiquer en permanence la liste des rédacteurs connectés, ce qui te permet d’échanger des messages en direct. Tu peux décider de ne pas apparaître dans cette liste (tu es « invisible » pour les autres utilisateurs).',
775
+    'texte_auteurs' => 'LES AUTEURS',
776
+    'texte_choix_base_1' => 'Choisis ta base :',
777
+    'texte_choix_base_2' => 'Le serveur SQL contient plusieurs bases de données.',
778
+    'texte_choix_base_3' => '<b>Sélectionne</b> ci-après celle qui t’a été attribuée par ton hébergeur :',
779
+    'texte_choix_table_prefix' => 'Préfixe des tables :',
780
+    'texte_compte_element' => '@count@ élément',
781
+    'texte_compte_elements' => '@count@ éléments',
782
+    'texte_conflit_edition_correction' => 'Contrôle ci-dessous les différences entre les deux versions du texte ; tu peux aussi copier tes modifications, puis recommencer.',
783
+    'texte_connexion_mysql' => 'Consulte les informations fournies par ton hébergeur : tu dois y trouver, le  serveur de base de données qu’il propose et tes identifiants personnels pour t’y connecter.',
784
+    'texte_contenu_article' => '(Contenu de l’article en quelques mots.)',
785
+    'texte_contenu_articles' => 'Selon la maquette adoptée pour ton site, tu peux décider
786 786
 		que certains éléments des articles ne sont pas utilisés.
787 787
 		Utilise la liste ci-dessous pour indiquer quels éléments sont disponibles.',
788
-	'texte_crash_base' => 'Si ta base de données a
788
+    'texte_crash_base' => 'Si ta base de données a
789 789
 			crashé, tu peux tenter une réparation
790 790
 			automatique.',
791
-	'texte_creer_rubrique' => 'Avant de pouvoir écrire des articles,<br /> tu dois créer une rubrique.',
792
-	'texte_date_creation_article' => 'DATE DE CRÉATION DE L’ARTICLE :',
793
-	'texte_date_creation_objet' => 'Date de création :', # on ajoute le ":"
794
-	'texte_date_publication_anterieure' => 'Date de rédaction antérieure :',
795
-	'texte_date_publication_anterieure_nonaffichee' => 'Ne pas afficher de date de rédaction antérieure.',
796
-	'texte_date_publication_article' => 'DATE DE PUBLICATION EN LIGNE :',
797
-	'texte_date_publication_objet' => 'Date de publication en ligne :',
798
-	'texte_definir_comme_traduction_rubrique' => 'Cette rubrique est une traduction de la rubrique numéro :',
799
-	'texte_descriptif_rapide' => 'Descriptif rapide',
800
-	'texte_effacer_base' => 'Effacer la base de données SPIP',
801
-	'texte_effacer_statistiques' => 'Effacer les statistiques',
802
-	'texte_en_cours_validation' => 'Les contenus ci-dessous sont en attente de validation.',
803
-	'texte_enrichir_mise_a_jour' => 'Tu peux enrichir la mise en page de ton texte en utilisant des « raccourcis typographiques ».',
804
-	'texte_fichier_authent' => '<b>SPIP doit-il créer les fichiers spéciaux <tt>.htpasswd</tt> et <tt>.htpasswd-admin</tt> dans le répertoire @dossier@ ?</b>
791
+    'texte_creer_rubrique' => 'Avant de pouvoir écrire des articles,<br /> tu dois créer une rubrique.',
792
+    'texte_date_creation_article' => 'DATE DE CRÉATION DE L’ARTICLE :',
793
+    'texte_date_creation_objet' => 'Date de création :', # on ajoute le ":"
794
+    'texte_date_publication_anterieure' => 'Date de rédaction antérieure :',
795
+    'texte_date_publication_anterieure_nonaffichee' => 'Ne pas afficher de date de rédaction antérieure.',
796
+    'texte_date_publication_article' => 'DATE DE PUBLICATION EN LIGNE :',
797
+    'texte_date_publication_objet' => 'Date de publication en ligne :',
798
+    'texte_definir_comme_traduction_rubrique' => 'Cette rubrique est une traduction de la rubrique numéro :',
799
+    'texte_descriptif_rapide' => 'Descriptif rapide',
800
+    'texte_effacer_base' => 'Effacer la base de données SPIP',
801
+    'texte_effacer_statistiques' => 'Effacer les statistiques',
802
+    'texte_en_cours_validation' => 'Les contenus ci-dessous sont en attente de validation.',
803
+    'texte_enrichir_mise_a_jour' => 'Tu peux enrichir la mise en page de ton texte en utilisant des « raccourcis typographiques ».',
804
+    'texte_fichier_authent' => '<b>SPIP doit-il créer les fichiers spéciaux <tt>.htpasswd</tt> et <tt>.htpasswd-admin</tt> dans le répertoire @dossier@ ?</b>
805 805
 <p>Ces fichiers peuvent te servir à restreindre l’accès aux auteurs et administrateurs en d’autres endroits de ton site (programme externe de statistiques, par exemple).</p>
806 806
 <p>Si tu n’en as pas l’utilité, tu peux laisser cette option à sa valeur par défaut (pas de création des fichiers).</p>',
807
-	'texte_informations_personnelles_1' => 'Le système va maintenant te créer un accès personnalisé au site.',
808
-	'texte_informations_personnelles_2' => '(Note : il s’agit d’une réinstallation, si ton accès marche toujours tu peux',
809
-	'texte_introductif_article' => '(Texte introductif de l’article.)',
810
-	'texte_jeu_caractere' => 'Il est conseillé d’employer, sur ton site, l’alphabet universel (<tt>utf-8</tt>) : celui-ci permet l’affichage de textes dans toutes les langues, et ne pose plus de problèmes de compatibilité avec les navigateurs modernes.',
811
-	'texte_jeu_caractere_3' => 'Ton site est actuellement installé dans le jeu de caractères :',
812
-	'texte_jeu_caractere_4' => 'Si cela ne correspond pas à la réalité de tes données (suite, par exemple, à une restauration de base de données), ou si <em>tu démarres ce site</em> et souhaites partir sur un autre jeu de caractères, indique ce dernier ici :',
813
-	'texte_login_ldap_1' => '(Laisser vide pour un accès anonyme, ou entrer le chemin complet, par exemple « <tt>uid=dupont, ou=users, dc=mon-domaine, dc=com</tt> ».)',
814
-	'texte_login_precaution' => 'Attention ! Ceci est le login sous lequel tu es connecté actuellement.
807
+    'texte_informations_personnelles_1' => 'Le système va maintenant te créer un accès personnalisé au site.',
808
+    'texte_informations_personnelles_2' => '(Note : il s’agit d’une réinstallation, si ton accès marche toujours tu peux',
809
+    'texte_introductif_article' => '(Texte introductif de l’article.)',
810
+    'texte_jeu_caractere' => 'Il est conseillé d’employer, sur ton site, l’alphabet universel (<tt>utf-8</tt>) : celui-ci permet l’affichage de textes dans toutes les langues, et ne pose plus de problèmes de compatibilité avec les navigateurs modernes.',
811
+    'texte_jeu_caractere_3' => 'Ton site est actuellement installé dans le jeu de caractères :',
812
+    'texte_jeu_caractere_4' => 'Si cela ne correspond pas à la réalité de tes données (suite, par exemple, à une restauration de base de données), ou si <em>tu démarres ce site</em> et souhaites partir sur un autre jeu de caractères, indique ce dernier ici :',
813
+    'texte_login_ldap_1' => '(Laisser vide pour un accès anonyme, ou entrer le chemin complet, par exemple « <tt>uid=dupont, ou=users, dc=mon-domaine, dc=com</tt> ».)',
814
+    'texte_login_precaution' => 'Attention ! Ceci est le login sous lequel tu es connecté actuellement.
815 815
 	Utilise ce formulaire avec précaution...',
816
-	'texte_messagerie_agenda' => 'Une messagerie permet aux rédacteurs du site de communiquer entre eux directement dans l’espace privé du site. Elle est associée à un agenda.',
817
-	'texte_mise_a_niveau_base_1' => 'Tu viens de mettre à jour les fichiers SPIP.
816
+    'texte_messagerie_agenda' => 'Une messagerie permet aux rédacteurs du site de communiquer entre eux directement dans l’espace privé du site. Elle est associée à un agenda.',
817
+    'texte_mise_a_niveau_base_1' => 'Tu viens de mettre à jour les fichiers SPIP.
818 818
 	Il faut maintenant mettre à niveau la base de données
819 819
 	du site.',
820
-	'texte_modifier_article' => 'Modifier l’article :',
821
-	'texte_multilinguisme' => 'Si tu souhaites gérer des objets en plusieurs langues, avec une navigation complexe, tu peux ajouter un menu de sélection de langue sur ces objets, en fonction de l’organisation de ton site.',
822
-	'texte_multilinguisme_trad' => 'Tu peux également activer un système de gestion de liens entre les différentes traductions sur certains objets.',
823
-	'texte_non_compresse' => '<i>non compressé</i> (ton serveur ne supportant pas cette fonctionnalité)',
824
-	'texte_nouvelle_version_spip_1' => 'Tu as installé une nouvelle version de SPIP.',
825
-	'texte_nouvelle_version_spip_2' => 'Cette nouvelle version nécessite une mise à jour plus complète qu’à l’accoutumée. Si tu es webmestre du site, efface le fichier @connect@  et reprends l’installation afin de mettre à jour tes paramètres de connexion à la base de données.<p> (NB. : si tu as oublié tes paramètres de connexion, jete un œil au fichier @connect@ avant de le supprimer...)</p>',
826
-	'texte_operation_echec' => 'Retourne à la page précédente, sélectionne une autre base ou crée en une nouvelle. Vérifie les informations fournies par ton hébergeur.',
827
-	'texte_plus_trois_car' => 'plus de 3 caractères',
828
-	'texte_plusieurs_articles' => 'Plusieurs auteurs trouvés pour "@cherche_auteur@" :',
829
-	'texte_port_annuaire' => '(La valeur indiquée par défaut convient généralement.)',
830
-	'texte_presente_plugin' => 'Cette page liste les plugins disponibles sur le site. Tu peux activer les plugins nécessaires en cochant la case correspondante.',
831
-	'texte_proposer_publication' => 'Lorsque ton article est terminé,<br /> tu peux proposer sa publication.',
832
-	'texte_proxy' => 'Dans certains cas (intranet, réseaux protégés), les sites distants (documentation de SPIP, sites syndiqués, etc.) ne sont accessibles qu’à travers un <i>proxy HTTP</i>. Le cas échéant, indique ci-dessous son adresse, sous la forme@proxy_en_cours@. En général, tu laisseras cette case vide.',
833
-	'texte_publication_articles_post_dates' => 'Quel comportement SPIP doit-il adopter face aux articles dont la
820
+    'texte_modifier_article' => 'Modifier l’article :',
821
+    'texte_multilinguisme' => 'Si tu souhaites gérer des objets en plusieurs langues, avec une navigation complexe, tu peux ajouter un menu de sélection de langue sur ces objets, en fonction de l’organisation de ton site.',
822
+    'texte_multilinguisme_trad' => 'Tu peux également activer un système de gestion de liens entre les différentes traductions sur certains objets.',
823
+    'texte_non_compresse' => '<i>non compressé</i> (ton serveur ne supportant pas cette fonctionnalité)',
824
+    'texte_nouvelle_version_spip_1' => 'Tu as installé une nouvelle version de SPIP.',
825
+    'texte_nouvelle_version_spip_2' => 'Cette nouvelle version nécessite une mise à jour plus complète qu’à l’accoutumée. Si tu es webmestre du site, efface le fichier @connect@  et reprends l’installation afin de mettre à jour tes paramètres de connexion à la base de données.<p> (NB. : si tu as oublié tes paramètres de connexion, jete un œil au fichier @connect@ avant de le supprimer...)</p>',
826
+    'texte_operation_echec' => 'Retourne à la page précédente, sélectionne une autre base ou crée en une nouvelle. Vérifie les informations fournies par ton hébergeur.',
827
+    'texte_plus_trois_car' => 'plus de 3 caractères',
828
+    'texte_plusieurs_articles' => 'Plusieurs auteurs trouvés pour "@cherche_auteur@" :',
829
+    'texte_port_annuaire' => '(La valeur indiquée par défaut convient généralement.)',
830
+    'texte_presente_plugin' => 'Cette page liste les plugins disponibles sur le site. Tu peux activer les plugins nécessaires en cochant la case correspondante.',
831
+    'texte_proposer_publication' => 'Lorsque ton article est terminé,<br /> tu peux proposer sa publication.',
832
+    'texte_proxy' => 'Dans certains cas (intranet, réseaux protégés), les sites distants (documentation de SPIP, sites syndiqués, etc.) ne sont accessibles qu’à travers un <i>proxy HTTP</i>. Le cas échéant, indique ci-dessous son adresse, sous la forme@proxy_en_cours@. En général, tu laisseras cette case vide.',
833
+    'texte_publication_articles_post_dates' => 'Quel comportement SPIP doit-il adopter face aux articles dont la
834 834
 		date de publication a été fixée à une
835 835
 		échéance future ?',
836
-	'texte_rappel_selection_champs' => '[N’oublie pas de sélectionner correctement ce champ.]',
837
-	'texte_recalcul_page' => 'Si tu veux
836
+    'texte_rappel_selection_champs' => '[N’oublie pas de sélectionner correctement ce champ.]',
837
+    'texte_recalcul_page' => 'Si tu veux
838 838
 recalculer une seule page, passe plutôt par l’espace public et utilise le bouton « recalculer ».',
839
-	'texte_recuperer_base' => 'Réparer la base de données',
840
-	'texte_reference_mais_redirige' => 'article référencé dans ton site SPIP, mais redirigé vers une autre URL.',
841
-	'texte_requetes_echouent' => '<b>Lorsque certaines requêtes SQL échouent
839
+    'texte_recuperer_base' => 'Réparer la base de données',
840
+    'texte_reference_mais_redirige' => 'article référencé dans ton site SPIP, mais redirigé vers une autre URL.',
841
+    'texte_requetes_echouent' => '<b>Lorsque certaines requêtes SQL échouent
842 842
   systématiquement et sans raison apparente, il est possible
843 843
   que ce soit à cause de la base de données
844 844
   elle-même.</b><p>
@@ -849,90 +849,90 @@  discard block
 block discarded – undo
849 849
   peut-être des indices de ce qui ne va pas...</p><p>
850 850
   Si le problème persiste, prends contact avec ton
851 851
   hébergeur.</p>',
852
-	'texte_selection_langue_principale' => 'Tu peux sélectionner ci-dessous la « langue principale » du site. Ce choix ne t’oblige - heureusement ! - pas à écrire tes articles dans la langue sélectionnée, mais permet de déterminer :
852
+    'texte_selection_langue_principale' => 'Tu peux sélectionner ci-dessous la « langue principale » du site. Ce choix ne t’oblige - heureusement ! - pas à écrire tes articles dans la langue sélectionnée, mais permet de déterminer :
853 853
 	<ul><li> le format par défaut des dates sur le site public ;</li>
854 854
 	<li> la nature du moteur typographique que SPIP doit utiliser pour le rendu des textes ;</li>
855 855
 	<li> la langue utilisée dans les formulaires du site public ;</li>
856 856
 	<li> la langue présentée par défaut dans l’espace privé.</li></ul>',
857
-	'texte_sous_titre' => 'Sous-titre',
858
-	'texte_statistiques_visites' => '(barres foncées :  dimanche / courbe foncée : évolution de la moyenne)',
859
-	'texte_statut_attente_validation' => 'en attente de validation',
860
-	'texte_statut_publies' => 'publiés en ligne',
861
-	'texte_statut_refuses' => 'refusés',
862
-	'texte_suppression_fichiers' => 'Utilise cette commande afin de supprimer tous les fichiers présents
857
+    'texte_sous_titre' => 'Sous-titre',
858
+    'texte_statistiques_visites' => '(barres foncées :  dimanche / courbe foncée : évolution de la moyenne)',
859
+    'texte_statut_attente_validation' => 'en attente de validation',
860
+    'texte_statut_publies' => 'publiés en ligne',
861
+    'texte_statut_refuses' => 'refusés',
862
+    'texte_suppression_fichiers' => 'Utilise cette commande afin de supprimer tous les fichiers présents
863 863
 dans le cache SPIP. Cela permet par exemple de forcer un recalcul de toutes les pages si tu
864 864
 as fait des modifications importantes de graphisme ou de structure du site.',
865
-	'texte_sur_titre' => 'Sur-titre',
866
-	'texte_table_ok' => ' : cette table est OK.',
867
-	'texte_tentative_recuperation' => 'Tentative de réparation',
868
-	'texte_tenter_reparation' => 'Tenter une réparation de la base de données',
869
-	'texte_test_proxy' => 'Pour faire un essai de ce proxy, indique ici l’adresse d’un site Web
865
+    'texte_sur_titre' => 'Sur-titre',
866
+    'texte_table_ok' => ' : cette table est OK.',
867
+    'texte_tentative_recuperation' => 'Tentative de réparation',
868
+    'texte_tenter_reparation' => 'Tenter une réparation de la base de données',
869
+    'texte_test_proxy' => 'Pour faire un essai de ce proxy, indique ici l’adresse d’un site Web
870 870
 				que tu souhaites tester.',
871
-	'texte_titre_02' => 'Titre :',
872
-	'texte_titre_obligatoire' => '<b>Titre</b> [Obligatoire]',
873
-	'texte_travail_article' => '@nom_auteur_modif@ a travaillé sur cet article il y a @date_diff@ minutes',
874
-	'texte_travail_collaboratif' => 'S’il est fréquent que plusieurs rédacteurs
871
+    'texte_titre_02' => 'Titre :',
872
+    'texte_titre_obligatoire' => '<b>Titre</b> [Obligatoire]',
873
+    'texte_travail_article' => '@nom_auteur_modif@ a travaillé sur cet article il y a @date_diff@ minutes',
874
+    'texte_travail_collaboratif' => 'S’il est fréquent que plusieurs rédacteurs
875 875
 		travaillent sur le même article, le système
876 876
 		peut afficher les articles récemment « ouverts »
877 877
 		afin d’éviter les modifications simultanées.
878 878
 		Cette option est désactivée par défaut
879 879
 		afin d’éviter d’afficher des messages d’avertissement
880 880
 		intempestifs.',
881
-	'texte_vide' => 'vide',
882
-	'texte_vider_cache' => 'Vider le cache',
883
-	'titre_admin_tech' => 'Maintenance technique',
884
-	'titre_admin_vider' => 'Maintenance technique',
885
-	'titre_ajouter_un_auteur' => 'Ajouter un auteur',
886
-	'titre_ajouter_un_mot' => 'Ajouter un mot-clé',
887
-	'titre_cadre_afficher_article' => 'Afficher les articles',
888
-	'titre_cadre_afficher_traductions' => 'Afficher l’état des traductions pour les langues suivantes :',
889
-	'titre_cadre_ajouter_auteur' => 'AJOUTER UN AUTEUR :',
890
-	'titre_cadre_interieur_rubrique' => 'À l’intérieur de la rubrique',
891
-	'titre_cadre_numero_auteur' => 'AUTEUR NUMÉRO',
892
-	'titre_cadre_numero_objet' => '@objet@ NUMÉRO :',
893
-	'titre_cadre_signature_obligatoire' => '<b>Signature</b> [Obligatoire]<br />',
894
-	'titre_config_contenu_notifications' => 'Notifications',
895
-	'titre_config_contenu_prive' => 'Dans l’espace privé',
896
-	'titre_config_contenu_public' => 'Sur le site public',
897
-	'titre_config_fonctions' => 'Configuration du site',
898
-	'titre_config_langage' => 'Configurer la langue',
899
-	'titre_configuration' => 'Configuration du site',
900
-	'titre_configurer_preferences' => 'Configurer tes préférences',
901
-	'titre_configurer_preferences_menus' => 'Configurer tes préférences de menus',
902
-	'titre_conflit_edition' => 'Conflit lors de l’édition',
903
-	'titre_connexion_ldap' => 'Options : <b>Ta connexion LDAP</b>',
904
-	'titre_groupe_mots' => 'GROUPE DE MOTS :',
905
-	'titre_identite_site' => 'Identité du site',
906
-	'titre_langue_article' => 'Langue de l’article',
907
-	'titre_langue_rubrique' => 'Langue de la rubrique',
908
-	'titre_langue_trad_article' => 'LANGUE ET TRADUCTIONS DE L’ARTICLE',
909
-	'titre_les_articles' => 'LES ARTICLES',
910
-	'titre_messagerie_agenda' => 'Messagerie et agenda',
911
-	'titre_naviguer_dans_le_site' => 'Naviguer dans le site...',
912
-	'titre_nouvelle_rubrique' => 'Nouvelle rubrique',
913
-	'titre_numero_rubrique' => 'RUBRIQUE NUMÉRO :',
914
-	'titre_page_articles_edit' => 'Modifier : @titre@',
915
-	'titre_page_articles_page' => 'Les articles',
916
-	'titre_page_articles_tous' => 'Tout le site',
917
-	'titre_page_calendrier' => 'Calendrier @nom_mois@ @annee@',
918
-	'titre_page_config_contenu' => 'Configuration du site',
919
-	'titre_page_delete_all' => 'suppression totale et irréversible',
920
-	'titre_page_recherche' => 'Résultats de la recherche @recherche@',
921
-	'titre_page_statistiques_referers' => 'Statistiques (liens entrants)',
922
-	'titre_page_upgrade' => 'Mise à niveau de SPIP',
923
-	'titre_preference_menus_favoris' => 'Menus favoris',
924
-	'titre_publication_articles_post_dates' => 'Publication des articles post-datés',
925
-	'titre_reparation' => 'Réparation',
926
-	'titre_suivi_petition' => 'Suivi des pétitions',
927
-	'tls_ldap' => 'Transport Layer Security :',
928
-	'trad_article_traduction' => 'Toutes les versions de cet article :',
929
-	'trad_delier' => 'Ne plus lier à ces traductions',
930
-	'trad_lier' => 'Cet article est une traduction de l’article numéro :',
931
-	'trad_new' => 'Écrire une nouvelle traduction',
881
+    'texte_vide' => 'vide',
882
+    'texte_vider_cache' => 'Vider le cache',
883
+    'titre_admin_tech' => 'Maintenance technique',
884
+    'titre_admin_vider' => 'Maintenance technique',
885
+    'titre_ajouter_un_auteur' => 'Ajouter un auteur',
886
+    'titre_ajouter_un_mot' => 'Ajouter un mot-clé',
887
+    'titre_cadre_afficher_article' => 'Afficher les articles',
888
+    'titre_cadre_afficher_traductions' => 'Afficher l’état des traductions pour les langues suivantes :',
889
+    'titre_cadre_ajouter_auteur' => 'AJOUTER UN AUTEUR :',
890
+    'titre_cadre_interieur_rubrique' => 'À l’intérieur de la rubrique',
891
+    'titre_cadre_numero_auteur' => 'AUTEUR NUMÉRO',
892
+    'titre_cadre_numero_objet' => '@objet@ NUMÉRO :',
893
+    'titre_cadre_signature_obligatoire' => '<b>Signature</b> [Obligatoire]<br />',
894
+    'titre_config_contenu_notifications' => 'Notifications',
895
+    'titre_config_contenu_prive' => 'Dans l’espace privé',
896
+    'titre_config_contenu_public' => 'Sur le site public',
897
+    'titre_config_fonctions' => 'Configuration du site',
898
+    'titre_config_langage' => 'Configurer la langue',
899
+    'titre_configuration' => 'Configuration du site',
900
+    'titre_configurer_preferences' => 'Configurer tes préférences',
901
+    'titre_configurer_preferences_menus' => 'Configurer tes préférences de menus',
902
+    'titre_conflit_edition' => 'Conflit lors de l’édition',
903
+    'titre_connexion_ldap' => 'Options : <b>Ta connexion LDAP</b>',
904
+    'titre_groupe_mots' => 'GROUPE DE MOTS :',
905
+    'titre_identite_site' => 'Identité du site',
906
+    'titre_langue_article' => 'Langue de l’article',
907
+    'titre_langue_rubrique' => 'Langue de la rubrique',
908
+    'titre_langue_trad_article' => 'LANGUE ET TRADUCTIONS DE L’ARTICLE',
909
+    'titre_les_articles' => 'LES ARTICLES',
910
+    'titre_messagerie_agenda' => 'Messagerie et agenda',
911
+    'titre_naviguer_dans_le_site' => 'Naviguer dans le site...',
912
+    'titre_nouvelle_rubrique' => 'Nouvelle rubrique',
913
+    'titre_numero_rubrique' => 'RUBRIQUE NUMÉRO :',
914
+    'titre_page_articles_edit' => 'Modifier : @titre@',
915
+    'titre_page_articles_page' => 'Les articles',
916
+    'titre_page_articles_tous' => 'Tout le site',
917
+    'titre_page_calendrier' => 'Calendrier @nom_mois@ @annee@',
918
+    'titre_page_config_contenu' => 'Configuration du site',
919
+    'titre_page_delete_all' => 'suppression totale et irréversible',
920
+    'titre_page_recherche' => 'Résultats de la recherche @recherche@',
921
+    'titre_page_statistiques_referers' => 'Statistiques (liens entrants)',
922
+    'titre_page_upgrade' => 'Mise à niveau de SPIP',
923
+    'titre_preference_menus_favoris' => 'Menus favoris',
924
+    'titre_publication_articles_post_dates' => 'Publication des articles post-datés',
925
+    'titre_reparation' => 'Réparation',
926
+    'titre_suivi_petition' => 'Suivi des pétitions',
927
+    'tls_ldap' => 'Transport Layer Security :',
928
+    'trad_article_traduction' => 'Toutes les versions de cet article :',
929
+    'trad_delier' => 'Ne plus lier à ces traductions',
930
+    'trad_lier' => 'Cet article est une traduction de l’article numéro :',
931
+    'trad_new' => 'Écrire une nouvelle traduction',
932 932
 
933
-	// U
934
-	'utf8_convert_erreur_orig' => 'Erreur : le jeu de caractères @charset@ n’est pas supporté.',
933
+    // U
934
+    'utf8_convert_erreur_orig' => 'Erreur : le jeu de caractères @charset@ n’est pas supporté.',
935 935
 
936
-	// V
937
-	'version' => 'Version :'
936
+    // V
937
+    'version' => 'Version :'
938 938
 );
Please login to merge, or discard this patch.
ecrire/lang/public_fr_tu.php 1 patch
Indentation   +115 added lines, -115 removed lines patch added patch discarded remove patch
@@ -4,123 +4,123 @@
 block discarded – undo
4 4
 // ** ne pas modifier le fichier **
5 5
 
6 6
 if (!defined('_ECRIRE_INC_VERSION')) {
7
-	return;
7
+    return;
8 8
 }
9 9
 
10 10
 $GLOBALS[$GLOBALS['idx_lang']] = array(
11 11
 
12
-	// A
13
-	'accueil_site' => 'Accueil',
14
-	'article' => 'Article',
15
-	'articles' => 'Articles',
16
-	'articles_auteur' => 'Articles de cet auteur',
17
-	'articles_populaires' => 'Articles les plus populaires',
18
-	'articles_rubrique' => 'Articles de cette rubrique',
19
-	'aucun_article' => 'Il n’y a pas d’article à cette adresse',
20
-	'aucun_auteur' => 'Il n’y a pas d’auteur à cette adresse',
21
-	'aucun_site' => 'Il n’y a pas de site à cette adresse',
22
-	'aucune_breve' => 'Il n’y a pas de brève à cette adresse',
23
-	'aucune_rubrique' => 'Il n’y a pas de rubrique à cette adresse',
24
-	'auteur' => 'Auteur',
25
-	'autres' => 'Autres',
26
-	'autres_breves' => 'Autres brèves',
27
-	'autres_groupes_mots_clefs' => 'Autres groupes de mots-clés',
28
-	'autres_sites' => 'Autres sites',
29
-
30
-	// B
31
-	'bonjour' => 'Salut',
32
-
33
-	// C
34
-	'commenter_site' => 'Commenter ce site',
35
-	'contact' => 'Contact',
36
-	'copie_document_impossible' => 'Impossible de copier le document',
37
-
38
-	// D
39
-	'date' => 'Date',
40
-	'dernier_ajout' => 'Dernier ajout',
41
-	'dernieres_breves' => 'Dernières brèves',
42
-	'derniers_articles' => 'Derniers articles',
43
-	'derniers_commentaires' => 'Derniers commentaires',
44
-	'derniers_messages_forum' => 'Derniers messages publiés dans les forums',
45
-
46
-	// E
47
-	'edition_mode_texte' => 'Édition en mode texte de',
48
-	'en_reponse' => 'En réponse à :',
49
-	'en_resume' => 'En résumé',
50
-	'envoyer_message' => 'Envoyer un message',
51
-	'espace_prive' => 'Espace privé',
52
-
53
-	// F
54
-	'formats_acceptes' => 'Formats acceptés : @formats@.',
55
-
56
-	// H
57
-	'hierarchie_site' => 'Hiérarchie du site',
58
-
59
-	// J
60
-	'jours' => 'jours',
61
-
62
-	// L
63
-	'lien_connecter' => 'Se connecter',
64
-
65
-	// M
66
-	'meme_auteur' => 'Du même auteur',
67
-	'meme_rubrique' => 'Dans la même rubrique',
68
-	'memes_auteurs' => 'Des mêmes auteurs',
69
-	'message' => 'Message',
70
-	'messages_forum' => 'Messages',
71
-	'messages_recents' => 'Messages de forums les plus récents',
72
-	'mots_clef' => 'Mot-clé',
73
-	'mots_clefs' => 'Mots-clés',
74
-	'mots_clefs_meme_groupe' => 'Mots-clés dans le même groupe',
75
-
76
-	// N
77
-	'navigation' => 'Navigation',
78
-	'nom' => 'Nom',
79
-	'nouveautes' => 'Les nouveautés',
80
-	'nouveautes_web' => 'Nouveautés sur le Web',
81
-	'nouveaux_articles' => 'Nouveaux articles',
82
-	'nouvelles_breves' => 'Nouvelles brèves',
83
-
84
-	// P
85
-	'page_precedente' => 'page précédente',
86
-	'page_suivante' => 'page suivante',
87
-	'par_auteur' => 'par ',
88
-	'participer_site' => 'Tu peux participer à la vie de ce site et proposer tes propres articles en t’inscrivant ci-dessous. Tu recevras immédiatement un email t’indiquant tes codes d’accès à l’espace privé du site.',
89
-	'plan_site' => 'Plan du site',
90
-	'popularite' => 'Popularité',
91
-	'poster_message' => 'Poster un message',
92
-	'proposer_site' => 'Tu peux proposer un site à ajouter dans cette rubrique :',
93
-
94
-	// R
95
-	'repondre_article' => 'Répondre à cet article',
96
-	'repondre_breve' => 'Répondre à cette brève',
97
-	'resultats_recherche' => 'Résultats de la recherche',
98
-	'retour_debut_forums' => 'Retour au début des forums',
99
-	'rss_abonnement' => 'Copie l’URL suivante dans ton agrégateur :',
100
-	'rss_abonnement_titre' => 'S’abonner',
101
-	'rss_abonnement_titre_page' => 'S’abonner à',
102
-	'rss_explication' => 'Un fil RSS recueille les informations de mise à jour d’un site. Il fournit le contenu des billets ou des commentaires ou un extrait de ceux-ci, ainsi qu’un lien vers les versions complètes et quelques autres informations. Ce fil a pour vocation d’être lu par un agrégateur RSS.',
103
-	'rss_explication_titre' => 'Qu’est-ce qu’un flux RSS ?',
104
-	'rubrique' => 'Rubrique',
105
-	'rubriques' => 'Rubriques',
106
-
107
-	// S
108
-	'signatures_petition' => 'Signatures',
109
-	'site_realise_avec_spip' => 'Site réalisé avec SPIP',
110
-	'sites_web' => 'Sites Web',
111
-	'sous_rubriques' => 'Sous-rubriques',
112
-	'spam' => 'Spam',
113
-	'suite' => 'suite',
114
-	'sur_web' => 'Sur le Web',
115
-	'syndiquer_rubrique' => 'Syndiquer cette rubrique',
116
-	'syndiquer_site' => 'Syndiquer tout le site',
117
-
118
-	// T
119
-	'texte_lettre_information' => 'Voici la lettre d’information du site',
120
-	'texte_lettre_information_2' => 'Cette lettre recense les articles et les brèves publiés depuis',
121
-
122
-	// V
123
-	'ver_imprimer' => 'Version à imprimer',
124
-	'voir_en_ligne' => 'Voir en ligne',
125
-	'voir_squelette' => 'voir le squelette de cette page'
12
+    // A
13
+    'accueil_site' => 'Accueil',
14
+    'article' => 'Article',
15
+    'articles' => 'Articles',
16
+    'articles_auteur' => 'Articles de cet auteur',
17
+    'articles_populaires' => 'Articles les plus populaires',
18
+    'articles_rubrique' => 'Articles de cette rubrique',
19
+    'aucun_article' => 'Il n’y a pas d’article à cette adresse',
20
+    'aucun_auteur' => 'Il n’y a pas d’auteur à cette adresse',
21
+    'aucun_site' => 'Il n’y a pas de site à cette adresse',
22
+    'aucune_breve' => 'Il n’y a pas de brève à cette adresse',
23
+    'aucune_rubrique' => 'Il n’y a pas de rubrique à cette adresse',
24
+    'auteur' => 'Auteur',
25
+    'autres' => 'Autres',
26
+    'autres_breves' => 'Autres brèves',
27
+    'autres_groupes_mots_clefs' => 'Autres groupes de mots-clés',
28
+    'autres_sites' => 'Autres sites',
29
+
30
+    // B
31
+    'bonjour' => 'Salut',
32
+
33
+    // C
34
+    'commenter_site' => 'Commenter ce site',
35
+    'contact' => 'Contact',
36
+    'copie_document_impossible' => 'Impossible de copier le document',
37
+
38
+    // D
39
+    'date' => 'Date',
40
+    'dernier_ajout' => 'Dernier ajout',
41
+    'dernieres_breves' => 'Dernières brèves',
42
+    'derniers_articles' => 'Derniers articles',
43
+    'derniers_commentaires' => 'Derniers commentaires',
44
+    'derniers_messages_forum' => 'Derniers messages publiés dans les forums',
45
+
46
+    // E
47
+    'edition_mode_texte' => 'Édition en mode texte de',
48
+    'en_reponse' => 'En réponse à :',
49
+    'en_resume' => 'En résumé',
50
+    'envoyer_message' => 'Envoyer un message',
51
+    'espace_prive' => 'Espace privé',
52
+
53
+    // F
54
+    'formats_acceptes' => 'Formats acceptés : @formats@.',
55
+
56
+    // H
57
+    'hierarchie_site' => 'Hiérarchie du site',
58
+
59
+    // J
60
+    'jours' => 'jours',
61
+
62
+    // L
63
+    'lien_connecter' => 'Se connecter',
64
+
65
+    // M
66
+    'meme_auteur' => 'Du même auteur',
67
+    'meme_rubrique' => 'Dans la même rubrique',
68
+    'memes_auteurs' => 'Des mêmes auteurs',
69
+    'message' => 'Message',
70
+    'messages_forum' => 'Messages',
71
+    'messages_recents' => 'Messages de forums les plus récents',
72
+    'mots_clef' => 'Mot-clé',
73
+    'mots_clefs' => 'Mots-clés',
74
+    'mots_clefs_meme_groupe' => 'Mots-clés dans le même groupe',
75
+
76
+    // N
77
+    'navigation' => 'Navigation',
78
+    'nom' => 'Nom',
79
+    'nouveautes' => 'Les nouveautés',
80
+    'nouveautes_web' => 'Nouveautés sur le Web',
81
+    'nouveaux_articles' => 'Nouveaux articles',
82
+    'nouvelles_breves' => 'Nouvelles brèves',
83
+
84
+    // P
85
+    'page_precedente' => 'page précédente',
86
+    'page_suivante' => 'page suivante',
87
+    'par_auteur' => 'par ',
88
+    'participer_site' => 'Tu peux participer à la vie de ce site et proposer tes propres articles en t’inscrivant ci-dessous. Tu recevras immédiatement un email t’indiquant tes codes d’accès à l’espace privé du site.',
89
+    'plan_site' => 'Plan du site',
90
+    'popularite' => 'Popularité',
91
+    'poster_message' => 'Poster un message',
92
+    'proposer_site' => 'Tu peux proposer un site à ajouter dans cette rubrique :',
93
+
94
+    // R
95
+    'repondre_article' => 'Répondre à cet article',
96
+    'repondre_breve' => 'Répondre à cette brève',
97
+    'resultats_recherche' => 'Résultats de la recherche',
98
+    'retour_debut_forums' => 'Retour au début des forums',
99
+    'rss_abonnement' => 'Copie l’URL suivante dans ton agrégateur :',
100
+    'rss_abonnement_titre' => 'S’abonner',
101
+    'rss_abonnement_titre_page' => 'S’abonner à',
102
+    'rss_explication' => 'Un fil RSS recueille les informations de mise à jour d’un site. Il fournit le contenu des billets ou des commentaires ou un extrait de ceux-ci, ainsi qu’un lien vers les versions complètes et quelques autres informations. Ce fil a pour vocation d’être lu par un agrégateur RSS.',
103
+    'rss_explication_titre' => 'Qu’est-ce qu’un flux RSS ?',
104
+    'rubrique' => 'Rubrique',
105
+    'rubriques' => 'Rubriques',
106
+
107
+    // S
108
+    'signatures_petition' => 'Signatures',
109
+    'site_realise_avec_spip' => 'Site réalisé avec SPIP',
110
+    'sites_web' => 'Sites Web',
111
+    'sous_rubriques' => 'Sous-rubriques',
112
+    'spam' => 'Spam',
113
+    'suite' => 'suite',
114
+    'sur_web' => 'Sur le Web',
115
+    'syndiquer_rubrique' => 'Syndiquer cette rubrique',
116
+    'syndiquer_site' => 'Syndiquer tout le site',
117
+
118
+    // T
119
+    'texte_lettre_information' => 'Voici la lettre d’information du site',
120
+    'texte_lettre_information_2' => 'Cette lettre recense les articles et les brèves publiés depuis',
121
+
122
+    // V
123
+    'ver_imprimer' => 'Version à imprimer',
124
+    'voir_en_ligne' => 'Voir en ligne',
125
+    'voir_squelette' => 'voir le squelette de cette page'
126 126
 );
Please login to merge, or discard this patch.
ecrire/lang/spip_pt_br.php 1 patch
Indentation   +668 added lines, -668 removed lines patch added patch discarded remove patch
@@ -4,581 +4,581 @@  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
-	'form_auteur_confirmation' => 'Confirme o seu endereço de e-mail',
243
-	'form_auteur_email_modifie' => 'O seu endereço de e-mail foi alterado.',
244
-	'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.',
245
-	'form_auteur_mail_confirmation' => 'Olá,
240
+    // F
241
+    'fichier_introuvable' => 'Arquivo @fichier@ não encontrado',
242
+    'form_auteur_confirmation' => 'Confirme o seu endereço de e-mail',
243
+    'form_auteur_email_modifie' => 'O seu endereço de e-mail foi alterado.',
244
+    '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.',
245
+    'form_auteur_mail_confirmation' => 'Olá,
246 246
 
247 247
 Você pediu para alterar o seu endereço de e-mail
248 248
 Para confirmar o seu novo endereço, basta acessar o endereço abaixo (cas contrário, a sua solicitação será ignorada):
249 249
 
250 250
     @url@
251 251
 ',
252
-	'form_deja_inscrit' => 'Você já está inscrito.',
253
-	'form_email_non_valide' => 'Seu endereço de e-mail não é válido.',
254
-	'form_forum_access_refuse' => 'Você não tem mais acesso a este site.',
255
-	'form_forum_bonjour' => 'Bom dia @nom@,',
256
-	'form_forum_confirmer_email' => 'Para confirmar o seu endereço de e-mail, clique neste link: @url_confirm@',
257
-	'form_forum_email_deja_enregistre' => 'Este endereço de e-mail já está cadastrado, você pode usar a sua senha habitual.',
258
-	'form_forum_identifiant_mail' => 'Seu novo login foi enviado por e-mail.',
259
-	'form_forum_identifiants' => 'Identificadores pessoais',
260
-	'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.',
261
-	'form_forum_login' => 'login:',
262
-	'form_forum_message_auto' => '(esta é uma mensagem automática)',
263
-	'form_forum_pass' => 'senha:',
264
-	'form_forum_probleme_mail' => 'Problema de e-mail: o identificador não pôde ser enviado.',
265
-	'form_forum_voici1' => 'Estes são os seus identificadores para que você possa participar da vida do site "@nom_site_spip@" (@adresse_site@):',
266
-	'form_forum_voici2' => 'Estes são os seus identificadores para que você possa propor matérias ao site "@nom_site_spip@" (@adresse_login@):',
267
-	'form_indiquer_email' => 'Por favor, informe o seu endereço de e-mail.',
268
-	'form_indiquer_nom' => 'Por favor, informe o seu nome.',
269
-	'form_indiquer_nom_site' => 'Por favor, informe o nome do seu site.',
270
-	'form_pet_deja_enregistre' => 'Este site já está cadastrado',
271
-	'form_pet_signature_pasprise' => 'Sua assinatura não foi computada.',
272
-	'form_prop_confirmer_envoi' => 'Confirmar o envio',
273
-	'form_prop_description' => 'Descrição / comentário',
274
-	'form_prop_enregistre' => 'Sua proposta foi cadastrada, ela aparecerá online após ser validada pelos responsáveis deste site.',
275
-	'form_prop_envoyer' => 'Enviar uma mensagem',
276
-	'form_prop_indiquer_email' => 'Por favor, indique um endereço de e-mail válido',
277
-	'form_prop_indiquer_nom_site' => 'Por favor, informe o nome do site.',
278
-	'form_prop_indiquer_sujet' => 'Por favor, informe um assunto',
279
-	'form_prop_message_envoye' => 'Mensagem enviada',
280
-	'form_prop_non_enregistre' => 'Sua proposta não foi cadastrada.',
281
-	'form_prop_sujet' => 'Assunto',
282
-	'form_prop_url_site' => 'Endereço URL do site',
283
-	'format_date_attendu' => 'Inserir uma data no formato dd/mm/aaaa.',
284
-	'format_date_incorrecte' => 'A data e o seu formato está incorreta',
285
-	'format_heure_attendu' => 'Inserir uma hora no formato hh:mm.',
286
-	'format_heure_incorrecte' => 'A hora e o seu formato está incorreta',
287
-	'forum_non_inscrit' => 'Você não está inscrito, ou o endereço ou a senha estão errados.',
288
-	'forum_par_auteur' => 'por @auteur@',
289
-	'forum_titre_erreur' => 'Erro...',
252
+    'form_deja_inscrit' => 'Você já está inscrito.',
253
+    'form_email_non_valide' => 'Seu endereço de e-mail não é válido.',
254
+    'form_forum_access_refuse' => 'Você não tem mais acesso a este site.',
255
+    'form_forum_bonjour' => 'Bom dia @nom@,',
256
+    'form_forum_confirmer_email' => 'Para confirmar o seu endereço de e-mail, clique neste link: @url_confirm@',
257
+    'form_forum_email_deja_enregistre' => 'Este endereço de e-mail já está cadastrado, você pode usar a sua senha habitual.',
258
+    'form_forum_identifiant_mail' => 'Seu novo login foi enviado por e-mail.',
259
+    'form_forum_identifiants' => 'Identificadores pessoais',
260
+    '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.',
261
+    'form_forum_login' => 'login:',
262
+    'form_forum_message_auto' => '(esta é uma mensagem automática)',
263
+    'form_forum_pass' => 'senha:',
264
+    'form_forum_probleme_mail' => 'Problema de e-mail: o identificador não pôde ser enviado.',
265
+    'form_forum_voici1' => 'Estes são os seus identificadores para que você possa participar da vida do site "@nom_site_spip@" (@adresse_site@):',
266
+    'form_forum_voici2' => 'Estes são os seus identificadores para que você possa propor matérias ao site "@nom_site_spip@" (@adresse_login@):',
267
+    'form_indiquer_email' => 'Por favor, informe o seu endereço de e-mail.',
268
+    'form_indiquer_nom' => 'Por favor, informe o seu nome.',
269
+    'form_indiquer_nom_site' => 'Por favor, informe o nome do seu site.',
270
+    'form_pet_deja_enregistre' => 'Este site já está cadastrado',
271
+    'form_pet_signature_pasprise' => 'Sua assinatura não foi computada.',
272
+    'form_prop_confirmer_envoi' => 'Confirmar o envio',
273
+    'form_prop_description' => 'Descrição / comentário',
274
+    'form_prop_enregistre' => 'Sua proposta foi cadastrada, ela aparecerá online após ser validada pelos responsáveis deste site.',
275
+    'form_prop_envoyer' => 'Enviar uma mensagem',
276
+    'form_prop_indiquer_email' => 'Por favor, indique um endereço de e-mail válido',
277
+    'form_prop_indiquer_nom_site' => 'Por favor, informe o nome do site.',
278
+    'form_prop_indiquer_sujet' => 'Por favor, informe um assunto',
279
+    'form_prop_message_envoye' => 'Mensagem enviada',
280
+    'form_prop_non_enregistre' => 'Sua proposta não foi cadastrada.',
281
+    'form_prop_sujet' => 'Assunto',
282
+    'form_prop_url_site' => 'Endereço URL do site',
283
+    'format_date_attendu' => 'Inserir uma data no formato dd/mm/aaaa.',
284
+    'format_date_incorrecte' => 'A data e o seu formato está incorreta',
285
+    'format_heure_attendu' => 'Inserir uma hora no formato hh:mm.',
286
+    'format_heure_incorrecte' => 'A hora e o seu formato está incorreta',
287
+    'forum_non_inscrit' => 'Você não está inscrito, ou o endereço ou a senha estão errados.',
288
+    'forum_par_auteur' => 'por @auteur@',
289
+    'forum_titre_erreur' => 'Erro...',
290 290
 
291
-	// I
292
-	'ical_texte_rss_articles' => 'O arquivo «backend» das matérias deste site encontra-se no endereço:',
293
-	'ical_texte_rss_articles2' => 'Você pode também obter os arquivos «backend» para as matérias de cada seção do site:',
294
-	'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.',
295
-	'icone_a_suivre' => 'Acompanhar',
296
-	'icone_admin_site' => 'Administração do site',
297
-	'icone_agenda' => 'Agenda',
298
-	'icone_aide_ligne' => 'Ajuda',
299
-	'icone_articles' => 'Matérias',
300
-	'icone_auteurs' => 'Autores',
301
-	'icone_brouteur' => 'Navegação rápida',
302
-	'icone_configuration_site' => 'Configuração',
303
-	'icone_configurer_site' => 'Configurar o seu site',
304
-	'icone_creer_nouvel_auteur' => 'Criar um novo autor',
305
-	'icone_creer_rubrique' => 'Criar uma seção',
306
-	'icone_creer_sous_rubrique' => 'Criar uma subseção',
307
-	'icone_deconnecter' => 'Desconectar-se',
308
-	'icone_discussions' => 'Discussões',
309
-	'icone_doc_rubrique' => 'Documentos das seções',
310
-	'icone_ecrire_article' => 'Escrever uma nova matéria',
311
-	'icone_edition_site' => 'Edição',
312
-	'icone_gestion_langues' => 'Gerenciamento de idiomas',
313
-	'icone_informations_personnelles' => 'Informações pessoais',
314
-	'icone_interface_complet' => 'interface completa',
315
-	'icone_interface_simple' => 'Interface simplificada',
316
-	'icone_maintenance_site' => 'Manutenção do site',
317
-	'icone_messagerie_personnelle' => 'Mensagens pessoais',
318
-	'icone_repartition_debut' => 'Exibir a repartição após o início',
319
-	'icone_rubriques' => 'Seções',
320
-	'icone_sauver_site' => 'Backup do site',
321
-	'icone_site_entier' => 'Todo o site',
322
-	'icone_sites_references' => 'Sites referenciados',
323
-	'icone_statistiques' => 'Estatísticas do site',
324
-	'icone_suivi_activite' => 'Acompanhar a vida do site',
325
-	'icone_suivi_actualite' => 'Evolução do site',
326
-	'icone_suivi_pettions' => 'Acompanhar / gerenciar as petições',
327
-	'icone_suivi_revisions' => 'Modificações das matérias',
328
-	'icone_supprimer_document' => 'Suprimir este documento',
329
-	'icone_supprimer_image' => 'Suprimir esta imagem',
330
-	'icone_tous_articles' => 'Todas as suas matérias',
331
-	'icone_tous_auteur' => 'Todos os autores',
332
-	'icone_tous_visiteur' => 'Todos os visitantes',
333
-	'icone_visiter_site' => 'Ver o site público',
334
-	'icone_voir_en_ligne' => 'Ver online',
335
-	'img_indisponible' => 'imagem indisponível',
336
-	'impossible' => 'impossível',
337
-	'info_a_suivre' => 'ACOMPANHAR»',
338
-	'info_acces_interdit' => 'Acesso interdito',
339
-	'info_acces_refuse' => 'Acesso recusado',
340
-	'info_action' => 'Ação: @action@',
341
-	'info_administrer_rubriques' => 'Você pode administrar esta seção e suas subseções',
342
-	'info_adresse_non_indiquee' => 'Você não informou o endereço a testar!',
343
-	'info_aide' => 'AJUDA:',
344
-	'info_ajouter_mot' => 'Incluir esta palavra',
345
-	'info_annonce' => 'AVISO',
346
-	'info_annonces_generales' => 'Avisos gerais:',
347
-	'info_article_propose' => 'Matéria proposta',
348
-	'info_article_publie' => 'Matéria publicada',
349
-	'info_article_redaction' => 'Matéria em fase de redação',
350
-	'info_article_refuse' => 'Matéria recusada',
351
-	'info_article_supprime' => 'Matéria suprimida',
352
-	'info_articles' => 'Matérias',
353
-	'info_articles_a_valider' => 'As matérias para validar',
354
-	'info_articles_nb' => '@nb@ matérias',
355
-	'info_articles_proposes' => 'Matérias propostas',
356
-	'info_articles_un' => '1 matéria',
357
-	'info_auteurs_nombre' => 'autor(es):',
358
-	'info_authentification_ftp' => 'Autenticação (por FTP).',
359
-	'info_breves_2' => 'notas',
360
-	'info_breves_nb' => '@nb@ notas',
361
-	'info_breves_un' => '1 nota',
362
-	'info_connexion_refusee' => 'Conexão recusada',
363
-	'info_contact_developpeur' => 'Por favor, contate um desenvolvedor.',
364
-	'info_contenance' => 'Este site contém:',
365
-	'info_contribution' => 'contribuições',
366
-	'info_copyright' => '@spip@ é um software livre distribuído @lien_gpl@.',
367
-	'info_copyright_doc' => 'Para mais informações, veja o site <a href="@spipnet@">@spipnet_affiche@</a>.',
368
-	'info_copyright_gpl' => 'sob licença GPL',
369
-	'info_cours_edition' => 'Em edição',
370
-	'info_creer_repertoire' => 'Por favor, crie um arquivo ou diretório com o nome:',
371
-	'info_creer_repertoire_2' => 'dentro do subdiretório <b>@repertoire@</b>, e depois:',
372
-	'info_creer_vignette' => 'criação automática do ícone',
373
-	'info_creerdansrubrique_non_autorise' => 'Você não tem permissão para criar um conteúdo nesta seção',
374
-	'info_deplier' => 'Expandir',
375
-	'info_descriptif_nombre' => 'descrição(ões):',
376
-	'info_description' => 'Resumo:',
377
-	'info_description_2' => 'Resumo:',
378
-	'info_dimension' => 'Dimensões:',
379
-	'info_documents_nb' => '@nb@ documentos',
380
-	'info_documents_un' => '1 documento',
381
-	'info_ecire_message_prive' => 'Escrever uma mensagem privada',
382
-	'info_email_invalide' => 'Endereço de e-mail inválido.',
383
-	'info_en_cours_validation' => 'Suas matérias em fase de redação',
384
-	'info_en_ligne' => 'Atualmente online:',
385
-	'info_envoyer_message_prive' => 'Enviar uma mensagem privada a este autor',
386
-	'info_erreur_requete' => 'Erro na requisição:',
387
-	'info_erreur_squelette2' => 'Nenhum template <b>@fichier@</b> está disponível...',
388
-	'info_erreur_systeme' => 'Erro do sistema (errno @errsys@)',
389
-	'info_erreur_systeme2' => 'É possível que não haja espaço livre em disco, ou que a base de dados esteja corrompida.<br />
291
+    // I
292
+    'ical_texte_rss_articles' => 'O arquivo «backend» das matérias deste site encontra-se no endereço:',
293
+    'ical_texte_rss_articles2' => 'Você pode também obter os arquivos «backend» para as matérias de cada seção do site:',
294
+    '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.',
295
+    'icone_a_suivre' => 'Acompanhar',
296
+    'icone_admin_site' => 'Administração do site',
297
+    'icone_agenda' => 'Agenda',
298
+    'icone_aide_ligne' => 'Ajuda',
299
+    'icone_articles' => 'Matérias',
300
+    'icone_auteurs' => 'Autores',
301
+    'icone_brouteur' => 'Navegação rápida',
302
+    'icone_configuration_site' => 'Configuração',
303
+    'icone_configurer_site' => 'Configurar o seu site',
304
+    'icone_creer_nouvel_auteur' => 'Criar um novo autor',
305
+    'icone_creer_rubrique' => 'Criar uma seção',
306
+    'icone_creer_sous_rubrique' => 'Criar uma subseção',
307
+    'icone_deconnecter' => 'Desconectar-se',
308
+    'icone_discussions' => 'Discussões',
309
+    'icone_doc_rubrique' => 'Documentos das seções',
310
+    'icone_ecrire_article' => 'Escrever uma nova matéria',
311
+    'icone_edition_site' => 'Edição',
312
+    'icone_gestion_langues' => 'Gerenciamento de idiomas',
313
+    'icone_informations_personnelles' => 'Informações pessoais',
314
+    'icone_interface_complet' => 'interface completa',
315
+    'icone_interface_simple' => 'Interface simplificada',
316
+    'icone_maintenance_site' => 'Manutenção do site',
317
+    'icone_messagerie_personnelle' => 'Mensagens pessoais',
318
+    'icone_repartition_debut' => 'Exibir a repartição após o início',
319
+    'icone_rubriques' => 'Seções',
320
+    'icone_sauver_site' => 'Backup do site',
321
+    'icone_site_entier' => 'Todo o site',
322
+    'icone_sites_references' => 'Sites referenciados',
323
+    'icone_statistiques' => 'Estatísticas do site',
324
+    'icone_suivi_activite' => 'Acompanhar a vida do site',
325
+    'icone_suivi_actualite' => 'Evolução do site',
326
+    'icone_suivi_pettions' => 'Acompanhar / gerenciar as petições',
327
+    'icone_suivi_revisions' => 'Modificações das matérias',
328
+    'icone_supprimer_document' => 'Suprimir este documento',
329
+    'icone_supprimer_image' => 'Suprimir esta imagem',
330
+    'icone_tous_articles' => 'Todas as suas matérias',
331
+    'icone_tous_auteur' => 'Todos os autores',
332
+    'icone_tous_visiteur' => 'Todos os visitantes',
333
+    'icone_visiter_site' => 'Ver o site público',
334
+    'icone_voir_en_ligne' => 'Ver online',
335
+    'img_indisponible' => 'imagem indisponível',
336
+    'impossible' => 'impossível',
337
+    'info_a_suivre' => 'ACOMPANHAR»',
338
+    'info_acces_interdit' => 'Acesso interdito',
339
+    'info_acces_refuse' => 'Acesso recusado',
340
+    'info_action' => 'Ação: @action@',
341
+    'info_administrer_rubriques' => 'Você pode administrar esta seção e suas subseções',
342
+    'info_adresse_non_indiquee' => 'Você não informou o endereço a testar!',
343
+    'info_aide' => 'AJUDA:',
344
+    'info_ajouter_mot' => 'Incluir esta palavra',
345
+    'info_annonce' => 'AVISO',
346
+    'info_annonces_generales' => 'Avisos gerais:',
347
+    'info_article_propose' => 'Matéria proposta',
348
+    'info_article_publie' => 'Matéria publicada',
349
+    'info_article_redaction' => 'Matéria em fase de redação',
350
+    'info_article_refuse' => 'Matéria recusada',
351
+    'info_article_supprime' => 'Matéria suprimida',
352
+    'info_articles' => 'Matérias',
353
+    'info_articles_a_valider' => 'As matérias para validar',
354
+    'info_articles_nb' => '@nb@ matérias',
355
+    'info_articles_proposes' => 'Matérias propostas',
356
+    'info_articles_un' => '1 matéria',
357
+    'info_auteurs_nombre' => 'autor(es):',
358
+    'info_authentification_ftp' => 'Autenticação (por FTP).',
359
+    'info_breves_2' => 'notas',
360
+    'info_breves_nb' => '@nb@ notas',
361
+    'info_breves_un' => '1 nota',
362
+    'info_connexion_refusee' => 'Conexão recusada',
363
+    'info_contact_developpeur' => 'Por favor, contate um desenvolvedor.',
364
+    'info_contenance' => 'Este site contém:',
365
+    'info_contribution' => 'contribuições',
366
+    'info_copyright' => '@spip@ é um software livre distribuído @lien_gpl@.',
367
+    'info_copyright_doc' => 'Para mais informações, veja o site <a href="@spipnet@">@spipnet_affiche@</a>.',
368
+    'info_copyright_gpl' => 'sob licença GPL',
369
+    'info_cours_edition' => 'Em edição',
370
+    'info_creer_repertoire' => 'Por favor, crie um arquivo ou diretório com o nome:',
371
+    'info_creer_repertoire_2' => 'dentro do subdiretório <b>@repertoire@</b>, e depois:',
372
+    'info_creer_vignette' => 'criação automática do ícone',
373
+    'info_creerdansrubrique_non_autorise' => 'Você não tem permissão para criar um conteúdo nesta seção',
374
+    'info_deplier' => 'Expandir',
375
+    'info_descriptif_nombre' => 'descrição(ões):',
376
+    'info_description' => 'Resumo:',
377
+    'info_description_2' => 'Resumo:',
378
+    'info_dimension' => 'Dimensões:',
379
+    'info_documents_nb' => '@nb@ documentos',
380
+    'info_documents_un' => '1 documento',
381
+    'info_ecire_message_prive' => 'Escrever uma mensagem privada',
382
+    'info_email_invalide' => 'Endereço de e-mail inválido.',
383
+    'info_en_cours_validation' => 'Suas matérias em fase de redação',
384
+    'info_en_ligne' => 'Atualmente online:',
385
+    'info_envoyer_message_prive' => 'Enviar uma mensagem privada a este autor',
386
+    'info_erreur_requete' => 'Erro na requisição:',
387
+    'info_erreur_squelette2' => 'Nenhum template <b>@fichier@</b> está disponível...',
388
+    'info_erreur_systeme' => 'Erro do sistema (errno @errsys@)',
389
+    'info_erreur_systeme2' => 'É possível que não haja espaço livre em disco, ou que a base de dados esteja corrompida.<br />
390 390
 <span style="color:red;">Tente <a href=\'@script@\'>reparar a base</a>, ou contate o seu serviço de hospedagem.</span>',
391
-	'info_fini' => 'Terminou!',
392
-	'info_format_image' => 'Formatos das imagens que podem ser utilizados para criar os ícones @gd_formats@.',
393
-	'info_format_non_defini' => 'formato não definido',
394
-	'info_grand_ecran' => 'Alta resolução',
395
-	'info_image_aide' => 'AJUDA',
396
-	'info_image_process_titre' => 'Método de criação dos ícones',
397
-	'info_impossible_lire_page' => '<b>Erro!</b> Impossível ler a página <tt><html>@test_proxy@</html></tt> via proxy',
398
-	'info_installation_systeme_publication' => 'Instalação do sistema de publicação...',
399
-	'info_installer_documents' => 'Você pode instalar automaticamente todos os documentos contídos no diretório @upload@.',
400
-	'info_installer_ftp' => 'Como administrador, você pode transferir (por FTP) arquivos para o diretório @upload@ para, em seguida, selecioná-los aqui diretamente.',
401
-	'info_installer_images' => 'Você pode transferir imagens nos formatos JPEG, GIF e PNG.',
402
-	'info_installer_images_dossier' => 'Transferir as imagens para o diretório @upload@ para poder selecioná-las aqui.',
403
-	'info_interface_complete' => 'interface completa',
404
-	'info_interface_simple' => 'Interface simplificada',
405
-	'info_joindre_document_article' => 'Você pode anexar a esta matéria documentos dos tipos a seguir',
406
-	'info_joindre_document_rubrique' => 'Você pode anexar a esta seção documentos dos tipos a seguir',
407
-	'info_joindre_documents_article' => 'Você pode anexar à sua matéria documentos dos tipos a seguir:',
408
-	'info_l_article' => 'a matéria',
409
-	'info_la_breve' => 'a nota',
410
-	'info_la_rubrique' => 'a seção',
411
-	'info_langue_principale' => 'Idioma principal do site',
412
-	'info_largeur_vignette' => '@largeur_vignette@ × @hauteur_vignette@ pixels',
413
-	'info_les_auteurs_1' => 'por @les_auteurs@',
414
-	'info_logo_format_interdit' => 'Apenas os ícones nos formatos @formats@ estão autorizados.',
415
-	'info_logo_max_poids' => 'Os ícones devem obrigatoriamente ter menos de @maxi@ (este arquivo tem @actuel@).',
416
-	'info_mail_fournisseur' => '[email protected]',
417
-	'info_message_2' => 'MENSAGEM',
418
-	'info_message_supprime' => 'MENSAGEM EXCLUÍDA',
419
-	'info_messages_nb' => '@nb@ mensagens',
420
-	'info_messages_un' => '1 mensagem',
421
-	'info_mise_en_ligne' => 'Data de publicação online:',
422
-	'info_modification_parametres_securite' => 'modificações dos parâmetros de segurança',
423
-	'info_mois_courant' => 'No mês corrente:',
424
-	'info_mot_cle_ajoute' => 'A palavra-chave a seguir foi associada a',
425
-	'info_multi_herit' => 'Idioma padrão',
426
-	'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.',
427
-	'info_multilinguisme' => 'Multilinguismo',
428
-	'info_nom_non_utilisateurs_connectes' => 'Seu nome não aparece na relação de usuários conectados.',
429
-	'info_nom_utilisateurs_connectes' => 'Seu nome aparecerá na relação de usuários conectados.',
430
-	'info_nombre_en_ligne' => 'Online neste momento:',
431
-	'info_non_resultat' => 'Nenhum resultados para "@cherche_mot@"',
432
-	'info_non_utilisation_messagerie' => 'Você não utiliza o sistema de mensagens deste site.',
433
-	'info_nouveau_message' => 'VOCÊ TEM UMA NOVA MENSAGEM',
434
-	'info_nouveaux_messages' => 'VOCÊ TEM @total_messages@ MENSAGENS NOVAS',
435
-	'info_numero_abbreviation' => 'N° ',
436
-	'info_obligatoire' => 'Esta informação é obrigatória',
437
-	'info_page_actuelle' => 'Página atual',
438
-	'info_pense_bete' => 'LEMBRETE',
439
-	'info_petit_ecran' => 'Baixa resolução',
440
-	'info_petition_close' => 'Petição fechada',
441
-	'info_pixels' => 'pixels',
442
-	'info_plusieurs_mots_trouves' => 'Várias palavras-chave encontradas para "@cherche_mot@":',
443
-	'info_portfolio_automatique' => 'Portfólio automático:',
444
-	'info_premier_resultat' => '[@debut_limit@ primeiros resultados de @total@]',
445
-	'info_premier_resultat_sur' => '[@debut_limit@ primeiros resultados de @total@]',
446
-	'info_propose_1' => '[@nom_site_spip@] Propõe: @titre@',
447
-	'info_propose_2' => 'Matéria proposta
391
+    'info_fini' => 'Terminou!',
392
+    'info_format_image' => 'Formatos das imagens que podem ser utilizados para criar os ícones @gd_formats@.',
393
+    'info_format_non_defini' => 'formato não definido',
394
+    'info_grand_ecran' => 'Alta resolução',
395
+    'info_image_aide' => 'AJUDA',
396
+    'info_image_process_titre' => 'Método de criação dos ícones',
397
+    'info_impossible_lire_page' => '<b>Erro!</b> Impossível ler a página <tt><html>@test_proxy@</html></tt> via proxy',
398
+    'info_installation_systeme_publication' => 'Instalação do sistema de publicação...',
399
+    'info_installer_documents' => 'Você pode instalar automaticamente todos os documentos contídos no diretório @upload@.',
400
+    'info_installer_ftp' => 'Como administrador, você pode transferir (por FTP) arquivos para o diretório @upload@ para, em seguida, selecioná-los aqui diretamente.',
401
+    'info_installer_images' => 'Você pode transferir imagens nos formatos JPEG, GIF e PNG.',
402
+    'info_installer_images_dossier' => 'Transferir as imagens para o diretório @upload@ para poder selecioná-las aqui.',
403
+    'info_interface_complete' => 'interface completa',
404
+    'info_interface_simple' => 'Interface simplificada',
405
+    'info_joindre_document_article' => 'Você pode anexar a esta matéria documentos dos tipos a seguir',
406
+    'info_joindre_document_rubrique' => 'Você pode anexar a esta seção documentos dos tipos a seguir',
407
+    'info_joindre_documents_article' => 'Você pode anexar à sua matéria documentos dos tipos a seguir:',
408
+    'info_l_article' => 'a matéria',
409
+    'info_la_breve' => 'a nota',
410
+    'info_la_rubrique' => 'a seção',
411
+    'info_langue_principale' => 'Idioma principal do site',
412
+    'info_largeur_vignette' => '@largeur_vignette@ × @hauteur_vignette@ pixels',
413
+    'info_les_auteurs_1' => 'por @les_auteurs@',
414
+    'info_logo_format_interdit' => 'Apenas os ícones nos formatos @formats@ estão autorizados.',
415
+    'info_logo_max_poids' => 'Os ícones devem obrigatoriamente ter menos de @maxi@ (este arquivo tem @actuel@).',
416
+    'info_mail_fournisseur' => '[email protected]',
417
+    'info_message_2' => 'MENSAGEM',
418
+    'info_message_supprime' => 'MENSAGEM EXCLUÍDA',
419
+    'info_messages_nb' => '@nb@ mensagens',
420
+    'info_messages_un' => '1 mensagem',
421
+    'info_mise_en_ligne' => 'Data de publicação online:',
422
+    'info_modification_parametres_securite' => 'modificações dos parâmetros de segurança',
423
+    'info_mois_courant' => 'No mês corrente:',
424
+    'info_mot_cle_ajoute' => 'A palavra-chave a seguir foi associada a',
425
+    'info_multi_herit' => 'Idioma padrão',
426
+    '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.',
427
+    'info_multilinguisme' => 'Multilinguismo',
428
+    'info_nom_non_utilisateurs_connectes' => 'Seu nome não aparece na relação de usuários conectados.',
429
+    'info_nom_utilisateurs_connectes' => 'Seu nome aparecerá na relação de usuários conectados.',
430
+    'info_nombre_en_ligne' => 'Online neste momento:',
431
+    'info_non_resultat' => 'Nenhum resultados para "@cherche_mot@"',
432
+    'info_non_utilisation_messagerie' => 'Você não utiliza o sistema de mensagens deste site.',
433
+    'info_nouveau_message' => 'VOCÊ TEM UMA NOVA MENSAGEM',
434
+    'info_nouveaux_messages' => 'VOCÊ TEM @total_messages@ MENSAGENS NOVAS',
435
+    'info_numero_abbreviation' => 'N° ',
436
+    'info_obligatoire' => 'Esta informação é obrigatória',
437
+    'info_page_actuelle' => 'Página atual',
438
+    'info_pense_bete' => 'LEMBRETE',
439
+    'info_petit_ecran' => 'Baixa resolução',
440
+    'info_petition_close' => 'Petição fechada',
441
+    'info_pixels' => 'pixels',
442
+    'info_plusieurs_mots_trouves' => 'Várias palavras-chave encontradas para "@cherche_mot@":',
443
+    'info_portfolio_automatique' => 'Portfólio automático:',
444
+    'info_premier_resultat' => '[@debut_limit@ primeiros resultados de @total@]',
445
+    'info_premier_resultat_sur' => '[@debut_limit@ primeiros resultados de @total@]',
446
+    'info_propose_1' => '[@nom_site_spip@] Propõe: @titre@',
447
+    'info_propose_2' => 'Matéria proposta
448 448
 ----------------',
449
-	'info_propose_3' => 'A matéria "@titre@" foi proposta para publicação.',
450
-	'info_propose_4' => 'Você está convidado a consultá-la e dar sua opinião',
451
-	'info_propose_5' => 'no fórum a ela anexado. Ela está disponível no endereço:',
452
-	'info_publie_01' => 'A matéria "@titre@" foi validada por @connect_nom@.',
453
-	'info_publie_1' => '[@nom_site_spip@] PUBLICADO: @titre@',
454
-	'info_publie_2' => 'Matéria publicada
449
+    'info_propose_3' => 'A matéria "@titre@" foi proposta para publicação.',
450
+    'info_propose_4' => 'Você está convidado a consultá-la e dar sua opinião',
451
+    'info_propose_5' => 'no fórum a ela anexado. Ela está disponível no endereço:',
452
+    'info_publie_01' => 'A matéria "@titre@" foi validada por @connect_nom@.',
453
+    'info_publie_1' => '[@nom_site_spip@] PUBLICADO: @titre@',
454
+    'info_publie_2' => 'Matéria publicada
455 455
 -----------------',
456
-	'info_rechercher' => 'Procurar',
457
-	'info_rechercher_02' => 'Procurar:',
458
-	'info_remplacer_vignette' => 'Substituir o ícone padrão por um logo personalizado:',
459
-	'info_rubriques_nb' => '@nb@ seções',
460
-	'info_rubriques_un' => '1 seção',
461
-	'info_sans_titre_2' => 'sem título',
462
-	'info_selectionner_fichier' => 'Você pode escolher um arquivo do diretório @upload@',
463
-	'info_selectionner_fichier_2' => 'Selecionar um arquivo:',
464
-	'info_sites_nb' => '@nb@ sites',
465
-	'info_sites_un' => '1 site',
466
-	'info_supprimer_vignette' => 'excluir o ícone',
467
-	'info_symbole_bleu' => 'O ícone <b>azul</b> indica um <b>lembrete</b>: ou seja, uma mensagem para seu uso pessoal.',
468
-	'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.',
469
-	'info_symbole_vert' => 'O ícone <b>verde</b> indica as  <b>mensagens trocadas com outros usuários</b> do site.',
470
-	'info_telecharger_nouveau_logo' => 'Transferir um novo logo:',
471
-	'info_telecharger_ordinateur' => 'Tranferir do seu computador:',
472
-	'info_tous_resultats_enregistres' => '[todos os resultados são gravados]',
473
-	'info_tout_afficher' => 'Mostrar todas',
474
-	'info_travaux_texte' => 'Este site ainda não está configurado. Volte mais tarde...',
475
-	'info_travaux_titre' => 'Site em manutenção',
476
-	'info_trop_resultat' => 'Resultados de mais para "@cherche_mot@"; por favor, refine a busca.',
477
-	'info_utilisation_messagerie_interne' => 'Você usa o sistema interno de mensagens deste site.',
478
-	'info_valider_lien' => 'validar este link',
479
-	'info_verifier_image' => ', verifique se as suas imagens foram transferidas corretamente.',
480
-	'info_vignette_defaut' => 'Ícone padrão',
481
-	'info_vignette_personnalisee' => 'Ícone personalizado',
482
-	'info_visite' => 'visita:',
483
-	'info_vos_rendez_vous' => 'Seus encontros futuros',
484
-	'infos_vos_pense_bete' => 'Seus lembretes',
456
+    'info_rechercher' => 'Procurar',
457
+    'info_rechercher_02' => 'Procurar:',
458
+    'info_remplacer_vignette' => 'Substituir o ícone padrão por um logo personalizado:',
459
+    'info_rubriques_nb' => '@nb@ seções',
460
+    'info_rubriques_un' => '1 seção',
461
+    'info_sans_titre_2' => 'sem título',
462
+    'info_selectionner_fichier' => 'Você pode escolher um arquivo do diretório @upload@',
463
+    'info_selectionner_fichier_2' => 'Selecionar um arquivo:',
464
+    'info_sites_nb' => '@nb@ sites',
465
+    'info_sites_un' => '1 site',
466
+    'info_supprimer_vignette' => 'excluir o ícone',
467
+    'info_symbole_bleu' => 'O ícone <b>azul</b> indica um <b>lembrete</b>: ou seja, uma mensagem para seu uso pessoal.',
468
+    '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.',
469
+    'info_symbole_vert' => 'O ícone <b>verde</b> indica as  <b>mensagens trocadas com outros usuários</b> do site.',
470
+    'info_telecharger_nouveau_logo' => 'Transferir um novo logo:',
471
+    'info_telecharger_ordinateur' => 'Tranferir do seu computador:',
472
+    'info_tous_resultats_enregistres' => '[todos os resultados são gravados]',
473
+    'info_tout_afficher' => 'Mostrar todas',
474
+    'info_travaux_texte' => 'Este site ainda não está configurado. Volte mais tarde...',
475
+    'info_travaux_titre' => 'Site em manutenção',
476
+    'info_trop_resultat' => 'Resultados de mais para "@cherche_mot@"; por favor, refine a busca.',
477
+    'info_utilisation_messagerie_interne' => 'Você usa o sistema interno de mensagens deste site.',
478
+    'info_valider_lien' => 'validar este link',
479
+    'info_verifier_image' => ', verifique se as suas imagens foram transferidas corretamente.',
480
+    'info_vignette_defaut' => 'Ícone padrão',
481
+    'info_vignette_personnalisee' => 'Ícone personalizado',
482
+    'info_visite' => 'visita:',
483
+    'info_vos_rendez_vous' => 'Seus encontros futuros',
484
+    'infos_vos_pense_bete' => 'Seus lembretes',
485 485
 
486
-	// L
487
-	'label_ajout_id_rapide' => 'Ajuda rápida',
488
-	'label_poids_fichier' => 'Tamanho',
489
-	'label_ponctuer' => '@label@ :', # MODIF
490
-	'lien_afficher_icones_seuls' => 'Exibir apenas os ícones',
491
-	'lien_afficher_texte_icones' => 'Exibir ícones e texto',
492
-	'lien_afficher_texte_seul' => 'Exibir apenas o texto',
493
-	'lien_aller_a_la_derniere_page' => 'Ir para a última página',
494
-	'lien_aller_a_la_page_nb' => 'Ir para a página @nb@',
495
-	'lien_aller_a_la_page_precedente' => 'Ir para a página anterior',
496
-	'lien_aller_a_la_page_suivante' => 'Ir para a página seguinte',
497
-	'lien_aller_a_la_premiere_page' => 'Ir para a primeira página',
498
-	'lien_liberer' => 'liberar',
499
-	'lien_liberer_tous' => 'liberar todas',
500
-	'lien_nouvea_pense_bete' => 'NOVO LEMBRETE',
501
-	'lien_nouveau_message' => 'NOVA MENSAGEM',
502
-	'lien_nouvelle_annonce' => 'NOVO ANÚNCIO',
503
-	'lien_petitions' => 'PETIÇÃO',
504
-	'lien_popularite' => 'popularidade: @popularite@%',
505
-	'lien_racine_site' => 'RAIZ DO SITE',
506
-	'lien_reessayer' => 'tente novamente',
507
-	'lien_repondre_message' => 'Responder a esta mensagem',
508
-	'lien_supprimer' => 'excluir',
509
-	'lien_tout_afficher' => 'Mostrar tudo',
510
-	'lien_visite_site' => 'visitar este site',
511
-	'lien_visites' => '@visites@ visitas',
512
-	'lien_voir_auteur' => 'Ver este autor',
513
-	'ligne' => 'Linha',
514
-	'login' => 'Conexão',
515
-	'login_acces_prive' => 'acesso ao espaço privado',
516
-	'login_autre_identifiant' => 'conectar-se com outra identificação',
517
-	'login_cookie_accepte' => 'Por favor, configure o seu navegador para aceitá-los (pelo menos para este site).',
518
-	'login_cookie_oblige' => 'Para você se identificar de modo seguro neste site, você precisa aceitar cookies.',
519
-	'login_deconnexion_ok' => 'Desconexão efetuada.',
520
-	'login_erreur_pass' => 'Erro de senha.',
521
-	'login_espace_prive' => 'espaço privado',
522
-	'login_identifiant_inconnu' => 'O identificador «@login@» não está cadastrado.',
523
-	'login_login' => 'Login:',
524
-	'login_login2' => 'Login',
525
-	'login_login_pass_incorrect' => '(Login ou senha incorreta.)',
526
-	'login_motpasseoublie' => 'esqueceu sua senha?',
527
-	'login_non_securise' => 'Atenção, este formulário não é seguro.
486
+    // L
487
+    'label_ajout_id_rapide' => 'Ajuda rápida',
488
+    'label_poids_fichier' => 'Tamanho',
489
+    'label_ponctuer' => '@label@ :', # MODIF
490
+    'lien_afficher_icones_seuls' => 'Exibir apenas os ícones',
491
+    'lien_afficher_texte_icones' => 'Exibir ícones e texto',
492
+    'lien_afficher_texte_seul' => 'Exibir apenas o texto',
493
+    'lien_aller_a_la_derniere_page' => 'Ir para a última página',
494
+    'lien_aller_a_la_page_nb' => 'Ir para a página @nb@',
495
+    'lien_aller_a_la_page_precedente' => 'Ir para a página anterior',
496
+    'lien_aller_a_la_page_suivante' => 'Ir para a página seguinte',
497
+    'lien_aller_a_la_premiere_page' => 'Ir para a primeira página',
498
+    'lien_liberer' => 'liberar',
499
+    'lien_liberer_tous' => 'liberar todas',
500
+    'lien_nouvea_pense_bete' => 'NOVO LEMBRETE',
501
+    'lien_nouveau_message' => 'NOVA MENSAGEM',
502
+    'lien_nouvelle_annonce' => 'NOVO ANÚNCIO',
503
+    'lien_petitions' => 'PETIÇÃO',
504
+    'lien_popularite' => 'popularidade: @popularite@%',
505
+    'lien_racine_site' => 'RAIZ DO SITE',
506
+    'lien_reessayer' => 'tente novamente',
507
+    'lien_repondre_message' => 'Responder a esta mensagem',
508
+    'lien_supprimer' => 'excluir',
509
+    'lien_tout_afficher' => 'Mostrar tudo',
510
+    'lien_visite_site' => 'visitar este site',
511
+    'lien_visites' => '@visites@ visitas',
512
+    'lien_voir_auteur' => 'Ver este autor',
513
+    'ligne' => 'Linha',
514
+    'login' => 'Conexão',
515
+    'login_acces_prive' => 'acesso ao espaço privado',
516
+    'login_autre_identifiant' => 'conectar-se com outra identificação',
517
+    'login_cookie_accepte' => 'Por favor, configure o seu navegador para aceitá-los (pelo menos para este site).',
518
+    'login_cookie_oblige' => 'Para você se identificar de modo seguro neste site, você precisa aceitar cookies.',
519
+    'login_deconnexion_ok' => 'Desconexão efetuada.',
520
+    'login_erreur_pass' => 'Erro de senha.',
521
+    'login_espace_prive' => 'espaço privado',
522
+    'login_identifiant_inconnu' => 'O identificador «@login@» não está cadastrado.',
523
+    'login_login' => 'Login:',
524
+    'login_login2' => 'Login',
525
+    'login_login_pass_incorrect' => '(Login ou senha incorreta.)',
526
+    'login_motpasseoublie' => 'esqueceu sua senha?',
527
+    'login_non_securise' => 'Atenção, este formulário não é seguro.
528 528
 Se você não quiser que a sua senha possa ser interceptada na rede, por favor ative o Javascript no seu navegador e',
529
-	'login_nouvelle_tentative' => 'Tentar novamente',
530
-	'login_par_ici' => 'VocÊ está registrado... por aqui...',
531
-	'login_pass2' => 'Senha:',
532
-	'login_preferez_refuser' => '<b>Se você prefere recusar os cookies</b>, um outro método de conexão (menos seguro) está disponível:',
533
-	'login_recharger' => 'atualizar esta página',
534
-	'login_rester_identifie' => 'Manter-se identificado',
535
-	'login_retour_public' => 'Voltar ao site público',
536
-	'login_retour_site' => 'Voltar ao site público',
537
-	'login_retoursitepublic' => 'voltar ao site público',
538
-	'login_sans_cookie' => 'Identificação sem cookie',
539
-	'login_securise' => 'Login seguro',
540
-	'login_sinscrire' => 'cadastrar-se',
541
-	'login_test_navigateur' => 'testar navegador/reconexão',
542
-	'login_verifiez_navigateur' => '(Verifique sempre se o seu navegador não está memorizando a sua senha...)',
529
+    'login_nouvelle_tentative' => 'Tentar novamente',
530
+    'login_par_ici' => 'VocÊ está registrado... por aqui...',
531
+    'login_pass2' => 'Senha:',
532
+    'login_preferez_refuser' => '<b>Se você prefere recusar os cookies</b>, um outro método de conexão (menos seguro) está disponível:',
533
+    'login_recharger' => 'atualizar esta página',
534
+    'login_rester_identifie' => 'Manter-se identificado',
535
+    'login_retour_public' => 'Voltar ao site público',
536
+    'login_retour_site' => 'Voltar ao site público',
537
+    'login_retoursitepublic' => 'voltar ao site público',
538
+    'login_sans_cookie' => 'Identificação sem cookie',
539
+    'login_securise' => 'Login seguro',
540
+    'login_sinscrire' => 'cadastrar-se',
541
+    'login_test_navigateur' => 'testar navegador/reconexão',
542
+    'login_verifiez_navigateur' => '(Verifique sempre se o seu navegador não está memorizando a sua senha...)',
543 543
 
544
-	// M
545
-	'masquer_colonne' => 'Ocultar esta coluna',
546
-	'masquer_trad' => 'esconder as traduções',
547
-	'message_nouveaux_identifiants_echec' => 'Impossível criar novos logins.',
548
-	'message_nouveaux_identifiants_echec_envoi' => 'Os novos logins de conexão não puderam ser enviados.',
549
-	'message_nouveaux_identifiants_ok' => 'Os novos logins de conexão foram enviados para @email@.',
550
-	'module_fichiers_langues' => 'Arquivos de idioma',
544
+    // M
545
+    'masquer_colonne' => 'Ocultar esta coluna',
546
+    'masquer_trad' => 'esconder as traduções',
547
+    'message_nouveaux_identifiants_echec' => 'Impossível criar novos logins.',
548
+    'message_nouveaux_identifiants_echec_envoi' => 'Os novos logins de conexão não puderam ser enviados.',
549
+    'message_nouveaux_identifiants_ok' => 'Os novos logins de conexão foram enviados para @email@.',
550
+    'module_fichiers_langues' => 'Arquivos de idioma',
551 551
 
552
-	// N
553
-	'navigateur_pas_redirige' => 'Se o seu navegador não o redirecionar, clique aqui para continuar.',
554
-	'numero' => 'Número',
552
+    // N
553
+    'navigateur_pas_redirige' => 'Se o seu navegador não o redirecionar, clique aqui para continuar.',
554
+    'numero' => 'Número',
555 555
 
556
-	// O
557
-	'occurence' => 'Ocorrência',
558
-	'onglet_affacer_base' => 'Apagar a base',
559
-	'onglet_auteur' => 'O autor',
560
-	'onglet_contenu_site' => 'Conteúdo do site',
561
-	'onglet_evolution_visite_mod' => 'Evolução',
562
-	'onglet_fonctions_avances' => 'Funções avançadas',
563
-	'onglet_informations_personnelles' => 'Informações pessoais',
564
-	'onglet_interactivite' => 'Interatividade',
565
-	'onglet_messagerie' => 'Sistema de mensagens',
566
-	'onglet_repartition_rubrique' => 'Repartição por seções',
567
-	'onglet_save_restaur_base' => 'Fazer cópia de segurança/restaurar a base',
568
-	'onglet_vider_cache' => 'Esvaziar o cache',
556
+    // O
557
+    'occurence' => 'Ocorrência',
558
+    'onglet_affacer_base' => 'Apagar a base',
559
+    'onglet_auteur' => 'O autor',
560
+    'onglet_contenu_site' => 'Conteúdo do site',
561
+    'onglet_evolution_visite_mod' => 'Evolução',
562
+    'onglet_fonctions_avances' => 'Funções avançadas',
563
+    'onglet_informations_personnelles' => 'Informações pessoais',
564
+    'onglet_interactivite' => 'Interatividade',
565
+    'onglet_messagerie' => 'Sistema de mensagens',
566
+    'onglet_repartition_rubrique' => 'Repartição por seções',
567
+    'onglet_save_restaur_base' => 'Fazer cópia de segurança/restaurar a base',
568
+    'onglet_vider_cache' => 'Esvaziar o cache',
569 569
 
570
-	// P
571
-	'pass_choix_pass' => 'Por favor, escolha a sua nova senha:',
572
-	'pass_erreur' => 'Erro',
573
-	'pass_erreur_acces_refuse' => '<b>Erro:</b> você não tem mais acesso a este site.',
574
-	'pass_erreur_code_inconnu' => '<b>Erro:</b> este login não corresponde a nenhum visitante com permissão de acesso a este site.',
575
-	'pass_erreur_non_enregistre' => '<b>Erro:</b> o e-mail <tt>@email_oubli@</tt> não está cadastrado neste site.',
576
-	'pass_erreur_non_valide' => '<b>Erro:</b> o e-mail <tt>@email_oubli@</tt> não é válido!',
577
-	'pass_erreur_probleme_technique' => '<b>Erro:</b> este e-mail não pôde ser enviado devido a um problema técnico.',
578
-	'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.',
579
-	'pass_forum_bla' => 'Você soliciou a participação num fórum reservado a visitantes registrados.',
580
-	'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.',
581
-	'pass_mail_passcookie' => '(esta é uma mensagem automática)
570
+    // P
571
+    'pass_choix_pass' => 'Por favor, escolha a sua nova senha:',
572
+    'pass_erreur' => 'Erro',
573
+    'pass_erreur_acces_refuse' => '<b>Erro:</b> você não tem mais acesso a este site.',
574
+    'pass_erreur_code_inconnu' => '<b>Erro:</b> este login não corresponde a nenhum visitante com permissão de acesso a este site.',
575
+    'pass_erreur_non_enregistre' => '<b>Erro:</b> o e-mail <tt>@email_oubli@</tt> não está cadastrado neste site.',
576
+    'pass_erreur_non_valide' => '<b>Erro:</b> o e-mail <tt>@email_oubli@</tt> não é válido!',
577
+    'pass_erreur_probleme_technique' => '<b>Erro:</b> este e-mail não pôde ser enviado devido a um problema técnico.',
578
+    '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.',
579
+    'pass_forum_bla' => 'Você soliciou a participação num fórum reservado a visitantes registrados.',
580
+    '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.',
581
+    'pass_mail_passcookie' => '(esta é uma mensagem automática)
582 582
 Para recuperar o seu acesso ao site
583 583
 @nom_site_spip@ (@adresse_site@)
584 584
 
@@ -590,136 +590,136 @@  discard block
 block discarded – undo
590 590
 e reconectar-se com o site.
591 591
 
592 592
 ',
593
-	'pass_mot_oublie' => 'Senha esquecida',
594
-	'pass_nouveau_enregistre' => 'Sua nova senha foi cadastrada.',
595
-	'pass_nouveau_pass' => 'Nova senha',
596
-	'pass_ok' => 'OK',
597
-	'pass_oubli_mot' => 'Esquecimento de senha',
598
-	'pass_procedure_changer' => 'Para alterar a sua senha, por favor informe o endereço de e-mail associado à sua conta.',
599
-	'pass_quitter_fenetre' => 'Fechar esta janela',
600
-	'pass_rappel_login' => 'Lembrete: seu login é «@login@».',
601
-	'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).',
602
-	'pass_retour_public' => 'Voltar para o site público',
603
-	'pass_rien_a_faire_ici' => 'Nada a fazer aqui.',
604
-	'pass_vousinscrire' => 'Cadastrar-se neste site',
605
-	'precedent' => 'precedente',
606
-	'previsualisation' => 'Visualização',
607
-	'previsualiser' => 'Visualizar',
593
+    'pass_mot_oublie' => 'Senha esquecida',
594
+    'pass_nouveau_enregistre' => 'Sua nova senha foi cadastrada.',
595
+    'pass_nouveau_pass' => 'Nova senha',
596
+    'pass_ok' => 'OK',
597
+    'pass_oubli_mot' => 'Esquecimento de senha',
598
+    'pass_procedure_changer' => 'Para alterar a sua senha, por favor informe o endereço de e-mail associado à sua conta.',
599
+    'pass_quitter_fenetre' => 'Fechar esta janela',
600
+    'pass_rappel_login' => 'Lembrete: seu login é «@login@».',
601
+    '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).',
602
+    'pass_retour_public' => 'Voltar para o site público',
603
+    'pass_rien_a_faire_ici' => 'Nada a fazer aqui.',
604
+    'pass_vousinscrire' => 'Cadastrar-se neste site',
605
+    'precedent' => 'precedente',
606
+    'previsualisation' => 'Visualização',
607
+    'previsualiser' => 'Visualizar',
608 608
 
609
-	// R
610
-	'retour' => 'Voltar',
609
+    // R
610
+    'retour' => 'Voltar',
611 611
 
612
-	// S
613
-	'spip_conforme_dtd' => 'O SPIP considera este documento de acordo com o seu DOCTYPE:',
614
-	'squelette' => 'template',
615
-	'squelette_inclus_ligne' => 'template incluído, linha',
616
-	'squelette_ligne' => 'template, linha',
617
-	'stats_visites_et_popularite' => '@visites@ visitas; popularidade: @popularite@',
618
-	'suivant' => 'seguinte',
612
+    // S
613
+    'spip_conforme_dtd' => 'O SPIP considera este documento de acordo com o seu DOCTYPE:',
614
+    'squelette' => 'template',
615
+    'squelette_inclus_ligne' => 'template incluído, linha',
616
+    'squelette_ligne' => 'template, linha',
617
+    'stats_visites_et_popularite' => '@visites@ visitas; popularidade: @popularite@',
618
+    'suivant' => 'seguinte',
619 619
 
620
-	// T
621
-	'taille_go' => '@taille@ GB',
622
-	'taille_ko' => '@taille@ KB',
623
-	'taille_mo' => '@taille@ MB',
624
-	'taille_octets' => ' @taille@ bytes',
625
-	'texte_actualite_site_1' => 'Quando você estiver mais familiarizado com a interface, clique em «',
626
-	'texte_actualite_site_2' => 'interface completa',
627
-	'texte_actualite_site_3' => '» para abrir mais possibilidades.',
628
-	'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.',
629
-	'texte_documents_associes' => 'Os documentos a seguir estão associados à matéria,
620
+    // T
621
+    'taille_go' => '@taille@ GB',
622
+    'taille_ko' => '@taille@ KB',
623
+    'taille_mo' => '@taille@ MB',
624
+    'taille_octets' => ' @taille@ bytes',
625
+    'texte_actualite_site_1' => 'Quando você estiver mais familiarizado com a interface, clique em «',
626
+    'texte_actualite_site_2' => 'interface completa',
627
+    'texte_actualite_site_3' => '» para abrir mais possibilidades.',
628
+    '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.',
629
+    'texte_documents_associes' => 'Os documentos a seguir estão associados à matéria,
630 630
 mas eles não foram inseridos diretamente. Dependendo da elaboração dos templates do site público, eles podem aparecer como documentos anexados.',
631
-	'texte_erreur_mise_niveau_base' => 'Erro da base de dados durante a atualização.
631
+    'texte_erreur_mise_niveau_base' => 'Erro da base de dados durante a atualização.
632 632
 A imagem <b>@fichier@</b> não passou (matéria @id_article@).
633 633
 Anote esta referência, tente novamente a atualização e, finalmente, verifique se as imagens aparecem nas matérias.',
634
-	'texte_erreur_visiteur' => 'Você tentou acessar o espaço restrito com um login que não tem a permissão necessária.',
635
-	'texte_inc_auth_1' => 'Você se identificou com o login <b>@auth_login@</b>, mas ele não consta (mais) na base.
634
+    'texte_erreur_visiteur' => 'Você tentou acessar o espaço restrito com um login que não tem a permissão necessária.',
635
+    'texte_inc_auth_1' => 'Você se identificou com o login <b>@auth_login@</b>, mas ele não consta (mais) na base.
636 636
 Tente se',
637
-	'texte_inc_auth_2' => 'reconectar',
638
-	'texte_inc_auth_3' => ', após ter eventualmente saído e reiniciado o seu navegador.',
639
-	'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>',
640
-	'texte_inc_meta_1' => 'O sistema encontrou um erro durante a escrita do arquivo <code>@fichier@</code>. Como administrador do site, queira por favor,',
641
-	'texte_inc_meta_2' => 'Verificar os direitos de escrita',
642
-	'texte_inc_meta_3' => 'no diretório <code>@repertoire@</code>.',
643
-	'texte_statut_en_cours_redaction' => 'em fase de redação',
644
-	'texte_statut_poubelle' => 'na lixeira',
645
-	'texte_statut_propose_evaluation' => 'proposto para avaliação',
646
-	'texte_statut_publie' => 'publicado online',
647
-	'texte_statut_refuse' => 'recusado',
648
-	'titre_ajouter_mot_cle' => 'INCLUIR UMA PALAVRA-CHAVE:',
649
-	'titre_cadre_raccourcis' => 'ATALHOS:',
650
-	'titre_changer_couleur_interface' => 'Alterar a côr da interface',
651
-	'titre_image_admin_article' => 'Você pode administrar esta matéria',
652
-	'titre_image_administrateur' => 'Administrador',
653
-	'titre_image_aide' => 'Ajuda sobre este elemento',
654
-	'titre_image_auteur_supprime' => 'Autor excluído',
655
-	'titre_image_redacteur' => 'Redator sem acesso',
656
-	'titre_image_redacteur_02' => 'Redator',
657
-	'titre_image_selecteur' => 'Ver a lista',
658
-	'titre_image_visiteur' => 'Visitante',
659
-	'titre_joindre_document' => 'INCLUIR UM DOCUMENTO',
660
-	'titre_mots_cles' => 'PALAVRAS-CHAVE',
661
-	'titre_probleme_technique' => 'Atenção: um problema técnico (servidor SQL) impede o acesso a esta parte do site. Agradecemos sua compreensão.',
662
-	'titre_publier_document' => 'PUBLICAR UM DOCUMENTO NESTA SEÇÃO',
663
-	'titre_signatures_attente' => 'Assinaturas aguardando validação',
664
-	'titre_signatures_confirmees' => 'Assinaturas confirmadas',
665
-	'titre_statistiques' => 'Estatísticas do site',
666
-	'titre_titre_document' => 'Título do documento:',
667
-	'todo' => 'breve',
668
-	'trad_definir_reference' => 'Escolher "@titre@" como referência das traduções',
669
-	'trad_reference' => '(matéria das traduções)',
637
+    'texte_inc_auth_2' => 'reconectar',
638
+    'texte_inc_auth_3' => ', após ter eventualmente saído e reiniciado o seu navegador.',
639
+    '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>',
640
+    'texte_inc_meta_1' => 'O sistema encontrou um erro durante a escrita do arquivo <code>@fichier@</code>. Como administrador do site, queira por favor,',
641
+    'texte_inc_meta_2' => 'Verificar os direitos de escrita',
642
+    'texte_inc_meta_3' => 'no diretório <code>@repertoire@</code>.',
643
+    'texte_statut_en_cours_redaction' => 'em fase de redação',
644
+    'texte_statut_poubelle' => 'na lixeira',
645
+    'texte_statut_propose_evaluation' => 'proposto para avaliação',
646
+    'texte_statut_publie' => 'publicado online',
647
+    'texte_statut_refuse' => 'recusado',
648
+    'titre_ajouter_mot_cle' => 'INCLUIR UMA PALAVRA-CHAVE:',
649
+    'titre_cadre_raccourcis' => 'ATALHOS:',
650
+    'titre_changer_couleur_interface' => 'Alterar a côr da interface',
651
+    'titre_image_admin_article' => 'Você pode administrar esta matéria',
652
+    'titre_image_administrateur' => 'Administrador',
653
+    'titre_image_aide' => 'Ajuda sobre este elemento',
654
+    'titre_image_auteur_supprime' => 'Autor excluído',
655
+    'titre_image_redacteur' => 'Redator sem acesso',
656
+    'titre_image_redacteur_02' => 'Redator',
657
+    'titre_image_selecteur' => 'Ver a lista',
658
+    'titre_image_visiteur' => 'Visitante',
659
+    'titre_joindre_document' => 'INCLUIR UM DOCUMENTO',
660
+    'titre_mots_cles' => 'PALAVRAS-CHAVE',
661
+    'titre_probleme_technique' => 'Atenção: um problema técnico (servidor SQL) impede o acesso a esta parte do site. Agradecemos sua compreensão.',
662
+    'titre_publier_document' => 'PUBLICAR UM DOCUMENTO NESTA SEÇÃO',
663
+    'titre_signatures_attente' => 'Assinaturas aguardando validação',
664
+    'titre_signatures_confirmees' => 'Assinaturas confirmadas',
665
+    'titre_statistiques' => 'Estatísticas do site',
666
+    'titre_titre_document' => 'Título do documento:',
667
+    'todo' => 'breve',
668
+    'trad_definir_reference' => 'Escolher "@titre@" como referência das traduções',
669
+    'trad_reference' => '(matéria das traduções)',
670 670
 
671
-	// U
672
-	'upload_limit' => 'Este arquivo é grande demais para o servidor; o tamanho máximo autorizado para <i>upload</i> é de @max@.',
671
+    // U
672
+    'upload_limit' => 'Este arquivo é grande demais para o servidor; o tamanho máximo autorizado para <i>upload</i> é de @max@.',
673 673
 
674
-	// Z
675
-	'zbug_balise_b_aval' => ': tag B colocada após BOUCLE',
676
-	'zbug_balise_inexistante' => 'Tag @balise@ mal declarada para @from@',
677
-	'zbug_balise_sans_argument' => 'Falta um arqumento na tag @balise@',
678
-	'zbug_boucle' => 'laço',
679
-	'zbug_boucle_recursive_undef' => 'Laço recursivo não definido: @nom@',
680
-	'zbug_calcul' => 'cálculo',
681
-	'zbug_champ_hors_boucle' => 'Campo @champ@ fora do laço',
682
-	'zbug_champ_hors_critere' => 'Campo @champ@ fora do critério @critere@',
683
-	'zbug_champ_hors_motif' => 'Campo @champ@ fora de um contexto @motif@',
684
-	'zbug_code' => 'código',
685
-	'zbug_critere_inconnu' => 'Critério @critere@ desconhecido',
686
-	'zbug_critere_sur_table_sans_cle_primaire' => '{@critere@} em uma tabela sem chave primária atômica',
687
-	'zbug_distant_interdit' => 'Externa interdita',
688
-	'zbug_doublon_table_sans_cle_primaire' => 'Duplicação em tabela sem chave primária atômica',
689
-	'zbug_doublon_table_sans_index' => 'Doublons em uma tabela sem index',
690
-	'zbug_erreur_boucle_double' => 'Dupla definição do laço @id@',
691
-	'zbug_erreur_boucle_fermant' => 'Laço @id@ não fechado',
692
-	'zbug_erreur_boucle_syntaxe' => 'Sintaxe do laço @id@ está incorreta',
693
-	'zbug_erreur_compilation' => 'Erro de compilação',
694
-	'zbug_erreur_execution_page' => 'Erro de execução',
695
-	'zbug_erreur_filtre' => 'Filtro @filtre@ não definido',
696
-	'zbug_erreur_filtre_nbarg_min' => 'Filtro @filtre@: falta(m) @nb@ argumento(s)',
697
-	'zbug_erreur_meme_parent' => 'O critério {meme_parent} aplica-se exclusivamente aos laços (FORUMS) ou (RUBRIQUES)',
698
-	'zbug_erreur_squelette' => 'Erro(s) no template',
699
-	'zbug_hors_compilation' => 'Fora de Compilação',
700
-	'zbug_info_erreur_squelette' => 'Erro no site',
701
-	'zbug_inversion_ordre_inexistant' => 'Inversão de uma ordem inexistente',
702
-	'zbug_pagination_sans_critere' => 'Tag #PAGINATION sem critério {pagination} ou usada dentro de uma boucle recursiva',
703
-	'zbug_parametres_inclus_incorrects' => 'Parâmetro de inclusão incorreto: @param@',
704
-	'zbug_profile' => 'Tempo de processamento: @time@',
705
-	'zbug_resultat' => 'resultado',
706
-	'zbug_serveur_indefini' => 'Sevidor SQL não definido',
707
-	'zbug_statistiques' => 'Estatísticas das requisições SQL classificadas por duração',
708
-	'zbug_table_inconnue' => 'Tabela SQL «@table@» desconhecida',
709
-	'zxml_connus_attributs' => 'atributos conhecidos',
710
-	'zxml_de' => 'de',
711
-	'zxml_inconnu_attribut' => 'atributo desconhecido',
712
-	'zxml_inconnu_balise' => 'tag desconhecida',
713
-	'zxml_inconnu_entite' => 'entidade desconhecida',
714
-	'zxml_inconnu_id' => 'ID desconhecida',
715
-	'zxml_mais_de' => 'mas de',
716
-	'zxml_non_conforme' => 'não está de acordo com o motivo',
717
-	'zxml_non_fils' => 'não é filho de',
718
-	'zxml_nonvide_balise' => 'tag não vazia',
719
-	'zxml_obligatoire_attribut' => 'atributo obrigatório mas ausente em',
720
-	'zxml_succession_fils_incorrecte' => 'sucessão de filhos incorreta',
721
-	'zxml_survoler' => 'sobrepor para ver os corretos',
722
-	'zxml_valeur_attribut' => 'valor do atributo',
723
-	'zxml_vide_balise' => 'tag vazia',
724
-	'zxml_vu' => 'previsualização'
674
+    // Z
675
+    'zbug_balise_b_aval' => ': tag B colocada após BOUCLE',
676
+    'zbug_balise_inexistante' => 'Tag @balise@ mal declarada para @from@',
677
+    'zbug_balise_sans_argument' => 'Falta um arqumento na tag @balise@',
678
+    'zbug_boucle' => 'laço',
679
+    'zbug_boucle_recursive_undef' => 'Laço recursivo não definido: @nom@',
680
+    'zbug_calcul' => 'cálculo',
681
+    'zbug_champ_hors_boucle' => 'Campo @champ@ fora do laço',
682
+    'zbug_champ_hors_critere' => 'Campo @champ@ fora do critério @critere@',
683
+    'zbug_champ_hors_motif' => 'Campo @champ@ fora de um contexto @motif@',
684
+    'zbug_code' => 'código',
685
+    'zbug_critere_inconnu' => 'Critério @critere@ desconhecido',
686
+    'zbug_critere_sur_table_sans_cle_primaire' => '{@critere@} em uma tabela sem chave primária atômica',
687
+    'zbug_distant_interdit' => 'Externa interdita',
688
+    'zbug_doublon_table_sans_cle_primaire' => 'Duplicação em tabela sem chave primária atômica',
689
+    'zbug_doublon_table_sans_index' => 'Doublons em uma tabela sem index',
690
+    'zbug_erreur_boucle_double' => 'Dupla definição do laço @id@',
691
+    'zbug_erreur_boucle_fermant' => 'Laço @id@ não fechado',
692
+    'zbug_erreur_boucle_syntaxe' => 'Sintaxe do laço @id@ está incorreta',
693
+    'zbug_erreur_compilation' => 'Erro de compilação',
694
+    'zbug_erreur_execution_page' => 'Erro de execução',
695
+    'zbug_erreur_filtre' => 'Filtro @filtre@ não definido',
696
+    'zbug_erreur_filtre_nbarg_min' => 'Filtro @filtre@: falta(m) @nb@ argumento(s)',
697
+    'zbug_erreur_meme_parent' => 'O critério {meme_parent} aplica-se exclusivamente aos laços (FORUMS) ou (RUBRIQUES)',
698
+    'zbug_erreur_squelette' => 'Erro(s) no template',
699
+    'zbug_hors_compilation' => 'Fora de Compilação',
700
+    'zbug_info_erreur_squelette' => 'Erro no site',
701
+    'zbug_inversion_ordre_inexistant' => 'Inversão de uma ordem inexistente',
702
+    'zbug_pagination_sans_critere' => 'Tag #PAGINATION sem critério {pagination} ou usada dentro de uma boucle recursiva',
703
+    'zbug_parametres_inclus_incorrects' => 'Parâmetro de inclusão incorreto: @param@',
704
+    'zbug_profile' => 'Tempo de processamento: @time@',
705
+    'zbug_resultat' => 'resultado',
706
+    'zbug_serveur_indefini' => 'Sevidor SQL não definido',
707
+    'zbug_statistiques' => 'Estatísticas das requisições SQL classificadas por duração',
708
+    'zbug_table_inconnue' => 'Tabela SQL «@table@» desconhecida',
709
+    'zxml_connus_attributs' => 'atributos conhecidos',
710
+    'zxml_de' => 'de',
711
+    'zxml_inconnu_attribut' => 'atributo desconhecido',
712
+    'zxml_inconnu_balise' => 'tag desconhecida',
713
+    'zxml_inconnu_entite' => 'entidade desconhecida',
714
+    'zxml_inconnu_id' => 'ID desconhecida',
715
+    'zxml_mais_de' => 'mas de',
716
+    'zxml_non_conforme' => 'não está de acordo com o motivo',
717
+    'zxml_non_fils' => 'não é filho de',
718
+    'zxml_nonvide_balise' => 'tag não vazia',
719
+    'zxml_obligatoire_attribut' => 'atributo obrigatório mas ausente em',
720
+    'zxml_succession_fils_incorrecte' => 'sucessão de filhos incorreta',
721
+    'zxml_survoler' => 'sobrepor para ver os corretos',
722
+    'zxml_valeur_attribut' => 'valor do atributo',
723
+    'zxml_vide_balise' => 'tag vazia',
724
+    'zxml_vu' => 'previsualização'
725 725
 );
Please login to merge, or discard this patch.