Completed
Push — master ( 8ac1c9...4b0d59 )
by cam
01:18
created
ecrire/lang/ecrire_km.php 1 patch
Indentation   +584 added lines, -584 removed lines patch added patch discarded remove patch
@@ -4,621 +4,621 @@
 block discarded – undo
4 4
 // ** ne pas modifier le fichier **
5 5
 
6 6
 if (!defined('_ECRIRE_INC_VERSION')) {
7
-	return;
7
+    return;
8 8
 }
9 9
 
10 10
 $GLOBALS[$GLOBALS['idx_lang']] = array(
11 11
 
12
-	// A
13
-	'activer_plugin' => '​ធ្វើ​អោយសកម្ម plugin',
14
-	'affichage' => 'បង្ហាញចេញ',
15
-	'aide_non_disponible' => 'ផ្នែក​នេះ នៃជំនួយ លើអិនរើណែត គ្មានស្រាប់ សំរាប់ភាសានេះ។',
16
-	'auteur' => 'អ្នកនិពន្ធ៖',
17
-	'avis_acces_interdit' => 'ការ​ចូល​ទៅ ត្រូវ​បាន​ហាម។',
18
-	'avis_article_modifie' => 'ប្រយត្ន, @nom_auteur_modif@ )បានធ្វើការ លើអត្ថបទ​នេះ បាន @date_diff@ នាទី',
19
-	'avis_aucun_resultat' => 'គ្មានរកឃើញ​ លទ្ធផល។',
20
-	'avis_chemin_invalide_1' => 'ផ្លូវ អ្នកបានជ្រើសយក',
21
-	'avis_chemin_invalide_2' => 'ប្រហែលគ្មានសុពលភាព។ សូមត្រលប់ទៅ ទំព័រមុន និងផ្ទៀងពត៌មានបានផ្តល់។',
22
-	'avis_connexion_echec_1' => 'បញ្ជាប់ទៅ ខំព្យូរើបំរើសេវា SQL បានបរាជ័យ។',
23
-	'avis_connexion_echec_2' => 'ត្រលប់ទៅ ទំព័រ​មុន និងផ្ទៀងពត៌មាន ​ដែល​អ្នក​បាន​ផ្ដល់​។',
24
-	'avis_connexion_echec_3' => '<b>ចំណាំសំខាន់</b> លើមួយចំនួនខំព្យូរើបំរើសេវា, អ្នកត្រូវតែ <b>ស្នើ</b> ការធ្វើអោយសកម្ម ការចូលទៅ របស់អ្នក ក្នុងមូលដ្ឋានទិន្នន័យ មុនអាចប្រើប្រាស់វា។ បើអ្នកគ្មានអាចភ្ជាប់ទៅ, អ្នកផ្ទៀង តើអ្នកបានអនុវត្ត ការធ្វើអោយសកម្មនេះ។',
25
-	'avis_connexion_ldap_echec_1' => 'បញ្ជាប់ទៅ ខំព្យូរើបំរើសេវា LDAP បានបរាជ័យ។',
26
-	'avis_connexion_ldap_echec_2' => 'ត្រលប់ទៅ ទំព័រមុន, និងផ្ទៀង ពត៌មាន អ្នកបានផ្តល់។',
27
-	'avis_connexion_ldap_echec_3' => 'តាមជំរើស, កុំ​ប្រើ​ប្រាស់ការ​គាំទ្រ LDAP ដើម្បី​នាំចូលអ្នក​ប្រើប្រាស់។',
28
-	'avis_deplacement_rubrique' => 'ប្រយត្ន! មាតិកា​នេះ ​មានផ្ទុក @contient_breves@ ពត៌មានសង្ខេប @scb@ ៖ បើ​អ្នក​ប្តូរទីតាំងវា, សូមគូស ប្រអប់បញ្ជាក់ទទួលស្គាល់ នេះ។',
29
-	'avis_erreur_connexion_mysql' => 'កំហុស​ ភ្ជាប់ទៅ SQL ',
30
-	'avis_espace_interdit' => '<b>តំបន់ហាម</b> <div>SPIP ធ្លាប់ត្រូវ​បានតំលើង។</div>',
31
-	'avis_lecture_noms_bases_1' => 'កម្មវិធីតំលើង គ្មាន​អាច ​អាន​ឈ្មោះ​ឃ្លាំង​ទិន្នន័យ​ ដែល​ត្រូវបានតំលើង។',
32
-	'avis_lecture_noms_bases_2' => '​ឃ្លាំង​ទិន្នន័យ គ្មានស្រាប់, ឬមុខងារអនុញ្ញាត ការរាយបញ្ជី​ នុមូលដ្ឋានទិន្នន័យ គ្មានត្រូវបានអនុញ្ញាត ព្រោះហេតុផលសុវត្ថភាព (វាជាករណី ជាមួយច្រើនខំព្យូរើ)។',
33
-	'avis_lecture_noms_bases_3' => 'ករណីជំរើសទីពីរ ពិត, វាអាចជាលទ្ធភាព ដែលមួួមូលដ្ឋានទិន្នន័យ ត្រូវបានដាក់ឈ្មោះ ក្រោយការពិនិត្យចូល របស់អ្នក អាចត្រូវបានប្រើប្រាស់៖',
34
-	'avis_non_acces_page' => 'អ្នក​គ្មានអាច ​ចូល​ទៅ​ ​ទំព័រ​នេះ។',
35
-	'avis_operation_echec' => 'ប្រតិបត្ដិការ ​បានបរាជ័យ។',
36
-	'avis_operation_impossible' => 'ប្រតិបត្ដិការ​ មិន​អាចទៅ​រួច',
37
-	'avis_suppression_base' => 'ប្រយត្ន, ការលុបចេញ​ទិន្នន័យ គ្មានអាច​ត្រលប់​វិញ',
12
+    // A
13
+    'activer_plugin' => '​ធ្វើ​អោយសកម្ម plugin',
14
+    'affichage' => 'បង្ហាញចេញ',
15
+    'aide_non_disponible' => 'ផ្នែក​នេះ នៃជំនួយ លើអិនរើណែត គ្មានស្រាប់ សំរាប់ភាសានេះ។',
16
+    'auteur' => 'អ្នកនិពន្ធ៖',
17
+    'avis_acces_interdit' => 'ការ​ចូល​ទៅ ត្រូវ​បាន​ហាម។',
18
+    'avis_article_modifie' => 'ប្រយត្ន, @nom_auteur_modif@ )បានធ្វើការ លើអត្ថបទ​នេះ បាន @date_diff@ នាទី',
19
+    'avis_aucun_resultat' => 'គ្មានរកឃើញ​ លទ្ធផល។',
20
+    'avis_chemin_invalide_1' => 'ផ្លូវ អ្នកបានជ្រើសយក',
21
+    'avis_chemin_invalide_2' => 'ប្រហែលគ្មានសុពលភាព។ សូមត្រលប់ទៅ ទំព័រមុន និងផ្ទៀងពត៌មានបានផ្តល់។',
22
+    'avis_connexion_echec_1' => 'បញ្ជាប់ទៅ ខំព្យូរើបំរើសេវា SQL បានបរាជ័យ។',
23
+    'avis_connexion_echec_2' => 'ត្រលប់ទៅ ទំព័រ​មុន និងផ្ទៀងពត៌មាន ​ដែល​អ្នក​បាន​ផ្ដល់​។',
24
+    'avis_connexion_echec_3' => '<b>ចំណាំសំខាន់</b> លើមួយចំនួនខំព្យូរើបំរើសេវា, អ្នកត្រូវតែ <b>ស្នើ</b> ការធ្វើអោយសកម្ម ការចូលទៅ របស់អ្នក ក្នុងមូលដ្ឋានទិន្នន័យ មុនអាចប្រើប្រាស់វា។ បើអ្នកគ្មានអាចភ្ជាប់ទៅ, អ្នកផ្ទៀង តើអ្នកបានអនុវត្ត ការធ្វើអោយសកម្មនេះ។',
25
+    'avis_connexion_ldap_echec_1' => 'បញ្ជាប់ទៅ ខំព្យូរើបំរើសេវា LDAP បានបរាជ័យ។',
26
+    'avis_connexion_ldap_echec_2' => 'ត្រលប់ទៅ ទំព័រមុន, និងផ្ទៀង ពត៌មាន អ្នកបានផ្តល់។',
27
+    'avis_connexion_ldap_echec_3' => 'តាមជំរើស, កុំ​ប្រើ​ប្រាស់ការ​គាំទ្រ LDAP ដើម្បី​នាំចូលអ្នក​ប្រើប្រាស់។',
28
+    'avis_deplacement_rubrique' => 'ប្រយត្ន! មាតិកា​នេះ ​មានផ្ទុក @contient_breves@ ពត៌មានសង្ខេប @scb@ ៖ បើ​អ្នក​ប្តូរទីតាំងវា, សូមគូស ប្រអប់បញ្ជាក់ទទួលស្គាល់ នេះ។',
29
+    'avis_erreur_connexion_mysql' => 'កំហុស​ ភ្ជាប់ទៅ SQL ',
30
+    'avis_espace_interdit' => '<b>តំបន់ហាម</b> <div>SPIP ធ្លាប់ត្រូវ​បានតំលើង។</div>',
31
+    'avis_lecture_noms_bases_1' => 'កម្មវិធីតំលើង គ្មាន​អាច ​អាន​ឈ្មោះ​ឃ្លាំង​ទិន្នន័យ​ ដែល​ត្រូវបានតំលើង។',
32
+    'avis_lecture_noms_bases_2' => '​ឃ្លាំង​ទិន្នន័យ គ្មានស្រាប់, ឬមុខងារអនុញ្ញាត ការរាយបញ្ជី​ នុមូលដ្ឋានទិន្នន័យ គ្មានត្រូវបានអនុញ្ញាត ព្រោះហេតុផលសុវត្ថភាព (វាជាករណី ជាមួយច្រើនខំព្យូរើ)។',
33
+    'avis_lecture_noms_bases_3' => 'ករណីជំរើសទីពីរ ពិត, វាអាចជាលទ្ធភាព ដែលមួួមូលដ្ឋានទិន្នន័យ ត្រូវបានដាក់ឈ្មោះ ក្រោយការពិនិត្យចូល របស់អ្នក អាចត្រូវបានប្រើប្រាស់៖',
34
+    'avis_non_acces_page' => 'អ្នក​គ្មានអាច ​ចូល​ទៅ​ ​ទំព័រ​នេះ។',
35
+    'avis_operation_echec' => 'ប្រតិបត្ដិការ ​បានបរាជ័យ។',
36
+    'avis_operation_impossible' => 'ប្រតិបត្ដិការ​ មិន​អាចទៅ​រួច',
37
+    'avis_suppression_base' => 'ប្រយត្ន, ការលុបចេញ​ទិន្នន័យ គ្មានអាច​ត្រលប់​វិញ',
38 38
 
39
-	// B
40
-	'bouton_acces_ldap' => 'បន្ថែម​ ការ​ចូល​ទៅ LDAP ',
41
-	'bouton_ajouter' => 'បន្ថែម',
42
-	'bouton_annuler' => 'បោះបង់',
43
-	'bouton_demande_publication' => 'សួររក ការផ្សព្វផ្សាយ នៃអត្ថបទនេះ',
44
-	'bouton_desactive_tout' => 'អសកម្មទាំងអស់',
45
-	'bouton_desinstaller' => 'លែងតំលើង',
46
-	'bouton_effacer_tout' => 'លុប​ចេញ ទាំងអស់',
47
-	'bouton_envoyer_message' => 'សារ​បញ្ចប់ ៖ ផ្ញើ',
48
-	'bouton_modifier' => 'កែប្រែ',
49
-	'bouton_radio_afficher' => 'បង្ហាញចេញ',
50
-	'bouton_radio_apparaitre_liste_redacteurs_connectes' => 'លេច​ចេញ ​ក្នុង​បញ្ជី​អ្នកតែងនិពន្ធ ​ដែល​បានភ្ជាប់',
51
-	'bouton_radio_envoi_annonces_adresse' => 'ផ្ញើ​ ការប្រកាសដំណឹង ទៅអាសយដ្ឋាន ៖',
52
-	'bouton_radio_envoi_liste_nouveautes' => 'ផ្ញើ​ ប​ញ្ជី នៃអ្វី ដែលថ្មី',
53
-	'bouton_radio_non_apparaitre_liste_redacteurs_connectes' => 'មិន​លេច​ចេញ ​ក្នុង​បញ្ជី​ អ្នកតែងនិពន្ធ',
54
-	'bouton_radio_non_envoi_annonces_editoriales' => 'មិន​ផ្ញើ​ ការប្រកាសដំណឹង ​ដែល​ផ្សព្វផ្សាយ',
55
-	'bouton_redirection' => 'បណ្តូរទិស',
56
-	'bouton_relancer_installation' => 'តំលើង ឡើងវិញ',
57
-	'bouton_suivant' => 'បន្ទាប់',
58
-	'bouton_tenter_recuperation' => 'ព្យាយាម​ជួសជុល',
59
-	'bouton_test_proxy' => 'សាកល្បង ខំព្យូរើបំរើសេវា Proxy',
60
-	'bouton_vider_cache' => 'ពង្រីង សតិភ្ជាប់',
39
+    // B
40
+    'bouton_acces_ldap' => 'បន្ថែម​ ការ​ចូល​ទៅ LDAP ',
41
+    'bouton_ajouter' => 'បន្ថែម',
42
+    'bouton_annuler' => 'បោះបង់',
43
+    'bouton_demande_publication' => 'សួររក ការផ្សព្វផ្សាយ នៃអត្ថបទនេះ',
44
+    'bouton_desactive_tout' => 'អសកម្មទាំងអស់',
45
+    'bouton_desinstaller' => 'លែងតំលើង',
46
+    'bouton_effacer_tout' => 'លុប​ចេញ ទាំងអស់',
47
+    'bouton_envoyer_message' => 'សារ​បញ្ចប់ ៖ ផ្ញើ',
48
+    'bouton_modifier' => 'កែប្រែ',
49
+    'bouton_radio_afficher' => 'បង្ហាញចេញ',
50
+    'bouton_radio_apparaitre_liste_redacteurs_connectes' => 'លេច​ចេញ ​ក្នុង​បញ្ជី​អ្នកតែងនិពន្ធ ​ដែល​បានភ្ជាប់',
51
+    'bouton_radio_envoi_annonces_adresse' => 'ផ្ញើ​ ការប្រកាសដំណឹង ទៅអាសយដ្ឋាន ៖',
52
+    'bouton_radio_envoi_liste_nouveautes' => 'ផ្ញើ​ ប​ញ្ជី នៃអ្វី ដែលថ្មី',
53
+    'bouton_radio_non_apparaitre_liste_redacteurs_connectes' => 'មិន​លេច​ចេញ ​ក្នុង​បញ្ជី​ អ្នកតែងនិពន្ធ',
54
+    'bouton_radio_non_envoi_annonces_editoriales' => 'មិន​ផ្ញើ​ ការប្រកាសដំណឹង ​ដែល​ផ្សព្វផ្សាយ',
55
+    'bouton_redirection' => 'បណ្តូរទិស',
56
+    'bouton_relancer_installation' => 'តំលើង ឡើងវិញ',
57
+    'bouton_suivant' => 'បន្ទាប់',
58
+    'bouton_tenter_recuperation' => 'ព្យាយាម​ជួសជុល',
59
+    'bouton_test_proxy' => 'សាកល្បង ខំព្យូរើបំរើសេវា Proxy',
60
+    'bouton_vider_cache' => 'ពង្រីង សតិភ្ជាប់',
61 61
 
62
-	// C
63
-	'cache_modifiable_webmestre' => 'អាចផ្លាស់ប្តូរ ប៉ារ៉ាម៉ែត្រ​នេះ​ ដោយអ្នកជំនាញវ៉ែប នៃសៃថ៍។',
64
-	'calendrier_synchro' => 'បើ​អ្នក​ប្រើ​ប្រាស់ ផ្នែកទន់សៀវភៅកត់ត្រា សមស្រប <b>iCal</b>, អ្នក​អាច សមកាលវា ជាមួយពត៌មាន នៃសៃថ៍នេះ។',
65
-	'config_activer_champs' => 'ធ្វើអោយសកម្ម វាលខាងក្រោម',
66
-	'config_choix_base_sup' => 'ដាក់ឈ្មោះ មូលដ្ឋានទិន្នន័យ លើខំព្យូរើបំរើសេវានេះ',
67
-	'config_erreur_base_sup' => 'SPIP គ្មានអាចចូលទៅ មូលដ្ឋានទិន្នន័យ មានស្រាប់',
68
-	'config_info_enregistree' => 'បានរក្សាទុកហើយ ការកំណត់ទំរង់ថ្មីនេះ',
69
-	'config_info_logos_utiliser' => 'ប្រើប្រាស់ រូបសញ្ញា',
70
-	'config_info_logos_utiliser_non' => 'គ្មានប្រើប្រាស់ រូបសញ្ញា',
71
-	'config_titre_base_sup' => 'ការប្រកាស នៃមួយមូលដ្ឋានទិន្នន័យបន្ថែម',
72
-	'config_titre_base_sup_choix' => 'ជ្រើសរើសបន្ថែម មួយមូលដ្ឋានទិន្នន័យ',
73
-	'connexion_ldap' => 'កា​រ​ភ្ជាប់ ៖',
62
+    // C
63
+    'cache_modifiable_webmestre' => 'អាចផ្លាស់ប្តូរ ប៉ារ៉ាម៉ែត្រ​នេះ​ ដោយអ្នកជំនាញវ៉ែប នៃសៃថ៍។',
64
+    'calendrier_synchro' => 'បើ​អ្នក​ប្រើ​ប្រាស់ ផ្នែកទន់សៀវភៅកត់ត្រា សមស្រប <b>iCal</b>, អ្នក​អាច សមកាលវា ជាមួយពត៌មាន នៃសៃថ៍នេះ។',
65
+    'config_activer_champs' => 'ធ្វើអោយសកម្ម វាលខាងក្រោម',
66
+    'config_choix_base_sup' => 'ដាក់ឈ្មោះ មូលដ្ឋានទិន្នន័យ លើខំព្យូរើបំរើសេវានេះ',
67
+    'config_erreur_base_sup' => 'SPIP គ្មានអាចចូលទៅ មូលដ្ឋានទិន្នន័យ មានស្រាប់',
68
+    'config_info_enregistree' => 'បានរក្សាទុកហើយ ការកំណត់ទំរង់ថ្មីនេះ',
69
+    'config_info_logos_utiliser' => 'ប្រើប្រាស់ រូបសញ្ញា',
70
+    'config_info_logos_utiliser_non' => 'គ្មានប្រើប្រាស់ រូបសញ្ញា',
71
+    'config_titre_base_sup' => 'ការប្រកាស នៃមួយមូលដ្ឋានទិន្នន័យបន្ថែម',
72
+    'config_titre_base_sup_choix' => 'ជ្រើសរើសបន្ថែម មួយមូលដ្ឋានទិន្នន័យ',
73
+    'connexion_ldap' => 'កា​រ​ភ្ជាប់ ៖',
74 74
 
75
-	// D
76
-	'date_mot_heures' => 'ម៉ោង',
75
+    // D
76
+    'date_mot_heures' => 'ម៉ោង',
77 77
 
78
-	// E
79
-	'email' => 'អ៊ីមែវល៍',
80
-	'email_2' => 'អ៊ីមែវល៍ ៖',
81
-	'entree_adresse_annuaire' => 'អាសយដ្ឋាន​ នៃបញ្ជី​​ឈ្មោះ',
82
-	'entree_adresse_email' => 'អាសយដ្ឋានអ៊ីមែវល៍ របស់​អ្នក',
83
-	'entree_base_donnee_1' => 'អាសយដ្ឋាន នៃ​ឃ្លាំង​ទិន្នន័យ',
84
-	'entree_base_donnee_2' => '(​ជា​រឿយៗ អា​សយ​ដ្ឋាន​នេះ​ ត្រូវ​តាម ​អាសយដ្ឋាន នៃសៃថ៍ របស់​អ្នក, ជួនកាល ​វា​ត្រូវតាម ការកំណត់ «localhost», ជួនកាល ​វា​នៅ​ទទេ ​ទាំងស្រុង។​)',
85
-	'entree_biographie' => 'ជីវប្រវត្ដិ​ខ្លី​ ត្រឹមប៉ុន្មានពាក្យ។',
86
-	'entree_chemin_acces' => '<b>បញ្ចូល</b> ផ្លូវចូលទៅ៖',
87
-	'entree_cle_pgp' => 'កូនសោ PGP របស់​អ្នក',
88
-	'entree_contenu_rubrique' => 'ខ្លឹមសារ ​នៃ​ផ្នែក​នេះ​ ត្រឹមតែប៉ុន្មានពាក្យ។​)',
89
-	'entree_identifiants_connexion' => 'អត្ដសញ្ញា ​ភ្ជាប់​ របស់​អ្នក​...',
90
-	'entree_informations_connexion_ldap' => 'បំពេញបែបបទ​នេះ ​ពត៌មានបញ្ជាប់ ទៅបញ្ជីឈ្មោះ LDAP របស់អ្នក។ 
78
+    // E
79
+    'email' => 'អ៊ីមែវល៍',
80
+    'email_2' => 'អ៊ីមែវល៍ ៖',
81
+    'entree_adresse_annuaire' => 'អាសយដ្ឋាន​ នៃបញ្ជី​​ឈ្មោះ',
82
+    'entree_adresse_email' => 'អាសយដ្ឋានអ៊ីមែវល៍ របស់​អ្នក',
83
+    'entree_base_donnee_1' => 'អាសយដ្ឋាន នៃ​ឃ្លាំង​ទិន្នន័យ',
84
+    'entree_base_donnee_2' => '(​ជា​រឿយៗ អា​សយ​ដ្ឋាន​នេះ​ ត្រូវ​តាម ​អាសយដ្ឋាន នៃសៃថ៍ របស់​អ្នក, ជួនកាល ​វា​ត្រូវតាម ការកំណត់ «localhost», ជួនកាល ​វា​នៅ​ទទេ ​ទាំងស្រុង។​)',
85
+    'entree_biographie' => 'ជីវប្រវត្ដិ​ខ្លី​ ត្រឹមប៉ុន្មានពាក្យ។',
86
+    'entree_chemin_acces' => '<b>បញ្ចូល</b> ផ្លូវចូលទៅ៖',
87
+    'entree_cle_pgp' => 'កូនសោ PGP របស់​អ្នក',
88
+    'entree_contenu_rubrique' => 'ខ្លឹមសារ ​នៃ​ផ្នែក​នេះ​ ត្រឹមតែប៉ុន្មានពាក្យ។​)',
89
+    'entree_identifiants_connexion' => 'អត្ដសញ្ញា ​ភ្ជាប់​ របស់​អ្នក​...',
90
+    'entree_informations_connexion_ldap' => 'បំពេញបែបបទ​នេះ ​ពត៌មានបញ្ជាប់ ទៅបញ្ជីឈ្មោះ LDAP របស់អ្នក។ 
91 91
 ​ពត៌មាន​តាំងនេះ ត្រូវតែអាចផ្តល់ទៅអ្នក ​តាមអ្នកអភិបាល នៃប្រព័ន្ធ, 
92 92
  ឬ នៃបណ្តាញ។',
93
-	'entree_infos_perso' => 'អ្នកជា អ្នកណា?',
94
-	'entree_interieur_rubrique' => 'ពី​ក្នុង​ផ្នែក ៖',
95
-	'entree_liens_sites' => '<b>តំណភ្ជាប់ អត្ថបទខ្ពស់</b> (​ឯកសារយោង សៃថ៍​ សំរាប់ចូលមើល...)',
96
-	'entree_login' => 'ការ​ពិនិត្យចូល​ របស់​អ្នក',
97
-	'entree_login_connexion_1' => 'ការ​ពិនិត្យចូល ដើម្បី​ភ្ជាប់',
98
-	'entree_login_connexion_2' => '(​ជួនកាល ត្រូវតាម ​ការពិនិត្យ​ចូល​ ទៅ FTP របស់​អ្នក, ជួនកាល ទុកនៅទទេ​)',
99
-	'entree_mot_passe' => 'ពាក្យសំងាត់ ​របស់​អ្នក',
100
-	'entree_mot_passe_1' => 'ពាក្យសំងាត់ សំរាប់ភ្ជាប់',
101
-	'entree_mot_passe_2' => '(​ជួនកាល ​ត្រូវតាម ពាក្យសំងាត់ របស់អ្នក សំរាប់ FTP, ​ជួនកាល ទុកនៅទទេ)',
102
-	'entree_nom_fichier' => 'សូមបញ្ចូល ​ឈ្មោះ​សំណុំឯកសារ @texte_compresse@៖',
103
-	'entree_nom_pseudo' => 'ឈ្មោះ របស់អ្នក ឬ ​ឈ្មោះ​ហៅ​ក្រៅ​ របស់​អ្នក',
104
-	'entree_nom_pseudo_1' => '(​ឈ្មោះ របស់អ្នក ឬ ​ឈ្មោះ​ហៅ​ក្រៅ​ របស់​អ្នក​)',
105
-	'entree_nom_site' => 'ឈ្មោះសៃថ៍ របស់​អ្នក',
106
-	'entree_nouveau_passe' => 'ពាក្យសំងាត់ថ្មី',
107
-	'entree_passe_ldap' => 'ពាក្យសំងាត់',
108
-	'entree_port_annuaire' => 'លេខ​ច្រក​ នៃ​បញ្ជី​​ឈ្មោះ',
109
-	'entree_signature' => 'ហត្ថលេខា',
110
-	'entree_titre_obligatoire' => '<b>ចំណងជើង</b> [តំរូវ​ អោយ​មាន]<br />',
111
-	'entree_url' => 'អាសយដ្ឋាន URL នៃសៃថ៍ របស់អ្នក',
112
-	'erreur_plugin_fichier_absent' => 'សំណុំឯកសារ អវត្តមាន',
113
-	'erreur_plugin_fichier_def_absent' => 'អវត្តមាន សំណុំឯកសារនិយម​ន័យ',
114
-	'erreur_plugin_nom_fonction_interdit' => 'ឈ្មោះ​មុខងារ ត្រូវ​បាន​ហាម',
115
-	'erreur_plugin_nom_manquant' => 'ខ្វះឈ្មោះ​កម្មវិធី​ជំនួយ',
116
-	'erreur_plugin_prefix_manquant' => 'គ្មានបានកំណត់ វាលដាក់ឈ្មោះ​ នៃកម្មវិធី​ជំនួយ​',
117
-	'erreur_plugin_tag_plugin_absent' => '&lt;plugin&gt; ខ្វះ ​ក្នុងសំណុំឯកសារ​និយម​ន័យ',
118
-	'erreur_plugin_version_manquant' => 'ខ្វះកំណែ​ នៃ​កម្មវិធី​ជំនួយ',
93
+    'entree_infos_perso' => 'អ្នកជា អ្នកណា?',
94
+    'entree_interieur_rubrique' => 'ពី​ក្នុង​ផ្នែក ៖',
95
+    'entree_liens_sites' => '<b>តំណភ្ជាប់ អត្ថបទខ្ពស់</b> (​ឯកសារយោង សៃថ៍​ សំរាប់ចូលមើល...)',
96
+    'entree_login' => 'ការ​ពិនិត្យចូល​ របស់​អ្នក',
97
+    'entree_login_connexion_1' => 'ការ​ពិនិត្យចូល ដើម្បី​ភ្ជាប់',
98
+    'entree_login_connexion_2' => '(​ជួនកាល ត្រូវតាម ​ការពិនិត្យ​ចូល​ ទៅ FTP របស់​អ្នក, ជួនកាល ទុកនៅទទេ​)',
99
+    'entree_mot_passe' => 'ពាក្យសំងាត់ ​របស់​អ្នក',
100
+    'entree_mot_passe_1' => 'ពាក្យសំងាត់ សំរាប់ភ្ជាប់',
101
+    'entree_mot_passe_2' => '(​ជួនកាល ​ត្រូវតាម ពាក្យសំងាត់ របស់អ្នក សំរាប់ FTP, ​ជួនកាល ទុកនៅទទេ)',
102
+    'entree_nom_fichier' => 'សូមបញ្ចូល ​ឈ្មោះ​សំណុំឯកសារ @texte_compresse@៖',
103
+    'entree_nom_pseudo' => 'ឈ្មោះ របស់អ្នក ឬ ​ឈ្មោះ​ហៅ​ក្រៅ​ របស់​អ្នក',
104
+    'entree_nom_pseudo_1' => '(​ឈ្មោះ របស់អ្នក ឬ ​ឈ្មោះ​ហៅ​ក្រៅ​ របស់​អ្នក​)',
105
+    'entree_nom_site' => 'ឈ្មោះសៃថ៍ របស់​អ្នក',
106
+    'entree_nouveau_passe' => 'ពាក្យសំងាត់ថ្មី',
107
+    'entree_passe_ldap' => 'ពាក្យសំងាត់',
108
+    'entree_port_annuaire' => 'លេខ​ច្រក​ នៃ​បញ្ជី​​ឈ្មោះ',
109
+    'entree_signature' => 'ហត្ថលេខា',
110
+    'entree_titre_obligatoire' => '<b>ចំណងជើង</b> [តំរូវ​ អោយ​មាន]<br />',
111
+    'entree_url' => 'អាសយដ្ឋាន URL នៃសៃថ៍ របស់អ្នក',
112
+    'erreur_plugin_fichier_absent' => 'សំណុំឯកសារ អវត្តមាន',
113
+    'erreur_plugin_fichier_def_absent' => 'អវត្តមាន សំណុំឯកសារនិយម​ន័យ',
114
+    'erreur_plugin_nom_fonction_interdit' => 'ឈ្មោះ​មុខងារ ត្រូវ​បាន​ហាម',
115
+    'erreur_plugin_nom_manquant' => 'ខ្វះឈ្មោះ​កម្មវិធី​ជំនួយ',
116
+    'erreur_plugin_prefix_manquant' => 'គ្មានបានកំណត់ វាលដាក់ឈ្មោះ​ នៃកម្មវិធី​ជំនួយ​',
117
+    'erreur_plugin_tag_plugin_absent' => '&lt;plugin&gt; ខ្វះ ​ក្នុងសំណុំឯកសារ​និយម​ន័យ',
118
+    'erreur_plugin_version_manquant' => 'ខ្វះកំណែ​ នៃ​កម្មវិធី​ជំនួយ',
119 119
 
120
-	// I
121
-	'ical_info1' => 'ទំព័រ​នេះ​ បង្ហាញ​ ច្រើន​វិធី ​ដើម្បី​ទាក់ទង ជានិច្ច ​ជាមួយជីវិត នៃសៃថ៍នេះ។',
122
-	'ical_info2' => 'សំរាប់ពត៌មាន​បន្ថែម លើគ្រប់បច្ចេកទេស, សូមកុំ​ស្ទាក់ស្ទើរ​ ​ចូលមើល <a href="@spipnet@">កំរងឯកសារ SPIP</a>។',
123
-	'ical_info_calendrier' => 'ពីប្រក្រតីទិន មានស្រាប់ សំរាប់អ្នក។ ទី​មួយ ជា​ផែនទី​ នៃសៃថ៍ ប្រកាសអំពី គ្រប់អត្ថបទ ត្រូវបានផ្សព្វផ្សាយ។ ទី​ពីរ ​មានផ្ទុក ការប្រកាសដំណឹង ផ្សព្វផ្សាយក៏ដូច​ជា សារ​ឯកជនថ្មីៗ របស់​អ្នក៖
120
+    // I
121
+    'ical_info1' => 'ទំព័រ​នេះ​ បង្ហាញ​ ច្រើន​វិធី ​ដើម្បី​ទាក់ទង ជានិច្ច ​ជាមួយជីវិត នៃសៃថ៍នេះ។',
122
+    'ical_info2' => 'សំរាប់ពត៌មាន​បន្ថែម លើគ្រប់បច្ចេកទេស, សូមកុំ​ស្ទាក់ស្ទើរ​ ​ចូលមើល <a href="@spipnet@">កំរងឯកសារ SPIP</a>។',
123
+    'ical_info_calendrier' => 'ពីប្រក្រតីទិន មានស្រាប់ សំរាប់អ្នក។ ទី​មួយ ជា​ផែនទី​ នៃសៃថ៍ ប្រកាសអំពី គ្រប់អត្ថបទ ត្រូវបានផ្សព្វផ្សាយ។ ទី​ពីរ ​មានផ្ទុក ការប្រកាសដំណឹង ផ្សព្វផ្សាយក៏ដូច​ជា សារ​ឯកជនថ្មីៗ របស់​អ្នក៖
124 124
 វា​បង្ការ សំរាប់អ្នក ដោយសារតែ មួយកូនសោផ្ទាល់ខ្លួន, ដែលអ្នកអាច កែប្រែ នៅគ្រប់ពេល ដោយធ្វើថ្មីឡើងវិញ ពាក្យសំងាត់ របស់អ្នក។',
125
-	'ical_methode_http' => 'ទំនាញយក',
126
-	'ical_methode_webcal' => 'ភាពសមកាល (webcal://)', # MODIF
127
-	'ical_texte_prive' => 'ប្រក្រតីទិន, ប្រើប្រាស់ត្រឹមផ្ទាល់ខ្លួន, ផ្តល់ពត៌មាន អ្នក អំពីសកម្មភាពបោះផ្សាយឯកជន នៃសៃថ៍នេះ (ភារៈកិច្ច និង ការណាត់ជួបផ្ទាល់ខ្លួន, អត្ថបទ និង ពត៌មានខ្លី ត្រូវបានស្នើ...)។',
128
-	'ical_texte_public' => 'ប្រក្រតីទិននេះ អនុញ្ញាតអ្នក តាមដាន សកម្មភាពសាធារណៈ នៃសៃថ៍នេះ (អត្ថបទ និង ពត៌មានខ្លី ត្រូវបានបោះផ្សាយ)។',
129
-	'ical_texte_rss' => 'អ្នកអាចបញ្ជាប់ ពត៌មានថ្មីៗ នៃសៃថ៍នេះ ក្នុង រាល់ប្រអប់អានឯកសារ ជាទំរង់ XML/RSS (សង្ខេបសៃថ៍ សំបូរ)។ វា ក៏ជាទំរង់ អនុញ្ញាត SPIP អានបត៌មានថ្មី បានបោះផ្សាយ លើសៃថ៍ដទៃ ដោយប្រើប្រាស់ មួយទំរង់ផ្លាស់ប្តូរគ្នា។',
130
-	'ical_titre_js' => 'អត្ថបទJava script               ',
131
-	'ical_titre_mailing' => 'បញ្ជី​ការ​ផ្ញើ​មែ​ល',
132
-	'ical_titre_rss' => 'ហ្វា​ល​រួម​បញ្ចូល​គ្នា',
133
-	'icone_activer_cookie' => 'ដាក់​ខូ​គី',
134
-	'icone_admin_plugin' => 'រៀបចំ​កម្មវិធី​ជំនួយ',
135
-	'icone_afficher_auteurs' => 'បង្ហាញ អ្នកនិពន្ធ',
136
-	'icone_afficher_visiteurs' => 'បង្ហាញ​ ពួកអ្នកចូលមើល',
137
-	'icone_arret_discussion' => 'ឈប់​ចូលរួម​ក្នុង​ការ​ពិភាក្សា​នេះ',
138
-	'icone_calendrier' => 'ប្រក្រតីទិន',
139
-	'icone_creer_auteur' => 'បង្កើត​ មួយអ្នកនិពន្ធ​ថ្មី និង​ភ្ជាប់​គាត់ ទៅ​អត្ថបទ​នេះ',
140
-	'icone_creer_mot_cle' => 'បង្កើតថ្មី មួយពាក្យគន្លឹះ និងតភ្ជាប់វា ទៅអត្ថបទនេះ',
141
-	'icone_creer_rubrique_2' => 'បង្កើត មួយផ្នែកថ្មី',
142
-	'icone_modifier_article' => 'កែប្រែ អត្ថបទនេះ',
143
-	'icone_modifier_rubrique' => 'កែប្រែ ផ្នែកនេះ',
144
-	'icone_retour' => 'ត្រលប់ក្រោយ',
145
-	'icone_retour_article' => 'ត្រលប់ ទៅអត្ថបទ',
146
-	'icone_supprimer_cookie' => 'លប់​ខូ​គី',
147
-	'icone_supprimer_rubrique' => 'លុបចេញ ផ្នែកនេះ',
148
-	'icone_supprimer_signature' => 'លប់​ហត្ថលេខា​នេះ',
149
-	'icone_valider_signature' => 'ធ្វើ​អោយ​ហត្ថលេខា​នេះ​មាន​សុពលភាព',
150
-	'image_administrer_rubrique' => 'អ្នក​អាច​គ្រប់គ្រង​ផ្នែក​នេះ',
151
-	'impossible_modifier_login_auteur' => 'Impossible de modifier le login.', # MODIF
152
-	'impossible_modifier_pass_auteur' => 'Impossible de modifier le mot de passe.', # MODIF
153
-	'info_1_article' => 'អត្ថបទ ១',
154
-	'info_activer_cookie' => 'អ្នអ្នក អាចធ្វើអោយសកម្ម មួយ <b>ខូកឃីឆ្លងឆ្លើយ</b>, វា នឹងអនុញ្ញាតអ្នក ងាយដើរ ពីសៃថ៍សាធារណះ ទៅសៃថ៍ឯកជន។',
155
-	'info_administrateur' => 'អ្នកគ្រប់គ្រង',
156
-	'info_administrateur_1' => 'អ្នកគ្រប់គ្រង',
157
-	'info_administrateur_2' => 'នៃសៃថ៍ (<i>ប្រើប្រាស់ ដោយប្រយត្ន</i>)',
158
-	'info_administrateur_site_01' => 'បើអ្នក ជាអ្នកអភិបាលសៃថ៍, សូម',
159
-	'info_administrateur_site_02' => 'ចុចលើ តំណភ្ជាប់នេះ',
160
-	'info_administrateurs' => 'អ្នកគ្រប់គ្រង',
161
-	'info_administrer_rubrique' => 'អ្នក​អាច​ចាត់ចែង​ផ្នែក​នេះ',
162
-	'info_adresse' => 'ទៅ​នឹង​អាសយដ្ឋាន ៖',
163
-	'info_adresse_url' => 'អាសយដ្ឋាន URL នៃសៃថ៍សាធារណះ',
164
-	'info_aide_en_ligne' => 'ជំនួយ លើបណ្តាញ SPIP',
165
-	'info_ajout_image' => 'នៅ​ពេល​អ្នក​បន្ថែម​រូប​ជា​ឯកសារ​ភ្ជាប់​ទៅ​នឹង​អត្ថបទ នោះ SPIP អាច​បង្កើត​រូបថត​ដោយ​ស្វ័យប្រវត្ដិ (​គំនូស​ព្រាង​) ពី​រូប​ដែល​បាន​បញ្ចូល ។ ប្រការ​នេះ​នឹង​អនុញ្ញាត ឧទាហរណ៍ អោយ​មានការ​បង្កើត​ដោយ​ស្វ័យប្រវត្ដិ​នូវ​វិចិត្រសាល ឬ​ផលប័ត្រ ។',
166
-	'info_ajouter_rubrique' => 'បន្ថែម​ផ្នែក​មួយទៀត​ដើម្បី​ចាត់ចែង ៖',
167
-	'info_annonce_nouveautes' => 'ជំនូនដំណឹង ចុងក្រោយបំផុត',
168
-	'info_article' => 'អត្ថបទ',
169
-	'info_article_2' => 'អត្ថបទ',
170
-	'info_article_a_paraitre' => 'អត្ថបទ​ចាស់​ដែល​ត្រូវ​បោះ​ពុ​ម្ភ​ផ្សាយ',
171
-	'info_articles_02' => 'អត្ថបទ',
172
-	'info_articles_2' => 'អត្ថបទ',
173
-	'info_articles_auteur' => 'អត្ថបទ របស់អ្នកនិពន្ធនេះ',
174
-	'info_articles_trouves' => 'អត្ថបទ​ត្រូវ​បាន​រក​ឃើញ',
175
-	'info_attente_validation' => 'អត្ថបទ របស់អ្នក កំពុងរង់ចាំ សុពលភាព',
176
-	'info_aujourdhui' => 'ថ្ងៃនេះ ៖',
177
-	'info_auteurs' => 'អ្នកនិពន្ធ',
178
-	'info_auteurs_par_tri' => 'អ្នកនិពន្ធ@partri@',
179
-	'info_auteurs_trouves' => 'អ្នកនិពន្ធ​ត្រូវ​បាន​រក​ឃើញ',
180
-	'info_authentification_externe' => 'យថាភាព​ខាងក្រៅ',
181
-	'info_avertissement' => 'ការ​ព្រមាន',
182
-	'info_barre_outils' => 'ជាមួយ របារឧបករ របស់វា ឬ?',
183
-	'info_base_installee' => 'បានតំលើង រចនាសម្ពន្ធ មូលដ្ឋានទិន្នន័យ របស់អ្នក។',
184
-	'info_chapeau' => 'ឧបករ រក្សា​ទិន្នន័យ',
185
-	'info_chapeau_2' => 'សេចក្ដី​ផ្ដើម ៖',
186
-	'info_chemin_acces_1' => 'ជម្រើស ៖<b>ច្រកចូល​នៅ​ក្នុង​បញ្ជី​រាយ​ឈ្មោះ</b>',
187
-	'info_chemin_acces_2' => 'ពីពេលនេះ, អ្នកត្រូវតែកំណត់ទំរង់ ផ្លូវចូលទៅ ពត៌មាននៃថតឯកសារ។ ពត៌មាននេះ មានខ្លឹមសារសំខាន់ សំរាប់អាន ពត៌មានផ្ទាល់ខ្លួន របស់អ្នកប្រើប្រាស់ បានតំកល់ទុក ក្នុងថតឯកសារ។',
188
-	'info_chemin_acces_annuaire' => 'ជម្រើស ៖<b>ច្រកចូល​នៅ​ក្នុង​បញ្ជី​រាយ​ឈ្មោះ</b>',
189
-	'info_choix_base' => 'ជំហាន​ទី​បី ៖',
190
-	'info_classement_1' => ' out of @liste@',
191
-	'info_classement_2' => ' out of @liste@',
192
-	'info_code_acces' => 'កុំភ្លេច អក្សរកូដចូលទៅ ផ្ទាល់ខ្លួន របស់អ្នក!',
193
-	'info_config_suivi' => 'បើអាសយដ្ឋាននេះ ត្រូវតាម បញ្ជីផ្ញើមែវល៍, អ្នក អាចបង្ហាញខាងក្រោម អាសយដ្ឋាន ដែលពួកអ្នកចូលរួម សៃថ៍ អាចចុះឈ្មោះ។ អាសយដ្ឋាននេះ អាចជា មួយអាសយដ្ឋាន URL (ជា ឧទាហរ ទំព័រចុះឈ្មោះ ទៅបញ្ជី​តាមរយះវ៉ែប), ឬ អាសយដ្ឋានអ៊ីមែវល៍ បានមានប្រធានបទ ជាក់លាក់ (ជា ឧទាហរ៖ <tt>@adresse_suivi@?subject=subscribe</tt>)៖',
194
-	'info_config_suivi_explication' => 'អ្នក អាចជាវប្រចាំ ទៅបញ្ជីផ្ញើមែវល៍ នៃសៃថ៍នេះ។ អ្នក នឹងទទួលបាន តាមមែវល៍ រាល់ជំនូនដំណឹង នៃអត្ថបទ​និង​នៃពត៌មានខ្លី បានស្នើ សំរាប់ការបោះផ្សាយ។',
195
-	'info_confirmer_passe' => 'បញ្ជាក់ទទួលស្គាល់ ពាក្យសំងាត់ថ្មី៖',
196
-	'info_conflit_edition_differences' => 'ភាពខុសគ្នា៖',
197
-	'info_conflit_edition_version_enregistree' => 'បានរក្សាទុក កំណែ៖',
198
-	'info_conflit_edition_votre_version' => 'កំណែ របស់អ្នក៖',
199
-	'info_connexion_base' => 'ជំហាន​ ​ពីរ ៖<b>ព្យាយាម ​ភ្ជាប់​ទៅ​ ឃ្លាំង​ទិន្នន័យ</b>',
200
-	'info_connexion_base_donnee' => 'ការភ្ជាប់ទៅ មូលដ្ឋានទិន្នន័យ របស់អ្នក',
201
-	'info_connexion_ldap_ok' => 'កា​រត​ភ្ជាប់ LDAP របស់​អ្នក​បាន​សម្រេច​ជោគជ័យ</b><p> អ្នក​អាច​ទៅ​កាន់​ជំហាន​បន្ទាប់​បាន ។</p>', # MODIF
202
-	'info_connexion_mysql' => 'ជំហាន​ទី​មួយ ៖ <b>កា​រត​ភ្ជាប់ MySQL របស់​អ្នក</b>',
203
-	'info_connexion_ok' => 'កា​រត​ភ្ជាប់​បាន​សម្រេច​ជោគជ័យ ។',
204
-	'info_contact' => 'ទំនាក់ទំនង',
205
-	'info_contenu_articles' => 'ខ្លឹមសារ​អត្ថបទ',
206
-	'info_creation_paragraphe' => '(​ដើម្បី​បង្កើត​កថាខណ្ឌ អ្នក​គ្រាន់តែ​ទុក​អោយ​មាន​បន្ទាត់​ទទេរ ។​)', # MODIF
207
-	'info_creation_rubrique' => 'មុន​ពេល​អាច​សរសេរ​អត្ថបទ<br /> អ្នក​ត្រូវ​តែ​បង្កើត​យ៉ាង​ហោច​ណាស់​មួយ​ផ្នែក ។<br />',
208
-	'info_creation_tables' => 'ជំហាន​ទី​បួន ៖ <b>ការ​បង្កើត​តារាង​ឃ្លាំង​ទិន្នន័យ</b>',
209
-	'info_creer_base' => '<b>បង្កើត</b> ឃ្លាំង​ទិន្នន័យ​ថ្មី',
210
-	'info_dans_rubrique' => 'ក្នុង​ផ្នែក ៖',
211
-	'info_date_publication_anterieure' => 'កាលបរិច្ឆេទ​នៃ​ការ​បោះ​ពុ​ម្ភ​ផ្សាយ​កាលពី​លើក​មុន ៖',
212
-	'info_date_referencement' => 'ថ្ងៃខែឆ្នាំ នៃការយោង របស់សៃថ៍នេះ ៖ ',
213
-	'info_derniere_etape' => 'ជំហាន​ចុង​ក្រោយ ៖  រួចរាល់​!',
214
-	'info_descriptif' => 'ការពិពណ៌នា៖',
215
-	'info_desinstaller_plugin' => 'លុបចេញ ទិន្នន័យ និងធ្វើអោយអសកម្ម plugin',
216
-	'info_discussion_cours' => 'ការពិភាក្សា កំពុងដំណើរ',
217
-	'info_ecrire_article' => 'មុន​ពេល​អាច​សរសេរ​អត្ថបទ​បាន អ្នក​ត្រូវ​បង្កើត​យ៉ាង​ហោច​ណាស់​មួយ​ផ្នែក ។',
218
-	'info_email_envoi' => 'អាសយដ្ឋានអ៊ីមែវល៍ របស់ម្ចាស់បញ្ញើ (ជាជំរើស)',
219
-	'info_email_envoi_txt' => 'បញ្ចូល អាយដ្ឋានអ៊ីមែវល៍ របស់អ្នកផ្ញើ ធ្លាប់បានប្រើប្រាស់ ពេលផ្ញើអ៊ីមែវល៍ (ជាលំនាំដើម, អាសយដ្ឋានអ្នកទទួល ត្រូវបានប្រើប្រាស់ ជាអាសយដ្ឋានអ្នកផ្ញើ) ៖',
220
-	'info_email_webmestre' => 'អាសយដ្ឋានអ៊ីមែវល៍ របស់អ្នកជំនាញវ៉ែប (ជាជំរើស)', # MODIF
221
-	'info_envoi_email_automatique' => 'ការ​ផ្ញើ​មែ​ល​ដោយ​ស្វ័យប្រវត្ដិ',
222
-	'info_envoyer_maintenant' => 'ផ្ញើ ឥឡូវ',
223
-	'info_etape_suivante' => 'ទៅ ជំហានបន្ទាប់',
224
-	'info_etape_suivante_1' => 'អ្នកអាចទៅ ជំហានបន្ទាប់។',
225
-	'info_etape_suivante_2' => 'អ្នកអាចទៅ ជំហានបន្ទាប់។',
226
-	'info_exportation_base' => 'នាំចេញ មូលដ្ឋានទិន្នន័យ ទៅ @archive@',
227
-	'info_facilite_suivi_activite' => 'សំរាប់សំរួល ការតាមដាន សកម្មភាពបោះផ្សាយ នៃសៃថ៍, SPIP អាចជូនដំណឹង តាមមែវល៍, ជាឧទាហរ ទៅបញ្ជីផ្ញើមែវល៍ របស់ពួកស្មេរ, ជំនូនដំណឹង នៃសំណើ បោះផ្សាយនានា និងភាពសុពលភាព នៃអត្ថបទនានា។', # MODIF
228
-	'info_fichiers_authent' => 'ហ្វា​ល​យថាភាព \\".htpasswd\\"',
229
-	'info_forums_abo_invites' => 'វ៉ែបសៃថ៍ របស់អ្នក រួមមាន ទីប្រជុំមតិ តាមរយះការជាវ ; ចឹង ពួកទស្សនាករ អាចចុះឈ្មោះ ចូលរួម ទីប្រជុំមតិទាំងនេះ លើសៃថ៍សាធារណះ។',
230
-	'info_gauche_admin_tech' => '<b>ត្រឹម ពួកអ្នកទទួលខុសត្រូវសៃថ៍ អាចចូលទៅ ទំព័រនេះ។</b><p> វាអនុញ្ញាត អោយចូលទៅ មុខងារថែទាំបច្ចេកទេស ដទៃ។ មួយចំនួននៃមុខងារ ផ្តល់ដំណើរ សំគាល់ជាក់លាក់, តំរូវអោយមាន FTP សំរាប់ចូលទៅ វ៉ែបសៃថ៍។</p>', # MODIF
231
-	'info_gauche_admin_vider' => '<b>ត្រឹម ពួកអ្នកទទួលខុសត្រូវសៃថ៍ អាចចូលទៅ ទំព័រនេះ។</b><p> វាអនុញ្ញាត ចូលទៅ មុខងារថែទាំបច្ចេកទេស ដទៃ។ មួយចំនួននៃមុខងារ ផ្តល់ដំណើរ សំគាល់ជាក់លាក់, តំរូវអោយមាន FTP សំរាប់ចូលទៅ វ៉ែបសៃថ៍។</p>', # MODIF
232
-	'info_gauche_auteurs' => 'អ្នកនឹងឃើញ ទីនេះ គ្រប់អ្នកនិពន្ធ នៃវ៉ែបសៃថ៍។
125
+    'ical_methode_http' => 'ទំនាញយក',
126
+    'ical_methode_webcal' => 'ភាពសមកាល (webcal://)', # MODIF
127
+    'ical_texte_prive' => 'ប្រក្រតីទិន, ប្រើប្រាស់ត្រឹមផ្ទាល់ខ្លួន, ផ្តល់ពត៌មាន អ្នក អំពីសកម្មភាពបោះផ្សាយឯកជន នៃសៃថ៍នេះ (ភារៈកិច្ច និង ការណាត់ជួបផ្ទាល់ខ្លួន, អត្ថបទ និង ពត៌មានខ្លី ត្រូវបានស្នើ...)។',
128
+    'ical_texte_public' => 'ប្រក្រតីទិននេះ អនុញ្ញាតអ្នក តាមដាន សកម្មភាពសាធារណៈ នៃសៃថ៍នេះ (អត្ថបទ និង ពត៌មានខ្លី ត្រូវបានបោះផ្សាយ)។',
129
+    'ical_texte_rss' => 'អ្នកអាចបញ្ជាប់ ពត៌មានថ្មីៗ នៃសៃថ៍នេះ ក្នុង រាល់ប្រអប់អានឯកសារ ជាទំរង់ XML/RSS (សង្ខេបសៃថ៍ សំបូរ)។ វា ក៏ជាទំរង់ អនុញ្ញាត SPIP អានបត៌មានថ្មី បានបោះផ្សាយ លើសៃថ៍ដទៃ ដោយប្រើប្រាស់ មួយទំរង់ផ្លាស់ប្តូរគ្នា។',
130
+    'ical_titre_js' => 'អត្ថបទJava script               ',
131
+    'ical_titre_mailing' => 'បញ្ជី​ការ​ផ្ញើ​មែ​ល',
132
+    'ical_titre_rss' => 'ហ្វា​ល​រួម​បញ្ចូល​គ្នា',
133
+    'icone_activer_cookie' => 'ដាក់​ខូ​គី',
134
+    'icone_admin_plugin' => 'រៀបចំ​កម្មវិធី​ជំនួយ',
135
+    'icone_afficher_auteurs' => 'បង្ហាញ អ្នកនិពន្ធ',
136
+    'icone_afficher_visiteurs' => 'បង្ហាញ​ ពួកអ្នកចូលមើល',
137
+    'icone_arret_discussion' => 'ឈប់​ចូលរួម​ក្នុង​ការ​ពិភាក្សា​នេះ',
138
+    'icone_calendrier' => 'ប្រក្រតីទិន',
139
+    'icone_creer_auteur' => 'បង្កើត​ មួយអ្នកនិពន្ធ​ថ្មី និង​ភ្ជាប់​គាត់ ទៅ​អត្ថបទ​នេះ',
140
+    'icone_creer_mot_cle' => 'បង្កើតថ្មី មួយពាក្យគន្លឹះ និងតភ្ជាប់វា ទៅអត្ថបទនេះ',
141
+    'icone_creer_rubrique_2' => 'បង្កើត មួយផ្នែកថ្មី',
142
+    'icone_modifier_article' => 'កែប្រែ អត្ថបទនេះ',
143
+    'icone_modifier_rubrique' => 'កែប្រែ ផ្នែកនេះ',
144
+    'icone_retour' => 'ត្រលប់ក្រោយ',
145
+    'icone_retour_article' => 'ត្រលប់ ទៅអត្ថបទ',
146
+    'icone_supprimer_cookie' => 'លប់​ខូ​គី',
147
+    'icone_supprimer_rubrique' => 'លុបចេញ ផ្នែកនេះ',
148
+    'icone_supprimer_signature' => 'លប់​ហត្ថលេខា​នេះ',
149
+    'icone_valider_signature' => 'ធ្វើ​អោយ​ហត្ថលេខា​នេះ​មាន​សុពលភាព',
150
+    'image_administrer_rubrique' => 'អ្នក​អាច​គ្រប់គ្រង​ផ្នែក​នេះ',
151
+    'impossible_modifier_login_auteur' => 'Impossible de modifier le login.', # MODIF
152
+    'impossible_modifier_pass_auteur' => 'Impossible de modifier le mot de passe.', # MODIF
153
+    'info_1_article' => 'អត្ថបទ ១',
154
+    'info_activer_cookie' => 'អ្នអ្នក អាចធ្វើអោយសកម្ម មួយ <b>ខូកឃីឆ្លងឆ្លើយ</b>, វា នឹងអនុញ្ញាតអ្នក ងាយដើរ ពីសៃថ៍សាធារណះ ទៅសៃថ៍ឯកជន។',
155
+    'info_administrateur' => 'អ្នកគ្រប់គ្រង',
156
+    'info_administrateur_1' => 'អ្នកគ្រប់គ្រង',
157
+    'info_administrateur_2' => 'នៃសៃថ៍ (<i>ប្រើប្រាស់ ដោយប្រយត្ន</i>)',
158
+    'info_administrateur_site_01' => 'បើអ្នក ជាអ្នកអភិបាលសៃថ៍, សូម',
159
+    'info_administrateur_site_02' => 'ចុចលើ តំណភ្ជាប់នេះ',
160
+    'info_administrateurs' => 'អ្នកគ្រប់គ្រង',
161
+    'info_administrer_rubrique' => 'អ្នក​អាច​ចាត់ចែង​ផ្នែក​នេះ',
162
+    'info_adresse' => 'ទៅ​នឹង​អាសយដ្ឋាន ៖',
163
+    'info_adresse_url' => 'អាសយដ្ឋាន URL នៃសៃថ៍សាធារណះ',
164
+    'info_aide_en_ligne' => 'ជំនួយ លើបណ្តាញ SPIP',
165
+    'info_ajout_image' => 'នៅ​ពេល​អ្នក​បន្ថែម​រូប​ជា​ឯកសារ​ភ្ជាប់​ទៅ​នឹង​អត្ថបទ នោះ SPIP អាច​បង្កើត​រូបថត​ដោយ​ស្វ័យប្រវត្ដិ (​គំនូស​ព្រាង​) ពី​រូប​ដែល​បាន​បញ្ចូល ។ ប្រការ​នេះ​នឹង​អនុញ្ញាត ឧទាហរណ៍ អោយ​មានការ​បង្កើត​ដោយ​ស្វ័យប្រវត្ដិ​នូវ​វិចិត្រសាល ឬ​ផលប័ត្រ ។',
166
+    'info_ajouter_rubrique' => 'បន្ថែម​ផ្នែក​មួយទៀត​ដើម្បី​ចាត់ចែង ៖',
167
+    'info_annonce_nouveautes' => 'ជំនូនដំណឹង ចុងក្រោយបំផុត',
168
+    'info_article' => 'អត្ថបទ',
169
+    'info_article_2' => 'អត្ថបទ',
170
+    'info_article_a_paraitre' => 'អត្ថបទ​ចាស់​ដែល​ត្រូវ​បោះ​ពុ​ម្ភ​ផ្សាយ',
171
+    'info_articles_02' => 'អត្ថបទ',
172
+    'info_articles_2' => 'អត្ថបទ',
173
+    'info_articles_auteur' => 'អត្ថបទ របស់អ្នកនិពន្ធនេះ',
174
+    'info_articles_trouves' => 'អត្ថបទ​ត្រូវ​បាន​រក​ឃើញ',
175
+    'info_attente_validation' => 'អត្ថបទ របស់អ្នក កំពុងរង់ចាំ សុពលភាព',
176
+    'info_aujourdhui' => 'ថ្ងៃនេះ ៖',
177
+    'info_auteurs' => 'អ្នកនិពន្ធ',
178
+    'info_auteurs_par_tri' => 'អ្នកនិពន្ធ@partri@',
179
+    'info_auteurs_trouves' => 'អ្នកនិពន្ធ​ត្រូវ​បាន​រក​ឃើញ',
180
+    'info_authentification_externe' => 'យថាភាព​ខាងក្រៅ',
181
+    'info_avertissement' => 'ការ​ព្រមាន',
182
+    'info_barre_outils' => 'ជាមួយ របារឧបករ របស់វា ឬ?',
183
+    'info_base_installee' => 'បានតំលើង រចនាសម្ពន្ធ មូលដ្ឋានទិន្នន័យ របស់អ្នក។',
184
+    'info_chapeau' => 'ឧបករ រក្សា​ទិន្នន័យ',
185
+    'info_chapeau_2' => 'សេចក្ដី​ផ្ដើម ៖',
186
+    'info_chemin_acces_1' => 'ជម្រើស ៖<b>ច្រកចូល​នៅ​ក្នុង​បញ្ជី​រាយ​ឈ្មោះ</b>',
187
+    'info_chemin_acces_2' => 'ពីពេលនេះ, អ្នកត្រូវតែកំណត់ទំរង់ ផ្លូវចូលទៅ ពត៌មាននៃថតឯកសារ។ ពត៌មាននេះ មានខ្លឹមសារសំខាន់ សំរាប់អាន ពត៌មានផ្ទាល់ខ្លួន របស់អ្នកប្រើប្រាស់ បានតំកល់ទុក ក្នុងថតឯកសារ។',
188
+    'info_chemin_acces_annuaire' => 'ជម្រើស ៖<b>ច្រកចូល​នៅ​ក្នុង​បញ្ជី​រាយ​ឈ្មោះ</b>',
189
+    'info_choix_base' => 'ជំហាន​ទី​បី ៖',
190
+    'info_classement_1' => ' out of @liste@',
191
+    'info_classement_2' => ' out of @liste@',
192
+    'info_code_acces' => 'កុំភ្លេច អក្សរកូដចូលទៅ ផ្ទាល់ខ្លួន របស់អ្នក!',
193
+    'info_config_suivi' => 'បើអាសយដ្ឋាននេះ ត្រូវតាម បញ្ជីផ្ញើមែវល៍, អ្នក អាចបង្ហាញខាងក្រោម អាសយដ្ឋាន ដែលពួកអ្នកចូលរួម សៃថ៍ អាចចុះឈ្មោះ។ អាសយដ្ឋាននេះ អាចជា មួយអាសយដ្ឋាន URL (ជា ឧទាហរ ទំព័រចុះឈ្មោះ ទៅបញ្ជី​តាមរយះវ៉ែប), ឬ អាសយដ្ឋានអ៊ីមែវល៍ បានមានប្រធានបទ ជាក់លាក់ (ជា ឧទាហរ៖ <tt>@adresse_suivi@?subject=subscribe</tt>)៖',
194
+    'info_config_suivi_explication' => 'អ្នក អាចជាវប្រចាំ ទៅបញ្ជីផ្ញើមែវល៍ នៃសៃថ៍នេះ។ អ្នក នឹងទទួលបាន តាមមែវល៍ រាល់ជំនូនដំណឹង នៃអត្ថបទ​និង​នៃពត៌មានខ្លី បានស្នើ សំរាប់ការបោះផ្សាយ។',
195
+    'info_confirmer_passe' => 'បញ្ជាក់ទទួលស្គាល់ ពាក្យសំងាត់ថ្មី៖',
196
+    'info_conflit_edition_differences' => 'ភាពខុសគ្នា៖',
197
+    'info_conflit_edition_version_enregistree' => 'បានរក្សាទុក កំណែ៖',
198
+    'info_conflit_edition_votre_version' => 'កំណែ របស់អ្នក៖',
199
+    'info_connexion_base' => 'ជំហាន​ ​ពីរ ៖<b>ព្យាយាម ​ភ្ជាប់​ទៅ​ ឃ្លាំង​ទិន្នន័យ</b>',
200
+    'info_connexion_base_donnee' => 'ការភ្ជាប់ទៅ មូលដ្ឋានទិន្នន័យ របស់អ្នក',
201
+    'info_connexion_ldap_ok' => 'កា​រត​ភ្ជាប់ LDAP របស់​អ្នក​បាន​សម្រេច​ជោគជ័យ</b><p> អ្នក​អាច​ទៅ​កាន់​ជំហាន​បន្ទាប់​បាន ។</p>', # MODIF
202
+    'info_connexion_mysql' => 'ជំហាន​ទី​មួយ ៖ <b>កា​រត​ភ្ជាប់ MySQL របស់​អ្នក</b>',
203
+    'info_connexion_ok' => 'កា​រត​ភ្ជាប់​បាន​សម្រេច​ជោគជ័យ ។',
204
+    'info_contact' => 'ទំនាក់ទំនង',
205
+    'info_contenu_articles' => 'ខ្លឹមសារ​អត្ថបទ',
206
+    'info_creation_paragraphe' => '(​ដើម្បី​បង្កើត​កថាខណ្ឌ អ្នក​គ្រាន់តែ​ទុក​អោយ​មាន​បន្ទាត់​ទទេរ ។​)', # MODIF
207
+    'info_creation_rubrique' => 'មុន​ពេល​អាច​សរសេរ​អត្ថបទ<br /> អ្នក​ត្រូវ​តែ​បង្កើត​យ៉ាង​ហោច​ណាស់​មួយ​ផ្នែក ។<br />',
208
+    'info_creation_tables' => 'ជំហាន​ទី​បួន ៖ <b>ការ​បង្កើត​តារាង​ឃ្លាំង​ទិន្នន័យ</b>',
209
+    'info_creer_base' => '<b>បង្កើត</b> ឃ្លាំង​ទិន្នន័យ​ថ្មី',
210
+    'info_dans_rubrique' => 'ក្នុង​ផ្នែក ៖',
211
+    'info_date_publication_anterieure' => 'កាលបរិច្ឆេទ​នៃ​ការ​បោះ​ពុ​ម្ភ​ផ្សាយ​កាលពី​លើក​មុន ៖',
212
+    'info_date_referencement' => 'ថ្ងៃខែឆ្នាំ នៃការយោង របស់សៃថ៍នេះ ៖ ',
213
+    'info_derniere_etape' => 'ជំហាន​ចុង​ក្រោយ ៖  រួចរាល់​!',
214
+    'info_descriptif' => 'ការពិពណ៌នា៖',
215
+    'info_desinstaller_plugin' => 'លុបចេញ ទិន្នន័យ និងធ្វើអោយអសកម្ម plugin',
216
+    'info_discussion_cours' => 'ការពិភាក្សា កំពុងដំណើរ',
217
+    'info_ecrire_article' => 'មុន​ពេល​អាច​សរសេរ​អត្ថបទ​បាន អ្នក​ត្រូវ​បង្កើត​យ៉ាង​ហោច​ណាស់​មួយ​ផ្នែក ។',
218
+    'info_email_envoi' => 'អាសយដ្ឋានអ៊ីមែវល៍ របស់ម្ចាស់បញ្ញើ (ជាជំរើស)',
219
+    'info_email_envoi_txt' => 'បញ្ចូល អាយដ្ឋានអ៊ីមែវល៍ របស់អ្នកផ្ញើ ធ្លាប់បានប្រើប្រាស់ ពេលផ្ញើអ៊ីមែវល៍ (ជាលំនាំដើម, អាសយដ្ឋានអ្នកទទួល ត្រូវបានប្រើប្រាស់ ជាអាសយដ្ឋានអ្នកផ្ញើ) ៖',
220
+    'info_email_webmestre' => 'អាសយដ្ឋានអ៊ីមែវល៍ របស់អ្នកជំនាញវ៉ែប (ជាជំរើស)', # MODIF
221
+    'info_envoi_email_automatique' => 'ការ​ផ្ញើ​មែ​ល​ដោយ​ស្វ័យប្រវត្ដិ',
222
+    'info_envoyer_maintenant' => 'ផ្ញើ ឥឡូវ',
223
+    'info_etape_suivante' => 'ទៅ ជំហានបន្ទាប់',
224
+    'info_etape_suivante_1' => 'អ្នកអាចទៅ ជំហានបន្ទាប់។',
225
+    'info_etape_suivante_2' => 'អ្នកអាចទៅ ជំហានបន្ទាប់។',
226
+    'info_exportation_base' => 'នាំចេញ មូលដ្ឋានទិន្នន័យ ទៅ @archive@',
227
+    'info_facilite_suivi_activite' => 'សំរាប់សំរួល ការតាមដាន សកម្មភាពបោះផ្សាយ នៃសៃថ៍, SPIP អាចជូនដំណឹង តាមមែវល៍, ជាឧទាហរ ទៅបញ្ជីផ្ញើមែវល៍ របស់ពួកស្មេរ, ជំនូនដំណឹង នៃសំណើ បោះផ្សាយនានា និងភាពសុពលភាព នៃអត្ថបទនានា។', # MODIF
228
+    'info_fichiers_authent' => 'ហ្វា​ល​យថាភាព \\".htpasswd\\"',
229
+    'info_forums_abo_invites' => 'វ៉ែបសៃថ៍ របស់អ្នក រួមមាន ទីប្រជុំមតិ តាមរយះការជាវ ; ចឹង ពួកទស្សនាករ អាចចុះឈ្មោះ ចូលរួម ទីប្រជុំមតិទាំងនេះ លើសៃថ៍សាធារណះ។',
230
+    'info_gauche_admin_tech' => '<b>ត្រឹម ពួកអ្នកទទួលខុសត្រូវសៃថ៍ អាចចូលទៅ ទំព័រនេះ។</b><p> វាអនុញ្ញាត អោយចូលទៅ មុខងារថែទាំបច្ចេកទេស ដទៃ។ មួយចំនួននៃមុខងារ ផ្តល់ដំណើរ សំគាល់ជាក់លាក់, តំរូវអោយមាន FTP សំរាប់ចូលទៅ វ៉ែបសៃថ៍។</p>', # MODIF
231
+    'info_gauche_admin_vider' => '<b>ត្រឹម ពួកអ្នកទទួលខុសត្រូវសៃថ៍ អាចចូលទៅ ទំព័រនេះ។</b><p> វាអនុញ្ញាត ចូលទៅ មុខងារថែទាំបច្ចេកទេស ដទៃ។ មួយចំនួននៃមុខងារ ផ្តល់ដំណើរ សំគាល់ជាក់លាក់, តំរូវអោយមាន FTP សំរាប់ចូលទៅ វ៉ែបសៃថ៍។</p>', # MODIF
232
+    'info_gauche_auteurs' => 'អ្នកនឹងឃើញ ទីនេះ គ្រប់អ្នកនិពន្ធ នៃវ៉ែបសៃថ៍។
233 233
  ស្ថានភាព របស់ពួកគេ ត្រូវបានសំគាល់ ដោយ ពណ៌នៃរូបតំណាង (អ្នកអភិបាល = បៃតង; អ្នកបោះផ្សាយ = លឿង;)',
234
-	'info_gauche_auteurs_exterieurs' => 'ពួកអ្នកនិពន្ធ ពីខាងក្រៅ, គ្មានអាចចូលទៅ វ៉ែបសៃថ៍, ត្រូវបានសំគាល់ ជារូបតំណាង ពណ៌ខៀវ ;
234
+    'info_gauche_auteurs_exterieurs' => 'ពួកអ្នកនិពន្ធ ពីខាងក្រៅ, គ្មានអាចចូលទៅ វ៉ែបសៃថ៍, ត្រូវបានសំគាល់ ជារូបតំណាង ពណ៌ខៀវ ;
235 235
 ​ ពួកអ្នកនិពន្ធ ត្រូវបានលុបចេញ ដោយធុងសំរាម។', # MODIF
236
-	'info_gauche_messagerie' => 'ការ​ផ្ញើ​សារ​អនុញ្ញាត​អោយ​អ្នក​ផ្លាស់​ប្ដូរ​សារ​ក្នុង​ចំណោម​បណ្ណាធិកា ដើម្បី​រក្សា​ទុក​អនុស្សរណៈ  (​សម្រាប់​ការ​ប្រើប្រាស់​ផ្ទាល់ខ្លួន​របស់​អ្នក​) ឬ​ដើម្បី​បង្ហាញ​នូវ​សេចក្ដី​ប្រកាស​នៅ​លើ​គេហទំព័រ​នៃ​កន្លែង​ឯកជន (​ប្រសិនបើ​អ្នក​គឺជា​អ្នកគ្រប់គ្រង​) ។',
237
-	'info_gauche_statistiques_referers' => 'ទំព័រនេះ បង្ហាញ បញ្ជី<i>ឯកសារយោង</i>, បានន័យថា វ៉ែបសៃថ៍ មានផ្ទុកតំណភ្ជាប់ សំដៅសៃថ៍ផ្ទាល់ របស់អ្នក, ត្រឹម ម្សិល និងថ្ងៃនេះ ; បញ្ជីនេះ ត្រូវបានត្រលប់ទៅ សូន្យ រាល់ ២៤ ម៉ោង។',
238
-	'info_gauche_visiteurs_enregistres' => 'អ្នកនឹង រកឃើញ ទីនេះ ពួកទស្សនាករ
236
+    'info_gauche_messagerie' => 'ការ​ផ្ញើ​សារ​អនុញ្ញាត​អោយ​អ្នក​ផ្លាស់​ប្ដូរ​សារ​ក្នុង​ចំណោម​បណ្ណាធិកា ដើម្បី​រក្សា​ទុក​អនុស្សរណៈ  (​សម្រាប់​ការ​ប្រើប្រាស់​ផ្ទាល់ខ្លួន​របស់​អ្នក​) ឬ​ដើម្បី​បង្ហាញ​នូវ​សេចក្ដី​ប្រកាស​នៅ​លើ​គេហទំព័រ​នៃ​កន្លែង​ឯកជន (​ប្រសិនបើ​អ្នក​គឺជា​អ្នកគ្រប់គ្រង​) ។',
237
+    'info_gauche_statistiques_referers' => 'ទំព័រនេះ បង្ហាញ បញ្ជី<i>ឯកសារយោង</i>, បានន័យថា វ៉ែបសៃថ៍ មានផ្ទុកតំណភ្ជាប់ សំដៅសៃថ៍ផ្ទាល់ របស់អ្នក, ត្រឹម ម្សិល និងថ្ងៃនេះ ; បញ្ជីនេះ ត្រូវបានត្រលប់ទៅ សូន្យ រាល់ ២៤ ម៉ោង។',
238
+    'info_gauche_visiteurs_enregistres' => 'អ្នកនឹង រកឃើញ ទីនេះ ពួកទស្សនាករ
239 239
  ក្នុងធ្លាសាធារណះ នៃវ៉ែបសៃថ៍ (​ទីប្រជុំមតិ ជាវប្រចាំ)។',
240
-	'info_generation_miniatures_images' => 'បង្កើត​គំនូស​ព្រាង​រូបភាព',
241
-	'info_hebergeur_desactiver_envoi_email' => '“​កុំព្យូទ័រ​ខ្លះ​បិទមុខ​ងារ​ផ្ញើ​សារ​ស្វ័យប្រវត្ដិ',
242
-	'info_hier' => 'ម្សិល​ម៉ិ​ញៈ',
243
-	'info_identification_publique' => 'អត្តសញ្ញា សាធារណះ របស់អ្នក...',
244
-	'info_image_process' => 'ជ្រើសយក វិធីប្រពៃបំផុត សំរាប់បង្កើត កូនរូបភាព ដោយ ចុចលើ រូបភាពទាក់ទិន។',
245
-	'info_image_process2' => '<b>ចំណាំ៖</b> <i>បើគ្មានរូបភាព លេចឡើង, ពេលខំព្យូរើបំរើសេវា ដែលទទួលផ្ទុកវ៉ែបសៃថ៍ របស់អ្នក គ្មានត្រូវបានកំណត់ទំរង់ សំរាប់ប្រើប្រាស់ ឧបករបែបចឹង។ បើអ្នក ចង់ប្រើប្រាស់ មុខងារទាំងនេះ, ទាក់ទងអ្នកទទួលខុសត្រូវ ផ្នែកបច្ចេកទេស និងសួរ ផ្នែកបន្ថែម «GD» ឬ «Imagick»</i>', # MODIF
246
-	'info_images_auto' => 'រូបភាព​ដែល​ត្រូវ​បាន​រាប់​ដោយ​ស្វ័យប្រវត្ដិ',
247
-	'info_informations_personnelles' => 'ជំហាន​ទី​ប្រាំ ៖ <b>Personal information</b>',
248
-	'info_inscription_automatique' => 'ការចុះឈ្មោះស្វ័យប្រវត្តិ ពួកស្មេរថ្មី',
249
-	'info_jeu_caractere' => 'កញ្ចប់ភាសា នៃសៃថ៍',
250
-	'info_jours' => 'ថ្ងៃ',
251
-	'info_laisser_champs_vides' => 'ទុក​ប្រអប់​នេះ​ទំនេរ',
252
-	'info_langues' => 'ភាសា នៃសៃថ៍',
253
-	'info_ldap_ok' => 'LDAP បញ្ជាក់​ភាព​ត្រឹមត្រូវ ត្រូវ​បាន​ដំឡើង​។',
254
-	'info_lien_hypertexte' => 'តំណភ្ជាប់ អត្ថបទខ្ពស់៖',
255
-	'info_liste_redacteurs_connectes' => 'បញ្ជី​អ្នក​សរសេរ​អត្ថបទ​ដែល​ទាក់ទង',
256
-	'info_login_existant' => 'ការពិនិត្យចូលនេះ មានស្រាប់ហើយ។',
257
-	'info_login_trop_court' => 'ការពិនិត្យចូល ខ្លីពេក។',
258
-	'info_logos' => 'រូបសញ្ញា',
259
-	'info_maximum' => 'អតិបរមាៈ',
260
-	'info_meme_rubrique' => 'នៅ​ក្នុង​ផ្នែក​ដដែល',
261
-	'info_message_en_redaction' => 'សារ​របស់​លោក​អ្នក​កំពុង​ដំណើរការ',
262
-	'info_message_technique' => 'សារ​បច្ចេកទេសៈ',
263
-	'info_messagerie_interne' => 'ការ​បញ្ជូន​សារ​ខាងក្នុង',
264
-	'info_mise_a_niveau_base' => 'ការ​កែ​លំអ​សំណុំ​ទិន្នន័យMySQL ',
265
-	'info_mise_a_niveau_base_2' => '{{ប្រយត្ន!}} អ្នក បានតំលើង មួយកំណែ
240
+    'info_generation_miniatures_images' => 'បង្កើត​គំនូស​ព្រាង​រូបភាព',
241
+    'info_hebergeur_desactiver_envoi_email' => '“​កុំព្យូទ័រ​ខ្លះ​បិទមុខ​ងារ​ផ្ញើ​សារ​ស្វ័យប្រវត្ដិ',
242
+    'info_hier' => 'ម្សិល​ម៉ិ​ញៈ',
243
+    'info_identification_publique' => 'អត្តសញ្ញា សាធារណះ របស់អ្នក...',
244
+    'info_image_process' => 'ជ្រើសយក វិធីប្រពៃបំផុត សំរាប់បង្កើត កូនរូបភាព ដោយ ចុចលើ រូបភាពទាក់ទិន។',
245
+    'info_image_process2' => '<b>ចំណាំ៖</b> <i>បើគ្មានរូបភាព លេចឡើង, ពេលខំព្យូរើបំរើសេវា ដែលទទួលផ្ទុកវ៉ែបសៃថ៍ របស់អ្នក គ្មានត្រូវបានកំណត់ទំរង់ សំរាប់ប្រើប្រាស់ ឧបករបែបចឹង។ បើអ្នក ចង់ប្រើប្រាស់ មុខងារទាំងនេះ, ទាក់ទងអ្នកទទួលខុសត្រូវ ផ្នែកបច្ចេកទេស និងសួរ ផ្នែកបន្ថែម «GD» ឬ «Imagick»</i>', # MODIF
246
+    'info_images_auto' => 'រូបភាព​ដែល​ត្រូវ​បាន​រាប់​ដោយ​ស្វ័យប្រវត្ដិ',
247
+    'info_informations_personnelles' => 'ជំហាន​ទី​ប្រាំ ៖ <b>Personal information</b>',
248
+    'info_inscription_automatique' => 'ការចុះឈ្មោះស្វ័យប្រវត្តិ ពួកស្មេរថ្មី',
249
+    'info_jeu_caractere' => 'កញ្ចប់ភាសា នៃសៃថ៍',
250
+    'info_jours' => 'ថ្ងៃ',
251
+    'info_laisser_champs_vides' => 'ទុក​ប្រអប់​នេះ​ទំនេរ',
252
+    'info_langues' => 'ភាសា នៃសៃថ៍',
253
+    'info_ldap_ok' => 'LDAP បញ្ជាក់​ភាព​ត្រឹមត្រូវ ត្រូវ​បាន​ដំឡើង​។',
254
+    'info_lien_hypertexte' => 'តំណភ្ជាប់ អត្ថបទខ្ពស់៖',
255
+    'info_liste_redacteurs_connectes' => 'បញ្ជី​អ្នក​សរសេរ​អត្ថបទ​ដែល​ទាក់ទង',
256
+    'info_login_existant' => 'ការពិនិត្យចូលនេះ មានស្រាប់ហើយ។',
257
+    'info_login_trop_court' => 'ការពិនិត្យចូល ខ្លីពេក។',
258
+    'info_logos' => 'រូបសញ្ញា',
259
+    'info_maximum' => 'អតិបរមាៈ',
260
+    'info_meme_rubrique' => 'នៅ​ក្នុង​ផ្នែក​ដដែល',
261
+    'info_message_en_redaction' => 'សារ​របស់​លោក​អ្នក​កំពុង​ដំណើរការ',
262
+    'info_message_technique' => 'សារ​បច្ចេកទេសៈ',
263
+    'info_messagerie_interne' => 'ការ​បញ្ជូន​សារ​ខាងក្នុង',
264
+    'info_mise_a_niveau_base' => 'ការ​កែ​លំអ​សំណុំ​ទិន្នន័យMySQL ',
265
+    'info_mise_a_niveau_base_2' => '{{ប្រយត្ន!}} អ្នក បានតំលើង មួយកំណែ
266 266
  ឯកសារ SPIP (ចាស់)ជាង កំណែត្រូវបានតំលើង លើសៃថ៍នេះ៖ មូលដ្ឋានទិន្នន័យ របស់អ្នក អាចនឹងត្រូវបានបាត់ និងសៃថ៍ របស់អ្នក នឹងលែងធ្វើការ។ <br />{{តំលើងឡើងវិញ ឯកសារ SPIP។}}',
267
-	'info_modifier_auteur' => 'កែប្រែ ភាពលំអិតនៃអ្នកនិពន្ធ៖',
268
-	'info_modifier_rubrique' => 'កែប្រែ ផ្នែក៖',
269
-	'info_modifier_titre' => 'កែប្រែ៖ @titre@',
270
-	'info_mon_site_spip' => 'សៃថ៍ SPIP របស់ខ្ញុំ',
271
-	'info_moyenne' => 'មធ្យមៈ',
272
-	'info_multi_cet_article' => 'ភាសា​ក្នុង​អត្ថបទ​នេះ',
273
-	'info_multi_langues_choisies' => 'សូមជ្រើសយក ភាសាមានស្រាប់ ខាងក្រោម សំរាប់ ពួកស្មេរ នៃសៃថ៍ របស់អ្នក។
267
+    'info_modifier_auteur' => 'កែប្រែ ភាពលំអិតនៃអ្នកនិពន្ធ៖',
268
+    'info_modifier_rubrique' => 'កែប្រែ ផ្នែក៖',
269
+    'info_modifier_titre' => 'កែប្រែ៖ @titre@',
270
+    'info_mon_site_spip' => 'សៃថ៍ SPIP របស់ខ្ញុំ',
271
+    'info_moyenne' => 'មធ្យមៈ',
272
+    'info_multi_cet_article' => 'ភាសា​ក្នុង​អត្ថបទ​នេះ',
273
+    'info_multi_langues_choisies' => 'សូមជ្រើសយក ភាសាមានស្រាប់ ខាងក្រោម សំរាប់ ពួកស្មេរ នៃសៃថ៍ របស់អ្នក។
274 274
 ភាសា ត្រូវបានប្រើប្រាស់ហើយ ក្នុងសៃថ៍ របស់អ្នក(បង្ហាញ ដំបូង) គ្មានអាចត្រូវបាន អសកម្ម។',
275
-	'info_multi_secteurs' => '...​សំរាប់​តែ​ផ្នែក​ដែល​នៅ​ខាងក្រោម​គេ​ប៉ុណ្ណោះ​?',
276
-	'info_nom' => 'ឈ្មោះ',
277
-	'info_nom_destinataire' => 'ឈ្មោះ​អ្នក​ទទួល',
278
-	'info_nom_site' => 'ឈ្មោះវ៉ែបសៃថ៍ របស់ខ្ញុំ',
279
-	'info_nombre_articles' => 'អត្ថបទ',
280
-	'info_nombre_rubriques' => 'ផ្នែក',
281
-	'info_nombre_sites' => '@nb_sites@ វ៉ែបសៃថ៍,',
282
-	'info_non_deplacer' => 'សូមកុំ​រំកិល',
283
-	'info_non_envoi_annonce_dernieres_nouveautes' => 'SPIP អាចផ្ញើទៀងទាត់ ជំនូនដំណឹង ពត៌មានថ្មីៗ ចុងក្រោយ នៃវ៉ែបសៃថ៍
275
+    'info_multi_secteurs' => '...​សំរាប់​តែ​ផ្នែក​ដែល​នៅ​ខាងក្រោម​គេ​ប៉ុណ្ណោះ​?',
276
+    'info_nom' => 'ឈ្មោះ',
277
+    'info_nom_destinataire' => 'ឈ្មោះ​អ្នក​ទទួល',
278
+    'info_nom_site' => 'ឈ្មោះវ៉ែបសៃថ៍ របស់ខ្ញុំ',
279
+    'info_nombre_articles' => 'អត្ថបទ',
280
+    'info_nombre_rubriques' => 'ផ្នែក',
281
+    'info_nombre_sites' => '@nb_sites@ វ៉ែបសៃថ៍,',
282
+    'info_non_deplacer' => 'សូមកុំ​រំកិល',
283
+    'info_non_envoi_annonce_dernieres_nouveautes' => 'SPIP អាចផ្ញើទៀងទាត់ ជំនូនដំណឹង ពត៌មានថ្មីៗ ចុងក្រោយ នៃវ៉ែបសៃថ៍
284 284
  (អត្ថបទ និងពត៌មានខ្លី ត្រូវបានបោះផ្សាយថ្មីៗ។',
285
-	'info_non_envoi_liste_nouveautes' => 'កុំផ្ញើ បញ្ជីដំណឹងចុងក្រោយបំផុត',
286
-	'info_non_modifiable' => 'គ្មានអាចត្រូវបាន កែប្រែ',
287
-	'info_non_suppression_mot_cle' => 'ខ្ញុំ គ្មានចង់លុបចេញ ពាក្យគន្លឹះនេះ។',
288
-	'info_notes' => 'កំណត់សំគាល់​នៅ​ចុង​ទំព័រ',
289
-	'info_nouvel_article' => 'អត្ថបទ​ថ្មី',
290
-	'info_nouvelle_traduction' => 'អត្ថបទ​បកប្រែ​ថ្មីៈ',
291
-	'info_numero_article' => 'លេខ​អត្ថបទៈ',
292
-	'info_obligatoire_02' => '[ចាំបាច់]', # MODIF
293
-	'info_option_accepter_visiteurs' => 'យល់ព្រម ការចុះឈ្មោះ ពួកទស្សនាករ នៃវ៉ែបសៃថ៍​សាធារណះ',
294
-	'info_option_ne_pas_accepter_visiteurs' => 'បដិសេធ ការចុះឈ្មោះ របស់ទស្សនាករ',
295
-	'info_options_avancees' => 'ជំរើស​ពិសេស',
296
-	'info_ou' => 'ឬ​....',
297
-	'info_page_interdite' => 'ទំព័រ​ហាមឃាត់',
298
-	'info_par_nom' => 'តាម​ឈ្មោះ',
299
-	'info_par_nombre_article' => 'តាម​ចំនួន​អត្ថបទ',
300
-	'info_par_statut' => 'តាម​ស្ថានភាព',
301
-	'info_par_tri' => '’(by @tri@)’',
302
-	'info_passe_trop_court' => 'ពាក្យសំងាត់ ខ្លីពេក។',
303
-	'info_passes_identiques' => 'ពាក្យសំងាត់ ទាំងពីរ គ្មានដូចគ្នា។',
304
-	'info_plus_cinq_car' => 'លើសពី​ ៥ អក្សរ',
305
-	'info_plus_cinq_car_2' => '(​លើស​ពី ៥ អក្សរ​)',
306
-	'info_plus_trois_car' => '(​លើស​ពី ៣ អក្សរ​)',
307
-	'info_popularite' => 'ភាពពេញនិយម៖ ៖ @popularite@; ចំណូលមើល៖ @visites@',
308
-	'info_post_scriptum' => 'បដ្ឋនាលិខិត',
309
-	'info_post_scriptum_2' => 'បដ្ឋនាលិខិត',
310
-	'info_pour' => 'សំរាប់',
311
-	'info_preview_texte' => 'គ្មានអាចមើលមុន សៃថ៍ ដូចដែលគ្រប់អត្ថបទ និងខ្ទង់ដំណឹង (ដែលមានយ៉ាងតិច ស្ថានភាព "បានដាក់ស្នើ") ត្រូវបានបោះផ្សាយហើយ។ បែបមើលមុននេះ គួរត្រូវបានអនុញ្ញាត សំរាប់ពួកអ្នកអភិបាល, បើក សំរាប់គ្រប់អ្នកនិពន្ធ, ឬ គ្មានអនុញ្ញាតទាំងស្រុង?', # MODIF
312
-	'info_procedez_par_etape' => 'សូម​ដំណើរការ​មួយ​ជំហាន​ម្ដងៗ',
313
-	'info_procedure_maj_version' => 'គួរ​បើក​ដំណើរការ​នីតិវិធី​កែ​លំអ​ដើម្បី​សម្រួល​ដល់​ការ​ប្រើប្រាស់​ទិន្នន័យ​ទៅ​ក្នុង​វើ​សឹ​ន (version) របស់ SPIP',
314
-	'info_proxy_ok' => 'ការ​ពិនិត្យ​លើ​វើ​សឹ​ន​ថ្មី​ទទួល​បាន​ជោគជ័យ​។',
315
-	'info_ps' => 'បញ្ជាក់(P.S)',
316
-	'info_publier' => 'ចុះ​ផ្សាយ',
317
-	'info_publies' => 'រាល់អត្ថបទ របស់អ្នក ត្រូវបានបោះផ្សាយ លើអិនរើណែត',
318
-	'info_question_accepter_visiteurs' => 'ប្រសិនបើ​ទម្រង់​វ៉ិ​ប​សាយ​របស់​លោក​អ្នក​អនុញ្ញាត​ឱ្យ​អ្នក​ទស្សនា​ចុះ​ឈ្មោះ​ដោយ​មិន​ចាំបាច់​ចូល​ទៅ​ក្នុង​ផ្នែក​ឯកជន សូម​បើកមុខ​ងារ​ជំរើស​ខាងក្រោមៈ',
319
-	'info_question_inscription_nouveaux_redacteurs' => 'តើ​លោក​អ្នក​ត្រូវការ​អនុញ្ញាត​ឱ្យ​អ្នក​សរសេរ​អត្ថបទ​ថ្មី​ចុះ​ឈ្មោះ​ពី​វ៉ិ​ប​សាយ​សាធារណៈ​ដែល​ឬទេ​? ប្រសិនបើ​លោក​អ្នក​យល់ព្រម អ្នក​ទស្សនា​នឹង​អាច​ចុះ​ឈ្មោះ​ដោយ​ប្រើប្រាស់​ទម្រង់​ស្វ័យប្រវត្ដិ​មួយ ហើយ​បន្ទាប់​មក​ចូល​ក្នុង​ផ្នែក​ឯកជន​ដើម្បី​បញ្ចូល​អត្ថបទ​ផ្ទា់ល់​របស់​ពួក​គេ​។ <blockquote> ក្នុង​ពេល​ដំណើរការ​ចុះ​ឈ្មោះ អ្នក​ប្រើប្រាស់​ទទួល​បាន​អ៊ី​ម៉ែ​ល​ស្វ័យប្រវត្ដិ​ដែល​ផ្ដល់​ជូន​ពួក​គេ​នូវ​លេខ​កូដ​ចូល​ទៅ​ក្នុង​ផ្នែក​ឯកជន​។ ក្រុមហ៊ុន​ផ្ដល់​សេវា​មួយ​ចំនួន​មិន​អនុញ្ញាត​ចំពោះ​ការ​ផ្ញើ​អ៊ី​ម៉ែ​ល​ម៉ាស៊ីន​មេ (servers)​របស់​ពួក​គេ​ទេ ៖ ក្នុង​ករណី​នោះ ការ​ចុះ​ឈ្មោះ​ដោយ​ស្វ័យប្រវត្ដិ​គឺ​មិន​អាច​អនុវត្ដ​បាន​ទេ​។', # MODIF
320
-	'info_racine_site' => 'ឫស នៃវ៉ែបសៃថ៍',
321
-	'info_recharger_page' => 'សូម​បញ្ចូល​ទំព័រ​នេះ​ជា​ថ្មី​ម្ដងទៀត​នៅ​មួយសន្ទុះ​ក្រោយ',
322
-	'info_recherche_auteur_zero' => 'គ្មាន​លទ្ធផល​ទេ​សំរាប់ \\"@cherche_auteur@\\".',
323
-	'info_recommencer' => 'សូម​ព្យាយាម​ម្ដងទៀត',
324
-	'info_redacteur_1' => 'Rédacteur',
325
-	'info_redacteur_2' => 'បាន​ចូល​មក​ដល់​ផ្នែក​ឯកជន (<i>recommended</i>)',
326
-	'info_redacteurs' => 'អ្នក​សរសេរ​អត្ថបទ',
327
-	'info_redaction_en_cours' => 'កំពុង តែងអត្ថបទ',
328
-	'info_redirection' => 'ការ​កំណត់​ទិស​ដៅ​ជា​ថ្មី',
329
-	'info_refuses' => 'អត្ថបទ របស់អ្នក ត្រូវបានបដិសេធ',
330
-	'info_reglage_ldap' => 'ជម្រើសៈ<b>Adjusting LDAP import</b>',
331
-	'info_renvoi_article' => '<b>Redirection.</b> អត្ថបទ​នេះ​ត្រូវ​ប្ដូរ​ទិស​ដៅ​ជា​ថ្មី​ទៅៈ',
332
-	'info_reserve_admin' => 'ត្រឹម ពួកអ្នកអភិបាល អាចកែប្រែ អាសយដ្ឋាននេះ។',
333
-	'info_restreindre_rubrique' => 'កំណត់​ការ​គ្រប់គ្រង​ត្រឹមតែ​ចំពោះ​ផ្នែកៈ',
334
-	'info_resultat_recherche' => 'លទ្ធផល​នៃ​ការ​ស្វែងរកៈ',
335
-	'info_rubriques' => 'ផ្នែក',
336
-	'info_rubriques_02' => 'ផ្នែក',
337
-	'info_rubriques_trouvees' => 'ផ្នែក ត្រូវបានរកឃើញ',
338
-	'info_sans_titre' => 'គ្មាន​ចំណងជើង',
339
-	'info_selection_chemin_acces' => '<b>ជ្រើសយក</b> ខាងក្រោម ​ផ្លូវចូល​ទៅ​បញ្ជីឈ្មោះ ៖',
340
-	'info_signatures' => 'ហត្ថលេខា',
341
-	'info_site' => 'សៃថ៍',
342
-	'info_site_2' => 'សៃថ៍៖',
343
-	'info_site_min' => 'សៃថ៍',
344
-	'info_site_reference_2' => 'សៃថ៍​យោង',
345
-	'info_site_web' => 'វ៉ែប​​សៃថ៍ ៖', # MODIF
346
-	'info_sites' => '​​សៃថ៍',
347
-	'info_sites_lies_mot' => '​​សៃថ៍យោង​ ដែល​មាន​ពាក្យ​គន្លឹះ​នេះ',
348
-	'info_sites_proxy' => '​ប្រើប្រាស់​ មួយខំព្យូរើបំរើសេវា Proxy',
349
-	'info_sites_trouves' => 'បានរកឃើញ សៃថ៍',
350
-	'info_sous_titre' => 'ចំណងជើង​រង៖',
351
-	'info_statut_administrateur' => 'អ្នកអភិបាល',
352
-	'info_statut_auteur' => 'ស្ថានភាព នៃអ្នកនិពន្ធ នេះ៖',
353
-	'info_statut_auteur_a_confirmer' => 'ការ​ចុះ​ឈ្មោះ​ ដែល​ត្រូវ​បញ្ជាក់ទទួលស្គាល់',
354
-	'info_statut_auteur_autre' => 'ស្ថានភាព ដទៃ ៖',
355
-	'info_statut_redacteur' => 'អ្នក​តែងនិពន្ធ',
356
-	'info_statut_utilisateurs_1' => 'ស្ថានភាព​ លំនាំដើម នៃអ្នក​ប្រើប្រាស់​ ដែល​បានត្រូវនាំចូល',
357
-	'info_statut_utilisateurs_2' => 'ជ្រើសរើស​ស្ថានភាព​ដែល​បញ្ជាក់​អំពី​បុគ្គល​ដែល​មាននៅ​ក្នុង​បញ្ជី (directory) LDAP នៅ​ពេល​ដែល​ពួក​គេ​ភ្ជាប់​ជា​លើក​ដំបូង​។ ក្រោយមក​លោក​អ្នក​អាច​កែសម្រួល​តម្លៃ​នេះ​សំរាប់​អ្នក​សរសេរ​កម្មវិធី​នីមួយៗ ដោយ​ផ្នែក​លើ​ករណី​មួយៗ​។',
358
-	'info_suivi_activite' => 'ការតាមដាន សកម្មភាពបោះផ្សាយ',
359
-	'info_surtitre' => 'ចំណងជើងកំពូល៖',
360
-	'info_syndication_integrale_1' => 'វ៉ិ​ប​សាយ​របស់​លោក​អ្នក​ផ្ដល់​នូវ​ហ្វា​ល (file) បញ្ចូល(see “<a href=\\"@url@\\">@titre@</a>”)។',
361
-	'info_syndication_integrale_2' => 'អ្នកមានសំណូមពរ ផ្ញើ អត្ថបទទាំងមូល ឬ ត្រឹមមួយសង្ខេប នៃរាប់រយអក្សរ ឬ?',
362
-	'info_taille_maximale_vignette' => 'ទំហំ​អតិបរមា​នៃ​ម៉ូត​រចនា​ដែល​បង្កើត​ឡើង​ដោយ​ប្រព័ន្ធ ៖',
363
-	'info_terminer_installation' => 'អ្នក បច្ចុប្បន្ន អាចបញ្ចប់ ដំណើរតំលើង លំនាំដើម។',
364
-	'info_texte' => 'អត្ថបទ',
365
-	'info_texte_explicatif' => 'អត្ថបទ​ពន្យល់',
366
-	'info_texte_long' => '(​ឯ​កសារ​វែងៈ វា​បង្ហាញ​ជា​ច្រើន​ផ្នែក​ដែល​នឹង​រួម​បញ្ចូល​គ្នា​បន្ទាប់​ពី​មាន​សុពលភាព​។​)',
367
-	'info_texte_message' => 'អត្ថបទ នៃសារ របស់អ្នក៖', # MODIF
368
-	'info_texte_message_02' => 'អត្ថបទ​សារ',
369
-	'info_titre' => 'ចំណងជើង៖',
370
-	'info_total' => 'សរុបៈ',
371
-	'info_tous_articles_en_redaction' => 'គ្រប់អត្ថបទ ក្នុងដំណើរសរសេរ',
372
-	'info_tous_articles_presents' => 'គ្រប់អត្ថបទ ត្រូវបានបោះផ្សាយ ក្នុងផ្នែកនេះ',
373
-	'info_tous_les' => 'រាល់៖',
374
-	'info_tout_site' => 'សៃថ៍ ទាំងមូល',
375
-	'info_tout_site2' => 'អត្ថបទ គ្មានទាន់ត្រូវបាន ប្រែសំរួល ជាភាសានេះ។',
376
-	'info_tout_site3' => 'អត្ថបទ ត្រូវបានប្រែសំរួល ជាភាសានេះ, ប៉ុន្តែ​មានបំលាស់ប្តូរ បន្ទាប់ពីអត្ថបទយោង។ បំរែសំរួល ត្រូវការ ការបន្ទាន់សម័យ។ ',
377
-	'info_tout_site4' => 'អត្ថបទ ត្រូវបានប្រែសំរួល ជាភាសានេះ, និង បំរែសំរួល ត្រូវបានបន្ទាន់សម័យ។',
378
-	'info_tout_site5' => 'អត្ថបទដើម៖',
379
-	'info_tout_site6' => '<b>ប្រយត្ន៖</b> ត្រឹមអត្ថបទដើម ត្រូវបានបង្ហាញ.
285
+    'info_non_envoi_liste_nouveautes' => 'កុំផ្ញើ បញ្ជីដំណឹងចុងក្រោយបំផុត',
286
+    'info_non_modifiable' => 'គ្មានអាចត្រូវបាន កែប្រែ',
287
+    'info_non_suppression_mot_cle' => 'ខ្ញុំ គ្មានចង់លុបចេញ ពាក្យគន្លឹះនេះ។',
288
+    'info_notes' => 'កំណត់សំគាល់​នៅ​ចុង​ទំព័រ',
289
+    'info_nouvel_article' => 'អត្ថបទ​ថ្មី',
290
+    'info_nouvelle_traduction' => 'អត្ថបទ​បកប្រែ​ថ្មីៈ',
291
+    'info_numero_article' => 'លេខ​អត្ថបទៈ',
292
+    'info_obligatoire_02' => '[ចាំបាច់]', # MODIF
293
+    'info_option_accepter_visiteurs' => 'យល់ព្រម ការចុះឈ្មោះ ពួកទស្សនាករ នៃវ៉ែបសៃថ៍​សាធារណះ',
294
+    'info_option_ne_pas_accepter_visiteurs' => 'បដិសេធ ការចុះឈ្មោះ របស់ទស្សនាករ',
295
+    'info_options_avancees' => 'ជំរើស​ពិសេស',
296
+    'info_ou' => 'ឬ​....',
297
+    'info_page_interdite' => 'ទំព័រ​ហាមឃាត់',
298
+    'info_par_nom' => 'តាម​ឈ្មោះ',
299
+    'info_par_nombre_article' => 'តាម​ចំនួន​អត្ថបទ',
300
+    'info_par_statut' => 'តាម​ស្ថានភាព',
301
+    'info_par_tri' => '’(by @tri@)’',
302
+    'info_passe_trop_court' => 'ពាក្យសំងាត់ ខ្លីពេក។',
303
+    'info_passes_identiques' => 'ពាក្យសំងាត់ ទាំងពីរ គ្មានដូចគ្នា។',
304
+    'info_plus_cinq_car' => 'លើសពី​ ៥ អក្សរ',
305
+    'info_plus_cinq_car_2' => '(​លើស​ពី ៥ អក្សរ​)',
306
+    'info_plus_trois_car' => '(​លើស​ពី ៣ អក្សរ​)',
307
+    'info_popularite' => 'ភាពពេញនិយម៖ ៖ @popularite@; ចំណូលមើល៖ @visites@',
308
+    'info_post_scriptum' => 'បដ្ឋនាលិខិត',
309
+    'info_post_scriptum_2' => 'បដ្ឋនាលិខិត',
310
+    'info_pour' => 'សំរាប់',
311
+    'info_preview_texte' => 'គ្មានអាចមើលមុន សៃថ៍ ដូចដែលគ្រប់អត្ថបទ និងខ្ទង់ដំណឹង (ដែលមានយ៉ាងតិច ស្ថានភាព "បានដាក់ស្នើ") ត្រូវបានបោះផ្សាយហើយ។ បែបមើលមុននេះ គួរត្រូវបានអនុញ្ញាត សំរាប់ពួកអ្នកអភិបាល, បើក សំរាប់គ្រប់អ្នកនិពន្ធ, ឬ គ្មានអនុញ្ញាតទាំងស្រុង?', # MODIF
312
+    'info_procedez_par_etape' => 'សូម​ដំណើរការ​មួយ​ជំហាន​ម្ដងៗ',
313
+    'info_procedure_maj_version' => 'គួរ​បើក​ដំណើរការ​នីតិវិធី​កែ​លំអ​ដើម្បី​សម្រួល​ដល់​ការ​ប្រើប្រាស់​ទិន្នន័យ​ទៅ​ក្នុង​វើ​សឹ​ន (version) របស់ SPIP',
314
+    'info_proxy_ok' => 'ការ​ពិនិត្យ​លើ​វើ​សឹ​ន​ថ្មី​ទទួល​បាន​ជោគជ័យ​។',
315
+    'info_ps' => 'បញ្ជាក់(P.S)',
316
+    'info_publier' => 'ចុះ​ផ្សាយ',
317
+    'info_publies' => 'រាល់អត្ថបទ របស់អ្នក ត្រូវបានបោះផ្សាយ លើអិនរើណែត',
318
+    'info_question_accepter_visiteurs' => 'ប្រសិនបើ​ទម្រង់​វ៉ិ​ប​សាយ​របស់​លោក​អ្នក​អនុញ្ញាត​ឱ្យ​អ្នក​ទស្សនា​ចុះ​ឈ្មោះ​ដោយ​មិន​ចាំបាច់​ចូល​ទៅ​ក្នុង​ផ្នែក​ឯកជន សូម​បើកមុខ​ងារ​ជំរើស​ខាងក្រោមៈ',
319
+    'info_question_inscription_nouveaux_redacteurs' => 'តើ​លោក​អ្នក​ត្រូវការ​អនុញ្ញាត​ឱ្យ​អ្នក​សរសេរ​អត្ថបទ​ថ្មី​ចុះ​ឈ្មោះ​ពី​វ៉ិ​ប​សាយ​សាធារណៈ​ដែល​ឬទេ​? ប្រសិនបើ​លោក​អ្នក​យល់ព្រម អ្នក​ទស្សនា​នឹង​អាច​ចុះ​ឈ្មោះ​ដោយ​ប្រើប្រាស់​ទម្រង់​ស្វ័យប្រវត្ដិ​មួយ ហើយ​បន្ទាប់​មក​ចូល​ក្នុង​ផ្នែក​ឯកជន​ដើម្បី​បញ្ចូល​អត្ថបទ​ផ្ទា់ល់​របស់​ពួក​គេ​។ <blockquote> ក្នុង​ពេល​ដំណើរការ​ចុះ​ឈ្មោះ អ្នក​ប្រើប្រាស់​ទទួល​បាន​អ៊ី​ម៉ែ​ល​ស្វ័យប្រវត្ដិ​ដែល​ផ្ដល់​ជូន​ពួក​គេ​នូវ​លេខ​កូដ​ចូល​ទៅ​ក្នុង​ផ្នែក​ឯកជន​។ ក្រុមហ៊ុន​ផ្ដល់​សេវា​មួយ​ចំនួន​មិន​អនុញ្ញាត​ចំពោះ​ការ​ផ្ញើ​អ៊ី​ម៉ែ​ល​ម៉ាស៊ីន​មេ (servers)​របស់​ពួក​គេ​ទេ ៖ ក្នុង​ករណី​នោះ ការ​ចុះ​ឈ្មោះ​ដោយ​ស្វ័យប្រវត្ដិ​គឺ​មិន​អាច​អនុវត្ដ​បាន​ទេ​។', # MODIF
320
+    'info_racine_site' => 'ឫស នៃវ៉ែបសៃថ៍',
321
+    'info_recharger_page' => 'សូម​បញ្ចូល​ទំព័រ​នេះ​ជា​ថ្មី​ម្ដងទៀត​នៅ​មួយសន្ទុះ​ក្រោយ',
322
+    'info_recherche_auteur_zero' => 'គ្មាន​លទ្ធផល​ទេ​សំរាប់ \\"@cherche_auteur@\\".',
323
+    'info_recommencer' => 'សូម​ព្យាយាម​ម្ដងទៀត',
324
+    'info_redacteur_1' => 'Rédacteur',
325
+    'info_redacteur_2' => 'បាន​ចូល​មក​ដល់​ផ្នែក​ឯកជន (<i>recommended</i>)',
326
+    'info_redacteurs' => 'អ្នក​សរសេរ​អត្ថបទ',
327
+    'info_redaction_en_cours' => 'កំពុង តែងអត្ថបទ',
328
+    'info_redirection' => 'ការ​កំណត់​ទិស​ដៅ​ជា​ថ្មី',
329
+    'info_refuses' => 'អត្ថបទ របស់អ្នក ត្រូវបានបដិសេធ',
330
+    'info_reglage_ldap' => 'ជម្រើសៈ<b>Adjusting LDAP import</b>',
331
+    'info_renvoi_article' => '<b>Redirection.</b> អត្ថបទ​នេះ​ត្រូវ​ប្ដូរ​ទិស​ដៅ​ជា​ថ្មី​ទៅៈ',
332
+    'info_reserve_admin' => 'ត្រឹម ពួកអ្នកអភិបាល អាចកែប្រែ អាសយដ្ឋាននេះ។',
333
+    'info_restreindre_rubrique' => 'កំណត់​ការ​គ្រប់គ្រង​ត្រឹមតែ​ចំពោះ​ផ្នែកៈ',
334
+    'info_resultat_recherche' => 'លទ្ធផល​នៃ​ការ​ស្វែងរកៈ',
335
+    'info_rubriques' => 'ផ្នែក',
336
+    'info_rubriques_02' => 'ផ្នែក',
337
+    'info_rubriques_trouvees' => 'ផ្នែក ត្រូវបានរកឃើញ',
338
+    'info_sans_titre' => 'គ្មាន​ចំណងជើង',
339
+    'info_selection_chemin_acces' => '<b>ជ្រើសយក</b> ខាងក្រោម ​ផ្លូវចូល​ទៅ​បញ្ជីឈ្មោះ ៖',
340
+    'info_signatures' => 'ហត្ថលេខា',
341
+    'info_site' => 'សៃថ៍',
342
+    'info_site_2' => 'សៃថ៍៖',
343
+    'info_site_min' => 'សៃថ៍',
344
+    'info_site_reference_2' => 'សៃថ៍​យោង',
345
+    'info_site_web' => 'វ៉ែប​​សៃថ៍ ៖', # MODIF
346
+    'info_sites' => '​​សៃថ៍',
347
+    'info_sites_lies_mot' => '​​សៃថ៍យោង​ ដែល​មាន​ពាក្យ​គន្លឹះ​នេះ',
348
+    'info_sites_proxy' => '​ប្រើប្រាស់​ មួយខំព្យូរើបំរើសេវា Proxy',
349
+    'info_sites_trouves' => 'បានរកឃើញ សៃថ៍',
350
+    'info_sous_titre' => 'ចំណងជើង​រង៖',
351
+    'info_statut_administrateur' => 'អ្នកអភិបាល',
352
+    'info_statut_auteur' => 'ស្ថានភាព នៃអ្នកនិពន្ធ នេះ៖',
353
+    'info_statut_auteur_a_confirmer' => 'ការ​ចុះ​ឈ្មោះ​ ដែល​ត្រូវ​បញ្ជាក់ទទួលស្គាល់',
354
+    'info_statut_auteur_autre' => 'ស្ថានភាព ដទៃ ៖',
355
+    'info_statut_redacteur' => 'អ្នក​តែងនិពន្ធ',
356
+    'info_statut_utilisateurs_1' => 'ស្ថានភាព​ លំនាំដើម នៃអ្នក​ប្រើប្រាស់​ ដែល​បានត្រូវនាំចូល',
357
+    'info_statut_utilisateurs_2' => 'ជ្រើសរើស​ស្ថានភាព​ដែល​បញ្ជាក់​អំពី​បុគ្គល​ដែល​មាននៅ​ក្នុង​បញ្ជី (directory) LDAP នៅ​ពេល​ដែល​ពួក​គេ​ភ្ជាប់​ជា​លើក​ដំបូង​។ ក្រោយមក​លោក​អ្នក​អាច​កែសម្រួល​តម្លៃ​នេះ​សំរាប់​អ្នក​សរសេរ​កម្មវិធី​នីមួយៗ ដោយ​ផ្នែក​លើ​ករណី​មួយៗ​។',
358
+    'info_suivi_activite' => 'ការតាមដាន សកម្មភាពបោះផ្សាយ',
359
+    'info_surtitre' => 'ចំណងជើងកំពូល៖',
360
+    'info_syndication_integrale_1' => 'វ៉ិ​ប​សាយ​របស់​លោក​អ្នក​ផ្ដល់​នូវ​ហ្វា​ល (file) បញ្ចូល(see “<a href=\\"@url@\\">@titre@</a>”)។',
361
+    'info_syndication_integrale_2' => 'អ្នកមានសំណូមពរ ផ្ញើ អត្ថបទទាំងមូល ឬ ត្រឹមមួយសង្ខេប នៃរាប់រយអក្សរ ឬ?',
362
+    'info_taille_maximale_vignette' => 'ទំហំ​អតិបរមា​នៃ​ម៉ូត​រចនា​ដែល​បង្កើត​ឡើង​ដោយ​ប្រព័ន្ធ ៖',
363
+    'info_terminer_installation' => 'អ្នក បច្ចុប្បន្ន អាចបញ្ចប់ ដំណើរតំលើង លំនាំដើម។',
364
+    'info_texte' => 'អត្ថបទ',
365
+    'info_texte_explicatif' => 'អត្ថបទ​ពន្យល់',
366
+    'info_texte_long' => '(​ឯ​កសារ​វែងៈ វា​បង្ហាញ​ជា​ច្រើន​ផ្នែក​ដែល​នឹង​រួម​បញ្ចូល​គ្នា​បន្ទាប់​ពី​មាន​សុពលភាព​។​)',
367
+    'info_texte_message' => 'អត្ថបទ នៃសារ របស់អ្នក៖', # MODIF
368
+    'info_texte_message_02' => 'អត្ថបទ​សារ',
369
+    'info_titre' => 'ចំណងជើង៖',
370
+    'info_total' => 'សរុបៈ',
371
+    'info_tous_articles_en_redaction' => 'គ្រប់អត្ថបទ ក្នុងដំណើរសរសេរ',
372
+    'info_tous_articles_presents' => 'គ្រប់អត្ថបទ ត្រូវបានបោះផ្សាយ ក្នុងផ្នែកនេះ',
373
+    'info_tous_les' => 'រាល់៖',
374
+    'info_tout_site' => 'សៃថ៍ ទាំងមូល',
375
+    'info_tout_site2' => 'អត្ថបទ គ្មានទាន់ត្រូវបាន ប្រែសំរួល ជាភាសានេះ។',
376
+    'info_tout_site3' => 'អត្ថបទ ត្រូវបានប្រែសំរួល ជាភាសានេះ, ប៉ុន្តែ​មានបំលាស់ប្តូរ បន្ទាប់ពីអត្ថបទយោង។ បំរែសំរួល ត្រូវការ ការបន្ទាន់សម័យ។ ',
377
+    'info_tout_site4' => 'អត្ថបទ ត្រូវបានប្រែសំរួល ជាភាសានេះ, និង បំរែសំរួល ត្រូវបានបន្ទាន់សម័យ។',
378
+    'info_tout_site5' => 'អត្ថបទដើម៖',
379
+    'info_tout_site6' => '<b>ប្រយត្ន៖</b> ត្រឹមអត្ថបទដើម ត្រូវបានបង្ហាញ.
380 380
  បំរែសំរួល ត្រូវបានផ្សារជាប់ ទៅអត្ថបទ,
381 381
  ដោយមានមួយពណ៌ បង្ហាញស្ថានភាព របស់វា ៖',
382
-	'info_travail_colaboratif' => 'ការងារ​រួម​សំរាប់​អត្ថបទ',
383
-	'info_un_article' => 'អត្ថបទ',
384
-	'info_un_site' => 'មួយសៃថ៍,',
385
-	'info_une_rubrique' => 'ផ្នែក',
386
-	'info_une_rubrique_02' => 'មួយ​ផ្នែក',
387
-	'info_url' => 'URL ​៖',
388
-	'info_urlref' => 'តំណភ្ជាប់ខ្ពស់ ៖',
389
-	'info_utilisation_spip' => 'ពេលនេះ អ្នកអាចផ្តើមប្រើប្រាស់ SPIP មានការណែនាំ....',
390
-	'info_visites_par_mois' => 'ការ​បង្ហាញ​ចេញ ប្រចាំខែ ៖',
391
-	'info_visiteur_1' => 'ទស្សនាករ',
392
-	'info_visiteur_2' => 'នៃសៃថ៍​សាធារណៈ',
393
-	'info_visiteurs' => 'ទស្សនាករ',
394
-	'info_visiteurs_02' => '​ទស្សនាករ នៃសៃថ៍​សាធារណៈ',
395
-	'install_echec_annonce' => 'ការ​តំលើង​នេះ ​អាច​នឹងបរាជ័យ, ឬ​ អាចនាំ​ទៅ មួយសៃថ៍ខូច...',
396
-	'install_extension_mbstring' => 'SPIP គ្មានធ្វើការ ​ជាមួយ ៖',
397
-	'install_extension_php_obligatoire' => 'SPIP ទាមទារ កន្ទុយ .php ៖',
398
-	'install_pas_table' => 'មូលដ្ឋានទិន្នន័យ គ្មានទាន់មានតារាង',
399
-	'install_php_version' => 'កំណែ PHP @version@ មិនគ្រប់សមត្ថភាព (​យ៉ាងអន់ = @minimum@))',
400
-	'install_select_langue' => 'ជ្រើសយក មួយ​ភាសា រួច​ចុចលើប្រអប់ « បន្ទាប់ » ដើម្បី​ផ្ដើម ដំណើរតំលើង។',
401
-	'install_select_type_mysql' => 'MySQL',
402
-	'install_select_type_sqlite2' => 'SQLite 2',
403
-	'install_select_type_sqlite3' => 'SQLite 3',
404
-	'install_tables_base' => 'ពួកតារាង នៃមូលដ្ឋានទិន្នន័យ',
405
-	'install_types_db_connus' => 'SPIP អាចប្រើប្រាស់ <b>MySQL</b> (ញឹកញាប់បំផុត), <b>PostgreSQL</b> និង <b>SQLite</b>.', # MODIF
406
-	'intem_redacteur' => 'អ្នកតែងនិពន្ធ',
407
-	'intitule_licence' => 'អាជ្ញាបណ្ណ',
408
-	'item_accepter_inscriptions' => 'ព្រមទទួល ការ​ចុះ​ឈ្មោះទាំងឡាយ',
409
-	'item_activer_messages_avertissement' => 'សកម្ម សារព្រមាន',
410
-	'item_administrateur_2' => 'អ្នកអភិបាល',
411
-	'item_afficher_calendrier' => 'បង្ហាញ​ចេញ ក្នុង​ប្រក្រតីទិន',
412
-	'item_autoriser_syndication_integrale' => 'បញ្ចូល​អត្ថបទ​ទាំងមូល​ទៅ​ក្នុង​ហ្វា​ល (files) បញ្ចូល​។',
413
-	'item_choix_administrateurs' => 'អ្នកគ្រប់គ្រង​ប្រព័ន្ធ',
414
-	'item_choix_generation_miniature' => 'បង្កើត​ទម្រង់​រូបភាព​សង្ខេប​ច្បាស់ៗ​ដោយ​ស្វ័យប្រវត្ដិ',
415
-	'item_choix_non_generation_miniature' => 'មិន​បង្កើត​ទម្រង់​រូបភាព​សង្ខេប​ច្បាស់',
416
-	'item_choix_redacteurs' => 'អ្នក​សរសេរ​អត្ថបទ',
417
-	'item_choix_visiteurs' => 'ពួកទស្សនាករ នៃសៃថ៍សាធារណះ',
418
-	'item_creer_fichiers_authent' => 'បង្កើត​ហ្វា​ល (files).htpasswd',
419
-	'item_login' => 'ការពិនិត្យចូល',
420
-	'item_mots_cles_association_articles' => 'អត្ថបទ',
421
-	'item_mots_cles_association_rubriques' => 'ផ្នែក',
422
-	'item_mots_cles_association_sites' => 'ទៅ សៃថ៍ត្រូវបានយោង ឬ ត្រូវបានបានភ្ជាប់។',
423
-	'item_non' => 'ទេ',
424
-	'item_non_accepter_inscriptions' => 'មិន​អនុញ្ញាត​ចំពោះ​ការ​ចុះ​ឈ្មោះ',
425
-	'item_non_activer_messages_avertissement' => 'គ្មាន​សារ​រំលឹក',
426
-	'item_non_afficher_calendrier' => 'គ្មានបង្ហាញ ក្នុងប្រក្រតីទិន',
427
-	'item_non_autoriser_syndication_integrale' => 'គ្រាន់តែ​ផ្ញើ​សេចក្ដី​សង្ខេប',
428
-	'item_non_creer_fichiers_authent' => 'មិន​បង្កើត​ឯកសារ​ទាំងនេះ',
429
-	'item_non_publier_articles' => 'មិន​ចុះ​ផ្សាយ​អត្ថបទ​មុន​កាលបរិច្ឆេទ​ចុះ​ផ្សាយ​របស់​វា',
430
-	'item_nouvel_auteur' => 'អ្នក​សរសេរ​កម្មវិធី​ថ្មី',
431
-	'item_nouvelle_rubrique' => 'ផ្នែក​ថ្មី',
432
-	'item_oui' => 'បាទ​,​ចាស',
433
-	'item_publier_articles' => 'បោះពុម្ព​អត្ថបទ​ដោយ​មិន​គិត​អំពី​កាលបរិច្ឆេទ​បោះពុម្ព​របស់​វា',
434
-	'item_reponse_article' => 'ចំលើយ ទៅអត្ថបទ',
435
-	'item_visiteur' => 'ទស្សនាករ',
382
+    'info_travail_colaboratif' => 'ការងារ​រួម​សំរាប់​អត្ថបទ',
383
+    'info_un_article' => 'អត្ថបទ',
384
+    'info_un_site' => 'មួយសៃថ៍,',
385
+    'info_une_rubrique' => 'ផ្នែក',
386
+    'info_une_rubrique_02' => 'មួយ​ផ្នែក',
387
+    'info_url' => 'URL ​៖',
388
+    'info_urlref' => 'តំណភ្ជាប់ខ្ពស់ ៖',
389
+    'info_utilisation_spip' => 'ពេលនេះ អ្នកអាចផ្តើមប្រើប្រាស់ SPIP មានការណែនាំ....',
390
+    'info_visites_par_mois' => 'ការ​បង្ហាញ​ចេញ ប្រចាំខែ ៖',
391
+    'info_visiteur_1' => 'ទស្សនាករ',
392
+    'info_visiteur_2' => 'នៃសៃថ៍​សាធារណៈ',
393
+    'info_visiteurs' => 'ទស្សនាករ',
394
+    'info_visiteurs_02' => '​ទស្សនាករ នៃសៃថ៍​សាធារណៈ',
395
+    'install_echec_annonce' => 'ការ​តំលើង​នេះ ​អាច​នឹងបរាជ័យ, ឬ​ អាចនាំ​ទៅ មួយសៃថ៍ខូច...',
396
+    'install_extension_mbstring' => 'SPIP គ្មានធ្វើការ ​ជាមួយ ៖',
397
+    'install_extension_php_obligatoire' => 'SPIP ទាមទារ កន្ទុយ .php ៖',
398
+    'install_pas_table' => 'មូលដ្ឋានទិន្នន័យ គ្មានទាន់មានតារាង',
399
+    'install_php_version' => 'កំណែ PHP @version@ មិនគ្រប់សមត្ថភាព (​យ៉ាងអន់ = @minimum@))',
400
+    'install_select_langue' => 'ជ្រើសយក មួយ​ភាសា រួច​ចុចលើប្រអប់ « បន្ទាប់ » ដើម្បី​ផ្ដើម ដំណើរតំលើង។',
401
+    'install_select_type_mysql' => 'MySQL',
402
+    'install_select_type_sqlite2' => 'SQLite 2',
403
+    'install_select_type_sqlite3' => 'SQLite 3',
404
+    'install_tables_base' => 'ពួកតារាង នៃមូលដ្ឋានទិន្នន័យ',
405
+    'install_types_db_connus' => 'SPIP អាចប្រើប្រាស់ <b>MySQL</b> (ញឹកញាប់បំផុត), <b>PostgreSQL</b> និង <b>SQLite</b>.', # MODIF
406
+    'intem_redacteur' => 'អ្នកតែងនិពន្ធ',
407
+    'intitule_licence' => 'អាជ្ញាបណ្ណ',
408
+    'item_accepter_inscriptions' => 'ព្រមទទួល ការ​ចុះ​ឈ្មោះទាំងឡាយ',
409
+    'item_activer_messages_avertissement' => 'សកម្ម សារព្រមាន',
410
+    'item_administrateur_2' => 'អ្នកអភិបាល',
411
+    'item_afficher_calendrier' => 'បង្ហាញ​ចេញ ក្នុង​ប្រក្រតីទិន',
412
+    'item_autoriser_syndication_integrale' => 'បញ្ចូល​អត្ថបទ​ទាំងមូល​ទៅ​ក្នុង​ហ្វា​ល (files) បញ្ចូល​។',
413
+    'item_choix_administrateurs' => 'អ្នកគ្រប់គ្រង​ប្រព័ន្ធ',
414
+    'item_choix_generation_miniature' => 'បង្កើត​ទម្រង់​រូបភាព​សង្ខេប​ច្បាស់ៗ​ដោយ​ស្វ័យប្រវត្ដិ',
415
+    'item_choix_non_generation_miniature' => 'មិន​បង្កើត​ទម្រង់​រូបភាព​សង្ខេប​ច្បាស់',
416
+    'item_choix_redacteurs' => 'អ្នក​សរសេរ​អត្ថបទ',
417
+    'item_choix_visiteurs' => 'ពួកទស្សនាករ នៃសៃថ៍សាធារណះ',
418
+    'item_creer_fichiers_authent' => 'បង្កើត​ហ្វា​ល (files).htpasswd',
419
+    'item_login' => 'ការពិនិត្យចូល',
420
+    'item_mots_cles_association_articles' => 'អត្ថបទ',
421
+    'item_mots_cles_association_rubriques' => 'ផ្នែក',
422
+    'item_mots_cles_association_sites' => 'ទៅ សៃថ៍ត្រូវបានយោង ឬ ត្រូវបានបានភ្ជាប់។',
423
+    'item_non' => 'ទេ',
424
+    'item_non_accepter_inscriptions' => 'មិន​អនុញ្ញាត​ចំពោះ​ការ​ចុះ​ឈ្មោះ',
425
+    'item_non_activer_messages_avertissement' => 'គ្មាន​សារ​រំលឹក',
426
+    'item_non_afficher_calendrier' => 'គ្មានបង្ហាញ ក្នុងប្រក្រតីទិន',
427
+    'item_non_autoriser_syndication_integrale' => 'គ្រាន់តែ​ផ្ញើ​សេចក្ដី​សង្ខេប',
428
+    'item_non_creer_fichiers_authent' => 'មិន​បង្កើត​ឯកសារ​ទាំងនេះ',
429
+    'item_non_publier_articles' => 'មិន​ចុះ​ផ្សាយ​អត្ថបទ​មុន​កាលបរិច្ឆេទ​ចុះ​ផ្សាយ​របស់​វា',
430
+    'item_nouvel_auteur' => 'អ្នក​សរសេរ​កម្មវិធី​ថ្មី',
431
+    'item_nouvelle_rubrique' => 'ផ្នែក​ថ្មី',
432
+    'item_oui' => 'បាទ​,​ចាស',
433
+    'item_publier_articles' => 'បោះពុម្ព​អត្ថបទ​ដោយ​មិន​គិត​អំពី​កាលបរិច្ឆេទ​បោះពុម្ព​របស់​វា',
434
+    'item_reponse_article' => 'ចំលើយ ទៅអត្ថបទ',
435
+    'item_visiteur' => 'ទស្សនាករ',
436 436
 
437
-	// J
438
-	'jour_non_connu_nc' => 'គ្មានស្គាល់',
437
+    // J
438
+    'jour_non_connu_nc' => 'គ្មានស្គាល់',
439 439
 
440
-	// L
441
-	'lien_ajouter_auteur' => 'បន្ថែម​អ្នក​សរសេរ​កម្មវិធី​នេះ',
442
-	'lien_email' => 'អ៊ី​ម៉ែ​ល',
443
-	'lien_nom_site' => 'ឈ្មោះសៃថ៍៖',
444
-	'lien_retirer_auteur' => 'ដកចេញ អ្នកនិពន្ធនេះ',
445
-	'lien_site' => 'សៃថ៍',
446
-	'lien_tout_deplier' => 'ពង្រីក​ ទាំងអស់',
447
-	'lien_tout_replier' => 'រួម​បញ្ចូល​គ្នា​ទាំងអស់',
448
-	'lien_tout_supprimer' => 'លុបចេញ ទាំងអស់',
449
-	'lien_trier_nom' => 'ដាក់​ជា​ក្រុម​ទៅ​តាម​ឈ្មោះ',
450
-	'lien_trier_nombre_articles' => 'ដាក់​ជា​ក្រុម​ទៅ​តាម​ចំនួន​អត្ថបទ',
451
-	'lien_trier_statut' => 'ដាក់​ជា​ក្រុម​ទៅ​តាម​ស្ថានភាព',
452
-	'lien_voir_en_ligne' => 'មើល លើអិនរើណែត៖',
453
-	'logo_article' => 'ឡូ​ហ្គោ​របស់​អត្ថបទ', # MODIF
454
-	'logo_auteur' => 'ឡូ​ហ្គោ​របស់​អ្នក​សរសេរ​កម្មវិធី', # MODIF
455
-	'logo_rubrique' => 'រូបសញ្ញា នៃផ្នែក', # MODIF
456
-	'logo_site' => 'រូបសញ្ញា នៃសៃថ៍នេះ', # MODIF
457
-	'logo_standard_rubrique' => 'រូបសញ្ញាគំរូ របស់ផ្នែក', # MODIF
458
-	'logo_survol' => 'ឡូ​ហ្គោ​សំកាំង', # MODIF
440
+    // L
441
+    'lien_ajouter_auteur' => 'បន្ថែម​អ្នក​សរសេរ​កម្មវិធី​នេះ',
442
+    'lien_email' => 'អ៊ី​ម៉ែ​ល',
443
+    'lien_nom_site' => 'ឈ្មោះសៃថ៍៖',
444
+    'lien_retirer_auteur' => 'ដកចេញ អ្នកនិពន្ធនេះ',
445
+    'lien_site' => 'សៃថ៍',
446
+    'lien_tout_deplier' => 'ពង្រីក​ ទាំងអស់',
447
+    'lien_tout_replier' => 'រួម​បញ្ចូល​គ្នា​ទាំងអស់',
448
+    'lien_tout_supprimer' => 'លុបចេញ ទាំងអស់',
449
+    'lien_trier_nom' => 'ដាក់​ជា​ក្រុម​ទៅ​តាម​ឈ្មោះ',
450
+    'lien_trier_nombre_articles' => 'ដាក់​ជា​ក្រុម​ទៅ​តាម​ចំនួន​អត្ថបទ',
451
+    'lien_trier_statut' => 'ដាក់​ជា​ក្រុម​ទៅ​តាម​ស្ថានភាព',
452
+    'lien_voir_en_ligne' => 'មើល លើអិនរើណែត៖',
453
+    'logo_article' => 'ឡូ​ហ្គោ​របស់​អត្ថបទ', # MODIF
454
+    'logo_auteur' => 'ឡូ​ហ្គោ​របស់​អ្នក​សរសេរ​កម្មវិធី', # MODIF
455
+    'logo_rubrique' => 'រូបសញ្ញា នៃផ្នែក', # MODIF
456
+    'logo_site' => 'រូបសញ្ញា នៃសៃថ៍នេះ', # MODIF
457
+    'logo_standard_rubrique' => 'រូបសញ្ញាគំរូ របស់ផ្នែក', # MODIF
458
+    'logo_survol' => 'ឡូ​ហ្គោ​សំកាំង', # MODIF
459 459
 
460
-	// M
461
-	'menu_aide_installation_choix_base' => 'ការ​ជ្រើសរើស​សំណុំ​ទិន្នន័យ​របស់​លោក​អ្នក',
462
-	'module_fichier_langue' => 'ហ្វា​ល​ភាសា',
463
-	'module_raccourci' => 'ផ្លូវ​កាត់',
464
-	'module_texte_affiche' => 'អត្ថបទ ត្រូវបានបង្ហាញចេញ',
465
-	'module_texte_explicatif' => 'លោក​អ្នក​អាច​បញ្ចូល​ផ្លូវ​កាត់​ខាងក្រោម​នេះ​ទៅ​ក្នុង​ទម្រង់​វ៉ិ​ប​សាយ​របស់​លោក​អ្នក​។ ផ្លូវការ​ទាំងនេះ​នឹង​ត្រូវ​បកប្រែ​ដោយ​ស្វ័យប្រវត្ដិ​ទៅ​ជា​ភាសា​ផ្សេងៗ​ដែល​មាននៅ​ក្នុង​ហ្វា​ល​ភាសា​។',
466
-	'module_texte_traduction' => 'ហ្វា​ល​ភាសារ « @module@ » មាននៅ​ក្នុងៈ',
467
-	'mois_non_connu' => 'គ្មានបានស្គាល់',
460
+    // M
461
+    'menu_aide_installation_choix_base' => 'ការ​ជ្រើសរើស​សំណុំ​ទិន្នន័យ​របស់​លោក​អ្នក',
462
+    'module_fichier_langue' => 'ហ្វា​ល​ភាសា',
463
+    'module_raccourci' => 'ផ្លូវ​កាត់',
464
+    'module_texte_affiche' => 'អត្ថបទ ត្រូវបានបង្ហាញចេញ',
465
+    'module_texte_explicatif' => 'លោក​អ្នក​អាច​បញ្ចូល​ផ្លូវ​កាត់​ខាងក្រោម​នេះ​ទៅ​ក្នុង​ទម្រង់​វ៉ិ​ប​សាយ​របស់​លោក​អ្នក​។ ផ្លូវការ​ទាំងនេះ​នឹង​ត្រូវ​បកប្រែ​ដោយ​ស្វ័យប្រវត្ដិ​ទៅ​ជា​ភាសា​ផ្សេងៗ​ដែល​មាននៅ​ក្នុង​ហ្វា​ល​ភាសា​។',
466
+    'module_texte_traduction' => 'ហ្វា​ល​ភាសារ « @module@ » មាននៅ​ក្នុងៈ',
467
+    'mois_non_connu' => 'គ្មានបានស្គាល់',
468 468
 
469
-	// O
470
-	'onglet_contenu' => 'ខ្លឹមសារ',
471
-	'onglet_declarer_une_autre_base' => 'ប្រកាស មួយមូលដ្ឋានទិន្នន័យ ដទៃ',
472
-	'onglet_discuter' => 'ពិភាក្សា',
473
-	'onglet_proprietes' => 'លក្ខណះ',
474
-	'onglet_repartition_actuelle' => 'ឥឡូវ',
475
-	'onglet_sous_rubriques' => 'ផ្នែករង',
469
+    // O
470
+    'onglet_contenu' => 'ខ្លឹមសារ',
471
+    'onglet_declarer_une_autre_base' => 'ប្រកាស មួយមូលដ្ឋានទិន្នន័យ ដទៃ',
472
+    'onglet_discuter' => 'ពិភាក្សា',
473
+    'onglet_proprietes' => 'លក្ខណះ',
474
+    'onglet_repartition_actuelle' => 'ឥឡូវ',
475
+    'onglet_sous_rubriques' => 'ផ្នែករង',
476 476
 
477
-	// P
478
-	'plugin_erreur_charger' => 'កំហុស៖ គ្មានអាចផ្ទុក @zip@',
479
-	'plugin_etat_developpement' => 'ក្នុងដំណើរ អភិវឌ្ឍ',
480
-	'plugin_etat_experimental' => 'ដែល​ពិសោធន៍',
481
-	'plugin_etat_stable' => 'នឹង',
482
-	'plugin_etat_test' => 'ដែល​ត្រូវ​បាន​ពិសោធ',
483
-	'plugin_impossible_activer' => 'គ្មានអាចធ្វើអោយសកម្ម plugin  @plugin@',
484
-	'plugin_info_automatique2' => 'បង្កើត មួយថតឯកសារ <code>@rep@</code> ;',
485
-	'plugins_liste' => 'បញ្ជី​កម្មវិធី​ជំនួយ',
486
-	'protocole_ldap' => 'វឺ​សឹ​ន (version) ពិធីការ',
477
+    // P
478
+    'plugin_erreur_charger' => 'កំហុស៖ គ្មានអាចផ្ទុក @zip@',
479
+    'plugin_etat_developpement' => 'ក្នុងដំណើរ អភិវឌ្ឍ',
480
+    'plugin_etat_experimental' => 'ដែល​ពិសោធន៍',
481
+    'plugin_etat_stable' => 'នឹង',
482
+    'plugin_etat_test' => 'ដែល​ត្រូវ​បាន​ពិសោធ',
483
+    'plugin_impossible_activer' => 'គ្មានអាចធ្វើអោយសកម្ម plugin  @plugin@',
484
+    'plugin_info_automatique2' => 'បង្កើត មួយថតឯកសារ <code>@rep@</code> ;',
485
+    'plugins_liste' => 'បញ្ជី​កម្មវិធី​ជំនួយ',
486
+    'protocole_ldap' => 'វឺ​សឹ​ន (version) ពិធីការ',
487 487
 
488
-	// R
489
-	'repertoire_plugins' => 'បញ្ជី (directory)',
490
-	'required' => '[ចាំបាច់]', # MODIF
488
+    // R
489
+    'repertoire_plugins' => 'បញ្ជី (directory)',
490
+    'required' => '[ចាំបាច់]', # MODIF
491 491
 
492
-	// S
493
-	'statut_admin_restreint' => '(​អ្នកគ្រប់គ្រង​ប្រព័ន្ធ​ដែល​ត្រូវ​ហាមឃាត់​)', # MODIF
492
+    // S
493
+    'statut_admin_restreint' => '(​អ្នកគ្រប់គ្រង​ប្រព័ន្ធ​ដែល​ត្រូវ​ហាមឃាត់​)', # MODIF
494 494
 
495
-	// T
496
-	'taille_cache_image' => 'រូបភាព ត្រូវបានគណនា ស្វ័យប្រវត្តិ ដោយ SPIP (​ទំរង់សង្ខេប ឯកសារ, ចំណងជើង ត្រូវបានបង្ហាញ ជាក្រាភិក, អនុគមគណិត ជាទំរង់ TeX) មានសរុប @taille@ ​ក្នុង​ថតឯកសារ @dir@ ។',
497
-	'taille_cache_octets' => 'ទំហំ​ថត​លាក់ខ្លួន​គឺ @octets@ ថ្មីៗ​។', # MODIF
498
-	'taille_cache_vide' => 'ថត​លាក់ខ្លួន​ទទេ​។',
499
-	'taille_repertoire_cache' => 'ទំហំ​បច្ចុប្បន្ន​នៃ​ថត​លាក់ខ្លួន​។',
500
-	'text_article_propose_publication' => 'អត្ថបទ ត្រូវបានស្នើបោះផ្សាយ។',
501
-	'texte_acces_ldap_anonyme_1' => 'ម៉ាស៊ីន​មេLDAP មួយ​ចំនួន​មិន​អនុញ្ញាត​ចំពោះ​ការ​ប្រើប្រាស់​ជា​លក្ខណៈ​អនាមិក​នោះ​ទេ​។ នៅ​ក្នុង​ករណី​នេះ លោក​អ្នក​ត្រូវ​បង្ហាញ​នូវ​អ្នក​កំណត់​អត្ដសញ្ញាណ​ក្នុង​ការ​ប្រើប្រាស់​ដំបូង ដើម្បី​អាច​ស្វែងរក​ព័ត៌មាន​នៅ​ក្នុង​ថត (directory) បន្ទាប់​ពី​នោះ​។ ប៉ុន្ដែ នៅ​ក្នុង​ករណី​ភាគច្រើន​ក្រឡោ​ន​ខាងក្រោម​នេះ​អាច​ទុក​ចំហ​ដដែល​។',
502
-	'texte_admin_effacer_01' => 'បញ្ជា​នេះ​លុប <i>all</i> ខ្លឹមសារ​នៃ​សំណុំ​ទិន្នន័យ រាប់​បញ្ចូល​ទាំង <i>all</i> លក្ខណៈ​តម្រូវ​សំរាប់​ការ​ប្រើប្រាស់​របស់​អ្នក​សរសេរ​អត្ថបទ និង​អ្នកគ្រប់គ្រង​ប្រព័ន្ធ​។ បន្ទាប់​ពី​ប្រើប្រាស់​វា លោក​អ្នក​ត្រូវ​តំឡើង SPIP ជា​ថ្មី ដើម្បី​បង្កើត​ទិន្នន័យ​ថ្មី និង​ការ​ប្រើប្រាស់​អ្នកគ្រប់គ្រង​លើក​ទី​មួយ​ម្ដងទៀត​។',
503
-	'texte_adresse_annuaire_1' => '(​ប្រសិនបើ​ថត​របស់​លោក​អ្នក​ត្រូវ​បាន​តំឡើង​នៅ​ក្នុង​ម៉ាស៊ីន​តែ​មួយ​ដូច​គ្នា​នឹង​វ៉ិ​ប​សាយ​របស់​លោក​អ្នក វា​អាច «localhost»)',
504
-	'texte_ajout_auteur' => 'អ្នក​សរសេរ​កម្មវិធី​ខាងក្រោម​ត្រូវ​បាន​បញ្ចូល​ទៅ​ក្នុង​អត្ថបទៈ',
505
-	'texte_annuaire_ldap_1' => 'ប្រសិនបើ​លោក​អ្នក​អាច​ប្រើប្រាស់​ថត (directory) (LDAP) លោក​អ្នក​អាច​ប្រើប្រាស់​វា​ដើម្បី​បញ្ចូល​អ្នក​ប្រើប្រាស់​ក្រោម SPIP ដោយ​ស្វ័យប្រវត្ដិ​។',
506
-	'texte_article_statut' => 'ស្ថានភាព​អត្ថបទ',
507
-	'texte_article_virtuel' => 'អត្ថបទ​ជាក់ស្ដែង',
508
-	'texte_article_virtuel_reference' => '<b>Virtual article:</b> អត្ថបទ​យោង​នៅ​ក្នុង​វ៉ិ​ប​សាយ SPIP របស់​លោក​អ្នក ប៉ុន្ដែ​ត្រូវ​កំណត់​ទិស​ដៅ​ថ្មី​ទៅ​កាន់ URL មួយ​ផ្សេង​ទៀត​។ ដើម្បី​លុប​ការ​កំណត់​ទិស​ដៅ​ជា​ថ្មី​នេះ សូម​លុបURL ខាងលើ​។',
509
-	'texte_aucun_resultat_auteur' => 'គ្មាន​លទ្ធផល​សំរាប់ \\"@cherche_auteur@\\"។',
510
-	'texte_auteur_messagerie' => 'វ៉ិ​ប​សាយ​នេះ​អាច​តាមដាន​ជា​បន្ដបន្ទាប់​នូវ​បញ្ជី​អ្នក​សរសេរ​អត្ថបទ​ដែល​បាន​ភ្ជាប់ ដែល​អនុញ្ញាត​ឱ្យ​លោក​អ្នក​ដោះ​ដូរ​សារ​តាម​ពេល​ជាក់ស្ដែង​។ លោក​អ្នក​អាច​សំរេច​មិន​បង្ហាញខ្លួន​នៅ​ក្នុង​បញ្ជី​នេះ (​ដូច្នេះ​លោក​អ្នក​ស្ថិត​ក្នុង​សភាព “​មើល​មិនឃើញ​” (\\"invisible\\") សំរាប់​អ្នក​ប្រើប្រាស់​ផ្សេង​ទៀត​។​)',
511
-	'texte_auteurs' => 'អ្នក​សរសេរ​កម្មវិធី',
512
-	'texte_choix_base_1' => 'ជ្រើសយក មូលដ្ឋានទិន្នន័យ របស់អ្នក៖',
513
-	'texte_choix_base_2' => 'ម៉ាស៊ីន​មេMySQL មាន​សំណុំ​ទិន្នន័យ​ច្រើន​។',
514
-	'texte_choix_base_3' => '<b>ជ្រើសយក</b> ខាងក្រោម អ្វីដែល ខំព្យូរើផ្ទុកវ៉ែបសៃថ៍ របស់អ្នក​ បានផ្គត់ផ្គង់ អ្នក៖',
515
-	'texte_compte_element' => 'សមាសធាតុ',
516
-	'texte_compte_elements' => 'សមាសធាតុ',
517
-	'texte_connexion_mysql' => 'ពិនិត្យពត៌មាន បានផ្តល់ដោយ ក្រុមហ៊ុនផ្តល់សេវា របស់អ្នក។ វាប្រហែលមានផ្ទុក អក្សរកូដភ្ជាប់ សំរាប់ខំព្យូរើបំរើសេវា SQL។',
518
-	'texte_contenu_article' => '(​ខ្លឹមសារ​អត្ថបទ​ដោយ​សង្ខេប​)',
519
-	'texte_contenu_articles' => 'ដោយ​ផ្អែក​លើ​ទម្រង់​ដែល​ជ្រើសរើស​សំរាប់​វ៉ិ​ប​សាយ​របស់​លោក​អ្នក លោក​អ្នក​អាច​សំរេច​ថា​ធាតុ​នៃ​អត្ថបទ​ខ្លះ​មិន​ត្រូវ​បាន​ប្រើ​។ សូម​ប្រើ​បញ្ជី​ខាងក្រោម​ដើម្បី​ជ្រើសរើស​ធាតុ​ដែល​គួរ​មាន​។',
520
-	'texte_crash_base' => 'បើមូលដ្ឋានទិន្នន័យ របស់អ្នក បានខូច, អ្នកអាចព្យាយាម ជួសជុលវា ស្វ័យប្រវត្តិ។',
521
-	'texte_creer_rubrique' => 'មុនអាចសរសេរ អត្ថបទ<br /> អ្នកត្រូវតែបង្កើត មួយផ្នែក។',
522
-	'texte_date_creation_article' => 'កាលបរិច្ឆេទ​បង្កើត​អត្ថបទៈ',
523
-	'texte_date_publication_anterieure' => 'កាលបរិច្ឆេទ​បោះពុម្ព​មុនគេៈ',
524
-	'texte_date_publication_anterieure_nonaffichee' => 'លាក់​កាលបរិច្ឆេទ​ការ​បោះពុម្ព​មុនគេ',
525
-	'texte_date_publication_article' => 'ថ្ងៃខែឆ្នាំ បោះផ្សាយ លើអិនរើណែត ៖',
526
-	'texte_descriptif_rapide' => 'ការពិពណ៌នារហ័ស',
527
-	'texte_effacer_base' => 'លុបសំអាត មូលដ្ឋានទិន្នន័យ SPIP',
528
-	'texte_effacer_statistiques' => 'លុបចេញ ស្ថិតិ',
529
-	'texte_en_cours_validation' => 'អត្ថបទ និងពត៌មានខ្លី ខាងក្រោម ត្រូវបានស្នើ បោះផ្សាយ។', # MODIF
530
-	'texte_enrichir_mise_a_jour' => 'លោក​អ្នក​អាច​កែ​លំអ​ទម្រង់​អត្ថបទ​របស់​លោក​អ្នក ដោយ​ប្រើប្រាស់ «typographical shortcuts».',
531
-	'texte_fichier_authent' => '<b>តើ SPIP គួរ​បង្កើត <tt>.htpasswd</tt> និង​ហ្វា​ល<tt>.htpasswd-admin</tt> នៅ​ក្នុង​ថត @dossier@?</b><p> ហ្វា​ល​ទាំងនេះ​អាច​ត្រូវ​បាន​ប្រើប្រាស់​ដើម្បី​កំណត់​ចំពោះ​ការ​ប្រើប្រាស់​របស់​អ្នក​សរសេរ​កម្មវិធី និង​អ្នក​គ្រង់​គ្រង​នៅ​ក្នុង​ផ្នែក​មួយ​ផ្សេង​ទៀត​នៃ​វ៉ិ​ប​សាយ​របស់​លោក​អ្នក (​ឧទាហរណ៍ កម្មវិធី​ស្ថិតិ​ខាងក្រៅ​)​។</p><p> ប្រសិនបើ​លោក​អ្នក​មិន​ត្រូវការ​ហ្វា​ល​បែប​នេះ លោក​អ្នក​អាច​ទុក​ជម្រើស​នៅ​ក្នុង​តម្លៃ​ដើម (​គ្មាន​ការ​បង្កើត​ហ្វា​ល​)​។</p>', # MODIF
532
-	'texte_informations_personnelles_1' => 'ប្រព័ន្ធ​នឹង​ផ្ដល់​ជូន​លោក​អ្នក​នូវ​លទ្ធភាព​ប្រើប្រាស់​ធម្មតា​នូវ​វ៉ិ​ប​សាយ​នេះ​។',
533
-	'texte_informations_personnelles_2' => '(ចំណាំ៖ បើវាជា មួយការតំលើងឡើងវិញ, និងការចូលទៅ របស់អ្នក នៅតែធ្វើការ, អ្នកអាច', # MODIF
534
-	'texte_introductif_article' => '(​អត្ថបទ​សេចក្ដី​ផ្ដើម​នៃ​អត្ថបទ​នេះ)',
535
-	'texte_jeu_caractere' => 'លោក​អ្នក​គួរតែ​ប្រើប្រាស់​អក្ខរាវិរុទ្ធ​សកល',
536
-	'texte_jeu_caractere_3' => 'សៃថ៍ របស់អ្នក បច្ចុប្បន្ន ប្រើប្រាស់កញ្ចប់អក្សរនេះ ៖',
537
-	'texte_jeu_caractere_4' => 'ប្រសិនបើ​មិន​អាច​ឆ្លើយ​តប​ចំពោះ​ស្ថានភាព​ដែល​លោក​អ្នកមាន​ជាមួយ​នឹ​ឹ​ង​ទិន្នន័យ​របស់​លោក​អ្នក (​ឧទាហរណ៍ បន្ទាប់​ពី​សើរើ​សំណុំ​ទិន្ន​ន័៏​យ​ពី​ហ្វា​ល​ថត​ទុក​) ឬ​ប្រសិនបើ <em>លោក​អ្នក​កំពុង​កំណត់​វ៉ិ​ប​សាយ​នេះ</em> និង​ត្រូវការ​ប្រើប្រាស់​សំណុំ​តួអក្សរ​ផ្សេង សូម​បង្ហាញ​សំណុំ​តួអក្សរ​នៅ​ទី​នេះៈ',
538
-	'texte_login_ldap_1' => '(​ត្រូវ​ទុក​ប្រអប់​ភ្ជាប់​អនាមិក ឬ​ចូល​ទៅ​ផ្លូវ​ពេញលេញ ឧទាហរណ៍ «<tt>uid=smith, ou=users, dc=my-domain, dc=com</tt>»)​។',
539
-	'texte_login_precaution' => 'ប្រយត្ន៖ នេះជាការពិនិត្យចូល ជាមួយអ្វី ដែលអ្នកបានភ្ជាប់ ពេលនេះ។ ប្រើប្រាស់ បែបបទនេះ ដោយប្រយត្ន...',
540
-	'texte_mise_a_niveau_base_1' => 'លោក​អ្នក​ទើបតែ​បាន​កែសម្រួល​ហ្វា​លSPIP។ ឥឡូវ​លោក​អ្នក​ត្រូវ​តែ​កែ​លំអ​សំណុំ​ទិន្នន័យ​របស់​វ៉ិ​ប​សាយ​នេះ',
541
-	'texte_modifier_article' => 'កែប្រែ អត្ថបទ៖',
542
-	'texte_multilinguisme' => 'ប្រសិនបើ​លោក​អ្នកមាន​បំណង​គ្រប់គ្រង​អត្ថបទ​ជា​ភាសា​ច្រើន ដែល​មានដំណើរ​ការ​ស្មុគស្មាញ លោក​អ្នក​អាច​បន្ថែម​បញ្ជី​ភាសា​មួយ​ទៅ​ក្នុង​អត្ថបទ និង​/​ឬ​ផ្នែក ទៅ​តាម​ការ​រៀបចំ​នៃ​វ៉ិ​ប​សាយ​របស់​លោក​អ្នក​។', # MODIF
543
-	'texte_multilinguisme_trad' => 'លោក​អ្នក​ក៏​អាច​បើកមុខ​ងារ​ប្រព័ន្ធ​គ្រប់គ្រង​ទំនាក់ទំនង​ក្នុង​ចំណោម​អត្ថបទ​បកប្រែ​ជា​ច្រើន​ភាសា​។', # MODIF
544
-	'texte_non_compresse' => '<i>uncompressed</i> (​ម៉ាស៊ីន​មេ​របស់​លោក​អ្នក​មិន​ប្រើប្រាស់​ជាមួយនឹង​លក្ខណៈ​នេះ​ទេ​)',
545
-	'texte_nouvelle_version_spip_1' => 'អ្នក ​បានតំលើង កំណែថ្មី នៃ SPIP។',
546
-	'texte_nouvelle_version_spip_2' => 'វើ​សឹ​ន​ថ្មី​នេះ​តម្រូវ​ឱ្យ​មានការ​កែសម្រួល​លំអិត​ជា​ការ​កែសម្រួល​ធម្មតា​។ ប្រសើ​ន​បើ​លោក​អ្នក​គឺជា​អ្នក​រចនា​វ៉ិ​ប​សាយ​នេះ សូម​លុប​ហ្វា​ល @connect@ និង​ចាប់ផ្ដើម​តំឡើង​ដើម្បី​អាច​កែសម្រួល​លក្ខណៈ​ទំនាក់ទំនង​សំណុំ​ទិន្នន័យ​របស់​លោក​អ្នក​។ <p>(NB.: ប្រសិនបើ​លោក​អ្នក​បាន​ភ្លើ​ច​លក្ខណៈ​ទំនាក់ទំនង​របស់​លោក​អ្នក សូម​មើល​ក្នុង​ហ្វា​ល@ មុន​នឹង​លុប​វា​!)</p>', # MODIF
547
-	'texte_operation_echec' => 'ត្រលប់ទៅ ទំព័រមុន, ជ្រើសយក មួយមូលដ្ឋានទិន្នន័យដទៃ ឬបង្កើតមួយថ្មី។ ផ្ទៀងពត៌មាន ផ្តល់ដោយ ខំព្យូរើ របស់អ្នក។',
548
-	'texte_plus_trois_car' => 'លើស​ពី ៣ អក្សរ',
549
-	'texte_plusieurs_articles' => 'ឃើញ​មាន​អ្នក​សរសេរ​កម្មវិធី​សំរាប់ \\"@cherche_auteur@\\":',
550
-	'texte_port_annuaire' => '(​តម្លៃ​ដើម​ជា​ទូទៅ​មាន​លក្ខណៈ​ថេរ​)​។',
551
-	'texte_presente_plugin' => 'ទំព័រ​នេះ​រាយ​អំពី​កម្មវិធី​បន្ថែម​ដែល​មាននៅ​ក្នុង​វ៉ិ​ប​សាយ​។ បើកមុខ​ងារ​របស់​កម្មវិធី​បន្ថែម លោក​អ្នក​ត្រូវ​គូស​ក្នុង​ប្រអប់​ដែល​ត្រូវ​គ្នា​នោះ​។',
552
-	'texte_proposer_publication' => 'នៅ​ពេល​ដែល​អត្ថបទ​លោក​អ្នក​ត្រូវ​បាន​បញ្ចប់br /> លោក​អ្នក​អាច​បញ្ជូន​វា​ដើម្បី​ចុះ​ផ្សាយ​។',
553
-	'texte_proxy' => 'នៅ​ក្នុង​ករណី​ខ្លះ (​អ៊ី​ន​ត្រា​ណិ​ត បណ្ដាញ​ដែល​ត្រូវ​ការពារ​......) វា​ជា​ការ​ចាំបាច់​ដែល​ត្រូវ​ប្រើប្រាស់ <i>proxy HTTP</i> ដើម្បី​បើក​វ៉ិ​ប​សាយ​ដែល​បាន​បញ្ចូល​។ ប្រសិនបើ​មាន​តំណាង​មួយ សូម​បញ្ចូល​អាសយដ្ឋាន​របស់​វា​ខាងក្រោម ដូច្នេះ <tt><html>http://proxy:8080</html></tt>។ ជា​ទូទៅ លោក​អ្នក​អាច​ទុក​ប្រអប់​នេះ​ឱ្យ​នៅ​ទំនេរ​បាន​។',
554
-	'texte_publication_articles_post_dates' => 'តើ​ឥរិយាបថ​មួយ​ណា​ដែល SPIP ត្រូវ​ប្រើ ទាក់ទិន​ទៅ​នឹង​អត្ថបទ​ដែល​កំណត់​សំរាប់​ការ​ចុះ​ផ្សាយ​នៅ​អនាគត​?',
555
-	'texte_rappel_selection_champs' => '[ចាំ​ថា ត្រូវ​ជ្រើសរើស​ប្រអប់​នេះ​ឱ្យ​បាន​ត្រឹមត្រូវ​។]',
556
-	'texte_recalcul_page' => 'ប្រសិនបើ​លោក​អ្នក​ត្រូវការ​សម្រួល​ឡើង​វិ​ញុ (refresh) តែ​មួយ​ទំព័រ លោក​អ្នក​ត្រូវធ្វើ​វា​ពី​ផ្នែក​សាធារណៈ និង​ប្រើប្រាស់​ប៊ូ​តុង « refresh ».',
557
-	'texte_recuperer_base' => 'ជួសជុល​សំណុំ​ទិន្នន័យ',
558
-	'texte_reference_mais_redirige' => 'អត្ថបទ​យោង​នៅ​ក្នុង​វ៉ិ​ប​សាយSPIP របស់​លោក​អ្នក ប៉ុន្ដែ​ត្រូវ​បាន​កំណត់​ទិស​ដៅ​ជា​ថ្មី​ទៅ​រកURL មួយ​ផ្សេង​ទៀត​។',
559
-	'texte_requetes_echouent' => '<b>នៅ​ពេល​ដែល​សំណួរ MySQL មិន​ដំណើរការ​ជា​លក្ខណៈ​ប្រព័ន្ធ និង​ដោយ​គ្មាន​ហេតុផល​ច្បាស់លាស់ វា​អាច​ដោយសារ​សំណុំ​ទិន្នន័យ​ផ្ទាល់​របស់​វា​នោះ​។</b><p> MySQL មាន​លក្ខណៈ​ជួសជុល​នូវ​តារាង​របស់​ខ្លួន​ទៅ​តាម​ការ​សំរេច​របស់​ខ្លួន នៅ​ពេល​ដែល​ពួក​វា​មានការ​ខូចខាត​ដោយ​ចៃដន្យ​។ លោក​អ្នក​អាច​ព្យាយាម​ធ្វើការ​ជួសជុល​បែប​នេះ នៅ​ក្នុង​ករណី​មានការ​ខូចខាត លោក​អ្នក​ត្រូវ​រក្សា​ច្បាប់​ថតចំលង​នៃ​ផ្ទាំង​បង្ហាញ ដែល​អាច​មាន​គន្លឹះ​មួយ​ចំនួន​ស្ដី​ពី​អ្វី​ដែល​ខុស​ប្រក្រតី​...</p><p> ប្រសិនបើ​បញ្ហា​ទាំងនោះ​មិន​អាច​ដោះស្រាយ​បាន សូម​ទាក់ទង​ទៅ​ម៉ាស៊ីន​កូន​របស់​លោក​អ្នក​។ host.</p>', # MODIF
560
-	'texte_selection_langue_principale' => 'អ្នក អាចជ្រើសយក "ភាសាចំបង" ខាងក្រោម នៃសៃថ៍។ គ្មានន័យថា អ្នកអាច ត្រឹមសរសេរ អត្ថបទ ក្នុងភាសា បានជ្រើសយក,​ប៉ុន្តែ កំណត់<ul><li> ទំរង់លំនាំដើម នៃថ្ងៃខែឆ្នាំ លើសៃថ៍សាធារណះ </li>
495
+    // T
496
+    'taille_cache_image' => 'រូបភាព ត្រូវបានគណនា ស្វ័យប្រវត្តិ ដោយ SPIP (​ទំរង់សង្ខេប ឯកសារ, ចំណងជើង ត្រូវបានបង្ហាញ ជាក្រាភិក, អនុគមគណិត ជាទំរង់ TeX) មានសរុប @taille@ ​ក្នុង​ថតឯកសារ @dir@ ។',
497
+    'taille_cache_octets' => 'ទំហំ​ថត​លាក់ខ្លួន​គឺ @octets@ ថ្មីៗ​។', # MODIF
498
+    'taille_cache_vide' => 'ថត​លាក់ខ្លួន​ទទេ​។',
499
+    'taille_repertoire_cache' => 'ទំហំ​បច្ចុប្បន្ន​នៃ​ថត​លាក់ខ្លួន​។',
500
+    'text_article_propose_publication' => 'អត្ថបទ ត្រូវបានស្នើបោះផ្សាយ។',
501
+    'texte_acces_ldap_anonyme_1' => 'ម៉ាស៊ីន​មេLDAP មួយ​ចំនួន​មិន​អនុញ្ញាត​ចំពោះ​ការ​ប្រើប្រាស់​ជា​លក្ខណៈ​អនាមិក​នោះ​ទេ​។ នៅ​ក្នុង​ករណី​នេះ លោក​អ្នក​ត្រូវ​បង្ហាញ​នូវ​អ្នក​កំណត់​អត្ដសញ្ញាណ​ក្នុង​ការ​ប្រើប្រាស់​ដំបូង ដើម្បី​អាច​ស្វែងរក​ព័ត៌មាន​នៅ​ក្នុង​ថត (directory) បន្ទាប់​ពី​នោះ​។ ប៉ុន្ដែ នៅ​ក្នុង​ករណី​ភាគច្រើន​ក្រឡោ​ន​ខាងក្រោម​នេះ​អាច​ទុក​ចំហ​ដដែល​។',
502
+    'texte_admin_effacer_01' => 'បញ្ជា​នេះ​លុប <i>all</i> ខ្លឹមសារ​នៃ​សំណុំ​ទិន្នន័យ រាប់​បញ្ចូល​ទាំង <i>all</i> លក្ខណៈ​តម្រូវ​សំរាប់​ការ​ប្រើប្រាស់​របស់​អ្នក​សរសេរ​អត្ថបទ និង​អ្នកគ្រប់គ្រង​ប្រព័ន្ធ​។ បន្ទាប់​ពី​ប្រើប្រាស់​វា លោក​អ្នក​ត្រូវ​តំឡើង SPIP ជា​ថ្មី ដើម្បី​បង្កើត​ទិន្នន័យ​ថ្មី និង​ការ​ប្រើប្រាស់​អ្នកគ្រប់គ្រង​លើក​ទី​មួយ​ម្ដងទៀត​។',
503
+    'texte_adresse_annuaire_1' => '(​ប្រសិនបើ​ថត​របស់​លោក​អ្នក​ត្រូវ​បាន​តំឡើង​នៅ​ក្នុង​ម៉ាស៊ីន​តែ​មួយ​ដូច​គ្នា​នឹង​វ៉ិ​ប​សាយ​របស់​លោក​អ្នក វា​អាច «localhost»)',
504
+    'texte_ajout_auteur' => 'អ្នក​សរសេរ​កម្មវិធី​ខាងក្រោម​ត្រូវ​បាន​បញ្ចូល​ទៅ​ក្នុង​អត្ថបទៈ',
505
+    'texte_annuaire_ldap_1' => 'ប្រសិនបើ​លោក​អ្នក​អាច​ប្រើប្រាស់​ថត (directory) (LDAP) លោក​អ្នក​អាច​ប្រើប្រាស់​វា​ដើម្បី​បញ្ចូល​អ្នក​ប្រើប្រាស់​ក្រោម SPIP ដោយ​ស្វ័យប្រវត្ដិ​។',
506
+    'texte_article_statut' => 'ស្ថានភាព​អត្ថបទ',
507
+    'texte_article_virtuel' => 'អត្ថបទ​ជាក់ស្ដែង',
508
+    'texte_article_virtuel_reference' => '<b>Virtual article:</b> អត្ថបទ​យោង​នៅ​ក្នុង​វ៉ិ​ប​សាយ SPIP របស់​លោក​អ្នក ប៉ុន្ដែ​ត្រូវ​កំណត់​ទិស​ដៅ​ថ្មី​ទៅ​កាន់ URL មួយ​ផ្សេង​ទៀត​។ ដើម្បី​លុប​ការ​កំណត់​ទិស​ដៅ​ជា​ថ្មី​នេះ សូម​លុបURL ខាងលើ​។',
509
+    'texte_aucun_resultat_auteur' => 'គ្មាន​លទ្ធផល​សំរាប់ \\"@cherche_auteur@\\"។',
510
+    'texte_auteur_messagerie' => 'វ៉ិ​ប​សាយ​នេះ​អាច​តាមដាន​ជា​បន្ដបន្ទាប់​នូវ​បញ្ជី​អ្នក​សរសេរ​អត្ថបទ​ដែល​បាន​ភ្ជាប់ ដែល​អនុញ្ញាត​ឱ្យ​លោក​អ្នក​ដោះ​ដូរ​សារ​តាម​ពេល​ជាក់ស្ដែង​។ លោក​អ្នក​អាច​សំរេច​មិន​បង្ហាញខ្លួន​នៅ​ក្នុង​បញ្ជី​នេះ (​ដូច្នេះ​លោក​អ្នក​ស្ថិត​ក្នុង​សភាព “​មើល​មិនឃើញ​” (\\"invisible\\") សំរាប់​អ្នក​ប្រើប្រាស់​ផ្សេង​ទៀត​។​)',
511
+    'texte_auteurs' => 'អ្នក​សរសេរ​កម្មវិធី',
512
+    'texte_choix_base_1' => 'ជ្រើសយក មូលដ្ឋានទិន្នន័យ របស់អ្នក៖',
513
+    'texte_choix_base_2' => 'ម៉ាស៊ីន​មេMySQL មាន​សំណុំ​ទិន្នន័យ​ច្រើន​។',
514
+    'texte_choix_base_3' => '<b>ជ្រើសយក</b> ខាងក្រោម អ្វីដែល ខំព្យូរើផ្ទុកវ៉ែបសៃថ៍ របស់អ្នក​ បានផ្គត់ផ្គង់ អ្នក៖',
515
+    'texte_compte_element' => 'សមាសធាតុ',
516
+    'texte_compte_elements' => 'សមាសធាតុ',
517
+    'texte_connexion_mysql' => 'ពិនិត្យពត៌មាន បានផ្តល់ដោយ ក្រុមហ៊ុនផ្តល់សេវា របស់អ្នក។ វាប្រហែលមានផ្ទុក អក្សរកូដភ្ជាប់ សំរាប់ខំព្យូរើបំរើសេវា SQL។',
518
+    'texte_contenu_article' => '(​ខ្លឹមសារ​អត្ថបទ​ដោយ​សង្ខេប​)',
519
+    'texte_contenu_articles' => 'ដោយ​ផ្អែក​លើ​ទម្រង់​ដែល​ជ្រើសរើស​សំរាប់​វ៉ិ​ប​សាយ​របស់​លោក​អ្នក លោក​អ្នក​អាច​សំរេច​ថា​ធាតុ​នៃ​អត្ថបទ​ខ្លះ​មិន​ត្រូវ​បាន​ប្រើ​។ សូម​ប្រើ​បញ្ជី​ខាងក្រោម​ដើម្បី​ជ្រើសរើស​ធាតុ​ដែល​គួរ​មាន​។',
520
+    'texte_crash_base' => 'បើមូលដ្ឋានទិន្នន័យ របស់អ្នក បានខូច, អ្នកអាចព្យាយាម ជួសជុលវា ស្វ័យប្រវត្តិ។',
521
+    'texte_creer_rubrique' => 'មុនអាចសរសេរ អត្ថបទ<br /> អ្នកត្រូវតែបង្កើត មួយផ្នែក។',
522
+    'texte_date_creation_article' => 'កាលបរិច្ឆេទ​បង្កើត​អត្ថបទៈ',
523
+    'texte_date_publication_anterieure' => 'កាលបរិច្ឆេទ​បោះពុម្ព​មុនគេៈ',
524
+    'texte_date_publication_anterieure_nonaffichee' => 'លាក់​កាលបរិច្ឆេទ​ការ​បោះពុម្ព​មុនគេ',
525
+    'texte_date_publication_article' => 'ថ្ងៃខែឆ្នាំ បោះផ្សាយ លើអិនរើណែត ៖',
526
+    'texte_descriptif_rapide' => 'ការពិពណ៌នារហ័ស',
527
+    'texte_effacer_base' => 'លុបសំអាត មូលដ្ឋានទិន្នន័យ SPIP',
528
+    'texte_effacer_statistiques' => 'លុបចេញ ស្ថិតិ',
529
+    'texte_en_cours_validation' => 'អត្ថបទ និងពត៌មានខ្លី ខាងក្រោម ត្រូវបានស្នើ បោះផ្សាយ។', # MODIF
530
+    'texte_enrichir_mise_a_jour' => 'លោក​អ្នក​អាច​កែ​លំអ​ទម្រង់​អត្ថបទ​របស់​លោក​អ្នក ដោយ​ប្រើប្រាស់ «typographical shortcuts».',
531
+    'texte_fichier_authent' => '<b>តើ SPIP គួរ​បង្កើត <tt>.htpasswd</tt> និង​ហ្វា​ល<tt>.htpasswd-admin</tt> នៅ​ក្នុង​ថត @dossier@?</b><p> ហ្វា​ល​ទាំងនេះ​អាច​ត្រូវ​បាន​ប្រើប្រាស់​ដើម្បី​កំណត់​ចំពោះ​ការ​ប្រើប្រាស់​របស់​អ្នក​សរសេរ​កម្មវិធី និង​អ្នក​គ្រង់​គ្រង​នៅ​ក្នុង​ផ្នែក​មួយ​ផ្សេង​ទៀត​នៃ​វ៉ិ​ប​សាយ​របស់​លោក​អ្នក (​ឧទាហរណ៍ កម្មវិធី​ស្ថិតិ​ខាងក្រៅ​)​។</p><p> ប្រសិនបើ​លោក​អ្នក​មិន​ត្រូវការ​ហ្វា​ល​បែប​នេះ លោក​អ្នក​អាច​ទុក​ជម្រើស​នៅ​ក្នុង​តម្លៃ​ដើម (​គ្មាន​ការ​បង្កើត​ហ្វា​ល​)​។</p>', # MODIF
532
+    'texte_informations_personnelles_1' => 'ប្រព័ន្ធ​នឹង​ផ្ដល់​ជូន​លោក​អ្នក​នូវ​លទ្ធភាព​ប្រើប្រាស់​ធម្មតា​នូវ​វ៉ិ​ប​សាយ​នេះ​។',
533
+    'texte_informations_personnelles_2' => '(ចំណាំ៖ បើវាជា មួយការតំលើងឡើងវិញ, និងការចូលទៅ របស់អ្នក នៅតែធ្វើការ, អ្នកអាច', # MODIF
534
+    'texte_introductif_article' => '(​អត្ថបទ​សេចក្ដី​ផ្ដើម​នៃ​អត្ថបទ​នេះ)',
535
+    'texte_jeu_caractere' => 'លោក​អ្នក​គួរតែ​ប្រើប្រាស់​អក្ខរាវិរុទ្ធ​សកល',
536
+    'texte_jeu_caractere_3' => 'សៃថ៍ របស់អ្នក បច្ចុប្បន្ន ប្រើប្រាស់កញ្ចប់អក្សរនេះ ៖',
537
+    'texte_jeu_caractere_4' => 'ប្រសិនបើ​មិន​អាច​ឆ្លើយ​តប​ចំពោះ​ស្ថានភាព​ដែល​លោក​អ្នកមាន​ជាមួយ​នឹ​ឹ​ង​ទិន្នន័យ​របស់​លោក​អ្នក (​ឧទាហរណ៍ បន្ទាប់​ពី​សើរើ​សំណុំ​ទិន្ន​ន័៏​យ​ពី​ហ្វា​ល​ថត​ទុក​) ឬ​ប្រសិនបើ <em>លោក​អ្នក​កំពុង​កំណត់​វ៉ិ​ប​សាយ​នេះ</em> និង​ត្រូវការ​ប្រើប្រាស់​សំណុំ​តួអក្សរ​ផ្សេង សូម​បង្ហាញ​សំណុំ​តួអក្សរ​នៅ​ទី​នេះៈ',
538
+    'texte_login_ldap_1' => '(​ត្រូវ​ទុក​ប្រអប់​ភ្ជាប់​អនាមិក ឬ​ចូល​ទៅ​ផ្លូវ​ពេញលេញ ឧទាហរណ៍ «<tt>uid=smith, ou=users, dc=my-domain, dc=com</tt>»)​។',
539
+    'texte_login_precaution' => 'ប្រយត្ន៖ នេះជាការពិនិត្យចូល ជាមួយអ្វី ដែលអ្នកបានភ្ជាប់ ពេលនេះ។ ប្រើប្រាស់ បែបបទនេះ ដោយប្រយត្ន...',
540
+    'texte_mise_a_niveau_base_1' => 'លោក​អ្នក​ទើបតែ​បាន​កែសម្រួល​ហ្វា​លSPIP។ ឥឡូវ​លោក​អ្នក​ត្រូវ​តែ​កែ​លំអ​សំណុំ​ទិន្នន័យ​របស់​វ៉ិ​ប​សាយ​នេះ',
541
+    'texte_modifier_article' => 'កែប្រែ អត្ថបទ៖',
542
+    'texte_multilinguisme' => 'ប្រសិនបើ​លោក​អ្នកមាន​បំណង​គ្រប់គ្រង​អត្ថបទ​ជា​ភាសា​ច្រើន ដែល​មានដំណើរ​ការ​ស្មុគស្មាញ លោក​អ្នក​អាច​បន្ថែម​បញ្ជី​ភាសា​មួយ​ទៅ​ក្នុង​អត្ថបទ និង​/​ឬ​ផ្នែក ទៅ​តាម​ការ​រៀបចំ​នៃ​វ៉ិ​ប​សាយ​របស់​លោក​អ្នក​។', # MODIF
543
+    'texte_multilinguisme_trad' => 'លោក​អ្នក​ក៏​អាច​បើកមុខ​ងារ​ប្រព័ន្ធ​គ្រប់គ្រង​ទំនាក់ទំនង​ក្នុង​ចំណោម​អត្ថបទ​បកប្រែ​ជា​ច្រើន​ភាសា​។', # MODIF
544
+    'texte_non_compresse' => '<i>uncompressed</i> (​ម៉ាស៊ីន​មេ​របស់​លោក​អ្នក​មិន​ប្រើប្រាស់​ជាមួយនឹង​លក្ខណៈ​នេះ​ទេ​)',
545
+    'texte_nouvelle_version_spip_1' => 'អ្នក ​បានតំលើង កំណែថ្មី នៃ SPIP។',
546
+    'texte_nouvelle_version_spip_2' => 'វើ​សឹ​ន​ថ្មី​នេះ​តម្រូវ​ឱ្យ​មានការ​កែសម្រួល​លំអិត​ជា​ការ​កែសម្រួល​ធម្មតា​។ ប្រសើ​ន​បើ​លោក​អ្នក​គឺជា​អ្នក​រចនា​វ៉ិ​ប​សាយ​នេះ សូម​លុប​ហ្វា​ល @connect@ និង​ចាប់ផ្ដើម​តំឡើង​ដើម្បី​អាច​កែសម្រួល​លក្ខណៈ​ទំនាក់ទំនង​សំណុំ​ទិន្នន័យ​របស់​លោក​អ្នក​។ <p>(NB.: ប្រសិនបើ​លោក​អ្នក​បាន​ភ្លើ​ច​លក្ខណៈ​ទំនាក់ទំនង​របស់​លោក​អ្នក សូម​មើល​ក្នុង​ហ្វា​ល@ មុន​នឹង​លុប​វា​!)</p>', # MODIF
547
+    'texte_operation_echec' => 'ត្រលប់ទៅ ទំព័រមុន, ជ្រើសយក មួយមូលដ្ឋានទិន្នន័យដទៃ ឬបង្កើតមួយថ្មី។ ផ្ទៀងពត៌មាន ផ្តល់ដោយ ខំព្យូរើ របស់អ្នក។',
548
+    'texte_plus_trois_car' => 'លើស​ពី ៣ អក្សរ',
549
+    'texte_plusieurs_articles' => 'ឃើញ​មាន​អ្នក​សរសេរ​កម្មវិធី​សំរាប់ \\"@cherche_auteur@\\":',
550
+    'texte_port_annuaire' => '(​តម្លៃ​ដើម​ជា​ទូទៅ​មាន​លក្ខណៈ​ថេរ​)​។',
551
+    'texte_presente_plugin' => 'ទំព័រ​នេះ​រាយ​អំពី​កម្មវិធី​បន្ថែម​ដែល​មាននៅ​ក្នុង​វ៉ិ​ប​សាយ​។ បើកមុខ​ងារ​របស់​កម្មវិធី​បន្ថែម លោក​អ្នក​ត្រូវ​គូស​ក្នុង​ប្រអប់​ដែល​ត្រូវ​គ្នា​នោះ​។',
552
+    'texte_proposer_publication' => 'នៅ​ពេល​ដែល​អត្ថបទ​លោក​អ្នក​ត្រូវ​បាន​បញ្ចប់br /> លោក​អ្នក​អាច​បញ្ជូន​វា​ដើម្បី​ចុះ​ផ្សាយ​។',
553
+    'texte_proxy' => 'នៅ​ក្នុង​ករណី​ខ្លះ (​អ៊ី​ន​ត្រា​ណិ​ត បណ្ដាញ​ដែល​ត្រូវ​ការពារ​......) វា​ជា​ការ​ចាំបាច់​ដែល​ត្រូវ​ប្រើប្រាស់ <i>proxy HTTP</i> ដើម្បី​បើក​វ៉ិ​ប​សាយ​ដែល​បាន​បញ្ចូល​។ ប្រសិនបើ​មាន​តំណាង​មួយ សូម​បញ្ចូល​អាសយដ្ឋាន​របស់​វា​ខាងក្រោម ដូច្នេះ <tt><html>http://proxy:8080</html></tt>។ ជា​ទូទៅ លោក​អ្នក​អាច​ទុក​ប្រអប់​នេះ​ឱ្យ​នៅ​ទំនេរ​បាន​។',
554
+    'texte_publication_articles_post_dates' => 'តើ​ឥរិយាបថ​មួយ​ណា​ដែល SPIP ត្រូវ​ប្រើ ទាក់ទិន​ទៅ​នឹង​អត្ថបទ​ដែល​កំណត់​សំរាប់​ការ​ចុះ​ផ្សាយ​នៅ​អនាគត​?',
555
+    'texte_rappel_selection_champs' => '[ចាំ​ថា ត្រូវ​ជ្រើសរើស​ប្រអប់​នេះ​ឱ្យ​បាន​ត្រឹមត្រូវ​។]',
556
+    'texte_recalcul_page' => 'ប្រសិនបើ​លោក​អ្នក​ត្រូវការ​សម្រួល​ឡើង​វិ​ញុ (refresh) តែ​មួយ​ទំព័រ លោក​អ្នក​ត្រូវធ្វើ​វា​ពី​ផ្នែក​សាធារណៈ និង​ប្រើប្រាស់​ប៊ូ​តុង « refresh ».',
557
+    'texte_recuperer_base' => 'ជួសជុល​សំណុំ​ទិន្នន័យ',
558
+    'texte_reference_mais_redirige' => 'អត្ថបទ​យោង​នៅ​ក្នុង​វ៉ិ​ប​សាយSPIP របស់​លោក​អ្នក ប៉ុន្ដែ​ត្រូវ​បាន​កំណត់​ទិស​ដៅ​ជា​ថ្មី​ទៅ​រកURL មួយ​ផ្សេង​ទៀត​។',
559
+    'texte_requetes_echouent' => '<b>នៅ​ពេល​ដែល​សំណួរ MySQL មិន​ដំណើរការ​ជា​លក្ខណៈ​ប្រព័ន្ធ និង​ដោយ​គ្មាន​ហេតុផល​ច្បាស់លាស់ វា​អាច​ដោយសារ​សំណុំ​ទិន្នន័យ​ផ្ទាល់​របស់​វា​នោះ​។</b><p> MySQL មាន​លក្ខណៈ​ជួសជុល​នូវ​តារាង​របស់​ខ្លួន​ទៅ​តាម​ការ​សំរេច​របស់​ខ្លួន នៅ​ពេល​ដែល​ពួក​វា​មានការ​ខូចខាត​ដោយ​ចៃដន្យ​។ លោក​អ្នក​អាច​ព្យាយាម​ធ្វើការ​ជួសជុល​បែប​នេះ នៅ​ក្នុង​ករណី​មានការ​ខូចខាត លោក​អ្នក​ត្រូវ​រក្សា​ច្បាប់​ថតចំលង​នៃ​ផ្ទាំង​បង្ហាញ ដែល​អាច​មាន​គន្លឹះ​មួយ​ចំនួន​ស្ដី​ពី​អ្វី​ដែល​ខុស​ប្រក្រតី​...</p><p> ប្រសិនបើ​បញ្ហា​ទាំងនោះ​មិន​អាច​ដោះស្រាយ​បាន សូម​ទាក់ទង​ទៅ​ម៉ាស៊ីន​កូន​របស់​លោក​អ្នក​។ host.</p>', # MODIF
560
+    'texte_selection_langue_principale' => 'អ្នក អាចជ្រើសយក "ភាសាចំបង" ខាងក្រោម នៃសៃថ៍។ គ្មានន័យថា អ្នកអាច ត្រឹមសរសេរ អត្ថបទ ក្នុងភាសា បានជ្រើសយក,​ប៉ុន្តែ កំណត់<ul><li> ទំរង់លំនាំដើម នៃថ្ងៃខែឆ្នាំ លើសៃថ៍សាធារណះ </li>
561 561
  <li>លក្ខណះនៃឧបកររៀបពុម្ភអក្សរ ដែលនឹងត្រូវបានប្រើប្រាស់ ដោយ SPIP សំរាប់ បង្កើតអត្ថបទ;</li>
562 562
  <li> ភាសា ត្រូវបានប្រើប្រាស់ ក្រោមរូបភាព ជាសៃថ៍សាធារណះ</li>
563 563
  <li> ភាសាលំនាំដើម បានបង្ហាញចេញ ក្នុងផ្នែកឯកជន។</li></ul>',
564
-	'texte_sous_titre' => 'ចំណងជើង​រង',
565
-	'texte_statistiques_visites' => '(​របារ​ខ្មៅៈ​ថ្ងៃអាទិត្យ​/​កំណោង​ខ្មៅៈ កំរិត​មធ្យម',
566
-	'texte_statut_attente_validation' => 'ការ​រង់ចាំ​ការ​ផ្ដល់​សុពលភាព',
567
-	'texte_statut_publies' => 'បានបោះផ្សាយ លើអិនរើណែត',
568
-	'texte_statut_refuses' => 'ត្រូវ​បាន​បដិសេធ',
569
-	'texte_suppression_fichiers' => 'ប្រើប្រាស់​បញ្ជា​នេះ​ដើម្បី​លុប​ហ្វា​ល​ទាំងអស់​នៅ​ក្នុង​សំណុំ​ហ្វា​ល​លាក់ខ្លួន​របស់ SPIP។ វា​អនុញ្ញាត​ឱ្យ​លោក​អ្នក បង្ខំ​ការ​សម្រួល​ដំណើរការ​ឡើង​វិញ​នូវ​ទំព័រ​ទាំងអស់ ក្នុង​ចំ​ណោំ​អ្វី​ផ្សេងៗ​ទៀត នៅ​ក្នុង​ករណី​លោក​អ្នក​បាន​ធើ​ការ​កែប្រែ​សំខាន់ៗ​ទៅ​លើ​ក្រាហ្វិក ឬ​រចនាសម្ព័ន្ធ​របស់​វ៉ិ​ប​សាយ​។',
570
-	'texte_sur_titre' => 'ចំណងជើងកំពូល',
571
-	'texte_table_ok' => '៖ តារាង​នេះ​គឺ​ត្រឹមត្រូវ',
572
-	'texte_tentative_recuperation' => 'ការ​ប៉ុនប៉ង​ជួសជុល',
573
-	'texte_tenter_reparation' => 'ការ​ប៉ុនប៉ង​ជួសជុល​សំណុំ​ទិន្នន័យ',
574
-	'texte_test_proxy' => 'ដើម្បី​ពិសោធ​តំណាង​នេះ សូម​បញ្ចូល​អាសយដ្ឋាន​វ៉ិ​ប​សាយ​ដែល​លោក​អ្នក​ត្រូវការ​ពិសោធន៍',
575
-	'texte_titre_02' => 'ប្រធានបទៈ',
576
-	'texte_titre_obligatoire' => '<b>Title</b> [ចាំបាច់]',
577
-	'texte_travail_article' => 'បាន​ដំណើរការ​លើ​អត្ថបទ​នេះ @date_diff@ នាទី​ក្រោម​មក',
578
-	'texte_travail_collaboratif' => 'ប្រសិនបើជា​រឿយៗ មាន​អ្នក​សរសេរ​កម្មវិធី​ច្រើន​អាច​ធ្វើការ​ងារ​លើ​អត្ថបទ​តែ​មួយ ប្រព័ន្ធ​អាច​កត់សំគាល់​ការងារ​ថ្មី​ជាងគេ «opened&raquo។ អត្ថបទ​ត្រូវ​រៀបចំ​ឱ្យ​មាន​របៀបរៀបរយ ដើម្បី​ជៀសវាង​ការ​កែប្រែ​រួម​គ្នា​ដែល​ធ្វើ​ឡើង​។ ជម្រើស​នេះ​ត្រូវ​បាន​បិទមុខ​ងារ​ដោយ​ក្រុមហ៊ុន​ផលិត ដើម្បី​ជៀស​វា​ពី​ការ​រំលឹក​មិន​ចាំបាច់​។ សារ​។',
579
-	'texte_vide' => 'ទទេ',
580
-	'texte_vider_cache' => 'លុបសំអាត សតិភ្ជាប់',
581
-	'titre_admin_tech' => 'តំហែទាំ បច្ចេកទេស',
582
-	'titre_admin_vider' => 'តំហែទាំ បច្ចេកទេស',
583
-	'titre_cadre_afficher_article' => 'បង្ហាញ អត្ថបទ៖',
584
-	'titre_cadre_afficher_traductions' => 'បង្ហាញ ស្ថានភាពប្រែសំរួល សំរាប់ ភាសាខាងក្រោម ៖',
585
-	'titre_cadre_ajouter_auteur' => 'បន្ថែម​អ្នក​សរសេរ​កម្មវិធី',
586
-	'titre_cadre_interieur_rubrique' => 'នៅ​ក្នុង​ផ្នែក',
587
-	'titre_cadre_numero_auteur' => 'អ្នក​សរសេរ​កម្មវិធី​លេខ',
588
-	'titre_cadre_signature_obligatoire' => '<b>Signature</b> [ចាំបាច់]<br />',
589
-	'titre_config_contenu_public' => 'លើ សៃថ៍សាធារណះ',
590
-	'titre_config_fonctions' => 'ការកំណត់ទំរង់ សៃថ៍',
591
-	'titre_configuration' => 'ការកំណត់ទំរង់ សៃថ៍',
592
-	'titre_connexion_ldap' => 'ជម្រើស <b>Your LDAP បណ្ដាញ</b>',
593
-	'titre_groupe_mots' => 'ក្រុម​ពាក្យ​គន្លឹះៈ',
594
-	'titre_langue_article' => 'ភាសា​របស់​អត្ថបទ', # MODIF
595
-	'titre_langue_rubrique' => 'ភាសា ក្នុងផ្នែក', # MODIF
596
-	'titre_langue_trad_article' => 'ភាសា និង​ការ​បកប្រែ​អត្ថបទ',
597
-	'titre_les_articles' => 'អត្ថបទ',
598
-	'titre_naviguer_dans_le_site' => 'ត្រាច់ចរ ក្នុងសៃថ៍​...',
599
-	'titre_nouvelle_rubrique' => 'ផ្នែក​ថ្មី',
600
-	'titre_numero_rubrique' => 'លេខ​ផ្នែកៈ',
601
-	'titre_page_articles_edit' => 'កែប្រែ ៖ @titre@',
602
-	'titre_page_articles_page' => 'អត្ថបទ',
603
-	'titre_page_articles_tous' => 'សៃថ៍ ទាំងមូល',
604
-	'titre_page_calendrier' => 'ប្រតិទិន @nom_mois@ @annee@',
605
-	'titre_page_config_contenu' => 'ការកំណត់ទំរង់ សៃថ៍',
606
-	'titre_page_delete_all' => 'ការ​លុប​ចោល​ទាំងស្រុង និង​មិន​អាច​បដិសេធ​វិញ​បាន',
607
-	'titre_page_recherche' => 'លទ្ធផល​នៃ​ការ​ស្វែងរក @recherche@',
608
-	'titre_page_statistiques_referers' => 'ស្ថិតិ (​ទំនាក់ទំនង​ចូល​)',
609
-	'titre_page_upgrade' => 'ការ​កែ​លំអSPIP',
610
-	'titre_publication_articles_post_dates' => 'ការ​ចុះ​ផ្សាយ​អត្ថបទ​ដែល​ចុះ​កាលបរិច្ឆេទ​យឺត',
611
-	'titre_reparation' => 'ជួសជុល',
612
-	'titre_suivi_petition' => 'ការ​តាមដាន​បដ្ឋនាលិខិត',
613
-	'tls_ldap' => 'សុវត្ថិភាព​គាំទ្រ​ការ​ជញ្ជូន (Transport Layer Security)​ៈ',
614
-	'trad_article_traduction' => 'គ្រប់កំណែ នៃអត្ថបទនេះ ៖',
615
-	'trad_delier' => 'ឈប់​ភ្ជាប់​អត្ថបទ​នេះ​ទៅ​អត្ថបទ​បកប្រែ​របស់​វា​។', # MODIF
616
-	'trad_lier' => 'អត្ថបទ​នេះ​គឺជា​អត្ថបទ​បកប្រែ​ដែល​មាន​លេខៈ',
617
-	'trad_new' => 'សរសេរ​អត្ថបទ​បកប្រែ​ថ្មី​នៃ​អត្ថបទ​នេះ', # MODIF
564
+    'texte_sous_titre' => 'ចំណងជើង​រង',
565
+    'texte_statistiques_visites' => '(​របារ​ខ្មៅៈ​ថ្ងៃអាទិត្យ​/​កំណោង​ខ្មៅៈ កំរិត​មធ្យម',
566
+    'texte_statut_attente_validation' => 'ការ​រង់ចាំ​ការ​ផ្ដល់​សុពលភាព',
567
+    'texte_statut_publies' => 'បានបោះផ្សាយ លើអិនរើណែត',
568
+    'texte_statut_refuses' => 'ត្រូវ​បាន​បដិសេធ',
569
+    'texte_suppression_fichiers' => 'ប្រើប្រាស់​បញ្ជា​នេះ​ដើម្បី​លុប​ហ្វា​ល​ទាំងអស់​នៅ​ក្នុង​សំណុំ​ហ្វា​ល​លាក់ខ្លួន​របស់ SPIP។ វា​អនុញ្ញាត​ឱ្យ​លោក​អ្នក បង្ខំ​ការ​សម្រួល​ដំណើរការ​ឡើង​វិញ​នូវ​ទំព័រ​ទាំងអស់ ក្នុង​ចំ​ណោំ​អ្វី​ផ្សេងៗ​ទៀត នៅ​ក្នុង​ករណី​លោក​អ្នក​បាន​ធើ​ការ​កែប្រែ​សំខាន់ៗ​ទៅ​លើ​ក្រាហ្វិក ឬ​រចនាសម្ព័ន្ធ​របស់​វ៉ិ​ប​សាយ​។',
570
+    'texte_sur_titre' => 'ចំណងជើងកំពូល',
571
+    'texte_table_ok' => '៖ តារាង​នេះ​គឺ​ត្រឹមត្រូវ',
572
+    'texte_tentative_recuperation' => 'ការ​ប៉ុនប៉ង​ជួសជុល',
573
+    'texte_tenter_reparation' => 'ការ​ប៉ុនប៉ង​ជួសជុល​សំណុំ​ទិន្នន័យ',
574
+    'texte_test_proxy' => 'ដើម្បី​ពិសោធ​តំណាង​នេះ សូម​បញ្ចូល​អាសយដ្ឋាន​វ៉ិ​ប​សាយ​ដែល​លោក​អ្នក​ត្រូវការ​ពិសោធន៍',
575
+    'texte_titre_02' => 'ប្រធានបទៈ',
576
+    'texte_titre_obligatoire' => '<b>Title</b> [ចាំបាច់]',
577
+    'texte_travail_article' => 'បាន​ដំណើរការ​លើ​អត្ថបទ​នេះ @date_diff@ នាទី​ក្រោម​មក',
578
+    'texte_travail_collaboratif' => 'ប្រសិនបើជា​រឿយៗ មាន​អ្នក​សរសេរ​កម្មវិធី​ច្រើន​អាច​ធ្វើការ​ងារ​លើ​អត្ថបទ​តែ​មួយ ប្រព័ន្ធ​អាច​កត់សំគាល់​ការងារ​ថ្មី​ជាងគេ «opened&raquo។ អត្ថបទ​ត្រូវ​រៀបចំ​ឱ្យ​មាន​របៀបរៀបរយ ដើម្បី​ជៀសវាង​ការ​កែប្រែ​រួម​គ្នា​ដែល​ធ្វើ​ឡើង​។ ជម្រើស​នេះ​ត្រូវ​បាន​បិទមុខ​ងារ​ដោយ​ក្រុមហ៊ុន​ផលិត ដើម្បី​ជៀស​វា​ពី​ការ​រំលឹក​មិន​ចាំបាច់​។ សារ​។',
579
+    'texte_vide' => 'ទទេ',
580
+    'texte_vider_cache' => 'លុបសំអាត សតិភ្ជាប់',
581
+    'titre_admin_tech' => 'តំហែទាំ បច្ចេកទេស',
582
+    'titre_admin_vider' => 'តំហែទាំ បច្ចេកទេស',
583
+    'titre_cadre_afficher_article' => 'បង្ហាញ អត្ថបទ៖',
584
+    'titre_cadre_afficher_traductions' => 'បង្ហាញ ស្ថានភាពប្រែសំរួល សំរាប់ ភាសាខាងក្រោម ៖',
585
+    'titre_cadre_ajouter_auteur' => 'បន្ថែម​អ្នក​សរសេរ​កម្មវិធី',
586
+    'titre_cadre_interieur_rubrique' => 'នៅ​ក្នុង​ផ្នែក',
587
+    'titre_cadre_numero_auteur' => 'អ្នក​សរសេរ​កម្មវិធី​លេខ',
588
+    'titre_cadre_signature_obligatoire' => '<b>Signature</b> [ចាំបាច់]<br />',
589
+    'titre_config_contenu_public' => 'លើ សៃថ៍សាធារណះ',
590
+    'titre_config_fonctions' => 'ការកំណត់ទំរង់ សៃថ៍',
591
+    'titre_configuration' => 'ការកំណត់ទំរង់ សៃថ៍',
592
+    'titre_connexion_ldap' => 'ជម្រើស <b>Your LDAP បណ្ដាញ</b>',
593
+    'titre_groupe_mots' => 'ក្រុម​ពាក្យ​គន្លឹះៈ',
594
+    'titre_langue_article' => 'ភាសា​របស់​អត្ថបទ', # MODIF
595
+    'titre_langue_rubrique' => 'ភាសា ក្នុងផ្នែក', # MODIF
596
+    'titre_langue_trad_article' => 'ភាសា និង​ការ​បកប្រែ​អត្ថបទ',
597
+    'titre_les_articles' => 'អត្ថបទ',
598
+    'titre_naviguer_dans_le_site' => 'ត្រាច់ចរ ក្នុងសៃថ៍​...',
599
+    'titre_nouvelle_rubrique' => 'ផ្នែក​ថ្មី',
600
+    'titre_numero_rubrique' => 'លេខ​ផ្នែកៈ',
601
+    'titre_page_articles_edit' => 'កែប្រែ ៖ @titre@',
602
+    'titre_page_articles_page' => 'អត្ថបទ',
603
+    'titre_page_articles_tous' => 'សៃថ៍ ទាំងមូល',
604
+    'titre_page_calendrier' => 'ប្រតិទិន @nom_mois@ @annee@',
605
+    'titre_page_config_contenu' => 'ការកំណត់ទំរង់ សៃថ៍',
606
+    'titre_page_delete_all' => 'ការ​លុប​ចោល​ទាំងស្រុង និង​មិន​អាច​បដិសេធ​វិញ​បាន',
607
+    'titre_page_recherche' => 'លទ្ធផល​នៃ​ការ​ស្វែងរក @recherche@',
608
+    'titre_page_statistiques_referers' => 'ស្ថិតិ (​ទំនាក់ទំនង​ចូល​)',
609
+    'titre_page_upgrade' => 'ការ​កែ​លំអSPIP',
610
+    'titre_publication_articles_post_dates' => 'ការ​ចុះ​ផ្សាយ​អត្ថបទ​ដែល​ចុះ​កាលបរិច្ឆេទ​យឺត',
611
+    'titre_reparation' => 'ជួសជុល',
612
+    'titre_suivi_petition' => 'ការ​តាមដាន​បដ្ឋនាលិខិត',
613
+    'tls_ldap' => 'សុវត្ថិភាព​គាំទ្រ​ការ​ជញ្ជូន (Transport Layer Security)​ៈ',
614
+    'trad_article_traduction' => 'គ្រប់កំណែ នៃអត្ថបទនេះ ៖',
615
+    'trad_delier' => 'ឈប់​ភ្ជាប់​អត្ថបទ​នេះ​ទៅ​អត្ថបទ​បកប្រែ​របស់​វា​។', # MODIF
616
+    'trad_lier' => 'អត្ថបទ​នេះ​គឺជា​អត្ថបទ​បកប្រែ​ដែល​មាន​លេខៈ',
617
+    'trad_new' => 'សរសេរ​អត្ថបទ​បកប្រែ​ថ្មី​នៃ​អត្ថបទ​នេះ', # MODIF
618 618
 
619
-	// U
620
-	'utf8_convert_erreur_orig' => 'កំហុស ៖ មិនគាំទ្រ កញ្ចប់អក្សរ @charset@។',
619
+    // U
620
+    'utf8_convert_erreur_orig' => 'កំហុស ៖ មិនគាំទ្រ កញ្ចប់អក្សរ @charset@។',
621 621
 
622
-	// V
623
-	'version' => 'កំណែ ៖'
622
+    // V
623
+    'version' => 'កំណែ ៖'
624 624
 );
Please login to merge, or discard this patch.
ecrire/inc/filtres_selecteur_generique.php 3 patches
Indentation   +148 added lines, -148 removed lines patch added patch discarded remove patch
@@ -7,7 +7,7 @@  discard block
 block discarded – undo
7 7
  **/
8 8
 
9 9
 if (!defined('_ECRIRE_INC_VERSION')) {
10
-	return;
10
+    return;
11 11
 }
12 12
 
13 13
 /**
@@ -28,51 +28,51 @@  discard block
 block discarded – undo
28 28
  *     - afficher : tableau des objets à afficher (mais pas forcément sélectionnables)
29 29
  */
30 30
 function selecteur_lister_objets($includelist = [], $excludelist = []) {
31
-	static $liste_selecteurs, $liste_parents;
32
-
33
-	if (!$liste_selecteurs) {
34
-		$liste_selecteurs = find_all_in_path('formulaires/selecteur/', 'hierarchie-[\w]+[.]html$');
35
-	}
36
-	$objets_selectionner = [];
37
-	foreach ($liste_selecteurs as $fichier => $chemin) {
38
-		$objets_selectionner[] = preg_replace('/^hierarchie-([\w]+)[.]html$/', '$1', $fichier);
39
-	}
40
-
41
-	// S'il y a une whitelist on ne garde que ce qui est dedans
42
-	if (!empty($includelist)) {
43
-		$includelist = array_map('table_objet', $includelist);
44
-		$objets_selectionner = array_intersect($objets_selectionner, $includelist);
45
-	}
46
-	// On supprime ce qui est dans la liste d’exclusion
47
-	$excludelist = array_map('table_objet', $excludelist);
48
-	// On enlève toujours la racine
49
-	$excludelist[] = 'racine';
50
-	$objets_selectionner = array_diff($objets_selectionner, $excludelist);
51
-
52
-	// Ensuite on cherche ce qu'on doit afficher : au moins ceux qu'on peut sélectionner
53
-	$objets_afficher = $objets_selectionner;
54
-
55
-	// Il faut alors chercher d'éventuels parents obligatoires en plus :
56
-	// lister-trucs-bidules.html => on doit afficher des "trucs" pour trouver des "bidules"
57
-	if (!$liste_parents) {
58
-		$liste_parents = find_all_in_path('formulaires/selecteur/', 'lister-[\w]+-[\w]+[.]html$');
59
-	}
60
-	foreach ($liste_parents as $fichier => $chemin) {
61
-		preg_match('/^lister-([\w]+)-([\w]+)[.]html$/', $fichier, $captures);
62
-		$parent = $captures[1];
63
-		$type = $captures[2];
64
-		// Si le type fait partie de ce qu'on doit afficher alors on ajoute aussi le parent à l'affichage
65
-		if (in_array($type, $objets_afficher)) {
66
-			$objets_afficher[] = $parent;
67
-		}
68
-	}
69
-
70
-	$objets = [
71
-		'selectionner' => array_unique($objets_selectionner),
72
-		'afficher' => array_unique($objets_afficher),
73
-	];
74
-
75
-	return $objets;
31
+    static $liste_selecteurs, $liste_parents;
32
+
33
+    if (!$liste_selecteurs) {
34
+        $liste_selecteurs = find_all_in_path('formulaires/selecteur/', 'hierarchie-[\w]+[.]html$');
35
+    }
36
+    $objets_selectionner = [];
37
+    foreach ($liste_selecteurs as $fichier => $chemin) {
38
+        $objets_selectionner[] = preg_replace('/^hierarchie-([\w]+)[.]html$/', '$1', $fichier);
39
+    }
40
+
41
+    // S'il y a une whitelist on ne garde que ce qui est dedans
42
+    if (!empty($includelist)) {
43
+        $includelist = array_map('table_objet', $includelist);
44
+        $objets_selectionner = array_intersect($objets_selectionner, $includelist);
45
+    }
46
+    // On supprime ce qui est dans la liste d’exclusion
47
+    $excludelist = array_map('table_objet', $excludelist);
48
+    // On enlève toujours la racine
49
+    $excludelist[] = 'racine';
50
+    $objets_selectionner = array_diff($objets_selectionner, $excludelist);
51
+
52
+    // Ensuite on cherche ce qu'on doit afficher : au moins ceux qu'on peut sélectionner
53
+    $objets_afficher = $objets_selectionner;
54
+
55
+    // Il faut alors chercher d'éventuels parents obligatoires en plus :
56
+    // lister-trucs-bidules.html => on doit afficher des "trucs" pour trouver des "bidules"
57
+    if (!$liste_parents) {
58
+        $liste_parents = find_all_in_path('formulaires/selecteur/', 'lister-[\w]+-[\w]+[.]html$');
59
+    }
60
+    foreach ($liste_parents as $fichier => $chemin) {
61
+        preg_match('/^lister-([\w]+)-([\w]+)[.]html$/', $fichier, $captures);
62
+        $parent = $captures[1];
63
+        $type = $captures[2];
64
+        // Si le type fait partie de ce qu'on doit afficher alors on ajoute aussi le parent à l'affichage
65
+        if (in_array($type, $objets_afficher)) {
66
+            $objets_afficher[] = $parent;
67
+        }
68
+    }
69
+
70
+    $objets = [
71
+        'selectionner' => array_unique($objets_selectionner),
72
+        'afficher' => array_unique($objets_afficher),
73
+    ];
74
+
75
+    return $objets;
76 76
 }
77 77
 
78 78
 /**
@@ -99,31 +99,31 @@  discard block
 block discarded – undo
99 99
  *     liste des couples (objets => id_objet) ou liste des identifiants d'un type d'objet.
100 100
  **/
101 101
 function picker_selected($selected, $type = '') {
102
-	$select = [];
103
-	$type = preg_replace(',\W,', '', $type);
104
-
105
-	if ($selected and !is_array($selected)) {
106
-		$selected = explode(',', $selected);
107
-	}
108
-
109
-	if (is_array($selected)) {
110
-		foreach ($selected as $value) {
111
-			// Si c'est le bon format déjà
112
-			if (preg_match('/^([\w]+)[|]([0-9]+)$/', $value, $captures)) {
113
-				$objet = $captures[1];
114
-				$id_objet = intval($captures[2]);
115
-
116
-				// Si on cherche un type et que c'est le bon, on renvoit un tableau que d'identifiants
117
-				if (is_string($type) and $type == $objet and ($id_objet or in_array($objet, ['racine', 'rubrique']))) {
118
-					$select[] = $id_objet;
119
-				} elseif (!$type and ($id_objet or in_array($objet, ['racine', 'rubrique']))) {
120
-					$select[] = ['objet' => $objet, 'id_objet' => $id_objet];
121
-				}
122
-			}
123
-		}
124
-	}
125
-
126
-	return $select;
102
+    $select = [];
103
+    $type = preg_replace(',\W,', '', $type);
104
+
105
+    if ($selected and !is_array($selected)) {
106
+        $selected = explode(',', $selected);
107
+    }
108
+
109
+    if (is_array($selected)) {
110
+        foreach ($selected as $value) {
111
+            // Si c'est le bon format déjà
112
+            if (preg_match('/^([\w]+)[|]([0-9]+)$/', $value, $captures)) {
113
+                $objet = $captures[1];
114
+                $id_objet = intval($captures[2]);
115
+
116
+                // Si on cherche un type et que c'est le bon, on renvoit un tableau que d'identifiants
117
+                if (is_string($type) and $type == $objet and ($id_objet or in_array($objet, ['racine', 'rubrique']))) {
118
+                    $select[] = $id_objet;
119
+                } elseif (!$type and ($id_objet or in_array($objet, ['racine', 'rubrique']))) {
120
+                    $select[] = ['objet' => $objet, 'id_objet' => $id_objet];
121
+                }
122
+            }
123
+        }
124
+    }
125
+
126
+    return $select;
127 127
 }
128 128
 
129 129
 /**
@@ -140,53 +140,53 @@  discard block
 block discarded – undo
140 140
  *     Booléen indiquant si les articles sont sélectionnables
141 141
  */
142 142
 function picker_identifie_id_rapide($ref, $rubriques_ou_objets = false, $articles = false) {
143
-	include_spip('inc/json');
144
-	include_spip('inc/lien');
145
-
146
-	// On construit un tableau des objets sélectionnables suivant les paramètres
147
-	$objets = [];
148
-	if ($rubriques_ou_objets and is_array($rubriques_ou_objets)) {
149
-		$objets = $rubriques_ou_objets;
150
-	} else {
151
-		if ($rubriques_ou_objets) {
152
-			$objets[] = 'rubriques';
153
-		}
154
-		if ($articles) {
155
-			$objets[] = 'articles';
156
-		}
157
-	}
158
-
159
-	// si id numerique et un seul objet possible, pas d'ambiguite
160
-	if (is_numeric($ref) and count($objets) === 1) {
161
-		$type = reset($objets);
162
-		$type = objet_type($type);
163
-		$id = intval($ref);
164
-		$ref = $type . $ref;
165
-	}
166
-	else {
167
-		// Si la référence ne correspond à rien, c'est fini
168
-		if (!($match = typer_raccourci($ref))) {
169
-			return json_export(false);
170
-		}
171
-		// Sinon on récupère les infos utiles
172
-		[$type, , $id, , , , ] = array_pad($match, 7, null);
173
-
174
-		// On regarde si le type trouvé fait partie des objets sélectionnables
175
-		if (!in_array(table_objet($type), $objets)) {
176
-			return json_export(false);
177
-		}
178
-	}
179
-
180
-	// Maintenant que tout est bon, on cherche les informations sur cet objet
181
-	include_spip('inc/filtres');
182
-	if (!$titre = generer_objet_info($id, $type, 'titre')) {
183
-		return json_export(false);
184
-	}
185
-
186
-	// On simplifie le texte
187
-	$titre = attribut_html($titre);
188
-
189
-	return json_export(['type' => $type, 'id' => "$type|$id", 'titre' => $titre]);
143
+    include_spip('inc/json');
144
+    include_spip('inc/lien');
145
+
146
+    // On construit un tableau des objets sélectionnables suivant les paramètres
147
+    $objets = [];
148
+    if ($rubriques_ou_objets and is_array($rubriques_ou_objets)) {
149
+        $objets = $rubriques_ou_objets;
150
+    } else {
151
+        if ($rubriques_ou_objets) {
152
+            $objets[] = 'rubriques';
153
+        }
154
+        if ($articles) {
155
+            $objets[] = 'articles';
156
+        }
157
+    }
158
+
159
+    // si id numerique et un seul objet possible, pas d'ambiguite
160
+    if (is_numeric($ref) and count($objets) === 1) {
161
+        $type = reset($objets);
162
+        $type = objet_type($type);
163
+        $id = intval($ref);
164
+        $ref = $type . $ref;
165
+    }
166
+    else {
167
+        // Si la référence ne correspond à rien, c'est fini
168
+        if (!($match = typer_raccourci($ref))) {
169
+            return json_export(false);
170
+        }
171
+        // Sinon on récupère les infos utiles
172
+        [$type, , $id, , , , ] = array_pad($match, 7, null);
173
+
174
+        // On regarde si le type trouvé fait partie des objets sélectionnables
175
+        if (!in_array(table_objet($type), $objets)) {
176
+            return json_export(false);
177
+        }
178
+    }
179
+
180
+    // Maintenant que tout est bon, on cherche les informations sur cet objet
181
+    include_spip('inc/filtres');
182
+    if (!$titre = generer_objet_info($id, $type, 'titre')) {
183
+        return json_export(false);
184
+    }
185
+
186
+    // On simplifie le texte
187
+    $titre = attribut_html($titre);
188
+
189
+    return json_export(['type' => $type, 'id' => "$type|$id", 'titre' => $titre]);
190 190
 }
191 191
 
192 192
 /**
@@ -209,34 +209,34 @@  discard block
 block discarded – undo
209 209
  *     Comme le filtre `oui` : espace (` `) si rubrique à afficher, chaîne vide sinon.
210 210
  */
211 211
 function test_enfants_rubrique($id_rubrique, $types = []) {
212
-	static $has_child = [];
213
-
214
-	if (!isset($has_child[$id_rubrique])) {
215
-		$types = (is_array($types) ? array_filter($types) : []);
216
-
217
-		// recuperer tous les freres et soeurs de la rubrique visee
218
-		$id_parent = sql_getfetsel('id_parent', 'spip_rubriques', 'id_rubrique=' . intval($id_rubrique));
219
-		$fratrie = sql_allfetsel('id_rubrique', 'spip_rubriques', 'id_parent=' . intval($id_parent));
220
-		$fratrie = array_column($fratrie, 'id_rubrique');
221
-		$has = sql_allfetsel('DISTINCT id_parent', 'spip_rubriques', sql_in('id_parent', $fratrie));
222
-		$has = array_column($has, 'id_parent');
223
-		$fratrie = array_diff($fratrie, $has);
224
-
225
-		while (count($fratrie) and is_array($types) and count($types)) {
226
-			$type = array_shift($types);
227
-			$h = sql_allfetsel('DISTINCT id_rubrique', table_objet_sql($type), sql_in('id_rubrique', $fratrie));
228
-			$h = array_column($h, 'id_rubrique');
229
-			$has = array_merge($has, $h);
230
-			$fratrie = array_diff($fratrie, $h);
231
-		}
232
-
233
-		if (count($has)) {
234
-			$has_child = $has_child + array_combine($has, array_pad([], count($has), true));
235
-		}
236
-		if (count($fratrie)) {
237
-			$has_child = $has_child + array_combine($fratrie, array_pad([], count($fratrie), false));
238
-		}
239
-	}
240
-
241
-	return $has_child[$id_rubrique] ? ' ' : '';
212
+    static $has_child = [];
213
+
214
+    if (!isset($has_child[$id_rubrique])) {
215
+        $types = (is_array($types) ? array_filter($types) : []);
216
+
217
+        // recuperer tous les freres et soeurs de la rubrique visee
218
+        $id_parent = sql_getfetsel('id_parent', 'spip_rubriques', 'id_rubrique=' . intval($id_rubrique));
219
+        $fratrie = sql_allfetsel('id_rubrique', 'spip_rubriques', 'id_parent=' . intval($id_parent));
220
+        $fratrie = array_column($fratrie, 'id_rubrique');
221
+        $has = sql_allfetsel('DISTINCT id_parent', 'spip_rubriques', sql_in('id_parent', $fratrie));
222
+        $has = array_column($has, 'id_parent');
223
+        $fratrie = array_diff($fratrie, $has);
224
+
225
+        while (count($fratrie) and is_array($types) and count($types)) {
226
+            $type = array_shift($types);
227
+            $h = sql_allfetsel('DISTINCT id_rubrique', table_objet_sql($type), sql_in('id_rubrique', $fratrie));
228
+            $h = array_column($h, 'id_rubrique');
229
+            $has = array_merge($has, $h);
230
+            $fratrie = array_diff($fratrie, $h);
231
+        }
232
+
233
+        if (count($has)) {
234
+            $has_child = $has_child + array_combine($has, array_pad([], count($has), true));
235
+        }
236
+        if (count($fratrie)) {
237
+            $has_child = $has_child + array_combine($fratrie, array_pad([], count($fratrie), false));
238
+        }
239
+    }
240
+
241
+    return $has_child[$id_rubrique] ? ' ' : '';
242 242
 }
Please login to merge, or discard this patch.
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -161,7 +161,7 @@  discard block
 block discarded – undo
161 161
 		$type = reset($objets);
162 162
 		$type = objet_type($type);
163 163
 		$id = intval($ref);
164
-		$ref = $type . $ref;
164
+		$ref = $type.$ref;
165 165
 	}
166 166
 	else {
167 167
 		// Si la référence ne correspond à rien, c'est fini
@@ -169,7 +169,7 @@  discard block
 block discarded – undo
169 169
 			return json_export(false);
170 170
 		}
171 171
 		// Sinon on récupère les infos utiles
172
-		[$type, , $id, , , , ] = array_pad($match, 7, null);
172
+		[$type,, $id,,,,] = array_pad($match, 7, null);
173 173
 
174 174
 		// On regarde si le type trouvé fait partie des objets sélectionnables
175 175
 		if (!in_array(table_objet($type), $objets)) {
@@ -215,8 +215,8 @@  discard block
 block discarded – undo
215 215
 		$types = (is_array($types) ? array_filter($types) : []);
216 216
 
217 217
 		// recuperer tous les freres et soeurs de la rubrique visee
218
-		$id_parent = sql_getfetsel('id_parent', 'spip_rubriques', 'id_rubrique=' . intval($id_rubrique));
219
-		$fratrie = sql_allfetsel('id_rubrique', 'spip_rubriques', 'id_parent=' . intval($id_parent));
218
+		$id_parent = sql_getfetsel('id_parent', 'spip_rubriques', 'id_rubrique='.intval($id_rubrique));
219
+		$fratrie = sql_allfetsel('id_rubrique', 'spip_rubriques', 'id_parent='.intval($id_parent));
220 220
 		$fratrie = array_column($fratrie, 'id_rubrique');
221 221
 		$has = sql_allfetsel('DISTINCT id_parent', 'spip_rubriques', sql_in('id_parent', $fratrie));
222 222
 		$has = array_column($has, 'id_parent');
Please login to merge, or discard this patch.
Braces   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -162,8 +162,7 @@
 block discarded – undo
162 162
 		$type = objet_type($type);
163 163
 		$id = intval($ref);
164 164
 		$ref = $type . $ref;
165
-	}
166
-	else {
165
+	} else {
167 166
 		// Si la référence ne correspond à rien, c'est fini
168 167
 		if (!($match = typer_raccourci($ref))) {
169 168
 			return json_export(false);
Please login to merge, or discard this patch.
ecrire/lang/ecrire_fr.php 1 patch
Indentation   +839 added lines, -839 removed lines patch added patch discarded remove patch
@@ -2,438 +2,438 @@  discard block
 block discarded – undo
2 2
 // This is a SPIP language file  --  Ceci est un fichier langue de SPIP
3 3
 // Fichier source, a modifier dans https://git.spip.net/spip/spip.git
4 4
 if (!defined('_ECRIRE_INC_VERSION')) {
5
-	return;
5
+    return;
6 6
 }
7 7
 
8 8
 $GLOBALS[$GLOBALS['idx_lang']] = array(
9 9
 
10
-	// A
11
-	'activer_plugin' => 'Activer le plugin',
12
-	'affichage' => 'Affichage',
13
-	'aide_non_disponible' => 'Cette partie de l’aide en ligne n’est pas encore disponible dans cette langue.',
14
-	'annuler_recherche' => 'Annuler la recherche',
15
-	'auteur' => 'Auteur :',
16
-	'avis_acces_interdit' => 'Accès interdit.',
17
-	'avis_acces_interdit_prive' => 'Vous n’avez pas le droit d’accéder à la page <b>@exec@</b>.',
18
-	'avis_article_modifie' => 'Attention, @nom_auteur_modif@ a travaillé sur cet article il y a @date_diff@ minutes',
19
-	'avis_aucun_resultat' => 'Aucun résultat.',
20
-	'avis_base_inaccessible' => 'Impossible de se connecter à la base de données @base@.',
21
-	'avis_chemin_invalide_1' => 'Le chemin que vous avez choisi',
22
-	'avis_chemin_invalide_2' => 'ne semble pas valide. Veuillez retourner à la page précédente et vérifier les informations fournies.',
23
-	'avis_connexion_echec_1' => 'La connexion  à la base de données a échoué.',
24
-	'avis_connexion_echec_2' => 'Revenez à la page précédente, et vérifiez les informations que vous avez fournies.',
25
-	'avis_connexion_echec_3' => '<b>N.B.</b> Sur de nombreux serveurs, vous devez <b>demander</b> l’activation de votre accès à la base de données avant de pouvoir l’utiliser. Si vous ne pouvez vous connecter, vérifiez que vous avez effectué cette démarche.',
26
-	'avis_connexion_erreur_creer_base' => 'La base de données n’a pas pu être créée.',
27
-	'avis_connexion_erreur_fichier_cle_manquant_1' => 'L’installation doit être faite par un webmestre avec un backup des clés et son mot de passe',
28
-	'avis_connexion_erreur_fichier_cle_manquant_2' => 'L’installation doit être faite par un webmestre avec un backup des clés',
29
-	'avis_connexion_erreur_nom_base' => 'Le nom de la base ne peut contenir que des lettres, des chiffres et des tirets',
30
-	'avis_connexion_ldap_echec_1' => 'La connexion au serveur LDAP a échoué.',
31
-	'avis_connexion_ldap_echec_2' => 'Revenez à la page précédente, et vérifiez les informations que vous avez fournies.',
32
-	'avis_connexion_ldap_echec_3' => 'Alternativement, n’utilisez pas le support LDAP pour importer des utilisateurs.',
33
-	'avis_deplacement_rubrique' => 'Attention ! Cette rubrique contient @contient_breves@ brève@scb@ : si vous la déplacez, veuillez cocher cette case de confirmation.',
34
-	'avis_erreur_connexion_mysql' => 'Erreur de connexion SQL',
35
-	'avis_erreur_creation_compte' => 'Echec lors de l’initialisation du compte',
36
-	'avis_espace_interdit' => '<b>Espace interdit</b> <div>SPIP est déjà installé.</div>',
37
-	'avis_lecture_noms_bases_1' => 'Le programme d’installation n’a pas pu lire les noms des bases de données installées.',
38
-	'avis_lecture_noms_bases_2' => 'Soit aucune base n’est disponible, soit la fonction permettant de lister les bases a été désactivée
10
+    // A
11
+    'activer_plugin' => 'Activer le plugin',
12
+    'affichage' => 'Affichage',
13
+    'aide_non_disponible' => 'Cette partie de l’aide en ligne n’est pas encore disponible dans cette langue.',
14
+    'annuler_recherche' => 'Annuler la recherche',
15
+    'auteur' => 'Auteur :',
16
+    'avis_acces_interdit' => 'Accès interdit.',
17
+    'avis_acces_interdit_prive' => 'Vous n’avez pas le droit d’accéder à la page <b>@exec@</b>.',
18
+    'avis_article_modifie' => 'Attention, @nom_auteur_modif@ a travaillé sur cet article il y a @date_diff@ minutes',
19
+    'avis_aucun_resultat' => 'Aucun résultat.',
20
+    'avis_base_inaccessible' => 'Impossible de se connecter à la base de données @base@.',
21
+    'avis_chemin_invalide_1' => 'Le chemin que vous avez choisi',
22
+    'avis_chemin_invalide_2' => 'ne semble pas valide. Veuillez retourner à la page précédente et vérifier les informations fournies.',
23
+    'avis_connexion_echec_1' => 'La connexion  à la base de données a échoué.',
24
+    'avis_connexion_echec_2' => 'Revenez à la page précédente, et vérifiez les informations que vous avez fournies.',
25
+    'avis_connexion_echec_3' => '<b>N.B.</b> Sur de nombreux serveurs, vous devez <b>demander</b> l’activation de votre accès à la base de données avant de pouvoir l’utiliser. Si vous ne pouvez vous connecter, vérifiez que vous avez effectué cette démarche.',
26
+    'avis_connexion_erreur_creer_base' => 'La base de données n’a pas pu être créée.',
27
+    'avis_connexion_erreur_fichier_cle_manquant_1' => 'L’installation doit être faite par un webmestre avec un backup des clés et son mot de passe',
28
+    'avis_connexion_erreur_fichier_cle_manquant_2' => 'L’installation doit être faite par un webmestre avec un backup des clés',
29
+    'avis_connexion_erreur_nom_base' => 'Le nom de la base ne peut contenir que des lettres, des chiffres et des tirets',
30
+    'avis_connexion_ldap_echec_1' => 'La connexion au serveur LDAP a échoué.',
31
+    'avis_connexion_ldap_echec_2' => 'Revenez à la page précédente, et vérifiez les informations que vous avez fournies.',
32
+    'avis_connexion_ldap_echec_3' => 'Alternativement, n’utilisez pas le support LDAP pour importer des utilisateurs.',
33
+    'avis_deplacement_rubrique' => 'Attention ! Cette rubrique contient @contient_breves@ brève@scb@ : si vous la déplacez, veuillez cocher cette case de confirmation.',
34
+    'avis_erreur_connexion_mysql' => 'Erreur de connexion SQL',
35
+    'avis_erreur_creation_compte' => 'Echec lors de l’initialisation du compte',
36
+    'avis_espace_interdit' => '<b>Espace interdit</b> <div>SPIP est déjà installé.</div>',
37
+    'avis_lecture_noms_bases_1' => 'Le programme d’installation n’a pas pu lire les noms des bases de données installées.',
38
+    'avis_lecture_noms_bases_2' => 'Soit aucune base n’est disponible, soit la fonction permettant de lister les bases a été désactivée
39 39
 		pour des raisons de sécurité (ce qui est le cas chez de nombreux hébergeurs).',
40
-	'avis_lecture_noms_bases_3' => 'Dans la seconde alternative, il est probable qu’une base portant votre nom de login soit utilisable :',
41
-	'avis_non_acces_page' => 'Vous n’avez pas accès à cette page.',
42
-	'avis_operation_echec' => 'L’opération a échoué.',
43
-	'avis_operation_impossible' => 'Opération impossible',
44
-	'avis_suppression_base' => 'ATTENTION, la suppression des données est irréversible',
40
+    'avis_lecture_noms_bases_3' => 'Dans la seconde alternative, il est probable qu’une base portant votre nom de login soit utilisable :',
41
+    'avis_non_acces_page' => 'Vous n’avez pas accès à cette page.',
42
+    'avis_operation_echec' => 'L’opération a échoué.',
43
+    'avis_operation_impossible' => 'Opération impossible',
44
+    'avis_suppression_base' => 'ATTENTION, la suppression des données est irréversible',
45 45
 
46
-	// B
47
-	'bouton_acces_ldap' => 'Ajouter l’accès à LDAP',
48
-	'bouton_ajouter' => 'Ajouter',
49
-	'bouton_annuler' => 'Annuler',
50
-	'bouton_cache_activer' => 'Réactiver le cache',
51
-	'bouton_cache_desactiver' => 'Désactiver temporairement le cache',
52
-	'bouton_demande_publication' => 'Demander la publication de cet article',
53
-	'bouton_desactive_tout' => 'Tout désactiver',
54
-	'bouton_desinstaller' => 'Désinstaller',
55
-	'bouton_effacer_tout' => 'Effacer TOUT',
56
-	'bouton_envoyer_message' => 'Message définitif : envoyer',
57
-	'bouton_fermer' => 'Fermer',
58
-	'bouton_mettre_a_jour_base' => 'Mettre à jour la base de données',
59
-	'bouton_modifier' => 'Modifier',
60
-	'bouton_radio_afficher' => 'Afficher',
61
-	'bouton_radio_apparaitre_liste_redacteurs_connectes' => 'Apparaître dans la liste des rédacteurs connectés',
62
-	'bouton_radio_envoi_annonces_adresse' => 'Envoyer les annonces à l’adresse :',
63
-	'bouton_radio_envoi_liste_nouveautes' => 'Envoyer la liste des nouveautés',
64
-	'bouton_radio_non_apparaitre_liste_redacteurs_connectes' => 'Ne pas apparaître dans la liste des rédacteurs',
65
-	'bouton_radio_non_envoi_annonces_editoriales' => 'Ne pas envoyer d’annonces éditoriales',
66
-	'bouton_redirection' => 'REDIRECTION',
67
-	'bouton_reinitialiser_aux_valeurs_par_defaut' => 'Réinitialiser aux valeurs par défaut',
68
-	'bouton_relancer_inscription' => 'Relancer l’inscription',
69
-	'bouton_relancer_inscriptions' => 'Relancer les inscriptions',
70
-	'bouton_relancer_installation' => 'Relancer l’installation',
71
-	'bouton_reset_password' => 'Générer un nouveau mot de passe et l’envoyer par email',
72
-	'bouton_suivant' => 'Suivant',
73
-	'bouton_tenter_recuperation' => 'Tenter une réparation',
74
-	'bouton_test_proxy' => 'Essayer le proxy',
75
-	'bouton_vider_cache' => 'Vider le cache',
46
+    // B
47
+    'bouton_acces_ldap' => 'Ajouter l’accès à LDAP',
48
+    'bouton_ajouter' => 'Ajouter',
49
+    'bouton_annuler' => 'Annuler',
50
+    'bouton_cache_activer' => 'Réactiver le cache',
51
+    'bouton_cache_desactiver' => 'Désactiver temporairement le cache',
52
+    'bouton_demande_publication' => 'Demander la publication de cet article',
53
+    'bouton_desactive_tout' => 'Tout désactiver',
54
+    'bouton_desinstaller' => 'Désinstaller',
55
+    'bouton_effacer_tout' => 'Effacer TOUT',
56
+    'bouton_envoyer_message' => 'Message définitif : envoyer',
57
+    'bouton_fermer' => 'Fermer',
58
+    'bouton_mettre_a_jour_base' => 'Mettre à jour la base de données',
59
+    'bouton_modifier' => 'Modifier',
60
+    'bouton_radio_afficher' => 'Afficher',
61
+    'bouton_radio_apparaitre_liste_redacteurs_connectes' => 'Apparaître dans la liste des rédacteurs connectés',
62
+    'bouton_radio_envoi_annonces_adresse' => 'Envoyer les annonces à l’adresse :',
63
+    'bouton_radio_envoi_liste_nouveautes' => 'Envoyer la liste des nouveautés',
64
+    'bouton_radio_non_apparaitre_liste_redacteurs_connectes' => 'Ne pas apparaître dans la liste des rédacteurs',
65
+    'bouton_radio_non_envoi_annonces_editoriales' => 'Ne pas envoyer d’annonces éditoriales',
66
+    'bouton_redirection' => 'REDIRECTION',
67
+    'bouton_reinitialiser_aux_valeurs_par_defaut' => 'Réinitialiser aux valeurs par défaut',
68
+    'bouton_relancer_inscription' => 'Relancer l’inscription',
69
+    'bouton_relancer_inscriptions' => 'Relancer les inscriptions',
70
+    'bouton_relancer_installation' => 'Relancer l’installation',
71
+    'bouton_reset_password' => 'Générer un nouveau mot de passe et l’envoyer par email',
72
+    'bouton_suivant' => 'Suivant',
73
+    'bouton_tenter_recuperation' => 'Tenter une réparation',
74
+    'bouton_test_proxy' => 'Essayer le proxy',
75
+    'bouton_vider_cache' => 'Vider le cache',
76 76
 
77
-	// C
78
-	'cache_modifiable_webmestre' => 'Ce paramètre est modifiable par le webmestre du site.',
79
-	'calendrier_synchro' => 'Si vous utilisez un logiciel d’agenda compatible <b>iCal</b>, vous pouvez le synchroniser avec les informations de ce site.',
80
-	'config_activer_champs' => 'Activer les champs suivants',
81
-	'config_choix_base_sup' => 'indiquer une base sur ce serveur',
82
-	'config_erreur_base_sup' => 'SPIP n’a pas accès à la liste des bases accessibles',
83
-	'config_info_base_sup' => 'Si vous avez d’autres bases de données à interroger à travers SPIP, avec son serveur SQL ou avec un autre, le formulaire ci-dessous, vous permet de les déclarer. Si vous laissez certains champs vides, les identifiants de connexion à la base principale seront utilisés.',
84
-	'config_info_base_sup_disponibles' => 'Bases supplémentaires déjà interrogeables :',
85
-	'config_info_enregistree' => 'La nouvelle configuration a été enregistrée',
86
-	'config_info_logos' => 'Chaque élément du site peut avoir un logo, ainsi qu’un « logo de survol »',
87
-	'config_info_logos_utiliser' => 'Utiliser les logos',
88
-	'config_info_logos_utiliser_non' => 'Ne pas utiliser les logos',
89
-	'config_info_logos_utiliser_survol' => 'Utiliser les logos de survol',
90
-	'config_info_logos_utiliser_survol_non' => 'Ne pas utiliser les logos de survol',
91
-	'config_info_redirection' => 'En activant cette option, vous pourrez créer des articles virtuels, simples références d’articles publiés sur d’autres sites ou hors de SPIP.',
92
-	'config_redirection' => 'Articles virtuels',
93
-	'config_titre_base_sup' => 'Déclaration d’une base supplémentaire',
94
-	'config_titre_base_sup_choix' => 'Choisissez une base supplémentaire',
95
-	'connexion_ldap' => 'Connexion :',
96
-	'creer_et_associer_un_auteur' => 'Créer et associer un auteur',
77
+    // C
78
+    'cache_modifiable_webmestre' => 'Ce paramètre est modifiable par le webmestre du site.',
79
+    'calendrier_synchro' => 'Si vous utilisez un logiciel d’agenda compatible <b>iCal</b>, vous pouvez le synchroniser avec les informations de ce site.',
80
+    'config_activer_champs' => 'Activer les champs suivants',
81
+    'config_choix_base_sup' => 'indiquer une base sur ce serveur',
82
+    'config_erreur_base_sup' => 'SPIP n’a pas accès à la liste des bases accessibles',
83
+    'config_info_base_sup' => 'Si vous avez d’autres bases de données à interroger à travers SPIP, avec son serveur SQL ou avec un autre, le formulaire ci-dessous, vous permet de les déclarer. Si vous laissez certains champs vides, les identifiants de connexion à la base principale seront utilisés.',
84
+    'config_info_base_sup_disponibles' => 'Bases supplémentaires déjà interrogeables :',
85
+    'config_info_enregistree' => 'La nouvelle configuration a été enregistrée',
86
+    'config_info_logos' => 'Chaque élément du site peut avoir un logo, ainsi qu’un « logo de survol »',
87
+    'config_info_logos_utiliser' => 'Utiliser les logos',
88
+    'config_info_logos_utiliser_non' => 'Ne pas utiliser les logos',
89
+    'config_info_logos_utiliser_survol' => 'Utiliser les logos de survol',
90
+    'config_info_logos_utiliser_survol_non' => 'Ne pas utiliser les logos de survol',
91
+    'config_info_redirection' => 'En activant cette option, vous pourrez créer des articles virtuels, simples références d’articles publiés sur d’autres sites ou hors de SPIP.',
92
+    'config_redirection' => 'Articles virtuels',
93
+    'config_titre_base_sup' => 'Déclaration d’une base supplémentaire',
94
+    'config_titre_base_sup_choix' => 'Choisissez une base supplémentaire',
95
+    'connexion_ldap' => 'Connexion :',
96
+    'creer_et_associer_un_auteur' => 'Créer et associer un auteur',
97 97
 
98
-	// D
99
-	'date_mot_heures' => 'heures',
98
+    // D
99
+    'date_mot_heures' => 'heures',
100 100
 
101
-	// E
102
-	'ecran_connexion_couleur_principale' => 'Couleur principale',
103
-	'ecran_connexion_image_fond' => 'Image de fond',
104
-	'ecran_connexion_image_fond_explication' => 'Utiliser une image (format JPEG, 1920x1080 pixels)',
105
-	'ecran_connexion_image_revenir_couleur_defaut' => 'Revenir à la couleur par défaut',
106
-	'ecran_connexion_titre' => 'Écran de connexion',
107
-	'ecran_securite' => ' + écran de sécurité @version@',
108
-	'email' => 'email',
109
-	'email_2' => 'email :',
110
-	'en_savoir_plus' => 'En savoir plus',
111
-	'entree_adresse_annuaire' => 'Adresse de l’annuaire',
112
-	'entree_adresse_email' => 'Votre adresse email',
113
-	'entree_adresse_email_2' => 'Adresse email',
114
-	'entree_base_donnee_1' => 'Adresse de la base de données',
115
-	'entree_base_donnee_2' => '(Souvent cette adresse correspond à celle de votre site, parfois elle correspond à la mention « localhost », parfois elle est laissée totalement vide.)',
116
-	'entree_biographie' => 'Courte biographie en quelques mots.',
117
-	'entree_chemin_acces' => '<b>Entrer</b> le chemin d’accès :',
118
-	'entree_cle_pgp' => 'Votre clé PGP',
119
-	'entree_cle_pgp_2' => 'Clé PGP',
120
-	'entree_contenu_rubrique' => '(Contenu de la rubrique en quelques mots.)',
121
-	'entree_identifiants_connexion' => 'Vos identifiants de connexion...',
122
-	'entree_identifiants_connexion_2' => 'Identifiants de connexion',
123
-	'entree_informations_connexion_ldap' => 'Veuillez entrer dans ce formulaire les informations de connexion à votre annuaire LDAP.
101
+    // E
102
+    'ecran_connexion_couleur_principale' => 'Couleur principale',
103
+    'ecran_connexion_image_fond' => 'Image de fond',
104
+    'ecran_connexion_image_fond_explication' => 'Utiliser une image (format JPEG, 1920x1080 pixels)',
105
+    'ecran_connexion_image_revenir_couleur_defaut' => 'Revenir à la couleur par défaut',
106
+    'ecran_connexion_titre' => 'Écran de connexion',
107
+    'ecran_securite' => ' + écran de sécurité @version@',
108
+    'email' => 'email',
109
+    'email_2' => 'email :',
110
+    'en_savoir_plus' => 'En savoir plus',
111
+    'entree_adresse_annuaire' => 'Adresse de l’annuaire',
112
+    'entree_adresse_email' => 'Votre adresse email',
113
+    'entree_adresse_email_2' => 'Adresse email',
114
+    'entree_base_donnee_1' => 'Adresse de la base de données',
115
+    'entree_base_donnee_2' => '(Souvent cette adresse correspond à celle de votre site, parfois elle correspond à la mention « localhost », parfois elle est laissée totalement vide.)',
116
+    'entree_biographie' => 'Courte biographie en quelques mots.',
117
+    'entree_chemin_acces' => '<b>Entrer</b> le chemin d’accès :',
118
+    'entree_cle_pgp' => 'Votre clé PGP',
119
+    'entree_cle_pgp_2' => 'Clé PGP',
120
+    'entree_contenu_rubrique' => '(Contenu de la rubrique en quelques mots.)',
121
+    'entree_identifiants_connexion' => 'Vos identifiants de connexion...',
122
+    'entree_identifiants_connexion_2' => 'Identifiants de connexion',
123
+    'entree_informations_connexion_ldap' => 'Veuillez entrer dans ce formulaire les informations de connexion à votre annuaire LDAP.
124 124
 	Ces informations doivent pouvoir vous être fournies par l’administrateur du système,
125 125
 	ou du réseau.',
126
-	'entree_infos_perso' => 'Qui êtes-vous ?',
127
-	'entree_infos_perso_2' => 'Qui est l’auteur ?',
128
-	'entree_interieur_rubrique' => 'À l’intérieur de la rubrique :',
129
-	'entree_liens_sites' => '<b>Lien hypertexte</b> (référence, site à visiter...)',
130
-	'entree_login' => 'Votre login',
131
-	'entree_login_connexion_1' => 'Le login de connexion',
132
-	'entree_login_connexion_2' => '(Correspond parfois à votre login d’accès au FTP ; parfois laissé vide)',
133
-	'entree_mot_passe' => 'Votre mot de passe',
134
-	'entree_mot_passe_1' => 'Le mot de passe de connexion',
135
-	'entree_mot_passe_2' => '(Correspond parfois à votre mot de passe pour le FTP ; parfois laissé vide)',
136
-	'entree_nom_fichier' => 'Veuillez entrer le nom du fichier @texte_compresse@ :',
137
-	'entree_nom_pseudo' => 'Votre nom ou votre pseudo',
138
-	'entree_nom_pseudo_1' => '(Votre nom ou votre pseudo)',
139
-	'entree_nom_pseudo_2' => 'Nom ou pseudo',
140
-	'entree_nom_site' => 'Le nom de votre site',
141
-	'entree_nom_site_2' => 'Nom du site de l’auteur',
142
-	'entree_nouveau_passe' => 'Nouveau mot de passe',
143
-	'entree_passe_ldap' => 'Mot de passe',
144
-	'entree_port_annuaire' => 'Le numéro de port de l’annuaire',
145
-	'entree_signature' => 'Signature',
146
-	'entree_titre_obligatoire' => '<b>Titre</b> [Obligatoire]<br />',
147
-	'entree_url' => 'L’adresse (URL) de votre site',
148
-	'entree_url_2' => 'Adresse (URL) du site',
149
-	'erreur_connect_deja_existant' => 'Un serveur existe déjà avec ce nom',
150
-	'erreur_contenu_suspect' => 'Texte échappé',
151
-	'erreur_email_deja_existant' => 'Cette adresse email est déjà enregistrée.',
152
-	'erreur_nom_connect_incorrect' => 'Ce nom de serveur n’est pas autorisé',
153
-	'erreur_plugin_attribut_balise_manquant' => 'Attribut @attribut@ manquant dans la balise @balise@.',
154
-	'erreur_plugin_desinstalation_echouee' => 'La désinstallation du plugin a échoué. Vous pouvez néanmoins le désactiver.',
155
-	'erreur_plugin_fichier_absent' => 'Fichier absent',
156
-	'erreur_plugin_fichier_def_absent' => 'Fichier de définition absent',
157
-	'erreur_plugin_nom_fonction_interdit' => 'Nom de fonction interdit',
158
-	'erreur_plugin_nom_manquant' => 'Nom du plugin manquant',
159
-	'erreur_plugin_prefix_manquant' => 'Espace de nommage du plugin non défini',
160
-	'erreur_plugin_tag_plugin_absent' => '&lt;plugin&gt; manquant dans le fichier de définition',
161
-	'erreur_plugin_version_manquant' => 'Version du plugin manquante',
162
-	'erreur_type_fichier' => 'Type de fichier incorrect',
126
+    'entree_infos_perso' => 'Qui êtes-vous ?',
127
+    'entree_infos_perso_2' => 'Qui est l’auteur ?',
128
+    'entree_interieur_rubrique' => 'À l’intérieur de la rubrique :',
129
+    'entree_liens_sites' => '<b>Lien hypertexte</b> (référence, site à visiter...)',
130
+    'entree_login' => 'Votre login',
131
+    'entree_login_connexion_1' => 'Le login de connexion',
132
+    'entree_login_connexion_2' => '(Correspond parfois à votre login d’accès au FTP ; parfois laissé vide)',
133
+    'entree_mot_passe' => 'Votre mot de passe',
134
+    'entree_mot_passe_1' => 'Le mot de passe de connexion',
135
+    'entree_mot_passe_2' => '(Correspond parfois à votre mot de passe pour le FTP ; parfois laissé vide)',
136
+    'entree_nom_fichier' => 'Veuillez entrer le nom du fichier @texte_compresse@ :',
137
+    'entree_nom_pseudo' => 'Votre nom ou votre pseudo',
138
+    'entree_nom_pseudo_1' => '(Votre nom ou votre pseudo)',
139
+    'entree_nom_pseudo_2' => 'Nom ou pseudo',
140
+    'entree_nom_site' => 'Le nom de votre site',
141
+    'entree_nom_site_2' => 'Nom du site de l’auteur',
142
+    'entree_nouveau_passe' => 'Nouveau mot de passe',
143
+    'entree_passe_ldap' => 'Mot de passe',
144
+    'entree_port_annuaire' => 'Le numéro de port de l’annuaire',
145
+    'entree_signature' => 'Signature',
146
+    'entree_titre_obligatoire' => '<b>Titre</b> [Obligatoire]<br />',
147
+    'entree_url' => 'L’adresse (URL) de votre site',
148
+    'entree_url_2' => 'Adresse (URL) du site',
149
+    'erreur_connect_deja_existant' => 'Un serveur existe déjà avec ce nom',
150
+    'erreur_contenu_suspect' => 'Texte échappé',
151
+    'erreur_email_deja_existant' => 'Cette adresse email est déjà enregistrée.',
152
+    'erreur_nom_connect_incorrect' => 'Ce nom de serveur n’est pas autorisé',
153
+    'erreur_plugin_attribut_balise_manquant' => 'Attribut @attribut@ manquant dans la balise @balise@.',
154
+    'erreur_plugin_desinstalation_echouee' => 'La désinstallation du plugin a échoué. Vous pouvez néanmoins le désactiver.',
155
+    'erreur_plugin_fichier_absent' => 'Fichier absent',
156
+    'erreur_plugin_fichier_def_absent' => 'Fichier de définition absent',
157
+    'erreur_plugin_nom_fonction_interdit' => 'Nom de fonction interdit',
158
+    'erreur_plugin_nom_manquant' => 'Nom du plugin manquant',
159
+    'erreur_plugin_prefix_manquant' => 'Espace de nommage du plugin non défini',
160
+    'erreur_plugin_tag_plugin_absent' => '&lt;plugin&gt; manquant dans le fichier de définition',
161
+    'erreur_plugin_version_manquant' => 'Version du plugin manquante',
162
+    'erreur_type_fichier' => 'Type de fichier incorrect',
163 163
 
164
-	// H
165
-	'htaccess_a_simuler' => 'Avertissement : la configuration de votre serveur HTTP ne tient pas compte des fichiers @htaccess@. Pour pouvoir assurer une bonne sécurité, il faut que vous modifiiez cette configuration sur ce point, ou bien que les constantes @constantes@ (définissables dans le fichier mes_options.php) aient comme valeur des répertoires en dehors de @document_root@.',
166
-	'htaccess_inoperant' => 'htaccess inopérant',
164
+    // H
165
+    'htaccess_a_simuler' => 'Avertissement : la configuration de votre serveur HTTP ne tient pas compte des fichiers @htaccess@. Pour pouvoir assurer une bonne sécurité, il faut que vous modifiiez cette configuration sur ce point, ou bien que les constantes @constantes@ (définissables dans le fichier mes_options.php) aient comme valeur des répertoires en dehors de @document_root@.',
166
+    'htaccess_inoperant' => 'htaccess inopérant',
167 167
 
168
-	// I
169
-	'ical_info1' => 'Cette page présente plusieurs méthodes pour rester en contact avec la vie de ce site.',
170
-	'ical_info2' => 'Pour plus de renseignements sur toutes ces techniques, n’hésitez pas à consulter <a href="@spipnet@">la documentation de SPIP</a>.',
171
-	'ical_info_calendrier' => 'Deux calendriers sont à votre disposition. Le premier est un plan du site annonçant tous les articles publiés. Le second contient les annonces éditoriales ainsi que vos derniers messages privés : il vous est réservé grâce à une clé personnelle, que vous pouvez modifier à tout moment en renouvelant votre mot de passe.',
172
-	'ical_methode_http' => 'Téléchargement',
173
-	'ical_methode_webcal' => 'Synchronisation (webcal://)',
174
-	'ical_texte_prive' => 'Ce calendrier, à usage strictement personnel, vous informe de l’activité éditoriale privée de ce site (tâches et rendez-vous personnels, articles et brèves proposés...).',
175
-	'ical_texte_public' => 'Ce calendrier vous permet de suivre l’activité publique de ce site (articles et brèves publiés).',
176
-	'ical_texte_rss' => 'Vous pouvez syndiquer les nouveautés de ce site dans n’importe quel lecteur de fichiers au format XML/RSS (Rich Site Summary). C’est aussi le format qui permet à SPIP de lire les nouveautés publiées sur d’autres sites utilisant un format d’échange compatible (sites syndiqués).',
177
-	'ical_titre_js' => 'Javascript',
178
-	'ical_titre_mailing' => 'Mailing-list',
179
-	'ical_titre_rss' => 'Fichiers de syndication',
180
-	'icone_accueil' => 'Accueil',
181
-	'icone_activer_cookie' => 'Activer le cookie de correspondance',
182
-	'icone_activite' => 'Activité',
183
-	'icone_admin_plugin' => 'Gestion des plugins',
184
-	'icone_administration' => 'Maintenance',
185
-	'icone_afficher_auteurs' => 'Afficher les auteurs',
186
-	'icone_afficher_visiteurs' => 'Afficher les visiteurs',
187
-	'icone_arret_discussion' => 'Ne plus participer à cette discussion',
188
-	'icone_calendrier' => 'Calendrier',
189
-	'icone_configuration' => 'Configuration',
190
-	'icone_creer_auteur' => 'Créer un nouvel auteur et l’associer à cet article',
191
-	'icone_creer_mot_cle' => 'Créer un nouveau mot-clé et le lier à cet article',
192
-	'icone_creer_rubrique_2' => 'Créer une nouvelle rubrique',
193
-	'icone_developpement' => 'Développement',
194
-	'icone_edition' => 'Édition',
195
-	'icone_ma_langue' => 'Ma langue',
196
-	'icone_mes_infos' => 'Mes informations',
197
-	'icone_mes_preferences' => 'Mes préférences',
198
-	'icone_modifier_article' => 'Modifier cet article',
199
-	'icone_modifier_rubrique' => 'Modifier cette rubrique',
200
-	'icone_publication' => 'Publication',
201
-	'icone_relancer_signataire' => 'Relancer le signataire',
202
-	'icone_retour' => 'Retour',
203
-	'icone_retour_article' => 'Retour à l’article',
204
-	'icone_squelette' => 'Squelettes',
205
-	'icone_suivi_publication' => 'Suivi de la publication',
206
-	'icone_supprimer_cookie' => 'Supprimer le cookie de correspondance',
207
-	'icone_supprimer_rubrique' => 'Supprimer cette rubrique',
208
-	'icone_supprimer_signature' => 'Supprimer cette signature',
209
-	'icone_valider_signature' => 'Valider cette signature',
210
-	'image_administrer_rubrique' => 'Vous pouvez administrer cette rubrique',
211
-	'impossible_modifier_login_auteur' => 'Impossible de modifier le login.',
212
-	'impossible_modifier_pass_auteur' => 'Impossible de modifier le mot de passe.',
213
-	'info_1_article' => '1 article',
214
-	'info_1_auteur' => '1 auteur',
215
-	'info_1_message' => '1 message',
216
-	'info_1_mot_cle' => '1 mot-clé',
217
-	'info_1_rubrique' => '1 rubrique',
218
-	'info_1_visiteur' => '1 visiteur',
219
-	'info_activer_cookie' => 'Vous pouvez activer un <b>cookie de correspondance</b>, ce qui vous
168
+    // I
169
+    'ical_info1' => 'Cette page présente plusieurs méthodes pour rester en contact avec la vie de ce site.',
170
+    'ical_info2' => 'Pour plus de renseignements sur toutes ces techniques, n’hésitez pas à consulter <a href="@spipnet@">la documentation de SPIP</a>.',
171
+    'ical_info_calendrier' => 'Deux calendriers sont à votre disposition. Le premier est un plan du site annonçant tous les articles publiés. Le second contient les annonces éditoriales ainsi que vos derniers messages privés : il vous est réservé grâce à une clé personnelle, que vous pouvez modifier à tout moment en renouvelant votre mot de passe.',
172
+    'ical_methode_http' => 'Téléchargement',
173
+    'ical_methode_webcal' => 'Synchronisation (webcal://)',
174
+    'ical_texte_prive' => 'Ce calendrier, à usage strictement personnel, vous informe de l’activité éditoriale privée de ce site (tâches et rendez-vous personnels, articles et brèves proposés...).',
175
+    'ical_texte_public' => 'Ce calendrier vous permet de suivre l’activité publique de ce site (articles et brèves publiés).',
176
+    'ical_texte_rss' => 'Vous pouvez syndiquer les nouveautés de ce site dans n’importe quel lecteur de fichiers au format XML/RSS (Rich Site Summary). C’est aussi le format qui permet à SPIP de lire les nouveautés publiées sur d’autres sites utilisant un format d’échange compatible (sites syndiqués).',
177
+    'ical_titre_js' => 'Javascript',
178
+    'ical_titre_mailing' => 'Mailing-list',
179
+    'ical_titre_rss' => 'Fichiers de syndication',
180
+    'icone_accueil' => 'Accueil',
181
+    'icone_activer_cookie' => 'Activer le cookie de correspondance',
182
+    'icone_activite' => 'Activité',
183
+    'icone_admin_plugin' => 'Gestion des plugins',
184
+    'icone_administration' => 'Maintenance',
185
+    'icone_afficher_auteurs' => 'Afficher les auteurs',
186
+    'icone_afficher_visiteurs' => 'Afficher les visiteurs',
187
+    'icone_arret_discussion' => 'Ne plus participer à cette discussion',
188
+    'icone_calendrier' => 'Calendrier',
189
+    'icone_configuration' => 'Configuration',
190
+    'icone_creer_auteur' => 'Créer un nouvel auteur et l’associer à cet article',
191
+    'icone_creer_mot_cle' => 'Créer un nouveau mot-clé et le lier à cet article',
192
+    'icone_creer_rubrique_2' => 'Créer une nouvelle rubrique',
193
+    'icone_developpement' => 'Développement',
194
+    'icone_edition' => 'Édition',
195
+    'icone_ma_langue' => 'Ma langue',
196
+    'icone_mes_infos' => 'Mes informations',
197
+    'icone_mes_preferences' => 'Mes préférences',
198
+    'icone_modifier_article' => 'Modifier cet article',
199
+    'icone_modifier_rubrique' => 'Modifier cette rubrique',
200
+    'icone_publication' => 'Publication',
201
+    'icone_relancer_signataire' => 'Relancer le signataire',
202
+    'icone_retour' => 'Retour',
203
+    'icone_retour_article' => 'Retour à l’article',
204
+    'icone_squelette' => 'Squelettes',
205
+    'icone_suivi_publication' => 'Suivi de la publication',
206
+    'icone_supprimer_cookie' => 'Supprimer le cookie de correspondance',
207
+    'icone_supprimer_rubrique' => 'Supprimer cette rubrique',
208
+    'icone_supprimer_signature' => 'Supprimer cette signature',
209
+    'icone_valider_signature' => 'Valider cette signature',
210
+    'image_administrer_rubrique' => 'Vous pouvez administrer cette rubrique',
211
+    'impossible_modifier_login_auteur' => 'Impossible de modifier le login.',
212
+    'impossible_modifier_pass_auteur' => 'Impossible de modifier le mot de passe.',
213
+    'info_1_article' => '1 article',
214
+    'info_1_auteur' => '1 auteur',
215
+    'info_1_message' => '1 message',
216
+    'info_1_mot_cle' => '1 mot-clé',
217
+    'info_1_rubrique' => '1 rubrique',
218
+    'info_1_visiteur' => '1 visiteur',
219
+    'info_activer_cookie' => 'Vous pouvez activer un <b>cookie de correspondance</b>, ce qui vous
220 220
 	permettra de passer facilement du site public au site privé.',
221
-	'info_activer_menu_developpement' => 'Afficher le menu Développement',
222
-	'info_admin_etre_webmestre' => 'Me donner les droits de webmestre',
223
-	'info_admin_je_suis_webmestre' => 'Je suis <b>webmestre</b>',
224
-	'info_admin_statuer_webmestre' => 'Donner à cet administrateur les droits de webmestre',
225
-	'info_admin_webmestre' => 'Cet administrateur est <b>webmestre</b>',
226
-	'info_administrateur' => 'Administrateur',
227
-	'info_administrateur_1' => 'Administrateur',
228
-	'info_administrateur_2' => 'du site (<i>utilisez avec précaution</i>)',
229
-	'info_administrateur_site_01' => 'Si vous êtes administrateur du site, veuillez',
230
-	'info_administrateur_site_02' => 'cliquer sur ce lien',
231
-	'info_administrateurs' => 'Administrateurs',
232
-	'info_administrer_rubrique' => 'Vous pouvez administrer cette rubrique',
233
-	'info_adresse' => 'à l’adresse :',
234
-	'info_adresse_desinscription' => 'Adresse de désinscription :',
235
-	'info_adresse_url' => 'Adresse (URL) du site public',
236
-	'info_afficher_par_nb' => 'Afficher par',
237
-	'info_aide_en_ligne' => 'Aide en ligne SPIP',
238
-	'info_ajout_image' => 'Lorsque vous ajoutez des images en tant que documents joints à un article,
221
+    'info_activer_menu_developpement' => 'Afficher le menu Développement',
222
+    'info_admin_etre_webmestre' => 'Me donner les droits de webmestre',
223
+    'info_admin_je_suis_webmestre' => 'Je suis <b>webmestre</b>',
224
+    'info_admin_statuer_webmestre' => 'Donner à cet administrateur les droits de webmestre',
225
+    'info_admin_webmestre' => 'Cet administrateur est <b>webmestre</b>',
226
+    'info_administrateur' => 'Administrateur',
227
+    'info_administrateur_1' => 'Administrateur',
228
+    'info_administrateur_2' => 'du site (<i>utilisez avec précaution</i>)',
229
+    'info_administrateur_site_01' => 'Si vous êtes administrateur du site, veuillez',
230
+    'info_administrateur_site_02' => 'cliquer sur ce lien',
231
+    'info_administrateurs' => 'Administrateurs',
232
+    'info_administrer_rubrique' => 'Vous pouvez administrer cette rubrique',
233
+    'info_adresse' => 'à l’adresse :',
234
+    'info_adresse_desinscription' => 'Adresse de désinscription :',
235
+    'info_adresse_url' => 'Adresse (URL) du site public',
236
+    'info_afficher_par_nb' => 'Afficher par',
237
+    'info_aide_en_ligne' => 'Aide en ligne SPIP',
238
+    'info_ajout_image' => 'Lorsque vous ajoutez des images en tant que documents joints à un article,
239 239
 		SPIP peut créer pour vous, automatiquement, des vignettes (miniatures) des
240 240
 		images insérées. Cela permet par exemple de créer
241 241
 		automatiquement une galerie ou un portfolio.',
242
-	'info_ajouter_rubrique' => 'Ajouter une autre rubrique à administrer :',
243
-	'info_annonce_nouveautes' => 'Annonce des nouveautés',
244
-	'info_article' => 'article',
245
-	'info_article_2' => 'articles',
246
-	'info_article_a_paraitre' => 'Les articles post-datés à paraître',
247
-	'info_articles_02' => 'articles',
248
-	'info_articles_2' => 'Articles',
249
-	'info_articles_auteur' => 'Les articles de cet auteur',
250
-	'info_articles_miens' => 'Mes articles',
251
-	'info_articles_tous' => 'Tous les articles',
252
-	'info_articles_trouves' => 'Articles trouvés',
253
-	'info_attente_validation' => 'Vos articles en attente de validation',
254
-	'info_aucun_article' => 'Aucun article',
255
-	'info_aucun_auteur' => 'Aucun auteur',
256
-	'info_aucun_message' => 'Aucun message',
257
-	'info_aucun_rubrique' => 'Aucune rubrique',
258
-	'info_aujourdhui' => 'aujourd’hui :',
259
-	'info_auteur_gere_rubriques' => 'Cet auteur gère les rubriques suivantes :',
260
-	'info_auteur_gere_toutes_rubriques' => 'Cet auteur gère <b>toutes les rubriques</b>',
261
-	'info_auteur_gere_toutes_rubriques_2' => 'Je gère <b>toutes les rubriques</b>',
262
-	'info_auteurs' => 'Les auteurs',
263
-	'info_auteurs_par_tri' => 'Auteurs@partri@',
264
-	'info_auteurs_trouves' => 'Auteurs trouvés',
265
-	'info_authentification_externe' => 'Authentification externe',
266
-	'info_avertissement' => 'Avertissement',
267
-	'info_barre_outils' => 'avec sa barre d’outils ?',
268
-	'info_base_installee' => 'La structure de votre base de données est installée.',
269
-	'info_bio' => 'Biographie',
270
-	'info_cache_desactive' => 'Le cache est temporairement désactivé.',
271
-	'info_chapeau' => 'Chapeau',
272
-	'info_chapeau_2' => 'Chapeau :',
273
-	'info_chemin_acces_1' => 'Options : <b>Chemin d’accès dans l’annuaire</b>',
274
-	'info_chemin_acces_2' => 'Vous devez désormais configurer le chemin d’accès aux informations dans l’annuaire. Cette information est indispensable pour lire les profils utilisateurs stockés dans l’annuaire.',
275
-	'info_chemin_acces_annuaire' => 'Options : <b>Chemin d’accès dans l’annuaire</b>',
276
-	'info_choix_base' => 'Troisième étape :',
277
-	'info_classement_1' => '<sup>er</sup> sur @liste@',
278
-	'info_classement_2' => '<sup>e</sup> sur @liste@',
279
-	'info_code_acces' => 'N’oubliez pas vos propres codes d’accès !',
280
-	'info_config_suivi' => 'Si cette adresse correspond à une mailing-list, vous pouvez indiquer ci-dessous l’adresse à laquelle les participants au site peuvent s’inscrire. Cette adresse peut être une URL (par exemple la page d’inscription à la liste par le Web), ou une adresse email dotée d’un sujet spécifique (par exemple : <tt>@adresse_suivi@?subject=subscribe</tt>) :',
281
-	'info_config_suivi_explication' => 'Vous pouvez vous abonner à la mailing-list de ce site. Vous recevrez alors par courrier électronique les annonces d’articles et de brèves proposés à la publication.',
282
-	'info_confirmer_passe' => 'Confirmer ce nouveau mot de passe :',
283
-	'info_conflit_edition_avis_non_sauvegarde' => 'Attention, les champs suivants ont été modifiés par ailleurs. Vos modifications sur ces champs n’ont donc pas été enregistrées.',
284
-	'info_conflit_edition_differences' => 'Différences :',
285
-	'info_conflit_edition_version_enregistree' => 'La version enregistrée :',
286
-	'info_conflit_edition_votre_version' => 'Votre version :',
287
-	'info_connexion_base' => 'Essai de connexion à la base',
288
-	'info_connexion_base_donnee' => 'Connexion à votre base de données',
289
-	'info_connexion_ldap_ok' => '<b>La connexion LDAP a réussi.</b><p> Vous pouvez passer à l’étape suivante.</p>',
290
-	'info_connexion_mysql' => 'Votre connexion SQL',
291
-	'info_connexion_ok' => 'La connexion a réussi.',
292
-	'info_contact' => 'Contact',
293
-	'info_contenu_articles' => 'Contenu des articles',
294
-	'info_contributions' => 'Contributions',
295
-	'info_creation_paragraphe' => 'Pour créer des paragraphes, laissez simplement des lignes vides.',
296
-	'info_creation_rubrique' => 'Avant de pouvoir écrire des articles,<br /> vous devez créer au moins une rubrique.<br />',
297
-	'info_creation_tables' => 'Création des tables de la base',
298
-	'info_creer_base' => '<b>Créer</b> une nouvelle base de données :',
299
-	'info_dans_rubrique' => 'Dans la rubrique :',
300
-	'info_date_publication_anterieure' => 'Date de rédaction antérieure :',
301
-	'info_date_referencement' => 'DATE DE RÉFÉRENCEMENT DE CE SITE :',
302
-	'info_derniere_etape' => 'C’est terminé !',
303
-	'info_descriptif' => 'Descriptif :',
304
-	'info_desinstaller_plugin' => 'supprime les données et désactive le plugin',
305
-	'info_discussion_cours' => 'Discussions en cours',
306
-	'info_ecrire_article' => 'Avant de pouvoir écrire des articles, vous devez créer au moins une rubrique.',
307
-	'info_email_envoi' => 'Adresse email d’envoi (optionnel)',
308
-	'info_email_envoi_txt' => 'Indiquez ici l’adresse à utiliser pour envoyer les emails (à défaut, l’adresse destinataire sera utilisée comme adresse d’envoi) :',
309
-	'info_email_webmestre' => 'Adresse email du webmestre',
310
-	'info_envoi_email_automatique' => 'Envoi de mails automatique',
311
-	'info_envoyer_maintenant' => 'Envoyer maintenant',
312
-	'info_etape_suivante' => 'Passer à l’étape suivante',
313
-	'info_etape_suivante_1' => 'Vous pouvez passer à l’étape suivante.',
314
-	'info_etape_suivante_2' => 'Vous pouvez passer à l’étape suivante.',
315
-	'info_exceptions_proxy' => 'Exceptions pour le proxy',
316
-	'info_exportation_base' => 'exportation de la base vers @archive@',
317
-	'info_facilite_suivi_activite' => 'Afin de faciliter le suivi de l’activité
242
+    'info_ajouter_rubrique' => 'Ajouter une autre rubrique à administrer :',
243
+    'info_annonce_nouveautes' => 'Annonce des nouveautés',
244
+    'info_article' => 'article',
245
+    'info_article_2' => 'articles',
246
+    'info_article_a_paraitre' => 'Les articles post-datés à paraître',
247
+    'info_articles_02' => 'articles',
248
+    'info_articles_2' => 'Articles',
249
+    'info_articles_auteur' => 'Les articles de cet auteur',
250
+    'info_articles_miens' => 'Mes articles',
251
+    'info_articles_tous' => 'Tous les articles',
252
+    'info_articles_trouves' => 'Articles trouvés',
253
+    'info_attente_validation' => 'Vos articles en attente de validation',
254
+    'info_aucun_article' => 'Aucun article',
255
+    'info_aucun_auteur' => 'Aucun auteur',
256
+    'info_aucun_message' => 'Aucun message',
257
+    'info_aucun_rubrique' => 'Aucune rubrique',
258
+    'info_aujourdhui' => 'aujourd’hui :',
259
+    'info_auteur_gere_rubriques' => 'Cet auteur gère les rubriques suivantes :',
260
+    'info_auteur_gere_toutes_rubriques' => 'Cet auteur gère <b>toutes les rubriques</b>',
261
+    'info_auteur_gere_toutes_rubriques_2' => 'Je gère <b>toutes les rubriques</b>',
262
+    'info_auteurs' => 'Les auteurs',
263
+    'info_auteurs_par_tri' => 'Auteurs@partri@',
264
+    'info_auteurs_trouves' => 'Auteurs trouvés',
265
+    'info_authentification_externe' => 'Authentification externe',
266
+    'info_avertissement' => 'Avertissement',
267
+    'info_barre_outils' => 'avec sa barre d’outils ?',
268
+    'info_base_installee' => 'La structure de votre base de données est installée.',
269
+    'info_bio' => 'Biographie',
270
+    'info_cache_desactive' => 'Le cache est temporairement désactivé.',
271
+    'info_chapeau' => 'Chapeau',
272
+    'info_chapeau_2' => 'Chapeau :',
273
+    'info_chemin_acces_1' => 'Options : <b>Chemin d’accès dans l’annuaire</b>',
274
+    'info_chemin_acces_2' => 'Vous devez désormais configurer le chemin d’accès aux informations dans l’annuaire. Cette information est indispensable pour lire les profils utilisateurs stockés dans l’annuaire.',
275
+    'info_chemin_acces_annuaire' => 'Options : <b>Chemin d’accès dans l’annuaire</b>',
276
+    'info_choix_base' => 'Troisième étape :',
277
+    'info_classement_1' => '<sup>er</sup> sur @liste@',
278
+    'info_classement_2' => '<sup>e</sup> sur @liste@',
279
+    'info_code_acces' => 'N’oubliez pas vos propres codes d’accès !',
280
+    'info_config_suivi' => 'Si cette adresse correspond à une mailing-list, vous pouvez indiquer ci-dessous l’adresse à laquelle les participants au site peuvent s’inscrire. Cette adresse peut être une URL (par exemple la page d’inscription à la liste par le Web), ou une adresse email dotée d’un sujet spécifique (par exemple : <tt>@adresse_suivi@?subject=subscribe</tt>) :',
281
+    'info_config_suivi_explication' => 'Vous pouvez vous abonner à la mailing-list de ce site. Vous recevrez alors par courrier électronique les annonces d’articles et de brèves proposés à la publication.',
282
+    'info_confirmer_passe' => 'Confirmer ce nouveau mot de passe :',
283
+    'info_conflit_edition_avis_non_sauvegarde' => 'Attention, les champs suivants ont été modifiés par ailleurs. Vos modifications sur ces champs n’ont donc pas été enregistrées.',
284
+    'info_conflit_edition_differences' => 'Différences :',
285
+    'info_conflit_edition_version_enregistree' => 'La version enregistrée :',
286
+    'info_conflit_edition_votre_version' => 'Votre version :',
287
+    'info_connexion_base' => 'Essai de connexion à la base',
288
+    'info_connexion_base_donnee' => 'Connexion à votre base de données',
289
+    'info_connexion_ldap_ok' => '<b>La connexion LDAP a réussi.</b><p> Vous pouvez passer à l’étape suivante.</p>',
290
+    'info_connexion_mysql' => 'Votre connexion SQL',
291
+    'info_connexion_ok' => 'La connexion a réussi.',
292
+    'info_contact' => 'Contact',
293
+    'info_contenu_articles' => 'Contenu des articles',
294
+    'info_contributions' => 'Contributions',
295
+    'info_creation_paragraphe' => 'Pour créer des paragraphes, laissez simplement des lignes vides.',
296
+    'info_creation_rubrique' => 'Avant de pouvoir écrire des articles,<br /> vous devez créer au moins une rubrique.<br />',
297
+    'info_creation_tables' => 'Création des tables de la base',
298
+    'info_creer_base' => '<b>Créer</b> une nouvelle base de données :',
299
+    'info_dans_rubrique' => 'Dans la rubrique :',
300
+    'info_date_publication_anterieure' => 'Date de rédaction antérieure :',
301
+    'info_date_referencement' => 'DATE DE RÉFÉRENCEMENT DE CE SITE :',
302
+    'info_derniere_etape' => 'C’est terminé !',
303
+    'info_descriptif' => 'Descriptif :',
304
+    'info_desinstaller_plugin' => 'supprime les données et désactive le plugin',
305
+    'info_discussion_cours' => 'Discussions en cours',
306
+    'info_ecrire_article' => 'Avant de pouvoir écrire des articles, vous devez créer au moins une rubrique.',
307
+    'info_email_envoi' => 'Adresse email d’envoi (optionnel)',
308
+    'info_email_envoi_txt' => 'Indiquez ici l’adresse à utiliser pour envoyer les emails (à défaut, l’adresse destinataire sera utilisée comme adresse d’envoi) :',
309
+    'info_email_webmestre' => 'Adresse email du webmestre',
310
+    'info_envoi_email_automatique' => 'Envoi de mails automatique',
311
+    'info_envoyer_maintenant' => 'Envoyer maintenant',
312
+    'info_etape_suivante' => 'Passer à l’étape suivante',
313
+    'info_etape_suivante_1' => 'Vous pouvez passer à l’étape suivante.',
314
+    'info_etape_suivante_2' => 'Vous pouvez passer à l’étape suivante.',
315
+    'info_exceptions_proxy' => 'Exceptions pour le proxy',
316
+    'info_exportation_base' => 'exportation de la base vers @archive@',
317
+    'info_facilite_suivi_activite' => 'Afin de faciliter le suivi de l’activité
318 318
 		éditoriale du site, SPIP peut faire parvenir par mail, par exemple
319 319
 		à une mailing-list des rédacteurs, l’annonce des demandes de
320 320
 		publication et des validations d’articles. Indiquer une ou plusieurs adresses, séparées par des virgules.',
321
-	'info_fichiers_authent' => 'Fichiers d’authentification « .htpasswd »',
322
-	'info_forums_abo_invites' => 'Votre site comporte des forums sur abonnement ; les visiteurs sont donc invités à s’enregistrer sur le site public.',
323
-	'info_gauche_admin_tech' => '<b>Cette page est uniquement accessible aux responsables du site.</b><p> Elle donne accès aux différentes
321
+    'info_fichiers_authent' => 'Fichiers d’authentification « .htpasswd »',
322
+    'info_forums_abo_invites' => 'Votre site comporte des forums sur abonnement ; les visiteurs sont donc invités à s’enregistrer sur le site public.',
323
+    'info_gauche_admin_tech' => '<b>Cette page est uniquement accessible aux responsables du site.</b><p> Elle donne accès aux différentes
324 324
 fonctions de maintenance technique. Certaines d’entre elles donnent lieu à un processus d’authentification spécifique, qui
325 325
 exige d’avoir un accès FTP au site Web.</p>',
326
-	'info_gauche_admin_vider' => '<b>Cette page est uniquement accessible aux responsables du site.</b><p> Elle donne accès aux différentes
326
+    'info_gauche_admin_vider' => '<b>Cette page est uniquement accessible aux responsables du site.</b><p> Elle donne accès aux différentes
327 327
 fonctions de maintenance technique. Certaines d’entre elles donnent lieu à un processus d’authentification spécifique, qui
328 328
 exige d’avoir un accès FTP au site Web.</p>',
329
-	'info_gauche_auteurs' => 'Vous trouverez ici tous les auteurs du site.
329
+    'info_gauche_auteurs' => 'Vous trouverez ici tous les auteurs du site.
330 330
  Leur statut est indiqué par la couleur de leur icone (administrateur = vert ; rédacteur = jaune).',
331
-	'info_gauche_auteurs_exterieurs' => 'Les auteurs extérieurs, sans accès au site, sont indiqués par une icone bleue ;
331
+    'info_gauche_auteurs_exterieurs' => 'Les auteurs extérieurs, sans accès au site, sont indiqués par une icone bleue ;
332 332
 		les auteurs effacés par une icone grise.',
333
-	'info_gauche_messagerie' => 'La messagerie vous permet d’échanger des messages entre rédacteurs, de conserver des pense-bêtes (pour votre usage personnel) ou d’afficher des annonces sur la page d’accueil de l’espace privé (si vous êtes administrateur).',
334
-	'info_gauche_statistiques_referers' => 'Cette page présente la liste des <i>referers</i>, c’est-à-dire des sites contenant des liens menant vers votre propre site, uniquement pour hier et aujourd’hui ; cette liste est remise à zéro toutes les 24 heures.',
335
-	'info_gauche_visiteurs_enregistres' => 'Vous trouverez ici les visiteurs enregistrés
333
+    'info_gauche_messagerie' => 'La messagerie vous permet d’échanger des messages entre rédacteurs, de conserver des pense-bêtes (pour votre usage personnel) ou d’afficher des annonces sur la page d’accueil de l’espace privé (si vous êtes administrateur).',
334
+    'info_gauche_statistiques_referers' => 'Cette page présente la liste des <i>referers</i>, c’est-à-dire des sites contenant des liens menant vers votre propre site, uniquement pour hier et aujourd’hui ; cette liste est remise à zéro toutes les 24 heures.',
335
+    'info_gauche_visiteurs_enregistres' => 'Vous trouverez ici les visiteurs enregistrés
336 336
 	dans l’espace public du site (forums sur abonnement).',
337
-	'info_generation_miniatures_images' => 'Génération de miniatures des images',
338
-	'info_gerer_trad_objets' => '@objets@ : gérer les liens de traduction',
339
-	'info_hebergeur_desactiver_envoi_email' => 'Certains hébergeurs désactivent l’envoi automatique de
337
+    'info_generation_miniatures_images' => 'Génération de miniatures des images',
338
+    'info_gerer_trad_objets' => '@objets@ : gérer les liens de traduction',
339
+    'info_hebergeur_desactiver_envoi_email' => 'Certains hébergeurs désactivent l’envoi automatique de
340 340
 		mails depuis leurs serveurs. Dans ce cas, les fonctionnalités suivantes
341 341
 		de SPIP ne fonctionneront pas.',
342
-	'info_hier' => 'hier :',
343
-	'info_identification_publique' => 'Votre identité publique...',
344
-	'info_image_process' => 'Veuillez sélectionner la meilleure méthode de fabrication des vignettes en cliquant sur l’image correspondante.',
345
-	'info_image_process2' => 'Si aucune image n’apparaît, alors le serveur qui héberge votre site n’a pas été configuré pour utiliser de tels outils. Si vous souhaitez utiliser ces fonctions, contactez le responsable technique et demandez les extensions « GD » ou « Imagick ».',
346
-	'info_images_auto' => 'Images calculées automatiquement',
347
-	'info_informations_personnelles' => 'Informations personnelles',
348
-	'info_inscription' => 'Inscription le',
349
-	'info_inscription_automatique' => 'Inscription automatique de nouveaux rédacteurs',
350
-	'info_jeu_caractere' => 'Jeu de caractères du site',
351
-	'info_jours' => 'jours',
352
-	'info_laisser_champs_vides' => 'laisser ces champs vides)',
353
-	'info_langues' => 'Langues du site',
354
-	'info_ldap_ok' => 'L’authentification LDAP est installée.',
355
-	'info_lien_hypertexte' => 'Lien hypertexte :',
356
-	'info_liste_nouveautes_envoyee' => 'La liste des nouveautés a été envoyée',
357
-	'info_liste_redacteurs_connectes' => 'Liste des rédacteurs connectés',
358
-	'info_login_existant' => 'Ce login existe déjà.',
359
-	'info_login_trop_court' => 'Login trop court.',
360
-	'info_login_trop_court_car_pluriel' => 'Le login doit contenir au moins @nb@ caractères.',
361
-	'info_logos' => 'Les logos',
362
-	'info_maximum' => 'maximum :',
363
-	'info_meme_rubrique' => 'Dans la même rubrique',
364
-	'info_message_en_redaction' => 'Vos messages en cours de rédaction',
365
-	'info_message_technique' => 'Message technique :',
366
-	'info_messagerie_interne' => 'Messagerie interne',
367
-	'info_mise_a_niveau_base' => 'mise à niveau de votre base SQL',
368
-	'info_mise_a_niveau_base_2' => '{{Attention !}} Vous avez installé une version
342
+    'info_hier' => 'hier :',
343
+    'info_identification_publique' => 'Votre identité publique...',
344
+    'info_image_process' => 'Veuillez sélectionner la meilleure méthode de fabrication des vignettes en cliquant sur l’image correspondante.',
345
+    'info_image_process2' => 'Si aucune image n’apparaît, alors le serveur qui héberge votre site n’a pas été configuré pour utiliser de tels outils. Si vous souhaitez utiliser ces fonctions, contactez le responsable technique et demandez les extensions « GD » ou « Imagick ».',
346
+    'info_images_auto' => 'Images calculées automatiquement',
347
+    'info_informations_personnelles' => 'Informations personnelles',
348
+    'info_inscription' => 'Inscription le',
349
+    'info_inscription_automatique' => 'Inscription automatique de nouveaux rédacteurs',
350
+    'info_jeu_caractere' => 'Jeu de caractères du site',
351
+    'info_jours' => 'jours',
352
+    'info_laisser_champs_vides' => 'laisser ces champs vides)',
353
+    'info_langues' => 'Langues du site',
354
+    'info_ldap_ok' => 'L’authentification LDAP est installée.',
355
+    'info_lien_hypertexte' => 'Lien hypertexte :',
356
+    'info_liste_nouveautes_envoyee' => 'La liste des nouveautés a été envoyée',
357
+    'info_liste_redacteurs_connectes' => 'Liste des rédacteurs connectés',
358
+    'info_login_existant' => 'Ce login existe déjà.',
359
+    'info_login_trop_court' => 'Login trop court.',
360
+    'info_login_trop_court_car_pluriel' => 'Le login doit contenir au moins @nb@ caractères.',
361
+    'info_logos' => 'Les logos',
362
+    'info_maximum' => 'maximum :',
363
+    'info_meme_rubrique' => 'Dans la même rubrique',
364
+    'info_message_en_redaction' => 'Vos messages en cours de rédaction',
365
+    'info_message_technique' => 'Message technique :',
366
+    'info_messagerie_interne' => 'Messagerie interne',
367
+    'info_mise_a_niveau_base' => 'mise à niveau de votre base SQL',
368
+    'info_mise_a_niveau_base_2' => '{{Attention !}} Vous avez installé une version
369 369
 		des fichiers SPIP {antérieure} à celle qui se trouvait
370 370
 		auparavant sur ce site : votre base de données risque d’être
371 371
 		perdue et votre site ne fonctionnera plus.<br />{{Réinstallez les
372 372
 		fichiers de SPIP.}}',
373
-	'info_modification_enregistree' => 'Votre modification a été enregistrée',
374
-	'info_modifier_auteur' => 'Modifier l’auteur :',
375
-	'info_modifier_rubrique' => 'Modifier la rubrique :',
376
-	'info_modifier_titre' => 'Modifier : @titre@',
377
-	'info_mon_site_spip' => 'Mon site SPIP',
378
-	'info_moyenne' => 'moyenne :',
379
-	'info_multi_cet_article' => 'Langue de cet article :',
380
-	'info_multi_langues_choisies' => 'Veuillez sélectionner ci-après les langues à disposition des rédacteurs de votre site.
373
+    'info_modification_enregistree' => 'Votre modification a été enregistrée',
374
+    'info_modifier_auteur' => 'Modifier l’auteur :',
375
+    'info_modifier_rubrique' => 'Modifier la rubrique :',
376
+    'info_modifier_titre' => 'Modifier : @titre@',
377
+    'info_mon_site_spip' => 'Mon site SPIP',
378
+    'info_moyenne' => 'moyenne :',
379
+    'info_multi_cet_article' => 'Langue de cet article :',
380
+    'info_multi_langues_choisies' => 'Veuillez sélectionner ci-après les langues à disposition des rédacteurs de votre site.
381 381
 		Les langues déjà utilisées dans votre site (affichées en premier) ne peuvent pas être désactivées.',
382
-	'info_multi_objets' => '@objets@ : activer le menu de langue',
383
-	'info_multi_secteurs' => '... seulement pour les rubriques situées à la racine ?',
384
-	'info_nb_articles' => '@nb@ articles',
385
-	'info_nb_auteurs' => '@nb@ auteurs',
386
-	'info_nb_messages' => '@nb@ messages',
387
-	'info_nb_mots_cles' => '@nb@ mots-clés',
388
-	'info_nb_rubriques' => '@nb@ rubriques',
389
-	'info_nb_visiteurs' => '@nb@ visiteurs',
390
-	'info_nom' => 'Nom',
391
-	'info_nom_destinataire' => 'Nom du destinataire',
392
-	'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés',
393
-	'info_nom_site' => 'Nom de votre site',
394
-	'info_nombre_articles' => '@nb_articles@ articles,',
395
-	'info_nombre_rubriques' => '@nb_rubriques@ rubriques,',
396
-	'info_nombre_sites' => '@nb_sites@ sites,',
397
-	'info_non_deplacer' => 'Ne pas déplacer...',
398
-	'info_non_envoi_annonce_dernieres_nouveautes' => 'SPIP peut envoyer, régulièrement, l’annonce des dernières nouveautés du site
382
+    'info_multi_objets' => '@objets@ : activer le menu de langue',
383
+    'info_multi_secteurs' => '... seulement pour les rubriques situées à la racine ?',
384
+    'info_nb_articles' => '@nb@ articles',
385
+    'info_nb_auteurs' => '@nb@ auteurs',
386
+    'info_nb_messages' => '@nb@ messages',
387
+    'info_nb_mots_cles' => '@nb@ mots-clés',
388
+    'info_nb_rubriques' => '@nb@ rubriques',
389
+    'info_nb_visiteurs' => '@nb@ visiteurs',
390
+    'info_nom' => 'Nom',
391
+    'info_nom_destinataire' => 'Nom du destinataire',
392
+    'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés',
393
+    'info_nom_site' => 'Nom de votre site',
394
+    'info_nombre_articles' => '@nb_articles@ articles,',
395
+    'info_nombre_rubriques' => '@nb_rubriques@ rubriques,',
396
+    'info_nombre_sites' => '@nb_sites@ sites,',
397
+    'info_non_deplacer' => 'Ne pas déplacer...',
398
+    'info_non_envoi_annonce_dernieres_nouveautes' => 'SPIP peut envoyer, régulièrement, l’annonce des dernières nouveautés du site
399 399
 		(articles et brèves récemment publiés).',
400
-	'info_non_envoi_liste_nouveautes' => 'Ne pas envoyer la liste des nouveautés',
401
-	'info_non_modifiable' => 'ne peut pas être modifié',
402
-	'info_non_suppression_mot_cle' => 'je ne veux pas supprimer ce mot-clé.',
403
-	'info_notes' => 'Notes',
404
-	'info_nouvel_article' => 'Nouvel article',
405
-	'info_nouvelle_traduction' => 'Nouvelle traduction :',
406
-	'info_numero_article' => 'ARTICLE NUMÉRO :',
407
-	'info_obligatoire_02' => '(obligatoire)',
408
-	'info_option_accepter_visiteurs' => 'Accepter l’inscription de visiteurs du site public',
409
-	'info_option_ne_pas_accepter_visiteurs' => 'Refuser l’inscription des visiteurs',
410
-	'info_options_avancees' => 'OPTIONS AVANCÉES',
411
-	'info_ou' => 'ou...',
412
-	'info_page_interdite' => 'Page interdite',
413
-	'info_par_nom' => 'par nom',
414
-	'info_par_nombre_article' => 'par nombre d’articles',
415
-	'info_par_statut' => 'par statut',
416
-	'info_par_tri' => '’(par @tri@)’',
417
-	'info_passe_trop_court' => 'Mot de passe trop court.',
418
-	'info_passe_trop_court_car_pluriel' => 'Le mot de passe doit contenir au moins @nb@ caractères.',
419
-	'info_passes_identiques' => 'Les deux mots de passe ne sont pas identiques.',
420
-	'info_plus_cinq_car' => 'plus de 5 caractères',
421
-	'info_plus_cinq_car_2' => '(Plus de 5 caractères)',
422
-	'info_plus_trois_car' => '(Plus de 3 caractères)',
423
-	'info_popularite' => 'popularité : @popularite@ ; visites : @visites@',
424
-	'info_post_scriptum' => 'Post-Scriptum',
425
-	'info_post_scriptum_2' => 'Post-scriptum :',
426
-	'info_pour' => 'pour',
427
-	'info_preview_texte' => 'Il est possible de prévisualiser les différents éléments éditoriaux du site ayant au moins le statut « proposé », ainsi que les éléments en cours de rédaction dont on est l’auteur. Cette fonctionnalité doit-elle être disponible pour les administrateurs, les rédacteurs, ou personne ?',
428
-	'info_procedez_par_etape' => 'procédez étape par étape',
429
-	'info_procedure_maj_version' => 'la procédure de mise à jour doit être lancée afin d’adapter
400
+    'info_non_envoi_liste_nouveautes' => 'Ne pas envoyer la liste des nouveautés',
401
+    'info_non_modifiable' => 'ne peut pas être modifié',
402
+    'info_non_suppression_mot_cle' => 'je ne veux pas supprimer ce mot-clé.',
403
+    'info_notes' => 'Notes',
404
+    'info_nouvel_article' => 'Nouvel article',
405
+    'info_nouvelle_traduction' => 'Nouvelle traduction :',
406
+    'info_numero_article' => 'ARTICLE NUMÉRO :',
407
+    'info_obligatoire_02' => '(obligatoire)',
408
+    'info_option_accepter_visiteurs' => 'Accepter l’inscription de visiteurs du site public',
409
+    'info_option_ne_pas_accepter_visiteurs' => 'Refuser l’inscription des visiteurs',
410
+    'info_options_avancees' => 'OPTIONS AVANCÉES',
411
+    'info_ou' => 'ou...',
412
+    'info_page_interdite' => 'Page interdite',
413
+    'info_par_nom' => 'par nom',
414
+    'info_par_nombre_article' => 'par nombre d’articles',
415
+    'info_par_statut' => 'par statut',
416
+    'info_par_tri' => '’(par @tri@)’',
417
+    'info_passe_trop_court' => 'Mot de passe trop court.',
418
+    'info_passe_trop_court_car_pluriel' => 'Le mot de passe doit contenir au moins @nb@ caractères.',
419
+    'info_passes_identiques' => 'Les deux mots de passe ne sont pas identiques.',
420
+    'info_plus_cinq_car' => 'plus de 5 caractères',
421
+    'info_plus_cinq_car_2' => '(Plus de 5 caractères)',
422
+    'info_plus_trois_car' => '(Plus de 3 caractères)',
423
+    'info_popularite' => 'popularité : @popularite@ ; visites : @visites@',
424
+    'info_post_scriptum' => 'Post-Scriptum',
425
+    'info_post_scriptum_2' => 'Post-scriptum :',
426
+    'info_pour' => 'pour',
427
+    'info_preview_texte' => 'Il est possible de prévisualiser les différents éléments éditoriaux du site ayant au moins le statut « proposé », ainsi que les éléments en cours de rédaction dont on est l’auteur. Cette fonctionnalité doit-elle être disponible pour les administrateurs, les rédacteurs, ou personne ?',
428
+    'info_procedez_par_etape' => 'procédez étape par étape',
429
+    'info_procedure_maj_version' => 'la procédure de mise à jour doit être lancée afin d’adapter
430 430
 	la base de données à la nouvelle version de SPIP.',
431
-	'info_proxy_ok' => 'Test du proxy réussi.',
432
-	'info_ps' => 'P.-S.',
433
-	'info_publier' => 'publier',
434
-	'info_publies' => 'Vos articles publiés en ligne',
435
-	'info_question_accepter_visiteurs' => 'Si les squelettes de votre site prévoient l’enregistrement de visiteurs sans accès à l’espace privé, veuillez activer l’option ci-dessous :',
436
-	'info_question_inscription_nouveaux_redacteurs' => 'Acceptez-vous les inscriptions de nouveaux rédacteurs à
431
+    'info_proxy_ok' => 'Test du proxy réussi.',
432
+    'info_ps' => 'P.-S.',
433
+    'info_publier' => 'publier',
434
+    'info_publies' => 'Vos articles publiés en ligne',
435
+    'info_question_accepter_visiteurs' => 'Si les squelettes de votre site prévoient l’enregistrement de visiteurs sans accès à l’espace privé, veuillez activer l’option ci-dessous :',
436
+    'info_question_inscription_nouveaux_redacteurs' => 'Acceptez-vous les inscriptions de nouveaux rédacteurs à
437 437
   partir du site public ? Si vous acceptez, les visiteurs pourront s’inscrire
438 438
   depuis un formulaire automatisé et accéderont alors à l’espace privé pour
439 439
   proposer leurs propres articles. <div class="notice">Lors de la phase d’inscription,
@@ -442,405 +442,405 @@  discard block
 block discarded – undo
442 442
   hébergeurs désactivent l’envoi de mails depuis leurs
443 443
   serveurs : dans ce cas, l’inscription automatique est
444 444
   impossible.</div>',
445
-	'info_qui_edite' => '@nom_auteur_modif@ a travaillé sur ce contenu il y a @date_diff@ minutes',
446
-	'info_racine_site' => 'Racine du site',
447
-	'info_recharger_page' => 'Veuillez recharger cette page dans quelques instants.',
448
-	'info_recherche_auteur_zero' => 'Aucun résultat pour « @cherche_auteur@ ».',
449
-	'info_recommencer' => 'Veuillez recommencer.',
450
-	'info_redacteur_1' => 'Rédacteur',
451
-	'info_redacteur_2' => 'ayant accès à l’espace privé (<i>recommandé</i>)',
452
-	'info_redacteurs' => 'Rédacteurs',
453
-	'info_redaction_en_cours' => 'EN COURS DE RÉDACTION',
454
-	'info_redirection' => 'Redirection',
455
-	'info_redirection_activee' => 'La redirection est activée.',
456
-	'info_redirection_boucle' => 'Vous essayez de rediriger l’article sur lui-même.',
457
-	'info_redirection_desactivee' => 'La redirection a été supprimée.',
458
-	'info_refuses' => 'Vos articles refusés',
459
-	'info_reglage_ldap' => 'Options : <b>Réglage de l’importation LDAP</b>',
460
-	'info_renvoi_article' => '<b>Redirection.</b> Cet article renvoie à la page :',
461
-	'info_reserve_admin' => 'Seuls les administrateurs peuvent modifier cette adresse.',
462
-	'info_restreindre_rubrique' => 'Restreindre la gestion à la rubrique :',
463
-	'info_resultat_recherche' => 'Résultats de la recherche :',
464
-	'info_rubriques' => 'Rubriques',
465
-	'info_rubriques_02' => 'rubriques',
466
-	'info_rubriques_trouvees' => 'Rubriques trouvées',
467
-	'info_sans_titre' => 'Sans titre',
468
-	'info_selection_chemin_acces' => '<b>Sélectionnez</b> ci-après le chemin d’accès dans l’annuaire :',
469
-	'info_signatures' => 'signatures',
470
-	'info_site' => 'Site',
471
-	'info_site_2' => 'site :',
472
-	'info_site_min' => 'site',
473
-	'info_site_reference_2' => 'Site référencé',
474
-	'info_site_web' => 'Site Web :',
475
-	'info_sites' => 'sites',
476
-	'info_sites_lies_mot' => 'Les sites référencés liés à ce mot-clé',
477
-	'info_sites_proxy' => 'Utiliser un proxy',
478
-	'info_sites_trouves' => 'Sites trouvés',
479
-	'info_sous_titre' => 'Soustitre :',
480
-	'info_statut_administrateur' => 'Administrateur',
481
-	'info_statut_auteur' => 'Statut de cet auteur :',
482
-	'info_statut_auteur_2' => 'Je suis',
483
-	'info_statut_auteur_a_confirmer' => 'Inscription à confirmer',
484
-	'info_statut_auteur_autre' => 'Autre statut :',
485
-	'info_statut_redacteur' => 'Rédacteur',
486
-	'info_statut_utilisateurs_1' => 'Statut par défaut des utilisateurs importés',
487
-	'info_statut_utilisateurs_2' => 'Choisissez le statut qui est attribué aux personnes présentes dans l’annuaire LDAP lorsqu’elles se connectent pour la première fois. Vous pourrez par la suite modifier cette valeur pour chaque auteur au cas par cas.',
488
-	'info_suivi_activite' => 'Suivi de l’activité éditoriale',
489
-	'info_surtitre' => 'Surtitre :',
490
-	'info_syndication_integrale_1' => 'Votre site propose des fichiers de syndication (voir « <a href="@url@">@titre@</a> »).',
491
-	'info_syndication_integrale_2' => 'Souhaitez-vous transmettre les articles dans leur intégralité, ou ne diffuser qu’un résumé de quelques centaines de caractères ?',
492
-	'info_table_prefix' => 'Vous pouvez modifier le préfixe du nom des tables de données (ceci est indispensable lorsque l’on souhaite installer plusieurs sites dans la même base de données). Ce préfixe s’écrit en lettres minuscules, non accentuées, et sans espace.',
493
-	'info_taille_maximale_images' => 'SPIP va tester la taille maximale des images qu’il peut traiter (en millions de pixels).<br /> Les images plus grandes ne seront pas réduites.',
494
-	'info_taille_maximale_vignette' => 'Taille maximale des vignettes générées par le système :',
495
-	'info_terminer_installation' => 'Vous pouvez maintenant terminer la procédure d’installation standard.',
496
-	'info_texte' => 'Texte',
497
-	'info_texte_explicatif' => 'Texte explicatif',
498
-	'info_texte_long' => '(le texte est long : il apparaît donc en plusieurs parties qui seront recollées après validation.)',
499
-	'info_texte_message' => 'Texte de votre message',
500
-	'info_texte_message_02' => 'Texte du message',
501
-	'info_titre' => 'Titre :',
502
-	'info_total' => 'total :',
503
-	'info_tous_articles_en_redaction' => 'Tous les articles en cours de rédaction',
504
-	'info_tous_articles_presents' => 'Tous les articles publiés dans cette rubrique',
505
-	'info_tous_articles_refuses' => 'Tous les articles refusés',
506
-	'info_tous_les' => 'tous les :',
507
-	'info_tout_site' => 'Tout le site',
508
-	'info_tout_site2' => 'L’article n’a pas été traduit dans cette langue.',
509
-	'info_tout_site3' => 'L’article a été traduit dans cette langue, mais des modifications ont été apportées par la suite à l’article de référence. La traduction doit être mise à jour.',
510
-	'info_tout_site4' => 'L’article a été traduit dans cette langue, et la traduction est à jour.',
511
-	'info_tout_site5' => 'Article original.',
512
-	'info_tout_site6' => '<b>Attention :</b> seuls les articles originaux sont affichés.
445
+    'info_qui_edite' => '@nom_auteur_modif@ a travaillé sur ce contenu il y a @date_diff@ minutes',
446
+    'info_racine_site' => 'Racine du site',
447
+    'info_recharger_page' => 'Veuillez recharger cette page dans quelques instants.',
448
+    'info_recherche_auteur_zero' => 'Aucun résultat pour « @cherche_auteur@ ».',
449
+    'info_recommencer' => 'Veuillez recommencer.',
450
+    'info_redacteur_1' => 'Rédacteur',
451
+    'info_redacteur_2' => 'ayant accès à l’espace privé (<i>recommandé</i>)',
452
+    'info_redacteurs' => 'Rédacteurs',
453
+    'info_redaction_en_cours' => 'EN COURS DE RÉDACTION',
454
+    'info_redirection' => 'Redirection',
455
+    'info_redirection_activee' => 'La redirection est activée.',
456
+    'info_redirection_boucle' => 'Vous essayez de rediriger l’article sur lui-même.',
457
+    'info_redirection_desactivee' => 'La redirection a été supprimée.',
458
+    'info_refuses' => 'Vos articles refusés',
459
+    'info_reglage_ldap' => 'Options : <b>Réglage de l’importation LDAP</b>',
460
+    'info_renvoi_article' => '<b>Redirection.</b> Cet article renvoie à la page :',
461
+    'info_reserve_admin' => 'Seuls les administrateurs peuvent modifier cette adresse.',
462
+    'info_restreindre_rubrique' => 'Restreindre la gestion à la rubrique :',
463
+    'info_resultat_recherche' => 'Résultats de la recherche :',
464
+    'info_rubriques' => 'Rubriques',
465
+    'info_rubriques_02' => 'rubriques',
466
+    'info_rubriques_trouvees' => 'Rubriques trouvées',
467
+    'info_sans_titre' => 'Sans titre',
468
+    'info_selection_chemin_acces' => '<b>Sélectionnez</b> ci-après le chemin d’accès dans l’annuaire :',
469
+    'info_signatures' => 'signatures',
470
+    'info_site' => 'Site',
471
+    'info_site_2' => 'site :',
472
+    'info_site_min' => 'site',
473
+    'info_site_reference_2' => 'Site référencé',
474
+    'info_site_web' => 'Site Web :',
475
+    'info_sites' => 'sites',
476
+    'info_sites_lies_mot' => 'Les sites référencés liés à ce mot-clé',
477
+    'info_sites_proxy' => 'Utiliser un proxy',
478
+    'info_sites_trouves' => 'Sites trouvés',
479
+    'info_sous_titre' => 'Soustitre :',
480
+    'info_statut_administrateur' => 'Administrateur',
481
+    'info_statut_auteur' => 'Statut de cet auteur :',
482
+    'info_statut_auteur_2' => 'Je suis',
483
+    'info_statut_auteur_a_confirmer' => 'Inscription à confirmer',
484
+    'info_statut_auteur_autre' => 'Autre statut :',
485
+    'info_statut_redacteur' => 'Rédacteur',
486
+    'info_statut_utilisateurs_1' => 'Statut par défaut des utilisateurs importés',
487
+    'info_statut_utilisateurs_2' => 'Choisissez le statut qui est attribué aux personnes présentes dans l’annuaire LDAP lorsqu’elles se connectent pour la première fois. Vous pourrez par la suite modifier cette valeur pour chaque auteur au cas par cas.',
488
+    'info_suivi_activite' => 'Suivi de l’activité éditoriale',
489
+    'info_surtitre' => 'Surtitre :',
490
+    'info_syndication_integrale_1' => 'Votre site propose des fichiers de syndication (voir « <a href="@url@">@titre@</a> »).',
491
+    'info_syndication_integrale_2' => 'Souhaitez-vous transmettre les articles dans leur intégralité, ou ne diffuser qu’un résumé de quelques centaines de caractères ?',
492
+    'info_table_prefix' => 'Vous pouvez modifier le préfixe du nom des tables de données (ceci est indispensable lorsque l’on souhaite installer plusieurs sites dans la même base de données). Ce préfixe s’écrit en lettres minuscules, non accentuées, et sans espace.',
493
+    'info_taille_maximale_images' => 'SPIP va tester la taille maximale des images qu’il peut traiter (en millions de pixels).<br /> Les images plus grandes ne seront pas réduites.',
494
+    'info_taille_maximale_vignette' => 'Taille maximale des vignettes générées par le système :',
495
+    'info_terminer_installation' => 'Vous pouvez maintenant terminer la procédure d’installation standard.',
496
+    'info_texte' => 'Texte',
497
+    'info_texte_explicatif' => 'Texte explicatif',
498
+    'info_texte_long' => '(le texte est long : il apparaît donc en plusieurs parties qui seront recollées après validation.)',
499
+    'info_texte_message' => 'Texte de votre message',
500
+    'info_texte_message_02' => 'Texte du message',
501
+    'info_titre' => 'Titre :',
502
+    'info_total' => 'total :',
503
+    'info_tous_articles_en_redaction' => 'Tous les articles en cours de rédaction',
504
+    'info_tous_articles_presents' => 'Tous les articles publiés dans cette rubrique',
505
+    'info_tous_articles_refuses' => 'Tous les articles refusés',
506
+    'info_tous_les' => 'tous les :',
507
+    'info_tout_site' => 'Tout le site',
508
+    'info_tout_site2' => 'L’article n’a pas été traduit dans cette langue.',
509
+    'info_tout_site3' => 'L’article a été traduit dans cette langue, mais des modifications ont été apportées par la suite à l’article de référence. La traduction doit être mise à jour.',
510
+    'info_tout_site4' => 'L’article a été traduit dans cette langue, et la traduction est à jour.',
511
+    'info_tout_site5' => 'Article original.',
512
+    'info_tout_site6' => '<b>Attention :</b> seuls les articles originaux sont affichés.
513 513
 Les traductions sont associées à l’original,
514 514
 dans une couleur qui indique leur état :',
515
-	'info_traductions' => 'Traductions',
516
-	'info_travail_colaboratif' => 'Travail collaboratif sur les articles',
517
-	'info_un_article' => 'un article,',
518
-	'info_un_site' => 'un site,',
519
-	'info_une_rubrique' => 'une rubrique,',
520
-	'info_une_rubrique_02' => '1 rubrique',
521
-	'info_url' => 'URL :',
522
-	'info_url_proxy' => 'URL du proxy',
523
-	'info_url_proxy_pas_conforme' => 'l’URL du proxy n’est pas valide.',
524
-	'info_url_site_pas_conforme' => 'l’URL du site n’est pas valide.',
525
-	'info_url_test_proxy' => 'URL de test',
526
-	'info_urlref' => 'Lien hypertexte :',
527
-	'info_utilisation_spip' => 'Vous pouvez maintenant commencer à utiliser le système de publication assistée...',
528
-	'info_visites_par_mois' => 'Affichage par mois :',
529
-	'info_visiteur_1' => 'Visiteur',
530
-	'info_visiteur_2' => 'du site public',
531
-	'info_visiteurs' => 'Visiteurs',
532
-	'info_visiteurs_02' => 'Visiteurs du site public',
533
-	'info_webmestre_forces' => 'Les webmestres sont actuellement définis dans <tt>@file_options@</tt>.',
534
-	'install_adresse_base_hebergeur' => 'Adresse de la base de données attribuée par l’hébergeur',
535
-	'install_connect_ok' => 'La nouvelle base a bien été déclarée sous le nom de serveur @connect@.',
536
-	'install_echec_annonce' => 'L’installation va probablement échouer, ou aboutir à un site non fonctionnel...',
537
-	'install_extension_mbstring' => 'SPIP ne fonctionne pas avec :',
538
-	'install_extension_php_obligatoire' => 'SPIP exige l’extension php :',
539
-	'install_login_base_hebergeur' => 'Login de connexion attribué par l’hébergeur',
540
-	'install_nom_base_hebergeur' => 'Nom de la base attribué par l’hébergeur :',
541
-	'install_pas_table' => 'Base actuellement sans tables',
542
-	'install_pass_base_hebergeur' => 'Mot de passe de connexion attribué par l’hébergeur',
543
-	'install_php_extension' => 'Les extensions suivantes sont manquantes : @extensions@',
544
-	'install_php_version' => 'PHP version @version@ insuffisant (minimum = @minimum@)',
545
-	'install_php_version_max' => 'PHP version @version@ trop récent (maximum = @maximum@)',
546
-	'install_select_langue' => 'Sélectionnez une langue puis cliquez sur le bouton « suivant » pour lancer la procédure d’installation.',
547
-	'install_select_type_db' => 'Indiquer le type de base de données :',
548
-	'install_select_type_mysql' => 'MySQL',
549
-	'install_select_type_pg' => 'PostgreSQL',
550
-	'install_select_type_sqlite2' => 'SQLite 2',
551
-	'install_select_type_sqlite3' => 'SQLite 3',
552
-	'install_serveur_hebergeur' => 'Serveur de base de données attribué par l’hébergeur',
553
-	'install_table_prefix_hebergeur' => 'Préfixe de table attribué par l’hébergeur :',
554
-	'install_tables_base' => 'Tables de la base',
555
-	'install_types_db_connus' => 'SPIP sait utiliser <b>MySQL</b> (le plus répandu) et <b>SQLite</b>.',
556
-	'install_types_db_connus_avertissement' => 'Le support de <b>PostgreSQL</b> est également proposé à titre experimental',
557
-	'instituer_erreur_statut_a_change' => 'Le statut a déjà été modifié',
558
-	'instituer_erreur_statut_non_autorise' => 'Vous ne pouvez pas choisir ce statut',
559
-	'intem_redacteur' => 'rédacteur',
560
-	'intitule_licence' => 'Licence',
561
-	'item_accepter_inscriptions' => 'Accepter les inscriptions',
562
-	'item_activer_messages_avertissement' => 'Activer les messages d’avertissement',
563
-	'item_administrateur_2' => 'administrateur',
564
-	'item_afficher_calendrier' => 'Afficher dans le calendrier',
565
-	'item_autoriser_syndication_integrale' => 'Diffuser l’intégralité des articles dans les fichiers de syndication',
566
-	'item_choix_administrateurs' => 'les administrateurs',
567
-	'item_choix_generation_miniature' => 'Générer automatiquement les miniatures des images.',
568
-	'item_choix_non_generation_miniature' => 'Ne pas générer de miniatures des images.',
569
-	'item_choix_redacteurs' => 'les rédacteurs',
570
-	'item_choix_visiteurs' => 'les visiteurs du site public',
571
-	'item_creer_fichiers_authent' => 'Créer les fichiers .htpasswd',
572
-	'item_login' => 'Login',
573
-	'item_messagerie_agenda' => 'Activer la messagerie et l’agenda',
574
-	'item_mots_cles_association_articles' => 'aux articles',
575
-	'item_mots_cles_association_rubriques' => 'aux rubriques',
576
-	'item_mots_cles_association_sites' => 'aux sites référencés ou syndiqués.',
577
-	'item_non' => 'Non',
578
-	'item_non_accepter_inscriptions' => 'Ne pas accepter les inscriptions',
579
-	'item_non_activer_messages_avertissement' => 'Pas de messages d’avertissement',
580
-	'item_non_afficher_calendrier' => 'Ne pas afficher dans le calendrier',
581
-	'item_non_autoriser_syndication_integrale' => 'Ne diffuser qu’un résumé',
582
-	'item_non_creer_fichiers_authent' => 'Ne pas créer ces fichiers',
583
-	'item_non_messagerie_agenda' => 'Désactiver la messagerie et l’agenda',
584
-	'item_non_publier_articles' => 'Ne pas publier les articles avant la date de publication fixée.',
585
-	'item_nouvel_auteur' => 'Nouvel auteur',
586
-	'item_nouvelle_rubrique' => 'Nouvelle rubrique',
587
-	'item_oui' => 'Oui',
588
-	'item_publier_articles' => 'Publier les articles, quelle que soit leur date de publication.',
589
-	'item_reponse_article' => 'Réponse à l’article',
590
-	'item_visiteur' => 'visiteur',
515
+    'info_traductions' => 'Traductions',
516
+    'info_travail_colaboratif' => 'Travail collaboratif sur les articles',
517
+    'info_un_article' => 'un article,',
518
+    'info_un_site' => 'un site,',
519
+    'info_une_rubrique' => 'une rubrique,',
520
+    'info_une_rubrique_02' => '1 rubrique',
521
+    'info_url' => 'URL :',
522
+    'info_url_proxy' => 'URL du proxy',
523
+    'info_url_proxy_pas_conforme' => 'l’URL du proxy n’est pas valide.',
524
+    'info_url_site_pas_conforme' => 'l’URL du site n’est pas valide.',
525
+    'info_url_test_proxy' => 'URL de test',
526
+    'info_urlref' => 'Lien hypertexte :',
527
+    'info_utilisation_spip' => 'Vous pouvez maintenant commencer à utiliser le système de publication assistée...',
528
+    'info_visites_par_mois' => 'Affichage par mois :',
529
+    'info_visiteur_1' => 'Visiteur',
530
+    'info_visiteur_2' => 'du site public',
531
+    'info_visiteurs' => 'Visiteurs',
532
+    'info_visiteurs_02' => 'Visiteurs du site public',
533
+    'info_webmestre_forces' => 'Les webmestres sont actuellement définis dans <tt>@file_options@</tt>.',
534
+    'install_adresse_base_hebergeur' => 'Adresse de la base de données attribuée par l’hébergeur',
535
+    'install_connect_ok' => 'La nouvelle base a bien été déclarée sous le nom de serveur @connect@.',
536
+    'install_echec_annonce' => 'L’installation va probablement échouer, ou aboutir à un site non fonctionnel...',
537
+    'install_extension_mbstring' => 'SPIP ne fonctionne pas avec :',
538
+    'install_extension_php_obligatoire' => 'SPIP exige l’extension php :',
539
+    'install_login_base_hebergeur' => 'Login de connexion attribué par l’hébergeur',
540
+    'install_nom_base_hebergeur' => 'Nom de la base attribué par l’hébergeur :',
541
+    'install_pas_table' => 'Base actuellement sans tables',
542
+    'install_pass_base_hebergeur' => 'Mot de passe de connexion attribué par l’hébergeur',
543
+    'install_php_extension' => 'Les extensions suivantes sont manquantes : @extensions@',
544
+    'install_php_version' => 'PHP version @version@ insuffisant (minimum = @minimum@)',
545
+    'install_php_version_max' => 'PHP version @version@ trop récent (maximum = @maximum@)',
546
+    'install_select_langue' => 'Sélectionnez une langue puis cliquez sur le bouton « suivant » pour lancer la procédure d’installation.',
547
+    'install_select_type_db' => 'Indiquer le type de base de données :',
548
+    'install_select_type_mysql' => 'MySQL',
549
+    'install_select_type_pg' => 'PostgreSQL',
550
+    'install_select_type_sqlite2' => 'SQLite 2',
551
+    'install_select_type_sqlite3' => 'SQLite 3',
552
+    'install_serveur_hebergeur' => 'Serveur de base de données attribué par l’hébergeur',
553
+    'install_table_prefix_hebergeur' => 'Préfixe de table attribué par l’hébergeur :',
554
+    'install_tables_base' => 'Tables de la base',
555
+    'install_types_db_connus' => 'SPIP sait utiliser <b>MySQL</b> (le plus répandu) et <b>SQLite</b>.',
556
+    'install_types_db_connus_avertissement' => 'Le support de <b>PostgreSQL</b> est également proposé à titre experimental',
557
+    'instituer_erreur_statut_a_change' => 'Le statut a déjà été modifié',
558
+    'instituer_erreur_statut_non_autorise' => 'Vous ne pouvez pas choisir ce statut',
559
+    'intem_redacteur' => 'rédacteur',
560
+    'intitule_licence' => 'Licence',
561
+    'item_accepter_inscriptions' => 'Accepter les inscriptions',
562
+    'item_activer_messages_avertissement' => 'Activer les messages d’avertissement',
563
+    'item_administrateur_2' => 'administrateur',
564
+    'item_afficher_calendrier' => 'Afficher dans le calendrier',
565
+    'item_autoriser_syndication_integrale' => 'Diffuser l’intégralité des articles dans les fichiers de syndication',
566
+    'item_choix_administrateurs' => 'les administrateurs',
567
+    'item_choix_generation_miniature' => 'Générer automatiquement les miniatures des images.',
568
+    'item_choix_non_generation_miniature' => 'Ne pas générer de miniatures des images.',
569
+    'item_choix_redacteurs' => 'les rédacteurs',
570
+    'item_choix_visiteurs' => 'les visiteurs du site public',
571
+    'item_creer_fichiers_authent' => 'Créer les fichiers .htpasswd',
572
+    'item_login' => 'Login',
573
+    'item_messagerie_agenda' => 'Activer la messagerie et l’agenda',
574
+    'item_mots_cles_association_articles' => 'aux articles',
575
+    'item_mots_cles_association_rubriques' => 'aux rubriques',
576
+    'item_mots_cles_association_sites' => 'aux sites référencés ou syndiqués.',
577
+    'item_non' => 'Non',
578
+    'item_non_accepter_inscriptions' => 'Ne pas accepter les inscriptions',
579
+    'item_non_activer_messages_avertissement' => 'Pas de messages d’avertissement',
580
+    'item_non_afficher_calendrier' => 'Ne pas afficher dans le calendrier',
581
+    'item_non_autoriser_syndication_integrale' => 'Ne diffuser qu’un résumé',
582
+    'item_non_creer_fichiers_authent' => 'Ne pas créer ces fichiers',
583
+    'item_non_messagerie_agenda' => 'Désactiver la messagerie et l’agenda',
584
+    'item_non_publier_articles' => 'Ne pas publier les articles avant la date de publication fixée.',
585
+    'item_nouvel_auteur' => 'Nouvel auteur',
586
+    'item_nouvelle_rubrique' => 'Nouvelle rubrique',
587
+    'item_oui' => 'Oui',
588
+    'item_publier_articles' => 'Publier les articles, quelle que soit leur date de publication.',
589
+    'item_reponse_article' => 'Réponse à l’article',
590
+    'item_visiteur' => 'visiteur',
591 591
 
592
-	// J
593
-	'jour_non_connu_nc' => 'n.c.',
592
+    // J
593
+    'jour_non_connu_nc' => 'n.c.',
594 594
 
595
-	// L
596
-	'label_bando_outils' => 'Barre d’outils',
597
-	'label_bando_outils_afficher' => 'Afficher les outils',
598
-	'label_bando_outils_masquer' => 'Masquer les outils',
599
-	'label_choix_langue' => 'Sélectionnez votre langue',
600
-	'label_langue' => 'Langue',
601
-	'label_nom_fichier_connect' => 'Indiquez le nom utilisé pour ce serveur',
602
-	'label_slogan_site' => 'Slogan du site',
603
-	'label_taille_ecran' => 'Largeur de l’écran',
604
-	'label_texte_et_icones_navigation' => 'Menu de navigation',
605
-	'label_texte_et_icones_page' => 'Affichage dans la page',
606
-	'ldap_correspondance' => 'héritage du champ @champ@',
607
-	'ldap_correspondance_1' => 'Héritage des champs LDAP',
608
-	'ldap_correspondance_2' => 'Pour chacun des champs SPIP suivants, indiquer le nom du champ LDAP correspondant. Laisser vide pour ne pas le remplir, séparer par des espaces ou des virgules pour essayer plusieurs champs LDAP.',
609
-	'lien_ajouter_auteur' => 'Ajouter cet auteur',
610
-	'lien_ajouter_une_rubrique' => 'Ajouter cette rubrique',
611
-	'lien_email' => 'email',
612
-	'lien_nom_site' => 'NOM DU SITE :',
613
-	'lien_rapide_contenu' => 'Aller au contenu',
614
-	'lien_rapide_navigation' => 'Aller à la navigation',
615
-	'lien_rapide_recherche' => 'Aller à la recherche',
616
-	'lien_retirer_auteur' => 'Retirer l’auteur',
617
-	'lien_retirer_rubrique' => 'Retirer la rubrique',
618
-	'lien_retirer_tous_auteurs' => 'Retirer tous les auteurs',
619
-	'lien_retirer_toutes_rubriques' => 'Retirer toutes les rubriques',
620
-	'lien_site' => 'site',
621
-	'lien_tout_decocher' => 'Tout décocher',
622
-	'lien_tout_deplier' => 'Tout déplier',
623
-	'lien_tout_replier' => 'Tout replier',
624
-	'lien_tout_supprimer' => 'Tout supprimer',
625
-	'lien_trier_nom' => 'Trier par nom',
626
-	'lien_trier_nombre_articles' => 'Trier par nombre d’articles',
627
-	'lien_trier_statut' => 'Trier par statut',
628
-	'lien_voir_en_ligne' => 'VOIR EN LIGNE :',
629
-	'logo_article' => 'Logo de l’article',
630
-	'logo_auteur' => 'Logo de l’auteur',
631
-	'logo_rubrique' => 'Logo de la rubrique',
632
-	'logo_site' => 'Logo de ce site',
633
-	'logo_standard_rubrique' => 'Logo standard des rubriques',
634
-	'logo_survol' => 'Logo pour survol',
595
+    // L
596
+    'label_bando_outils' => 'Barre d’outils',
597
+    'label_bando_outils_afficher' => 'Afficher les outils',
598
+    'label_bando_outils_masquer' => 'Masquer les outils',
599
+    'label_choix_langue' => 'Sélectionnez votre langue',
600
+    'label_langue' => 'Langue',
601
+    'label_nom_fichier_connect' => 'Indiquez le nom utilisé pour ce serveur',
602
+    'label_slogan_site' => 'Slogan du site',
603
+    'label_taille_ecran' => 'Largeur de l’écran',
604
+    'label_texte_et_icones_navigation' => 'Menu de navigation',
605
+    'label_texte_et_icones_page' => 'Affichage dans la page',
606
+    'ldap_correspondance' => 'héritage du champ @champ@',
607
+    'ldap_correspondance_1' => 'Héritage des champs LDAP',
608
+    'ldap_correspondance_2' => 'Pour chacun des champs SPIP suivants, indiquer le nom du champ LDAP correspondant. Laisser vide pour ne pas le remplir, séparer par des espaces ou des virgules pour essayer plusieurs champs LDAP.',
609
+    'lien_ajouter_auteur' => 'Ajouter cet auteur',
610
+    'lien_ajouter_une_rubrique' => 'Ajouter cette rubrique',
611
+    'lien_email' => 'email',
612
+    'lien_nom_site' => 'NOM DU SITE :',
613
+    'lien_rapide_contenu' => 'Aller au contenu',
614
+    'lien_rapide_navigation' => 'Aller à la navigation',
615
+    'lien_rapide_recherche' => 'Aller à la recherche',
616
+    'lien_retirer_auteur' => 'Retirer l’auteur',
617
+    'lien_retirer_rubrique' => 'Retirer la rubrique',
618
+    'lien_retirer_tous_auteurs' => 'Retirer tous les auteurs',
619
+    'lien_retirer_toutes_rubriques' => 'Retirer toutes les rubriques',
620
+    'lien_site' => 'site',
621
+    'lien_tout_decocher' => 'Tout décocher',
622
+    'lien_tout_deplier' => 'Tout déplier',
623
+    'lien_tout_replier' => 'Tout replier',
624
+    'lien_tout_supprimer' => 'Tout supprimer',
625
+    'lien_trier_nom' => 'Trier par nom',
626
+    'lien_trier_nombre_articles' => 'Trier par nombre d’articles',
627
+    'lien_trier_statut' => 'Trier par statut',
628
+    'lien_voir_en_ligne' => 'VOIR EN LIGNE :',
629
+    'logo_article' => 'Logo de l’article',
630
+    'logo_auteur' => 'Logo de l’auteur',
631
+    'logo_rubrique' => 'Logo de la rubrique',
632
+    'logo_site' => 'Logo de ce site',
633
+    'logo_standard_rubrique' => 'Logo standard des rubriques',
634
+    'logo_survol' => 'Logo pour survol',
635 635
 
636
-	// M
637
-	'menu_aide_installation_choix_base' => 'Choix de votre base',
638
-	'module_fichier_langue' => 'Fichier de langue',
639
-	'module_raccourci' => 'Raccourci',
640
-	'module_texte_affiche' => 'Texte affiché',
641
-	'module_texte_explicatif' => 'Vous pouvez insérer les raccourcis suivants dans les squelettes de votre site public. Ils seront automatiquement traduits dans les différentes langues pour lesquelles il existe un fichier de langue.',
642
-	'module_texte_traduction' => 'Le fichier de langue « @module@ » est disponible en :',
643
-	'mois_non_connu' => 'non connu',
636
+    // M
637
+    'menu_aide_installation_choix_base' => 'Choix de votre base',
638
+    'module_fichier_langue' => 'Fichier de langue',
639
+    'module_raccourci' => 'Raccourci',
640
+    'module_texte_affiche' => 'Texte affiché',
641
+    'module_texte_explicatif' => 'Vous pouvez insérer les raccourcis suivants dans les squelettes de votre site public. Ils seront automatiquement traduits dans les différentes langues pour lesquelles il existe un fichier de langue.',
642
+    'module_texte_traduction' => 'Le fichier de langue « @module@ » est disponible en :',
643
+    'mois_non_connu' => 'non connu',
644 644
 
645
-	// N
646
-	'nouvelle_version_spip' => 'La mise à jour @version@ de SPIP est disponible',
647
-	'nouvelle_version_spip_majeure' => 'Une nouvelle version SPIP @version@ est disponible',
645
+    // N
646
+    'nouvelle_version_spip' => 'La mise à jour @version@ de SPIP est disponible',
647
+    'nouvelle_version_spip_majeure' => 'Une nouvelle version SPIP @version@ est disponible',
648 648
 
649
-	// O
650
-	'onglet_contenu' => 'Contenu',
651
-	'onglet_declarer_une_autre_base' => 'Déclarer une autre base',
652
-	'onglet_discuter' => 'Discuter',
653
-	'onglet_interactivite' => 'Interactivité',
654
-	'onglet_proprietes' => 'Propriétés',
655
-	'onglet_repartition_actuelle' => 'actuellement',
656
-	'onglet_sous_rubriques' => 'Sous-rubriques',
649
+    // O
650
+    'onglet_contenu' => 'Contenu',
651
+    'onglet_declarer_une_autre_base' => 'Déclarer une autre base',
652
+    'onglet_discuter' => 'Discuter',
653
+    'onglet_interactivite' => 'Interactivité',
654
+    'onglet_proprietes' => 'Propriétés',
655
+    'onglet_repartition_actuelle' => 'actuellement',
656
+    'onglet_sous_rubriques' => 'Sous-rubriques',
657 657
 
658
-	// P
659
-	'page_pas_proxy' => 'Cette page ne doit pas passer par le proxy',
660
-	'pas_de_proxy_pour' => 'Au besoin, indiquez les machines ou domaines pour lesquels ce proxy ne doit pas s’appliquer (par exemple : @exemple@)',
661
-	'phpinfo' => 'Configuration PHP',
662
-	'plugin_charge_paquet' => 'Chargement du paquet @name@',
663
-	'plugin_charger' => 'Télécharger',
664
-	'plugin_erreur_charger' => 'erreur : impossible de charger @zip@',
665
-	'plugin_erreur_droit1' => 'Le répertoire <code>@dest@</code> n’est pas accessible en écriture.',
666
-	'plugin_erreur_droit2' => 'Veuillez vérifier les droits sur ce répertoire (et le créer le cas échéant), ou installer les fichiers par FTP.',
667
-	'plugin_erreur_zip' => 'échec pclzip : erreur @status@',
668
-	'plugin_etat_developpement' => 'en développement',
669
-	'plugin_etat_experimental' => 'expérimental',
670
-	'plugin_etat_stable' => 'stable',
671
-	'plugin_etat_test' => 'en test',
672
-	'plugin_impossible_activer' => 'Impossible d’activer le plugin @plugin@',
673
-	'plugin_info_automatique1' => 'Si vous souhaitez autoriser l’installation automatique des plugins, veuillez :',
674
-	'plugin_info_automatique1_lib' => 'Si vous souhaitez autoriser l’installation automatique de cette librairie, veuillez :',
675
-	'plugin_info_automatique2' => 'créer un répertoire <code>@rep@</code> ;',
676
-	'plugin_info_automatique3' => 'vérifier que le serveur est autorisé à écrire dans ce répertoire.',
677
-	'plugin_info_automatique_creer' => 'à créer à la racine du site.',
678
-	'plugin_info_automatique_exemples' => 'exemples :',
679
-	'plugin_info_automatique_ftp' => 'Vous pouvez installer des plugins, par FTP, dans le répertoire <tt>@rep@</tt>',
680
-	'plugin_info_automatique_lib' => 'Certains plugins demandent aussi à pouvoir télécharger des fichiers dans le répertoire <code>lib/</code>, à créer le cas échéant à la racine du site.',
681
-	'plugin_info_automatique_liste' => 'Vos listes de plugins :',
682
-	'plugin_info_automatique_liste_officielle' => 'les plugins officiels',
683
-	'plugin_info_automatique_liste_update' => 'Mettre à jour les listes',
684
-	'plugin_info_automatique_ou' => 'ou...',
685
-	'plugin_info_automatique_select' => 'Sélectionnez ci-dessous un plugin : SPIP le téléchargera et l’installera dans le répertoire <code>@rep@</code> ; si ce plugin existe déjà, il sera mis à jour.',
686
-	'plugin_info_credit' => 'Crédits',
687
-	'plugin_info_erreur_xml' => 'La déclaration de ce plugin est incorrecte',
688
-	'plugin_info_install_ok' => 'Installation réussie',
689
-	'plugin_info_necessite' => 'Nécessite :',
690
-	'plugin_info_non_compatible_spip' => 'Ce plugin n’est pas compatible avec cette version de SPIP',
691
-	'plugin_info_plugins_dist_1' => 'Les plugins ci-dessous sont chargés et activés dans le répertoire @plugins_dist@.',
692
-	'plugin_info_plugins_dist_2' => 'Ils ne sont pas désactivables.',
693
-	'plugin_info_telecharger' => 'à télécharger depuis @url@ et à installer dans @rep@',
694
-	'plugin_info_upgrade_ok' => 'Mise à jour réussie',
695
-	'plugin_librairies_installees' => 'Librairies installées',
696
-	'plugin_necessite_extension_php' => 'Nécessite l’extension PHP @plugin@ en version @version@.',
697
-	'plugin_necessite_extension_php_sans_version' => 'Nécessite l’extension PHP @plugin@',
698
-	'plugin_necessite_lib' => 'Ce plugin nécessite la librairie @lib@',
699
-	'plugin_necessite_php' => 'Nécessite @plugin@ en version @version@.',
700
-	'plugin_necessite_plugin' => 'Nécessite le plugin @plugin@ en version @version@.',
701
-	'plugin_necessite_plugin_sans_version' => 'Nécessite le plugin @plugin@',
702
-	'plugin_necessite_spip' => 'Nécessite SPIP en version @version@ minimum.',
703
-	'plugin_source' => 'source : ',
704
-	'plugin_titre_automatique' => 'Installation automatique',
705
-	'plugin_titre_automatique_ajouter' => 'Ajouter des plugins',
706
-	'plugin_titre_installation' => 'Installation du plugin @plugin@',
707
-	'plugin_titre_modifier' => 'Mes plugins',
708
-	'plugin_utilise_extension_php' => 'L’extension PHP @plugin@ doit être en version @version@.',
709
-	'plugin_utilise_php' => '@plugin@ doit être en version @version@.',
710
-	'plugin_utilise_plugin' => 'Le plugin @plugin@ doit être en version @version@.',
711
-	'plugin_zip_active' => 'Continuez pour l’activer',
712
-	'plugin_zip_adresse' => 'indiquez ci-dessous l’adresse d’un fichier zip de plugin à télécharger, ou encore l’adresse d’une liste de plugins.',
713
-	'plugin_zip_adresse_champ' => 'Adresse du plugin ou de la liste ',
714
-	'plugin_zip_content' => 'Il contient les fichiers suivants (@taille@),<br />prêts à installer dans le répertoire <code>@rep@</code>',
715
-	'plugin_zip_installe_finie' => 'Le fichier @zip@ a été décompacté et installé.',
716
-	'plugin_zip_installe_rep_finie' => 'Le fichier @zip@ a été décompacté et installé dans le répertoire @rep@',
717
-	'plugin_zip_installer' => 'Vous pouvez maintenant l’installer.',
718
-	'plugin_zip_telecharge' => 'Le fichier @zip@ a été téléchargé',
719
-	'plugins_actif_aucun' => 'Aucun plugin activé.',
720
-	'plugins_actif_un' => 'Un plugin activé.',
721
-	'plugins_actifs' => '@count@ plugins activés.',
722
-	'plugins_actifs_liste' => 'Actifs',
723
-	'plugins_compte' => '@count@ plugins',
724
-	'plugins_disponible_un' => 'Un plugin disponible.',
725
-	'plugins_disponibles' => '@count@ plugins disponibles.',
726
-	'plugins_erreur' => 'Erreur dans les plugins : @plugins@',
727
-	'plugins_liste' => 'Liste des plugins',
728
-	'plugins_liste_dist' => 'Plugins verrouillés',
729
-	'plugins_recents' => 'Plugins récents.',
730
-	'plugins_tous_liste' => 'Tous',
731
-	'plugins_vue_hierarchie' => 'Hiérarchie',
732
-	'plugins_vue_liste' => 'Liste',
733
-	'protocole_ldap' => 'Version du protocole :',
658
+    // P
659
+    'page_pas_proxy' => 'Cette page ne doit pas passer par le proxy',
660
+    'pas_de_proxy_pour' => 'Au besoin, indiquez les machines ou domaines pour lesquels ce proxy ne doit pas s’appliquer (par exemple : @exemple@)',
661
+    'phpinfo' => 'Configuration PHP',
662
+    'plugin_charge_paquet' => 'Chargement du paquet @name@',
663
+    'plugin_charger' => 'Télécharger',
664
+    'plugin_erreur_charger' => 'erreur : impossible de charger @zip@',
665
+    'plugin_erreur_droit1' => 'Le répertoire <code>@dest@</code> n’est pas accessible en écriture.',
666
+    'plugin_erreur_droit2' => 'Veuillez vérifier les droits sur ce répertoire (et le créer le cas échéant), ou installer les fichiers par FTP.',
667
+    'plugin_erreur_zip' => 'échec pclzip : erreur @status@',
668
+    'plugin_etat_developpement' => 'en développement',
669
+    'plugin_etat_experimental' => 'expérimental',
670
+    'plugin_etat_stable' => 'stable',
671
+    'plugin_etat_test' => 'en test',
672
+    'plugin_impossible_activer' => 'Impossible d’activer le plugin @plugin@',
673
+    'plugin_info_automatique1' => 'Si vous souhaitez autoriser l’installation automatique des plugins, veuillez :',
674
+    'plugin_info_automatique1_lib' => 'Si vous souhaitez autoriser l’installation automatique de cette librairie, veuillez :',
675
+    'plugin_info_automatique2' => 'créer un répertoire <code>@rep@</code> ;',
676
+    'plugin_info_automatique3' => 'vérifier que le serveur est autorisé à écrire dans ce répertoire.',
677
+    'plugin_info_automatique_creer' => 'à créer à la racine du site.',
678
+    'plugin_info_automatique_exemples' => 'exemples :',
679
+    'plugin_info_automatique_ftp' => 'Vous pouvez installer des plugins, par FTP, dans le répertoire <tt>@rep@</tt>',
680
+    'plugin_info_automatique_lib' => 'Certains plugins demandent aussi à pouvoir télécharger des fichiers dans le répertoire <code>lib/</code>, à créer le cas échéant à la racine du site.',
681
+    'plugin_info_automatique_liste' => 'Vos listes de plugins :',
682
+    'plugin_info_automatique_liste_officielle' => 'les plugins officiels',
683
+    'plugin_info_automatique_liste_update' => 'Mettre à jour les listes',
684
+    'plugin_info_automatique_ou' => 'ou...',
685
+    'plugin_info_automatique_select' => 'Sélectionnez ci-dessous un plugin : SPIP le téléchargera et l’installera dans le répertoire <code>@rep@</code> ; si ce plugin existe déjà, il sera mis à jour.',
686
+    'plugin_info_credit' => 'Crédits',
687
+    'plugin_info_erreur_xml' => 'La déclaration de ce plugin est incorrecte',
688
+    'plugin_info_install_ok' => 'Installation réussie',
689
+    'plugin_info_necessite' => 'Nécessite :',
690
+    'plugin_info_non_compatible_spip' => 'Ce plugin n’est pas compatible avec cette version de SPIP',
691
+    'plugin_info_plugins_dist_1' => 'Les plugins ci-dessous sont chargés et activés dans le répertoire @plugins_dist@.',
692
+    'plugin_info_plugins_dist_2' => 'Ils ne sont pas désactivables.',
693
+    'plugin_info_telecharger' => 'à télécharger depuis @url@ et à installer dans @rep@',
694
+    'plugin_info_upgrade_ok' => 'Mise à jour réussie',
695
+    'plugin_librairies_installees' => 'Librairies installées',
696
+    'plugin_necessite_extension_php' => 'Nécessite l’extension PHP @plugin@ en version @version@.',
697
+    'plugin_necessite_extension_php_sans_version' => 'Nécessite l’extension PHP @plugin@',
698
+    'plugin_necessite_lib' => 'Ce plugin nécessite la librairie @lib@',
699
+    'plugin_necessite_php' => 'Nécessite @plugin@ en version @version@.',
700
+    'plugin_necessite_plugin' => 'Nécessite le plugin @plugin@ en version @version@.',
701
+    'plugin_necessite_plugin_sans_version' => 'Nécessite le plugin @plugin@',
702
+    'plugin_necessite_spip' => 'Nécessite SPIP en version @version@ minimum.',
703
+    'plugin_source' => 'source : ',
704
+    'plugin_titre_automatique' => 'Installation automatique',
705
+    'plugin_titre_automatique_ajouter' => 'Ajouter des plugins',
706
+    'plugin_titre_installation' => 'Installation du plugin @plugin@',
707
+    'plugin_titre_modifier' => 'Mes plugins',
708
+    'plugin_utilise_extension_php' => 'L’extension PHP @plugin@ doit être en version @version@.',
709
+    'plugin_utilise_php' => '@plugin@ doit être en version @version@.',
710
+    'plugin_utilise_plugin' => 'Le plugin @plugin@ doit être en version @version@.',
711
+    'plugin_zip_active' => 'Continuez pour l’activer',
712
+    'plugin_zip_adresse' => 'indiquez ci-dessous l’adresse d’un fichier zip de plugin à télécharger, ou encore l’adresse d’une liste de plugins.',
713
+    'plugin_zip_adresse_champ' => 'Adresse du plugin ou de la liste ',
714
+    'plugin_zip_content' => 'Il contient les fichiers suivants (@taille@),<br />prêts à installer dans le répertoire <code>@rep@</code>',
715
+    'plugin_zip_installe_finie' => 'Le fichier @zip@ a été décompacté et installé.',
716
+    'plugin_zip_installe_rep_finie' => 'Le fichier @zip@ a été décompacté et installé dans le répertoire @rep@',
717
+    'plugin_zip_installer' => 'Vous pouvez maintenant l’installer.',
718
+    'plugin_zip_telecharge' => 'Le fichier @zip@ a été téléchargé',
719
+    'plugins_actif_aucun' => 'Aucun plugin activé.',
720
+    'plugins_actif_un' => 'Un plugin activé.',
721
+    'plugins_actifs' => '@count@ plugins activés.',
722
+    'plugins_actifs_liste' => 'Actifs',
723
+    'plugins_compte' => '@count@ plugins',
724
+    'plugins_disponible_un' => 'Un plugin disponible.',
725
+    'plugins_disponibles' => '@count@ plugins disponibles.',
726
+    'plugins_erreur' => 'Erreur dans les plugins : @plugins@',
727
+    'plugins_liste' => 'Liste des plugins',
728
+    'plugins_liste_dist' => 'Plugins verrouillés',
729
+    'plugins_recents' => 'Plugins récents.',
730
+    'plugins_tous_liste' => 'Tous',
731
+    'plugins_vue_hierarchie' => 'Hiérarchie',
732
+    'plugins_vue_liste' => 'Liste',
733
+    'protocole_ldap' => 'Version du protocole :',
734 734
 
735
-	// Q
736
-	'queue_executer_maintenant' => 'Exécuter maintenant',
737
-	'queue_info_purger' => 'Vous pouvez supprimer toutes les tâches de fond en attente et réinitialiser la liste avec les tâches périodiques',
738
-	'queue_nb_jobs_in_queue' => '@nb@ tâches en attente',
739
-	'queue_next_job_in_nb_sec' => 'Prochaine tâche dans @nb@ s',
740
-	'queue_no_job_in_queue' => 'Aucune tâche en attente',
741
-	'queue_one_job_in_queue' => '1 tâche en attente',
742
-	'queue_priorite_tache' => 'priorité',
743
-	'queue_purger_queue' => 'Réinitialiser la liste des tâches',
744
-	'queue_titre' => 'Tâches de fond',
735
+    // Q
736
+    'queue_executer_maintenant' => 'Exécuter maintenant',
737
+    'queue_info_purger' => 'Vous pouvez supprimer toutes les tâches de fond en attente et réinitialiser la liste avec les tâches périodiques',
738
+    'queue_nb_jobs_in_queue' => '@nb@ tâches en attente',
739
+    'queue_next_job_in_nb_sec' => 'Prochaine tâche dans @nb@ s',
740
+    'queue_no_job_in_queue' => 'Aucune tâche en attente',
741
+    'queue_one_job_in_queue' => '1 tâche en attente',
742
+    'queue_priorite_tache' => 'priorité',
743
+    'queue_purger_queue' => 'Réinitialiser la liste des tâches',
744
+    'queue_titre' => 'Tâches de fond',
745 745
 
746
-	// R
747
-	'repertoire_plugins' => 'Répertoire :',
748
-	'required' => '(obligatoire)',
746
+    // R
747
+    'repertoire_plugins' => 'Répertoire :',
748
+    'required' => '(obligatoire)',
749 749
 
750
-	// S
751
-	'sans_heure' => 'sans heure',
752
-	'statut_admin_restreint' => 'admin restreint',
753
-	'statut_webmestre' => 'webmestre',
750
+    // S
751
+    'sans_heure' => 'sans heure',
752
+    'statut_admin_restreint' => 'admin restreint',
753
+    'statut_webmestre' => 'webmestre',
754 754
 
755
-	// T
756
-	'tache_cron_asap' => 'Tâche CRON @function@ (ASAP)',
757
-	'tache_cron_secondes' => 'Tâche CRON @function@ (toutes les @nb@ s)',
758
-	'taille_cache_image' => 'Les images calculées automatiquement par SPIP (vignettes des documents, titres présentés sous forme graphique, fonctions mathématiques au format TeX...) occupent dans le répertoire @dir@ un total de @taille@.',
759
-	'taille_cache_moins_de' => 'La taille du cache est de moins de @octets@.',
760
-	'taille_cache_octets' => 'La taille du cache est actuellement de @octets@ environ.',
761
-	'taille_cache_vide' => 'Le cache est vide.',
762
-	'taille_repertoire_cache' => 'Taille du répertoire cache',
763
-	'text_article_propose_publication' => 'Article proposé pour la publication.',
764
-	'texte_acces_ldap_anonyme_1' => 'Certains serveurs LDAP n’acceptent aucun accès anonyme. Dans ce cas il faut spécifier un identifiant d’accès initial afin de pouvoir ensuite rechercher des informations dans l’annuaire. Dans la plupart des cas néanmoins, les champs suivants pourront être laissés vides.',
765
-	'texte_admin_effacer_01' => 'Cette commande efface <i>tout</i> le contenu de la base de données,
755
+    // T
756
+    'tache_cron_asap' => 'Tâche CRON @function@ (ASAP)',
757
+    'tache_cron_secondes' => 'Tâche CRON @function@ (toutes les @nb@ s)',
758
+    'taille_cache_image' => 'Les images calculées automatiquement par SPIP (vignettes des documents, titres présentés sous forme graphique, fonctions mathématiques au format TeX...) occupent dans le répertoire @dir@ un total de @taille@.',
759
+    'taille_cache_moins_de' => 'La taille du cache est de moins de @octets@.',
760
+    'taille_cache_octets' => 'La taille du cache est actuellement de @octets@ environ.',
761
+    'taille_cache_vide' => 'Le cache est vide.',
762
+    'taille_repertoire_cache' => 'Taille du répertoire cache',
763
+    'text_article_propose_publication' => 'Article proposé pour la publication.',
764
+    'texte_acces_ldap_anonyme_1' => 'Certains serveurs LDAP n’acceptent aucun accès anonyme. Dans ce cas il faut spécifier un identifiant d’accès initial afin de pouvoir ensuite rechercher des informations dans l’annuaire. Dans la plupart des cas néanmoins, les champs suivants pourront être laissés vides.',
765
+    'texte_admin_effacer_01' => 'Cette commande efface <i>tout</i> le contenu de la base de données,
766 766
 y compris <i>tous</i> les accès rédacteurs et administrateurs. Après l’avoir exécutée, vous devrez lancer la
767 767
 réinstallation de SPIP pour recréer une nouvelle base ainsi qu’un premier accès administrateur.',
768
-	'texte_adresse_annuaire_1' => '(Si votre annuaire est installé sur la même machine que ce site Web, il s’agit probablement de « localhost ».)',
769
-	'texte_ajout_auteur' => 'L’auteur suivant a été ajouté à l’article :',
770
-	'texte_annuaire_ldap_1' => 'Si vous avez accès à un annuaire (LDAP), vous pouvez l’utiliser pour importer automatiquement des utilisateurs sous SPIP.',
771
-	'texte_article_statut' => 'Cet article est :',
772
-	'texte_article_virtuel' => 'Article virtuel',
773
-	'texte_article_virtuel_reference' => '<b>Article virtuel :</b> article référencé dans votre site SPIP, mais redirigé vers une autre URL. Pour supprimer la redirection, effacez l’URL ci-dessus.',
774
-	'texte_aucun_resultat_auteur' => 'Aucun résultat pour "@cherche_auteur@"',
775
-	'texte_auteur_messagerie' => 'Ce site peut vous indiquer en permanence la liste des rédacteurs connectés, ce qui vous permet d’échanger des messages en direct. Vous pouvez décider de ne pas apparaître dans cette liste (vous êtes « invisible » pour les autres utilisateurs).',
776
-	'texte_auteurs' => 'LES AUTEURS',
777
-	'texte_choix_base_1' => 'Choisissez votre base :',
778
-	'texte_choix_base_2' => 'Le serveur SQL contient plusieurs bases de données.',
779
-	'texte_choix_base_3' => '<b>Sélectionnez</b> ci-après celle qui vous a été attribuée par votre hébergeur :',
780
-	'texte_choix_table_prefix' => 'Préfixe des tables :',
781
-	'texte_compte_element' => '@count@ élément',
782
-	'texte_compte_elements' => '@count@ éléments',
783
-	'texte_conflit_edition_correction' => 'Veuillez contrôler ci-dessous les différences entre les deux versions du texte ; vous pouvez aussi copier vos modifications, puis recommencer.',
784
-	'texte_connexion_mysql' => 'Consultez les informations fournies par votre hébergeur : vous devez y trouver le serveur de base de données qu’il propose et vos identifiants personnels pour vous y connecter.',
785
-	'texte_contenu_article' => '(Contenu de l’article en quelques mots.)',
786
-	'texte_contenu_articles' => 'Selon la maquette adoptée pour votre site, vous pouvez décider
768
+    'texte_adresse_annuaire_1' => '(Si votre annuaire est installé sur la même machine que ce site Web, il s’agit probablement de « localhost ».)',
769
+    'texte_ajout_auteur' => 'L’auteur suivant a été ajouté à l’article :',
770
+    'texte_annuaire_ldap_1' => 'Si vous avez accès à un annuaire (LDAP), vous pouvez l’utiliser pour importer automatiquement des utilisateurs sous SPIP.',
771
+    'texte_article_statut' => 'Cet article est :',
772
+    'texte_article_virtuel' => 'Article virtuel',
773
+    'texte_article_virtuel_reference' => '<b>Article virtuel :</b> article référencé dans votre site SPIP, mais redirigé vers une autre URL. Pour supprimer la redirection, effacez l’URL ci-dessus.',
774
+    'texte_aucun_resultat_auteur' => 'Aucun résultat pour "@cherche_auteur@"',
775
+    'texte_auteur_messagerie' => 'Ce site peut vous indiquer en permanence la liste des rédacteurs connectés, ce qui vous permet d’échanger des messages en direct. Vous pouvez décider de ne pas apparaître dans cette liste (vous êtes « invisible » pour les autres utilisateurs).',
776
+    'texte_auteurs' => 'LES AUTEURS',
777
+    'texte_choix_base_1' => 'Choisissez votre base :',
778
+    'texte_choix_base_2' => 'Le serveur SQL contient plusieurs bases de données.',
779
+    'texte_choix_base_3' => '<b>Sélectionnez</b> ci-après celle qui vous a été attribuée par votre hébergeur :',
780
+    'texte_choix_table_prefix' => 'Préfixe des tables :',
781
+    'texte_compte_element' => '@count@ élément',
782
+    'texte_compte_elements' => '@count@ éléments',
783
+    'texte_conflit_edition_correction' => 'Veuillez contrôler ci-dessous les différences entre les deux versions du texte ; vous pouvez aussi copier vos modifications, puis recommencer.',
784
+    'texte_connexion_mysql' => 'Consultez les informations fournies par votre hébergeur : vous devez y trouver le serveur de base de données qu’il propose et vos identifiants personnels pour vous y connecter.',
785
+    'texte_contenu_article' => '(Contenu de l’article en quelques mots.)',
786
+    'texte_contenu_articles' => 'Selon la maquette adoptée pour votre site, vous pouvez décider
787 787
 		que certains éléments des articles ne sont pas utilisés.
788 788
 		Utilisez la liste ci-dessous pour indiquer quels éléments sont disponibles.',
789
-	'texte_crash_base' => 'Si votre base de données a
789
+    'texte_crash_base' => 'Si votre base de données a
790 790
 			crashé, vous pouvez tenter une réparation
791 791
 			automatique.',
792
-	'texte_creer_rubrique' => 'Avant de pouvoir écrire des articles,<br /> vous devez créer une rubrique.',
793
-	'texte_date_creation_article' => 'DATE DE CRÉATION DE L’ARTICLE :', # on ajoute le ":"
794
-	'texte_date_creation_objet' => 'Date de création :', # on ajoute le ":"
795
-	'texte_date_publication_anterieure' => 'Date de rédaction antérieure :',
796
-	'texte_date_publication_anterieure_nonaffichee' => 'Ne pas afficher de date de rédaction antérieure.',
797
-	'texte_date_publication_article' => 'DATE DE PUBLICATION EN LIGNE :',
798
-	'texte_date_publication_objet' => 'Date de publication en ligne :',
799
-	'texte_definir_comme_traduction_rubrique' => 'Cette rubrique est une traduction de la rubrique numéro :',
800
-	'texte_descriptif_rapide' => 'Descriptif rapide',
801
-	'texte_effacer_base' => 'Effacer la base de données SPIP',
802
-	'texte_effacer_statistiques' => 'Effacer les statistiques',
803
-	'texte_en_cours_validation' => 'Les contenus ci-dessous sont en attente de validation.',
804
-	'texte_enrichir_mise_a_jour' => 'Vous pouvez enrichir la mise en page de votre texte en utilisant des « raccourcis typographiques ».',
805
-	'texte_fichier_authent' => '<b>SPIP doit-il créer les fichiers spéciaux
792
+    'texte_creer_rubrique' => 'Avant de pouvoir écrire des articles,<br /> vous devez créer une rubrique.',
793
+    'texte_date_creation_article' => 'DATE DE CRÉATION DE L’ARTICLE :', # on ajoute le ":"
794
+    'texte_date_creation_objet' => 'Date de création :', # on ajoute le ":"
795
+    'texte_date_publication_anterieure' => 'Date de rédaction antérieure :',
796
+    'texte_date_publication_anterieure_nonaffichee' => 'Ne pas afficher de date de rédaction antérieure.',
797
+    'texte_date_publication_article' => 'DATE DE PUBLICATION EN LIGNE :',
798
+    'texte_date_publication_objet' => 'Date de publication en ligne :',
799
+    'texte_definir_comme_traduction_rubrique' => 'Cette rubrique est une traduction de la rubrique numéro :',
800
+    'texte_descriptif_rapide' => 'Descriptif rapide',
801
+    'texte_effacer_base' => 'Effacer la base de données SPIP',
802
+    'texte_effacer_statistiques' => 'Effacer les statistiques',
803
+    'texte_en_cours_validation' => 'Les contenus ci-dessous sont en attente de validation.',
804
+    'texte_enrichir_mise_a_jour' => 'Vous pouvez enrichir la mise en page de votre texte en utilisant des « raccourcis typographiques ».',
805
+    'texte_fichier_authent' => '<b>SPIP doit-il créer les fichiers spéciaux
806 806
 <tt>.htpasswd</tt> et <tt>.htpasswd-admin</tt> dans le répertoire @dossier@ ?</b>
807 807
 <p>Ces fichiers peuvent vous servir à restreindre l’accès aux auteurs et administrateurs en d’autres endroits de votre site (programme externe de statistiques, par exemple).</p>
808 808
 <p>Si vous n’en avez pas l’utilité, vous pouvez laisser cette option à sa valeur par défaut (pas de création des fichiers).</p>',
809
-	'texte_informations_personnelles_1' => 'Le système va maintenant vous créer un accès personnalisé au site.',
810
-	'texte_informations_personnelles_2' => '(Note : il s’agit d’une réinstallation, si votre accès marche toujours vous pouvez',
811
-	'texte_introductif_article' => '(Texte introductif de l’article.)',
812
-	'texte_jeu_caractere' => 'Il est conseillé d’employer, sur votre site, l’alphabet universel (<tt>utf-8</tt>) : celui-ci permet l’affichage de textes dans toutes les langues, et ne pose plus de problèmes de compatibilité avec les navigateurs modernes.',
813
-	'texte_jeu_caractere_3' => 'Votre site est actuellement installé dans le jeu de caractères :',
814
-	'texte_jeu_caractere_4' => 'Si cela ne correspond pas à la réalité de vos données (suite, par exemple, à une restauration de base de données), ou si <em>vous démarrez ce site</em> et souhaitez partir sur un autre jeu de caractères, veuillez indiquer ce dernier ici :',
815
-	'texte_login_ldap_1' => '(Laisser vide pour un accès anonyme, ou entrer le chemin complet, par exemple « <tt>uid=dupont, ou=users, dc=mon-domaine, dc=com</tt> ».)',
816
-	'texte_login_precaution' => 'Attention ! Ceci est le login sous lequel vous êtes connecté actuellement.
809
+    'texte_informations_personnelles_1' => 'Le système va maintenant vous créer un accès personnalisé au site.',
810
+    'texte_informations_personnelles_2' => '(Note : il s’agit d’une réinstallation, si votre accès marche toujours vous pouvez',
811
+    'texte_introductif_article' => '(Texte introductif de l’article.)',
812
+    'texte_jeu_caractere' => 'Il est conseillé d’employer, sur votre site, l’alphabet universel (<tt>utf-8</tt>) : celui-ci permet l’affichage de textes dans toutes les langues, et ne pose plus de problèmes de compatibilité avec les navigateurs modernes.',
813
+    'texte_jeu_caractere_3' => 'Votre site est actuellement installé dans le jeu de caractères :',
814
+    'texte_jeu_caractere_4' => 'Si cela ne correspond pas à la réalité de vos données (suite, par exemple, à une restauration de base de données), ou si <em>vous démarrez ce site</em> et souhaitez partir sur un autre jeu de caractères, veuillez indiquer ce dernier ici :',
815
+    'texte_login_ldap_1' => '(Laisser vide pour un accès anonyme, ou entrer le chemin complet, par exemple « <tt>uid=dupont, ou=users, dc=mon-domaine, dc=com</tt> ».)',
816
+    'texte_login_precaution' => 'Attention ! Ceci est le login sous lequel vous êtes connecté actuellement.
817 817
 	Utilisez ce formulaire avec précaution...',
818
-	'texte_messagerie_agenda' => 'Une messagerie permet aux rédacteurs du site de communiquer entre eux directement dans l’espace privé du site. Elle est associée à un agenda.',
819
-	'texte_mise_a_niveau_base_1' => 'Vous venez de mettre à jour les fichiers SPIP.
818
+    'texte_messagerie_agenda' => 'Une messagerie permet aux rédacteurs du site de communiquer entre eux directement dans l’espace privé du site. Elle est associée à un agenda.',
819
+    'texte_mise_a_niveau_base_1' => 'Vous venez de mettre à jour les fichiers SPIP.
820 820
 	Il faut maintenant mettre à niveau la base de données
821 821
 	du site.',
822
-	'texte_modifier_article' => 'Modifier l’article :',
823
-	'texte_multilinguisme' => 'Si vous souhaitez gérer des objets en plusieurs langues, avec une navigation complexe, vous pouvez ajouter un menu de sélection de langue sur ces objets, en fonction de l’organisation de votre site.',
824
-	'texte_multilinguisme_trad' => 'Vous pouvez également activer un système de gestion de liens entre les différentes traductions sur certains objets.',
825
-	'texte_non_compresse' => '<i>non compressé</i> (votre serveur ne supportant pas cette fonctionnalité)',
826
-	'texte_nouvelle_version_spip_1' => 'Vous avez installé une nouvelle version de SPIP.',
827
-	'texte_nouvelle_version_spip_2' => 'Cette nouvelle version nécessite une mise à jour plus complète qu’à l’accoutumée. Si vous êtes webmestre du site, veuillez effacer le fichier @connect@ et reprendre l’installation afin de mettre à jour vos paramètres de connexion à la base de données.<p> (NB. : si vous avez oublié vos paramètres de connexion, jetez un œil au fichier @connect@ avant de le supprimer...)</p>',
828
-	'texte_operation_echec' => 'Retournez à la page précédente, sélectionnez une autre base ou créez-en une nouvelle. Vérifiez les informations fournies par votre hébergeur.',
829
-	'texte_plus_trois_car' => 'plus de 3 caractères',
830
-	'texte_plusieurs_articles' => 'Plusieurs auteurs trouvés pour "@cherche_auteur@" :',
831
-	'texte_port_annuaire' => '(La valeur indiquée par défaut convient généralement.)',
832
-	'texte_presente_plugin' => 'Cette page liste les plugins disponibles sur le site. Vous pouvez activer les plugins nécessaires en cochant la case correspondante.',
833
-	'texte_proposer_publication' => 'Lorsque votre article est terminé,<br /> vous pouvez proposer sa publication.',
834
-	'texte_proxy' => 'Dans certains cas (intranet, réseaux protégés), les sites distants (documentation de SPIP, sites syndiqués, etc.) ne sont accessibles qu’à travers un <i>proxy HTTP</i>. Le cas échéant, indiquez ci-dessous son adresse, sous la forme @proxy_en_cours@. En général, vous laisserez cette case vide.',
835
-	'texte_publication_articles_post_dates' => 'Quel comportement SPIP doit-il adopter face aux articles dont la
822
+    'texte_modifier_article' => 'Modifier l’article :',
823
+    'texte_multilinguisme' => 'Si vous souhaitez gérer des objets en plusieurs langues, avec une navigation complexe, vous pouvez ajouter un menu de sélection de langue sur ces objets, en fonction de l’organisation de votre site.',
824
+    'texte_multilinguisme_trad' => 'Vous pouvez également activer un système de gestion de liens entre les différentes traductions sur certains objets.',
825
+    'texte_non_compresse' => '<i>non compressé</i> (votre serveur ne supportant pas cette fonctionnalité)',
826
+    'texte_nouvelle_version_spip_1' => 'Vous avez installé une nouvelle version de SPIP.',
827
+    'texte_nouvelle_version_spip_2' => 'Cette nouvelle version nécessite une mise à jour plus complète qu’à l’accoutumée. Si vous êtes webmestre du site, veuillez effacer le fichier @connect@ et reprendre l’installation afin de mettre à jour vos paramètres de connexion à la base de données.<p> (NB. : si vous avez oublié vos paramètres de connexion, jetez un œil au fichier @connect@ avant de le supprimer...)</p>',
828
+    'texte_operation_echec' => 'Retournez à la page précédente, sélectionnez une autre base ou créez-en une nouvelle. Vérifiez les informations fournies par votre hébergeur.',
829
+    'texte_plus_trois_car' => 'plus de 3 caractères',
830
+    'texte_plusieurs_articles' => 'Plusieurs auteurs trouvés pour "@cherche_auteur@" :',
831
+    'texte_port_annuaire' => '(La valeur indiquée par défaut convient généralement.)',
832
+    'texte_presente_plugin' => 'Cette page liste les plugins disponibles sur le site. Vous pouvez activer les plugins nécessaires en cochant la case correspondante.',
833
+    'texte_proposer_publication' => 'Lorsque votre article est terminé,<br /> vous pouvez proposer sa publication.',
834
+    'texte_proxy' => 'Dans certains cas (intranet, réseaux protégés), les sites distants (documentation de SPIP, sites syndiqués, etc.) ne sont accessibles qu’à travers un <i>proxy HTTP</i>. Le cas échéant, indiquez ci-dessous son adresse, sous la forme @proxy_en_cours@. En général, vous laisserez cette case vide.',
835
+    'texte_publication_articles_post_dates' => 'Quel comportement SPIP doit-il adopter face aux articles dont la
836 836
 		date de publication a été fixée à une
837 837
 		échéance future ?',
838
-	'texte_rappel_selection_champs' => '[N’oubliez pas de sélectionner correctement ce champ.]',
839
-	'texte_recalcul_page' => 'Si vous voulez
838
+    'texte_rappel_selection_champs' => '[N’oubliez pas de sélectionner correctement ce champ.]',
839
+    'texte_recalcul_page' => 'Si vous voulez
840 840
 recalculer une seule page, passez plutôt par l’espace public et utilisez-y le bouton « recalculer ».',
841
-	'texte_recuperer_base' => 'Réparer la base de données',
842
-	'texte_reference_mais_redirige' => 'article référencé dans votre site SPIP, mais redirigé vers une autre URL.',
843
-	'texte_requetes_echouent' => '<b>Lorsque certaines requêtes SQL échouent
841
+    'texte_recuperer_base' => 'Réparer la base de données',
842
+    'texte_reference_mais_redirige' => 'article référencé dans votre site SPIP, mais redirigé vers une autre URL.',
843
+    'texte_requetes_echouent' => '<b>Lorsque certaines requêtes SQL échouent
844 844
   systématiquement et sans raison apparente, il est possible
845 845
   que ce soit à cause de la base de données
846 846
   elle-même.</b><p>
@@ -851,90 +851,90 @@  discard block
 block discarded – undo
851 851
   peut-être des indices de ce qui ne va pas...</p><p>
852 852
   Si le problème persiste, prenez contact avec votre
853 853
   hébergeur.</p>',
854
-	'texte_selection_langue_principale' => 'Vous pouvez sélectionner ci-dessous la « langue principale » du site. Ce choix ne vous oblige - heureusement ! - pas à écrire vos articles dans la langue sélectionnée, mais permet de déterminer :
854
+    'texte_selection_langue_principale' => 'Vous pouvez sélectionner ci-dessous la « langue principale » du site. Ce choix ne vous oblige - heureusement ! - pas à écrire vos articles dans la langue sélectionnée, mais permet de déterminer :
855 855
 	<ul><li> le format par défaut des dates sur le site public ;</li>
856 856
 	<li> la nature du moteur typographique que SPIP doit utiliser pour le rendu des textes ;</li>
857 857
 	<li> la langue utilisée dans les formulaires du site public ;</li>
858 858
 	<li> la langue présentée par défaut dans l’espace privé.</li></ul>',
859
-	'texte_sous_titre' => 'Sous-titre',
860
-	'texte_statistiques_visites' => '(barres foncées :  dimanche / courbe foncée : évolution de la moyenne)',
861
-	'texte_statut_attente_validation' => 'en attente de validation',
862
-	'texte_statut_publies' => 'publiés en ligne',
863
-	'texte_statut_refuses' => 'refusés',
864
-	'texte_suppression_fichiers' => 'Utilisez cette commande afin de supprimer tous les fichiers présents
859
+    'texte_sous_titre' => 'Sous-titre',
860
+    'texte_statistiques_visites' => '(barres foncées :  dimanche / courbe foncée : évolution de la moyenne)',
861
+    'texte_statut_attente_validation' => 'en attente de validation',
862
+    'texte_statut_publies' => 'publiés en ligne',
863
+    'texte_statut_refuses' => 'refusés',
864
+    'texte_suppression_fichiers' => 'Utilisez cette commande afin de supprimer tous les fichiers présents
865 865
 dans le cache SPIP. Cela permet par exemple de forcer un recalcul de toutes les pages si vous
866 866
 avez fait des modifications importantes de graphisme ou de structure du site.',
867
-	'texte_sur_titre' => 'Sur-titre',
868
-	'texte_table_ok' => ' : cette table est OK.',
869
-	'texte_tentative_recuperation' => 'Tentative de réparation',
870
-	'texte_tenter_reparation' => 'Tenter une réparation de la base de données',
871
-	'texte_test_proxy' => 'Pour faire un essai de ce proxy, indiquez ici l’adresse d’un site Web
867
+    'texte_sur_titre' => 'Sur-titre',
868
+    'texte_table_ok' => ' : cette table est OK.',
869
+    'texte_tentative_recuperation' => 'Tentative de réparation',
870
+    'texte_tenter_reparation' => 'Tenter une réparation de la base de données',
871
+    'texte_test_proxy' => 'Pour faire un essai de ce proxy, indiquez ici l’adresse d’un site Web
872 872
 				que vous souhaitez tester.',
873
-	'texte_titre_02' => 'Titre :',
874
-	'texte_titre_obligatoire' => '<b>Titre</b> [Obligatoire]',
875
-	'texte_travail_article' => '@nom_auteur_modif@ a travaillé sur cet article il y a @date_diff@ minutes',
876
-	'texte_travail_collaboratif' => 'S’il est fréquent que plusieurs rédacteurs
873
+    'texte_titre_02' => 'Titre :',
874
+    'texte_titre_obligatoire' => '<b>Titre</b> [Obligatoire]',
875
+    'texte_travail_article' => '@nom_auteur_modif@ a travaillé sur cet article il y a @date_diff@ minutes',
876
+    'texte_travail_collaboratif' => 'S’il est fréquent que plusieurs rédacteurs
877 877
 		travaillent sur le même article, le système
878 878
 		peut afficher les articles récemment « ouverts »
879 879
 		afin d’éviter les modifications simultanées.
880 880
 		Cette option est désactivée par défaut
881 881
 		afin d’éviter d’afficher des messages d’avertissement
882 882
 		intempestifs.',
883
-	'texte_vide' => 'vide',
884
-	'texte_vider_cache' => 'Vider le cache',
885
-	'titre_admin_tech' => 'Maintenance technique',
886
-	'titre_admin_vider' => 'Maintenance technique',
887
-	'titre_ajouter_un_auteur' => 'Ajouter un auteur',
888
-	'titre_ajouter_un_mot' => 'Ajouter un mot-clé',
889
-	'titre_cadre_afficher_article' => 'Afficher les articles',
890
-	'titre_cadre_afficher_traductions' => 'Afficher l’état des traductions pour les langues suivantes :',
891
-	'titre_cadre_ajouter_auteur' => 'AJOUTER UN AUTEUR :',
892
-	'titre_cadre_interieur_rubrique' => 'À l’intérieur de la rubrique',
893
-	'titre_cadre_numero_auteur' => 'AUTEUR NUMÉRO',
894
-	'titre_cadre_numero_objet' => '@objet@ NUMÉRO :',
895
-	'titre_cadre_signature_obligatoire' => '<b>Signature</b> [Obligatoire]<br />',
896
-	'titre_config_contenu_notifications' => 'Notifications',
897
-	'titre_config_contenu_prive' => 'Dans l’espace privé',
898
-	'titre_config_contenu_public' => 'Sur le site public',
899
-	'titre_config_fonctions' => 'Configuration du site',
900
-	'titre_config_langage' => 'Configurer la langue',
901
-	'titre_configuration' => 'Configuration du site',
902
-	'titre_configurer_preferences' => 'Configurer vos préférences',
903
-	'titre_configurer_preferences_menus' => 'Configurer vos préférences de menus',
904
-	'titre_conflit_edition' => 'Conflit lors de l’édition',
905
-	'titre_connexion_ldap' => 'Options : <b>Votre connexion LDAP</b>',
906
-	'titre_groupe_mots' => 'GROUPE DE MOTS :',
907
-	'titre_identite_site' => 'Identité du site',
908
-	'titre_langue_article' => 'Langue de l’article',
909
-	'titre_langue_rubrique' => 'Langue de la rubrique',
910
-	'titre_langue_trad_article' => 'LANGUE ET TRADUCTIONS DE L’ARTICLE',
911
-	'titre_les_articles' => 'LES ARTICLES',
912
-	'titre_messagerie_agenda' => 'Messagerie et agenda',
913
-	'titre_naviguer_dans_le_site' => 'Naviguer dans le site...',
914
-	'titre_nouvelle_rubrique' => 'Nouvelle rubrique',
915
-	'titre_numero_rubrique' => 'RUBRIQUE NUMÉRO :',
916
-	'titre_page_articles_edit' => 'Modifier : @titre@',
917
-	'titre_page_articles_page' => 'Les articles',
918
-	'titre_page_articles_tous' => 'Tout le site',
919
-	'titre_page_calendrier' => 'Calendrier @nom_mois@ @annee@',
920
-	'titre_page_config_contenu' => 'Configuration du site',
921
-	'titre_page_delete_all' => 'suppression totale et irréversible',
922
-	'titre_page_recherche' => 'Résultats de la recherche @recherche@',
923
-	'titre_page_statistiques_referers' => 'Statistiques (liens entrants)',
924
-	'titre_page_upgrade' => 'Mise à niveau de SPIP',
925
-	'titre_preference_menus_favoris' => 'Menus favoris',
926
-	'titre_publication_articles_post_dates' => 'Publication des articles post-datés',
927
-	'titre_reparation' => 'Réparation',
928
-	'titre_suivi_petition' => 'Suivi des pétitions',
929
-	'tls_ldap' => 'Transport Layer Security :',
930
-	'trad_article_traduction' => 'Toutes les versions de cet article :',
931
-	'trad_delier' => 'Ne plus lier à ces traductions',
932
-	'trad_lier' => 'Cet article est une traduction de l’article numéro :',
933
-	'trad_new' => 'Écrire une nouvelle traduction',
883
+    'texte_vide' => 'vide',
884
+    'texte_vider_cache' => 'Vider le cache',
885
+    'titre_admin_tech' => 'Maintenance technique',
886
+    'titre_admin_vider' => 'Maintenance technique',
887
+    'titre_ajouter_un_auteur' => 'Ajouter un auteur',
888
+    'titre_ajouter_un_mot' => 'Ajouter un mot-clé',
889
+    'titre_cadre_afficher_article' => 'Afficher les articles',
890
+    'titre_cadre_afficher_traductions' => 'Afficher l’état des traductions pour les langues suivantes :',
891
+    'titre_cadre_ajouter_auteur' => 'AJOUTER UN AUTEUR :',
892
+    'titre_cadre_interieur_rubrique' => 'À l’intérieur de la rubrique',
893
+    'titre_cadre_numero_auteur' => 'AUTEUR NUMÉRO',
894
+    'titre_cadre_numero_objet' => '@objet@ NUMÉRO :',
895
+    'titre_cadre_signature_obligatoire' => '<b>Signature</b> [Obligatoire]<br />',
896
+    'titre_config_contenu_notifications' => 'Notifications',
897
+    'titre_config_contenu_prive' => 'Dans l’espace privé',
898
+    'titre_config_contenu_public' => 'Sur le site public',
899
+    'titre_config_fonctions' => 'Configuration du site',
900
+    'titre_config_langage' => 'Configurer la langue',
901
+    'titre_configuration' => 'Configuration du site',
902
+    'titre_configurer_preferences' => 'Configurer vos préférences',
903
+    'titre_configurer_preferences_menus' => 'Configurer vos préférences de menus',
904
+    'titre_conflit_edition' => 'Conflit lors de l’édition',
905
+    'titre_connexion_ldap' => 'Options : <b>Votre connexion LDAP</b>',
906
+    'titre_groupe_mots' => 'GROUPE DE MOTS :',
907
+    'titre_identite_site' => 'Identité du site',
908
+    'titre_langue_article' => 'Langue de l’article',
909
+    'titre_langue_rubrique' => 'Langue de la rubrique',
910
+    'titre_langue_trad_article' => 'LANGUE ET TRADUCTIONS DE L’ARTICLE',
911
+    'titre_les_articles' => 'LES ARTICLES',
912
+    'titre_messagerie_agenda' => 'Messagerie et agenda',
913
+    'titre_naviguer_dans_le_site' => 'Naviguer dans le site...',
914
+    'titre_nouvelle_rubrique' => 'Nouvelle rubrique',
915
+    'titre_numero_rubrique' => 'RUBRIQUE NUMÉRO :',
916
+    'titre_page_articles_edit' => 'Modifier : @titre@',
917
+    'titre_page_articles_page' => 'Les articles',
918
+    'titre_page_articles_tous' => 'Tout le site',
919
+    'titre_page_calendrier' => 'Calendrier @nom_mois@ @annee@',
920
+    'titre_page_config_contenu' => 'Configuration du site',
921
+    'titre_page_delete_all' => 'suppression totale et irréversible',
922
+    'titre_page_recherche' => 'Résultats de la recherche @recherche@',
923
+    'titre_page_statistiques_referers' => 'Statistiques (liens entrants)',
924
+    'titre_page_upgrade' => 'Mise à niveau de SPIP',
925
+    'titre_preference_menus_favoris' => 'Menus favoris',
926
+    'titre_publication_articles_post_dates' => 'Publication des articles post-datés',
927
+    'titre_reparation' => 'Réparation',
928
+    'titre_suivi_petition' => 'Suivi des pétitions',
929
+    'tls_ldap' => 'Transport Layer Security :',
930
+    'trad_article_traduction' => 'Toutes les versions de cet article :',
931
+    'trad_delier' => 'Ne plus lier à ces traductions',
932
+    'trad_lier' => 'Cet article est une traduction de l’article numéro :',
933
+    'trad_new' => 'Écrire une nouvelle traduction',
934 934
 
935
-	// U
936
-	'utf8_convert_erreur_orig' => 'Erreur : le jeu de caractères @charset@ n’est pas supporté.',
935
+    // U
936
+    'utf8_convert_erreur_orig' => 'Erreur : le jeu de caractères @charset@ n’est pas supporté.',
937 937
 
938
-	// V
939
-	'version' => 'Version :'
938
+    // V
939
+    'version' => 'Version :'
940 940
 );
Please login to merge, or discard this patch.
ecrire/public/interfaces.php 2 patches
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -813,9 +813,9 @@
 block discarded – undo
813 813
 	if (!defined('_TRAITEMENT_TYPO_SANS_NUMERO')) {
814 814
 		define('_TRAITEMENT_TYPO_SANS_NUMERO', 'supprimer_numero(typo(%s, "TYPO", $connect, $Pile[0]))');
815 815
 	}
816
-	$GLOBALS['table_des_traitements']['BIO'][] = 'safehtml(' . _TRAITEMENT_RACCOURCIS . ')';
816
+	$GLOBALS['table_des_traitements']['BIO'][] = 'safehtml('._TRAITEMENT_RACCOURCIS.')';
817 817
 	$GLOBALS['table_des_traitements']['NOM_SITE']['auteurs'] = 'entites_html(%s)';
818
-	$GLOBALS['table_des_traitements']['NOM']['auteurs'] = 'safehtml(' . _TRAITEMENT_TYPO_SANS_NUMERO . ')';
818
+	$GLOBALS['table_des_traitements']['NOM']['auteurs'] = 'safehtml('._TRAITEMENT_TYPO_SANS_NUMERO.')';
819 819
 	$GLOBALS['table_des_traitements']['CHAPO'][] = _TRAITEMENT_RACCOURCIS;
820 820
 	$GLOBALS['table_des_traitements']['DATE'][] = 'normaliser_date(%s)';
821 821
 	$GLOBALS['table_des_traitements']['DATE_REDAC'][] = 'normaliser_date(%s)';
Please login to merge, or discard this patch.
Indentation   +85 added lines, -85 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
 
@@ -48,90 +48,90 @@  discard block
 block discarded – undo
48 48
  */
49 49
 function declarer_interfaces() {
50 50
 
51
-	$GLOBALS['table_des_tables']['articles'] = 'articles';
52
-	$GLOBALS['table_des_tables']['auteurs'] = 'auteurs';
53
-	$GLOBALS['table_des_tables']['rubriques'] = 'rubriques';
54
-	$GLOBALS['table_des_tables']['hierarchie'] = 'rubriques';
55
-
56
-	// definition des statuts de publication
57
-	$GLOBALS['table_statut'] = [];
58
-
59
-	//
60
-	// tableau des tables de jointures
61
-	// Ex: gestion du critere {id_mot} dans la boucle(ARTICLES)
62
-	$GLOBALS['tables_jointures'] = [];
63
-	$GLOBALS['tables_jointures']['spip_jobs'][] = 'jobs_liens';
64
-
65
-	// $GLOBALS['exceptions_des_jointures']['titre_mot'] = array('spip_mots', 'titre'); // pour exemple
66
-	$GLOBALS['exceptions_des_jointures']['profondeur'] = ['spip_rubriques', 'profondeur'];
67
-
68
-
69
-	if (!defined('_TRAITEMENT_TYPO')) {
70
-		define('_TRAITEMENT_TYPO', 'typo(%s, "TYPO", $connect, $Pile[0])');
71
-	}
72
-	if (!defined('_TRAITEMENT_RACCOURCIS')) {
73
-		define('_TRAITEMENT_RACCOURCIS', 'propre(%s, $connect, $Pile[0])');
74
-	}
75
-	if (!defined('_TRAITEMENT_TYPO_SANS_NUMERO')) {
76
-		define('_TRAITEMENT_TYPO_SANS_NUMERO', 'supprimer_numero(typo(%s, "TYPO", $connect, $Pile[0]))');
77
-	}
78
-	$GLOBALS['table_des_traitements']['BIO'][] = 'safehtml(' . _TRAITEMENT_RACCOURCIS . ')';
79
-	$GLOBALS['table_des_traitements']['NOM_SITE']['auteurs'] = 'entites_html(%s)';
80
-	$GLOBALS['table_des_traitements']['NOM']['auteurs'] = 'safehtml(' . _TRAITEMENT_TYPO_SANS_NUMERO . ')';
81
-	$GLOBALS['table_des_traitements']['CHAPO'][] = _TRAITEMENT_RACCOURCIS;
82
-	$GLOBALS['table_des_traitements']['DATE'][] = 'normaliser_date(%s)';
83
-	$GLOBALS['table_des_traitements']['DATE_REDAC'][] = 'normaliser_date(%s)';
84
-	$GLOBALS['table_des_traitements']['DATE_MODIF'][] = 'normaliser_date(%s)';
85
-	$GLOBALS['table_des_traitements']['DATE_NOUVEAUTES'][] = 'normaliser_date(%s)';
86
-	$GLOBALS['table_des_traitements']['DESCRIPTIF'][] = _TRAITEMENT_RACCOURCIS;
87
-	$GLOBALS['table_des_traitements']['INTRODUCTION'][] = _TRAITEMENT_RACCOURCIS;
88
-	$GLOBALS['table_des_traitements']['NOM_SITE_SPIP'][] = _TRAITEMENT_TYPO;
89
-	$GLOBALS['table_des_traitements']['NOM'][] = _TRAITEMENT_TYPO_SANS_NUMERO;
90
-	$GLOBALS['table_des_traitements']['AUTEUR'][] = _TRAITEMENT_TYPO;
91
-	$GLOBALS['table_des_traitements']['PS'][] = _TRAITEMENT_RACCOURCIS;
92
-	$GLOBALS['table_des_traitements']['SOURCE'][] = _TRAITEMENT_TYPO;
93
-	$GLOBALS['table_des_traitements']['SOUSTITRE'][] = _TRAITEMENT_TYPO;
94
-	$GLOBALS['table_des_traitements']['SURTITRE'][] = _TRAITEMENT_TYPO;
95
-	$GLOBALS['table_des_traitements']['TAGS'][] = '%s';
96
-	$GLOBALS['table_des_traitements']['TEXTE'][] = _TRAITEMENT_RACCOURCIS;
97
-	$GLOBALS['table_des_traitements']['TITRE'][] = _TRAITEMENT_TYPO_SANS_NUMERO;
98
-	$GLOBALS['table_des_traitements']['TYPE'][] = _TRAITEMENT_TYPO;
99
-	$GLOBALS['table_des_traitements']['DESCRIPTIF_SITE_SPIP'][] = _TRAITEMENT_RACCOURCIS;
100
-	$GLOBALS['table_des_traitements']['SLOGAN_SITE_SPIP'][] = _TRAITEMENT_TYPO;
101
-	$GLOBALS['table_des_traitements']['ENV'][] = 'entites_html(%s,true)';
102
-
103
-	// valeur par defaut pour les balises non listees ci-dessus
104
-	$GLOBALS['table_des_traitements']['*'][] = false; // pas de traitement, mais permet au compilo de trouver la declaration suivante
105
-	// toujours securiser les DATA
106
-	$GLOBALS['table_des_traitements']['*']['DATA'] = 'safehtml(%s)';
107
-	// expliciter pour VALEUR qui est un champ calcule et ne sera pas protege par le catch-all *
108
-	$GLOBALS['table_des_traitements']['VALEUR']['DATA'] = 'safehtml(%s)';
109
-
110
-
111
-	// gerer l'affectation en 2 temps car si le pipe n'est pas encore declare, on ecrase les globales
112
-	$interfaces = pipeline(
113
-		'declarer_tables_interfaces',
114
-		[
115
-			'table_des_tables' => $GLOBALS['table_des_tables'],
116
-			'exceptions_des_tables' => $GLOBALS['exceptions_des_tables'],
117
-			'table_date' => $GLOBALS['table_date'],
118
-			'table_titre' => $GLOBALS['table_titre'],
119
-			'tables_jointures' => $GLOBALS['tables_jointures'],
120
-			'exceptions_des_jointures' => $GLOBALS['exceptions_des_jointures'],
121
-			'table_des_traitements' => $GLOBALS['table_des_traitements'],
122
-			'table_statut' => $GLOBALS['table_statut'],
123
-		]
124
-	);
125
-	if ($interfaces) {
126
-		$GLOBALS['table_des_tables'] = $interfaces['table_des_tables'];
127
-		$GLOBALS['exceptions_des_tables'] = $interfaces['exceptions_des_tables'];
128
-		$GLOBALS['table_date'] = $interfaces['table_date'];
129
-		$GLOBALS['table_titre'] = $interfaces['table_titre'];
130
-		$GLOBALS['tables_jointures'] = $interfaces['tables_jointures'];
131
-		$GLOBALS['exceptions_des_jointures'] = $interfaces['exceptions_des_jointures'];
132
-		$GLOBALS['table_des_traitements'] = $interfaces['table_des_traitements'];
133
-		$GLOBALS['table_statut'] = $interfaces['table_statut'];
134
-	}
51
+    $GLOBALS['table_des_tables']['articles'] = 'articles';
52
+    $GLOBALS['table_des_tables']['auteurs'] = 'auteurs';
53
+    $GLOBALS['table_des_tables']['rubriques'] = 'rubriques';
54
+    $GLOBALS['table_des_tables']['hierarchie'] = 'rubriques';
55
+
56
+    // definition des statuts de publication
57
+    $GLOBALS['table_statut'] = [];
58
+
59
+    //
60
+    // tableau des tables de jointures
61
+    // Ex: gestion du critere {id_mot} dans la boucle(ARTICLES)
62
+    $GLOBALS['tables_jointures'] = [];
63
+    $GLOBALS['tables_jointures']['spip_jobs'][] = 'jobs_liens';
64
+
65
+    // $GLOBALS['exceptions_des_jointures']['titre_mot'] = array('spip_mots', 'titre'); // pour exemple
66
+    $GLOBALS['exceptions_des_jointures']['profondeur'] = ['spip_rubriques', 'profondeur'];
67
+
68
+
69
+    if (!defined('_TRAITEMENT_TYPO')) {
70
+        define('_TRAITEMENT_TYPO', 'typo(%s, "TYPO", $connect, $Pile[0])');
71
+    }
72
+    if (!defined('_TRAITEMENT_RACCOURCIS')) {
73
+        define('_TRAITEMENT_RACCOURCIS', 'propre(%s, $connect, $Pile[0])');
74
+    }
75
+    if (!defined('_TRAITEMENT_TYPO_SANS_NUMERO')) {
76
+        define('_TRAITEMENT_TYPO_SANS_NUMERO', 'supprimer_numero(typo(%s, "TYPO", $connect, $Pile[0]))');
77
+    }
78
+    $GLOBALS['table_des_traitements']['BIO'][] = 'safehtml(' . _TRAITEMENT_RACCOURCIS . ')';
79
+    $GLOBALS['table_des_traitements']['NOM_SITE']['auteurs'] = 'entites_html(%s)';
80
+    $GLOBALS['table_des_traitements']['NOM']['auteurs'] = 'safehtml(' . _TRAITEMENT_TYPO_SANS_NUMERO . ')';
81
+    $GLOBALS['table_des_traitements']['CHAPO'][] = _TRAITEMENT_RACCOURCIS;
82
+    $GLOBALS['table_des_traitements']['DATE'][] = 'normaliser_date(%s)';
83
+    $GLOBALS['table_des_traitements']['DATE_REDAC'][] = 'normaliser_date(%s)';
84
+    $GLOBALS['table_des_traitements']['DATE_MODIF'][] = 'normaliser_date(%s)';
85
+    $GLOBALS['table_des_traitements']['DATE_NOUVEAUTES'][] = 'normaliser_date(%s)';
86
+    $GLOBALS['table_des_traitements']['DESCRIPTIF'][] = _TRAITEMENT_RACCOURCIS;
87
+    $GLOBALS['table_des_traitements']['INTRODUCTION'][] = _TRAITEMENT_RACCOURCIS;
88
+    $GLOBALS['table_des_traitements']['NOM_SITE_SPIP'][] = _TRAITEMENT_TYPO;
89
+    $GLOBALS['table_des_traitements']['NOM'][] = _TRAITEMENT_TYPO_SANS_NUMERO;
90
+    $GLOBALS['table_des_traitements']['AUTEUR'][] = _TRAITEMENT_TYPO;
91
+    $GLOBALS['table_des_traitements']['PS'][] = _TRAITEMENT_RACCOURCIS;
92
+    $GLOBALS['table_des_traitements']['SOURCE'][] = _TRAITEMENT_TYPO;
93
+    $GLOBALS['table_des_traitements']['SOUSTITRE'][] = _TRAITEMENT_TYPO;
94
+    $GLOBALS['table_des_traitements']['SURTITRE'][] = _TRAITEMENT_TYPO;
95
+    $GLOBALS['table_des_traitements']['TAGS'][] = '%s';
96
+    $GLOBALS['table_des_traitements']['TEXTE'][] = _TRAITEMENT_RACCOURCIS;
97
+    $GLOBALS['table_des_traitements']['TITRE'][] = _TRAITEMENT_TYPO_SANS_NUMERO;
98
+    $GLOBALS['table_des_traitements']['TYPE'][] = _TRAITEMENT_TYPO;
99
+    $GLOBALS['table_des_traitements']['DESCRIPTIF_SITE_SPIP'][] = _TRAITEMENT_RACCOURCIS;
100
+    $GLOBALS['table_des_traitements']['SLOGAN_SITE_SPIP'][] = _TRAITEMENT_TYPO;
101
+    $GLOBALS['table_des_traitements']['ENV'][] = 'entites_html(%s,true)';
102
+
103
+    // valeur par defaut pour les balises non listees ci-dessus
104
+    $GLOBALS['table_des_traitements']['*'][] = false; // pas de traitement, mais permet au compilo de trouver la declaration suivante
105
+    // toujours securiser les DATA
106
+    $GLOBALS['table_des_traitements']['*']['DATA'] = 'safehtml(%s)';
107
+    // expliciter pour VALEUR qui est un champ calcule et ne sera pas protege par le catch-all *
108
+    $GLOBALS['table_des_traitements']['VALEUR']['DATA'] = 'safehtml(%s)';
109
+
110
+
111
+    // gerer l'affectation en 2 temps car si le pipe n'est pas encore declare, on ecrase les globales
112
+    $interfaces = pipeline(
113
+        'declarer_tables_interfaces',
114
+        [
115
+            'table_des_tables' => $GLOBALS['table_des_tables'],
116
+            'exceptions_des_tables' => $GLOBALS['exceptions_des_tables'],
117
+            'table_date' => $GLOBALS['table_date'],
118
+            'table_titre' => $GLOBALS['table_titre'],
119
+            'tables_jointures' => $GLOBALS['tables_jointures'],
120
+            'exceptions_des_jointures' => $GLOBALS['exceptions_des_jointures'],
121
+            'table_des_traitements' => $GLOBALS['table_des_traitements'],
122
+            'table_statut' => $GLOBALS['table_statut'],
123
+        ]
124
+    );
125
+    if ($interfaces) {
126
+        $GLOBALS['table_des_tables'] = $interfaces['table_des_tables'];
127
+        $GLOBALS['exceptions_des_tables'] = $interfaces['exceptions_des_tables'];
128
+        $GLOBALS['table_date'] = $interfaces['table_date'];
129
+        $GLOBALS['table_titre'] = $interfaces['table_titre'];
130
+        $GLOBALS['tables_jointures'] = $interfaces['tables_jointures'];
131
+        $GLOBALS['exceptions_des_jointures'] = $interfaces['exceptions_des_jointures'];
132
+        $GLOBALS['table_des_traitements'] = $interfaces['table_des_traitements'];
133
+        $GLOBALS['table_statut'] = $interfaces['table_statut'];
134
+    }
135 135
 }
136 136
 
137 137
 declarer_interfaces();
Please login to merge, or discard this patch.
ecrire/lang/ecrire_ar.php 1 patch
Indentation   +839 added lines, -839 removed lines patch added patch discarded remove patch
@@ -4,437 +4,437 @@  discard block
 block discarded – undo
4 4
 // ** ne pas modifier le fichier **
5 5
 
6 6
 if (!defined('_ECRIRE_INC_VERSION')) {
7
-	return;
7
+    return;
8 8
 }
9 9
 
10 10
 $GLOBALS[$GLOBALS['idx_lang']] = array(
11 11
 
12
-	// A
13
-	'activer_plugin' => 'تفعيل الملحق',
14
-	'affichage' => 'عرض',
15
-	'aide_non_disponible' => 'هذا القسم من التعليمات الفورية غير متوافر حالياً بهذه اللغة.',
16
-	'annuler_recherche' => 'إلغاء البحث',
17
-	'auteur' => 'المؤلف:',
18
-	'avis_acces_interdit' => 'الدخول محظور',
19
-	'avis_acces_interdit_prive' => 'ليس لديكم الأذونات الكافية للدخول الى الصفح <b>@exec@</b>.',
20
-	'avis_article_modifie' => 'تحذير، @nom_auteur_modif@ عمل على هذا المقال منذ @date_diff@ دقيقة',
21
-	'avis_aucun_resultat' => 'لا توجد نتائج.',
22
-	'avis_base_inaccessible' => 'لا يمكن الاتصال بقاعدة بيانات @base@.',
23
-	'avis_chemin_invalide_1' => 'لا يبدو المسار',
24
-	'avis_chemin_invalide_2' => 'الذي حددته صالحاً. الرجاء العودة الى الصفحة السابقة والتأكد من المعلومات المدخلة. والتأكد من المعلومات المدخلة.',
25
-	'avis_connexion_echec_1' => 'فشل الاتصال بقاعدة البيانات.',
26
-	'avis_connexion_echec_2' => 'عد الى الصفحة السابقة وتأكد من صحة المعلومات التي أدخلتها.',
27
-	'avis_connexion_echec_3' => '<b>ملاحظة</b> في العديد من اجهزة الخدمة، عليك <b>بطلب</b> تفعيل الدخول الى قاعدة البيانات قبل التمكن من استخدامها. اذا لم تتمكن من الاتصال بالقاعدة، تأكد من انك نفذت هذه الخطوة.',
28
-	'avis_connexion_erreur_creer_base' => 'لم يتم إنشاء قاعدة البيانات',
29
-	'avis_connexion_erreur_fichier_cle_manquant_1' => 'المشرف على الموقع هو الذي ينفذ التثبيت مع نسخة احتياطية للمفاتيح وكلمة السر الخاصة به ',
30
-	'avis_connexion_erreur_fichier_cle_manquant_2' => 'المشرف على الموقع هو الذي ينفذ التثبيت مع نسخة احتياطية للمفاتيح',
31
-	'avis_connexion_erreur_nom_base' => 'لا يجب ان يحتوي اسم القاعدة الا احرف وأرقام',
32
-	'avis_connexion_ldap_echec_1' => 'الاتصال بخادم LDAP فشل.',
33
-	'avis_connexion_ldap_echec_2' => 'عد الى الصفحة السابقة وتأكد من صحة المعلومات التي أدخلتها.',
34
-	'avis_connexion_ldap_echec_3' => 'وإلا، لا تستخدم دعم LDAP لجلب المستخدمين.',
35
-	'avis_deplacement_rubrique' => 'تحذير! يحتوي هذا القسم على @contient_breves@ خبر@scb@: إذا قمت بنقله، الرجاء تأشير هذا الخيار لتأكيد طلبك.',
36
-	'avis_erreur_connexion_mysql' => 'خطأ اتصالي SQL',
37
-	'avis_erreur_creation_compte' => 'فشل خلال تأصيل الحساب',
38
-	'avis_espace_interdit' => '<b>مجال ممنوع</b> <div>SPIP مثبت مسبقاً.</div>',
39
-	'avis_lecture_noms_bases_1' => 'لم يتمكن المثبت من قراءة أسماء قواعد البيانات المثبتة.',
40
-	'avis_lecture_noms_bases_2' => 'إما لا توجد قاعدة بيانات متوافرة أو تم ايقاف وظيفة عرض قواعد البيانات
12
+    // A
13
+    'activer_plugin' => 'تفعيل الملحق',
14
+    'affichage' => 'عرض',
15
+    'aide_non_disponible' => 'هذا القسم من التعليمات الفورية غير متوافر حالياً بهذه اللغة.',
16
+    'annuler_recherche' => 'إلغاء البحث',
17
+    'auteur' => 'المؤلف:',
18
+    'avis_acces_interdit' => 'الدخول محظور',
19
+    'avis_acces_interdit_prive' => 'ليس لديكم الأذونات الكافية للدخول الى الصفح <b>@exec@</b>.',
20
+    'avis_article_modifie' => 'تحذير، @nom_auteur_modif@ عمل على هذا المقال منذ @date_diff@ دقيقة',
21
+    'avis_aucun_resultat' => 'لا توجد نتائج.',
22
+    'avis_base_inaccessible' => 'لا يمكن الاتصال بقاعدة بيانات @base@.',
23
+    'avis_chemin_invalide_1' => 'لا يبدو المسار',
24
+    'avis_chemin_invalide_2' => 'الذي حددته صالحاً. الرجاء العودة الى الصفحة السابقة والتأكد من المعلومات المدخلة. والتأكد من المعلومات المدخلة.',
25
+    'avis_connexion_echec_1' => 'فشل الاتصال بقاعدة البيانات.',
26
+    'avis_connexion_echec_2' => 'عد الى الصفحة السابقة وتأكد من صحة المعلومات التي أدخلتها.',
27
+    'avis_connexion_echec_3' => '<b>ملاحظة</b> في العديد من اجهزة الخدمة، عليك <b>بطلب</b> تفعيل الدخول الى قاعدة البيانات قبل التمكن من استخدامها. اذا لم تتمكن من الاتصال بالقاعدة، تأكد من انك نفذت هذه الخطوة.',
28
+    'avis_connexion_erreur_creer_base' => 'لم يتم إنشاء قاعدة البيانات',
29
+    'avis_connexion_erreur_fichier_cle_manquant_1' => 'المشرف على الموقع هو الذي ينفذ التثبيت مع نسخة احتياطية للمفاتيح وكلمة السر الخاصة به ',
30
+    'avis_connexion_erreur_fichier_cle_manquant_2' => 'المشرف على الموقع هو الذي ينفذ التثبيت مع نسخة احتياطية للمفاتيح',
31
+    'avis_connexion_erreur_nom_base' => 'لا يجب ان يحتوي اسم القاعدة الا احرف وأرقام',
32
+    'avis_connexion_ldap_echec_1' => 'الاتصال بخادم LDAP فشل.',
33
+    'avis_connexion_ldap_echec_2' => 'عد الى الصفحة السابقة وتأكد من صحة المعلومات التي أدخلتها.',
34
+    'avis_connexion_ldap_echec_3' => 'وإلا، لا تستخدم دعم LDAP لجلب المستخدمين.',
35
+    'avis_deplacement_rubrique' => 'تحذير! يحتوي هذا القسم على @contient_breves@ خبر@scb@: إذا قمت بنقله، الرجاء تأشير هذا الخيار لتأكيد طلبك.',
36
+    'avis_erreur_connexion_mysql' => 'خطأ اتصالي SQL',
37
+    'avis_erreur_creation_compte' => 'فشل خلال تأصيل الحساب',
38
+    'avis_espace_interdit' => '<b>مجال ممنوع</b> <div>SPIP مثبت مسبقاً.</div>',
39
+    'avis_lecture_noms_bases_1' => 'لم يتمكن المثبت من قراءة أسماء قواعد البيانات المثبتة.',
40
+    'avis_lecture_noms_bases_2' => 'إما لا توجد قاعدة بيانات متوافرة أو تم ايقاف وظيفة عرض قواعد البيانات
41 41
 لأسباب أمنية (هكذا الحال لدى العديد من المضيفين).',
42
-	'avis_lecture_noms_bases_3' => 'إذا كانت الحال الثانية صحيحة، قد يكون هناك قاعدة بيانات تحمل إسم معرّف الدخول لديك يمكن استخدامها:',
43
-	'avis_non_acces_page' => 'لا تملك إمتياز الدخول الى هذه الصفحة.',
44
-	'avis_operation_echec' => 'العملية فشلت.',
45
-	'avis_operation_impossible' => 'عملية غير ممكنة',
46
-	'avis_suppression_base' => 'تحذير، حذف البيانات لا يمكن التراجع عنه',
42
+    'avis_lecture_noms_bases_3' => 'إذا كانت الحال الثانية صحيحة، قد يكون هناك قاعدة بيانات تحمل إسم معرّف الدخول لديك يمكن استخدامها:',
43
+    'avis_non_acces_page' => 'لا تملك إمتياز الدخول الى هذه الصفحة.',
44
+    'avis_operation_echec' => 'العملية فشلت.',
45
+    'avis_operation_impossible' => 'عملية غير ممكنة',
46
+    'avis_suppression_base' => 'تحذير، حذف البيانات لا يمكن التراجع عنه',
47 47
 
48
-	// B
49
-	'bouton_acces_ldap' => 'إضافة الوصول الى LDAP',
50
-	'bouton_ajouter' => 'إضافة',
51
-	'bouton_annuler' => 'الغاء',
52
-	'bouton_cache_activer' => 'إعادة تشغيل الذاكرة المخبأة',
53
-	'bouton_cache_desactiver' => 'إيقاف الذاكرة المخبأة مؤقتاً',
54
-	'bouton_demande_publication' => 'طلب نشر هذا المقال',
55
-	'bouton_desactive_tout' => 'تعطيل الكل',
56
-	'bouton_desinstaller' => 'إزالة التثبيت',
57
-	'bouton_effacer_tout' => 'حذف الكل',
58
-	'bouton_envoyer_message' => 'صيغة نهائية : إرسال',
59
-	'bouton_fermer' => 'إغلاق',
60
-	'bouton_mettre_a_jour_base' => 'تحديث قاعدة البيانات',
61
-	'bouton_modifier' => 'تغيير',
62
-	'bouton_radio_afficher' => 'إظهار',
63
-	'bouton_radio_apparaitre_liste_redacteurs_connectes' => 'الظهور في قائمة المحررين المتصلين',
64
-	'bouton_radio_envoi_annonces_adresse' => 'إرسال الإعلانات الى العنوان:',
65
-	'bouton_radio_envoi_liste_nouveautes' => 'إرسال قائمة بالأخبار',
66
-	'bouton_radio_non_apparaitre_liste_redacteurs_connectes' => 'عدم الظهور في قائمة المحررين',
67
-	'bouton_radio_non_envoi_annonces_editoriales' => 'عدم إرسال أي إعلان تحرير',
68
-	'bouton_redirection' => 'إعادة توجيه',
69
-	'bouton_reinitialiser_aux_valeurs_par_defaut' => 'إعادة التأصيل الى القيم القياسية',
70
-	'bouton_relancer_inscription' => 'إعادة تشغيل التسجيل',
71
-	'bouton_relancer_inscriptions' => 'إعادة تشغيل التسجيلات',
72
-	'bouton_relancer_installation' => 'إعادة إطلاق عملية التثبيت',
73
-	'bouton_reset_password' => 'إنشاء كلمة سر جديدة وإرسالها بالبريد الإلكتروني',
74
-	'bouton_suivant' => 'التالي',
75
-	'bouton_tenter_recuperation' => 'محاولة إصلاح',
76
-	'bouton_test_proxy' => 'اختبار الجهاز الوكيل',
77
-	'bouton_vider_cache' => 'تفريغ ذاكرة كاش',
48
+    // B
49
+    'bouton_acces_ldap' => 'إضافة الوصول الى LDAP',
50
+    'bouton_ajouter' => 'إضافة',
51
+    'bouton_annuler' => 'الغاء',
52
+    'bouton_cache_activer' => 'إعادة تشغيل الذاكرة المخبأة',
53
+    'bouton_cache_desactiver' => 'إيقاف الذاكرة المخبأة مؤقتاً',
54
+    'bouton_demande_publication' => 'طلب نشر هذا المقال',
55
+    'bouton_desactive_tout' => 'تعطيل الكل',
56
+    'bouton_desinstaller' => 'إزالة التثبيت',
57
+    'bouton_effacer_tout' => 'حذف الكل',
58
+    'bouton_envoyer_message' => 'صيغة نهائية : إرسال',
59
+    'bouton_fermer' => 'إغلاق',
60
+    'bouton_mettre_a_jour_base' => 'تحديث قاعدة البيانات',
61
+    'bouton_modifier' => 'تغيير',
62
+    'bouton_radio_afficher' => 'إظهار',
63
+    'bouton_radio_apparaitre_liste_redacteurs_connectes' => 'الظهور في قائمة المحررين المتصلين',
64
+    'bouton_radio_envoi_annonces_adresse' => 'إرسال الإعلانات الى العنوان:',
65
+    'bouton_radio_envoi_liste_nouveautes' => 'إرسال قائمة بالأخبار',
66
+    'bouton_radio_non_apparaitre_liste_redacteurs_connectes' => 'عدم الظهور في قائمة المحررين',
67
+    'bouton_radio_non_envoi_annonces_editoriales' => 'عدم إرسال أي إعلان تحرير',
68
+    'bouton_redirection' => 'إعادة توجيه',
69
+    'bouton_reinitialiser_aux_valeurs_par_defaut' => 'إعادة التأصيل الى القيم القياسية',
70
+    'bouton_relancer_inscription' => 'إعادة تشغيل التسجيل',
71
+    'bouton_relancer_inscriptions' => 'إعادة تشغيل التسجيلات',
72
+    'bouton_relancer_installation' => 'إعادة إطلاق عملية التثبيت',
73
+    'bouton_reset_password' => 'إنشاء كلمة سر جديدة وإرسالها بالبريد الإلكتروني',
74
+    'bouton_suivant' => 'التالي',
75
+    'bouton_tenter_recuperation' => 'محاولة إصلاح',
76
+    'bouton_test_proxy' => 'اختبار الجهاز الوكيل',
77
+    'bouton_vider_cache' => 'تفريغ ذاكرة كاش',
78 78
 
79
-	// C
80
-	'cache_modifiable_webmestre' => 'يتم تعديل هذه القيمة من قبل مسؤول الموقع.',
81
-	'calendrier_synchro' => 'اذا كنت تستخدم برنامج ادارة مواعيد يتوافق مع <b>iCal</b>، يمكنك ان تطابقه مع نشاط هذا الموقع التحريري.',
82
-	'config_activer_champs' => 'تفعيل الحقول التالية',
83
-	'config_choix_base_sup' => 'تحديد قاعدة في هذا الخادم',
84
-	'config_erreur_base_sup' => 'لا يمكن لنظام SPIP الوصول الى لائحة القواعد المتاحة',
85
-	'config_info_base_sup' => 'اذا كان لديك قواعد بيانات اخرى لاستفسارها عبر SPIP، بواسطة خادم SQL الخاص به او بواسطة خادم اخر، تتيح لك الاستمارة ادناه بالإعلان عن تلك القواعد. اذا تركت حقولاً فارغة سيتم استخدام معرّفات الاتصال بقاعدة البيانات الأساسية.',
86
-	'config_info_base_sup_disponibles' => 'قواعد اضافية يمكن استفسارها:',
87
-	'config_info_enregistree' => 'تم حفظ الإعداد الجديد',
88
-	'config_info_logos' => 'اي عنصر من الموقع يمكن ان يملك رمزاً مثل «رمز الحوم» ',
89
-	'config_info_logos_utiliser' => 'استخدام الرموز',
90
-	'config_info_logos_utiliser_non' => 'عدم استخدام الرموز',
91
-	'config_info_logos_utiliser_survol' => 'استخدام رموز الحوم',
92
-	'config_info_logos_utiliser_survol_non' => 'عدم استخدام رموز الحوم',
93
-	'config_info_redirection' => 'بتفعيل هذا الخيار، يمكنك انشاء مقالات افتراضية تشكل مرجعاً بيسطاً لمقالات منشورة في مواقع اخرى او خارج SPIP.',
94
-	'config_redirection' => 'مقالات افتراضية',
95
-	'config_titre_base_sup' => 'الاعلان عن قاعدة اضافية',
96
-	'config_titre_base_sup_choix' => 'اختيار قاعدة اضافية',
97
-	'connexion_ldap' => 'اتصال:',
98
-	'creer_et_associer_un_auteur' => 'إنشاء مؤلف وربطه',
79
+    // C
80
+    'cache_modifiable_webmestre' => 'يتم تعديل هذه القيمة من قبل مسؤول الموقع.',
81
+    'calendrier_synchro' => 'اذا كنت تستخدم برنامج ادارة مواعيد يتوافق مع <b>iCal</b>، يمكنك ان تطابقه مع نشاط هذا الموقع التحريري.',
82
+    'config_activer_champs' => 'تفعيل الحقول التالية',
83
+    'config_choix_base_sup' => 'تحديد قاعدة في هذا الخادم',
84
+    'config_erreur_base_sup' => 'لا يمكن لنظام SPIP الوصول الى لائحة القواعد المتاحة',
85
+    'config_info_base_sup' => 'اذا كان لديك قواعد بيانات اخرى لاستفسارها عبر SPIP، بواسطة خادم SQL الخاص به او بواسطة خادم اخر، تتيح لك الاستمارة ادناه بالإعلان عن تلك القواعد. اذا تركت حقولاً فارغة سيتم استخدام معرّفات الاتصال بقاعدة البيانات الأساسية.',
86
+    'config_info_base_sup_disponibles' => 'قواعد اضافية يمكن استفسارها:',
87
+    'config_info_enregistree' => 'تم حفظ الإعداد الجديد',
88
+    'config_info_logos' => 'اي عنصر من الموقع يمكن ان يملك رمزاً مثل «رمز الحوم» ',
89
+    'config_info_logos_utiliser' => 'استخدام الرموز',
90
+    'config_info_logos_utiliser_non' => 'عدم استخدام الرموز',
91
+    'config_info_logos_utiliser_survol' => 'استخدام رموز الحوم',
92
+    'config_info_logos_utiliser_survol_non' => 'عدم استخدام رموز الحوم',
93
+    'config_info_redirection' => 'بتفعيل هذا الخيار، يمكنك انشاء مقالات افتراضية تشكل مرجعاً بيسطاً لمقالات منشورة في مواقع اخرى او خارج SPIP.',
94
+    'config_redirection' => 'مقالات افتراضية',
95
+    'config_titre_base_sup' => 'الاعلان عن قاعدة اضافية',
96
+    'config_titre_base_sup_choix' => 'اختيار قاعدة اضافية',
97
+    'connexion_ldap' => 'اتصال:',
98
+    'creer_et_associer_un_auteur' => 'إنشاء مؤلف وربطه',
99 99
 
100
-	// D
101
-	'date_mot_heures' => 'ساعات',
100
+    // D
101
+    'date_mot_heures' => 'ساعات',
102 102
 
103
-	// E
104
-	'ecran_connexion_couleur_principale' => 'اللون الأساسي',
105
-	'ecran_connexion_image_fond' => 'صورة الخلفية',
106
-	'ecran_connexion_image_fond_explication' => 'استخدام صورة (تنسيق JPEG، ١٩٢٠ x ١٠٨٠ نقطة)',
107
-	'ecran_connexion_image_revenir_couleur_defaut' => 'عودة الى اللون الافتراضي',
108
-	'ecran_connexion_titre' => 'شاشة الدخول',
109
-	'ecran_securite' => '+ شاشة الأمان @version@',
110
-	'email' => 'البريد الالكتروني',
111
-	'email_2' => 'البريد الالكتروني :',
112
-	'en_savoir_plus' => 'مزيد من المعلومات',
113
-	'entree_adresse_annuaire' => 'عنوان الدليل',
114
-	'entree_adresse_email' => 'عنوانك الالكتروني',
115
-	'entree_adresse_email_2' => 'عنوان البريد الالكتروني',
116
-	'entree_base_donnee_1' => 'عنوان قاعدة البيانات',
117
-	'entree_base_donnee_2' => '(غالباً ما يتطابق هذا العنوان مع عنوان موقعك وأحياناً قد يكون عبارة «localhost» وأحياناً أخرى يترك فارغاً.)',
118
-	'entree_biographie' => 'سيرتك في بضع كلمات.',
119
-	'entree_chemin_acces' => '<b>إدخال</b> المسار:',
120
-	'entree_cle_pgp' => 'مفتاح PGP لديك',
121
-	'entree_cle_pgp_2' => 'مفتاح PGP',
122
-	'entree_contenu_rubrique' => '(محتوى القسم ببضع كلمات.)',
123
-	'entree_identifiants_connexion' => 'بيانات إتصالك...',
124
-	'entree_identifiants_connexion_2' => 'بيانات الاتصال',
125
-	'entree_informations_connexion_ldap' => 'الرجاء إدخال معلومات الاتصال بدليل LDAP في هذه الاستمارة.
103
+    // E
104
+    'ecran_connexion_couleur_principale' => 'اللون الأساسي',
105
+    'ecran_connexion_image_fond' => 'صورة الخلفية',
106
+    'ecran_connexion_image_fond_explication' => 'استخدام صورة (تنسيق JPEG، ١٩٢٠ x ١٠٨٠ نقطة)',
107
+    'ecran_connexion_image_revenir_couleur_defaut' => 'عودة الى اللون الافتراضي',
108
+    'ecran_connexion_titre' => 'شاشة الدخول',
109
+    'ecran_securite' => '+ شاشة الأمان @version@',
110
+    'email' => 'البريد الالكتروني',
111
+    'email_2' => 'البريد الالكتروني :',
112
+    'en_savoir_plus' => 'مزيد من المعلومات',
113
+    'entree_adresse_annuaire' => 'عنوان الدليل',
114
+    'entree_adresse_email' => 'عنوانك الالكتروني',
115
+    'entree_adresse_email_2' => 'عنوان البريد الالكتروني',
116
+    'entree_base_donnee_1' => 'عنوان قاعدة البيانات',
117
+    'entree_base_donnee_2' => '(غالباً ما يتطابق هذا العنوان مع عنوان موقعك وأحياناً قد يكون عبارة «localhost» وأحياناً أخرى يترك فارغاً.)',
118
+    'entree_biographie' => 'سيرتك في بضع كلمات.',
119
+    'entree_chemin_acces' => '<b>إدخال</b> المسار:',
120
+    'entree_cle_pgp' => 'مفتاح PGP لديك',
121
+    'entree_cle_pgp_2' => 'مفتاح PGP',
122
+    'entree_contenu_rubrique' => '(محتوى القسم ببضع كلمات.)',
123
+    'entree_identifiants_connexion' => 'بيانات إتصالك...',
124
+    'entree_identifiants_connexion_2' => 'بيانات الاتصال',
125
+    'entree_informations_connexion_ldap' => 'الرجاء إدخال معلومات الاتصال بدليل LDAP في هذه الاستمارة.
126 126
 من المفترض أن تكون حصلت على هذه المعلومات من المسؤول عن نظامك
127 127
 أو شبكتك.',
128
-	'entree_infos_perso' => 'عرّف بنفسك :',
129
-	'entree_infos_perso_2' => 'من هو المؤلف؟',
130
-	'entree_interieur_rubrique' => 'في القسم:	',
131
-	'entree_liens_sites' => '<b>وصلة هايبرتكست<b> (مرجع، موقع للزيارة...)',
132
-	'entree_login' => 'معرّف دخولك',
133
-	'entree_login_connexion_1' => 'معرّف الاتصال',
134
-	'entree_login_connexion_2' => '(أحياناً يتطابق مع معرّف دخول بروتوكول FTP  وأحياناً أخرى يترك فارغاً)',
135
-	'entree_mot_passe' => 'كلمة سرك',
136
-	'entree_mot_passe_1' => 'كلمة سر الاتصال',
137
-	'entree_mot_passe_2' => '(أحياناً يتطابق مع كلمة سر بروتوكول FTPوأحياناً أخرى يترك فارغاً)',
138
-	'entree_nom_fichier' => 'الرجاء إدخال اسم الملف @texte_compresse@:',
139
-	'entree_nom_pseudo' => 'الإسم او اللقب',
140
-	'entree_nom_pseudo_1' => '(الإسم او اللقب)',
141
-	'entree_nom_pseudo_2' => 'الاسم او اللقب',
142
-	'entree_nom_site' => 'إسم موقعك',
143
-	'entree_nom_site_2' => 'اسم موقع المؤلف',
144
-	'entree_nouveau_passe' => 'كلمة السر الجديدة',
145
-	'entree_passe_ldap' => 'كلمة السر',
146
-	'entree_port_annuaire' => 'رقم منفذ الدليل',
147
-	'entree_signature' => 'التوقيع',
148
-	'entree_titre_obligatoire' => '<b>العنوان</b> [إجباري]<br />',
149
-	'entree_url' => 'عنوان موقعك',
150
-	'entree_url_2' => 'عنوان الموقع',
151
-	'erreur_connect_deja_existant' => 'يوجد حالياً جهاز خدمة بهذا الاسم',
152
-	'erreur_contenu_suspect' => 'تركيبة النص غير سليمة ',
153
-	'erreur_email_deja_existant' => 'هذا العنوان الالكتروني مسجل مسبقاً',
154
-	'erreur_nom_connect_incorrect' => 'هذا الاسم لجهاز الخدمة غير مسموح به',
155
-	'erreur_plugin_attribut_balise_manquant' => 'الخاصية @attribut@ غير موجودة في علامة @balise@.',
156
-	'erreur_plugin_desinstalation_echouee' => 'فشل الغاء تثبيت الملحق. ولكن يمكنك ايقافه.',
157
-	'erreur_plugin_fichier_absent' => 'ملف غير موجود',
158
-	'erreur_plugin_fichier_def_absent' => 'ملف اعداد غير موجود',
159
-	'erreur_plugin_nom_fonction_interdit' => 'اسم دالة غير مسموح به:',
160
-	'erreur_plugin_nom_manquant' => 'اسم الملحق غير الموجود',
161
-	'erreur_plugin_prefix_manquant' => 'حقل تسمية الملحق غير محدد',
162
-	'erreur_plugin_tag_plugin_absent' => '&lt;plugin&gt; غير موجود في ملف التعريف',
163
-	'erreur_plugin_version_manquant' => 'اصدار الملحق غير موجود',
164
-	'erreur_type_fichier' => 'نوع ملفات غير صحيح',
128
+    'entree_infos_perso' => 'عرّف بنفسك :',
129
+    'entree_infos_perso_2' => 'من هو المؤلف؟',
130
+    'entree_interieur_rubrique' => 'في القسم:	',
131
+    'entree_liens_sites' => '<b>وصلة هايبرتكست<b> (مرجع، موقع للزيارة...)',
132
+    'entree_login' => 'معرّف دخولك',
133
+    'entree_login_connexion_1' => 'معرّف الاتصال',
134
+    'entree_login_connexion_2' => '(أحياناً يتطابق مع معرّف دخول بروتوكول FTP  وأحياناً أخرى يترك فارغاً)',
135
+    'entree_mot_passe' => 'كلمة سرك',
136
+    'entree_mot_passe_1' => 'كلمة سر الاتصال',
137
+    'entree_mot_passe_2' => '(أحياناً يتطابق مع كلمة سر بروتوكول FTPوأحياناً أخرى يترك فارغاً)',
138
+    'entree_nom_fichier' => 'الرجاء إدخال اسم الملف @texte_compresse@:',
139
+    'entree_nom_pseudo' => 'الإسم او اللقب',
140
+    'entree_nom_pseudo_1' => '(الإسم او اللقب)',
141
+    'entree_nom_pseudo_2' => 'الاسم او اللقب',
142
+    'entree_nom_site' => 'إسم موقعك',
143
+    'entree_nom_site_2' => 'اسم موقع المؤلف',
144
+    'entree_nouveau_passe' => 'كلمة السر الجديدة',
145
+    'entree_passe_ldap' => 'كلمة السر',
146
+    'entree_port_annuaire' => 'رقم منفذ الدليل',
147
+    'entree_signature' => 'التوقيع',
148
+    'entree_titre_obligatoire' => '<b>العنوان</b> [إجباري]<br />',
149
+    'entree_url' => 'عنوان موقعك',
150
+    'entree_url_2' => 'عنوان الموقع',
151
+    'erreur_connect_deja_existant' => 'يوجد حالياً جهاز خدمة بهذا الاسم',
152
+    'erreur_contenu_suspect' => 'تركيبة النص غير سليمة ',
153
+    'erreur_email_deja_existant' => 'هذا العنوان الالكتروني مسجل مسبقاً',
154
+    'erreur_nom_connect_incorrect' => 'هذا الاسم لجهاز الخدمة غير مسموح به',
155
+    'erreur_plugin_attribut_balise_manquant' => 'الخاصية @attribut@ غير موجودة في علامة @balise@.',
156
+    'erreur_plugin_desinstalation_echouee' => 'فشل الغاء تثبيت الملحق. ولكن يمكنك ايقافه.',
157
+    'erreur_plugin_fichier_absent' => 'ملف غير موجود',
158
+    'erreur_plugin_fichier_def_absent' => 'ملف اعداد غير موجود',
159
+    'erreur_plugin_nom_fonction_interdit' => 'اسم دالة غير مسموح به:',
160
+    'erreur_plugin_nom_manquant' => 'اسم الملحق غير الموجود',
161
+    'erreur_plugin_prefix_manquant' => 'حقل تسمية الملحق غير محدد',
162
+    'erreur_plugin_tag_plugin_absent' => '&lt;plugin&gt; غير موجود في ملف التعريف',
163
+    'erreur_plugin_version_manquant' => 'اصدار الملحق غير موجود',
164
+    'erreur_type_fichier' => 'نوع ملفات غير صحيح',
165 165
 
166
-	// H
167
-	'htaccess_a_simuler' => 'تحذير: إن إعداد خادم HTTP لديك يتجاهل ملفات @htaccess@. لتوفير أمان فعّال لموقعك، يجب تغيير الإعداد بخصوص هذه المسألة، او ان تكون قيم الثوابت @constantes@ (التي يمكن تحديدها في ملف mes_options.php) مجلدات من خارج @document_root@.',
168
-	'htaccess_inoperant' => 'htaccess غير فعّال',
166
+    // H
167
+    'htaccess_a_simuler' => 'تحذير: إن إعداد خادم HTTP لديك يتجاهل ملفات @htaccess@. لتوفير أمان فعّال لموقعك، يجب تغيير الإعداد بخصوص هذه المسألة، او ان تكون قيم الثوابت @constantes@ (التي يمكن تحديدها في ملف mes_options.php) مجلدات من خارج @document_root@.',
168
+    'htaccess_inoperant' => 'htaccess غير فعّال',
169 169
 
170
-	// I
171
-	'ical_info1' => 'تقدم هذه الصفحة وسائل عدة للاتصال بنشاط الموقع.',
172
-	'ical_info2' => 'لمزيد من المعلومات حول هذه التقنيات يمكنك زيارة <a href="@spipnet@">توثيق SPIP</a>.',
173
-	'ical_info_calendrier' => 'هناك روزتامتان تحت تصرفك. الاولى هي عبارة عن خريطة للموقع تعلن عن كل المقالات المنشورة. اما الثانية، فتحتوي على اعلانات التحرير اضافة الى احدث رسائلك الشخصية: وهي مخصصة لك يحميها مفتاح شخصي يمكنك تغييره في اي وقت يتجديد كلمة سرك.',
174
-	'ical_methode_http' => 'تحميل',
175
-	'ical_methode_webcal' => 'تزامن (webcal://)',
176
-	'ical_texte_prive' => 'تعلمك هذه الروزنامة، المحصورة بالاستخدام الشخصي، بالنشاط التحريري الخاص في هذا الموقع (المهمات والمواعيد الشخصية والاخبار المقترحة...).',
177
-	'ical_texte_public' => 'تتيح لك هذه الروزنامة متابعة النشاط العمومي في هذا الموقع (المقالات والاخبار المنشورة).',
178
-	'ical_texte_rss' => 'يمكنك ترخيص جديد هذا الموقع من خلال اي معالج ملفات بتنسيق XML/RSS (اي RDF Site Summary). وهو ايضاً التنسيق الذي يسمح لـSPIP بقراءة احدث ما ينشر في مواقع اخرى وذلك باستخدام تنسيق تبادل متوافق (مواقع مرخصة). ',
179
-	'ical_titre_js' => 'جافاسكريبت',
180
-	'ical_titre_mailing' => 'القائمة البريدية',
181
-	'ical_titre_rss' => 'ملفات الترخيص',
182
-	'icone_accueil' => 'الأساسية',
183
-	'icone_activer_cookie' => 'وضع كعكة',
184
-	'icone_activite' => 'نشاط الموقع',
185
-	'icone_admin_plugin' => 'ادارة الملحقات',
186
-	'icone_administration' => 'صيانة',
187
-	'icone_afficher_auteurs' => 'إظهار المؤلفين',
188
-	'icone_afficher_visiteurs' => 'عرض الزوار',
189
-	'icone_arret_discussion' => 'إيقاف المشاركة في هذا النقاش',
190
-	'icone_calendrier' => 'الروزنامة',
191
-	'icone_configuration' => 'إعداد',
192
-	'icone_creer_auteur' => 'إضافة مؤلف جديد وإشراكه في هذا المقال',
193
-	'icone_creer_mot_cle' => 'إنشاء مفتاح جديد وربطه بهذا المقال',
194
-	'icone_creer_rubrique_2' => 'إنشاء قسم جديد',
195
-	'icone_developpement' => 'تطوير',
196
-	'icone_edition' => 'تحرير',
197
-	'icone_ma_langue' => 'لغتي',
198
-	'icone_mes_infos' => 'بياناتي',
199
-	'icone_mes_preferences' => 'تفضيلاتي',
200
-	'icone_modifier_article' => 'تعديل هذا المقال',
201
-	'icone_modifier_rubrique' => 'تعديل هذا القسم',
202
-	'icone_publication' => 'نشر',
203
-	'icone_relancer_signataire' => 'تذكير الموقع',
204
-	'icone_retour' => 'رجوع',
205
-	'icone_retour_article' => 'عودة إلى المقال',
206
-	'icone_squelette' => 'صفحات نموذجية',
207
-	'icone_suivi_publication' => 'متابعة النشر',
208
-	'icone_supprimer_cookie' => 'حذف الكعكة',
209
-	'icone_supprimer_rubrique' => 'حذف هذا القسم',
210
-	'icone_supprimer_signature' => 'حذف هذا التوقيع',
211
-	'icone_valider_signature' => 'التصديق على هذا التوقيع',
212
-	'image_administrer_rubrique' => 'يمكنك إدارة هذا القسم',
213
-	'impossible_modifier_login_auteur' => 'لا يمكن تغيير المعرّف.',
214
-	'impossible_modifier_pass_auteur' => 'لا يمكن تغيير كلمة السر.',
215
-	'info_1_article' => 'مقال واحد',
216
-	'info_1_auteur' => 'مؤلف واحد',
217
-	'info_1_message' => 'رسالة واحدة',
218
-	'info_1_mot_cle' => 'مفتاح واحد',
219
-	'info_1_rubrique' => 'قسم واحد',
220
-	'info_1_visiteur' => 'زائر واحد',
221
-	'info_activer_cookie' => 'يمكنك تفعيل <b>كعكة إدارية</b>، تتيح لك 
170
+    // I
171
+    'ical_info1' => 'تقدم هذه الصفحة وسائل عدة للاتصال بنشاط الموقع.',
172
+    'ical_info2' => 'لمزيد من المعلومات حول هذه التقنيات يمكنك زيارة <a href="@spipnet@">توثيق SPIP</a>.',
173
+    'ical_info_calendrier' => 'هناك روزتامتان تحت تصرفك. الاولى هي عبارة عن خريطة للموقع تعلن عن كل المقالات المنشورة. اما الثانية، فتحتوي على اعلانات التحرير اضافة الى احدث رسائلك الشخصية: وهي مخصصة لك يحميها مفتاح شخصي يمكنك تغييره في اي وقت يتجديد كلمة سرك.',
174
+    'ical_methode_http' => 'تحميل',
175
+    'ical_methode_webcal' => 'تزامن (webcal://)',
176
+    'ical_texte_prive' => 'تعلمك هذه الروزنامة، المحصورة بالاستخدام الشخصي، بالنشاط التحريري الخاص في هذا الموقع (المهمات والمواعيد الشخصية والاخبار المقترحة...).',
177
+    'ical_texte_public' => 'تتيح لك هذه الروزنامة متابعة النشاط العمومي في هذا الموقع (المقالات والاخبار المنشورة).',
178
+    'ical_texte_rss' => 'يمكنك ترخيص جديد هذا الموقع من خلال اي معالج ملفات بتنسيق XML/RSS (اي RDF Site Summary). وهو ايضاً التنسيق الذي يسمح لـSPIP بقراءة احدث ما ينشر في مواقع اخرى وذلك باستخدام تنسيق تبادل متوافق (مواقع مرخصة). ',
179
+    'ical_titre_js' => 'جافاسكريبت',
180
+    'ical_titre_mailing' => 'القائمة البريدية',
181
+    'ical_titre_rss' => 'ملفات الترخيص',
182
+    'icone_accueil' => 'الأساسية',
183
+    'icone_activer_cookie' => 'وضع كعكة',
184
+    'icone_activite' => 'نشاط الموقع',
185
+    'icone_admin_plugin' => 'ادارة الملحقات',
186
+    'icone_administration' => 'صيانة',
187
+    'icone_afficher_auteurs' => 'إظهار المؤلفين',
188
+    'icone_afficher_visiteurs' => 'عرض الزوار',
189
+    'icone_arret_discussion' => 'إيقاف المشاركة في هذا النقاش',
190
+    'icone_calendrier' => 'الروزنامة',
191
+    'icone_configuration' => 'إعداد',
192
+    'icone_creer_auteur' => 'إضافة مؤلف جديد وإشراكه في هذا المقال',
193
+    'icone_creer_mot_cle' => 'إنشاء مفتاح جديد وربطه بهذا المقال',
194
+    'icone_creer_rubrique_2' => 'إنشاء قسم جديد',
195
+    'icone_developpement' => 'تطوير',
196
+    'icone_edition' => 'تحرير',
197
+    'icone_ma_langue' => 'لغتي',
198
+    'icone_mes_infos' => 'بياناتي',
199
+    'icone_mes_preferences' => 'تفضيلاتي',
200
+    'icone_modifier_article' => 'تعديل هذا المقال',
201
+    'icone_modifier_rubrique' => 'تعديل هذا القسم',
202
+    'icone_publication' => 'نشر',
203
+    'icone_relancer_signataire' => 'تذكير الموقع',
204
+    'icone_retour' => 'رجوع',
205
+    'icone_retour_article' => 'عودة إلى المقال',
206
+    'icone_squelette' => 'صفحات نموذجية',
207
+    'icone_suivi_publication' => 'متابعة النشر',
208
+    'icone_supprimer_cookie' => 'حذف الكعكة',
209
+    'icone_supprimer_rubrique' => 'حذف هذا القسم',
210
+    'icone_supprimer_signature' => 'حذف هذا التوقيع',
211
+    'icone_valider_signature' => 'التصديق على هذا التوقيع',
212
+    'image_administrer_rubrique' => 'يمكنك إدارة هذا القسم',
213
+    'impossible_modifier_login_auteur' => 'لا يمكن تغيير المعرّف.',
214
+    'impossible_modifier_pass_auteur' => 'لا يمكن تغيير كلمة السر.',
215
+    'info_1_article' => 'مقال واحد',
216
+    'info_1_auteur' => 'مؤلف واحد',
217
+    'info_1_message' => 'رسالة واحدة',
218
+    'info_1_mot_cle' => 'مفتاح واحد',
219
+    'info_1_rubrique' => 'قسم واحد',
220
+    'info_1_visiteur' => 'زائر واحد',
221
+    'info_activer_cookie' => 'يمكنك تفعيل <b>كعكة إدارية</b>، تتيح لك 
222 222
 التنقل بسهولة بين الموقع العمومي والمجال الخاص.',
223
-	'info_activer_menu_developpement' => 'عرض قائمة التطوير',
224
-	'info_admin_etre_webmestre' => 'إعطائي حقوق المشرف',
225
-	'info_admin_je_suis_webmestre' => 'أنا <b>مشرف</b>',
226
-	'info_admin_statuer_webmestre' => 'اعطاء حقوق مسؤول الموقع لهذا المدير',
227
-	'info_admin_webmestre' => 'هذا المدير هو <b>مسؤول الموقع</b>',
228
-	'info_administrateur' => 'مدير',
229
-	'info_administrateur_1' => 'مدير',
230
-	'info_administrateur_2' => 'الموقع (إستخدمه بحذر)',
231
-	'info_administrateur_site_01' => 'اذا كنت احد مدراء هذا الموقع، الرجاء',
232
-	'info_administrateur_site_02' => 'نقر هذه الوصلة',
233
-	'info_administrateurs' => 'مدراء',
234
-	'info_administrer_rubrique' => 'يمكنك إدارة هذا القسم',
235
-	'info_adresse' => 'الى العنوان:',
236
-	'info_adresse_desinscription' => 'عنوان حذف التسجيل :',
237
-	'info_adresse_url' => 'عنوان الموقع العمومي',
238
-	'info_afficher_par_nb' => 'عرض حسب',
239
-	'info_aide_en_ligne' => 'تعليمات SPIP الفورية',
240
-	'info_ajout_image' => 'عندما تضيف صوراً على شكل مستندات مربوطة بمقال ما،
223
+    'info_activer_menu_developpement' => 'عرض قائمة التطوير',
224
+    'info_admin_etre_webmestre' => 'إعطائي حقوق المشرف',
225
+    'info_admin_je_suis_webmestre' => 'أنا <b>مشرف</b>',
226
+    'info_admin_statuer_webmestre' => 'اعطاء حقوق مسؤول الموقع لهذا المدير',
227
+    'info_admin_webmestre' => 'هذا المدير هو <b>مسؤول الموقع</b>',
228
+    'info_administrateur' => 'مدير',
229
+    'info_administrateur_1' => 'مدير',
230
+    'info_administrateur_2' => 'الموقع (إستخدمه بحذر)',
231
+    'info_administrateur_site_01' => 'اذا كنت احد مدراء هذا الموقع، الرجاء',
232
+    'info_administrateur_site_02' => 'نقر هذه الوصلة',
233
+    'info_administrateurs' => 'مدراء',
234
+    'info_administrer_rubrique' => 'يمكنك إدارة هذا القسم',
235
+    'info_adresse' => 'الى العنوان:',
236
+    'info_adresse_desinscription' => 'عنوان حذف التسجيل :',
237
+    'info_adresse_url' => 'عنوان الموقع العمومي',
238
+    'info_afficher_par_nb' => 'عرض حسب',
239
+    'info_aide_en_ligne' => 'تعليمات SPIP الفورية',
240
+    'info_ajout_image' => 'عندما تضيف صوراً على شكل مستندات مربوطة بمقال ما،
241 241
 يمكن لـ SPIP ان ينشئ آلياً مصغرات عن
242 242
 الصور المدرجة. ويتيح ذلك مثلاً، إنشاء
243 243
 معرض صور او محفظة.',
244
-	'info_ajouter_rubrique' => 'إضافة قسم آخر الى الإدارة:',
245
-	'info_annonce_nouveautes' => 'إعلان عن آخر الأخبار',
246
-	'info_article' => 'مقال',
247
-	'info_article_2' => 'مقال',
248
-	'info_article_a_paraitre' => 'المقالات المؤجلة التي تنتظر النشر',
249
-	'info_articles_02' => 'مقال',
250
-	'info_articles_2' => 'المقالات',
251
-	'info_articles_auteur' => 'مقالات هذا المؤلف',
252
-	'info_articles_miens' => 'مقالاتي',
253
-	'info_articles_tous' => 'كل المقالات',
254
-	'info_articles_trouves' => 'المقالات التي عثر عليها',
255
-	'info_attente_validation' => 'مقالاتك المنتظرة التصديق',
256
-	'info_aucun_article' => 'لا يوجد مقالات',
257
-	'info_aucun_auteur' => 'لا يوجد مؤلفون',
258
-	'info_aucun_message' => 'لا توجد رسائل',
259
-	'info_aucun_rubrique' => 'لا توجد أقسام',
260
-	'info_aujourdhui' => 'اليوم:',
261
-	'info_auteur_gere_rubriques' => 'هذا المؤلف يدير الأقسام التالية:',
262
-	'info_auteur_gere_toutes_rubriques' => 'هذا المؤلف يدير <b>كل الأقسام</b>',
263
-	'info_auteur_gere_toutes_rubriques_2' => 'أدير <b>كل الأقسام</b>',
264
-	'info_auteurs' => 'المؤلفون',
265
-	'info_auteurs_par_tri' => 'المؤلفون@partri@',
266
-	'info_auteurs_trouves' => 'المؤلفون الذين عثر عليهم',
267
-	'info_authentification_externe' => 'التحقق الخارجي',
268
-	'info_avertissement' => 'تحذير',
269
-	'info_barre_outils' => 'مع شريط أدواته؟',
270
-	'info_base_installee' => '<b>تم تثبيت بنية قاعدة البيانات. ',
271
-	'info_bio' => 'السيرة',
272
-	'info_cache_desactive' => 'الذاكرة المخبأة متوقفة مؤقتاً.',
273
-	'info_chapeau' => 'المقدمة',
274
-	'info_chapeau_2' => 'المقدمة:',
275
-	'info_chemin_acces_1' => 'خيارات: <b>مسار الدخول في الدليل</b>',
276
-	'info_chemin_acces_2' => 'من الآن، عليك بإعداد مسار الدخول الى معلومات الدليل. هذه المعلومات أساسية لقراءة بيانات المستخدمين المحفوظة في الدليل.',
277
-	'info_chemin_acces_annuaire' => 'خيارات: <b>مسار الدخول في الدليل</b>',
278
-	'info_choix_base' => 'الخطوة الثالثة: ',
279
-	'info_classement_1' => ' من أصل @liste@ مقال',
280
-	'info_classement_2' => 'من أصل @liste@ مقال',
281
-	'info_code_acces' => 'لا تنسى بيانات الدخول الخاصة بك!',
282
-	'info_config_suivi' => 'اذا كان هذا العنوان يدل الى قائمة بريدية، يمكنك ادخال العنوان حيث يقوم المشاركون في الموفع بتسجيل انفسهم، ادناه. ويمكن لهذا العنوان ان يكون عنوان URL (مثلاً صفحة التسجيل في القائمة عبر النسيج) او عنوان بريدي يحمل موضوعاً محدداً (مثلاً: <tt>@adresse_suivi@?subject=subscribe</tt>):',
283
-	'info_config_suivi_explication' => 'يمكنك الاشتراك في القائمة البريدية في هذا الموقع. ستحصل عندها آلياً في رسالة الكترونية على اعلانات حول المقالات والاخبار المقترحة للنشر. ',
284
-	'info_confirmer_passe' => 'تأكيد كلمة السر الجديدة:',
285
-	'info_conflit_edition_avis_non_sauvegarde' => 'تنبيه، تم تعديل الحقول التالية في مكان آخر. لذلك لم يتم تسجيل نعديلاتك.',
286
-	'info_conflit_edition_differences' => 'الفروق:',
287
-	'info_conflit_edition_version_enregistree' => 'الاصدار المسجل:',
288
-	'info_conflit_edition_votre_version' => 'إصدارك:',
289
-	'info_connexion_base' => 'محاولة الاتصال بقاعدة البيانات',
290
-	'info_connexion_base_donnee' => 'الاتصال بقاعدة بياناتك',
291
-	'info_connexion_ldap_ok' => 'نجح إتصال LDAP.</b><p> يمكنك الانتقال الى الخطوة التالية.</p>',
292
-	'info_connexion_mysql' => 'الاتصال بخادم SQL',
293
-	'info_connexion_ok' => 'نجح الاتصال.',
294
-	'info_contact' => 'الاتصال',
295
-	'info_contenu_articles' => 'محتوى المقالات',
296
-	'info_contributions' => 'المساهمات',
297
-	'info_creation_paragraphe' => 'لإنشاء فقرات يكفي ترك سطور فارغة.',
298
-	'info_creation_rubrique' => 'قبل التمكن من كتابة مقالات،<br />يجب عليك إنشاء قسم واحد على الأقل.<br />',
299
-	'info_creation_tables' => 'إنشاء جداول قاعدة البيانات',
300
-	'info_creer_base' => '<b>قم بإنشاء</b>  قاعدة بيانات جديدة:',
301
-	'info_dans_rubrique' => 'في القسم:	',
302
-	'info_date_publication_anterieure' => 'تاريخ النشر السابق:',
303
-	'info_date_referencement' => 'تاريخ تبويب هذا الموقع:',
304
-	'info_derniere_etape' => 'إنتهى!',
305
-	'info_descriptif' => 'الوصف:',
306
-	'info_desinstaller_plugin' => 'يحذف البيانات ويعطل الملحقات',
307
-	'info_discussion_cours' => 'النقاشات النشطة',
308
-	'info_ecrire_article' => 'قبل التمكن من كتابة مقالات، يجب عليك إنشاء قسم واحد على الأقل.',
309
-	'info_email_envoi' => 'العنوان الالكتروني للارسال (اختياري)',
310
-	'info_email_envoi_txt' => 'ادخل هنا العنوان المطلوب استخدامه لبعث الرسائل (والا، سيتم استخدام عنوان المرسل اليه كعنوان ارسال):',
311
-	'info_email_webmestre' => 'عنوان بريد المشرف على الموقع',
312
-	'info_envoi_email_automatique' => 'إرسال البريد الآلي',
313
-	'info_envoyer_maintenant' => 'إرسال الآن',
314
-	'info_etape_suivante' => 'إنتقل الى الخطوة التالية',
315
-	'info_etape_suivante_1' => 'يمكنك الانتقال الى الخطوة التالية.',
316
-	'info_etape_suivante_2' => 'يمكنك الانتقال الى الخطوة التالية.',
317
-	'info_exceptions_proxy' => 'استثناءات للجهاز الوكيل',
318
-	'info_exportation_base' => 'نقل قاعدة البيانات الى @archive@',
319
-	'info_facilite_suivi_activite' => 'لتسهيل متابعة أنشطة تحرير
244
+    'info_ajouter_rubrique' => 'إضافة قسم آخر الى الإدارة:',
245
+    'info_annonce_nouveautes' => 'إعلان عن آخر الأخبار',
246
+    'info_article' => 'مقال',
247
+    'info_article_2' => 'مقال',
248
+    'info_article_a_paraitre' => 'المقالات المؤجلة التي تنتظر النشر',
249
+    'info_articles_02' => 'مقال',
250
+    'info_articles_2' => 'المقالات',
251
+    'info_articles_auteur' => 'مقالات هذا المؤلف',
252
+    'info_articles_miens' => 'مقالاتي',
253
+    'info_articles_tous' => 'كل المقالات',
254
+    'info_articles_trouves' => 'المقالات التي عثر عليها',
255
+    'info_attente_validation' => 'مقالاتك المنتظرة التصديق',
256
+    'info_aucun_article' => 'لا يوجد مقالات',
257
+    'info_aucun_auteur' => 'لا يوجد مؤلفون',
258
+    'info_aucun_message' => 'لا توجد رسائل',
259
+    'info_aucun_rubrique' => 'لا توجد أقسام',
260
+    'info_aujourdhui' => 'اليوم:',
261
+    'info_auteur_gere_rubriques' => 'هذا المؤلف يدير الأقسام التالية:',
262
+    'info_auteur_gere_toutes_rubriques' => 'هذا المؤلف يدير <b>كل الأقسام</b>',
263
+    'info_auteur_gere_toutes_rubriques_2' => 'أدير <b>كل الأقسام</b>',
264
+    'info_auteurs' => 'المؤلفون',
265
+    'info_auteurs_par_tri' => 'المؤلفون@partri@',
266
+    'info_auteurs_trouves' => 'المؤلفون الذين عثر عليهم',
267
+    'info_authentification_externe' => 'التحقق الخارجي',
268
+    'info_avertissement' => 'تحذير',
269
+    'info_barre_outils' => 'مع شريط أدواته؟',
270
+    'info_base_installee' => '<b>تم تثبيت بنية قاعدة البيانات. ',
271
+    'info_bio' => 'السيرة',
272
+    'info_cache_desactive' => 'الذاكرة المخبأة متوقفة مؤقتاً.',
273
+    'info_chapeau' => 'المقدمة',
274
+    'info_chapeau_2' => 'المقدمة:',
275
+    'info_chemin_acces_1' => 'خيارات: <b>مسار الدخول في الدليل</b>',
276
+    'info_chemin_acces_2' => 'من الآن، عليك بإعداد مسار الدخول الى معلومات الدليل. هذه المعلومات أساسية لقراءة بيانات المستخدمين المحفوظة في الدليل.',
277
+    'info_chemin_acces_annuaire' => 'خيارات: <b>مسار الدخول في الدليل</b>',
278
+    'info_choix_base' => 'الخطوة الثالثة: ',
279
+    'info_classement_1' => ' من أصل @liste@ مقال',
280
+    'info_classement_2' => 'من أصل @liste@ مقال',
281
+    'info_code_acces' => 'لا تنسى بيانات الدخول الخاصة بك!',
282
+    'info_config_suivi' => 'اذا كان هذا العنوان يدل الى قائمة بريدية، يمكنك ادخال العنوان حيث يقوم المشاركون في الموفع بتسجيل انفسهم، ادناه. ويمكن لهذا العنوان ان يكون عنوان URL (مثلاً صفحة التسجيل في القائمة عبر النسيج) او عنوان بريدي يحمل موضوعاً محدداً (مثلاً: <tt>@adresse_suivi@?subject=subscribe</tt>):',
283
+    'info_config_suivi_explication' => 'يمكنك الاشتراك في القائمة البريدية في هذا الموقع. ستحصل عندها آلياً في رسالة الكترونية على اعلانات حول المقالات والاخبار المقترحة للنشر. ',
284
+    'info_confirmer_passe' => 'تأكيد كلمة السر الجديدة:',
285
+    'info_conflit_edition_avis_non_sauvegarde' => 'تنبيه، تم تعديل الحقول التالية في مكان آخر. لذلك لم يتم تسجيل نعديلاتك.',
286
+    'info_conflit_edition_differences' => 'الفروق:',
287
+    'info_conflit_edition_version_enregistree' => 'الاصدار المسجل:',
288
+    'info_conflit_edition_votre_version' => 'إصدارك:',
289
+    'info_connexion_base' => 'محاولة الاتصال بقاعدة البيانات',
290
+    'info_connexion_base_donnee' => 'الاتصال بقاعدة بياناتك',
291
+    'info_connexion_ldap_ok' => 'نجح إتصال LDAP.</b><p> يمكنك الانتقال الى الخطوة التالية.</p>',
292
+    'info_connexion_mysql' => 'الاتصال بخادم SQL',
293
+    'info_connexion_ok' => 'نجح الاتصال.',
294
+    'info_contact' => 'الاتصال',
295
+    'info_contenu_articles' => 'محتوى المقالات',
296
+    'info_contributions' => 'المساهمات',
297
+    'info_creation_paragraphe' => 'لإنشاء فقرات يكفي ترك سطور فارغة.',
298
+    'info_creation_rubrique' => 'قبل التمكن من كتابة مقالات،<br />يجب عليك إنشاء قسم واحد على الأقل.<br />',
299
+    'info_creation_tables' => 'إنشاء جداول قاعدة البيانات',
300
+    'info_creer_base' => '<b>قم بإنشاء</b>  قاعدة بيانات جديدة:',
301
+    'info_dans_rubrique' => 'في القسم:	',
302
+    'info_date_publication_anterieure' => 'تاريخ النشر السابق:',
303
+    'info_date_referencement' => 'تاريخ تبويب هذا الموقع:',
304
+    'info_derniere_etape' => 'إنتهى!',
305
+    'info_descriptif' => 'الوصف:',
306
+    'info_desinstaller_plugin' => 'يحذف البيانات ويعطل الملحقات',
307
+    'info_discussion_cours' => 'النقاشات النشطة',
308
+    'info_ecrire_article' => 'قبل التمكن من كتابة مقالات، يجب عليك إنشاء قسم واحد على الأقل.',
309
+    'info_email_envoi' => 'العنوان الالكتروني للارسال (اختياري)',
310
+    'info_email_envoi_txt' => 'ادخل هنا العنوان المطلوب استخدامه لبعث الرسائل (والا، سيتم استخدام عنوان المرسل اليه كعنوان ارسال):',
311
+    'info_email_webmestre' => 'عنوان بريد المشرف على الموقع',
312
+    'info_envoi_email_automatique' => 'إرسال البريد الآلي',
313
+    'info_envoyer_maintenant' => 'إرسال الآن',
314
+    'info_etape_suivante' => 'إنتقل الى الخطوة التالية',
315
+    'info_etape_suivante_1' => 'يمكنك الانتقال الى الخطوة التالية.',
316
+    'info_etape_suivante_2' => 'يمكنك الانتقال الى الخطوة التالية.',
317
+    'info_exceptions_proxy' => 'استثناءات للجهاز الوكيل',
318
+    'info_exportation_base' => 'نقل قاعدة البيانات الى @archive@',
319
+    'info_facilite_suivi_activite' => 'لتسهيل متابعة أنشطة تحرير
320 320
 الموقع، يرسل SPIP عبر البريد الى لائحة احد المحررين البريدية مثلاً،
321 321
 الإعلان عن طلبات النشر وتصديق المقالات. يمكن ادخال عنوان او اكثر تفصل بينها فواصل.',
322
-	'info_fichiers_authent' => 'ملف التحقق «.htpasswd»',
323
-	'info_forums_abo_invites' => 'يحتوي موقعك على منتديات بالاشتراك. يشترك الزوار اذاً من الموقع العمومي.',
324
-	'info_gauche_admin_tech' => '<b>لا يحق إلا لمسؤولي الموقع الوصول الى هذه الصفحة.</b><p> إنها توفر الوصول الى وظائف
322
+    'info_fichiers_authent' => 'ملف التحقق «.htpasswd»',
323
+    'info_forums_abo_invites' => 'يحتوي موقعك على منتديات بالاشتراك. يشترك الزوار اذاً من الموقع العمومي.',
324
+    'info_gauche_admin_tech' => '<b>لا يحق إلا لمسؤولي الموقع الوصول الى هذه الصفحة.</b><p> إنها توفر الوصول الى وظائف
325 325
 متنوعة للصيانة التقنية. وتتطلب بعض هذه الوظائف عملية تحقق محددة
326 326
 تحتاج الى الدخول الى الموقع عبر بروتوكول FTP .</p>',
327
-	'info_gauche_admin_vider' => '<b>لا يحق إلا لمسؤولي الموقع الوصول الى هذه الصفحة.</b><p> إنها توفر الوصول الى وظائف
327
+    'info_gauche_admin_vider' => '<b>لا يحق إلا لمسؤولي الموقع الوصول الى هذه الصفحة.</b><p> إنها توفر الوصول الى وظائف
328 328
 متنوعة للصيانة التقنية. وتتطلب بعض هذه الوظائف عملية تحقق محددة
329 329
 تحتاج الى الدخول الى الموقع عبر بروتوكول FTP .</p>',
330
-	'info_gauche_auteurs' => 'ستجد هنا جميع مؤلفي الموقع.
330
+    'info_gauche_auteurs' => 'ستجد هنا جميع مؤلفي الموقع.
331 331
 يدل لون رمز كل مؤلف على وضعه (مدير = أخضر؛ محرر = أصفر).',
332
-	'info_gauche_auteurs_exterieurs' => 'المؤلفون الخارجيون، الذين لا يتمتعون بحق الدخول الى الموقع، معرّفون برمز أزرق؛
332
+    'info_gauche_auteurs_exterieurs' => 'المؤلفون الخارجيون، الذين لا يتمتعون بحق الدخول الى الموقع، معرّفون برمز أزرق؛
333 333
 اما المؤلفون المحذوفون فبرمز رمادي.',
334
-	'info_gauche_messagerie' => 'تتيح المراسلة تبادل الرسائل بين المحررين والحفاظ على المذكرات (لاستخدامك الشخصي) وعرض الإعلانات في الصفحة الرئيسية للمجال الخاص (إذا كنت مديراً).',
335
-	'info_gauche_statistiques_referers' => 'تعرض هذه الصفحة قائمة <i>مواقع المصدر</i>، أي المواقع التي تحتوي على وصلات تقود الى موقعك، fبين البارحة واليوم فقط: فيتم تأصيل هذه القائمة كل 24 ساعة.',
336
-	'info_gauche_visiteurs_enregistres' => 'ستجد هنا الزوار المسجلين
334
+    'info_gauche_messagerie' => 'تتيح المراسلة تبادل الرسائل بين المحررين والحفاظ على المذكرات (لاستخدامك الشخصي) وعرض الإعلانات في الصفحة الرئيسية للمجال الخاص (إذا كنت مديراً).',
335
+    'info_gauche_statistiques_referers' => 'تعرض هذه الصفحة قائمة <i>مواقع المصدر</i>، أي المواقع التي تحتوي على وصلات تقود الى موقعك، fبين البارحة واليوم فقط: فيتم تأصيل هذه القائمة كل 24 ساعة.',
336
+    'info_gauche_visiteurs_enregistres' => 'ستجد هنا الزوار المسجلين
337 337
 في مجال الموقع العام (المنتديات بالاشتراك).',
338
-	'info_generation_miniatures_images' => 'إنشاء مصغرات الصور',
339
-	'info_gerer_trad_objets' => '@objets@: إدارة روابط الترجمة',
340
-	'info_hebergeur_desactiver_envoi_email' => 'بعض خدام المواقع يوقفون إرسال البريد الآلي
338
+    'info_generation_miniatures_images' => 'إنشاء مصغرات الصور',
339
+    'info_gerer_trad_objets' => '@objets@: إدارة روابط الترجمة',
340
+    'info_hebergeur_desactiver_envoi_email' => 'بعض خدام المواقع يوقفون إرسال البريد الآلي
341 341
 في أجهزتهم. في هذه الحال، لا يمكن تفعيل
342 342
 وظائف SPIP التالية.',
343
-	'info_hier' => 'البارحة:',
344
-	'info_identification_publique' => 'هويتك العمومية...',
345
-	'info_image_process' => 'الرجاء اختيار افضل طريقة لإنشاء المصغرات بالنقر على الصورة المناسبة.',
346
-	'info_image_process2' => 'اذا لم تظهر اية صورة يكون جهاز الخدمة الذي يستضيف موقعك غير معدّ لاستخدام هذه الأدوات. اذا رغبت في استخدام هذه الوظائف، اتصل بالمسؤول التقني واطلب تثبيت أحد الملحقين «GD» او «Imagick».',
347
-	'info_images_auto' => 'يتم حساب هذه الصور آلياً',
348
-	'info_informations_personnelles' => 'المعلومات الشخصية',
349
-	'info_inscription' => 'التسجيل في',
350
-	'info_inscription_automatique' => 'تسجيل آلي للمحررين الجدد',
351
-	'info_jeu_caractere' => 'طقم حروف الموقع',
352
-	'info_jours' => 'يوم',
353
-	'info_laisser_champs_vides' => 'ترك هذه الحقول فارغة)',
354
-	'info_langues' => 'لغات الموقع',
355
-	'info_ldap_ok' => 'تم تثبيت تحقق LDAP .',
356
-	'info_lien_hypertexte' => 'وصلة هايبرتكست:',
357
-	'info_liste_nouveautes_envoyee' => 'تم إرسال لائحة جديد الموقع',
358
-	'info_liste_redacteurs_connectes' => 'قائمة المحررين المتصلين',
359
-	'info_login_existant' => 'هذا المعرّف موجود سابقاً.',
360
-	'info_login_trop_court' => 'معرّف الدخول قصيز جداً.',
361
-	'info_login_trop_court_car_pluriel' => 'يجب ان يحتوي المعرّف @nb@ أحرف على الأقل.',
362
-	'info_logos' => 'الرموز',
363
-	'info_maximum' => 'الحد الأقصى:',
364
-	'info_meme_rubrique' => 'في القسم نفسه',
365
-	'info_message_en_redaction' => 'رسالتك قيد التحرير',
366
-	'info_message_technique' => 'رسالة تقنية:',
367
-	'info_messagerie_interne' => 'المراسلة الداخلية',
368
-	'info_mise_a_niveau_base' => 'ترقية قاعدة بيانات SQL',
369
-	'info_mise_a_niveau_base_2' => '{{تحذير!}} قمت بتثبيت إصدار
343
+    'info_hier' => 'البارحة:',
344
+    'info_identification_publique' => 'هويتك العمومية...',
345
+    'info_image_process' => 'الرجاء اختيار افضل طريقة لإنشاء المصغرات بالنقر على الصورة المناسبة.',
346
+    'info_image_process2' => 'اذا لم تظهر اية صورة يكون جهاز الخدمة الذي يستضيف موقعك غير معدّ لاستخدام هذه الأدوات. اذا رغبت في استخدام هذه الوظائف، اتصل بالمسؤول التقني واطلب تثبيت أحد الملحقين «GD» او «Imagick».',
347
+    'info_images_auto' => 'يتم حساب هذه الصور آلياً',
348
+    'info_informations_personnelles' => 'المعلومات الشخصية',
349
+    'info_inscription' => 'التسجيل في',
350
+    'info_inscription_automatique' => 'تسجيل آلي للمحررين الجدد',
351
+    'info_jeu_caractere' => 'طقم حروف الموقع',
352
+    'info_jours' => 'يوم',
353
+    'info_laisser_champs_vides' => 'ترك هذه الحقول فارغة)',
354
+    'info_langues' => 'لغات الموقع',
355
+    'info_ldap_ok' => 'تم تثبيت تحقق LDAP .',
356
+    'info_lien_hypertexte' => 'وصلة هايبرتكست:',
357
+    'info_liste_nouveautes_envoyee' => 'تم إرسال لائحة جديد الموقع',
358
+    'info_liste_redacteurs_connectes' => 'قائمة المحررين المتصلين',
359
+    'info_login_existant' => 'هذا المعرّف موجود سابقاً.',
360
+    'info_login_trop_court' => 'معرّف الدخول قصيز جداً.',
361
+    'info_login_trop_court_car_pluriel' => 'يجب ان يحتوي المعرّف @nb@ أحرف على الأقل.',
362
+    'info_logos' => 'الرموز',
363
+    'info_maximum' => 'الحد الأقصى:',
364
+    'info_meme_rubrique' => 'في القسم نفسه',
365
+    'info_message_en_redaction' => 'رسالتك قيد التحرير',
366
+    'info_message_technique' => 'رسالة تقنية:',
367
+    'info_messagerie_interne' => 'المراسلة الداخلية',
368
+    'info_mise_a_niveau_base' => 'ترقية قاعدة بيانات SQL',
369
+    'info_mise_a_niveau_base_2' => '{{تحذير!}} قمت بتثبيت إصدار
370 370
 من ملفات SPIP {{أقدم}} من الإصدار الذي
371 371
 كان موجوداً في هذا الموقع: قد تواجه خطر فقدان قاعدة البيانات
372 372
 مما يحول دون عمل موقعك بشكل سليم.<br />{{إعادة تثبيت
373 373
 ملفات SPIP.}}',
374
-	'info_modification_enregistree' => 'تم تسجيل تعديلاتك',
375
-	'info_modifier_auteur' => 'تغيير المؤلف:',
376
-	'info_modifier_rubrique' => 'تعديل القسم:',
377
-	'info_modifier_titre' => 'تغيير: @titre@',
378
-	'info_mon_site_spip' => 'موقع SPIP',
379
-	'info_moyenne' => 'المتوسط:',
380
-	'info_multi_cet_article' => 'لغة هذا المقال:',
381
-	'info_multi_langues_choisies' => 'الرجاء تحديد ادناه اللغات التي ستكون متوافرة لمحرري موقعك.
374
+    'info_modification_enregistree' => 'تم تسجيل تعديلاتك',
375
+    'info_modifier_auteur' => 'تغيير المؤلف:',
376
+    'info_modifier_rubrique' => 'تعديل القسم:',
377
+    'info_modifier_titre' => 'تغيير: @titre@',
378
+    'info_mon_site_spip' => 'موقع SPIP',
379
+    'info_moyenne' => 'المتوسط:',
380
+    'info_multi_cet_article' => 'لغة هذا المقال:',
381
+    'info_multi_langues_choisies' => 'الرجاء تحديد ادناه اللغات التي ستكون متوافرة لمحرري موقعك.
382 382
   لا يمكن ايقاف اللغات المستخدمة حالياً في موقعك (والظاهرة في اول القائمة).',
383
-	'info_multi_objets' => '@objets@: تفعيل قائمة اللغات',
384
-	'info_multi_secteurs' => '... للأقسام الموجودة في اصل الموقع فقط ',
385
-	'info_nb_articles' => '@nb@ مقال',
386
-	'info_nb_auteurs' => '@nb@ مؤلف',
387
-	'info_nb_messages' => '@nb@ رسالة',
388
-	'info_nb_mots_cles' => '@nb@ مفتاح',
389
-	'info_nb_rubriques' => '@nb@ قسم',
390
-	'info_nb_visiteurs' => '@nb@ زائر',
391
-	'info_nom' => 'الإسم',
392
-	'info_nom_destinataire' => 'إسم المرسل اليه',
393
-	'info_nom_pas_conforme' => 'علامات html غير مسموح بها',
394
-	'info_nom_site' => 'إسم موقعك',
395
-	'info_nombre_articles' => '@nb_articles@ مقال،',
396
-	'info_nombre_rubriques' => '@nb_rubriques@ قسم،',
397
-	'info_nombre_sites' => '@nb_sites@ موقع،',
398
-	'info_non_deplacer' => 'عدم التحريك...',
399
-	'info_non_envoi_annonce_dernieres_nouveautes' => 'يستطيع SPIP إرسال إعلانات عن آخر الأخبار بانتظام.
383
+    'info_multi_objets' => '@objets@: تفعيل قائمة اللغات',
384
+    'info_multi_secteurs' => '... للأقسام الموجودة في اصل الموقع فقط ',
385
+    'info_nb_articles' => '@nb@ مقال',
386
+    'info_nb_auteurs' => '@nb@ مؤلف',
387
+    'info_nb_messages' => '@nb@ رسالة',
388
+    'info_nb_mots_cles' => '@nb@ مفتاح',
389
+    'info_nb_rubriques' => '@nb@ قسم',
390
+    'info_nb_visiteurs' => '@nb@ زائر',
391
+    'info_nom' => 'الإسم',
392
+    'info_nom_destinataire' => 'إسم المرسل اليه',
393
+    'info_nom_pas_conforme' => 'علامات html غير مسموح بها',
394
+    'info_nom_site' => 'إسم موقعك',
395
+    'info_nombre_articles' => '@nb_articles@ مقال،',
396
+    'info_nombre_rubriques' => '@nb_rubriques@ قسم،',
397
+    'info_nombre_sites' => '@nb_sites@ موقع،',
398
+    'info_non_deplacer' => 'عدم التحريك...',
399
+    'info_non_envoi_annonce_dernieres_nouveautes' => 'يستطيع SPIP إرسال إعلانات عن آخر الأخبار بانتظام.
400 400
 (المقالات والأخبار المنشورة حديثاً).',
401
-	'info_non_envoi_liste_nouveautes' => 'عدم إرسال قائمة بآخر الأخبار',
402
-	'info_non_modifiable' => '</i>لا يمكن تغييره<i>',
403
-	'info_non_suppression_mot_cle' => 'كلا لا أريد حذف هذا المفتاح.',
404
-	'info_notes' => 'حواشي',
405
-	'info_nouvel_article' => 'مقال جديد',
406
-	'info_nouvelle_traduction' => 'ترجمة جديدة:',
407
-	'info_numero_article' => 'المقال رقم:',
408
-	'info_obligatoire_02' => '(إجباري)',
409
-	'info_option_accepter_visiteurs' => 'قبول تسجيل الزوار من الموقع العمومي',
410
-	'info_option_ne_pas_accepter_visiteurs' => 'رفض تسجيل الزوار من الموقع العمومي',
411
-	'info_options_avancees' => 'الخيارات المتطورة',
412
-	'info_ou' => 'أو...',
413
-	'info_page_interdite' => 'صفحة محظورة',
414
-	'info_par_nom' => 'حسب الاسم',
415
-	'info_par_nombre_article' => 'حسب عدد المقالات',
416
-	'info_par_statut' => 'حسب الوضع',
417
-	'info_par_tri' => '’(حسب @tri@)’',
418
-	'info_passe_trop_court' => 'كلمة السر قصيرة جداً.',
419
-	'info_passe_trop_court_car_pluriel' => 'يجب ان تحتوي كلمة السر @nb@ أحرف على الأقل.',
420
-	'info_passes_identiques' => 'كلمتا السر ليستا متطابقتان.',
421
-	'info_plus_cinq_car' => 'أكثر من خمسة أحرف',
422
-	'info_plus_cinq_car_2' => '(أكثر من خمسة أحرف)',
423
-	'info_plus_trois_car' => '(أكثر من ثلاثة أحرف)',
424
-	'info_popularite' => 'الشعبية: @popularite@؛ الزيارات: @visites@',
425
-	'info_post_scriptum' => 'الملحق',
426
-	'info_post_scriptum_2' => 'الملحق:',
427
-	'info_pour' => 'لـ',
428
-	'info_preview_texte' => 'من الممكن تفعيل العرض المسبق للعناصر التحريرية التي تتمتع على الاقل بوضعية «مقترح»، إضافة الى العناصر «قيد التحرير» العائدة للمؤلف المتصل. هل تتاح هذه الوظيفة للمدراء فقط او لجميع المحررين او تُعطل؟',
429
-	'info_procedez_par_etape' => 'الرجاء إتباع الخطوة خطوة ',
430
-	'info_procedure_maj_version' => 'يجب تنفيذ عملية الترقية لتكييف
401
+    'info_non_envoi_liste_nouveautes' => 'عدم إرسال قائمة بآخر الأخبار',
402
+    'info_non_modifiable' => '</i>لا يمكن تغييره<i>',
403
+    'info_non_suppression_mot_cle' => 'كلا لا أريد حذف هذا المفتاح.',
404
+    'info_notes' => 'حواشي',
405
+    'info_nouvel_article' => 'مقال جديد',
406
+    'info_nouvelle_traduction' => 'ترجمة جديدة:',
407
+    'info_numero_article' => 'المقال رقم:',
408
+    'info_obligatoire_02' => '(إجباري)',
409
+    'info_option_accepter_visiteurs' => 'قبول تسجيل الزوار من الموقع العمومي',
410
+    'info_option_ne_pas_accepter_visiteurs' => 'رفض تسجيل الزوار من الموقع العمومي',
411
+    'info_options_avancees' => 'الخيارات المتطورة',
412
+    'info_ou' => 'أو...',
413
+    'info_page_interdite' => 'صفحة محظورة',
414
+    'info_par_nom' => 'حسب الاسم',
415
+    'info_par_nombre_article' => 'حسب عدد المقالات',
416
+    'info_par_statut' => 'حسب الوضع',
417
+    'info_par_tri' => '’(حسب @tri@)’',
418
+    'info_passe_trop_court' => 'كلمة السر قصيرة جداً.',
419
+    'info_passe_trop_court_car_pluriel' => 'يجب ان تحتوي كلمة السر @nb@ أحرف على الأقل.',
420
+    'info_passes_identiques' => 'كلمتا السر ليستا متطابقتان.',
421
+    'info_plus_cinq_car' => 'أكثر من خمسة أحرف',
422
+    'info_plus_cinq_car_2' => '(أكثر من خمسة أحرف)',
423
+    'info_plus_trois_car' => '(أكثر من ثلاثة أحرف)',
424
+    'info_popularite' => 'الشعبية: @popularite@؛ الزيارات: @visites@',
425
+    'info_post_scriptum' => 'الملحق',
426
+    'info_post_scriptum_2' => 'الملحق:',
427
+    'info_pour' => 'لـ',
428
+    'info_preview_texte' => 'من الممكن تفعيل العرض المسبق للعناصر التحريرية التي تتمتع على الاقل بوضعية «مقترح»، إضافة الى العناصر «قيد التحرير» العائدة للمؤلف المتصل. هل تتاح هذه الوظيفة للمدراء فقط او لجميع المحررين او تُعطل؟',
429
+    'info_procedez_par_etape' => 'الرجاء إتباع الخطوة خطوة ',
430
+    'info_procedure_maj_version' => 'يجب تنفيذ عملية الترقية لتكييف
431 431
 قاعدة البيانات مع إصدار SPIP الجديد.',
432
-	'info_proxy_ok' => 'نجح اختبار الجهاز الوكيل.',
433
-	'info_ps' => 'ملاحظة',
434
-	'info_publier' => 'نشر',
435
-	'info_publies' => 'مقالاتك المنشورة',
436
-	'info_question_accepter_visiteurs' => 'اذا كانت صفحات موقعك النموذجية تفسح المجال للزوار الذين لا يتمتعون بحق الدخول الى المجال الخاص لتسجيل انفسهم، قم بتفعيل الخيار التالي:',
437
-	'info_question_inscription_nouveaux_redacteurs' => 'هل تسمح بتسجيل محررين جدد من
432
+    'info_proxy_ok' => 'نجح اختبار الجهاز الوكيل.',
433
+    'info_ps' => 'ملاحظة',
434
+    'info_publier' => 'نشر',
435
+    'info_publies' => 'مقالاتك المنشورة',
436
+    'info_question_accepter_visiteurs' => 'اذا كانت صفحات موقعك النموذجية تفسح المجال للزوار الذين لا يتمتعون بحق الدخول الى المجال الخاص لتسجيل انفسهم، قم بتفعيل الخيار التالي:',
437
+    'info_question_inscription_nouveaux_redacteurs' => 'هل تسمح بتسجيل محررين جدد من
438 438
 الموقع العمومي؟ إذا وافقت، سيتمكن الزوار من التسجيل
439 439
 عبر إستمارة آلية والدخول الى المجال الخاص
440 440
 لعرض مقالاتهم. <div class="notice">خلال عملية التسجيل،
@@ -443,367 +443,367 @@  discard block
 block discarded – undo
443 443
  خدام المواقع يعطلون إرسال البريد الآلي في
444 444
 أجهزتهم: في هذه الحال، لا يمكن تفعيل
445 445
 التسجيل الآلي.</div>',
446
-	'info_qui_edite' => '@nom_auteur_modif@ عمل على هذا المحتوى منذ @date_diff@ دقيقة ',
447
-	'info_racine_site' => 'أصل الموقع',
448
-	'info_recharger_page' => 'الرجاء إعادة تحميل الصفحة بعد لحظات.',
449
-	'info_recherche_auteur_zero' => 'لا توجد نتائج لـ «@cherche_auteur@».',
450
-	'info_recommencer' => 'الرجاء إعادة المحاولة.',
451
-	'info_redacteur_1' => 'محرر',
452
-	'info_redacteur_2' => 'يملك حق الدخول الى المجال الخاص (ينصح به)',
453
-	'info_redacteurs' => 'محررون',
454
-	'info_redaction_en_cours' => 'قيد التحرير',
455
-	'info_redirection' => 'إعادة توجيه',
456
-	'info_redirection_activee' => 'تم تفعيل إعادة التحويل.',
457
-	'info_redirection_boucle' => 'محاولة إعادة توجيه مقال الى ذاته.',
458
-	'info_redirection_desactivee' => 'تم حذف إعادة التحويل.',
459
-	'info_refuses' => 'مقالاتك المرفوضة',
460
-	'info_reglage_ldap' => 'خيارات: <b>ضبط جلب LDAP </b>',
461
-	'info_renvoi_article' => '<b>إعادة توجيه.</b> هذا المقال يحيل الى الصفحة: ',
462
-	'info_reserve_admin' => 'المدراء وحدهم يمكنهم تغيير هذا العنوان.',
463
-	'info_restreindre_rubrique' => 'حصر الإدارة في القسم:',
464
-	'info_resultat_recherche' => 'نتائج البحث:',
465
-	'info_rubriques' => 'الأقسام',
466
-	'info_rubriques_02' => 'الأقسام',
467
-	'info_rubriques_trouvees' => 'الأقسام التي عثر عليها',
468
-	'info_sans_titre' => 'بدون عنوان',
469
-	'info_selection_chemin_acces' => '<b>حدد</b> أدناه مسار الدخول في الدليل:',
470
-	'info_signatures' => 'التوقيعات',
471
-	'info_site' => 'الموقع',
472
-	'info_site_2' => 'الموقع:',
473
-	'info_site_min' => 'الموقع',
474
-	'info_site_reference_2' => 'موقع مبوب',
475
-	'info_site_web' => 'الموقع:',
476
-	'info_sites' => ' مواقع',
477
-	'info_sites_lies_mot' => 'المواقع المبوبة المرتبطة بهذا المفتاح',
478
-	'info_sites_proxy' => 'إستخدام جهاز وكيل',
479
-	'info_sites_trouves' => 'المواقع التي عثر عليها',
480
-	'info_sous_titre' => 'العنوان الفرعي:',
481
-	'info_statut_administrateur' => 'مدير',
482
-	'info_statut_auteur' => 'وضع هذا المؤلف:',
483
-	'info_statut_auteur_2' => 'أنا',
484
-	'info_statut_auteur_a_confirmer' => 'التسجيل المطلوب التأكد منه',
485
-	'info_statut_auteur_autre' => 'وضعية اخرى:',
486
-	'info_statut_redacteur' => 'محرر',
487
-	'info_statut_utilisateurs_1' => 'الوضع الافتراضي للمستخدمين المجلوبين',
488
-	'info_statut_utilisateurs_2' => 'قم باختيار الوضع المخصص للأشخاص الموجودين في دليل LDAP عندما سيتصلون للمرة الأولى. لاحقاً، يمكنك تغيير هذه القيمة لكل مؤلف على حدى.',
489
-	'info_suivi_activite' => 'متابعة أنشطة التحرير',
490
-	'info_surtitre' => 'عنوان المدخل:',
491
-	'info_syndication_integrale_1' => 'يقدم موقعك ملفات ترخيص (انظر «<a href="@url@">@titre@</a>»).',
492
-	'info_syndication_integrale_2' => 'هل ترغب في تقديم المقالات بكاملها او الاكتفاء بنشر ملخص من بضعة مئات من الكلمات؟',
493
-	'info_table_prefix' => 'يمكنك تغيير بادئة اسماء جداول البيانات (هذا ضروري في حال تثبيت عدة مواقع لقاعدة بيانات واحدة). تكتب هذه البادئة بأحرف صغيرة بدون صوتيات ومسافات. ',
494
-	'info_taille_maximale_images' => 'سيقوم SPIP بتفقد الحد الاقصى لحجم الصور التي يمكنه معالجتها (بملايين النقاط).<br /> لن يتم تصغير الصور التي تتعدى هذا الحد.',
495
-	'info_taille_maximale_vignette' => 'الحد الأقصى لأبعاد المصغرات التي ينتجها النظام:',
496
-	'info_terminer_installation' => 'يمكنك الآن إتمام عملية التثبيت العادية',
497
-	'info_texte' => 'المادة',
498
-	'info_texte_explicatif' => 'نص توضيحي',
499
-	'info_texte_long' => '(المادة طويلة جداً: ستظهر بعدة أجزاء تتم إعادة تجميعها بعد النقر على الإدخال.)',
500
-	'info_texte_message' => 'نص مشاركتك:',
501
-	'info_texte_message_02' => 'نص الرسالة',
502
-	'info_titre' => 'الموضوع:',
503
-	'info_total' => 'المجموع:',
504
-	'info_tous_articles_en_redaction' => 'كل المقالات قيد التحرير',
505
-	'info_tous_articles_presents' => 'كل المقالات المنشورة في هذا القسم',
506
-	'info_tous_articles_refuses' => 'كل المقالات المرفوضة',
507
-	'info_tous_les' => 'كل:',
508
-	'info_tout_site' => 'الموقع بالكامل',
509
-	'info_tout_site2' => 'لم يُترجم المقال الى هذه اللغة.',
510
-	'info_tout_site3' => 'تمت ترجمة المقال الى هذه اللغة لكن طرأت تعديلات على المقال المرجع في ما بعد. يجب تحديث الترجمة.',
511
-	'info_tout_site4' => 'تمت ترجمة المقال الى هذه اللغة والترجمة حديثة.',
512
-	'info_tout_site5' => 'المقال الاصلي.',
513
-	'info_tout_site6' => '<b>تحذير:</b> المقالات الاصلية وحدها هي المعروضة.
446
+    'info_qui_edite' => '@nom_auteur_modif@ عمل على هذا المحتوى منذ @date_diff@ دقيقة ',
447
+    'info_racine_site' => 'أصل الموقع',
448
+    'info_recharger_page' => 'الرجاء إعادة تحميل الصفحة بعد لحظات.',
449
+    'info_recherche_auteur_zero' => 'لا توجد نتائج لـ «@cherche_auteur@».',
450
+    'info_recommencer' => 'الرجاء إعادة المحاولة.',
451
+    'info_redacteur_1' => 'محرر',
452
+    'info_redacteur_2' => 'يملك حق الدخول الى المجال الخاص (ينصح به)',
453
+    'info_redacteurs' => 'محررون',
454
+    'info_redaction_en_cours' => 'قيد التحرير',
455
+    'info_redirection' => 'إعادة توجيه',
456
+    'info_redirection_activee' => 'تم تفعيل إعادة التحويل.',
457
+    'info_redirection_boucle' => 'محاولة إعادة توجيه مقال الى ذاته.',
458
+    'info_redirection_desactivee' => 'تم حذف إعادة التحويل.',
459
+    'info_refuses' => 'مقالاتك المرفوضة',
460
+    'info_reglage_ldap' => 'خيارات: <b>ضبط جلب LDAP </b>',
461
+    'info_renvoi_article' => '<b>إعادة توجيه.</b> هذا المقال يحيل الى الصفحة: ',
462
+    'info_reserve_admin' => 'المدراء وحدهم يمكنهم تغيير هذا العنوان.',
463
+    'info_restreindre_rubrique' => 'حصر الإدارة في القسم:',
464
+    'info_resultat_recherche' => 'نتائج البحث:',
465
+    'info_rubriques' => 'الأقسام',
466
+    'info_rubriques_02' => 'الأقسام',
467
+    'info_rubriques_trouvees' => 'الأقسام التي عثر عليها',
468
+    'info_sans_titre' => 'بدون عنوان',
469
+    'info_selection_chemin_acces' => '<b>حدد</b> أدناه مسار الدخول في الدليل:',
470
+    'info_signatures' => 'التوقيعات',
471
+    'info_site' => 'الموقع',
472
+    'info_site_2' => 'الموقع:',
473
+    'info_site_min' => 'الموقع',
474
+    'info_site_reference_2' => 'موقع مبوب',
475
+    'info_site_web' => 'الموقع:',
476
+    'info_sites' => ' مواقع',
477
+    'info_sites_lies_mot' => 'المواقع المبوبة المرتبطة بهذا المفتاح',
478
+    'info_sites_proxy' => 'إستخدام جهاز وكيل',
479
+    'info_sites_trouves' => 'المواقع التي عثر عليها',
480
+    'info_sous_titre' => 'العنوان الفرعي:',
481
+    'info_statut_administrateur' => 'مدير',
482
+    'info_statut_auteur' => 'وضع هذا المؤلف:',
483
+    'info_statut_auteur_2' => 'أنا',
484
+    'info_statut_auteur_a_confirmer' => 'التسجيل المطلوب التأكد منه',
485
+    'info_statut_auteur_autre' => 'وضعية اخرى:',
486
+    'info_statut_redacteur' => 'محرر',
487
+    'info_statut_utilisateurs_1' => 'الوضع الافتراضي للمستخدمين المجلوبين',
488
+    'info_statut_utilisateurs_2' => 'قم باختيار الوضع المخصص للأشخاص الموجودين في دليل LDAP عندما سيتصلون للمرة الأولى. لاحقاً، يمكنك تغيير هذه القيمة لكل مؤلف على حدى.',
489
+    'info_suivi_activite' => 'متابعة أنشطة التحرير',
490
+    'info_surtitre' => 'عنوان المدخل:',
491
+    'info_syndication_integrale_1' => 'يقدم موقعك ملفات ترخيص (انظر «<a href="@url@">@titre@</a>»).',
492
+    'info_syndication_integrale_2' => 'هل ترغب في تقديم المقالات بكاملها او الاكتفاء بنشر ملخص من بضعة مئات من الكلمات؟',
493
+    'info_table_prefix' => 'يمكنك تغيير بادئة اسماء جداول البيانات (هذا ضروري في حال تثبيت عدة مواقع لقاعدة بيانات واحدة). تكتب هذه البادئة بأحرف صغيرة بدون صوتيات ومسافات. ',
494
+    'info_taille_maximale_images' => 'سيقوم SPIP بتفقد الحد الاقصى لحجم الصور التي يمكنه معالجتها (بملايين النقاط).<br /> لن يتم تصغير الصور التي تتعدى هذا الحد.',
495
+    'info_taille_maximale_vignette' => 'الحد الأقصى لأبعاد المصغرات التي ينتجها النظام:',
496
+    'info_terminer_installation' => 'يمكنك الآن إتمام عملية التثبيت العادية',
497
+    'info_texte' => 'المادة',
498
+    'info_texte_explicatif' => 'نص توضيحي',
499
+    'info_texte_long' => '(المادة طويلة جداً: ستظهر بعدة أجزاء تتم إعادة تجميعها بعد النقر على الإدخال.)',
500
+    'info_texte_message' => 'نص مشاركتك:',
501
+    'info_texte_message_02' => 'نص الرسالة',
502
+    'info_titre' => 'الموضوع:',
503
+    'info_total' => 'المجموع:',
504
+    'info_tous_articles_en_redaction' => 'كل المقالات قيد التحرير',
505
+    'info_tous_articles_presents' => 'كل المقالات المنشورة في هذا القسم',
506
+    'info_tous_articles_refuses' => 'كل المقالات المرفوضة',
507
+    'info_tous_les' => 'كل:',
508
+    'info_tout_site' => 'الموقع بالكامل',
509
+    'info_tout_site2' => 'لم يُترجم المقال الى هذه اللغة.',
510
+    'info_tout_site3' => 'تمت ترجمة المقال الى هذه اللغة لكن طرأت تعديلات على المقال المرجع في ما بعد. يجب تحديث الترجمة.',
511
+    'info_tout_site4' => 'تمت ترجمة المقال الى هذه اللغة والترجمة حديثة.',
512
+    'info_tout_site5' => 'المقال الاصلي.',
513
+    'info_tout_site6' => '<b>تحذير:</b> المقالات الاصلية وحدها هي المعروضة.
514 514
 الترجمات مرتبطة بالاصلي،
515 515
 يلون يدل على حالتها:',
516
-	'info_traductions' => 'الترجمات',
517
-	'info_travail_colaboratif' => 'تحرير المقالات المشترك',
518
-	'info_un_article' => 'مقال، ',
519
-	'info_un_site' => 'موقع،',
520
-	'info_une_rubrique' => 'قسم،',
521
-	'info_une_rubrique_02' => 'قسم واحد',
522
-	'info_url' => 'عنوان URL:',
523
-	'info_url_proxy' => 'عنوان URL للجهاز الوكيل',
524
-	'info_url_proxy_pas_conforme' => 'عنوان الجهاز الوكيل غير صالح.',
525
-	'info_url_site_pas_conforme' => 'عنوان URL غير صالح.',
526
-	'info_url_test_proxy' => 'عنوان URL للاختبار',
527
-	'info_urlref' => 'وصلة هايبرتكست:',
528
-	'info_utilisation_spip' => 'أصبح نظام النشر الآلي جاهزاً للاستخدام...',
529
-	'info_visites_par_mois' => 'عرض حسب الشهر:',
530
-	'info_visiteur_1' => 'زائر',
531
-	'info_visiteur_2' => 'للموقع العمومي',
532
-	'info_visiteurs' => 'الزوار',
533
-	'info_visiteurs_02' => 'زوار الموقع العمومي',
534
-	'info_webmestre_forces' => 'المشرفون محددون حالياً في <tt>@file_options@</tt>.',
535
-	'install_adresse_base_hebergeur' => 'عنوان قاعدة البيانات التي خصصها لك المضيف',
536
-	'install_connect_ok' => 'تم فعلاً تعريف قاعدة البيانات باسم جهاز الخدمة @connect@.',
537
-	'install_echec_annonce' => 'الارجح ان التثبيت سيفشل او يؤدي الى موقع غير سليم...',
538
-	'install_extension_mbstring' => 'لا يعمل SPIP مع:',
539
-	'install_extension_php_obligatoire' => 'يتطلب SPIP ملحق php:',
540
-	'install_login_base_hebergeur' => 'معرّف الدخول الذي خصصه لك المضيف',
541
-	'install_nom_base_hebergeur' => 'اسم قاعدة البيانات الدي خصصه لك المضيف:',
542
-	'install_pas_table' => 'قاعدة من دون جداول حالياً',
543
-	'install_pass_base_hebergeur' => 'كلمة سر الاتصال التي خصصها لك المضيف',
544
-	'install_php_extension' => 'الملحقات التالية غير موجودة: @extensions@',
545
-	'install_php_version' => 'اصدار @version@ من PHP غير كاف(الحد الادنى = @minimum@)',
546
-	'install_php_version_max' => 'PHP إصدار @version@ حديث جداً (الحد الأقصى = @maximum@)',
547
-	'install_select_langue' => 'إختر لغة ثم انقر على الزر« التالي»  للبدء بعملية التثبيت.',
548
-	'install_select_type_db' => 'تحديد نوع قاعدة البيانات:',
549
-	'install_select_type_mysql' => 'MySQL',
550
-	'install_select_type_pg' => 'PostgreSQL',
551
-	'install_select_type_sqlite2' => 'SQLite 2',
552
-	'install_select_type_sqlite3' => 'SQLite 3',
553
-	'install_serveur_hebergeur' => 'خادم قواعد البيانات الذي يوفره المضيف ',
554
-	'install_table_prefix_hebergeur' => 'بادئة اسماء الجداول التي خصصها لك المضيف:',
555
-	'install_tables_base' => 'جداول القاعدة',
556
-	'install_types_db_connus' => 'يستطيع SPIP استخدام <b>MySQL</b> (الاكثر انتشاراً) و<b>SQLite</b>.',
557
-	'install_types_db_connus_avertissement' => 'يتوافر دعم <b>PostgreSQL</b> أيضاً على سبيل الاختبار',
558
-	'instituer_erreur_statut_a_change' => 'لقد تم تعديل الوضع من قبل',
559
-	'instituer_erreur_statut_non_autorise' => 'لا يمكن اختيار هذا الوضع',
560
-	'intem_redacteur' => 'محرر',
561
-	'intitule_licence' => 'الرخصة',
562
-	'item_accepter_inscriptions' => 'السماح بالتسجيل',
563
-	'item_activer_messages_avertissement' => 'تفعيل رسائل التحذير',
564
-	'item_administrateur_2' => 'مدير',
565
-	'item_afficher_calendrier' => 'إظهار في الروزنامة',
566
-	'item_autoriser_syndication_integrale' => 'نشر كامل المقالات في ملفات الترخيص',
567
-	'item_choix_administrateurs' => 'المدراء',
568
-	'item_choix_generation_miniature' => 'إنشاء مصغرات عن الصور آلياً.',
569
-	'item_choix_non_generation_miniature' => 'عدم إنشاء مصغرات عن الصور.',
570
-	'item_choix_redacteurs' => 'المحررون',
571
-	'item_choix_visiteurs' => 'زوار الموقع العمومي',
572
-	'item_creer_fichiers_authent' => 'إنشاء ملفات .htpasswd',
573
-	'item_login' => ' المعرّف',
574
-	'item_messagerie_agenda' => 'تفعيل المراسلة والمفكرة',
575
-	'item_mots_cles_association_articles' => 'المقالات',
576
-	'item_mots_cles_association_rubriques' => 'الأقسام',
577
-	'item_mots_cles_association_sites' => 'المواقع المبوبة او المرخصة.',
578
-	'item_non' => 'كلا',
579
-	'item_non_accepter_inscriptions' => 'عدم السماح بالتسجيل',
580
-	'item_non_activer_messages_avertissement' => 'تعطيل رسائل التحذير',
581
-	'item_non_afficher_calendrier' => 'عدم إظهار في الروزنامة',
582
-	'item_non_autoriser_syndication_integrale' => 'الاكتفاء بنشر ملخص',
583
-	'item_non_creer_fichiers_authent' => 'عدم إنشاء هذه الملفات',
584
-	'item_non_messagerie_agenda' => 'تعطيل المراسلة والمفكرة',
585
-	'item_non_publier_articles' => 'عدم نشر المقالات قبل تاريخها.',
586
-	'item_nouvel_auteur' => 'مؤلف جديد',
587
-	'item_nouvelle_rubrique' => 'قسم جديد',
588
-	'item_oui' => 'نعم',
589
-	'item_publier_articles' => 'نشر المقالات مهما كان تاريخها.',
590
-	'item_reponse_article' => 'الرد على المقال',
591
-	'item_visiteur' => 'زائر',
516
+    'info_traductions' => 'الترجمات',
517
+    'info_travail_colaboratif' => 'تحرير المقالات المشترك',
518
+    'info_un_article' => 'مقال، ',
519
+    'info_un_site' => 'موقع،',
520
+    'info_une_rubrique' => 'قسم،',
521
+    'info_une_rubrique_02' => 'قسم واحد',
522
+    'info_url' => 'عنوان URL:',
523
+    'info_url_proxy' => 'عنوان URL للجهاز الوكيل',
524
+    'info_url_proxy_pas_conforme' => 'عنوان الجهاز الوكيل غير صالح.',
525
+    'info_url_site_pas_conforme' => 'عنوان URL غير صالح.',
526
+    'info_url_test_proxy' => 'عنوان URL للاختبار',
527
+    'info_urlref' => 'وصلة هايبرتكست:',
528
+    'info_utilisation_spip' => 'أصبح نظام النشر الآلي جاهزاً للاستخدام...',
529
+    'info_visites_par_mois' => 'عرض حسب الشهر:',
530
+    'info_visiteur_1' => 'زائر',
531
+    'info_visiteur_2' => 'للموقع العمومي',
532
+    'info_visiteurs' => 'الزوار',
533
+    'info_visiteurs_02' => 'زوار الموقع العمومي',
534
+    'info_webmestre_forces' => 'المشرفون محددون حالياً في <tt>@file_options@</tt>.',
535
+    'install_adresse_base_hebergeur' => 'عنوان قاعدة البيانات التي خصصها لك المضيف',
536
+    'install_connect_ok' => 'تم فعلاً تعريف قاعدة البيانات باسم جهاز الخدمة @connect@.',
537
+    'install_echec_annonce' => 'الارجح ان التثبيت سيفشل او يؤدي الى موقع غير سليم...',
538
+    'install_extension_mbstring' => 'لا يعمل SPIP مع:',
539
+    'install_extension_php_obligatoire' => 'يتطلب SPIP ملحق php:',
540
+    'install_login_base_hebergeur' => 'معرّف الدخول الذي خصصه لك المضيف',
541
+    'install_nom_base_hebergeur' => 'اسم قاعدة البيانات الدي خصصه لك المضيف:',
542
+    'install_pas_table' => 'قاعدة من دون جداول حالياً',
543
+    'install_pass_base_hebergeur' => 'كلمة سر الاتصال التي خصصها لك المضيف',
544
+    'install_php_extension' => 'الملحقات التالية غير موجودة: @extensions@',
545
+    'install_php_version' => 'اصدار @version@ من PHP غير كاف(الحد الادنى = @minimum@)',
546
+    'install_php_version_max' => 'PHP إصدار @version@ حديث جداً (الحد الأقصى = @maximum@)',
547
+    'install_select_langue' => 'إختر لغة ثم انقر على الزر« التالي»  للبدء بعملية التثبيت.',
548
+    'install_select_type_db' => 'تحديد نوع قاعدة البيانات:',
549
+    'install_select_type_mysql' => 'MySQL',
550
+    'install_select_type_pg' => 'PostgreSQL',
551
+    'install_select_type_sqlite2' => 'SQLite 2',
552
+    'install_select_type_sqlite3' => 'SQLite 3',
553
+    'install_serveur_hebergeur' => 'خادم قواعد البيانات الذي يوفره المضيف ',
554
+    'install_table_prefix_hebergeur' => 'بادئة اسماء الجداول التي خصصها لك المضيف:',
555
+    'install_tables_base' => 'جداول القاعدة',
556
+    'install_types_db_connus' => 'يستطيع SPIP استخدام <b>MySQL</b> (الاكثر انتشاراً) و<b>SQLite</b>.',
557
+    'install_types_db_connus_avertissement' => 'يتوافر دعم <b>PostgreSQL</b> أيضاً على سبيل الاختبار',
558
+    'instituer_erreur_statut_a_change' => 'لقد تم تعديل الوضع من قبل',
559
+    'instituer_erreur_statut_non_autorise' => 'لا يمكن اختيار هذا الوضع',
560
+    'intem_redacteur' => 'محرر',
561
+    'intitule_licence' => 'الرخصة',
562
+    'item_accepter_inscriptions' => 'السماح بالتسجيل',
563
+    'item_activer_messages_avertissement' => 'تفعيل رسائل التحذير',
564
+    'item_administrateur_2' => 'مدير',
565
+    'item_afficher_calendrier' => 'إظهار في الروزنامة',
566
+    'item_autoriser_syndication_integrale' => 'نشر كامل المقالات في ملفات الترخيص',
567
+    'item_choix_administrateurs' => 'المدراء',
568
+    'item_choix_generation_miniature' => 'إنشاء مصغرات عن الصور آلياً.',
569
+    'item_choix_non_generation_miniature' => 'عدم إنشاء مصغرات عن الصور.',
570
+    'item_choix_redacteurs' => 'المحررون',
571
+    'item_choix_visiteurs' => 'زوار الموقع العمومي',
572
+    'item_creer_fichiers_authent' => 'إنشاء ملفات .htpasswd',
573
+    'item_login' => ' المعرّف',
574
+    'item_messagerie_agenda' => 'تفعيل المراسلة والمفكرة',
575
+    'item_mots_cles_association_articles' => 'المقالات',
576
+    'item_mots_cles_association_rubriques' => 'الأقسام',
577
+    'item_mots_cles_association_sites' => 'المواقع المبوبة او المرخصة.',
578
+    'item_non' => 'كلا',
579
+    'item_non_accepter_inscriptions' => 'عدم السماح بالتسجيل',
580
+    'item_non_activer_messages_avertissement' => 'تعطيل رسائل التحذير',
581
+    'item_non_afficher_calendrier' => 'عدم إظهار في الروزنامة',
582
+    'item_non_autoriser_syndication_integrale' => 'الاكتفاء بنشر ملخص',
583
+    'item_non_creer_fichiers_authent' => 'عدم إنشاء هذه الملفات',
584
+    'item_non_messagerie_agenda' => 'تعطيل المراسلة والمفكرة',
585
+    'item_non_publier_articles' => 'عدم نشر المقالات قبل تاريخها.',
586
+    'item_nouvel_auteur' => 'مؤلف جديد',
587
+    'item_nouvelle_rubrique' => 'قسم جديد',
588
+    'item_oui' => 'نعم',
589
+    'item_publier_articles' => 'نشر المقالات مهما كان تاريخها.',
590
+    'item_reponse_article' => 'الرد على المقال',
591
+    'item_visiteur' => 'زائر',
592 592
 
593
-	// J
594
-	'jour_non_connu_nc' => 'غير معروف',
593
+    // J
594
+    'jour_non_connu_nc' => 'غير معروف',
595 595
 
596
-	// L
597
-	'label_bando_outils' => 'شريط الأدوات',
598
-	'label_bando_outils_afficher' => 'عرض الأدوات',
599
-	'label_bando_outils_masquer' => 'إخفاء الأدوات',
600
-	'label_choix_langue' => 'حدد لغتك',
601
-	'label_langue' => 'اللغة',
602
-	'label_nom_fichier_connect' => 'أدخل الاسم الذي يستخدمه هذا الخادم',
603
-	'label_slogan_site' => 'شعار الموقع',
604
-	'label_taille_ecran' => 'عرض الشاشة',
605
-	'label_texte_et_icones_navigation' => 'قائمة التصفح',
606
-	'label_texte_et_icones_page' => 'عرض في الصفحة',
607
-	'ldap_correspondance' => 'استلام من الحقل @champ@',
608
-	'ldap_correspondance_1' => 'استلام حقول LDAP',
609
-	'ldap_correspondance_2' => 'لكل من حقول SPIP التالية، حدد اسم حقل LDAP المناسب. يمكن ترك حقل فارغ، استخدام المسافات او الفواصل لتجربة عدة حقول LDAP.',
610
-	'lien_ajouter_auteur' => 'إضافة هذا المؤلف',
611
-	'lien_ajouter_une_rubrique' => 'إضافة هذا القسم',
612
-	'lien_email' => 'البريد الالكتروني',
613
-	'lien_nom_site' => 'إسم الموقع:',
614
-	'lien_rapide_contenu' => 'الذهاب الى المحتوى',
615
-	'lien_rapide_navigation' => 'الذهاب اى التصفح',
616
-	'lien_rapide_recherche' => 'الذهاب الى البحث',
617
-	'lien_retirer_auteur' => 'حذف المؤلف',
618
-	'lien_retirer_rubrique' => 'سحب القسم',
619
-	'lien_retirer_tous_auteurs' => 'إزالة جميع المؤلفين',
620
-	'lien_retirer_toutes_rubriques' => 'سحب كل الأقسام',
621
-	'lien_site' => 'الموقع',
622
-	'lien_tout_decocher' => 'إزالة تحديد الكل',
623
-	'lien_tout_deplier' => 'بسط الكل',
624
-	'lien_tout_replier' => 'طي الكل',
625
-	'lien_tout_supprimer' => 'حذف الكل',
626
-	'lien_trier_nom' => 'فرز حسب الإسم  ',
627
-	'lien_trier_nombre_articles' => 'فرز حسب عدد المقالات',
628
-	'lien_trier_statut' => 'فرز حسب الوضع',
629
-	'lien_voir_en_ligne' => 'عرض مباشر:',
630
-	'logo_article' => 'رمز المقال',
631
-	'logo_auteur' => 'رمز المؤلف',
632
-	'logo_rubrique' => 'رمز القسم',
633
-	'logo_site' => 'رمز هذا الموقع',
634
-	'logo_standard_rubrique' => 'رمز الأقسام القياسي',
635
-	'logo_survol' => 'رمز الحوم',
596
+    // L
597
+    'label_bando_outils' => 'شريط الأدوات',
598
+    'label_bando_outils_afficher' => 'عرض الأدوات',
599
+    'label_bando_outils_masquer' => 'إخفاء الأدوات',
600
+    'label_choix_langue' => 'حدد لغتك',
601
+    'label_langue' => 'اللغة',
602
+    'label_nom_fichier_connect' => 'أدخل الاسم الذي يستخدمه هذا الخادم',
603
+    'label_slogan_site' => 'شعار الموقع',
604
+    'label_taille_ecran' => 'عرض الشاشة',
605
+    'label_texte_et_icones_navigation' => 'قائمة التصفح',
606
+    'label_texte_et_icones_page' => 'عرض في الصفحة',
607
+    'ldap_correspondance' => 'استلام من الحقل @champ@',
608
+    'ldap_correspondance_1' => 'استلام حقول LDAP',
609
+    'ldap_correspondance_2' => 'لكل من حقول SPIP التالية، حدد اسم حقل LDAP المناسب. يمكن ترك حقل فارغ، استخدام المسافات او الفواصل لتجربة عدة حقول LDAP.',
610
+    'lien_ajouter_auteur' => 'إضافة هذا المؤلف',
611
+    'lien_ajouter_une_rubrique' => 'إضافة هذا القسم',
612
+    'lien_email' => 'البريد الالكتروني',
613
+    'lien_nom_site' => 'إسم الموقع:',
614
+    'lien_rapide_contenu' => 'الذهاب الى المحتوى',
615
+    'lien_rapide_navigation' => 'الذهاب اى التصفح',
616
+    'lien_rapide_recherche' => 'الذهاب الى البحث',
617
+    'lien_retirer_auteur' => 'حذف المؤلف',
618
+    'lien_retirer_rubrique' => 'سحب القسم',
619
+    'lien_retirer_tous_auteurs' => 'إزالة جميع المؤلفين',
620
+    'lien_retirer_toutes_rubriques' => 'سحب كل الأقسام',
621
+    'lien_site' => 'الموقع',
622
+    'lien_tout_decocher' => 'إزالة تحديد الكل',
623
+    'lien_tout_deplier' => 'بسط الكل',
624
+    'lien_tout_replier' => 'طي الكل',
625
+    'lien_tout_supprimer' => 'حذف الكل',
626
+    'lien_trier_nom' => 'فرز حسب الإسم  ',
627
+    'lien_trier_nombre_articles' => 'فرز حسب عدد المقالات',
628
+    'lien_trier_statut' => 'فرز حسب الوضع',
629
+    'lien_voir_en_ligne' => 'عرض مباشر:',
630
+    'logo_article' => 'رمز المقال',
631
+    'logo_auteur' => 'رمز المؤلف',
632
+    'logo_rubrique' => 'رمز القسم',
633
+    'logo_site' => 'رمز هذا الموقع',
634
+    'logo_standard_rubrique' => 'رمز الأقسام القياسي',
635
+    'logo_survol' => 'رمز الحوم',
636 636
 
637
-	// M
638
-	'menu_aide_installation_choix_base' => 'إختيار قاعدة البيانات',
639
-	'module_fichier_langue' => 'ملف اللغة',
640
-	'module_raccourci' => 'اختصار',
641
-	'module_texte_affiche' => 'النص المعروض',
642
-	'module_texte_explicatif' => 'يمكن ادراج الاختصارات التالية في صفحات الموقع النموذجية. سوف تُترجم آلياً في مختلف اللغات التي يتوافر لها ملف لغة.',
643
-	'module_texte_traduction' => 'ملف اللغة «@module@» متوافر بـ:',
644
-	'mois_non_connu' => 'غير معروف',
637
+    // M
638
+    'menu_aide_installation_choix_base' => 'إختيار قاعدة البيانات',
639
+    'module_fichier_langue' => 'ملف اللغة',
640
+    'module_raccourci' => 'اختصار',
641
+    'module_texte_affiche' => 'النص المعروض',
642
+    'module_texte_explicatif' => 'يمكن ادراج الاختصارات التالية في صفحات الموقع النموذجية. سوف تُترجم آلياً في مختلف اللغات التي يتوافر لها ملف لغة.',
643
+    'module_texte_traduction' => 'ملف اللغة «@module@» متوافر بـ:',
644
+    'mois_non_connu' => 'غير معروف',
645 645
 
646
-	// N
647
-	'nouvelle_version_spip' => 'ترقية SPIP رقم @version@ متوافرة الآن',
648
-	'nouvelle_version_spip_majeure' => 'إصدار جديد من رقم @version@ من SPIP متوافر الآن',
646
+    // N
647
+    'nouvelle_version_spip' => 'ترقية SPIP رقم @version@ متوافرة الآن',
648
+    'nouvelle_version_spip_majeure' => 'إصدار جديد من رقم @version@ من SPIP متوافر الآن',
649 649
 
650
-	// O
651
-	'onglet_contenu' => 'المحتوى',
652
-	'onglet_declarer_une_autre_base' => 'الاعلان عن قاعدة اخرى',
653
-	'onglet_discuter' => 'النقاش',
654
-	'onglet_interactivite' => 'التفاعلية',
655
-	'onglet_proprietes' => 'الخصائص',
656
-	'onglet_repartition_actuelle' => 'حالياً',
657
-	'onglet_sous_rubriques' => 'الأقسام الفرعية',
650
+    // O
651
+    'onglet_contenu' => 'المحتوى',
652
+    'onglet_declarer_une_autre_base' => 'الاعلان عن قاعدة اخرى',
653
+    'onglet_discuter' => 'النقاش',
654
+    'onglet_interactivite' => 'التفاعلية',
655
+    'onglet_proprietes' => 'الخصائص',
656
+    'onglet_repartition_actuelle' => 'حالياً',
657
+    'onglet_sous_rubriques' => 'الأقسام الفرعية',
658 658
 
659
-	// P
660
-	'page_pas_proxy' => 'لا يجب ان تمر هذه الصفحة عبر جهاز بروكسي',
661
-	'pas_de_proxy_pour' => 'لدى الضرورة، حدد الاجهزة او النطاقات التي لا يجب ان ينطبق عليها الوكيل (مثلاً: @exemple@) ',
662
-	'phpinfo' => 'إعدادات PHP',
663
-	'plugin_charge_paquet' => 'تحميل رزمة @name@',
664
-	'plugin_charger' => 'تحميل',
665
-	'plugin_erreur_charger' => 'خطأ: لا يمكن تحميل @zip@',
666
-	'plugin_erreur_droit1' => 'المجلد <code>@dest@</code> لا يسمح بالكتابة فيه.',
667
-	'plugin_erreur_droit2' => 'الرجاء التأكد من الامتيازات على هذا المجلد (وانشائه اذا اقتضى الامر)، او تثبيت الملفات عبر FTP.',
668
-	'plugin_erreur_zip' => 'فشل pclzip: خطأ @status@',
669
-	'plugin_etat_developpement' => 'قيد التطوير',
670
-	'plugin_etat_experimental' => 'اختباري',
671
-	'plugin_etat_stable' => 'ثابت',
672
-	'plugin_etat_test' => 'قيد الاختبار',
673
-	'plugin_impossible_activer' => 'لا يمكن تفعيل الملحق @plugin@',
674
-	'plugin_info_automatique1' => 'اذا اردت السماح بالتثبيت الآلي للملحقات، الرجاء:',
675
-	'plugin_info_automatique1_lib' => 'أذا رغبت في السماح بالتثبيت الآلي لهذه المكتبة، يرجى:',
676
-	'plugin_info_automatique2' => 'انشاء المجلد <code>@rep@</code>،',
677
-	'plugin_info_automatique3' => 'التأكد من ان جهاز الخدمة يمكنه الكتابة في هذا المجلد.',
678
-	'plugin_info_automatique_creer' => 'يتم انشاؤه في اصل الموقع.',
679
-	'plugin_info_automatique_exemples' => 'أمثلة:',
680
-	'plugin_info_automatique_ftp' => 'يمكنك تثبيت الملحقات بواسطة FTP في المجلد <tt>@rep@</tt>',
681
-	'plugin_info_automatique_lib' => 'بعض الملحقات تتطلب ايضاً القدرة على تحميل ملفات في مجلد <code>lib/</code> الذي يتم انشاؤه في اصل الموقع اذا لزم الامر.',
682
-	'plugin_info_automatique_liste' => 'لوائح الملحقات:',
683
-	'plugin_info_automatique_liste_officielle' => 'الملحقات الرسمية',
684
-	'plugin_info_automatique_liste_update' => 'تحديث اللوائح',
685
-	'plugin_info_automatique_ou' => 'او...',
686
-	'plugin_info_automatique_select' => 'اختر احد الملحقات ادناه: سيقوم SPIP بتحميله وتثبيته في المجلد <code>@rep@</code>. اذا كان هذا الملحق موجوداً سوف يتم تحديثه.',
687
-	'plugin_info_credit' => 'الحقوق',
688
-	'plugin_info_erreur_xml' => 'تعريف هذا الملحق غير صحيح',
689
-	'plugin_info_install_ok' => 'نجح التثبيت',
690
-	'plugin_info_necessite' => 'يتطلب:',
691
-	'plugin_info_non_compatible_spip' => 'لا يتوافق هذا الملحق مع هذا الإصدار من SPIP',
692
-	'plugin_info_plugins_dist_1' => 'تم تحميل الإضافات أدناه وتفعيلها في مجلد @plugins_dist@.',
693
-	'plugin_info_plugins_dist_2' => 'لا يمكن إيقافها.',
694
-	'plugin_info_telecharger' => 'للتحميل من @url@ والتثبيت في @rep@',
695
-	'plugin_info_upgrade_ok' => 'نجحت الترقية',
696
-	'plugin_librairies_installees' => 'المكتبات المثبتة',
697
-	'plugin_necessite_extension_php' => 'يتطلب ملحق PHP @plugin@ إصدار @version@.',
698
-	'plugin_necessite_extension_php_sans_version' => 'يتطلب ملحق  PHP @plugin@',
699
-	'plugin_necessite_lib' => 'هذا الملحق يتطلب المكتبة @lib@',
700
-	'plugin_necessite_php' => 'يتطلب @plugin@ إصدار @version@.',
701
-	'plugin_necessite_plugin' => 'يتطلب الملحق @plugin@ بالاصدار @version@.',
702
-	'plugin_necessite_plugin_sans_version' => 'يتطلب الملحق @plugin@',
703
-	'plugin_necessite_spip' => 'يتطلب SPIP باصدار @version@ على الاقل.',
704
-	'plugin_source' => 'المصدر:',
705
-	'plugin_titre_automatique' => 'تثبيت آلي',
706
-	'plugin_titre_automatique_ajouter' => 'إضافة ملحقات',
707
-	'plugin_titre_installation' => 'تثبيت الملحق @plugin@',
708
-	'plugin_titre_modifier' => 'ملحقاتي',
709
-	'plugin_utilise_extension_php' => 'إصدار ملحق  PHP @plugin@ يجب ان يكون @version@.',
710
-	'plugin_utilise_php' => 'إصدار @plugin@ يجب ان يكون @version@.',
711
-	'plugin_utilise_plugin' => 'إصدار الملحق @plugin@ يجب ان يكون @version@.',
712
-	'plugin_zip_active' => 'تابع للتفعيل',
713
-	'plugin_zip_adresse' => 'ادخل ادناه عنوان ملف zip لملحق مطلوب تحميله او عنوان لائحة ملاحق.',
714
-	'plugin_zip_adresse_champ' => 'عنوان الملحق او اللائحة ',
715
-	'plugin_zip_content' => 'يحتوي الملفات التالية (@taille@)، بانتظار تثبيتها في المجلد <code>@rep@</code>',
716
-	'plugin_zip_installe_finie' => 'تم ازالة ضغط الملف @zip@ وتثبيته.',
717
-	'plugin_zip_installe_rep_finie' => 'تم ازالة ضغط الملف @zip@ وتثبيته في المجلد @rep@',
718
-	'plugin_zip_installer' => 'بمكنك الآن تثبيته.',
719
-	'plugin_zip_telecharge' => 'تم تحميل الملف @zip@',
720
-	'plugins_actif_aucun' => 'لا يوجد ملحقات نشطة',
721
-	'plugins_actif_un' => 'ملحق واحد نشط.',
722
-	'plugins_actifs' => '@count@ ملحق ناشط.',
723
-	'plugins_actifs_liste' => 'النشطة',
724
-	'plugins_compte' => '@count@ ملحق',
725
-	'plugins_disponible_un' => 'ملحق واحد متاح.',
726
-	'plugins_disponibles' => '@count@ ملحق متوافر.',
727
-	'plugins_erreur' => 'خطأ في الملحقات: @plugins@',
728
-	'plugins_liste' => 'لائحة الملحقات',
729
-	'plugins_liste_dist' => 'الملحقات المقفلة',
730
-	'plugins_recents' => 'أحدث الملحقات.',
731
-	'plugins_tous_liste' => 'الكل',
732
-	'plugins_vue_hierarchie' => 'الهرمية',
733
-	'plugins_vue_liste' => 'لائحة',
734
-	'protocole_ldap' => 'إصدار البروتوكول:',
659
+    // P
660
+    'page_pas_proxy' => 'لا يجب ان تمر هذه الصفحة عبر جهاز بروكسي',
661
+    'pas_de_proxy_pour' => 'لدى الضرورة، حدد الاجهزة او النطاقات التي لا يجب ان ينطبق عليها الوكيل (مثلاً: @exemple@) ',
662
+    'phpinfo' => 'إعدادات PHP',
663
+    'plugin_charge_paquet' => 'تحميل رزمة @name@',
664
+    'plugin_charger' => 'تحميل',
665
+    'plugin_erreur_charger' => 'خطأ: لا يمكن تحميل @zip@',
666
+    'plugin_erreur_droit1' => 'المجلد <code>@dest@</code> لا يسمح بالكتابة فيه.',
667
+    'plugin_erreur_droit2' => 'الرجاء التأكد من الامتيازات على هذا المجلد (وانشائه اذا اقتضى الامر)، او تثبيت الملفات عبر FTP.',
668
+    'plugin_erreur_zip' => 'فشل pclzip: خطأ @status@',
669
+    'plugin_etat_developpement' => 'قيد التطوير',
670
+    'plugin_etat_experimental' => 'اختباري',
671
+    'plugin_etat_stable' => 'ثابت',
672
+    'plugin_etat_test' => 'قيد الاختبار',
673
+    'plugin_impossible_activer' => 'لا يمكن تفعيل الملحق @plugin@',
674
+    'plugin_info_automatique1' => 'اذا اردت السماح بالتثبيت الآلي للملحقات، الرجاء:',
675
+    'plugin_info_automatique1_lib' => 'أذا رغبت في السماح بالتثبيت الآلي لهذه المكتبة، يرجى:',
676
+    'plugin_info_automatique2' => 'انشاء المجلد <code>@rep@</code>،',
677
+    'plugin_info_automatique3' => 'التأكد من ان جهاز الخدمة يمكنه الكتابة في هذا المجلد.',
678
+    'plugin_info_automatique_creer' => 'يتم انشاؤه في اصل الموقع.',
679
+    'plugin_info_automatique_exemples' => 'أمثلة:',
680
+    'plugin_info_automatique_ftp' => 'يمكنك تثبيت الملحقات بواسطة FTP في المجلد <tt>@rep@</tt>',
681
+    'plugin_info_automatique_lib' => 'بعض الملحقات تتطلب ايضاً القدرة على تحميل ملفات في مجلد <code>lib/</code> الذي يتم انشاؤه في اصل الموقع اذا لزم الامر.',
682
+    'plugin_info_automatique_liste' => 'لوائح الملحقات:',
683
+    'plugin_info_automatique_liste_officielle' => 'الملحقات الرسمية',
684
+    'plugin_info_automatique_liste_update' => 'تحديث اللوائح',
685
+    'plugin_info_automatique_ou' => 'او...',
686
+    'plugin_info_automatique_select' => 'اختر احد الملحقات ادناه: سيقوم SPIP بتحميله وتثبيته في المجلد <code>@rep@</code>. اذا كان هذا الملحق موجوداً سوف يتم تحديثه.',
687
+    'plugin_info_credit' => 'الحقوق',
688
+    'plugin_info_erreur_xml' => 'تعريف هذا الملحق غير صحيح',
689
+    'plugin_info_install_ok' => 'نجح التثبيت',
690
+    'plugin_info_necessite' => 'يتطلب:',
691
+    'plugin_info_non_compatible_spip' => 'لا يتوافق هذا الملحق مع هذا الإصدار من SPIP',
692
+    'plugin_info_plugins_dist_1' => 'تم تحميل الإضافات أدناه وتفعيلها في مجلد @plugins_dist@.',
693
+    'plugin_info_plugins_dist_2' => 'لا يمكن إيقافها.',
694
+    'plugin_info_telecharger' => 'للتحميل من @url@ والتثبيت في @rep@',
695
+    'plugin_info_upgrade_ok' => 'نجحت الترقية',
696
+    'plugin_librairies_installees' => 'المكتبات المثبتة',
697
+    'plugin_necessite_extension_php' => 'يتطلب ملحق PHP @plugin@ إصدار @version@.',
698
+    'plugin_necessite_extension_php_sans_version' => 'يتطلب ملحق  PHP @plugin@',
699
+    'plugin_necessite_lib' => 'هذا الملحق يتطلب المكتبة @lib@',
700
+    'plugin_necessite_php' => 'يتطلب @plugin@ إصدار @version@.',
701
+    'plugin_necessite_plugin' => 'يتطلب الملحق @plugin@ بالاصدار @version@.',
702
+    'plugin_necessite_plugin_sans_version' => 'يتطلب الملحق @plugin@',
703
+    'plugin_necessite_spip' => 'يتطلب SPIP باصدار @version@ على الاقل.',
704
+    'plugin_source' => 'المصدر:',
705
+    'plugin_titre_automatique' => 'تثبيت آلي',
706
+    'plugin_titre_automatique_ajouter' => 'إضافة ملحقات',
707
+    'plugin_titre_installation' => 'تثبيت الملحق @plugin@',
708
+    'plugin_titre_modifier' => 'ملحقاتي',
709
+    'plugin_utilise_extension_php' => 'إصدار ملحق  PHP @plugin@ يجب ان يكون @version@.',
710
+    'plugin_utilise_php' => 'إصدار @plugin@ يجب ان يكون @version@.',
711
+    'plugin_utilise_plugin' => 'إصدار الملحق @plugin@ يجب ان يكون @version@.',
712
+    'plugin_zip_active' => 'تابع للتفعيل',
713
+    'plugin_zip_adresse' => 'ادخل ادناه عنوان ملف zip لملحق مطلوب تحميله او عنوان لائحة ملاحق.',
714
+    'plugin_zip_adresse_champ' => 'عنوان الملحق او اللائحة ',
715
+    'plugin_zip_content' => 'يحتوي الملفات التالية (@taille@)، بانتظار تثبيتها في المجلد <code>@rep@</code>',
716
+    'plugin_zip_installe_finie' => 'تم ازالة ضغط الملف @zip@ وتثبيته.',
717
+    'plugin_zip_installe_rep_finie' => 'تم ازالة ضغط الملف @zip@ وتثبيته في المجلد @rep@',
718
+    'plugin_zip_installer' => 'بمكنك الآن تثبيته.',
719
+    'plugin_zip_telecharge' => 'تم تحميل الملف @zip@',
720
+    'plugins_actif_aucun' => 'لا يوجد ملحقات نشطة',
721
+    'plugins_actif_un' => 'ملحق واحد نشط.',
722
+    'plugins_actifs' => '@count@ ملحق ناشط.',
723
+    'plugins_actifs_liste' => 'النشطة',
724
+    'plugins_compte' => '@count@ ملحق',
725
+    'plugins_disponible_un' => 'ملحق واحد متاح.',
726
+    'plugins_disponibles' => '@count@ ملحق متوافر.',
727
+    'plugins_erreur' => 'خطأ في الملحقات: @plugins@',
728
+    'plugins_liste' => 'لائحة الملحقات',
729
+    'plugins_liste_dist' => 'الملحقات المقفلة',
730
+    'plugins_recents' => 'أحدث الملحقات.',
731
+    'plugins_tous_liste' => 'الكل',
732
+    'plugins_vue_hierarchie' => 'الهرمية',
733
+    'plugins_vue_liste' => 'لائحة',
734
+    'protocole_ldap' => 'إصدار البروتوكول:',
735 735
 
736
-	// Q
737
-	'queue_executer_maintenant' => 'تنفيذ الآن',
738
-	'queue_info_purger' => 'يمكنك حذف كل الأعمال في الانتظار وتأصيل لائحة الأعمال الدورية',
739
-	'queue_nb_jobs_in_queue' => '@nb@ عمل بالانتظار',
740
-	'queue_next_job_in_nb_sec' => 'العمل القادم خلال @nb@ ثانية',
741
-	'queue_no_job_in_queue' => 'لا توجد أعمال بالانتظار',
742
-	'queue_one_job_in_queue' => 'عمل واحد بالانتظار',
743
-	'queue_priorite_tache' => 'الأفضلية',
744
-	'queue_purger_queue' => 'تأصيل لائحة الأعمال',
745
-	'queue_titre' => 'أعمال الخلفية',
736
+    // Q
737
+    'queue_executer_maintenant' => 'تنفيذ الآن',
738
+    'queue_info_purger' => 'يمكنك حذف كل الأعمال في الانتظار وتأصيل لائحة الأعمال الدورية',
739
+    'queue_nb_jobs_in_queue' => '@nb@ عمل بالانتظار',
740
+    'queue_next_job_in_nb_sec' => 'العمل القادم خلال @nb@ ثانية',
741
+    'queue_no_job_in_queue' => 'لا توجد أعمال بالانتظار',
742
+    'queue_one_job_in_queue' => 'عمل واحد بالانتظار',
743
+    'queue_priorite_tache' => 'الأفضلية',
744
+    'queue_purger_queue' => 'تأصيل لائحة الأعمال',
745
+    'queue_titre' => 'أعمال الخلفية',
746 746
 
747
-	// R
748
-	'repertoire_plugins' => 'دليل:',
749
-	'required' => '(إجباري)',
747
+    // R
748
+    'repertoire_plugins' => 'دليل:',
749
+    'required' => '(إجباري)',
750 750
 
751
-	// S
752
-	'sans_heure' => 'بدون توقيت الساعات',
753
-	'statut_admin_restreint' => 'إدارة محدودة',
754
-	'statut_webmestre' => 'المشرف على الموقع',
751
+    // S
752
+    'sans_heure' => 'بدون توقيت الساعات',
753
+    'statut_admin_restreint' => 'إدارة محدودة',
754
+    'statut_webmestre' => 'المشرف على الموقع',
755 755
 
756
-	// T
757
-	'tache_cron_asap' => 'مهمة CRON @function@ (في أسرع وقت)',
758
-	'tache_cron_secondes' => 'مهمةCRON @function@ (كل @nb@ ثانية)',
759
-	'taille_cache_image' => 'تحتل الصور التي حسبها SPIP آلياً (مصغرات مستندات، عناوين معروضة كصور، دالات رياضية بتنسيق TeX...) مساحة اجمالية تبلغ @taille@ في الدليل @dir@.',
760
-	'taille_cache_moins_de' => 'حجم الذاكرة المخبأة أقل من @octets@.',
761
-	'taille_cache_octets' => 'يبلغ حجم الذاكرة المخبأة حالياً @octets@ تقريباً.',
762
-	'taille_cache_vide' => 'الذاكرة المخبأة فارغة.',
763
-	'taille_repertoire_cache' => 'حجم دليل الذاكرة المخبأة',
764
-	'text_article_propose_publication' => 'مقال معروض للنشر.',
765
-	'texte_acces_ldap_anonyme_1' => 'بعض خدام LDAP تمنع الدخول المغفل. في هذه الحال عليك بإدخال بيانات دخول أولية لتتمكن من البحث عن معلومات في الدليل لاحقاً. إلا أنه، في معظم الأحيان، يمكن ترك الحقول التالية فارغة.',
766
-	'texte_admin_effacer_01' => 'يقوم هذا الأمر بحذف  كامل محتوى قاعدة البيانات،
756
+    // T
757
+    'tache_cron_asap' => 'مهمة CRON @function@ (في أسرع وقت)',
758
+    'tache_cron_secondes' => 'مهمةCRON @function@ (كل @nb@ ثانية)',
759
+    'taille_cache_image' => 'تحتل الصور التي حسبها SPIP آلياً (مصغرات مستندات، عناوين معروضة كصور، دالات رياضية بتنسيق TeX...) مساحة اجمالية تبلغ @taille@ في الدليل @dir@.',
760
+    'taille_cache_moins_de' => 'حجم الذاكرة المخبأة أقل من @octets@.',
761
+    'taille_cache_octets' => 'يبلغ حجم الذاكرة المخبأة حالياً @octets@ تقريباً.',
762
+    'taille_cache_vide' => 'الذاكرة المخبأة فارغة.',
763
+    'taille_repertoire_cache' => 'حجم دليل الذاكرة المخبأة',
764
+    'text_article_propose_publication' => 'مقال معروض للنشر.',
765
+    'texte_acces_ldap_anonyme_1' => 'بعض خدام LDAP تمنع الدخول المغفل. في هذه الحال عليك بإدخال بيانات دخول أولية لتتمكن من البحث عن معلومات في الدليل لاحقاً. إلا أنه، في معظم الأحيان، يمكن ترك الحقول التالية فارغة.',
766
+    'texte_admin_effacer_01' => 'يقوم هذا الأمر بحذف  كامل محتوى قاعدة البيانات،
767 767
 بما في ذلك كل  وسائط الوصول للمحررين والمدراء. بعد تنفيذه، يتحتم عليك
768 768
 إعادة تثبيت SPIP لإعادة إنتاج قاعدة جديدة ووسيط دخول أول مدير.',
769
-	'texte_adresse_annuaire_1' => 'إذا كان دليلك مثبت على الجهاز نفسه الذي يحتوي موقعك، فإنه على الأرجح «localhost»)).',
770
-	'texte_ajout_auteur' => 'تمت إضافة المؤلف التالي الى المقال:',
771
-	'texte_annuaire_ldap_1' => 'إذا كان لديك إمكتان وصول الى دليل LDAP، يمكنك استخدامه لجلب المستخدمين آلياً الى SPIP.',
772
-	'texte_article_statut' => 'هذا المقال:',
773
-	'texte_article_virtuel' => 'مقال إفتراضي',
774
-	'texte_article_virtuel_reference' => '<b>مقال إفتراضي: <b/>مقال مبوّب في موقع SPIP لديك، لكنه موجه الى عنوان آخر. لإلغاء التوجيه، قم بحذف العنوان أعلاه.',
775
-	'texte_aucun_resultat_auteur' => 'لا توجد نتائج لـ "@cherche_auteur@"',
776
-	'texte_auteur_messagerie' => 'يمكن لهذا الموقع رصد قائمة المحررين المتصلين بشكل دائم مما يتيح لك تبادل الرسائل في الوقت الحقيقي. يمكنك التقرير بعدم الظهور في هذه القائمة (وبالتالي تكون «مخفياً» بالنسبة للمستخدمين الآخرين).',
777
-	'texte_auteurs' => 'المؤلفون',
778
-	'texte_choix_base_1' => 'حدد قاعدة بياناتك:',
779
-	'texte_choix_base_2' => 'يحتوي خادم SQL على عدة قواعد بيانات.',
780
-	'texte_choix_base_3' => '<b>حدد</b> أدناه القاعدة التي خصصها مضيفك لك:',
781
-	'texte_choix_table_prefix' => 'بادئة الجداول:',
782
-	'texte_compte_element' => 'عنصر@count@',
783
-	'texte_compte_elements' => 'عنصر@count@',
784
-	'texte_conflit_edition_correction' => 'الرجاء التدقيق ادناه في الفوارق بين إصداري النص. يمكنك ايضاً تسخ تعديلاتك ثم البدء من جديد.',
785
-	'texte_connexion_mysql' => 'راجع المعلومات التي زودك بها مضيفك:  من المفترض ان تجد فيها خادم قاعدة البيانات وبيانات اتصالك الشخصية بالقاعدة.',
786
-	'texte_contenu_article' => '(محتوى المقال في بضع كلمات.)',
787
-	'texte_contenu_articles' => 'اعتماداً على تصميم موقعك، يمكنك اختيار
769
+    'texte_adresse_annuaire_1' => 'إذا كان دليلك مثبت على الجهاز نفسه الذي يحتوي موقعك، فإنه على الأرجح «localhost»)).',
770
+    'texte_ajout_auteur' => 'تمت إضافة المؤلف التالي الى المقال:',
771
+    'texte_annuaire_ldap_1' => 'إذا كان لديك إمكتان وصول الى دليل LDAP، يمكنك استخدامه لجلب المستخدمين آلياً الى SPIP.',
772
+    'texte_article_statut' => 'هذا المقال:',
773
+    'texte_article_virtuel' => 'مقال إفتراضي',
774
+    'texte_article_virtuel_reference' => '<b>مقال إفتراضي: <b/>مقال مبوّب في موقع SPIP لديك، لكنه موجه الى عنوان آخر. لإلغاء التوجيه، قم بحذف العنوان أعلاه.',
775
+    'texte_aucun_resultat_auteur' => 'لا توجد نتائج لـ "@cherche_auteur@"',
776
+    'texte_auteur_messagerie' => 'يمكن لهذا الموقع رصد قائمة المحررين المتصلين بشكل دائم مما يتيح لك تبادل الرسائل في الوقت الحقيقي. يمكنك التقرير بعدم الظهور في هذه القائمة (وبالتالي تكون «مخفياً» بالنسبة للمستخدمين الآخرين).',
777
+    'texte_auteurs' => 'المؤلفون',
778
+    'texte_choix_base_1' => 'حدد قاعدة بياناتك:',
779
+    'texte_choix_base_2' => 'يحتوي خادم SQL على عدة قواعد بيانات.',
780
+    'texte_choix_base_3' => '<b>حدد</b> أدناه القاعدة التي خصصها مضيفك لك:',
781
+    'texte_choix_table_prefix' => 'بادئة الجداول:',
782
+    'texte_compte_element' => 'عنصر@count@',
783
+    'texte_compte_elements' => 'عنصر@count@',
784
+    'texte_conflit_edition_correction' => 'الرجاء التدقيق ادناه في الفوارق بين إصداري النص. يمكنك ايضاً تسخ تعديلاتك ثم البدء من جديد.',
785
+    'texte_connexion_mysql' => 'راجع المعلومات التي زودك بها مضيفك:  من المفترض ان تجد فيها خادم قاعدة البيانات وبيانات اتصالك الشخصية بالقاعدة.',
786
+    'texte_contenu_article' => '(محتوى المقال في بضع كلمات.)',
787
+    'texte_contenu_articles' => 'اعتماداً على تصميم موقعك، يمكنك اختيار
788 788
 عدم استخدام بعض عناصر المقالات.
789 789
 إستخدم القائمة التالية لاختيار العناصر التي ستكون متاحة.',
790
-	'texte_crash_base' => 'إذا حصل عطل في
790
+    'texte_crash_base' => 'إذا حصل عطل في
791 791
 قاعدتك، يمكنك محاولة إصلاحها
792 792
 آلياً.',
793
-	'texte_creer_rubrique' => 'قبل التمكن من كتابة مقالات،<br />يجب عليك إنشاء قسم واحد على الأقل.',
794
-	'texte_date_creation_article' => 'تاريخ إنشاء المقال:',
795
-	'texte_date_creation_objet' => 'تاريخ الانشاء:', # on ajoute le &quot;:&quot;
796
-	'texte_date_publication_anterieure' => 'تاريخ النشر السابق:',
797
-	'texte_date_publication_anterieure_nonaffichee' => 'إخفاء تاريخ النشر السابق.',
798
-	'texte_date_publication_article' => 'تاريخ النشر:',
799
-	'texte_date_publication_objet' => 'تاريخ النشر:',
800
-	'texte_definir_comme_traduction_rubrique' => 'هذا القسم هو ترجمة للقسم رقم:',
801
-	'texte_descriptif_rapide' => 'وصف مقتضب',
802
-	'texte_effacer_base' => 'حذف قاعدة بيانات SPIP',
803
-	'texte_effacer_statistiques' => 'حذف الاحصاءات',
804
-	'texte_en_cours_validation' => 'المقالات والأخبار التالية معروضة للنشر.',
805
-	'texte_enrichir_mise_a_jour' => 'يمكنك استخدام «إختصارات الكتابة» لتحسين مظهر مادتك.',
806
-	'texte_fichier_authent' => '<b>هل يقوم SPIP بإنشاء الملفات الخاصة<tt>.htpasswd</tt>
793
+    'texte_creer_rubrique' => 'قبل التمكن من كتابة مقالات،<br />يجب عليك إنشاء قسم واحد على الأقل.',
794
+    'texte_date_creation_article' => 'تاريخ إنشاء المقال:',
795
+    'texte_date_creation_objet' => 'تاريخ الانشاء:', # on ajoute le &quot;:&quot;
796
+    'texte_date_publication_anterieure' => 'تاريخ النشر السابق:',
797
+    'texte_date_publication_anterieure_nonaffichee' => 'إخفاء تاريخ النشر السابق.',
798
+    'texte_date_publication_article' => 'تاريخ النشر:',
799
+    'texte_date_publication_objet' => 'تاريخ النشر:',
800
+    'texte_definir_comme_traduction_rubrique' => 'هذا القسم هو ترجمة للقسم رقم:',
801
+    'texte_descriptif_rapide' => 'وصف مقتضب',
802
+    'texte_effacer_base' => 'حذف قاعدة بيانات SPIP',
803
+    'texte_effacer_statistiques' => 'حذف الاحصاءات',
804
+    'texte_en_cours_validation' => 'المقالات والأخبار التالية معروضة للنشر.',
805
+    'texte_enrichir_mise_a_jour' => 'يمكنك استخدام «إختصارات الكتابة» لتحسين مظهر مادتك.',
806
+    'texte_fichier_authent' => '<b>هل يقوم SPIP بإنشاء الملفات الخاصة<tt>.htpasswd</tt>
807 807
 و<tt>.htpasswd-admin</tt> في المجلد @dossier@؟</b>
808 808
 <p>تستخدم هذه الملفات للحد من دخول المؤلفين
809 809
  والمدراء الى اجزاء اخرى من الموقع
@@ -811,42 +811,42 @@  discard block
 block discarded – undo
811 811
 إذا كنت لا تحتاج الى هذه الملفات يمكنك الإبقاء على القيمة
812 812
 الافتراضية لهذا الخيار (عدم إنشاء 
813 813
 الملفات).</p>',
814
-	'texte_informations_personnelles_1' => 'سيزودك النظام الآن بدخول شخصي الى الموقع.',
815
-	'texte_informations_personnelles_2' => '(ملاحظة: هذه إعادة تثبيت، اذا كان دخولك لا يزال يعمل، يمكنك',
816
-	'texte_introductif_article' => '(نص تقديمي للمقال)',
817
-	'texte_jeu_caractere' => 'يستحسن استخدام طقم الحروف الشامل (<tt>utf-8</tt>): يسمح هذا الطقم بعرض نصوص بجميع اللغات ولا يتسبب بمشاكل توافق مع برامج التصفح الحديثة.',
818
-	'texte_jeu_caractere_3' => 'موقعك يستخدم حالياً طقم الحروف:',
819
-	'texte_jeu_caractere_4' => 'اذا كان ذلك لا يتناسب مع واقع بياناتك (من جراء استرجاع نسخة احتياطية من القاعدة مثلاً) او اذا كنت <strong>تباشر في اطلاق هذا الموقع</strong> وترغب في استخدام طقم حروف آخر، الرجاء تحديد هذا الطقم هنا:',
820
-	'texte_login_ldap_1' => ')أتركه فارغاً للدخول المغفل أو قم بإدخال المسار الكامل، مثلاً «<tt>uid=salim, ou=users, dc=mon-domaine, dc=com</tt>»).',
821
-	'texte_login_precaution' => 'تحذير! هذا هو المعرّف الذي تتصل من خلاله الآن.
814
+    'texte_informations_personnelles_1' => 'سيزودك النظام الآن بدخول شخصي الى الموقع.',
815
+    'texte_informations_personnelles_2' => '(ملاحظة: هذه إعادة تثبيت، اذا كان دخولك لا يزال يعمل، يمكنك',
816
+    'texte_introductif_article' => '(نص تقديمي للمقال)',
817
+    'texte_jeu_caractere' => 'يستحسن استخدام طقم الحروف الشامل (<tt>utf-8</tt>): يسمح هذا الطقم بعرض نصوص بجميع اللغات ولا يتسبب بمشاكل توافق مع برامج التصفح الحديثة.',
818
+    'texte_jeu_caractere_3' => 'موقعك يستخدم حالياً طقم الحروف:',
819
+    'texte_jeu_caractere_4' => 'اذا كان ذلك لا يتناسب مع واقع بياناتك (من جراء استرجاع نسخة احتياطية من القاعدة مثلاً) او اذا كنت <strong>تباشر في اطلاق هذا الموقع</strong> وترغب في استخدام طقم حروف آخر، الرجاء تحديد هذا الطقم هنا:',
820
+    'texte_login_ldap_1' => ')أتركه فارغاً للدخول المغفل أو قم بإدخال المسار الكامل، مثلاً «<tt>uid=salim, ou=users, dc=mon-domaine, dc=com</tt>»).',
821
+    'texte_login_precaution' => 'تحذير! هذا هو المعرّف الذي تتصل من خلاله الآن.
822 822
 إستخدم هذه الاستمارة بحذر...',
823
-	'texte_messagerie_agenda' => 'يتيح نظام مراسلة لمحرري الموقع التواصل بين بعضهم مباشرة في المجال الخاص. وهو مرتبط بالمفكرة.',
824
-	'texte_mise_a_niveau_base_1' => 'لقد قمت بتحديث ملفات SPIP.
823
+    'texte_messagerie_agenda' => 'يتيح نظام مراسلة لمحرري الموقع التواصل بين بعضهم مباشرة في المجال الخاص. وهو مرتبط بالمفكرة.',
824
+    'texte_mise_a_niveau_base_1' => 'لقد قمت بتحديث ملفات SPIP.
825 825
 يجب الآن تحديث قاعدة بيانات
826 826
 الموقع.',
827
-	'texte_modifier_article' => 'تعديل المقال:',
828
-	'texte_multilinguisme' => 'اذا احتجت الى إدارة عناصر متعددة اللغات وبتصفح معقّد، يمكنك إضافة قائمة اختيار اللغة في هذه العناصر تتماشى مع تنظيم موقعك.',
829
-	'texte_multilinguisme_trad' => 'يمكنك ايضاً تفعيل نظام لإدارة الروابط بين الترجمات المختلفة لبعض العناصر.',
830
-	'texte_non_compresse' => 'غير مضغوط (خادمك لا يدعم هذه الوظيفة)',
831
-	'texte_nouvelle_version_spip_1' => 'لقد قمت بتثبيت إصدار جديد من SPIP.',
832
-	'texte_nouvelle_version_spip_2' => 'هذا الإصدار الجديد يتطلب تحديثاً أكثر عمقاً من المعتاد. إذا كنت مسؤولاً عن هذا الموقع، الرجاء حذف الملف @connect@ وإعادة تنفيذ عملية التثبيت من أجل تحديث بيانات الاتصال بالقاعدة. <p> ( ملاحظة: إذا نسيت بيانات الاتصال، أنظر في الملف @connect@ قبل حذفه...)</p>',
833
-	'texte_operation_echec' => 'عد الى الصفحة السابقة وحدد قاعدة بيانات أخرى أو قم بإنشاء قاعدة جديدة. تأكد من المعلومات التي حصلت عليها من مضيفك',
834
-	'texte_plus_trois_car' => 'أكثر من ثلاثة أحرف',
835
-	'texte_plusieurs_articles' => 'تم العثور على عدة مؤلفين لـ "@cherche_auteur@":',
836
-	'texte_port_annuaire' => '(القيمة الافتراضية مناسبة عموماً).',
837
-	'texte_presente_plugin' => 'تعرض هذه الصفحة لائحة بالملحقات المتوافرة في موقعك. يمكنك تفعيل الملحقات التي تريدها بالنقر على الخانات المناسبة لها.',
838
-	'texte_proposer_publication' => 'عندما تنتهي من مقالك،<br />يمكنك عرضه للنشر.',
839
-	'texte_proxy' => 'في بعض الحالات (انترانت، شبكات محمية...)، لا يمكن الوصول الى المواقع البعيدة (توثيق SPIP، المواقع المرخصة...) الا من خلال <b>جهاز وكيل</b>. اذا لزم الامر، حدد ادناه عنوان الجهاز على الشكل @proxy_en_cours@. بشكل عام اترك هذه الخانة فارغة.',
840
-	'texte_publication_articles_post_dates' => 'كيف يجب على SPIP  ان يتصرف بالنسبة للمقالات التي
827
+    'texte_modifier_article' => 'تعديل المقال:',
828
+    'texte_multilinguisme' => 'اذا احتجت الى إدارة عناصر متعددة اللغات وبتصفح معقّد، يمكنك إضافة قائمة اختيار اللغة في هذه العناصر تتماشى مع تنظيم موقعك.',
829
+    'texte_multilinguisme_trad' => 'يمكنك ايضاً تفعيل نظام لإدارة الروابط بين الترجمات المختلفة لبعض العناصر.',
830
+    'texte_non_compresse' => 'غير مضغوط (خادمك لا يدعم هذه الوظيفة)',
831
+    'texte_nouvelle_version_spip_1' => 'لقد قمت بتثبيت إصدار جديد من SPIP.',
832
+    'texte_nouvelle_version_spip_2' => 'هذا الإصدار الجديد يتطلب تحديثاً أكثر عمقاً من المعتاد. إذا كنت مسؤولاً عن هذا الموقع، الرجاء حذف الملف @connect@ وإعادة تنفيذ عملية التثبيت من أجل تحديث بيانات الاتصال بالقاعدة. <p> ( ملاحظة: إذا نسيت بيانات الاتصال، أنظر في الملف @connect@ قبل حذفه...)</p>',
833
+    'texte_operation_echec' => 'عد الى الصفحة السابقة وحدد قاعدة بيانات أخرى أو قم بإنشاء قاعدة جديدة. تأكد من المعلومات التي حصلت عليها من مضيفك',
834
+    'texte_plus_trois_car' => 'أكثر من ثلاثة أحرف',
835
+    'texte_plusieurs_articles' => 'تم العثور على عدة مؤلفين لـ "@cherche_auteur@":',
836
+    'texte_port_annuaire' => '(القيمة الافتراضية مناسبة عموماً).',
837
+    'texte_presente_plugin' => 'تعرض هذه الصفحة لائحة بالملحقات المتوافرة في موقعك. يمكنك تفعيل الملحقات التي تريدها بالنقر على الخانات المناسبة لها.',
838
+    'texte_proposer_publication' => 'عندما تنتهي من مقالك،<br />يمكنك عرضه للنشر.',
839
+    'texte_proxy' => 'في بعض الحالات (انترانت، شبكات محمية...)، لا يمكن الوصول الى المواقع البعيدة (توثيق SPIP، المواقع المرخصة...) الا من خلال <b>جهاز وكيل</b>. اذا لزم الامر، حدد ادناه عنوان الجهاز على الشكل @proxy_en_cours@. بشكل عام اترك هذه الخانة فارغة.',
840
+    'texte_publication_articles_post_dates' => 'كيف يجب على SPIP  ان يتصرف بالنسبة للمقالات التي
841 841
 تم تحديد تاريخها
842 842
 	في المستقبل؟',
843
-	'texte_rappel_selection_champs' => '[لا تنسى ان تحدد هذا الحقل بشكل صحيح]',
844
-	'texte_recalcul_page' => 'إذا كنت ترغب
843
+    'texte_rappel_selection_champs' => '[لا تنسى ان تحدد هذا الحقل بشكل صحيح]',
844
+    'texte_recalcul_page' => 'إذا كنت ترغب
845 845
 في تحديث صفحة واحدة، الأحرى بك تنفيذ هذه العملية من الموقع العمومي باستخدام زر «تحديث» الصفحة.
846 846
 ',
847
-	'texte_recuperer_base' => 'إصلاح قاعدة البيانات',
848
-	'texte_reference_mais_redirige' => 'مقال مبوّب في موقع SPIP لديك، لكنه موجه الى عنوان آخر.',
849
-	'texte_requetes_echouent' => '<b>عندما يفشل بعض إستفسارات SQL
847
+    'texte_recuperer_base' => 'إصلاح قاعدة البيانات',
848
+    'texte_reference_mais_redirige' => 'مقال مبوّب في موقع SPIP لديك، لكنه موجه الى عنوان آخر.',
849
+    'texte_requetes_echouent' => '<b>عندما يفشل بعض إستفسارات SQL
850 850
 بشكل منتظم ومتكرر دون أي سبب ظاهر، قد يكون
851 851
 العطل في قاعدة البيانات 
852 852
   نفسها.</b><p>
@@ -856,90 +856,90 @@  discard block
 block discarded – undo
856 856
 أدلة عن المشكلة...</p><p>
857 857
 إذا استمرت المشكلة إتصل
858 858
   بمضيف موقعك.</p>',
859
-	'texte_selection_langue_principale' => 'أدناه يمكنك تحديد «اللغة الأساسية » للموقع. لحسن الحظ لن يفرض عليك هذا الخيار تحرير مقالاتك باللغة المحددة، الا انه يحدد:
859
+    'texte_selection_langue_principale' => 'أدناه يمكنك تحديد «اللغة الأساسية » للموقع. لحسن الحظ لن يفرض عليك هذا الخيار تحرير مقالاتك باللغة المحددة، الا انه يحدد:
860 860
 <ul><li> تنسيق التواريخ الافتراضي في الموقع العام؛</li>
861 861
 <ul><li> طبيعة محرك الكتابة الذي يجب على SPIP استخدامه لتنسيق النصوص؛</li>
862 862
 <ul><li> اللغة المستخدمة في إستمارات الموقع العام؛</li>
863 863
 <ul><li> اللغة الافتراضية التي يعرضها المجال الخاص. </li></ul>',
864
-	'texte_sous_titre' => 'العنوان الفرعي',
865
-	'texte_statistiques_visites' => '(القضبان الداكنة: الأحد / المنحنيات الداكنة: التطور الوسطي)',
866
-	'texte_statut_attente_validation' => 'بانتظار التصديق',
867
-	'texte_statut_publies' => 'منشور',
868
-	'texte_statut_refuses' => 'مرفوض',
869
-	'texte_suppression_fichiers' => 'إستخدم هذا الأمر لحذف كل الملفات الموجودة
864
+    'texte_sous_titre' => 'العنوان الفرعي',
865
+    'texte_statistiques_visites' => '(القضبان الداكنة: الأحد / المنحنيات الداكنة: التطور الوسطي)',
866
+    'texte_statut_attente_validation' => 'بانتظار التصديق',
867
+    'texte_statut_publies' => 'منشور',
868
+    'texte_statut_refuses' => 'مرفوض',
869
+    'texte_suppression_fichiers' => 'إستخدم هذا الأمر لحذف كل الملفات الموجودة
870 870
 في الذاكرة المخبأة. ويتيح لك ذلك، من بين أمور أخرى، فرض تحديث كل الصفحات في حال
871 871
 قمت بإدخال تعديلات مهمة على الرسوم أو التصميم في الموقع. ',
872
-	'texte_sur_titre' => 'العنوان المدخل',
873
-	'texte_table_ok' => ': هذا الجدول صالح.',
874
-	'texte_tentative_recuperation' => 'محاولة إصلاح',
875
-	'texte_tenter_reparation' => 'محاولة إصلاح قاعدة البيانات',
876
-	'texte_test_proxy' => 'لتجربة الجهاز الوكيل، قم بإدخال عنوان موقع 
872
+    'texte_sur_titre' => 'العنوان المدخل',
873
+    'texte_table_ok' => ': هذا الجدول صالح.',
874
+    'texte_tentative_recuperation' => 'محاولة إصلاح',
875
+    'texte_tenter_reparation' => 'محاولة إصلاح قاعدة البيانات',
876
+    'texte_test_proxy' => 'لتجربة الجهاز الوكيل، قم بإدخال عنوان موقع 
877 877
 				ترغب في زيارته.',
878
-	'texte_titre_02' => 'الإسم:',
879
-	'texte_titre_obligatoire' => '<b>العنوان</b> [إجباري]',
880
-	'texte_travail_article' => '@nom_auteur_modif@ تعامل مع هذا المقال منذ @date_diff@ دقيقة',
881
-	'texte_travail_collaboratif' => 'كثيراً ما يحدث أن يتعاون
878
+    'texte_titre_02' => 'الإسم:',
879
+    'texte_titre_obligatoire' => '<b>العنوان</b> [إجباري]',
880
+    'texte_travail_article' => '@nom_auteur_modif@ تعامل مع هذا المقال منذ @date_diff@ دقيقة',
881
+    'texte_travail_collaboratif' => 'كثيراً ما يحدث أن يتعاون
882 882
 عدة محررين في تحرير المقال نفسه، فيمكن
883 883
 للنظام أن يعرض المقالات «المفتوحة» حديثاً
884 884
 بهدف تجنب إدخال تعديلات متزامنة عليها.
885 885
 هذا الخيار متوقف افتراضياً
886 886
 لتجنب عرض رسائل تحذير
887 887
 مفاجئة.',
888
-	'texte_vide' => 'فارغ',
889
-	'texte_vider_cache' => 'تفريغ الذاكرة المخبأة',
890
-	'titre_admin_tech' => 'صيانة تقنية',
891
-	'titre_admin_vider' => 'صيانة تقنية',
892
-	'titre_ajouter_un_auteur' => 'إضافة مؤلف',
893
-	'titre_ajouter_un_mot' => 'إضافة مفتاح',
894
-	'titre_cadre_afficher_article' => 'إظهار المقالات',
895
-	'titre_cadre_afficher_traductions' => 'عرض وضع الترجمات للغات التالية:',
896
-	'titre_cadre_ajouter_auteur' => 'إضافة مؤلف:',
897
-	'titre_cadre_interieur_rubrique' => 'في القسم',
898
-	'titre_cadre_numero_auteur' => 'مؤلف رقم',
899
-	'titre_cadre_numero_objet' => '@objet@ رقم:',
900
-	'titre_cadre_signature_obligatoire' => '<b>التوقيع<b> [إجباري]<br />',
901
-	'titre_config_contenu_notifications' => 'تبليغات',
902
-	'titre_config_contenu_prive' => 'في المجال الخاص',
903
-	'titre_config_contenu_public' => 'في الموقع العمومي',
904
-	'titre_config_fonctions' => 'إعداد الموقع',
905
-	'titre_config_langage' => 'إعداد اللغة',
906
-	'titre_configuration' => 'إعداد الموقع',
907
-	'titre_configurer_preferences' => 'إعداد التفضيلات',
908
-	'titre_configurer_preferences_menus' => 'إعداد تفضيلات القوائم',
909
-	'titre_conflit_edition' => 'تضارب لدى التحرير',
910
-	'titre_connexion_ldap' => 'خيارات: <b>إتصالLDAP </b>',
911
-	'titre_groupe_mots' => 'مجموعة مفاتيح:',
912
-	'titre_identite_site' => 'هوية الموقع',
913
-	'titre_langue_article' => 'لغة المقال',
914
-	'titre_langue_rubrique' => 'لغة القسم',
915
-	'titre_langue_trad_article' => 'لغة المقال وترجماته',
916
-	'titre_les_articles' => 'المقالات',
917
-	'titre_messagerie_agenda' => 'المراسلة والمفكرة',
918
-	'titre_naviguer_dans_le_site' => 'تصفح الموقع...',
919
-	'titre_nouvelle_rubrique' => 'قسم جديد',
920
-	'titre_numero_rubrique' => 'قسم رقم:',
921
-	'titre_page_articles_edit' => 'تعديل: @titre@',
922
-	'titre_page_articles_page' => 'المقالات',
923
-	'titre_page_articles_tous' => 'الموقع بالكامل',
924
-	'titre_page_calendrier' => 'روزنامة @nom_mois@ @annee@',
925
-	'titre_page_config_contenu' => 'إعداد الموقع',
926
-	'titre_page_delete_all' => 'حذف تام ونهائي',
927
-	'titre_page_recherche' => 'نتائج البحث @recherche@',
928
-	'titre_page_statistiques_referers' => 'الاحصاءات (الوصلات الآتية)',
929
-	'titre_page_upgrade' => 'ترقية SPIP',
930
-	'titre_preference_menus_favoris' => 'قائمة المفضلات',
931
-	'titre_publication_articles_post_dates' => 'نشر المقالات المؤجلة',
932
-	'titre_reparation' => 'إصلاح',
933
-	'titre_suivi_petition' => 'متابعة العرائض',
934
-	'tls_ldap' => 'أمان طبقة النقل:',
935
-	'trad_article_traduction' => 'كل اصدارات هذا المقال:',
936
-	'trad_delier' => 'ايقاف الربط هذا بهذه الترجمات',
937
-	'trad_lier' => 'هذا المقال هو ترجمة للمقال رقم:',
938
-	'trad_new' => 'كتابة ترجمة جديدة',
888
+    'texte_vide' => 'فارغ',
889
+    'texte_vider_cache' => 'تفريغ الذاكرة المخبأة',
890
+    'titre_admin_tech' => 'صيانة تقنية',
891
+    'titre_admin_vider' => 'صيانة تقنية',
892
+    'titre_ajouter_un_auteur' => 'إضافة مؤلف',
893
+    'titre_ajouter_un_mot' => 'إضافة مفتاح',
894
+    'titre_cadre_afficher_article' => 'إظهار المقالات',
895
+    'titre_cadre_afficher_traductions' => 'عرض وضع الترجمات للغات التالية:',
896
+    'titre_cadre_ajouter_auteur' => 'إضافة مؤلف:',
897
+    'titre_cadre_interieur_rubrique' => 'في القسم',
898
+    'titre_cadre_numero_auteur' => 'مؤلف رقم',
899
+    'titre_cadre_numero_objet' => '@objet@ رقم:',
900
+    'titre_cadre_signature_obligatoire' => '<b>التوقيع<b> [إجباري]<br />',
901
+    'titre_config_contenu_notifications' => 'تبليغات',
902
+    'titre_config_contenu_prive' => 'في المجال الخاص',
903
+    'titre_config_contenu_public' => 'في الموقع العمومي',
904
+    'titre_config_fonctions' => 'إعداد الموقع',
905
+    'titre_config_langage' => 'إعداد اللغة',
906
+    'titre_configuration' => 'إعداد الموقع',
907
+    'titre_configurer_preferences' => 'إعداد التفضيلات',
908
+    'titre_configurer_preferences_menus' => 'إعداد تفضيلات القوائم',
909
+    'titre_conflit_edition' => 'تضارب لدى التحرير',
910
+    'titre_connexion_ldap' => 'خيارات: <b>إتصالLDAP </b>',
911
+    'titre_groupe_mots' => 'مجموعة مفاتيح:',
912
+    'titre_identite_site' => 'هوية الموقع',
913
+    'titre_langue_article' => 'لغة المقال',
914
+    'titre_langue_rubrique' => 'لغة القسم',
915
+    'titre_langue_trad_article' => 'لغة المقال وترجماته',
916
+    'titre_les_articles' => 'المقالات',
917
+    'titre_messagerie_agenda' => 'المراسلة والمفكرة',
918
+    'titre_naviguer_dans_le_site' => 'تصفح الموقع...',
919
+    'titre_nouvelle_rubrique' => 'قسم جديد',
920
+    'titre_numero_rubrique' => 'قسم رقم:',
921
+    'titre_page_articles_edit' => 'تعديل: @titre@',
922
+    'titre_page_articles_page' => 'المقالات',
923
+    'titre_page_articles_tous' => 'الموقع بالكامل',
924
+    'titre_page_calendrier' => 'روزنامة @nom_mois@ @annee@',
925
+    'titre_page_config_contenu' => 'إعداد الموقع',
926
+    'titre_page_delete_all' => 'حذف تام ونهائي',
927
+    'titre_page_recherche' => 'نتائج البحث @recherche@',
928
+    'titre_page_statistiques_referers' => 'الاحصاءات (الوصلات الآتية)',
929
+    'titre_page_upgrade' => 'ترقية SPIP',
930
+    'titre_preference_menus_favoris' => 'قائمة المفضلات',
931
+    'titre_publication_articles_post_dates' => 'نشر المقالات المؤجلة',
932
+    'titre_reparation' => 'إصلاح',
933
+    'titre_suivi_petition' => 'متابعة العرائض',
934
+    'tls_ldap' => 'أمان طبقة النقل:',
935
+    'trad_article_traduction' => 'كل اصدارات هذا المقال:',
936
+    'trad_delier' => 'ايقاف الربط هذا بهذه الترجمات',
937
+    'trad_lier' => 'هذا المقال هو ترجمة للمقال رقم:',
938
+    'trad_new' => 'كتابة ترجمة جديدة',
939 939
 
940
-	// U
941
-	'utf8_convert_erreur_orig' => 'خطأ: طقم الحروف @charset@ غير مدعوم.',
940
+    // U
941
+    'utf8_convert_erreur_orig' => 'خطأ: طقم الحروف @charset@ غير مدعوم.',
942 942
 
943
-	// V
944
-	'version' => 'الإصدار:'
943
+    // V
944
+    'version' => 'الإصدار:'
945 945
 );
Please login to merge, or discard this patch.
ecrire/lang/ecrire_en.php 1 patch
Indentation   +839 added lines, -839 removed lines patch added patch discarded remove patch
@@ -4,431 +4,431 @@  discard block
 block discarded – undo
4 4
 // ** ne pas modifier le fichier **
5 5
 
6 6
 if (!defined('_ECRIRE_INC_VERSION')) {
7
-	return;
7
+    return;
8 8
 }
9 9
 
10 10
 $GLOBALS[$GLOBALS['idx_lang']] = array(
11 11
 
12
-	// A
13
-	'activer_plugin' => 'Enable plugin',
14
-	'affichage' => 'Display',
15
-	'aide_non_disponible' => 'This part of the online help is not yet available in this language.',
16
-	'annuler_recherche' => 'Cancel the search',
17
-	'auteur' => 'Author:',
18
-	'avis_acces_interdit' => 'Access forbidden.',
19
-	'avis_acces_interdit_prive' => 'You are not allowed to access the page <b>@exec@</b>.',
20
-	'avis_article_modifie' => 'Warning: @nom_auteur_modif@ modified this article @date_diff@ minutes ago',
21
-	'avis_aucun_resultat' => 'No results found.',
22
-	'avis_base_inaccessible' => 'Impossible to connect to the database @base@.',
23
-	'avis_chemin_invalide_1' => 'The path you selected',
24
-	'avis_chemin_invalide_2' => 'does not seem to be valid. Please go back to previous page and check the information you provided.',
25
-	'avis_connexion_echec_1' => 'Connection to the SQL server failed.',
26
-	'avis_connexion_echec_2' => 'Go back to the previous page, and check the information you provided.',
27
-	'avis_connexion_echec_3' => '<b>N.B.</b> On many servers, you must <b>request</b> activation of your access to the SQL database before you can use it. If you cannot connect to your database, check that activation has been done.',
28
-	'avis_connexion_erreur_creer_base' => 'The database could not be created.',
29
-	'avis_connexion_erreur_fichier_cle_manquant_1' => 'Installation must be performed by a webmaster with a backup of the keys and their password',
30
-	'avis_connexion_erreur_fichier_cle_manquant_2' => 'Installation must be performed by a webmaster with a backup of the keys',
31
-	'avis_connexion_erreur_nom_base' => 'The database’s name should only contain letters, digits and hyphens.',
32
-	'avis_connexion_ldap_echec_1' => 'Connection to the LDAP server failed.',
33
-	'avis_connexion_ldap_echec_2' => 'Go back to the previous page, and check the information you provided.',
34
-	'avis_connexion_ldap_echec_3' => 'Alternatively, do not use LDAP support to import users.',
35
-	'avis_deplacement_rubrique' => 'Warning! This section contains @contient_breves@ news item@scb@: if you move it, please check this box to confirm.',
36
-	'avis_erreur_connexion_mysql' => 'SQL connection error',
37
-	'avis_erreur_creation_compte' => 'Failure during account initialisation',
38
-	'avis_espace_interdit' => '<b>Forbidden area</b> <div>SPIP is already installed.</div>',
39
-	'avis_lecture_noms_bases_1' => 'The installer could not read the names of any databases already installed.',
40
-	'avis_lecture_noms_bases_2' => 'Either no database is available, or the option listing databases was disabled for security reasons (which is the case with various hosting services).',
41
-	'avis_lecture_noms_bases_3' => 'In the second case, a database named after your login might already be available:',
42
-	'avis_non_acces_page' => 'You do not have access to this page.',
43
-	'avis_operation_echec' => 'The operation failed.',
44
-	'avis_operation_impossible' => 'Operation impossible',
45
-	'avis_suppression_base' => 'WARNING: data deletion is irreversible',
12
+    // A
13
+    'activer_plugin' => 'Enable plugin',
14
+    'affichage' => 'Display',
15
+    'aide_non_disponible' => 'This part of the online help is not yet available in this language.',
16
+    'annuler_recherche' => 'Cancel the search',
17
+    'auteur' => 'Author:',
18
+    'avis_acces_interdit' => 'Access forbidden.',
19
+    'avis_acces_interdit_prive' => 'You are not allowed to access the page <b>@exec@</b>.',
20
+    'avis_article_modifie' => 'Warning: @nom_auteur_modif@ modified this article @date_diff@ minutes ago',
21
+    'avis_aucun_resultat' => 'No results found.',
22
+    'avis_base_inaccessible' => 'Impossible to connect to the database @base@.',
23
+    'avis_chemin_invalide_1' => 'The path you selected',
24
+    'avis_chemin_invalide_2' => 'does not seem to be valid. Please go back to previous page and check the information you provided.',
25
+    'avis_connexion_echec_1' => 'Connection to the SQL server failed.',
26
+    'avis_connexion_echec_2' => 'Go back to the previous page, and check the information you provided.',
27
+    'avis_connexion_echec_3' => '<b>N.B.</b> On many servers, you must <b>request</b> activation of your access to the SQL database before you can use it. If you cannot connect to your database, check that activation has been done.',
28
+    'avis_connexion_erreur_creer_base' => 'The database could not be created.',
29
+    'avis_connexion_erreur_fichier_cle_manquant_1' => 'Installation must be performed by a webmaster with a backup of the keys and their password',
30
+    'avis_connexion_erreur_fichier_cle_manquant_2' => 'Installation must be performed by a webmaster with a backup of the keys',
31
+    'avis_connexion_erreur_nom_base' => 'The database’s name should only contain letters, digits and hyphens.',
32
+    'avis_connexion_ldap_echec_1' => 'Connection to the LDAP server failed.',
33
+    'avis_connexion_ldap_echec_2' => 'Go back to the previous page, and check the information you provided.',
34
+    'avis_connexion_ldap_echec_3' => 'Alternatively, do not use LDAP support to import users.',
35
+    'avis_deplacement_rubrique' => 'Warning! This section contains @contient_breves@ news item@scb@: if you move it, please check this box to confirm.',
36
+    'avis_erreur_connexion_mysql' => 'SQL connection error',
37
+    'avis_erreur_creation_compte' => 'Failure during account initialisation',
38
+    'avis_espace_interdit' => '<b>Forbidden area</b> <div>SPIP is already installed.</div>',
39
+    'avis_lecture_noms_bases_1' => 'The installer could not read the names of any databases already installed.',
40
+    'avis_lecture_noms_bases_2' => 'Either no database is available, or the option listing databases was disabled for security reasons (which is the case with various hosting services).',
41
+    'avis_lecture_noms_bases_3' => 'In the second case, a database named after your login might already be available:',
42
+    'avis_non_acces_page' => 'You do not have access to this page.',
43
+    'avis_operation_echec' => 'The operation failed.',
44
+    'avis_operation_impossible' => 'Operation impossible',
45
+    'avis_suppression_base' => 'WARNING: data deletion is irreversible',
46 46
 
47
-	// B
48
-	'bouton_acces_ldap' => 'Add LDAP access',
49
-	'bouton_ajouter' => 'Add',
50
-	'bouton_annuler' => 'Cancel',
51
-	'bouton_cache_activer' => 'Re-activate the cache',
52
-	'bouton_cache_desactiver' => 'Disable the cache momentarily',
53
-	'bouton_demande_publication' => 'Request publication of this article',
54
-	'bouton_desactive_tout' => 'Disable all',
55
-	'bouton_desinstaller' => 'Uninstall',
56
-	'bouton_effacer_tout' => 'Delete ALL',
57
-	'bouton_envoyer_message' => 'Message complete: send',
58
-	'bouton_fermer' => 'Close',
59
-	'bouton_mettre_a_jour_base' => 'Update the database',
60
-	'bouton_modifier' => 'Modify',
61
-	'bouton_radio_afficher' => 'Show',
62
-	'bouton_radio_apparaitre_liste_redacteurs_connectes' => 'Appear in the list of editors online',
63
-	'bouton_radio_envoi_annonces_adresse' => 'Send announcements to:',
64
-	'bouton_radio_envoi_liste_nouveautes' => 'Send news update list',
65
-	'bouton_radio_non_apparaitre_liste_redacteurs_connectes' => 'Do not appear in the list of editors online',
66
-	'bouton_radio_non_envoi_annonces_editoriales' => 'Do not send any editorial announcements',
67
-	'bouton_redirection' => 'REDIRECT',
68
-	'bouton_reinitialiser_aux_valeurs_par_defaut' => 'Reset to default values',
69
-	'bouton_relancer_inscription' => 'Re-launch registration',
70
-	'bouton_relancer_inscriptions' => 'Re-launch registrations',
71
-	'bouton_relancer_installation' => 'Recommence installation',
72
-	'bouton_reset_password' => 'Create a new password and send by e-mail',
73
-	'bouton_suivant' => 'Next',
74
-	'bouton_tenter_recuperation' => 'Attempt to repair',
75
-	'bouton_test_proxy' => 'Test the proxy',
76
-	'bouton_vider_cache' => 'Empty the cache',
47
+    // B
48
+    'bouton_acces_ldap' => 'Add LDAP access',
49
+    'bouton_ajouter' => 'Add',
50
+    'bouton_annuler' => 'Cancel',
51
+    'bouton_cache_activer' => 'Re-activate the cache',
52
+    'bouton_cache_desactiver' => 'Disable the cache momentarily',
53
+    'bouton_demande_publication' => 'Request publication of this article',
54
+    'bouton_desactive_tout' => 'Disable all',
55
+    'bouton_desinstaller' => 'Uninstall',
56
+    'bouton_effacer_tout' => 'Delete ALL',
57
+    'bouton_envoyer_message' => 'Message complete: send',
58
+    'bouton_fermer' => 'Close',
59
+    'bouton_mettre_a_jour_base' => 'Update the database',
60
+    'bouton_modifier' => 'Modify',
61
+    'bouton_radio_afficher' => 'Show',
62
+    'bouton_radio_apparaitre_liste_redacteurs_connectes' => 'Appear in the list of editors online',
63
+    'bouton_radio_envoi_annonces_adresse' => 'Send announcements to:',
64
+    'bouton_radio_envoi_liste_nouveautes' => 'Send news update list',
65
+    'bouton_radio_non_apparaitre_liste_redacteurs_connectes' => 'Do not appear in the list of editors online',
66
+    'bouton_radio_non_envoi_annonces_editoriales' => 'Do not send any editorial announcements',
67
+    'bouton_redirection' => 'REDIRECT',
68
+    'bouton_reinitialiser_aux_valeurs_par_defaut' => 'Reset to default values',
69
+    'bouton_relancer_inscription' => 'Re-launch registration',
70
+    'bouton_relancer_inscriptions' => 'Re-launch registrations',
71
+    'bouton_relancer_installation' => 'Recommence installation',
72
+    'bouton_reset_password' => 'Create a new password and send by e-mail',
73
+    'bouton_suivant' => 'Next',
74
+    'bouton_tenter_recuperation' => 'Attempt to repair',
75
+    'bouton_test_proxy' => 'Test the proxy',
76
+    'bouton_vider_cache' => 'Empty the cache',
77 77
 
78
-	// C
79
-	'cache_modifiable_webmestre' => 'This parameter can be modified by the webmaster.',
80
-	'calendrier_synchro' => 'If you use a calendar application compatible with <b>iCal</b>, you can synchronise it with information from this site.',
81
-	'config_activer_champs' => 'Activate the following fields',
82
-	'config_choix_base_sup' => 'Choose a database on this server',
83
-	'config_erreur_base_sup' => 'SPIP does not have access to the list of databases available',
84
-	'config_info_base_sup' => 'If you need to query other databases using SPIP, whether on this SQL server or elsewhere, use this form to declare them. If you leave any fields empty, connection details to the main database will be used.',
85
-	'config_info_base_sup_disponibles' => 'Additional databases to which queries may be sent:',
86
-	'config_info_enregistree' => 'The new configuration has been saved',
87
-	'config_info_logos' => 'Each element of the site can have its own logo as well as a "mouseover" logo',
88
-	'config_info_logos_utiliser' => 'Use logos',
89
-	'config_info_logos_utiliser_non' => 'Do not use logos',
90
-	'config_info_logos_utiliser_survol' => 'Use "mouseover" logos',
91
-	'config_info_logos_utiliser_survol_non' => 'Do not use "mouseover" logos',
92
-	'config_info_redirection' => 'By activating this option you can create virtual articles, which are simply links to articles published on other sites, not necessarily using SPIP.',
93
-	'config_redirection' => 'Virtual articles',
94
-	'config_titre_base_sup' => 'Declaration of an additional database',
95
-	'config_titre_base_sup_choix' => 'Choose an additional database',
96
-	'connexion_ldap' => 'Connection:',
97
-	'creer_et_associer_un_auteur' => 'Create and associate an author',
78
+    // C
79
+    'cache_modifiable_webmestre' => 'This parameter can be modified by the webmaster.',
80
+    'calendrier_synchro' => 'If you use a calendar application compatible with <b>iCal</b>, you can synchronise it with information from this site.',
81
+    'config_activer_champs' => 'Activate the following fields',
82
+    'config_choix_base_sup' => 'Choose a database on this server',
83
+    'config_erreur_base_sup' => 'SPIP does not have access to the list of databases available',
84
+    'config_info_base_sup' => 'If you need to query other databases using SPIP, whether on this SQL server or elsewhere, use this form to declare them. If you leave any fields empty, connection details to the main database will be used.',
85
+    'config_info_base_sup_disponibles' => 'Additional databases to which queries may be sent:',
86
+    'config_info_enregistree' => 'The new configuration has been saved',
87
+    'config_info_logos' => 'Each element of the site can have its own logo as well as a "mouseover" logo',
88
+    'config_info_logos_utiliser' => 'Use logos',
89
+    'config_info_logos_utiliser_non' => 'Do not use logos',
90
+    'config_info_logos_utiliser_survol' => 'Use "mouseover" logos',
91
+    'config_info_logos_utiliser_survol_non' => 'Do not use "mouseover" logos',
92
+    'config_info_redirection' => 'By activating this option you can create virtual articles, which are simply links to articles published on other sites, not necessarily using SPIP.',
93
+    'config_redirection' => 'Virtual articles',
94
+    'config_titre_base_sup' => 'Declaration of an additional database',
95
+    'config_titre_base_sup_choix' => 'Choose an additional database',
96
+    'connexion_ldap' => 'Connection:',
97
+    'creer_et_associer_un_auteur' => 'Create and associate an author',
98 98
 
99
-	// D
100
-	'date_mot_heures' => 'H',
99
+    // D
100
+    'date_mot_heures' => 'H',
101 101
 
102
-	// E
103
-	'ecran_connexion_couleur_principale' => 'Main colour',
104
-	'ecran_connexion_image_fond' => 'Background image',
105
-	'ecran_connexion_image_fond_explication' => 'Use an image (JPEG format, 1920x1080 pixels)',
106
-	'ecran_connexion_image_revenir_couleur_defaut' => 'Back to the default colour',
107
-	'ecran_connexion_titre' => 'Connection screen',
108
-	'ecran_securite' => '+ safety screen @version@',
109
-	'email' => 'email',
110
-	'email_2' => 'email:',
111
-	'en_savoir_plus' => 'Learn more',
112
-	'entree_adresse_annuaire' => 'Directory address',
113
-	'entree_adresse_email' => 'Your email address',
114
-	'entree_adresse_email_2' => 'E-mail address',
115
-	'entree_base_donnee_1' => 'Database address',
116
-	'entree_base_donnee_2' => '(This address is often your site’s URL, although sometimes it will be "localhost", and sometimes it should be left blank.)',
117
-	'entree_biographie' => 'Brief biography',
118
-	'entree_chemin_acces' => '<b>Enter</b> the path:',
119
-	'entree_cle_pgp' => 'Your PGP key',
120
-	'entree_cle_pgp_2' => 'PGP key',
121
-	'entree_contenu_rubrique' => '(Brief description of the content of this section.)',
122
-	'entree_identifiants_connexion' => 'Your connection identifiers...',
123
-	'entree_identifiants_connexion_2' => 'Connection identifiers',
124
-	'entree_informations_connexion_ldap' => 'Please fill this form with the LDAP connection information provided by your system or network administrator.',
125
-	'entree_infos_perso' => 'Who are you?',
126
-	'entree_infos_perso_2' => 'Who is the author?',
127
-	'entree_interieur_rubrique' => 'In the section:',
128
-	'entree_liens_sites' => '<b>Hyperlink</b> (reference, site to visit etc.)',
129
-	'entree_login' => 'Your login',
130
-	'entree_login_connexion_1' => 'Connection login',
131
-	'entree_login_connexion_2' => '(Sometimes matches your FTP account login and sometimes left empty)',
132
-	'entree_mot_passe' => 'Your password',
133
-	'entree_mot_passe_1' => 'Password',
134
-	'entree_mot_passe_2' => '(Sometimes matches your FTP access password and sometimes left empty)',
135
-	'entree_nom_fichier' => 'Please enter the filename @texte_compresse@:',
136
-	'entree_nom_pseudo' => 'Your name or alias',
137
-	'entree_nom_pseudo_1' => '(Your name or alias)',
138
-	'entree_nom_pseudo_2' => 'Name or alias',
139
-	'entree_nom_site' => 'Website’s name',
140
-	'entree_nom_site_2' => 'Author’s website’s name',
141
-	'entree_nouveau_passe' => 'New password',
142
-	'entree_passe_ldap' => 'Password',
143
-	'entree_port_annuaire' => 'Port number of the directory',
144
-	'entree_signature' => 'Signature',
145
-	'entree_titre_obligatoire' => '<b>Title</b> [Required]<br />',
146
-	'entree_url' => 'Website’s URL',
147
-	'entree_url_2' => 'Website’s URL',
148
-	'erreur_connect_deja_existant' => 'A server by that name already exists',
149
-	'erreur_contenu_suspect' => 'Text escaped',
150
-	'erreur_email_deja_existant' => 'This email address has already been registered.',
151
-	'erreur_nom_connect_incorrect' => 'Server name not allowed',
152
-	'erreur_plugin_attribut_balise_manquant' => 'Missing attribute @attribut@ in tag @balise@',
153
-	'erreur_plugin_desinstalation_echouee' => 'Uninstallation of the plugin failed. However, you may deactivate it.',
154
-	'erreur_plugin_fichier_absent' => 'File missing',
155
-	'erreur_plugin_fichier_def_absent' => 'Definition file missing',
156
-	'erreur_plugin_nom_fonction_interdit' => 'Prohibited function name',
157
-	'erreur_plugin_nom_manquant' => 'Missing plugin name',
158
-	'erreur_plugin_prefix_manquant' => 'Namespace undefined for this plugin',
159
-	'erreur_plugin_tag_plugin_absent' => '&lt;plugin&gt; missing in the definition file',
160
-	'erreur_plugin_version_manquant' => 'Plugin version missing',
161
-	'erreur_type_fichier' => 'Wrong file type',
102
+    // E
103
+    'ecran_connexion_couleur_principale' => 'Main colour',
104
+    'ecran_connexion_image_fond' => 'Background image',
105
+    'ecran_connexion_image_fond_explication' => 'Use an image (JPEG format, 1920x1080 pixels)',
106
+    'ecran_connexion_image_revenir_couleur_defaut' => 'Back to the default colour',
107
+    'ecran_connexion_titre' => 'Connection screen',
108
+    'ecran_securite' => '+ safety screen @version@',
109
+    'email' => 'email',
110
+    'email_2' => 'email:',
111
+    'en_savoir_plus' => 'Learn more',
112
+    'entree_adresse_annuaire' => 'Directory address',
113
+    'entree_adresse_email' => 'Your email address',
114
+    'entree_adresse_email_2' => 'E-mail address',
115
+    'entree_base_donnee_1' => 'Database address',
116
+    'entree_base_donnee_2' => '(This address is often your site’s URL, although sometimes it will be "localhost", and sometimes it should be left blank.)',
117
+    'entree_biographie' => 'Brief biography',
118
+    'entree_chemin_acces' => '<b>Enter</b> the path:',
119
+    'entree_cle_pgp' => 'Your PGP key',
120
+    'entree_cle_pgp_2' => 'PGP key',
121
+    'entree_contenu_rubrique' => '(Brief description of the content of this section.)',
122
+    'entree_identifiants_connexion' => 'Your connection identifiers...',
123
+    'entree_identifiants_connexion_2' => 'Connection identifiers',
124
+    'entree_informations_connexion_ldap' => 'Please fill this form with the LDAP connection information provided by your system or network administrator.',
125
+    'entree_infos_perso' => 'Who are you?',
126
+    'entree_infos_perso_2' => 'Who is the author?',
127
+    'entree_interieur_rubrique' => 'In the section:',
128
+    'entree_liens_sites' => '<b>Hyperlink</b> (reference, site to visit etc.)',
129
+    'entree_login' => 'Your login',
130
+    'entree_login_connexion_1' => 'Connection login',
131
+    'entree_login_connexion_2' => '(Sometimes matches your FTP account login and sometimes left empty)',
132
+    'entree_mot_passe' => 'Your password',
133
+    'entree_mot_passe_1' => 'Password',
134
+    'entree_mot_passe_2' => '(Sometimes matches your FTP access password and sometimes left empty)',
135
+    'entree_nom_fichier' => 'Please enter the filename @texte_compresse@:',
136
+    'entree_nom_pseudo' => 'Your name or alias',
137
+    'entree_nom_pseudo_1' => '(Your name or alias)',
138
+    'entree_nom_pseudo_2' => 'Name or alias',
139
+    'entree_nom_site' => 'Website’s name',
140
+    'entree_nom_site_2' => 'Author’s website’s name',
141
+    'entree_nouveau_passe' => 'New password',
142
+    'entree_passe_ldap' => 'Password',
143
+    'entree_port_annuaire' => 'Port number of the directory',
144
+    'entree_signature' => 'Signature',
145
+    'entree_titre_obligatoire' => '<b>Title</b> [Required]<br />',
146
+    'entree_url' => 'Website’s URL',
147
+    'entree_url_2' => 'Website’s URL',
148
+    'erreur_connect_deja_existant' => 'A server by that name already exists',
149
+    'erreur_contenu_suspect' => 'Text escaped',
150
+    'erreur_email_deja_existant' => 'This email address has already been registered.',
151
+    'erreur_nom_connect_incorrect' => 'Server name not allowed',
152
+    'erreur_plugin_attribut_balise_manquant' => 'Missing attribute @attribut@ in tag @balise@',
153
+    'erreur_plugin_desinstalation_echouee' => 'Uninstallation of the plugin failed. However, you may deactivate it.',
154
+    'erreur_plugin_fichier_absent' => 'File missing',
155
+    'erreur_plugin_fichier_def_absent' => 'Definition file missing',
156
+    'erreur_plugin_nom_fonction_interdit' => 'Prohibited function name',
157
+    'erreur_plugin_nom_manquant' => 'Missing plugin name',
158
+    'erreur_plugin_prefix_manquant' => 'Namespace undefined for this plugin',
159
+    'erreur_plugin_tag_plugin_absent' => '&lt;plugin&gt; missing in the definition file',
160
+    'erreur_plugin_version_manquant' => 'Plugin version missing',
161
+    'erreur_type_fichier' => 'Wrong file type',
162 162
 
163
-	// H
164
-	'htaccess_a_simuler' => 'Warning: your HTTP server configuration ignores @htaccess@ files. To ensure good security, you should change the configuration for this. Alternatively, you should make sure that the constants @constantes@ (definable in the file mes_options.php) have as values directories outside @document_root@.',
165
-	'htaccess_inoperant' => 'inoperative htaccess',
163
+    // H
164
+    'htaccess_a_simuler' => 'Warning: your HTTP server configuration ignores @htaccess@ files. To ensure good security, you should change the configuration for this. Alternatively, you should make sure that the constants @constantes@ (definable in the file mes_options.php) have as values directories outside @document_root@.',
165
+    'htaccess_inoperant' => 'inoperative htaccess',
166 166
 
167
-	// I
168
-	'ical_info1' => 'This page offers several tools to be kept  up-to-date with website’s activity.',
169
-	'ical_info2' => 'For more information, do not hesitate to visit <a href="@spipnet@">SPIP’s documentation</a>.',
170
-	'ical_info_calendrier' => 'Two calendars are available. The first is a general, public calendar showing  articles as they are published. The second is personal and contains editorial announcements as well as your latest private messages: it is reserved for you via a personal key that you can modify at any time by renewing your password.',
171
-	'ical_methode_http' => 'Downloading',
172
-	'ical_methode_webcal' => 'Synchronisation (webcal://)',
173
-	'ical_texte_prive' => 'This calendar, which is strictly personal, informs you of the private editorial activity of this site (tasks, personal appointments, articles and news items submitted etc.).',
174
-	'ical_texte_public' => 'This calendar allows you to follow the public activity of this site (newly-published articles and news items).',
175
-	'ical_texte_rss' => 'You can syndicate the latest news from this site in any XML/RSS (Rich Site Summary) reader. This is also the format that allows SPIP to read the latest news published by other sites using a compatible exchange format (syndicated sites).',
176
-	'ical_titre_js' => 'Javascript',
177
-	'ical_titre_mailing' => 'Mailing-list',
178
-	'ical_titre_rss' => 'Syndication files',
179
-	'icone_accueil' => 'Home',
180
-	'icone_activer_cookie' => 'Place a cookie',
181
-	'icone_activite' => 'Feedback',
182
-	'icone_admin_plugin' => 'Manage plugins',
183
-	'icone_administration' => 'Maintenance',
184
-	'icone_afficher_auteurs' => 'Show authors',
185
-	'icone_afficher_visiteurs' => 'Show visitors',
186
-	'icone_arret_discussion' => 'Stop participating in this discussion',
187
-	'icone_calendrier' => 'Calendar',
188
-	'icone_configuration' => 'Configuration',
189
-	'icone_creer_auteur' => 'Create a new author and link him/her to this article',
190
-	'icone_creer_mot_cle' => 'Create a new keyword and link it to this article',
191
-	'icone_creer_rubrique_2' => 'Create a new section',
192
-	'icone_developpement' => 'Development',
193
-	'icone_edition' => 'Edit',
194
-	'icone_ma_langue' => 'My language',
195
-	'icone_mes_infos' => 'My details',
196
-	'icone_mes_preferences' => 'Preferences',
197
-	'icone_modifier_article' => 'Edit this article',
198
-	'icone_modifier_rubrique' => 'Edit this section',
199
-	'icone_publication' => 'Publish',
200
-	'icone_relancer_signataire' => 'Contact the signatory again',
201
-	'icone_retour' => 'Back',
202
-	'icone_retour_article' => 'Back to the article',
203
-	'icone_squelette' => 'Templates',
204
-	'icone_suivi_publication' => 'Publication follow up ',
205
-	'icone_supprimer_cookie' => 'Delete cookie',
206
-	'icone_supprimer_rubrique' => 'Delete this section',
207
-	'icone_supprimer_signature' => 'Delete this signature',
208
-	'icone_valider_signature' => 'Validate this signature',
209
-	'image_administrer_rubrique' => 'You can manage this section',
210
-	'impossible_modifier_login_auteur' => 'Login cannot be changed.',
211
-	'impossible_modifier_pass_auteur' => 'Password cannot be changed.',
212
-	'info_1_article' => '1 article',
213
-	'info_1_auteur' => '1 author',
214
-	'info_1_message' => '1 message',
215
-	'info_1_mot_cle' => '1 keyword',
216
-	'info_1_rubrique' => '1 section',
217
-	'info_1_visiteur' => '1 visitor',
218
-	'info_activer_cookie' => 'You can activate an <b>administration cookie</b>, which lets you switch easily between the public website and the admin area.',
219
-	'info_activer_menu_developpement' => 'Show the Development menu',
220
-	'info_admin_etre_webmestre' => 'Give me web administrator rights',
221
-	'info_admin_je_suis_webmestre' => 'I am a <b>webmaster</b>',
222
-	'info_admin_statuer_webmestre' => 'Give webmaster rights to this administrator ',
223
-	'info_admin_webmestre' => 'This administrator is <b>webmaster</b>',
224
-	'info_administrateur' => 'Administrator',
225
-	'info_administrateur_1' => 'Administrator',
226
-	'info_administrateur_2' => 'of the site (<i>use with caution</i>)',
227
-	'info_administrateur_site_01' => 'If you are a site administrator, please',
228
-	'info_administrateur_site_02' => 'click on this link',
229
-	'info_administrateurs' => 'Administrators',
230
-	'info_administrer_rubrique' => 'You can manage this section',
231
-	'info_adresse' => 'to this address:',
232
-	'info_adresse_desinscription' => 'Unsubscription address:',
233
-	'info_adresse_url' => 'URL of the public site',
234
-	'info_afficher_par_nb' => 'Show ',
235
-	'info_aide_en_ligne' => 'SPIP Online Help',
236
-	'info_ajout_image' => 'When you add images as attached documents to an article,
167
+    // I
168
+    'ical_info1' => 'This page offers several tools to be kept  up-to-date with website’s activity.',
169
+    'ical_info2' => 'For more information, do not hesitate to visit <a href="@spipnet@">SPIP’s documentation</a>.',
170
+    'ical_info_calendrier' => 'Two calendars are available. The first is a general, public calendar showing  articles as they are published. The second is personal and contains editorial announcements as well as your latest private messages: it is reserved for you via a personal key that you can modify at any time by renewing your password.',
171
+    'ical_methode_http' => 'Downloading',
172
+    'ical_methode_webcal' => 'Synchronisation (webcal://)',
173
+    'ical_texte_prive' => 'This calendar, which is strictly personal, informs you of the private editorial activity of this site (tasks, personal appointments, articles and news items submitted etc.).',
174
+    'ical_texte_public' => 'This calendar allows you to follow the public activity of this site (newly-published articles and news items).',
175
+    'ical_texte_rss' => 'You can syndicate the latest news from this site in any XML/RSS (Rich Site Summary) reader. This is also the format that allows SPIP to read the latest news published by other sites using a compatible exchange format (syndicated sites).',
176
+    'ical_titre_js' => 'Javascript',
177
+    'ical_titre_mailing' => 'Mailing-list',
178
+    'ical_titre_rss' => 'Syndication files',
179
+    'icone_accueil' => 'Home',
180
+    'icone_activer_cookie' => 'Place a cookie',
181
+    'icone_activite' => 'Feedback',
182
+    'icone_admin_plugin' => 'Manage plugins',
183
+    'icone_administration' => 'Maintenance',
184
+    'icone_afficher_auteurs' => 'Show authors',
185
+    'icone_afficher_visiteurs' => 'Show visitors',
186
+    'icone_arret_discussion' => 'Stop participating in this discussion',
187
+    'icone_calendrier' => 'Calendar',
188
+    'icone_configuration' => 'Configuration',
189
+    'icone_creer_auteur' => 'Create a new author and link him/her to this article',
190
+    'icone_creer_mot_cle' => 'Create a new keyword and link it to this article',
191
+    'icone_creer_rubrique_2' => 'Create a new section',
192
+    'icone_developpement' => 'Development',
193
+    'icone_edition' => 'Edit',
194
+    'icone_ma_langue' => 'My language',
195
+    'icone_mes_infos' => 'My details',
196
+    'icone_mes_preferences' => 'Preferences',
197
+    'icone_modifier_article' => 'Edit this article',
198
+    'icone_modifier_rubrique' => 'Edit this section',
199
+    'icone_publication' => 'Publish',
200
+    'icone_relancer_signataire' => 'Contact the signatory again',
201
+    'icone_retour' => 'Back',
202
+    'icone_retour_article' => 'Back to the article',
203
+    'icone_squelette' => 'Templates',
204
+    'icone_suivi_publication' => 'Publication follow up ',
205
+    'icone_supprimer_cookie' => 'Delete cookie',
206
+    'icone_supprimer_rubrique' => 'Delete this section',
207
+    'icone_supprimer_signature' => 'Delete this signature',
208
+    'icone_valider_signature' => 'Validate this signature',
209
+    'image_administrer_rubrique' => 'You can manage this section',
210
+    'impossible_modifier_login_auteur' => 'Login cannot be changed.',
211
+    'impossible_modifier_pass_auteur' => 'Password cannot be changed.',
212
+    'info_1_article' => '1 article',
213
+    'info_1_auteur' => '1 author',
214
+    'info_1_message' => '1 message',
215
+    'info_1_mot_cle' => '1 keyword',
216
+    'info_1_rubrique' => '1 section',
217
+    'info_1_visiteur' => '1 visitor',
218
+    'info_activer_cookie' => 'You can activate an <b>administration cookie</b>, which lets you switch easily between the public website and the admin area.',
219
+    'info_activer_menu_developpement' => 'Show the Development menu',
220
+    'info_admin_etre_webmestre' => 'Give me web administrator rights',
221
+    'info_admin_je_suis_webmestre' => 'I am a <b>webmaster</b>',
222
+    'info_admin_statuer_webmestre' => 'Give webmaster rights to this administrator ',
223
+    'info_admin_webmestre' => 'This administrator is <b>webmaster</b>',
224
+    'info_administrateur' => 'Administrator',
225
+    'info_administrateur_1' => 'Administrator',
226
+    'info_administrateur_2' => 'of the site (<i>use with caution</i>)',
227
+    'info_administrateur_site_01' => 'If you are a site administrator, please',
228
+    'info_administrateur_site_02' => 'click on this link',
229
+    'info_administrateurs' => 'Administrators',
230
+    'info_administrer_rubrique' => 'You can manage this section',
231
+    'info_adresse' => 'to this address:',
232
+    'info_adresse_desinscription' => 'Unsubscription address:',
233
+    'info_adresse_url' => 'URL of the public site',
234
+    'info_afficher_par_nb' => 'Show ',
235
+    'info_aide_en_ligne' => 'SPIP Online Help',
236
+    'info_ajout_image' => 'When you add images as attached documents to an article,
237 237
   SPIP can automatically create thumbnails from
238 238
   inserted images. This will allow, for instance, the automated
239 239
   creation of a gallery or portfolio.',
240
-	'info_ajouter_rubrique' => 'Add another section to manage:',
241
-	'info_annonce_nouveautes' => 'Latest news announcements',
242
-	'info_article' => 'article',
243
-	'info_article_2' => 'articles',
244
-	'info_article_a_paraitre' => 'Post-dated articles set for publication',
245
-	'info_articles_02' => 'articles',
246
-	'info_articles_2' => 'Articles',
247
-	'info_articles_auteur' => 'Articles by this author',
248
-	'info_articles_miens' => 'My articles',
249
-	'info_articles_tous' => 'All the articles',
250
-	'info_articles_trouves' => 'Articles found',
251
-	'info_attente_validation' => 'Your articles awaiting validation',
252
-	'info_aucun_article' => 'No articles',
253
-	'info_aucun_auteur' => 'No authors',
254
-	'info_aucun_message' => 'No messages',
255
-	'info_aucun_rubrique' => 'No sections',
256
-	'info_aujourdhui' => 'today:',
257
-	'info_auteur_gere_rubriques' => 'This author manages the following sections:',
258
-	'info_auteur_gere_toutes_rubriques' => 'This author manage <b>all the sections</b>',
259
-	'info_auteur_gere_toutes_rubriques_2' => 'I manage <b>all the sections</b>',
260
-	'info_auteurs' => 'Authors',
261
-	'info_auteurs_par_tri' => 'Authors@partri@',
262
-	'info_auteurs_trouves' => 'Authors found',
263
-	'info_authentification_externe' => 'External authentication',
264
-	'info_avertissement' => 'Warning',
265
-	'info_barre_outils' => 'with its toolbar?',
266
-	'info_base_installee' => 'Your database structure has been installed.',
267
-	'info_bio' => 'Biography',
268
-	'info_cache_desactive' => 'The cache is temporarily disabled',
269
-	'info_chapeau' => 'Introduction',
270
-	'info_chapeau_2' => 'Introduction:',
271
-	'info_chemin_acces_1' => 'Options: <b>Access path in directory</b>',
272
-	'info_chemin_acces_2' => 'You must now configure the access path to the directory information. This information is essential to read the user profiles stored in the directory.',
273
-	'info_chemin_acces_annuaire' => 'Options: <b>Access path in directory</b>',
274
-	'info_choix_base' => 'Third step:',
275
-	'info_classement_1' => ' out of @liste@',
276
-	'info_classement_2' => ' out of @liste@',
277
-	'info_code_acces' => 'Do not forget your own access codes!',
278
-	'info_config_suivi' => 'If this address corresponds to a mailing list, you can indicate the subscription address for this list. This may be a URL (e.g. a webpage enabling subscription online), or an email address with a specific subject (for instance: <tt>@adresse_suivi@?subject=subscribe</tt>):',
279
-	'info_config_suivi_explication' => 'You can subscribe to the mailing-list for this site. You will then receive email announcements concerning articles and news items submitted for publication.',
280
-	'info_confirmer_passe' => 'Confirm new password:',
281
-	'info_conflit_edition_avis_non_sauvegarde' => 'Caution: the following fields have been modified elsewhere. Your changes to these fields have therefore not been saved.',
282
-	'info_conflit_edition_differences' => 'Differences:',
283
-	'info_conflit_edition_version_enregistree' => 'Saved version:',
284
-	'info_conflit_edition_votre_version' => 'Your version:',
285
-	'info_connexion_base' => 'Trying to connect to database',
286
-	'info_connexion_base_donnee' => 'Connection to your database',
287
-	'info_connexion_ldap_ok' => '<b>LDAP connection succeeded.</b><p> You can go to the next step.</p>',
288
-	'info_connexion_mysql' => 'Your SQL connection',
289
-	'info_connexion_ok' => 'Connection succeeded.',
290
-	'info_contact' => 'Contact',
291
-	'info_contenu_articles' => 'Article content',
292
-	'info_contributions' => 'Contributions',
293
-	'info_creation_paragraphe' => 'To create paragraphs, just leave blank lines.',
294
-	'info_creation_rubrique' => 'Before writing any articles,<br /> you must create at least one section.<br />',
295
-	'info_creation_tables' => 'Creating the database tables',
296
-	'info_creer_base' => '<b>Create</b> a new database:',
297
-	'info_dans_rubrique' => 'In section:',
298
-	'info_date_publication_anterieure' => 'Previously published on:',
299
-	'info_date_referencement' => 'THIS SITE REFERENCED ON:',
300
-	'info_derniere_etape' => 'Done!',
301
-	'info_descriptif' => 'Description:',
302
-	'info_desinstaller_plugin' => ' deactivates the plugin and deletes the data',
303
-	'info_discussion_cours' => 'Current discussions',
304
-	'info_ecrire_article' => 'Before writing any articles, you must create at least one section.',
305
-	'info_email_envoi' => 'Sender’s email address (optional)',
306
-	'info_email_envoi_txt' => 'Enter the sender’s email address used for sending emails (by default, the recipient’s address is used as the sender’s address) :',
307
-	'info_email_webmestre' => 'Webmaster’s email address',
308
-	'info_envoi_email_automatique' => 'Automated mailing',
309
-	'info_envoyer_maintenant' => 'Send now',
310
-	'info_etape_suivante' => 'Go to the next step',
311
-	'info_etape_suivante_1' => 'You can move on to the next step.',
312
-	'info_etape_suivante_2' => 'You can move on to the next step.',
313
-	'info_exceptions_proxy' => 'Exceptions for the proxy',
314
-	'info_exportation_base' => 'export database to @archive@',
315
-	'info_facilite_suivi_activite' => 'To simplify monitoring of the site’s editorial;
240
+    'info_ajouter_rubrique' => 'Add another section to manage:',
241
+    'info_annonce_nouveautes' => 'Latest news announcements',
242
+    'info_article' => 'article',
243
+    'info_article_2' => 'articles',
244
+    'info_article_a_paraitre' => 'Post-dated articles set for publication',
245
+    'info_articles_02' => 'articles',
246
+    'info_articles_2' => 'Articles',
247
+    'info_articles_auteur' => 'Articles by this author',
248
+    'info_articles_miens' => 'My articles',
249
+    'info_articles_tous' => 'All the articles',
250
+    'info_articles_trouves' => 'Articles found',
251
+    'info_attente_validation' => 'Your articles awaiting validation',
252
+    'info_aucun_article' => 'No articles',
253
+    'info_aucun_auteur' => 'No authors',
254
+    'info_aucun_message' => 'No messages',
255
+    'info_aucun_rubrique' => 'No sections',
256
+    'info_aujourdhui' => 'today:',
257
+    'info_auteur_gere_rubriques' => 'This author manages the following sections:',
258
+    'info_auteur_gere_toutes_rubriques' => 'This author manage <b>all the sections</b>',
259
+    'info_auteur_gere_toutes_rubriques_2' => 'I manage <b>all the sections</b>',
260
+    'info_auteurs' => 'Authors',
261
+    'info_auteurs_par_tri' => 'Authors@partri@',
262
+    'info_auteurs_trouves' => 'Authors found',
263
+    'info_authentification_externe' => 'External authentication',
264
+    'info_avertissement' => 'Warning',
265
+    'info_barre_outils' => 'with its toolbar?',
266
+    'info_base_installee' => 'Your database structure has been installed.',
267
+    'info_bio' => 'Biography',
268
+    'info_cache_desactive' => 'The cache is temporarily disabled',
269
+    'info_chapeau' => 'Introduction',
270
+    'info_chapeau_2' => 'Introduction:',
271
+    'info_chemin_acces_1' => 'Options: <b>Access path in directory</b>',
272
+    'info_chemin_acces_2' => 'You must now configure the access path to the directory information. This information is essential to read the user profiles stored in the directory.',
273
+    'info_chemin_acces_annuaire' => 'Options: <b>Access path in directory</b>',
274
+    'info_choix_base' => 'Third step:',
275
+    'info_classement_1' => ' out of @liste@',
276
+    'info_classement_2' => ' out of @liste@',
277
+    'info_code_acces' => 'Do not forget your own access codes!',
278
+    'info_config_suivi' => 'If this address corresponds to a mailing list, you can indicate the subscription address for this list. This may be a URL (e.g. a webpage enabling subscription online), or an email address with a specific subject (for instance: <tt>@adresse_suivi@?subject=subscribe</tt>):',
279
+    'info_config_suivi_explication' => 'You can subscribe to the mailing-list for this site. You will then receive email announcements concerning articles and news items submitted for publication.',
280
+    'info_confirmer_passe' => 'Confirm new password:',
281
+    'info_conflit_edition_avis_non_sauvegarde' => 'Caution: the following fields have been modified elsewhere. Your changes to these fields have therefore not been saved.',
282
+    'info_conflit_edition_differences' => 'Differences:',
283
+    'info_conflit_edition_version_enregistree' => 'Saved version:',
284
+    'info_conflit_edition_votre_version' => 'Your version:',
285
+    'info_connexion_base' => 'Trying to connect to database',
286
+    'info_connexion_base_donnee' => 'Connection to your database',
287
+    'info_connexion_ldap_ok' => '<b>LDAP connection succeeded.</b><p> You can go to the next step.</p>',
288
+    'info_connexion_mysql' => 'Your SQL connection',
289
+    'info_connexion_ok' => 'Connection succeeded.',
290
+    'info_contact' => 'Contact',
291
+    'info_contenu_articles' => 'Article content',
292
+    'info_contributions' => 'Contributions',
293
+    'info_creation_paragraphe' => 'To create paragraphs, just leave blank lines.',
294
+    'info_creation_rubrique' => 'Before writing any articles,<br /> you must create at least one section.<br />',
295
+    'info_creation_tables' => 'Creating the database tables',
296
+    'info_creer_base' => '<b>Create</b> a new database:',
297
+    'info_dans_rubrique' => 'In section:',
298
+    'info_date_publication_anterieure' => 'Previously published on:',
299
+    'info_date_referencement' => 'THIS SITE REFERENCED ON:',
300
+    'info_derniere_etape' => 'Done!',
301
+    'info_descriptif' => 'Description:',
302
+    'info_desinstaller_plugin' => ' deactivates the plugin and deletes the data',
303
+    'info_discussion_cours' => 'Current discussions',
304
+    'info_ecrire_article' => 'Before writing any articles, you must create at least one section.',
305
+    'info_email_envoi' => 'Sender’s email address (optional)',
306
+    'info_email_envoi_txt' => 'Enter the sender’s email address used for sending emails (by default, the recipient’s address is used as the sender’s address) :',
307
+    'info_email_webmestre' => 'Webmaster’s email address',
308
+    'info_envoi_email_automatique' => 'Automated mailing',
309
+    'info_envoyer_maintenant' => 'Send now',
310
+    'info_etape_suivante' => 'Go to the next step',
311
+    'info_etape_suivante_1' => 'You can move on to the next step.',
312
+    'info_etape_suivante_2' => 'You can move on to the next step.',
313
+    'info_exceptions_proxy' => 'Exceptions for the proxy',
314
+    'info_exportation_base' => 'export database to @archive@',
315
+    'info_facilite_suivi_activite' => 'To simplify monitoring of the site’s editorial;
316 316
   activities, SPIP can send rmail notifications, e.g. to an editors’ mailing list,
317 317
   of publication requests and article validations. Enter one or more adresses separated by commas.',
318
-	'info_fichiers_authent' => 'Authentication file ".htpasswd"',
319
-	'info_forums_abo_invites' => 'Your site contains forums by subscription; visitors may register for them on the public site.',
320
-	'info_gauche_admin_tech' => '<b>Only webmasters have access to this page.</b><p> It provides access to various
318
+    'info_fichiers_authent' => 'Authentication file ".htpasswd"',
319
+    'info_forums_abo_invites' => 'Your site contains forums by subscription; visitors may register for them on the public site.',
320
+    'info_gauche_admin_tech' => '<b>Only webmasters have access to this page.</b><p> It provides access to various
321 321
 maintenance tasks. Some of them require a specific authentication process
322 322
 via FTP.</p>',
323
-	'info_gauche_admin_vider' => '<b>Only webmasters have access to this page.</b><p> It provides access to various
323
+    'info_gauche_admin_vider' => '<b>Only webmasters have access to this page.</b><p> It provides access to various
324 324
 maintenance tasks. Some of them require a specific authentication process
325 325
 via FTP.</p>',
326
-	'info_gauche_auteurs' => 'All the site authors are listed here.
326
+    'info_gauche_auteurs' => 'All the site authors are listed here.
327 327
  The status of each is indicated by the colour of their icon (administrator = green; editor = yellow).',
328
-	'info_gauche_auteurs_exterieurs' => 'Visiting authors, without any access to the site, are indicated by a blue icon; deleted authors by a grey icon.',
329
-	'info_gauche_messagerie' => 'Internal messaging lets you exchange messages between editors, keep memos (for personal use) or, display announcements on the admin area’s homepage (if you are an administrator).',
330
-	'info_gauche_statistiques_referers' => 'This page displays the list of <i>referrers</i>, i.e. websites containing links to your own site, for yesterday and today. The list is reset every 24 hours.',
331
-	'info_gauche_visiteurs_enregistres' => 'You will find here the visitors registered
328
+    'info_gauche_auteurs_exterieurs' => 'Visiting authors, without any access to the site, are indicated by a blue icon; deleted authors by a grey icon.',
329
+    'info_gauche_messagerie' => 'Internal messaging lets you exchange messages between editors, keep memos (for personal use) or, display announcements on the admin area’s homepage (if you are an administrator).',
330
+    'info_gauche_statistiques_referers' => 'This page displays the list of <i>referrers</i>, i.e. websites containing links to your own site, for yesterday and today. The list is reset every 24 hours.',
331
+    'info_gauche_visiteurs_enregistres' => 'You will find here the visitors registered
332 332
  for the public area of the site (subscription-only forums).',
333
-	'info_generation_miniatures_images' => 'Generation of thumbnail images',
334
-	'info_gerer_trad_objets' => '@objets@: manage translation links',
335
-	'info_hebergeur_desactiver_envoi_email' => 'Some hosts disable automated mail sending
333
+    'info_generation_miniatures_images' => 'Generation of thumbnail images',
334
+    'info_gerer_trad_objets' => '@objets@: manage translation links',
335
+    'info_hebergeur_desactiver_envoi_email' => 'Some hosts disable automated mail sending
336 336
 		on their servers. In this case the following features
337 337
 		of SPIP cannot be implemented.',
338
-	'info_hier' => 'yesterday:',
339
-	'info_identification_publique' => 'Your public identity...',
340
-	'info_image_process' => 'Select the best method to create thumbnails by clicking on the corresponding picture.',
341
-	'info_image_process2' => 'If you can’t see any images, then your server is not configured to use such tools. If you want to use these features, contact your provider’s technical support and ask for the «GD» or «Imagick» extensions to be installed.',
342
-	'info_images_auto' => 'Images calculated automatically',
343
-	'info_informations_personnelles' => 'Personal information',
344
-	'info_inscription' => 'Registered on',
345
-	'info_inscription_automatique' => 'Automatic registration for new editors',
346
-	'info_jeu_caractere' => 'Character set for the site',
347
-	'info_jours' => 'days',
348
-	'info_laisser_champs_vides' => 'leave these fields empty)',
349
-	'info_langues' => 'Site languages',
350
-	'info_ldap_ok' => 'LDAP authentication is installed.',
351
-	'info_lien_hypertexte' => 'Hyperlink:',
352
-	'info_liste_nouveautes_envoyee' => 'The news update list has been sent',
353
-	'info_liste_redacteurs_connectes' => 'List of editors online',
354
-	'info_login_existant' => 'This login already exists.',
355
-	'info_login_trop_court' => 'Login too short.',
356
-	'info_login_trop_court_car_pluriel' => 'Your login must contain at least @nb@ characters.',
357
-	'info_logos' => 'Logos',
358
-	'info_maximum' => 'maximum:',
359
-	'info_meme_rubrique' => 'In this section',
360
-	'info_message_en_redaction' => 'Your draft messages',
361
-	'info_message_technique' => 'Technical message:',
362
-	'info_messagerie_interne' => 'Internal messaging',
363
-	'info_mise_a_niveau_base' => 'SQL database upgrade',
364
-	'info_mise_a_niveau_base_2' => '{{Warning!}} You have installed an {older} SPIP version, prior to the one
338
+    'info_hier' => 'yesterday:',
339
+    'info_identification_publique' => 'Your public identity...',
340
+    'info_image_process' => 'Select the best method to create thumbnails by clicking on the corresponding picture.',
341
+    'info_image_process2' => 'If you can’t see any images, then your server is not configured to use such tools. If you want to use these features, contact your provider’s technical support and ask for the «GD» or «Imagick» extensions to be installed.',
342
+    'info_images_auto' => 'Images calculated automatically',
343
+    'info_informations_personnelles' => 'Personal information',
344
+    'info_inscription' => 'Registered on',
345
+    'info_inscription_automatique' => 'Automatic registration for new editors',
346
+    'info_jeu_caractere' => 'Character set for the site',
347
+    'info_jours' => 'days',
348
+    'info_laisser_champs_vides' => 'leave these fields empty)',
349
+    'info_langues' => 'Site languages',
350
+    'info_ldap_ok' => 'LDAP authentication is installed.',
351
+    'info_lien_hypertexte' => 'Hyperlink:',
352
+    'info_liste_nouveautes_envoyee' => 'The news update list has been sent',
353
+    'info_liste_redacteurs_connectes' => 'List of editors online',
354
+    'info_login_existant' => 'This login already exists.',
355
+    'info_login_trop_court' => 'Login too short.',
356
+    'info_login_trop_court_car_pluriel' => 'Your login must contain at least @nb@ characters.',
357
+    'info_logos' => 'Logos',
358
+    'info_maximum' => 'maximum:',
359
+    'info_meme_rubrique' => 'In this section',
360
+    'info_message_en_redaction' => 'Your draft messages',
361
+    'info_message_technique' => 'Technical message:',
362
+    'info_messagerie_interne' => 'Internal messaging',
363
+    'info_mise_a_niveau_base' => 'SQL database upgrade',
364
+    'info_mise_a_niveau_base_2' => '{{Warning!}} You have installed an {older} SPIP version, prior to the one
365 365
   originally installed on this website: your database is at risk of being corrupted
366 366
   and your site might not work properly anymore.<br />{{Please, re-install
367 367
   SPIP files.}}',
368
-	'info_modification_enregistree' => 'Your changes have been saved',
369
-	'info_modifier_auteur' => 'Edit author details:',
370
-	'info_modifier_rubrique' => 'Edit the section:',
371
-	'info_modifier_titre' => 'Edit: @titre@',
372
-	'info_mon_site_spip' => 'My SPIP site',
373
-	'info_moyenne' => 'average:',
374
-	'info_multi_cet_article' => 'Language for this article:',
375
-	'info_multi_langues_choisies' => 'Please select the languages to be made available to the editors of your site.
368
+    'info_modification_enregistree' => 'Your changes have been saved',
369
+    'info_modifier_auteur' => 'Edit author details:',
370
+    'info_modifier_rubrique' => 'Edit the section:',
371
+    'info_modifier_titre' => 'Edit: @titre@',
372
+    'info_mon_site_spip' => 'My SPIP site',
373
+    'info_moyenne' => 'average:',
374
+    'info_multi_cet_article' => 'Language for this article:',
375
+    'info_multi_langues_choisies' => 'Please select the languages to be made available to the editors of your site.
376 376
   Languages already used on your site (at the top of the list) cannot be disabled.',
377
-	'info_multi_objets' => '@objets@: activate the language menu',
378
-	'info_multi_secteurs' => '... only for root-level sections?',
379
-	'info_nb_articles' => '@nb@ articles',
380
-	'info_nb_auteurs' => '@nb@ authors',
381
-	'info_nb_messages' => '@nb@ messages',
382
-	'info_nb_mots_cles' => '@nb@ keywords',
383
-	'info_nb_rubriques' => '@nb@ sections',
384
-	'info_nb_visiteurs' => '@nb@ visitors',
385
-	'info_nom' => 'Name',
386
-	'info_nom_destinataire' => 'Name of recipient',
387
-	'info_nom_pas_conforme' => 'html tags are not allowed',
388
-	'info_nom_site' => 'Name of your site',
389
-	'info_nombre_articles' => '@nb_articles@ articles,',
390
-	'info_nombre_rubriques' => '@nb_rubriques@ sections,',
391
-	'info_nombre_sites' => '@nb_sites@ sites,',
392
-	'info_non_deplacer' => 'Do not move...',
393
-	'info_non_envoi_annonce_dernieres_nouveautes' => 'SPIP can send a site newsletter (list of newly-published articles and news items).
377
+    'info_multi_objets' => '@objets@: activate the language menu',
378
+    'info_multi_secteurs' => '... only for root-level sections?',
379
+    'info_nb_articles' => '@nb@ articles',
380
+    'info_nb_auteurs' => '@nb@ authors',
381
+    'info_nb_messages' => '@nb@ messages',
382
+    'info_nb_mots_cles' => '@nb@ keywords',
383
+    'info_nb_rubriques' => '@nb@ sections',
384
+    'info_nb_visiteurs' => '@nb@ visitors',
385
+    'info_nom' => 'Name',
386
+    'info_nom_destinataire' => 'Name of recipient',
387
+    'info_nom_pas_conforme' => 'html tags are not allowed',
388
+    'info_nom_site' => 'Name of your site',
389
+    'info_nombre_articles' => '@nb_articles@ articles,',
390
+    'info_nombre_rubriques' => '@nb_rubriques@ sections,',
391
+    'info_nombre_sites' => '@nb_sites@ sites,',
392
+    'info_non_deplacer' => 'Do not move...',
393
+    'info_non_envoi_annonce_dernieres_nouveautes' => 'SPIP can send a site newsletter (list of newly-published articles and news items).
394 394
   .',
395
-	'info_non_envoi_liste_nouveautes' => 'Do not send newsletter',
396
-	'info_non_modifiable' => 'cannot be modified',
397
-	'info_non_suppression_mot_cle' => 'I do not want to delete this keyword.',
398
-	'info_notes' => 'Footnotes',
399
-	'info_nouvel_article' => 'New article',
400
-	'info_nouvelle_traduction' => 'New translation:',
401
-	'info_numero_article' => 'ARTICLE NUMBER:',
402
-	'info_obligatoire_02' => '(Required)',
403
-	'info_option_accepter_visiteurs' => 'Allow visitor registration via the public site',
404
-	'info_option_ne_pas_accepter_visiteurs' => 'Disable visitor registration',
405
-	'info_options_avancees' => 'ADVANCED OPTIONS',
406
-	'info_ou' => 'or...',
407
-	'info_page_interdite' => 'Forbidden page',
408
-	'info_par_nom' => 'by name',
409
-	'info_par_nombre_article' => 'by number of articles',
410
-	'info_par_statut' => 'by status',
411
-	'info_par_tri' => '’(by @tri@)’',
412
-	'info_passe_trop_court' => 'Password too short.',
413
-	'info_passe_trop_court_car_pluriel' => 'Your password must contain at least @nb@ characters.',
414
-	'info_passes_identiques' => 'The two passwords are not identical.',
415
-	'info_plus_cinq_car' => 'more than 5 characters',
416
-	'info_plus_cinq_car_2' => '(More than 5 characters)',
417
-	'info_plus_trois_car' => '(More than 3 characters)',
418
-	'info_popularite' => 'popularity: @popularite@; visits: @visites@',
419
-	'info_post_scriptum' => 'Postscript',
420
-	'info_post_scriptum_2' => 'Postscript:',
421
-	'info_pour' => 'for',
422
-	'info_preview_texte' => 'It is possible to preview the site’s  various editorial elements with at least the "submitted" status, as well as the"editing in progress" elements of which you are the author. Should this preview mode be restricted to administrators, open to all authors, or disabled completely?',
423
-	'info_procedez_par_etape' => 'please proceed step by step',
424
-	'info_procedure_maj_version' => 'the upgrade procedure must be run to adapt
395
+    'info_non_envoi_liste_nouveautes' => 'Do not send newsletter',
396
+    'info_non_modifiable' => 'cannot be modified',
397
+    'info_non_suppression_mot_cle' => 'I do not want to delete this keyword.',
398
+    'info_notes' => 'Footnotes',
399
+    'info_nouvel_article' => 'New article',
400
+    'info_nouvelle_traduction' => 'New translation:',
401
+    'info_numero_article' => 'ARTICLE NUMBER:',
402
+    'info_obligatoire_02' => '(Required)',
403
+    'info_option_accepter_visiteurs' => 'Allow visitor registration via the public site',
404
+    'info_option_ne_pas_accepter_visiteurs' => 'Disable visitor registration',
405
+    'info_options_avancees' => 'ADVANCED OPTIONS',
406
+    'info_ou' => 'or...',
407
+    'info_page_interdite' => 'Forbidden page',
408
+    'info_par_nom' => 'by name',
409
+    'info_par_nombre_article' => 'by number of articles',
410
+    'info_par_statut' => 'by status',
411
+    'info_par_tri' => '’(by @tri@)’',
412
+    'info_passe_trop_court' => 'Password too short.',
413
+    'info_passe_trop_court_car_pluriel' => 'Your password must contain at least @nb@ characters.',
414
+    'info_passes_identiques' => 'The two passwords are not identical.',
415
+    'info_plus_cinq_car' => 'more than 5 characters',
416
+    'info_plus_cinq_car_2' => '(More than 5 characters)',
417
+    'info_plus_trois_car' => '(More than 3 characters)',
418
+    'info_popularite' => 'popularity: @popularite@; visits: @visites@',
419
+    'info_post_scriptum' => 'Postscript',
420
+    'info_post_scriptum_2' => 'Postscript:',
421
+    'info_pour' => 'for',
422
+    'info_preview_texte' => 'It is possible to preview the site’s  various editorial elements with at least the "submitted" status, as well as the"editing in progress" elements of which you are the author. Should this preview mode be restricted to administrators, open to all authors, or disabled completely?',
423
+    'info_procedez_par_etape' => 'please proceed step by step',
424
+    'info_procedure_maj_version' => 'the upgrade procedure must be run to adapt
425 425
  the database to this new version of SPIP.',
426
-	'info_proxy_ok' => 'Proxy test successful.',
427
-	'info_ps' => 'P.S.',
428
-	'info_publier' => 'publish',
429
-	'info_publies' => 'Your articles published online',
430
-	'info_question_accepter_visiteurs' => 'If your website’s templates allows visitors to register with no access to the admin area, please activate the following option:',
431
-	'info_question_inscription_nouveaux_redacteurs' => 'Do you wish to allow new editors to register
426
+    'info_proxy_ok' => 'Proxy test successful.',
427
+    'info_ps' => 'P.S.',
428
+    'info_publier' => 'publish',
429
+    'info_publies' => 'Your articles published online',
430
+    'info_question_accepter_visiteurs' => 'If your website’s templates allows visitors to register with no access to the admin area, please activate the following option:',
431
+    'info_question_inscription_nouveaux_redacteurs' => 'Do you wish to allow new editors to register
432 432
  from the public website? If you agree with this, visitors will be able to  register
433 433
   using an automatic form, and then access the admin area to
434 434
   write their own articles. <div class="notice">During the registration process, users usually receive an automatic email
@@ -436,404 +436,404 @@  discard block
 block discarded – undo
436 436
   service providers disallow sending emails from their
437 437
   servers: in that case, automated registration is not
438 438
   possible.</div>',
439
-	'info_qui_edite' => '@nom_auteur_modif@ worked on the contents @date_diff@ minutes ago',
440
-	'info_racine_site' => 'Site root',
441
-	'info_recharger_page' => 'Please wait a few moments, then reload this page.',
442
-	'info_recherche_auteur_zero' => 'No results for "@cherche_auteur@".',
443
-	'info_recommencer' => 'Please try again.',
444
-	'info_redacteur_1' => 'Editor',
445
-	'info_redacteur_2' => 'with access to the admin area (<i>recommended</i>)',
446
-	'info_redacteurs' => 'Editors',
447
-	'info_redaction_en_cours' => 'EDITING IN PROGRESS',
448
-	'info_redirection' => 'Redirection',
449
-	'info_redirection_activee' => 'Redirection is enabled.',
450
-	'info_redirection_boucle' => 'You are trying to redirect the article toward itself. ',
451
-	'info_redirection_desactivee' => 'Redirection is deleted.',
452
-	'info_refuses' => 'Your rejected articles ',
453
-	'info_reglage_ldap' => 'Options: <b>Adjusting LDAP import</b>',
454
-	'info_renvoi_article' => '<b>Redirection.</b> This article redirects to:',
455
-	'info_reserve_admin' => 'Only administrators can modify this address.',
456
-	'info_restreindre_rubrique' => 'Restrict management to section:',
457
-	'info_resultat_recherche' => 'Search results:',
458
-	'info_rubriques' => 'Sections',
459
-	'info_rubriques_02' => 'sections',
460
-	'info_rubriques_trouvees' => 'Sections found',
461
-	'info_sans_titre' => 'Untitled',
462
-	'info_selection_chemin_acces' => '<b>Select</b> the access path in the directory:',
463
-	'info_signatures' => 'signatures',
464
-	'info_site' => 'Site',
465
-	'info_site_2' => 'site:',
466
-	'info_site_min' => 'site',
467
-	'info_site_reference_2' => 'Referenced site',
468
-	'info_site_web' => 'Web site:',
469
-	'info_sites' => 'sites',
470
-	'info_sites_lies_mot' => 'Referenced sites with this keyword',
471
-	'info_sites_proxy' => 'Using a proxy',
472
-	'info_sites_trouves' => 'Sites found',
473
-	'info_sous_titre' => 'Subtitle:',
474
-	'info_statut_administrateur' => 'Administrator',
475
-	'info_statut_auteur' => 'This author’s status:',
476
-	'info_statut_auteur_2' => 'I am',
477
-	'info_statut_auteur_a_confirmer' => 'Registration to be confirmed',
478
-	'info_statut_auteur_autre' => 'Other status:',
479
-	'info_statut_redacteur' => 'Editor',
480
-	'info_statut_utilisateurs_1' => 'Default status for imported users',
481
-	'info_statut_utilisateurs_2' => 'Choose the status to be attributed to persons present in the LDAP directory when they connect for the first time. You can modify this value for each individual author later on.',
482
-	'info_suivi_activite' => 'Follow editorial activity',
483
-	'info_surtitre' => 'Top title:',
484
-	'info_syndication_integrale_1' => 'Your site provides syndication files (see "<a href="@url@">@titre@</a>").',
485
-	'info_syndication_integrale_2' => 'Do you wish to send whole articles or only a summary of a few hundred characters?',
486
-	'info_table_prefix' => 'It is possible to change the prefix of the names of the database tables. (you need to do this if you are installing several sites in the same database). The prefix must be written in unaccented, lower-case letters without any spaces.',
487
-	'info_taille_maximale_images' => 'SPIP will test for the maximum image size (in millions of pixels) which it can process.<br /> Images bigger than this will not be reduced.',
488
-	'info_taille_maximale_vignette' => 'Maximum size for vignettes generated by the system:',
489
-	'info_terminer_installation' => 'You can now finish the standard installation process.',
490
-	'info_texte' => 'Text',
491
-	'info_texte_explicatif' => 'Explanation',
492
-	'info_texte_long' => '(The text is long: it will appear in several parts which will be reassembled after validation.)',
493
-	'info_texte_message' => 'Text of your message:',
494
-	'info_texte_message_02' => 'Message text',
495
-	'info_titre' => 'Title:',
496
-	'info_total' => 'total:',
497
-	'info_tous_articles_en_redaction' => 'All articles in progress',
498
-	'info_tous_articles_presents' => 'All articles published in this section',
499
-	'info_tous_articles_refuses' => 'All refused articles',
500
-	'info_tous_les' => 'every:',
501
-	'info_tout_site' => 'The entire site',
502
-	'info_tout_site2' => 'The article has not been translated into this language.',
503
-	'info_tout_site3' => 'The article has been translated into this language, but changes have since been made to the reference article. The translation needs updating.',
504
-	'info_tout_site4' => 'The article has been translated into this language, and the translation is up-to-date.',
505
-	'info_tout_site5' => 'Original article.',
506
-	'info_tout_site6' => '<b>Warning:</b> only original articles are displayed.
439
+    'info_qui_edite' => '@nom_auteur_modif@ worked on the contents @date_diff@ minutes ago',
440
+    'info_racine_site' => 'Site root',
441
+    'info_recharger_page' => 'Please wait a few moments, then reload this page.',
442
+    'info_recherche_auteur_zero' => 'No results for "@cherche_auteur@".',
443
+    'info_recommencer' => 'Please try again.',
444
+    'info_redacteur_1' => 'Editor',
445
+    'info_redacteur_2' => 'with access to the admin area (<i>recommended</i>)',
446
+    'info_redacteurs' => 'Editors',
447
+    'info_redaction_en_cours' => 'EDITING IN PROGRESS',
448
+    'info_redirection' => 'Redirection',
449
+    'info_redirection_activee' => 'Redirection is enabled.',
450
+    'info_redirection_boucle' => 'You are trying to redirect the article toward itself. ',
451
+    'info_redirection_desactivee' => 'Redirection is deleted.',
452
+    'info_refuses' => 'Your rejected articles ',
453
+    'info_reglage_ldap' => 'Options: <b>Adjusting LDAP import</b>',
454
+    'info_renvoi_article' => '<b>Redirection.</b> This article redirects to:',
455
+    'info_reserve_admin' => 'Only administrators can modify this address.',
456
+    'info_restreindre_rubrique' => 'Restrict management to section:',
457
+    'info_resultat_recherche' => 'Search results:',
458
+    'info_rubriques' => 'Sections',
459
+    'info_rubriques_02' => 'sections',
460
+    'info_rubriques_trouvees' => 'Sections found',
461
+    'info_sans_titre' => 'Untitled',
462
+    'info_selection_chemin_acces' => '<b>Select</b> the access path in the directory:',
463
+    'info_signatures' => 'signatures',
464
+    'info_site' => 'Site',
465
+    'info_site_2' => 'site:',
466
+    'info_site_min' => 'site',
467
+    'info_site_reference_2' => 'Referenced site',
468
+    'info_site_web' => 'Web site:',
469
+    'info_sites' => 'sites',
470
+    'info_sites_lies_mot' => 'Referenced sites with this keyword',
471
+    'info_sites_proxy' => 'Using a proxy',
472
+    'info_sites_trouves' => 'Sites found',
473
+    'info_sous_titre' => 'Subtitle:',
474
+    'info_statut_administrateur' => 'Administrator',
475
+    'info_statut_auteur' => 'This author’s status:',
476
+    'info_statut_auteur_2' => 'I am',
477
+    'info_statut_auteur_a_confirmer' => 'Registration to be confirmed',
478
+    'info_statut_auteur_autre' => 'Other status:',
479
+    'info_statut_redacteur' => 'Editor',
480
+    'info_statut_utilisateurs_1' => 'Default status for imported users',
481
+    'info_statut_utilisateurs_2' => 'Choose the status to be attributed to persons present in the LDAP directory when they connect for the first time. You can modify this value for each individual author later on.',
482
+    'info_suivi_activite' => 'Follow editorial activity',
483
+    'info_surtitre' => 'Top title:',
484
+    'info_syndication_integrale_1' => 'Your site provides syndication files (see "<a href="@url@">@titre@</a>").',
485
+    'info_syndication_integrale_2' => 'Do you wish to send whole articles or only a summary of a few hundred characters?',
486
+    'info_table_prefix' => 'It is possible to change the prefix of the names of the database tables. (you need to do this if you are installing several sites in the same database). The prefix must be written in unaccented, lower-case letters without any spaces.',
487
+    'info_taille_maximale_images' => 'SPIP will test for the maximum image size (in millions of pixels) which it can process.<br /> Images bigger than this will not be reduced.',
488
+    'info_taille_maximale_vignette' => 'Maximum size for vignettes generated by the system:',
489
+    'info_terminer_installation' => 'You can now finish the standard installation process.',
490
+    'info_texte' => 'Text',
491
+    'info_texte_explicatif' => 'Explanation',
492
+    'info_texte_long' => '(The text is long: it will appear in several parts which will be reassembled after validation.)',
493
+    'info_texte_message' => 'Text of your message:',
494
+    'info_texte_message_02' => 'Message text',
495
+    'info_titre' => 'Title:',
496
+    'info_total' => 'total:',
497
+    'info_tous_articles_en_redaction' => 'All articles in progress',
498
+    'info_tous_articles_presents' => 'All articles published in this section',
499
+    'info_tous_articles_refuses' => 'All refused articles',
500
+    'info_tous_les' => 'every:',
501
+    'info_tout_site' => 'The entire site',
502
+    'info_tout_site2' => 'The article has not been translated into this language.',
503
+    'info_tout_site3' => 'The article has been translated into this language, but changes have since been made to the reference article. The translation needs updating.',
504
+    'info_tout_site4' => 'The article has been translated into this language, and the translation is up-to-date.',
505
+    'info_tout_site5' => 'Original article.',
506
+    'info_tout_site6' => '<b>Warning:</b> only original articles are displayed.
507 507
 Translations are linked to the original,
508 508
 and their status is colour-coded:',
509
-	'info_traductions' => 'Translations',
510
-	'info_travail_colaboratif' => 'Collaborative work on articles',
511
-	'info_un_article' => 'an article,',
512
-	'info_un_site' => 'a site,',
513
-	'info_une_rubrique' => 'a section,',
514
-	'info_une_rubrique_02' => '1 section',
515
-	'info_url' => 'URL:',
516
-	'info_url_proxy' => 'Proxy URL',
517
-	'info_url_proxy_pas_conforme' => 'Proxy’s URL not valid.',
518
-	'info_url_site_pas_conforme' => 'the website URL is invalid.',
519
-	'info_url_test_proxy' => 'Test URL',
520
-	'info_urlref' => 'Hyperlink:',
521
-	'info_utilisation_spip' => 'SPIP is now ready for use',
522
-	'info_visites_par_mois' => 'Monthly display:',
523
-	'info_visiteur_1' => 'Visitor',
524
-	'info_visiteur_2' => 'to the public site',
525
-	'info_visiteurs' => 'Visitors',
526
-	'info_visiteurs_02' => 'Public site visitors',
527
-	'info_webmestre_forces' => 'The web administrators are currently defined in <tt>@file_options@</tt>.',
528
-	'install_adresse_base_hebergeur' => 'Database address attributed by the hosting provider',
529
-	'install_connect_ok' => 'The new database has been declared using the server name @connect@.',
530
-	'install_echec_annonce' => 'This installation will probably fail, or damage your site.',
531
-	'install_extension_mbstring' => 'SPIP does not work with:',
532
-	'install_extension_php_obligatoire' => 'SPIP requires the php extension:',
533
-	'install_login_base_hebergeur' => 'Login attributed by the service provider',
534
-	'install_nom_base_hebergeur' => 'Database name attributed by the service provider:',
535
-	'install_pas_table' => 'The database has no tables',
536
-	'install_pass_base_hebergeur' => 'Password attributed by your hosting service ',
537
-	'install_php_extension' => 'The following extensions are missing : @extensions@',
538
-	'install_php_version' => 'This version of PHP @version@ is too old (minimum = @minimum@)',
539
-	'install_php_version_max' => 'PHP version @version@ too recent (maximum = @maximum@)',
540
-	'install_select_langue' => 'Select a language, then click on "next" to start installation.',
541
-	'install_select_type_db' => 'Indicate the type of database:',
542
-	'install_select_type_mysql' => 'MySQL',
543
-	'install_select_type_pg' => 'PostgreSQL',
544
-	'install_select_type_sqlite2' => 'SQLite 2',
545
-	'install_select_type_sqlite3' => 'SQLite 3',
546
-	'install_serveur_hebergeur' => 'Database server attributed by the hosting provider',
547
-	'install_table_prefix_hebergeur' => 'Table prefix attributed by your hosting provider:',
548
-	'install_tables_base' => 'Tables in the database',
549
-	'install_types_db_connus' => 'SPIP can use <b>MySQL</b> (the most common) and <b>SQLite</b>.',
550
-	'install_types_db_connus_avertissement' => 'The support of <b>PostgreSQL</b is actually proposed as experimental',
551
-	'instituer_erreur_statut_a_change' => 'The status has already been modified',
552
-	'instituer_erreur_statut_non_autorise' => 'You cannot select this status',
553
-	'intem_redacteur' => 'editor',
554
-	'intitule_licence' => 'Licence',
555
-	'item_accepter_inscriptions' => 'Allow registration',
556
-	'item_activer_messages_avertissement' => 'Activate warning messages',
557
-	'item_administrateur_2' => 'administrator',
558
-	'item_afficher_calendrier' => 'Display in calendar',
559
-	'item_autoriser_syndication_integrale' => 'Include entire articles in syndication feeds',
560
-	'item_choix_administrateurs' => 'administrators',
561
-	'item_choix_generation_miniature' => 'Generate thumbnails automatically.',
562
-	'item_choix_non_generation_miniature' => 'Do not generate thumbnails.',
563
-	'item_choix_redacteurs' => 'editors',
564
-	'item_choix_visiteurs' => 'visitors to the public site',
565
-	'item_creer_fichiers_authent' => 'Create .htpasswd files',
566
-	'item_login' => 'Login',
567
-	'item_messagerie_agenda' => 'Activate messaging system and calendars',
568
-	'item_mots_cles_association_articles' => 'articles',
569
-	'item_mots_cles_association_rubriques' => 'sections',
570
-	'item_mots_cles_association_sites' => 'referenced or syndicated sites.',
571
-	'item_non' => 'No',
572
-	'item_non_accepter_inscriptions' => 'Disable registration',
573
-	'item_non_activer_messages_avertissement' => 'No warning messages',
574
-	'item_non_afficher_calendrier' => 'Do not show in calendar',
575
-	'item_non_autoriser_syndication_integrale' => 'Only send a summary',
576
-	'item_non_creer_fichiers_authent' => 'Do not create these files',
577
-	'item_non_messagerie_agenda' => 'Disable the messaging system and calendars',
578
-	'item_non_publier_articles' => 'Do not publish articles before their specified publication date.',
579
-	'item_nouvel_auteur' => 'New author',
580
-	'item_nouvelle_rubrique' => 'New section',
581
-	'item_oui' => 'Yes',
582
-	'item_publier_articles' => 'Publish articles, irrespective of publication date.',
583
-	'item_reponse_article' => 'Reply to the article',
584
-	'item_visiteur' => 'visitor',
509
+    'info_traductions' => 'Translations',
510
+    'info_travail_colaboratif' => 'Collaborative work on articles',
511
+    'info_un_article' => 'an article,',
512
+    'info_un_site' => 'a site,',
513
+    'info_une_rubrique' => 'a section,',
514
+    'info_une_rubrique_02' => '1 section',
515
+    'info_url' => 'URL:',
516
+    'info_url_proxy' => 'Proxy URL',
517
+    'info_url_proxy_pas_conforme' => 'Proxy’s URL not valid.',
518
+    'info_url_site_pas_conforme' => 'the website URL is invalid.',
519
+    'info_url_test_proxy' => 'Test URL',
520
+    'info_urlref' => 'Hyperlink:',
521
+    'info_utilisation_spip' => 'SPIP is now ready for use',
522
+    'info_visites_par_mois' => 'Monthly display:',
523
+    'info_visiteur_1' => 'Visitor',
524
+    'info_visiteur_2' => 'to the public site',
525
+    'info_visiteurs' => 'Visitors',
526
+    'info_visiteurs_02' => 'Public site visitors',
527
+    'info_webmestre_forces' => 'The web administrators are currently defined in <tt>@file_options@</tt>.',
528
+    'install_adresse_base_hebergeur' => 'Database address attributed by the hosting provider',
529
+    'install_connect_ok' => 'The new database has been declared using the server name @connect@.',
530
+    'install_echec_annonce' => 'This installation will probably fail, or damage your site.',
531
+    'install_extension_mbstring' => 'SPIP does not work with:',
532
+    'install_extension_php_obligatoire' => 'SPIP requires the php extension:',
533
+    'install_login_base_hebergeur' => 'Login attributed by the service provider',
534
+    'install_nom_base_hebergeur' => 'Database name attributed by the service provider:',
535
+    'install_pas_table' => 'The database has no tables',
536
+    'install_pass_base_hebergeur' => 'Password attributed by your hosting service ',
537
+    'install_php_extension' => 'The following extensions are missing : @extensions@',
538
+    'install_php_version' => 'This version of PHP @version@ is too old (minimum = @minimum@)',
539
+    'install_php_version_max' => 'PHP version @version@ too recent (maximum = @maximum@)',
540
+    'install_select_langue' => 'Select a language, then click on "next" to start installation.',
541
+    'install_select_type_db' => 'Indicate the type of database:',
542
+    'install_select_type_mysql' => 'MySQL',
543
+    'install_select_type_pg' => 'PostgreSQL',
544
+    'install_select_type_sqlite2' => 'SQLite 2',
545
+    'install_select_type_sqlite3' => 'SQLite 3',
546
+    'install_serveur_hebergeur' => 'Database server attributed by the hosting provider',
547
+    'install_table_prefix_hebergeur' => 'Table prefix attributed by your hosting provider:',
548
+    'install_tables_base' => 'Tables in the database',
549
+    'install_types_db_connus' => 'SPIP can use <b>MySQL</b> (the most common) and <b>SQLite</b>.',
550
+    'install_types_db_connus_avertissement' => 'The support of <b>PostgreSQL</b is actually proposed as experimental',
551
+    'instituer_erreur_statut_a_change' => 'The status has already been modified',
552
+    'instituer_erreur_statut_non_autorise' => 'You cannot select this status',
553
+    'intem_redacteur' => 'editor',
554
+    'intitule_licence' => 'Licence',
555
+    'item_accepter_inscriptions' => 'Allow registration',
556
+    'item_activer_messages_avertissement' => 'Activate warning messages',
557
+    'item_administrateur_2' => 'administrator',
558
+    'item_afficher_calendrier' => 'Display in calendar',
559
+    'item_autoriser_syndication_integrale' => 'Include entire articles in syndication feeds',
560
+    'item_choix_administrateurs' => 'administrators',
561
+    'item_choix_generation_miniature' => 'Generate thumbnails automatically.',
562
+    'item_choix_non_generation_miniature' => 'Do not generate thumbnails.',
563
+    'item_choix_redacteurs' => 'editors',
564
+    'item_choix_visiteurs' => 'visitors to the public site',
565
+    'item_creer_fichiers_authent' => 'Create .htpasswd files',
566
+    'item_login' => 'Login',
567
+    'item_messagerie_agenda' => 'Activate messaging system and calendars',
568
+    'item_mots_cles_association_articles' => 'articles',
569
+    'item_mots_cles_association_rubriques' => 'sections',
570
+    'item_mots_cles_association_sites' => 'referenced or syndicated sites.',
571
+    'item_non' => 'No',
572
+    'item_non_accepter_inscriptions' => 'Disable registration',
573
+    'item_non_activer_messages_avertissement' => 'No warning messages',
574
+    'item_non_afficher_calendrier' => 'Do not show in calendar',
575
+    'item_non_autoriser_syndication_integrale' => 'Only send a summary',
576
+    'item_non_creer_fichiers_authent' => 'Do not create these files',
577
+    'item_non_messagerie_agenda' => 'Disable the messaging system and calendars',
578
+    'item_non_publier_articles' => 'Do not publish articles before their specified publication date.',
579
+    'item_nouvel_auteur' => 'New author',
580
+    'item_nouvelle_rubrique' => 'New section',
581
+    'item_oui' => 'Yes',
582
+    'item_publier_articles' => 'Publish articles, irrespective of publication date.',
583
+    'item_reponse_article' => 'Reply to the article',
584
+    'item_visiteur' => 'visitor',
585 585
 
586
-	// J
587
-	'jour_non_connu_nc' => 'unknown',
586
+    // J
587
+    'jour_non_connu_nc' => 'unknown',
588 588
 
589
-	// L
590
-	'label_bando_outils' => 'Toolbar',
591
-	'label_bando_outils_afficher' => 'Show the tools',
592
-	'label_bando_outils_masquer' => 'Hide the tools',
593
-	'label_choix_langue' => 'Choose your language',
594
-	'label_langue' => 'Language',
595
-	'label_nom_fichier_connect' => 'Indicate the name for this server',
596
-	'label_slogan_site' => 'Website slogan',
597
-	'label_taille_ecran' => 'Screen width',
598
-	'label_texte_et_icones_navigation' => 'Navigation menu',
599
-	'label_texte_et_icones_page' => 'Page display',
600
-	'ldap_correspondance' => 'inherit field @champ@',
601
-	'ldap_correspondance_1' => 'Inherit LDAP fields',
602
-	'ldap_correspondance_2' => 'For each of these SPIP fields, enter the name of the corresponding LDAP field. Leave blank if you don’t want it filled, separate with spaces or commas to try several LDAP fields.',
603
-	'lien_ajouter_auteur' => 'Add this author',
604
-	'lien_ajouter_une_rubrique' => 'Add this section',
605
-	'lien_email' => 'email',
606
-	'lien_nom_site' => 'SITE NAME:',
607
-	'lien_rapide_contenu' => 'Go to the content',
608
-	'lien_rapide_navigation' => 'Go to the navigation',
609
-	'lien_rapide_recherche' => 'Go to the search',
610
-	'lien_retirer_auteur' => 'Remove author',
611
-	'lien_retirer_rubrique' => 'Remove the section',
612
-	'lien_retirer_tous_auteurs' => 'Remove all authors',
613
-	'lien_retirer_toutes_rubriques' => 'Remove all sections',
614
-	'lien_site' => 'site',
615
-	'lien_tout_decocher' => 'Uncheck all',
616
-	'lien_tout_deplier' => 'Expand all',
617
-	'lien_tout_replier' => 'Collapse all',
618
-	'lien_tout_supprimer' => 'Delete all',
619
-	'lien_trier_nom' => 'Sort by name',
620
-	'lien_trier_nombre_articles' => 'Sort by total articles',
621
-	'lien_trier_statut' => 'Sort by status',
622
-	'lien_voir_en_ligne' => 'VIEW ONLINE:',
623
-	'logo_article' => 'Article’s logo',
624
-	'logo_auteur' => 'Author’s logo',
625
-	'logo_rubrique' => 'Section’s logo',
626
-	'logo_site' => 'Website’s logo',
627
-	'logo_standard_rubrique' => 'Default sections’ logo',
628
-	'logo_survol' => 'Mouseover logo',
589
+    // L
590
+    'label_bando_outils' => 'Toolbar',
591
+    'label_bando_outils_afficher' => 'Show the tools',
592
+    'label_bando_outils_masquer' => 'Hide the tools',
593
+    'label_choix_langue' => 'Choose your language',
594
+    'label_langue' => 'Language',
595
+    'label_nom_fichier_connect' => 'Indicate the name for this server',
596
+    'label_slogan_site' => 'Website slogan',
597
+    'label_taille_ecran' => 'Screen width',
598
+    'label_texte_et_icones_navigation' => 'Navigation menu',
599
+    'label_texte_et_icones_page' => 'Page display',
600
+    'ldap_correspondance' => 'inherit field @champ@',
601
+    'ldap_correspondance_1' => 'Inherit LDAP fields',
602
+    'ldap_correspondance_2' => 'For each of these SPIP fields, enter the name of the corresponding LDAP field. Leave blank if you don’t want it filled, separate with spaces or commas to try several LDAP fields.',
603
+    'lien_ajouter_auteur' => 'Add this author',
604
+    'lien_ajouter_une_rubrique' => 'Add this section',
605
+    'lien_email' => 'email',
606
+    'lien_nom_site' => 'SITE NAME:',
607
+    'lien_rapide_contenu' => 'Go to the content',
608
+    'lien_rapide_navigation' => 'Go to the navigation',
609
+    'lien_rapide_recherche' => 'Go to the search',
610
+    'lien_retirer_auteur' => 'Remove author',
611
+    'lien_retirer_rubrique' => 'Remove the section',
612
+    'lien_retirer_tous_auteurs' => 'Remove all authors',
613
+    'lien_retirer_toutes_rubriques' => 'Remove all sections',
614
+    'lien_site' => 'site',
615
+    'lien_tout_decocher' => 'Uncheck all',
616
+    'lien_tout_deplier' => 'Expand all',
617
+    'lien_tout_replier' => 'Collapse all',
618
+    'lien_tout_supprimer' => 'Delete all',
619
+    'lien_trier_nom' => 'Sort by name',
620
+    'lien_trier_nombre_articles' => 'Sort by total articles',
621
+    'lien_trier_statut' => 'Sort by status',
622
+    'lien_voir_en_ligne' => 'VIEW ONLINE:',
623
+    'logo_article' => 'Article’s logo',
624
+    'logo_auteur' => 'Author’s logo',
625
+    'logo_rubrique' => 'Section’s logo',
626
+    'logo_site' => 'Website’s logo',
627
+    'logo_standard_rubrique' => 'Default sections’ logo',
628
+    'logo_survol' => 'Mouseover logo',
629 629
 
630
-	// M
631
-	'menu_aide_installation_choix_base' => 'Choosing your database',
632
-	'module_fichier_langue' => 'Language file',
633
-	'module_raccourci' => 'Shortcut',
634
-	'module_texte_affiche' => 'Displayed text',
635
-	'module_texte_explicatif' => 'You can insert thse shortcuts in your website templates. They will be automatically translated into any languages for which a language file exists.',
636
-	'module_texte_traduction' => 'The language file « @module@ » is available in:',
637
-	'mois_non_connu' => 'unknown',
630
+    // M
631
+    'menu_aide_installation_choix_base' => 'Choosing your database',
632
+    'module_fichier_langue' => 'Language file',
633
+    'module_raccourci' => 'Shortcut',
634
+    'module_texte_affiche' => 'Displayed text',
635
+    'module_texte_explicatif' => 'You can insert thse shortcuts in your website templates. They will be automatically translated into any languages for which a language file exists.',
636
+    'module_texte_traduction' => 'The language file « @module@ » is available in:',
637
+    'mois_non_connu' => 'unknown',
638 638
 
639
-	// N
640
-	'nouvelle_version_spip' => 'SPIP upgrade @version@ is available',
641
-	'nouvelle_version_spip_majeure' => 'A new SPIP version @version@ is available',
639
+    // N
640
+    'nouvelle_version_spip' => 'SPIP upgrade @version@ is available',
641
+    'nouvelle_version_spip_majeure' => 'A new SPIP version @version@ is available',
642 642
 
643
-	// O
644
-	'onglet_contenu' => 'Contents',
645
-	'onglet_declarer_une_autre_base' => 'Declare another database',
646
-	'onglet_discuter' => 'Discuss',
647
-	'onglet_interactivite' => 'Interactivity',
648
-	'onglet_proprietes' => 'Properties',
649
-	'onglet_repartition_actuelle' => 'now',
650
-	'onglet_sous_rubriques' => 'Subsections',
643
+    // O
644
+    'onglet_contenu' => 'Contents',
645
+    'onglet_declarer_une_autre_base' => 'Declare another database',
646
+    'onglet_discuter' => 'Discuss',
647
+    'onglet_interactivite' => 'Interactivity',
648
+    'onglet_proprietes' => 'Properties',
649
+    'onglet_repartition_actuelle' => 'now',
650
+    'onglet_sous_rubriques' => 'Subsections',
651 651
 
652
-	// P
653
-	'page_pas_proxy' => 'This page must not go through the proxy',
654
-	'pas_de_proxy_pour' => 'If necessary, indicate to which machines or domains this proxy should not apply (for example: @exemple@)',
655
-	'phpinfo' => 'PHP configuration',
656
-	'plugin_charge_paquet' => 'Loading the archive file @name@',
657
-	'plugin_charger' => 'Download',
658
-	'plugin_erreur_charger' => 'error: @zip@ cannot be loaded',
659
-	'plugin_erreur_droit1' => 'Cannot write to directory <code>@dest@</code>.',
660
-	'plugin_erreur_droit2' => 'Please check write permissions for this directory (and create the directory if necessary). Alternatively, install the files by FTP.',
661
-	'plugin_erreur_zip' => 'pclzip failure: error @status@',
662
-	'plugin_etat_developpement' => 'under development',
663
-	'plugin_etat_experimental' => 'experimental',
664
-	'plugin_etat_stable' => 'stable',
665
-	'plugin_etat_test' => 'being tested',
666
-	'plugin_impossible_activer' => 'Impossible to activate the plugin @plugin@',
667
-	'plugin_info_automatique1' => 'If you wish to allow automatic plugin installation, please:',
668
-	'plugin_info_automatique1_lib' => 'If you want to let this library to be installed automatically, please:',
669
-	'plugin_info_automatique2' => 'Create a directory <code>@rep@</code> ;',
670
-	'plugin_info_automatique3' => 'Check that the server has the proper permissions to write to this directory.',
671
-	'plugin_info_automatique_creer' => 'to create at the root of the website.',
672
-	'plugin_info_automatique_exemples' => 'examples:',
673
-	'plugin_info_automatique_ftp' => 'You may install plugins by FTP in the  <tt>@rep@</tt> directory',
674
-	'plugin_info_automatique_lib' => 'Some plugins need to be able to load files into the <code>lib/</code> directory. This directory should be created at the website root.',
675
-	'plugin_info_automatique_liste' => 'Your plugin lists:',
676
-	'plugin_info_automatique_liste_officielle' => 'official plugins',
677
-	'plugin_info_automatique_liste_update' => 'Update lists',
678
-	'plugin_info_automatique_ou' => 'or...',
679
-	'plugin_info_automatique_select' => 'Select a plugin below: SPIP will load it and will install it in the <code>@rep@</code> directory. If the plugin already exists, it will be updated.',
680
-	'plugin_info_credit' => 'Credits',
681
-	'plugin_info_erreur_xml' => 'Incorrect declaration of the plugin',
682
-	'plugin_info_install_ok' => 'Installation successful',
683
-	'plugin_info_necessite' => 'Requires:',
684
-	'plugin_info_non_compatible_spip' => 'This plugin is incompatible with this version of SPIP',
685
-	'plugin_info_plugins_dist_1' => 'The following plugins are loaded and activated in the @plugins_dist@ directory.',
686
-	'plugin_info_plugins_dist_2' => 'They cannot be disabled.',
687
-	'plugin_info_telecharger' => 'load from @url@ and install to @rep@',
688
-	'plugin_info_upgrade_ok' => 'Successful update',
689
-	'plugin_librairies_installees' => 'Libraries installed',
690
-	'plugin_necessite_extension_php' => 'Requires the PHP extension @plugin@ version @version@.',
691
-	'plugin_necessite_extension_php_sans_version' => 'Requires the PHP extension @plugin@',
692
-	'plugin_necessite_lib' => 'This plugin requires the library @lib@',
693
-	'plugin_necessite_php' => 'Requires @plugin@ version @version@.',
694
-	'plugin_necessite_plugin' => 'Version @version@ of the plugin @plugin@ is required.',
695
-	'plugin_necessite_plugin_sans_version' => 'Requires the plugin @plugin@',
696
-	'plugin_necessite_spip' => 'SPIP version @version@ or newer is required.',
697
-	'plugin_source' => 'source: ',
698
-	'plugin_titre_automatique' => 'Automatic installation',
699
-	'plugin_titre_automatique_ajouter' => 'Add plugins',
700
-	'plugin_titre_installation' => '@plugin@ plugin installation',
701
-	'plugin_titre_modifier' => 'My plugins',
702
-	'plugin_utilise_extension_php' => 'The version of the PHP extension @plugin@ must be @version@.',
703
-	'plugin_utilise_php' => '@plugin@ version must be @version@.',
704
-	'plugin_utilise_plugin' => 'The version of the plugin @plugin@ must be @version@.',
705
-	'plugin_zip_active' => 'Continue in order to activate',
706
-	'plugin_zip_adresse' => 'To load a zipped plugin file, or a list of plugins, enter the path below.',
707
-	'plugin_zip_adresse_champ' => 'Path of the plugin or list ',
708
-	'plugin_zip_content' => 'It contains the following files(@taille@),<br />ready to be installed in the <code>@rep@</code> directory',
709
-	'plugin_zip_installe_finie' => 'The file @zip@ has been unpacked and installed.',
710
-	'plugin_zip_installe_rep_finie' => 'The file @zip@ has been unpacked and installed in the @rep@ directory',
711
-	'plugin_zip_installer' => 'You may now install it.',
712
-	'plugin_zip_telecharge' => 'The file @zip@ has been loaded',
713
-	'plugins_actif_aucun' => 'No plugins active.',
714
-	'plugins_actif_un' => 'One plugin active',
715
-	'plugins_actifs' => '@count@ active plugins.',
716
-	'plugins_actifs_liste' => 'Enabled',
717
-	'plugins_compte' => '@count@ plugins',
718
-	'plugins_disponible_un' => 'One plugin available',
719
-	'plugins_disponibles' => '@count@ plugins available.',
720
-	'plugins_erreur' => 'Error in the plugins: @plugins@',
721
-	'plugins_liste' => 'List of plugins',
722
-	'plugins_liste_dist' => 'Locked plugins',
723
-	'plugins_recents' => 'Recent plugins',
724
-	'plugins_tous_liste' => 'All',
725
-	'plugins_vue_hierarchie' => 'Hierarchy',
726
-	'plugins_vue_liste' => 'List',
727
-	'protocole_ldap' => 'Protocol version:',
652
+    // P
653
+    'page_pas_proxy' => 'This page must not go through the proxy',
654
+    'pas_de_proxy_pour' => 'If necessary, indicate to which machines or domains this proxy should not apply (for example: @exemple@)',
655
+    'phpinfo' => 'PHP configuration',
656
+    'plugin_charge_paquet' => 'Loading the archive file @name@',
657
+    'plugin_charger' => 'Download',
658
+    'plugin_erreur_charger' => 'error: @zip@ cannot be loaded',
659
+    'plugin_erreur_droit1' => 'Cannot write to directory <code>@dest@</code>.',
660
+    'plugin_erreur_droit2' => 'Please check write permissions for this directory (and create the directory if necessary). Alternatively, install the files by FTP.',
661
+    'plugin_erreur_zip' => 'pclzip failure: error @status@',
662
+    'plugin_etat_developpement' => 'under development',
663
+    'plugin_etat_experimental' => 'experimental',
664
+    'plugin_etat_stable' => 'stable',
665
+    'plugin_etat_test' => 'being tested',
666
+    'plugin_impossible_activer' => 'Impossible to activate the plugin @plugin@',
667
+    'plugin_info_automatique1' => 'If you wish to allow automatic plugin installation, please:',
668
+    'plugin_info_automatique1_lib' => 'If you want to let this library to be installed automatically, please:',
669
+    'plugin_info_automatique2' => 'Create a directory <code>@rep@</code> ;',
670
+    'plugin_info_automatique3' => 'Check that the server has the proper permissions to write to this directory.',
671
+    'plugin_info_automatique_creer' => 'to create at the root of the website.',
672
+    'plugin_info_automatique_exemples' => 'examples:',
673
+    'plugin_info_automatique_ftp' => 'You may install plugins by FTP in the  <tt>@rep@</tt> directory',
674
+    'plugin_info_automatique_lib' => 'Some plugins need to be able to load files into the <code>lib/</code> directory. This directory should be created at the website root.',
675
+    'plugin_info_automatique_liste' => 'Your plugin lists:',
676
+    'plugin_info_automatique_liste_officielle' => 'official plugins',
677
+    'plugin_info_automatique_liste_update' => 'Update lists',
678
+    'plugin_info_automatique_ou' => 'or...',
679
+    'plugin_info_automatique_select' => 'Select a plugin below: SPIP will load it and will install it in the <code>@rep@</code> directory. If the plugin already exists, it will be updated.',
680
+    'plugin_info_credit' => 'Credits',
681
+    'plugin_info_erreur_xml' => 'Incorrect declaration of the plugin',
682
+    'plugin_info_install_ok' => 'Installation successful',
683
+    'plugin_info_necessite' => 'Requires:',
684
+    'plugin_info_non_compatible_spip' => 'This plugin is incompatible with this version of SPIP',
685
+    'plugin_info_plugins_dist_1' => 'The following plugins are loaded and activated in the @plugins_dist@ directory.',
686
+    'plugin_info_plugins_dist_2' => 'They cannot be disabled.',
687
+    'plugin_info_telecharger' => 'load from @url@ and install to @rep@',
688
+    'plugin_info_upgrade_ok' => 'Successful update',
689
+    'plugin_librairies_installees' => 'Libraries installed',
690
+    'plugin_necessite_extension_php' => 'Requires the PHP extension @plugin@ version @version@.',
691
+    'plugin_necessite_extension_php_sans_version' => 'Requires the PHP extension @plugin@',
692
+    'plugin_necessite_lib' => 'This plugin requires the library @lib@',
693
+    'plugin_necessite_php' => 'Requires @plugin@ version @version@.',
694
+    'plugin_necessite_plugin' => 'Version @version@ of the plugin @plugin@ is required.',
695
+    'plugin_necessite_plugin_sans_version' => 'Requires the plugin @plugin@',
696
+    'plugin_necessite_spip' => 'SPIP version @version@ or newer is required.',
697
+    'plugin_source' => 'source: ',
698
+    'plugin_titre_automatique' => 'Automatic installation',
699
+    'plugin_titre_automatique_ajouter' => 'Add plugins',
700
+    'plugin_titre_installation' => '@plugin@ plugin installation',
701
+    'plugin_titre_modifier' => 'My plugins',
702
+    'plugin_utilise_extension_php' => 'The version of the PHP extension @plugin@ must be @version@.',
703
+    'plugin_utilise_php' => '@plugin@ version must be @version@.',
704
+    'plugin_utilise_plugin' => 'The version of the plugin @plugin@ must be @version@.',
705
+    'plugin_zip_active' => 'Continue in order to activate',
706
+    'plugin_zip_adresse' => 'To load a zipped plugin file, or a list of plugins, enter the path below.',
707
+    'plugin_zip_adresse_champ' => 'Path of the plugin or list ',
708
+    'plugin_zip_content' => 'It contains the following files(@taille@),<br />ready to be installed in the <code>@rep@</code> directory',
709
+    'plugin_zip_installe_finie' => 'The file @zip@ has been unpacked and installed.',
710
+    'plugin_zip_installe_rep_finie' => 'The file @zip@ has been unpacked and installed in the @rep@ directory',
711
+    'plugin_zip_installer' => 'You may now install it.',
712
+    'plugin_zip_telecharge' => 'The file @zip@ has been loaded',
713
+    'plugins_actif_aucun' => 'No plugins active.',
714
+    'plugins_actif_un' => 'One plugin active',
715
+    'plugins_actifs' => '@count@ active plugins.',
716
+    'plugins_actifs_liste' => 'Enabled',
717
+    'plugins_compte' => '@count@ plugins',
718
+    'plugins_disponible_un' => 'One plugin available',
719
+    'plugins_disponibles' => '@count@ plugins available.',
720
+    'plugins_erreur' => 'Error in the plugins: @plugins@',
721
+    'plugins_liste' => 'List of plugins',
722
+    'plugins_liste_dist' => 'Locked plugins',
723
+    'plugins_recents' => 'Recent plugins',
724
+    'plugins_tous_liste' => 'All',
725
+    'plugins_vue_hierarchie' => 'Hierarchy',
726
+    'plugins_vue_liste' => 'List',
727
+    'protocole_ldap' => 'Protocol version:',
728 728
 
729
-	// Q
730
-	'queue_executer_maintenant' => 'Run now',
731
-	'queue_info_purger' => 'You can delete all pending tasks and reset the list with periodic tasks',
732
-	'queue_nb_jobs_in_queue' => '@nb@ pending tasks',
733
-	'queue_next_job_in_nb_sec' => 'Next task in @nb@ s',
734
-	'queue_no_job_in_queue' => 'No pending tasks',
735
-	'queue_one_job_in_queue' => '1 pending task',
736
-	'queue_priorite_tache' => 'priority',
737
-	'queue_purger_queue' => 'Reset the tasks queue',
738
-	'queue_titre' => 'Background tasks',
729
+    // Q
730
+    'queue_executer_maintenant' => 'Run now',
731
+    'queue_info_purger' => 'You can delete all pending tasks and reset the list with periodic tasks',
732
+    'queue_nb_jobs_in_queue' => '@nb@ pending tasks',
733
+    'queue_next_job_in_nb_sec' => 'Next task in @nb@ s',
734
+    'queue_no_job_in_queue' => 'No pending tasks',
735
+    'queue_one_job_in_queue' => '1 pending task',
736
+    'queue_priorite_tache' => 'priority',
737
+    'queue_purger_queue' => 'Reset the tasks queue',
738
+    'queue_titre' => 'Background tasks',
739 739
 
740
-	// R
741
-	'repertoire_plugins' => 'Directory:',
742
-	'required' => '(Required)',
740
+    // R
741
+    'repertoire_plugins' => 'Directory:',
742
+    'required' => '(Required)',
743 743
 
744
-	// S
745
-	'sans_heure' => 'time not specified',
746
-	'statut_admin_restreint' => 'restricted admin',
747
-	'statut_webmestre' => 'webmaster',
744
+    // S
745
+    'sans_heure' => 'time not specified',
746
+    'statut_admin_restreint' => 'restricted admin',
747
+    'statut_webmestre' => 'webmaster',
748 748
 
749
-	// T
750
-	'tache_cron_asap' => 'CRON task @function@ (ASAP)',
751
-	'tache_cron_secondes' => 'CRON task @function@ (every @nb@ s)',
752
-	'taille_cache_image' => 'The images calculated automatically by SPIP (thumbnails, titles transformed into graphics, mathematical formulae in TeX format, etc.) take up a total of @taille@ in the @dir@ directory.',
753
-	'taille_cache_moins_de' => 'The cache size is less than @octets@.',
754
-	'taille_cache_octets' => 'The size of the cache is currently around @octets@.',
755
-	'taille_cache_vide' => 'The cache is empty.',
756
-	'taille_repertoire_cache' => 'Current cache size ',
757
-	'text_article_propose_publication' => 'Article submitted for publication.',
758
-	'texte_acces_ldap_anonyme_1' => 'Some LDAP servers do not allow anonymous access. In this case you must indicate an initial access identifier for future directory searches. However, in most cases the following fields can be left empty.',
759
-	'texte_admin_effacer_01' => 'This command deletes <i>all</i> content in the database,
749
+    // T
750
+    'tache_cron_asap' => 'CRON task @function@ (ASAP)',
751
+    'tache_cron_secondes' => 'CRON task @function@ (every @nb@ s)',
752
+    'taille_cache_image' => 'The images calculated automatically by SPIP (thumbnails, titles transformed into graphics, mathematical formulae in TeX format, etc.) take up a total of @taille@ in the @dir@ directory.',
753
+    'taille_cache_moins_de' => 'The cache size is less than @octets@.',
754
+    'taille_cache_octets' => 'The size of the cache is currently around @octets@.',
755
+    'taille_cache_vide' => 'The cache is empty.',
756
+    'taille_repertoire_cache' => 'Current cache size ',
757
+    'text_article_propose_publication' => 'Article submitted for publication.',
758
+    'texte_acces_ldap_anonyme_1' => 'Some LDAP servers do not allow anonymous access. In this case you must indicate an initial access identifier for future directory searches. However, in most cases the following fields can be left empty.',
759
+    'texte_admin_effacer_01' => 'This command deletes <i>all</i> content in the database,
760 760
 including <i>all</i> the access parameters for editors and administrators. After using it, you must
761 761
 reinstall SPIP, create a new database and a new administrator account.',
762
-	'texte_adresse_annuaire_1' => '(If your directory is installed on the same machine as your website, it is probably «localhost».)',
763
-	'texte_ajout_auteur' => 'The following author was added to the article:',
764
-	'texte_annuaire_ldap_1' => 'If you have access to a LDAP directory server, you can use it to import users automatically into SPIP.',
765
-	'texte_article_statut' => 'Article status:',
766
-	'texte_article_virtuel' => 'Virtual article',
767
-	'texte_article_virtuel_reference' => '<b>Virtual article:</b> an article on your SPIP website which redirects to another URL. To remove redirection, delete the URL.',
768
-	'texte_aucun_resultat_auteur' => 'No results for "@cherche_auteur@".',
769
-	'texte_auteur_messagerie' => 'This site can update the list of editors online in real time, which allows you to be contacted by other users. You can opt not to appear in this list (you are then "invisible" to other users).',
770
-	'texte_auteurs' => 'THE AUTHORS',
771
-	'texte_choix_base_1' => 'Select your database:',
772
-	'texte_choix_base_2' => 'The SQL server contains several databases.',
773
-	'texte_choix_base_3' => '<b>Select</b> below the one attributed by your hosting provider:',
774
-	'texte_choix_table_prefix' => 'Prefix for tables:',
775
-	'texte_compte_element' => '@count@ element',
776
-	'texte_compte_elements' => '@count@ elements',
777
-	'texte_conflit_edition_correction' => 'Please compare differences between the two versions. You can also copy your changes and start over.',
778
-	'texte_connexion_mysql' => 'Consult the information provided by your hosting service. It should contain the connection codes for the SQL server.',
779
-	'texte_contenu_article' => '(Brief description of the article.)',
780
-	'texte_contenu_articles' => 'Depending on the layout chosen for your site, you can decide
762
+    'texte_adresse_annuaire_1' => '(If your directory is installed on the same machine as your website, it is probably «localhost».)',
763
+    'texte_ajout_auteur' => 'The following author was added to the article:',
764
+    'texte_annuaire_ldap_1' => 'If you have access to a LDAP directory server, you can use it to import users automatically into SPIP.',
765
+    'texte_article_statut' => 'Article status:',
766
+    'texte_article_virtuel' => 'Virtual article',
767
+    'texte_article_virtuel_reference' => '<b>Virtual article:</b> an article on your SPIP website which redirects to another URL. To remove redirection, delete the URL.',
768
+    'texte_aucun_resultat_auteur' => 'No results for "@cherche_auteur@".',
769
+    'texte_auteur_messagerie' => 'This site can update the list of editors online in real time, which allows you to be contacted by other users. You can opt not to appear in this list (you are then "invisible" to other users).',
770
+    'texte_auteurs' => 'THE AUTHORS',
771
+    'texte_choix_base_1' => 'Select your database:',
772
+    'texte_choix_base_2' => 'The SQL server contains several databases.',
773
+    'texte_choix_base_3' => '<b>Select</b> below the one attributed by your hosting provider:',
774
+    'texte_choix_table_prefix' => 'Prefix for tables:',
775
+    'texte_compte_element' => '@count@ element',
776
+    'texte_compte_elements' => '@count@ elements',
777
+    'texte_conflit_edition_correction' => 'Please compare differences between the two versions. You can also copy your changes and start over.',
778
+    'texte_connexion_mysql' => 'Consult the information provided by your hosting service. It should contain the connection codes for the SQL server.',
779
+    'texte_contenu_article' => '(Brief description of the article.)',
780
+    'texte_contenu_articles' => 'Depending on the layout chosen for your site, you can decide
781 781
   that some article options are not to be used.
782 782
   Use the following list to choose which options should be available.',
783
-	'texte_crash_base' => 'If your database
783
+    'texte_crash_base' => 'If your database
784 784
    crashed, you can try to repair it
785 785
    automatically.',
786
-	'texte_creer_rubrique' => 'Before writing any articles,<br /> you must create a section.',
787
-	'texte_date_creation_article' => 'ARTICLE CREATION DATE:',
788
-	'texte_date_creation_objet' => 'Creation date:', # on ajoute le ":"
789
-	'texte_date_publication_anterieure' => 'Date first published:',
790
-	'texte_date_publication_anterieure_nonaffichee' => 'Hide previous publication date.',
791
-	'texte_date_publication_article' => 'PUBLISHED ON:',
792
-	'texte_date_publication_objet' => 'Published on:',
793
-	'texte_definir_comme_traduction_rubrique' => 'This section is a translation of section number:',
794
-	'texte_descriptif_rapide' => 'Brief description',
795
-	'texte_effacer_base' => 'Delete the SPIP database',
796
-	'texte_effacer_statistiques' => 'Delete the statistics',
797
-	'texte_en_cours_validation' => 'The following articles and news have been submitted for evaluation.',
798
-	'texte_enrichir_mise_a_jour' => 'You can enrich the layout of your text by using "typographical shortcuts".',
799
-	'texte_fichier_authent' => '<b>Should SPIP create the special files <tt>.htpasswd</tt>
786
+    'texte_creer_rubrique' => 'Before writing any articles,<br /> you must create a section.',
787
+    'texte_date_creation_article' => 'ARTICLE CREATION DATE:',
788
+    'texte_date_creation_objet' => 'Creation date:', # on ajoute le ":"
789
+    'texte_date_publication_anterieure' => 'Date first published:',
790
+    'texte_date_publication_anterieure_nonaffichee' => 'Hide previous publication date.',
791
+    'texte_date_publication_article' => 'PUBLISHED ON:',
792
+    'texte_date_publication_objet' => 'Published on:',
793
+    'texte_definir_comme_traduction_rubrique' => 'This section is a translation of section number:',
794
+    'texte_descriptif_rapide' => 'Brief description',
795
+    'texte_effacer_base' => 'Delete the SPIP database',
796
+    'texte_effacer_statistiques' => 'Delete the statistics',
797
+    'texte_en_cours_validation' => 'The following articles and news have been submitted for evaluation.',
798
+    'texte_enrichir_mise_a_jour' => 'You can enrich the layout of your text by using "typographical shortcuts".',
799
+    'texte_fichier_authent' => '<b>Should SPIP create the special files <tt>.htpasswd</tt>
800 800
   and <tt>.htpasswd-admin</tt> in the directory @dossier@?</b>
801 801
 <p>These files can be used to restrict access to authors and administrators to other parts of your site (for instance, external statistical programme).</p><p>If you have no need of such files, you can keep this option with its default value (no file creation).</p>',
802
-	'texte_informations_personnelles_1' => 'The system will now  create your personal account for this site.',
803
-	'texte_informations_personnelles_2' => '(Note: if it is a reinstallation, if your former access is still working, you can',
804
-	'texte_introductif_article' => '(Introductory text for the article.)',
805
-	'texte_jeu_caractere' => 'We advise using the universal alphabet (<tt>utf-8</tt>) on your site. This will make it possible to display text in any language. All modern browsers are fully comptabile with this character set.',
806
-	'texte_jeu_caractere_3' => 'Your site currently uses this character set:',
807
-	'texte_jeu_caractere_4' => 'If that does not correspond to your current data (this may occur after restoring your database from a backup), or if <em>you are setting up this site</em> and wish to use a different character set, please indicate the character set here:',
808
-	'texte_login_ldap_1' => '(Keep empty for anonymous access or enter complete path, for instance «<tt>uid=smith, ou=users, dc=my-domain, dc=com</tt>».)',
809
-	'texte_login_precaution' => 'Warning! This is the login which you are currently using.
802
+    'texte_informations_personnelles_1' => 'The system will now  create your personal account for this site.',
803
+    'texte_informations_personnelles_2' => '(Note: if it is a reinstallation, if your former access is still working, you can',
804
+    'texte_introductif_article' => '(Introductory text for the article.)',
805
+    'texte_jeu_caractere' => 'We advise using the universal alphabet (<tt>utf-8</tt>) on your site. This will make it possible to display text in any language. All modern browsers are fully comptabile with this character set.',
806
+    'texte_jeu_caractere_3' => 'Your site currently uses this character set:',
807
+    'texte_jeu_caractere_4' => 'If that does not correspond to your current data (this may occur after restoring your database from a backup), or if <em>you are setting up this site</em> and wish to use a different character set, please indicate the character set here:',
808
+    'texte_login_ldap_1' => '(Keep empty for anonymous access or enter complete path, for instance «<tt>uid=smith, ou=users, dc=my-domain, dc=com</tt>».)',
809
+    'texte_login_precaution' => 'Warning! This is the login which you are currently using.
810 810
  Use this form with caution...',
811
-	'texte_messagerie_agenda' => 'A messaging system lets website’s authors communicate directly into the admin area. It is linked to a calendar.',
812
-	'texte_mise_a_niveau_base_1' => 'You have just updated SPIP files.
811
+    'texte_messagerie_agenda' => 'A messaging system lets website’s authors communicate directly into the admin area. It is linked to a calendar.',
812
+    'texte_mise_a_niveau_base_1' => 'You have just updated SPIP files.
813 813
  Now you must upgrade the site
814 814
  database.',
815
-	'texte_modifier_article' => 'Edit this article:',
816
-	'texte_multilinguisme' => 'If you want to manage objects in several languages​​, with complex navigation, you can add a language selection menu to these objects, depending on the organization of your site.',
817
-	'texte_multilinguisme_trad' => 'You can also enable a system for managing links between the various translations of certain objects.',
818
-	'texte_non_compresse' => '<i>uncompressed</i> (your server does not support this feature)',
819
-	'texte_nouvelle_version_spip_1' => 'You have just installed a new version of SPIP.',
820
-	'texte_nouvelle_version_spip_2' => 'This new version requires a more thorough update than usual. If you are the webmaster of this site, please delete the file @connect@ and restart installation in order to update your database connection parameters. <p>(PS.: if you have forgotten your connection parameters, take a look at the file @connect@ before deleting it!)</p>',
821
-	'texte_operation_echec' => 'Go back to the previous page, select another database or create a new one. Verify the information provided by your hosting service.',
822
-	'texte_plus_trois_car' => 'more than 3 characters',
823
-	'texte_plusieurs_articles' => 'Several authors were found for "@cherche_auteur@":',
824
-	'texte_port_annuaire' => '(Default value is generally suitable.)',
825
-	'texte_presente_plugin' => 'This page shows the plugins available on this site. Activate the plugins you require by ticking the corresponding box.',
826
-	'texte_proposer_publication' => 'When your article is finished,<br /> you can submit it for publication.',
827
-	'texte_proxy' => 'In some cases (e.g. intranet, protected network), it is necessary to use an <i>HTTP proxy</i> to reach external sites (SPIP documentation, syndicated sites, etc.). If this is the case, enter its address in the form @proxy_en_cours@. In most cases you can leave this box empty.',
828
-	'texte_publication_articles_post_dates' => 'Which behaviour should SPIP adopt for articles whose
815
+    'texte_modifier_article' => 'Edit this article:',
816
+    'texte_multilinguisme' => 'If you want to manage objects in several languages​​, with complex navigation, you can add a language selection menu to these objects, depending on the organization of your site.',
817
+    'texte_multilinguisme_trad' => 'You can also enable a system for managing links between the various translations of certain objects.',
818
+    'texte_non_compresse' => '<i>uncompressed</i> (your server does not support this feature)',
819
+    'texte_nouvelle_version_spip_1' => 'You have just installed a new version of SPIP.',
820
+    'texte_nouvelle_version_spip_2' => 'This new version requires a more thorough update than usual. If you are the webmaster of this site, please delete the file @connect@ and restart installation in order to update your database connection parameters. <p>(PS.: if you have forgotten your connection parameters, take a look at the file @connect@ before deleting it!)</p>',
821
+    'texte_operation_echec' => 'Go back to the previous page, select another database or create a new one. Verify the information provided by your hosting service.',
822
+    'texte_plus_trois_car' => 'more than 3 characters',
823
+    'texte_plusieurs_articles' => 'Several authors were found for "@cherche_auteur@":',
824
+    'texte_port_annuaire' => '(Default value is generally suitable.)',
825
+    'texte_presente_plugin' => 'This page shows the plugins available on this site. Activate the plugins you require by ticking the corresponding box.',
826
+    'texte_proposer_publication' => 'When your article is finished,<br /> you can submit it for publication.',
827
+    'texte_proxy' => 'In some cases (e.g. intranet, protected network), it is necessary to use an <i>HTTP proxy</i> to reach external sites (SPIP documentation, syndicated sites, etc.). If this is the case, enter its address in the form @proxy_en_cours@. In most cases you can leave this box empty.',
828
+    'texte_publication_articles_post_dates' => 'Which behaviour should SPIP adopt for articles whose
829 829
   publication date has been set in
830 830
   the future?',
831
-	'texte_rappel_selection_champs' => '[Remember to select this field correctly.]',
832
-	'texte_recalcul_page' => 'If you want
831
+    'texte_rappel_selection_champs' => '[Remember to select this field correctly.]',
832
+    'texte_recalcul_page' => 'If you want
833 833
 to re-process a single page, it is easier to view that page from the public site and click "Re-process this page".',
834
-	'texte_recuperer_base' => 'Repair the database',
835
-	'texte_reference_mais_redirige' => 'article referenced in your SPIP site, but redirected to another URL.',
836
-	'texte_requetes_echouent' => '<b>When some SQL queries fail
834
+    'texte_recuperer_base' => 'Repair the database',
835
+    'texte_reference_mais_redirige' => 'article referenced in your SPIP site, but redirected to another URL.',
836
+    'texte_requetes_echouent' => '<b>When some SQL queries fail
837 837
   systematically, without apparent reason, it is possible
838 838
   that the database itself
839 839
   is the culprit.</b><p>
@@ -844,87 +844,87 @@  discard block
 block discarded – undo
844 844
   clues as to where the problem lies.</p><p>
845 845
   If the problem persists, contact your 
846 846
   service provider.</p>',
847
-	'texte_selection_langue_principale' => 'You can choose the website’s "primary language". This does not mean that you can only write articles in that language, but it will be used to determine
847
+    'texte_selection_langue_principale' => 'You can choose the website’s "primary language". This does not mean that you can only write articles in that language, but it will be used to determine
848 848
 
849 849
 <ul><li> the default date/time format on the public website,</li>
850 850
 <li> the nature of the typographical engine which will be used by SPIP for rendering text,</li>
851 851
 <li> the language in use in public website’s forms,</li>
852 852
 <li> the default language in use in the admin area.</li></ul>',
853
-	'texte_sous_titre' => 'Subtitle',
854
-	'texte_statistiques_visites' => '(dark bars = Sunday, dark curve: average visits)',
855
-	'texte_statut_attente_validation' => 'awaiting validation',
856
-	'texte_statut_publies' => 'published online',
857
-	'texte_statut_refuses' => 'rejected',
858
-	'texte_suppression_fichiers' => 'Use this command to purge all the files
853
+    'texte_sous_titre' => 'Subtitle',
854
+    'texte_statistiques_visites' => '(dark bars = Sunday, dark curve: average visits)',
855
+    'texte_statut_attente_validation' => 'awaiting validation',
856
+    'texte_statut_publies' => 'published online',
857
+    'texte_statut_refuses' => 'rejected',
858
+    'texte_suppression_fichiers' => 'Use this command to purge all the files
859 859
 in the SPIP cache. This will force recalculation of every page on the site, useful after
860 860
 significant modifications to the site’s graphics or structure.',
861
-	'texte_sur_titre' => 'Lead-in title',
862
-	'texte_table_ok' => ': this table is OK.',
863
-	'texte_tentative_recuperation' => 'Attempting to repair',
864
-	'texte_tenter_reparation' => 'Attempt to repair the database',
865
-	'texte_test_proxy' => 'To test this proxy, enter the address of a website
861
+    'texte_sur_titre' => 'Lead-in title',
862
+    'texte_table_ok' => ': this table is OK.',
863
+    'texte_tentative_recuperation' => 'Attempting to repair',
864
+    'texte_tenter_reparation' => 'Attempt to repair the database',
865
+    'texte_test_proxy' => 'To test this proxy, enter the address of a website
866 866
     for verification.',
867
-	'texte_titre_02' => 'Subject:',
868
-	'texte_titre_obligatoire' => '<b>Title</b> [Required]',
869
-	'texte_travail_article' => '@nom_auteur_modif@ edited this article @date_diff@ minutes ago',
870
-	'texte_travail_collaboratif' => 'If several editors often work on the same article, the system can mark recently "opened" articles in order to avoid multiple simultaneous editing.
867
+    'texte_titre_02' => 'Subject:',
868
+    'texte_titre_obligatoire' => '<b>Title</b> [Required]',
869
+    'texte_travail_article' => '@nom_auteur_modif@ edited this article @date_diff@ minutes ago',
870
+    'texte_travail_collaboratif' => 'If several editors often work on the same article, the system can mark recently "opened" articles in order to avoid multiple simultaneous editing.
871 871
   This option is disabled by default to avoid displaying unnecessary warning
872 872
   messages.',
873
-	'texte_vide' => 'empty',
874
-	'texte_vider_cache' => 'Empty the cache',
875
-	'titre_admin_tech' => 'Technical maintenance',
876
-	'titre_admin_vider' => 'Technical maintenance',
877
-	'titre_ajouter_un_auteur' => 'Add an author',
878
-	'titre_ajouter_un_mot' => 'Add a keyword',
879
-	'titre_cadre_afficher_article' => 'Show the articles:',
880
-	'titre_cadre_afficher_traductions' => 'Display the translation status for these languages:',
881
-	'titre_cadre_ajouter_auteur' => 'ADD AN AUTHOR:',
882
-	'titre_cadre_interieur_rubrique' => 'In section',
883
-	'titre_cadre_numero_auteur' => 'AUTHOR NUMBER',
884
-	'titre_cadre_numero_objet' => '@objet@ NUMBER:',
885
-	'titre_cadre_signature_obligatoire' => '<b>Signature</b> [Required]<br />',
886
-	'titre_config_contenu_notifications' => 'Notifications',
887
-	'titre_config_contenu_prive' => 'In the admin area',
888
-	'titre_config_contenu_public' => 'On the public site',
889
-	'titre_config_fonctions' => 'Site configuration',
890
-	'titre_config_langage' => 'Configure the language',
891
-	'titre_configuration' => 'Site configuration',
892
-	'titre_configurer_preferences' => 'Configure your preferences',
893
-	'titre_configurer_preferences_menus' => 'Settings of your menus preferences',
894
-	'titre_conflit_edition' => 'Conflict while editing',
895
-	'titre_connexion_ldap' => 'Options: <b>Your LDAP connection</b>',
896
-	'titre_groupe_mots' => 'KEYWORD GROUP:',
897
-	'titre_identite_site' => 'Site identity',
898
-	'titre_langue_article' => 'Article language',
899
-	'titre_langue_rubrique' => 'Section language',
900
-	'titre_langue_trad_article' => 'ARTICLE LANGUAGE AND TRANSLATIONS',
901
-	'titre_les_articles' => 'ARTICLES',
902
-	'titre_messagerie_agenda' => 'Messaging system and calendar',
903
-	'titre_naviguer_dans_le_site' => 'Browse the site...',
904
-	'titre_nouvelle_rubrique' => 'New section',
905
-	'titre_numero_rubrique' => 'SECTION NUMBER:',
906
-	'titre_page_articles_edit' => 'Modify: @titre@',
907
-	'titre_page_articles_page' => 'Articles',
908
-	'titre_page_articles_tous' => 'The entire site',
909
-	'titre_page_calendrier' => 'Calendar @nom_mois@ @annee@',
910
-	'titre_page_config_contenu' => 'Site configuration',
911
-	'titre_page_delete_all' => 'total and irreversible deletion',
912
-	'titre_page_recherche' => 'Search results @recherche@',
913
-	'titre_page_statistiques_referers' => 'Statistics (incoming links)',
914
-	'titre_page_upgrade' => 'SPIP upgrade',
915
-	'titre_preference_menus_favoris' => 'Favourites menu',
916
-	'titre_publication_articles_post_dates' => 'Publication of post dated articles',
917
-	'titre_reparation' => 'Repair',
918
-	'titre_suivi_petition' => 'Petitions follow-up',
919
-	'tls_ldap' => 'Transport Layer Security :',
920
-	'trad_article_traduction' => 'All the versions of this article:',
921
-	'trad_delier' => 'Stop linking to these translations',
922
-	'trad_lier' => 'This article is a translation of article number:',
923
-	'trad_new' => 'Write a new translation',
873
+    'texte_vide' => 'empty',
874
+    'texte_vider_cache' => 'Empty the cache',
875
+    'titre_admin_tech' => 'Technical maintenance',
876
+    'titre_admin_vider' => 'Technical maintenance',
877
+    'titre_ajouter_un_auteur' => 'Add an author',
878
+    'titre_ajouter_un_mot' => 'Add a keyword',
879
+    'titre_cadre_afficher_article' => 'Show the articles:',
880
+    'titre_cadre_afficher_traductions' => 'Display the translation status for these languages:',
881
+    'titre_cadre_ajouter_auteur' => 'ADD AN AUTHOR:',
882
+    'titre_cadre_interieur_rubrique' => 'In section',
883
+    'titre_cadre_numero_auteur' => 'AUTHOR NUMBER',
884
+    'titre_cadre_numero_objet' => '@objet@ NUMBER:',
885
+    'titre_cadre_signature_obligatoire' => '<b>Signature</b> [Required]<br />',
886
+    'titre_config_contenu_notifications' => 'Notifications',
887
+    'titre_config_contenu_prive' => 'In the admin area',
888
+    'titre_config_contenu_public' => 'On the public site',
889
+    'titre_config_fonctions' => 'Site configuration',
890
+    'titre_config_langage' => 'Configure the language',
891
+    'titre_configuration' => 'Site configuration',
892
+    'titre_configurer_preferences' => 'Configure your preferences',
893
+    'titre_configurer_preferences_menus' => 'Settings of your menus preferences',
894
+    'titre_conflit_edition' => 'Conflict while editing',
895
+    'titre_connexion_ldap' => 'Options: <b>Your LDAP connection</b>',
896
+    'titre_groupe_mots' => 'KEYWORD GROUP:',
897
+    'titre_identite_site' => 'Site identity',
898
+    'titre_langue_article' => 'Article language',
899
+    'titre_langue_rubrique' => 'Section language',
900
+    'titre_langue_trad_article' => 'ARTICLE LANGUAGE AND TRANSLATIONS',
901
+    'titre_les_articles' => 'ARTICLES',
902
+    'titre_messagerie_agenda' => 'Messaging system and calendar',
903
+    'titre_naviguer_dans_le_site' => 'Browse the site...',
904
+    'titre_nouvelle_rubrique' => 'New section',
905
+    'titre_numero_rubrique' => 'SECTION NUMBER:',
906
+    'titre_page_articles_edit' => 'Modify: @titre@',
907
+    'titre_page_articles_page' => 'Articles',
908
+    'titre_page_articles_tous' => 'The entire site',
909
+    'titre_page_calendrier' => 'Calendar @nom_mois@ @annee@',
910
+    'titre_page_config_contenu' => 'Site configuration',
911
+    'titre_page_delete_all' => 'total and irreversible deletion',
912
+    'titre_page_recherche' => 'Search results @recherche@',
913
+    'titre_page_statistiques_referers' => 'Statistics (incoming links)',
914
+    'titre_page_upgrade' => 'SPIP upgrade',
915
+    'titre_preference_menus_favoris' => 'Favourites menu',
916
+    'titre_publication_articles_post_dates' => 'Publication of post dated articles',
917
+    'titre_reparation' => 'Repair',
918
+    'titre_suivi_petition' => 'Petitions follow-up',
919
+    'tls_ldap' => 'Transport Layer Security :',
920
+    'trad_article_traduction' => 'All the versions of this article:',
921
+    'trad_delier' => 'Stop linking to these translations',
922
+    'trad_lier' => 'This article is a translation of article number:',
923
+    'trad_new' => 'Write a new translation',
924 924
 
925
-	// U
926
-	'utf8_convert_erreur_orig' => 'Error: the character set @charset@ is not supported.',
925
+    // U
926
+    'utf8_convert_erreur_orig' => 'Error: the character set @charset@ is not supported.',
927 927
 
928
-	// V
929
-	'version' => 'Version:'
928
+    // V
929
+    'version' => 'Version:'
930 930
 );
Please login to merge, or discard this patch.
ecrire/public/assembler.php 2 patches
Spacing   +13 added lines, -13 removed lines patch added patch discarded remove patch
@@ -39,7 +39,7 @@  discard block
 block discarded – undo
39 39
 
40 40
 	$GLOBALS['contexte'] = calculer_contexte();
41 41
 	$page = ['contexte_implicite' => calculer_contexte_implicite()];
42
-	$page['contexte_implicite']['cache'] = $fond . preg_replace(
42
+	$page['contexte_implicite']['cache'] = $fond.preg_replace(
43 43
 		',\.[a-zA-Z0-9]*$,',
44 44
 		'',
45 45
 		preg_replace('/[?].*$/', '', $GLOBALS['REQUEST_URI'])
@@ -140,7 +140,7 @@  discard block
 block discarded – undo
140 140
 			if ($page === '') {
141 141
 				$erreur = _T(
142 142
 					'info_erreur_squelette2',
143
-					['fichier' => spip_htmlspecialchars($fond) . '.' . _EXTENSION_SQUELETTES]
143
+					['fichier' => spip_htmlspecialchars($fond).'.'._EXTENSION_SQUELETTES]
144 144
 				);
145 145
 				erreur_squelette($erreur);
146 146
 				// eviter des erreurs strictes ensuite sur $page['cle'] en PHP >= 5.4
@@ -183,7 +183,7 @@  discard block
 block discarded – undo
183 183
 		and !isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])
184 184
 		and !isset($page['entetes']['Last-Modified'])
185 185
 	) {
186
-		$page['entetes']['Last-Modified'] = gmdate('D, d M Y H:i:s', $lastmodified) . ' GMT';
186
+		$page['entetes']['Last-Modified'] = gmdate('D, d M Y H:i:s', $lastmodified).' GMT';
187 187
 	}
188 188
 
189 189
 	// fermer la connexion apres les headers si requete HEAD
@@ -246,7 +246,7 @@  discard block
 block discarded – undo
246 246
 		'spip_version_code' => $GLOBALS['spip_version_code'],
247 247
 	];
248 248
 	if (isset($_SERVER['HTTP_X_FORWARDED_HOST'])) {
249
-		$contexte_implicite['host'] .= '|' . $_SERVER['HTTP_X_FORWARDED_HOST'];
249
+		$contexte_implicite['host'] .= '|'.$_SERVER['HTTP_X_FORWARDED_HOST'];
250 250
 	}
251 251
 
252 252
 	return $contexte_implicite;
@@ -578,7 +578,7 @@  discard block
 block discarded – undo
578 578
 			}
579 579
 		}
580 580
 		if (is_null($id)) {
581
-			$msg = "modeles/$modele : " . _T('zbug_parametres_inclus_incorrects', ['param' => "id/$primary"]);
581
+			$msg = "modeles/$modele : "._T('zbug_parametres_inclus_incorrects', ['param' => "id/$primary"]);
582 582
 			erreur_squelette($msg);
583 583
 			// on passe id=0 au routeur pour tomber sur le modele par defaut et eviter une seconde erreur sur un modele inexistant
584 584
 			$id = 0;
@@ -623,7 +623,7 @@  discard block
 block discarded – undo
623 623
 		}
624 624
 
625 625
 		if (preg_match(',^[a-z0-9_]+$,', $soustype)) {
626
-			if (!trouve_modele($fond = ($type . '_' . $soustype))) {
626
+			if (!trouve_modele($fond = ($type.'_'.$soustype))) {
627 627
 				$fond = '';
628 628
 				$class = $soustype;
629 629
 			}
@@ -638,7 +638,7 @@  discard block
 block discarded – undo
638 638
 
639 639
 		return false;
640 640
 	}
641
-	$fond = 'modeles/' . $fond;
641
+	$fond = 'modeles/'.$fond;
642 642
 	// Creer le contexte
643 643
 	$contexte = $env;
644 644
 	$contexte['dir_racine'] = _DIR_RACINE; # eviter de mixer un cache racine et un cache ecrire (meme si pour l'instant les modeles ne sont pas caches, le resultat etant different il faut que le contexte en tienne compte
@@ -679,7 +679,7 @@  discard block
 block discarded – undo
679 679
 	// sinon, s'il y a un lien, on l'ajoute classiquement
680 680
 	if (
681 681
 		strstr(
682
-			' ' . ($classes = extraire_attribut($retour, 'class')) . ' ',
682
+			' '.($classes = extraire_attribut($retour, 'class')).' ',
683 683
 			'spip_lien_ok'
684 684
 		)
685 685
 	) {
@@ -690,7 +690,7 @@  discard block
 block discarded – undo
690 690
 		);
691 691
 	} else {
692 692
 		if ($lien) {
693
-			$retour = "<a href=\"" . $lien['href'] . "\" class=\"" . $lien['class'] . "\">" . $retour . '</a>';
693
+			$retour = "<a href=\"".$lien['href']."\" class=\"".$lien['class']."\">".$retour.'</a>';
694 694
 		}
695 695
 	}
696 696
 
@@ -713,7 +713,7 @@  discard block
 block discarded – undo
713 713
 		return $page;
714 714
 	}
715 715
 	// eval $page et affecte $res
716
-	include _ROOT_RESTREINT . 'public/evaluer_page.php';
716
+	include _ROOT_RESTREINT.'public/evaluer_page.php';
717 717
 
718 718
 	// Lever un drapeau (global) si le fond utilise #SESSION
719 719
 	// a destination de public/parametrer
@@ -780,16 +780,16 @@  discard block
 block discarded – undo
780 780
 			if (($pos = strpos($head, '<head>')) !== false) {
781 781
 				$head = substr_replace($head, $base, $pos + 6, 0);
782 782
 			} elseif (preg_match(',<head[^>]*>,i', $head, $r)) {
783
-				$head = str_replace($r[0], $r[0] . $base, $head);
783
+				$head = str_replace($r[0], $r[0].$base, $head);
784 784
 			}
785
-			$texte = $head . substr($texte, $poshead);
785
+			$texte = $head.substr($texte, $poshead);
786 786
 		}
787 787
 		if ($href_base) {
788 788
 			// gerer les ancres
789 789
 			$base = $_SERVER['REQUEST_URI'];
790 790
 			// pas de guillemets ni < dans l'URL qu'on insere dans le HTML
791 791
 			if (strpos($base, "'") or strpos($base, '"') or strpos($base, '<')) {
792
-				$base = str_replace(["'",'"','<'], ['%27','%22','%3C'], $base);
792
+				$base = str_replace(["'", '"', '<'], ['%27', '%22', '%3C'], $base);
793 793
 			}
794 794
 			if (strpos($texte, "href='#") !== false) {
795 795
 				$texte = str_replace("href='#", "href='$base#", $texte);
Please login to merge, or discard this patch.
Indentation   +633 added lines, -633 removed lines patch added patch discarded remove patch
@@ -20,178 +20,178 @@  discard block
 block discarded – undo
20 20
  **/
21 21
 
22 22
 if (!defined('_ECRIRE_INC_VERSION')) {
23
-	return;
23
+    return;
24 24
 }
25 25
 
26 26
 // En cas de modification, il faut aussi actualiser la regexp de nettoyer_uri_var() dans inc/utils.php
27 27
 if (!defined('_CONTEXTE_IGNORE_VARIABLES')) {
28
-	define('_CONTEXTE_IGNORE_VARIABLES', '/(^var_|^PHPSESSID$|^fbclid$|^utm_)/');
28
+    define('_CONTEXTE_IGNORE_VARIABLES', '/(^var_|^PHPSESSID$|^fbclid$|^utm_)/');
29 29
 }
30 30
 
31 31
 function assembler($fond, string $connect = '') {
32 32
 
33
-	$chemin_cache = null;
34
-	$lastmodified = null;
35
-	$res = null;
36
-	// flag_preserver est modifie ici, et utilise en globale
37
-	// use_cache sert a informer le bouton d'admin pr savoir s'il met un *
38
-	// contexte est utilise en globale dans le formulaire d'admin
39
-
40
-	$GLOBALS['contexte'] = calculer_contexte();
41
-	$page = ['contexte_implicite' => calculer_contexte_implicite()];
42
-	$page['contexte_implicite']['cache'] = $fond . preg_replace(
43
-		',\.[a-zA-Z0-9]*$,',
44
-		'',
45
-		preg_replace('/[?].*$/', '', $GLOBALS['REQUEST_URI'])
46
-	);
47
-	// Cette fonction est utilisee deux fois
48
-	$cacher = charger_fonction('cacher', 'public', true);
49
-	// Les quatre derniers parametres sont modifies par la fonction:
50
-	// emplacement, validite, et, s'il est valide, contenu & age
51
-	if ($cacher) {
52
-		$res = $cacher($GLOBALS['contexte'], $GLOBALS['use_cache'], $chemin_cache, $page, $lastmodified);
53
-	} else {
54
-		$GLOBALS['use_cache'] = -1;
55
-	}
56
-	// Si un resultat est retourne, c'est un message d'impossibilite
57
-	if ($res) {
58
-		return ['texte' => $res];
59
-	}
60
-
61
-	if (!$chemin_cache || !$lastmodified) {
62
-		$lastmodified = time();
63
-	}
64
-
65
-	$headers_only = ($_SERVER['REQUEST_METHOD'] == 'HEAD');
66
-	$calculer_page = true;
67
-
68
-	// Pour les pages non-dynamiques (indiquees par #CACHE{duree,cache-client})
69
-	// une perennite valide a meme reponse qu'une requete HEAD (par defaut les
70
-	// pages sont dynamiques)
71
-	if (
72
-		isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])
73
-		and (!defined('_VAR_MODE') or !_VAR_MODE)
74
-		and $chemin_cache
75
-		and isset($page['entetes'])
76
-		and isset($page['entetes']['Cache-Control'])
77
-		and strstr($page['entetes']['Cache-Control'], 'max-age=')
78
-		and !strstr($_SERVER['SERVER_SOFTWARE'], 'IIS/')
79
-	) {
80
-		$since = preg_replace(
81
-			'/;.*/',
82
-			'',
83
-			$_SERVER['HTTP_IF_MODIFIED_SINCE']
84
-		);
85
-		$since = str_replace('GMT', '', $since);
86
-		if (trim($since) == gmdate('D, d M Y H:i:s', $lastmodified)) {
87
-			$page['status'] = 304;
88
-			$headers_only = true;
89
-			$calculer_page = false;
90
-		}
91
-	}
92
-
93
-	// Si requete HEAD ou Last-modified compatible, ignorer le texte
94
-	// et pas de content-type (pour contrer le bouton admin de inc-public)
95
-	if (!$calculer_page) {
96
-		$page['texte'] = '';
97
-	} else {
98
-		// si la page est prise dans le cache
99
-		if (!$GLOBALS['use_cache']) {
100
-			// Informer les boutons d'admin du contexte
101
-			// (fourni par urls_decoder_url ci-dessous lors de la mise en cache)
102
-			$GLOBALS['contexte'] = $page['contexte'];
103
-
104
-			// vider les globales url propres qui ne doivent plus etre utilisees en cas
105
-			// d'inversion url => objet
106
-			// plus necessaire si on utilise bien la fonction urls_decoder_url
107
-			#unset($_SERVER['REDIRECT_url_propre']);
108
-			#unset($_ENV['url_propre']);
109
-		} else {
110
-			// Compat ascendante :
111
-			// 1. $contexte est global
112
-			// (a evacuer car urls_decoder_url gere ce probleme ?)
113
-			// et calculer la page
114
-			if (!test_espace_prive()) {
115
-				include_spip('inc/urls');
116
-				[$fond, $GLOBALS['contexte'], $url_redirect] = urls_decoder_url(
117
-					nettoyer_uri(),
118
-					$fond,
119
-					$GLOBALS['contexte'],
120
-					true
121
-				);
122
-			}
123
-			// squelette par defaut
124
-			if (!strlen($fond ?? '')) {
125
-				$fond = 'sommaire';
126
-			}
127
-
128
-			// produire la page : peut mettre a jour $lastmodified
129
-			$produire_page = charger_fonction('produire_page', 'public');
130
-			$page = $produire_page(
131
-				$fond,
132
-				$GLOBALS['contexte'],
133
-				$GLOBALS['use_cache'],
134
-				$chemin_cache,
135
-				null,
136
-				$page,
137
-				$lastmodified,
138
-				$connect
139
-			);
140
-			if ($page === '') {
141
-				$erreur = _T(
142
-					'info_erreur_squelette2',
143
-					['fichier' => spip_htmlspecialchars($fond) . '.' . _EXTENSION_SQUELETTES]
144
-				);
145
-				erreur_squelette($erreur);
146
-				// eviter des erreurs strictes ensuite sur $page['cle'] en PHP >= 5.4
147
-				$page = ['texte' => '', 'erreur' => $erreur];
148
-			}
149
-		}
150
-
151
-		if ($page and $chemin_cache) {
152
-			$page['cache'] = $chemin_cache;
153
-		}
154
-
155
-		auto_content_type($page);
156
-
157
-		$GLOBALS['flag_preserver'] |= headers_sent();
158
-
159
-		// Definir les entetes si ce n'est fait
160
-		if (!$GLOBALS['flag_preserver']) {
161
-			// Si la page est vide, produire l'erreur 404 ou message d'erreur pour les inclusions
162
-			if (
163
-				trim($page['texte']) === ''
164
-				and _VAR_MODE !== 'debug'
165
-				and !isset($page['entetes']['Location']) // cette page realise une redirection, donc pas d'erreur
166
-			) {
167
-				$GLOBALS['contexte']['fond_erreur'] = $fond;
168
-				$page = message_page_indisponible($page, $GLOBALS['contexte']);
169
-			}
170
-			// pas de cache client en mode 'observation'
171
-			if (defined('_VAR_MODE') and _VAR_MODE) {
172
-				$page['entetes']['Cache-Control'] = 'no-cache,must-revalidate';
173
-				$page['entetes']['Pragma'] = 'no-cache';
174
-			}
175
-		}
176
-	}
177
-
178
-	// Entete Last-Modified:
179
-	// eviter d'etre incoherent en envoyant un lastmodified identique
180
-	// a celui qu'on a refuse d'honorer plus haut (cf. #655)
181
-	if (
182
-		$lastmodified
183
-		and !isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])
184
-		and !isset($page['entetes']['Last-Modified'])
185
-	) {
186
-		$page['entetes']['Last-Modified'] = gmdate('D, d M Y H:i:s', $lastmodified) . ' GMT';
187
-	}
188
-
189
-	// fermer la connexion apres les headers si requete HEAD
190
-	if ($headers_only) {
191
-		$page['entetes']['Connection'] = 'close';
192
-	}
193
-
194
-	return $page;
33
+    $chemin_cache = null;
34
+    $lastmodified = null;
35
+    $res = null;
36
+    // flag_preserver est modifie ici, et utilise en globale
37
+    // use_cache sert a informer le bouton d'admin pr savoir s'il met un *
38
+    // contexte est utilise en globale dans le formulaire d'admin
39
+
40
+    $GLOBALS['contexte'] = calculer_contexte();
41
+    $page = ['contexte_implicite' => calculer_contexte_implicite()];
42
+    $page['contexte_implicite']['cache'] = $fond . preg_replace(
43
+        ',\.[a-zA-Z0-9]*$,',
44
+        '',
45
+        preg_replace('/[?].*$/', '', $GLOBALS['REQUEST_URI'])
46
+    );
47
+    // Cette fonction est utilisee deux fois
48
+    $cacher = charger_fonction('cacher', 'public', true);
49
+    // Les quatre derniers parametres sont modifies par la fonction:
50
+    // emplacement, validite, et, s'il est valide, contenu & age
51
+    if ($cacher) {
52
+        $res = $cacher($GLOBALS['contexte'], $GLOBALS['use_cache'], $chemin_cache, $page, $lastmodified);
53
+    } else {
54
+        $GLOBALS['use_cache'] = -1;
55
+    }
56
+    // Si un resultat est retourne, c'est un message d'impossibilite
57
+    if ($res) {
58
+        return ['texte' => $res];
59
+    }
60
+
61
+    if (!$chemin_cache || !$lastmodified) {
62
+        $lastmodified = time();
63
+    }
64
+
65
+    $headers_only = ($_SERVER['REQUEST_METHOD'] == 'HEAD');
66
+    $calculer_page = true;
67
+
68
+    // Pour les pages non-dynamiques (indiquees par #CACHE{duree,cache-client})
69
+    // une perennite valide a meme reponse qu'une requete HEAD (par defaut les
70
+    // pages sont dynamiques)
71
+    if (
72
+        isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])
73
+        and (!defined('_VAR_MODE') or !_VAR_MODE)
74
+        and $chemin_cache
75
+        and isset($page['entetes'])
76
+        and isset($page['entetes']['Cache-Control'])
77
+        and strstr($page['entetes']['Cache-Control'], 'max-age=')
78
+        and !strstr($_SERVER['SERVER_SOFTWARE'], 'IIS/')
79
+    ) {
80
+        $since = preg_replace(
81
+            '/;.*/',
82
+            '',
83
+            $_SERVER['HTTP_IF_MODIFIED_SINCE']
84
+        );
85
+        $since = str_replace('GMT', '', $since);
86
+        if (trim($since) == gmdate('D, d M Y H:i:s', $lastmodified)) {
87
+            $page['status'] = 304;
88
+            $headers_only = true;
89
+            $calculer_page = false;
90
+        }
91
+    }
92
+
93
+    // Si requete HEAD ou Last-modified compatible, ignorer le texte
94
+    // et pas de content-type (pour contrer le bouton admin de inc-public)
95
+    if (!$calculer_page) {
96
+        $page['texte'] = '';
97
+    } else {
98
+        // si la page est prise dans le cache
99
+        if (!$GLOBALS['use_cache']) {
100
+            // Informer les boutons d'admin du contexte
101
+            // (fourni par urls_decoder_url ci-dessous lors de la mise en cache)
102
+            $GLOBALS['contexte'] = $page['contexte'];
103
+
104
+            // vider les globales url propres qui ne doivent plus etre utilisees en cas
105
+            // d'inversion url => objet
106
+            // plus necessaire si on utilise bien la fonction urls_decoder_url
107
+            #unset($_SERVER['REDIRECT_url_propre']);
108
+            #unset($_ENV['url_propre']);
109
+        } else {
110
+            // Compat ascendante :
111
+            // 1. $contexte est global
112
+            // (a evacuer car urls_decoder_url gere ce probleme ?)
113
+            // et calculer la page
114
+            if (!test_espace_prive()) {
115
+                include_spip('inc/urls');
116
+                [$fond, $GLOBALS['contexte'], $url_redirect] = urls_decoder_url(
117
+                    nettoyer_uri(),
118
+                    $fond,
119
+                    $GLOBALS['contexte'],
120
+                    true
121
+                );
122
+            }
123
+            // squelette par defaut
124
+            if (!strlen($fond ?? '')) {
125
+                $fond = 'sommaire';
126
+            }
127
+
128
+            // produire la page : peut mettre a jour $lastmodified
129
+            $produire_page = charger_fonction('produire_page', 'public');
130
+            $page = $produire_page(
131
+                $fond,
132
+                $GLOBALS['contexte'],
133
+                $GLOBALS['use_cache'],
134
+                $chemin_cache,
135
+                null,
136
+                $page,
137
+                $lastmodified,
138
+                $connect
139
+            );
140
+            if ($page === '') {
141
+                $erreur = _T(
142
+                    'info_erreur_squelette2',
143
+                    ['fichier' => spip_htmlspecialchars($fond) . '.' . _EXTENSION_SQUELETTES]
144
+                );
145
+                erreur_squelette($erreur);
146
+                // eviter des erreurs strictes ensuite sur $page['cle'] en PHP >= 5.4
147
+                $page = ['texte' => '', 'erreur' => $erreur];
148
+            }
149
+        }
150
+
151
+        if ($page and $chemin_cache) {
152
+            $page['cache'] = $chemin_cache;
153
+        }
154
+
155
+        auto_content_type($page);
156
+
157
+        $GLOBALS['flag_preserver'] |= headers_sent();
158
+
159
+        // Definir les entetes si ce n'est fait
160
+        if (!$GLOBALS['flag_preserver']) {
161
+            // Si la page est vide, produire l'erreur 404 ou message d'erreur pour les inclusions
162
+            if (
163
+                trim($page['texte']) === ''
164
+                and _VAR_MODE !== 'debug'
165
+                and !isset($page['entetes']['Location']) // cette page realise une redirection, donc pas d'erreur
166
+            ) {
167
+                $GLOBALS['contexte']['fond_erreur'] = $fond;
168
+                $page = message_page_indisponible($page, $GLOBALS['contexte']);
169
+            }
170
+            // pas de cache client en mode 'observation'
171
+            if (defined('_VAR_MODE') and _VAR_MODE) {
172
+                $page['entetes']['Cache-Control'] = 'no-cache,must-revalidate';
173
+                $page['entetes']['Pragma'] = 'no-cache';
174
+            }
175
+        }
176
+    }
177
+
178
+    // Entete Last-Modified:
179
+    // eviter d'etre incoherent en envoyant un lastmodified identique
180
+    // a celui qu'on a refuse d'honorer plus haut (cf. #655)
181
+    if (
182
+        $lastmodified
183
+        and !isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])
184
+        and !isset($page['entetes']['Last-Modified'])
185
+    ) {
186
+        $page['entetes']['Last-Modified'] = gmdate('D, d M Y H:i:s', $lastmodified) . ' GMT';
187
+    }
188
+
189
+    // fermer la connexion apres les headers si requete HEAD
190
+    if ($headers_only) {
191
+        $page['entetes']['Connection'] = 'close';
192
+    }
193
+
194
+    return $page;
195 195
 }
196 196
 
197 197
 /**
@@ -208,19 +208,19 @@  discard block
 block discarded – undo
208 208
  */
209 209
 function calculer_contexte() {
210 210
 
211
-	$contexte = [];
212
-	foreach ($_GET as $var => $val) {
213
-		if (!preg_match(_CONTEXTE_IGNORE_VARIABLES, $var)) {
214
-			$contexte[$var] = $val;
215
-		}
216
-	}
217
-	foreach ($_POST as $var => $val) {
218
-		if (!preg_match(_CONTEXTE_IGNORE_VARIABLES, $var)) {
219
-			$contexte[$var] = $val;
220
-		}
221
-	}
222
-
223
-	return $contexte;
211
+    $contexte = [];
212
+    foreach ($_GET as $var => $val) {
213
+        if (!preg_match(_CONTEXTE_IGNORE_VARIABLES, $var)) {
214
+            $contexte[$var] = $val;
215
+        }
216
+    }
217
+    foreach ($_POST as $var => $val) {
218
+        if (!preg_match(_CONTEXTE_IGNORE_VARIABLES, $var)) {
219
+            $contexte[$var] = $val;
220
+        }
221
+    }
222
+
223
+    return $contexte;
224 224
 }
225 225
 
226 226
 /**
@@ -231,25 +231,25 @@  discard block
 block discarded – undo
231 231
  * @return array
232 232
  */
233 233
 function calculer_contexte_implicite() {
234
-	static $notes = null;
235
-	if (is_null($notes)) {
236
-		$notes = charger_fonction('notes', 'inc', true);
237
-	}
238
-	$contexte_implicite = [
239
-		'squelettes' => $GLOBALS['dossier_squelettes'], // devrait etre 'chemin' => $GLOBALS['path_sig'], ?
240
-		'host' => ($_SERVER['HTTP_HOST'] ?? null),
241
-		'https' => ($_SERVER['HTTPS'] ?? ''),
242
-		'espace' => test_espace_prive(),
243
-		'marqueur' => ($GLOBALS['marqueur'] ?? ''),
244
-		'marqueur_skel' => ($GLOBALS['marqueur_skel'] ?? ''),
245
-		'notes' => $notes ? $notes('', 'contexter_cache') : '',
246
-		'spip_version_code' => $GLOBALS['spip_version_code'],
247
-	];
248
-	if (isset($_SERVER['HTTP_X_FORWARDED_HOST'])) {
249
-		$contexte_implicite['host'] .= '|' . $_SERVER['HTTP_X_FORWARDED_HOST'];
250
-	}
251
-
252
-	return $contexte_implicite;
234
+    static $notes = null;
235
+    if (is_null($notes)) {
236
+        $notes = charger_fonction('notes', 'inc', true);
237
+    }
238
+    $contexte_implicite = [
239
+        'squelettes' => $GLOBALS['dossier_squelettes'], // devrait etre 'chemin' => $GLOBALS['path_sig'], ?
240
+        'host' => ($_SERVER['HTTP_HOST'] ?? null),
241
+        'https' => ($_SERVER['HTTPS'] ?? ''),
242
+        'espace' => test_espace_prive(),
243
+        'marqueur' => ($GLOBALS['marqueur'] ?? ''),
244
+        'marqueur_skel' => ($GLOBALS['marqueur_skel'] ?? ''),
245
+        'notes' => $notes ? $notes('', 'contexter_cache') : '',
246
+        'spip_version_code' => $GLOBALS['spip_version_code'],
247
+    ];
248
+    if (isset($_SERVER['HTTP_X_FORWARDED_HOST'])) {
249
+        $contexte_implicite['host'] .= '|' . $_SERVER['HTTP_X_FORWARDED_HOST'];
250
+    }
251
+
252
+    return $contexte_implicite;
253 253
 }
254 254
 
255 255
 //
@@ -258,55 +258,55 @@  discard block
 block discarded – undo
258 258
 
259 259
 function auto_content_type($page) {
260 260
 
261
-	if (!isset($GLOBALS['flag_preserver'])) {
262
-		$GLOBALS['flag_preserver'] = ($page && preg_match(
263
-			'/header\s*\(\s*.content\-type:/isx',
264
-			$page['texte']
265
-		) || (isset($page['entetes']['Content-Type'])));
266
-	}
261
+    if (!isset($GLOBALS['flag_preserver'])) {
262
+        $GLOBALS['flag_preserver'] = ($page && preg_match(
263
+            '/header\s*\(\s*.content\-type:/isx',
264
+            $page['texte']
265
+        ) || (isset($page['entetes']['Content-Type'])));
266
+    }
267 267
 }
268 268
 
269 269
 function inclure_page($fond, $contexte, string $connect = '') {
270
-	$use_cache = null;
271
-	$chemin_cache = null;
272
-	$lastinclude = null;
273
-	$res = null;
274
-	static $cacher, $produire_page;
275
-
276
-	// enlever le fond de contexte inclus car sinon il prend la main
277
-	// dans les sous inclusions -> boucle infinie d'inclusion identique
278
-	// (cette precaution n'est probablement plus utile)
279
-	unset($contexte['fond']);
280
-	$page = ['contexte_implicite' => calculer_contexte_implicite()];
281
-	$page['contexte_implicite']['cache'] = $fond;
282
-	if (is_null($cacher)) {
283
-		$cacher = charger_fonction('cacher', 'public', true);
284
-	}
285
-	// Les quatre derniers parametres sont modifies par la fonction:
286
-	// emplacement, validite, et, s'il est valide, contenu & age
287
-	if ($cacher) {
288
-		$res = $cacher($contexte, $use_cache, $chemin_cache, $page, $lastinclude);
289
-	} else {
290
-		$use_cache = -1;
291
-	}
292
-	// $res = message d'erreur : on sort de la
293
-	if ($res) {
294
-		return ['texte' => $res];
295
-	}
296
-
297
-	// Si use_cache ne vaut pas 0, la page doit etre calculee
298
-	// produire la page : peut mettre a jour $lastinclude
299
-	// le contexte_cache envoye a cacher() a ete conserve et est passe a produire
300
-	if ($use_cache) {
301
-		if (is_null($produire_page)) {
302
-			$produire_page = charger_fonction('produire_page', 'public');
303
-		}
304
-		$page = $produire_page($fond, $contexte, $use_cache, $chemin_cache, $contexte, $page, $lastinclude, $connect);
305
-	}
306
-	// dans tous les cas, mettre a jour $GLOBALS['lastmodified']
307
-	$GLOBALS['lastmodified'] = max(($GLOBALS['lastmodified'] ?? 0), $lastinclude);
308
-
309
-	return $page;
270
+    $use_cache = null;
271
+    $chemin_cache = null;
272
+    $lastinclude = null;
273
+    $res = null;
274
+    static $cacher, $produire_page;
275
+
276
+    // enlever le fond de contexte inclus car sinon il prend la main
277
+    // dans les sous inclusions -> boucle infinie d'inclusion identique
278
+    // (cette precaution n'est probablement plus utile)
279
+    unset($contexte['fond']);
280
+    $page = ['contexte_implicite' => calculer_contexte_implicite()];
281
+    $page['contexte_implicite']['cache'] = $fond;
282
+    if (is_null($cacher)) {
283
+        $cacher = charger_fonction('cacher', 'public', true);
284
+    }
285
+    // Les quatre derniers parametres sont modifies par la fonction:
286
+    // emplacement, validite, et, s'il est valide, contenu & age
287
+    if ($cacher) {
288
+        $res = $cacher($contexte, $use_cache, $chemin_cache, $page, $lastinclude);
289
+    } else {
290
+        $use_cache = -1;
291
+    }
292
+    // $res = message d'erreur : on sort de la
293
+    if ($res) {
294
+        return ['texte' => $res];
295
+    }
296
+
297
+    // Si use_cache ne vaut pas 0, la page doit etre calculee
298
+    // produire la page : peut mettre a jour $lastinclude
299
+    // le contexte_cache envoye a cacher() a ete conserve et est passe a produire
300
+    if ($use_cache) {
301
+        if (is_null($produire_page)) {
302
+            $produire_page = charger_fonction('produire_page', 'public');
303
+        }
304
+        $page = $produire_page($fond, $contexte, $use_cache, $chemin_cache, $contexte, $page, $lastinclude, $connect);
305
+    }
306
+    // dans tous les cas, mettre a jour $GLOBALS['lastmodified']
307
+    $GLOBALS['lastmodified'] = max(($GLOBALS['lastmodified'] ?? 0), $lastinclude);
308
+
309
+    return $page;
310 310
 }
311 311
 
312 312
 /**
@@ -324,41 +324,41 @@  discard block
 block discarded – undo
324 324
  * @return array
325 325
  */
326 326
 function public_produire_page_dist(
327
-	$fond,
328
-	$contexte,
329
-	$use_cache,
330
-	$chemin_cache,
331
-	$contexte_cache,
332
-	&$page,
333
-	&$lastinclude,
334
-	$connect = ''
327
+    $fond,
328
+    $contexte,
329
+    $use_cache,
330
+    $chemin_cache,
331
+    $contexte_cache,
332
+    &$page,
333
+    &$lastinclude,
334
+    $connect = ''
335 335
 ) {
336
-	static $parametrer, $cacher;
337
-	if (!$parametrer) {
338
-		$parametrer = charger_fonction('parametrer', 'public');
339
-	}
340
-	$page = $parametrer($fond, $contexte, $chemin_cache, $connect);
341
-	// et on l'enregistre sur le disque
342
-	if (
343
-		$chemin_cache
344
-		and $use_cache > -1
345
-		and is_array($page)
346
-		and count($page)
347
-		and isset($page['entetes']['X-Spip-Cache'])
348
-		and $page['entetes']['X-Spip-Cache'] > 0
349
-	) {
350
-		if (is_null($cacher)) {
351
-			$cacher = charger_fonction('cacher', 'public', true);
352
-		}
353
-		$lastinclude = time();
354
-		if ($cacher) {
355
-			$cacher($contexte_cache, $use_cache, $chemin_cache, $page, $lastinclude);
356
-		} else {
357
-			$use_cache = -1;
358
-		}
359
-	}
360
-
361
-	return $page;
336
+    static $parametrer, $cacher;
337
+    if (!$parametrer) {
338
+        $parametrer = charger_fonction('parametrer', 'public');
339
+    }
340
+    $page = $parametrer($fond, $contexte, $chemin_cache, $connect);
341
+    // et on l'enregistre sur le disque
342
+    if (
343
+        $chemin_cache
344
+        and $use_cache > -1
345
+        and is_array($page)
346
+        and count($page)
347
+        and isset($page['entetes']['X-Spip-Cache'])
348
+        and $page['entetes']['X-Spip-Cache'] > 0
349
+    ) {
350
+        if (is_null($cacher)) {
351
+            $cacher = charger_fonction('cacher', 'public', true);
352
+        }
353
+        $lastinclude = time();
354
+        if ($cacher) {
355
+            $cacher($contexte_cache, $use_cache, $chemin_cache, $page, $lastinclude);
356
+        } else {
357
+            $use_cache = -1;
358
+        }
359
+    }
360
+
361
+    return $page;
362 362
 }
363 363
 
364 364
 // Fonction inseree par le compilateur dans le code compile.
@@ -372,14 +372,14 @@  discard block
 block discarded – undo
372 372
 // 4: langue
373 373
 
374 374
 function inserer_balise_dynamique($contexte_exec, $contexte_compil) {
375
-	arguments_balise_dyn_depuis_modele(null, 'reset');
376
-
377
-	if (!is_array($contexte_exec)) {
378
-		echo $contexte_exec;
379
-	} // message d'erreur etc
380
-	else {
381
-		inclure_balise_dynamique($contexte_exec, true, $contexte_compil);
382
-	}
375
+    arguments_balise_dyn_depuis_modele(null, 'reset');
376
+
377
+    if (!is_array($contexte_exec)) {
378
+        echo $contexte_exec;
379
+    } // message d'erreur etc
380
+    else {
381
+        inclure_balise_dynamique($contexte_exec, true, $contexte_compil);
382
+    }
383 383
 }
384 384
 
385 385
 /**
@@ -392,101 +392,101 @@  discard block
 block discarded – undo
392 392
  * @return string|void
393 393
  */
394 394
 function inclure_balise_dynamique($texte, $echo = true, $contexte_compil = []) {
395
-	if (is_array($texte)) {
396
-		[$fond, $delainc, $contexte_inclus] = $texte;
397
-
398
-		// delais a l'ancienne, c'est pratiquement mort
399
-		$d = $GLOBALS['delais'] ?? null;
400
-		$GLOBALS['delais'] = $delainc;
401
-
402
-		$page = recuperer_fond(
403
-			$fond,
404
-			$contexte_inclus,
405
-			['trim' => false, 'raw' => true, 'compil' => $contexte_compil]
406
-		);
407
-
408
-		$texte = $page['texte'];
409
-
410
-		$GLOBALS['delais'] = $d;
411
-		// Faire remonter les entetes
412
-		if (
413
-			isset($page['entetes'])
414
-			and is_array($page['entetes'])
415
-		) {
416
-			// mais pas toutes
417
-			unset($page['entetes']['X-Spip-Cache']);
418
-			unset($page['entetes']['Content-Type']);
419
-			if (isset($GLOBALS['page']) and is_array($GLOBALS['page'])) {
420
-				if (!is_array($GLOBALS['page']['entetes'])) {
421
-					$GLOBALS['page']['entetes'] = [];
422
-				}
423
-				$GLOBALS['page']['entetes'] =
424
-					array_merge($GLOBALS['page']['entetes'], $page['entetes']);
425
-			}
426
-		}
427
-		// _pipelines au pluriel array('nom_pipeline' => $args...) avec une syntaxe permettant plusieurs pipelines
428
-		if (
429
-			isset($page['contexte']['_pipelines'])
430
-			and is_array($page['contexte']['_pipelines'])
431
-			and count($page['contexte']['_pipelines'])
432
-		) {
433
-			foreach ($page['contexte']['_pipelines'] as $pipe => $args) {
434
-				$args['contexte'] = $page['contexte'];
435
-				unset($args['contexte']['_pipelines']); // par precaution, meme si le risque de boucle infinie est a priori nul
436
-				$texte = pipeline(
437
-					$pipe,
438
-					[
439
-						'data' => $texte,
440
-						'args' => $args
441
-					]
442
-				);
443
-			}
444
-		}
445
-	}
446
-
447
-	if (defined('_VAR_MODE') and _VAR_MODE == 'debug') {
448
-		// compatibilite : avant on donnait le numero de ligne ou rien.
449
-		$ligne = intval($contexte_compil[3] ?? $contexte_compil);
450
-		$GLOBALS['debug_objets']['resultat'][$ligne] = $texte;
451
-	}
452
-	if ($echo) {
453
-		echo $texte;
454
-	} else {
455
-		return $texte;
456
-	}
395
+    if (is_array($texte)) {
396
+        [$fond, $delainc, $contexte_inclus] = $texte;
397
+
398
+        // delais a l'ancienne, c'est pratiquement mort
399
+        $d = $GLOBALS['delais'] ?? null;
400
+        $GLOBALS['delais'] = $delainc;
401
+
402
+        $page = recuperer_fond(
403
+            $fond,
404
+            $contexte_inclus,
405
+            ['trim' => false, 'raw' => true, 'compil' => $contexte_compil]
406
+        );
407
+
408
+        $texte = $page['texte'];
409
+
410
+        $GLOBALS['delais'] = $d;
411
+        // Faire remonter les entetes
412
+        if (
413
+            isset($page['entetes'])
414
+            and is_array($page['entetes'])
415
+        ) {
416
+            // mais pas toutes
417
+            unset($page['entetes']['X-Spip-Cache']);
418
+            unset($page['entetes']['Content-Type']);
419
+            if (isset($GLOBALS['page']) and is_array($GLOBALS['page'])) {
420
+                if (!is_array($GLOBALS['page']['entetes'])) {
421
+                    $GLOBALS['page']['entetes'] = [];
422
+                }
423
+                $GLOBALS['page']['entetes'] =
424
+                    array_merge($GLOBALS['page']['entetes'], $page['entetes']);
425
+            }
426
+        }
427
+        // _pipelines au pluriel array('nom_pipeline' => $args...) avec une syntaxe permettant plusieurs pipelines
428
+        if (
429
+            isset($page['contexte']['_pipelines'])
430
+            and is_array($page['contexte']['_pipelines'])
431
+            and count($page['contexte']['_pipelines'])
432
+        ) {
433
+            foreach ($page['contexte']['_pipelines'] as $pipe => $args) {
434
+                $args['contexte'] = $page['contexte'];
435
+                unset($args['contexte']['_pipelines']); // par precaution, meme si le risque de boucle infinie est a priori nul
436
+                $texte = pipeline(
437
+                    $pipe,
438
+                    [
439
+                        'data' => $texte,
440
+                        'args' => $args
441
+                    ]
442
+                );
443
+            }
444
+        }
445
+    }
446
+
447
+    if (defined('_VAR_MODE') and _VAR_MODE == 'debug') {
448
+        // compatibilite : avant on donnait le numero de ligne ou rien.
449
+        $ligne = intval($contexte_compil[3] ?? $contexte_compil);
450
+        $GLOBALS['debug_objets']['resultat'][$ligne] = $texte;
451
+    }
452
+    if ($echo) {
453
+        echo $texte;
454
+    } else {
455
+        return $texte;
456
+    }
457 457
 }
458 458
 
459 459
 function message_page_indisponible($page, $contexte) {
460
-	static $deja = false;
461
-	if ($deja) {
462
-		return 'erreur';
463
-	}
464
-	$codes = [
465
-		'404' => '404 Not Found',
466
-		'503' => '503 Service Unavailable',
467
-	];
468
-
469
-	$contexte['status'] = ($page !== false) ? '404' : '503';
470
-	$contexte['code'] = $codes[$contexte['status']];
471
-	$contexte['fond'] = '404'; // gere les 2 erreurs
472
-	if (!isset($contexte['lang'])) {
473
-		include_spip('inc/lang');
474
-		$contexte['lang'] = $GLOBALS['spip_lang'];
475
-	}
476
-
477
-	$deja = true;
478
-	// passer aux plugins qui peuvent decider d'une page d'erreur plus pertinent
479
-	// ex restriction d'acces => 401
480
-	$contexte = pipeline('page_indisponible', $contexte);
481
-
482
-	// produire la page d'erreur
483
-	$page = inclure_page($contexte['fond'], $contexte);
484
-	if (!$page) {
485
-		$page = inclure_page('404', $contexte);
486
-	}
487
-	$page['status'] = $contexte['status'];
488
-
489
-	return $page;
460
+    static $deja = false;
461
+    if ($deja) {
462
+        return 'erreur';
463
+    }
464
+    $codes = [
465
+        '404' => '404 Not Found',
466
+        '503' => '503 Service Unavailable',
467
+    ];
468
+
469
+    $contexte['status'] = ($page !== false) ? '404' : '503';
470
+    $contexte['code'] = $codes[$contexte['status']];
471
+    $contexte['fond'] = '404'; // gere les 2 erreurs
472
+    if (!isset($contexte['lang'])) {
473
+        include_spip('inc/lang');
474
+        $contexte['lang'] = $GLOBALS['spip_lang'];
475
+    }
476
+
477
+    $deja = true;
478
+    // passer aux plugins qui peuvent decider d'une page d'erreur plus pertinent
479
+    // ex restriction d'acces => 401
480
+    $contexte = pipeline('page_indisponible', $contexte);
481
+
482
+    // produire la page d'erreur
483
+    $page = inclure_page($contexte['fond'], $contexte);
484
+    if (!$page) {
485
+        $page = inclure_page('404', $contexte);
486
+    }
487
+    $page['status'] = $contexte['status'];
488
+
489
+    return $page;
490 490
 }
491 491
 
492 492
 /**
@@ -498,44 +498,44 @@  discard block
 block discarded – undo
498 498
  * @return mixed
499 499
  */
500 500
 function arguments_balise_dyn_depuis_modele($arg, $operation = 'set') {
501
-	static $balise_dyn_appellee_par_modele = null;
502
-	switch ($operation) {
503
-		case 'read':
504
-			return $balise_dyn_appellee_par_modele;
505
-		case 'reset':
506
-			$balise_dyn_appellee_par_modele = null;
507
-			return null;
508
-		case 'set':
509
-		default:
510
-			$balise_dyn_appellee_par_modele = $arg;
511
-			return $arg;
512
-	}
501
+    static $balise_dyn_appellee_par_modele = null;
502
+    switch ($operation) {
503
+        case 'read':
504
+            return $balise_dyn_appellee_par_modele;
505
+        case 'reset':
506
+            $balise_dyn_appellee_par_modele = null;
507
+            return null;
508
+        case 'set':
509
+        default:
510
+            $balise_dyn_appellee_par_modele = $arg;
511
+            return $arg;
512
+    }
513 513
 }
514 514
 
515 515
 // temporairement ici : a mettre dans le futur inc/modeles
516 516
 // creer_contexte_de_modele('left', 'autostart=true', ...) renvoie un array()
517 517
 function creer_contexte_de_modele($args) {
518
-	$contexte = [];
519
-	foreach ($args as $var => $val) {
520
-		if (is_int($var)) { // argument pas formate
521
-			if (in_array($val, ['left', 'right', 'center'])) {
522
-				$var = 'align';
523
-				$contexte[$var] = $val;
524
-			} else {
525
-				$args = explode('=', $val);
526
-				if (count($args) >= 2) { // Flashvars=arg1=machin&arg2=truc genere plus de deux args
527
-				$contexte[trim($args[0])] = substr($val, strlen($args[0]) + 1);
528
-				} else // notation abregee
529
-				{
530
-					$contexte[trim($val)] = trim($val);
531
-				}
532
-			}
533
-		} else {
534
-			$contexte[$var] = $val;
535
-		}
536
-	}
537
-
538
-	return $contexte;
518
+    $contexte = [];
519
+    foreach ($args as $var => $val) {
520
+        if (is_int($var)) { // argument pas formate
521
+            if (in_array($val, ['left', 'right', 'center'])) {
522
+                $var = 'align';
523
+                $contexte[$var] = $val;
524
+            } else {
525
+                $args = explode('=', $val);
526
+                if (count($args) >= 2) { // Flashvars=arg1=machin&arg2=truc genere plus de deux args
527
+                $contexte[trim($args[0])] = substr($val, strlen($args[0]) + 1);
528
+                } else // notation abregee
529
+                {
530
+                    $contexte[trim($val)] = trim($val);
531
+                }
532
+            }
533
+        } else {
534
+            $contexte[$var] = $val;
535
+        }
536
+    }
537
+
538
+    return $contexte;
539 539
 }
540 540
 
541 541
 /**
@@ -550,43 +550,43 @@  discard block
 block discarded – undo
550 550
  * @return string
551 551
  */
552 552
 function styliser_modele($modele, $id, $contexte = null) {
553
-	static $styliseurs = null;
554
-	if (is_null($styliseurs)) {
555
-		$tables_objet = lister_tables_objets_sql();
556
-		foreach ($tables_objet as $table => $desc) {
557
-			if (
558
-				isset($desc['modeles']) and $desc['modeles']
559
-				and isset($desc['modeles_styliser']) and $desc['modeles_styliser']
560
-				and function_exists($desc['modeles_styliser'])
561
-			) {
562
-				$primary = id_table_objet($table);
563
-				foreach ($desc['modeles'] as $m) {
564
-					$styliseurs[$m] = ['primary' => $primary, 'callback' => $desc['modeles_styliser']];
565
-				}
566
-			}
567
-		}
568
-	}
569
-
570
-	if (isset($styliseurs[$modele])) {
571
-		$styliseur = $styliseurs[$modele]['callback'];
572
-		$primary = $styliseurs[$modele]['primary'];
573
-		if (is_null($id) and $contexte) {
574
-			if (isset($contexte['id'])) {
575
-				$id = $contexte['id'];
576
-			} elseif (isset($contexte[$primary])) {
577
-				$id = $contexte[$primary];
578
-			}
579
-		}
580
-		if (is_null($id)) {
581
-			$msg = "modeles/$modele : " . _T('zbug_parametres_inclus_incorrects', ['param' => "id/$primary"]);
582
-			erreur_squelette($msg);
583
-			// on passe id=0 au routeur pour tomber sur le modele par defaut et eviter une seconde erreur sur un modele inexistant
584
-			$id = 0;
585
-		}
586
-		$modele = $styliseur($modele, $id);
587
-	}
588
-
589
-	return $modele;
553
+    static $styliseurs = null;
554
+    if (is_null($styliseurs)) {
555
+        $tables_objet = lister_tables_objets_sql();
556
+        foreach ($tables_objet as $table => $desc) {
557
+            if (
558
+                isset($desc['modeles']) and $desc['modeles']
559
+                and isset($desc['modeles_styliser']) and $desc['modeles_styliser']
560
+                and function_exists($desc['modeles_styliser'])
561
+            ) {
562
+                $primary = id_table_objet($table);
563
+                foreach ($desc['modeles'] as $m) {
564
+                    $styliseurs[$m] = ['primary' => $primary, 'callback' => $desc['modeles_styliser']];
565
+                }
566
+            }
567
+        }
568
+    }
569
+
570
+    if (isset($styliseurs[$modele])) {
571
+        $styliseur = $styliseurs[$modele]['callback'];
572
+        $primary = $styliseurs[$modele]['primary'];
573
+        if (is_null($id) and $contexte) {
574
+            if (isset($contexte['id'])) {
575
+                $id = $contexte['id'];
576
+            } elseif (isset($contexte[$primary])) {
577
+                $id = $contexte[$primary];
578
+            }
579
+        }
580
+        if (is_null($id)) {
581
+            $msg = "modeles/$modele : " . _T('zbug_parametres_inclus_incorrects', ['param' => "id/$primary"]);
582
+            erreur_squelette($msg);
583
+            // on passe id=0 au routeur pour tomber sur le modele par defaut et eviter une seconde erreur sur un modele inexistant
584
+            $id = 0;
585
+        }
586
+        $modele = $styliseur($modele, $id);
587
+    }
588
+
589
+    return $modele;
590 590
 }
591 591
 
592 592
 /**
@@ -603,102 +603,102 @@  discard block
 block discarded – undo
603 603
  */
604 604
 function inclure_modele($type, $id, $params, $lien, string $connect = '', $env = []) {
605 605
 
606
-	static $compteur;
607
-	if (++$compteur > 10) {
608
-		return '';
609
-	} # ne pas boucler indefiniment
610
-
611
-	$type = strtolower($type);
612
-	$type = styliser_modele($type, $id);
613
-
614
-	$fond = $class = '';
615
-
616
-	$params = array_filter(explode('|', $params));
617
-	if ($params) {
618
-		$soustype = current($params);
619
-		$soustype = strtolower(trim($soustype));
620
-		if (in_array($soustype, ['left', 'right', 'center', 'ajax'])) {
621
-			$soustype = next($params);
622
-			$soustype = strtolower($soustype);
623
-		}
624
-
625
-		if (preg_match(',^[a-z0-9_]+$,', $soustype)) {
626
-			if (!trouve_modele($fond = ($type . '_' . $soustype))) {
627
-				$fond = '';
628
-				$class = $soustype;
629
-			}
630
-			// enlever le sous type des params
631
-			$params = array_diff($params, [$soustype]);
632
-		}
633
-	}
634
-
635
-	// Si ca marche pas en precisant le sous-type, prendre le type
636
-	if (!$fond and !trouve_modele($fond = $type)) {
637
-		spip_log("Modele $type introuvable", _LOG_INFO_IMPORTANTE);
638
-
639
-		return false;
640
-	}
641
-	$fond = 'modeles/' . $fond;
642
-	// Creer le contexte
643
-	$contexte = $env;
644
-	$contexte['dir_racine'] = _DIR_RACINE; # eviter de mixer un cache racine et un cache ecrire (meme si pour l'instant les modeles ne sont pas caches, le resultat etant different il faut que le contexte en tienne compte
645
-
646
-	// Le numero du modele est mis dans l'environnement
647
-	// d'une part sous l'identifiant "id"
648
-	// et d'autre part sous l'identifiant de la cle primaire
649
-	// par la fonction id_table_objet,
650
-	// (<article1> =>> article =>> id_article =>> id_article=1)
651
-	$_id = id_table_objet($type);
652
-	$contexte['id'] = $contexte[$_id] = $id;
653
-
654
-	if (isset($class)) {
655
-		$contexte['class'] = $class;
656
-	}
657
-
658
-	// Si un lien a ete passe en parametre, ex: [<modele1>->url] ou [<modele1|title_du_lien{hreflang}->url]
659
-	if ($lien) {
660
-		# un eventuel guillemet (") sera reechappe par #ENV
661
-		$contexte['lien'] = str_replace('&quot;', '"', $lien['href']);
662
-		$contexte['lien_class'] = $lien['class'];
663
-		$contexte['lien_mime'] = $lien['mime'];
664
-		$contexte['lien_title'] = $lien['title'];
665
-		$contexte['lien_hreflang'] = $lien['hreflang'];
666
-	}
667
-
668
-	// Traiter les parametres
669
-	// par exemple : <img1|center>, <emb12|autostart=true> ou <doc1|lang=en>
670
-	$arg_list = creer_contexte_de_modele($params);
671
-	$contexte['args'] = $arg_list; // on passe la liste des arguments du modeles dans une variable args
672
-	$contexte = array_merge($contexte, $arg_list);
673
-
674
-	// Appliquer le modele avec le contexte
675
-	$retour = recuperer_fond($fond, $contexte, [], $connect);
676
-
677
-	// Regarder si le modele tient compte des liens (il *doit* alors indiquer
678
-	// spip_lien_ok dans les classes de son conteneur de premier niveau ;
679
-	// sinon, s'il y a un lien, on l'ajoute classiquement
680
-	if (
681
-		strstr(
682
-			' ' . ($classes = extraire_attribut($retour, 'class')) . ' ',
683
-			'spip_lien_ok'
684
-		)
685
-	) {
686
-		$retour = inserer_attribut(
687
-			$retour,
688
-			'class',
689
-			trim(str_replace(' spip_lien_ok ', ' ', " $classes "))
690
-		);
691
-	} else {
692
-		if ($lien) {
693
-			$retour = "<a href=\"" . $lien['href'] . "\" class=\"" . $lien['class'] . "\">" . $retour . '</a>';
694
-		}
695
-	}
696
-
697
-	$compteur--;
698
-
699
-	return (isset($arg_list['ajax']) and $arg_list['ajax'] == 'ajax')
700
-		? encoder_contexte_ajax($contexte, '', $retour)
701
-		: $retour;
606
+    static $compteur;
607
+    if (++$compteur > 10) {
608
+        return '';
609
+    } # ne pas boucler indefiniment
610
+
611
+    $type = strtolower($type);
612
+    $type = styliser_modele($type, $id);
613
+
614
+    $fond = $class = '';
615
+
616
+    $params = array_filter(explode('|', $params));
617
+    if ($params) {
618
+        $soustype = current($params);
619
+        $soustype = strtolower(trim($soustype));
620
+        if (in_array($soustype, ['left', 'right', 'center', 'ajax'])) {
621
+            $soustype = next($params);
622
+            $soustype = strtolower($soustype);
623
+        }
624
+
625
+        if (preg_match(',^[a-z0-9_]+$,', $soustype)) {
626
+            if (!trouve_modele($fond = ($type . '_' . $soustype))) {
627
+                $fond = '';
628
+                $class = $soustype;
629
+            }
630
+            // enlever le sous type des params
631
+            $params = array_diff($params, [$soustype]);
632
+        }
633
+    }
634
+
635
+    // Si ca marche pas en precisant le sous-type, prendre le type
636
+    if (!$fond and !trouve_modele($fond = $type)) {
637
+        spip_log("Modele $type introuvable", _LOG_INFO_IMPORTANTE);
638
+
639
+        return false;
640
+    }
641
+    $fond = 'modeles/' . $fond;
642
+    // Creer le contexte
643
+    $contexte = $env;
644
+    $contexte['dir_racine'] = _DIR_RACINE; # eviter de mixer un cache racine et un cache ecrire (meme si pour l'instant les modeles ne sont pas caches, le resultat etant different il faut que le contexte en tienne compte
645
+
646
+    // Le numero du modele est mis dans l'environnement
647
+    // d'une part sous l'identifiant "id"
648
+    // et d'autre part sous l'identifiant de la cle primaire
649
+    // par la fonction id_table_objet,
650
+    // (<article1> =>> article =>> id_article =>> id_article=1)
651
+    $_id = id_table_objet($type);
652
+    $contexte['id'] = $contexte[$_id] = $id;
653
+
654
+    if (isset($class)) {
655
+        $contexte['class'] = $class;
656
+    }
657
+
658
+    // Si un lien a ete passe en parametre, ex: [<modele1>->url] ou [<modele1|title_du_lien{hreflang}->url]
659
+    if ($lien) {
660
+        # un eventuel guillemet (") sera reechappe par #ENV
661
+        $contexte['lien'] = str_replace('&quot;', '"', $lien['href']);
662
+        $contexte['lien_class'] = $lien['class'];
663
+        $contexte['lien_mime'] = $lien['mime'];
664
+        $contexte['lien_title'] = $lien['title'];
665
+        $contexte['lien_hreflang'] = $lien['hreflang'];
666
+    }
667
+
668
+    // Traiter les parametres
669
+    // par exemple : <img1|center>, <emb12|autostart=true> ou <doc1|lang=en>
670
+    $arg_list = creer_contexte_de_modele($params);
671
+    $contexte['args'] = $arg_list; // on passe la liste des arguments du modeles dans une variable args
672
+    $contexte = array_merge($contexte, $arg_list);
673
+
674
+    // Appliquer le modele avec le contexte
675
+    $retour = recuperer_fond($fond, $contexte, [], $connect);
676
+
677
+    // Regarder si le modele tient compte des liens (il *doit* alors indiquer
678
+    // spip_lien_ok dans les classes de son conteneur de premier niveau ;
679
+    // sinon, s'il y a un lien, on l'ajoute classiquement
680
+    if (
681
+        strstr(
682
+            ' ' . ($classes = extraire_attribut($retour, 'class')) . ' ',
683
+            'spip_lien_ok'
684
+        )
685
+    ) {
686
+        $retour = inserer_attribut(
687
+            $retour,
688
+            'class',
689
+            trim(str_replace(' spip_lien_ok ', ' ', " $classes "))
690
+        );
691
+    } else {
692
+        if ($lien) {
693
+            $retour = "<a href=\"" . $lien['href'] . "\" class=\"" . $lien['class'] . "\">" . $retour . '</a>';
694
+        }
695
+    }
696
+
697
+    $compteur--;
698
+
699
+    return (isset($arg_list['ajax']) and $arg_list['ajax'] == 'ajax')
700
+        ? encoder_contexte_ajax($contexte, '', $retour)
701
+        : $retour;
702 702
 }
703 703
 
704 704
 // Un inclure_page qui marche aussi pour l'espace prive
@@ -707,105 +707,105 @@  discard block
 block discarded – undo
707 707
 // 	recuperer_fond($fond,$contexte,array('raw'=>true))
708 708
 function evaluer_fond($fond, $contexte = [], string $connect = '') {
709 709
 
710
-	$page = inclure_page($fond, $contexte, $connect);
711
-
712
-	if (!$page) {
713
-		return $page;
714
-	}
715
-	// eval $page et affecte $res
716
-	include _ROOT_RESTREINT . 'public/evaluer_page.php';
717
-
718
-	// Lever un drapeau (global) si le fond utilise #SESSION
719
-	// a destination de public/parametrer
720
-	// pour remonter vers les inclusions appelantes
721
-	// il faut bien lever ce drapeau apres avoir evalue le fond
722
-	// pour ne pas faire descendre le flag vers les inclusions appelees
723
-	if (
724
-		isset($page['invalideurs'])
725
-		and isset($page['invalideurs']['session'])
726
-	) {
727
-		$GLOBALS['cache_utilise_session'] = $page['invalideurs']['session'];
728
-	}
729
-
730
-	return $page;
710
+    $page = inclure_page($fond, $contexte, $connect);
711
+
712
+    if (!$page) {
713
+        return $page;
714
+    }
715
+    // eval $page et affecte $res
716
+    include _ROOT_RESTREINT . 'public/evaluer_page.php';
717
+
718
+    // Lever un drapeau (global) si le fond utilise #SESSION
719
+    // a destination de public/parametrer
720
+    // pour remonter vers les inclusions appelantes
721
+    // il faut bien lever ce drapeau apres avoir evalue le fond
722
+    // pour ne pas faire descendre le flag vers les inclusions appelees
723
+    if (
724
+        isset($page['invalideurs'])
725
+        and isset($page['invalideurs']['session'])
726
+    ) {
727
+        $GLOBALS['cache_utilise_session'] = $page['invalideurs']['session'];
728
+    }
729
+
730
+    return $page;
731 731
 }
732 732
 
733 733
 
734 734
 function page_base_href(&$texte) {
735
-	static $set_html_base = null;
736
-	if (is_null($set_html_base)) {
737
-		if (!defined('_SET_HTML_BASE')) {
738
-			// si la profondeur est superieure a 1
739
-			// est que ce n'est pas une url page ni une url action
740
-			// activer par defaut
741
-		$set_html_base = ((
742
-				$GLOBALS['profondeur_url'] >= (_DIR_RESTREINT ? 1 : 2)
743
-				and _request(_SPIP_PAGE) !== 'login'
744
-				and !_request('action')) ? true : false);
745
-		} else {
746
-			$set_html_base = _SET_HTML_BASE;
747
-		}
748
-	}
749
-
750
-	if (
751
-		$set_html_base
752
-		and isset($GLOBALS['html']) and $GLOBALS['html']
753
-		and $GLOBALS['profondeur_url'] > 0
754
-		and ($poshead = strpos($texte, '</head>')) !== false
755
-	) {
756
-		$head = substr($texte, 0, $poshead);
757
-		$insert = false;
758
-		$href_base = false;
759
-		if (strpos($head, '<base') === false) {
760
-			$insert = true;
761
-		} else {
762
-			// si aucun <base ...> n'a de href il faut en inserer un
763
-			// sinon juste re-ecrire les ancres si besoin
764
-			$insert = true;
765
-			include_spip('inc/filtres');
766
-			$bases = extraire_balises($head, 'base');
767
-			foreach ($bases as $base) {
768
-				if ($href_base = extraire_attribut($base, 'href')) {
769
-					$insert = false;
770
-					break;
771
-				}
772
-			}
773
-		}
774
-
775
-		if ($insert) {
776
-			include_spip('inc/filtres_mini');
777
-			// ajouter un base qui reglera tous les liens relatifs
778
-			$href_base = url_absolue('./');
779
-			$base = "\n<base href=\"$href_base\" />";
780
-			if (($pos = strpos($head, '<head>')) !== false) {
781
-				$head = substr_replace($head, $base, $pos + 6, 0);
782
-			} elseif (preg_match(',<head[^>]*>,i', $head, $r)) {
783
-				$head = str_replace($r[0], $r[0] . $base, $head);
784
-			}
785
-			$texte = $head . substr($texte, $poshead);
786
-		}
787
-		if ($href_base) {
788
-			// gerer les ancres
789
-			$base = $_SERVER['REQUEST_URI'];
790
-			// pas de guillemets ni < dans l'URL qu'on insere dans le HTML
791
-			if (strpos($base, "'") or strpos($base, '"') or strpos($base, '<')) {
792
-				$base = str_replace(["'",'"','<'], ['%27','%22','%3C'], $base);
793
-			}
794
-			if (strpos($texte, "href='#") !== false) {
795
-				$texte = str_replace("href='#", "href='$base#", $texte);
796
-			}
797
-			if (strpos($texte, 'href="#') !== false) {
798
-				$texte = str_replace('href="#', "href=\"$base#", $texte);
799
-			}
800
-		}
801
-	}
735
+    static $set_html_base = null;
736
+    if (is_null($set_html_base)) {
737
+        if (!defined('_SET_HTML_BASE')) {
738
+            // si la profondeur est superieure a 1
739
+            // est que ce n'est pas une url page ni une url action
740
+            // activer par defaut
741
+        $set_html_base = ((
742
+                $GLOBALS['profondeur_url'] >= (_DIR_RESTREINT ? 1 : 2)
743
+                and _request(_SPIP_PAGE) !== 'login'
744
+                and !_request('action')) ? true : false);
745
+        } else {
746
+            $set_html_base = _SET_HTML_BASE;
747
+        }
748
+    }
749
+
750
+    if (
751
+        $set_html_base
752
+        and isset($GLOBALS['html']) and $GLOBALS['html']
753
+        and $GLOBALS['profondeur_url'] > 0
754
+        and ($poshead = strpos($texte, '</head>')) !== false
755
+    ) {
756
+        $head = substr($texte, 0, $poshead);
757
+        $insert = false;
758
+        $href_base = false;
759
+        if (strpos($head, '<base') === false) {
760
+            $insert = true;
761
+        } else {
762
+            // si aucun <base ...> n'a de href il faut en inserer un
763
+            // sinon juste re-ecrire les ancres si besoin
764
+            $insert = true;
765
+            include_spip('inc/filtres');
766
+            $bases = extraire_balises($head, 'base');
767
+            foreach ($bases as $base) {
768
+                if ($href_base = extraire_attribut($base, 'href')) {
769
+                    $insert = false;
770
+                    break;
771
+                }
772
+            }
773
+        }
774
+
775
+        if ($insert) {
776
+            include_spip('inc/filtres_mini');
777
+            // ajouter un base qui reglera tous les liens relatifs
778
+            $href_base = url_absolue('./');
779
+            $base = "\n<base href=\"$href_base\" />";
780
+            if (($pos = strpos($head, '<head>')) !== false) {
781
+                $head = substr_replace($head, $base, $pos + 6, 0);
782
+            } elseif (preg_match(',<head[^>]*>,i', $head, $r)) {
783
+                $head = str_replace($r[0], $r[0] . $base, $head);
784
+            }
785
+            $texte = $head . substr($texte, $poshead);
786
+        }
787
+        if ($href_base) {
788
+            // gerer les ancres
789
+            $base = $_SERVER['REQUEST_URI'];
790
+            // pas de guillemets ni < dans l'URL qu'on insere dans le HTML
791
+            if (strpos($base, "'") or strpos($base, '"') or strpos($base, '<')) {
792
+                $base = str_replace(["'",'"','<'], ['%27','%22','%3C'], $base);
793
+            }
794
+            if (strpos($texte, "href='#") !== false) {
795
+                $texte = str_replace("href='#", "href='$base#", $texte);
796
+            }
797
+            if (strpos($texte, 'href="#') !== false) {
798
+                $texte = str_replace('href="#', "href=\"$base#", $texte);
799
+            }
800
+        }
801
+    }
802 802
 }
803 803
 
804 804
 
805 805
 // Envoyer les entetes, en retenant ceux qui sont a usage interne
806 806
 // et demarrent par X-Spip-...
807 807
 function envoyer_entetes($entetes) {
808
-	foreach ($entetes as $k => $v) { #	if (strncmp($k, 'X-Spip-', 7))
809
-	@header(strlen($v) ? "$k: $v" : $k);
810
-	}
808
+    foreach ($entetes as $k => $v) { #	if (strncmp($k, 'X-Spip-', 7))
809
+    @header(strlen($v) ? "$k: $v" : $k);
810
+    }
811 811
 }
Please login to merge, or discard this patch.
ecrire/inc/auth.php 2 patches
Indentation   +453 added lines, -453 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('base/abstract_sql');
@@ -35,33 +35,33 @@  discard block
 block discarded – undo
35 35
  *  - une chaîne vide si autorisation à pénétrer dans l'espace privé.
36 36
  */
37 37
 function inc_auth_dist() {
38
-	$row = auth_mode();
38
+    $row = auth_mode();
39 39
 
40
-	if ($row) {
41
-		return auth_init_droits($row);
42
-	}
40
+    if ($row) {
41
+        return auth_init_droits($row);
42
+    }
43 43
 
44
-	if (!$GLOBALS['connect_login']) {
45
-		return auth_a_loger();
46
-	}
44
+    if (!$GLOBALS['connect_login']) {
45
+        return auth_a_loger();
46
+    }
47 47
 
48
-	// Cas ou l'auteur a ete identifie mais on n'a pas d'info sur lui
49
-	// C'est soit parce que la base est inutilisable,
50
-	// soit parce que la table des auteurs a changee (restauration etc)
51
-	// Pas la peine d'insister.
52
-	// Renvoyer le nom fautif et une URL de remise a zero
48
+    // Cas ou l'auteur a ete identifie mais on n'a pas d'info sur lui
49
+    // C'est soit parce que la base est inutilisable,
50
+    // soit parce que la table des auteurs a changee (restauration etc)
51
+    // Pas la peine d'insister.
52
+    // Renvoyer le nom fautif et une URL de remise a zero
53 53
 
54
-	if (spip_connect()) {
55
-		return [
56
-			'login' => $GLOBALS['connect_login'],
57
-			'site' => generer_url_public('', 'action=logout&amp;logout=prive')
58
-		];
59
-	}
54
+    if (spip_connect()) {
55
+        return [
56
+            'login' => $GLOBALS['connect_login'],
57
+            'site' => generer_url_public('', 'action=logout&amp;logout=prive')
58
+        ];
59
+    }
60 60
 
61
-	$n = intval(sql_errno());
62
-	spip_log("Erreur base de donnees $n " . sql_error());
61
+    $n = intval(sql_errno());
62
+    spip_log("Erreur base de donnees $n " . sql_error());
63 63
 
64
-	return $n ?: 1;
64
+    return $n ?: 1;
65 65
 }
66 66
 
67 67
 /**
@@ -71,22 +71,22 @@  discard block
 block discarded – undo
71 71
  */
72 72
 function auth_controler_password_auteur_connecte(string $password): bool {
73 73
 
74
-	if (
75
-		empty($GLOBALS['visiteur_session']['id_auteur'])
76
-		or empty($GLOBALS['visiteur_session']['login'])
77
-	) {
78
-		return false;
79
-	}
80
-
81
-	$auth = auth_identifier_login($GLOBALS['visiteur_session']['login'], $password, '', true);
82
-	if (
83
-		is_array($auth)
84
-		and $auth['id_auteur'] == $GLOBALS['visiteur_session']['id_auteur']
85
-	) {
86
-		return true;
87
-	}
88
-
89
-	return false;
74
+    if (
75
+        empty($GLOBALS['visiteur_session']['id_auteur'])
76
+        or empty($GLOBALS['visiteur_session']['login'])
77
+    ) {
78
+        return false;
79
+    }
80
+
81
+    $auth = auth_identifier_login($GLOBALS['visiteur_session']['login'], $password, '', true);
82
+    if (
83
+        is_array($auth)
84
+        and $auth['id_auteur'] == $GLOBALS['visiteur_session']['id_auteur']
85
+    ) {
86
+        return true;
87
+    }
88
+
89
+    return false;
90 90
 }
91 91
 
92 92
 /**
@@ -98,47 +98,47 @@  discard block
 block discarded – undo
98 98
  * @return array|string
99 99
  */
100 100
 function auth_echec($raison) {
101
-	include_spip('inc/minipres');
102
-	include_spip('inc/headers');
103
-	// pas authentifie. Pourquoi ?
104
-	if (is_string($raison)) {
105
-		// redirection vers une page d'authentification
106
-		// on ne revient pas de cette fonction
107
-		// sauf si pb de header
108
-		$raison = redirige_formulaire($raison);
109
-	} elseif (is_int($raison)) {
110
-		// erreur SQL a afficher
111
-		$raison = minipres(
112
-			_T('info_travaux_titre'),
113
-			_T('titre_probleme_technique') . '<p><tt>' . sql_errno() . ' ' . sql_error() . '</tt></p>'
114
-		);
115
-	} elseif (@$raison['statut']) {
116
-		// un simple visiteur n'a pas acces a l'espace prive
117
-		spip_log('connexion refusee a ' . @$raison['id_auteur']);
118
-		$est_connecte = (!empty($GLOBALS['visiteur_session']['login']) and !empty($GLOBALS['visiteur_session']['statut'])); // idem test balise #URL_LOGOUT
119
-		$raison = minipres(
120
-			_T('avis_erreur_connexion'),
121
-			_T('avis_erreur_visiteur')
122
-				// Lien vers le site public
123
-				. '<br /><a href="' . url_de_base() . '">' . _T('login_retour_public') . '</a>'
124
-				// Si la personne est connectée, lien de déconnexion ramenant vers la page de login
125
-				. ($est_connecte ? ' | <a href="' . generer_url_public('', 'action=logout&amp;logout=prive') . '">' . _T('icone_deconnecter') . '</a>' : '')
126
-		);
127
-	} else {
128
-		// auteur en fin de droits ...
129
-		$h = $raison['site'];
130
-		$raison = minipres(
131
-			_T('avis_erreur_connexion'),
132
-			'<br /><br /><p>'
133
-			. _T('texte_inc_auth_1', ['auth_login' => $raison['login']])
134
-			. " <a href='$h'>"
135
-			. _T('texte_inc_auth_2')
136
-			. '</a>'
137
-			. _T('texte_inc_auth_3')
138
-		);
139
-	}
140
-
141
-	return $raison;
101
+    include_spip('inc/minipres');
102
+    include_spip('inc/headers');
103
+    // pas authentifie. Pourquoi ?
104
+    if (is_string($raison)) {
105
+        // redirection vers une page d'authentification
106
+        // on ne revient pas de cette fonction
107
+        // sauf si pb de header
108
+        $raison = redirige_formulaire($raison);
109
+    } elseif (is_int($raison)) {
110
+        // erreur SQL a afficher
111
+        $raison = minipres(
112
+            _T('info_travaux_titre'),
113
+            _T('titre_probleme_technique') . '<p><tt>' . sql_errno() . ' ' . sql_error() . '</tt></p>'
114
+        );
115
+    } elseif (@$raison['statut']) {
116
+        // un simple visiteur n'a pas acces a l'espace prive
117
+        spip_log('connexion refusee a ' . @$raison['id_auteur']);
118
+        $est_connecte = (!empty($GLOBALS['visiteur_session']['login']) and !empty($GLOBALS['visiteur_session']['statut'])); // idem test balise #URL_LOGOUT
119
+        $raison = minipres(
120
+            _T('avis_erreur_connexion'),
121
+            _T('avis_erreur_visiteur')
122
+                // Lien vers le site public
123
+                . '<br /><a href="' . url_de_base() . '">' . _T('login_retour_public') . '</a>'
124
+                // Si la personne est connectée, lien de déconnexion ramenant vers la page de login
125
+                . ($est_connecte ? ' | <a href="' . generer_url_public('', 'action=logout&amp;logout=prive') . '">' . _T('icone_deconnecter') . '</a>' : '')
126
+        );
127
+    } else {
128
+        // auteur en fin de droits ...
129
+        $h = $raison['site'];
130
+        $raison = minipres(
131
+            _T('avis_erreur_connexion'),
132
+            '<br /><br /><p>'
133
+            . _T('texte_inc_auth_1', ['auth_login' => $raison['login']])
134
+            . " <a href='$h'>"
135
+            . _T('texte_inc_auth_2')
136
+            . '</a>'
137
+            . _T('texte_inc_auth_3')
138
+        );
139
+    }
140
+
141
+    return $raison;
142 142
 }
143 143
 
144 144
 /**
@@ -148,81 +148,81 @@  discard block
 block discarded – undo
148 148
  * @return array|bool|string
149 149
  */
150 150
 function auth_mode() {
151
-	//
152
-	// Initialiser variables (eviter hacks par URL)
153
-	//
154
-	$GLOBALS['connect_login'] = '';
155
-	$id_auteur = null;
156
-	$GLOBALS['auth_can_disconnect'] = false;
157
-
158
-	//
159
-	// Recuperer les donnees d'identification
160
-	//
161
-	include_spip('inc/session');
162
-	// Session valide en cours ?
163
-	if (isset($_COOKIE['spip_session'])) {
164
-		$session = charger_fonction('session', 'inc');
165
-		if (
166
-			$id_auteur = $session()
167
-			or $id_auteur === 0 // reprise sur restauration
168
-		) {
169
-			$GLOBALS['auth_can_disconnect'] = true;
170
-			$GLOBALS['connect_login'] = session_get('login');
171
-		} else {
172
-			unset($_COOKIE['spip_session']);
173
-		}
174
-	}
175
-
176
-	// Essayer auth http si significatif
177
-	// (ignorer les login d'intranet independants de spip)
178
-	if (!$GLOBALS['ignore_auth_http']) {
179
-		if (
180
-			(isset($_SERVER['PHP_AUTH_USER']) and isset($_SERVER['PHP_AUTH_PW'])
181
-				and $r = lire_php_auth($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']))
182
-			or
183
-			// Si auth http differtente de basic, PHP_AUTH_PW
184
-			// est indisponible mais tentons quand meme pour
185
-			// autocreation via LDAP
186
-			(isset($_SERVER['REMOTE_USER'])
187
-				and $r = lire_php_auth($_SERVER['PHP_AUTH_USER'] = $_SERVER['REMOTE_USER'], ''))
188
-		) {
189
-			if (!$id_auteur) {
190
-				$_SERVER['PHP_AUTH_PW'] = '';
191
-				$GLOBALS['auth_can_disconnect'] = true;
192
-				$GLOBALS['visiteur_session'] = $r;
193
-				$GLOBALS['connect_login'] = session_get('login');
194
-				$id_auteur = $r['id_auteur'];
195
-			} else {
196
-				// cas de la session en plus de PHP_AUTH
197
-				/*				  if ($id_auteur != $r['id_auteur']){
151
+    //
152
+    // Initialiser variables (eviter hacks par URL)
153
+    //
154
+    $GLOBALS['connect_login'] = '';
155
+    $id_auteur = null;
156
+    $GLOBALS['auth_can_disconnect'] = false;
157
+
158
+    //
159
+    // Recuperer les donnees d'identification
160
+    //
161
+    include_spip('inc/session');
162
+    // Session valide en cours ?
163
+    if (isset($_COOKIE['spip_session'])) {
164
+        $session = charger_fonction('session', 'inc');
165
+        if (
166
+            $id_auteur = $session()
167
+            or $id_auteur === 0 // reprise sur restauration
168
+        ) {
169
+            $GLOBALS['auth_can_disconnect'] = true;
170
+            $GLOBALS['connect_login'] = session_get('login');
171
+        } else {
172
+            unset($_COOKIE['spip_session']);
173
+        }
174
+    }
175
+
176
+    // Essayer auth http si significatif
177
+    // (ignorer les login d'intranet independants de spip)
178
+    if (!$GLOBALS['ignore_auth_http']) {
179
+        if (
180
+            (isset($_SERVER['PHP_AUTH_USER']) and isset($_SERVER['PHP_AUTH_PW'])
181
+                and $r = lire_php_auth($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']))
182
+            or
183
+            // Si auth http differtente de basic, PHP_AUTH_PW
184
+            // est indisponible mais tentons quand meme pour
185
+            // autocreation via LDAP
186
+            (isset($_SERVER['REMOTE_USER'])
187
+                and $r = lire_php_auth($_SERVER['PHP_AUTH_USER'] = $_SERVER['REMOTE_USER'], ''))
188
+        ) {
189
+            if (!$id_auteur) {
190
+                $_SERVER['PHP_AUTH_PW'] = '';
191
+                $GLOBALS['auth_can_disconnect'] = true;
192
+                $GLOBALS['visiteur_session'] = $r;
193
+                $GLOBALS['connect_login'] = session_get('login');
194
+                $id_auteur = $r['id_auteur'];
195
+            } else {
196
+                // cas de la session en plus de PHP_AUTH
197
+                /*				  if ($id_auteur != $r['id_auteur']){
198 198
 					spip_log("vol de session $id_auteur" . join(', ', $r));
199 199
 				unset($_COOKIE['spip_session']);
200 200
 				$id_auteur = '';
201 201
 				} */
202
-			}
203
-		} else {
204
-			// Authentification .htaccess old style, car .htaccess semble
205
-			// souvent definir *aussi* PHP_AUTH_USER et PHP_AUTH_PW
206
-			if (isset($_SERVER['REMOTE_USER'])) {
207
-				$GLOBALS['connect_login'] = $_SERVER['REMOTE_USER'];
208
-			}
209
-		}
210
-	}
211
-
212
-	$where = (is_numeric($id_auteur)
213
-		/*AND $id_auteur>0*/ // reprise lors des restaurations
214
-	) ?
215
-		"id_auteur=$id_auteur" :
216
-		(!strlen($GLOBALS['connect_login']) ? '' : 'login=' . sql_quote($GLOBALS['connect_login'], '', 'text'));
217
-
218
-	if (!$where) {
219
-		return '';
220
-	}
221
-
222
-	// Trouver les autres infos dans la table auteurs.
223
-	// le champ 'quand' est utilise par l'agenda
224
-
225
-	return sql_fetsel('*, en_ligne AS quand', 'spip_auteurs', "$where AND statut!='5poubelle'");
202
+            }
203
+        } else {
204
+            // Authentification .htaccess old style, car .htaccess semble
205
+            // souvent definir *aussi* PHP_AUTH_USER et PHP_AUTH_PW
206
+            if (isset($_SERVER['REMOTE_USER'])) {
207
+                $GLOBALS['connect_login'] = $_SERVER['REMOTE_USER'];
208
+            }
209
+        }
210
+    }
211
+
212
+    $where = (is_numeric($id_auteur)
213
+        /*AND $id_auteur>0*/ // reprise lors des restaurations
214
+    ) ?
215
+        "id_auteur=$id_auteur" :
216
+        (!strlen($GLOBALS['connect_login']) ? '' : 'login=' . sql_quote($GLOBALS['connect_login'], '', 'text'));
217
+
218
+    if (!$where) {
219
+        return '';
220
+    }
221
+
222
+    // Trouver les autres infos dans la table auteurs.
223
+    // le champ 'quand' est utilise par l'agenda
224
+
225
+    return sql_fetsel('*, en_ligne AS quand', 'spip_auteurs', "$where AND statut!='5poubelle'");
226 226
 }
227 227
 
228 228
 /**
@@ -240,85 +240,85 @@  discard block
 block discarded – undo
240 240
  */
241 241
 function auth_init_droits($row) {
242 242
 
243
-	include_spip('inc/autoriser');
244
-	if (!autoriser('loger', '', 0, $row)) {
245
-		return false;
246
-	}
247
-
248
-
249
-	if ($row['statut'] == 'nouveau') {
250
-		include_spip('action/inscrire_auteur');
251
-		$row = confirmer_statut_inscription($row);
252
-	}
253
-
254
-	$GLOBALS['connect_id_auteur'] = $row['id_auteur'];
255
-	$GLOBALS['connect_login'] = $row['login'];
256
-	$GLOBALS['connect_statut'] = $row['statut'];
257
-
258
-	$GLOBALS['visiteur_session'] = array_merge((array)$GLOBALS['visiteur_session'], $row);
259
-
260
-	// au cas ou : ne pas memoriser les champs sensibles
261
-	unset($GLOBALS['visiteur_session']['pass']);
262
-	unset($GLOBALS['visiteur_session']['htpass']);
263
-	unset($GLOBALS['visiteur_session']['alea_actuel']);
264
-	unset($GLOBALS['visiteur_session']['alea_futur']);
265
-	unset($GLOBALS['visiteur_session']['ldap_password']);
266
-
267
-	// creer la session au besoin
268
-	if (!isset($_COOKIE['spip_session'])) {
269
-		$session = charger_fonction('session', 'inc');
270
-		$spip_session = $session($row);
271
-	}
272
-
273
-	// reinjecter les preferences_auteur apres le reset de spip_session
274
-	// car utilisees au retour par auth_loger()
275
-	$r = @unserialize($row['prefs']);
276
-	$GLOBALS['visiteur_session']['prefs'] = ($r ?: []);
277
-	// si prefs pas definies, les definir par defaut
278
-	if (!isset($GLOBALS['visiteur_session']['prefs']['couleur'])) {
279
-		$GLOBALS['visiteur_session']['prefs']['couleur'] = 2;
280
-		$GLOBALS['visiteur_session']['prefs']['display'] = 2;
281
-		$GLOBALS['visiteur_session']['prefs']['display_navigation'] = 'navigation_avec_icones';
282
-	}
283
-
284
-	$GLOBALS['visiteur_session'] = pipeline(
285
-		'preparer_visiteur_session',
286
-		['args' => ['row' => $row],
287
-		'data' => $GLOBALS['visiteur_session']]
288
-	);
289
-
290
-	// Etablir les droits selon le codage attendu
291
-	// dans ecrire/index.php ecrire/prive.php
292
-
293
-	// Pas autorise a acceder a ecrire ? renvoyer le tableau
294
-	// A noter : le premier appel a autoriser() a le bon gout
295
-	// d'initialiser $GLOBALS['visiteur_session']['restreint'],
296
-	// qui ne figure pas dans le fichier de session
297
-
298
-	if (!autoriser('ecrire')) {
299
-		return $row;
300
-	}
301
-
302
-	// autoriser('ecrire') ne laisse passer que les Admin et les Redac
303
-
304
-	auth_trace($row);
305
-
306
-	// Administrateurs
307
-	if (in_array($GLOBALS['connect_statut'], explode(',', _STATUT_AUTEUR_RUBRIQUE))) {
308
-		if (
309
-			isset($GLOBALS['visiteur_session']['restreint'])
310
-			and is_array($GLOBALS['visiteur_session']['restreint'])
311
-		) {
312
-			$GLOBALS['connect_id_rubrique'] = $GLOBALS['visiteur_session']['restreint'];
313
-		}
314
-		if ($GLOBALS['connect_statut'] == '0minirezo') {
315
-			$GLOBALS['connect_toutes_rubriques'] = !$GLOBALS['connect_id_rubrique'];
316
-		}
317
-	}
318
-
319
-	// Pour les redacteurs, inc_version a fait l'initialisation minimale
320
-
321
-	return ''; // i.e. pas de pb.
243
+    include_spip('inc/autoriser');
244
+    if (!autoriser('loger', '', 0, $row)) {
245
+        return false;
246
+    }
247
+
248
+
249
+    if ($row['statut'] == 'nouveau') {
250
+        include_spip('action/inscrire_auteur');
251
+        $row = confirmer_statut_inscription($row);
252
+    }
253
+
254
+    $GLOBALS['connect_id_auteur'] = $row['id_auteur'];
255
+    $GLOBALS['connect_login'] = $row['login'];
256
+    $GLOBALS['connect_statut'] = $row['statut'];
257
+
258
+    $GLOBALS['visiteur_session'] = array_merge((array)$GLOBALS['visiteur_session'], $row);
259
+
260
+    // au cas ou : ne pas memoriser les champs sensibles
261
+    unset($GLOBALS['visiteur_session']['pass']);
262
+    unset($GLOBALS['visiteur_session']['htpass']);
263
+    unset($GLOBALS['visiteur_session']['alea_actuel']);
264
+    unset($GLOBALS['visiteur_session']['alea_futur']);
265
+    unset($GLOBALS['visiteur_session']['ldap_password']);
266
+
267
+    // creer la session au besoin
268
+    if (!isset($_COOKIE['spip_session'])) {
269
+        $session = charger_fonction('session', 'inc');
270
+        $spip_session = $session($row);
271
+    }
272
+
273
+    // reinjecter les preferences_auteur apres le reset de spip_session
274
+    // car utilisees au retour par auth_loger()
275
+    $r = @unserialize($row['prefs']);
276
+    $GLOBALS['visiteur_session']['prefs'] = ($r ?: []);
277
+    // si prefs pas definies, les definir par defaut
278
+    if (!isset($GLOBALS['visiteur_session']['prefs']['couleur'])) {
279
+        $GLOBALS['visiteur_session']['prefs']['couleur'] = 2;
280
+        $GLOBALS['visiteur_session']['prefs']['display'] = 2;
281
+        $GLOBALS['visiteur_session']['prefs']['display_navigation'] = 'navigation_avec_icones';
282
+    }
283
+
284
+    $GLOBALS['visiteur_session'] = pipeline(
285
+        'preparer_visiteur_session',
286
+        ['args' => ['row' => $row],
287
+        'data' => $GLOBALS['visiteur_session']]
288
+    );
289
+
290
+    // Etablir les droits selon le codage attendu
291
+    // dans ecrire/index.php ecrire/prive.php
292
+
293
+    // Pas autorise a acceder a ecrire ? renvoyer le tableau
294
+    // A noter : le premier appel a autoriser() a le bon gout
295
+    // d'initialiser $GLOBALS['visiteur_session']['restreint'],
296
+    // qui ne figure pas dans le fichier de session
297
+
298
+    if (!autoriser('ecrire')) {
299
+        return $row;
300
+    }
301
+
302
+    // autoriser('ecrire') ne laisse passer que les Admin et les Redac
303
+
304
+    auth_trace($row);
305
+
306
+    // Administrateurs
307
+    if (in_array($GLOBALS['connect_statut'], explode(',', _STATUT_AUTEUR_RUBRIQUE))) {
308
+        if (
309
+            isset($GLOBALS['visiteur_session']['restreint'])
310
+            and is_array($GLOBALS['visiteur_session']['restreint'])
311
+        ) {
312
+            $GLOBALS['connect_id_rubrique'] = $GLOBALS['visiteur_session']['restreint'];
313
+        }
314
+        if ($GLOBALS['connect_statut'] == '0minirezo') {
315
+            $GLOBALS['connect_toutes_rubriques'] = !$GLOBALS['connect_id_rubrique'];
316
+        }
317
+    }
318
+
319
+    // Pour les redacteurs, inc_version a fait l'initialisation minimale
320
+
321
+    return ''; // i.e. pas de pb.
322 322
 }
323 323
 
324 324
 /**
@@ -327,23 +327,23 @@  discard block
 block discarded – undo
327 327
  * @return string
328 328
  */
329 329
 function auth_a_loger() {
330
-	$redirect = generer_url_public('login', 'url=' . rawurlencode(self('&', true)), true);
331
-
332
-	// un echec au "bonjour" (login initial) quand le statut est
333
-	// inconnu signale sans doute un probleme de cookies
334
-	if (isset($_GET['bonjour'])) {
335
-		$redirect = parametre_url(
336
-			$redirect,
337
-			'var_erreur',
338
-			(!isset($GLOBALS['visiteur_session']['statut'])
339
-				? 'cookie'
340
-				: 'statut'
341
-			),
342
-			'&'
343
-		);
344
-	}
345
-
346
-	return $redirect;
330
+    $redirect = generer_url_public('login', 'url=' . rawurlencode(self('&', true)), true);
331
+
332
+    // un echec au "bonjour" (login initial) quand le statut est
333
+    // inconnu signale sans doute un probleme de cookies
334
+    if (isset($_GET['bonjour'])) {
335
+        $redirect = parametre_url(
336
+            $redirect,
337
+            'var_erreur',
338
+            (!isset($GLOBALS['visiteur_session']['statut'])
339
+                ? 'cookie'
340
+                : 'statut'
341
+            ),
342
+            '&'
343
+        );
344
+    }
345
+
346
+    return $redirect;
347 347
 }
348 348
 
349 349
 /**
@@ -355,19 +355,19 @@  discard block
 block discarded – undo
355 355
  * @param null|string $date
356 356
  */
357 357
 function auth_trace($row, $date = null) {
358
-	// Indiquer la connexion. A la minute pres ca suffit.
359
-	if (!is_numeric($connect_quand = $row['quand'] ?? '')) {
360
-		$connect_quand = strtotime($connect_quand);
361
-	}
358
+    // Indiquer la connexion. A la minute pres ca suffit.
359
+    if (!is_numeric($connect_quand = $row['quand'] ?? '')) {
360
+        $connect_quand = strtotime($connect_quand);
361
+    }
362 362
 
363
-	$date ??= date('Y-m-d H:i:s');
363
+    $date ??= date('Y-m-d H:i:s');
364 364
 
365
-	if (abs(strtotime($date) - $connect_quand) >= 60) {
366
-		sql_updateq('spip_auteurs', ['en_ligne' => $date], 'id_auteur=' . intval($row['id_auteur']));
367
-		$row['en_ligne'] = $date;
368
-	}
365
+    if (abs(strtotime($date) - $connect_quand) >= 60) {
366
+        sql_updateq('spip_auteurs', ['en_ligne' => $date], 'id_auteur=' . intval($row['id_auteur']));
367
+        $row['en_ligne'] = $date;
368
+    }
369 369
 
370
-	pipeline('trig_auth_trace', ['args' => ['row' => $row, 'date' => $date]]);
370
+    pipeline('trig_auth_trace', ['args' => ['row' => $row, 'date' => $date]]);
371 371
 }
372 372
 
373 373
 
@@ -393,28 +393,28 @@  discard block
 block discarded – undo
393 393
  * @return mixed
394 394
  */
395 395
 function auth_administrer($fonction, $args, $defaut = false) {
396
-	$auth_methode = array_shift($args);
397
-	$auth_methode = $auth_methode ?: 'spip'; // valeur par defaut au cas ou
398
-	if (
399
-		$auth = charger_fonction($auth_methode, 'auth', true)
400
-		and function_exists($f = "auth_{$auth_methode}_$fonction")
401
-	) {
402
-		$res = $f(...$args);
403
-	} else {
404
-		$res = $defaut;
405
-	}
406
-	$res = pipeline(
407
-		'auth_administrer',
408
-		[
409
-			'args' => [
410
-				'fonction' => $fonction,
411
-				'methode' => $auth_methode,
412
-				'args' => $args
413
-			],
414
-			'data' => $res
415
-		]
416
-	);
417
-	return $res;
396
+    $auth_methode = array_shift($args);
397
+    $auth_methode = $auth_methode ?: 'spip'; // valeur par defaut au cas ou
398
+    if (
399
+        $auth = charger_fonction($auth_methode, 'auth', true)
400
+        and function_exists($f = "auth_{$auth_methode}_$fonction")
401
+    ) {
402
+        $res = $f(...$args);
403
+    } else {
404
+        $res = $defaut;
405
+    }
406
+    $res = pipeline(
407
+        'auth_administrer',
408
+        [
409
+            'args' => [
410
+                'fonction' => $fonction,
411
+                'methode' => $auth_methode,
412
+                'args' => $args
413
+            ],
414
+            'data' => $res
415
+        ]
416
+    );
417
+    return $res;
418 418
 }
419 419
 
420 420
 /**
@@ -424,11 +424,11 @@  discard block
 block discarded – undo
424 424
  * @return array
425 425
  */
426 426
 function auth_formulaire_login($flux) {
427
-	foreach ($GLOBALS['liste_des_authentifications'] as $methode) {
428
-		$flux = auth_administrer('formulaire_login', [$methode, $flux], $flux);
429
-	}
427
+    foreach ($GLOBALS['liste_des_authentifications'] as $methode) {
428
+        $flux = auth_administrer('formulaire_login', [$methode, $flux], $flux);
429
+    }
430 430
 
431
-	return $flux;
431
+    return $flux;
432 432
 }
433 433
 
434 434
 
@@ -442,19 +442,19 @@  discard block
 block discarded – undo
442 442
  * @return string/bool
443 443
  */
444 444
 function auth_retrouver_login($login, $serveur = '') {
445
-	if (!spip_connect($serveur)) {
446
-		include_spip('inc/minipres');
447
-		echo minipres(_T('info_travaux_titre'), _T('titre_probleme_technique'));
448
-		exit;
449
-	}
450
-
451
-	foreach ($GLOBALS['liste_des_authentifications'] as $methode) {
452
-		if ($auteur = auth_administrer('retrouver_login', [$methode, $login, $serveur])) {
453
-			return $auteur;
454
-		}
455
-	}
456
-
457
-	return false;
445
+    if (!spip_connect($serveur)) {
446
+        include_spip('inc/minipres');
447
+        echo minipres(_T('info_travaux_titre'), _T('titre_probleme_technique'));
448
+        exit;
449
+    }
450
+
451
+    foreach ($GLOBALS['liste_des_authentifications'] as $methode) {
452
+        if ($auteur = auth_administrer('retrouver_login', [$methode, $login, $serveur])) {
453
+            return $auteur;
454
+        }
455
+    }
456
+
457
+    return false;
458 458
 }
459 459
 
460 460
 /**
@@ -469,34 +469,34 @@  discard block
 block discarded – undo
469 469
  * @return array
470 470
  */
471 471
 function auth_informer_login($login, $serveur = '') {
472
-	if (
473
-		!$login
474
-		or !$login_base = auth_retrouver_login($login, $serveur)
475
-		or !$row = sql_fetsel('*', 'spip_auteurs', 'login=' . sql_quote($login_base, $serveur, 'text'), '', '', '', '', $serveur)
476
-	) {
477
-		// generer de fausses infos, mais credibles, pour eviter une attaque
478
-		// https://core.spip.net/issues/1758 + https://core.spip.net/issues/3691
479
-
480
-		$row = [
481
-			'login' => $login,
482
-			'cnx' => '0',
483
-			'logo' => '',
484
-		];
485
-
486
-		return $row;
487
-	}
488
-
489
-	$prefs = @unserialize($row['prefs']);
490
-	$infos = [
491
-		'id_auteur' => $row['id_auteur'],
492
-		'login' => $row['login'],
493
-		'cnx' => (isset($prefs['cnx']) and $prefs['cnx'] === 'perma') ? '1' : '0',
494
-		'logo' => recuperer_fond('formulaires/inc-logo_auteur', $row),
495
-	];
496
-
497
-	verifier_visiteur();
498
-
499
-	return auth_administrer('informer_login', [$row['source'], $infos, $row, $serveur], $infos);
472
+    if (
473
+        !$login
474
+        or !$login_base = auth_retrouver_login($login, $serveur)
475
+        or !$row = sql_fetsel('*', 'spip_auteurs', 'login=' . sql_quote($login_base, $serveur, 'text'), '', '', '', '', $serveur)
476
+    ) {
477
+        // generer de fausses infos, mais credibles, pour eviter une attaque
478
+        // https://core.spip.net/issues/1758 + https://core.spip.net/issues/3691
479
+
480
+        $row = [
481
+            'login' => $login,
482
+            'cnx' => '0',
483
+            'logo' => '',
484
+        ];
485
+
486
+        return $row;
487
+    }
488
+
489
+    $prefs = @unserialize($row['prefs']);
490
+    $infos = [
491
+        'id_auteur' => $row['id_auteur'],
492
+        'login' => $row['login'],
493
+        'cnx' => (isset($prefs['cnx']) and $prefs['cnx'] === 'perma') ? '1' : '0',
494
+        'logo' => recuperer_fond('formulaires/inc-logo_auteur', $row),
495
+    ];
496
+
497
+    verifier_visiteur();
498
+
499
+    return auth_administrer('informer_login', [$row['source'], $infos, $row, $serveur], $infos);
500 500
 }
501 501
 
502 502
 
@@ -510,21 +510,21 @@  discard block
 block discarded – undo
510 510
  * @return mixed
511 511
  */
512 512
 function auth_identifier_login($login, $password, $serveur = '', bool $phpauth = false) {
513
-	$erreur = '';
514
-	foreach ($GLOBALS['liste_des_authentifications'] as $methode) {
515
-		if ($auth = charger_fonction($methode, 'auth', true)) {
516
-			$auteur = $auth($login, $password, $serveur, $phpauth);
517
-			if (is_array($auteur) and count($auteur)) {
518
-				spip_log("connexion de $login par methode $methode");
519
-				$auteur['auth'] = $methode;
520
-				return $auteur;
521
-			} elseif (is_string($auteur)) {
522
-				$erreur .= "$auteur ";
523
-			}
524
-		}
525
-	}
526
-
527
-	return $erreur;
513
+    $erreur = '';
514
+    foreach ($GLOBALS['liste_des_authentifications'] as $methode) {
515
+        if ($auth = charger_fonction($methode, 'auth', true)) {
516
+            $auteur = $auth($login, $password, $serveur, $phpauth);
517
+            if (is_array($auteur) and count($auteur)) {
518
+                spip_log("connexion de $login par methode $methode");
519
+                $auteur['auth'] = $methode;
520
+                return $auteur;
521
+            } elseif (is_string($auteur)) {
522
+                $erreur .= "$auteur ";
523
+            }
524
+        }
525
+    }
526
+
527
+    return $erreur;
528 528
 }
529 529
 
530 530
 /**
@@ -538,8 +538,8 @@  discard block
 block discarded – undo
538 538
  * @return string
539 539
  */
540 540
 function auth_url_retour_login($auth_methode, $login, $redirect = '', $serveur = '') {
541
-	$securiser_action = charger_fonction('securiser_action', 'inc');
542
-	return $securiser_action('auth', "$auth_methode/$login", $redirect, true);
541
+    $securiser_action = charger_fonction('securiser_action', 'inc');
542
+    return $securiser_action('auth', "$auth_methode/$login", $redirect, true);
543 543
 }
544 544
 
545 545
 /**
@@ -553,9 +553,9 @@  discard block
 block discarded – undo
553 553
  * @return mixed
554 554
  */
555 555
 function auth_terminer_identifier_login($auth_methode, $login, $serveur = '') {
556
-	$args = func_get_args();
557
-	$auteur = auth_administrer('terminer_identifier_login', $args);
558
-	return $auteur;
556
+    $args = func_get_args();
557
+    $auteur = auth_administrer('terminer_identifier_login', $args);
558
+    return $auteur;
559 559
 }
560 560
 
561 561
 /**
@@ -565,29 +565,29 @@  discard block
 block discarded – undo
565 565
  * @return bool
566 566
  */
567 567
 function auth_loger($auteur) {
568
-	if (!is_array($auteur) or !count($auteur)) {
569
-		return false;
570
-	}
571
-
572
-	// initialiser et poser le cookie de session
573
-	unset($_COOKIE['spip_session']);
574
-	if (auth_init_droits($auteur) === false) {
575
-		return false;
576
-	}
577
-
578
-	// initialiser les prefs
579
-	$p = $GLOBALS['visiteur_session']['prefs'];
580
-	$p['cnx'] = (isset($auteur['cookie']) and $auteur['cookie'] == 'oui') ? 'perma' : '';
581
-
582
-	sql_updateq(
583
-		'spip_auteurs',
584
-		['prefs' => serialize($p)],
585
-		'id_auteur=' . intval($auteur['id_auteur'])
586
-	);
587
-
588
-	//  bloquer ici le visiteur qui tente d'abuser de ses droits
589
-	verifier_visiteur();
590
-	return true;
568
+    if (!is_array($auteur) or !count($auteur)) {
569
+        return false;
570
+    }
571
+
572
+    // initialiser et poser le cookie de session
573
+    unset($_COOKIE['spip_session']);
574
+    if (auth_init_droits($auteur) === false) {
575
+        return false;
576
+    }
577
+
578
+    // initialiser les prefs
579
+    $p = $GLOBALS['visiteur_session']['prefs'];
580
+    $p['cnx'] = (isset($auteur['cookie']) and $auteur['cookie'] == 'oui') ? 'perma' : '';
581
+
582
+    sql_updateq(
583
+        'spip_auteurs',
584
+        ['prefs' => serialize($p)],
585
+        'id_auteur=' . intval($auteur['id_auteur'])
586
+    );
587
+
588
+    //  bloquer ici le visiteur qui tente d'abuser de ses droits
589
+    verifier_visiteur();
590
+    return true;
591 591
 }
592 592
 
593 593
 /**
@@ -597,8 +597,8 @@  discard block
 block discarded – undo
597 597
  * return void
598 598
  **/
599 599
 function auth_deloger() {
600
-	$logout = charger_fonction('logout', 'action');
601
-	$logout();
600
+    $logout = charger_fonction('logout', 'action');
601
+    $logout();
602 602
 }
603 603
 
604 604
 /**
@@ -612,8 +612,8 @@  discard block
 block discarded – undo
612 612
  * @return bool
613 613
  */
614 614
 function auth_autoriser_modifier_login($auth_methode, $serveur = '') {
615
-	$args = func_get_args();
616
-	return auth_administrer('autoriser_modifier_login', $args);
615
+    $args = func_get_args();
616
+    return auth_administrer('autoriser_modifier_login', $args);
617 617
 }
618 618
 
619 619
 /**
@@ -628,8 +628,8 @@  discard block
 block discarded – undo
628 628
  *  message d'erreur ou chaine vide si pas d'erreur
629 629
  */
630 630
 function auth_verifier_login($auth_methode, $new_login, $id_auteur = 0, $serveur = '') {
631
-	$args = func_get_args();
632
-	return auth_administrer('verifier_login', $args, '');
631
+    $args = func_get_args();
632
+    return auth_administrer('verifier_login', $args, '');
633 633
 }
634 634
 
635 635
 /**
@@ -642,8 +642,8 @@  discard block
 block discarded – undo
642 642
  * @return bool
643 643
  */
644 644
 function auth_modifier_login($auth_methode, $new_login, $id_auteur, $serveur = '') {
645
-	$args = func_get_args();
646
-	return auth_administrer('modifier_login', $args);
645
+    $args = func_get_args();
646
+    return auth_administrer('modifier_login', $args);
647 647
 }
648 648
 
649 649
 /**
@@ -658,8 +658,8 @@  discard block
 block discarded – undo
658 658
  *  succès ou échec
659 659
  */
660 660
 function auth_autoriser_modifier_pass($auth_methode, $serveur = '') {
661
-	$args = func_get_args();
662
-	return auth_administrer('autoriser_modifier_pass', $args);
661
+    $args = func_get_args();
662
+    return auth_administrer('autoriser_modifier_pass', $args);
663 663
 }
664 664
 
665 665
 /**
@@ -675,8 +675,8 @@  discard block
 block discarded – undo
675 675
  *  message d'erreur ou chaine vide si pas d'erreur
676 676
  */
677 677
 function auth_verifier_pass($auth_methode, $login, $new_pass, $id_auteur = 0, $serveur = '') {
678
-	$args = func_get_args();
679
-	return auth_administrer('verifier_pass', $args, '');
678
+    $args = func_get_args();
679
+    return auth_administrer('verifier_pass', $args, '');
680 680
 }
681 681
 
682 682
 /**
@@ -692,8 +692,8 @@  discard block
 block discarded – undo
692 692
  *  succes ou echec
693 693
  */
694 694
 function auth_modifier_pass($auth_methode, $login, $new_pass, $id_auteur, $serveur = '') {
695
-	$args = func_get_args();
696
-	return auth_administrer('modifier_pass', $args);
695
+    $args = func_get_args();
696
+    return auth_administrer('modifier_pass', $args);
697 697
 }
698 698
 
699 699
 /**
@@ -709,24 +709,24 @@  discard block
 block discarded – undo
709 709
  * @return void
710 710
  */
711 711
 function auth_synchroniser_distant(
712
-	$auth_methode = true,
713
-	$id_auteur = 0,
714
-	$champs = [],
715
-	$options = [],
716
-	$serveur = ''
712
+    $auth_methode = true,
713
+    $id_auteur = 0,
714
+    $champs = [],
715
+    $options = [],
716
+    $serveur = ''
717 717
 ) {
718
-	$args = func_get_args();
719
-	if ($auth_methode === true or (isset($options['all']) and $options['all'] == true)) {
720
-		$options['all'] = true; // ajouter une option all=>true pour chaque auth
721
-		$args = [true, $id_auteur, $champs, $options, $serveur];
722
-		foreach ($GLOBALS['liste_des_authentifications'] as $methode) {
723
-			array_shift($args);
724
-			array_unshift($args, $methode);
725
-			auth_administrer('synchroniser_distant', $args);
726
-		}
727
-	} else {
728
-		auth_administrer('synchroniser_distant', $args);
729
-	}
718
+    $args = func_get_args();
719
+    if ($auth_methode === true or (isset($options['all']) and $options['all'] == true)) {
720
+        $options['all'] = true; // ajouter une option all=>true pour chaque auth
721
+        $args = [true, $id_auteur, $champs, $options, $serveur];
722
+        foreach ($GLOBALS['liste_des_authentifications'] as $methode) {
723
+            array_shift($args);
724
+            array_unshift($args, $methode);
725
+            auth_administrer('synchroniser_distant', $args);
726
+        }
727
+    } else {
728
+        auth_administrer('synchroniser_distant', $args);
729
+    }
730 730
 }
731 731
 
732 732
 
@@ -739,46 +739,46 @@  discard block
 block discarded – undo
739 739
  * @return array|bool
740 740
  */
741 741
 function lire_php_auth($login, $pw, $serveur = '') {
742
-	if (
743
-		!$login
744
-		or !$login_base = auth_retrouver_login($login, $serveur)
745
-	) {
746
-		return false;
747
-	}
748
-
749
-	$row = sql_fetsel('*', 'spip_auteurs', 'login=' . sql_quote($login_base, $serveur, 'text'), '', '', '', '', $serveur);
750
-
751
-	if (!$row) {
752
-		if (
753
-			include_spip('inc/auth')
754
-			and auth_ldap_connect($serveur)
755
-			and $auth_ldap = charger_fonction('ldap', 'auth', true)
756
-		) {
757
-			return $auth_ldap($login_base, $pw, $serveur, true);
758
-		}
759
-
760
-		return false;
761
-	}
742
+    if (
743
+        !$login
744
+        or !$login_base = auth_retrouver_login($login, $serveur)
745
+    ) {
746
+        return false;
747
+    }
748
+
749
+    $row = sql_fetsel('*', 'spip_auteurs', 'login=' . sql_quote($login_base, $serveur, 'text'), '', '', '', '', $serveur);
750
+
751
+    if (!$row) {
752
+        if (
753
+            include_spip('inc/auth')
754
+            and auth_ldap_connect($serveur)
755
+            and $auth_ldap = charger_fonction('ldap', 'auth', true)
756
+        ) {
757
+            return $auth_ldap($login_base, $pw, $serveur, true);
758
+        }
759
+
760
+        return false;
761
+    }
762 762
 	
763
-	// si pas de source definie
764
-	// ou auth/xxx introuvable, utiliser 'spip' ou autre et avec le login passé par PHP_AUTH_USER
765
-	if (
766
-		!$auth_methode = $row['source']
767
-		or !$auth = charger_fonction($auth_methode, 'auth', true)
768
-	) {
769
-		$auth = charger_fonction('spip', 'auth', true);
770
-	}
771
-
772
-	$auteur = '';
773
-	if ($auth) {
774
-		$auteur = $auth($login, $pw, $serveur, true);
775
-	}
776
-	// verifier que ce n'est pas un message d'erreur
777
-	if (is_array($auteur) and count($auteur)) {
778
-		return $auteur;
779
-	}
780
-
781
-	return false;
763
+    // si pas de source definie
764
+    // ou auth/xxx introuvable, utiliser 'spip' ou autre et avec le login passé par PHP_AUTH_USER
765
+    if (
766
+        !$auth_methode = $row['source']
767
+        or !$auth = charger_fonction($auth_methode, 'auth', true)
768
+    ) {
769
+        $auth = charger_fonction('spip', 'auth', true);
770
+    }
771
+
772
+    $auteur = '';
773
+    if ($auth) {
774
+        $auteur = $auth($login, $pw, $serveur, true);
775
+    }
776
+    // verifier que ce n'est pas un message d'erreur
777
+    if (is_array($auteur) and count($auteur)) {
778
+        return $auteur;
779
+    }
780
+
781
+    return false;
782 782
 }
783 783
 
784 784
 /**
@@ -794,21 +794,21 @@  discard block
 block discarded – undo
794 794
  * @param string $lien
795 795
  */
796 796
 function ask_php_auth($pb, $raison, $retour = '', $url = '', $re = '', $lien = '') {
797
-	@Header('WWW-Authenticate: Basic realm="espace prive"');
798
-	@Header('HTTP/1.0 401 Unauthorized');
799
-	$corps = '';
800
-	$public = generer_url_public();
801
-	$ecrire = generer_url_ecrire();
802
-	$retour = $retour ?: _T('icone_retour');
803
-	$corps .= "<p>$raison</p>[<a href='$public'>$retour</a>] ";
804
-	if ($url) {
805
-		$corps .= "[<a href='" . generer_url_action('cookie', "essai_auth_http=oui&$url") . "'>$re</a>]";
806
-	}
807
-
808
-	if ($lien) {
809
-		$corps .= " [<a href='$ecrire'>" . _T('login_espace_prive') . '</a>]';
810
-	}
811
-	include_spip('inc/minipres');
812
-	echo minipres($pb, $corps);
813
-	exit;
797
+    @Header('WWW-Authenticate: Basic realm="espace prive"');
798
+    @Header('HTTP/1.0 401 Unauthorized');
799
+    $corps = '';
800
+    $public = generer_url_public();
801
+    $ecrire = generer_url_ecrire();
802
+    $retour = $retour ?: _T('icone_retour');
803
+    $corps .= "<p>$raison</p>[<a href='$public'>$retour</a>] ";
804
+    if ($url) {
805
+        $corps .= "[<a href='" . generer_url_action('cookie', "essai_auth_http=oui&$url") . "'>$re</a>]";
806
+    }
807
+
808
+    if ($lien) {
809
+        $corps .= " [<a href='$ecrire'>" . _T('login_espace_prive') . '</a>]';
810
+    }
811
+    include_spip('inc/minipres');
812
+    echo minipres($pb, $corps);
813
+    exit;
814 814
 }
Please login to merge, or discard this patch.
Spacing   +14 added lines, -15 removed lines patch added patch discarded remove patch
@@ -59,7 +59,7 @@  discard block
 block discarded – undo
59 59
 	}
60 60
 
61 61
 	$n = intval(sql_errno());
62
-	spip_log("Erreur base de donnees $n " . sql_error());
62
+	spip_log("Erreur base de donnees $n ".sql_error());
63 63
 
64 64
 	return $n ?: 1;
65 65
 }
@@ -110,19 +110,19 @@  discard block
 block discarded – undo
110 110
 		// erreur SQL a afficher
111 111
 		$raison = minipres(
112 112
 			_T('info_travaux_titre'),
113
-			_T('titre_probleme_technique') . '<p><tt>' . sql_errno() . ' ' . sql_error() . '</tt></p>'
113
+			_T('titre_probleme_technique').'<p><tt>'.sql_errno().' '.sql_error().'</tt></p>'
114 114
 		);
115 115
 	} elseif (@$raison['statut']) {
116 116
 		// un simple visiteur n'a pas acces a l'espace prive
117
-		spip_log('connexion refusee a ' . @$raison['id_auteur']);
117
+		spip_log('connexion refusee a '.@$raison['id_auteur']);
118 118
 		$est_connecte = (!empty($GLOBALS['visiteur_session']['login']) and !empty($GLOBALS['visiteur_session']['statut'])); // idem test balise #URL_LOGOUT
119 119
 		$raison = minipres(
120 120
 			_T('avis_erreur_connexion'),
121 121
 			_T('avis_erreur_visiteur')
122 122
 				// Lien vers le site public
123
-				. '<br /><a href="' . url_de_base() . '">' . _T('login_retour_public') . '</a>'
123
+				. '<br /><a href="'.url_de_base().'">'._T('login_retour_public').'</a>'
124 124
 				// Si la personne est connectée, lien de déconnexion ramenant vers la page de login
125
-				. ($est_connecte ? ' | <a href="' . generer_url_public('', 'action=logout&amp;logout=prive') . '">' . _T('icone_deconnecter') . '</a>' : '')
125
+				. ($est_connecte ? ' | <a href="'.generer_url_public('', 'action=logout&amp;logout=prive').'">'._T('icone_deconnecter').'</a>' : '')
126 126
 		);
127 127
 	} else {
128 128
 		// auteur en fin de droits ...
@@ -212,8 +212,7 @@  discard block
 block discarded – undo
212 212
 	$where = (is_numeric($id_auteur)
213 213
 		/*AND $id_auteur>0*/ // reprise lors des restaurations
214 214
 	) ?
215
-		"id_auteur=$id_auteur" :
216
-		(!strlen($GLOBALS['connect_login']) ? '' : 'login=' . sql_quote($GLOBALS['connect_login'], '', 'text'));
215
+		"id_auteur=$id_auteur" : (!strlen($GLOBALS['connect_login']) ? '' : 'login='.sql_quote($GLOBALS['connect_login'], '', 'text'));
217 216
 
218 217
 	if (!$where) {
219 218
 		return '';
@@ -255,7 +254,7 @@  discard block
 block discarded – undo
255 254
 	$GLOBALS['connect_login'] = $row['login'];
256 255
 	$GLOBALS['connect_statut'] = $row['statut'];
257 256
 
258
-	$GLOBALS['visiteur_session'] = array_merge((array)$GLOBALS['visiteur_session'], $row);
257
+	$GLOBALS['visiteur_session'] = array_merge((array) $GLOBALS['visiteur_session'], $row);
259 258
 
260 259
 	// au cas ou : ne pas memoriser les champs sensibles
261 260
 	unset($GLOBALS['visiteur_session']['pass']);
@@ -327,7 +326,7 @@  discard block
 block discarded – undo
327 326
  * @return string
328 327
  */
329 328
 function auth_a_loger() {
330
-	$redirect = generer_url_public('login', 'url=' . rawurlencode(self('&', true)), true);
329
+	$redirect = generer_url_public('login', 'url='.rawurlencode(self('&', true)), true);
331 330
 
332 331
 	// un echec au "bonjour" (login initial) quand le statut est
333 332
 	// inconnu signale sans doute un probleme de cookies
@@ -363,7 +362,7 @@  discard block
 block discarded – undo
363 362
 	$date ??= date('Y-m-d H:i:s');
364 363
 
365 364
 	if (abs(strtotime($date) - $connect_quand) >= 60) {
366
-		sql_updateq('spip_auteurs', ['en_ligne' => $date], 'id_auteur=' . intval($row['id_auteur']));
365
+		sql_updateq('spip_auteurs', ['en_ligne' => $date], 'id_auteur='.intval($row['id_auteur']));
367 366
 		$row['en_ligne'] = $date;
368 367
 	}
369 368
 
@@ -472,7 +471,7 @@  discard block
 block discarded – undo
472 471
 	if (
473 472
 		!$login
474 473
 		or !$login_base = auth_retrouver_login($login, $serveur)
475
-		or !$row = sql_fetsel('*', 'spip_auteurs', 'login=' . sql_quote($login_base, $serveur, 'text'), '', '', '', '', $serveur)
474
+		or !$row = sql_fetsel('*', 'spip_auteurs', 'login='.sql_quote($login_base, $serveur, 'text'), '', '', '', '', $serveur)
476 475
 	) {
477 476
 		// generer de fausses infos, mais credibles, pour eviter une attaque
478 477
 		// https://core.spip.net/issues/1758 + https://core.spip.net/issues/3691
@@ -582,7 +581,7 @@  discard block
 block discarded – undo
582 581
 	sql_updateq(
583 582
 		'spip_auteurs',
584 583
 		['prefs' => serialize($p)],
585
-		'id_auteur=' . intval($auteur['id_auteur'])
584
+		'id_auteur='.intval($auteur['id_auteur'])
586 585
 	);
587 586
 
588 587
 	//  bloquer ici le visiteur qui tente d'abuser de ses droits
@@ -746,7 +745,7 @@  discard block
 block discarded – undo
746 745
 		return false;
747 746
 	}
748 747
 
749
-	$row = sql_fetsel('*', 'spip_auteurs', 'login=' . sql_quote($login_base, $serveur, 'text'), '', '', '', '', $serveur);
748
+	$row = sql_fetsel('*', 'spip_auteurs', 'login='.sql_quote($login_base, $serveur, 'text'), '', '', '', '', $serveur);
750 749
 
751 750
 	if (!$row) {
752 751
 		if (
@@ -802,11 +801,11 @@  discard block
 block discarded – undo
802 801
 	$retour = $retour ?: _T('icone_retour');
803 802
 	$corps .= "<p>$raison</p>[<a href='$public'>$retour</a>] ";
804 803
 	if ($url) {
805
-		$corps .= "[<a href='" . generer_url_action('cookie', "essai_auth_http=oui&$url") . "'>$re</a>]";
804
+		$corps .= "[<a href='".generer_url_action('cookie', "essai_auth_http=oui&$url")."'>$re</a>]";
806 805
 	}
807 806
 
808 807
 	if ($lien) {
809
-		$corps .= " [<a href='$ecrire'>" . _T('login_espace_prive') . '</a>]';
808
+		$corps .= " [<a href='$ecrire'>"._T('login_espace_prive').'</a>]';
810 809
 	}
811 810
 	include_spip('inc/minipres');
812 811
 	echo minipres($pb, $corps);
Please login to merge, or discard this patch.
prive/formulaires/editer_liens.php 3 patches
Indentation   +438 added lines, -438 removed lines patch added patch discarded remove patch
@@ -16,7 +16,7 @@  discard block
 block discarded – undo
16 16
  * @package SPIP\Core\Formulaires
17 17
  **/
18 18
 if (!defined('_ECRIRE_INC_VERSION')) {
19
-	return;
19
+    return;
20 20
 }
21 21
 
22 22
 
@@ -36,25 +36,25 @@  discard block
 block discarded – undo
36 36
  *   ($table_source,$objet,$id_objet,$objet_lien)
37 37
  */
38 38
 function determine_source_lien_objet($a, $b, $c) {
39
-	$table_source = $objet_lien = $objet = $id_objet = null;
40
-	// auteurs, article, 23 :
41
-	// associer des auteurs à l'article 23, sur la table pivot spip_auteurs_liens
42
-	if (is_numeric($c) and !is_numeric($b)) {
43
-		$table_source = table_objet($a);
44
-		$objet_lien = objet_type($a);
45
-		$objet = objet_type($b);
46
-		$id_objet = $c;
47
-	}
48
-	// article, 23, auteurs
49
-	// associer des auteurs à l'article 23, sur la table pivot spip_articles_liens
50
-	if (is_numeric($b) and !is_numeric($c)) {
51
-		$table_source = table_objet($c);
52
-		$objet_lien = objet_type($a);
53
-		$objet = objet_type($a);
54
-		$id_objet = $b;
55
-	}
56
-
57
-	return [$table_source, $objet, $id_objet, $objet_lien];
39
+    $table_source = $objet_lien = $objet = $id_objet = null;
40
+    // auteurs, article, 23 :
41
+    // associer des auteurs à l'article 23, sur la table pivot spip_auteurs_liens
42
+    if (is_numeric($c) and !is_numeric($b)) {
43
+        $table_source = table_objet($a);
44
+        $objet_lien = objet_type($a);
45
+        $objet = objet_type($b);
46
+        $id_objet = $c;
47
+    }
48
+    // article, 23, auteurs
49
+    // associer des auteurs à l'article 23, sur la table pivot spip_articles_liens
50
+    if (is_numeric($b) and !is_numeric($c)) {
51
+        $table_source = table_objet($c);
52
+        $objet_lien = objet_type($a);
53
+        $objet = objet_type($a);
54
+        $id_objet = $b;
55
+    }
56
+
57
+    return [$table_source, $objet, $id_objet, $objet_lien];
58 58
 }
59 59
 
60 60
 /**
@@ -80,86 +80,86 @@  discard block
 block discarded – undo
80 80
  */
81 81
 function formulaires_editer_liens_charger_dist($a, $b, $c, $options = []) {
82 82
 
83
-	// compat avec ancienne signature ou le 4eme argument est $editable
84
-	if (!is_array($options)) {
85
-		$options = ['editable' => $options];
86
-	} elseif (!isset($options['editable'])) {
87
-		$options['editable'] = true;
88
-	}
89
-
90
-	$editable = $options['editable'];
91
-
92
-	[$table_source, $objet, $id_objet, $objet_lien] = determine_source_lien_objet($a, $b, $c);
93
-	if (!$table_source or !$objet or !$objet_lien or !$id_objet) {
94
-		return false;
95
-	}
96
-
97
-	$objet_source = objet_type($table_source);
98
-	$table_sql_source = table_objet_sql($objet_source);
99
-
100
-	// verifier existence de la table xxx_liens
101
-	include_spip('action/editer_liens');
102
-	if (!objet_associable($objet_lien)) {
103
-		return false;
104
-	}
105
-
106
-	// L'éditabilité :) est définie par un test permanent (par exemple "associermots") ET le 4ème argument
107
-	include_spip('inc/autoriser');
108
-	$editable = ($editable and autoriser('associer' . $table_source, $objet, $id_objet)
109
-		and autoriser('modifier', $objet, $id_objet));
110
-
111
-	if (
112
-		!$editable and !count(objet_trouver_liens(
113
-			[$objet_lien => '*'],
114
-			[($objet_lien == $objet_source ? $objet : $objet_source) => $id_objet]
115
-		))
116
-	) {
117
-		return false;
118
-	}
119
-
120
-	// squelettes de vue et de d'association
121
-	// ils sont différents si des rôles sont définis.
122
-	$skel_vue = $table_source . '_lies';
123
-	$skel_ajout = $table_source . '_associer';
124
-
125
-	// description des roles
126
-	include_spip('inc/roles');
127
-	if ($roles = roles_presents($objet_source, $objet)) {
128
-		// on demande de nouveaux squelettes en conséquence
129
-		$skel_vue = $table_source . '_roles_lies';
130
-		$skel_ajout = $table_source . '_roles_associer';
131
-	}
132
-
133
-	$oups = '';
134
-	if ($editable) {
135
-		$oups = lien_gerer__oups('editer_liens', 'hash');
136
-	}
137
-	$valeurs = [
138
-		'id' => "$table_source-$objet-$id_objet-$objet_lien", // identifiant unique pour les id du form
139
-		'_vue_liee' => $skel_vue,
140
-		'_vue_ajout' => $skel_ajout,
141
-		'_objet_lien' => $objet_lien,
142
-		'id_lien_ajoute' => _request('id_lien_ajoute'),
143
-		'objet' => $objet,
144
-		'id_objet' => $id_objet,
145
-		'objet_source' => $objet_source,
146
-		'table_source' => $table_source,
147
-		'recherche' => '',
148
-		'visible' => 0,
149
-		'ajouter_lien' => '',
150
-		'supprimer_lien' => '',
151
-		'qualifier_lien' => '',
152
-		'ordonner_lien' => '',
153
-		'desordonner_liens' => '',
154
-		'_roles' => $roles, # description des roles
155
-		'_oups' => entites_html($oups),
156
-		'editable' => $editable,
157
-	];
158
-
159
-	// les options non definies dans $valeurs sont passees telles quelles au formulaire html
160
-	$valeurs = array_merge($options, $valeurs);
161
-
162
-	return $valeurs;
83
+    // compat avec ancienne signature ou le 4eme argument est $editable
84
+    if (!is_array($options)) {
85
+        $options = ['editable' => $options];
86
+    } elseif (!isset($options['editable'])) {
87
+        $options['editable'] = true;
88
+    }
89
+
90
+    $editable = $options['editable'];
91
+
92
+    [$table_source, $objet, $id_objet, $objet_lien] = determine_source_lien_objet($a, $b, $c);
93
+    if (!$table_source or !$objet or !$objet_lien or !$id_objet) {
94
+        return false;
95
+    }
96
+
97
+    $objet_source = objet_type($table_source);
98
+    $table_sql_source = table_objet_sql($objet_source);
99
+
100
+    // verifier existence de la table xxx_liens
101
+    include_spip('action/editer_liens');
102
+    if (!objet_associable($objet_lien)) {
103
+        return false;
104
+    }
105
+
106
+    // L'éditabilité :) est définie par un test permanent (par exemple "associermots") ET le 4ème argument
107
+    include_spip('inc/autoriser');
108
+    $editable = ($editable and autoriser('associer' . $table_source, $objet, $id_objet)
109
+        and autoriser('modifier', $objet, $id_objet));
110
+
111
+    if (
112
+        !$editable and !count(objet_trouver_liens(
113
+            [$objet_lien => '*'],
114
+            [($objet_lien == $objet_source ? $objet : $objet_source) => $id_objet]
115
+        ))
116
+    ) {
117
+        return false;
118
+    }
119
+
120
+    // squelettes de vue et de d'association
121
+    // ils sont différents si des rôles sont définis.
122
+    $skel_vue = $table_source . '_lies';
123
+    $skel_ajout = $table_source . '_associer';
124
+
125
+    // description des roles
126
+    include_spip('inc/roles');
127
+    if ($roles = roles_presents($objet_source, $objet)) {
128
+        // on demande de nouveaux squelettes en conséquence
129
+        $skel_vue = $table_source . '_roles_lies';
130
+        $skel_ajout = $table_source . '_roles_associer';
131
+    }
132
+
133
+    $oups = '';
134
+    if ($editable) {
135
+        $oups = lien_gerer__oups('editer_liens', 'hash');
136
+    }
137
+    $valeurs = [
138
+        'id' => "$table_source-$objet-$id_objet-$objet_lien", // identifiant unique pour les id du form
139
+        '_vue_liee' => $skel_vue,
140
+        '_vue_ajout' => $skel_ajout,
141
+        '_objet_lien' => $objet_lien,
142
+        'id_lien_ajoute' => _request('id_lien_ajoute'),
143
+        'objet' => $objet,
144
+        'id_objet' => $id_objet,
145
+        'objet_source' => $objet_source,
146
+        'table_source' => $table_source,
147
+        'recherche' => '',
148
+        'visible' => 0,
149
+        'ajouter_lien' => '',
150
+        'supprimer_lien' => '',
151
+        'qualifier_lien' => '',
152
+        'ordonner_lien' => '',
153
+        'desordonner_liens' => '',
154
+        '_roles' => $roles, # description des roles
155
+        '_oups' => entites_html($oups),
156
+        'editable' => $editable,
157
+    ];
158
+
159
+    // les options non definies dans $valeurs sont passees telles quelles au formulaire html
160
+    $valeurs = array_merge($options, $valeurs);
161
+
162
+    return $valeurs;
163 163
 }
164 164
 
165 165
 /**
@@ -203,170 +203,170 @@  discard block
 block discarded – undo
203 203
  * @return array
204 204
  */
205 205
 function formulaires_editer_liens_traiter_dist($a, $b, $c, $options = []) {
206
-	// compat avec ancienne signature ou le 4eme argument est $editable
207
-	if (!is_array($options)) {
208
-		$options = ['editable' => $options];
209
-	} elseif (!isset($options['editable'])) {
210
-		$options['editable'] = true;
211
-	}
212
-
213
-	$editable = $options['editable'];
214
-
215
-	$res = ['editable' => $editable ? true : false];
216
-	[$table_source, $objet, $id_objet, $objet_lien] = determine_source_lien_objet($a, $b, $c);
217
-	if (!$table_source or !$objet or !$objet_lien) {
218
-		return $res;
219
-	}
220
-
221
-
222
-	if (_request('tout_voir')) {
223
-		set_request('recherche', '');
224
-	}
225
-
226
-	include_spip('inc/autoriser');
227
-	if (autoriser('modifier', $objet, $id_objet)) {
228
-		// recuperer le oups du coup d'avant pour le propager à charger() si on ne fait rien par exemple
229
-		lien_gerer__oups('editer_liens','request');
230
-
231
-		// annuler les suppressions du coup d'avant ?
232
-		if (
233
-			_request('annuler_oups')
234
-			and $oups = lien_gerer__oups('editer_liens','get')
235
-		) {
236
-			if ($oups_objets = charger_fonction("editer_liens_oups_{$table_source}_{$objet}_{$objet_lien}", 'action', true)) {
237
-				$oups_objets($oups);
238
-			} else {
239
-				$objet_source = objet_type($table_source);
240
-				include_spip('action/editer_liens');
241
-				foreach ($oups as $oup) {
242
-					if ($objet_lien == $objet_source) {
243
-						objet_associer([$objet_source => $oup[$objet_source]], [$objet => $oup[$objet]], $oup);
244
-					} else {
245
-						objet_associer([$objet => $oup[$objet]], [$objet_source => $oup[$objet_source]], $oup);
246
-					}
247
-				}
248
-			}
249
-			# oups ne persiste que pour la derniere action, si suppression
250
-			lien_gerer__oups('editer_liens','reset');
251
-		}
252
-
253
-		$supprimer = _request('supprimer_lien');
254
-		$ajouter = _request('ajouter_lien');
255
-		$ordonner = _request('ordonner_lien');
256
-
257
-		if (_request('desordonner_liens')) {
258
-			include_spip('action/editer_liens');
259
-			objet_qualifier_liens([$objet_lien => '*'], [$objet => $id_objet], ['rang_lien' => 0]);
260
-		}
261
-
262
-		// il est possible de preciser dans une seule variable un remplacement :
263
-		// remplacer_lien[old][new]
264
-		if ($remplacer = _request('remplacer_lien')) {
265
-			foreach ($remplacer as $k => $v) {
266
-				if ($old = lien_verifier_action($k, '')) {
267
-					foreach (is_array($v) ? $v : [$v] as $kn => $vn) {
268
-						if ($new = lien_verifier_action($kn, $vn)) {
269
-							$supprimer[$old] = 'x';
270
-							$ajouter[$new] = '+';
271
-						}
272
-					}
273
-				}
274
-			}
275
-		}
276
-
277
-		if ($supprimer) {
278
-			if (
279
-				$supprimer_objets = charger_fonction(
280
-					"editer_liens_supprimer_{$table_source}_{$objet}_{$objet_lien}",
281
-					'action',
282
-					true
283
-				)
284
-			) {
285
-				$oups = $supprimer_objets($supprimer);
286
-			} else {
287
-				include_spip('action/editer_liens');
288
-				$oups = [];
289
-
290
-				foreach ($supprimer as $k => $v) {
291
-					if ($lien = lien_verifier_action($k, $v)) {
292
-						$lien = explode('-', $lien);
293
-						[$objet_source, $ids, $objet_lie, $idl, $role] = array_pad($lien, 5, null);
294
-						// appliquer une condition sur le rôle si défini ('*' pour tous les roles)
295
-						$cond = (!is_null($role) ? ['role' => $role] : []);
296
-						if ($objet_lien == $objet_source) {
297
-							$oups = array_merge(
298
-								$oups,
299
-								objet_trouver_liens([$objet_source => $ids], [$objet_lie => $idl], $cond)
300
-							);
301
-							objet_dissocier([$objet_source => $ids], [$objet_lie => $idl], $cond);
302
-						} else {
303
-							$oups = array_merge(
304
-								$oups,
305
-								objet_trouver_liens([$objet_lie => $idl], [$objet_source => $ids], $cond)
306
-							);
307
-							objet_dissocier([$objet_lie => $idl], [$objet_source => $ids], $cond);
308
-						}
309
-					}
310
-				}
311
-			}
312
-			if (!empty($oups)) {
313
-				lien_gerer__oups('editer_liens','set', $oups);
314
-			} else {
315
-				lien_gerer__oups('editer_liens','reset');
316
-			}
317
-		}
318
-
319
-		if ($ajouter) {
320
-			if (
321
-				$ajouter_objets = charger_fonction("editer_liens_ajouter_{$table_source}_{$objet}_{$objet_lien}", 'action', true)
322
-			) {
323
-				$ajout_ok = $ajouter_objets($ajouter);
324
-			} else {
325
-				$ajout_ok = false;
326
-				include_spip('action/editer_liens');
327
-				foreach ($ajouter as $k => $v) {
328
-					if ($lien = lien_verifier_action($k, $v)) {
329
-						$ajout_ok = true;
330
-						[$objet1, $ids, $objet2, $idl] = explode('-', $lien);
331
-						$qualifs = lien_retrouver_qualif($objet_lien, $lien);
332
-						if ($objet_lien == $objet1) {
333
-							lien_ajouter_liaisons($objet1, $ids, $objet2, $idl, $qualifs);
334
-						} else {
335
-							lien_ajouter_liaisons($objet2, $idl, $objet1, $ids, $qualifs);
336
-						}
337
-						set_request('id_lien_ajoute', $ids);
338
-					}
339
-				}
340
-			}
341
-			# oups ne persiste que pour la derniere action, si suppression
342
-			# une suppression suivie d'un ajout dans le meme hit est un remplacement
343
-			# non annulable !
344
-			if ($ajout_ok) {
345
-				lien_gerer__oups('editer_liens','reset');
346
-			}
347
-		}
348
-
349
-		if ($ordonner) {
350
-			include_spip('action/editer_liens');
351
-			foreach ($ordonner as $k => $rang_lien) {
352
-				if ($lien = lien_verifier_action($k, '')) {
353
-					[$objet1, $ids, $objet2, $idl] = explode('-', $lien);
354
-					$qualif = ['rang_lien' => $rang_lien];
355
-
356
-					if ($objet_lien == $objet1) {
357
-						objet_qualifier_liens([$objet1 => $ids], [$objet2 => $idl], $qualif);
358
-					} else {
359
-						objet_qualifier_liens([$objet2 => $idl], [$objet1 => $ids], $qualif);
360
-					}
361
-					set_request('id_lien_ajoute', $ids);
362
-					lien_gerer__oups('editer_liens','reset');
363
-				}
364
-			}
365
-		}
366
-	}
367
-
368
-
369
-	return $res;
206
+    // compat avec ancienne signature ou le 4eme argument est $editable
207
+    if (!is_array($options)) {
208
+        $options = ['editable' => $options];
209
+    } elseif (!isset($options['editable'])) {
210
+        $options['editable'] = true;
211
+    }
212
+
213
+    $editable = $options['editable'];
214
+
215
+    $res = ['editable' => $editable ? true : false];
216
+    [$table_source, $objet, $id_objet, $objet_lien] = determine_source_lien_objet($a, $b, $c);
217
+    if (!$table_source or !$objet or !$objet_lien) {
218
+        return $res;
219
+    }
220
+
221
+
222
+    if (_request('tout_voir')) {
223
+        set_request('recherche', '');
224
+    }
225
+
226
+    include_spip('inc/autoriser');
227
+    if (autoriser('modifier', $objet, $id_objet)) {
228
+        // recuperer le oups du coup d'avant pour le propager à charger() si on ne fait rien par exemple
229
+        lien_gerer__oups('editer_liens','request');
230
+
231
+        // annuler les suppressions du coup d'avant ?
232
+        if (
233
+            _request('annuler_oups')
234
+            and $oups = lien_gerer__oups('editer_liens','get')
235
+        ) {
236
+            if ($oups_objets = charger_fonction("editer_liens_oups_{$table_source}_{$objet}_{$objet_lien}", 'action', true)) {
237
+                $oups_objets($oups);
238
+            } else {
239
+                $objet_source = objet_type($table_source);
240
+                include_spip('action/editer_liens');
241
+                foreach ($oups as $oup) {
242
+                    if ($objet_lien == $objet_source) {
243
+                        objet_associer([$objet_source => $oup[$objet_source]], [$objet => $oup[$objet]], $oup);
244
+                    } else {
245
+                        objet_associer([$objet => $oup[$objet]], [$objet_source => $oup[$objet_source]], $oup);
246
+                    }
247
+                }
248
+            }
249
+            # oups ne persiste que pour la derniere action, si suppression
250
+            lien_gerer__oups('editer_liens','reset');
251
+        }
252
+
253
+        $supprimer = _request('supprimer_lien');
254
+        $ajouter = _request('ajouter_lien');
255
+        $ordonner = _request('ordonner_lien');
256
+
257
+        if (_request('desordonner_liens')) {
258
+            include_spip('action/editer_liens');
259
+            objet_qualifier_liens([$objet_lien => '*'], [$objet => $id_objet], ['rang_lien' => 0]);
260
+        }
261
+
262
+        // il est possible de preciser dans une seule variable un remplacement :
263
+        // remplacer_lien[old][new]
264
+        if ($remplacer = _request('remplacer_lien')) {
265
+            foreach ($remplacer as $k => $v) {
266
+                if ($old = lien_verifier_action($k, '')) {
267
+                    foreach (is_array($v) ? $v : [$v] as $kn => $vn) {
268
+                        if ($new = lien_verifier_action($kn, $vn)) {
269
+                            $supprimer[$old] = 'x';
270
+                            $ajouter[$new] = '+';
271
+                        }
272
+                    }
273
+                }
274
+            }
275
+        }
276
+
277
+        if ($supprimer) {
278
+            if (
279
+                $supprimer_objets = charger_fonction(
280
+                    "editer_liens_supprimer_{$table_source}_{$objet}_{$objet_lien}",
281
+                    'action',
282
+                    true
283
+                )
284
+            ) {
285
+                $oups = $supprimer_objets($supprimer);
286
+            } else {
287
+                include_spip('action/editer_liens');
288
+                $oups = [];
289
+
290
+                foreach ($supprimer as $k => $v) {
291
+                    if ($lien = lien_verifier_action($k, $v)) {
292
+                        $lien = explode('-', $lien);
293
+                        [$objet_source, $ids, $objet_lie, $idl, $role] = array_pad($lien, 5, null);
294
+                        // appliquer une condition sur le rôle si défini ('*' pour tous les roles)
295
+                        $cond = (!is_null($role) ? ['role' => $role] : []);
296
+                        if ($objet_lien == $objet_source) {
297
+                            $oups = array_merge(
298
+                                $oups,
299
+                                objet_trouver_liens([$objet_source => $ids], [$objet_lie => $idl], $cond)
300
+                            );
301
+                            objet_dissocier([$objet_source => $ids], [$objet_lie => $idl], $cond);
302
+                        } else {
303
+                            $oups = array_merge(
304
+                                $oups,
305
+                                objet_trouver_liens([$objet_lie => $idl], [$objet_source => $ids], $cond)
306
+                            );
307
+                            objet_dissocier([$objet_lie => $idl], [$objet_source => $ids], $cond);
308
+                        }
309
+                    }
310
+                }
311
+            }
312
+            if (!empty($oups)) {
313
+                lien_gerer__oups('editer_liens','set', $oups);
314
+            } else {
315
+                lien_gerer__oups('editer_liens','reset');
316
+            }
317
+        }
318
+
319
+        if ($ajouter) {
320
+            if (
321
+                $ajouter_objets = charger_fonction("editer_liens_ajouter_{$table_source}_{$objet}_{$objet_lien}", 'action', true)
322
+            ) {
323
+                $ajout_ok = $ajouter_objets($ajouter);
324
+            } else {
325
+                $ajout_ok = false;
326
+                include_spip('action/editer_liens');
327
+                foreach ($ajouter as $k => $v) {
328
+                    if ($lien = lien_verifier_action($k, $v)) {
329
+                        $ajout_ok = true;
330
+                        [$objet1, $ids, $objet2, $idl] = explode('-', $lien);
331
+                        $qualifs = lien_retrouver_qualif($objet_lien, $lien);
332
+                        if ($objet_lien == $objet1) {
333
+                            lien_ajouter_liaisons($objet1, $ids, $objet2, $idl, $qualifs);
334
+                        } else {
335
+                            lien_ajouter_liaisons($objet2, $idl, $objet1, $ids, $qualifs);
336
+                        }
337
+                        set_request('id_lien_ajoute', $ids);
338
+                    }
339
+                }
340
+            }
341
+            # oups ne persiste que pour la derniere action, si suppression
342
+            # une suppression suivie d'un ajout dans le meme hit est un remplacement
343
+            # non annulable !
344
+            if ($ajout_ok) {
345
+                lien_gerer__oups('editer_liens','reset');
346
+            }
347
+        }
348
+
349
+        if ($ordonner) {
350
+            include_spip('action/editer_liens');
351
+            foreach ($ordonner as $k => $rang_lien) {
352
+                if ($lien = lien_verifier_action($k, '')) {
353
+                    [$objet1, $ids, $objet2, $idl] = explode('-', $lien);
354
+                    $qualif = ['rang_lien' => $rang_lien];
355
+
356
+                    if ($objet_lien == $objet1) {
357
+                        objet_qualifier_liens([$objet1 => $ids], [$objet2 => $idl], $qualif);
358
+                    } else {
359
+                        objet_qualifier_liens([$objet2 => $idl], [$objet1 => $ids], $qualif);
360
+                    }
361
+                    set_request('id_lien_ajoute', $ids);
362
+                    lien_gerer__oups('editer_liens','reset');
363
+                }
364
+            }
365
+        }
366
+    }
367
+
368
+
369
+    return $res;
370 370
 }
371 371
 
372 372
 
@@ -389,24 +389,24 @@  discard block
 block discarded – undo
389 389
  * @return string Action demandée si trouvée, sinon ''
390 390
  */
391 391
 function lien_verifier_action($k, $v) {
392
-	$action = '';
393
-	if (preg_match(',^\w+-[\w*]+-[\w*]+-[\w*]+(-[\w*])?,', $k)) {
394
-		$action = $k;
395
-	}
396
-	if (preg_match(',^\w+-[\w*]+-[\w*]+-[\w*]+(-[\w*])?,', $v)) {
397
-		if (is_numeric($k)) {
398
-			$action = $v;
399
-		}
400
-		if (_request($k)) {
401
-			$action = $v;
402
-		}
403
-	}
404
-	// ajout un role null fictif (plus pratique) si pas défini
405
-	if ($action and count(explode('-', $action)) == 4) {
406
-		$action .= '-';
407
-	}
408
-
409
-	return $action;
392
+    $action = '';
393
+    if (preg_match(',^\w+-[\w*]+-[\w*]+-[\w*]+(-[\w*])?,', $k)) {
394
+        $action = $k;
395
+    }
396
+    if (preg_match(',^\w+-[\w*]+-[\w*]+-[\w*]+(-[\w*])?,', $v)) {
397
+        if (is_numeric($k)) {
398
+            $action = $v;
399
+        }
400
+        if (_request($k)) {
401
+            $action = $v;
402
+        }
403
+    }
404
+    // ajout un role null fictif (plus pratique) si pas défini
405
+    if ($action and count(explode('-', $action)) == 4) {
406
+        $action .= '-';
407
+    }
408
+
409
+    return $action;
410 410
 }
411 411
 
412 412
 
@@ -422,66 +422,66 @@  discard block
 block discarded – undo
422 422
  *   Liste des qualifs pour chaque lien. Tableau vide s'il n'y en a pas.
423 423
  **/
424 424
 function lien_retrouver_qualif($objet_lien, $lien) {
425
-	// un role est défini dans la liaison
426
-	$defs = explode('-', $lien);
427
-	[$objet1, , $objet2, , $role] = array_pad($defs, 5, null);
428
-	if ($objet_lien == $objet1) {
429
-		$colonne_role = roles_colonne($objet1, $objet2);
430
-	} else {
431
-		$colonne_role = roles_colonne($objet2, $objet1);
432
-	}
433
-
434
-	// cas ou le role est defini en 5e argument de l'action sur le lien (suppression, ajout rapide sans autre attribut)
435
-	if ($role) {
436
-		return [
437
-			// un seul lien avec ce role
438
-			[$colonne_role => $role]
439
-		];
440
-	}
441
-
442
-	// retrouver les rôles postés pour cette liaison, s'il y en a.
443
-	$qualifier_lien = _request('qualifier_lien');
444
-	if (!$qualifier_lien or !is_array($qualifier_lien)) {
445
-		return [];
446
-	}
447
-
448
-	// pas avec l'action complete (incluant le role)
449
-	$qualif = [];
450
-	if (
451
-		(!isset($qualifier_lien[$lien]) or !$qualif = $qualifier_lien[$lien])
452
-		and count($defs) == 5
453
-	) {
454
-		// on tente avec l'action sans le role
455
-		array_pop($defs);
456
-		$lien = implode('-', $defs);
457
-		if (!isset($qualifier_lien[$lien]) or !$qualif = $qualifier_lien[$lien]) {
458
-			$qualif = [];
459
-		}
460
-	}
461
-
462
-	// $qualif de la forme array(role=>array(...),valeur=>array(...),....)
463
-	// on le reforme en array(array(role=>..,valeur=>..,..),array(role=>..,valeur=>..,..),...)
464
-	$qualifs = [];
465
-	while (is_countable($qualif) ? count($qualif) : 0) {
466
-		$q = [];
467
-		foreach ($qualif as $att => $values) {
468
-			if (is_array($values)) {
469
-				$q[$att] = array_shift($qualif[$att]);
470
-				if (!(is_countable($qualif[$att]) ? count($qualif[$att]) : 0)) {
471
-					unset($qualif[$att]);
472
-				}
473
-			} else {
474
-				$q[$att] = $values;
475
-				unset($qualif[$att]);
476
-			}
477
-		}
478
-		// pas de rôle vide
479
-		if (!$colonne_role or !isset($q[$colonne_role]) or $q[$colonne_role]) {
480
-			$qualifs[] = $q;
481
-		}
482
-	}
483
-
484
-	return $qualifs;
425
+    // un role est défini dans la liaison
426
+    $defs = explode('-', $lien);
427
+    [$objet1, , $objet2, , $role] = array_pad($defs, 5, null);
428
+    if ($objet_lien == $objet1) {
429
+        $colonne_role = roles_colonne($objet1, $objet2);
430
+    } else {
431
+        $colonne_role = roles_colonne($objet2, $objet1);
432
+    }
433
+
434
+    // cas ou le role est defini en 5e argument de l'action sur le lien (suppression, ajout rapide sans autre attribut)
435
+    if ($role) {
436
+        return [
437
+            // un seul lien avec ce role
438
+            [$colonne_role => $role]
439
+        ];
440
+    }
441
+
442
+    // retrouver les rôles postés pour cette liaison, s'il y en a.
443
+    $qualifier_lien = _request('qualifier_lien');
444
+    if (!$qualifier_lien or !is_array($qualifier_lien)) {
445
+        return [];
446
+    }
447
+
448
+    // pas avec l'action complete (incluant le role)
449
+    $qualif = [];
450
+    if (
451
+        (!isset($qualifier_lien[$lien]) or !$qualif = $qualifier_lien[$lien])
452
+        and count($defs) == 5
453
+    ) {
454
+        // on tente avec l'action sans le role
455
+        array_pop($defs);
456
+        $lien = implode('-', $defs);
457
+        if (!isset($qualifier_lien[$lien]) or !$qualif = $qualifier_lien[$lien]) {
458
+            $qualif = [];
459
+        }
460
+    }
461
+
462
+    // $qualif de la forme array(role=>array(...),valeur=>array(...),....)
463
+    // on le reforme en array(array(role=>..,valeur=>..,..),array(role=>..,valeur=>..,..),...)
464
+    $qualifs = [];
465
+    while (is_countable($qualif) ? count($qualif) : 0) {
466
+        $q = [];
467
+        foreach ($qualif as $att => $values) {
468
+            if (is_array($values)) {
469
+                $q[$att] = array_shift($qualif[$att]);
470
+                if (!(is_countable($qualif[$att]) ? count($qualif[$att]) : 0)) {
471
+                    unset($qualif[$att]);
472
+                }
473
+            } else {
474
+                $q[$att] = $values;
475
+                unset($qualif[$att]);
476
+            }
477
+        }
478
+        // pas de rôle vide
479
+        if (!$colonne_role or !isset($q[$colonne_role]) or $q[$colonne_role]) {
480
+            $qualifs[] = $q;
481
+        }
482
+    }
483
+
484
+    return $qualifs;
485 485
 }
486 486
 
487 487
 /**
@@ -500,14 +500,14 @@  discard block
 block discarded – undo
500 500
  **/
501 501
 function lien_ajouter_liaisons($objet_source, $ids, $objet_lien, $idl, $qualifs) {
502 502
 
503
-	// retrouver la colonne de roles s'il y en a a lier
504
-	if (is_array($qualifs) and count($qualifs)) {
505
-		foreach ($qualifs as $qualif) {
506
-			objet_associer([$objet_source => $ids], [$objet_lien => $idl], $qualif);
507
-		}
508
-	} else {
509
-		objet_associer([$objet_source => $ids], [$objet_lien => $idl]);
510
-	}
503
+    // retrouver la colonne de roles s'il y en a a lier
504
+    if (is_array($qualifs) and count($qualifs)) {
505
+        foreach ($qualifs as $qualif) {
506
+            objet_associer([$objet_source => $ids], [$objet_lien => $idl], $qualif);
507
+        }
508
+    } else {
509
+        objet_associer([$objet_source => $ids], [$objet_lien => $idl]);
510
+    }
511 511
 }
512 512
 
513 513
 
@@ -519,79 +519,79 @@  discard block
 block discarded – undo
519 519
  * @return array|string|null
520 520
  */
521 521
 function lien_gerer__oups(string $form, string $action, ?array $valeur = null) {
522
-	static $_oups_value;
523
-
524
-	switch ($action) {
525
-		case 'reset':
526
-			$res = (empty($_oups_value) ? false : true);
527
-			$_oups_value = null;
528
-			return $res;
529
-
530
-		case 'get':
531
-			return $_oups_value ?: null;
532
-
533
-		case 'set':
534
-			$_oups_value = $valeur;
535
-			return true;
536
-
537
-		case 'request':
538
-			$_oups_value = null;
539
-			if ($oups = _request('_oups')) {
540
-				include_spip('inc/filtres');
541
-				// on accepte uniquement une valeur signée
542
-				if ($oups = decoder_contexte_ajax($oups, $form)) {
543
-					if (!is_array($oups)
544
-						or empty($oups['id_auteur'])
545
-						or $oups['id_auteur'] !== $GLOBALS['visiteur_session']['id_auteur']
546
-						or empty($oups['time'])
547
-						or $oups['time'] < $_SERVER['REQUEST_TIME'] - 86400
548
-						or empty($oups['args'])
549
-						or $oups['args'] !== lien_gerer__oups_collecter_args($form, debug_backtrace(null, 5))
550
-						or empty($oups['oups_value'])) {
551
-						$oups = null;
552
-					}
553
-					else {
554
-						$oups = $oups['oups_value'];
555
-						// controler le contenu
556
-						foreach ($oups as $k => $oup) {
557
-							if (!is_array($oup)) {
558
-								unset($oups[$k]);
559
-							}
560
-							else {
561
-								foreach ($oup as $champ => $valeur) {
562
-									if (!is_scalar($champ)
563
-										or !is_scalar($valeur)
564
-										or preg_match(',\W,', $champ)
565
-									) {
566
-										unset($oups[$k][$champ]);
567
-									}
568
-								}
569
-								if (empty($oups[$k])) {
570
-									unset($oups[$k]);
571
-								}
572
-							}
573
-						}
574
-					}
575
-					$_oups_value = $oups;
576
-					return $_oups_value;
577
-				}
578
-			}
579
-			break;
580
-
581
-		case 'hash':
582
-			if (!$_oups_value) {
583
-				return '';
584
-			}
585
-
586
-			include_spip('inc/filtres');
587
-			$oups = [
588
-				'id_auteur' => $GLOBALS['visiteur_session']['id_auteur'] ?? 0,
589
-				'time' => strtotime(date('Y-m-d H:00:00')),
590
-				'args' => lien_gerer__oups_collecter_args($form, debug_backtrace(null, 5)),
591
-				'oups_value' => $_oups_value,
592
-			];
593
-			return encoder_contexte_ajax($oups, $form);
594
-	}
522
+    static $_oups_value;
523
+
524
+    switch ($action) {
525
+        case 'reset':
526
+            $res = (empty($_oups_value) ? false : true);
527
+            $_oups_value = null;
528
+            return $res;
529
+
530
+        case 'get':
531
+            return $_oups_value ?: null;
532
+
533
+        case 'set':
534
+            $_oups_value = $valeur;
535
+            return true;
536
+
537
+        case 'request':
538
+            $_oups_value = null;
539
+            if ($oups = _request('_oups')) {
540
+                include_spip('inc/filtres');
541
+                // on accepte uniquement une valeur signée
542
+                if ($oups = decoder_contexte_ajax($oups, $form)) {
543
+                    if (!is_array($oups)
544
+                        or empty($oups['id_auteur'])
545
+                        or $oups['id_auteur'] !== $GLOBALS['visiteur_session']['id_auteur']
546
+                        or empty($oups['time'])
547
+                        or $oups['time'] < $_SERVER['REQUEST_TIME'] - 86400
548
+                        or empty($oups['args'])
549
+                        or $oups['args'] !== lien_gerer__oups_collecter_args($form, debug_backtrace(null, 5))
550
+                        or empty($oups['oups_value'])) {
551
+                        $oups = null;
552
+                    }
553
+                    else {
554
+                        $oups = $oups['oups_value'];
555
+                        // controler le contenu
556
+                        foreach ($oups as $k => $oup) {
557
+                            if (!is_array($oup)) {
558
+                                unset($oups[$k]);
559
+                            }
560
+                            else {
561
+                                foreach ($oup as $champ => $valeur) {
562
+                                    if (!is_scalar($champ)
563
+                                        or !is_scalar($valeur)
564
+                                        or preg_match(',\W,', $champ)
565
+                                    ) {
566
+                                        unset($oups[$k][$champ]);
567
+                                    }
568
+                                }
569
+                                if (empty($oups[$k])) {
570
+                                    unset($oups[$k]);
571
+                                }
572
+                            }
573
+                        }
574
+                    }
575
+                    $_oups_value = $oups;
576
+                    return $_oups_value;
577
+                }
578
+            }
579
+            break;
580
+
581
+        case 'hash':
582
+            if (!$_oups_value) {
583
+                return '';
584
+            }
585
+
586
+            include_spip('inc/filtres');
587
+            $oups = [
588
+                'id_auteur' => $GLOBALS['visiteur_session']['id_auteur'] ?? 0,
589
+                'time' => strtotime(date('Y-m-d H:00:00')),
590
+                'args' => lien_gerer__oups_collecter_args($form, debug_backtrace(null, 5)),
591
+                'oups_value' => $_oups_value,
592
+            ];
593
+            return encoder_contexte_ajax($oups, $form);
594
+    }
595 595
 }
596 596
 
597 597
 /**
@@ -600,19 +600,19 @@  discard block
 block discarded – undo
600 600
  * @return false|float|int|mixed|Services_JSON_Error|string
601 601
  */
602 602
 function lien_gerer__oups_collecter_args($form, $trace) {
603
-	$args = '';
604
-	if (!empty($trace)) {
605
-		do {
606
-			$t = array_shift($trace);
607
-			$function = $t['function'] ?? '';
608
-			if (strpos($function, 'formulaires_'. $form) === 0) {
609
-				if (isset($t['args'])) {
610
-					$args = json_encode($t['args']);
611
-				}
612
-				break;
613
-			}
614
-		}
615
-		while (count($trace));
616
-	}
617
-	return $args;
603
+    $args = '';
604
+    if (!empty($trace)) {
605
+        do {
606
+            $t = array_shift($trace);
607
+            $function = $t['function'] ?? '';
608
+            if (strpos($function, 'formulaires_'. $form) === 0) {
609
+                if (isset($t['args'])) {
610
+                    $args = json_encode($t['args']);
611
+                }
612
+                break;
613
+            }
614
+        }
615
+        while (count($trace));
616
+    }
617
+    return $args;
618 618
 }
Please login to merge, or discard this patch.
Spacing   +14 added lines, -14 removed lines patch added patch discarded remove patch
@@ -105,7 +105,7 @@  discard block
 block discarded – undo
105 105
 
106 106
 	// L'éditabilité :) est définie par un test permanent (par exemple "associermots") ET le 4ème argument
107 107
 	include_spip('inc/autoriser');
108
-	$editable = ($editable and autoriser('associer' . $table_source, $objet, $id_objet)
108
+	$editable = ($editable and autoriser('associer'.$table_source, $objet, $id_objet)
109 109
 		and autoriser('modifier', $objet, $id_objet));
110 110
 
111 111
 	if (
@@ -119,15 +119,15 @@  discard block
 block discarded – undo
119 119
 
120 120
 	// squelettes de vue et de d'association
121 121
 	// ils sont différents si des rôles sont définis.
122
-	$skel_vue = $table_source . '_lies';
123
-	$skel_ajout = $table_source . '_associer';
122
+	$skel_vue = $table_source.'_lies';
123
+	$skel_ajout = $table_source.'_associer';
124 124
 
125 125
 	// description des roles
126 126
 	include_spip('inc/roles');
127 127
 	if ($roles = roles_presents($objet_source, $objet)) {
128 128
 		// on demande de nouveaux squelettes en conséquence
129
-		$skel_vue = $table_source . '_roles_lies';
130
-		$skel_ajout = $table_source . '_roles_associer';
129
+		$skel_vue = $table_source.'_roles_lies';
130
+		$skel_ajout = $table_source.'_roles_associer';
131 131
 	}
132 132
 
133 133
 	$oups = '';
@@ -226,12 +226,12 @@  discard block
 block discarded – undo
226 226
 	include_spip('inc/autoriser');
227 227
 	if (autoriser('modifier', $objet, $id_objet)) {
228 228
 		// recuperer le oups du coup d'avant pour le propager à charger() si on ne fait rien par exemple
229
-		lien_gerer__oups('editer_liens','request');
229
+		lien_gerer__oups('editer_liens', 'request');
230 230
 
231 231
 		// annuler les suppressions du coup d'avant ?
232 232
 		if (
233 233
 			_request('annuler_oups')
234
-			and $oups = lien_gerer__oups('editer_liens','get')
234
+			and $oups = lien_gerer__oups('editer_liens', 'get')
235 235
 		) {
236 236
 			if ($oups_objets = charger_fonction("editer_liens_oups_{$table_source}_{$objet}_{$objet_lien}", 'action', true)) {
237 237
 				$oups_objets($oups);
@@ -247,7 +247,7 @@  discard block
 block discarded – undo
247 247
 				}
248 248
 			}
249 249
 			# oups ne persiste que pour la derniere action, si suppression
250
-			lien_gerer__oups('editer_liens','reset');
250
+			lien_gerer__oups('editer_liens', 'reset');
251 251
 		}
252 252
 
253 253
 		$supprimer = _request('supprimer_lien');
@@ -310,9 +310,9 @@  discard block
 block discarded – undo
310 310
 				}
311 311
 			}
312 312
 			if (!empty($oups)) {
313
-				lien_gerer__oups('editer_liens','set', $oups);
313
+				lien_gerer__oups('editer_liens', 'set', $oups);
314 314
 			} else {
315
-				lien_gerer__oups('editer_liens','reset');
315
+				lien_gerer__oups('editer_liens', 'reset');
316 316
 			}
317 317
 		}
318 318
 
@@ -342,7 +342,7 @@  discard block
 block discarded – undo
342 342
 			# une suppression suivie d'un ajout dans le meme hit est un remplacement
343 343
 			# non annulable !
344 344
 			if ($ajout_ok) {
345
-				lien_gerer__oups('editer_liens','reset');
345
+				lien_gerer__oups('editer_liens', 'reset');
346 346
 			}
347 347
 		}
348 348
 
@@ -359,7 +359,7 @@  discard block
 block discarded – undo
359 359
 						objet_qualifier_liens([$objet2 => $idl], [$objet1 => $ids], $qualif);
360 360
 					}
361 361
 					set_request('id_lien_ajoute', $ids);
362
-					lien_gerer__oups('editer_liens','reset');
362
+					lien_gerer__oups('editer_liens', 'reset');
363 363
 				}
364 364
 			}
365 365
 		}
@@ -424,7 +424,7 @@  discard block
 block discarded – undo
424 424
 function lien_retrouver_qualif($objet_lien, $lien) {
425 425
 	// un role est défini dans la liaison
426 426
 	$defs = explode('-', $lien);
427
-	[$objet1, , $objet2, , $role] = array_pad($defs, 5, null);
427
+	[$objet1,, $objet2,, $role] = array_pad($defs, 5, null);
428 428
 	if ($objet_lien == $objet1) {
429 429
 		$colonne_role = roles_colonne($objet1, $objet2);
430 430
 	} else {
@@ -605,7 +605,7 @@  discard block
 block discarded – undo
605 605
 		do {
606 606
 			$t = array_shift($trace);
607 607
 			$function = $t['function'] ?? '';
608
-			if (strpos($function, 'formulaires_'. $form) === 0) {
608
+			if (strpos($function, 'formulaires_'.$form) === 0) {
609 609
 				if (isset($t['args'])) {
610 610
 					$args = json_encode($t['args']);
611 611
 				}
Please login to merge, or discard this patch.
Braces   +2 added lines, -4 removed lines patch added patch discarded remove patch
@@ -549,15 +549,13 @@
 block discarded – undo
549 549
 						or $oups['args'] !== lien_gerer__oups_collecter_args($form, debug_backtrace(null, 5))
550 550
 						or empty($oups['oups_value'])) {
551 551
 						$oups = null;
552
-					}
553
-					else {
552
+					} else {
554 553
 						$oups = $oups['oups_value'];
555 554
 						// controler le contenu
556 555
 						foreach ($oups as $k => $oup) {
557 556
 							if (!is_array($oup)) {
558 557
 								unset($oups[$k]);
559
-							}
560
-							else {
558
+							} else {
561 559
 								foreach ($oup as $champ => $valeur) {
562 560
 									if (!is_scalar($champ)
563 561
 										or !is_scalar($valeur)
Please login to merge, or discard this patch.