Completed
Push — master ( 3898e1...ad50fe )
by cam
01:35
created
ecrire/lang/spip_en.php 1 patch
Indentation   +669 added lines, -669 removed lines patch added patch discarded remove patch
@@ -4,248 +4,248 @@  discard block
 block discarded – undo
4 4
 // ** ne pas modifier le fichier **
5 5
 
6 6
 if (!defined('_ECRIRE_INC_VERSION')) {
7
-	return;
7
+    return;
8 8
 }
9 9
 
10 10
 $GLOBALS[$GLOBALS['idx_lang']] = array(
11 11
 
12
-	// A
13
-	'access_interface_graphique' => '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
-	'fonction_introuvable' => 'Function @fonction@() not found.',
245
-	'form_auteur_confirmation' => 'Please confirm your email address',
246
-	'form_auteur_email_modifie' => 'Your email address has been changed.',
247
-	'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.',
248
-	'form_auteur_mail_confirmation' => 'Hello,
242
+    // F
243
+    'fichier_introuvable' => 'File not found: @fichier@',
244
+    'fonction_introuvable' => 'Function @fonction@() not found.',
245
+    'form_auteur_confirmation' => 'Please confirm your email address',
246
+    'form_auteur_email_modifie' => 'Your email address has been changed.',
247
+    '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.',
248
+    'form_auteur_mail_confirmation' => 'Hello,
249 249
 
250 250
 You have asked to change your email address.
251 251
 To confirm your new address, you need to connect to
@@ -253,347 +253,347 @@  discard block
 block discarded – undo
253 253
 
254 254
     @url@
255 255
 ',
256
-	'form_deja_inscrit' => 'You are already registered.',
257
-	'form_email_non_valide' => 'Your email address is not valid.',
258
-	'form_forum_access_refuse' => 'You no longer have access to this site.',
259
-	'form_forum_bonjour' => 'Hello @nom@,',
260
-	'form_forum_confirmer_email' => 'To confirm your email address, follow this link: @url_confirm@',
261
-	'form_forum_email_deja_enregistre' => 'This email address is already registered. Enter your usual password.',
262
-	'form_forum_identifiant_mail' => 'Your new identifier has just been emailed to you.',
263
-	'form_forum_identifiants' => 'Personal identifiers',
264
-	'form_forum_indiquer_nom_email' => 'Enter your name and email address here. You will receive your personal identifier shortly by email.',
265
-	'form_forum_login' => 'login:',
266
-	'form_forum_message_auto' => '(this is an automated message)',
267
-	'form_forum_pass' => 'password:',
268
-	'form_forum_probleme_mail' => 'Mail problem: the identifier could not be sent.',
269
-	'form_forum_voici1' => 'Here are your identifiers. You may now participate on the site
256
+    'form_deja_inscrit' => 'You are already registered.',
257
+    'form_email_non_valide' => 'Your email address is not valid.',
258
+    'form_forum_access_refuse' => 'You no longer have access to this site.',
259
+    'form_forum_bonjour' => 'Hello @nom@,',
260
+    'form_forum_confirmer_email' => 'To confirm your email address, follow this link: @url_confirm@',
261
+    'form_forum_email_deja_enregistre' => 'This email address is already registered. Enter your usual password.',
262
+    'form_forum_identifiant_mail' => 'Your new identifier has just been emailed to you.',
263
+    'form_forum_identifiants' => 'Personal identifiers',
264
+    'form_forum_indiquer_nom_email' => 'Enter your name and email address here. You will receive your personal identifier shortly by email.',
265
+    'form_forum_login' => 'login:',
266
+    'form_forum_message_auto' => '(this is an automated message)',
267
+    'form_forum_pass' => 'password:',
268
+    'form_forum_probleme_mail' => 'Mail problem: the identifier could not be sent.',
269
+    'form_forum_voici1' => 'Here are your identifiers. You may now participate on the site
270 270
 "@nom_site_spip@" (@adresse_site@):',
271
-	'form_forum_voici2' => 'Here are your identifiers for submitting articles to
271
+    'form_forum_voici2' => 'Here are your identifiers for submitting articles to
272 272
 the site "@nom_site_spip@" (@adresse_login@):',
273
-	'form_indiquer_email' => 'Please enter your email address.',
274
-	'form_indiquer_nom' => 'Please enter your name.',
275
-	'form_indiquer_nom_site' => 'Please enter the name of your site.',
276
-	'form_pet_deja_enregistre' => 'This site is already registered',
277
-	'form_pet_signature_pasprise' => 'Your signature has been ignored.',
278
-	'form_prop_confirmer_envoi' => 'Confirm send',
279
-	'form_prop_description' => 'Description/comment',
280
-	'form_prop_enregistre' => 'Your suggestion has been recorded. It will appear online after being validated by the administrators of this site.',
281
-	'form_prop_envoyer' => 'Send a message',
282
-	'form_prop_indiquer_email' => 'Please enter a valid email address',
283
-	'form_prop_indiquer_nom_site' => 'Please enter the site’s name.',
284
-	'form_prop_indiquer_sujet' => 'Please enter a subject',
285
-	'form_prop_message_envoye' => 'Message sent',
286
-	'form_prop_non_enregistre' => 'Your suggestion has not been recorded.',
287
-	'form_prop_sujet' => 'Subject',
288
-	'form_prop_url_site' => 'Site URL',
289
-	'format_date_attendu' => 'Enter a date in jj/mm/aaaa format.',
290
-	'format_date_incorrecte' => 'The date or its format is incorrect.',
291
-	'format_heure_attendu' => 'Enter a time in hh:mm format.',
292
-	'format_heure_incorrecte' => 'The hour or its format is incorrect.',
293
-	'forum_non_inscrit' => 'Either you are not registered, or the address or password are wrong.',
294
-	'forum_par_auteur' => 'by @auteur@',
295
-	'forum_titre_erreur' => 'Error...',
273
+    'form_indiquer_email' => 'Please enter your email address.',
274
+    'form_indiquer_nom' => 'Please enter your name.',
275
+    'form_indiquer_nom_site' => 'Please enter the name of your site.',
276
+    'form_pet_deja_enregistre' => 'This site is already registered',
277
+    'form_pet_signature_pasprise' => 'Your signature has been ignored.',
278
+    'form_prop_confirmer_envoi' => 'Confirm send',
279
+    'form_prop_description' => 'Description/comment',
280
+    'form_prop_enregistre' => 'Your suggestion has been recorded. It will appear online after being validated by the administrators of this site.',
281
+    'form_prop_envoyer' => 'Send a message',
282
+    'form_prop_indiquer_email' => 'Please enter a valid email address',
283
+    'form_prop_indiquer_nom_site' => 'Please enter the site’s name.',
284
+    'form_prop_indiquer_sujet' => 'Please enter a subject',
285
+    'form_prop_message_envoye' => 'Message sent',
286
+    'form_prop_non_enregistre' => 'Your suggestion has not been recorded.',
287
+    'form_prop_sujet' => 'Subject',
288
+    'form_prop_url_site' => 'Site URL',
289
+    'format_date_attendu' => 'Enter a date in jj/mm/aaaa format.',
290
+    'format_date_incorrecte' => 'The date or its format is incorrect.',
291
+    'format_heure_attendu' => 'Enter a time in hh:mm format.',
292
+    'format_heure_incorrecte' => 'The hour or its format is incorrect.',
293
+    'forum_non_inscrit' => 'Either you are not registered, or the address or password are wrong.',
294
+    'forum_par_auteur' => 'by @auteur@',
295
+    'forum_titre_erreur' => 'Error...',
296 296
 
297
-	// I
298
-	'ical_texte_rss_articles' => 'The site’s backend file for articles is:',
299
-	'ical_texte_rss_articles2' => 'You can also get backend files for individual sections on the site:',
300
-	'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.',
301
-	'icone_a_suivre' => 'Launch pad',
302
-	'icone_admin_site' => 'Site administration',
303
-	'icone_agenda' => 'Calendar',
304
-	'icone_aide_ligne' => 'Help',
305
-	'icone_articles' => 'Articles',
306
-	'icone_auteurs' => 'Authors',
307
-	'icone_brouteur' => 'Quick browsing',
308
-	'icone_configuration_site' => 'Configuration',
309
-	'icone_configurer_site' => 'Configure your site',
310
-	'icone_creer_nouvel_auteur' => 'Create a new author',
311
-	'icone_creer_rubrique' => 'Create a section',
312
-	'icone_creer_sous_rubrique' => 'Create a subsection',
313
-	'icone_deconnecter' => 'Log out',
314
-	'icone_discussions' => 'Discussions',
315
-	'icone_doc_rubrique' => 'Documents attached',
316
-	'icone_ecrire_article' => 'Write a new article',
317
-	'icone_edition_site' => 'Edit site',
318
-	'icone_gestion_langues' => 'Language options',
319
-	'icone_informations_personnelles' => 'Personal information',
320
-	'icone_interface_complet' => 'full interface',
321
-	'icone_interface_simple' => 'Simplified interface',
322
-	'icone_maintenance_site' => 'Site maintenance',
323
-	'icone_messagerie_personnelle' => 'Private messages',
324
-	'icone_repartition_debut' => 'Show distribution from the start',
325
-	'icone_rubriques' => 'Sections',
326
-	'icone_sauver_site' => 'Site backup',
327
-	'icone_site_entier' => 'The entire site',
328
-	'icone_sites_references' => 'Referenced sites',
329
-	'icone_statistiques' => 'Site statistics',
330
-	'icone_suivi_activite' => 'Follow site activity',
331
-	'icone_suivi_actualite' => 'Site statistics',
332
-	'icone_suivi_pettions' => 'Manage petitions',
333
-	'icone_suivi_revisions' => 'Article revisions',
334
-	'icone_supprimer_document' => 'Delete this document',
335
-	'icone_supprimer_image' => 'Delete this image',
336
-	'icone_tous_articles' => 'All your articles',
337
-	'icone_tous_auteur' => 'All authors',
338
-	'icone_tous_visiteur' => 'All visitors',
339
-	'icone_visiter_site' => 'View the public site',
340
-	'icone_voir_en_ligne' => 'View online',
341
-	'img_indisponible' => 'image unavailable',
342
-	'impossible' => 'impossible',
343
-	'info_a_suivre' => 'LAUNCH PAD»',
344
-	'info_acces_interdit' => 'Access forbidden',
345
-	'info_acces_refuse' => 'Access denied',
346
-	'info_action' => 'Action: @action@',
347
-	'info_administrer_rubriques' => 'You can manage this section and any subsections',
348
-	'info_adresse_non_indiquee' => 'You did not specify an address to test!',
349
-	'info_aide' => 'HELP:',
350
-	'info_ajouter_mot' => 'Add keyword',
351
-	'info_annonce' => 'ANNOUNCEMENT',
352
-	'info_annonces_generales' => 'General announcements:',
353
-	'info_article_propose' => 'Article submitted',
354
-	'info_article_publie' => 'Article published',
355
-	'info_article_redaction' => 'Article in progress',
356
-	'info_article_refuse' => 'Article rejected',
357
-	'info_article_supprime' => 'Article deleted',
358
-	'info_articles' => 'Articles',
359
-	'info_articles_a_valider' => 'Articles awaiting validation',
360
-	'info_articles_nb' => '@nb@ articles',
361
-	'info_articles_proposes' => 'Articles submitted',
362
-	'info_articles_un' => '1 article',
363
-	'info_auteurs_nombre' => 'author(s):',
364
-	'info_authentification_ftp' => 'Authentication (by FTP).',
365
-	'info_breves_2' => 'news',
366
-	'info_breves_nb' => '@nb@ news items',
367
-	'info_breves_un' => '1 news item',
368
-	'info_connexion_refusee' => 'Connection denied',
369
-	'info_contact_developpeur' => 'Please contact a developer.',
370
-	'info_contenance' => 'This site contains:',
371
-	'info_contribution' => 'contributions',
372
-	'info_copyright' => '@spip@ is free software distributed @lien_gpl@.',
373
-	'info_copyright_doc' => 'For more visit <a href="@spipnet@">@spipnet_affiche@</a>.',
374
-	'info_copyright_gpl' => 'under the GPL license',
375
-	'info_cours_edition' => 'In progress',
376
-	'info_creer_repertoire' => 'Please create a file or a directory called:',
377
-	'info_creer_repertoire_2' => 'inside the sub-directory <b>@repertoire@</b>, then',
378
-	'info_creer_vignette' => 'automatic thumbnail creation',
379
-	'info_creerdansrubrique_non_autorise' => 'You don’t have sufficient rights to create content in this section',
380
-	'info_deplier' => 'Unfold',
381
-	'info_descriptif_nombre' => 'description(s):',
382
-	'info_description' => 'Description:',
383
-	'info_description_2' => 'Description:',
384
-	'info_dimension' => 'Size:',
385
-	'info_documents_nb' => '@nb@ documents',
386
-	'info_documents_un' => '1 document',
387
-	'info_ecire_message_prive' => 'Write a private message',
388
-	'info_email_invalide' => 'Invalid email address.',
389
-	'info_en_cours_validation' => 'Your articles in progress',
390
-	'info_en_ligne' => 'Online now:',
391
-	'info_envoyer_message_prive' => 'Send a private message to this author',
392
-	'info_erreur_requete' => 'Error in query:',
393
-	'info_erreur_squelette2' => 'No <b>@fichier@</b> template available ...',
394
-	'info_erreur_systeme' => 'System error (errno @errsys@)',
395
-	'info_erreur_systeme2' => 'The hard disk may be full or the database damaged. <br />
297
+    // I
298
+    'ical_texte_rss_articles' => 'The site’s backend file for articles is:',
299
+    'ical_texte_rss_articles2' => 'You can also get backend files for individual sections on the site:',
300
+    '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.',
301
+    'icone_a_suivre' => 'Launch pad',
302
+    'icone_admin_site' => 'Site administration',
303
+    'icone_agenda' => 'Calendar',
304
+    'icone_aide_ligne' => 'Help',
305
+    'icone_articles' => 'Articles',
306
+    'icone_auteurs' => 'Authors',
307
+    'icone_brouteur' => 'Quick browsing',
308
+    'icone_configuration_site' => 'Configuration',
309
+    'icone_configurer_site' => 'Configure your site',
310
+    'icone_creer_nouvel_auteur' => 'Create a new author',
311
+    'icone_creer_rubrique' => 'Create a section',
312
+    'icone_creer_sous_rubrique' => 'Create a subsection',
313
+    'icone_deconnecter' => 'Log out',
314
+    'icone_discussions' => 'Discussions',
315
+    'icone_doc_rubrique' => 'Documents attached',
316
+    'icone_ecrire_article' => 'Write a new article',
317
+    'icone_edition_site' => 'Edit site',
318
+    'icone_gestion_langues' => 'Language options',
319
+    'icone_informations_personnelles' => 'Personal information',
320
+    'icone_interface_complet' => 'full interface',
321
+    'icone_interface_simple' => 'Simplified interface',
322
+    'icone_maintenance_site' => 'Site maintenance',
323
+    'icone_messagerie_personnelle' => 'Private messages',
324
+    'icone_repartition_debut' => 'Show distribution from the start',
325
+    'icone_rubriques' => 'Sections',
326
+    'icone_sauver_site' => 'Site backup',
327
+    'icone_site_entier' => 'The entire site',
328
+    'icone_sites_references' => 'Referenced sites',
329
+    'icone_statistiques' => 'Site statistics',
330
+    'icone_suivi_activite' => 'Follow site activity',
331
+    'icone_suivi_actualite' => 'Site statistics',
332
+    'icone_suivi_pettions' => 'Manage petitions',
333
+    'icone_suivi_revisions' => 'Article revisions',
334
+    'icone_supprimer_document' => 'Delete this document',
335
+    'icone_supprimer_image' => 'Delete this image',
336
+    'icone_tous_articles' => 'All your articles',
337
+    'icone_tous_auteur' => 'All authors',
338
+    'icone_tous_visiteur' => 'All visitors',
339
+    'icone_visiter_site' => 'View the public site',
340
+    'icone_voir_en_ligne' => 'View online',
341
+    'img_indisponible' => 'image unavailable',
342
+    'impossible' => 'impossible',
343
+    'info_a_suivre' => 'LAUNCH PAD»',
344
+    'info_acces_interdit' => 'Access forbidden',
345
+    'info_acces_refuse' => 'Access denied',
346
+    'info_action' => 'Action: @action@',
347
+    'info_administrer_rubriques' => 'You can manage this section and any subsections',
348
+    'info_adresse_non_indiquee' => 'You did not specify an address to test!',
349
+    'info_aide' => 'HELP:',
350
+    'info_ajouter_mot' => 'Add keyword',
351
+    'info_annonce' => 'ANNOUNCEMENT',
352
+    'info_annonces_generales' => 'General announcements:',
353
+    'info_article_propose' => 'Article submitted',
354
+    'info_article_publie' => 'Article published',
355
+    'info_article_redaction' => 'Article in progress',
356
+    'info_article_refuse' => 'Article rejected',
357
+    'info_article_supprime' => 'Article deleted',
358
+    'info_articles' => 'Articles',
359
+    'info_articles_a_valider' => 'Articles awaiting validation',
360
+    'info_articles_nb' => '@nb@ articles',
361
+    'info_articles_proposes' => 'Articles submitted',
362
+    'info_articles_un' => '1 article',
363
+    'info_auteurs_nombre' => 'author(s):',
364
+    'info_authentification_ftp' => 'Authentication (by FTP).',
365
+    'info_breves_2' => 'news',
366
+    'info_breves_nb' => '@nb@ news items',
367
+    'info_breves_un' => '1 news item',
368
+    'info_connexion_refusee' => 'Connection denied',
369
+    'info_contact_developpeur' => 'Please contact a developer.',
370
+    'info_contenance' => 'This site contains:',
371
+    'info_contribution' => 'contributions',
372
+    'info_copyright' => '@spip@ is free software distributed @lien_gpl@.',
373
+    'info_copyright_doc' => 'For more visit <a href="@spipnet@">@spipnet_affiche@</a>.',
374
+    'info_copyright_gpl' => 'under the GPL license',
375
+    'info_cours_edition' => 'In progress',
376
+    'info_creer_repertoire' => 'Please create a file or a directory called:',
377
+    'info_creer_repertoire_2' => 'inside the sub-directory <b>@repertoire@</b>, then',
378
+    'info_creer_vignette' => 'automatic thumbnail creation',
379
+    'info_creerdansrubrique_non_autorise' => 'You don’t have sufficient rights to create content in this section',
380
+    'info_deplier' => 'Unfold',
381
+    'info_descriptif_nombre' => 'description(s):',
382
+    'info_description' => 'Description:',
383
+    'info_description_2' => 'Description:',
384
+    'info_dimension' => 'Size:',
385
+    'info_documents_nb' => '@nb@ documents',
386
+    'info_documents_un' => '1 document',
387
+    'info_ecire_message_prive' => 'Write a private message',
388
+    'info_email_invalide' => 'Invalid email address.',
389
+    'info_en_cours_validation' => 'Your articles in progress',
390
+    'info_en_ligne' => 'Online now:',
391
+    'info_envoyer_message_prive' => 'Send a private message to this author',
392
+    'info_erreur_requete' => 'Error in query:',
393
+    'info_erreur_squelette2' => 'No <b>@fichier@</b> template available ...',
394
+    'info_erreur_systeme' => 'System error (errno @errsys@)',
395
+    'info_erreur_systeme2' => 'The hard disk may be full or the database damaged. <br />
396 396
 <span style="color:red;">Try <a href=\'@script@\'>repairing the database</a>, or contact your service provider.</span>',
397
-	'info_fini' => 'Done!',
398
-	'info_format_image' => 'Image format to be used for vignettes: @gd_formats@.',
399
-	'info_format_non_defini' => 'undefined format',
400
-	'info_grand_ecran' => 'Large display',
401
-	'info_image_aide' => 'HELP',
402
-	'info_image_process_titre' => 'How to create thumbnails',
403
-	'info_impossible_lire_page' => '<b>Error!</b> The page <tt><html>@test_proxy@</html></tt> cannot be viewed through the proxy',
404
-	'info_installation_systeme_publication' => 'Installing publication system...',
405
-	'info_installer_documents' => 'You can automatically install all documents in the folder @upload@.',
406
-	'info_installer_ftp' => 'As an administrator, you can install files via FTP to the folder @upload@ in order to select them directly from here.',
407
-	'info_installer_images' => 'You can install images in the formats JPEG, GIF, and PNG.',
408
-	'info_installer_images_dossier' => 'Install images in folder @upload@ if you want to select them here.',
409
-	'info_interface_complete' => 'full interface',
410
-	'info_interface_simple' => 'Simplified interface',
411
-	'info_joindre_document_article' => 'You can attach the following types of document to your article',
412
-	'info_joindre_document_rubrique' => 'You can add documents of the following types to this section ',
413
-	'info_joindre_documents_article' => 'You can attach documents of the following types to your article:',
414
-	'info_l_article' => 'the article',
415
-	'info_la_breve' => 'the news item',
416
-	'info_la_rubrique' => 'the section',
417
-	'info_langue_principale' => 'Main language for site',
418
-	'info_largeur_vignette' => '@largeur_vignette@ × @hauteur_vignette@ pixels',
419
-	'info_les_auteurs_1' => 'by @les_auteurs@',
420
-	'info_logo_format_interdit' => 'Only logos in these formats @formats@ are allowed.',
421
-	'info_logo_max_poids' => 'Logos must be less than @maxi@ (this file is @actuel@).',
422
-	'info_mail_fournisseur' => '[email protected]',
423
-	'info_message_2' => 'MESSAGE',
424
-	'info_message_supprime' => 'MESSAGE DELETED',
425
-	'info_messages_nb' => '@nb@ messages',
426
-	'info_messages_un' => '1 message',
427
-	'info_mise_en_ligne' => 'Published on:',
428
-	'info_modification_parametres_securite' => 'modifying security parameters',
429
-	'info_mois_courant' => 'During the month:',
430
-	'info_mot_cle_ajoute' => 'The following keyword was added to',
431
-	'info_multi_herit' => 'Default language',
432
-	'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.',
433
-	'info_multilinguisme' => 'Multilingual',
434
-	'info_nom_non_utilisateurs_connectes' => 'Your name does not appear in the list of users online.',
435
-	'info_nom_utilisateurs_connectes' => 'Your name appears in the list of users online.',
436
-	'info_nombre_en_ligne' => 'Online now:',
437
-	'info_non_resultat' => 'No results for "@cherche_mot@"',
438
-	'info_non_utilisation_messagerie' => 'You are not using private messaging on this site.',
439
-	'info_nouveau_message' => 'YOU HAVE A NEW MESSAGE',
440
-	'info_nouveaux_messages' => 'YOU HAVE @total_messages@ NEW MESSAGES',
441
-	'info_numero_abbreviation' => 'No',
442
-	'info_obligatoire' => 'This information is required',
443
-	'info_page_actuelle' => 'Actual page',
444
-	'info_pense_bete' => 'MEMO',
445
-	'info_petit_ecran' => 'Small display',
446
-	'info_petition_close' => 'Petition closed',
447
-	'info_pixels' => 'pixels',
448
-	'info_plusieurs_mots_trouves' => 'Several keywords were found for "@cherche_mot@":',
449
-	'info_portfolio_automatique' => 'Automated portfolio:',
450
-	'info_premier_resultat' => '[First @debut_limit@ results out of @total@]',
451
-	'info_premier_resultat_sur' => '[First @debut_limit@ results out of @total@]',
452
-	'info_propose_1' => '[@nom_site_spip@] Submitted: @titre@',
453
-	'info_propose_2' => 'Article submitted
397
+    'info_fini' => 'Done!',
398
+    'info_format_image' => 'Image format to be used for vignettes: @gd_formats@.',
399
+    'info_format_non_defini' => 'undefined format',
400
+    'info_grand_ecran' => 'Large display',
401
+    'info_image_aide' => 'HELP',
402
+    'info_image_process_titre' => 'How to create thumbnails',
403
+    'info_impossible_lire_page' => '<b>Error!</b> The page <tt><html>@test_proxy@</html></tt> cannot be viewed through the proxy',
404
+    'info_installation_systeme_publication' => 'Installing publication system...',
405
+    'info_installer_documents' => 'You can automatically install all documents in the folder @upload@.',
406
+    'info_installer_ftp' => 'As an administrator, you can install files via FTP to the folder @upload@ in order to select them directly from here.',
407
+    'info_installer_images' => 'You can install images in the formats JPEG, GIF, and PNG.',
408
+    'info_installer_images_dossier' => 'Install images in folder @upload@ if you want to select them here.',
409
+    'info_interface_complete' => 'full interface',
410
+    'info_interface_simple' => 'Simplified interface',
411
+    'info_joindre_document_article' => 'You can attach the following types of document to your article',
412
+    'info_joindre_document_rubrique' => 'You can add documents of the following types to this section ',
413
+    'info_joindre_documents_article' => 'You can attach documents of the following types to your article:',
414
+    'info_l_article' => 'the article',
415
+    'info_la_breve' => 'the news item',
416
+    'info_la_rubrique' => 'the section',
417
+    'info_langue_principale' => 'Main language for site',
418
+    'info_largeur_vignette' => '@largeur_vignette@ × @hauteur_vignette@ pixels',
419
+    'info_les_auteurs_1' => 'by @les_auteurs@',
420
+    'info_logo_format_interdit' => 'Only logos in these formats @formats@ are allowed.',
421
+    'info_logo_max_poids' => 'Logos must be less than @maxi@ (this file is @actuel@).',
422
+    'info_mail_fournisseur' => '[email protected]',
423
+    'info_message_2' => 'MESSAGE',
424
+    'info_message_supprime' => 'MESSAGE DELETED',
425
+    'info_messages_nb' => '@nb@ messages',
426
+    'info_messages_un' => '1 message',
427
+    'info_mise_en_ligne' => 'Published on:',
428
+    'info_modification_parametres_securite' => 'modifying security parameters',
429
+    'info_mois_courant' => 'During the month:',
430
+    'info_mot_cle_ajoute' => 'The following keyword was added to',
431
+    'info_multi_herit' => 'Default language',
432
+    '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.',
433
+    'info_multilinguisme' => 'Multilingual',
434
+    'info_nom_non_utilisateurs_connectes' => 'Your name does not appear in the list of users online.',
435
+    'info_nom_utilisateurs_connectes' => 'Your name appears in the list of users online.',
436
+    'info_nombre_en_ligne' => 'Online now:',
437
+    'info_non_resultat' => 'No results for "@cherche_mot@"',
438
+    'info_non_utilisation_messagerie' => 'You are not using private messaging on this site.',
439
+    'info_nouveau_message' => 'YOU HAVE A NEW MESSAGE',
440
+    'info_nouveaux_messages' => 'YOU HAVE @total_messages@ NEW MESSAGES',
441
+    'info_numero_abbreviation' => 'No',
442
+    'info_obligatoire' => 'This information is required',
443
+    'info_page_actuelle' => 'Actual page',
444
+    'info_pense_bete' => 'MEMO',
445
+    'info_petit_ecran' => 'Small display',
446
+    'info_petition_close' => 'Petition closed',
447
+    'info_pixels' => 'pixels',
448
+    'info_plusieurs_mots_trouves' => 'Several keywords were found for "@cherche_mot@":',
449
+    'info_portfolio_automatique' => 'Automated portfolio:',
450
+    'info_premier_resultat' => '[First @debut_limit@ results out of @total@]',
451
+    'info_premier_resultat_sur' => '[First @debut_limit@ results out of @total@]',
452
+    'info_propose_1' => '[@nom_site_spip@] Submitted: @titre@',
453
+    'info_propose_2' => 'Article submitted
454 454
 -----------------',
455
-	'info_propose_3' => 'The article "@titre@" has been submitted for publication.',
456
-	'info_propose_4' => 'You are invited to review it and give your opinion',
457
-	'info_propose_5' => 'in the associated forum. It is available here:',
458
-	'info_publie_01' => 'The article "@titre@" was validated by @connect_nom@.',
459
-	'info_publie_1' => '[@nom_site_spip@] PUBLISHED: @titre@',
460
-	'info_publie_2' => 'Article published
455
+    'info_propose_3' => 'The article "@titre@" has been submitted for publication.',
456
+    'info_propose_4' => 'You are invited to review it and give your opinion',
457
+    'info_propose_5' => 'in the associated forum. It is available here:',
458
+    'info_publie_01' => 'The article "@titre@" was validated by @connect_nom@.',
459
+    'info_publie_1' => '[@nom_site_spip@] PUBLISHED: @titre@',
460
+    'info_publie_2' => 'Article published
461 461
 -----------------',
462
-	'info_rechercher' => 'Search',
463
-	'info_rechercher_02' => 'Search:',
464
-	'info_remplacer_vignette' => 'Replace the default vignette by a customised logo:',
465
-	'info_rubriques_nb' => '@nb@ sections',
466
-	'info_rubriques_un' => '1 section',
467
-	'info_sans_titre_2' => 'untitled',
468
-	'info_selectionner_fichier' => 'You can select a file from the folder @upload@',
469
-	'info_selectionner_fichier_2' => 'Select a file:',
470
-	'info_sites_nb' => '@nb@ sites',
471
-	'info_sites_un' => '1 site',
472
-	'info_supprimer_vignette' => 'delete the vignette',
473
-	'info_symbole_bleu' => 'A <b>blue</b> symbol indicates a <b>memo</b>: i.e. a message for your personal use.',
474
-	'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.',
475
-	'info_symbole_vert' => 'A <b>green</b> symbol indicates the <b>messages exchanged with other users</b> of the site.',
476
-	'info_telecharger_nouveau_logo' => 'Upload a new logo:',
477
-	'info_telecharger_ordinateur' => 'Upload from your computer:',
478
-	'info_tous_resultats_enregistres' => '[all the results are recorded]',
479
-	'info_tout_afficher' => 'Show all',
480
-	'info_travaux_texte' => 'This site is not yet set up. Please come back later...',
481
-	'info_travaux_titre' => 'Site under construction',
482
-	'info_trop_resultat' => 'Too many results for "@cherche_mot@"; please refine the search.',
483
-	'info_utilisation_messagerie_interne' => 'You are using the internal message system of this site.',
484
-	'info_valider_lien' => 'validate this link',
485
-	'info_verifier_image' => ', please make sure your images have been transferred correctly.',
486
-	'info_vignette_defaut' => 'Default vignette',
487
-	'info_vignette_personnalisee' => 'Custom vignette',
488
-	'info_visite' => 'visit:',
489
-	'info_vos_rendez_vous' => 'Your future appointments',
490
-	'infos_vos_pense_bete' => 'Your memos',
462
+    'info_rechercher' => 'Search',
463
+    'info_rechercher_02' => 'Search:',
464
+    'info_remplacer_vignette' => 'Replace the default vignette by a customised logo:',
465
+    'info_rubriques_nb' => '@nb@ sections',
466
+    'info_rubriques_un' => '1 section',
467
+    'info_sans_titre_2' => 'untitled',
468
+    'info_selectionner_fichier' => 'You can select a file from the folder @upload@',
469
+    'info_selectionner_fichier_2' => 'Select a file:',
470
+    'info_sites_nb' => '@nb@ sites',
471
+    'info_sites_un' => '1 site',
472
+    'info_supprimer_vignette' => 'delete the vignette',
473
+    'info_symbole_bleu' => 'A <b>blue</b> symbol indicates a <b>memo</b>: i.e. a message for your personal use.',
474
+    '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.',
475
+    'info_symbole_vert' => 'A <b>green</b> symbol indicates the <b>messages exchanged with other users</b> of the site.',
476
+    'info_telecharger_nouveau_logo' => 'Upload a new logo:',
477
+    'info_telecharger_ordinateur' => 'Upload from your computer:',
478
+    'info_tous_resultats_enregistres' => '[all the results are recorded]',
479
+    'info_tout_afficher' => 'Show all',
480
+    'info_travaux_texte' => 'This site is not yet set up. Please come back later...',
481
+    'info_travaux_titre' => 'Site under construction',
482
+    'info_trop_resultat' => 'Too many results for "@cherche_mot@"; please refine the search.',
483
+    'info_utilisation_messagerie_interne' => 'You are using the internal message system of this site.',
484
+    'info_valider_lien' => 'validate this link',
485
+    'info_verifier_image' => ', please make sure your images have been transferred correctly.',
486
+    'info_vignette_defaut' => 'Default vignette',
487
+    'info_vignette_personnalisee' => 'Custom vignette',
488
+    'info_visite' => 'visit:',
489
+    'info_vos_rendez_vous' => 'Your future appointments',
490
+    'infos_vos_pense_bete' => 'Your memos',
491 491
 
492
-	// L
493
-	'label_ajout_id_rapide' => 'Quick addition',
494
-	'label_poids_fichier' => 'Size',
495
-	'label_ponctuer' => '@label@:',
496
-	'lien_afficher_icones_seuls' => 'Show only icons',
497
-	'lien_afficher_texte_icones' => 'Show icons and text',
498
-	'lien_afficher_texte_seul' => 'Show only text',
499
-	'lien_aller_a_la_derniere_page' => 'Go to the last page',
500
-	'lien_aller_a_la_page_nb' => 'Go to page @nb@',
501
-	'lien_aller_a_la_page_precedente' => 'Go to the previous page',
502
-	'lien_aller_a_la_page_suivante' => 'Go to the next page',
503
-	'lien_aller_a_la_premiere_page' => 'Go to the first page',
504
-	'lien_liberer' => 'release',
505
-	'lien_liberer_tous' => 'Release all',
506
-	'lien_nouvea_pense_bete' => 'NEW MEMO',
507
-	'lien_nouveau_message' => 'NEW MESSAGE',
508
-	'lien_nouvelle_annonce' => 'NEW ANNOUNCEMENT',
509
-	'lien_petitions' => 'PETITION',
510
-	'lien_popularite' => 'popularity: @popularite@%',
511
-	'lien_racine_site' => 'SITE ROOT',
512
-	'lien_reessayer' => 'try again',
513
-	'lien_repondre_message' => 'Reply to this message',
514
-	'lien_supprimer' => 'delete',
515
-	'lien_tout_afficher' => 'Show all',
516
-	'lien_visite_site' => 'visit this site',
517
-	'lien_visites' => '@visites@ visits',
518
-	'lien_voir_auteur' => 'Check this author',
519
-	'ligne' => 'Line',
520
-	'login' => 'Connection',
521
-	'login_acces_prive' => 'access to the private area',
522
-	'login_autre_identifiant' => 'use a different ID',
523
-	'login_cookie_accepte' => 'Please configure your browser to accept them for this site.',
524
-	'login_cookie_oblige' => 'For secure identification, your browser must accept cookies.',
525
-	'login_deconnexion_ok' => 'Logged out.',
526
-	'login_erreur_pass' => 'Wrong password.',
527
-	'login_espace_prive' => 'private area',
528
-	'login_identifiant_inconnu' => 'The identifier "@login@" is unknown.',
529
-	'login_login' => 'Login:',
530
-	'login_login2' => 'Login or e-mail address:',
531
-	'login_login_pass_incorrect' => '(Wrong login or password).',
532
-	'login_motpasseoublie' => 'password forgotten?',
533
-	'login_non_securise' => 'Caution, this form is not secure.
492
+    // L
493
+    'label_ajout_id_rapide' => 'Quick addition',
494
+    'label_poids_fichier' => 'Size',
495
+    'label_ponctuer' => '@label@:',
496
+    'lien_afficher_icones_seuls' => 'Show only icons',
497
+    'lien_afficher_texte_icones' => 'Show icons and text',
498
+    'lien_afficher_texte_seul' => 'Show only text',
499
+    'lien_aller_a_la_derniere_page' => 'Go to the last page',
500
+    'lien_aller_a_la_page_nb' => 'Go to page @nb@',
501
+    'lien_aller_a_la_page_precedente' => 'Go to the previous page',
502
+    'lien_aller_a_la_page_suivante' => 'Go to the next page',
503
+    'lien_aller_a_la_premiere_page' => 'Go to the first page',
504
+    'lien_liberer' => 'release',
505
+    'lien_liberer_tous' => 'Release all',
506
+    'lien_nouvea_pense_bete' => 'NEW MEMO',
507
+    'lien_nouveau_message' => 'NEW MESSAGE',
508
+    'lien_nouvelle_annonce' => 'NEW ANNOUNCEMENT',
509
+    'lien_petitions' => 'PETITION',
510
+    'lien_popularite' => 'popularity: @popularite@%',
511
+    'lien_racine_site' => 'SITE ROOT',
512
+    'lien_reessayer' => 'try again',
513
+    'lien_repondre_message' => 'Reply to this message',
514
+    'lien_supprimer' => 'delete',
515
+    'lien_tout_afficher' => 'Show all',
516
+    'lien_visite_site' => 'visit this site',
517
+    'lien_visites' => '@visites@ visits',
518
+    'lien_voir_auteur' => 'Check this author',
519
+    'ligne' => 'Line',
520
+    'login' => 'Connection',
521
+    'login_acces_prive' => 'access to the private area',
522
+    'login_autre_identifiant' => 'use a different ID',
523
+    'login_cookie_accepte' => 'Please configure your browser to accept them for this site.',
524
+    'login_cookie_oblige' => 'For secure identification, your browser must accept cookies.',
525
+    'login_deconnexion_ok' => 'Logged out.',
526
+    'login_erreur_pass' => 'Wrong password.',
527
+    'login_espace_prive' => 'private area',
528
+    'login_identifiant_inconnu' => 'The identifier "@login@" is unknown.',
529
+    'login_login' => 'Login:',
530
+    'login_login2' => 'Login or e-mail address:',
531
+    'login_login_pass_incorrect' => '(Wrong login or password).',
532
+    'login_motpasseoublie' => 'password forgotten?',
533
+    'login_non_securise' => 'Caution, this form is not secure.
534 534
    If you do not want your password to be open to
535 535
    interception on the network, please activate Javascript
536 536
    in your browser and',
537
-	'login_nouvelle_tentative' => 'New attempt',
538
-	'login_par_ici' => 'You are registered... this way...',
539
-	'login_pass2' => 'Password:',
540
-	'login_preferez_refuser' => '<b>If you prefer to refuse cookies</b>, there is another, less secure, method of connection available:',
541
-	'login_recharger' => 'reload this page',
542
-	'login_rester_identifie' => 'Remember me',
543
-	'login_retour_public' => 'Back to the public site',
544
-	'login_retour_site' => 'Back to the public site',
545
-	'login_retoursitepublic' => 'back to the public site',
546
-	'login_sans_cookie' => 'Identification without cookie',
547
-	'login_securise' => 'Secure login',
548
-	'login_sinscrire' => 'register',
549
-	'login_test_navigateur' => 'testing browser/reconnection',
550
-	'login_verifiez_navigateur' => '(However, check that your browser did not memorise your password...)',
537
+    'login_nouvelle_tentative' => 'New attempt',
538
+    'login_par_ici' => 'You are registered... this way...',
539
+    'login_pass2' => 'Password:',
540
+    'login_preferez_refuser' => '<b>If you prefer to refuse cookies</b>, there is another, less secure, method of connection available:',
541
+    'login_recharger' => 'reload this page',
542
+    'login_rester_identifie' => 'Remember me',
543
+    'login_retour_public' => 'Back to the public site',
544
+    'login_retour_site' => 'Back to the public site',
545
+    'login_retoursitepublic' => 'back to the public site',
546
+    'login_sans_cookie' => 'Identification without cookie',
547
+    'login_securise' => 'Secure login',
548
+    'login_sinscrire' => 'register',
549
+    'login_test_navigateur' => 'testing browser/reconnection',
550
+    'login_verifiez_navigateur' => '(However, check that your browser did not memorise your password...)',
551 551
 
552
-	// M
553
-	'masquer_colonne' => 'Hide this column',
554
-	'masquer_trad' => 'hide translations',
555
-	'message_nouveaux_identifiants_echec' => 'New identifiers could not be created.',
556
-	'message_nouveaux_identifiants_echec_envoi' => 'The new connection identifiers could not be sent.',
557
-	'message_nouveaux_identifiants_ok' => 'The new connection identifiers were sent to @email@.',
558
-	'module_fichiers_langues' => 'Language files',
552
+    // M
553
+    'masquer_colonne' => 'Hide this column',
554
+    'masquer_trad' => 'hide translations',
555
+    'message_nouveaux_identifiants_echec' => 'New identifiers could not be created.',
556
+    'message_nouveaux_identifiants_echec_envoi' => 'The new connection identifiers could not be sent.',
557
+    'message_nouveaux_identifiants_ok' => 'The new connection identifiers were sent to @email@.',
558
+    'module_fichiers_langues' => 'Language files',
559 559
 
560
-	// N
561
-	'navigateur_pas_redirige' => 'If you are not automatically redirected, click here to continue.',
562
-	'numero' => 'Number',
560
+    // N
561
+    'navigateur_pas_redirige' => 'If you are not automatically redirected, click here to continue.',
562
+    'numero' => 'Number',
563 563
 
564
-	// O
565
-	'occurence' => 'Instance',
566
-	'onglet_affacer_base' => 'Delete the database',
567
-	'onglet_auteur' => 'The author',
568
-	'onglet_contenu_site' => 'Site content',
569
-	'onglet_evolution_visite_mod' => 'Trend in visits',
570
-	'onglet_fonctions_avances' => 'Advanced functions',
571
-	'onglet_informations_personnelles' => 'Personal Information',
572
-	'onglet_interactivite' => 'Interactivity',
573
-	'onglet_messagerie' => 'Messaging',
574
-	'onglet_repartition_rubrique' => 'Distribution by section',
575
-	'onglet_save_restaur_base' => 'Backup/restore the database',
576
-	'onglet_vider_cache' => 'Empty the cache',
564
+    // O
565
+    'occurence' => 'Instance',
566
+    'onglet_affacer_base' => 'Delete the database',
567
+    'onglet_auteur' => 'The author',
568
+    'onglet_contenu_site' => 'Site content',
569
+    'onglet_evolution_visite_mod' => 'Trend in visits',
570
+    'onglet_fonctions_avances' => 'Advanced functions',
571
+    'onglet_informations_personnelles' => 'Personal Information',
572
+    'onglet_interactivite' => 'Interactivity',
573
+    'onglet_messagerie' => 'Messaging',
574
+    'onglet_repartition_rubrique' => 'Distribution by section',
575
+    'onglet_save_restaur_base' => 'Backup/restore the database',
576
+    'onglet_vider_cache' => 'Empty the cache',
577 577
 
578
-	// P
579
-	'pass_choix_pass' => 'Please choose a new password:',
580
-	'pass_erreur' => 'Error',
581
-	'pass_erreur_acces_refuse' => '<b>Error:</b> you no longer have access to this site.',
582
-	'pass_erreur_code_inconnu' => '<b>Error:</b> this code does not match any visitors with access permission to this site.',
583
-	'pass_erreur_non_enregistre' => '<b>Error :</b> the address <tt>@email_oubli@</tt> is not registered on this site.',
584
-	'pass_erreur_non_valide' => '<b>Error :</b> the e-mail <tt>@email_oubli@</tt> is not valid!',
585
-	'pass_erreur_probleme_technique' => '<b>Error :</b> this e-mail could not be sent due to a technical problem.',
586
-	'pass_espace_prive_bla' => 'The private area of this site is open to
578
+    // P
579
+    'pass_choix_pass' => 'Please choose a new password:',
580
+    'pass_erreur' => 'Error',
581
+    'pass_erreur_acces_refuse' => '<b>Error:</b> you no longer have access to this site.',
582
+    'pass_erreur_code_inconnu' => '<b>Error:</b> this code does not match any visitors with access permission to this site.',
583
+    'pass_erreur_non_enregistre' => '<b>Error :</b> the address <tt>@email_oubli@</tt> is not registered on this site.',
584
+    'pass_erreur_non_valide' => '<b>Error :</b> the e-mail <tt>@email_oubli@</tt> is not valid!',
585
+    'pass_erreur_probleme_technique' => '<b>Error :</b> this e-mail could not be sent due to a technical problem.',
586
+    'pass_espace_prive_bla' => 'The private area of this site is open to
587 587
 visitors after registration. Once you have registered,
588 588
 you can review the articles in progress,
589 589
 submit articles and participate in forums.',
590
-	'pass_forum_bla' => 'You have requested to take part in a forum
590
+    'pass_forum_bla' => 'You have requested to take part in a forum
591 591
 reserved for registered visitors.',
592
-	'pass_indiquez_cidessous' => 'Enter the email address with which you
592
+    'pass_indiquez_cidessous' => 'Enter the email address with which you
593 593
 registered. You
594 594
 will receive an email explaining how you
595 595
 can retrieve your password.',
596
-	'pass_mail_passcookie' => '(this is an automated message)
596
+    'pass_mail_passcookie' => '(this is an automated message)
597 597
 
598 598
 To recover your access to the site
599 599
 @nom_site_spip@ (@adresse_site@)
@@ -604,146 +604,146 @@  discard block
 block discarded – undo
604 604
 You can then enter a new password
605 605
 and log in to the site.
606 606
 ',
607
-	'pass_mot_oublie' => 'Password forgotten',
608
-	'pass_nouveau_enregistre' => 'Your new password has been recorded.',
609
-	'pass_nouveau_pass' => 'New password',
610
-	'pass_ok' => 'OK',
611
-	'pass_oubli_mot' => 'Forgotten password',
612
-	'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.',
613
-	'pass_quitter_fenetre' => 'Close this window',
614
-	'pass_rappel_login' => 'Reminder: your identifier (login) is "@login@".',
615
-	'pass_recevoir_mail' => 'A link to reset your password has been sent to your email address (if it is valid).',
616
-	'pass_retour_public' => 'Back to the public site',
617
-	'pass_rien_a_faire_ici' => 'Nothing to do here.',
618
-	'pass_vousinscrire' => 'Registering with the site',
619
-	'precedent' => 'previous',
620
-	'previsualisation' => 'Preview',
621
-	'previsualiser' => 'Show preview',
607
+    'pass_mot_oublie' => 'Password forgotten',
608
+    'pass_nouveau_enregistre' => 'Your new password has been recorded.',
609
+    'pass_nouveau_pass' => 'New password',
610
+    'pass_ok' => 'OK',
611
+    'pass_oubli_mot' => 'Forgotten password',
612
+    '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.',
613
+    'pass_quitter_fenetre' => 'Close this window',
614
+    'pass_rappel_login' => 'Reminder: your identifier (login) is "@login@".',
615
+    'pass_recevoir_mail' => 'A link to reset your password has been sent to your email address (if it is valid).',
616
+    'pass_retour_public' => 'Back to the public site',
617
+    'pass_rien_a_faire_ici' => 'Nothing to do here.',
618
+    'pass_vousinscrire' => 'Registering with the site',
619
+    'precedent' => 'previous',
620
+    'previsualisation' => 'Preview',
621
+    'previsualiser' => 'Show preview',
622 622
 
623
-	// R
624
-	'retour' => 'Back',
623
+    // R
624
+    'retour' => 'Back',
625 625
 
626
-	// S
627
-	'spip_conforme_dtd' => 'SPIP finds this page to be in compliance with its DOCTYPE:',
628
-	'squelette' => 'template',
629
-	'squelette_inclus_ligne' => 'included template, line',
630
-	'squelette_ligne' => 'template, line',
631
-	'stats_visites_et_popularite' => '@visites@ visits; popularity: @popularite@',
632
-	'suivant' => 'next',
626
+    // S
627
+    'spip_conforme_dtd' => 'SPIP finds this page to be in compliance with its DOCTYPE:',
628
+    'squelette' => 'template',
629
+    'squelette_inclus_ligne' => 'included template, line',
630
+    'squelette_ligne' => 'template, line',
631
+    'stats_visites_et_popularite' => '@visites@ visits; popularity: @popularite@',
632
+    'suivant' => 'next',
633 633
 
634
-	// T
635
-	'taille_go' => '@taille@ Gb',
636
-	'taille_ko' => '@taille@ kb',
637
-	'taille_mo' => '@taille@ Mb',
638
-	'taille_octets' => '@taille@ bytes',
639
-	'texte_actualite_site_1' => 'When you are more familiar with the interface, click on "',
640
-	'texte_actualite_site_2' => 'full interface',
641
-	'texte_actualite_site_3' => '" to make more features available.',
642
-	'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.',
643
-	'texte_documents_associes' => 'The following documents are associated with the article,,
634
+    // T
635
+    'taille_go' => '@taille@ Gb',
636
+    'taille_ko' => '@taille@ kb',
637
+    'taille_mo' => '@taille@ Mb',
638
+    'taille_octets' => '@taille@ bytes',
639
+    'texte_actualite_site_1' => 'When you are more familiar with the interface, click on "',
640
+    'texte_actualite_site_2' => 'full interface',
641
+    'texte_actualite_site_3' => '" to make more features available.',
642
+    '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.',
643
+    'texte_documents_associes' => 'The following documents are associated with the article,,
644 644
     but they were not directly
645 645
     inserted. Depending on the layout of the public site,
646 646
     they may appear as attached documents.',
647
-	'texte_erreur_mise_niveau_base' => 'Database error during the upgrade.
647
+    'texte_erreur_mise_niveau_base' => 'Database error during the upgrade.
648 648
       The image <b>@fichier@</b> did not pass (article @id_article@).<p>
649 649
    Note this reference carefully, try the upgrade procedure again,
650 650
    and check afterwards that the images still appear
651 651
       in the articles.',
652
-	'texte_erreur_visiteur' => 'You have tried to enter the private area using an unauthorised login.',
653
-	'texte_inc_auth_1' => 'You used the login
652
+    'texte_erreur_visiteur' => 'You have tried to enter the private area using an unauthorised login.',
653
+    'texte_inc_auth_1' => 'You used the login
654 654
   <b>@auth_login@</b>, but it does not exist in the database.
655 655
   Try to',
656
-	'texte_inc_auth_2' => 'reconnect',
657
-	'texte_inc_auth_3' => ', having quit and
656
+    'texte_inc_auth_2' => 'reconnect',
657
+    'texte_inc_auth_3' => ', having quit and
658 658
   restarted your browser if necessary.',
659
-	'texte_inc_config' => 'Changes made to the options on these pages have a great effect on
659
+    'texte_inc_config' => 'Changes made to the options on these pages have a great effect on
660 660
   the functioning of the site. You are advised not to make any changes unless you are
661 661
  familiar with how SPIP works. <br /><br /><b>In
662 662
  general, you are strongly advised
663 663
  to let the main webmaster of the site deal with these pages.</b>',
664
-	'texte_inc_meta_1' => 'The system encountered an error when trying to write the file <code>@fichier@</code>. As a site administrator, please',
665
-	'texte_inc_meta_2' => 'verify write permissions',
666
-	'texte_inc_meta_3' => 'of the directory <code>@repertoire@</code>.',
667
-	'texte_statut_en_cours_redaction' => 'editing in progress',
668
-	'texte_statut_poubelle' => 'to the dustbin',
669
-	'texte_statut_propose_evaluation' => 'submitted for evaluation',
670
-	'texte_statut_publie' => 'published online',
671
-	'texte_statut_refuse' => 'rejected',
672
-	'titre_ajouter_mot_cle' => 'ADD A KEYWORD:',
673
-	'titre_cadre_raccourcis' => 'SHORTCUTS:',
674
-	'titre_changer_couleur_interface' => 'Changing interface colour',
675
-	'titre_image_admin_article' => 'You can administrate this article',
676
-	'titre_image_administrateur' => 'Administrator',
677
-	'titre_image_aide' => 'Help on this item',
678
-	'titre_image_auteur_supprime' => 'Author deleted',
679
-	'titre_image_redacteur' => 'Editor without access',
680
-	'titre_image_redacteur_02' => 'Editor',
681
-	'titre_image_selecteur' => 'Display list',
682
-	'titre_image_visiteur' => 'Visitor',
683
-	'titre_joindre_document' => 'ATTACH A DOCUMENT',
684
-	'titre_mots_cles' => 'KEYWORDS',
685
-	'titre_probleme_technique' => 'Warning: a technical problem (SQL server) is preventing access to this part of the site. Thank you for your patience.',
686
-	'titre_publier_document' => 'PUBLISH A DOCUMENT IN THIS SECTION',
687
-	'titre_signatures_attente' => 'Signatures awaiting validation',
688
-	'titre_signatures_confirmees' => 'Signatures confirmed',
689
-	'titre_statistiques' => 'Site statistics',
690
-	'titre_titre_document' => 'Document title:',
691
-	'todo' => 'to come',
692
-	'trad_definir_reference' => 'Choose "@titre@" as a reference for translations',
693
-	'trad_reference' => '(reference for translations)',
664
+    'texte_inc_meta_1' => 'The system encountered an error when trying to write the file <code>@fichier@</code>. As a site administrator, please',
665
+    'texte_inc_meta_2' => 'verify write permissions',
666
+    'texte_inc_meta_3' => 'of the directory <code>@repertoire@</code>.',
667
+    'texte_statut_en_cours_redaction' => 'editing in progress',
668
+    'texte_statut_poubelle' => 'to the dustbin',
669
+    'texte_statut_propose_evaluation' => 'submitted for evaluation',
670
+    'texte_statut_publie' => 'published online',
671
+    'texte_statut_refuse' => 'rejected',
672
+    'titre_ajouter_mot_cle' => 'ADD A KEYWORD:',
673
+    'titre_cadre_raccourcis' => 'SHORTCUTS:',
674
+    'titre_changer_couleur_interface' => 'Changing interface colour',
675
+    'titre_image_admin_article' => 'You can administrate this article',
676
+    'titre_image_administrateur' => 'Administrator',
677
+    'titre_image_aide' => 'Help on this item',
678
+    'titre_image_auteur_supprime' => 'Author deleted',
679
+    'titre_image_redacteur' => 'Editor without access',
680
+    'titre_image_redacteur_02' => 'Editor',
681
+    'titre_image_selecteur' => 'Display list',
682
+    'titre_image_visiteur' => 'Visitor',
683
+    'titre_joindre_document' => 'ATTACH A DOCUMENT',
684
+    'titre_mots_cles' => 'KEYWORDS',
685
+    'titre_probleme_technique' => 'Warning: a technical problem (SQL server) is preventing access to this part of the site. Thank you for your patience.',
686
+    'titre_publier_document' => 'PUBLISH A DOCUMENT IN THIS SECTION',
687
+    'titre_signatures_attente' => 'Signatures awaiting validation',
688
+    'titre_signatures_confirmees' => 'Signatures confirmed',
689
+    'titre_statistiques' => 'Site statistics',
690
+    'titre_titre_document' => 'Document title:',
691
+    'todo' => 'to come',
692
+    'trad_definir_reference' => 'Choose "@titre@" as a reference for translations',
693
+    'trad_reference' => '(reference for translations)',
694 694
 
695
-	// U
696
-	'upload_limit' => 'This file is too big for the server: the maximum size allowed for <i>upload</i> is @max@.',
695
+    // U
696
+    'upload_limit' => 'This file is too big for the server: the maximum size allowed for <i>upload</i> is @max@.',
697 697
 
698
-	// Z
699
-	'zbug_balise_b_aval' => ': B tag too late in loop',
700
-	'zbug_balise_inexistante' => 'Tag @balise@ wrongly declared for @from@',
701
-	'zbug_balise_sans_argument' => 'Missing argument in the @balise@ tag',
702
-	'zbug_boucle' => 'loop',
703
-	'zbug_boucle_recursive_undef' => 'undefined recursive loop: @nom@',
704
-	'zbug_calcul' => 'calculation',
705
-	'zbug_champ_hors_boucle' => 'Field @champ@ outside loop',
706
-	'zbug_champ_hors_critere' => 'Field @champ@ outside criterion @critere@',
707
-	'zbug_champ_hors_motif' => 'Field @champ@ outside context @motif@',
708
-	'zbug_code' => 'code',
709
-	'zbug_critere_inconnu' => 'Unknown criterion @critere@',
710
-	'zbug_critere_sur_table_sans_cle_primaire' => '{@critere@} on a table without atomic primary key',
711
-	'zbug_distant_interdit' => 'External data forbidden',
712
-	'zbug_doublon_table_sans_cle_primaire' => 'Duplicate entries on a table which does not have a simple primary key',
713
-	'zbug_doublon_table_sans_index' => 'Duplicate entries on a table without an index',
714
-	'zbug_erreur_boucle_double' => 'Loop @id@: double definition',
715
-	'zbug_erreur_boucle_fermant' => 'Loop @id@: missing closing tag',
716
-	'zbug_erreur_boucle_syntaxe' => 'Syntax error in loop (BOUCLE)',
717
-	'zbug_erreur_compilation' => 'Compilation error',
718
-	'zbug_erreur_execution_page' => 'Execution error',
719
-	'zbug_erreur_filtre' => 'Undefined filter @filtre@',
720
-	'zbug_erreur_filtre_nbarg_min' => '@filtre@ filter: @nb@ argument(s) missing',
721
-	'zbug_erreur_meme_parent' => '{meme_parent} only applies to loops (FORUMS) and (RUBRIQUES)',
722
-	'zbug_erreur_squelette' => 'Error(s) in template',
723
-	'zbug_hors_compilation' => 'Uncompiled',
724
-	'zbug_info_erreur_squelette' => 'Error in the site',
725
-	'zbug_inversion_ordre_inexistant' => 'Reversion of non-existent order',
726
-	'zbug_pagination_sans_critere' => '#PAGINATION tag without {pagination} criterion, or used in a recursive loop',
727
-	'zbug_parametres_inclus_incorrects' => 'Wrong inclusion parameter: @param@',
728
-	'zbug_profile' => 'Calculation time: @time@',
729
-	'zbug_resultat' => 'result',
730
-	'zbug_serveur_indefini' => 'Undefined SQL server',
731
-	'zbug_statistiques' => 'SQL query statistics in order of duration',
732
-	'zbug_table_inconnue' => 'Unknown SQL table "@table@"',
733
-	'zxml_connus_attributs' => 'known attributes',
734
-	'zxml_de' => 'from',
735
-	'zxml_inconnu_attribut' => 'unknown attribute',
736
-	'zxml_inconnu_balise' => 'unknown tag',
737
-	'zxml_inconnu_entite' => 'unknown entity',
738
-	'zxml_inconnu_id' => 'unknown ID',
739
-	'zxml_mais_de' => 'but from',
740
-	'zxml_non_conforme' => 'not true to the principle',
741
-	'zxml_non_fils' => 'is not a child of',
742
-	'zxml_nonvide_balise' => 'tag not empty',
743
-	'zxml_obligatoire_attribut' => 'required attribute absent in',
744
-	'zxml_succession_fils_incorrecte' => 'incorrect child inheritance',
745
-	'zxml_survoler' => 'to see the correct ones, hover with the cursor',
746
-	'zxml_valeur_attribut' => 'attribute value',
747
-	'zxml_vide_balise' => 'empty tag',
748
-	'zxml_vu' => 'seen before'
698
+    // Z
699
+    'zbug_balise_b_aval' => ': B tag too late in loop',
700
+    'zbug_balise_inexistante' => 'Tag @balise@ wrongly declared for @from@',
701
+    'zbug_balise_sans_argument' => 'Missing argument in the @balise@ tag',
702
+    'zbug_boucle' => 'loop',
703
+    'zbug_boucle_recursive_undef' => 'undefined recursive loop: @nom@',
704
+    'zbug_calcul' => 'calculation',
705
+    'zbug_champ_hors_boucle' => 'Field @champ@ outside loop',
706
+    'zbug_champ_hors_critere' => 'Field @champ@ outside criterion @critere@',
707
+    'zbug_champ_hors_motif' => 'Field @champ@ outside context @motif@',
708
+    'zbug_code' => 'code',
709
+    'zbug_critere_inconnu' => 'Unknown criterion @critere@',
710
+    'zbug_critere_sur_table_sans_cle_primaire' => '{@critere@} on a table without atomic primary key',
711
+    'zbug_distant_interdit' => 'External data forbidden',
712
+    'zbug_doublon_table_sans_cle_primaire' => 'Duplicate entries on a table which does not have a simple primary key',
713
+    'zbug_doublon_table_sans_index' => 'Duplicate entries on a table without an index',
714
+    'zbug_erreur_boucle_double' => 'Loop @id@: double definition',
715
+    'zbug_erreur_boucle_fermant' => 'Loop @id@: missing closing tag',
716
+    'zbug_erreur_boucle_syntaxe' => 'Syntax error in loop (BOUCLE)',
717
+    'zbug_erreur_compilation' => 'Compilation error',
718
+    'zbug_erreur_execution_page' => 'Execution error',
719
+    'zbug_erreur_filtre' => 'Undefined filter @filtre@',
720
+    'zbug_erreur_filtre_nbarg_min' => '@filtre@ filter: @nb@ argument(s) missing',
721
+    'zbug_erreur_meme_parent' => '{meme_parent} only applies to loops (FORUMS) and (RUBRIQUES)',
722
+    'zbug_erreur_squelette' => 'Error(s) in template',
723
+    'zbug_hors_compilation' => 'Uncompiled',
724
+    'zbug_info_erreur_squelette' => 'Error in the site',
725
+    'zbug_inversion_ordre_inexistant' => 'Reversion of non-existent order',
726
+    'zbug_pagination_sans_critere' => '#PAGINATION tag without {pagination} criterion, or used in a recursive loop',
727
+    'zbug_parametres_inclus_incorrects' => 'Wrong inclusion parameter: @param@',
728
+    'zbug_profile' => 'Calculation time: @time@',
729
+    'zbug_resultat' => 'result',
730
+    'zbug_serveur_indefini' => 'Undefined SQL server',
731
+    'zbug_statistiques' => 'SQL query statistics in order of duration',
732
+    'zbug_table_inconnue' => 'Unknown SQL table "@table@"',
733
+    'zxml_connus_attributs' => 'known attributes',
734
+    'zxml_de' => 'from',
735
+    'zxml_inconnu_attribut' => 'unknown attribute',
736
+    'zxml_inconnu_balise' => 'unknown tag',
737
+    'zxml_inconnu_entite' => 'unknown entity',
738
+    'zxml_inconnu_id' => 'unknown ID',
739
+    'zxml_mais_de' => 'but from',
740
+    'zxml_non_conforme' => 'not true to the principle',
741
+    'zxml_non_fils' => 'is not a child of',
742
+    'zxml_nonvide_balise' => 'tag not empty',
743
+    'zxml_obligatoire_attribut' => 'required attribute absent in',
744
+    'zxml_succession_fils_incorrecte' => 'incorrect child inheritance',
745
+    'zxml_survoler' => 'to see the correct ones, hover with the cursor',
746
+    'zxml_valeur_attribut' => 'attribute value',
747
+    'zxml_vide_balise' => 'empty tag',
748
+    'zxml_vu' => 'seen before'
749 749
 );
Please login to merge, or discard this patch.
ecrire/lang/spip_ar.php 1 patch
Indentation   +669 added lines, -669 removed lines patch added patch discarded remove patch
@@ -4,246 +4,246 @@  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' => 'عودة إلى الواجهة الرسومية الكاملة',
14
-	'access_mode_texte' => 'عرض الواجهة النصية المبسّطة',
15
-	'admin_debug' => 'اكتشاف الأخطاء',
16
-	'admin_modifier_article' => 'تعديل هذا المقال',
17
-	'admin_modifier_auteur' => 'تغيير هذا المؤلف',
18
-	'admin_modifier_breve' => 'تعديل هذا الخبر',
19
-	'admin_modifier_mot' => 'تغيير هذا المفتاح',
20
-	'admin_modifier_rubrique' => 'تعديل هذا القسم',
21
-	'admin_recalculer' => 'إعادة تحديث هذه الصفحة',
22
-	'afficher_calendrier' => 'عرض الروزنامة',
23
-	'afficher_trad' => 'عرض الترجمات',
24
-	'alerte_maj_impossible' => '<b>تحذير!</b> ترقية قاعدة SQL إلى الإصدار @version@ متعذر. قد يكون السبب مشكلة في حقل التعديل. الرجاء الاتصال بمضيف موقعك.',
25
-	'alerte_modif_info_concourante' => 'تحذير:هذه المعلومة عُدلت في مكان آخر. القيمة الحالية هي:',
26
-	'analyse_xml' => 'تحليل XML',
27
-	'annuler' => 'إلغاء',
28
-	'antispam_champ_vide' => 'الرجاء الإبقاء على هذا الحقل فارغاً:',
29
-	'articles_recents' => 'أحدث المقالات',
30
-	'attention_champ_mini_nb_caractères' => 'تنبيه! @nb@ حروف على الأقل',
31
-	'avis_1_erreur_saisie' => 'هناك خطأ في إدخالك، الرجاء التدقيق في المعلومات.',
32
-	'avis_archive_incorrect' => 'ملف الأرشيف ليس ملف SPIP',
33
-	'avis_archive_invalide' => 'ملف الأرشيف غير صالح',
34
-	'avis_attention' => 'تحذير!',
35
-	'avis_champ_incorrect_type_objet' => 'إسم حقل @name@ غير صالح لنوع العنصر @type@',
36
-	'avis_colonne_inexistante' => 'العمود @col@ غير موجود',
37
-	'avis_erreur' => 'خطأ: انظر أدناه',
38
-	'avis_erreur_connexion' => 'خطأ اتصال',
39
-	'avis_erreur_cookie' => 'مشكلة في الكعكة',
40
-	'avis_erreur_fonction_contexte' => 'خطأ برمجة. لا يجب المناداة على هذه الوظيفة في هذا السياق.',
41
-	'avis_erreur_mysql' => 'خطأ SQL ',
42
-	'avis_erreur_sauvegarde' => 'خطأ في النسخة الاحتياطية (@type@ @id_objet@)!',
43
-	'avis_erreur_visiteur' => 'هناك مشكلة في الدخول إلى المجال الخاص',
44
-	'avis_nb_erreurs_saisie' => 'هناك @nb@ خطأ في إدخالك، الرجاء التدقيق في المعلومات.',
12
+    // A
13
+    'access_interface_graphique' => 'عودة إلى الواجهة الرسومية الكاملة',
14
+    'access_mode_texte' => 'عرض الواجهة النصية المبسّطة',
15
+    'admin_debug' => 'اكتشاف الأخطاء',
16
+    'admin_modifier_article' => 'تعديل هذا المقال',
17
+    'admin_modifier_auteur' => 'تغيير هذا المؤلف',
18
+    'admin_modifier_breve' => 'تعديل هذا الخبر',
19
+    'admin_modifier_mot' => 'تغيير هذا المفتاح',
20
+    'admin_modifier_rubrique' => 'تعديل هذا القسم',
21
+    'admin_recalculer' => 'إعادة تحديث هذه الصفحة',
22
+    'afficher_calendrier' => 'عرض الروزنامة',
23
+    'afficher_trad' => 'عرض الترجمات',
24
+    'alerte_maj_impossible' => '<b>تحذير!</b> ترقية قاعدة SQL إلى الإصدار @version@ متعذر. قد يكون السبب مشكلة في حقل التعديل. الرجاء الاتصال بمضيف موقعك.',
25
+    'alerte_modif_info_concourante' => 'تحذير:هذه المعلومة عُدلت في مكان آخر. القيمة الحالية هي:',
26
+    'analyse_xml' => 'تحليل XML',
27
+    'annuler' => 'إلغاء',
28
+    'antispam_champ_vide' => 'الرجاء الإبقاء على هذا الحقل فارغاً:',
29
+    'articles_recents' => 'أحدث المقالات',
30
+    'attention_champ_mini_nb_caractères' => 'تنبيه! @nb@ حروف على الأقل',
31
+    'avis_1_erreur_saisie' => 'هناك خطأ في إدخالك، الرجاء التدقيق في المعلومات.',
32
+    'avis_archive_incorrect' => 'ملف الأرشيف ليس ملف SPIP',
33
+    'avis_archive_invalide' => 'ملف الأرشيف غير صالح',
34
+    'avis_attention' => 'تحذير!',
35
+    'avis_champ_incorrect_type_objet' => 'إسم حقل @name@ غير صالح لنوع العنصر @type@',
36
+    'avis_colonne_inexistante' => 'العمود @col@ غير موجود',
37
+    'avis_erreur' => 'خطأ: انظر أدناه',
38
+    'avis_erreur_connexion' => 'خطأ اتصال',
39
+    'avis_erreur_cookie' => 'مشكلة في الكعكة',
40
+    'avis_erreur_fonction_contexte' => 'خطأ برمجة. لا يجب المناداة على هذه الوظيفة في هذا السياق.',
41
+    'avis_erreur_mysql' => 'خطأ SQL ',
42
+    'avis_erreur_sauvegarde' => 'خطأ في النسخة الاحتياطية (@type@ @id_objet@)!',
43
+    'avis_erreur_visiteur' => 'هناك مشكلة في الدخول إلى المجال الخاص',
44
+    'avis_nb_erreurs_saisie' => 'هناك @nb@ خطأ في إدخالك، الرجاء التدقيق في المعلومات.',
45 45
 
46
-	// B
47
-	'barre_a_accent_grave' => 'إدراج حرف A كبير مع نبر الإطالة',
48
-	'barre_aide' => 'استخدم شريط اختصارات الكتابة لإثراء تصميم صفحتك',
49
-	'barre_e_accent_aigu' => 'إدراج حرف E كبير مع نبر حاد',
50
-	'barre_eo' => 'إدراج E داخل O',
51
-	'barre_eo_maj' => 'إدراج E كبير داخل O كبير',
52
-	'barre_euro' => 'إدراج رمز €',
53
-	'barre_gras' => '{{غامق{{',
54
-	'barre_guillemets' => 'إحاطة «بعلامتي اقتباس مزدوجة»',
55
-	'barre_guillemets_simples' => 'وضع بين "علامتي اقتباس مزدوجة من المستوى الثاني"',
56
-	'barre_intertitre' => 'تحويل إلى {{{عنوان فقرة}}}',
57
-	'barre_italic' => '{مائل{',
58
-	'barre_lien' => 'تحويل إلى [وصلة هايبرتكست->http://...]',
59
-	'barre_lien_input' => 'الرجاء إدخال عنوان الوصلة (يمكنك إدخال عنوان نسيج على شكل http://www.mysite.com أو إدخال رقم مقال من الموقع الحالي فقط).',
60
-	'barre_note' => 'تحويل إلى [[حاشية]]',
61
-	'barre_paragraphe' => 'إنشاء فقرة',
62
-	'barre_quote' => '<quote>اقتباس رسالة</quote>',
63
-	'bouton_changer' => 'تغيير',
64
-	'bouton_chercher' => 'بحث',
65
-	'bouton_choisir' => 'تحديد',
66
-	'bouton_deplacer' => 'نقل',
67
-	'bouton_download' => 'تحميل',
68
-	'bouton_enregistrer' => 'إدخال',
69
-	'bouton_radio_desactiver_messagerie_interne' => 'إيقاف المراسلة الداخلية',
70
-	'bouton_radio_envoi_annonces' => 'إرسال إعلانات التحرير',
71
-	'bouton_radio_non_envoi_annonces' => 'عدم إرسال الإعلانات',
72
-	'bouton_radio_non_envoi_liste_nouveautes' => 'عدم إرسال قائمة بآخر الأخبار',
73
-	'bouton_recharger_page' => 'إعادة تحميل الصفحة',
74
-	'bouton_telecharger' => 'تحميل',
75
-	'bouton_upload' => 'تنزيل',
76
-	'bouton_valider' => 'إدخال',
46
+    // B
47
+    'barre_a_accent_grave' => 'إدراج حرف A كبير مع نبر الإطالة',
48
+    'barre_aide' => 'استخدم شريط اختصارات الكتابة لإثراء تصميم صفحتك',
49
+    'barre_e_accent_aigu' => 'إدراج حرف E كبير مع نبر حاد',
50
+    'barre_eo' => 'إدراج E داخل O',
51
+    'barre_eo_maj' => 'إدراج E كبير داخل O كبير',
52
+    'barre_euro' => 'إدراج رمز €',
53
+    'barre_gras' => '{{غامق{{',
54
+    'barre_guillemets' => 'إحاطة «بعلامتي اقتباس مزدوجة»',
55
+    'barre_guillemets_simples' => 'وضع بين "علامتي اقتباس مزدوجة من المستوى الثاني"',
56
+    'barre_intertitre' => 'تحويل إلى {{{عنوان فقرة}}}',
57
+    'barre_italic' => '{مائل{',
58
+    'barre_lien' => 'تحويل إلى [وصلة هايبرتكست->http://...]',
59
+    'barre_lien_input' => 'الرجاء إدخال عنوان الوصلة (يمكنك إدخال عنوان نسيج على شكل http://www.mysite.com أو إدخال رقم مقال من الموقع الحالي فقط).',
60
+    'barre_note' => 'تحويل إلى [[حاشية]]',
61
+    'barre_paragraphe' => 'إنشاء فقرة',
62
+    'barre_quote' => '<quote>اقتباس رسالة</quote>',
63
+    'bouton_changer' => 'تغيير',
64
+    'bouton_chercher' => 'بحث',
65
+    'bouton_choisir' => 'تحديد',
66
+    'bouton_deplacer' => 'نقل',
67
+    'bouton_download' => 'تحميل',
68
+    'bouton_enregistrer' => 'إدخال',
69
+    'bouton_radio_desactiver_messagerie_interne' => 'إيقاف المراسلة الداخلية',
70
+    'bouton_radio_envoi_annonces' => 'إرسال إعلانات التحرير',
71
+    'bouton_radio_non_envoi_annonces' => 'عدم إرسال الإعلانات',
72
+    'bouton_radio_non_envoi_liste_nouveautes' => 'عدم إرسال قائمة بآخر الأخبار',
73
+    'bouton_recharger_page' => 'إعادة تحميل الصفحة',
74
+    'bouton_telecharger' => 'تحميل',
75
+    'bouton_upload' => 'تنزيل',
76
+    'bouton_valider' => 'إدخال',
77 77
 
78
-	// C
79
-	'cal_apresmidi' => 'بعد الظهر',
80
-	'cal_jour_entier' => 'يوم كامل',
81
-	'cal_matin' => 'الصباح',
82
-	'cal_par_jour' => 'روزنامة يومية',
83
-	'cal_par_mois' => 'روزنامة شهرية',
84
-	'cal_par_semaine' => 'روزنامة أسبوعية',
85
-	'choix_couleur_interface' => 'اللون',
86
-	'choix_interface' => 'اختيار الواجهة',
87
-	'colonne' => 'عمود',
88
-	'confirm_changer_statut' => 'تحذير، لقد طلبت تغيير حالة هذا العنصر. هل تريد المتابعة؟',
89
-	'correcte' => 'صحيح',
78
+    // C
79
+    'cal_apresmidi' => 'بعد الظهر',
80
+    'cal_jour_entier' => 'يوم كامل',
81
+    'cal_matin' => 'الصباح',
82
+    'cal_par_jour' => 'روزنامة يومية',
83
+    'cal_par_mois' => 'روزنامة شهرية',
84
+    'cal_par_semaine' => 'روزنامة أسبوعية',
85
+    'choix_couleur_interface' => 'اللون',
86
+    'choix_interface' => 'اختيار الواجهة',
87
+    'colonne' => 'عمود',
88
+    'confirm_changer_statut' => 'تحذير، لقد طلبت تغيير حالة هذا العنصر. هل تريد المتابعة؟',
89
+    'correcte' => 'صحيح',
90 90
 
91
-	// D
92
-	'date_aujourdhui' => 'اليوم',
93
-	'date_avant_jc' => 'قبل الميلاد',
94
-	'date_dans' => 'بعد @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' => 'غداً',
108
-	'date_fmt_heures_minutes' => '@h@  و@m@  دقيقة',
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' => 'في @jour@ من @heure_debut@ الى @heure_fin@',
113
-	'date_fmt_jour_heure_debut_fin_abbr' => 'في @dtstart@@jour@ من @heure_debut@@dtabbr@ الى @dtend@@heure_fin@@dtabbr@',
114
-	'date_fmt_jour_mois' => '@jour@ @nommois@',
115
-	'date_fmt_jour_mois_annee' => '@jour@ @nommois@ @annee@',
116
-	'date_fmt_mois_annee' => '@nommois@ @annee@',
117
-	'date_fmt_nomjour' => '@nomjour@ @date@',
118
-	'date_fmt_nomjour_date' => 'في @nomjour@ @date@',
119
-	'date_fmt_periode' => 'من @date_debut@ الى @date_fin@',
120
-	'date_fmt_periode_abbr' => 'من @dtart@@date_debut@@dtabbr@ الى @dtend@@date_fin@@dtabbr@',
121
-	'date_fmt_periode_from' => 'من',
122
-	'date_fmt_periode_to' => 'الى',
123
-	'date_fmt_saison_annee' => '@saison@ @annee@',
124
-	'date_heures' => 'ساعة',
125
-	'date_hier' => 'البارحة',
126
-	'date_il_y_a' => 'منذ @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' => 'الأحد',
159
-	'date_jour_1_abbr' => 'أحد',
160
-	'date_jour_1_initiale' => 'أحد',
161
-	'date_jour_2' => 'الاثنين',
162
-	'date_jour_2_abbr' => 'اثنين',
163
-	'date_jour_2_initiale' => 'اثنين',
164
-	'date_jour_3' => 'الثلاثاء',
165
-	'date_jour_3_abbr' => 'ثلاثاء',
166
-	'date_jour_3_initiale' => 'ثلاثاء',
167
-	'date_jour_4' => 'الأربعاء',
168
-	'date_jour_4_abbr' => 'أربعاء',
169
-	'date_jour_4_initiale' => 'أربعاء',
170
-	'date_jour_5' => 'الخميس',
171
-	'date_jour_5_abbr' => 'خميس',
172
-	'date_jour_5_initiale' => 'خميس',
173
-	'date_jour_6' => 'الجمعة',
174
-	'date_jour_6_abbr' => 'جمعة',
175
-	'date_jour_6_initiale' => 'جمعة',
176
-	'date_jour_7' => 'السبت',
177
-	'date_jour_7_abbr' => 'سبت',
178
-	'date_jour_7_initiale' => 'سبت',
179
-	'date_jours' => 'يوم',
180
-	'date_minutes' => 'دقيقة',
181
-	'date_mois' => 'شهر',
182
-	'date_mois_1' => 'كانون الثاني (يناير)',
183
-	'date_mois_10' => 'تشرين الأول (أكتوبر)',
184
-	'date_mois_10_abbr' => 'ت١',
185
-	'date_mois_11' => 'تشرين الثاني (نوفمبر)',
186
-	'date_mois_11_abbr' => 'ت٢',
187
-	'date_mois_12' => 'كانون الأول (ديسمبر)',
188
-	'date_mois_12_abbr' => 'ك١',
189
-	'date_mois_1_abbr' => 'ك٢',
190
-	'date_mois_2' => 'شباط (فبراير)',
191
-	'date_mois_2_abbr' => 'شباط',
192
-	'date_mois_3' => 'آذار (مارس)',
193
-	'date_mois_3_abbr' => 'آذار',
194
-	'date_mois_4' => 'نيسان (أبريل)',
195
-	'date_mois_4_abbr' => 'نيسان',
196
-	'date_mois_5' => 'أيار (مايو)',
197
-	'date_mois_5_abbr' => 'أيار',
198
-	'date_mois_6' => 'حزيران (يونيو)',
199
-	'date_mois_6_abbr' => 'جزيران',
200
-	'date_mois_7' => 'تموز (يوليو)',
201
-	'date_mois_7_abbr' => 'تموز',
202
-	'date_mois_8' => 'آب (أغسطس)',
203
-	'date_mois_8_abbr' => 'آب',
204
-	'date_mois_9' => 'أيلول (سبتمبر)',
205
-	'date_mois_9_abbr' => 'أيلول',
206
-	'date_saison_1' => 'الشتاء',
207
-	'date_saison_2' => 'الربيع',
208
-	'date_saison_3' => 'الصيف',
209
-	'date_saison_4' => 'الخريف',
210
-	'date_secondes' => 'ثانية',
211
-	'date_semaines' => 'أسبوع',
212
-	'date_un_mois' => 'شهر',
213
-	'date_une_heure' => 'ساعة',
214
-	'date_une_minute' => 'دقيقة',
215
-	'date_une_seconde' => 'ثانية',
216
-	'date_une_semaine' => 'أسبوع',
217
-	'dirs_commencer' => 'للبدء فعلاً بعملية التثبيت',
218
-	'dirs_preliminaire' => 'تمهيد: <b>إعداد امتيازات الدخول</b>',
219
-	'dirs_probleme_droits' => 'مشكلة في امتيازات الدخول',
220
-	'dirs_repertoires_absents' => '<p><b>لم يتم العثور على الأدلة التالية: </b></p><ul>@bad_dirs@</ul>
91
+    // D
92
+    'date_aujourdhui' => 'اليوم',
93
+    'date_avant_jc' => 'قبل الميلاد',
94
+    'date_dans' => 'بعد @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' => 'غداً',
108
+    'date_fmt_heures_minutes' => '@h@  و@m@  دقيقة',
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' => 'في @jour@ من @heure_debut@ الى @heure_fin@',
113
+    'date_fmt_jour_heure_debut_fin_abbr' => 'في @dtstart@@jour@ من @heure_debut@@dtabbr@ الى @dtend@@heure_fin@@dtabbr@',
114
+    'date_fmt_jour_mois' => '@jour@ @nommois@',
115
+    'date_fmt_jour_mois_annee' => '@jour@ @nommois@ @annee@',
116
+    'date_fmt_mois_annee' => '@nommois@ @annee@',
117
+    'date_fmt_nomjour' => '@nomjour@ @date@',
118
+    'date_fmt_nomjour_date' => 'في @nomjour@ @date@',
119
+    'date_fmt_periode' => 'من @date_debut@ الى @date_fin@',
120
+    'date_fmt_periode_abbr' => 'من @dtart@@date_debut@@dtabbr@ الى @dtend@@date_fin@@dtabbr@',
121
+    'date_fmt_periode_from' => 'من',
122
+    'date_fmt_periode_to' => 'الى',
123
+    'date_fmt_saison_annee' => '@saison@ @annee@',
124
+    'date_heures' => 'ساعة',
125
+    'date_hier' => 'البارحة',
126
+    'date_il_y_a' => 'منذ @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' => 'الأحد',
159
+    'date_jour_1_abbr' => 'أحد',
160
+    'date_jour_1_initiale' => 'أحد',
161
+    'date_jour_2' => 'الاثنين',
162
+    'date_jour_2_abbr' => 'اثنين',
163
+    'date_jour_2_initiale' => 'اثنين',
164
+    'date_jour_3' => 'الثلاثاء',
165
+    'date_jour_3_abbr' => 'ثلاثاء',
166
+    'date_jour_3_initiale' => 'ثلاثاء',
167
+    'date_jour_4' => 'الأربعاء',
168
+    'date_jour_4_abbr' => 'أربعاء',
169
+    'date_jour_4_initiale' => 'أربعاء',
170
+    'date_jour_5' => 'الخميس',
171
+    'date_jour_5_abbr' => 'خميس',
172
+    'date_jour_5_initiale' => 'خميس',
173
+    'date_jour_6' => 'الجمعة',
174
+    'date_jour_6_abbr' => 'جمعة',
175
+    'date_jour_6_initiale' => 'جمعة',
176
+    'date_jour_7' => 'السبت',
177
+    'date_jour_7_abbr' => 'سبت',
178
+    'date_jour_7_initiale' => 'سبت',
179
+    'date_jours' => 'يوم',
180
+    'date_minutes' => 'دقيقة',
181
+    'date_mois' => 'شهر',
182
+    'date_mois_1' => 'كانون الثاني (يناير)',
183
+    'date_mois_10' => 'تشرين الأول (أكتوبر)',
184
+    'date_mois_10_abbr' => 'ت١',
185
+    'date_mois_11' => 'تشرين الثاني (نوفمبر)',
186
+    'date_mois_11_abbr' => 'ت٢',
187
+    'date_mois_12' => 'كانون الأول (ديسمبر)',
188
+    'date_mois_12_abbr' => 'ك١',
189
+    'date_mois_1_abbr' => 'ك٢',
190
+    'date_mois_2' => 'شباط (فبراير)',
191
+    'date_mois_2_abbr' => 'شباط',
192
+    'date_mois_3' => 'آذار (مارس)',
193
+    'date_mois_3_abbr' => 'آذار',
194
+    'date_mois_4' => 'نيسان (أبريل)',
195
+    'date_mois_4_abbr' => 'نيسان',
196
+    'date_mois_5' => 'أيار (مايو)',
197
+    'date_mois_5_abbr' => 'أيار',
198
+    'date_mois_6' => 'حزيران (يونيو)',
199
+    'date_mois_6_abbr' => 'جزيران',
200
+    'date_mois_7' => 'تموز (يوليو)',
201
+    'date_mois_7_abbr' => 'تموز',
202
+    'date_mois_8' => 'آب (أغسطس)',
203
+    'date_mois_8_abbr' => 'آب',
204
+    'date_mois_9' => 'أيلول (سبتمبر)',
205
+    'date_mois_9_abbr' => 'أيلول',
206
+    'date_saison_1' => 'الشتاء',
207
+    'date_saison_2' => 'الربيع',
208
+    'date_saison_3' => 'الصيف',
209
+    'date_saison_4' => 'الخريف',
210
+    'date_secondes' => 'ثانية',
211
+    'date_semaines' => 'أسبوع',
212
+    'date_un_mois' => 'شهر',
213
+    'date_une_heure' => 'ساعة',
214
+    'date_une_minute' => 'دقيقة',
215
+    'date_une_seconde' => 'ثانية',
216
+    'date_une_semaine' => 'أسبوع',
217
+    'dirs_commencer' => 'للبدء فعلاً بعملية التثبيت',
218
+    'dirs_preliminaire' => 'تمهيد: <b>إعداد امتيازات الدخول</b>',
219
+    'dirs_probleme_droits' => 'مشكلة في امتيازات الدخول',
220
+    'dirs_repertoires_absents' => '<p><b>لم يتم العثور على الأدلة التالية: </b></p><ul>@bad_dirs@</ul>
221 221
 <p>قد يكون السبب خطأ في اعتماد الحروف الكبيرة أو الصغيرة في أسمائها. الرجاء التأكد من أن الحروف الكبيرة والصغيرة في أسماء هذه الأدلة تناسب ما هو معروض أعلاه؛ إذا لم يكن الأمر كذلك، الرجاء إعادة تسمية الأدلة بواسطة برنامج FTP لتصحيح الخطأ.
222 222
 <p>بعد تنفيذ هذه العملية يمكنك </p>',
223
-	'dirs_repertoires_suivants' => '<p><b>الأدلة التالية ممنوعة على الكتابة: </b></p
223
+    'dirs_repertoires_suivants' => '<p><b>الأدلة التالية ممنوعة على الكتابة: </b></p
224 224
 <ul>@bad_dirs@</ul>
225 225
 <p>لحل هذه المشكلة، استخدم برنامج FTP لإعداد امتيازات الدخول لكل من هذه الأدلة. ويوضح دليل الاستخدام هذه العملية بالتفصيل.
226 226
 <p>بعد إتمام هذه العملية يمكنك</p>',
227
-	'double_occurrence' => 'ظهور مكرر لعلامة @balise@',
227
+    'double_occurrence' => 'ظهور مكرر لعلامة @balise@',
228 228
 
229
-	// E
230
-	'en_cours' => 'جاري',
231
-	'envoi_via_le_site' => 'إرسال عبر الموقع',
232
-	'erreur' => 'خطأ',
233
-	'erreur_balise_non_fermee' => 'آخر علامة غير مغلقة:',
234
-	'erreur_technique_ajaxform' => 'عفواً. حدث خطأ غير متوقع خلال إرسال الاستمارة. الرجاء المحاولة من جديد.',
235
-	'erreur_technique_enregistrement_champs' => 'خطأ تقني منع التسجيل السليم للحقل @champs@. ',
236
-	'erreur_technique_enregistrement_impossible' => 'خطأ تقني منع التسجيل.',
237
-	'erreur_texte' => 'خطأ (أخطاء)',
238
-	'etape' => 'خطوة',
229
+    // E
230
+    'en_cours' => 'جاري',
231
+    'envoi_via_le_site' => 'إرسال عبر الموقع',
232
+    'erreur' => 'خطأ',
233
+    'erreur_balise_non_fermee' => 'آخر علامة غير مغلقة:',
234
+    'erreur_technique_ajaxform' => 'عفواً. حدث خطأ غير متوقع خلال إرسال الاستمارة. الرجاء المحاولة من جديد.',
235
+    'erreur_technique_enregistrement_champs' => 'خطأ تقني منع التسجيل السليم للحقل @champs@. ',
236
+    'erreur_technique_enregistrement_impossible' => 'خطأ تقني منع التسجيل.',
237
+    'erreur_texte' => 'خطأ (أخطاء)',
238
+    'etape' => 'خطوة',
239 239
 
240
-	// F
241
-	'fichier_introuvable' => 'لا يمكن العثور على الملف @fichier@',
242
-	'fonction_introuvable' => 'دالة @fonction@() غير موجودة.',
243
-	'form_auteur_confirmation' => 'تأكيد عنوان البريد الالكتروني',
244
-	'form_auteur_email_modifie' => 'تغير عنوان بريدك.',
245
-	'form_auteur_envoi_mail_confirmation' => 'لفد تم ارسال بريد تأكيد الى @email@. عليك زيارة عنوان الموقع الموجود في الرسالة للتصديق على عنوان بريدك.',
246
-	'form_auteur_mail_confirmation' => 'أهلاً وسهلاً
240
+    // F
241
+    'fichier_introuvable' => 'لا يمكن العثور على الملف @fichier@',
242
+    'fonction_introuvable' => 'دالة @fonction@() غير موجودة.',
243
+    'form_auteur_confirmation' => 'تأكيد عنوان البريد الالكتروني',
244
+    'form_auteur_email_modifie' => 'تغير عنوان بريدك.',
245
+    'form_auteur_envoi_mail_confirmation' => 'لفد تم ارسال بريد تأكيد الى @email@. عليك زيارة عنوان الموقع الموجود في الرسالة للتصديق على عنوان بريدك.',
246
+    'form_auteur_mail_confirmation' => 'أهلاً وسهلاً
247 247
 
248 248
 لقد طلبت تغيير عنوان بريدك.
249 249
 للتصديق على العنوان الجديد، يكفي الاتصال
@@ -252,347 +252,347 @@  discard block
 block discarded – undo
252 252
 
253 253
     @url@
254 254
 ',
255
-	'form_deja_inscrit' => 'سبق لك التسجيل.',
256
-	'form_email_non_valide' => 'عنوانك البريدي غير صالح.',
257
-	'form_forum_access_refuse' => 'لم تعد تملك امتياز الدحول إلى هذا الموقع.',
258
-	'form_forum_bonjour' => 'مرحباً @nom@،',
259
-	'form_forum_confirmer_email' => 'لتأكيد عنوان بريدك، إذهب الى:@url_confirm@',
260
-	'form_forum_email_deja_enregistre' => 'سبق تسجيل هذا العنوان البريدي، يمكنك إذاً استخدام كلمة سرك الاعتيادية.',
261
-	'form_forum_identifiant_mail' => 'لقد تم إرسال معرّفك الجديد بالبريد الالكتروني.',
262
-	'form_forum_identifiants' => 'بيانات الاتصال الشخصية',
263
-	'form_forum_indiquer_nom_email' => 'قم بإدخال اسمك وعنوانك البريدي هنا. ستحصل على بيانات اتصالك قريباً في البريد الإلكتروني.',
264
-	'form_forum_login' => 'المعرّف:',
265
-	'form_forum_message_auto' => '(هذه رسالة آلية)',
266
-	'form_forum_pass' => 'كلمة السر:',
267
-	'form_forum_probleme_mail' => 'مشكلة بريد إلكتروني: لا يمكن إرسال بيانات الدخول.',
268
-	'form_forum_voici1' => 'هذه هي بياناتك للاشتراك في نشاط
255
+    'form_deja_inscrit' => 'سبق لك التسجيل.',
256
+    'form_email_non_valide' => 'عنوانك البريدي غير صالح.',
257
+    'form_forum_access_refuse' => 'لم تعد تملك امتياز الدحول إلى هذا الموقع.',
258
+    'form_forum_bonjour' => 'مرحباً @nom@،',
259
+    'form_forum_confirmer_email' => 'لتأكيد عنوان بريدك، إذهب الى:@url_confirm@',
260
+    'form_forum_email_deja_enregistre' => 'سبق تسجيل هذا العنوان البريدي، يمكنك إذاً استخدام كلمة سرك الاعتيادية.',
261
+    'form_forum_identifiant_mail' => 'لقد تم إرسال معرّفك الجديد بالبريد الالكتروني.',
262
+    'form_forum_identifiants' => 'بيانات الاتصال الشخصية',
263
+    'form_forum_indiquer_nom_email' => 'قم بإدخال اسمك وعنوانك البريدي هنا. ستحصل على بيانات اتصالك قريباً في البريد الإلكتروني.',
264
+    'form_forum_login' => 'المعرّف:',
265
+    'form_forum_message_auto' => '(هذه رسالة آلية)',
266
+    'form_forum_pass' => 'كلمة السر:',
267
+    'form_forum_probleme_mail' => 'مشكلة بريد إلكتروني: لا يمكن إرسال بيانات الدخول.',
268
+    'form_forum_voici1' => 'هذه هي بياناتك للاشتراك في نشاط
269 269
 الموقع  "@nom_site_spip@" (@adresse_site@):',
270
-	'form_forum_voici2' => 'هذه هي بياناتك لاقتراح مقالات
270
+    'form_forum_voici2' => 'هذه هي بياناتك لاقتراح مقالات
271 271
 للموقع  "@nom_site_spip@" (@adresse_login@):',
272
-	'form_indiquer_email' => 'الرجاء إدخال عنوانك الإلكتروني.',
273
-	'form_indiquer_nom' => 'الرجاء إدخال اسمك.',
274
-	'form_indiquer_nom_site' => 'الرجاء إدخال إسم موقعك.',
275
-	'form_pet_deja_enregistre' => 'سبق تسجيل هذا الموقع',
276
-	'form_pet_signature_pasprise' => 'تم تجاهل توقيعك.',
277
-	'form_prop_confirmer_envoi' => 'تأكيد الإرسال',
278
-	'form_prop_description' => 'وصف/تعليق',
279
-	'form_prop_enregistre' => 'تم تسجيل اقتراحك، سوف يظهر بعد تصديقه من قبل مسئولي هذا الموقع.',
280
-	'form_prop_envoyer' => 'ابعث برسالة',
281
-	'form_prop_indiquer_email' => 'الرجاء إدخال عنوان بريد إلكتروني صالح',
282
-	'form_prop_indiquer_nom_site' => 'الرجاء إدخال اسم الموقع.',
283
-	'form_prop_indiquer_sujet' => 'الرجاء إدخال موضوع',
284
-	'form_prop_message_envoye' => 'تم بعث الرسالة',
285
-	'form_prop_non_enregistre' => 'لم يتم تسجيل اقتراحك.',
286
-	'form_prop_sujet' => 'الموضوع',
287
-	'form_prop_url_site' => 'عنوان الموقع',
288
-	'format_date_attendu' => 'إدخال تاريخ بتنسيق jj/mm/aaaa.',
289
-	'format_date_incorrecte' => 'التاريخ او تنسيقه غير صحيح',
290
-	'format_heure_attendu' => 'إدخال ساعة بتنسيق hh:mm.',
291
-	'format_heure_incorrecte' => 'الساعة او تنسيقها غير صحيح',
292
-	'forum_non_inscrit' => 'إما انك غير مسجل أو هناك خطأ في العنوان أو كلمة السر.',
293
-	'forum_par_auteur' => 'من @auteur@',
294
-	'forum_titre_erreur' => 'خطأ...',
272
+    'form_indiquer_email' => 'الرجاء إدخال عنوانك الإلكتروني.',
273
+    'form_indiquer_nom' => 'الرجاء إدخال اسمك.',
274
+    'form_indiquer_nom_site' => 'الرجاء إدخال إسم موقعك.',
275
+    'form_pet_deja_enregistre' => 'سبق تسجيل هذا الموقع',
276
+    'form_pet_signature_pasprise' => 'تم تجاهل توقيعك.',
277
+    'form_prop_confirmer_envoi' => 'تأكيد الإرسال',
278
+    'form_prop_description' => 'وصف/تعليق',
279
+    'form_prop_enregistre' => 'تم تسجيل اقتراحك، سوف يظهر بعد تصديقه من قبل مسئولي هذا الموقع.',
280
+    'form_prop_envoyer' => 'ابعث برسالة',
281
+    'form_prop_indiquer_email' => 'الرجاء إدخال عنوان بريد إلكتروني صالح',
282
+    'form_prop_indiquer_nom_site' => 'الرجاء إدخال اسم الموقع.',
283
+    'form_prop_indiquer_sujet' => 'الرجاء إدخال موضوع',
284
+    'form_prop_message_envoye' => 'تم بعث الرسالة',
285
+    'form_prop_non_enregistre' => 'لم يتم تسجيل اقتراحك.',
286
+    'form_prop_sujet' => 'الموضوع',
287
+    'form_prop_url_site' => 'عنوان الموقع',
288
+    'format_date_attendu' => 'إدخال تاريخ بتنسيق jj/mm/aaaa.',
289
+    'format_date_incorrecte' => 'التاريخ او تنسيقه غير صحيح',
290
+    'format_heure_attendu' => 'إدخال ساعة بتنسيق hh:mm.',
291
+    'format_heure_incorrecte' => 'الساعة او تنسيقها غير صحيح',
292
+    'forum_non_inscrit' => 'إما انك غير مسجل أو هناك خطأ في العنوان أو كلمة السر.',
293
+    'forum_par_auteur' => 'من @auteur@',
294
+    'forum_titre_erreur' => 'خطأ...',
295 295
 
296
-	// I
297
-	'ical_texte_rss_articles' => 'يوجد ملف «الترخيص الخلفي» لمقالات هذا الموقع على العنوان: ',
298
-	'ical_texte_rss_articles2' => 'يمكنك أيضاً الحصول على ملفات «الترخيص الخلفي» لمقالات كل قسم في الموقع:',
299
-	'ical_texte_rss_breves' => 'يوجد كذلك ملف يحتوي على أخبار الموقع. وبإدخال رقم قسم ما، تحصل على أخبار هذا القسم فقط.',
300
-	'icone_a_suivre' => 'للمتابعة',
301
-	'icone_admin_site' => 'إدارة الموقع',
302
-	'icone_agenda' => 'المفكرة',
303
-	'icone_aide_ligne' => 'التعليمات الفورية',
304
-	'icone_articles' => 'المقالات',
305
-	'icone_auteurs' => 'المؤلفون',
306
-	'icone_brouteur' => 'تصفح سريع',
307
-	'icone_configuration_site' => 'إعداد',
308
-	'icone_configurer_site' => 'إعداد موقعك',
309
-	'icone_creer_nouvel_auteur' => 'إضافة مؤلف جديد',
310
-	'icone_creer_rubrique' => 'إنشاء قسم',
311
-	'icone_creer_sous_rubrique' => 'إنشاء قسم فرعي',
312
-	'icone_deconnecter' => 'خروج',
313
-	'icone_discussions' => 'نقاشات',
314
-	'icone_doc_rubrique' => 'مستندات الأقسام',
315
-	'icone_ecrire_article' => 'كتابة مقال جديد',
316
-	'icone_edition_site' => 'تحرير الموقع',
317
-	'icone_gestion_langues' => 'إدارة اللغات',
318
-	'icone_informations_personnelles' => 'المعلومات الشخصية',
319
-	'icone_interface_complet' => 'واجهة كاملة',
320
-	'icone_interface_simple' => 'واجهة مبسّطة',
321
-	'icone_maintenance_site' => 'صيانة الموقع',
322
-	'icone_messagerie_personnelle' => 'المراسلة الشخصية',
323
-	'icone_repartition_debut' => 'إظهار التوزيع منذ البداية',
324
-	'icone_rubriques' => 'الأقسام',
325
-	'icone_sauver_site' => 'نسخة احتياطية للموقع',
326
-	'icone_site_entier' => 'الموقع بالكامل',
327
-	'icone_sites_references' => 'المواقع المبوبة',
328
-	'icone_statistiques' => 'إحصاءات الموقع',
329
-	'icone_suivi_activite' => 'متابعة نشاط الموقع',
330
-	'icone_suivi_actualite' => 'تطور الموقع',
331
-	'icone_suivi_pettions' => 'متابعة/إدارة العرائض',
332
-	'icone_suivi_revisions' => 'تعديل المقالات',
333
-	'icone_supprimer_document' => 'حذف هذا المستند',
334
-	'icone_supprimer_image' => 'حذف هذه الصورة',
335
-	'icone_tous_articles' => 'كل مقالاتك',
336
-	'icone_tous_auteur' => 'جميع المؤلفين',
337
-	'icone_tous_visiteur' => 'جميع الزوار',
338
-	'icone_visiter_site' => 'تصفح الموقع العمومي',
339
-	'icone_voir_en_ligne' => 'عرض مباشر',
340
-	'img_indisponible' => 'صورة غير متوفرة',
341
-	'impossible' => 'مستحيل',
342
-	'info_a_suivre' => 'للمتابعة»',
343
-	'info_acces_interdit' => 'الدخول محظور',
344
-	'info_acces_refuse' => 'دخول محظور',
345
-	'info_action' => 'عملية: @action@',
346
-	'info_administrer_rubriques' => 'يمكنك إدارة هذا القسم وأقسامه الفرعية',
347
-	'info_adresse_non_indiquee' => 'لم تدخل أي عنوان لاختباره!',
348
-	'info_aide' => 'تعليمات :',
349
-	'info_ajouter_mot' => 'إضافة هذا المفتاح',
350
-	'info_annonce' => 'إعلان',
351
-	'info_annonces_generales' => 'إعلانات عامة:',
352
-	'info_article_propose' => 'مقال مقترح',
353
-	'info_article_publie' => 'مقال منشور',
354
-	'info_article_redaction' => 'مقال قيد التحرير',
355
-	'info_article_refuse' => 'مقال مرفوض',
356
-	'info_article_supprime' => 'مقال محذوف',
357
-	'info_articles' => 'المقالات',
358
-	'info_articles_a_valider' => 'مقالات معروضة للتصديق',
359
-	'info_articles_nb' => '@nb@ مقال',
360
-	'info_articles_proposes' => 'المقالات المعروضة',
361
-	'info_articles_un' => 'مقال واحد',
362
-	'info_auteurs_nombre' => 'مؤلف (مؤلفون):',
363
-	'info_authentification_ftp' => 'التحقق ( عبر بروتوكول FTP ).',
364
-	'info_breves_2' => 'خبر',
365
-	'info_breves_nb' => '@nb@ خبر',
366
-	'info_breves_un' => 'خبر واحد',
367
-	'info_connexion_refusee' => 'رفض الاتصال',
368
-	'info_contact_developpeur' => 'الرجاء الاتصال بمطوّر.',
369
-	'info_contenance' => 'هذا الموقع يحتوي على:',
370
-	'info_contribution' => 'مشاركة منتديات',
371
-	'info_copyright' => '@spip@ برنامج حر موزع @lien_gpl@.',
372
-	'info_copyright_doc' => 'لمزيد من المعلومات راجع الموقع<a href="@spipnet@">@spipnet_affiche@</a>.',
373
-	'info_copyright_gpl' => 'بموجب الترخيص العام GPL',
374
-	'info_cours_edition' => 'قيد التحرير',
375
-	'info_creer_repertoire' => 'الرجاء إنشاء ملف أو دليل باسم',
376
-	'info_creer_repertoire_2' => 'داخل الدليل الفرعي <b>@repertoire@</b>، ثم:',
377
-	'info_creer_vignette' => 'إنشاء آلي للمصغر',
378
-	'info_creerdansrubrique_non_autorise' => 'لا تملك الحقوق الكافية لإنشاء اي محتوى في هذا القسم',
379
-	'info_deplier' => 'بسط',
380
-	'info_descriptif_nombre' => 'الوصف:',
381
-	'info_description' => 'الوصف:',
382
-	'info_description_2' => 'الوصف:',
383
-	'info_dimension' => 'الحجم:',
384
-	'info_documents_nb' => '@nb@ مستند',
385
-	'info_documents_un' => 'مستند واحد',
386
-	'info_ecire_message_prive' => 'تحرير رسالة خاصة',
387
-	'info_email_invalide' => 'عنوان بريد غير صالح.',
388
-	'info_en_cours_validation' => 'مقالاتك قيد التحرير',
389
-	'info_en_ligne' => 'متصل حالياً:',
390
-	'info_envoyer_message_prive' => 'ابعث برسالة خاصة لهذا المؤلف',
391
-	'info_erreur_requete' => 'خطأ في الاستفسار:',
392
-	'info_erreur_squelette2' => 'لا توجد صفحة نموذجية <b>@fichier@</b> متاحة...',
393
-	'info_erreur_systeme' => 'خطأ في النظام (خطأ رقم @errsys@)',
394
-	'info_erreur_systeme2' => 'قد يكون القرص الصلب ممتلئاً أو قد تكون قاعدة البيانات معطلة.<br />
296
+    // I
297
+    'ical_texte_rss_articles' => 'يوجد ملف «الترخيص الخلفي» لمقالات هذا الموقع على العنوان: ',
298
+    'ical_texte_rss_articles2' => 'يمكنك أيضاً الحصول على ملفات «الترخيص الخلفي» لمقالات كل قسم في الموقع:',
299
+    'ical_texte_rss_breves' => 'يوجد كذلك ملف يحتوي على أخبار الموقع. وبإدخال رقم قسم ما، تحصل على أخبار هذا القسم فقط.',
300
+    'icone_a_suivre' => 'للمتابعة',
301
+    'icone_admin_site' => 'إدارة الموقع',
302
+    'icone_agenda' => 'المفكرة',
303
+    'icone_aide_ligne' => 'التعليمات الفورية',
304
+    'icone_articles' => 'المقالات',
305
+    'icone_auteurs' => 'المؤلفون',
306
+    'icone_brouteur' => 'تصفح سريع',
307
+    'icone_configuration_site' => 'إعداد',
308
+    'icone_configurer_site' => 'إعداد موقعك',
309
+    'icone_creer_nouvel_auteur' => 'إضافة مؤلف جديد',
310
+    'icone_creer_rubrique' => 'إنشاء قسم',
311
+    'icone_creer_sous_rubrique' => 'إنشاء قسم فرعي',
312
+    'icone_deconnecter' => 'خروج',
313
+    'icone_discussions' => 'نقاشات',
314
+    'icone_doc_rubrique' => 'مستندات الأقسام',
315
+    'icone_ecrire_article' => 'كتابة مقال جديد',
316
+    'icone_edition_site' => 'تحرير الموقع',
317
+    'icone_gestion_langues' => 'إدارة اللغات',
318
+    'icone_informations_personnelles' => 'المعلومات الشخصية',
319
+    'icone_interface_complet' => 'واجهة كاملة',
320
+    'icone_interface_simple' => 'واجهة مبسّطة',
321
+    'icone_maintenance_site' => 'صيانة الموقع',
322
+    'icone_messagerie_personnelle' => 'المراسلة الشخصية',
323
+    'icone_repartition_debut' => 'إظهار التوزيع منذ البداية',
324
+    'icone_rubriques' => 'الأقسام',
325
+    'icone_sauver_site' => 'نسخة احتياطية للموقع',
326
+    'icone_site_entier' => 'الموقع بالكامل',
327
+    'icone_sites_references' => 'المواقع المبوبة',
328
+    'icone_statistiques' => 'إحصاءات الموقع',
329
+    'icone_suivi_activite' => 'متابعة نشاط الموقع',
330
+    'icone_suivi_actualite' => 'تطور الموقع',
331
+    'icone_suivi_pettions' => 'متابعة/إدارة العرائض',
332
+    'icone_suivi_revisions' => 'تعديل المقالات',
333
+    'icone_supprimer_document' => 'حذف هذا المستند',
334
+    'icone_supprimer_image' => 'حذف هذه الصورة',
335
+    'icone_tous_articles' => 'كل مقالاتك',
336
+    'icone_tous_auteur' => 'جميع المؤلفين',
337
+    'icone_tous_visiteur' => 'جميع الزوار',
338
+    'icone_visiter_site' => 'تصفح الموقع العمومي',
339
+    'icone_voir_en_ligne' => 'عرض مباشر',
340
+    'img_indisponible' => 'صورة غير متوفرة',
341
+    'impossible' => 'مستحيل',
342
+    'info_a_suivre' => 'للمتابعة»',
343
+    'info_acces_interdit' => 'الدخول محظور',
344
+    'info_acces_refuse' => 'دخول محظور',
345
+    'info_action' => 'عملية: @action@',
346
+    'info_administrer_rubriques' => 'يمكنك إدارة هذا القسم وأقسامه الفرعية',
347
+    'info_adresse_non_indiquee' => 'لم تدخل أي عنوان لاختباره!',
348
+    'info_aide' => 'تعليمات :',
349
+    'info_ajouter_mot' => 'إضافة هذا المفتاح',
350
+    'info_annonce' => 'إعلان',
351
+    'info_annonces_generales' => 'إعلانات عامة:',
352
+    'info_article_propose' => 'مقال مقترح',
353
+    'info_article_publie' => 'مقال منشور',
354
+    'info_article_redaction' => 'مقال قيد التحرير',
355
+    'info_article_refuse' => 'مقال مرفوض',
356
+    'info_article_supprime' => 'مقال محذوف',
357
+    'info_articles' => 'المقالات',
358
+    'info_articles_a_valider' => 'مقالات معروضة للتصديق',
359
+    'info_articles_nb' => '@nb@ مقال',
360
+    'info_articles_proposes' => 'المقالات المعروضة',
361
+    'info_articles_un' => 'مقال واحد',
362
+    'info_auteurs_nombre' => 'مؤلف (مؤلفون):',
363
+    'info_authentification_ftp' => 'التحقق ( عبر بروتوكول FTP ).',
364
+    'info_breves_2' => 'خبر',
365
+    'info_breves_nb' => '@nb@ خبر',
366
+    'info_breves_un' => 'خبر واحد',
367
+    'info_connexion_refusee' => 'رفض الاتصال',
368
+    'info_contact_developpeur' => 'الرجاء الاتصال بمطوّر.',
369
+    'info_contenance' => 'هذا الموقع يحتوي على:',
370
+    'info_contribution' => 'مشاركة منتديات',
371
+    'info_copyright' => '@spip@ برنامج حر موزع @lien_gpl@.',
372
+    'info_copyright_doc' => 'لمزيد من المعلومات راجع الموقع<a href="@spipnet@">@spipnet_affiche@</a>.',
373
+    'info_copyright_gpl' => 'بموجب الترخيص العام GPL',
374
+    'info_cours_edition' => 'قيد التحرير',
375
+    'info_creer_repertoire' => 'الرجاء إنشاء ملف أو دليل باسم',
376
+    'info_creer_repertoire_2' => 'داخل الدليل الفرعي <b>@repertoire@</b>، ثم:',
377
+    'info_creer_vignette' => 'إنشاء آلي للمصغر',
378
+    'info_creerdansrubrique_non_autorise' => 'لا تملك الحقوق الكافية لإنشاء اي محتوى في هذا القسم',
379
+    'info_deplier' => 'بسط',
380
+    'info_descriptif_nombre' => 'الوصف:',
381
+    'info_description' => 'الوصف:',
382
+    'info_description_2' => 'الوصف:',
383
+    'info_dimension' => 'الحجم:',
384
+    'info_documents_nb' => '@nb@ مستند',
385
+    'info_documents_un' => 'مستند واحد',
386
+    'info_ecire_message_prive' => 'تحرير رسالة خاصة',
387
+    'info_email_invalide' => 'عنوان بريد غير صالح.',
388
+    'info_en_cours_validation' => 'مقالاتك قيد التحرير',
389
+    'info_en_ligne' => 'متصل حالياً:',
390
+    'info_envoyer_message_prive' => 'ابعث برسالة خاصة لهذا المؤلف',
391
+    'info_erreur_requete' => 'خطأ في الاستفسار:',
392
+    'info_erreur_squelette2' => 'لا توجد صفحة نموذجية <b>@fichier@</b> متاحة...',
393
+    'info_erreur_systeme' => 'خطأ في النظام (خطأ رقم @errsys@)',
394
+    'info_erreur_systeme2' => 'قد يكون القرص الصلب ممتلئاً أو قد تكون قاعدة البيانات معطلة.<br />
395 395
 <span style="color:red;">حاول <a href=\'@script@\'>إصلاح القاعدة</a>، أو الاتصال بمضيف موقعك.</font> ',
396
-	'info_fini' => 'انتهى!',
397
-	'info_format_image' => 'تنسيق ملفات الصور الذي يمكن استخدامه لإنشاء المصغرات: @gd_formats@ .',
398
-	'info_format_non_defini' => 'تنسيق غير معروف',
399
-	'info_grand_ecran' => 'شاشة كبيرة',
400
-	'info_image_aide' => 'تعليمات',
401
-	'info_image_process_titre' => 'طريقة إنشاء المصغرات',
402
-	'info_impossible_lire_page' => '<b>خطأ!</b> لا يمكن قراءة الصفحة <tt><html>@test_proxy@</html></tt> عبر الجهاز الوكيل',
403
-	'info_installation_systeme_publication' => 'تثبيت نظام النشر...',
404
-	'info_installer_documents' => 'يمكنك تثبيت كل المستندات الموجودة في المجلد @upload@ آلياً.',
405
-	'info_installer_ftp' => 'بصفتك مديراً، يمكنك تثبيت (بواسطة بروتوكول FTP) ملفات في المجلد@upload@  من أجل تحديدهم في ما بعد مباشرة من هنا.',
406
-	'info_installer_images' => 'يمكنك تثبيت صور بتنسيقات JPEG  وGIF  وPNG.',
407
-	'info_installer_images_dossier' => 'تثبيت صور في المجلد @upload@  للتمكن من تحديدها هنا.',
408
-	'info_interface_complete' => 'واجهة كاملة',
409
-	'info_interface_simple' => 'واجهة مبسّطة',
410
-	'info_joindre_document_article' => 'يمكنك إرفاق مقالك بمستندات من الأنواع',
411
-	'info_joindre_document_rubrique' => 'يمكنك إضافة مستندات من الأنواع التالية إلى هذا القسم',
412
-	'info_joindre_documents_article' => 'يمكنك إرفاق مستندات من الأنواع التالية بمقالك :',
413
-	'info_l_article' => 'المقال',
414
-	'info_la_breve' => 'الخبر',
415
-	'info_la_rubrique' => 'القسم',
416
-	'info_langue_principale' => 'اللغة الأساسية للموقع',
417
-	'info_largeur_vignette' => '@largeur_vignette@ × @hauteur_vignette@  نقطة',
418
-	'info_les_auteurs_1' => 'من @les_auteurs@',
419
-	'info_logo_format_interdit' => 'الرموز بتنسيق @formats@ هي الوحيدة المسموح بها.',
420
-	'info_logo_max_poids' => 'يجب ألا يتعدى حجم الرموز @maxi@ (يبلغ حجم الملف الحالي @actuel@). ',
421
-	'info_mail_fournisseur' => '[email protected]',
422
-	'info_message_2' => 'رسالة',
423
-	'info_message_supprime' => 'تم حذف المشاركة',
424
-	'info_messages_nb' => '@nb@ رسالة',
425
-	'info_messages_un' => 'رسالة واحدة',
426
-	'info_mise_en_ligne' => 'تاريخ النشر:',
427
-	'info_modification_parametres_securite' => 'تعديل إعدادات الأمان',
428
-	'info_mois_courant' => 'في بحر الشهر:',
429
-	'info_mot_cle_ajoute' => 'تمت إضافة المفتاح التالي إلى',
430
-	'info_multi_herit' => 'اللغة الافتراضية',
431
-	'info_multi_langues_soulignees' => '<u>اللغات التي تحتها خط</u> تتمتع بترجمة كاملة او جزئية لكل نصوص الواجهة. فإذا حددت هذه اللغات، سيتم ترجمة العديد من عناصر الموقع العمومي (التواريخ والاستمارات) آلياً. أما بالنسبة للغات التي ليس تحتها خط، فستظهر هذه العناصر في لغة الموقع الأساسية.',
432
-	'info_multilinguisme' => 'تعدد اللغات',
433
-	'info_nom_non_utilisateurs_connectes' => 'اسمك لا يظهر في قائمة المستخدمين المتصلين.',
434
-	'info_nom_utilisateurs_connectes' => 'اسمك يظهر في قائمة المستخدمين المتصلين.',
435
-	'info_nombre_en_ligne' => 'متصل حالياً:',
436
-	'info_non_resultat' => 'لا توجد نتائج لـ "@cherche_mot@"',
437
-	'info_non_utilisation_messagerie' => 'أنت لا تستخدم المراسلة الداخلية في هذا الموقع.',
438
-	'info_nouveau_message' => 'وصلت رسالة جديدة',
439
-	'info_nouveaux_messages' => 'وصلت @total_messages@  رسالة جديدة',
440
-	'info_numero_abbreviation' => 'رقم',
441
-	'info_obligatoire' => 'هذه المعلومة إجبارية',
442
-	'info_page_actuelle' => 'الصفحة الحالية',
443
-	'info_pense_bete' => 'مذكرة',
444
-	'info_petit_ecran' => 'شاشة صغيرة',
445
-	'info_petition_close' => 'عريضة مقفلة',
446
-	'info_pixels' => 'نقطة',
447
-	'info_plusieurs_mots_trouves' => 'تم العثور على عدة مفاتيح لـ "@cherche_mot@" :',
448
-	'info_portfolio_automatique' => 'محفظة آلية:',
449
-	'info_premier_resultat' => '[النتائج الـ@debut_limit@  الأولى من أصل @total@]',
450
-	'info_premier_resultat_sur' => '[النتائج الـ@debut_limit@  الأولى من أصل @total@]',
451
-	'info_propose_1' => '[@nom_site_spip@] يقترح: @titre@',
452
-	'info_propose_2' => 'مقال معروض
396
+    'info_fini' => 'انتهى!',
397
+    'info_format_image' => 'تنسيق ملفات الصور الذي يمكن استخدامه لإنشاء المصغرات: @gd_formats@ .',
398
+    'info_format_non_defini' => 'تنسيق غير معروف',
399
+    'info_grand_ecran' => 'شاشة كبيرة',
400
+    'info_image_aide' => 'تعليمات',
401
+    'info_image_process_titre' => 'طريقة إنشاء المصغرات',
402
+    'info_impossible_lire_page' => '<b>خطأ!</b> لا يمكن قراءة الصفحة <tt><html>@test_proxy@</html></tt> عبر الجهاز الوكيل',
403
+    'info_installation_systeme_publication' => 'تثبيت نظام النشر...',
404
+    'info_installer_documents' => 'يمكنك تثبيت كل المستندات الموجودة في المجلد @upload@ آلياً.',
405
+    'info_installer_ftp' => 'بصفتك مديراً، يمكنك تثبيت (بواسطة بروتوكول FTP) ملفات في المجلد@upload@  من أجل تحديدهم في ما بعد مباشرة من هنا.',
406
+    'info_installer_images' => 'يمكنك تثبيت صور بتنسيقات JPEG  وGIF  وPNG.',
407
+    'info_installer_images_dossier' => 'تثبيت صور في المجلد @upload@  للتمكن من تحديدها هنا.',
408
+    'info_interface_complete' => 'واجهة كاملة',
409
+    'info_interface_simple' => 'واجهة مبسّطة',
410
+    'info_joindre_document_article' => 'يمكنك إرفاق مقالك بمستندات من الأنواع',
411
+    'info_joindre_document_rubrique' => 'يمكنك إضافة مستندات من الأنواع التالية إلى هذا القسم',
412
+    'info_joindre_documents_article' => 'يمكنك إرفاق مستندات من الأنواع التالية بمقالك :',
413
+    'info_l_article' => 'المقال',
414
+    'info_la_breve' => 'الخبر',
415
+    'info_la_rubrique' => 'القسم',
416
+    'info_langue_principale' => 'اللغة الأساسية للموقع',
417
+    'info_largeur_vignette' => '@largeur_vignette@ × @hauteur_vignette@  نقطة',
418
+    'info_les_auteurs_1' => 'من @les_auteurs@',
419
+    'info_logo_format_interdit' => 'الرموز بتنسيق @formats@ هي الوحيدة المسموح بها.',
420
+    'info_logo_max_poids' => 'يجب ألا يتعدى حجم الرموز @maxi@ (يبلغ حجم الملف الحالي @actuel@). ',
421
+    'info_mail_fournisseur' => '[email protected]',
422
+    'info_message_2' => 'رسالة',
423
+    'info_message_supprime' => 'تم حذف المشاركة',
424
+    'info_messages_nb' => '@nb@ رسالة',
425
+    'info_messages_un' => 'رسالة واحدة',
426
+    'info_mise_en_ligne' => 'تاريخ النشر:',
427
+    'info_modification_parametres_securite' => 'تعديل إعدادات الأمان',
428
+    'info_mois_courant' => 'في بحر الشهر:',
429
+    'info_mot_cle_ajoute' => 'تمت إضافة المفتاح التالي إلى',
430
+    'info_multi_herit' => 'اللغة الافتراضية',
431
+    'info_multi_langues_soulignees' => '<u>اللغات التي تحتها خط</u> تتمتع بترجمة كاملة او جزئية لكل نصوص الواجهة. فإذا حددت هذه اللغات، سيتم ترجمة العديد من عناصر الموقع العمومي (التواريخ والاستمارات) آلياً. أما بالنسبة للغات التي ليس تحتها خط، فستظهر هذه العناصر في لغة الموقع الأساسية.',
432
+    'info_multilinguisme' => 'تعدد اللغات',
433
+    'info_nom_non_utilisateurs_connectes' => 'اسمك لا يظهر في قائمة المستخدمين المتصلين.',
434
+    'info_nom_utilisateurs_connectes' => 'اسمك يظهر في قائمة المستخدمين المتصلين.',
435
+    'info_nombre_en_ligne' => 'متصل حالياً:',
436
+    'info_non_resultat' => 'لا توجد نتائج لـ "@cherche_mot@"',
437
+    'info_non_utilisation_messagerie' => 'أنت لا تستخدم المراسلة الداخلية في هذا الموقع.',
438
+    'info_nouveau_message' => 'وصلت رسالة جديدة',
439
+    'info_nouveaux_messages' => 'وصلت @total_messages@  رسالة جديدة',
440
+    'info_numero_abbreviation' => 'رقم',
441
+    'info_obligatoire' => 'هذه المعلومة إجبارية',
442
+    'info_page_actuelle' => 'الصفحة الحالية',
443
+    'info_pense_bete' => 'مذكرة',
444
+    'info_petit_ecran' => 'شاشة صغيرة',
445
+    'info_petition_close' => 'عريضة مقفلة',
446
+    'info_pixels' => 'نقطة',
447
+    'info_plusieurs_mots_trouves' => 'تم العثور على عدة مفاتيح لـ "@cherche_mot@" :',
448
+    'info_portfolio_automatique' => 'محفظة آلية:',
449
+    'info_premier_resultat' => '[النتائج الـ@debut_limit@  الأولى من أصل @total@]',
450
+    'info_premier_resultat_sur' => '[النتائج الـ@debut_limit@  الأولى من أصل @total@]',
451
+    'info_propose_1' => '[@nom_site_spip@] يقترح: @titre@',
452
+    'info_propose_2' => 'مقال معروض
453 453
 ----------',
454
-	'info_propose_3' => 'المقال "@titre@" معروض للنشر.',
455
-	'info_propose_4' => 'أنت مدعو لمراجعته وإبداء رأيك',
456
-	'info_propose_5' => 'في المنتدى المرتبط به. إنه موجود على العنوان:',
457
-	'info_publie_01' => 'تم التصديق على المقال "@titre@"  من قبل @connect_nom@ .',
458
-	'info_publie_1' => '[@nom_site_spip@] ينشر: @titre@',
459
-	'info_publie_2' => 'مقال منشور
454
+    'info_propose_3' => 'المقال "@titre@" معروض للنشر.',
455
+    'info_propose_4' => 'أنت مدعو لمراجعته وإبداء رأيك',
456
+    'info_propose_5' => 'في المنتدى المرتبط به. إنه موجود على العنوان:',
457
+    'info_publie_01' => 'تم التصديق على المقال "@titre@"  من قبل @connect_nom@ .',
458
+    'info_publie_1' => '[@nom_site_spip@] ينشر: @titre@',
459
+    'info_publie_2' => 'مقال منشور
460 460
 ----------',
461
-	'info_rechercher' => 'بحث',
462
-	'info_rechercher_02' => 'بحث:',
463
-	'info_remplacer_vignette' => 'استبدال المصغر الافتراضي برمز شخصي:',
464
-	'info_rubriques_nb' => '@nb@ قسم',
465
-	'info_rubriques_un' => 'قسم واحد',
466
-	'info_sans_titre_2' => 'بدون عنوان',
467
-	'info_selectionner_fichier' => 'يمكنك تحديد ملف من المجلد @upload@:',
468
-	'info_selectionner_fichier_2' => 'تحديد ملف:',
469
-	'info_sites_nb' => '@nb@ موقع',
470
-	'info_sites_un' => 'موقع واحد',
471
-	'info_supprimer_vignette' => 'حذف المصغر',
472
-	'info_symbole_bleu' => 'الرمز <b>أزرق</b> يرمز إلى <b>مذكرة</b>: أي رسالة لاستخدامك الشخصي.',
473
-	'info_symbole_jaune' => 'الرمز <b>أصفر</b> يرمز إلى <b>إعلان لجميع المحررين</b>: يمكن لجميع المدراء تحريره وهو ظاهر لجميع المحررين.',
474
-	'info_symbole_vert' => 'الرمز <b>أخضر</b>  يرمز إلى <b>الرسائل المتبادلة بين مستخدمي</b> الموقع.',
475
-	'info_telecharger_nouveau_logo' => 'تحميل رمز جديد:',
476
-	'info_telecharger_ordinateur' => 'تحميل من جهازك:',
477
-	'info_tous_resultats_enregistres' => '[تم تسجيل كل النتائج]',
478
-	'info_tout_afficher' => 'إظهار الكل',
479
-	'info_travaux_texte' => 'هذا الموقع قيد الإعداد. برجاء العودة في وقت لاحق...',
480
-	'info_travaux_titre' => 'موقع قيد التصميم',
481
-	'info_trop_resultat' => 'تم العثور على عدد كبير جداً من النتائج لـ "@cherche_mot@" ، الرجاء زيادة دقة البحث.',
482
-	'info_utilisation_messagerie_interne' => 'أنت تستخدم المراسلة الداخلية في هذا الموقع.',
483
-	'info_valider_lien' => 'التصديق على هذه الوصلة',
484
-	'info_verifier_image' => '، الرجاء التأكد من أنه تم نقل الصور بشكل سليم.',
485
-	'info_vignette_defaut' => 'المصغر الافتراضي',
486
-	'info_vignette_personnalisee' => 'مصغر شخصي',
487
-	'info_visite' => 'زيارة:',
488
-	'info_vos_rendez_vous' => 'مواعيدك القادمة',
489
-	'infos_vos_pense_bete' => 'مذكراتك',
461
+    'info_rechercher' => 'بحث',
462
+    'info_rechercher_02' => 'بحث:',
463
+    'info_remplacer_vignette' => 'استبدال المصغر الافتراضي برمز شخصي:',
464
+    'info_rubriques_nb' => '@nb@ قسم',
465
+    'info_rubriques_un' => 'قسم واحد',
466
+    'info_sans_titre_2' => 'بدون عنوان',
467
+    'info_selectionner_fichier' => 'يمكنك تحديد ملف من المجلد @upload@:',
468
+    'info_selectionner_fichier_2' => 'تحديد ملف:',
469
+    'info_sites_nb' => '@nb@ موقع',
470
+    'info_sites_un' => 'موقع واحد',
471
+    'info_supprimer_vignette' => 'حذف المصغر',
472
+    'info_symbole_bleu' => 'الرمز <b>أزرق</b> يرمز إلى <b>مذكرة</b>: أي رسالة لاستخدامك الشخصي.',
473
+    'info_symbole_jaune' => 'الرمز <b>أصفر</b> يرمز إلى <b>إعلان لجميع المحررين</b>: يمكن لجميع المدراء تحريره وهو ظاهر لجميع المحررين.',
474
+    'info_symbole_vert' => 'الرمز <b>أخضر</b>  يرمز إلى <b>الرسائل المتبادلة بين مستخدمي</b> الموقع.',
475
+    'info_telecharger_nouveau_logo' => 'تحميل رمز جديد:',
476
+    'info_telecharger_ordinateur' => 'تحميل من جهازك:',
477
+    'info_tous_resultats_enregistres' => '[تم تسجيل كل النتائج]',
478
+    'info_tout_afficher' => 'إظهار الكل',
479
+    'info_travaux_texte' => 'هذا الموقع قيد الإعداد. برجاء العودة في وقت لاحق...',
480
+    'info_travaux_titre' => 'موقع قيد التصميم',
481
+    'info_trop_resultat' => 'تم العثور على عدد كبير جداً من النتائج لـ "@cherche_mot@" ، الرجاء زيادة دقة البحث.',
482
+    'info_utilisation_messagerie_interne' => 'أنت تستخدم المراسلة الداخلية في هذا الموقع.',
483
+    'info_valider_lien' => 'التصديق على هذه الوصلة',
484
+    'info_verifier_image' => '، الرجاء التأكد من أنه تم نقل الصور بشكل سليم.',
485
+    'info_vignette_defaut' => 'المصغر الافتراضي',
486
+    'info_vignette_personnalisee' => 'مصغر شخصي',
487
+    'info_visite' => 'زيارة:',
488
+    'info_vos_rendez_vous' => 'مواعيدك القادمة',
489
+    'infos_vos_pense_bete' => 'مذكراتك',
490 490
 
491
-	// L
492
-	'label_ajout_id_rapide' => 'إضافة سريعة',
493
-	'label_poids_fichier' => 'الحجم',
494
-	'label_ponctuer' => '@label@ :',
495
-	'lien_afficher_icones_seuls' => 'عرض الرموز فقط',
496
-	'lien_afficher_texte_icones' => 'عرض الرموز والعناوين',
497
-	'lien_afficher_texte_seul' => 'عرض العناوين فقط',
498
-	'lien_aller_a_la_derniere_page' => 'الذهاب الى الصفحة الأخيرة',
499
-	'lien_aller_a_la_page_nb' => 'الذهاب الى الصفحة @nb@',
500
-	'lien_aller_a_la_page_precedente' => 'الذهاب الى الصفحة الالسابقة',
501
-	'lien_aller_a_la_page_suivante' => 'الذهاب الى الصفحة التالية',
502
-	'lien_aller_a_la_premiere_page' => 'الذهاب الى الصفحة الأولى',
503
-	'lien_liberer' => 'فك الحجز',
504
-	'lien_liberer_tous' => 'فك حجز الكل',
505
-	'lien_nouvea_pense_bete' => 'مذكرة جديدة',
506
-	'lien_nouveau_message' => 'رسالة جديدة',
507
-	'lien_nouvelle_annonce' => 'إعلان جديد',
508
-	'lien_petitions' => 'عريضة',
509
-	'lien_popularite' => 'شعبية: @popularite@%',
510
-	'lien_racine_site' => 'أصل الموقع',
511
-	'lien_reessayer' => 'إعادة المحاولة',
512
-	'lien_repondre_message' => 'الرد على هذه المشاركة',
513
-	'lien_supprimer' => 'حذف',
514
-	'lien_tout_afficher' => 'إظهار الكل',
515
-	'lien_visite_site' => 'زيارة هذا الموقع',
516
-	'lien_visites' => '@visites@ زيارة',
517
-	'lien_voir_auteur' => 'مراجعة هذا المؤلف',
518
-	'ligne' => 'سطر',
519
-	'login' => 'الدخول',
520
-	'login_acces_prive' => 'الدخول إلى المجال الخاص',
521
-	'login_autre_identifiant' => 'الاتصال بمعرّف آخر',
522
-	'login_cookie_accepte' => 'الرجاء تهيئ برنامج التصفح ليتقبلها (من هذا الموقع على الأقل)',
523
-	'login_cookie_oblige' => 'للتعريف عن نفسك بشكل آمن في هذا الموقع، يجب قبول الكعكات (cookies).',
524
-	'login_deconnexion_ok' => 'تم قطع الاتصال.',
525
-	'login_erreur_pass' => 'خطأ في كلمة السر.',
526
-	'login_espace_prive' => 'المجال الخاص',
527
-	'login_identifiant_inconnu' => 'المعرّف «@login@» غير معروف.',
528
-	'login_login' => 'المعرّف:',
529
-	'login_login2' => 'المعرّف او عنوان البريد الالكتروني:',
530
-	'login_login_pass_incorrect' => '(خطأ في المعرّف أو كلمة السر).',
531
-	'login_motpasseoublie' => 'هل نسيت كلمة السر؟',
532
-	'login_non_securise' => 'لطفا، هذه الاستمارة غير آمنة.
491
+    // L
492
+    'label_ajout_id_rapide' => 'إضافة سريعة',
493
+    'label_poids_fichier' => 'الحجم',
494
+    'label_ponctuer' => '@label@ :',
495
+    'lien_afficher_icones_seuls' => 'عرض الرموز فقط',
496
+    'lien_afficher_texte_icones' => 'عرض الرموز والعناوين',
497
+    'lien_afficher_texte_seul' => 'عرض العناوين فقط',
498
+    'lien_aller_a_la_derniere_page' => 'الذهاب الى الصفحة الأخيرة',
499
+    'lien_aller_a_la_page_nb' => 'الذهاب الى الصفحة @nb@',
500
+    'lien_aller_a_la_page_precedente' => 'الذهاب الى الصفحة الالسابقة',
501
+    'lien_aller_a_la_page_suivante' => 'الذهاب الى الصفحة التالية',
502
+    'lien_aller_a_la_premiere_page' => 'الذهاب الى الصفحة الأولى',
503
+    'lien_liberer' => 'فك الحجز',
504
+    'lien_liberer_tous' => 'فك حجز الكل',
505
+    'lien_nouvea_pense_bete' => 'مذكرة جديدة',
506
+    'lien_nouveau_message' => 'رسالة جديدة',
507
+    'lien_nouvelle_annonce' => 'إعلان جديد',
508
+    'lien_petitions' => 'عريضة',
509
+    'lien_popularite' => 'شعبية: @popularite@%',
510
+    'lien_racine_site' => 'أصل الموقع',
511
+    'lien_reessayer' => 'إعادة المحاولة',
512
+    'lien_repondre_message' => 'الرد على هذه المشاركة',
513
+    'lien_supprimer' => 'حذف',
514
+    'lien_tout_afficher' => 'إظهار الكل',
515
+    'lien_visite_site' => 'زيارة هذا الموقع',
516
+    'lien_visites' => '@visites@ زيارة',
517
+    'lien_voir_auteur' => 'مراجعة هذا المؤلف',
518
+    'ligne' => 'سطر',
519
+    'login' => 'الدخول',
520
+    'login_acces_prive' => 'الدخول إلى المجال الخاص',
521
+    'login_autre_identifiant' => 'الاتصال بمعرّف آخر',
522
+    'login_cookie_accepte' => 'الرجاء تهيئ برنامج التصفح ليتقبلها (من هذا الموقع على الأقل)',
523
+    'login_cookie_oblige' => 'للتعريف عن نفسك بشكل آمن في هذا الموقع، يجب قبول الكعكات (cookies).',
524
+    'login_deconnexion_ok' => 'تم قطع الاتصال.',
525
+    'login_erreur_pass' => 'خطأ في كلمة السر.',
526
+    'login_espace_prive' => 'المجال الخاص',
527
+    'login_identifiant_inconnu' => 'المعرّف «@login@» غير معروف.',
528
+    'login_login' => 'المعرّف:',
529
+    'login_login2' => 'المعرّف او عنوان البريد الالكتروني:',
530
+    'login_login_pass_incorrect' => '(خطأ في المعرّف أو كلمة السر).',
531
+    'login_motpasseoublie' => 'هل نسيت كلمة السر؟',
532
+    'login_non_securise' => 'لطفا، هذه الاستمارة غير آمنة.
533 533
    إذا كنت ترغب أن تكون كلمة سرك
534 534
    آمنة على الشبكة، يجب تفعيل جافاسكريبت 
535 535
    في برنامج التصفح',
536
-	'login_nouvelle_tentative' => 'محاولة جديدة',
537
-	'login_par_ici' => 'أنت مسجّل... توجه من هنا...',
538
-	'login_pass2' => 'كلمة السر:',
539
-	'login_preferez_refuser' => '<b>إذا كنت تفضل عدم قبول الكعكات</b>، يمكنك استخدام طريقة دخول أخرى (أقل أماناً):',
540
-	'login_recharger' => 'وإعادة تحميل الصفحة',
541
-	'login_rester_identifie' => 'تذكروني',
542
-	'login_retour_public' => 'عودة إلى الموقع العام',
543
-	'login_retour_site' => 'عودة إلى الموقع العام',
544
-	'login_retoursitepublic' => 'عودة إلى الموقع العام',
545
-	'login_sans_cookie' => 'تعريف بدون الكعكة',
546
-	'login_securise' => 'تعريف مؤمّن',
547
-	'login_sinscrire' => 'تسجيل',
548
-	'login_test_navigateur' => 'تجربة المتصفح/إعادة الاتصال',
549
-	'login_verifiez_navigateur' => '(على أي حال، تأكد من أن المتصفح لم يقم بحفظ كلمة سرك...)',
536
+    'login_nouvelle_tentative' => 'محاولة جديدة',
537
+    'login_par_ici' => 'أنت مسجّل... توجه من هنا...',
538
+    'login_pass2' => 'كلمة السر:',
539
+    'login_preferez_refuser' => '<b>إذا كنت تفضل عدم قبول الكعكات</b>، يمكنك استخدام طريقة دخول أخرى (أقل أماناً):',
540
+    'login_recharger' => 'وإعادة تحميل الصفحة',
541
+    'login_rester_identifie' => 'تذكروني',
542
+    'login_retour_public' => 'عودة إلى الموقع العام',
543
+    'login_retour_site' => 'عودة إلى الموقع العام',
544
+    'login_retoursitepublic' => 'عودة إلى الموقع العام',
545
+    'login_sans_cookie' => 'تعريف بدون الكعكة',
546
+    'login_securise' => 'تعريف مؤمّن',
547
+    'login_sinscrire' => 'تسجيل',
548
+    'login_test_navigateur' => 'تجربة المتصفح/إعادة الاتصال',
549
+    'login_verifiez_navigateur' => '(على أي حال، تأكد من أن المتصفح لم يقم بحفظ كلمة سرك...)',
550 550
 
551
-	// M
552
-	'masquer_colonne' => 'حجب هذا العمود',
553
-	'masquer_trad' => 'حجب الترجمات',
554
-	'message_nouveaux_identifiants_echec' => 'لا يمكن إنشاء معرف وكلمة سر جديدين.',
555
-	'message_nouveaux_identifiants_echec_envoi' => 'مشكلة في إرسال المعرف وكلمة السر الجديدين.',
556
-	'message_nouveaux_identifiants_ok' => 'تم إرسال المعرف وكلمة السر الجديدين الى @email@.',
557
-	'module_fichiers_langues' => 'ملفات اللغة',
551
+    // M
552
+    'masquer_colonne' => 'حجب هذا العمود',
553
+    'masquer_trad' => 'حجب الترجمات',
554
+    'message_nouveaux_identifiants_echec' => 'لا يمكن إنشاء معرف وكلمة سر جديدين.',
555
+    'message_nouveaux_identifiants_echec_envoi' => 'مشكلة في إرسال المعرف وكلمة السر الجديدين.',
556
+    'message_nouveaux_identifiants_ok' => 'تم إرسال المعرف وكلمة السر الجديدين الى @email@.',
557
+    'module_fichiers_langues' => 'ملفات اللغة',
558 558
 
559
-	// N
560
-	'navigateur_pas_redirige' => 'إذا لم تتم إعادة توجيه متصفحك، انقر هنا للمتابعة.',
561
-	'numero' => 'رقم',
559
+    // N
560
+    'navigateur_pas_redirige' => 'إذا لم تتم إعادة توجيه متصفحك، انقر هنا للمتابعة.',
561
+    'numero' => 'رقم',
562 562
 
563
-	// O
564
-	'occurence' => 'ظهور',
565
-	'onglet_affacer_base' => 'حذف قاعدة البيانات',
566
-	'onglet_auteur' => 'المؤلف',
567
-	'onglet_contenu_site' => 'محتوى الموقع',
568
-	'onglet_evolution_visite_mod' => 'تطور',
569
-	'onglet_fonctions_avances' => 'الوظائف المتطورة',
570
-	'onglet_informations_personnelles' => 'المعلومات الشخصية',
571
-	'onglet_interactivite' => 'التفاعلية',
572
-	'onglet_messagerie' => 'المراسلة',
573
-	'onglet_repartition_rubrique' => 'التوزيع حسب الأقسام',
574
-	'onglet_save_restaur_base' => 'نسخ احتياطي / استرجاع القاعدة',
575
-	'onglet_vider_cache' => 'تفريغ الذاكرة المخبأة',
563
+    // O
564
+    'occurence' => 'ظهور',
565
+    'onglet_affacer_base' => 'حذف قاعدة البيانات',
566
+    'onglet_auteur' => 'المؤلف',
567
+    'onglet_contenu_site' => 'محتوى الموقع',
568
+    'onglet_evolution_visite_mod' => 'تطور',
569
+    'onglet_fonctions_avances' => 'الوظائف المتطورة',
570
+    'onglet_informations_personnelles' => 'المعلومات الشخصية',
571
+    'onglet_interactivite' => 'التفاعلية',
572
+    'onglet_messagerie' => 'المراسلة',
573
+    'onglet_repartition_rubrique' => 'التوزيع حسب الأقسام',
574
+    'onglet_save_restaur_base' => 'نسخ احتياطي / استرجاع القاعدة',
575
+    'onglet_vider_cache' => 'تفريغ الذاكرة المخبأة',
576 576
 
577
-	// P
578
-	'pass_choix_pass' => 'الرجاء اختيار كلمة السر الجديدة:',
579
-	'pass_erreur' => 'خطأ',
580
-	'pass_erreur_acces_refuse' => '<b>خطأ:< b> لم تعد تملك حق الدخول إلى هذا الموقع.',
581
-	'pass_erreur_code_inconnu' => '<b>خطأ:< b> هذا المعرّف لا يتناسب مع أي من الزوار الذين يتمتعون بحق الدخول إلى هذا الموقع.',
582
-	'pass_erreur_non_enregistre' => '<b>خطأ:< b>  العنوان <tt>@email_oubli@</tt> ليس مسجلاً في هذا الموقع.',
583
-	'pass_erreur_non_valide' => '<b>خطأ:< b>  العنوان <tt>@email_oubli@</tt> ليس صالحاً.',
584
-	'pass_erreur_probleme_technique' => '<b>خطأ:< b>  لم يتم بعث هذه الرسالة بسبب مشكلة تقنية.',
585
-	'pass_espace_prive_bla' => 'المجال الخاص لهذا الموقع مفتوح
577
+    // P
578
+    'pass_choix_pass' => 'الرجاء اختيار كلمة السر الجديدة:',
579
+    'pass_erreur' => 'خطأ',
580
+    'pass_erreur_acces_refuse' => '<b>خطأ:< b> لم تعد تملك حق الدخول إلى هذا الموقع.',
581
+    'pass_erreur_code_inconnu' => '<b>خطأ:< b> هذا المعرّف لا يتناسب مع أي من الزوار الذين يتمتعون بحق الدخول إلى هذا الموقع.',
582
+    'pass_erreur_non_enregistre' => '<b>خطأ:< b>  العنوان <tt>@email_oubli@</tt> ليس مسجلاً في هذا الموقع.',
583
+    'pass_erreur_non_valide' => '<b>خطأ:< b>  العنوان <tt>@email_oubli@</tt> ليس صالحاً.',
584
+    'pass_erreur_probleme_technique' => '<b>خطأ:< b>  لم يتم بعث هذه الرسالة بسبب مشكلة تقنية.',
585
+    'pass_espace_prive_bla' => 'المجال الخاص لهذا الموقع مفتوح
586 586
 للزوار بعد تسجيلهم. بعد تسجيلك
587 587
 يمكنك مراجعة المقالات قيد التحرير
588 588
 واقتراح مقالات والمشاركة في كل المنتديات.',
589
-	'pass_forum_bla' => 'طلبت المشاركة في منتدى
589
+    'pass_forum_bla' => 'طلبت المشاركة في منتدى
590 590
 محصور بالزوار المسجلين.',
591
-	'pass_indiquez_cidessous' => 'قم بإدخال العنوان الإلكتروني الذي 
591
+    'pass_indiquez_cidessous' => 'قم بإدخال العنوان الإلكتروني الذي 
592 592
 تسجلت بواستطه سابقاً.
593 593
 ستحصل على رسالة تفسر لك كيفية
594 594
 استعادة دخولك.',
595
-	'pass_mail_passcookie' => '(هذه رسالة آلية)
595
+    'pass_mail_passcookie' => '(هذه رسالة آلية)
596 596
 لاستعادة دخولك إلى الموقع
597 597
 @nom_site_spip@  (@adresse_site@)
598 598
 
@@ -604,146 +604,146 @@  discard block
 block discarded – undo
604 604
 وإعادة الاتصال بالموقع.
605 605
 
606 606
 ',
607
-	'pass_mot_oublie' => 'نسيان كلمة السر',
608
-	'pass_nouveau_enregistre' => 'تم تسجيل كلمة سرك الجديدة.',
609
-	'pass_nouveau_pass' => 'كلمة السر الجديدة',
610
-	'pass_ok' => 'موافق',
611
-	'pass_oubli_mot' => 'نسيان كلمة السر',
612
-	'pass_procedure_changer' => 'من أجل تغيير كلمة السر، قم بأدخال عنوان البريد الالكتروني المرتبط بحسابك.',
613
-	'pass_quitter_fenetre' => 'إقفال هذه النافذة',
614
-	'pass_rappel_login' => 'تذكير: معرّفك هو «@login@».',
615
-	'pass_recevoir_mail' => 'تم ارسال رابط لإعادة تأصيل كلمة السر الى عنوان البريد لديك (اذا كان صالحاً).',
616
-	'pass_retour_public' => 'عودة إلى الموقع العام',
617
-	'pass_rien_a_faire_ici' => 'لا شغل لك هنا.',
618
-	'pass_vousinscrire' => 'تسجيلك في الموقع',
619
-	'precedent' => 'السابق',
620
-	'previsualisation' => 'عرض مسبق',
621
-	'previsualiser' => 'عرض مسبق',
607
+    'pass_mot_oublie' => 'نسيان كلمة السر',
608
+    'pass_nouveau_enregistre' => 'تم تسجيل كلمة سرك الجديدة.',
609
+    'pass_nouveau_pass' => 'كلمة السر الجديدة',
610
+    'pass_ok' => 'موافق',
611
+    'pass_oubli_mot' => 'نسيان كلمة السر',
612
+    'pass_procedure_changer' => 'من أجل تغيير كلمة السر، قم بأدخال عنوان البريد الالكتروني المرتبط بحسابك.',
613
+    'pass_quitter_fenetre' => 'إقفال هذه النافذة',
614
+    'pass_rappel_login' => 'تذكير: معرّفك هو «@login@».',
615
+    'pass_recevoir_mail' => 'تم ارسال رابط لإعادة تأصيل كلمة السر الى عنوان البريد لديك (اذا كان صالحاً).',
616
+    'pass_retour_public' => 'عودة إلى الموقع العام',
617
+    'pass_rien_a_faire_ici' => 'لا شغل لك هنا.',
618
+    'pass_vousinscrire' => 'تسجيلك في الموقع',
619
+    'precedent' => 'السابق',
620
+    'previsualisation' => 'عرض مسبق',
621
+    'previsualiser' => 'عرض مسبق',
622 622
 
623
-	// R
624
-	'retour' => 'عودة',
623
+    // R
624
+    'retour' => 'عودة',
625 625
 
626
-	// S
627
-	'spip_conforme_dtd' => 'يعتبر SPIP أن هذا المستند مطابق لتحديد DOCTYPE:',
628
-	'squelette' => 'صفحة نموذجية',
629
-	'squelette_inclus_ligne' => 'صفحة نموذجية مدمجة، سطر',
630
-	'squelette_ligne' => 'صفحة نموذجية، سطر',
631
-	'stats_visites_et_popularite' => '@visites@ زيارة؛ شعبية: @popularite@',
632
-	'suivant' => 'التالي',
626
+    // S
627
+    'spip_conforme_dtd' => 'يعتبر SPIP أن هذا المستند مطابق لتحديد DOCTYPE:',
628
+    'squelette' => 'صفحة نموذجية',
629
+    'squelette_inclus_ligne' => 'صفحة نموذجية مدمجة، سطر',
630
+    'squelette_ligne' => 'صفحة نموذجية، سطر',
631
+    'stats_visites_et_popularite' => '@visites@ زيارة؛ شعبية: @popularite@',
632
+    'suivant' => 'التالي',
633 633
 
634
-	// T
635
-	'taille_go' => '@taille@ غيغابايت',
636
-	'taille_ko' => '@taille@ كيلوبايت',
637
-	'taille_mo' => '@taille@ ميغابايت',
638
-	'taille_octets' => '@taille@ بايت',
639
-	'texte_actualite_site_1' => 'عندما تتأقلم مع واجهة النظام انقر على «',
640
-	'texte_actualite_site_2' => 'الواجهة الكاملة',
641
-	'texte_actualite_site_3' => '»  لإتاحة المزيد من الوظائف.',
642
-	'texte_creation_automatique_vignette' => 'لقد تم تفعيل الإنشاء الآلي لمصغرات المعاينة. إذا استخدمت هذه الاستمارة لإدخال صور بتنسيق (أو تنسيقات) @gd_formats@، سيتم تزويدها بمصغر لا يزيد حجمه عن @taille_preview@  نقطة. ',
643
-	'texte_documents_associes' => 'المستندات التالية ترافق المقال،
634
+    // T
635
+    'taille_go' => '@taille@ غيغابايت',
636
+    'taille_ko' => '@taille@ كيلوبايت',
637
+    'taille_mo' => '@taille@ ميغابايت',
638
+    'taille_octets' => '@taille@ بايت',
639
+    'texte_actualite_site_1' => 'عندما تتأقلم مع واجهة النظام انقر على «',
640
+    'texte_actualite_site_2' => 'الواجهة الكاملة',
641
+    'texte_actualite_site_3' => '»  لإتاحة المزيد من الوظائف.',
642
+    'texte_creation_automatique_vignette' => 'لقد تم تفعيل الإنشاء الآلي لمصغرات المعاينة. إذا استخدمت هذه الاستمارة لإدخال صور بتنسيق (أو تنسيقات) @gd_formats@، سيتم تزويدها بمصغر لا يزيد حجمه عن @taille_preview@  نقطة. ',
643
+    'texte_documents_associes' => 'المستندات التالية ترافق المقال،
644 644
     لكنها لم تُدرج
645 645
     مباشرة. بالاعتماد على تصميم الموقع العمومي،
646 646
     قد تظهر على شكل مستندات مرفقة.',
647
-	'texte_erreur_mise_niveau_base' => 'خطأ في قاعدة البيانات خلال الترقية.
647
+    'texte_erreur_mise_niveau_base' => 'خطأ في قاعدة البيانات خلال الترقية.
648 648
      تعذر تمرير الصورة <b>@fichier@</b>  (المقال @id_article@). 
649 649
      سجل هذا المرجع وحاول إعادة عملية
650 650
      الترقية، وأخيراً تأكد من أن الصور لا تزال تظهر
651 651
      في المقالات.',
652
-	'texte_erreur_visiteur' => 'حاولت الدخول إلى المجال الخاص بمعرّف لا يسمح بذلك.',
653
-	'texte_inc_auth_1' => 'عرّفت عن نفسك
652
+    'texte_erreur_visiteur' => 'حاولت الدخول إلى المجال الخاص بمعرّف لا يسمح بذلك.',
653
+    'texte_inc_auth_1' => 'عرّفت عن نفسك
654 654
 بالمعرّف <b>@auth_login@</b>، لكنه غير (لم يعد) موجود في قاعدة البيانات.
655 655
   حاول  ',
656
-	'texte_inc_auth_2' => 'إعادة الاتصال',
657
-	'texte_inc_auth_3' => '، بعد إنهاء المتصفح ثم
656
+    'texte_inc_auth_2' => 'إعادة الاتصال',
657
+    'texte_inc_auth_3' => '، بعد إنهاء المتصفح ثم
658 658
 إعادة تشغيله إذا اقتضت الحاجة.',
659
-	'texte_inc_config' => 'التغييرات الداخلة على هذه الصفحة تؤثر بشكل ملحوظ على
659
+    'texte_inc_config' => 'التغييرات الداخلة على هذه الصفحة تؤثر بشكل ملحوظ على
660 660
 تشغيل الموقع. يستحسن عدم إدخال تغييرات قبل
661 661
 التأقلم مع نظام SPIP  للنشر. <br /><br /><b>بشكل
662 662
 عام، ننصحك
663 663
 بحصر التعامل مع هذه الصفحات بالمسؤول الأساسي عن تصميم الموقع.</b>',
664
-	'texte_inc_meta_1' => 'واجه النظام خطأً خلال كتابة الملف <code>@fichier@</code>. بصفتك أحد مدراء الموقع، الرجاء',
665
-	'texte_inc_meta_2' => 'التأكد من حقوق الكتابة',
666
-	'texte_inc_meta_3' => 'الخاصة بالدليل <code>@repertoire@</code>. ',
667
-	'texte_statut_en_cours_redaction' => 'قيد التحرير',
668
-	'texte_statut_poubelle' => 'إلى المهملات',
669
-	'texte_statut_propose_evaluation' => 'معروض للتقييم',
670
-	'texte_statut_publie' => 'منشور',
671
-	'texte_statut_refuse' => 'مرفوض',
672
-	'titre_ajouter_mot_cle' => 'إضافة مفتاح:',
673
-	'titre_cadre_raccourcis' => 'اختصارات:',
674
-	'titre_changer_couleur_interface' => 'تغيير لون الواجهة',
675
-	'titre_image_admin_article' => 'أنت مخول إدارة هذا المقال',
676
-	'titre_image_administrateur' => 'مدير',
677
-	'titre_image_aide' => 'تعليمات حول هذا العنصر',
678
-	'titre_image_auteur_supprime' => 'مؤلف محذوف',
679
-	'titre_image_redacteur' => 'محرر دون إذن دخول',
680
-	'titre_image_redacteur_02' => 'محرر',
681
-	'titre_image_selecteur' => 'عرض القائمة',
682
-	'titre_image_visiteur' => 'زائر',
683
-	'titre_joindre_document' => 'إرفاق مستند',
684
-	'titre_mots_cles' => 'المفاتيح',
685
-	'titre_probleme_technique' => 'تحذير: مشكلة تقنية (خادم SQL) تمنع الدخول إلى هذا الجزء من الموقع. شكراً على تفهمكم.',
686
-	'titre_publier_document' => 'نشر مستند في هذا القسم',
687
-	'titre_signatures_attente' => 'تواقيع بانتظار التصديق',
688
-	'titre_signatures_confirmees' => 'توقيعات مصدّقة',
689
-	'titre_statistiques' => 'إحصاءات الموقع',
690
-	'titre_titre_document' => 'اسم المستند: ',
691
-	'todo' => 'قريباً',
692
-	'trad_definir_reference' => 'اختيار "@titre@" كمرجع للترجمات',
693
-	'trad_reference' => '(مرجع الترجمات)',
664
+    'texte_inc_meta_1' => 'واجه النظام خطأً خلال كتابة الملف <code>@fichier@</code>. بصفتك أحد مدراء الموقع، الرجاء',
665
+    'texte_inc_meta_2' => 'التأكد من حقوق الكتابة',
666
+    'texte_inc_meta_3' => 'الخاصة بالدليل <code>@repertoire@</code>. ',
667
+    'texte_statut_en_cours_redaction' => 'قيد التحرير',
668
+    'texte_statut_poubelle' => 'إلى المهملات',
669
+    'texte_statut_propose_evaluation' => 'معروض للتقييم',
670
+    'texte_statut_publie' => 'منشور',
671
+    'texte_statut_refuse' => 'مرفوض',
672
+    'titre_ajouter_mot_cle' => 'إضافة مفتاح:',
673
+    'titre_cadre_raccourcis' => 'اختصارات:',
674
+    'titre_changer_couleur_interface' => 'تغيير لون الواجهة',
675
+    'titre_image_admin_article' => 'أنت مخول إدارة هذا المقال',
676
+    'titre_image_administrateur' => 'مدير',
677
+    'titre_image_aide' => 'تعليمات حول هذا العنصر',
678
+    'titre_image_auteur_supprime' => 'مؤلف محذوف',
679
+    'titre_image_redacteur' => 'محرر دون إذن دخول',
680
+    'titre_image_redacteur_02' => 'محرر',
681
+    'titre_image_selecteur' => 'عرض القائمة',
682
+    'titre_image_visiteur' => 'زائر',
683
+    'titre_joindre_document' => 'إرفاق مستند',
684
+    'titre_mots_cles' => 'المفاتيح',
685
+    'titre_probleme_technique' => 'تحذير: مشكلة تقنية (خادم SQL) تمنع الدخول إلى هذا الجزء من الموقع. شكراً على تفهمكم.',
686
+    'titre_publier_document' => 'نشر مستند في هذا القسم',
687
+    'titre_signatures_attente' => 'تواقيع بانتظار التصديق',
688
+    'titre_signatures_confirmees' => 'توقيعات مصدّقة',
689
+    'titre_statistiques' => 'إحصاءات الموقع',
690
+    'titre_titre_document' => 'اسم المستند: ',
691
+    'todo' => 'قريباً',
692
+    'trad_definir_reference' => 'اختيار "@titre@" كمرجع للترجمات',
693
+    'trad_reference' => '(مرجع الترجمات)',
694 694
 
695
-	// U
696
-	'upload_limit' => 'حجم هذا الملف أكبر مما يتحمل جهاز الخدمة: الحجم الأقصى المسموح به <b>للتنزيل</b> هو @max@.',
695
+    // U
696
+    'upload_limit' => 'حجم هذا الملف أكبر مما يتحمل جهاز الخدمة: الحجم الأقصى المسموح به <b>للتنزيل</b> هو @max@.',
697 697
 
698
-	// Z
699
-	'zbug_balise_b_aval' => ': العلامة B متأخرة',
700
-	'zbug_balise_inexistante' => 'خطأ في الاعلان عن العلامة @balise@ لـ@from@',
701
-	'zbug_balise_sans_argument' => 'عامل غير موجود في علامة @balise@',
702
-	'zbug_boucle' => 'حلقة',
703
-	'zbug_boucle_recursive_undef' => 'حلقة دورية غير معرّفة: @nom@',
704
-	'zbug_calcul' => 'حساب',
705
-	'zbug_champ_hors_boucle' => 'الحقل @champ@ خارج الحلقة',
706
-	'zbug_champ_hors_critere' => 'الحقل @champ@ خارج المقياس @critere@',
707
-	'zbug_champ_hors_motif' => 'الحقل @champ@ خارج سياق @motif@',
708
-	'zbug_code' => 'الرموز البرمجية',
709
-	'zbug_critere_inconnu' => 'معيار غير معروف @critere@',
710
-	'zbug_critere_sur_table_sans_cle_primaire' => '{@critere@} على جدول دون مفتاح اساسي افرادي',
711
-	'zbug_distant_interdit' => 'عملية خارجية ممنوعة',
712
-	'zbug_doublon_table_sans_cle_primaire' => 'قيمة مكررة في جدول لا يملك مفتاح أساسي',
713
-	'zbug_doublon_table_sans_index' => 'تكرار في جدول غير مفهرس',
714
-	'zbug_erreur_boucle_double' => 'تعريف متكرر للحلقة @id@',
715
-	'zbug_erreur_boucle_fermant' => 'علامة إغلاق غائبة في حلقة @id@',
716
-	'zbug_erreur_boucle_syntaxe' => 'تركيب حلقة @id@ غير صحيح',
717
-	'zbug_erreur_compilation' => 'خطأ تصنيف',
718
-	'zbug_erreur_execution_page' => 'خطأ في التنفيذ',
719
-	'zbug_erreur_filtre' => 'المرشح @filtre@ غير معرّف ',
720
-	'zbug_erreur_filtre_nbarg_min' => 'المرشح @filtre@ : ينقص @nb@ عامل',
721
-	'zbug_erreur_meme_parent' => 'لا ينطبق معيار {meme_parent} إلا على حلقتي (FORUMS) أو (RUBRIQUES)',
722
-	'zbug_erreur_squelette' => 'خطأ في الصفحة النموذجية',
723
-	'zbug_hors_compilation' => 'خارج التصنيف',
724
-	'zbug_info_erreur_squelette' => 'خطأ في الموفع',
725
-	'zbug_inversion_ordre_inexistant' => 'عكس ترتيب غير موجود أصلاً',
726
-	'zbug_pagination_sans_critere' => 'علامة PAGINATION# بدون معيار {pagination} أو مستخدمة في حلقة دورية',
727
-	'zbug_parametres_inclus_incorrects' => 'عامل إدراج غير صحيحة: @param@',
728
-	'zbug_profile' => 'فترة المعالجة: @time@',
729
-	'zbug_resultat' => 'النتيجة',
730
-	'zbug_serveur_indefini' => 'خادم SQL غير محدد',
731
-	'zbug_statistiques' => 'احصاءات استفسارات SQL مرتبة حسب المدة',
732
-	'zbug_table_inconnue' => 'جدول SQL هو «@table@» غير معروف',
733
-	'zxml_connus_attributs' => 'خاصيات معروفة',
734
-	'zxml_de' => 'من',
735
-	'zxml_inconnu_attribut' => 'خاصية غير معروفة',
736
-	'zxml_inconnu_balise' => 'علامة غير معروفة',
737
-	'zxml_inconnu_entite' => 'كائن غير معروف',
738
-	'zxml_inconnu_id' => 'هوية ID غير معروفة',
739
-	'zxml_mais_de' => 'لكن من',
740
-	'zxml_non_conforme' => 'غير مطابق للشكل',
741
-	'zxml_non_fils' => 'ليس من سلالة',
742
-	'zxml_nonvide_balise' => 'علامة غير فارغة',
743
-	'zxml_obligatoire_attribut' => 'خاصية إجبارية لكنها غير موجودة في',
744
-	'zxml_succession_fils_incorrecte' => 'تتابع سلالات غير سليم',
745
-	'zxml_survoler' => 'الحوم لعرض الصحيح',
746
-	'zxml_valeur_attribut' => 'قيمة الخاصية',
747
-	'zxml_vide_balise' => 'علامة فارغة',
748
-	'zxml_vu' => 'ظهر مسبقاً'
698
+    // Z
699
+    'zbug_balise_b_aval' => ': العلامة B متأخرة',
700
+    'zbug_balise_inexistante' => 'خطأ في الاعلان عن العلامة @balise@ لـ@from@',
701
+    'zbug_balise_sans_argument' => 'عامل غير موجود في علامة @balise@',
702
+    'zbug_boucle' => 'حلقة',
703
+    'zbug_boucle_recursive_undef' => 'حلقة دورية غير معرّفة: @nom@',
704
+    'zbug_calcul' => 'حساب',
705
+    'zbug_champ_hors_boucle' => 'الحقل @champ@ خارج الحلقة',
706
+    'zbug_champ_hors_critere' => 'الحقل @champ@ خارج المقياس @critere@',
707
+    'zbug_champ_hors_motif' => 'الحقل @champ@ خارج سياق @motif@',
708
+    'zbug_code' => 'الرموز البرمجية',
709
+    'zbug_critere_inconnu' => 'معيار غير معروف @critere@',
710
+    'zbug_critere_sur_table_sans_cle_primaire' => '{@critere@} على جدول دون مفتاح اساسي افرادي',
711
+    'zbug_distant_interdit' => 'عملية خارجية ممنوعة',
712
+    'zbug_doublon_table_sans_cle_primaire' => 'قيمة مكررة في جدول لا يملك مفتاح أساسي',
713
+    'zbug_doublon_table_sans_index' => 'تكرار في جدول غير مفهرس',
714
+    'zbug_erreur_boucle_double' => 'تعريف متكرر للحلقة @id@',
715
+    'zbug_erreur_boucle_fermant' => 'علامة إغلاق غائبة في حلقة @id@',
716
+    'zbug_erreur_boucle_syntaxe' => 'تركيب حلقة @id@ غير صحيح',
717
+    'zbug_erreur_compilation' => 'خطأ تصنيف',
718
+    'zbug_erreur_execution_page' => 'خطأ في التنفيذ',
719
+    'zbug_erreur_filtre' => 'المرشح @filtre@ غير معرّف ',
720
+    'zbug_erreur_filtre_nbarg_min' => 'المرشح @filtre@ : ينقص @nb@ عامل',
721
+    'zbug_erreur_meme_parent' => 'لا ينطبق معيار {meme_parent} إلا على حلقتي (FORUMS) أو (RUBRIQUES)',
722
+    'zbug_erreur_squelette' => 'خطأ في الصفحة النموذجية',
723
+    'zbug_hors_compilation' => 'خارج التصنيف',
724
+    'zbug_info_erreur_squelette' => 'خطأ في الموفع',
725
+    'zbug_inversion_ordre_inexistant' => 'عكس ترتيب غير موجود أصلاً',
726
+    'zbug_pagination_sans_critere' => 'علامة PAGINATION# بدون معيار {pagination} أو مستخدمة في حلقة دورية',
727
+    'zbug_parametres_inclus_incorrects' => 'عامل إدراج غير صحيحة: @param@',
728
+    'zbug_profile' => 'فترة المعالجة: @time@',
729
+    'zbug_resultat' => 'النتيجة',
730
+    'zbug_serveur_indefini' => 'خادم SQL غير محدد',
731
+    'zbug_statistiques' => 'احصاءات استفسارات SQL مرتبة حسب المدة',
732
+    'zbug_table_inconnue' => 'جدول SQL هو «@table@» غير معروف',
733
+    'zxml_connus_attributs' => 'خاصيات معروفة',
734
+    'zxml_de' => 'من',
735
+    'zxml_inconnu_attribut' => 'خاصية غير معروفة',
736
+    'zxml_inconnu_balise' => 'علامة غير معروفة',
737
+    'zxml_inconnu_entite' => 'كائن غير معروف',
738
+    'zxml_inconnu_id' => 'هوية ID غير معروفة',
739
+    'zxml_mais_de' => 'لكن من',
740
+    'zxml_non_conforme' => 'غير مطابق للشكل',
741
+    'zxml_non_fils' => 'ليس من سلالة',
742
+    'zxml_nonvide_balise' => 'علامة غير فارغة',
743
+    'zxml_obligatoire_attribut' => 'خاصية إجبارية لكنها غير موجودة في',
744
+    'zxml_succession_fils_incorrecte' => 'تتابع سلالات غير سليم',
745
+    'zxml_survoler' => 'الحوم لعرض الصحيح',
746
+    'zxml_valeur_attribut' => 'قيمة الخاصية',
747
+    'zxml_vide_balise' => 'علامة فارغة',
748
+    'zxml_vu' => 'ظهر مسبقاً'
749 749
 );
Please login to merge, or discard this patch.
ecrire/inc/editer.php 3 patches
Braces   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -339,8 +339,7 @@
 block discarded – undo
339 339
 		if (!autoriser('modifier', $type, intval($id))) {
340 340
 			$contexte['editable'] = '';
341 341
 		}
342
-	}
343
-	else {
342
+	} else {
344 343
 		if (!autoriser('creer', $type, 0, null, ['id_parent' => $id_parent])) {
345 344
 			$contexte['editable'] = '';
346 345
 		}
Please login to merge, or discard this patch.
Indentation   +442 added lines, -442 removed lines patch added patch discarded remove patch
@@ -17,7 +17,7 @@  discard block
 block discarded – undo
17 17
  **/
18 18
 
19 19
 if (!defined('_ECRIRE_INC_VERSION')) {
20
-	return;
20
+    return;
21 21
 }
22 22
 include_spip('base/abstract_sql');
23 23
 
@@ -59,56 +59,56 @@  discard block
 block discarded – undo
59 59
  *     Retour des traitements.
60 60
  **/
61 61
 function formulaires_editer_objet_traiter(
62
-	$type,
63
-	$id = 'new',
64
-	$id_parent = 0,
65
-	$lier_trad = 0,
66
-	$retour = '',
67
-	$config_fonc = 'articles_edit_config',
68
-	$row = [],
69
-	$hidden = ''
62
+    $type,
63
+    $id = 'new',
64
+    $id_parent = 0,
65
+    $lier_trad = 0,
66
+    $retour = '',
67
+    $config_fonc = 'articles_edit_config',
68
+    $row = [],
69
+    $hidden = ''
70 70
 ) {
71 71
 
72
-	$res = [];
73
-	// eviter la redirection forcee par l'action...
74
-	set_request('redirect');
75
-	if ($action_editer = charger_fonction("editer_$type", 'action', true)) {
76
-		[$id, $err] = $action_editer($id);
77
-	} else {
78
-		$action_editer = charger_fonction('editer_objet', 'action');
79
-		[$id, $err] = $action_editer($id, $type);
80
-	}
81
-	$id_table_objet = id_table_objet($type);
82
-	$res[$id_table_objet] = $id;
83
-	if ($err or !$id) {
84
-		$res['message_erreur'] = ($err ?: _T('erreur'));
85
-	} else {
86
-		// Un lien de trad a prendre en compte
87
-		if ($lier_trad) {
88
-			// referencer la traduction
89
-			$referencer_traduction = charger_fonction('referencer_traduction', 'action');
90
-			$referencer_traduction($type, $id, $lier_trad);
91
-			// actions de recopie de champs / liens sur le nouvel objet créé
92
-			$completer_traduction = charger_fonction('completer_traduction', 'inc');
93
-			$err = $completer_traduction($type, $id, $lier_trad);
94
-			if ($err) {
95
-				$res['message_erreur'] = $err;
96
-				return $res;
97
-			}
98
-		}
99
-
100
-		$res['message_ok'] = _T('info_modification_enregistree');
101
-		if ($retour) {
102
-			if (strncmp($retour, 'javascript:', 11) == 0) {
103
-				$res['message_ok'] .= '<script type="text/javascript">/*<![CDATA[*/' . substr($retour, 11) . '/*]]>*/</script>';
104
-				$res['editable'] = true;
105
-			} else {
106
-				$res['redirect'] = parametre_url($retour, $id_table_objet, $id);
107
-			}
108
-		}
109
-	}
110
-
111
-	return $res;
72
+    $res = [];
73
+    // eviter la redirection forcee par l'action...
74
+    set_request('redirect');
75
+    if ($action_editer = charger_fonction("editer_$type", 'action', true)) {
76
+        [$id, $err] = $action_editer($id);
77
+    } else {
78
+        $action_editer = charger_fonction('editer_objet', 'action');
79
+        [$id, $err] = $action_editer($id, $type);
80
+    }
81
+    $id_table_objet = id_table_objet($type);
82
+    $res[$id_table_objet] = $id;
83
+    if ($err or !$id) {
84
+        $res['message_erreur'] = ($err ?: _T('erreur'));
85
+    } else {
86
+        // Un lien de trad a prendre en compte
87
+        if ($lier_trad) {
88
+            // referencer la traduction
89
+            $referencer_traduction = charger_fonction('referencer_traduction', 'action');
90
+            $referencer_traduction($type, $id, $lier_trad);
91
+            // actions de recopie de champs / liens sur le nouvel objet créé
92
+            $completer_traduction = charger_fonction('completer_traduction', 'inc');
93
+            $err = $completer_traduction($type, $id, $lier_trad);
94
+            if ($err) {
95
+                $res['message_erreur'] = $err;
96
+                return $res;
97
+            }
98
+        }
99
+
100
+        $res['message_ok'] = _T('info_modification_enregistree');
101
+        if ($retour) {
102
+            if (strncmp($retour, 'javascript:', 11) == 0) {
103
+                $res['message_ok'] .= '<script type="text/javascript">/*<![CDATA[*/' . substr($retour, 11) . '/*]]>*/</script>';
104
+                $res['editable'] = true;
105
+            } else {
106
+                $res['redirect'] = parametre_url($retour, $id_table_objet, $id);
107
+            }
108
+        }
109
+    }
110
+
111
+    return $res;
112 112
 }
113 113
 
114 114
 /**
@@ -132,29 +132,29 @@  discard block
 block discarded – undo
132 132
  *     Tableau des erreurs
133 133
  **/
134 134
 function formulaires_editer_objet_verifier($type, $id = 'new', $oblis = []) {
135
-	$erreurs = [];
136
-	if (intval($id)) {
137
-		$conflits = controler_contenu($type, $id);
138
-		if ($conflits and is_countable($conflits) ? count($conflits) : 0) {
139
-			foreach ($conflits as $champ => $conflit) {
140
-				if (!isset($erreurs[$champ])) {
141
-					$erreurs[$champ] = '';
142
-				}
143
-				$erreurs[$champ] .= _T('alerte_modif_info_concourante') . "<br /><textarea readonly='readonly' class='forml'>" . entites_html($conflit['base']) . '</textarea>';
144
-			}
145
-		}
146
-	}
147
-	foreach ($oblis as $obli) {
148
-		$value = _request($obli);
149
-		if (is_null($value) or !(is_array($value) ? count($value) : strlen($value))) {
150
-			if (!isset($erreurs[$obli])) {
151
-				$erreurs[$obli] = '';
152
-			}
153
-			$erreurs[$obli] .= _T('info_obligatoire');
154
-		}
155
-	}
156
-
157
-	return $erreurs;
135
+    $erreurs = [];
136
+    if (intval($id)) {
137
+        $conflits = controler_contenu($type, $id);
138
+        if ($conflits and is_countable($conflits) ? count($conflits) : 0) {
139
+            foreach ($conflits as $champ => $conflit) {
140
+                if (!isset($erreurs[$champ])) {
141
+                    $erreurs[$champ] = '';
142
+                }
143
+                $erreurs[$champ] .= _T('alerte_modif_info_concourante') . "<br /><textarea readonly='readonly' class='forml'>" . entites_html($conflit['base']) . '</textarea>';
144
+            }
145
+        }
146
+    }
147
+    foreach ($oblis as $obli) {
148
+        $value = _request($obli);
149
+        if (is_null($value) or !(is_array($value) ? count($value) : strlen($value))) {
150
+            if (!isset($erreurs[$obli])) {
151
+                $erreurs[$obli] = '';
152
+            }
153
+            $erreurs[$obli] .= _T('info_obligatoire');
154
+        }
155
+    }
156
+
157
+    return $erreurs;
158 158
 }
159 159
 
160 160
 /**
@@ -199,154 +199,154 @@  discard block
 block discarded – undo
199 199
  *     Environnement du formulaire.
200 200
  **/
201 201
 function formulaires_editer_objet_charger(
202
-	$type,
203
-	$id = 'new',
204
-	$id_parent = 0,
205
-	$lier_trad = 0,
206
-	$retour = '',
207
-	$config_fonc = 'articles_edit_config',
208
-	$row = [],
209
-	$hidden = ''
202
+    $type,
203
+    $id = 'new',
204
+    $id_parent = 0,
205
+    $lier_trad = 0,
206
+    $retour = '',
207
+    $config_fonc = 'articles_edit_config',
208
+    $row = [],
209
+    $hidden = ''
210 210
 ) {
211 211
 
212
-	$table_objet = table_objet($type);
213
-	$table_objet_sql = table_objet_sql($type);
214
-	$id_table_objet = id_table_objet($type);
215
-	if (!is_array($row)) {
216
-		$row = [];
217
-	}
218
-
219
-	// on accepte pas une fonction de config inconnue si elle vient d'un modele
220
-	if (
221
-		$config_fonc
222
-		and !in_array($config_fonc, ['articles_edit_config', 'rubriques_edit_config', 'auteurs_edit_config'])
223
-		and $config_fonc !== $table_objet . '_edit_config'
224
-	) {
225
-		if (
226
-			$args = test_formulaire_inclus_par_modele()
227
-			and in_array($config_fonc, $args)
228
-		) {
229
-			$config_fonc = '';
230
-		}
231
-	}
232
-
233
-	$new = !is_numeric($id);
234
-	$lang_default = '';
235
-	// Appel direct dans un squelette
236
-	if (!$row) {
237
-		if (!$new or $lier_trad) {
238
-			if ($select = charger_fonction('precharger_' . $type, 'inc', true)) {
239
-				$row = $select($id, $id_parent, $lier_trad);
240
-				// si on a une fonction precharger, elle pu faire un reglage de langue
241
-				$lang_default = (!empty($row['lang']) ? $row['lang'] : null);
242
-			} else {
243
-				$row = sql_fetsel('*', $table_objet_sql, $id_table_objet . '=' . intval($id));
244
-			}
245
-			if (!$new) {
246
-				$md5 = controles_md5($row ?: []);
247
-			}
248
-		}
249
-		if (!$row) {
250
-			$row = [];
251
-			$trouver_table = charger_fonction('trouver_table', 'base');
252
-			if ($desc = $trouver_table($table_objet)) {
253
-				foreach ($desc['field'] as $k => $v) {
254
-					$row[$k] = '';
255
-				}
256
-			}
257
-		}
258
-	}
259
-
260
-	// Gaffe: sans ceci, on ecrase systematiquement l'article d'origine
261
-	// (et donc: pas de lien de traduction)
262
-	$id = ($new or $lier_trad)
263
-		? 'oui'
264
-		: $row[$id_table_objet];
265
-	$row[$id_table_objet] = $id;
266
-
267
-	$contexte = $row;
268
-	if (is_numeric($id_parent) && strlen($id_parent) && (!isset($contexte['id_parent']) or $new)) {
269
-		if (!isset($contexte['id_parent'])) {
270
-			unset($contexte['id_rubrique']);
271
-		}
272
-		$contexte['id_parent'] = $id_parent;
273
-	} elseif (!isset($contexte['id_parent'])) {
274
-		// id_rubrique dans id_parent si possible
275
-		if (isset($contexte['id_rubrique'])) {
276
-			$contexte['id_parent'] = $contexte['id_rubrique'];
277
-			unset($contexte['id_rubrique']);
278
-		} else {
279
-			$contexte['id_parent'] = '';
280
-		}
281
-		if (
282
-			!$contexte['id_parent']
283
-			and $preselectionner_parent_nouvel_objet = charger_fonction('preselectionner_parent_nouvel_objet', 'inc', true)
284
-		) {
285
-			$contexte['id_parent'] = $preselectionner_parent_nouvel_objet($type, $row);
286
-		}
287
-	}
288
-
289
-	$config = [];
290
-	if ($config_fonc) {
291
-		$contexte['config'] = $config = $config_fonc($contexte);
292
-		if (!$lang_default) {
293
-			$lang_default = $config['langue'] ?? session_get('lang') ;
294
-		}
295
-	}
296
-	$config = $config + [
297
-		'lignes' => 0,
298
-		'langue' => '',
299
-	];
300
-
301
-	$att_text = " class='textarea' "
302
-		. " rows='"
303
-		. ($config['lignes'] + 15)
304
-		. "' cols='40'";
305
-	if (isset($contexte['texte'])) {
306
-		[$contexte['texte'], $contexte['_texte_trop_long']] = editer_texte_recolle($contexte['texte'], $att_text);
307
-	}
308
-
309
-	// on veut conserver la langue de l'interface ;
310
-	// on passe cette donnee sous un autre nom, au cas ou le squelette
311
-	// voudrait l'exploiter
312
-	if (isset($contexte['lang'])) {
313
-		$contexte['langue'] = $contexte['lang'];
314
-		unset($contexte['lang']);
315
-	}
316
-
317
-	$contexte['_hidden'] = "<input type='hidden' name='editer_$type' value='oui' />\n" .
318
-		(!$lier_trad ? '' :
319
-			("\n<input type='hidden' name='lier_trad' value='" .
320
-				$lier_trad .
321
-				"' />" .
322
-				"\n<input type='hidden' name='changer_lang' value='" .
323
-				$lang_default .
324
-				"' />"))
325
-		. $hidden
326
-		. ($md5 ?? '');
327
-
328
-	// preciser que le formulaire doit passer dans un pipeline
329
-	$contexte['_pipeline'] = ['editer_contenu_objet', ['type' => $type, 'id' => $id]];
330
-
331
-	// preciser que le formulaire doit etre securise auteur/action
332
-	// n'est plus utile lorsque l'action accepte l'id en argument direct
333
-	// on le garde pour compat
334
-	$contexte['_action'] = ["editer_$type", $id];
335
-
336
-	// et in fine placer l'autorisation
337
-	include_spip('inc/autoriser');
338
-	if (intval($id)) {
339
-		if (!autoriser('modifier', $type, intval($id))) {
340
-			$contexte['editable'] = '';
341
-		}
342
-	}
343
-	else {
344
-		if (!autoriser('creer', $type, 0, null, ['id_parent' => $id_parent])) {
345
-			$contexte['editable'] = '';
346
-		}
347
-	}
348
-
349
-	return $contexte;
212
+    $table_objet = table_objet($type);
213
+    $table_objet_sql = table_objet_sql($type);
214
+    $id_table_objet = id_table_objet($type);
215
+    if (!is_array($row)) {
216
+        $row = [];
217
+    }
218
+
219
+    // on accepte pas une fonction de config inconnue si elle vient d'un modele
220
+    if (
221
+        $config_fonc
222
+        and !in_array($config_fonc, ['articles_edit_config', 'rubriques_edit_config', 'auteurs_edit_config'])
223
+        and $config_fonc !== $table_objet . '_edit_config'
224
+    ) {
225
+        if (
226
+            $args = test_formulaire_inclus_par_modele()
227
+            and in_array($config_fonc, $args)
228
+        ) {
229
+            $config_fonc = '';
230
+        }
231
+    }
232
+
233
+    $new = !is_numeric($id);
234
+    $lang_default = '';
235
+    // Appel direct dans un squelette
236
+    if (!$row) {
237
+        if (!$new or $lier_trad) {
238
+            if ($select = charger_fonction('precharger_' . $type, 'inc', true)) {
239
+                $row = $select($id, $id_parent, $lier_trad);
240
+                // si on a une fonction precharger, elle pu faire un reglage de langue
241
+                $lang_default = (!empty($row['lang']) ? $row['lang'] : null);
242
+            } else {
243
+                $row = sql_fetsel('*', $table_objet_sql, $id_table_objet . '=' . intval($id));
244
+            }
245
+            if (!$new) {
246
+                $md5 = controles_md5($row ?: []);
247
+            }
248
+        }
249
+        if (!$row) {
250
+            $row = [];
251
+            $trouver_table = charger_fonction('trouver_table', 'base');
252
+            if ($desc = $trouver_table($table_objet)) {
253
+                foreach ($desc['field'] as $k => $v) {
254
+                    $row[$k] = '';
255
+                }
256
+            }
257
+        }
258
+    }
259
+
260
+    // Gaffe: sans ceci, on ecrase systematiquement l'article d'origine
261
+    // (et donc: pas de lien de traduction)
262
+    $id = ($new or $lier_trad)
263
+        ? 'oui'
264
+        : $row[$id_table_objet];
265
+    $row[$id_table_objet] = $id;
266
+
267
+    $contexte = $row;
268
+    if (is_numeric($id_parent) && strlen($id_parent) && (!isset($contexte['id_parent']) or $new)) {
269
+        if (!isset($contexte['id_parent'])) {
270
+            unset($contexte['id_rubrique']);
271
+        }
272
+        $contexte['id_parent'] = $id_parent;
273
+    } elseif (!isset($contexte['id_parent'])) {
274
+        // id_rubrique dans id_parent si possible
275
+        if (isset($contexte['id_rubrique'])) {
276
+            $contexte['id_parent'] = $contexte['id_rubrique'];
277
+            unset($contexte['id_rubrique']);
278
+        } else {
279
+            $contexte['id_parent'] = '';
280
+        }
281
+        if (
282
+            !$contexte['id_parent']
283
+            and $preselectionner_parent_nouvel_objet = charger_fonction('preselectionner_parent_nouvel_objet', 'inc', true)
284
+        ) {
285
+            $contexte['id_parent'] = $preselectionner_parent_nouvel_objet($type, $row);
286
+        }
287
+    }
288
+
289
+    $config = [];
290
+    if ($config_fonc) {
291
+        $contexte['config'] = $config = $config_fonc($contexte);
292
+        if (!$lang_default) {
293
+            $lang_default = $config['langue'] ?? session_get('lang') ;
294
+        }
295
+    }
296
+    $config = $config + [
297
+        'lignes' => 0,
298
+        'langue' => '',
299
+    ];
300
+
301
+    $att_text = " class='textarea' "
302
+        . " rows='"
303
+        . ($config['lignes'] + 15)
304
+        . "' cols='40'";
305
+    if (isset($contexte['texte'])) {
306
+        [$contexte['texte'], $contexte['_texte_trop_long']] = editer_texte_recolle($contexte['texte'], $att_text);
307
+    }
308
+
309
+    // on veut conserver la langue de l'interface ;
310
+    // on passe cette donnee sous un autre nom, au cas ou le squelette
311
+    // voudrait l'exploiter
312
+    if (isset($contexte['lang'])) {
313
+        $contexte['langue'] = $contexte['lang'];
314
+        unset($contexte['lang']);
315
+    }
316
+
317
+    $contexte['_hidden'] = "<input type='hidden' name='editer_$type' value='oui' />\n" .
318
+        (!$lier_trad ? '' :
319
+            ("\n<input type='hidden' name='lier_trad' value='" .
320
+                $lier_trad .
321
+                "' />" .
322
+                "\n<input type='hidden' name='changer_lang' value='" .
323
+                $lang_default .
324
+                "' />"))
325
+        . $hidden
326
+        . ($md5 ?? '');
327
+
328
+    // preciser que le formulaire doit passer dans un pipeline
329
+    $contexte['_pipeline'] = ['editer_contenu_objet', ['type' => $type, 'id' => $id]];
330
+
331
+    // preciser que le formulaire doit etre securise auteur/action
332
+    // n'est plus utile lorsque l'action accepte l'id en argument direct
333
+    // on le garde pour compat
334
+    $contexte['_action'] = ["editer_$type", $id];
335
+
336
+    // et in fine placer l'autorisation
337
+    include_spip('inc/autoriser');
338
+    if (intval($id)) {
339
+        if (!autoriser('modifier', $type, intval($id))) {
340
+            $contexte['editable'] = '';
341
+        }
342
+    }
343
+    else {
344
+        if (!autoriser('creer', $type, 0, null, ['id_parent' => $id_parent])) {
345
+            $contexte['editable'] = '';
346
+        }
347
+    }
348
+
349
+    return $contexte;
350 350
 }
351 351
 
352 352
 /**
@@ -357,29 +357,29 @@  discard block
 block discarded – undo
357 357
  * @return array
358 358
  */
359 359
 function coupe_trop_long($texte) {
360
-	$aider = charger_fonction('aider', 'inc');
361
-	if (strlen($texte) > 28 * 1024) {
362
-		$texte = str_replace("\r\n", "\n", $texte);
363
-		$pos = strpos($texte, "\n\n", 28 * 1024);  // coupe para > 28 ko
364
-		if ($pos > 0 and $pos < 32 * 1024) {
365
-			$debut = substr($texte, 0, $pos) . "\n\n<!--SPIP-->\n";
366
-			$suite = substr($texte, $pos + 2);
367
-		} else {
368
-			$pos = strpos($texte, ' ', 28 * 1024);  // sinon coupe espace
369
-			if (!($pos > 0 and $pos < 32 * 1024)) {
370
-				$pos = 28 * 1024;  // au pire (pas d'espace trouv'e)
371
-				$decalage = 0; // si y'a pas d'espace, il ne faut pas perdre le caract`ere
372
-			} else {
373
-				$decalage = 1;
374
-			}
375
-			$debut = substr($texte, 0, $pos + $decalage); // Il faut conserver l'espace s'il y en a un
376
-			$suite = substr($texte, $pos + $decalage);
377
-		}
378
-
379
-		return ([$debut, $suite]);
380
-	} else {
381
-		return ([$texte, '']);
382
-	}
360
+    $aider = charger_fonction('aider', 'inc');
361
+    if (strlen($texte) > 28 * 1024) {
362
+        $texte = str_replace("\r\n", "\n", $texte);
363
+        $pos = strpos($texte, "\n\n", 28 * 1024);  // coupe para > 28 ko
364
+        if ($pos > 0 and $pos < 32 * 1024) {
365
+            $debut = substr($texte, 0, $pos) . "\n\n<!--SPIP-->\n";
366
+            $suite = substr($texte, $pos + 2);
367
+        } else {
368
+            $pos = strpos($texte, ' ', 28 * 1024);  // sinon coupe espace
369
+            if (!($pos > 0 and $pos < 32 * 1024)) {
370
+                $pos = 28 * 1024;  // au pire (pas d'espace trouv'e)
371
+                $decalage = 0; // si y'a pas d'espace, il ne faut pas perdre le caract`ere
372
+            } else {
373
+                $decalage = 1;
374
+            }
375
+            $debut = substr($texte, 0, $pos + $decalage); // Il faut conserver l'espace s'il y en a un
376
+            $suite = substr($texte, $pos + $decalage);
377
+        }
378
+
379
+        return ([$debut, $suite]);
380
+    } else {
381
+        return ([$texte, '']);
382
+    }
383 383
 }
384 384
 
385 385
 /**
@@ -390,25 +390,25 @@  discard block
 block discarded – undo
390 390
  * @return array
391 391
  */
392 392
 function editer_texte_recolle($texte, $att_text) {
393
-	if (
394
-		(strlen($texte) < 29 * 1024)
395
-		or (include_spip('inc/layer') and ($GLOBALS['browser_name'] != 'MSIE'))
396
-	) {
397
-		return [$texte, ''];
398
-	}
399
-
400
-	include_spip('inc/barre');
401
-	$textes_supplement = "<br /><span style='color: red'>" . _T('info_texte_long') . "</span>\n";
402
-	$nombre = 0;
403
-
404
-	while (strlen($texte) > 29 * 1024) {
405
-		$nombre++;
406
-		[$texte1, $texte] = coupe_trop_long($texte);
407
-		$textes_supplement .= '<br />' .
408
-			"<textarea id='texte$nombre' name='texte_plus[$nombre]'$att_text>$texte1</textarea>\n";
409
-	}
410
-
411
-	return [$texte, $textes_supplement];
393
+    if (
394
+        (strlen($texte) < 29 * 1024)
395
+        or (include_spip('inc/layer') and ($GLOBALS['browser_name'] != 'MSIE'))
396
+    ) {
397
+        return [$texte, ''];
398
+    }
399
+
400
+    include_spip('inc/barre');
401
+    $textes_supplement = "<br /><span style='color: red'>" . _T('info_texte_long') . "</span>\n";
402
+    $nombre = 0;
403
+
404
+    while (strlen($texte) > 29 * 1024) {
405
+        $nombre++;
406
+        [$texte1, $texte] = coupe_trop_long($texte);
407
+        $textes_supplement .= '<br />' .
408
+            "<textarea id='texte$nombre' name='texte_plus[$nombre]'$att_text>$texte1</textarea>\n";
409
+    }
410
+
411
+    return [$texte, $textes_supplement];
412 412
 }
413 413
 
414 414
 /**
@@ -419,17 +419,17 @@  discard block
 block discarded – undo
419 419
  * @param int $longueur
420 420
  */
421 421
 function titre_automatique($champ_titre, $champs_contenu, $longueur = null) {
422
-	if (!_request($champ_titre)) {
423
-		$titrer_contenu = charger_fonction('titrer_contenu', 'inc');
424
-		if (!is_null($longueur)) {
425
-			$t = $titrer_contenu($champs_contenu, null, $longueur);
426
-		} else {
427
-			$t = $titrer_contenu($champs_contenu);
428
-		}
429
-		if ($t) {
430
-			set_request($champ_titre, $t);
431
-		}
432
-	}
422
+    if (!_request($champ_titre)) {
423
+        $titrer_contenu = charger_fonction('titrer_contenu', 'inc');
424
+        if (!is_null($longueur)) {
425
+            $t = $titrer_contenu($champs_contenu, null, $longueur);
426
+        } else {
427
+            $t = $titrer_contenu($champs_contenu);
428
+        }
429
+        if ($t) {
430
+            set_request($champ_titre, $t);
431
+        }
432
+    }
433 433
 }
434 434
 
435 435
 /**
@@ -449,20 +449,20 @@  discard block
 block discarded – undo
449 449
  * @return string
450 450
  */
451 451
 function inc_titrer_contenu_dist($champs_contenu, $c = null, $longueur = 50) {
452
-	// trouver un champ texte non vide
453
-	$t = '';
454
-	foreach ($champs_contenu as $champ) {
455
-		if ($t = _request($champ, $c)) {
456
-			break;
457
-		}
458
-	}
459
-
460
-	if ($t) {
461
-		include_spip('inc/texte_mini');
462
-		$t = couper($t, $longueur, '...');
463
-	}
464
-
465
-	return $t;
452
+    // trouver un champ texte non vide
453
+    $t = '';
454
+    foreach ($champs_contenu as $champ) {
455
+        if ($t = _request($champ, $c)) {
456
+            break;
457
+        }
458
+    }
459
+
460
+    if ($t) {
461
+        include_spip('inc/texte_mini');
462
+        $t = couper($t, $longueur, '...');
463
+    }
464
+
465
+    return $t;
466 466
 }
467 467
 
468 468
 /**
@@ -484,26 +484,26 @@  discard block
 block discarded – undo
484 484
  *      - array sinon couples ('$prefixe$colonne => md5)
485 485
  **/
486 486
 function controles_md5(array $data, string $prefixe = 'ctr_', string $format = 'html') {
487
-	$ctr = [];
488
-	foreach ($data as $key => $val) {
489
-		$m = md5($val ?? '');
490
-		$k = $prefixe . $key;
491
-
492
-		switch ($format) {
493
-			case 'html':
494
-				$ctr[$k] = "<input type='hidden' value='$m' name='$k' />";
495
-				break;
496
-			default:
497
-				$ctr[$k] = $m;
498
-				break;
499
-		}
500
-	}
501
-
502
-	if ($format === 'html') {
503
-		return "\n\n<!-- controles md5 -->\n" . join("\n", $ctr) . "\n\n";
504
-	} else {
505
-		return $ctr;
506
-	}
487
+    $ctr = [];
488
+    foreach ($data as $key => $val) {
489
+        $m = md5($val ?? '');
490
+        $k = $prefixe . $key;
491
+
492
+        switch ($format) {
493
+            case 'html':
494
+                $ctr[$k] = "<input type='hidden' value='$m' name='$k' />";
495
+                break;
496
+            default:
497
+                $ctr[$k] = $m;
498
+                break;
499
+        }
500
+    }
501
+
502
+    if ($format === 'html') {
503
+        return "\n\n<!-- controles md5 -->\n" . join("\n", $ctr) . "\n\n";
504
+    } else {
505
+        return $ctr;
506
+    }
507 507
 }
508 508
 
509 509
 /**
@@ -542,80 +542,80 @@  discard block
 block discarded – undo
542 542
  *     - post : le contenu posté
543 543
  **/
544 544
 function controler_contenu($type, $id, $options = [], $c = false, $serveur = '') {
545
-	include_spip('inc/filtres');
546
-
547
-	$table_objet = table_objet($type);
548
-	$spip_table_objet = table_objet_sql($type);
549
-	$trouver_table = charger_fonction('trouver_table', 'base');
550
-	$desc = $trouver_table($table_objet, $serveur);
551
-
552
-	// Appels incomplets (sans $c)
553
-	if (!is_array($c)) {
554
-		$c = [];
555
-		foreach ($desc['field'] as $champ => $ignore) {
556
-			if (_request($champ)) {
557
-				$c[$champ] = _request($champ);
558
-			}
559
-		}
560
-	}
561
-
562
-	// Securite : certaines variables ne sont jamais acceptees ici
563
-	// car elles ne relevent pas de autoriser(article, modifier) ;
564
-	// il faut passer par instituer_XX()
565
-	// TODO: faut-il passer ces variables interdites
566
-	// dans un fichier de description separe ?
567
-	unset($c['statut']);
568
-	unset($c['id_parent']);
569
-	unset($c['id_rubrique']);
570
-	unset($c['id_secteur']);
571
-
572
-	// Gerer les champs non vides
573
-	if (isset($options['nonvide']) and is_array($options['nonvide'])) {
574
-		foreach ($options['nonvide'] as $champ => $sinon) {
575
-			if ($c[$champ] === '') {
576
-				$c[$champ] = $sinon;
577
-			}
578
-		}
579
-	}
580
-
581
-	// N'accepter que les champs qui existent
582
-	// [TODO] ici aussi on peut valider les contenus en fonction du type
583
-	$champs = [];
584
-	foreach ($desc['field'] as $champ => $ignore) {
585
-		if (isset($c[$champ])) {
586
-			$champs[$champ] = $c[$champ];
587
-		}
588
-	}
589
-
590
-	// Nettoyer les valeurs
591
-	$champs = array_map('corriger_caracteres', $champs);
592
-
593
-	// Envoyer aux plugins
594
-	$champs = pipeline(
595
-		'pre_edition',
596
-		[
597
-			'args' => [
598
-				'table' => $spip_table_objet, // compatibilite
599
-				'table_objet' => $table_objet,
600
-				'spip_table_objet' => $spip_table_objet,
601
-				'type' => $type,
602
-				'id_objet' => $id,
603
-				'champs' => $options['champs'] ?? [], // [doc] c'est quoi ?
604
-				'action' => 'controler',
605
-				'serveur' => $serveur,
606
-			],
607
-			'data' => $champs
608
-		]
609
-	);
610
-
611
-	if (!$champs) {
612
-		return false;
613
-	}
614
-
615
-	// Verifier si les mises a jour sont pertinentes, datees, en conflit etc
616
-	$conflits = controler_md5($champs, $_POST, $type, $id, $serveur, $options['prefix'] ?? 'ctr_');
617
-
618
-	return $conflits;
545
+    include_spip('inc/filtres');
546
+
547
+    $table_objet = table_objet($type);
548
+    $spip_table_objet = table_objet_sql($type);
549
+    $trouver_table = charger_fonction('trouver_table', 'base');
550
+    $desc = $trouver_table($table_objet, $serveur);
551
+
552
+    // Appels incomplets (sans $c)
553
+    if (!is_array($c)) {
554
+        $c = [];
555
+        foreach ($desc['field'] as $champ => $ignore) {
556
+            if (_request($champ)) {
557
+                $c[$champ] = _request($champ);
558
+            }
559
+        }
560
+    }
561
+
562
+    // Securite : certaines variables ne sont jamais acceptees ici
563
+    // car elles ne relevent pas de autoriser(article, modifier) ;
564
+    // il faut passer par instituer_XX()
565
+    // TODO: faut-il passer ces variables interdites
566
+    // dans un fichier de description separe ?
567
+    unset($c['statut']);
568
+    unset($c['id_parent']);
569
+    unset($c['id_rubrique']);
570
+    unset($c['id_secteur']);
571
+
572
+    // Gerer les champs non vides
573
+    if (isset($options['nonvide']) and is_array($options['nonvide'])) {
574
+        foreach ($options['nonvide'] as $champ => $sinon) {
575
+            if ($c[$champ] === '') {
576
+                $c[$champ] = $sinon;
577
+            }
578
+        }
579
+    }
580
+
581
+    // N'accepter que les champs qui existent
582
+    // [TODO] ici aussi on peut valider les contenus en fonction du type
583
+    $champs = [];
584
+    foreach ($desc['field'] as $champ => $ignore) {
585
+        if (isset($c[$champ])) {
586
+            $champs[$champ] = $c[$champ];
587
+        }
588
+    }
589
+
590
+    // Nettoyer les valeurs
591
+    $champs = array_map('corriger_caracteres', $champs);
592
+
593
+    // Envoyer aux plugins
594
+    $champs = pipeline(
595
+        'pre_edition',
596
+        [
597
+            'args' => [
598
+                'table' => $spip_table_objet, // compatibilite
599
+                'table_objet' => $table_objet,
600
+                'spip_table_objet' => $spip_table_objet,
601
+                'type' => $type,
602
+                'id_objet' => $id,
603
+                'champs' => $options['champs'] ?? [], // [doc] c'est quoi ?
604
+                'action' => 'controler',
605
+                'serveur' => $serveur,
606
+            ],
607
+            'data' => $champs
608
+        ]
609
+    );
610
+
611
+    if (!$champs) {
612
+        return false;
613
+    }
614
+
615
+    // Verifier si les mises a jour sont pertinentes, datees, en conflit etc
616
+    $conflits = controler_md5($champs, $_POST, $type, $id, $serveur, $options['prefix'] ?? 'ctr_');
617
+
618
+    return $conflits;
619 619
 }
620 620
 
621 621
 
@@ -645,64 +645,64 @@  discard block
 block discarded – undo
645 645
  *     - post : le contenu posté
646 646
  **/
647 647
 function controler_md5(&$champs, $ctr, $type, $id, $serveur, $prefix = 'ctr_') {
648
-	$spip_table_objet = table_objet_sql($type);
649
-	$id_table_objet = id_table_objet($type);
650
-
651
-	// Controle des MD5 envoyes
652
-	// On elimine les donnees non modifiees par le formulaire (mais
653
-	// potentiellement modifiees entre temps par un autre utilisateur)
654
-	foreach ($champs as $key => $val) {
655
-		if (isset($ctr[$prefix . $key]) and $m = $ctr[$prefix . $key]) {
656
-			if (is_scalar($val) and $m == md5($val)) {
657
-				unset($champs[$key]);
658
-			}
659
-		}
660
-	}
661
-	if (!$champs) {
662
-		return;
663
-	}
664
-
665
-	// On veut savoir si notre modif va avoir un impact
666
-	// par rapport aux donnees contenues dans la base
667
-	// (qui peuvent etre differentes de celles ayant servi a calculer le ctr)
668
-	$s = sql_fetsel(array_keys($champs), $spip_table_objet, "$id_table_objet=$id", $serveur);
669
-	$intact = true;
670
-	foreach ($champs as $ch => $val) {
671
-		$intact &= ($s[$ch] == $val);
672
-	}
673
-	if ($intact) {
674
-		return;
675
-	}
676
-
677
-	// Detection de conflits :
678
-	// On verifie si notre modif ne provient pas d'un formulaire
679
-	// genere a partir de donnees modifiees dans l'intervalle ; ici
680
-	// on compare a ce qui est dans la base, et on bloque en cas
681
-	// de conflit.
682
-	$ctrh = $ctrq = $conflits = [];
683
-	foreach (array_keys($champs) as $key) {
684
-		if (isset($ctr[$prefix . $key]) and $m = $ctr[$prefix . $key]) {
685
-			$ctrh[$key] = $m;
686
-			$ctrq[] = $key;
687
-		}
688
-	}
689
-	if ($ctrq) {
690
-		$ctrq = sql_fetsel($ctrq, $spip_table_objet, "$id_table_objet=$id", $serveur);
691
-		foreach ($ctrh as $key => $m) {
692
-			if (
693
-				$m != md5($ctrq[$key])
694
-				and $champs[$key] !== $ctrq[$key]
695
-			) {
696
-				$conflits[$key] = [
697
-					'base' => $ctrq[$key],
698
-					'post' => $champs[$key]
699
-				];
700
-				unset($champs[$key]); # stocker quand meme les modifs ?
701
-			}
702
-		}
703
-	}
704
-
705
-	return $conflits;
648
+    $spip_table_objet = table_objet_sql($type);
649
+    $id_table_objet = id_table_objet($type);
650
+
651
+    // Controle des MD5 envoyes
652
+    // On elimine les donnees non modifiees par le formulaire (mais
653
+    // potentiellement modifiees entre temps par un autre utilisateur)
654
+    foreach ($champs as $key => $val) {
655
+        if (isset($ctr[$prefix . $key]) and $m = $ctr[$prefix . $key]) {
656
+            if (is_scalar($val) and $m == md5($val)) {
657
+                unset($champs[$key]);
658
+            }
659
+        }
660
+    }
661
+    if (!$champs) {
662
+        return;
663
+    }
664
+
665
+    // On veut savoir si notre modif va avoir un impact
666
+    // par rapport aux donnees contenues dans la base
667
+    // (qui peuvent etre differentes de celles ayant servi a calculer le ctr)
668
+    $s = sql_fetsel(array_keys($champs), $spip_table_objet, "$id_table_objet=$id", $serveur);
669
+    $intact = true;
670
+    foreach ($champs as $ch => $val) {
671
+        $intact &= ($s[$ch] == $val);
672
+    }
673
+    if ($intact) {
674
+        return;
675
+    }
676
+
677
+    // Detection de conflits :
678
+    // On verifie si notre modif ne provient pas d'un formulaire
679
+    // genere a partir de donnees modifiees dans l'intervalle ; ici
680
+    // on compare a ce qui est dans la base, et on bloque en cas
681
+    // de conflit.
682
+    $ctrh = $ctrq = $conflits = [];
683
+    foreach (array_keys($champs) as $key) {
684
+        if (isset($ctr[$prefix . $key]) and $m = $ctr[$prefix . $key]) {
685
+            $ctrh[$key] = $m;
686
+            $ctrq[] = $key;
687
+        }
688
+    }
689
+    if ($ctrq) {
690
+        $ctrq = sql_fetsel($ctrq, $spip_table_objet, "$id_table_objet=$id", $serveur);
691
+        foreach ($ctrh as $key => $m) {
692
+            if (
693
+                $m != md5($ctrq[$key])
694
+                and $champs[$key] !== $ctrq[$key]
695
+            ) {
696
+                $conflits[$key] = [
697
+                    'base' => $ctrq[$key],
698
+                    'post' => $champs[$key]
699
+                ];
700
+                unset($champs[$key]); # stocker quand meme les modifs ?
701
+            }
702
+        }
703
+    }
704
+
705
+    return $conflits;
706 706
 }
707 707
 
708 708
 /**
@@ -714,9 +714,9 @@  discard block
 block discarded – undo
714 714
  * @return string
715 715
  */
716 716
 function display_conflit_champ($x) {
717
-	if (strstr($x, "\n") or strlen($x) > 80) {
718
-		return "<textarea style='width:99%; height:10em;'>" . entites_html($x) . "</textarea>\n";
719
-	} else {
720
-		return "<input type='text' size='40' style='width:99%' value=\"" . entites_html($x) . "\" />\n";
721
-	}
717
+    if (strstr($x, "\n") or strlen($x) > 80) {
718
+        return "<textarea style='width:99%; height:10em;'>" . entites_html($x) . "</textarea>\n";
719
+    } else {
720
+        return "<input type='text' size='40' style='width:99%' value=\"" . entites_html($x) . "\" />\n";
721
+    }
722 722
 }
Please login to merge, or discard this patch.
Spacing   +24 added lines, -25 removed lines patch added patch discarded remove patch
@@ -100,7 +100,7 @@  discard block
 block discarded – undo
100 100
 		$res['message_ok'] = _T('info_modification_enregistree');
101 101
 		if ($retour) {
102 102
 			if (strncmp($retour, 'javascript:', 11) == 0) {
103
-				$res['message_ok'] .= '<script type="text/javascript">/*<![CDATA[*/' . substr($retour, 11) . '/*]]>*/</script>';
103
+				$res['message_ok'] .= '<script type="text/javascript">/*<![CDATA[*/'.substr($retour, 11).'/*]]>*/</script>';
104 104
 				$res['editable'] = true;
105 105
 			} else {
106 106
 				$res['redirect'] = parametre_url($retour, $id_table_objet, $id);
@@ -140,7 +140,7 @@  discard block
 block discarded – undo
140 140
 				if (!isset($erreurs[$champ])) {
141 141
 					$erreurs[$champ] = '';
142 142
 				}
143
-				$erreurs[$champ] .= _T('alerte_modif_info_concourante') . "<br /><textarea readonly='readonly' class='forml'>" . entites_html($conflit['base']) . '</textarea>';
143
+				$erreurs[$champ] .= _T('alerte_modif_info_concourante')."<br /><textarea readonly='readonly' class='forml'>".entites_html($conflit['base']).'</textarea>';
144 144
 			}
145 145
 		}
146 146
 	}
@@ -220,7 +220,7 @@  discard block
 block discarded – undo
220 220
 	if (
221 221
 		$config_fonc
222 222
 		and !in_array($config_fonc, ['articles_edit_config', 'rubriques_edit_config', 'auteurs_edit_config'])
223
-		and $config_fonc !== $table_objet . '_edit_config'
223
+		and $config_fonc !== $table_objet.'_edit_config'
224 224
 	) {
225 225
 		if (
226 226
 			$args = test_formulaire_inclus_par_modele()
@@ -235,12 +235,12 @@  discard block
 block discarded – undo
235 235
 	// Appel direct dans un squelette
236 236
 	if (!$row) {
237 237
 		if (!$new or $lier_trad) {
238
-			if ($select = charger_fonction('precharger_' . $type, 'inc', true)) {
238
+			if ($select = charger_fonction('precharger_'.$type, 'inc', true)) {
239 239
 				$row = $select($id, $id_parent, $lier_trad);
240 240
 				// si on a une fonction precharger, elle pu faire un reglage de langue
241 241
 				$lang_default = (!empty($row['lang']) ? $row['lang'] : null);
242 242
 			} else {
243
-				$row = sql_fetsel('*', $table_objet_sql, $id_table_objet . '=' . intval($id));
243
+				$row = sql_fetsel('*', $table_objet_sql, $id_table_objet.'='.intval($id));
244 244
 			}
245 245
 			if (!$new) {
246 246
 				$md5 = controles_md5($row ?: []);
@@ -290,7 +290,7 @@  discard block
 block discarded – undo
290 290
 	if ($config_fonc) {
291 291
 		$contexte['config'] = $config = $config_fonc($contexte);
292 292
 		if (!$lang_default) {
293
-			$lang_default = $config['langue'] ?? session_get('lang') ;
293
+			$lang_default = $config['langue'] ?? session_get('lang');
294 294
 		}
295 295
 	}
296 296
 	$config = $config + [
@@ -314,13 +314,12 @@  discard block
 block discarded – undo
314 314
 		unset($contexte['lang']);
315 315
 	}
316 316
 
317
-	$contexte['_hidden'] = "<input type='hidden' name='editer_$type' value='oui' />\n" .
318
-		(!$lier_trad ? '' :
319
-			("\n<input type='hidden' name='lier_trad' value='" .
320
-				$lier_trad .
321
-				"' />" .
322
-				"\n<input type='hidden' name='changer_lang' value='" .
323
-				$lang_default .
317
+	$contexte['_hidden'] = "<input type='hidden' name='editer_$type' value='oui' />\n".
318
+		(!$lier_trad ? '' : ("\n<input type='hidden' name='lier_trad' value='".
319
+				$lier_trad.
320
+				"' />".
321
+				"\n<input type='hidden' name='changer_lang' value='".
322
+				$lang_default.
324 323
 				"' />"))
325 324
 		. $hidden
326 325
 		. ($md5 ?? '');
@@ -360,14 +359,14 @@  discard block
 block discarded – undo
360 359
 	$aider = charger_fonction('aider', 'inc');
361 360
 	if (strlen($texte) > 28 * 1024) {
362 361
 		$texte = str_replace("\r\n", "\n", $texte);
363
-		$pos = strpos($texte, "\n\n", 28 * 1024);  // coupe para > 28 ko
362
+		$pos = strpos($texte, "\n\n", 28 * 1024); // coupe para > 28 ko
364 363
 		if ($pos > 0 and $pos < 32 * 1024) {
365
-			$debut = substr($texte, 0, $pos) . "\n\n<!--SPIP-->\n";
364
+			$debut = substr($texte, 0, $pos)."\n\n<!--SPIP-->\n";
366 365
 			$suite = substr($texte, $pos + 2);
367 366
 		} else {
368
-			$pos = strpos($texte, ' ', 28 * 1024);  // sinon coupe espace
367
+			$pos = strpos($texte, ' ', 28 * 1024); // sinon coupe espace
369 368
 			if (!($pos > 0 and $pos < 32 * 1024)) {
370
-				$pos = 28 * 1024;  // au pire (pas d'espace trouv'e)
369
+				$pos = 28 * 1024; // au pire (pas d'espace trouv'e)
371 370
 				$decalage = 0; // si y'a pas d'espace, il ne faut pas perdre le caract`ere
372 371
 			} else {
373 372
 				$decalage = 1;
@@ -398,13 +397,13 @@  discard block
 block discarded – undo
398 397
 	}
399 398
 
400 399
 	include_spip('inc/barre');
401
-	$textes_supplement = "<br /><span style='color: red'>" . _T('info_texte_long') . "</span>\n";
400
+	$textes_supplement = "<br /><span style='color: red'>"._T('info_texte_long')."</span>\n";
402 401
 	$nombre = 0;
403 402
 
404 403
 	while (strlen($texte) > 29 * 1024) {
405 404
 		$nombre++;
406 405
 		[$texte1, $texte] = coupe_trop_long($texte);
407
-		$textes_supplement .= '<br />' .
406
+		$textes_supplement .= '<br />'.
408 407
 			"<textarea id='texte$nombre' name='texte_plus[$nombre]'$att_text>$texte1</textarea>\n";
409 408
 	}
410 409
 
@@ -487,7 +486,7 @@  discard block
 block discarded – undo
487 486
 	$ctr = [];
488 487
 	foreach ($data as $key => $val) {
489 488
 		$m = md5($val ?? '');
490
-		$k = $prefixe . $key;
489
+		$k = $prefixe.$key;
491 490
 
492 491
 		switch ($format) {
493 492
 			case 'html':
@@ -500,7 +499,7 @@  discard block
 block discarded – undo
500 499
 	}
501 500
 
502 501
 	if ($format === 'html') {
503
-		return "\n\n<!-- controles md5 -->\n" . join("\n", $ctr) . "\n\n";
502
+		return "\n\n<!-- controles md5 -->\n".join("\n", $ctr)."\n\n";
504 503
 	} else {
505 504
 		return $ctr;
506 505
 	}
@@ -652,7 +651,7 @@  discard block
 block discarded – undo
652 651
 	// On elimine les donnees non modifiees par le formulaire (mais
653 652
 	// potentiellement modifiees entre temps par un autre utilisateur)
654 653
 	foreach ($champs as $key => $val) {
655
-		if (isset($ctr[$prefix . $key]) and $m = $ctr[$prefix . $key]) {
654
+		if (isset($ctr[$prefix.$key]) and $m = $ctr[$prefix.$key]) {
656 655
 			if (is_scalar($val) and $m == md5($val)) {
657 656
 				unset($champs[$key]);
658 657
 			}
@@ -681,7 +680,7 @@  discard block
 block discarded – undo
681 680
 	// de conflit.
682 681
 	$ctrh = $ctrq = $conflits = [];
683 682
 	foreach (array_keys($champs) as $key) {
684
-		if (isset($ctr[$prefix . $key]) and $m = $ctr[$prefix . $key]) {
683
+		if (isset($ctr[$prefix.$key]) and $m = $ctr[$prefix.$key]) {
685 684
 			$ctrh[$key] = $m;
686 685
 			$ctrq[] = $key;
687 686
 		}
@@ -715,8 +714,8 @@  discard block
 block discarded – undo
715 714
  */
716 715
 function display_conflit_champ($x) {
717 716
 	if (strstr($x, "\n") or strlen($x) > 80) {
718
-		return "<textarea style='width:99%; height:10em;'>" . entites_html($x) . "</textarea>\n";
717
+		return "<textarea style='width:99%; height:10em;'>".entites_html($x)."</textarea>\n";
719 718
 	} else {
720
-		return "<input type='text' size='40' style='width:99%' value=\"" . entites_html($x) . "\" />\n";
719
+		return "<input type='text' size='40' style='width:99%' value=\"".entites_html($x)."\" />\n";
721 720
 	}
722 721
 }
Please login to merge, or discard this patch.
ecrire/plugins/extraire_boutons.php 1 patch
Indentation   +27 added lines, -27 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
 /**
@@ -21,31 +21,31 @@  discard block
 block discarded – undo
21 21
  * @return array
22 22
  */
23 23
 function plugins_extraire_boutons_dist($arbre) {
24
-	$les_boutons = null;
25
-	$ret = ['bouton' => [], 'onglet' => []];
26
-	// recuperer les boutons et onglets si necessaire
27
-	spip_xml_match_nodes(',^(bouton|onglet)\s,', $arbre, $les_boutons);
28
-	if (is_array($les_boutons) && count($les_boutons)) {
29
-		$ret['bouton'] = [];
30
-		$ret['onglet'] = [];
31
-		foreach ($les_boutons as $bouton => $val) {
32
-			$bouton = spip_xml_decompose_tag($bouton);
33
-			$type = reset($bouton);
34
-			$bouton = end($bouton);
35
-			if (isset($bouton['id'])) {
36
-				$id = $bouton['id'];
37
-				$val = reset($val);
38
-				if (is_array($val)) {
39
-					$ret[$type][$id]['parent'] = $bouton['parent'] ?? '';
40
-					$ret[$type][$id]['position'] = $bouton['position'] ?? '';
41
-					$ret[$type][$id]['titre'] = isset($val['titre']) ? trim(spip_xml_aplatit($val['titre'])) : '';
42
-					$ret[$type][$id]['icone'] = isset($val['icone']) ? trim(end($val['icone'])) : '';
43
-					$ret[$type][$id]['action'] = isset($val['url']) ? trim(end($val['url'])) : '';
44
-					$ret[$type][$id]['parametres'] = isset($val['args']) ? trim(end($val['args'])) : '';
45
-				}
46
-			}
47
-		}
48
-	}
24
+    $les_boutons = null;
25
+    $ret = ['bouton' => [], 'onglet' => []];
26
+    // recuperer les boutons et onglets si necessaire
27
+    spip_xml_match_nodes(',^(bouton|onglet)\s,', $arbre, $les_boutons);
28
+    if (is_array($les_boutons) && count($les_boutons)) {
29
+        $ret['bouton'] = [];
30
+        $ret['onglet'] = [];
31
+        foreach ($les_boutons as $bouton => $val) {
32
+            $bouton = spip_xml_decompose_tag($bouton);
33
+            $type = reset($bouton);
34
+            $bouton = end($bouton);
35
+            if (isset($bouton['id'])) {
36
+                $id = $bouton['id'];
37
+                $val = reset($val);
38
+                if (is_array($val)) {
39
+                    $ret[$type][$id]['parent'] = $bouton['parent'] ?? '';
40
+                    $ret[$type][$id]['position'] = $bouton['position'] ?? '';
41
+                    $ret[$type][$id]['titre'] = isset($val['titre']) ? trim(spip_xml_aplatit($val['titre'])) : '';
42
+                    $ret[$type][$id]['icone'] = isset($val['icone']) ? trim(end($val['icone'])) : '';
43
+                    $ret[$type][$id]['action'] = isset($val['url']) ? trim(end($val['url'])) : '';
44
+                    $ret[$type][$id]['parametres'] = isset($val['args']) ? trim(end($val['args'])) : '';
45
+                }
46
+            }
47
+        }
48
+    }
49 49
 
50
-	return $ret;
50
+    return $ret;
51 51
 }
Please login to merge, or discard this patch.
ecrire/public/evaluer_page.php 2 patches
Spacing   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -46,11 +46,11 @@  discard block
 block discarded – undo
46 46
 	}
47 47
 	ob_start();
48 48
 	if (strpos($page['texte'], '?xml') !== false) {
49
-		$page['texte'] = str_replace('<' . '?xml', "<\1?xml", $page['texte']);
49
+		$page['texte'] = str_replace('<'.'?xml', "<\1?xml", $page['texte']);
50 50
 	}
51 51
 
52 52
 	try {
53
-		$res = eval('?' . '>' . $page['texte']);
53
+		$res = eval('?'.'>'.$page['texte']);
54 54
 		$page['texte'] = ob_get_contents();
55 55
 	} catch (\Throwable $e) {
56 56
 		$code = $page['texte'];
@@ -58,12 +58,12 @@  discard block
 block discarded – undo
58 58
 		if (!function_exists('numerote_ligne_php')) {
59 59
 			function numerote_ligne_php($match) {
60 60
 				$GLOBALS['numero_ligne_php']++;
61
-				return "\n/*" . str_pad($GLOBALS['numero_ligne_php'], 3, '0', STR_PAD_LEFT) . '*/';
61
+				return "\n/*".str_pad($GLOBALS['numero_ligne_php'], 3, '0', STR_PAD_LEFT).'*/';
62 62
 			}
63 63
 		}
64
-		$code = '/*001*/' . preg_replace_callback(",\n,", 'numerote_ligne_php', $code);
64
+		$code = '/*001*/'.preg_replace_callback(",\n,", 'numerote_ligne_php', $code);
65 65
 		$code = trim(highlight_string($code, true));
66
-		erreur_squelette('L' . $e->getLine() . ': ' . $e->getMessage() . '<br />' . $code, [$page['source'],'',$e->getFile(),'',$GLOBALS['spip_lang']]);
66
+		erreur_squelette('L'.$e->getLine().': '.$e->getMessage().'<br />'.$code, [$page['source'], '', $e->getFile(), '', $GLOBALS['spip_lang']]);
67 67
 		$page['texte'] = '<!-- Erreur -->';
68 68
 	}
69 69
 	ob_end_clean();
@@ -71,7 +71,7 @@  discard block
 block discarded – undo
71 71
 	$page['process_ins'] = 'html';
72 72
 
73 73
 	if (strpos($page['texte'], '?xml') !== false) {
74
-		$page['texte'] = str_replace("<\1?xml", '<' . '?xml', $page['texte']);
74
+		$page['texte'] = str_replace("<\1?xml", '<'.'?xml', $page['texte']);
75 75
 	}
76 76
 }
77 77
 
Please login to merge, or discard this patch.
Indentation   +37 added lines, -37 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
 /**
@@ -29,50 +29,50 @@  discard block
 block discarded – undo
29 29
  * @return void
30 30
  */
31 31
 
32
- /** @var bool Évaluation réussie ? */
32
+    /** @var bool Évaluation réussie ? */
33 33
 $res = true;
34 34
 
35 35
 // Cas d'une page contenant du PHP :
36 36
 if (empty($page['process_ins']) or $page['process_ins'] != 'html') {
37
-	include_spip('inc/lang');
37
+    include_spip('inc/lang');
38 38
 
39
-	// restaurer l'etat des notes avant calcul
40
-	if (
41
-		isset($page['notes'])
42
-		and $page['notes']
43
-		and $notes = charger_fonction('notes', 'inc', true)
44
-	) {
45
-		$notes($page['notes'], 'restaurer_etat');
46
-	}
47
-	ob_start();
48
-	if (strpos($page['texte'], '?xml') !== false) {
49
-		$page['texte'] = str_replace('<' . '?xml', "<\1?xml", $page['texte']);
50
-	}
39
+    // restaurer l'etat des notes avant calcul
40
+    if (
41
+        isset($page['notes'])
42
+        and $page['notes']
43
+        and $notes = charger_fonction('notes', 'inc', true)
44
+    ) {
45
+        $notes($page['notes'], 'restaurer_etat');
46
+    }
47
+    ob_start();
48
+    if (strpos($page['texte'], '?xml') !== false) {
49
+        $page['texte'] = str_replace('<' . '?xml', "<\1?xml", $page['texte']);
50
+    }
51 51
 
52
-	try {
53
-		$res = eval('?' . '>' . $page['texte']);
54
-		$page['texte'] = ob_get_contents();
55
-	} catch (\Throwable $e) {
56
-		$code = $page['texte'];
57
-		$GLOBALS['numero_ligne_php'] = 1;
58
-		if (!function_exists('numerote_ligne_php')) {
59
-			function numerote_ligne_php($match) {
60
-				$GLOBALS['numero_ligne_php']++;
61
-				return "\n/*" . str_pad($GLOBALS['numero_ligne_php'], 3, '0', STR_PAD_LEFT) . '*/';
62
-			}
63
-		}
64
-		$code = '/*001*/' . preg_replace_callback(",\n,", 'numerote_ligne_php', $code);
65
-		$code = trim(highlight_string($code, true));
66
-		erreur_squelette('L' . $e->getLine() . ': ' . $e->getMessage() . '<br />' . $code, [$page['source'],'',$e->getFile(),'',$GLOBALS['spip_lang']]);
67
-		$page['texte'] = '<!-- Erreur -->';
68
-	}
69
-	ob_end_clean();
52
+    try {
53
+        $res = eval('?' . '>' . $page['texte']);
54
+        $page['texte'] = ob_get_contents();
55
+    } catch (\Throwable $e) {
56
+        $code = $page['texte'];
57
+        $GLOBALS['numero_ligne_php'] = 1;
58
+        if (!function_exists('numerote_ligne_php')) {
59
+            function numerote_ligne_php($match) {
60
+                $GLOBALS['numero_ligne_php']++;
61
+                return "\n/*" . str_pad($GLOBALS['numero_ligne_php'], 3, '0', STR_PAD_LEFT) . '*/';
62
+            }
63
+        }
64
+        $code = '/*001*/' . preg_replace_callback(",\n,", 'numerote_ligne_php', $code);
65
+        $code = trim(highlight_string($code, true));
66
+        erreur_squelette('L' . $e->getLine() . ': ' . $e->getMessage() . '<br />' . $code, [$page['source'],'',$e->getFile(),'',$GLOBALS['spip_lang']]);
67
+        $page['texte'] = '<!-- Erreur -->';
68
+    }
69
+    ob_end_clean();
70 70
 
71
-	$page['process_ins'] = 'html';
71
+    $page['process_ins'] = 'html';
72 72
 
73
-	if (strpos($page['texte'], '?xml') !== false) {
74
-		$page['texte'] = str_replace("<\1?xml", '<' . '?xml', $page['texte']);
75
-	}
73
+    if (strpos($page['texte'], '?xml') !== false) {
74
+        $page['texte'] = str_replace("<\1?xml", '<' . '?xml', $page['texte']);
75
+    }
76 76
 }
77 77
 
78 78
 // le résultat de calcul d'un squelette est toujours de type string
Please login to merge, or discard this patch.
ecrire/inc/rubriques.php 2 patches
Indentation   +621 added lines, -621 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
 
@@ -54,65 +54,65 @@  discard block
 block discarded – undo
54 54
  *     true si le statut change effectivement
55 55
  **/
56 56
 function calculer_rubriques_if($id_rubrique, $modifs, $infos = [], $postdate = false) {
57
-	$statuts_publies = null;
58
-	$neuf = false;
59
-
60
-	// Compat avec l'ancienne signature
61
-	if (is_string($infos)) {
62
-		$infos = ['statut_ancien' => $infos];
63
-	}
64
-	if (!isset($infos['statut_ancien'])) {
65
-		$infos['statut_ancien'] = '';
66
-	}
67
-
68
-	// On recherche quels statuts tester
69
-	if (
70
-		isset($infos['objet'])
71
-		and include_spip('inc/filtres')
72
-		and $declaration_statut = objet_info($infos['objet'], 'statut')
73
-		and is_array($declaration_statut)
74
-	) {
75
-		foreach ($declaration_statut as $champ_statut) {
76
-			if ($champ_statut['champ'] == 'statut') {
77
-				$statuts_publies = array_map('trim', explode(',', $champ_statut['publie']));
78
-				break; // stop on a trouvé le bon champ
79
-			}
80
-		}
81
-	} else {
82
-		$statuts_publies = ['publie'];
83
-	}
84
-
85
-	if (in_array($infos['statut_ancien'], $statuts_publies)) {
86
-		if (
87
-			isset($modifs['statut'])
88
-			or isset($modifs['id_rubrique'])
89
-			or ($postdate and strtotime($postdate) > time())
90
-		) {
91
-			$neuf |= depublier_branche_rubrique_if($id_rubrique);
92
-		}
93
-		// ne publier que si c'est pas un postdate, ou si la date n'est pas dans le futur
94
-		if ($postdate) {
95
-			calculer_prochain_postdate(true);
96
-			$neuf |= (strtotime($postdate) <= time()); // par securite
97
-		} elseif (isset($modifs['id_rubrique'])) {
98
-			$neuf |= publier_branche_rubrique($modifs['id_rubrique']);
99
-		}
100
-	} elseif (isset($modifs['statut']) and in_array($modifs['statut'], $statuts_publies)) {
101
-		if ($postdate) {
102
-			calculer_prochain_postdate(true);
103
-			$neuf |= (strtotime($postdate) <= time()); // par securite
104
-		} else {
105
-			$neuf |= publier_branche_rubrique($id_rubrique);
106
-		}
107
-	}
108
-
109
-	if ($neuf) {
110
-		// Sauver la date de la derniere mise a jour (pour menu_rubriques)
111
-		ecrire_meta('date_calcul_rubriques', date('U'));
112
-	}
113
-
114
-	$langues = calculer_langues_utilisees();
115
-	ecrire_meta('langues_utilisees', $langues);
57
+    $statuts_publies = null;
58
+    $neuf = false;
59
+
60
+    // Compat avec l'ancienne signature
61
+    if (is_string($infos)) {
62
+        $infos = ['statut_ancien' => $infos];
63
+    }
64
+    if (!isset($infos['statut_ancien'])) {
65
+        $infos['statut_ancien'] = '';
66
+    }
67
+
68
+    // On recherche quels statuts tester
69
+    if (
70
+        isset($infos['objet'])
71
+        and include_spip('inc/filtres')
72
+        and $declaration_statut = objet_info($infos['objet'], 'statut')
73
+        and is_array($declaration_statut)
74
+    ) {
75
+        foreach ($declaration_statut as $champ_statut) {
76
+            if ($champ_statut['champ'] == 'statut') {
77
+                $statuts_publies = array_map('trim', explode(',', $champ_statut['publie']));
78
+                break; // stop on a trouvé le bon champ
79
+            }
80
+        }
81
+    } else {
82
+        $statuts_publies = ['publie'];
83
+    }
84
+
85
+    if (in_array($infos['statut_ancien'], $statuts_publies)) {
86
+        if (
87
+            isset($modifs['statut'])
88
+            or isset($modifs['id_rubrique'])
89
+            or ($postdate and strtotime($postdate) > time())
90
+        ) {
91
+            $neuf |= depublier_branche_rubrique_if($id_rubrique);
92
+        }
93
+        // ne publier que si c'est pas un postdate, ou si la date n'est pas dans le futur
94
+        if ($postdate) {
95
+            calculer_prochain_postdate(true);
96
+            $neuf |= (strtotime($postdate) <= time()); // par securite
97
+        } elseif (isset($modifs['id_rubrique'])) {
98
+            $neuf |= publier_branche_rubrique($modifs['id_rubrique']);
99
+        }
100
+    } elseif (isset($modifs['statut']) and in_array($modifs['statut'], $statuts_publies)) {
101
+        if ($postdate) {
102
+            calculer_prochain_postdate(true);
103
+            $neuf |= (strtotime($postdate) <= time()); // par securite
104
+        } else {
105
+            $neuf |= publier_branche_rubrique($id_rubrique);
106
+        }
107
+    }
108
+
109
+    if ($neuf) {
110
+        // Sauver la date de la derniere mise a jour (pour menu_rubriques)
111
+        ecrire_meta('date_calcul_rubriques', date('U'));
112
+    }
113
+
114
+    $langues = calculer_langues_utilisees();
115
+    ecrire_meta('langues_utilisees', $langues);
116 116
 }
117 117
 
118 118
 
@@ -130,22 +130,22 @@  discard block
 block discarded – undo
130 130
  *     true si le statut change effectivement
131 131
  */
132 132
 function publier_branche_rubrique($id_rubrique) {
133
-	$id_pred = $id_rubrique;
134
-	while (true) {
135
-		sql_updateq(
136
-			'spip_rubriques',
137
-			['statut' => 'publie', 'date' => date('Y-m-d H:i:s')],
138
-			'id_rubrique=' . intval($id_rubrique)
139
-		);
140
-		$id_parent = sql_getfetsel('id_parent', 'spip_rubriques AS R', 'R.id_rubrique=' . intval($id_rubrique));
141
-		if (!$id_parent) {
142
-			break;
143
-		}
144
-		$id_rubrique = $id_parent;
145
-	}
133
+    $id_pred = $id_rubrique;
134
+    while (true) {
135
+        sql_updateq(
136
+            'spip_rubriques',
137
+            ['statut' => 'publie', 'date' => date('Y-m-d H:i:s')],
138
+            'id_rubrique=' . intval($id_rubrique)
139
+        );
140
+        $id_parent = sql_getfetsel('id_parent', 'spip_rubriques AS R', 'R.id_rubrique=' . intval($id_rubrique));
141
+        if (!$id_parent) {
142
+            break;
143
+        }
144
+        $id_rubrique = $id_parent;
145
+    }
146 146
 
147 147
 #	spip_log(" publier_branche_rubrique($id_rubrique $id_pred");
148
-	return $id_pred != $id_rubrique;
148
+    return $id_pred != $id_rubrique;
149 149
 }
150 150
 
151 151
 /**
@@ -163,20 +163,20 @@  discard block
 block discarded – undo
163 163
  *     true si le statut change effectivement
164 164
  */
165 165
 function depublier_branche_rubrique_if($id_rubrique) {
166
-	$date = date('Y-m-d H:i:s'); // figer la date
167
-
168
-	#	spip_log("depublier_branche_rubrique($id_rubrique ?");
169
-	$id_pred = $id_rubrique;
170
-	while ($id_pred) {
171
-		if (!depublier_rubrique_if($id_pred, $date)) {
172
-			return $id_pred != $id_rubrique;
173
-		}
174
-		// passer au parent si on a depublie
175
-		$r = sql_fetsel('id_parent', 'spip_rubriques', 'id_rubrique=' . intval($id_pred));
176
-		$id_pred = $r['id_parent'];
177
-	}
178
-
179
-	return $id_pred != $id_rubrique;
166
+    $date = date('Y-m-d H:i:s'); // figer la date
167
+
168
+    #	spip_log("depublier_branche_rubrique($id_rubrique ?");
169
+    $id_pred = $id_rubrique;
170
+    while ($id_pred) {
171
+        if (!depublier_rubrique_if($id_pred, $date)) {
172
+            return $id_pred != $id_rubrique;
173
+        }
174
+        // passer au parent si on a depublie
175
+        $r = sql_fetsel('id_parent', 'spip_rubriques', 'id_rubrique=' . intval($id_pred));
176
+        $id_pred = $r['id_parent'];
177
+    }
178
+
179
+    return $id_pred != $id_rubrique;
180 180
 }
181 181
 
182 182
 /**
@@ -193,61 +193,61 @@  discard block
 block discarded – undo
193 193
  *    true si la rubrique a été dépubliée
194 194
  */
195 195
 function depublier_rubrique_if($id_rubrique, $date = null) {
196
-	if (is_null($date)) {
197
-		$date = date('Y-m-d H:i:s');
198
-	}
199
-	$postdates = ($GLOBALS['meta']['post_dates'] == 'non') ?
200
-		' AND date <= ' . sql_quote($date) : '';
201
-
202
-	if (!$id_rubrique = intval($id_rubrique)) {
203
-		return false;
204
-	}
205
-
206
-	// verifier qu'elle existe et est bien publiee
207
-	$r = sql_fetsel('id_rubrique,statut', 'spip_rubriques', 'id_rubrique=' . intval($id_rubrique));
208
-	if (!$r or $r['statut'] !== 'publie') {
209
-		return false;
210
-	}
211
-
212
-	// On met le nombre de chaque type d'enfants dans un tableau
213
-	// Le type de l'objet est au pluriel
214
-	$compte = [
215
-		'articles' => sql_countsel(
216
-			'spip_articles',
217
-			'id_rubrique=' . intval($id_rubrique) . " AND statut='publie'$postdates"
218
-		),
219
-		'rubriques' => sql_countsel('spip_rubriques', 'id_parent=' . intval($id_rubrique) . " AND statut='publie'"),
220
-		'documents' => sql_countsel(
221
-			'spip_documents AS D JOIN spip_documents_liens AS L ON D.id_document=L.id_document',
222
-			'L.id_objet=' . intval($id_rubrique) . " AND L.objet='rubrique' and D.mode NOT IN('logoon', 'logooff') "
223
-		)
224
-	];
225
-
226
-	// On passe le tableau des comptes dans un pipeline pour que les plugins puissent ajouter (ou retirer) des enfants
227
-	$compte = pipeline(
228
-		'objet_compte_enfants',
229
-		[
230
-			'args' => [
231
-				'objet' => 'rubrique',
232
-				'id_objet' => $id_rubrique,
233
-				'statut' => 'publie',
234
-				'date' => $date
235
-			],
236
-			'data' => $compte
237
-		]
238
-	);
239
-
240
-	// S'il y a au moins un enfant de n'importe quoi, on ne dépublie pas
241
-	foreach ($compte as $objet => $n) {
242
-		if ($n) {
243
-			return false;
244
-		}
245
-	}
246
-
247
-	sql_updateq('spip_rubriques', ['statut' => 'prepa'], 'id_rubrique=' . intval($id_rubrique));
196
+    if (is_null($date)) {
197
+        $date = date('Y-m-d H:i:s');
198
+    }
199
+    $postdates = ($GLOBALS['meta']['post_dates'] == 'non') ?
200
+        ' AND date <= ' . sql_quote($date) : '';
201
+
202
+    if (!$id_rubrique = intval($id_rubrique)) {
203
+        return false;
204
+    }
205
+
206
+    // verifier qu'elle existe et est bien publiee
207
+    $r = sql_fetsel('id_rubrique,statut', 'spip_rubriques', 'id_rubrique=' . intval($id_rubrique));
208
+    if (!$r or $r['statut'] !== 'publie') {
209
+        return false;
210
+    }
211
+
212
+    // On met le nombre de chaque type d'enfants dans un tableau
213
+    // Le type de l'objet est au pluriel
214
+    $compte = [
215
+        'articles' => sql_countsel(
216
+            'spip_articles',
217
+            'id_rubrique=' . intval($id_rubrique) . " AND statut='publie'$postdates"
218
+        ),
219
+        'rubriques' => sql_countsel('spip_rubriques', 'id_parent=' . intval($id_rubrique) . " AND statut='publie'"),
220
+        'documents' => sql_countsel(
221
+            'spip_documents AS D JOIN spip_documents_liens AS L ON D.id_document=L.id_document',
222
+            'L.id_objet=' . intval($id_rubrique) . " AND L.objet='rubrique' and D.mode NOT IN('logoon', 'logooff') "
223
+        )
224
+    ];
225
+
226
+    // On passe le tableau des comptes dans un pipeline pour que les plugins puissent ajouter (ou retirer) des enfants
227
+    $compte = pipeline(
228
+        'objet_compte_enfants',
229
+        [
230
+            'args' => [
231
+                'objet' => 'rubrique',
232
+                'id_objet' => $id_rubrique,
233
+                'statut' => 'publie',
234
+                'date' => $date
235
+            ],
236
+            'data' => $compte
237
+        ]
238
+    );
239
+
240
+    // S'il y a au moins un enfant de n'importe quoi, on ne dépublie pas
241
+    foreach ($compte as $objet => $n) {
242
+        if ($n) {
243
+            return false;
244
+        }
245
+    }
246
+
247
+    sql_updateq('spip_rubriques', ['statut' => 'prepa'], 'id_rubrique=' . intval($id_rubrique));
248 248
 
249 249
 #		spip_log("depublier_rubrique $id_pred");
250
-	return true;
250
+    return true;
251 251
 }
252 252
 
253 253
 
@@ -270,18 +270,18 @@  discard block
 block discarded – undo
270 270
  **/
271 271
 function calculer_rubriques() {
272 272
 
273
-	calculer_rubriques_publiees();
273
+    calculer_rubriques_publiees();
274 274
 
275
-	// Apres chaque (de)publication
276
-	// recalculer les langues utilisees sur le site
277
-	$langues = calculer_langues_utilisees();
278
-	ecrire_meta('langues_utilisees', $langues);
275
+    // Apres chaque (de)publication
276
+    // recalculer les langues utilisees sur le site
277
+    $langues = calculer_langues_utilisees();
278
+    ecrire_meta('langues_utilisees', $langues);
279 279
 
280
-	// Sauver la date de la derniere mise a jour (pour menu_rubriques)
281
-	ecrire_meta('date_calcul_rubriques', date('U'));
280
+    // Sauver la date de la derniere mise a jour (pour menu_rubriques)
281
+    ecrire_meta('date_calcul_rubriques', date('U'));
282 282
 
283
-	// on calcule la date du prochain article post-date
284
-	calculer_prochain_postdate();
283
+    // on calcule la date du prochain article post-date
284
+    calculer_prochain_postdate();
285 285
 }
286 286
 
287 287
 
@@ -298,61 +298,61 @@  discard block
 block discarded – undo
298 298
  **/
299 299
 function calculer_rubriques_publiees() {
300 300
 
301
-	// Mettre les compteurs a zero
302
-	sql_updateq('spip_rubriques', ['date_tmp' => '0000-00-00 00:00:00', 'statut_tmp' => 'prepa']);
303
-
304
-	//
305
-	// Publier et dater les rubriques qui ont un article publie
306
-	//
307
-
308
-	// Afficher les articles post-dates ?
309
-	$postdates = ($GLOBALS['meta']['post_dates'] == 'non') ?
310
-		'AND A.date <= ' . sql_quote(date('Y-m-d H:i:s')) : '';
311
-
312
-	$r = sql_select(
313
-		'R.id_rubrique AS id, max(A.date) AS date_h',
314
-		'spip_rubriques AS R JOIN spip_articles AS A ON R.id_rubrique = A.id_rubrique',
315
-		"A.date>R.date_tmp AND A.statut='publie' $postdates ",
316
-		'R.id_rubrique'
317
-	);
318
-	while ($row = sql_fetch($r)) {
319
-		sql_updateq(
320
-			'spip_rubriques',
321
-			['statut_tmp' => 'publie', 'date_tmp' => $row['date_h']],
322
-			'id_rubrique=' . intval($row['id'])
323
-		);
324
-	}
325
-
326
-	// point d'entree pour permettre a des plugins de gerer le statut
327
-	// autrement (par ex: toute rubrique est publiee des sa creation)
328
-	// Ce pipeline fait ce qu'il veut, mais s'il touche aux statuts/dates
329
-	// c'est statut_tmp/date_tmp qu'il doit modifier
330
-	// [C'est un trigger... a renommer en trig_calculer_rubriques ?]
331
-	pipeline('calculer_rubriques', null);
332
-
333
-
334
-	// Les rubriques qui ont une rubrique fille plus recente
335
-	// on tourne tant que les donnees remontent vers la racine.
336
-	do {
337
-		$continuer = false;
338
-		$r = sql_select(
339
-			'R.id_rubrique AS id, max(SR.date_tmp) AS date_h',
340
-			'spip_rubriques AS R JOIN spip_rubriques AS SR ON R.id_rubrique = SR.id_parent',
341
-			"(SR.date_tmp>R.date_tmp OR R.statut_tmp<>'publie') AND SR.statut_tmp='publie' ",
342
-			'R.id_rubrique'
343
-		);
344
-		while ($row = sql_fetch($r)) {
345
-			sql_updateq(
346
-				'spip_rubriques',
347
-				['statut_tmp' => 'publie', 'date_tmp' => $row['date_h']],
348
-				'id_rubrique=' . intval($row['id'])
349
-			);
350
-			$continuer = true;
351
-		}
352
-	} while ($continuer);
353
-
354
-	// Enregistrement des modifs
355
-	sql_update('spip_rubriques', ['date' => 'date_tmp', 'statut' => 'statut_tmp']);
301
+    // Mettre les compteurs a zero
302
+    sql_updateq('spip_rubriques', ['date_tmp' => '0000-00-00 00:00:00', 'statut_tmp' => 'prepa']);
303
+
304
+    //
305
+    // Publier et dater les rubriques qui ont un article publie
306
+    //
307
+
308
+    // Afficher les articles post-dates ?
309
+    $postdates = ($GLOBALS['meta']['post_dates'] == 'non') ?
310
+        'AND A.date <= ' . sql_quote(date('Y-m-d H:i:s')) : '';
311
+
312
+    $r = sql_select(
313
+        'R.id_rubrique AS id, max(A.date) AS date_h',
314
+        'spip_rubriques AS R JOIN spip_articles AS A ON R.id_rubrique = A.id_rubrique',
315
+        "A.date>R.date_tmp AND A.statut='publie' $postdates ",
316
+        'R.id_rubrique'
317
+    );
318
+    while ($row = sql_fetch($r)) {
319
+        sql_updateq(
320
+            'spip_rubriques',
321
+            ['statut_tmp' => 'publie', 'date_tmp' => $row['date_h']],
322
+            'id_rubrique=' . intval($row['id'])
323
+        );
324
+    }
325
+
326
+    // point d'entree pour permettre a des plugins de gerer le statut
327
+    // autrement (par ex: toute rubrique est publiee des sa creation)
328
+    // Ce pipeline fait ce qu'il veut, mais s'il touche aux statuts/dates
329
+    // c'est statut_tmp/date_tmp qu'il doit modifier
330
+    // [C'est un trigger... a renommer en trig_calculer_rubriques ?]
331
+    pipeline('calculer_rubriques', null);
332
+
333
+
334
+    // Les rubriques qui ont une rubrique fille plus recente
335
+    // on tourne tant que les donnees remontent vers la racine.
336
+    do {
337
+        $continuer = false;
338
+        $r = sql_select(
339
+            'R.id_rubrique AS id, max(SR.date_tmp) AS date_h',
340
+            'spip_rubriques AS R JOIN spip_rubriques AS SR ON R.id_rubrique = SR.id_parent',
341
+            "(SR.date_tmp>R.date_tmp OR R.statut_tmp<>'publie') AND SR.statut_tmp='publie' ",
342
+            'R.id_rubrique'
343
+        );
344
+        while ($row = sql_fetch($r)) {
345
+            sql_updateq(
346
+                'spip_rubriques',
347
+                ['statut_tmp' => 'publie', 'date_tmp' => $row['date_h']],
348
+                'id_rubrique=' . intval($row['id'])
349
+            );
350
+            $continuer = true;
351
+        }
352
+    } while ($continuer);
353
+
354
+    // Enregistrement des modifs
355
+    sql_update('spip_rubriques', ['date' => 'date_tmp', 'statut' => 'statut_tmp']);
356 356
 }
357 357
 
358 358
 /**
@@ -367,123 +367,123 @@  discard block
 block discarded – undo
367 367
  * @return void
368 368
  **/
369 369
 function propager_les_secteurs() {
370
-	// Profondeur 0
371
-	// Toutes les rubriques racines sont de profondeur 0
372
-	// et fixer les id_secteur des rubriques racines
373
-	sql_update('spip_rubriques', ['id_secteur' => 'id_rubrique', 'profondeur' => 0], 'id_parent=0');
374
-	// Toute rubrique non racine est de profondeur >0
375
-	sql_updateq('spip_rubriques', ['profondeur' => 1], 'id_parent<>0 AND profondeur=0');
376
-
377
-	// securite : pas plus d'iteration que de rubriques dans la base
378
-	$maxiter = sql_countsel('spip_rubriques');
379
-
380
-	// reparer les rubriques qui n'ont pas l'id_secteur de leur parent
381
-	// on fait profondeur par profondeur
382
-
383
-	$prof = 0;
384
-	do {
385
-		$continuer = false;
386
-
387
-		// Par recursivite : si toutes les rubriques de profondeur $prof sont bonnes
388
-		// on fixe le profondeur $prof+1
389
-
390
-		// Toutes les rubriques dont le parent est de profondeur $prof ont une profondeur $prof+1
391
-		// on teste A.profondeur > $prof+1 car :
392
-		// - toutes les rubriques de profondeur 0 à $prof sont bonnes
393
-		// - si A.profondeur = $prof+1 c'est bon
394
-		// - cela nous protege de la boucle infinie en cas de reference circulaire dans les rubriques
395
-		$maxiter2 = $maxiter;
396
-		while (
397
-			$maxiter2--
398
-			and $rows = sql_allfetsel(
399
-				'A.id_rubrique AS id, R.id_secteur AS id_secteur, R.profondeur+1 as profondeur',
400
-				'spip_rubriques AS A JOIN spip_rubriques AS R ON A.id_parent = R.id_rubrique',
401
-				'R.profondeur=' . intval($prof) . ' AND (A.id_secteur <> R.id_secteur OR A.profondeur > R.profondeur+1)',
402
-				'',
403
-				'R.id_secteur',
404
-				'0,100'
405
-			)
406
-		) {
407
-			$id_secteur = null;
408
-			$ids = [];
409
-			while ($row = array_shift($rows)) {
410
-				if ($row['id_secteur'] !== $id_secteur) {
411
-					if (count($ids)) {
412
-						sql_updateq(
413
-							'spip_rubriques',
414
-							['id_secteur' => $id_secteur, 'profondeur' => $prof + 1],
415
-							sql_in('id_rubrique', $ids)
416
-						);
417
-					}
418
-					$id_secteur = $row['id_secteur'];
419
-					$ids = [];
420
-				}
421
-				$ids[] = $row['id'];
422
-			}
423
-			if (count($ids)) {
424
-				sql_updateq(
425
-					'spip_rubriques',
426
-					['id_secteur' => $id_secteur, 'profondeur' => $prof + 1],
427
-					sql_in('id_rubrique', $ids)
428
-				);
429
-			}
430
-		}
431
-
432
-
433
-		// Toutes les rubriques de profondeur $prof+1 qui n'ont pas un parent de profondeur $prof sont decalees
434
-		$maxiter2 = $maxiter;
435
-		while (
436
-			$maxiter2--
437
-			and $rows = sql_allfetsel(
438
-				'id_rubrique as id',
439
-				'spip_rubriques',
440
-				'profondeur=' . intval($prof + 1) . ' AND id_parent NOT IN (' . sql_get_select(
441
-					'zzz.id_rubrique',
442
-					'spip_rubriques AS zzz',
443
-					'zzz.profondeur=' . intval($prof)
444
-				) . ')',
445
-				'',
446
-				'',
447
-				'0,100'
448
-			)
449
-		) {
450
-			$rows = array_column($rows, 'id');
451
-			sql_updateq('spip_rubriques', ['profondeur' => $prof + 2], sql_in('id_rubrique', $rows));
452
-		}
453
-
454
-		// ici on a fini de valider $prof+1, toutes les rubriques de prondeur 0 a $prof+1 sont OK
455
-		// si pas de rubrique a profondeur $prof+1 pas la peine de continuer
456
-		// si il reste des rubriques non vues, c'est une branche morte ou reference circulaire (base foireuse)
457
-		// on arrete les frais
458
-		if (sql_countsel('spip_rubriques', 'profondeur=' . intval($prof + 1))) {
459
-			$prof++;
460
-			$continuer = true;
461
-		}
462
-	} while ($continuer and $maxiter--);
463
-
464
-	// loger si la table des rubriques semble foireuse
465
-	// et mettre un id_secteur=0 sur ces rubriques pour eviter toute selection par les boucles
466
-	if (sql_countsel('spip_rubriques', 'profondeur>' . intval($prof + 1))) {
467
-		spip_log(
468
-			'Les rubriques de profondeur>' . ($prof + 1) . ' semblent suspectes (branches morte ou reference circulaire dans les parents)',
469
-			_LOG_CRITIQUE
470
-		);
471
-		sql_update('spip_rubriques', ['id_secteur' => 0], 'profondeur>' . intval($prof + 1));
472
-	}
473
-
474
-	// reparer les articles
475
-	$r = sql_select(
476
-		'A.id_article AS id, R.id_secteur AS secteur',
477
-		'spip_articles AS A, spip_rubriques AS R',
478
-		'A.id_rubrique = R.id_rubrique AND A.id_secteur <> R.id_secteur'
479
-	);
480
-
481
-	while ($row = sql_fetch($r)) {
482
-		sql_update('spip_articles', ['id_secteur' => $row['secteur']], 'id_article=' . intval($row['id']));
483
-	}
484
-
485
-	// avertir les plugins qui peuvent faire leur mises a jour egalement
486
-	pipeline('trig_propager_les_secteurs', '');
370
+    // Profondeur 0
371
+    // Toutes les rubriques racines sont de profondeur 0
372
+    // et fixer les id_secteur des rubriques racines
373
+    sql_update('spip_rubriques', ['id_secteur' => 'id_rubrique', 'profondeur' => 0], 'id_parent=0');
374
+    // Toute rubrique non racine est de profondeur >0
375
+    sql_updateq('spip_rubriques', ['profondeur' => 1], 'id_parent<>0 AND profondeur=0');
376
+
377
+    // securite : pas plus d'iteration que de rubriques dans la base
378
+    $maxiter = sql_countsel('spip_rubriques');
379
+
380
+    // reparer les rubriques qui n'ont pas l'id_secteur de leur parent
381
+    // on fait profondeur par profondeur
382
+
383
+    $prof = 0;
384
+    do {
385
+        $continuer = false;
386
+
387
+        // Par recursivite : si toutes les rubriques de profondeur $prof sont bonnes
388
+        // on fixe le profondeur $prof+1
389
+
390
+        // Toutes les rubriques dont le parent est de profondeur $prof ont une profondeur $prof+1
391
+        // on teste A.profondeur > $prof+1 car :
392
+        // - toutes les rubriques de profondeur 0 à $prof sont bonnes
393
+        // - si A.profondeur = $prof+1 c'est bon
394
+        // - cela nous protege de la boucle infinie en cas de reference circulaire dans les rubriques
395
+        $maxiter2 = $maxiter;
396
+        while (
397
+            $maxiter2--
398
+            and $rows = sql_allfetsel(
399
+                'A.id_rubrique AS id, R.id_secteur AS id_secteur, R.profondeur+1 as profondeur',
400
+                'spip_rubriques AS A JOIN spip_rubriques AS R ON A.id_parent = R.id_rubrique',
401
+                'R.profondeur=' . intval($prof) . ' AND (A.id_secteur <> R.id_secteur OR A.profondeur > R.profondeur+1)',
402
+                '',
403
+                'R.id_secteur',
404
+                '0,100'
405
+            )
406
+        ) {
407
+            $id_secteur = null;
408
+            $ids = [];
409
+            while ($row = array_shift($rows)) {
410
+                if ($row['id_secteur'] !== $id_secteur) {
411
+                    if (count($ids)) {
412
+                        sql_updateq(
413
+                            'spip_rubriques',
414
+                            ['id_secteur' => $id_secteur, 'profondeur' => $prof + 1],
415
+                            sql_in('id_rubrique', $ids)
416
+                        );
417
+                    }
418
+                    $id_secteur = $row['id_secteur'];
419
+                    $ids = [];
420
+                }
421
+                $ids[] = $row['id'];
422
+            }
423
+            if (count($ids)) {
424
+                sql_updateq(
425
+                    'spip_rubriques',
426
+                    ['id_secteur' => $id_secteur, 'profondeur' => $prof + 1],
427
+                    sql_in('id_rubrique', $ids)
428
+                );
429
+            }
430
+        }
431
+
432
+
433
+        // Toutes les rubriques de profondeur $prof+1 qui n'ont pas un parent de profondeur $prof sont decalees
434
+        $maxiter2 = $maxiter;
435
+        while (
436
+            $maxiter2--
437
+            and $rows = sql_allfetsel(
438
+                'id_rubrique as id',
439
+                'spip_rubriques',
440
+                'profondeur=' . intval($prof + 1) . ' AND id_parent NOT IN (' . sql_get_select(
441
+                    'zzz.id_rubrique',
442
+                    'spip_rubriques AS zzz',
443
+                    'zzz.profondeur=' . intval($prof)
444
+                ) . ')',
445
+                '',
446
+                '',
447
+                '0,100'
448
+            )
449
+        ) {
450
+            $rows = array_column($rows, 'id');
451
+            sql_updateq('spip_rubriques', ['profondeur' => $prof + 2], sql_in('id_rubrique', $rows));
452
+        }
453
+
454
+        // ici on a fini de valider $prof+1, toutes les rubriques de prondeur 0 a $prof+1 sont OK
455
+        // si pas de rubrique a profondeur $prof+1 pas la peine de continuer
456
+        // si il reste des rubriques non vues, c'est une branche morte ou reference circulaire (base foireuse)
457
+        // on arrete les frais
458
+        if (sql_countsel('spip_rubriques', 'profondeur=' . intval($prof + 1))) {
459
+            $prof++;
460
+            $continuer = true;
461
+        }
462
+    } while ($continuer and $maxiter--);
463
+
464
+    // loger si la table des rubriques semble foireuse
465
+    // et mettre un id_secteur=0 sur ces rubriques pour eviter toute selection par les boucles
466
+    if (sql_countsel('spip_rubriques', 'profondeur>' . intval($prof + 1))) {
467
+        spip_log(
468
+            'Les rubriques de profondeur>' . ($prof + 1) . ' semblent suspectes (branches morte ou reference circulaire dans les parents)',
469
+            _LOG_CRITIQUE
470
+        );
471
+        sql_update('spip_rubriques', ['id_secteur' => 0], 'profondeur>' . intval($prof + 1));
472
+    }
473
+
474
+    // reparer les articles
475
+    $r = sql_select(
476
+        'A.id_article AS id, R.id_secteur AS secteur',
477
+        'spip_articles AS A, spip_rubriques AS R',
478
+        'A.id_rubrique = R.id_rubrique AND A.id_secteur <> R.id_secteur'
479
+    );
480
+
481
+    while ($row = sql_fetch($r)) {
482
+        sql_update('spip_articles', ['id_secteur' => $row['secteur']], 'id_article=' . intval($row['id']));
483
+    }
484
+
485
+    // avertir les plugins qui peuvent faire leur mises a jour egalement
486
+    pipeline('trig_propager_les_secteurs', '');
487 487
 }
488 488
 
489 489
 
@@ -498,23 +498,23 @@  discard block
 block discarded – undo
498 498
  *     true si un changement a eu lieu
499 499
  **/
500 500
 function calculer_langues_rubriques_etape() {
501
-	$s = sql_select(
502
-		'A.id_rubrique AS id_rubrique, R.lang AS lang',
503
-		'spip_rubriques AS A, spip_rubriques AS R',
504
-		"A.id_parent = R.id_rubrique AND A.langue_choisie != 'oui' AND R.lang<>'' AND R.lang<>A.lang"
505
-	);
506
-
507
-	$t = false;
508
-	while ($row = sql_fetch($s)) {
509
-		$id_rubrique = $row['id_rubrique'];
510
-		$t = sql_updateq(
511
-			'spip_rubriques',
512
-			['lang' => $row['lang'], 'langue_choisie' => 'non'],
513
-			'id_rubrique=' . intval($id_rubrique)
514
-		);
515
-	}
516
-
517
-	return $t;
501
+    $s = sql_select(
502
+        'A.id_rubrique AS id_rubrique, R.lang AS lang',
503
+        'spip_rubriques AS A, spip_rubriques AS R',
504
+        "A.id_parent = R.id_rubrique AND A.langue_choisie != 'oui' AND R.lang<>'' AND R.lang<>A.lang"
505
+    );
506
+
507
+    $t = false;
508
+    while ($row = sql_fetch($s)) {
509
+        $id_rubrique = $row['id_rubrique'];
510
+        $t = sql_updateq(
511
+            'spip_rubriques',
512
+            ['lang' => $row['lang'], 'langue_choisie' => 'non'],
513
+            'id_rubrique=' . intval($id_rubrique)
514
+        );
515
+    }
516
+
517
+    return $t;
518 518
 }
519 519
 
520 520
 /**
@@ -534,38 +534,38 @@  discard block
 block discarded – undo
534 534
  **/
535 535
 function calculer_langues_rubriques() {
536 536
 
537
-	// rubriques (recursivite)
538
-	sql_updateq(
539
-		'spip_rubriques',
540
-		['lang' => $GLOBALS['meta']['langue_site'], 'langue_choisie' => 'non'],
541
-		"id_parent=0 AND langue_choisie != 'oui'"
542
-	);
543
-	while (calculer_langues_rubriques_etape()) {
544
-		;
545
-	}
546
-
547
-	// articles
548
-	$s = sql_select(
549
-		'A.id_article AS id_article, R.lang AS lang',
550
-		'spip_articles AS A, spip_rubriques AS R',
551
-		"A.id_rubrique = R.id_rubrique AND A.langue_choisie != 'oui' AND (length(A.lang)=0 OR length(R.lang)>0) AND R.lang<>A.lang"
552
-	);
553
-	while ($row = sql_fetch($s)) {
554
-		$id_article = $row['id_article'];
555
-		sql_updateq(
556
-			'spip_articles',
557
-			['lang' => $row['lang'], 'langue_choisie' => 'non'],
558
-			'id_article=' . intval($id_article)
559
-		);
560
-	}
561
-
562
-	if ($GLOBALS['meta']['multi_rubriques'] == 'oui') {
563
-		$langues = calculer_langues_utilisees();
564
-		ecrire_meta('langues_utilisees', $langues);
565
-	}
566
-
567
-	// avertir les plugins qui peuvent faire leur mises a jour egalement
568
-	pipeline('trig_calculer_langues_rubriques', '');
537
+    // rubriques (recursivite)
538
+    sql_updateq(
539
+        'spip_rubriques',
540
+        ['lang' => $GLOBALS['meta']['langue_site'], 'langue_choisie' => 'non'],
541
+        "id_parent=0 AND langue_choisie != 'oui'"
542
+    );
543
+    while (calculer_langues_rubriques_etape()) {
544
+        ;
545
+    }
546
+
547
+    // articles
548
+    $s = sql_select(
549
+        'A.id_article AS id_article, R.lang AS lang',
550
+        'spip_articles AS A, spip_rubriques AS R',
551
+        "A.id_rubrique = R.id_rubrique AND A.langue_choisie != 'oui' AND (length(A.lang)=0 OR length(R.lang)>0) AND R.lang<>A.lang"
552
+    );
553
+    while ($row = sql_fetch($s)) {
554
+        $id_article = $row['id_article'];
555
+        sql_updateq(
556
+            'spip_articles',
557
+            ['lang' => $row['lang'], 'langue_choisie' => 'non'],
558
+            'id_article=' . intval($id_article)
559
+        );
560
+    }
561
+
562
+    if ($GLOBALS['meta']['multi_rubriques'] == 'oui') {
563
+        $langues = calculer_langues_utilisees();
564
+        ecrire_meta('langues_utilisees', $langues);
565
+    }
566
+
567
+    // avertir les plugins qui peuvent faire leur mises a jour egalement
568
+    pipeline('trig_calculer_langues_rubriques', '');
569 569
 }
570 570
 
571 571
 
@@ -582,80 +582,80 @@  discard block
 block discarded – undo
582 582
  *    Liste des langues utilisées séparées par des virgules
583 583
  **/
584 584
 function calculer_langues_utilisees($serveur = '') {
585
-	include_spip('public/interfaces');
586
-	include_spip('public/compiler');
587
-	include_spip('public/composer');
588
-	include_spip('public/phraser_html');
589
-	$langues = [];
590
-
591
-	$langues[$GLOBALS['meta']['langue_site']] = 1;
592
-
593
-	include_spip('base/objets');
594
-	$tables = lister_tables_objets_sql();
595
-	$trouver_table = charger_fonction('trouver_table', 'base');
596
-
597
-	foreach (array_keys($tables) as $t) {
598
-		$desc = $trouver_table($t, $serveur);
599
-		// c'est une table avec des langues
600
-		if (
601
-			$desc['exist']
602
-			and isset($desc['field']['lang'])
603
-			and isset($desc['field']['langue_choisie'])
604
-		) {
605
-			$boucle = new Boucle();
606
-			$boucle->show = $desc;
607
-			$boucle->nom = 'calculer_langues_utilisees';
608
-			$boucle->id_boucle = $desc['table_objet'];
609
-			$boucle->id_table = $desc['table_objet'];
610
-			$boucle->primary = $desc['key']['PRIMARY KEY'] ?? '';
611
-			$boucle->sql_serveur = $serveur;
612
-			$boucle->select[] = 'DISTINCT lang';
613
-			$boucle->from[$desc['table_objet']] = $t;
614
-			$boucle->separateur[] = ',';
615
-			$boucle->return = '$Pile[$SP][\'lang\']';
616
-			$boucle->iterateur = 'sql';
617
-
618
-			$boucle->descr['nom'] = 'calculer_langues_utilisees'; // eviter notice php
619
-			$boucle->descr['sourcefile'] = 'internal';
620
-			$boucle->descr['gram'] = 'html';
621
-
622
-			$boucle = pipeline('pre_boucle', $boucle);
623
-
624
-			if (
625
-				isset($desc['statut'])
626
-				and $desc['statut']
627
-			) {
628
-				$boucles = [
629
-					'calculer_langues_utilisees' => $boucle,
630
-				];
631
-				// generer un nom de fonction "anonyme" unique
632
-				do {
633
-					$functionname = 'f_calculer_langues_utilisees_' . $boucle->id_table . '_' . time() . '_' . random_int(0, mt_getrandmax());
634
-				} while (function_exists($functionname));
635
-				$code = calculer_boucle('calculer_langues_utilisees', $boucles);
636
-				$code = '$SP=0; $command=array();$command["connect"] = $connect = "' . $serveur . '"; $Pile=array(0=>array());' . "\n" . $code;
637
-				$code = 'function ' . $functionname . '(){' . $code . '};$res = ' . $functionname . '();';
638
-				$res = '';
639
-				eval($code);
640
-				$res = explode(',', $res);
641
-				foreach ($res as $lang) {
642
-					$langues[$lang] = 1;
643
-				}
644
-			} else {
645
-				$res = sql_select(implode(',', $boucle->select), $boucle->from);
646
-				while ($row = sql_fetch($res)) {
647
-					$langues[$row['lang']] = 1;
648
-				}
649
-			}
650
-		}
651
-	}
652
-
653
-	$langues = array_filter(array_keys($langues));
654
-	sort($langues);
655
-	$langues = join(',', $langues);
656
-	spip_log("langues utilisees: $langues");
657
-
658
-	return $langues;
585
+    include_spip('public/interfaces');
586
+    include_spip('public/compiler');
587
+    include_spip('public/composer');
588
+    include_spip('public/phraser_html');
589
+    $langues = [];
590
+
591
+    $langues[$GLOBALS['meta']['langue_site']] = 1;
592
+
593
+    include_spip('base/objets');
594
+    $tables = lister_tables_objets_sql();
595
+    $trouver_table = charger_fonction('trouver_table', 'base');
596
+
597
+    foreach (array_keys($tables) as $t) {
598
+        $desc = $trouver_table($t, $serveur);
599
+        // c'est une table avec des langues
600
+        if (
601
+            $desc['exist']
602
+            and isset($desc['field']['lang'])
603
+            and isset($desc['field']['langue_choisie'])
604
+        ) {
605
+            $boucle = new Boucle();
606
+            $boucle->show = $desc;
607
+            $boucle->nom = 'calculer_langues_utilisees';
608
+            $boucle->id_boucle = $desc['table_objet'];
609
+            $boucle->id_table = $desc['table_objet'];
610
+            $boucle->primary = $desc['key']['PRIMARY KEY'] ?? '';
611
+            $boucle->sql_serveur = $serveur;
612
+            $boucle->select[] = 'DISTINCT lang';
613
+            $boucle->from[$desc['table_objet']] = $t;
614
+            $boucle->separateur[] = ',';
615
+            $boucle->return = '$Pile[$SP][\'lang\']';
616
+            $boucle->iterateur = 'sql';
617
+
618
+            $boucle->descr['nom'] = 'calculer_langues_utilisees'; // eviter notice php
619
+            $boucle->descr['sourcefile'] = 'internal';
620
+            $boucle->descr['gram'] = 'html';
621
+
622
+            $boucle = pipeline('pre_boucle', $boucle);
623
+
624
+            if (
625
+                isset($desc['statut'])
626
+                and $desc['statut']
627
+            ) {
628
+                $boucles = [
629
+                    'calculer_langues_utilisees' => $boucle,
630
+                ];
631
+                // generer un nom de fonction "anonyme" unique
632
+                do {
633
+                    $functionname = 'f_calculer_langues_utilisees_' . $boucle->id_table . '_' . time() . '_' . random_int(0, mt_getrandmax());
634
+                } while (function_exists($functionname));
635
+                $code = calculer_boucle('calculer_langues_utilisees', $boucles);
636
+                $code = '$SP=0; $command=array();$command["connect"] = $connect = "' . $serveur . '"; $Pile=array(0=>array());' . "\n" . $code;
637
+                $code = 'function ' . $functionname . '(){' . $code . '};$res = ' . $functionname . '();';
638
+                $res = '';
639
+                eval($code);
640
+                $res = explode(',', $res);
641
+                foreach ($res as $lang) {
642
+                    $langues[$lang] = 1;
643
+                }
644
+            } else {
645
+                $res = sql_select(implode(',', $boucle->select), $boucle->from);
646
+                while ($row = sql_fetch($res)) {
647
+                    $langues[$row['lang']] = 1;
648
+                }
649
+            }
650
+        }
651
+    }
652
+
653
+    $langues = array_filter(array_keys($langues));
654
+    sort($langues);
655
+    $langues = join(',', $langues);
656
+    spip_log("langues utilisees: $langues");
657
+
658
+    return $langues;
659 659
 }
660 660
 
661 661
 /**
@@ -672,9 +672,9 @@  discard block
 block discarded – undo
672 672
  *     incluant les rubriques noeuds et toutes leurs descendances
673 673
  */
674 674
 function calcul_branche_in($id) {
675
-	$calcul_branche_in = charger_fonction('calcul_branche_in', 'inc');
675
+    $calcul_branche_in = charger_fonction('calcul_branche_in', 'inc');
676 676
 
677
-	return $calcul_branche_in($id);
677
+    return $calcul_branche_in($id);
678 678
 }
679 679
 
680 680
 /**
@@ -692,9 +692,9 @@  discard block
 block discarded – undo
692 692
  *     incluant les rubriques transmises et toutes leurs parentées
693 693
  */
694 694
 function calcul_hierarchie_in($id, $tout = true) {
695
-	$calcul_hierarchie_in = charger_fonction('calcul_hierarchie_in', 'inc');
695
+    $calcul_hierarchie_in = charger_fonction('calcul_hierarchie_in', 'inc');
696 696
 
697
-	return $calcul_hierarchie_in($id, $tout);
697
+    return $calcul_hierarchie_in($id, $tout);
698 698
 }
699 699
 
700 700
 
@@ -715,40 +715,40 @@  discard block
 block discarded – undo
715 715
  *     incluant les rubriques noeuds et toutes leurs descendances
716 716
  */
717 717
 function inc_calcul_branche_in_dist($id) {
718
-	static $b = [];
719
-
720
-	// normaliser $id qui a pu arriver comme un array, comme un entier, ou comme une chaine NN,NN,NN
721
-	if (!is_array($id)) {
722
-		$id = explode(',', $id);
723
-	}
724
-	$id = join(',', array_map('intval', $id));
725
-	if (isset($b[$id])) {
726
-		return $b[$id];
727
-	}
728
-
729
-	// Notre branche commence par la rubrique de depart
730
-	$branche = $r = $id;
731
-
732
-	// On ajoute une generation (les filles de la generation precedente)
733
-	// jusqu'a epuisement, en se protegeant des references circulaires
734
-	$maxiter = 10000;
735
-	while (
736
-		$maxiter-- and $filles = sql_allfetsel(
737
-			'id_rubrique',
738
-			'spip_rubriques',
739
-			sql_in('id_parent', $r) . ' AND ' . sql_in('id_rubrique', $r, 'NOT')
740
-		)
741
-	) {
742
-		$r = join(',', array_column($filles, 'id_rubrique'));
743
-		$branche .= ',' . $r;
744
-	}
745
-
746
-	# securite pour ne pas plomber la conso memoire sur les sites prolifiques
747
-	if (strlen($branche) < 10000) {
748
-		$b[$id] = $branche;
749
-	}
750
-
751
-	return $branche;
718
+    static $b = [];
719
+
720
+    // normaliser $id qui a pu arriver comme un array, comme un entier, ou comme une chaine NN,NN,NN
721
+    if (!is_array($id)) {
722
+        $id = explode(',', $id);
723
+    }
724
+    $id = join(',', array_map('intval', $id));
725
+    if (isset($b[$id])) {
726
+        return $b[$id];
727
+    }
728
+
729
+    // Notre branche commence par la rubrique de depart
730
+    $branche = $r = $id;
731
+
732
+    // On ajoute une generation (les filles de la generation precedente)
733
+    // jusqu'a epuisement, en se protegeant des references circulaires
734
+    $maxiter = 10000;
735
+    while (
736
+        $maxiter-- and $filles = sql_allfetsel(
737
+            'id_rubrique',
738
+            'spip_rubriques',
739
+            sql_in('id_parent', $r) . ' AND ' . sql_in('id_rubrique', $r, 'NOT')
740
+        )
741
+    ) {
742
+        $r = join(',', array_column($filles, 'id_rubrique'));
743
+        $branche .= ',' . $r;
744
+    }
745
+
746
+    # securite pour ne pas plomber la conso memoire sur les sites prolifiques
747
+    if (strlen($branche) < 10000) {
748
+        $b[$id] = $branche;
749
+    }
750
+
751
+    return $branche;
752 752
 }
753 753
 
754 754
 
@@ -770,45 +770,45 @@  discard block
 block discarded – undo
770 770
  *     incluant les rubriques transmises et toutes leurs parentées
771 771
  */
772 772
 function inc_calcul_hierarchie_in_dist($id, $tout = true) {
773
-	static $b = [];
774
-
775
-	// normaliser $id qui a pu arriver comme un array, comme un entier, ou comme une chaine NN,NN,NN
776
-	if (!is_array($id)) {
777
-		$id = explode(',', $id);
778
-	}
779
-	$id = join(',', array_map('intval', $id));
780
-
781
-	if (isset($b[$id])) {
782
-		// Notre branche commence par la rubrique de depart si $tout=true
783
-		return $tout ? (strlen($b[$id]) ? $b[$id] . ",$id" : $id) : $b[$id];
784
-	}
785
-
786
-	$hier = '';
787
-
788
-	// On ajoute une generation (les filles de la generation precedente)
789
-	// jusqu'a epuisement, en se protegeant des references circulaires
790
-	$ids_nouveaux_parents = $id;
791
-	$maxiter = 10000;
792
-	while (
793
-		$maxiter-- and $parents = sql_allfetsel(
794
-			'id_parent',
795
-			'spip_rubriques',
796
-			sql_in('id_rubrique', $ids_nouveaux_parents) . ' AND ' . sql_in('id_parent', $hier, 'NOT')
797
-		)
798
-	) {
799
-		$ids_nouveaux_parents = join(',', array_column($parents, 'id_parent'));
800
-		$hier = $ids_nouveaux_parents . (strlen($hier) ? ',' . $hier : '');
801
-	}
802
-
803
-	# securite pour ne pas plomber la conso memoire sur les sites prolifiques
804
-	if (strlen($hier) < 10000) {
805
-		$b[$id] = $hier;
806
-	}
807
-
808
-	// Notre branche commence par la rubrique de depart si $tout=true
809
-	$hier = $tout ? (strlen($hier) ? "$hier,$id" : $id) : $hier;
810
-
811
-	return $hier;
773
+    static $b = [];
774
+
775
+    // normaliser $id qui a pu arriver comme un array, comme un entier, ou comme une chaine NN,NN,NN
776
+    if (!is_array($id)) {
777
+        $id = explode(',', $id);
778
+    }
779
+    $id = join(',', array_map('intval', $id));
780
+
781
+    if (isset($b[$id])) {
782
+        // Notre branche commence par la rubrique de depart si $tout=true
783
+        return $tout ? (strlen($b[$id]) ? $b[$id] . ",$id" : $id) : $b[$id];
784
+    }
785
+
786
+    $hier = '';
787
+
788
+    // On ajoute une generation (les filles de la generation precedente)
789
+    // jusqu'a epuisement, en se protegeant des references circulaires
790
+    $ids_nouveaux_parents = $id;
791
+    $maxiter = 10000;
792
+    while (
793
+        $maxiter-- and $parents = sql_allfetsel(
794
+            'id_parent',
795
+            'spip_rubriques',
796
+            sql_in('id_rubrique', $ids_nouveaux_parents) . ' AND ' . sql_in('id_parent', $hier, 'NOT')
797
+        )
798
+    ) {
799
+        $ids_nouveaux_parents = join(',', array_column($parents, 'id_parent'));
800
+        $hier = $ids_nouveaux_parents . (strlen($hier) ? ',' . $hier : '');
801
+    }
802
+
803
+    # securite pour ne pas plomber la conso memoire sur les sites prolifiques
804
+    if (strlen($hier) < 10000) {
805
+        $b[$id] = $hier;
806
+    }
807
+
808
+    // Notre branche commence par la rubrique de depart si $tout=true
809
+    $hier = $tout ? (strlen($hier) ? "$hier,$id" : $id) : $hier;
810
+
811
+    return $hier;
812 812
 }
813 813
 
814 814
 
@@ -826,47 +826,47 @@  discard block
 block discarded – undo
826 826
  * @return void
827 827
  **/
828 828
 function calculer_prochain_postdate($check = false) {
829
-	include_spip('base/abstract_sql');
830
-	if ($check) {
831
-		$postdates = ($GLOBALS['meta']['post_dates'] == 'non') ?
832
-			'AND A.date <= ' . sql_quote(date('Y-m-d H:i:s')) : '';
833
-
834
-		$r = sql_select(
835
-			'DISTINCT A.id_rubrique AS id',
836
-			'spip_articles AS A LEFT JOIN spip_rubriques AS R ON A.id_rubrique=R.id_rubrique',
837
-			"R.statut != 'publie' AND A.statut='publie'$postdates"
838
-		);
839
-		while ($row = sql_fetch($r)) {
840
-			publier_branche_rubrique($row['id']);
841
-		}
842
-
843
-		pipeline('trig_calculer_prochain_postdate', '');
844
-	}
845
-
846
-	$t = sql_fetsel(
847
-		'date',
848
-		'spip_articles',
849
-		"statut='publie' AND date > " . sql_quote(date('Y-m-d H:i:s')),
850
-		'',
851
-		'date',
852
-		'1'
853
-	);
854
-
855
-	if ($t) {
856
-		$t = $t['date'];
857
-		if (
858
-			!isset($GLOBALS['meta']['date_prochain_postdate'])
859
-			or $t <> $GLOBALS['meta']['date_prochain_postdate']
860
-		) {
861
-			ecrire_meta('date_prochain_postdate', strtotime($t));
862
-			ecrire_meta('derniere_modif', time());
863
-		}
864
-	} else {
865
-		effacer_meta('date_prochain_postdate');
866
-		ecrire_meta('derniere_modif', time());
867
-	}
868
-
869
-	spip_log("prochain postdate: $t");
829
+    include_spip('base/abstract_sql');
830
+    if ($check) {
831
+        $postdates = ($GLOBALS['meta']['post_dates'] == 'non') ?
832
+            'AND A.date <= ' . sql_quote(date('Y-m-d H:i:s')) : '';
833
+
834
+        $r = sql_select(
835
+            'DISTINCT A.id_rubrique AS id',
836
+            'spip_articles AS A LEFT JOIN spip_rubriques AS R ON A.id_rubrique=R.id_rubrique',
837
+            "R.statut != 'publie' AND A.statut='publie'$postdates"
838
+        );
839
+        while ($row = sql_fetch($r)) {
840
+            publier_branche_rubrique($row['id']);
841
+        }
842
+
843
+        pipeline('trig_calculer_prochain_postdate', '');
844
+    }
845
+
846
+    $t = sql_fetsel(
847
+        'date',
848
+        'spip_articles',
849
+        "statut='publie' AND date > " . sql_quote(date('Y-m-d H:i:s')),
850
+        '',
851
+        'date',
852
+        '1'
853
+    );
854
+
855
+    if ($t) {
856
+        $t = $t['date'];
857
+        if (
858
+            !isset($GLOBALS['meta']['date_prochain_postdate'])
859
+            or $t <> $GLOBALS['meta']['date_prochain_postdate']
860
+        ) {
861
+            ecrire_meta('date_prochain_postdate', strtotime($t));
862
+            ecrire_meta('derniere_modif', time());
863
+        }
864
+    } else {
865
+        effacer_meta('date_prochain_postdate');
866
+        ecrire_meta('derniere_modif', time());
867
+    }
868
+
869
+    spip_log("prochain postdate: $t");
870 870
 }
871 871
 
872 872
 /**
@@ -891,62 +891,62 @@  discard block
 block discarded – undo
891 891
  */
892 892
 function creer_rubrique_nommee($titre, $id_parent = 0, $serveur = '') {
893 893
 
894
-	// eclater l'arborescence demandee
895
-	// echapper les </multi> et autres balises fermantes html
896
-	$titre = preg_replace(',</([a-z][^>]*)>,ims', "<@\\1>", $titre);
897
-	$arbo = explode('/', preg_replace(',^/,', '', $titre));
898
-	include_spip('base/abstract_sql');
899
-	foreach ($arbo as $titre) {
900
-		// retablir les </multi> et autres balises fermantes html
901
-		$titre = preg_replace(',<@([a-z][^>]*)>,ims', "</\\1>", $titre);
902
-		$r = sql_getfetsel(
903
-			'id_rubrique',
904
-			'spip_rubriques',
905
-			'titre = ' . sql_quote($titre) . ' AND id_parent=' . intval($id_parent),
906
-			$groupby = [],
907
-			$orderby = [],
908
-			$limit = '',
909
-			$having = [],
910
-			$serveur
911
-		);
912
-		if ($r !== null) {
913
-			$id_parent = $r;
914
-		} else {
915
-			$id_rubrique = sql_insertq('spip_rubriques', [
916
-					'titre' => $titre,
917
-					'id_parent' => $id_parent,
918
-					'statut' => 'prepa'
919
-				], $desc = [], $serveur);
920
-			if ($id_parent > 0) {
921
-				$data = sql_fetsel(
922
-					'id_secteur,lang',
923
-					'spip_rubriques',
924
-					"id_rubrique=$id_parent",
925
-					$groupby = [],
926
-					$orderby = [],
927
-					$limit = '',
928
-					$having = [],
929
-					$serveur
930
-				);
931
-				$id_secteur = $data['id_secteur'];
932
-				$lang = $data['lang'];
933
-			} else {
934
-				$id_secteur = $id_rubrique;
935
-				$lang = $GLOBALS['meta']['langue_site'];
936
-			}
937
-
938
-			sql_updateq(
939
-				'spip_rubriques',
940
-				['id_secteur' => $id_secteur, 'lang' => $lang],
941
-				'id_rubrique=' . intval($id_rubrique),
942
-				[],
943
-				$serveur
944
-			);
945
-
946
-			// pour la recursion
947
-			$id_parent = $id_rubrique;
948
-		}
949
-	}
950
-
951
-	return intval($id_parent);
894
+    // eclater l'arborescence demandee
895
+    // echapper les </multi> et autres balises fermantes html
896
+    $titre = preg_replace(',</([a-z][^>]*)>,ims', "<@\\1>", $titre);
897
+    $arbo = explode('/', preg_replace(',^/,', '', $titre));
898
+    include_spip('base/abstract_sql');
899
+    foreach ($arbo as $titre) {
900
+        // retablir les </multi> et autres balises fermantes html
901
+        $titre = preg_replace(',<@([a-z][^>]*)>,ims', "</\\1>", $titre);
902
+        $r = sql_getfetsel(
903
+            'id_rubrique',
904
+            'spip_rubriques',
905
+            'titre = ' . sql_quote($titre) . ' AND id_parent=' . intval($id_parent),
906
+            $groupby = [],
907
+            $orderby = [],
908
+            $limit = '',
909
+            $having = [],
910
+            $serveur
911
+        );
912
+        if ($r !== null) {
913
+            $id_parent = $r;
914
+        } else {
915
+            $id_rubrique = sql_insertq('spip_rubriques', [
916
+                    'titre' => $titre,
917
+                    'id_parent' => $id_parent,
918
+                    'statut' => 'prepa'
919
+                ], $desc = [], $serveur);
920
+            if ($id_parent > 0) {
921
+                $data = sql_fetsel(
922
+                    'id_secteur,lang',
923
+                    'spip_rubriques',
924
+                    "id_rubrique=$id_parent",
925
+                    $groupby = [],
926
+                    $orderby = [],
927
+                    $limit = '',
928
+                    $having = [],
929
+                    $serveur
930
+                );
931
+                $id_secteur = $data['id_secteur'];
932
+                $lang = $data['lang'];
933
+            } else {
934
+                $id_secteur = $id_rubrique;
935
+                $lang = $GLOBALS['meta']['langue_site'];
936
+            }
937
+
938
+            sql_updateq(
939
+                'spip_rubriques',
940
+                ['id_secteur' => $id_secteur, 'lang' => $lang],
941
+                'id_rubrique=' . intval($id_rubrique),
942
+                [],
943
+                $serveur
944
+            );
945
+
946
+            // pour la recursion
947
+            $id_parent = $id_rubrique;
948
+        }
949
+    }
950
+
951
+    return intval($id_parent);
952 952
 }
Please login to merge, or discard this patch.
Spacing   +35 added lines, -35 removed lines patch added patch discarded remove patch
@@ -135,9 +135,9 @@  discard block
 block discarded – undo
135 135
 		sql_updateq(
136 136
 			'spip_rubriques',
137 137
 			['statut' => 'publie', 'date' => date('Y-m-d H:i:s')],
138
-			'id_rubrique=' . intval($id_rubrique)
138
+			'id_rubrique='.intval($id_rubrique)
139 139
 		);
140
-		$id_parent = sql_getfetsel('id_parent', 'spip_rubriques AS R', 'R.id_rubrique=' . intval($id_rubrique));
140
+		$id_parent = sql_getfetsel('id_parent', 'spip_rubriques AS R', 'R.id_rubrique='.intval($id_rubrique));
141 141
 		if (!$id_parent) {
142 142
 			break;
143 143
 		}
@@ -172,7 +172,7 @@  discard block
 block discarded – undo
172 172
 			return $id_pred != $id_rubrique;
173 173
 		}
174 174
 		// passer au parent si on a depublie
175
-		$r = sql_fetsel('id_parent', 'spip_rubriques', 'id_rubrique=' . intval($id_pred));
175
+		$r = sql_fetsel('id_parent', 'spip_rubriques', 'id_rubrique='.intval($id_pred));
176 176
 		$id_pred = $r['id_parent'];
177 177
 	}
178 178
 
@@ -197,14 +197,14 @@  discard block
 block discarded – undo
197 197
 		$date = date('Y-m-d H:i:s');
198 198
 	}
199 199
 	$postdates = ($GLOBALS['meta']['post_dates'] == 'non') ?
200
-		' AND date <= ' . sql_quote($date) : '';
200
+		' AND date <= '.sql_quote($date) : '';
201 201
 
202 202
 	if (!$id_rubrique = intval($id_rubrique)) {
203 203
 		return false;
204 204
 	}
205 205
 
206 206
 	// verifier qu'elle existe et est bien publiee
207
-	$r = sql_fetsel('id_rubrique,statut', 'spip_rubriques', 'id_rubrique=' . intval($id_rubrique));
207
+	$r = sql_fetsel('id_rubrique,statut', 'spip_rubriques', 'id_rubrique='.intval($id_rubrique));
208 208
 	if (!$r or $r['statut'] !== 'publie') {
209 209
 		return false;
210 210
 	}
@@ -214,12 +214,12 @@  discard block
 block discarded – undo
214 214
 	$compte = [
215 215
 		'articles' => sql_countsel(
216 216
 			'spip_articles',
217
-			'id_rubrique=' . intval($id_rubrique) . " AND statut='publie'$postdates"
217
+			'id_rubrique='.intval($id_rubrique)." AND statut='publie'$postdates"
218 218
 		),
219
-		'rubriques' => sql_countsel('spip_rubriques', 'id_parent=' . intval($id_rubrique) . " AND statut='publie'"),
219
+		'rubriques' => sql_countsel('spip_rubriques', 'id_parent='.intval($id_rubrique)." AND statut='publie'"),
220 220
 		'documents' => sql_countsel(
221 221
 			'spip_documents AS D JOIN spip_documents_liens AS L ON D.id_document=L.id_document',
222
-			'L.id_objet=' . intval($id_rubrique) . " AND L.objet='rubrique' and D.mode NOT IN('logoon', 'logooff') "
222
+			'L.id_objet='.intval($id_rubrique)." AND L.objet='rubrique' and D.mode NOT IN('logoon', 'logooff') "
223 223
 		)
224 224
 	];
225 225
 
@@ -244,7 +244,7 @@  discard block
 block discarded – undo
244 244
 		}
245 245
 	}
246 246
 
247
-	sql_updateq('spip_rubriques', ['statut' => 'prepa'], 'id_rubrique=' . intval($id_rubrique));
247
+	sql_updateq('spip_rubriques', ['statut' => 'prepa'], 'id_rubrique='.intval($id_rubrique));
248 248
 
249 249
 #		spip_log("depublier_rubrique $id_pred");
250 250
 	return true;
@@ -307,7 +307,7 @@  discard block
 block discarded – undo
307 307
 
308 308
 	// Afficher les articles post-dates ?
309 309
 	$postdates = ($GLOBALS['meta']['post_dates'] == 'non') ?
310
-		'AND A.date <= ' . sql_quote(date('Y-m-d H:i:s')) : '';
310
+		'AND A.date <= '.sql_quote(date('Y-m-d H:i:s')) : '';
311 311
 
312 312
 	$r = sql_select(
313 313
 		'R.id_rubrique AS id, max(A.date) AS date_h',
@@ -319,7 +319,7 @@  discard block
 block discarded – undo
319 319
 		sql_updateq(
320 320
 			'spip_rubriques',
321 321
 			['statut_tmp' => 'publie', 'date_tmp' => $row['date_h']],
322
-			'id_rubrique=' . intval($row['id'])
322
+			'id_rubrique='.intval($row['id'])
323 323
 		);
324 324
 	}
325 325
 
@@ -345,7 +345,7 @@  discard block
 block discarded – undo
345 345
 			sql_updateq(
346 346
 				'spip_rubriques',
347 347
 				['statut_tmp' => 'publie', 'date_tmp' => $row['date_h']],
348
-				'id_rubrique=' . intval($row['id'])
348
+				'id_rubrique='.intval($row['id'])
349 349
 			);
350 350
 			$continuer = true;
351 351
 		}
@@ -398,7 +398,7 @@  discard block
 block discarded – undo
398 398
 			and $rows = sql_allfetsel(
399 399
 				'A.id_rubrique AS id, R.id_secteur AS id_secteur, R.profondeur+1 as profondeur',
400 400
 				'spip_rubriques AS A JOIN spip_rubriques AS R ON A.id_parent = R.id_rubrique',
401
-				'R.profondeur=' . intval($prof) . ' AND (A.id_secteur <> R.id_secteur OR A.profondeur > R.profondeur+1)',
401
+				'R.profondeur='.intval($prof).' AND (A.id_secteur <> R.id_secteur OR A.profondeur > R.profondeur+1)',
402 402
 				'',
403 403
 				'R.id_secteur',
404 404
 				'0,100'
@@ -437,11 +437,11 @@  discard block
 block discarded – undo
437 437
 			and $rows = sql_allfetsel(
438 438
 				'id_rubrique as id',
439 439
 				'spip_rubriques',
440
-				'profondeur=' . intval($prof + 1) . ' AND id_parent NOT IN (' . sql_get_select(
440
+				'profondeur='.intval($prof + 1).' AND id_parent NOT IN ('.sql_get_select(
441 441
 					'zzz.id_rubrique',
442 442
 					'spip_rubriques AS zzz',
443
-					'zzz.profondeur=' . intval($prof)
444
-				) . ')',
443
+					'zzz.profondeur='.intval($prof)
444
+				).')',
445 445
 				'',
446 446
 				'',
447 447
 				'0,100'
@@ -455,7 +455,7 @@  discard block
 block discarded – undo
455 455
 		// si pas de rubrique a profondeur $prof+1 pas la peine de continuer
456 456
 		// si il reste des rubriques non vues, c'est une branche morte ou reference circulaire (base foireuse)
457 457
 		// on arrete les frais
458
-		if (sql_countsel('spip_rubriques', 'profondeur=' . intval($prof + 1))) {
458
+		if (sql_countsel('spip_rubriques', 'profondeur='.intval($prof + 1))) {
459 459
 			$prof++;
460 460
 			$continuer = true;
461 461
 		}
@@ -463,12 +463,12 @@  discard block
 block discarded – undo
463 463
 
464 464
 	// loger si la table des rubriques semble foireuse
465 465
 	// et mettre un id_secteur=0 sur ces rubriques pour eviter toute selection par les boucles
466
-	if (sql_countsel('spip_rubriques', 'profondeur>' . intval($prof + 1))) {
466
+	if (sql_countsel('spip_rubriques', 'profondeur>'.intval($prof + 1))) {
467 467
 		spip_log(
468
-			'Les rubriques de profondeur>' . ($prof + 1) . ' semblent suspectes (branches morte ou reference circulaire dans les parents)',
468
+			'Les rubriques de profondeur>'.($prof + 1).' semblent suspectes (branches morte ou reference circulaire dans les parents)',
469 469
 			_LOG_CRITIQUE
470 470
 		);
471
-		sql_update('spip_rubriques', ['id_secteur' => 0], 'profondeur>' . intval($prof + 1));
471
+		sql_update('spip_rubriques', ['id_secteur' => 0], 'profondeur>'.intval($prof + 1));
472 472
 	}
473 473
 
474 474
 	// reparer les articles
@@ -479,7 +479,7 @@  discard block
 block discarded – undo
479 479
 	);
480 480
 
481 481
 	while ($row = sql_fetch($r)) {
482
-		sql_update('spip_articles', ['id_secteur' => $row['secteur']], 'id_article=' . intval($row['id']));
482
+		sql_update('spip_articles', ['id_secteur' => $row['secteur']], 'id_article='.intval($row['id']));
483 483
 	}
484 484
 
485 485
 	// avertir les plugins qui peuvent faire leur mises a jour egalement
@@ -510,7 +510,7 @@  discard block
 block discarded – undo
510 510
 		$t = sql_updateq(
511 511
 			'spip_rubriques',
512 512
 			['lang' => $row['lang'], 'langue_choisie' => 'non'],
513
-			'id_rubrique=' . intval($id_rubrique)
513
+			'id_rubrique='.intval($id_rubrique)
514 514
 		);
515 515
 	}
516 516
 
@@ -555,7 +555,7 @@  discard block
 block discarded – undo
555 555
 		sql_updateq(
556 556
 			'spip_articles',
557 557
 			['lang' => $row['lang'], 'langue_choisie' => 'non'],
558
-			'id_article=' . intval($id_article)
558
+			'id_article='.intval($id_article)
559 559
 		);
560 560
 	}
561 561
 
@@ -630,11 +630,11 @@  discard block
 block discarded – undo
630 630
 				];
631 631
 				// generer un nom de fonction "anonyme" unique
632 632
 				do {
633
-					$functionname = 'f_calculer_langues_utilisees_' . $boucle->id_table . '_' . time() . '_' . random_int(0, mt_getrandmax());
633
+					$functionname = 'f_calculer_langues_utilisees_'.$boucle->id_table.'_'.time().'_'.random_int(0, mt_getrandmax());
634 634
 				} while (function_exists($functionname));
635 635
 				$code = calculer_boucle('calculer_langues_utilisees', $boucles);
636
-				$code = '$SP=0; $command=array();$command["connect"] = $connect = "' . $serveur . '"; $Pile=array(0=>array());' . "\n" . $code;
637
-				$code = 'function ' . $functionname . '(){' . $code . '};$res = ' . $functionname . '();';
636
+				$code = '$SP=0; $command=array();$command["connect"] = $connect = "'.$serveur.'"; $Pile=array(0=>array());'."\n".$code;
637
+				$code = 'function '.$functionname.'(){'.$code.'};$res = '.$functionname.'();';
638 638
 				$res = '';
639 639
 				eval($code);
640 640
 				$res = explode(',', $res);
@@ -736,11 +736,11 @@  discard block
 block discarded – undo
736 736
 		$maxiter-- and $filles = sql_allfetsel(
737 737
 			'id_rubrique',
738 738
 			'spip_rubriques',
739
-			sql_in('id_parent', $r) . ' AND ' . sql_in('id_rubrique', $r, 'NOT')
739
+			sql_in('id_parent', $r).' AND '.sql_in('id_rubrique', $r, 'NOT')
740 740
 		)
741 741
 	) {
742 742
 		$r = join(',', array_column($filles, 'id_rubrique'));
743
-		$branche .= ',' . $r;
743
+		$branche .= ','.$r;
744 744
 	}
745 745
 
746 746
 	# securite pour ne pas plomber la conso memoire sur les sites prolifiques
@@ -780,7 +780,7 @@  discard block
 block discarded – undo
780 780
 
781 781
 	if (isset($b[$id])) {
782 782
 		// Notre branche commence par la rubrique de depart si $tout=true
783
-		return $tout ? (strlen($b[$id]) ? $b[$id] . ",$id" : $id) : $b[$id];
783
+		return $tout ? (strlen($b[$id]) ? $b[$id].",$id" : $id) : $b[$id];
784 784
 	}
785 785
 
786 786
 	$hier = '';
@@ -793,11 +793,11 @@  discard block
 block discarded – undo
793 793
 		$maxiter-- and $parents = sql_allfetsel(
794 794
 			'id_parent',
795 795
 			'spip_rubriques',
796
-			sql_in('id_rubrique', $ids_nouveaux_parents) . ' AND ' . sql_in('id_parent', $hier, 'NOT')
796
+			sql_in('id_rubrique', $ids_nouveaux_parents).' AND '.sql_in('id_parent', $hier, 'NOT')
797 797
 		)
798 798
 	) {
799 799
 		$ids_nouveaux_parents = join(',', array_column($parents, 'id_parent'));
800
-		$hier = $ids_nouveaux_parents . (strlen($hier) ? ',' . $hier : '');
800
+		$hier = $ids_nouveaux_parents.(strlen($hier) ? ','.$hier : '');
801 801
 	}
802 802
 
803 803
 	# securite pour ne pas plomber la conso memoire sur les sites prolifiques
@@ -829,7 +829,7 @@  discard block
 block discarded – undo
829 829
 	include_spip('base/abstract_sql');
830 830
 	if ($check) {
831 831
 		$postdates = ($GLOBALS['meta']['post_dates'] == 'non') ?
832
-			'AND A.date <= ' . sql_quote(date('Y-m-d H:i:s')) : '';
832
+			'AND A.date <= '.sql_quote(date('Y-m-d H:i:s')) : '';
833 833
 
834 834
 		$r = sql_select(
835 835
 			'DISTINCT A.id_rubrique AS id',
@@ -846,7 +846,7 @@  discard block
 block discarded – undo
846 846
 	$t = sql_fetsel(
847 847
 		'date',
848 848
 		'spip_articles',
849
-		"statut='publie' AND date > " . sql_quote(date('Y-m-d H:i:s')),
849
+		"statut='publie' AND date > ".sql_quote(date('Y-m-d H:i:s')),
850 850
 		'',
851 851
 		'date',
852 852
 		'1'
@@ -902,7 +902,7 @@  discard block
 block discarded – undo
902 902
 		$r = sql_getfetsel(
903 903
 			'id_rubrique',
904 904
 			'spip_rubriques',
905
-			'titre = ' . sql_quote($titre) . ' AND id_parent=' . intval($id_parent),
905
+			'titre = '.sql_quote($titre).' AND id_parent='.intval($id_parent),
906 906
 			$groupby = [],
907 907
 			$orderby = [],
908 908
 			$limit = '',
@@ -938,7 +938,7 @@  discard block
 block discarded – undo
938 938
 			sql_updateq(
939 939
 				'spip_rubriques',
940 940
 				['id_secteur' => $id_secteur, 'lang' => $lang],
941
-				'id_rubrique=' . intval($id_rubrique),
941
+				'id_rubrique='.intval($id_rubrique),
942 942
 				[],
943 943
 				$serveur
944 944
 			);
Please login to merge, or discard this patch.
ecrire/exec/puce_statut.php 1 patch
Indentation   +24 added lines, -24 removed lines patch added patch discarded remove patch
@@ -17,7 +17,7 @@  discard block
 block discarded – undo
17 17
  **/
18 18
 
19 19
 if (!defined('_ECRIRE_INC_VERSION')) {
20
-	return;
20
+    return;
21 21
 }
22 22
 
23 23
 include_spip('inc/presentation');
@@ -31,7 +31,7 @@  discard block
 block discarded – undo
31 31
  * @uses exec_puce_statut_args()
32 32
  **/
33 33
 function exec_puce_statut_dist(): void {
34
-	exec_puce_statut_args(_request('id'), _request('type'));
34
+    exec_puce_statut_args(_request('id'), _request('type'));
35 35
 }
36 36
 
37 37
 /**
@@ -50,26 +50,26 @@  discard block
 block discarded – undo
50 50
  *     Type d'objet
51 51
  **/
52 52
 function exec_puce_statut_args($id, $type): void {
53
-	$id = intval($id);
54
-	if (
55
-		$table_objet_sql = table_objet_sql($type)
56
-		and $d = lister_tables_objets_sql($table_objet_sql)
57
-		and isset($d['statut_textes_instituer'])
58
-		and $d['statut_textes_instituer']
59
-	) {
60
-		$prim = id_table_objet($type);
61
-		if (isset($d['field']['id_rubrique'])) {
62
-			$select = 'id_rubrique,statut';
63
-		} else {
64
-			$select = '0 as id_rubrique,statut';
65
-		}
66
-		$r = sql_fetsel($select, $table_objet_sql, "$prim=$id");
67
-		$statut = $r['statut'];
68
-		$id_rubrique = $r['id_rubrique'];
69
-	} else {
70
-		$id_rubrique = $id;
71
-		$statut = 'prop'; // arbitraire
72
-	}
73
-	$puce_statut = charger_fonction('puce_statut', 'inc');
74
-	ajax_retour($puce_statut($id, $statut, $id_rubrique, $type, true));
53
+    $id = intval($id);
54
+    if (
55
+        $table_objet_sql = table_objet_sql($type)
56
+        and $d = lister_tables_objets_sql($table_objet_sql)
57
+        and isset($d['statut_textes_instituer'])
58
+        and $d['statut_textes_instituer']
59
+    ) {
60
+        $prim = id_table_objet($type);
61
+        if (isset($d['field']['id_rubrique'])) {
62
+            $select = 'id_rubrique,statut';
63
+        } else {
64
+            $select = '0 as id_rubrique,statut';
65
+        }
66
+        $r = sql_fetsel($select, $table_objet_sql, "$prim=$id");
67
+        $statut = $r['statut'];
68
+        $id_rubrique = $r['id_rubrique'];
69
+    } else {
70
+        $id_rubrique = $id;
71
+        $statut = 'prop'; // arbitraire
72
+    }
73
+    $puce_statut = charger_fonction('puce_statut', 'inc');
74
+    ajax_retour($puce_statut($id, $statut, $id_rubrique, $type, true));
75 75
 }
Please login to merge, or discard this patch.
ecrire/charsets/translit.php 1 patch
Indentation   +358 added lines, -358 removed lines patch added patch discarded remove patch
@@ -9,384 +9,384 @@
 block discarded – undo
9 9
 
10 10
 $GLOBALS['CHARSET']['translit'] = [
11 11
 // latin [fausse plage]
12
-	128 => 'EUR',
13
-	131 => 'f',
14
-	140 => 'OE',
15
-	147 => '\'\'',
16
-	148 => '\'\'',
17
-	153 => '(TM)',
18
-	156 => 'oe',
19
-	159 => 'Y',
12
+    128 => 'EUR',
13
+    131 => 'f',
14
+    140 => 'OE',
15
+    147 => '\'\'',
16
+    148 => '\'\'',
17
+    153 => '(TM)',
18
+    156 => 'oe',
19
+    159 => 'Y',
20 20
 
21 21
 // latin [legal]
22
-	160 => ' ',
23
-	161 => '!',
24
-	162 => 'c',
25
-	163 => 'L',
26
-	164 => 'O',
27
-	165 => 'yen',
28
-	166 => '|',
29
-	167 => 'p',
30
-	169 => '(c)',
31
-	171 => '<<',
32
-	172 => '-',
33
-	173 => '-',
34
-	174 => '(R)',
35
-	176 => 'o',
36
-	177 => '+-',
37
-	181 => 'mu',
38
-	182 => 'p',
39
-	183 => '.',
40
-	186 => 'o ',
41
-	187 => '>>',
42
-	191 => '?',
43
-	192 => 'A',
44
-	193 => 'A',
45
-	194 => 'A',
46
-	195 => 'A',
47
-	196 => 'A',
48
-	197 => 'A',
49
-	198 => 'AE',
50
-	199 => 'C',
51
-	200 => 'E',
52
-	201 => 'E',
53
-	202 => 'E',
54
-	203 => 'E',
55
-	204 => 'I',
56
-	205 => 'I',
57
-	206 => 'I',
58
-	207 => 'I',
59
-	209 => 'N',
60
-	210 => 'O',
61
-	211 => 'O',
62
-	212 => 'O',
63
-	213 => 'O',
64
-	214 => 'O',
65
-	216 => 'O',
66
-	217 => 'U',
67
-	218 => 'U',
68
-	219 => 'U',
69
-	220 => 'U',
70
-	223 => 'ss',
71
-	224 => 'a',
72
-	225 => 'a',
73
-	226 => 'a',
74
-	227 => 'a',
75
-	228 => 'a',
76
-	229 => 'a',
77
-	230 => 'ae',
78
-	231 => 'c',
79
-	232 => 'e',
80
-	233 => 'e',
81
-	234 => 'e',
82
-	235 => 'e',
83
-	236 => 'i',
84
-	237 => 'i',
85
-	238 => 'i',
86
-	239 => 'i',
87
-	241 => 'n',
88
-	242 => 'o',
89
-	243 => 'o',
90
-	244 => 'o',
91
-	245 => 'o',
92
-	246 => 'o',
93
-	248 => 'o',
94
-	249 => 'u',
95
-	250 => 'u',
96
-	251 => 'u',
97
-	252 => 'u',
98
-	255 => 'y',
22
+    160 => ' ',
23
+    161 => '!',
24
+    162 => 'c',
25
+    163 => 'L',
26
+    164 => 'O',
27
+    165 => 'yen',
28
+    166 => '|',
29
+    167 => 'p',
30
+    169 => '(c)',
31
+    171 => '<<',
32
+    172 => '-',
33
+    173 => '-',
34
+    174 => '(R)',
35
+    176 => 'o',
36
+    177 => '+-',
37
+    181 => 'mu',
38
+    182 => 'p',
39
+    183 => '.',
40
+    186 => 'o ',
41
+    187 => '>>',
42
+    191 => '?',
43
+    192 => 'A',
44
+    193 => 'A',
45
+    194 => 'A',
46
+    195 => 'A',
47
+    196 => 'A',
48
+    197 => 'A',
49
+    198 => 'AE',
50
+    199 => 'C',
51
+    200 => 'E',
52
+    201 => 'E',
53
+    202 => 'E',
54
+    203 => 'E',
55
+    204 => 'I',
56
+    205 => 'I',
57
+    206 => 'I',
58
+    207 => 'I',
59
+    209 => 'N',
60
+    210 => 'O',
61
+    211 => 'O',
62
+    212 => 'O',
63
+    213 => 'O',
64
+    214 => 'O',
65
+    216 => 'O',
66
+    217 => 'U',
67
+    218 => 'U',
68
+    219 => 'U',
69
+    220 => 'U',
70
+    223 => 'ss',
71
+    224 => 'a',
72
+    225 => 'a',
73
+    226 => 'a',
74
+    227 => 'a',
75
+    228 => 'a',
76
+    229 => 'a',
77
+    230 => 'ae',
78
+    231 => 'c',
79
+    232 => 'e',
80
+    233 => 'e',
81
+    234 => 'e',
82
+    235 => 'e',
83
+    236 => 'i',
84
+    237 => 'i',
85
+    238 => 'i',
86
+    239 => 'i',
87
+    241 => 'n',
88
+    242 => 'o',
89
+    243 => 'o',
90
+    244 => 'o',
91
+    245 => 'o',
92
+    246 => 'o',
93
+    248 => 'o',
94
+    249 => 'u',
95
+    250 => 'u',
96
+    251 => 'u',
97
+    252 => 'u',
98
+    255 => 'y',
99 99
 
100 100
 // turc
101
-	286 => 'G',
102
-	287 => 'g',
103
-	304 => 'I',
104
-	305 => 'i',
101
+    286 => 'G',
102
+    287 => 'g',
103
+    304 => 'I',
104
+    305 => 'i',
105 105
 
106 106
 // esperanto
107
-	264 => 'Cx',
108
-	265 => 'cx',
109
-	284 => 'Gx',
110
-	285 => 'gx',
111
-	292 => 'Hx',
112
-	293 => 'hx',
113
-	308 => 'Jx',
114
-	309 => 'jx',
115
-	348 => 'Sx',
116
-	349 => 'sx',
117
-	364 => 'Ux',
118
-	365 => 'ux',
107
+    264 => 'Cx',
108
+    265 => 'cx',
109
+    284 => 'Gx',
110
+    285 => 'gx',
111
+    292 => 'Hx',
112
+    293 => 'hx',
113
+    308 => 'Jx',
114
+    309 => 'jx',
115
+    348 => 'Sx',
116
+    349 => 'sx',
117
+    364 => 'Ux',
118
+    365 => 'ux',
119 119
 
120 120
 
121 121
 // latin2 [Czech]
122
-	283 => 'e',
123
-	353 => 's',
124
-	269 => 'c',
125
-	345 => 'r',
126
-	382 => 'z',
127
-	367 => 'u',
128
-	328 => 'n',
129
-	357 => 't',
130
-	271 => 'd',
131
-	449 => 'o',
132
-	282 => 'E',
133
-	352 => 'S',
134
-	268 => 'C',
135
-	344 => 'R',
136
-	381 => 'Z',
137
-	366 => 'U',
138
-	327 => 'N',
139
-	356 => 'T',
140
-	270 => 'D',
141
-	467 => 'O',
122
+    283 => 'e',
123
+    353 => 's',
124
+    269 => 'c',
125
+    345 => 'r',
126
+    382 => 'z',
127
+    367 => 'u',
128
+    328 => 'n',
129
+    357 => 't',
130
+    271 => 'd',
131
+    449 => 'o',
132
+    282 => 'E',
133
+    352 => 'S',
134
+    268 => 'C',
135
+    344 => 'R',
136
+    381 => 'Z',
137
+    366 => 'U',
138
+    327 => 'N',
139
+    356 => 'T',
140
+    270 => 'D',
141
+    467 => 'O',
142 142
 
143 143
 // francais
144
-	338 => 'OE',
145
-	339 => 'oe',
146
-	376 => 'Y',
147
-	402 => 'f',
144
+    338 => 'OE',
145
+    339 => 'oe',
146
+    376 => 'Y',
147
+    402 => 'f',
148 148
 
149 149
 //polskie
150
-	260 => 'A',
151
-	261 => 'a',
152
-	262 => 'C',
153
-	263 => 'c',
154
-	280 => 'E',
155
-	281 => 'e',
156
-	321 => 'L',
157
-	322 => 'l',
158
-	323 => 'N',
159
-	324 => 'n',
160
-	346 => 'S',
161
-	347 => 's',
162
-	377 => 'Z',
163
-	378 => 'z',
164
-	379 => 'Z',
165
-	380 => 'z',
150
+    260 => 'A',
151
+    261 => 'a',
152
+    262 => 'C',
153
+    263 => 'c',
154
+    280 => 'E',
155
+    281 => 'e',
156
+    321 => 'L',
157
+    322 => 'l',
158
+    323 => 'N',
159
+    324 => 'n',
160
+    346 => 'S',
161
+    347 => 's',
162
+    377 => 'Z',
163
+    378 => 'z',
164
+    379 => 'Z',
165
+    380 => 'z',
166 166
 
167 167
 //roumain
168
-	258 => 'A',
169
-	259 => 'a',
170
-	354 => 'T',
171
-	355 => 't',
168
+    258 => 'A',
169
+    259 => 'a',
170
+    354 => 'T',
171
+    355 => 't',
172 172
 
173 173
 //turc & roumain
174
-	350 => 'S',
175
-	351 => 's',
174
+    350 => 'S',
175
+    351 => 's',
176 176
 
177 177
 // cyrillique
178
-	1026 => 'D%',
179
-	1027 => 'G%',
180
-	8218 => '\'',
181
-	1107 => 'g%',
182
-	8222 => '"',
183
-	8230 => '...',
184
-	8224 => '/-',
185
-	8225 => '/=',
186
-	8364 => 'EUR',
187
-	8240 => '0/00',
188
-	1033 => 'LJ',
189
-	8249 => '<',
190
-	1034 => 'NJ',
191
-	1036 => 'KJ',
192
-	1035 => 'Ts',
193
-	1039 => 'DZ',
194
-	1106 => 'd%',
195
-	8216 => '`',
196
-	8217 => '\'',
197
-	8220 => '"',
198
-	8221 => '"',
199
-	8226 => ' o ',
200
-	8211 => '-',
201
-	8212 => '~',
202
-	8482 => '(TM)',
203
-	1113 => 'lj',
204
-	8250 => '>',
205
-	1114 => 'nj',
206
-	1116 => 'kj',
207
-	1115 => 'ts',
208
-	1119 => 'dz',
209
-	1038 => 'V%',
210
-	1118 => 'v%',
211
-	1032 => 'J%',
212
-	1168 => 'G3',
213
-	1025 => 'IO',
214
-	1028 => 'IE',
215
-	1031 => 'YI',
216
-	1030 => 'II',
217
-	1110 => 'ii',
218
-	1169 => 'g3',
219
-	1105 => 'io',
220
-	8470 => 'No.',
221
-	1108 => 'ie',
222
-	1112 => 'j%',
223
-	1029 => 'DS',
224
-	1109 => 'ds',
225
-	1111 => 'yi',
226
-	1040 => 'A',
227
-	1041 => 'B',
228
-	1042 => 'V',
229
-	1043 => 'G',
230
-	1044 => 'D',
231
-	1045 => 'E',
232
-	1046 => 'ZH',
233
-	1047 => 'Z',
234
-	1048 => 'I',
235
-	1049 => 'J',
236
-	1050 => 'K',
237
-	1051 => 'L',
238
-	1052 => 'M',
239
-	1053 => 'N',
240
-	1054 => 'O',
241
-	1055 => 'P',
242
-	1056 => 'R',
243
-	1057 => 'S',
244
-	1058 => 'T',
245
-	1059 => 'U',
246
-	1060 => 'F',
247
-	1061 => 'H',
248
-	1062 => 'C',
249
-	1063 => 'CH',
250
-	1064 => 'SH',
251
-	1065 => 'SCH',
252
-	1066 => '"',
253
-	1067 => 'Y',
254
-	1068 => '\'',
255
-	1069 => '`E',
256
-	1070 => 'YU',
257
-	1071 => 'YA',
258
-	1072 => 'a',
259
-	1073 => 'b',
260
-	1074 => 'v',
261
-	1075 => 'g',
262
-	1076 => 'd',
263
-	1077 => 'e',
264
-	1078 => 'zh',
265
-	1079 => 'z',
266
-	1080 => 'i',
267
-	1081 => 'j',
268
-	1082 => 'k',
269
-	1083 => 'l',
270
-	1084 => 'm',
271
-	1085 => 'n',
272
-	1086 => 'o',
273
-	1087 => 'p',
274
-	1088 => 'r',
275
-	1089 => 's',
276
-	1090 => 't',
277
-	1091 => 'u',
278
-	1092 => 'f',
279
-	1093 => 'h',
280
-	1094 => 'c',
281
-	1095 => 'ch',
282
-	1096 => 'sh',
283
-	1097 => 'sch',
284
-	1098 => '"',
285
-	1099 => 'y',
286
-	1100 => '\'',
287
-	1101 => '`e',
288
-	1102 => 'yu',
289
-	1103 => 'ya',
178
+    1026 => 'D%',
179
+    1027 => 'G%',
180
+    8218 => '\'',
181
+    1107 => 'g%',
182
+    8222 => '"',
183
+    8230 => '...',
184
+    8224 => '/-',
185
+    8225 => '/=',
186
+    8364 => 'EUR',
187
+    8240 => '0/00',
188
+    1033 => 'LJ',
189
+    8249 => '<',
190
+    1034 => 'NJ',
191
+    1036 => 'KJ',
192
+    1035 => 'Ts',
193
+    1039 => 'DZ',
194
+    1106 => 'd%',
195
+    8216 => '`',
196
+    8217 => '\'',
197
+    8220 => '"',
198
+    8221 => '"',
199
+    8226 => ' o ',
200
+    8211 => '-',
201
+    8212 => '~',
202
+    8482 => '(TM)',
203
+    1113 => 'lj',
204
+    8250 => '>',
205
+    1114 => 'nj',
206
+    1116 => 'kj',
207
+    1115 => 'ts',
208
+    1119 => 'dz',
209
+    1038 => 'V%',
210
+    1118 => 'v%',
211
+    1032 => 'J%',
212
+    1168 => 'G3',
213
+    1025 => 'IO',
214
+    1028 => 'IE',
215
+    1031 => 'YI',
216
+    1030 => 'II',
217
+    1110 => 'ii',
218
+    1169 => 'g3',
219
+    1105 => 'io',
220
+    8470 => 'No.',
221
+    1108 => 'ie',
222
+    1112 => 'j%',
223
+    1029 => 'DS',
224
+    1109 => 'ds',
225
+    1111 => 'yi',
226
+    1040 => 'A',
227
+    1041 => 'B',
228
+    1042 => 'V',
229
+    1043 => 'G',
230
+    1044 => 'D',
231
+    1045 => 'E',
232
+    1046 => 'ZH',
233
+    1047 => 'Z',
234
+    1048 => 'I',
235
+    1049 => 'J',
236
+    1050 => 'K',
237
+    1051 => 'L',
238
+    1052 => 'M',
239
+    1053 => 'N',
240
+    1054 => 'O',
241
+    1055 => 'P',
242
+    1056 => 'R',
243
+    1057 => 'S',
244
+    1058 => 'T',
245
+    1059 => 'U',
246
+    1060 => 'F',
247
+    1061 => 'H',
248
+    1062 => 'C',
249
+    1063 => 'CH',
250
+    1064 => 'SH',
251
+    1065 => 'SCH',
252
+    1066 => '"',
253
+    1067 => 'Y',
254
+    1068 => '\'',
255
+    1069 => '`E',
256
+    1070 => 'YU',
257
+    1071 => 'YA',
258
+    1072 => 'a',
259
+    1073 => 'b',
260
+    1074 => 'v',
261
+    1075 => 'g',
262
+    1076 => 'd',
263
+    1077 => 'e',
264
+    1078 => 'zh',
265
+    1079 => 'z',
266
+    1080 => 'i',
267
+    1081 => 'j',
268
+    1082 => 'k',
269
+    1083 => 'l',
270
+    1084 => 'm',
271
+    1085 => 'n',
272
+    1086 => 'o',
273
+    1087 => 'p',
274
+    1088 => 'r',
275
+    1089 => 's',
276
+    1090 => 't',
277
+    1091 => 'u',
278
+    1092 => 'f',
279
+    1093 => 'h',
280
+    1094 => 'c',
281
+    1095 => 'ch',
282
+    1096 => 'sh',
283
+    1097 => 'sch',
284
+    1098 => '"',
285
+    1099 => 'y',
286
+    1100 => '\'',
287
+    1101 => '`e',
288
+    1102 => 'yu',
289
+    1103 => 'ya',
290 290
 
291 291
 // vietnamien en translitteration de base
292
-	7843 => 'a',
293
-	7841 => 'a',
294
-	7845 => 'a',
295
-	7847 => 'a',
296
-	7849 => 'a',
297
-	7851 => 'a',
298
-	7853 => 'a',
299
-	7855 => 'a',
300
-	7857 => 'a',
301
-	7859 => 'a',
302
-	7861 => 'a',
303
-	7863 => 'a',
304
-	7842 => 'A',
305
-	7840 => 'A',
306
-	7844 => 'A',
307
-	7846 => 'A',
308
-	7848 => 'A',
309
-	7850 => 'A',
310
-	7852 => 'A',
311
-	7854 => 'A',
312
-	7856 => 'A',
313
-	7858 => 'A',
314
-	7860 => 'A',
315
-	7862 => 'A',
316
-	7867 => 'e',
317
-	7869 => 'e',
318
-	7865 => 'e',
319
-	7871 => 'e',
320
-	7873 => 'e',
321
-	7875 => 'e',
322
-	7877 => 'e',
323
-	7879 => 'e',
324
-	7866 => 'E',
325
-	7868 => 'E',
326
-	7864 => 'E',
327
-	7870 => 'E',
328
-	7872 => 'E',
329
-	7874 => 'E',
330
-	7876 => 'E',
331
-	7878 => 'E',
332
-	7881 => 'i',
333
-	7883 => 'i',
334
-	7880 => 'I',
335
-	7882 => 'I',
336
-	7887 => 'o',
337
-	7885 => 'o',
338
-	7889 => 'o',
339
-	7891 => 'o',
340
-	7893 => 'o',
341
-	7895 => 'o',
342
-	7897 => 'o',
343
-	417 => 'o',
344
-	7899 => 'o',
345
-	7901 => 'o',
346
-	7903 => 'o',
347
-	7905 => 'o',
348
-	7907 => 'o',
349
-	7886 => 'O',
350
-	7884 => 'O',
351
-	7888 => 'O',
352
-	7890 => 'O',
353
-	7892 => 'O',
354
-	7894 => 'O',
355
-	7896 => 'O',
356
-	416 => 'O',
357
-	7898 => 'O',
358
-	7900 => 'O',
359
-	7902 => 'O',
360
-	7904 => 'O',
361
-	7906 => 'O',
362
-	7911 => 'u',
363
-	361 => 'u',
364
-	7909 => 'u',
365
-	432 => 'u',
366
-	7913 => 'u',
367
-	7915 => 'u',
368
-	7917 => 'u',
369
-	7919 => 'u',
370
-	7921 => 'u',
371
-	7910 => 'U',
372
-	360 => 'U',
373
-	7908 => 'U',
374
-	431 => 'U',
375
-	7912 => 'U',
376
-	7914 => 'U',
377
-	7916 => 'U',
378
-	7918 => 'U',
379
-	7920 => 'U',
380
-	253 => 'y',
381
-	7923 => 'y',
382
-	7927 => 'y',
383
-	7929 => 'y',
384
-	7925 => 'y',
385
-	221 => 'Y',
386
-	7922 => 'Y',
387
-	7926 => 'Y',
388
-	7928 => 'Y',
389
-	7924 => 'Y',
390
-	273 => 'd'
292
+    7843 => 'a',
293
+    7841 => 'a',
294
+    7845 => 'a',
295
+    7847 => 'a',
296
+    7849 => 'a',
297
+    7851 => 'a',
298
+    7853 => 'a',
299
+    7855 => 'a',
300
+    7857 => 'a',
301
+    7859 => 'a',
302
+    7861 => 'a',
303
+    7863 => 'a',
304
+    7842 => 'A',
305
+    7840 => 'A',
306
+    7844 => 'A',
307
+    7846 => 'A',
308
+    7848 => 'A',
309
+    7850 => 'A',
310
+    7852 => 'A',
311
+    7854 => 'A',
312
+    7856 => 'A',
313
+    7858 => 'A',
314
+    7860 => 'A',
315
+    7862 => 'A',
316
+    7867 => 'e',
317
+    7869 => 'e',
318
+    7865 => 'e',
319
+    7871 => 'e',
320
+    7873 => 'e',
321
+    7875 => 'e',
322
+    7877 => 'e',
323
+    7879 => 'e',
324
+    7866 => 'E',
325
+    7868 => 'E',
326
+    7864 => 'E',
327
+    7870 => 'E',
328
+    7872 => 'E',
329
+    7874 => 'E',
330
+    7876 => 'E',
331
+    7878 => 'E',
332
+    7881 => 'i',
333
+    7883 => 'i',
334
+    7880 => 'I',
335
+    7882 => 'I',
336
+    7887 => 'o',
337
+    7885 => 'o',
338
+    7889 => 'o',
339
+    7891 => 'o',
340
+    7893 => 'o',
341
+    7895 => 'o',
342
+    7897 => 'o',
343
+    417 => 'o',
344
+    7899 => 'o',
345
+    7901 => 'o',
346
+    7903 => 'o',
347
+    7905 => 'o',
348
+    7907 => 'o',
349
+    7886 => 'O',
350
+    7884 => 'O',
351
+    7888 => 'O',
352
+    7890 => 'O',
353
+    7892 => 'O',
354
+    7894 => 'O',
355
+    7896 => 'O',
356
+    416 => 'O',
357
+    7898 => 'O',
358
+    7900 => 'O',
359
+    7902 => 'O',
360
+    7904 => 'O',
361
+    7906 => 'O',
362
+    7911 => 'u',
363
+    361 => 'u',
364
+    7909 => 'u',
365
+    432 => 'u',
366
+    7913 => 'u',
367
+    7915 => 'u',
368
+    7917 => 'u',
369
+    7919 => 'u',
370
+    7921 => 'u',
371
+    7910 => 'U',
372
+    360 => 'U',
373
+    7908 => 'U',
374
+    431 => 'U',
375
+    7912 => 'U',
376
+    7914 => 'U',
377
+    7916 => 'U',
378
+    7918 => 'U',
379
+    7920 => 'U',
380
+    253 => 'y',
381
+    7923 => 'y',
382
+    7927 => 'y',
383
+    7929 => 'y',
384
+    7925 => 'y',
385
+    221 => 'Y',
386
+    7922 => 'Y',
387
+    7926 => 'Y',
388
+    7928 => 'Y',
389
+    7924 => 'Y',
390
+    273 => 'd'
391 391
 
392 392
 ];
Please login to merge, or discard this patch.
ecrire/lang/spip_pt_br.php 1 patch
Indentation   +669 added lines, -669 removed lines patch added patch discarded remove patch
@@ -4,582 +4,582 @@  discard block
 block discarded – undo
4 4
 // ** ne pas modifier le fichier **
5 5
 
6 6
 if (!defined('_ECRIRE_INC_VERSION')) {
7
-	return;
7
+    return;
8 8
 }
9 9
 
10 10
 $GLOBALS[$GLOBALS['idx_lang']] = array(
11 11
 
12
-	// A
13
-	'access_interface_graphique' => 'Voltar para a interface gráfica completa',
14
-	'access_mode_texte' => 'Exibir a interface textual simplificada',
15
-	'admin_debug' => 'depurar',
16
-	'admin_modifier_article' => 'Editar esta matéria',
17
-	'admin_modifier_auteur' => 'Editar este autor',
18
-	'admin_modifier_breve' => 'Editar esta nota',
19
-	'admin_modifier_mot' => 'Editar esta palavra-chave',
20
-	'admin_modifier_rubrique' => 'Editar esta seção',
21
-	'admin_recalculer' => 'Atualizar esta página',
22
-	'afficher_calendrier' => 'Exibir o calendário',
23
-	'afficher_trad' => 'exibir as traduções',
24
-	'alerte_maj_impossible' => '<b>Atenção!</b> A atualização da base de dados SQL para a versão @version@ não é possível, provavelmente por problema de direitos de edição na base de dados. Por favor, contate o seu provedor de hospedagem.',
25
-	'alerte_modif_info_concourante' => 'ATENÇÃO: Esta informação foi alterada por outra pessoa. O valor atual é:',
26
-	'analyse_xml' => 'Analisar XML',
27
-	'annuler' => 'Cancelar',
28
-	'antispam_champ_vide' => 'Por favor, deixe este campo vazio:',
29
-	'articles_recents' => 'Matérias mais recentes',
30
-	'attention_champ_mini_nb_caractères' => 'Atenção! Mínimo de @nb@ caracteres',
31
-	'avis_1_erreur_saisie' => 'Há um erro nos dados informados. Por favor, verifique.',
32
-	'avis_archive_incorrect' => 'a cópia de segurança não é um arquivo do SPIP',
33
-	'avis_archive_invalide' => 'a cópia de segurança não é válida',
34
-	'avis_attention' => 'ATENÇÃO!',
35
-	'avis_champ_incorrect_type_objet' => 'Nome de campo @name@ incorreto para objeto do tipo @type@',
36
-	'avis_colonne_inexistante' => 'A coluna @col@ não existe',
37
-	'avis_erreur' => 'Erro: ver abaixo',
38
-	'avis_erreur_connexion' => 'Erro de conexão',
39
-	'avis_erreur_cookie' => 'problema de cookie',
40
-	'avis_erreur_fonction_contexte' => 'Erro de programação. Esta função não deve ser chamada neste contexto.',
41
-	'avis_erreur_mysql' => 'Erro SQL',
42
-	'avis_erreur_sauvegarde' => 'Erro na cópia de segurança (@type@ @id_objet@) !',
43
-	'avis_erreur_visiteur' => 'Problema de acesso ao espaço privado',
44
-	'avis_nb_erreurs_saisie' => 'Há @nb@ erros nos dados informados. Por favor, verifique.',
12
+    // A
13
+    'access_interface_graphique' => 'Voltar para a interface gráfica completa',
14
+    'access_mode_texte' => 'Exibir a interface textual simplificada',
15
+    'admin_debug' => 'depurar',
16
+    'admin_modifier_article' => 'Editar esta matéria',
17
+    'admin_modifier_auteur' => 'Editar este autor',
18
+    'admin_modifier_breve' => 'Editar esta nota',
19
+    'admin_modifier_mot' => 'Editar esta palavra-chave',
20
+    'admin_modifier_rubrique' => 'Editar esta seção',
21
+    'admin_recalculer' => 'Atualizar esta página',
22
+    'afficher_calendrier' => 'Exibir o calendário',
23
+    'afficher_trad' => 'exibir as traduções',
24
+    'alerte_maj_impossible' => '<b>Atenção!</b> A atualização da base de dados SQL para a versão @version@ não é possível, provavelmente por problema de direitos de edição na base de dados. Por favor, contate o seu provedor de hospedagem.',
25
+    'alerte_modif_info_concourante' => 'ATENÇÃO: Esta informação foi alterada por outra pessoa. O valor atual é:',
26
+    'analyse_xml' => 'Analisar XML',
27
+    'annuler' => 'Cancelar',
28
+    'antispam_champ_vide' => 'Por favor, deixe este campo vazio:',
29
+    'articles_recents' => 'Matérias mais recentes',
30
+    'attention_champ_mini_nb_caractères' => 'Atenção! Mínimo de @nb@ caracteres',
31
+    'avis_1_erreur_saisie' => 'Há um erro nos dados informados. Por favor, verifique.',
32
+    'avis_archive_incorrect' => 'a cópia de segurança não é um arquivo do SPIP',
33
+    'avis_archive_invalide' => 'a cópia de segurança não é válida',
34
+    'avis_attention' => 'ATENÇÃO!',
35
+    'avis_champ_incorrect_type_objet' => 'Nome de campo @name@ incorreto para objeto do tipo @type@',
36
+    'avis_colonne_inexistante' => 'A coluna @col@ não existe',
37
+    'avis_erreur' => 'Erro: ver abaixo',
38
+    'avis_erreur_connexion' => 'Erro de conexão',
39
+    'avis_erreur_cookie' => 'problema de cookie',
40
+    'avis_erreur_fonction_contexte' => 'Erro de programação. Esta função não deve ser chamada neste contexto.',
41
+    'avis_erreur_mysql' => 'Erro SQL',
42
+    'avis_erreur_sauvegarde' => 'Erro na cópia de segurança (@type@ @id_objet@) !',
43
+    'avis_erreur_visiteur' => 'Problema de acesso ao espaço privado',
44
+    'avis_nb_erreurs_saisie' => 'Há @nb@ erros nos dados informados. Por favor, verifique.',
45 45
 
46
-	// B
47
-	'barre_a_accent_grave' => 'Inserir um A maiúsculo com acento grave',
48
-	'barre_aide' => 'utilize os atalhos tipográficos para enriquecer o seu layout',
49
-	'barre_e_accent_aigu' => 'Inserir um E maiúsculo com acento agudo',
50
-	'barre_eo' => 'Inserir um OE contraído',
51
-	'barre_eo_maj' => 'Inserir um OE contraído maiúsculo',
52
-	'barre_euro' => 'Inserir o símbolo € (euro)',
53
-	'barre_gras' => 'Escrever em {{negrito}}',
54
-	'barre_guillemets' => 'envolver em "aspas"',
55
-	'barre_guillemets_simples' => 'Envolver em ’plicas’',
56
-	'barre_intertitre' => 'Transformar em {{{entretítulo}}}',
57
-	'barre_italic' => 'Escrever em {itálico}',
58
-	'barre_lien' => 'Transformar em [link hipertexto->http://...]',
59
-	'barre_lien_input' => 'Informe o endereço do seu link (você pode informar um endereço web do tipo http://www.monsite/com ou simplesmente informar o número de uma matéria deste site.',
60
-	'barre_note' => 'Transformar em [[Nota de pé de página]]',
61
-	'barre_paragraphe' => 'Criar um parágrafo',
62
-	'barre_quote' => '<quote>Citar uma mensagem</quote>',
63
-	'bouton_changer' => 'Alterar',
64
-	'bouton_chercher' => 'Procurar',
65
-	'bouton_choisir' => 'Escolher',
66
-	'bouton_deplacer' => 'Deslocar',
67
-	'bouton_download' => 'Baixar',
68
-	'bouton_enregistrer' => 'Gravar',
69
-	'bouton_radio_desactiver_messagerie_interne' => 'Desativar o sistema interno de mensagens',
70
-	'bouton_radio_envoi_annonces' => 'Enviar os avisos editoriais',
71
-	'bouton_radio_non_envoi_annonces' => 'Não enviar os avisos',
72
-	'bouton_radio_non_envoi_liste_nouveautes' => 'Não enviar a lista de novidades',
73
-	'bouton_recharger_page' => 'atualizar esta página',
74
-	'bouton_telecharger' => 'Transferir',
75
-	'bouton_upload' => 'Upload',
76
-	'bouton_valider' => 'Validar',
46
+    // B
47
+    'barre_a_accent_grave' => 'Inserir um A maiúsculo com acento grave',
48
+    'barre_aide' => 'utilize os atalhos tipográficos para enriquecer o seu layout',
49
+    'barre_e_accent_aigu' => 'Inserir um E maiúsculo com acento agudo',
50
+    'barre_eo' => 'Inserir um OE contraído',
51
+    'barre_eo_maj' => 'Inserir um OE contraído maiúsculo',
52
+    'barre_euro' => 'Inserir o símbolo € (euro)',
53
+    'barre_gras' => 'Escrever em {{negrito}}',
54
+    'barre_guillemets' => 'envolver em "aspas"',
55
+    'barre_guillemets_simples' => 'Envolver em ’plicas’',
56
+    'barre_intertitre' => 'Transformar em {{{entretítulo}}}',
57
+    'barre_italic' => 'Escrever em {itálico}',
58
+    'barre_lien' => 'Transformar em [link hipertexto->http://...]',
59
+    'barre_lien_input' => 'Informe o endereço do seu link (você pode informar um endereço web do tipo http://www.monsite/com ou simplesmente informar o número de uma matéria deste site.',
60
+    'barre_note' => 'Transformar em [[Nota de pé de página]]',
61
+    'barre_paragraphe' => 'Criar um parágrafo',
62
+    'barre_quote' => '<quote>Citar uma mensagem</quote>',
63
+    'bouton_changer' => 'Alterar',
64
+    'bouton_chercher' => 'Procurar',
65
+    'bouton_choisir' => 'Escolher',
66
+    'bouton_deplacer' => 'Deslocar',
67
+    'bouton_download' => 'Baixar',
68
+    'bouton_enregistrer' => 'Gravar',
69
+    'bouton_radio_desactiver_messagerie_interne' => 'Desativar o sistema interno de mensagens',
70
+    'bouton_radio_envoi_annonces' => 'Enviar os avisos editoriais',
71
+    'bouton_radio_non_envoi_annonces' => 'Não enviar os avisos',
72
+    'bouton_radio_non_envoi_liste_nouveautes' => 'Não enviar a lista de novidades',
73
+    'bouton_recharger_page' => 'atualizar esta página',
74
+    'bouton_telecharger' => 'Transferir',
75
+    'bouton_upload' => 'Upload',
76
+    'bouton_valider' => 'Validar',
77 77
 
78
-	// C
79
-	'cal_apresmidi' => 'tarde',
80
-	'cal_jour_entier' => 'dia todo',
81
-	'cal_matin' => 'manhã',
82
-	'cal_par_jour' => 'calendário por dia',
83
-	'cal_par_mois' => 'calendário por mês',
84
-	'cal_par_semaine' => 'calendário por semana',
85
-	'choix_couleur_interface' => 'côr',
86
-	'choix_interface' => 'escolha da interface',
87
-	'colonne' => 'Coluna',
88
-	'confirm_changer_statut' => 'Atenção, você solicitou a alteração de status deste elemento. Deseja continuar?',
89
-	'correcte' => 'correta',
78
+    // C
79
+    'cal_apresmidi' => 'tarde',
80
+    'cal_jour_entier' => 'dia todo',
81
+    'cal_matin' => 'manhã',
82
+    'cal_par_jour' => 'calendário por dia',
83
+    'cal_par_mois' => 'calendário por mês',
84
+    'cal_par_semaine' => 'calendário por semana',
85
+    'choix_couleur_interface' => 'côr',
86
+    'choix_interface' => 'escolha da interface',
87
+    'colonne' => 'Coluna',
88
+    'confirm_changer_statut' => 'Atenção, você solicitou a alteração de status deste elemento. Deseja continuar?',
89
+    'correcte' => 'correta',
90 90
 
91
-	// D
92
-	'date_aujourdhui' => 'hoje',
93
-	'date_avant_jc' => 'a.C.',
94
-	'date_dans' => 'entre @delai@',
95
-	'date_de_mois_1' => '@j@ de @nommois@',
96
-	'date_de_mois_10' => '@j@ de @nommois@',
97
-	'date_de_mois_11' => '@j@ de @nommois@',
98
-	'date_de_mois_12' => '@j@ de @nommois@',
99
-	'date_de_mois_2' => '@j@ de @nommois@',
100
-	'date_de_mois_3' => '@j@ de @nommois@',
101
-	'date_de_mois_4' => '@j@ de @nommois@',
102
-	'date_de_mois_5' => '@j@ de @nommois@',
103
-	'date_de_mois_6' => '@j@ de @nommois@',
104
-	'date_de_mois_7' => '@j@ de @nommois@',
105
-	'date_de_mois_8' => '@j@ de @nommois@',
106
-	'date_de_mois_9' => '@j@ de @nommois@',
107
-	'date_demain' => 'amanhã',
108
-	'date_fmt_heures_minutes' => '@h@h@m@min',
109
-	'date_fmt_heures_minutes_court' => '@h@h@m@',
110
-	'date_fmt_jour' => '@nomjour@ @jour@',
111
-	'date_fmt_jour_heure' => '@jour@ - @heure@',
112
-	'date_fmt_jour_heure_debut_fin' => 'dia @jour@ de @heure_debut@ a @heure_fin@',
113
-	'date_fmt_jour_heure_debut_fin_abbr' => 'dia @dtstart@@jour@ de @heure_debut@@dtabbr@ a @dtstart@@heure_fin@@dtend@',
114
-	'date_fmt_jour_mois' => '@jour@ de @nommois@',
115
-	'date_fmt_jour_mois_annee' => '@jour@ de @nommois@ de @annee@',
116
-	'date_fmt_mois_annee' => '@nommois@ de @annee@',
117
-	'date_fmt_nomjour' => '@nomjour@ @date@',
118
-	'date_fmt_nomjour_date' => '@nomjour@ de @date@',
119
-	'date_fmt_periode' => 'De @date_debut@ a @date_fin@',
120
-	'date_fmt_periode_abbr' => 'De @dtart@@date_debut@@dtabbr@ a @dtend@@date_fin@@dtabbr@',
121
-	'date_fmt_periode_from' => 'De',
122
-	'date_fmt_periode_to' => 'para',
123
-	'date_fmt_saison_annee' => '@saison@ @annee@',
124
-	'date_heures' => 'horas',
125
-	'date_hier' => 'ontem',
126
-	'date_il_y_a' => 'há @delai@',
127
-	'date_jnum1' => '1º',
128
-	'date_jnum10' => '10',
129
-	'date_jnum11' => '11',
130
-	'date_jnum12' => '12',
131
-	'date_jnum13' => '13',
132
-	'date_jnum14' => '14',
133
-	'date_jnum15' => '15',
134
-	'date_jnum16' => '16',
135
-	'date_jnum17' => '17',
136
-	'date_jnum18' => '18',
137
-	'date_jnum19' => '19',
138
-	'date_jnum2' => '2',
139
-	'date_jnum20' => '20',
140
-	'date_jnum21' => '21',
141
-	'date_jnum22' => '22',
142
-	'date_jnum23' => '23',
143
-	'date_jnum24' => '24',
144
-	'date_jnum25' => '25',
145
-	'date_jnum26' => '26',
146
-	'date_jnum27' => '27',
147
-	'date_jnum28' => '28',
148
-	'date_jnum29' => '29',
149
-	'date_jnum3' => '3',
150
-	'date_jnum30' => '30',
151
-	'date_jnum31' => '31',
152
-	'date_jnum4' => '4',
153
-	'date_jnum5' => '5',
154
-	'date_jnum6' => '6',
155
-	'date_jnum7' => '7',
156
-	'date_jnum8' => '8',
157
-	'date_jnum9' => '9',
158
-	'date_jour_1' => 'domingo',
159
-	'date_jour_1_abbr' => 'dom.',
160
-	'date_jour_1_initiale' => 'd.',
161
-	'date_jour_2' => 'segunda-feira',
162
-	'date_jour_2_abbr' => 'seg.',
163
-	'date_jour_2_initiale' => 's.',
164
-	'date_jour_3' => 'terça-feira',
165
-	'date_jour_3_abbr' => 'ter.',
166
-	'date_jour_3_initiale' => 't.',
167
-	'date_jour_4' => 'quarta-feira',
168
-	'date_jour_4_abbr' => 'quar.',
169
-	'date_jour_4_initiale' => 'q.',
170
-	'date_jour_5' => 'quinta-feira',
171
-	'date_jour_5_abbr' => 'quin.',
172
-	'date_jour_5_initiale' => 'q.',
173
-	'date_jour_6' => 'sexta-feira',
174
-	'date_jour_6_abbr' => 'sex.',
175
-	'date_jour_6_initiale' => 's.',
176
-	'date_jour_7' => 'sábado',
177
-	'date_jour_7_abbr' => 'sáb.',
178
-	'date_jour_7_initiale' => 's.',
179
-	'date_jours' => 'dias',
180
-	'date_minutes' => 'minutos',
181
-	'date_mois' => 'meses',
182
-	'date_mois_1' => 'janeiro',
183
-	'date_mois_10' => 'outubro',
184
-	'date_mois_10_abbr' => 'out.',
185
-	'date_mois_11' => 'novembro',
186
-	'date_mois_11_abbr' => 'nov.',
187
-	'date_mois_12' => 'dezembro',
188
-	'date_mois_12_abbr' => 'dez.',
189
-	'date_mois_1_abbr' => 'jan.',
190
-	'date_mois_2' => 'fevereiro',
191
-	'date_mois_2_abbr' => 'fev.',
192
-	'date_mois_3' => 'março',
193
-	'date_mois_3_abbr' => 'mar.',
194
-	'date_mois_4' => 'abril',
195
-	'date_mois_4_abbr' => 'abr.',
196
-	'date_mois_5' => 'maio',
197
-	'date_mois_5_abbr' => 'mai.',
198
-	'date_mois_6' => 'junho',
199
-	'date_mois_6_abbr' => 'jun.',
200
-	'date_mois_7' => 'julho',
201
-	'date_mois_7_abbr' => 'jul.',
202
-	'date_mois_8' => 'agosto',
203
-	'date_mois_8_abbr' => 'ago.',
204
-	'date_mois_9' => 'setembro',
205
-	'date_mois_9_abbr' => 'set.',
206
-	'date_saison_1' => 'inverno',
207
-	'date_saison_2' => 'primavera',
208
-	'date_saison_3' => 'verão',
209
-	'date_saison_4' => 'outono',
210
-	'date_secondes' => 'segundos',
211
-	'date_semaines' => 'semanas',
212
-	'date_un_mois' => 'mês',
213
-	'date_une_heure' => 'hora',
214
-	'date_une_minute' => 'minuto',
215
-	'date_une_seconde' => 'segundo',
216
-	'date_une_semaine' => 'semana',
217
-	'dirs_commencer' => 'Para começar realmente a instalação',
218
-	'dirs_preliminaire' => 'Preliminar: <b>Configurar os direitos de acesso</b>',
219
-	'dirs_probleme_droits' => 'Problema com as permissões de acesso',
220
-	'dirs_repertoires_absents' => '<p><b>Os diretórios a seguir não foram encontrados:</b></p><ul>@bad_dirs@.</ul>
91
+    // D
92
+    'date_aujourdhui' => 'hoje',
93
+    'date_avant_jc' => 'a.C.',
94
+    'date_dans' => 'entre @delai@',
95
+    'date_de_mois_1' => '@j@ de @nommois@',
96
+    'date_de_mois_10' => '@j@ de @nommois@',
97
+    'date_de_mois_11' => '@j@ de @nommois@',
98
+    'date_de_mois_12' => '@j@ de @nommois@',
99
+    'date_de_mois_2' => '@j@ de @nommois@',
100
+    'date_de_mois_3' => '@j@ de @nommois@',
101
+    'date_de_mois_4' => '@j@ de @nommois@',
102
+    'date_de_mois_5' => '@j@ de @nommois@',
103
+    'date_de_mois_6' => '@j@ de @nommois@',
104
+    'date_de_mois_7' => '@j@ de @nommois@',
105
+    'date_de_mois_8' => '@j@ de @nommois@',
106
+    'date_de_mois_9' => '@j@ de @nommois@',
107
+    'date_demain' => 'amanhã',
108
+    'date_fmt_heures_minutes' => '@h@h@m@min',
109
+    'date_fmt_heures_minutes_court' => '@h@h@m@',
110
+    'date_fmt_jour' => '@nomjour@ @jour@',
111
+    'date_fmt_jour_heure' => '@jour@ - @heure@',
112
+    'date_fmt_jour_heure_debut_fin' => 'dia @jour@ de @heure_debut@ a @heure_fin@',
113
+    'date_fmt_jour_heure_debut_fin_abbr' => 'dia @dtstart@@jour@ de @heure_debut@@dtabbr@ a @dtstart@@heure_fin@@dtend@',
114
+    'date_fmt_jour_mois' => '@jour@ de @nommois@',
115
+    'date_fmt_jour_mois_annee' => '@jour@ de @nommois@ de @annee@',
116
+    'date_fmt_mois_annee' => '@nommois@ de @annee@',
117
+    'date_fmt_nomjour' => '@nomjour@ @date@',
118
+    'date_fmt_nomjour_date' => '@nomjour@ de @date@',
119
+    'date_fmt_periode' => 'De @date_debut@ a @date_fin@',
120
+    'date_fmt_periode_abbr' => 'De @dtart@@date_debut@@dtabbr@ a @dtend@@date_fin@@dtabbr@',
121
+    'date_fmt_periode_from' => 'De',
122
+    'date_fmt_periode_to' => 'para',
123
+    'date_fmt_saison_annee' => '@saison@ @annee@',
124
+    'date_heures' => 'horas',
125
+    'date_hier' => 'ontem',
126
+    'date_il_y_a' => 'há @delai@',
127
+    'date_jnum1' => '1º',
128
+    'date_jnum10' => '10',
129
+    'date_jnum11' => '11',
130
+    'date_jnum12' => '12',
131
+    'date_jnum13' => '13',
132
+    'date_jnum14' => '14',
133
+    'date_jnum15' => '15',
134
+    'date_jnum16' => '16',
135
+    'date_jnum17' => '17',
136
+    'date_jnum18' => '18',
137
+    'date_jnum19' => '19',
138
+    'date_jnum2' => '2',
139
+    'date_jnum20' => '20',
140
+    'date_jnum21' => '21',
141
+    'date_jnum22' => '22',
142
+    'date_jnum23' => '23',
143
+    'date_jnum24' => '24',
144
+    'date_jnum25' => '25',
145
+    'date_jnum26' => '26',
146
+    'date_jnum27' => '27',
147
+    'date_jnum28' => '28',
148
+    'date_jnum29' => '29',
149
+    'date_jnum3' => '3',
150
+    'date_jnum30' => '30',
151
+    'date_jnum31' => '31',
152
+    'date_jnum4' => '4',
153
+    'date_jnum5' => '5',
154
+    'date_jnum6' => '6',
155
+    'date_jnum7' => '7',
156
+    'date_jnum8' => '8',
157
+    'date_jnum9' => '9',
158
+    'date_jour_1' => 'domingo',
159
+    'date_jour_1_abbr' => 'dom.',
160
+    'date_jour_1_initiale' => 'd.',
161
+    'date_jour_2' => 'segunda-feira',
162
+    'date_jour_2_abbr' => 'seg.',
163
+    'date_jour_2_initiale' => 's.',
164
+    'date_jour_3' => 'terça-feira',
165
+    'date_jour_3_abbr' => 'ter.',
166
+    'date_jour_3_initiale' => 't.',
167
+    'date_jour_4' => 'quarta-feira',
168
+    'date_jour_4_abbr' => 'quar.',
169
+    'date_jour_4_initiale' => 'q.',
170
+    'date_jour_5' => 'quinta-feira',
171
+    'date_jour_5_abbr' => 'quin.',
172
+    'date_jour_5_initiale' => 'q.',
173
+    'date_jour_6' => 'sexta-feira',
174
+    'date_jour_6_abbr' => 'sex.',
175
+    'date_jour_6_initiale' => 's.',
176
+    'date_jour_7' => 'sábado',
177
+    'date_jour_7_abbr' => 'sáb.',
178
+    'date_jour_7_initiale' => 's.',
179
+    'date_jours' => 'dias',
180
+    'date_minutes' => 'minutos',
181
+    'date_mois' => 'meses',
182
+    'date_mois_1' => 'janeiro',
183
+    'date_mois_10' => 'outubro',
184
+    'date_mois_10_abbr' => 'out.',
185
+    'date_mois_11' => 'novembro',
186
+    'date_mois_11_abbr' => 'nov.',
187
+    'date_mois_12' => 'dezembro',
188
+    'date_mois_12_abbr' => 'dez.',
189
+    'date_mois_1_abbr' => 'jan.',
190
+    'date_mois_2' => 'fevereiro',
191
+    'date_mois_2_abbr' => 'fev.',
192
+    'date_mois_3' => 'março',
193
+    'date_mois_3_abbr' => 'mar.',
194
+    'date_mois_4' => 'abril',
195
+    'date_mois_4_abbr' => 'abr.',
196
+    'date_mois_5' => 'maio',
197
+    'date_mois_5_abbr' => 'mai.',
198
+    'date_mois_6' => 'junho',
199
+    'date_mois_6_abbr' => 'jun.',
200
+    'date_mois_7' => 'julho',
201
+    'date_mois_7_abbr' => 'jul.',
202
+    'date_mois_8' => 'agosto',
203
+    'date_mois_8_abbr' => 'ago.',
204
+    'date_mois_9' => 'setembro',
205
+    'date_mois_9_abbr' => 'set.',
206
+    'date_saison_1' => 'inverno',
207
+    'date_saison_2' => 'primavera',
208
+    'date_saison_3' => 'verão',
209
+    'date_saison_4' => 'outono',
210
+    'date_secondes' => 'segundos',
211
+    'date_semaines' => 'semanas',
212
+    'date_un_mois' => 'mês',
213
+    'date_une_heure' => 'hora',
214
+    'date_une_minute' => 'minuto',
215
+    'date_une_seconde' => 'segundo',
216
+    'date_une_semaine' => 'semana',
217
+    'dirs_commencer' => 'Para começar realmente a instalação',
218
+    'dirs_preliminaire' => 'Preliminar: <b>Configurar os direitos de acesso</b>',
219
+    'dirs_probleme_droits' => 'Problema com as permissões de acesso',
220
+    'dirs_repertoires_absents' => '<p><b>Os diretórios a seguir não foram encontrados:</b></p><ul>@bad_dirs@.</ul>
221 221
 <p>É provável que isto se deva a um problema de letras em maiúsculas e minúsculas.
222 222
 Verifique se as maiúsculas e minúsuculas destes diretórios coincidem exatamente com o que está sendo exibido abaixo; se este não for o caso, renomeie os diretórios com o seu programa de FTP de modo a corrigir o erro.
223 223
 <p>Uma vêz feita esta manipulação, você poderá ',
224
-	'dirs_repertoires_suivants' => '<p><b>Os diretórios a seguir não estão acessiveis para leitura:</b></p><ul>@bad_dirs@.</ul>
224
+    'dirs_repertoires_suivants' => '<p><b>Os diretórios a seguir não estão acessiveis para leitura:</b></p><ul>@bad_dirs@.</ul>
225 225
 <p>Para corrigir, utilize o seu programa de FTP para configurar os direitos de acesso de cada um destes diretórios. O procedimento está explicado em detalhes no guia de instalação.</p>
226 226
 <p>Uma vêz feita esta alteração, você poderá ',
227
-	'double_occurrence' => 'Ocorrência dupla de @balise@',
227
+    'double_occurrence' => 'Ocorrência dupla de @balise@',
228 228
 
229
-	// E
230
-	'en_cours' => 'em curso',
231
-	'envoi_via_le_site' => 'Envio pelo site',
232
-	'erreur' => 'Erro',
233
-	'erreur_balise_non_fermee' => 'Última tag em aberto:',
234
-	'erreur_technique_ajaxform' => 'Ooops. Um erro inesperado impediu o envio do formulário. Você pode tentar novamente.',
235
-	'erreur_technique_enregistrement_champs' => 'Um erro técnico impediu a gravação correta do campo @champs@.',
236
-	'erreur_technique_enregistrement_impossible' => 'Um erro técnico impediu a gravação.',
237
-	'erreur_texte' => 'erro(s)',
238
-	'etape' => 'Etapa',
229
+    // E
230
+    'en_cours' => 'em curso',
231
+    'envoi_via_le_site' => 'Envio pelo site',
232
+    'erreur' => 'Erro',
233
+    'erreur_balise_non_fermee' => 'Última tag em aberto:',
234
+    'erreur_technique_ajaxform' => 'Ooops. Um erro inesperado impediu o envio do formulário. Você pode tentar novamente.',
235
+    'erreur_technique_enregistrement_champs' => 'Um erro técnico impediu a gravação correta do campo @champs@.',
236
+    'erreur_technique_enregistrement_impossible' => 'Um erro técnico impediu a gravação.',
237
+    'erreur_texte' => 'erro(s)',
238
+    'etape' => 'Etapa',
239 239
 
240
-	// F
241
-	'fichier_introuvable' => 'Arquivo @fichier@ não encontrado.',
242
-	'fonction_introuvable' => 'Função @fonction@() não encontrada.',
243
-	'form_auteur_confirmation' => 'Confirme o seu endereço de e-mail',
244
-	'form_auteur_email_modifie' => 'O seu endereço de e-mail foi alterado.',
245
-	'form_auteur_envoi_mail_confirmation' => 'Uma mensagem de confirmação acabou de ser enviada para @email@. Você precisa entrar no endereço web mencionado na mensagem para validar o seu endereço de e-mail.',
246
-	'form_auteur_mail_confirmation' => 'Olá,
240
+    // F
241
+    'fichier_introuvable' => 'Arquivo @fichier@ não encontrado.',
242
+    'fonction_introuvable' => 'Função @fonction@() não encontrada.',
243
+    'form_auteur_confirmation' => 'Confirme o seu endereço de e-mail',
244
+    'form_auteur_email_modifie' => 'O seu endereço de e-mail foi alterado.',
245
+    'form_auteur_envoi_mail_confirmation' => 'Uma mensagem de confirmação acabou de ser enviada para @email@. Você precisa entrar no endereço web mencionado na mensagem para validar o seu endereço de e-mail.',
246
+    'form_auteur_mail_confirmation' => 'Olá,
247 247
 
248 248
 Você pediu para alterar o seu endereço de e-mail
249 249
 Para confirmar o seu novo endereço, basta acessar o endereço abaixo (cas contrário, a sua solicitação será ignorada):
250 250
 
251 251
     @url@
252 252
 ',
253
-	'form_deja_inscrit' => 'Você já está inscrito.',
254
-	'form_email_non_valide' => 'Seu endereço de e-mail não é válido.',
255
-	'form_forum_access_refuse' => 'Você não tem mais acesso a este site.',
256
-	'form_forum_bonjour' => 'Bom dia @nom@,',
257
-	'form_forum_confirmer_email' => 'Para confirmar o seu endereço de e-mail, clique neste link: @url_confirm@',
258
-	'form_forum_email_deja_enregistre' => 'Este endereço de e-mail já está cadastrado, você pode usar a sua senha habitual.',
259
-	'form_forum_identifiant_mail' => 'Seu novo login foi enviado por e-mail.',
260
-	'form_forum_identifiants' => 'Identificadores pessoais',
261
-	'form_forum_indiquer_nom_email' => 'Informe aqui o seu nome  endereço de e-mail. O seu identificador pessoal será enviado de imediato por correio eletrônico.',
262
-	'form_forum_login' => 'login:',
263
-	'form_forum_message_auto' => '(esta é uma mensagem automática)',
264
-	'form_forum_pass' => 'senha:',
265
-	'form_forum_probleme_mail' => 'Problema de e-mail: o identificador não pôde ser enviado.',
266
-	'form_forum_voici1' => 'Estes são os seus identificadores para que você possa participar da vida do site "@nom_site_spip@" (@adresse_site@):',
267
-	'form_forum_voici2' => 'Estes são os seus identificadores para que você possa propor matérias ao site "@nom_site_spip@" (@adresse_login@):',
268
-	'form_indiquer_email' => 'Por favor, informe o seu endereço de e-mail.',
269
-	'form_indiquer_nom' => 'Por favor, informe o seu nome.',
270
-	'form_indiquer_nom_site' => 'Por favor, informe o nome do seu site.',
271
-	'form_pet_deja_enregistre' => 'Este site já está cadastrado',
272
-	'form_pet_signature_pasprise' => 'Sua assinatura não foi computada.',
273
-	'form_prop_confirmer_envoi' => 'Confirmar o envio',
274
-	'form_prop_description' => 'Descrição / comentário',
275
-	'form_prop_enregistre' => 'Sua proposta foi cadastrada, ela aparecerá online após ser validada pelos responsáveis deste site.',
276
-	'form_prop_envoyer' => 'Enviar uma mensagem',
277
-	'form_prop_indiquer_email' => 'Por favor, indique um endereço de e-mail válido',
278
-	'form_prop_indiquer_nom_site' => 'Por favor, informe o nome do site.',
279
-	'form_prop_indiquer_sujet' => 'Por favor, informe um assunto',
280
-	'form_prop_message_envoye' => 'Mensagem enviada',
281
-	'form_prop_non_enregistre' => 'Sua proposta não foi cadastrada.',
282
-	'form_prop_sujet' => 'Assunto',
283
-	'form_prop_url_site' => 'Endereço URL do site',
284
-	'format_date_attendu' => 'Inserir uma data no formato dd/mm/aaaa.',
285
-	'format_date_incorrecte' => 'A data e o seu formato está incorreta',
286
-	'format_heure_attendu' => 'Inserir uma hora no formato hh:mm.',
287
-	'format_heure_incorrecte' => 'A hora e o seu formato está incorreta',
288
-	'forum_non_inscrit' => 'Você não está inscrito, ou o endereço ou a senha estão errados.',
289
-	'forum_par_auteur' => 'por @auteur@',
290
-	'forum_titre_erreur' => 'Erro...',
253
+    'form_deja_inscrit' => 'Você já está inscrito.',
254
+    'form_email_non_valide' => 'Seu endereço de e-mail não é válido.',
255
+    'form_forum_access_refuse' => 'Você não tem mais acesso a este site.',
256
+    'form_forum_bonjour' => 'Bom dia @nom@,',
257
+    'form_forum_confirmer_email' => 'Para confirmar o seu endereço de e-mail, clique neste link: @url_confirm@',
258
+    'form_forum_email_deja_enregistre' => 'Este endereço de e-mail já está cadastrado, você pode usar a sua senha habitual.',
259
+    'form_forum_identifiant_mail' => 'Seu novo login foi enviado por e-mail.',
260
+    'form_forum_identifiants' => 'Identificadores pessoais',
261
+    'form_forum_indiquer_nom_email' => 'Informe aqui o seu nome  endereço de e-mail. O seu identificador pessoal será enviado de imediato por correio eletrônico.',
262
+    'form_forum_login' => 'login:',
263
+    'form_forum_message_auto' => '(esta é uma mensagem automática)',
264
+    'form_forum_pass' => 'senha:',
265
+    'form_forum_probleme_mail' => 'Problema de e-mail: o identificador não pôde ser enviado.',
266
+    'form_forum_voici1' => 'Estes são os seus identificadores para que você possa participar da vida do site "@nom_site_spip@" (@adresse_site@):',
267
+    'form_forum_voici2' => 'Estes são os seus identificadores para que você possa propor matérias ao site "@nom_site_spip@" (@adresse_login@):',
268
+    'form_indiquer_email' => 'Por favor, informe o seu endereço de e-mail.',
269
+    'form_indiquer_nom' => 'Por favor, informe o seu nome.',
270
+    'form_indiquer_nom_site' => 'Por favor, informe o nome do seu site.',
271
+    'form_pet_deja_enregistre' => 'Este site já está cadastrado',
272
+    'form_pet_signature_pasprise' => 'Sua assinatura não foi computada.',
273
+    'form_prop_confirmer_envoi' => 'Confirmar o envio',
274
+    'form_prop_description' => 'Descrição / comentário',
275
+    'form_prop_enregistre' => 'Sua proposta foi cadastrada, ela aparecerá online após ser validada pelos responsáveis deste site.',
276
+    'form_prop_envoyer' => 'Enviar uma mensagem',
277
+    'form_prop_indiquer_email' => 'Por favor, indique um endereço de e-mail válido',
278
+    'form_prop_indiquer_nom_site' => 'Por favor, informe o nome do site.',
279
+    'form_prop_indiquer_sujet' => 'Por favor, informe um assunto',
280
+    'form_prop_message_envoye' => 'Mensagem enviada',
281
+    'form_prop_non_enregistre' => 'Sua proposta não foi cadastrada.',
282
+    'form_prop_sujet' => 'Assunto',
283
+    'form_prop_url_site' => 'Endereço URL do site',
284
+    'format_date_attendu' => 'Inserir uma data no formato dd/mm/aaaa.',
285
+    'format_date_incorrecte' => 'A data e o seu formato está incorreta',
286
+    'format_heure_attendu' => 'Inserir uma hora no formato hh:mm.',
287
+    'format_heure_incorrecte' => 'A hora e o seu formato está incorreta',
288
+    'forum_non_inscrit' => 'Você não está inscrito, ou o endereço ou a senha estão errados.',
289
+    'forum_par_auteur' => 'por @auteur@',
290
+    'forum_titre_erreur' => 'Erro...',
291 291
 
292
-	// I
293
-	'ical_texte_rss_articles' => 'O arquivo «backend» das matérias deste site encontra-se no endereço:',
294
-	'ical_texte_rss_articles2' => 'Você pode também obter os arquivos «backend» para as matérias de cada seção do site:',
295
-	'ical_texte_rss_breves' => 'Existe também um arquivo contendo as notas do site. Ao especificar um número de seção, você obterá unicamente as natos dessa seção.',
296
-	'icone_a_suivre' => 'Acompanhar',
297
-	'icone_admin_site' => 'Administração do site',
298
-	'icone_agenda' => 'Agenda',
299
-	'icone_aide_ligne' => 'Ajuda',
300
-	'icone_articles' => 'Matérias',
301
-	'icone_auteurs' => 'Autores',
302
-	'icone_brouteur' => 'Navegação rápida',
303
-	'icone_configuration_site' => 'Configuração',
304
-	'icone_configurer_site' => 'Configurar o seu site',
305
-	'icone_creer_nouvel_auteur' => 'Criar um novo autor',
306
-	'icone_creer_rubrique' => 'Criar uma seção',
307
-	'icone_creer_sous_rubrique' => 'Criar uma subseção',
308
-	'icone_deconnecter' => 'Desconectar-se',
309
-	'icone_discussions' => 'Discussões',
310
-	'icone_doc_rubrique' => 'Documentos das seções',
311
-	'icone_ecrire_article' => 'Escrever uma nova matéria',
312
-	'icone_edition_site' => 'Edição',
313
-	'icone_gestion_langues' => 'Gerenciamento de idiomas',
314
-	'icone_informations_personnelles' => 'Informações pessoais',
315
-	'icone_interface_complet' => 'interface completa',
316
-	'icone_interface_simple' => 'Interface simplificada',
317
-	'icone_maintenance_site' => 'Manutenção do site',
318
-	'icone_messagerie_personnelle' => 'Mensagens pessoais',
319
-	'icone_repartition_debut' => 'Exibir a repartição após o início',
320
-	'icone_rubriques' => 'Seções',
321
-	'icone_sauver_site' => 'Backup do site',
322
-	'icone_site_entier' => 'Todo o site',
323
-	'icone_sites_references' => 'Sites referenciados',
324
-	'icone_statistiques' => 'Estatísticas do site',
325
-	'icone_suivi_activite' => 'Acompanhar a vida do site',
326
-	'icone_suivi_actualite' => 'Evolução do site',
327
-	'icone_suivi_pettions' => 'Acompanhar / gerenciar as petições',
328
-	'icone_suivi_revisions' => 'Modificações das matérias',
329
-	'icone_supprimer_document' => 'Suprimir este documento',
330
-	'icone_supprimer_image' => 'Suprimir esta imagem',
331
-	'icone_tous_articles' => 'Todas as suas matérias',
332
-	'icone_tous_auteur' => 'Todos os autores',
333
-	'icone_tous_visiteur' => 'Todos os visitantes',
334
-	'icone_visiter_site' => 'Ver o site público',
335
-	'icone_voir_en_ligne' => 'Ver online',
336
-	'img_indisponible' => 'imagem indisponível',
337
-	'impossible' => 'impossível',
338
-	'info_a_suivre' => 'ACOMPANHAR»',
339
-	'info_acces_interdit' => 'Acesso interdito',
340
-	'info_acces_refuse' => 'Acesso recusado',
341
-	'info_action' => 'Ação: @action@',
342
-	'info_administrer_rubriques' => 'Você pode administrar esta seção e suas subseções',
343
-	'info_adresse_non_indiquee' => 'Você não informou o endereço a testar!',
344
-	'info_aide' => 'AJUDA:',
345
-	'info_ajouter_mot' => 'Incluir esta palavra',
346
-	'info_annonce' => 'AVISO',
347
-	'info_annonces_generales' => 'Avisos gerais:',
348
-	'info_article_propose' => 'Matéria proposta',
349
-	'info_article_publie' => 'Matéria publicada',
350
-	'info_article_redaction' => 'Matéria em fase de redação',
351
-	'info_article_refuse' => 'Matéria recusada',
352
-	'info_article_supprime' => 'Matéria suprimida',
353
-	'info_articles' => 'Matérias',
354
-	'info_articles_a_valider' => 'As matérias para validar',
355
-	'info_articles_nb' => '@nb@ matérias',
356
-	'info_articles_proposes' => 'Matérias propostas',
357
-	'info_articles_un' => '1 matéria',
358
-	'info_auteurs_nombre' => 'autor(es):',
359
-	'info_authentification_ftp' => 'Autenticação (por FTP).',
360
-	'info_breves_2' => 'notas',
361
-	'info_breves_nb' => '@nb@ notas',
362
-	'info_breves_un' => '1 nota',
363
-	'info_connexion_refusee' => 'Conexão recusada',
364
-	'info_contact_developpeur' => 'Por favor, contate um desenvolvedor.',
365
-	'info_contenance' => 'Este site contém:',
366
-	'info_contribution' => 'contribuições',
367
-	'info_copyright' => '@spip@ é um software livre distribuído @lien_gpl@.',
368
-	'info_copyright_doc' => 'Para mais informações, veja o site <a href="@spipnet@">@spipnet_affiche@</a>.',
369
-	'info_copyright_gpl' => 'sob licença GPL',
370
-	'info_cours_edition' => 'Em edição',
371
-	'info_creer_repertoire' => 'Por favor, crie um arquivo ou diretório com o nome:',
372
-	'info_creer_repertoire_2' => 'dentro do subdiretório <b>@repertoire@</b>, e depois:',
373
-	'info_creer_vignette' => 'criação automática do ícone',
374
-	'info_creerdansrubrique_non_autorise' => 'Você não tem permissão para criar um conteúdo nesta seção',
375
-	'info_deplier' => 'Expandir',
376
-	'info_descriptif_nombre' => 'descrição(ões):',
377
-	'info_description' => 'Resumo:',
378
-	'info_description_2' => 'Resumo:',
379
-	'info_dimension' => 'Dimensões:',
380
-	'info_documents_nb' => '@nb@ documentos',
381
-	'info_documents_un' => '1 documento',
382
-	'info_ecire_message_prive' => 'Escrever uma mensagem privada',
383
-	'info_email_invalide' => 'Endereço de e-mail inválido.',
384
-	'info_en_cours_validation' => 'Suas matérias em fase de redação',
385
-	'info_en_ligne' => 'Atualmente online:',
386
-	'info_envoyer_message_prive' => 'Enviar uma mensagem privada a este autor',
387
-	'info_erreur_requete' => 'Erro na requisição:',
388
-	'info_erreur_squelette2' => 'Nenhum template <b>@fichier@</b> está disponível...',
389
-	'info_erreur_systeme' => 'Erro do sistema (errno @errsys@)',
390
-	'info_erreur_systeme2' => 'É possível que não haja espaço livre em disco, ou que a base de dados esteja corrompida.<br />
292
+    // I
293
+    'ical_texte_rss_articles' => 'O arquivo «backend» das matérias deste site encontra-se no endereço:',
294
+    'ical_texte_rss_articles2' => 'Você pode também obter os arquivos «backend» para as matérias de cada seção do site:',
295
+    'ical_texte_rss_breves' => 'Existe também um arquivo contendo as notas do site. Ao especificar um número de seção, você obterá unicamente as natos dessa seção.',
296
+    'icone_a_suivre' => 'Acompanhar',
297
+    'icone_admin_site' => 'Administração do site',
298
+    'icone_agenda' => 'Agenda',
299
+    'icone_aide_ligne' => 'Ajuda',
300
+    'icone_articles' => 'Matérias',
301
+    'icone_auteurs' => 'Autores',
302
+    'icone_brouteur' => 'Navegação rápida',
303
+    'icone_configuration_site' => 'Configuração',
304
+    'icone_configurer_site' => 'Configurar o seu site',
305
+    'icone_creer_nouvel_auteur' => 'Criar um novo autor',
306
+    'icone_creer_rubrique' => 'Criar uma seção',
307
+    'icone_creer_sous_rubrique' => 'Criar uma subseção',
308
+    'icone_deconnecter' => 'Desconectar-se',
309
+    'icone_discussions' => 'Discussões',
310
+    'icone_doc_rubrique' => 'Documentos das seções',
311
+    'icone_ecrire_article' => 'Escrever uma nova matéria',
312
+    'icone_edition_site' => 'Edição',
313
+    'icone_gestion_langues' => 'Gerenciamento de idiomas',
314
+    'icone_informations_personnelles' => 'Informações pessoais',
315
+    'icone_interface_complet' => 'interface completa',
316
+    'icone_interface_simple' => 'Interface simplificada',
317
+    'icone_maintenance_site' => 'Manutenção do site',
318
+    'icone_messagerie_personnelle' => 'Mensagens pessoais',
319
+    'icone_repartition_debut' => 'Exibir a repartição após o início',
320
+    'icone_rubriques' => 'Seções',
321
+    'icone_sauver_site' => 'Backup do site',
322
+    'icone_site_entier' => 'Todo o site',
323
+    'icone_sites_references' => 'Sites referenciados',
324
+    'icone_statistiques' => 'Estatísticas do site',
325
+    'icone_suivi_activite' => 'Acompanhar a vida do site',
326
+    'icone_suivi_actualite' => 'Evolução do site',
327
+    'icone_suivi_pettions' => 'Acompanhar / gerenciar as petições',
328
+    'icone_suivi_revisions' => 'Modificações das matérias',
329
+    'icone_supprimer_document' => 'Suprimir este documento',
330
+    'icone_supprimer_image' => 'Suprimir esta imagem',
331
+    'icone_tous_articles' => 'Todas as suas matérias',
332
+    'icone_tous_auteur' => 'Todos os autores',
333
+    'icone_tous_visiteur' => 'Todos os visitantes',
334
+    'icone_visiter_site' => 'Ver o site público',
335
+    'icone_voir_en_ligne' => 'Ver online',
336
+    'img_indisponible' => 'imagem indisponível',
337
+    'impossible' => 'impossível',
338
+    'info_a_suivre' => 'ACOMPANHAR»',
339
+    'info_acces_interdit' => 'Acesso interdito',
340
+    'info_acces_refuse' => 'Acesso recusado',
341
+    'info_action' => 'Ação: @action@',
342
+    'info_administrer_rubriques' => 'Você pode administrar esta seção e suas subseções',
343
+    'info_adresse_non_indiquee' => 'Você não informou o endereço a testar!',
344
+    'info_aide' => 'AJUDA:',
345
+    'info_ajouter_mot' => 'Incluir esta palavra',
346
+    'info_annonce' => 'AVISO',
347
+    'info_annonces_generales' => 'Avisos gerais:',
348
+    'info_article_propose' => 'Matéria proposta',
349
+    'info_article_publie' => 'Matéria publicada',
350
+    'info_article_redaction' => 'Matéria em fase de redação',
351
+    'info_article_refuse' => 'Matéria recusada',
352
+    'info_article_supprime' => 'Matéria suprimida',
353
+    'info_articles' => 'Matérias',
354
+    'info_articles_a_valider' => 'As matérias para validar',
355
+    'info_articles_nb' => '@nb@ matérias',
356
+    'info_articles_proposes' => 'Matérias propostas',
357
+    'info_articles_un' => '1 matéria',
358
+    'info_auteurs_nombre' => 'autor(es):',
359
+    'info_authentification_ftp' => 'Autenticação (por FTP).',
360
+    'info_breves_2' => 'notas',
361
+    'info_breves_nb' => '@nb@ notas',
362
+    'info_breves_un' => '1 nota',
363
+    'info_connexion_refusee' => 'Conexão recusada',
364
+    'info_contact_developpeur' => 'Por favor, contate um desenvolvedor.',
365
+    'info_contenance' => 'Este site contém:',
366
+    'info_contribution' => 'contribuições',
367
+    'info_copyright' => '@spip@ é um software livre distribuído @lien_gpl@.',
368
+    'info_copyright_doc' => 'Para mais informações, veja o site <a href="@spipnet@">@spipnet_affiche@</a>.',
369
+    'info_copyright_gpl' => 'sob licença GPL',
370
+    'info_cours_edition' => 'Em edição',
371
+    'info_creer_repertoire' => 'Por favor, crie um arquivo ou diretório com o nome:',
372
+    'info_creer_repertoire_2' => 'dentro do subdiretório <b>@repertoire@</b>, e depois:',
373
+    'info_creer_vignette' => 'criação automática do ícone',
374
+    'info_creerdansrubrique_non_autorise' => 'Você não tem permissão para criar um conteúdo nesta seção',
375
+    'info_deplier' => 'Expandir',
376
+    'info_descriptif_nombre' => 'descrição(ões):',
377
+    'info_description' => 'Resumo:',
378
+    'info_description_2' => 'Resumo:',
379
+    'info_dimension' => 'Dimensões:',
380
+    'info_documents_nb' => '@nb@ documentos',
381
+    'info_documents_un' => '1 documento',
382
+    'info_ecire_message_prive' => 'Escrever uma mensagem privada',
383
+    'info_email_invalide' => 'Endereço de e-mail inválido.',
384
+    'info_en_cours_validation' => 'Suas matérias em fase de redação',
385
+    'info_en_ligne' => 'Atualmente online:',
386
+    'info_envoyer_message_prive' => 'Enviar uma mensagem privada a este autor',
387
+    'info_erreur_requete' => 'Erro na requisição:',
388
+    'info_erreur_squelette2' => 'Nenhum template <b>@fichier@</b> está disponível...',
389
+    'info_erreur_systeme' => 'Erro do sistema (errno @errsys@)',
390
+    'info_erreur_systeme2' => 'É possível que não haja espaço livre em disco, ou que a base de dados esteja corrompida.<br />
391 391
 <span style="color:red;">Tente <a href=\'@script@\'>reparar a base</a>, ou contate o seu serviço de hospedagem.</span>',
392
-	'info_fini' => 'Terminou!',
393
-	'info_format_image' => 'Formatos das imagens que podem ser utilizados para criar os ícones @gd_formats@.',
394
-	'info_format_non_defini' => 'formato não definido',
395
-	'info_grand_ecran' => 'Alta resolução',
396
-	'info_image_aide' => 'AJUDA',
397
-	'info_image_process_titre' => 'Método de criação dos ícones',
398
-	'info_impossible_lire_page' => '<b>Erro!</b> Impossível ler a página <tt><html>@test_proxy@</html></tt> via proxy',
399
-	'info_installation_systeme_publication' => 'Instalação do sistema de publicação...',
400
-	'info_installer_documents' => 'Você pode instalar automaticamente todos os documentos contídos no diretório @upload@.',
401
-	'info_installer_ftp' => 'Como administrador, você pode transferir (por FTP) arquivos para o diretório @upload@ para, em seguida, selecioná-los aqui diretamente.',
402
-	'info_installer_images' => 'Você pode transferir imagens nos formatos JPEG, GIF e PNG.',
403
-	'info_installer_images_dossier' => 'Transferir as imagens para o diretório @upload@ para poder selecioná-las aqui.',
404
-	'info_interface_complete' => 'interface completa',
405
-	'info_interface_simple' => 'Interface simplificada',
406
-	'info_joindre_document_article' => 'Você pode anexar a esta matéria documentos dos tipos a seguir',
407
-	'info_joindre_document_rubrique' => 'Você pode anexar a esta seção documentos dos tipos a seguir',
408
-	'info_joindre_documents_article' => 'Você pode anexar à sua matéria documentos dos tipos a seguir:',
409
-	'info_l_article' => 'a matéria',
410
-	'info_la_breve' => 'a nota',
411
-	'info_la_rubrique' => 'a seção',
412
-	'info_langue_principale' => 'Idioma principal do site',
413
-	'info_largeur_vignette' => '@largeur_vignette@ × @hauteur_vignette@ pixels',
414
-	'info_les_auteurs_1' => 'por @les_auteurs@',
415
-	'info_logo_format_interdit' => 'Apenas os ícones nos formatos @formats@ estão autorizados.',
416
-	'info_logo_max_poids' => 'Os ícones devem obrigatoriamente ter menos de @maxi@ (este arquivo tem @actuel@).',
417
-	'info_mail_fournisseur' => '[email protected]',
418
-	'info_message_2' => 'MENSAGEM',
419
-	'info_message_supprime' => 'MENSAGEM EXCLUÍDA',
420
-	'info_messages_nb' => '@nb@ mensagens',
421
-	'info_messages_un' => '1 mensagem',
422
-	'info_mise_en_ligne' => 'Data de publicação online:',
423
-	'info_modification_parametres_securite' => 'modificações dos parâmetros de segurança',
424
-	'info_mois_courant' => 'No mês corrente:',
425
-	'info_mot_cle_ajoute' => 'A palavra-chave a seguir foi associada a',
426
-	'info_multi_herit' => 'Idioma padrão',
427
-	'info_multi_langues_soulignees' => 'Os <u>idiomas sublinhados</u> dispõem de tradução total ou parcial dos textos da interface. Se você escolher esses idiomas, diversos elementos do site público (datas, formulários) são traduzidos automaticamente. Para os idiomas não sublinhados, estes elementos aparecerão no idioma principal do site.',
428
-	'info_multilinguisme' => 'Multilinguismo',
429
-	'info_nom_non_utilisateurs_connectes' => 'Seu nome não aparece na relação de usuários conectados.',
430
-	'info_nom_utilisateurs_connectes' => 'Seu nome aparecerá na relação de usuários conectados.',
431
-	'info_nombre_en_ligne' => 'Online neste momento:',
432
-	'info_non_resultat' => 'Nenhum resultados para "@cherche_mot@"',
433
-	'info_non_utilisation_messagerie' => 'Você não utiliza o sistema de mensagens deste site.',
434
-	'info_nouveau_message' => 'VOCÊ TEM UMA NOVA MENSAGEM',
435
-	'info_nouveaux_messages' => 'VOCÊ TEM @total_messages@ MENSAGENS NOVAS',
436
-	'info_numero_abbreviation' => 'N° ',
437
-	'info_obligatoire' => 'Esta informação é obrigatória',
438
-	'info_page_actuelle' => 'Página atual',
439
-	'info_pense_bete' => 'LEMBRETE',
440
-	'info_petit_ecran' => 'Baixa resolução',
441
-	'info_petition_close' => 'Petição fechada',
442
-	'info_pixels' => 'pixels',
443
-	'info_plusieurs_mots_trouves' => 'Várias palavras-chave encontradas para "@cherche_mot@":',
444
-	'info_portfolio_automatique' => 'Portfólio automático:',
445
-	'info_premier_resultat' => '[@debut_limit@ primeiros resultados de @total@]',
446
-	'info_premier_resultat_sur' => '[@debut_limit@ primeiros resultados de @total@]',
447
-	'info_propose_1' => '[@nom_site_spip@] Propõe: @titre@',
448
-	'info_propose_2' => 'Matéria proposta
392
+    'info_fini' => 'Terminou!',
393
+    'info_format_image' => 'Formatos das imagens que podem ser utilizados para criar os ícones @gd_formats@.',
394
+    'info_format_non_defini' => 'formato não definido',
395
+    'info_grand_ecran' => 'Alta resolução',
396
+    'info_image_aide' => 'AJUDA',
397
+    'info_image_process_titre' => 'Método de criação dos ícones',
398
+    'info_impossible_lire_page' => '<b>Erro!</b> Impossível ler a página <tt><html>@test_proxy@</html></tt> via proxy',
399
+    'info_installation_systeme_publication' => 'Instalação do sistema de publicação...',
400
+    'info_installer_documents' => 'Você pode instalar automaticamente todos os documentos contídos no diretório @upload@.',
401
+    'info_installer_ftp' => 'Como administrador, você pode transferir (por FTP) arquivos para o diretório @upload@ para, em seguida, selecioná-los aqui diretamente.',
402
+    'info_installer_images' => 'Você pode transferir imagens nos formatos JPEG, GIF e PNG.',
403
+    'info_installer_images_dossier' => 'Transferir as imagens para o diretório @upload@ para poder selecioná-las aqui.',
404
+    'info_interface_complete' => 'interface completa',
405
+    'info_interface_simple' => 'Interface simplificada',
406
+    'info_joindre_document_article' => 'Você pode anexar a esta matéria documentos dos tipos a seguir',
407
+    'info_joindre_document_rubrique' => 'Você pode anexar a esta seção documentos dos tipos a seguir',
408
+    'info_joindre_documents_article' => 'Você pode anexar à sua matéria documentos dos tipos a seguir:',
409
+    'info_l_article' => 'a matéria',
410
+    'info_la_breve' => 'a nota',
411
+    'info_la_rubrique' => 'a seção',
412
+    'info_langue_principale' => 'Idioma principal do site',
413
+    'info_largeur_vignette' => '@largeur_vignette@ × @hauteur_vignette@ pixels',
414
+    'info_les_auteurs_1' => 'por @les_auteurs@',
415
+    'info_logo_format_interdit' => 'Apenas os ícones nos formatos @formats@ estão autorizados.',
416
+    'info_logo_max_poids' => 'Os ícones devem obrigatoriamente ter menos de @maxi@ (este arquivo tem @actuel@).',
417
+    'info_mail_fournisseur' => '[email protected]',
418
+    'info_message_2' => 'MENSAGEM',
419
+    'info_message_supprime' => 'MENSAGEM EXCLUÍDA',
420
+    'info_messages_nb' => '@nb@ mensagens',
421
+    'info_messages_un' => '1 mensagem',
422
+    'info_mise_en_ligne' => 'Data de publicação online:',
423
+    'info_modification_parametres_securite' => 'modificações dos parâmetros de segurança',
424
+    'info_mois_courant' => 'No mês corrente:',
425
+    'info_mot_cle_ajoute' => 'A palavra-chave a seguir foi associada a',
426
+    'info_multi_herit' => 'Idioma padrão',
427
+    'info_multi_langues_soulignees' => 'Os <u>idiomas sublinhados</u> dispõem de tradução total ou parcial dos textos da interface. Se você escolher esses idiomas, diversos elementos do site público (datas, formulários) são traduzidos automaticamente. Para os idiomas não sublinhados, estes elementos aparecerão no idioma principal do site.',
428
+    'info_multilinguisme' => 'Multilinguismo',
429
+    'info_nom_non_utilisateurs_connectes' => 'Seu nome não aparece na relação de usuários conectados.',
430
+    'info_nom_utilisateurs_connectes' => 'Seu nome aparecerá na relação de usuários conectados.',
431
+    'info_nombre_en_ligne' => 'Online neste momento:',
432
+    'info_non_resultat' => 'Nenhum resultados para "@cherche_mot@"',
433
+    'info_non_utilisation_messagerie' => 'Você não utiliza o sistema de mensagens deste site.',
434
+    'info_nouveau_message' => 'VOCÊ TEM UMA NOVA MENSAGEM',
435
+    'info_nouveaux_messages' => 'VOCÊ TEM @total_messages@ MENSAGENS NOVAS',
436
+    'info_numero_abbreviation' => 'N° ',
437
+    'info_obligatoire' => 'Esta informação é obrigatória',
438
+    'info_page_actuelle' => 'Página atual',
439
+    'info_pense_bete' => 'LEMBRETE',
440
+    'info_petit_ecran' => 'Baixa resolução',
441
+    'info_petition_close' => 'Petição fechada',
442
+    'info_pixels' => 'pixels',
443
+    'info_plusieurs_mots_trouves' => 'Várias palavras-chave encontradas para "@cherche_mot@":',
444
+    'info_portfolio_automatique' => 'Portfólio automático:',
445
+    'info_premier_resultat' => '[@debut_limit@ primeiros resultados de @total@]',
446
+    'info_premier_resultat_sur' => '[@debut_limit@ primeiros resultados de @total@]',
447
+    'info_propose_1' => '[@nom_site_spip@] Propõe: @titre@',
448
+    'info_propose_2' => 'Matéria proposta
449 449
 ----------------',
450
-	'info_propose_3' => 'A matéria "@titre@" foi proposta para publicação.',
451
-	'info_propose_4' => 'Você está convidado a consultá-la e dar sua opinião',
452
-	'info_propose_5' => 'no fórum a ela anexado. Ela está disponível no endereço:',
453
-	'info_publie_01' => 'A matéria "@titre@" foi validada por @connect_nom@.',
454
-	'info_publie_1' => '[@nom_site_spip@] PUBLICADO: @titre@',
455
-	'info_publie_2' => 'Matéria publicada
450
+    'info_propose_3' => 'A matéria "@titre@" foi proposta para publicação.',
451
+    'info_propose_4' => 'Você está convidado a consultá-la e dar sua opinião',
452
+    'info_propose_5' => 'no fórum a ela anexado. Ela está disponível no endereço:',
453
+    'info_publie_01' => 'A matéria "@titre@" foi validada por @connect_nom@.',
454
+    'info_publie_1' => '[@nom_site_spip@] PUBLICADO: @titre@',
455
+    'info_publie_2' => 'Matéria publicada
456 456
 -----------------',
457
-	'info_rechercher' => 'Procurar',
458
-	'info_rechercher_02' => 'Procurar:',
459
-	'info_remplacer_vignette' => 'Substituir o ícone padrão por um logo personalizado:',
460
-	'info_rubriques_nb' => '@nb@ seções',
461
-	'info_rubriques_un' => '1 seção',
462
-	'info_sans_titre_2' => 'sem título',
463
-	'info_selectionner_fichier' => 'Você pode escolher um arquivo do diretório @upload@',
464
-	'info_selectionner_fichier_2' => 'Selecionar um arquivo:',
465
-	'info_sites_nb' => '@nb@ sites',
466
-	'info_sites_un' => '1 site',
467
-	'info_supprimer_vignette' => 'excluir o ícone',
468
-	'info_symbole_bleu' => 'O ícone <b>azul</b> indica um <b>lembrete</b>: ou seja, uma mensagem para seu uso pessoal.',
469
-	'info_symbole_jaune' => 'O ícone <b>amarelo</b> indica um  <b>anúncio para todos os redatores</b>: modificável por todos os administradores, e visível por todos os redatores.',
470
-	'info_symbole_vert' => 'O ícone <b>verde</b> indica as  <b>mensagens trocadas com outros usuários</b> do site.',
471
-	'info_telecharger_nouveau_logo' => 'Transferir um novo logo:',
472
-	'info_telecharger_ordinateur' => 'Tranferir do seu computador:',
473
-	'info_tous_resultats_enregistres' => '[todos os resultados são gravados]',
474
-	'info_tout_afficher' => 'Mostrar todas',
475
-	'info_travaux_texte' => 'Este site ainda não está configurado. Volte mais tarde...',
476
-	'info_travaux_titre' => 'Site em manutenção',
477
-	'info_trop_resultat' => 'Resultados de mais para "@cherche_mot@"; por favor, refine a busca.',
478
-	'info_utilisation_messagerie_interne' => 'Você usa o sistema interno de mensagens deste site.',
479
-	'info_valider_lien' => 'validar este link',
480
-	'info_verifier_image' => ', verifique se as suas imagens foram transferidas corretamente.',
481
-	'info_vignette_defaut' => 'Ícone padrão',
482
-	'info_vignette_personnalisee' => 'Ícone personalizado',
483
-	'info_visite' => 'visita:',
484
-	'info_vos_rendez_vous' => 'Seus encontros futuros',
485
-	'infos_vos_pense_bete' => 'Seus lembretes',
457
+    'info_rechercher' => 'Procurar',
458
+    'info_rechercher_02' => 'Procurar:',
459
+    'info_remplacer_vignette' => 'Substituir o ícone padrão por um logo personalizado:',
460
+    'info_rubriques_nb' => '@nb@ seções',
461
+    'info_rubriques_un' => '1 seção',
462
+    'info_sans_titre_2' => 'sem título',
463
+    'info_selectionner_fichier' => 'Você pode escolher um arquivo do diretório @upload@',
464
+    'info_selectionner_fichier_2' => 'Selecionar um arquivo:',
465
+    'info_sites_nb' => '@nb@ sites',
466
+    'info_sites_un' => '1 site',
467
+    'info_supprimer_vignette' => 'excluir o ícone',
468
+    'info_symbole_bleu' => 'O ícone <b>azul</b> indica um <b>lembrete</b>: ou seja, uma mensagem para seu uso pessoal.',
469
+    'info_symbole_jaune' => 'O ícone <b>amarelo</b> indica um  <b>anúncio para todos os redatores</b>: modificável por todos os administradores, e visível por todos os redatores.',
470
+    'info_symbole_vert' => 'O ícone <b>verde</b> indica as  <b>mensagens trocadas com outros usuários</b> do site.',
471
+    'info_telecharger_nouveau_logo' => 'Transferir um novo logo:',
472
+    'info_telecharger_ordinateur' => 'Tranferir do seu computador:',
473
+    'info_tous_resultats_enregistres' => '[todos os resultados são gravados]',
474
+    'info_tout_afficher' => 'Mostrar todas',
475
+    'info_travaux_texte' => 'Este site ainda não está configurado. Volte mais tarde...',
476
+    'info_travaux_titre' => 'Site em manutenção',
477
+    'info_trop_resultat' => 'Resultados de mais para "@cherche_mot@"; por favor, refine a busca.',
478
+    'info_utilisation_messagerie_interne' => 'Você usa o sistema interno de mensagens deste site.',
479
+    'info_valider_lien' => 'validar este link',
480
+    'info_verifier_image' => ', verifique se as suas imagens foram transferidas corretamente.',
481
+    'info_vignette_defaut' => 'Ícone padrão',
482
+    'info_vignette_personnalisee' => 'Ícone personalizado',
483
+    'info_visite' => 'visita:',
484
+    'info_vos_rendez_vous' => 'Seus encontros futuros',
485
+    'infos_vos_pense_bete' => 'Seus lembretes',
486 486
 
487
-	// L
488
-	'label_ajout_id_rapide' => 'Ajuda rápida',
489
-	'label_poids_fichier' => 'Tamanho',
490
-	'label_ponctuer' => '@label@:',
491
-	'lien_afficher_icones_seuls' => 'Exibir apenas os ícones',
492
-	'lien_afficher_texte_icones' => 'Exibir ícones e texto',
493
-	'lien_afficher_texte_seul' => 'Exibir apenas o texto',
494
-	'lien_aller_a_la_derniere_page' => 'Ir para a última página',
495
-	'lien_aller_a_la_page_nb' => 'Ir para a página @nb@',
496
-	'lien_aller_a_la_page_precedente' => 'Ir para a página anterior',
497
-	'lien_aller_a_la_page_suivante' => 'Ir para a página seguinte',
498
-	'lien_aller_a_la_premiere_page' => 'Ir para a primeira página',
499
-	'lien_liberer' => 'liberar',
500
-	'lien_liberer_tous' => 'liberar todas',
501
-	'lien_nouvea_pense_bete' => 'NOVO LEMBRETE',
502
-	'lien_nouveau_message' => 'NOVA MENSAGEM',
503
-	'lien_nouvelle_annonce' => 'NOVO ANÚNCIO',
504
-	'lien_petitions' => 'PETIÇÃO',
505
-	'lien_popularite' => 'popularidade: @popularite@%',
506
-	'lien_racine_site' => 'RAIZ DO SITE',
507
-	'lien_reessayer' => 'tente novamente',
508
-	'lien_repondre_message' => 'Responder a esta mensagem',
509
-	'lien_supprimer' => 'excluir',
510
-	'lien_tout_afficher' => 'Mostrar tudo',
511
-	'lien_visite_site' => 'visitar este site',
512
-	'lien_visites' => '@visites@ visitas',
513
-	'lien_voir_auteur' => 'Ver este autor',
514
-	'ligne' => 'Linha',
515
-	'login' => 'Conexão',
516
-	'login_acces_prive' => 'acesso ao espaço privado',
517
-	'login_autre_identifiant' => 'conectar-se com outra identificação',
518
-	'login_cookie_accepte' => 'Por favor, configure o seu navegador para aceitá-los (pelo menos para este site).',
519
-	'login_cookie_oblige' => 'Para você se identificar de modo seguro neste site, você precisa aceitar cookies.',
520
-	'login_deconnexion_ok' => 'Desconexão efetuada.',
521
-	'login_erreur_pass' => 'Erro de senha.',
522
-	'login_espace_prive' => 'espaço privado',
523
-	'login_identifiant_inconnu' => 'O identificador «@login@» não está cadastrado.',
524
-	'login_login' => 'Login:',
525
-	'login_login2' => 'Login',
526
-	'login_login_pass_incorrect' => '(Login ou senha incorreta.)',
527
-	'login_motpasseoublie' => 'esqueceu sua senha?',
528
-	'login_non_securise' => 'Atenção, este formulário não é seguro.
487
+    // L
488
+    'label_ajout_id_rapide' => 'Ajuda rápida',
489
+    'label_poids_fichier' => 'Tamanho',
490
+    'label_ponctuer' => '@label@:',
491
+    'lien_afficher_icones_seuls' => 'Exibir apenas os ícones',
492
+    'lien_afficher_texte_icones' => 'Exibir ícones e texto',
493
+    'lien_afficher_texte_seul' => 'Exibir apenas o texto',
494
+    'lien_aller_a_la_derniere_page' => 'Ir para a última página',
495
+    'lien_aller_a_la_page_nb' => 'Ir para a página @nb@',
496
+    'lien_aller_a_la_page_precedente' => 'Ir para a página anterior',
497
+    'lien_aller_a_la_page_suivante' => 'Ir para a página seguinte',
498
+    'lien_aller_a_la_premiere_page' => 'Ir para a primeira página',
499
+    'lien_liberer' => 'liberar',
500
+    'lien_liberer_tous' => 'liberar todas',
501
+    'lien_nouvea_pense_bete' => 'NOVO LEMBRETE',
502
+    'lien_nouveau_message' => 'NOVA MENSAGEM',
503
+    'lien_nouvelle_annonce' => 'NOVO ANÚNCIO',
504
+    'lien_petitions' => 'PETIÇÃO',
505
+    'lien_popularite' => 'popularidade: @popularite@%',
506
+    'lien_racine_site' => 'RAIZ DO SITE',
507
+    'lien_reessayer' => 'tente novamente',
508
+    'lien_repondre_message' => 'Responder a esta mensagem',
509
+    'lien_supprimer' => 'excluir',
510
+    'lien_tout_afficher' => 'Mostrar tudo',
511
+    'lien_visite_site' => 'visitar este site',
512
+    'lien_visites' => '@visites@ visitas',
513
+    'lien_voir_auteur' => 'Ver este autor',
514
+    'ligne' => 'Linha',
515
+    'login' => 'Conexão',
516
+    'login_acces_prive' => 'acesso ao espaço privado',
517
+    'login_autre_identifiant' => 'conectar-se com outra identificação',
518
+    'login_cookie_accepte' => 'Por favor, configure o seu navegador para aceitá-los (pelo menos para este site).',
519
+    'login_cookie_oblige' => 'Para você se identificar de modo seguro neste site, você precisa aceitar cookies.',
520
+    'login_deconnexion_ok' => 'Desconexão efetuada.',
521
+    'login_erreur_pass' => 'Erro de senha.',
522
+    'login_espace_prive' => 'espaço privado',
523
+    'login_identifiant_inconnu' => 'O identificador «@login@» não está cadastrado.',
524
+    'login_login' => 'Login:',
525
+    'login_login2' => 'Login',
526
+    'login_login_pass_incorrect' => '(Login ou senha incorreta.)',
527
+    'login_motpasseoublie' => 'esqueceu sua senha?',
528
+    'login_non_securise' => 'Atenção, este formulário não é seguro.
529 529
 Se você não quiser que a sua senha possa ser interceptada na rede, por favor ative o Javascript no seu navegador e',
530
-	'login_nouvelle_tentative' => 'Tentar novamente',
531
-	'login_par_ici' => 'VocÊ está registrado... por aqui...',
532
-	'login_pass2' => 'Senha:',
533
-	'login_preferez_refuser' => '<b>Se você prefere recusar os cookies</b>, um outro método de conexão (menos seguro) está disponível:',
534
-	'login_recharger' => 'atualizar esta página',
535
-	'login_rester_identifie' => 'Manter-se identificado',
536
-	'login_retour_public' => 'Voltar ao site público',
537
-	'login_retour_site' => 'Voltar ao site público',
538
-	'login_retoursitepublic' => 'voltar ao site público',
539
-	'login_sans_cookie' => 'Identificação sem cookie',
540
-	'login_securise' => 'Login seguro',
541
-	'login_sinscrire' => 'cadastrar-se',
542
-	'login_test_navigateur' => 'testar navegador/reconexão',
543
-	'login_verifiez_navigateur' => '(Verifique sempre se o seu navegador não está memorizando a sua senha...)',
530
+    'login_nouvelle_tentative' => 'Tentar novamente',
531
+    'login_par_ici' => 'VocÊ está registrado... por aqui...',
532
+    'login_pass2' => 'Senha:',
533
+    'login_preferez_refuser' => '<b>Se você prefere recusar os cookies</b>, um outro método de conexão (menos seguro) está disponível:',
534
+    'login_recharger' => 'atualizar esta página',
535
+    'login_rester_identifie' => 'Manter-se identificado',
536
+    'login_retour_public' => 'Voltar ao site público',
537
+    'login_retour_site' => 'Voltar ao site público',
538
+    'login_retoursitepublic' => 'voltar ao site público',
539
+    'login_sans_cookie' => 'Identificação sem cookie',
540
+    'login_securise' => 'Login seguro',
541
+    'login_sinscrire' => 'cadastrar-se',
542
+    'login_test_navigateur' => 'testar navegador/reconexão',
543
+    'login_verifiez_navigateur' => '(Verifique sempre se o seu navegador não está memorizando a sua senha...)',
544 544
 
545
-	// M
546
-	'masquer_colonne' => 'Ocultar esta coluna',
547
-	'masquer_trad' => 'esconder as traduções',
548
-	'message_nouveaux_identifiants_echec' => 'Impossível criar novos logins.',
549
-	'message_nouveaux_identifiants_echec_envoi' => 'Os novos logins de conexão não puderam ser enviados.',
550
-	'message_nouveaux_identifiants_ok' => 'Os novos logins de conexão foram enviados para @email@.',
551
-	'module_fichiers_langues' => 'Arquivos de idioma',
545
+    // M
546
+    'masquer_colonne' => 'Ocultar esta coluna',
547
+    'masquer_trad' => 'esconder as traduções',
548
+    'message_nouveaux_identifiants_echec' => 'Impossível criar novos logins.',
549
+    'message_nouveaux_identifiants_echec_envoi' => 'Os novos logins de conexão não puderam ser enviados.',
550
+    'message_nouveaux_identifiants_ok' => 'Os novos logins de conexão foram enviados para @email@.',
551
+    'module_fichiers_langues' => 'Arquivos de idioma',
552 552
 
553
-	// N
554
-	'navigateur_pas_redirige' => 'Se o seu navegador não o redirecionar, clique aqui para continuar.',
555
-	'numero' => 'Número',
553
+    // N
554
+    'navigateur_pas_redirige' => 'Se o seu navegador não o redirecionar, clique aqui para continuar.',
555
+    'numero' => 'Número',
556 556
 
557
-	// O
558
-	'occurence' => 'Ocorrência',
559
-	'onglet_affacer_base' => 'Apagar a base',
560
-	'onglet_auteur' => 'O autor',
561
-	'onglet_contenu_site' => 'Conteúdo do site',
562
-	'onglet_evolution_visite_mod' => 'Evolução',
563
-	'onglet_fonctions_avances' => 'Funções avançadas',
564
-	'onglet_informations_personnelles' => 'Informações pessoais',
565
-	'onglet_interactivite' => 'Interatividade',
566
-	'onglet_messagerie' => 'Sistema de mensagens',
567
-	'onglet_repartition_rubrique' => 'Repartição por seções',
568
-	'onglet_save_restaur_base' => 'Fazer cópia de segurança/restaurar a base',
569
-	'onglet_vider_cache' => 'Esvaziar o cache',
557
+    // O
558
+    'occurence' => 'Ocorrência',
559
+    'onglet_affacer_base' => 'Apagar a base',
560
+    'onglet_auteur' => 'O autor',
561
+    'onglet_contenu_site' => 'Conteúdo do site',
562
+    'onglet_evolution_visite_mod' => 'Evolução',
563
+    'onglet_fonctions_avances' => 'Funções avançadas',
564
+    'onglet_informations_personnelles' => 'Informações pessoais',
565
+    'onglet_interactivite' => 'Interatividade',
566
+    'onglet_messagerie' => 'Sistema de mensagens',
567
+    'onglet_repartition_rubrique' => 'Repartição por seções',
568
+    'onglet_save_restaur_base' => 'Fazer cópia de segurança/restaurar a base',
569
+    'onglet_vider_cache' => 'Esvaziar o cache',
570 570
 
571
-	// P
572
-	'pass_choix_pass' => 'Por favor, escolha a sua nova senha:',
573
-	'pass_erreur' => 'Erro',
574
-	'pass_erreur_acces_refuse' => '<b>Erro:</b> você não tem mais acesso a este site.',
575
-	'pass_erreur_code_inconnu' => '<b>Erro:</b> este login não corresponde a nenhum visitante com permissão de acesso a este site.',
576
-	'pass_erreur_non_enregistre' => '<b>Erro:</b> o e-mail <tt>@email_oubli@</tt> não está cadastrado neste site.',
577
-	'pass_erreur_non_valide' => '<b>Erro:</b> o e-mail <tt>@email_oubli@</tt> não é válido!',
578
-	'pass_erreur_probleme_technique' => '<b>Erro:</b> este e-mail não pôde ser enviado devido a um problema técnico.',
579
-	'pass_espace_prive_bla' => 'O espaço privado deste site é aberto aos visitantes, após inscrição. Uma vez cadastrado, você poderá consultar as matérias em fase de redação, propor a publicação de novas matérias e participar de todos os fóruns.',
580
-	'pass_forum_bla' => 'Você soliciou a participação num fórum reservado a visitantes registrados.',
581
-	'pass_indiquez_cidessous' => 'Informe abaixo o endereço de e-mail com o qual você se cadastrou anteriormente. Você receberá um e-mail lhe indicando os procedimentos a seguir para recuperar o seu acesso.',
582
-	'pass_mail_passcookie' => '(esta é uma mensagem automática)
571
+    // P
572
+    'pass_choix_pass' => 'Por favor, escolha a sua nova senha:',
573
+    'pass_erreur' => 'Erro',
574
+    'pass_erreur_acces_refuse' => '<b>Erro:</b> você não tem mais acesso a este site.',
575
+    'pass_erreur_code_inconnu' => '<b>Erro:</b> este login não corresponde a nenhum visitante com permissão de acesso a este site.',
576
+    'pass_erreur_non_enregistre' => '<b>Erro:</b> o e-mail <tt>@email_oubli@</tt> não está cadastrado neste site.',
577
+    'pass_erreur_non_valide' => '<b>Erro:</b> o e-mail <tt>@email_oubli@</tt> não é válido!',
578
+    'pass_erreur_probleme_technique' => '<b>Erro:</b> este e-mail não pôde ser enviado devido a um problema técnico.',
579
+    'pass_espace_prive_bla' => 'O espaço privado deste site é aberto aos visitantes, após inscrição. Uma vez cadastrado, você poderá consultar as matérias em fase de redação, propor a publicação de novas matérias e participar de todos os fóruns.',
580
+    'pass_forum_bla' => 'Você soliciou a participação num fórum reservado a visitantes registrados.',
581
+    'pass_indiquez_cidessous' => 'Informe abaixo o endereço de e-mail com o qual você se cadastrou anteriormente. Você receberá um e-mail lhe indicando os procedimentos a seguir para recuperar o seu acesso.',
582
+    'pass_mail_passcookie' => '(esta é uma mensagem automática)
583 583
 Para recuperar o seu acesso ao site
584 584
 @nom_site_spip@ (@adresse_site@)
585 585
 
@@ -591,136 +591,136 @@  discard block
 block discarded – undo
591 591
 e reconectar-se com o site.
592 592
 
593 593
 ',
594
-	'pass_mot_oublie' => 'Senha esquecida',
595
-	'pass_nouveau_enregistre' => 'Sua nova senha foi cadastrada.',
596
-	'pass_nouveau_pass' => 'Nova senha',
597
-	'pass_ok' => 'OK',
598
-	'pass_oubli_mot' => 'Esquecimento de senha',
599
-	'pass_procedure_changer' => 'Para alterar a sua senha, por favor informe o endereço de e-mail associado à sua conta.',
600
-	'pass_quitter_fenetre' => 'Fechar esta janela',
601
-	'pass_rappel_login' => 'Lembrete: seu login é «@login@».',
602
-	'pass_recevoir_mail' => 'Um link para redefinição da sua senha foi enviado para o seu endereço de e-mail (se ele for válido).',
603
-	'pass_retour_public' => 'Voltar para o site público',
604
-	'pass_rien_a_faire_ici' => 'Nada a fazer aqui.',
605
-	'pass_vousinscrire' => 'Cadastrar-se neste site',
606
-	'precedent' => 'precedente',
607
-	'previsualisation' => 'Visualização',
608
-	'previsualiser' => 'Visualizar',
594
+    'pass_mot_oublie' => 'Senha esquecida',
595
+    'pass_nouveau_enregistre' => 'Sua nova senha foi cadastrada.',
596
+    'pass_nouveau_pass' => 'Nova senha',
597
+    'pass_ok' => 'OK',
598
+    'pass_oubli_mot' => 'Esquecimento de senha',
599
+    'pass_procedure_changer' => 'Para alterar a sua senha, por favor informe o endereço de e-mail associado à sua conta.',
600
+    'pass_quitter_fenetre' => 'Fechar esta janela',
601
+    'pass_rappel_login' => 'Lembrete: seu login é «@login@».',
602
+    'pass_recevoir_mail' => 'Um link para redefinição da sua senha foi enviado para o seu endereço de e-mail (se ele for válido).',
603
+    'pass_retour_public' => 'Voltar para o site público',
604
+    'pass_rien_a_faire_ici' => 'Nada a fazer aqui.',
605
+    'pass_vousinscrire' => 'Cadastrar-se neste site',
606
+    'precedent' => 'precedente',
607
+    'previsualisation' => 'Visualização',
608
+    'previsualiser' => 'Visualizar',
609 609
 
610
-	// R
611
-	'retour' => 'Voltar',
610
+    // R
611
+    'retour' => 'Voltar',
612 612
 
613
-	// S
614
-	'spip_conforme_dtd' => 'O SPIP considera este documento de acordo com o seu DOCTYPE:',
615
-	'squelette' => 'template',
616
-	'squelette_inclus_ligne' => 'template incluído, linha',
617
-	'squelette_ligne' => 'template, linha',
618
-	'stats_visites_et_popularite' => '@visites@ visitas; popularidade: @popularite@',
619
-	'suivant' => 'seguinte',
613
+    // S
614
+    'spip_conforme_dtd' => 'O SPIP considera este documento de acordo com o seu DOCTYPE:',
615
+    'squelette' => 'template',
616
+    'squelette_inclus_ligne' => 'template incluído, linha',
617
+    'squelette_ligne' => 'template, linha',
618
+    'stats_visites_et_popularite' => '@visites@ visitas; popularidade: @popularite@',
619
+    'suivant' => 'seguinte',
620 620
 
621
-	// T
622
-	'taille_go' => '@taille@ GB',
623
-	'taille_ko' => '@taille@ KB',
624
-	'taille_mo' => '@taille@ MB',
625
-	'taille_octets' => ' @taille@ bytes',
626
-	'texte_actualite_site_1' => 'Quando você estiver mais familiarizado com a interface, clique em «',
627
-	'texte_actualite_site_2' => 'interface completa',
628
-	'texte_actualite_site_3' => '» para abrir mais possibilidades.',
629
-	'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.',
630
-	'texte_documents_associes' => 'Os documentos a seguir estão associados à matéria,
621
+    // T
622
+    'taille_go' => '@taille@ GB',
623
+    'taille_ko' => '@taille@ KB',
624
+    'taille_mo' => '@taille@ MB',
625
+    'taille_octets' => ' @taille@ bytes',
626
+    'texte_actualite_site_1' => 'Quando você estiver mais familiarizado com a interface, clique em «',
627
+    'texte_actualite_site_2' => 'interface completa',
628
+    'texte_actualite_site_3' => '» para abrir mais possibilidades.',
629
+    '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.',
630
+    'texte_documents_associes' => 'Os documentos a seguir estão associados à matéria,
631 631
 mas eles não foram inseridos diretamente. Dependendo da elaboração dos templates do site público, eles podem aparecer como documentos anexados.',
632
-	'texte_erreur_mise_niveau_base' => 'Erro da base de dados durante a atualização.
632
+    'texte_erreur_mise_niveau_base' => 'Erro da base de dados durante a atualização.
633 633
 A imagem <b>@fichier@</b> não passou (matéria @id_article@).
634 634
 Anote esta referência, tente novamente a atualização e, finalmente, verifique se as imagens aparecem nas matérias.',
635
-	'texte_erreur_visiteur' => 'Você tentou acessar o espaço restrito com um login que não tem a permissão necessária.',
636
-	'texte_inc_auth_1' => 'Você se identificou com o login <b>@auth_login@</b>, mas ele não consta (mais) na base.
635
+    'texte_erreur_visiteur' => 'Você tentou acessar o espaço restrito com um login que não tem a permissão necessária.',
636
+    'texte_inc_auth_1' => 'Você se identificou com o login <b>@auth_login@</b>, mas ele não consta (mais) na base.
637 637
 Tente se',
638
-	'texte_inc_auth_2' => 'reconectar',
639
-	'texte_inc_auth_3' => ', após ter eventualmente saído e reiniciado o seu navegador.',
640
-	'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>',
641
-	'texte_inc_meta_1' => 'O sistema encontrou um erro durante a escrita do arquivo <code>@fichier@</code>. Como administrador do site, queira por favor,',
642
-	'texte_inc_meta_2' => 'Verificar os direitos de escrita',
643
-	'texte_inc_meta_3' => 'no diretório <code>@repertoire@</code>.',
644
-	'texte_statut_en_cours_redaction' => 'em fase de redação',
645
-	'texte_statut_poubelle' => 'na lixeira',
646
-	'texte_statut_propose_evaluation' => 'proposto para avaliação',
647
-	'texte_statut_publie' => 'publicado online',
648
-	'texte_statut_refuse' => 'recusado',
649
-	'titre_ajouter_mot_cle' => 'INCLUIR UMA PALAVRA-CHAVE:',
650
-	'titre_cadre_raccourcis' => 'ATALHOS:',
651
-	'titre_changer_couleur_interface' => 'Alterar a côr da interface',
652
-	'titre_image_admin_article' => 'Você pode administrar esta matéria',
653
-	'titre_image_administrateur' => 'Administrador',
654
-	'titre_image_aide' => 'Ajuda sobre este elemento',
655
-	'titre_image_auteur_supprime' => 'Autor excluído',
656
-	'titre_image_redacteur' => 'Redator sem acesso',
657
-	'titre_image_redacteur_02' => 'Redator',
658
-	'titre_image_selecteur' => 'Ver a lista',
659
-	'titre_image_visiteur' => 'Visitante',
660
-	'titre_joindre_document' => 'INCLUIR UM DOCUMENTO',
661
-	'titre_mots_cles' => 'PALAVRAS-CHAVE',
662
-	'titre_probleme_technique' => 'Atenção: um problema técnico (servidor SQL) impede o acesso a esta parte do site. Agradecemos sua compreensão.',
663
-	'titre_publier_document' => 'PUBLICAR UM DOCUMENTO NESTA SEÇÃO',
664
-	'titre_signatures_attente' => 'Assinaturas aguardando validação',
665
-	'titre_signatures_confirmees' => 'Assinaturas confirmadas',
666
-	'titre_statistiques' => 'Estatísticas do site',
667
-	'titre_titre_document' => 'Título do documento:',
668
-	'todo' => 'breve',
669
-	'trad_definir_reference' => 'Escolher "@titre@" como referência das traduções',
670
-	'trad_reference' => '(matéria das traduções)',
638
+    'texte_inc_auth_2' => 'reconectar',
639
+    'texte_inc_auth_3' => ', após ter eventualmente saído e reiniciado o seu navegador.',
640
+    '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>',
641
+    'texte_inc_meta_1' => 'O sistema encontrou um erro durante a escrita do arquivo <code>@fichier@</code>. Como administrador do site, queira por favor,',
642
+    'texte_inc_meta_2' => 'Verificar os direitos de escrita',
643
+    'texte_inc_meta_3' => 'no diretório <code>@repertoire@</code>.',
644
+    'texte_statut_en_cours_redaction' => 'em fase de redação',
645
+    'texte_statut_poubelle' => 'na lixeira',
646
+    'texte_statut_propose_evaluation' => 'proposto para avaliação',
647
+    'texte_statut_publie' => 'publicado online',
648
+    'texte_statut_refuse' => 'recusado',
649
+    'titre_ajouter_mot_cle' => 'INCLUIR UMA PALAVRA-CHAVE:',
650
+    'titre_cadre_raccourcis' => 'ATALHOS:',
651
+    'titre_changer_couleur_interface' => 'Alterar a côr da interface',
652
+    'titre_image_admin_article' => 'Você pode administrar esta matéria',
653
+    'titre_image_administrateur' => 'Administrador',
654
+    'titre_image_aide' => 'Ajuda sobre este elemento',
655
+    'titre_image_auteur_supprime' => 'Autor excluído',
656
+    'titre_image_redacteur' => 'Redator sem acesso',
657
+    'titre_image_redacteur_02' => 'Redator',
658
+    'titre_image_selecteur' => 'Ver a lista',
659
+    'titre_image_visiteur' => 'Visitante',
660
+    'titre_joindre_document' => 'INCLUIR UM DOCUMENTO',
661
+    'titre_mots_cles' => 'PALAVRAS-CHAVE',
662
+    'titre_probleme_technique' => 'Atenção: um problema técnico (servidor SQL) impede o acesso a esta parte do site. Agradecemos sua compreensão.',
663
+    'titre_publier_document' => 'PUBLICAR UM DOCUMENTO NESTA SEÇÃO',
664
+    'titre_signatures_attente' => 'Assinaturas aguardando validação',
665
+    'titre_signatures_confirmees' => 'Assinaturas confirmadas',
666
+    'titre_statistiques' => 'Estatísticas do site',
667
+    'titre_titre_document' => 'Título do documento:',
668
+    'todo' => 'breve',
669
+    'trad_definir_reference' => 'Escolher "@titre@" como referência das traduções',
670
+    'trad_reference' => '(matéria das traduções)',
671 671
 
672
-	// U
673
-	'upload_limit' => 'Este arquivo é grande demais para o servidor; o tamanho máximo autorizado para <i>upload</i> é de @max@.',
672
+    // U
673
+    'upload_limit' => 'Este arquivo é grande demais para o servidor; o tamanho máximo autorizado para <i>upload</i> é de @max@.',
674 674
 
675
-	// Z
676
-	'zbug_balise_b_aval' => ': tag B colocada após BOUCLE',
677
-	'zbug_balise_inexistante' => 'Tag @balise@ mal declarada para @from@',
678
-	'zbug_balise_sans_argument' => 'Falta um arqumento na tag @balise@',
679
-	'zbug_boucle' => 'laço',
680
-	'zbug_boucle_recursive_undef' => 'Laço recursivo não definido: @nom@',
681
-	'zbug_calcul' => 'cálculo',
682
-	'zbug_champ_hors_boucle' => 'Campo @champ@ fora do laço',
683
-	'zbug_champ_hors_critere' => 'Campo @champ@ fora do critério @critere@',
684
-	'zbug_champ_hors_motif' => 'Campo @champ@ fora de um contexto @motif@',
685
-	'zbug_code' => 'código',
686
-	'zbug_critere_inconnu' => 'Critério @critere@ desconhecido',
687
-	'zbug_critere_sur_table_sans_cle_primaire' => '{@critere@} em uma tabela sem chave primária atômica',
688
-	'zbug_distant_interdit' => 'Externa interdita',
689
-	'zbug_doublon_table_sans_cle_primaire' => 'Duplicação em tabela sem chave primária atômica',
690
-	'zbug_doublon_table_sans_index' => 'Doublons em uma tabela sem index',
691
-	'zbug_erreur_boucle_double' => 'Dupla definição do laço @id@',
692
-	'zbug_erreur_boucle_fermant' => 'Laço @id@ não fechado',
693
-	'zbug_erreur_boucle_syntaxe' => 'Sintaxe do laço @id@ está incorreta',
694
-	'zbug_erreur_compilation' => 'Erro de compilação',
695
-	'zbug_erreur_execution_page' => 'Erro de execução',
696
-	'zbug_erreur_filtre' => 'Filtro @filtre@ não definido',
697
-	'zbug_erreur_filtre_nbarg_min' => 'Filtro @filtre@: falta(m) @nb@ argumento(s)',
698
-	'zbug_erreur_meme_parent' => 'O critério {meme_parent} aplica-se exclusivamente aos laços (FORUMS) ou (RUBRIQUES)',
699
-	'zbug_erreur_squelette' => 'Erro(s) no template',
700
-	'zbug_hors_compilation' => 'Fora de Compilação',
701
-	'zbug_info_erreur_squelette' => 'Erro no site',
702
-	'zbug_inversion_ordre_inexistant' => 'Inversão de uma ordem inexistente',
703
-	'zbug_pagination_sans_critere' => 'Tag #PAGINATION sem critério {pagination} ou usada dentro de uma boucle recursiva',
704
-	'zbug_parametres_inclus_incorrects' => 'Parâmetro de inclusão incorreto: @param@',
705
-	'zbug_profile' => 'Tempo de processamento: @time@',
706
-	'zbug_resultat' => 'resultado',
707
-	'zbug_serveur_indefini' => 'Sevidor SQL não definido',
708
-	'zbug_statistiques' => 'Estatísticas das requisições SQL classificadas por duração',
709
-	'zbug_table_inconnue' => 'Tabela SQL «@table@» desconhecida',
710
-	'zxml_connus_attributs' => 'atributos conhecidos',
711
-	'zxml_de' => 'de',
712
-	'zxml_inconnu_attribut' => 'atributo desconhecido',
713
-	'zxml_inconnu_balise' => 'tag desconhecida',
714
-	'zxml_inconnu_entite' => 'entidade desconhecida',
715
-	'zxml_inconnu_id' => 'ID desconhecida',
716
-	'zxml_mais_de' => 'mas de',
717
-	'zxml_non_conforme' => 'não está de acordo com o motivo',
718
-	'zxml_non_fils' => 'não é filho de',
719
-	'zxml_nonvide_balise' => 'tag não vazia',
720
-	'zxml_obligatoire_attribut' => 'atributo obrigatório mas ausente em',
721
-	'zxml_succession_fils_incorrecte' => 'sucessão de filhos incorreta',
722
-	'zxml_survoler' => 'sobrepor para ver os corretos',
723
-	'zxml_valeur_attribut' => 'valor do atributo',
724
-	'zxml_vide_balise' => 'tag vazia',
725
-	'zxml_vu' => 'previsualização'
675
+    // Z
676
+    'zbug_balise_b_aval' => ': tag B colocada após BOUCLE',
677
+    'zbug_balise_inexistante' => 'Tag @balise@ mal declarada para @from@',
678
+    'zbug_balise_sans_argument' => 'Falta um arqumento na tag @balise@',
679
+    'zbug_boucle' => 'laço',
680
+    'zbug_boucle_recursive_undef' => 'Laço recursivo não definido: @nom@',
681
+    'zbug_calcul' => 'cálculo',
682
+    'zbug_champ_hors_boucle' => 'Campo @champ@ fora do laço',
683
+    'zbug_champ_hors_critere' => 'Campo @champ@ fora do critério @critere@',
684
+    'zbug_champ_hors_motif' => 'Campo @champ@ fora de um contexto @motif@',
685
+    'zbug_code' => 'código',
686
+    'zbug_critere_inconnu' => 'Critério @critere@ desconhecido',
687
+    'zbug_critere_sur_table_sans_cle_primaire' => '{@critere@} em uma tabela sem chave primária atômica',
688
+    'zbug_distant_interdit' => 'Externa interdita',
689
+    'zbug_doublon_table_sans_cle_primaire' => 'Duplicação em tabela sem chave primária atômica',
690
+    'zbug_doublon_table_sans_index' => 'Doublons em uma tabela sem index',
691
+    'zbug_erreur_boucle_double' => 'Dupla definição do laço @id@',
692
+    'zbug_erreur_boucle_fermant' => 'Laço @id@ não fechado',
693
+    'zbug_erreur_boucle_syntaxe' => 'Sintaxe do laço @id@ está incorreta',
694
+    'zbug_erreur_compilation' => 'Erro de compilação',
695
+    'zbug_erreur_execution_page' => 'Erro de execução',
696
+    'zbug_erreur_filtre' => 'Filtro @filtre@ não definido',
697
+    'zbug_erreur_filtre_nbarg_min' => 'Filtro @filtre@: falta(m) @nb@ argumento(s)',
698
+    'zbug_erreur_meme_parent' => 'O critério {meme_parent} aplica-se exclusivamente aos laços (FORUMS) ou (RUBRIQUES)',
699
+    'zbug_erreur_squelette' => 'Erro(s) no template',
700
+    'zbug_hors_compilation' => 'Fora de Compilação',
701
+    'zbug_info_erreur_squelette' => 'Erro no site',
702
+    'zbug_inversion_ordre_inexistant' => 'Inversão de uma ordem inexistente',
703
+    'zbug_pagination_sans_critere' => 'Tag #PAGINATION sem critério {pagination} ou usada dentro de uma boucle recursiva',
704
+    'zbug_parametres_inclus_incorrects' => 'Parâmetro de inclusão incorreto: @param@',
705
+    'zbug_profile' => 'Tempo de processamento: @time@',
706
+    'zbug_resultat' => 'resultado',
707
+    'zbug_serveur_indefini' => 'Sevidor SQL não definido',
708
+    'zbug_statistiques' => 'Estatísticas das requisições SQL classificadas por duração',
709
+    'zbug_table_inconnue' => 'Tabela SQL «@table@» desconhecida',
710
+    'zxml_connus_attributs' => 'atributos conhecidos',
711
+    'zxml_de' => 'de',
712
+    'zxml_inconnu_attribut' => 'atributo desconhecido',
713
+    'zxml_inconnu_balise' => 'tag desconhecida',
714
+    'zxml_inconnu_entite' => 'entidade desconhecida',
715
+    'zxml_inconnu_id' => 'ID desconhecida',
716
+    'zxml_mais_de' => 'mas de',
717
+    'zxml_non_conforme' => 'não está de acordo com o motivo',
718
+    'zxml_non_fils' => 'não é filho de',
719
+    'zxml_nonvide_balise' => 'tag não vazia',
720
+    'zxml_obligatoire_attribut' => 'atributo obrigatório mas ausente em',
721
+    'zxml_succession_fils_incorrecte' => 'sucessão de filhos incorreta',
722
+    'zxml_survoler' => 'sobrepor para ver os corretos',
723
+    'zxml_valeur_attribut' => 'valor do atributo',
724
+    'zxml_vide_balise' => 'tag vazia',
725
+    'zxml_vu' => 'previsualização'
726 726
 );
Please login to merge, or discard this patch.