Completed
Push — master ( 09834f...75dce3 )
by cam
02:05
created
ecrire/lang/ecrire_nl.php 1 patch
Indentation   +822 added lines, -822 removed lines patch added patch discarded remove patch
@@ -5,403 +5,403 @@  discard block
 block discarded – undo
5 5
 
6 6
 return [
7 7
 
8
-	// A
9
-	'activer_plugin' => 'Plugin activeren',
10
-	'affichage' => 'Weergave',
11
-	'aide_non_disponible' => 'Dit deel van de online handleiding is nog niet beschikbaar in het Nederlands.',
12
-	'annuler_recherche' => 'Zoekopdracht stoppen',
13
-	'auteur' => 'Auteur:',
14
-	'avis_acces_interdit' => 'Toegang verboden',
15
-	'avis_acces_interdit_prive' => 'Je hebt geen toegangsrechten voor pagina <b>@exec@</b>.',
16
-	'avis_article_modifie' => 'LET OP: @nom_auteur_modif@ heeft @date_diff@ minuten geleden aan dit artikel gewerkt.',
17
-	'avis_aucun_resultat' => 'Geen resultaat.',
18
-	'avis_base_inaccessible' => 'Kan geen verbinding maken met database @base@.',
19
-	'avis_chemin_invalide_1' => 'De toegang die je hebt gekozen',
20
-	'avis_chemin_invalide_2' => 'lijkt niet geldig. Ga terug naar de vorige pagina en controleer de ingevulde gegevens.',
21
-	'avis_connexion_echec_1' => 'De verbinding met de database is mislukt.',
22
-	'avis_connexion_echec_2' => 'Keer terug naar de vorige pagina en kijk de gegevens na die je hebt ingevuld.',
23
-	'avis_connexion_echec_3' => '<b>LET OP</b> Op veel servers moet je vooraf om activatie van je toegang tot de database <b>vragen</b>. Als je geen verbinding kan maken, kijk dan na of je deze actie hebt ondernomen.',
24
-	'avis_connexion_erreur_creer_base' => 'De database kon niet worden gemaakt.',
25
-	'avis_connexion_erreur_nom_base' => 'De databasenaam kan enkel letters, cijfers en koppeltekens bevatten',
26
-	'avis_connexion_ldap_echec_1' => 'De verbinding met de LDAP-server is mislukt.',
27
-	'avis_connexion_ldap_echec_2' => 'Ga terug naar de vorige pagina en kijk na of de ingevulde gegevens correct zijn.',
28
-	'avis_connexion_ldap_echec_3' => 'Andere mogelijkheid is om de LDAP-ondersteuning om gebruikers in te voeren niet te gebruiken.',
29
-	'avis_deplacement_rubrique' => 'LET OP! Deze rubriek bevat @contient_breves@ nieuwsflits@scb@. Als je wil verplaatsten, bevestig dit dan door hier het vakje aan te vinken.',
30
-	'avis_erreur_connexion_mysql' => 'Verbinding met de SQL connectie mislukt',
31
-	'avis_espace_interdit' => '<b>Toegang verboden</b><div>SPIP is al geïnstalleerd.</div>',
32
-	'avis_lecture_noms_bases_1' => 'Het installatieprogramma heeft de namen van de geïnstalleerde databases niet kunnen lezen.',
33
-	'avis_lecture_noms_bases_2' => 'Geen enkele database is beschikbaar, ofwel is de functie die de databases zou moeten tonen om veiligheidsredenen niet geactiveerd (wat vaak het geval is bij providers).',
34
-	'avis_lecture_noms_bases_3' => 'In het andere geval is het heel waarschijnlijk dat een database met jouw aanmeldingsnaam (login) bruikbaar is:',
35
-	'avis_non_acces_page' => 'Je hebt geen toegang tot deze pagina.',
36
-	'avis_operation_echec' => 'De bewerking is mislukt.',
37
-	'avis_operation_impossible' => 'Onmogelijke handeling',
38
-	'avis_suppression_base' => 'LET OP: Het wissen van de gegevens is onomkeerbaar',
8
+    // A
9
+    'activer_plugin' => 'Plugin activeren',
10
+    'affichage' => 'Weergave',
11
+    'aide_non_disponible' => 'Dit deel van de online handleiding is nog niet beschikbaar in het Nederlands.',
12
+    'annuler_recherche' => 'Zoekopdracht stoppen',
13
+    'auteur' => 'Auteur:',
14
+    'avis_acces_interdit' => 'Toegang verboden',
15
+    'avis_acces_interdit_prive' => 'Je hebt geen toegangsrechten voor pagina <b>@exec@</b>.',
16
+    'avis_article_modifie' => 'LET OP: @nom_auteur_modif@ heeft @date_diff@ minuten geleden aan dit artikel gewerkt.',
17
+    'avis_aucun_resultat' => 'Geen resultaat.',
18
+    'avis_base_inaccessible' => 'Kan geen verbinding maken met database @base@.',
19
+    'avis_chemin_invalide_1' => 'De toegang die je hebt gekozen',
20
+    'avis_chemin_invalide_2' => 'lijkt niet geldig. Ga terug naar de vorige pagina en controleer de ingevulde gegevens.',
21
+    'avis_connexion_echec_1' => 'De verbinding met de database is mislukt.',
22
+    'avis_connexion_echec_2' => 'Keer terug naar de vorige pagina en kijk de gegevens na die je hebt ingevuld.',
23
+    'avis_connexion_echec_3' => '<b>LET OP</b> Op veel servers moet je vooraf om activatie van je toegang tot de database <b>vragen</b>. Als je geen verbinding kan maken, kijk dan na of je deze actie hebt ondernomen.',
24
+    'avis_connexion_erreur_creer_base' => 'De database kon niet worden gemaakt.',
25
+    'avis_connexion_erreur_nom_base' => 'De databasenaam kan enkel letters, cijfers en koppeltekens bevatten',
26
+    'avis_connexion_ldap_echec_1' => 'De verbinding met de LDAP-server is mislukt.',
27
+    'avis_connexion_ldap_echec_2' => 'Ga terug naar de vorige pagina en kijk na of de ingevulde gegevens correct zijn.',
28
+    'avis_connexion_ldap_echec_3' => 'Andere mogelijkheid is om de LDAP-ondersteuning om gebruikers in te voeren niet te gebruiken.',
29
+    'avis_deplacement_rubrique' => 'LET OP! Deze rubriek bevat @contient_breves@ nieuwsflits@scb@. Als je wil verplaatsten, bevestig dit dan door hier het vakje aan te vinken.',
30
+    'avis_erreur_connexion_mysql' => 'Verbinding met de SQL connectie mislukt',
31
+    'avis_espace_interdit' => '<b>Toegang verboden</b><div>SPIP is al geïnstalleerd.</div>',
32
+    'avis_lecture_noms_bases_1' => 'Het installatieprogramma heeft de namen van de geïnstalleerde databases niet kunnen lezen.',
33
+    'avis_lecture_noms_bases_2' => 'Geen enkele database is beschikbaar, ofwel is de functie die de databases zou moeten tonen om veiligheidsredenen niet geactiveerd (wat vaak het geval is bij providers).',
34
+    'avis_lecture_noms_bases_3' => 'In het andere geval is het heel waarschijnlijk dat een database met jouw aanmeldingsnaam (login) bruikbaar is:',
35
+    'avis_non_acces_page' => 'Je hebt geen toegang tot deze pagina.',
36
+    'avis_operation_echec' => 'De bewerking is mislukt.',
37
+    'avis_operation_impossible' => 'Onmogelijke handeling',
38
+    'avis_suppression_base' => 'LET OP: Het wissen van de gegevens is onomkeerbaar',
39 39
 
40
-	// B
41
-	'bouton_acces_ldap' => 'LDAP toegang toevoegen',
42
-	'bouton_ajouter' => 'Toevoegen',
43
-	'bouton_annuler' => 'Annuleren',
44
-	'bouton_cache_activer' => 'Buffer (cache) reactiveren',
45
-	'bouton_cache_desactiver' => 'Buffer (cache) tijdelijk uitschakelen',
46
-	'bouton_demande_publication' => 'De publicatie van het artikel vragen',
47
-	'bouton_desactive_tout' => 'Alles deactiveren',
48
-	'bouton_desinstaller' => 'Terugtrekken',
49
-	'bouton_effacer_tout' => 'ALLES wissen',
50
-	'bouton_envoyer_message' => 'Definitief bericht: versturen',
51
-	'bouton_fermer' => 'Sluiten',
52
-	'bouton_mettre_a_jour_base' => 'Database update',
53
-	'bouton_modifier' => 'Wijzigen',
54
-	'bouton_radio_afficher' => 'Weergeven',
55
-	'bouton_radio_apparaitre_liste_redacteurs_connectes' => 'Opnemen in de lijst van online redacteurs',
56
-	'bouton_radio_envoi_annonces_adresse' => 'Aankondigingen verzenden naar dit adres:',
57
-	'bouton_radio_envoi_liste_nouveautes' => 'De lijst met nieuwe bijdragen versturen',
58
-	'bouton_radio_non_apparaitre_liste_redacteurs_connectes' => 'Niet opnemen in de lijst van redacteurs',
59
-	'bouton_radio_non_envoi_annonces_editoriales' => 'Geen editoriale aankondigingen versturen',
60
-	'bouton_redirection' => 'OMLEIDING',
61
-	'bouton_reinitialiser_aux_valeurs_par_defaut' => 'Terugzetten naar de standaardwaardes',
62
-	'bouton_relancer_installation' => 'Installatie herstarten',
63
-	'bouton_reset_password' => 'Een nieuw wachtwoord genereren en per email opsturen',
64
-	'bouton_suivant' => 'Volgende',
65
-	'bouton_tenter_recuperation' => 'Poging tot herstel',
66
-	'bouton_test_proxy' => 'Proxy proberen',
67
-	'bouton_vider_cache' => 'De buffer (cache) leegmaken',
40
+    // B
41
+    'bouton_acces_ldap' => 'LDAP toegang toevoegen',
42
+    'bouton_ajouter' => 'Toevoegen',
43
+    'bouton_annuler' => 'Annuleren',
44
+    'bouton_cache_activer' => 'Buffer (cache) reactiveren',
45
+    'bouton_cache_desactiver' => 'Buffer (cache) tijdelijk uitschakelen',
46
+    'bouton_demande_publication' => 'De publicatie van het artikel vragen',
47
+    'bouton_desactive_tout' => 'Alles deactiveren',
48
+    'bouton_desinstaller' => 'Terugtrekken',
49
+    'bouton_effacer_tout' => 'ALLES wissen',
50
+    'bouton_envoyer_message' => 'Definitief bericht: versturen',
51
+    'bouton_fermer' => 'Sluiten',
52
+    'bouton_mettre_a_jour_base' => 'Database update',
53
+    'bouton_modifier' => 'Wijzigen',
54
+    'bouton_radio_afficher' => 'Weergeven',
55
+    'bouton_radio_apparaitre_liste_redacteurs_connectes' => 'Opnemen in de lijst van online redacteurs',
56
+    'bouton_radio_envoi_annonces_adresse' => 'Aankondigingen verzenden naar dit adres:',
57
+    'bouton_radio_envoi_liste_nouveautes' => 'De lijst met nieuwe bijdragen versturen',
58
+    'bouton_radio_non_apparaitre_liste_redacteurs_connectes' => 'Niet opnemen in de lijst van redacteurs',
59
+    'bouton_radio_non_envoi_annonces_editoriales' => 'Geen editoriale aankondigingen versturen',
60
+    'bouton_redirection' => 'OMLEIDING',
61
+    'bouton_reinitialiser_aux_valeurs_par_defaut' => 'Terugzetten naar de standaardwaardes',
62
+    'bouton_relancer_installation' => 'Installatie herstarten',
63
+    'bouton_reset_password' => 'Een nieuw wachtwoord genereren en per email opsturen',
64
+    'bouton_suivant' => 'Volgende',
65
+    'bouton_tenter_recuperation' => 'Poging tot herstel',
66
+    'bouton_test_proxy' => 'Proxy proberen',
67
+    'bouton_vider_cache' => 'De buffer (cache) leegmaken',
68 68
 
69
-	// C
70
-	'cache_modifiable_webmestre' => 'Deze parameter kan door de webmaster van de site gewijzigd worden.',
71
-	'calendrier_synchro' => 'Wanneer je <b>iCal</b> compatibele agendasoftware gebruikt, kan je deze synchroniseren met informatie van deze site.',
72
-	'config_activer_champs' => 'De volgende velden activeren',
73
-	'config_choix_base_sup' => 'een database op deze server kiezen',
74
-	'config_erreur_base_sup' => 'SPIP heeft geen toegang tot de lijst van toegankelijke databases',
75
-	'config_info_base_sup' => 'Als je andere databases hebt om door SPIP te ondervragen, met zijn SQL server of anders, kan je deze via onderstaand formulier opgeven. Als je bepaalde velden leeg laat, zullen de identificatiegegevens van de primaire database gebruikt worden.',
76
-	'config_info_base_sup_disponibles' => 'De reeds opvraagbare aanvullende databases:',
77
-	'config_info_enregistree' => 'De nieuwe configuratie werd bewaard',
78
-	'config_info_logos' => 'Elk element van de site kan een logo hebben, evenals een « zwevend logo »',
79
-	'config_info_logos_utiliser' => 'Logo’s gebruiken',
80
-	'config_info_logos_utiliser_non' => 'Logo’s niet gebruiken',
81
-	'config_info_logos_utiliser_survol' => 'Zwevende logo’s gebruiken',
82
-	'config_info_logos_utiliser_survol_non' => 'Geen zwevende logo’s gebruiken',
83
-	'config_info_redirection' => 'Door deze optie te activeren, kan je virtuele artikelen maken, eenvoudige verwijzen naar gepubliceerde artikelen op andere sites, ook buiten SPIP.',
84
-	'config_redirection' => 'Virtuele artikelen',
85
-	'config_titre_base_sup' => 'Declareren van een extra database',
86
-	'config_titre_base_sup_choix' => 'Kies een extra database',
87
-	'connexion_ldap' => 'Aansluiten:',
88
-	'creer_et_associer_un_auteur' => 'Maken en associëren een auteur',
69
+    // C
70
+    'cache_modifiable_webmestre' => 'Deze parameter kan door de webmaster van de site gewijzigd worden.',
71
+    'calendrier_synchro' => 'Wanneer je <b>iCal</b> compatibele agendasoftware gebruikt, kan je deze synchroniseren met informatie van deze site.',
72
+    'config_activer_champs' => 'De volgende velden activeren',
73
+    'config_choix_base_sup' => 'een database op deze server kiezen',
74
+    'config_erreur_base_sup' => 'SPIP heeft geen toegang tot de lijst van toegankelijke databases',
75
+    'config_info_base_sup' => 'Als je andere databases hebt om door SPIP te ondervragen, met zijn SQL server of anders, kan je deze via onderstaand formulier opgeven. Als je bepaalde velden leeg laat, zullen de identificatiegegevens van de primaire database gebruikt worden.',
76
+    'config_info_base_sup_disponibles' => 'De reeds opvraagbare aanvullende databases:',
77
+    'config_info_enregistree' => 'De nieuwe configuratie werd bewaard',
78
+    'config_info_logos' => 'Elk element van de site kan een logo hebben, evenals een « zwevend logo »',
79
+    'config_info_logos_utiliser' => 'Logo’s gebruiken',
80
+    'config_info_logos_utiliser_non' => 'Logo’s niet gebruiken',
81
+    'config_info_logos_utiliser_survol' => 'Zwevende logo’s gebruiken',
82
+    'config_info_logos_utiliser_survol_non' => 'Geen zwevende logo’s gebruiken',
83
+    'config_info_redirection' => 'Door deze optie te activeren, kan je virtuele artikelen maken, eenvoudige verwijzen naar gepubliceerde artikelen op andere sites, ook buiten SPIP.',
84
+    'config_redirection' => 'Virtuele artikelen',
85
+    'config_titre_base_sup' => 'Declareren van een extra database',
86
+    'config_titre_base_sup_choix' => 'Kies een extra database',
87
+    'connexion_ldap' => 'Aansluiten:',
88
+    'creer_et_associer_un_auteur' => 'Maken en associëren een auteur',
89 89
 
90
-	// D
91
-	'date_mot_heures' => 'uur',
90
+    // D
91
+    'date_mot_heures' => 'uur',
92 92
 
93
-	// E
94
-	'ecran_securite' => '+ beveiligingsscherm @version@',
95
-	'email' => 'e-mail',
96
-	'email_2' => 'e-mail:',
97
-	'en_savoir_plus' => 'Meer weten hierover',
98
-	'entree_adresse_annuaire' => 'Plaats van het adresboek',
99
-	'entree_adresse_email' => 'Je e-mailadres',
100
-	'entree_adresse_email_2' => 'E-mailadres',
101
-	'entree_base_donnee_1' => 'Adres van de database',
102
-	'entree_base_donnee_2' => '(Vaak komt dit adres overeen met dat van je website, soms is het gewoon de vermelding «localhost» of kan je het veld blanco laten.)',
103
-	'entree_biographie' => 'Korte biografie in enkele woorden.',
104
-	'entree_chemin_acces' => '<b>Invullen</b> van de toegangscode :',
105
-	'entree_cle_pgp' => 'Je PGP-sleutel',
106
-	'entree_cle_pgp_2' => 'PGP-sleutel',
107
-	'entree_contenu_rubrique' => '(Inhoud van de rubriek in enkele woorden)',
108
-	'entree_identifiants_connexion' => 'Je verbindingsgegevens...',
109
-	'entree_identifiants_connexion_2' => 'Login',
110
-	'entree_informations_connexion_ldap' => 'Vul hier de gegevens in om verbinding te maken met het LDAP adresboek. Deze gegevens kan je opvragen bij de systeem- of netwerkbeheerder.',
111
-	'entree_infos_perso' => 'Wie ben je ?',
112
-	'entree_infos_perso_2' => 'Wie is de auteur ?',
113
-	'entree_interieur_rubrique' => 'In de rubriek:',
114
-	'entree_liens_sites' => '<b>Hypertext link</b> (verwijzing, te bezoeken website ...)',
115
-	'entree_login' => 'Je login',
116
-	'entree_login_connexion_1' => 'De login voor de verbinding',
117
-	'entree_login_connexion_2' => '(Komt soms overeen met je FTP-loginnaam; soms wordt dit niet ingevuld)',
118
-	'entree_mot_passe' => 'Je wachtwoord',
119
-	'entree_mot_passe_1' => 'Wachtwoord voor deze verbinding ',
120
-	'entree_mot_passe_2' => '(Komt vaak overeen met je wachtwoord voor FTP-toegang; soms kan je dit ook blanco laten)',
121
-	'entree_nom_fichier' => 'Vul hier de naam in van het bestand @texte_compresse@:',
122
-	'entree_nom_pseudo' => 'je naam of bijnaam',
123
-	'entree_nom_pseudo_1' => '(Je naam of bijnaam)',
124
-	'entree_nom_pseudo_2' => 'Naam of bijnaam',
125
-	'entree_nom_site' => 'De websitenaam',
126
-	'entree_nom_site_2' => 'Naam van de site van de auteur',
127
-	'entree_nouveau_passe' => 'Nieuw wachtwoord',
128
-	'entree_passe_ldap' => 'Wachtwoord',
129
-	'entree_port_annuaire' => 'Het poortnummer van het adresboek',
130
-	'entree_signature' => 'Handtekening',
131
-	'entree_titre_obligatoire' => '<b>Titel</b> [verplicht]<br />',
132
-	'entree_url' => 'Je website-adres (URL)',
133
-	'entree_url_2' => 'Adres van de site (URL)',
134
-	'erreur_connect_deja_existant' => 'Een server met die naam bestaat al',
135
-	'erreur_contenu_suspect' => 'Slecht opgebouwde tekst',
136
-	'erreur_email_deja_existant' => 'Dit emailadres is al geregistreerd.',
137
-	'erreur_nom_connect_incorrect' => 'Deze server naam is niet toegestaan',
138
-	'erreur_plugin_attribut_balise_manquant' => 'Attribuut @attribut@ ontbreekt in lus @balise@.',
139
-	'erreur_plugin_desinstalation_echouee' => 'Het verwijderen van de plugin is mislukt. Maar je kunt hem wel uitschakelen.',
140
-	'erreur_plugin_fichier_absent' => 'Bestand ontbreekt',
141
-	'erreur_plugin_fichier_def_absent' => 'Definitiebestand ontbreekt',
142
-	'erreur_plugin_nom_fonction_interdit' => 'Functienaam verboden',
143
-	'erreur_plugin_nom_manquant' => 'Naam van de ontbrekende plugin',
144
-	'erreur_plugin_prefix_manquant' => 'Ruimte voor de naamgeving van de plugin is niet gedefinieerd',
145
-	'erreur_plugin_tag_plugin_absent' => '&lt;plugin&gt; ontbreekt in het definitiebestand',
146
-	'erreur_plugin_version_manquant' => 'Versie van de ontbrekende plugin',
93
+    // E
94
+    'ecran_securite' => '+ beveiligingsscherm @version@',
95
+    'email' => 'e-mail',
96
+    'email_2' => 'e-mail:',
97
+    'en_savoir_plus' => 'Meer weten hierover',
98
+    'entree_adresse_annuaire' => 'Plaats van het adresboek',
99
+    'entree_adresse_email' => 'Je e-mailadres',
100
+    'entree_adresse_email_2' => 'E-mailadres',
101
+    'entree_base_donnee_1' => 'Adres van de database',
102
+    'entree_base_donnee_2' => '(Vaak komt dit adres overeen met dat van je website, soms is het gewoon de vermelding «localhost» of kan je het veld blanco laten.)',
103
+    'entree_biographie' => 'Korte biografie in enkele woorden.',
104
+    'entree_chemin_acces' => '<b>Invullen</b> van de toegangscode :',
105
+    'entree_cle_pgp' => 'Je PGP-sleutel',
106
+    'entree_cle_pgp_2' => 'PGP-sleutel',
107
+    'entree_contenu_rubrique' => '(Inhoud van de rubriek in enkele woorden)',
108
+    'entree_identifiants_connexion' => 'Je verbindingsgegevens...',
109
+    'entree_identifiants_connexion_2' => 'Login',
110
+    'entree_informations_connexion_ldap' => 'Vul hier de gegevens in om verbinding te maken met het LDAP adresboek. Deze gegevens kan je opvragen bij de systeem- of netwerkbeheerder.',
111
+    'entree_infos_perso' => 'Wie ben je ?',
112
+    'entree_infos_perso_2' => 'Wie is de auteur ?',
113
+    'entree_interieur_rubrique' => 'In de rubriek:',
114
+    'entree_liens_sites' => '<b>Hypertext link</b> (verwijzing, te bezoeken website ...)',
115
+    'entree_login' => 'Je login',
116
+    'entree_login_connexion_1' => 'De login voor de verbinding',
117
+    'entree_login_connexion_2' => '(Komt soms overeen met je FTP-loginnaam; soms wordt dit niet ingevuld)',
118
+    'entree_mot_passe' => 'Je wachtwoord',
119
+    'entree_mot_passe_1' => 'Wachtwoord voor deze verbinding ',
120
+    'entree_mot_passe_2' => '(Komt vaak overeen met je wachtwoord voor FTP-toegang; soms kan je dit ook blanco laten)',
121
+    'entree_nom_fichier' => 'Vul hier de naam in van het bestand @texte_compresse@:',
122
+    'entree_nom_pseudo' => 'je naam of bijnaam',
123
+    'entree_nom_pseudo_1' => '(Je naam of bijnaam)',
124
+    'entree_nom_pseudo_2' => 'Naam of bijnaam',
125
+    'entree_nom_site' => 'De websitenaam',
126
+    'entree_nom_site_2' => 'Naam van de site van de auteur',
127
+    'entree_nouveau_passe' => 'Nieuw wachtwoord',
128
+    'entree_passe_ldap' => 'Wachtwoord',
129
+    'entree_port_annuaire' => 'Het poortnummer van het adresboek',
130
+    'entree_signature' => 'Handtekening',
131
+    'entree_titre_obligatoire' => '<b>Titel</b> [verplicht]<br />',
132
+    'entree_url' => 'Je website-adres (URL)',
133
+    'entree_url_2' => 'Adres van de site (URL)',
134
+    'erreur_connect_deja_existant' => 'Een server met die naam bestaat al',
135
+    'erreur_contenu_suspect' => 'Slecht opgebouwde tekst',
136
+    'erreur_email_deja_existant' => 'Dit emailadres is al geregistreerd.',
137
+    'erreur_nom_connect_incorrect' => 'Deze server naam is niet toegestaan',
138
+    'erreur_plugin_attribut_balise_manquant' => 'Attribuut @attribut@ ontbreekt in lus @balise@.',
139
+    'erreur_plugin_desinstalation_echouee' => 'Het verwijderen van de plugin is mislukt. Maar je kunt hem wel uitschakelen.',
140
+    'erreur_plugin_fichier_absent' => 'Bestand ontbreekt',
141
+    'erreur_plugin_fichier_def_absent' => 'Definitiebestand ontbreekt',
142
+    'erreur_plugin_nom_fonction_interdit' => 'Functienaam verboden',
143
+    'erreur_plugin_nom_manquant' => 'Naam van de ontbrekende plugin',
144
+    'erreur_plugin_prefix_manquant' => 'Ruimte voor de naamgeving van de plugin is niet gedefinieerd',
145
+    'erreur_plugin_tag_plugin_absent' => '&lt;plugin&gt; ontbreekt in het definitiebestand',
146
+    'erreur_plugin_version_manquant' => 'Versie van de ontbrekende plugin',
147 147
 
148
-	// H
149
-	'htaccess_a_simuler' => 'Waarschuwing: De configuratie van de HTTP-server negeert @htaccess@ bestanden. Om een goede beveiliging te hebben, moet je deze configuratie wijzigen, of de constanten @constantes@ (definieerbaar in het bestand mes_options.php) laten verwijzen naar mappen buiten @document_root@. ', # Je ne vois pas la modif ! La trad reste valable.
150
-	'htaccess_inoperant' => 'htaccess werkt niet',
148
+    // H
149
+    'htaccess_a_simuler' => 'Waarschuwing: De configuratie van de HTTP-server negeert @htaccess@ bestanden. Om een goede beveiliging te hebben, moet je deze configuratie wijzigen, of de constanten @constantes@ (definieerbaar in het bestand mes_options.php) laten verwijzen naar mappen buiten @document_root@. ', # Je ne vois pas la modif ! La trad reste valable.
150
+    'htaccess_inoperant' => 'htaccess werkt niet',
151 151
 
152
-	// I
153
-	'ical_info1' => 'Deze pagina toont de verschillende wijzen waarop je contact kan houden met het gebeuren van deze website.',
154
-	'ical_info2' => 'Voor meer inlichtingen over al deze technieken, aarzelt niet om <a href=" @spipnet@" te raadplegen >de documentatie van SPIP</a>.',
155
-	'ical_info_calendrier' => 'Twee kalenders zijn beschikbaar. De eerste geeft een overzicht van alle gepubliceerde artikelen. De tweede bevat editoriale berichten en je meest recente privé-berichten : deze tweede kalender is afgeschermd voor andere gebruikers door een persoonlijke sleutel die je op elk moment kan wijzigen door je wachtwoord te vernieuwen.',
156
-	'ical_methode_http' => 'Downloaden',
157
-	'ical_methode_webcal' => 'Synchronisatie (webcal://)',
158
-	'ical_texte_prive' => 'Deze kalender is voor persoonlijk gebruik en houdt je op de hoogte van je eigen editoriale activiteit (taken en persoonlijke afspraken, voorgestelde artikelen en nieuwsflitsen...).',
159
-	'ical_texte_public' => 'Via deze kalender kan je de publieke activiteit van de site volgen (gepubliceerde artikelen en nieuwsflitsen).',
160
-	'ical_texte_rss' => 'Je kan de nieuwe berichten van de site overnemen (syndiceren) op een andere site in eender welke bestandslezer via het formaat XML/RSS (Rich Site Summary). Dit is hetzelfde formaat dat SPIP toelaat nieuws over te nemen van andere sites die een uitwisselbaar formaat hanteren (gesyndiceerde sites).',
161
-	'ical_titre_js' => 'Javascript',
162
-	'ical_titre_mailing' => 'Mailinglijst',
163
-	'ical_titre_rss' => 'Syndicatiebestanden',
164
-	'icone_accueil' => 'Home',
165
-	'icone_activer_cookie' => 'De toegangskoekie activeren',
166
-	'icone_activite' => 'Activiteit',
167
-	'icone_admin_plugin' => 'Plugin beheer',
168
-	'icone_administration' => 'Beheer',
169
-	'icone_afficher_auteurs' => 'Auteurs tonen',
170
-	'icone_afficher_visiteurs' => 'Bezoekers tonen',
171
-	'icone_arret_discussion' => 'Niet langer deelnemen aan deze discussie',
172
-	'icone_calendrier' => 'Kalender',
173
-	'icone_configuration' => 'Configuratie',
174
-	'icone_creer_auteur' => 'Een nieuwe auteur aanmaken en koppelen aan dit artikel',
175
-	'icone_creer_mot_cle' => 'Een nieuw trefwoord aanmaken en koppelen aan dit artikel',
176
-	'icone_creer_rubrique_2' => 'Een nieuwe rubriek aanmaken',
177
-	'icone_developpement' => 'Ontwikkeling',
178
-	'icone_edition' => 'Items',
179
-	'icone_ma_langue' => 'Mijn taal',
180
-	'icone_mes_infos' => 'Mijn informatie',
181
-	'icone_mes_preferences' => 'Mijn Voorkeuren',
182
-	'icone_modifier_article' => 'Dit artikel wijzigen',
183
-	'icone_modifier_rubrique' => 'Deze rubriek wijzigen',
184
-	'icone_publication' => 'Publicatie',
185
-	'icone_relancer_signataire' => 'De ondertekenaar heractiveren',
186
-	'icone_retour' => 'Terug',
187
-	'icone_retour_article' => 'Terug naar artikel',
188
-	'icone_squelette' => 'Skeletten',
189
-	'icone_suivi_publication' => 'Publicaties volgen',
190
-	'icone_supprimer_cookie' => 'De toegangskoekie verwijderen',
191
-	'icone_supprimer_rubrique' => 'Deze rubriek wissen',
192
-	'icone_supprimer_signature' => 'Deze naam wissen',
193
-	'icone_valider_signature' => 'Deze naam goedkeuren',
194
-	'image_administrer_rubrique' => 'Je kan deze rubriek beheren',
195
-	'impossible_modifier_login_auteur' => 'De login kan niet worden veranderd.',
196
-	'impossible_modifier_pass_auteur' => 'Het wachtwoord kan niet worden gewijzigd.',
197
-	'info_1_article' => '1 artikel',
198
-	'info_1_auteur' => '1 auteur',
199
-	'info_1_message' => '1 bericht',
200
-	'info_1_mot_cle' => '1 trefwoord',
201
-	'info_1_rubrique' => '1 rubriek',
202
-	'info_1_visiteur' => '1 bezoeker',
203
-	'info_activer_cookie' => 'Je kan een <b>toegangskoekie</b> activeren, waardoor je makkelijk kan wisselen tussen de het publieke en het privé gedeelte van de website.',
204
-	'info_activer_menu_developpement' => 'Toon het menu Ontwikkeling',
205
-	'info_admin_etre_webmestre' => 'Geef me de webmaster rechten',
206
-	'info_admin_je_suis_webmestre' => 'Ik ben <b>webmaster</b>',
207
-	'info_admin_statuer_webmestre' => 'Geef deze beheerder webmaster rechten',
208
-	'info_admin_webmestre' => 'Deze beheerder is <b>webmaster</b>',
209
-	'info_administrateur' => 'Beheerder',
210
-	'info_administrateur_1' => 'Beheerder',
211
-	'info_administrateur_2' => 'van de website (<i>voorzichtig gebruiken</i>)',
212
-	'info_administrateur_site_01' => 'Als je beheerder bent van deze site, gelieve',
213
-	'info_administrateur_site_02' => 'deze koppeling aan te klikken',
214
-	'info_administrateurs' => 'Beheerders',
215
-	'info_administrer_rubrique' => 'Je kan deze rubriek beheren',
216
-	'info_adresse' => 'aan/naar het adres:',
217
-	'info_adresse_desinscription' => 'Adres voor uitschrijven:',
218
-	'info_adresse_url' => 'Adres (URL) van de website',
219
-	'info_afficher_par_nb' => 'Tonen',
220
-	'info_aide_en_ligne' => 'ONLINE HELP VAN SPIP',
221
-	'info_ajout_image' => 'Als je afbeeldingen als bijlage aan een document toevoegt, kan SPIP hiervan automatisch miniaturen aanmaken. Hierdoor kan je bvb. automatisch een fotogalerij of portfolio aanmaken.
152
+    // I
153
+    'ical_info1' => 'Deze pagina toont de verschillende wijzen waarop je contact kan houden met het gebeuren van deze website.',
154
+    'ical_info2' => 'Voor meer inlichtingen over al deze technieken, aarzelt niet om <a href=" @spipnet@" te raadplegen >de documentatie van SPIP</a>.',
155
+    'ical_info_calendrier' => 'Twee kalenders zijn beschikbaar. De eerste geeft een overzicht van alle gepubliceerde artikelen. De tweede bevat editoriale berichten en je meest recente privé-berichten : deze tweede kalender is afgeschermd voor andere gebruikers door een persoonlijke sleutel die je op elk moment kan wijzigen door je wachtwoord te vernieuwen.',
156
+    'ical_methode_http' => 'Downloaden',
157
+    'ical_methode_webcal' => 'Synchronisatie (webcal://)',
158
+    'ical_texte_prive' => 'Deze kalender is voor persoonlijk gebruik en houdt je op de hoogte van je eigen editoriale activiteit (taken en persoonlijke afspraken, voorgestelde artikelen en nieuwsflitsen...).',
159
+    'ical_texte_public' => 'Via deze kalender kan je de publieke activiteit van de site volgen (gepubliceerde artikelen en nieuwsflitsen).',
160
+    'ical_texte_rss' => 'Je kan de nieuwe berichten van de site overnemen (syndiceren) op een andere site in eender welke bestandslezer via het formaat XML/RSS (Rich Site Summary). Dit is hetzelfde formaat dat SPIP toelaat nieuws over te nemen van andere sites die een uitwisselbaar formaat hanteren (gesyndiceerde sites).',
161
+    'ical_titre_js' => 'Javascript',
162
+    'ical_titre_mailing' => 'Mailinglijst',
163
+    'ical_titre_rss' => 'Syndicatiebestanden',
164
+    'icone_accueil' => 'Home',
165
+    'icone_activer_cookie' => 'De toegangskoekie activeren',
166
+    'icone_activite' => 'Activiteit',
167
+    'icone_admin_plugin' => 'Plugin beheer',
168
+    'icone_administration' => 'Beheer',
169
+    'icone_afficher_auteurs' => 'Auteurs tonen',
170
+    'icone_afficher_visiteurs' => 'Bezoekers tonen',
171
+    'icone_arret_discussion' => 'Niet langer deelnemen aan deze discussie',
172
+    'icone_calendrier' => 'Kalender',
173
+    'icone_configuration' => 'Configuratie',
174
+    'icone_creer_auteur' => 'Een nieuwe auteur aanmaken en koppelen aan dit artikel',
175
+    'icone_creer_mot_cle' => 'Een nieuw trefwoord aanmaken en koppelen aan dit artikel',
176
+    'icone_creer_rubrique_2' => 'Een nieuwe rubriek aanmaken',
177
+    'icone_developpement' => 'Ontwikkeling',
178
+    'icone_edition' => 'Items',
179
+    'icone_ma_langue' => 'Mijn taal',
180
+    'icone_mes_infos' => 'Mijn informatie',
181
+    'icone_mes_preferences' => 'Mijn Voorkeuren',
182
+    'icone_modifier_article' => 'Dit artikel wijzigen',
183
+    'icone_modifier_rubrique' => 'Deze rubriek wijzigen',
184
+    'icone_publication' => 'Publicatie',
185
+    'icone_relancer_signataire' => 'De ondertekenaar heractiveren',
186
+    'icone_retour' => 'Terug',
187
+    'icone_retour_article' => 'Terug naar artikel',
188
+    'icone_squelette' => 'Skeletten',
189
+    'icone_suivi_publication' => 'Publicaties volgen',
190
+    'icone_supprimer_cookie' => 'De toegangskoekie verwijderen',
191
+    'icone_supprimer_rubrique' => 'Deze rubriek wissen',
192
+    'icone_supprimer_signature' => 'Deze naam wissen',
193
+    'icone_valider_signature' => 'Deze naam goedkeuren',
194
+    'image_administrer_rubrique' => 'Je kan deze rubriek beheren',
195
+    'impossible_modifier_login_auteur' => 'De login kan niet worden veranderd.',
196
+    'impossible_modifier_pass_auteur' => 'Het wachtwoord kan niet worden gewijzigd.',
197
+    'info_1_article' => '1 artikel',
198
+    'info_1_auteur' => '1 auteur',
199
+    'info_1_message' => '1 bericht',
200
+    'info_1_mot_cle' => '1 trefwoord',
201
+    'info_1_rubrique' => '1 rubriek',
202
+    'info_1_visiteur' => '1 bezoeker',
203
+    'info_activer_cookie' => 'Je kan een <b>toegangskoekie</b> activeren, waardoor je makkelijk kan wisselen tussen de het publieke en het privé gedeelte van de website.',
204
+    'info_activer_menu_developpement' => 'Toon het menu Ontwikkeling',
205
+    'info_admin_etre_webmestre' => 'Geef me de webmaster rechten',
206
+    'info_admin_je_suis_webmestre' => 'Ik ben <b>webmaster</b>',
207
+    'info_admin_statuer_webmestre' => 'Geef deze beheerder webmaster rechten',
208
+    'info_admin_webmestre' => 'Deze beheerder is <b>webmaster</b>',
209
+    'info_administrateur' => 'Beheerder',
210
+    'info_administrateur_1' => 'Beheerder',
211
+    'info_administrateur_2' => 'van de website (<i>voorzichtig gebruiken</i>)',
212
+    'info_administrateur_site_01' => 'Als je beheerder bent van deze site, gelieve',
213
+    'info_administrateur_site_02' => 'deze koppeling aan te klikken',
214
+    'info_administrateurs' => 'Beheerders',
215
+    'info_administrer_rubrique' => 'Je kan deze rubriek beheren',
216
+    'info_adresse' => 'aan/naar het adres:',
217
+    'info_adresse_desinscription' => 'Adres voor uitschrijven:',
218
+    'info_adresse_url' => 'Adres (URL) van de website',
219
+    'info_afficher_par_nb' => 'Tonen',
220
+    'info_aide_en_ligne' => 'ONLINE HELP VAN SPIP',
221
+    'info_ajout_image' => 'Als je afbeeldingen als bijlage aan een document toevoegt, kan SPIP hiervan automatisch miniaturen aanmaken. Hierdoor kan je bvb. automatisch een fotogalerij of portfolio aanmaken.
222 222
 ',
223
-	'info_ajouter_rubrique' => 'Een nieuwe rubriek toevoegen om te beheren:',
224
-	'info_annonce_nouveautes' => 'Aankondiging van nieuwe bijdragen',
225
-	'info_article' => 'artikel',
226
-	'info_article_2' => 'artikelen',
227
-	'info_article_a_paraitre' => 'Te publiceren artikelen met postdatering',
228
-	'info_articles_02' => 'artikelen',
229
-	'info_articles_2' => 'Artikelen',
230
-	'info_articles_auteur' => 'Artikelen van deze auteur',
231
-	'info_articles_miens' => 'Mijn artikelen',
232
-	'info_articles_tous' => 'Alle artikelen',
233
-	'info_articles_trouves' => 'Gevonden artikelen',
234
-	'info_attente_validation' => 'Je artikelen die op goedkeuring wachten',
235
-	'info_aucun_article' => 'Geen artikelen',
236
-	'info_aucun_auteur' => 'Geen auteur',
237
-	'info_aucun_message' => 'Geen bericht',
238
-	'info_aucun_rubrique' => 'Geen rubriek',
239
-	'info_aujourdhui' => 'vandaag:',
240
-	'info_auteur_gere_rubriques' => 'Deze auteur beheert de volgende rubrieken:',
241
-	'info_auteur_gere_toutes_rubriques' => 'Deze auteur beheert <b>alle rubrieken</b>',
242
-	'info_auteur_gere_toutes_rubriques_2' => 'Ik beheer <b>alle rubrieken</b>',
243
-	'info_auteurs' => 'De auteurs',
244
-	'info_auteurs_par_tri' => 'Auteur@partri@',
245
-	'info_auteurs_trouves' => 'Gevonden auteurs',
246
-	'info_authentification_externe' => 'Externe authenticatie',
247
-	'info_avertissement' => 'Waarschuwing',
248
-	'info_barre_outils' => 'met zijn gereedschapsbalk?',
249
-	'info_base_installee' => 'De structuur van je database is geïnstalleerd.',
250
-	'info_bio' => 'biografie',
251
-	'info_cache_desactive' => 'De buffer (cache) is tijdelijk uitgeschakeld.',
252
-	'info_chapeau' => 'Kop',
253
-	'info_chapeau_2' => 'Kop :',
254
-	'info_chemin_acces_1' => 'Opties: <b>Toegang tot het adresboek</b>',
255
-	'info_chemin_acces_2' => 'Je dient de toegang tot de gegevens uit het adresboek in te stellen. Zonder deze instellingen is het ONmogelijk de gebruikersprofielen in dit adresboek te lezen.',
256
-	'info_chemin_acces_annuaire' => 'Opties: <b>Toegang in het adresboek',
257
-	'info_choix_base' => 'Derde stap:',
258
-	'info_classement_1' => '<sup>ste</sup> op @liste@',
259
-	'info_classement_2' => '<sup>de</sup> @liste@',
260
-	'info_code_acces' => 'Vergeet je eigen toegangscode niet!',
261
-	'info_config_suivi' => 'Wanneer dit adres van een distributielijst is, kan je hieronder het adres opgeven waar deelnemers van de site zich kunnen inschrijven. Dit adres kan een URL zijn (het webadres voor het inschrijving op de lijst), of een emailadres met een onderwerp (zoals <tt>@adresse_suivi@?subject=subscribe</tt>):',
262
-	'info_config_suivi_explication' => 'Je kan je op de mailinglijst van deze site inschrijven. Je zal dan via e-mail een aankondiging ontvangen van artikelen en nieuwsflitsen die voor publicatie werden voorgesteld.',
263
-	'info_confirmer_passe' => 'Bevestig het nieuwe wachtwoord:',
264
-	'info_conflit_edition_avis_non_sauvegarde' => 'Let op: de volgende velden werden elders gewijzigd. Jouw wijzigingen op deze velden werden dus niet geregistreerd.',
265
-	'info_conflit_edition_differences' => 'Verschillen :',
266
-	'info_conflit_edition_version_enregistree' => 'De geregistreerde versie :',
267
-	'info_conflit_edition_votre_version' => 'Jouw versie:',
268
-	'info_connexion_base' => 'Proberen op de database aan te sluiten',
269
-	'info_connexion_base_donnee' => 'Aansluiten op je database',
270
-	'info_connexion_ldap_ok' => 'De LDAP-verbinding is gelukt. </b><p>Je kunt doorgaan naar de volgende stap.</p>',
271
-	'info_connexion_mysql' => 'Je SQL verbinding',
272
-	'info_connexion_ok' => 'De verbinding is geslaagd.',
273
-	'info_contact' => 'Contact',
274
-	'info_contenu_articles' => 'Inhoud van de artikelen',
275
-	'info_contributions' => 'Bijdragen',
276
-	'info_creation_paragraphe' => 'Om alinea’s te maken laat je gewoon enkele regels leeg.',
277
-	'info_creation_rubrique' => 'Alvorens artikelen te kunnen schrijven<br /> moet minstens een rubriek worden gemaakt.<br />',
278
-	'info_creation_tables' => 'Aanmaken van tabellen in de database',
279
-	'info_creer_base' => '<b>Creëren</b> een nieuw database:',
280
-	'info_dans_rubrique' => 'In de rubriek:',
281
-	'info_date_publication_anterieure' => 'Datum van eerdere redactie:',
282
-	'info_date_referencement' => 'DATUM VAN DE KOPPELING VAN DEZE SITE:',
283
-	'info_derniere_etape' => 'Klaar!',
284
-	'info_descriptif' => 'Beschrijving:',
285
-	'info_desinstaller_plugin' => 'verwijdert de gegevens en deactiveert de plugin',
286
-	'info_discussion_cours' => 'Lopende discussies',
287
-	'info_ecrire_article' => 'Alvorens een artikel te kunnen schrijven, dien je minimaal één rubriek aan te maken.',
288
-	'info_email_envoi' => 'Verzendadres (optioneel)',
289
-	'info_email_envoi_txt' => 'Geef hieronder het adres op dat gebruikt wordt voor het versturen van e-mails. (Standaard wordt het adres van de geadresseerde als verzendadres gebruikt.):',
290
-	'info_email_webmestre' => 'E-mailadres webmaster',
291
-	'info_envoi_email_automatique' => 'Automatisch verzenden van e-mails',
292
-	'info_envoyer_maintenant' => 'Nu versturen',
293
-	'info_etape_suivante' => 'Naar de volgende stap ',
294
-	'info_etape_suivante_1' => 'Je kunt de volgende stap zetten.',
295
-	'info_etape_suivante_2' => 'Je kunt de volgende stap zetten.',
296
-	'info_exceptions_proxy' => 'Uitzonderingen op de proxy',
297
-	'info_exportation_base' => 'Uitvoer van de database naar @archive@',
298
-	'info_facilite_suivi_activite' => 'Om de opvolging en redactie van artikelen te vergemakkelijken, kan SPIP mails versturen -bijvoorbeeld naar een mailinglist van redacteurs- met de aankondiging van vragen voor publicatie of goedgekeurde publicaties.', # MODIF
299
-	'info_fichiers_authent' => 'Verificatiebestand ".htpasswd"',
300
-	'info_forums_abo_invites' => 'Je site bevat forums met abonnement; bezoekers worden dus op de publieke site verzocht zich in te schrijven.',
301
-	'info_gauche_admin_tech' => '<b>Deze pagina is enkel toegankelijk voor beheerders van de site.</b><p> Ze geeft toegang tot allerlei technische onderhoudstaken. Voor het uitvoeren van sommige taken zijn een afzonderlijke aanmelding en toegang tot je site via FTP nodig.</p>',
302
-	'info_gauche_admin_vider' => '<b>Deze pagina is alleen beschikbaar voor beheerders.</b><p> Het biedt toegang tot diverse
223
+    'info_ajouter_rubrique' => 'Een nieuwe rubriek toevoegen om te beheren:',
224
+    'info_annonce_nouveautes' => 'Aankondiging van nieuwe bijdragen',
225
+    'info_article' => 'artikel',
226
+    'info_article_2' => 'artikelen',
227
+    'info_article_a_paraitre' => 'Te publiceren artikelen met postdatering',
228
+    'info_articles_02' => 'artikelen',
229
+    'info_articles_2' => 'Artikelen',
230
+    'info_articles_auteur' => 'Artikelen van deze auteur',
231
+    'info_articles_miens' => 'Mijn artikelen',
232
+    'info_articles_tous' => 'Alle artikelen',
233
+    'info_articles_trouves' => 'Gevonden artikelen',
234
+    'info_attente_validation' => 'Je artikelen die op goedkeuring wachten',
235
+    'info_aucun_article' => 'Geen artikelen',
236
+    'info_aucun_auteur' => 'Geen auteur',
237
+    'info_aucun_message' => 'Geen bericht',
238
+    'info_aucun_rubrique' => 'Geen rubriek',
239
+    'info_aujourdhui' => 'vandaag:',
240
+    'info_auteur_gere_rubriques' => 'Deze auteur beheert de volgende rubrieken:',
241
+    'info_auteur_gere_toutes_rubriques' => 'Deze auteur beheert <b>alle rubrieken</b>',
242
+    'info_auteur_gere_toutes_rubriques_2' => 'Ik beheer <b>alle rubrieken</b>',
243
+    'info_auteurs' => 'De auteurs',
244
+    'info_auteurs_par_tri' => 'Auteur@partri@',
245
+    'info_auteurs_trouves' => 'Gevonden auteurs',
246
+    'info_authentification_externe' => 'Externe authenticatie',
247
+    'info_avertissement' => 'Waarschuwing',
248
+    'info_barre_outils' => 'met zijn gereedschapsbalk?',
249
+    'info_base_installee' => 'De structuur van je database is geïnstalleerd.',
250
+    'info_bio' => 'biografie',
251
+    'info_cache_desactive' => 'De buffer (cache) is tijdelijk uitgeschakeld.',
252
+    'info_chapeau' => 'Kop',
253
+    'info_chapeau_2' => 'Kop :',
254
+    'info_chemin_acces_1' => 'Opties: <b>Toegang tot het adresboek</b>',
255
+    'info_chemin_acces_2' => 'Je dient de toegang tot de gegevens uit het adresboek in te stellen. Zonder deze instellingen is het ONmogelijk de gebruikersprofielen in dit adresboek te lezen.',
256
+    'info_chemin_acces_annuaire' => 'Opties: <b>Toegang in het adresboek',
257
+    'info_choix_base' => 'Derde stap:',
258
+    'info_classement_1' => '<sup>ste</sup> op @liste@',
259
+    'info_classement_2' => '<sup>de</sup> @liste@',
260
+    'info_code_acces' => 'Vergeet je eigen toegangscode niet!',
261
+    'info_config_suivi' => 'Wanneer dit adres van een distributielijst is, kan je hieronder het adres opgeven waar deelnemers van de site zich kunnen inschrijven. Dit adres kan een URL zijn (het webadres voor het inschrijving op de lijst), of een emailadres met een onderwerp (zoals <tt>@adresse_suivi@?subject=subscribe</tt>):',
262
+    'info_config_suivi_explication' => 'Je kan je op de mailinglijst van deze site inschrijven. Je zal dan via e-mail een aankondiging ontvangen van artikelen en nieuwsflitsen die voor publicatie werden voorgesteld.',
263
+    'info_confirmer_passe' => 'Bevestig het nieuwe wachtwoord:',
264
+    'info_conflit_edition_avis_non_sauvegarde' => 'Let op: de volgende velden werden elders gewijzigd. Jouw wijzigingen op deze velden werden dus niet geregistreerd.',
265
+    'info_conflit_edition_differences' => 'Verschillen :',
266
+    'info_conflit_edition_version_enregistree' => 'De geregistreerde versie :',
267
+    'info_conflit_edition_votre_version' => 'Jouw versie:',
268
+    'info_connexion_base' => 'Proberen op de database aan te sluiten',
269
+    'info_connexion_base_donnee' => 'Aansluiten op je database',
270
+    'info_connexion_ldap_ok' => 'De LDAP-verbinding is gelukt. </b><p>Je kunt doorgaan naar de volgende stap.</p>',
271
+    'info_connexion_mysql' => 'Je SQL verbinding',
272
+    'info_connexion_ok' => 'De verbinding is geslaagd.',
273
+    'info_contact' => 'Contact',
274
+    'info_contenu_articles' => 'Inhoud van de artikelen',
275
+    'info_contributions' => 'Bijdragen',
276
+    'info_creation_paragraphe' => 'Om alinea’s te maken laat je gewoon enkele regels leeg.',
277
+    'info_creation_rubrique' => 'Alvorens artikelen te kunnen schrijven<br /> moet minstens een rubriek worden gemaakt.<br />',
278
+    'info_creation_tables' => 'Aanmaken van tabellen in de database',
279
+    'info_creer_base' => '<b>Creëren</b> een nieuw database:',
280
+    'info_dans_rubrique' => 'In de rubriek:',
281
+    'info_date_publication_anterieure' => 'Datum van eerdere redactie:',
282
+    'info_date_referencement' => 'DATUM VAN DE KOPPELING VAN DEZE SITE:',
283
+    'info_derniere_etape' => 'Klaar!',
284
+    'info_descriptif' => 'Beschrijving:',
285
+    'info_desinstaller_plugin' => 'verwijdert de gegevens en deactiveert de plugin',
286
+    'info_discussion_cours' => 'Lopende discussies',
287
+    'info_ecrire_article' => 'Alvorens een artikel te kunnen schrijven, dien je minimaal één rubriek aan te maken.',
288
+    'info_email_envoi' => 'Verzendadres (optioneel)',
289
+    'info_email_envoi_txt' => 'Geef hieronder het adres op dat gebruikt wordt voor het versturen van e-mails. (Standaard wordt het adres van de geadresseerde als verzendadres gebruikt.):',
290
+    'info_email_webmestre' => 'E-mailadres webmaster',
291
+    'info_envoi_email_automatique' => 'Automatisch verzenden van e-mails',
292
+    'info_envoyer_maintenant' => 'Nu versturen',
293
+    'info_etape_suivante' => 'Naar de volgende stap ',
294
+    'info_etape_suivante_1' => 'Je kunt de volgende stap zetten.',
295
+    'info_etape_suivante_2' => 'Je kunt de volgende stap zetten.',
296
+    'info_exceptions_proxy' => 'Uitzonderingen op de proxy',
297
+    'info_exportation_base' => 'Uitvoer van de database naar @archive@',
298
+    'info_facilite_suivi_activite' => 'Om de opvolging en redactie van artikelen te vergemakkelijken, kan SPIP mails versturen -bijvoorbeeld naar een mailinglist van redacteurs- met de aankondiging van vragen voor publicatie of goedgekeurde publicaties.', # MODIF
299
+    'info_fichiers_authent' => 'Verificatiebestand ".htpasswd"',
300
+    'info_forums_abo_invites' => 'Je site bevat forums met abonnement; bezoekers worden dus op de publieke site verzocht zich in te schrijven.',
301
+    'info_gauche_admin_tech' => '<b>Deze pagina is enkel toegankelijk voor beheerders van de site.</b><p> Ze geeft toegang tot allerlei technische onderhoudstaken. Voor het uitvoeren van sommige taken zijn een afzonderlijke aanmelding en toegang tot je site via FTP nodig.</p>',
302
+    'info_gauche_admin_vider' => '<b>Deze pagina is alleen beschikbaar voor beheerders.</b><p> Het biedt toegang tot diverse
303 303
  technische onderhoudsfuncties. Sommige vereisen een specifiek verificatieproces, dat nodig is voor FTP-toegang tot de website.</p>',
304
-	'info_gauche_auteurs' => 'Je vindt hier alle auteurs van de site.
304
+    'info_gauche_auteurs' => 'Je vindt hier alle auteurs van de site.
305 305
  Hun status is te herkennen aan de kleur van het icoontje (beheerder = groen; redacteur = geel).',
306
-	'info_gauche_auteurs_exterieurs' => 'Externe auteurs, zonder toegang tot de site, zijn aangeduid met een blauw icoontje,
306
+    'info_gauche_auteurs_exterieurs' => 'Externe auteurs, zonder toegang tot de site, zijn aangeduid met een blauw icoontje,
307 307
 gewiste auteurs met een grijze.',
308
-	'info_gauche_messagerie' => 'Het berichtensysteem laat toe om berichten uit te wisselen tussen redacteurs, memo’s (voor persoonlijk gebruik) te bewaren of aankondigingen te tonen op de beginpagina van de privé-ruimte (als je beheerder bent).',
309
-	'info_gauche_statistiques_referers' => 'Deze pagina toont een lijst met <i>referers</i> (sites die een koppeling bevatten naar je eigen site), alleen voor vandaag en gisteren: de lijst wordt elke 24 uur opnieuw aangemaakt.',
310
-	'info_gauche_visiteurs_enregistres' => 'Hier zal je de geregistreerde bezoekers van de
308
+    'info_gauche_messagerie' => 'Het berichtensysteem laat toe om berichten uit te wisselen tussen redacteurs, memo’s (voor persoonlijk gebruik) te bewaren of aankondigingen te tonen op de beginpagina van de privé-ruimte (als je beheerder bent).',
309
+    'info_gauche_statistiques_referers' => 'Deze pagina toont een lijst met <i>referers</i> (sites die een koppeling bevatten naar je eigen site), alleen voor vandaag en gisteren: de lijst wordt elke 24 uur opnieuw aangemaakt.',
310
+    'info_gauche_visiteurs_enregistres' => 'Hier zal je de geregistreerde bezoekers van de
311 311
  publieke site vinden (forums met inschrijving).',
312
-	'info_generation_miniatures_images' => 'Aanmaak van miniatuurafbeeldingen',
313
-	'info_gerer_trad_objets' => '@objets@: het beheer van de vertalingskoppelingen',
314
-	'info_hebergeur_desactiver_envoi_email' => 'Sommige hostingbedrijven staan het automatisch versturen van e-mails via hun servers niet toe. In dat geval zal de volgende functionaliteit van SPIP niet werken.',
315
-	'info_hier' => 'gisteren:',
316
-	'info_identification_publique' => 'Je publieke identiteit...',
317
-	'info_image_process' => 'Kies de beste methode om een miniatuurafbeelding te maken door op de bijhorende afbeelding te klikken.',
318
-	'info_images_auto' => 'Beelden automatisch berekend',
319
-	'info_informations_personnelles' => 'Persoonlijke gegevens',
320
-	'info_inscription' => 'Ingeschreven op',
321
-	'info_inscription_automatique' => 'Automatische inschrijving van nieuwe redacteurs',
322
-	'info_jeu_caractere' => 'Tekenset van de site',
323
-	'info_jours' => 'dagen',
324
-	'info_laisser_champs_vides' => 'velden leeglaten)',
325
-	'info_langues' => 'Talen van de site',
326
-	'info_ldap_ok' => 'De LDAP-autentificatie is geïnstalleerd',
327
-	'info_lien_hypertexte' => 'Hypertekst koppeling:',
328
-	'info_liste_nouveautes_envoyee' => 'Het lijst met nieuwe bijdragen werd verstuurd',
329
-	'info_liste_redacteurs_connectes' => 'Lijst met online redacteuren',
330
-	'info_login_existant' => 'Deze login is reeds in gebruik',
331
-	'info_login_trop_court' => 'Login te kort.',
332
-	'info_login_trop_court_car_pluriel' => 'De login moet minstens @nb@ teken bevatten.',
333
-	'info_logos' => 'De logo’s',
334
-	'info_maximum' => 'maximum:',
335
-	'info_meme_rubrique' => 'In dezelfde rubriek',
336
-	'info_message_en_redaction' => 'Je berichten in redactie',
337
-	'info_message_technique' => 'Technisch bericht:',
338
-	'info_messagerie_interne' => 'Intern berichtensysteem',
339
-	'info_mise_a_niveau_base' => 'update van je SQL-database',
340
-	'info_mise_a_niveau_base_2' => '{{LET OP!}} Je hebt een SPIP-versie geïnstalleerd die {ouder} is dan diegene die zich eerder op deze site bevond.: je database loopt hierdoor het risico beschadigd te worden waardoor je site niet meer zal functioneren.<br />{{Herinstalleer de SPIP-bestanden.}}',
341
-	'info_modification_enregistree' => 'Je wijziging werd geregistreerd',
342
-	'info_modifier_auteur' => 'De auteur wijzigen:',
343
-	'info_modifier_rubrique' => 'De rubriek wijzigen:',
344
-	'info_modifier_titre' => 'Wijzigen: @titre@',
345
-	'info_mon_site_spip' => 'Mijn SPIP-site',
346
-	'info_moyenne' => 'gemiddeld:',
347
-	'info_multi_cet_article' => 'Gebruikte taal in dit artikel is:',
348
-	'info_multi_langues_choisies' => 'Kies hierna welke talen ter beschikking staan van de redacteurs van je site.
312
+    'info_generation_miniatures_images' => 'Aanmaak van miniatuurafbeeldingen',
313
+    'info_gerer_trad_objets' => '@objets@: het beheer van de vertalingskoppelingen',
314
+    'info_hebergeur_desactiver_envoi_email' => 'Sommige hostingbedrijven staan het automatisch versturen van e-mails via hun servers niet toe. In dat geval zal de volgende functionaliteit van SPIP niet werken.',
315
+    'info_hier' => 'gisteren:',
316
+    'info_identification_publique' => 'Je publieke identiteit...',
317
+    'info_image_process' => 'Kies de beste methode om een miniatuurafbeelding te maken door op de bijhorende afbeelding te klikken.',
318
+    'info_images_auto' => 'Beelden automatisch berekend',
319
+    'info_informations_personnelles' => 'Persoonlijke gegevens',
320
+    'info_inscription' => 'Ingeschreven op',
321
+    'info_inscription_automatique' => 'Automatische inschrijving van nieuwe redacteurs',
322
+    'info_jeu_caractere' => 'Tekenset van de site',
323
+    'info_jours' => 'dagen',
324
+    'info_laisser_champs_vides' => 'velden leeglaten)',
325
+    'info_langues' => 'Talen van de site',
326
+    'info_ldap_ok' => 'De LDAP-autentificatie is geïnstalleerd',
327
+    'info_lien_hypertexte' => 'Hypertekst koppeling:',
328
+    'info_liste_nouveautes_envoyee' => 'Het lijst met nieuwe bijdragen werd verstuurd',
329
+    'info_liste_redacteurs_connectes' => 'Lijst met online redacteuren',
330
+    'info_login_existant' => 'Deze login is reeds in gebruik',
331
+    'info_login_trop_court' => 'Login te kort.',
332
+    'info_login_trop_court_car_pluriel' => 'De login moet minstens @nb@ teken bevatten.',
333
+    'info_logos' => 'De logo’s',
334
+    'info_maximum' => 'maximum:',
335
+    'info_meme_rubrique' => 'In dezelfde rubriek',
336
+    'info_message_en_redaction' => 'Je berichten in redactie',
337
+    'info_message_technique' => 'Technisch bericht:',
338
+    'info_messagerie_interne' => 'Intern berichtensysteem',
339
+    'info_mise_a_niveau_base' => 'update van je SQL-database',
340
+    'info_mise_a_niveau_base_2' => '{{LET OP!}} Je hebt een SPIP-versie geïnstalleerd die {ouder} is dan diegene die zich eerder op deze site bevond.: je database loopt hierdoor het risico beschadigd te worden waardoor je site niet meer zal functioneren.<br />{{Herinstalleer de SPIP-bestanden.}}',
341
+    'info_modification_enregistree' => 'Je wijziging werd geregistreerd',
342
+    'info_modifier_auteur' => 'De auteur wijzigen:',
343
+    'info_modifier_rubrique' => 'De rubriek wijzigen:',
344
+    'info_modifier_titre' => 'Wijzigen: @titre@',
345
+    'info_mon_site_spip' => 'Mijn SPIP-site',
346
+    'info_moyenne' => 'gemiddeld:',
347
+    'info_multi_cet_article' => 'Gebruikte taal in dit artikel is:',
348
+    'info_multi_langues_choisies' => 'Kies hierna welke talen ter beschikking staan van de redacteurs van je site.
349 349
   Talen die al worden gebruikt (vooraan in de lijst getoond) kunnen niet geschrapt worden.
350 350
 ',
351
-	'info_multi_objets' => '@objets@ : Activeer de taalmenu',
352
-	'info_multi_secteurs' => '... enkel voor de hoofdrubrieken?',
353
-	'info_nb_articles' => '@nb@ artikelen',
354
-	'info_nb_auteurs' => '@nb@ auteurs',
355
-	'info_nb_messages' => '@nb@ berichten',
356
-	'info_nb_mots_cles' => '@nb@ trefwoorden',
357
-	'info_nb_rubriques' => '@nb@ rubrieken',
358
-	'info_nb_visiteurs' => '@nb@ bezoekers',
359
-	'info_nom' => 'Naam',
360
-	'info_nom_destinataire' => 'Naam van de geadresseerde',
361
-	'info_nom_pas_conforme' => 'HTML bakens zijn niet toegestaan',
362
-	'info_nom_site' => 'Naam van je site',
363
-	'info_nombre_articles' => '@nb_articles@ artikelen,',
364
-	'info_nombre_rubriques' => '@nb_rubriques@ rubrieken, ',
365
-	'info_nombre_sites' => '@nb_sites@ sites,',
366
-	'info_non_deplacer' => 'Niet verplaatsen...',
367
-	'info_non_envoi_annonce_dernieres_nouveautes' => 'SPIP kan regelmatig een bericht versturen om de laatste  nieuwtjes van de site te melden
351
+    'info_multi_objets' => '@objets@ : Activeer de taalmenu',
352
+    'info_multi_secteurs' => '... enkel voor de hoofdrubrieken?',
353
+    'info_nb_articles' => '@nb@ artikelen',
354
+    'info_nb_auteurs' => '@nb@ auteurs',
355
+    'info_nb_messages' => '@nb@ berichten',
356
+    'info_nb_mots_cles' => '@nb@ trefwoorden',
357
+    'info_nb_rubriques' => '@nb@ rubrieken',
358
+    'info_nb_visiteurs' => '@nb@ bezoekers',
359
+    'info_nom' => 'Naam',
360
+    'info_nom_destinataire' => 'Naam van de geadresseerde',
361
+    'info_nom_pas_conforme' => 'HTML bakens zijn niet toegestaan',
362
+    'info_nom_site' => 'Naam van je site',
363
+    'info_nombre_articles' => '@nb_articles@ artikelen,',
364
+    'info_nombre_rubriques' => '@nb_rubriques@ rubrieken, ',
365
+    'info_nombre_sites' => '@nb_sites@ sites,',
366
+    'info_non_deplacer' => 'Niet verplaatsen...',
367
+    'info_non_envoi_annonce_dernieres_nouveautes' => 'SPIP kan regelmatig een bericht versturen om de laatste  nieuwtjes van de site te melden
368 368
    (recent gepubliceerde artikelen en nieuwsflitsen).',
369
-	'info_non_envoi_liste_nouveautes' => 'De lijst met nieuwe bijdragen niet versturen',
370
-	'info_non_modifiable' => 'kan niet gewijzigd worden',
371
-	'info_non_suppression_mot_cle' => 'ik wil dit trefwoord niet verwijderen.',
372
-	'info_notes' => 'Voetnoot',
373
-	'info_nouvel_article' => 'Nieuw artikel',
374
-	'info_nouvelle_traduction' => 'Nieuwe vertaling :',
375
-	'info_numero_article' => 'ARTIKEL NUMMER:',
376
-	'info_obligatoire_02' => '(verplicht)', # MODIF
377
-	'info_option_accepter_visiteurs' => 'Inschrijving van bezoekers van de publieke site aanvaarden',
378
-	'info_option_ne_pas_accepter_visiteurs' => 'Inschrijving van bezoekers weigeren',
379
-	'info_options_avancees' => 'GEAVANCEERDE OPTIES',
380
-	'info_ou' => 'of...',
381
-	'info_page_interdite' => 'Verboden pagina',
382
-	'info_par_nom' => 'op naam',
383
-	'info_par_nombre_article' => 'volgens aantal artikelen',
384
-	'info_par_statut' => 'op status',
385
-	'info_par_tri' => '’(per @tri@)’',
386
-	'info_passe_trop_court' => 'Te kort wachtwoord.',
387
-	'info_passe_trop_court_car_pluriel' => 'Het wachtwoord moet ten minste @nb@ teken bevatten.',
388
-	'info_passes_identiques' => 'Beide wachtwoorden zijn niet identiek.',
389
-	'info_plus_cinq_car' => 'Meer dan 5 karakters',
390
-	'info_plus_cinq_car_2' => '(Meer dan 5 karakters)',
391
-	'info_plus_trois_car' => '(Meer dan 3 karakters)',
392
-	'info_popularite' => 'populariteit: @popularite@; bezoeken: @visites@',
393
-	'info_post_scriptum' => 'Post-Scriptum',
394
-	'info_post_scriptum_2' => 'Post-scriptum:',
395
-	'info_pour' => 'voor',
396
-	'info_preview_texte' => 'Nu is het ook mogelijk om de site in preview mode te zien, alsof alle artikelen en berichten (indien ze tenminste werden « voorgesteld voor publicatie ») ook echt waren gepubliceerd. Dient deze mogelijkheid uitsluitend te worden voorzien voor de beheerders, voor alle redacteurs of voor niemand?',
397
-	'info_procedez_par_etape' => 'vervolg stap voor stap',
398
-	'info_procedure_maj_version' => 'de procedure voor de update die nodig is om de database aan te passen aan de nieuwe versie van SPIP.',
399
-	'info_proxy_ok' => 'Test van proxy geslaagde.',
400
-	'info_ps' => 'N.B.',
401
-	'info_publier' => 'publiceren',
402
-	'info_publies' => 'Je gepubliceerde artikelen',
403
-	'info_question_accepter_visiteurs' => 'Als de sjablonen van je site voorzien dat bezoekers zich kunnen registreren zonder toegang tot de privé-ruimte, activeer dan de volgende optie :',
404
-	'info_question_inscription_nouveaux_redacteurs' => 'Aanvaard je inschrijvingen van nieuwe redacteuren vanaf
369
+    'info_non_envoi_liste_nouveautes' => 'De lijst met nieuwe bijdragen niet versturen',
370
+    'info_non_modifiable' => 'kan niet gewijzigd worden',
371
+    'info_non_suppression_mot_cle' => 'ik wil dit trefwoord niet verwijderen.',
372
+    'info_notes' => 'Voetnoot',
373
+    'info_nouvel_article' => 'Nieuw artikel',
374
+    'info_nouvelle_traduction' => 'Nieuwe vertaling :',
375
+    'info_numero_article' => 'ARTIKEL NUMMER:',
376
+    'info_obligatoire_02' => '(verplicht)', # MODIF
377
+    'info_option_accepter_visiteurs' => 'Inschrijving van bezoekers van de publieke site aanvaarden',
378
+    'info_option_ne_pas_accepter_visiteurs' => 'Inschrijving van bezoekers weigeren',
379
+    'info_options_avancees' => 'GEAVANCEERDE OPTIES',
380
+    'info_ou' => 'of...',
381
+    'info_page_interdite' => 'Verboden pagina',
382
+    'info_par_nom' => 'op naam',
383
+    'info_par_nombre_article' => 'volgens aantal artikelen',
384
+    'info_par_statut' => 'op status',
385
+    'info_par_tri' => '’(per @tri@)’',
386
+    'info_passe_trop_court' => 'Te kort wachtwoord.',
387
+    'info_passe_trop_court_car_pluriel' => 'Het wachtwoord moet ten minste @nb@ teken bevatten.',
388
+    'info_passes_identiques' => 'Beide wachtwoorden zijn niet identiek.',
389
+    'info_plus_cinq_car' => 'Meer dan 5 karakters',
390
+    'info_plus_cinq_car_2' => '(Meer dan 5 karakters)',
391
+    'info_plus_trois_car' => '(Meer dan 3 karakters)',
392
+    'info_popularite' => 'populariteit: @popularite@; bezoeken: @visites@',
393
+    'info_post_scriptum' => 'Post-Scriptum',
394
+    'info_post_scriptum_2' => 'Post-scriptum:',
395
+    'info_pour' => 'voor',
396
+    'info_preview_texte' => 'Nu is het ook mogelijk om de site in preview mode te zien, alsof alle artikelen en berichten (indien ze tenminste werden « voorgesteld voor publicatie ») ook echt waren gepubliceerd. Dient deze mogelijkheid uitsluitend te worden voorzien voor de beheerders, voor alle redacteurs of voor niemand?',
397
+    'info_procedez_par_etape' => 'vervolg stap voor stap',
398
+    'info_procedure_maj_version' => 'de procedure voor de update die nodig is om de database aan te passen aan de nieuwe versie van SPIP.',
399
+    'info_proxy_ok' => 'Test van proxy geslaagde.',
400
+    'info_ps' => 'N.B.',
401
+    'info_publier' => 'publiceren',
402
+    'info_publies' => 'Je gepubliceerde artikelen',
403
+    'info_question_accepter_visiteurs' => 'Als de sjablonen van je site voorzien dat bezoekers zich kunnen registreren zonder toegang tot de privé-ruimte, activeer dan de volgende optie :',
404
+    'info_question_inscription_nouveaux_redacteurs' => 'Aanvaard je inschrijvingen van nieuwe redacteuren vanaf
405 405
  de publieke site? Indien wel, dan kunnen bezoekers
406 406
  zich via een geautomatiseerd formulier inschrijven en
407 407
  toegang krijgen tot de privé-ruimte om zelf artikelen
@@ -411,480 +411,480 @@  discard block
 block discarded – undo
411 411
  blokkeren echter het versturen van e-mail vanaf hun
412 412
  servers: in dat geval is een automatische inschrijving
413 413
  niet mogelijk.</div>',
414
-	'info_qui_edite' => '@nom_auteur_modif@ heeft @date_diff@ minuten geleden aan deze inhoud gewerkt ',
415
-	'info_racine_site' => 'Begin van de site',
416
-	'info_recharger_page' => 'Laad deze pagina over enkele ogenblikken opnieuw.',
417
-	'info_recherche_auteur_zero' => 'Geen resultaat voor « @cherche_auteur@ ».',
418
-	'info_recommencer' => 'Probeer nogmaals, alstublieft.',
419
-	'info_redacteur_1' => 'Redacteur',
420
-	'info_redacteur_2' => 'met toegang tot de privé-ruimte (<i>aanbevolen</i>)',
421
-	'info_redacteurs' => 'Redacteurs',
422
-	'info_redaction_en_cours' => 'IN REDACTIE',
423
-	'info_redirection' => 'Doorverwijzing',
424
-	'info_redirection_activee' => 'De doorverwijzing is ingeschakeld.',
425
-	'info_redirection_boucle' => 'Je probeert het artikel naar zichzelf door te verwijzen.',
426
-	'info_redirection_desactivee' => 'De doorverwijzing is verwijderd.',
427
-	'info_refuses' => 'Je geweigerde artikelen',
428
-	'info_reglage_ldap' => 'Opties: <b>Instellen van de LDAP invoer</b>',
429
-	'info_renvoi_article' => '<b>Doorverwijzing.</b> Dit artikel verwijst naar de pagina:',
430
-	'info_reserve_admin' => 'Alleen beheerders kunnen dit adres wijzigen.',
431
-	'info_restreindre_rubrique' => 'Beheer tot deze rubriek beperken:',
432
-	'info_resultat_recherche' => 'Resultaat van de zoekopdracht:',
433
-	'info_rubriques' => 'Rubrieken',
434
-	'info_rubriques_02' => 'rubrieken',
435
-	'info_rubriques_trouvees' => 'Gevonden rubrieken',
436
-	'info_sans_titre' => 'Zonder titel',
437
-	'info_selection_chemin_acces' => '<b>Selecteer</b> hierna de toegangswijze tot het adresboek:',
438
-	'info_signatures' => 'namen',
439
-	'info_site' => 'Site',
440
-	'info_site_2' => 'site:',
441
-	'info_site_min' => 'site',
442
-	'info_site_reference_2' => 'Gekoppelde website',
443
-	'info_site_web' => 'Website:',
444
-	'info_sites' => 'sites',
445
-	'info_sites_lies_mot' => 'Referentiesites gekoppeld aan het trefwoord ',
446
-	'info_sites_proxy' => 'Een proxy gebruiken',
447
-	'info_sites_trouves' => 'Gevonden websites ',
448
-	'info_sous_titre' => 'Ondertitel:',
449
-	'info_statut_administrateur' => 'Beheerder',
450
-	'info_statut_auteur' => 'Status van deze auteur:',
451
-	'info_statut_auteur_2' => 'Ik ben',
452
-	'info_statut_auteur_a_confirmer' => 'Te bevestigen inschrijving',
453
-	'info_statut_auteur_autre' => 'Andere status:',
454
-	'info_statut_redacteur' => 'Redacteur',
455
-	'info_statut_utilisateurs_1' => 'Standaardstatus voor de ingevoerde gebruikers',
456
-	'info_statut_utilisateurs_2' => 'Kies de status die de personen uit het LDAP-adressenboek toebediend krijgen als ze de eerste keer inloggen. Nadien kan je de status van een individuele auteur wijzigen.',
457
-	'info_suivi_activite' => 'Opvolgen van de editoriale activiteit',
458
-	'info_surtitre' => 'Opschrift:',
459
-	'info_syndication_integrale_1' => 'Je site stelt syndicatiebestanden voor (zie « <a href="@url@">@titre@</a> »).',
460
-	'info_syndication_integrale_2' => 'Wil je integrale artikelen doorgeven of enkel een samenvatting van enkele honderden karakters doorgeven ?',
461
-	'info_table_prefix' => 'Je kunt het voorvoegsel van de naam van de databasetabel aanpassen (dit is absoluut noodzakelijk wanneer er verschillende sites in dezelfde database zitten). Dit voorvoegsel schrijf je in kleine letters, zonder accenten of spaties.',
462
-	'info_taille_maximale_images' => 'SPIP zal de maximumomvang van de beelden testen die hij kan behandelen (in miljoenen pixels). <br/> zullen de grotere beelden niet verminderd zijn.',
463
-	'info_taille_maximale_vignette' => 'Maximale grootte van de mini-afbeeldingen gemaakt door het systeem:',
464
-	'info_terminer_installation' => 'Je kan de standaardinstallatieprocedure nu beëindigen.',
465
-	'info_texte' => 'Tekst',
466
-	'info_texte_explicatif' => 'Uitleg',
467
-	'info_texte_long' => '(de tekst is lang: hij zal bijgevolg in verschillende delen verschijnen die opnieuw bij elkaar worden gevoegd na goedkeuring van de tekst.)',
468
-	'info_texte_message' => 'Tekst van je bericht',
469
-	'info_texte_message_02' => 'Tekst van het bericht',
470
-	'info_titre' => 'Titel:',
471
-	'info_total' => 'totaal:',
472
-	'info_tous_articles_en_redaction' => 'Alle artikelen in redactie',
473
-	'info_tous_articles_presents' => 'Alle in deze rubriek gepubliceerde artikelen',
474
-	'info_tous_articles_refuses' => 'Alle afgewezen artikelen',
475
-	'info_tous_les' => 'alle:',
476
-	'info_tout_site' => 'Volledige site',
477
-	'info_tout_site2' => 'Het artikel werd niet in deze taal vertaald.',
478
-	'info_tout_site3' => 'Het artikel werd in deze taal vertaald maar aan het bronartikel werden wijzigingen aangebracht. De vertaling dient geactualiseerd te worden.',
479
-	'info_tout_site4' => 'Het artikel is vertaald naar deze taal en de vertaling is geactualiseerd.',
480
-	'info_tout_site5' => 'Origineel artikel.',
481
-	'info_tout_site6' => '<b>LET OP:</b> alleen de originele artikelen worden getoond.
414
+    'info_qui_edite' => '@nom_auteur_modif@ heeft @date_diff@ minuten geleden aan deze inhoud gewerkt ',
415
+    'info_racine_site' => 'Begin van de site',
416
+    'info_recharger_page' => 'Laad deze pagina over enkele ogenblikken opnieuw.',
417
+    'info_recherche_auteur_zero' => 'Geen resultaat voor « @cherche_auteur@ ».',
418
+    'info_recommencer' => 'Probeer nogmaals, alstublieft.',
419
+    'info_redacteur_1' => 'Redacteur',
420
+    'info_redacteur_2' => 'met toegang tot de privé-ruimte (<i>aanbevolen</i>)',
421
+    'info_redacteurs' => 'Redacteurs',
422
+    'info_redaction_en_cours' => 'IN REDACTIE',
423
+    'info_redirection' => 'Doorverwijzing',
424
+    'info_redirection_activee' => 'De doorverwijzing is ingeschakeld.',
425
+    'info_redirection_boucle' => 'Je probeert het artikel naar zichzelf door te verwijzen.',
426
+    'info_redirection_desactivee' => 'De doorverwijzing is verwijderd.',
427
+    'info_refuses' => 'Je geweigerde artikelen',
428
+    'info_reglage_ldap' => 'Opties: <b>Instellen van de LDAP invoer</b>',
429
+    'info_renvoi_article' => '<b>Doorverwijzing.</b> Dit artikel verwijst naar de pagina:',
430
+    'info_reserve_admin' => 'Alleen beheerders kunnen dit adres wijzigen.',
431
+    'info_restreindre_rubrique' => 'Beheer tot deze rubriek beperken:',
432
+    'info_resultat_recherche' => 'Resultaat van de zoekopdracht:',
433
+    'info_rubriques' => 'Rubrieken',
434
+    'info_rubriques_02' => 'rubrieken',
435
+    'info_rubriques_trouvees' => 'Gevonden rubrieken',
436
+    'info_sans_titre' => 'Zonder titel',
437
+    'info_selection_chemin_acces' => '<b>Selecteer</b> hierna de toegangswijze tot het adresboek:',
438
+    'info_signatures' => 'namen',
439
+    'info_site' => 'Site',
440
+    'info_site_2' => 'site:',
441
+    'info_site_min' => 'site',
442
+    'info_site_reference_2' => 'Gekoppelde website',
443
+    'info_site_web' => 'Website:',
444
+    'info_sites' => 'sites',
445
+    'info_sites_lies_mot' => 'Referentiesites gekoppeld aan het trefwoord ',
446
+    'info_sites_proxy' => 'Een proxy gebruiken',
447
+    'info_sites_trouves' => 'Gevonden websites ',
448
+    'info_sous_titre' => 'Ondertitel:',
449
+    'info_statut_administrateur' => 'Beheerder',
450
+    'info_statut_auteur' => 'Status van deze auteur:',
451
+    'info_statut_auteur_2' => 'Ik ben',
452
+    'info_statut_auteur_a_confirmer' => 'Te bevestigen inschrijving',
453
+    'info_statut_auteur_autre' => 'Andere status:',
454
+    'info_statut_redacteur' => 'Redacteur',
455
+    'info_statut_utilisateurs_1' => 'Standaardstatus voor de ingevoerde gebruikers',
456
+    'info_statut_utilisateurs_2' => 'Kies de status die de personen uit het LDAP-adressenboek toebediend krijgen als ze de eerste keer inloggen. Nadien kan je de status van een individuele auteur wijzigen.',
457
+    'info_suivi_activite' => 'Opvolgen van de editoriale activiteit',
458
+    'info_surtitre' => 'Opschrift:',
459
+    'info_syndication_integrale_1' => 'Je site stelt syndicatiebestanden voor (zie « <a href="@url@">@titre@</a> »).',
460
+    'info_syndication_integrale_2' => 'Wil je integrale artikelen doorgeven of enkel een samenvatting van enkele honderden karakters doorgeven ?',
461
+    'info_table_prefix' => 'Je kunt het voorvoegsel van de naam van de databasetabel aanpassen (dit is absoluut noodzakelijk wanneer er verschillende sites in dezelfde database zitten). Dit voorvoegsel schrijf je in kleine letters, zonder accenten of spaties.',
462
+    'info_taille_maximale_images' => 'SPIP zal de maximumomvang van de beelden testen die hij kan behandelen (in miljoenen pixels). <br/> zullen de grotere beelden niet verminderd zijn.',
463
+    'info_taille_maximale_vignette' => 'Maximale grootte van de mini-afbeeldingen gemaakt door het systeem:',
464
+    'info_terminer_installation' => 'Je kan de standaardinstallatieprocedure nu beëindigen.',
465
+    'info_texte' => 'Tekst',
466
+    'info_texte_explicatif' => 'Uitleg',
467
+    'info_texte_long' => '(de tekst is lang: hij zal bijgevolg in verschillende delen verschijnen die opnieuw bij elkaar worden gevoegd na goedkeuring van de tekst.)',
468
+    'info_texte_message' => 'Tekst van je bericht',
469
+    'info_texte_message_02' => 'Tekst van het bericht',
470
+    'info_titre' => 'Titel:',
471
+    'info_total' => 'totaal:',
472
+    'info_tous_articles_en_redaction' => 'Alle artikelen in redactie',
473
+    'info_tous_articles_presents' => 'Alle in deze rubriek gepubliceerde artikelen',
474
+    'info_tous_articles_refuses' => 'Alle afgewezen artikelen',
475
+    'info_tous_les' => 'alle:',
476
+    'info_tout_site' => 'Volledige site',
477
+    'info_tout_site2' => 'Het artikel werd niet in deze taal vertaald.',
478
+    'info_tout_site3' => 'Het artikel werd in deze taal vertaald maar aan het bronartikel werden wijzigingen aangebracht. De vertaling dient geactualiseerd te worden.',
479
+    'info_tout_site4' => 'Het artikel is vertaald naar deze taal en de vertaling is geactualiseerd.',
480
+    'info_tout_site5' => 'Origineel artikel.',
481
+    'info_tout_site6' => '<b>LET OP:</b> alleen de originele artikelen worden getoond.
482 482
 Vertalingen worden gelinkt aan het origineel,
483 483
 een kleur geeft hun status aan:',
484
-	'info_traductions' => 'Vertalingen',
485
-	'info_travail_colaboratif' => 'Samenwerking op artikelen',
486
-	'info_un_article' => 'een artikel, ',
487
-	'info_un_site' => 'een website, ',
488
-	'info_une_rubrique' => 'een rubriek, ',
489
-	'info_une_rubrique_02' => '1 rubriek',
490
-	'info_url' => 'URL:',
491
-	'info_url_proxy' => 'Proxy-URL',
492
-	'info_url_proxy_pas_conforme' => 'De URL van de proxy is ongeldig.',
493
-	'info_url_site_pas_conforme' => 'De site URL is niet geldig.',
494
-	'info_url_test_proxy' => 'Test-URL',
495
-	'info_urlref' => 'Adres van de koppeling:',
496
-	'info_utilisation_spip' => 'Je kan het publicatiesysteem nu gebruiken...',
497
-	'info_visites_par_mois' => 'Weergave per maand:',
498
-	'info_visiteur_1' => 'Bezoeker',
499
-	'info_visiteur_2' => 'van de publieke site',
500
-	'info_visiteurs' => 'Bezoekers',
501
-	'info_visiteurs_02' => 'Bezoekers van de publieke site',
502
-	'info_webmestre_forces' => 'Webmasters zijn op dit moment gedefinieerd in <tt>@file_options@</tt>.',
503
-	'install_adresse_base_hebergeur' => 'Adres van de database die door de provider wordt toegekend',
504
-	'install_connect_ok' => 'De nieuwe database is gedeclareerd als server @connect@.',
505
-	'install_echec_annonce' => 'De installatie zal wellicht mislukken of leiden tot een niet-werkende site...',
506
-	'install_extension_php_obligatoire' => 'SPIP benodigt de PHP-extensie:',
507
-	'install_login_base_hebergeur' => 'Login van aansluiten die door de provider wordt toegekend',
508
-	'install_nom_base_hebergeur' => 'De naam van de database die door de provider wordt toegekend:',
509
-	'install_pas_table' => 'Database momenteel zonder tabellen',
510
-	'install_pass_base_hebergeur' => 'Wachtwoord van aansluiten dat door de provider wordt toegekend',
511
-	'install_php_version' => 'PHP versie @version@ onvoldoende (minimum = @minimum@)',
512
-	'install_select_langue' => 'Kies een taal en klik vervolgens op de knop  «volgende» om de installatie te beginnen.',
513
-	'install_select_type_db' => 'Het type database aangeven:',
514
-	'install_select_type_mysql' => 'MySQL',
515
-	'install_select_type_pg' => 'PostgreSQL',
516
-	'install_select_type_sqlite2' => 'SQLite 2',
517
-	'install_select_type_sqlite3' => 'SQLite 3',
518
-	'install_serveur_hebergeur' => 'Databaseserver die door de provider wordt toegekend',
519
-	'install_table_prefix_hebergeur' => 'Het voorvoegsel van de tabel dat door de provider wordt toegekend:',
520
-	'install_tables_base' => 'Tabellen van de database',
521
-	'install_types_db_connus' => 'SPIP kan <b>MySQL</b> (het meest verbreid), <b>PostgreSQL</b> en <b>SQLite</b> gebruiken.',
522
-	'install_types_db_connus_avertissement' => '<b>PostgreSQL</b>support wordt experimenteel voorgesteld.',
523
-	'instituer_erreur_statut_a_change' => 'De status werd al gewijzigd',
524
-	'instituer_erreur_statut_non_autorise' => 'Je kunt niet kiezen voor deze status',
525
-	'intem_redacteur' => 'redacteur',
526
-	'intitule_licence' => 'Licentie',
527
-	'item_accepter_inscriptions' => 'Inschrijvingen aanvaarden',
528
-	'item_activer_messages_avertissement' => 'Waarschuwingsberichten activeren',
529
-	'item_administrateur_2' => 'beheerder',
530
-	'item_afficher_calendrier' => 'Op de kalender tonen',
531
-	'item_autoriser_syndication_integrale' => 'Volledige artikelen verspreiden via syndicatiebestanden',
532
-	'item_choix_administrateurs' => 'de beheerders',
533
-	'item_choix_generation_miniature' => 'Automatisch aanmaken van verkleinde afbeeldingen.',
534
-	'item_choix_non_generation_miniature' => 'Geen verkleinde afbeeldingen aanmaken.',
535
-	'item_choix_redacteurs' => 'de redacteurs',
536
-	'item_choix_visiteurs' => 'bezoekers van de publieke site',
537
-	'item_creer_fichiers_authent' => 'de .htpasswd bestanden aanmaken',
538
-	'item_login' => 'Login',
539
-	'item_messagerie_agenda' => 'De berichtendienst en de agenda activeren',
540
-	'item_mots_cles_association_articles' => 'aan artikelen',
541
-	'item_mots_cles_association_rubriques' => 'aan rubrieken',
542
-	'item_mots_cles_association_sites' => 'aan gesyndiceerde of gerefereerde sites.',
543
-	'item_non' => 'Nee',
544
-	'item_non_accepter_inscriptions' => 'Geen inschrijvingen aanvaarden',
545
-	'item_non_activer_messages_avertissement' => 'Geen waarschuwingsberichten',
546
-	'item_non_afficher_calendrier' => 'Niet tonen op de kalender',
547
-	'item_non_autoriser_syndication_integrale' => 'Alleen een samenvatting verspreiden',
548
-	'item_non_creer_fichiers_authent' => 'Deze bestanden niet aanmaken',
549
-	'item_non_messagerie_agenda' => 'De berichtendienst en de agenda deactiveren',
550
-	'item_non_publier_articles' => 'Artikelen niet vrijgeven voor de vastgelegde datum van publicatie',
551
-	'item_nouvel_auteur' => 'Nieuwe auteur',
552
-	'item_nouvelle_rubrique' => 'Nieuwe rubriek',
553
-	'item_oui' => 'Ja',
554
-	'item_publier_articles' => 'Artikelen publiceren, ongeacht hun publicatiedatum.',
555
-	'item_reponse_article' => 'Antwoord op artikel',
556
-	'item_visiteur' => 'bezoeker',
484
+    'info_traductions' => 'Vertalingen',
485
+    'info_travail_colaboratif' => 'Samenwerking op artikelen',
486
+    'info_un_article' => 'een artikel, ',
487
+    'info_un_site' => 'een website, ',
488
+    'info_une_rubrique' => 'een rubriek, ',
489
+    'info_une_rubrique_02' => '1 rubriek',
490
+    'info_url' => 'URL:',
491
+    'info_url_proxy' => 'Proxy-URL',
492
+    'info_url_proxy_pas_conforme' => 'De URL van de proxy is ongeldig.',
493
+    'info_url_site_pas_conforme' => 'De site URL is niet geldig.',
494
+    'info_url_test_proxy' => 'Test-URL',
495
+    'info_urlref' => 'Adres van de koppeling:',
496
+    'info_utilisation_spip' => 'Je kan het publicatiesysteem nu gebruiken...',
497
+    'info_visites_par_mois' => 'Weergave per maand:',
498
+    'info_visiteur_1' => 'Bezoeker',
499
+    'info_visiteur_2' => 'van de publieke site',
500
+    'info_visiteurs' => 'Bezoekers',
501
+    'info_visiteurs_02' => 'Bezoekers van de publieke site',
502
+    'info_webmestre_forces' => 'Webmasters zijn op dit moment gedefinieerd in <tt>@file_options@</tt>.',
503
+    'install_adresse_base_hebergeur' => 'Adres van de database die door de provider wordt toegekend',
504
+    'install_connect_ok' => 'De nieuwe database is gedeclareerd als server @connect@.',
505
+    'install_echec_annonce' => 'De installatie zal wellicht mislukken of leiden tot een niet-werkende site...',
506
+    'install_extension_php_obligatoire' => 'SPIP benodigt de PHP-extensie:',
507
+    'install_login_base_hebergeur' => 'Login van aansluiten die door de provider wordt toegekend',
508
+    'install_nom_base_hebergeur' => 'De naam van de database die door de provider wordt toegekend:',
509
+    'install_pas_table' => 'Database momenteel zonder tabellen',
510
+    'install_pass_base_hebergeur' => 'Wachtwoord van aansluiten dat door de provider wordt toegekend',
511
+    'install_php_version' => 'PHP versie @version@ onvoldoende (minimum = @minimum@)',
512
+    'install_select_langue' => 'Kies een taal en klik vervolgens op de knop  «volgende» om de installatie te beginnen.',
513
+    'install_select_type_db' => 'Het type database aangeven:',
514
+    'install_select_type_mysql' => 'MySQL',
515
+    'install_select_type_pg' => 'PostgreSQL',
516
+    'install_select_type_sqlite2' => 'SQLite 2',
517
+    'install_select_type_sqlite3' => 'SQLite 3',
518
+    'install_serveur_hebergeur' => 'Databaseserver die door de provider wordt toegekend',
519
+    'install_table_prefix_hebergeur' => 'Het voorvoegsel van de tabel dat door de provider wordt toegekend:',
520
+    'install_tables_base' => 'Tabellen van de database',
521
+    'install_types_db_connus' => 'SPIP kan <b>MySQL</b> (het meest verbreid), <b>PostgreSQL</b> en <b>SQLite</b> gebruiken.',
522
+    'install_types_db_connus_avertissement' => '<b>PostgreSQL</b>support wordt experimenteel voorgesteld.',
523
+    'instituer_erreur_statut_a_change' => 'De status werd al gewijzigd',
524
+    'instituer_erreur_statut_non_autorise' => 'Je kunt niet kiezen voor deze status',
525
+    'intem_redacteur' => 'redacteur',
526
+    'intitule_licence' => 'Licentie',
527
+    'item_accepter_inscriptions' => 'Inschrijvingen aanvaarden',
528
+    'item_activer_messages_avertissement' => 'Waarschuwingsberichten activeren',
529
+    'item_administrateur_2' => 'beheerder',
530
+    'item_afficher_calendrier' => 'Op de kalender tonen',
531
+    'item_autoriser_syndication_integrale' => 'Volledige artikelen verspreiden via syndicatiebestanden',
532
+    'item_choix_administrateurs' => 'de beheerders',
533
+    'item_choix_generation_miniature' => 'Automatisch aanmaken van verkleinde afbeeldingen.',
534
+    'item_choix_non_generation_miniature' => 'Geen verkleinde afbeeldingen aanmaken.',
535
+    'item_choix_redacteurs' => 'de redacteurs',
536
+    'item_choix_visiteurs' => 'bezoekers van de publieke site',
537
+    'item_creer_fichiers_authent' => 'de .htpasswd bestanden aanmaken',
538
+    'item_login' => 'Login',
539
+    'item_messagerie_agenda' => 'De berichtendienst en de agenda activeren',
540
+    'item_mots_cles_association_articles' => 'aan artikelen',
541
+    'item_mots_cles_association_rubriques' => 'aan rubrieken',
542
+    'item_mots_cles_association_sites' => 'aan gesyndiceerde of gerefereerde sites.',
543
+    'item_non' => 'Nee',
544
+    'item_non_accepter_inscriptions' => 'Geen inschrijvingen aanvaarden',
545
+    'item_non_activer_messages_avertissement' => 'Geen waarschuwingsberichten',
546
+    'item_non_afficher_calendrier' => 'Niet tonen op de kalender',
547
+    'item_non_autoriser_syndication_integrale' => 'Alleen een samenvatting verspreiden',
548
+    'item_non_creer_fichiers_authent' => 'Deze bestanden niet aanmaken',
549
+    'item_non_messagerie_agenda' => 'De berichtendienst en de agenda deactiveren',
550
+    'item_non_publier_articles' => 'Artikelen niet vrijgeven voor de vastgelegde datum van publicatie',
551
+    'item_nouvel_auteur' => 'Nieuwe auteur',
552
+    'item_nouvelle_rubrique' => 'Nieuwe rubriek',
553
+    'item_oui' => 'Ja',
554
+    'item_publier_articles' => 'Artikelen publiceren, ongeacht hun publicatiedatum.',
555
+    'item_reponse_article' => 'Antwoord op artikel',
556
+    'item_visiteur' => 'bezoeker',
557 557
 
558
-	// J
559
-	'jour_non_connu_nc' => 'onbekend',
558
+    // J
559
+    'jour_non_connu_nc' => 'onbekend',
560 560
 
561
-	// L
562
-	'label_bando_outils' => 'Knoppenbalk',
563
-	'label_bando_outils_afficher' => 'Knoppenbalk tonen',
564
-	'label_bando_outils_masquer' => 'Knoppenbalk verbergen',
565
-	'label_choix_langue' => 'Selecteer je taal',
566
-	'label_nom_fichier_connect' => 'Geef de naam die wordt gebruikt voor deze server',
567
-	'label_slogan_site' => 'Slogan',
568
-	'label_taille_ecran' => 'Breedte van het scherm',
569
-	'label_texte_et_icones_navigation' => 'Navigatiemenu',
570
-	'label_texte_et_icones_page' => 'Weergave op de pagina',
571
-	'ldap_correspondance' => 'erfenis van het veld @champ@',
572
-	'ldap_correspondance_1' => 'Erfenis van de LDAP velden',
573
-	'ldap_correspondance_2' => 'Voor elk volgend SPIP veld, de naam van het overeenkomstige LDAP veld aangeven. Leeglaten om niets in te vullen, door spaties of komma’s gescheiden om verschillende LDAP velden te proberen.',
574
-	'lien_ajouter_auteur' => 'Voeg deze auteur toe',
575
-	'lien_ajouter_une_rubrique' => 'Deze rubriek toevoegen',
576
-	'lien_email' => 'e-mail',
577
-	'lien_nom_site' => 'NAAM WEBSITE:',
578
-	'lien_rapide_contenu' => 'Naar de inhoud gaan',
579
-	'lien_rapide_navigation' => 'Naar de navigatie gaan',
580
-	'lien_rapide_recherche' => 'Op zoek gaan',
581
-	'lien_retirer_auteur' => 'Auteur verwijderen',
582
-	'lien_retirer_rubrique' => 'Rubriek verwijderen',
583
-	'lien_retirer_tous_auteurs' => 'Verwijder alle auteurs',
584
-	'lien_retirer_toutes_rubriques' => 'Alle rubrieken verwijderen',
585
-	'lien_site' => 'site',
586
-	'lien_tout_decocher' => 'Alles deselecteren',
587
-	'lien_tout_deplier' => 'Alles uitvouwen',
588
-	'lien_tout_replier' => 'Alles opvouwen',
589
-	'lien_tout_supprimer' => 'Alles verwijderen',
590
-	'lien_trier_nom' => 'Sorteer op naam',
591
-	'lien_trier_nombre_articles' => 'Sorteer op aantal artikelen',
592
-	'lien_trier_statut' => 'Sorteer op status',
593
-	'lien_voir_en_ligne' => 'ONLINE BEKIJKEN:',
594
-	'logo_article' => 'Logo van het artikel',
595
-	'logo_auteur' => 'Logo van de auteur',
596
-	'logo_rubrique' => 'Logo van de rubriek ',
597
-	'logo_site' => 'Logo van deze site',
598
-	'logo_standard_rubrique' => 'Standaard logo rubrieken',
599
-	'logo_survol' => 'Logo voor rollover',
561
+    // L
562
+    'label_bando_outils' => 'Knoppenbalk',
563
+    'label_bando_outils_afficher' => 'Knoppenbalk tonen',
564
+    'label_bando_outils_masquer' => 'Knoppenbalk verbergen',
565
+    'label_choix_langue' => 'Selecteer je taal',
566
+    'label_nom_fichier_connect' => 'Geef de naam die wordt gebruikt voor deze server',
567
+    'label_slogan_site' => 'Slogan',
568
+    'label_taille_ecran' => 'Breedte van het scherm',
569
+    'label_texte_et_icones_navigation' => 'Navigatiemenu',
570
+    'label_texte_et_icones_page' => 'Weergave op de pagina',
571
+    'ldap_correspondance' => 'erfenis van het veld @champ@',
572
+    'ldap_correspondance_1' => 'Erfenis van de LDAP velden',
573
+    'ldap_correspondance_2' => 'Voor elk volgend SPIP veld, de naam van het overeenkomstige LDAP veld aangeven. Leeglaten om niets in te vullen, door spaties of komma’s gescheiden om verschillende LDAP velden te proberen.',
574
+    'lien_ajouter_auteur' => 'Voeg deze auteur toe',
575
+    'lien_ajouter_une_rubrique' => 'Deze rubriek toevoegen',
576
+    'lien_email' => 'e-mail',
577
+    'lien_nom_site' => 'NAAM WEBSITE:',
578
+    'lien_rapide_contenu' => 'Naar de inhoud gaan',
579
+    'lien_rapide_navigation' => 'Naar de navigatie gaan',
580
+    'lien_rapide_recherche' => 'Op zoek gaan',
581
+    'lien_retirer_auteur' => 'Auteur verwijderen',
582
+    'lien_retirer_rubrique' => 'Rubriek verwijderen',
583
+    'lien_retirer_tous_auteurs' => 'Verwijder alle auteurs',
584
+    'lien_retirer_toutes_rubriques' => 'Alle rubrieken verwijderen',
585
+    'lien_site' => 'site',
586
+    'lien_tout_decocher' => 'Alles deselecteren',
587
+    'lien_tout_deplier' => 'Alles uitvouwen',
588
+    'lien_tout_replier' => 'Alles opvouwen',
589
+    'lien_tout_supprimer' => 'Alles verwijderen',
590
+    'lien_trier_nom' => 'Sorteer op naam',
591
+    'lien_trier_nombre_articles' => 'Sorteer op aantal artikelen',
592
+    'lien_trier_statut' => 'Sorteer op status',
593
+    'lien_voir_en_ligne' => 'ONLINE BEKIJKEN:',
594
+    'logo_article' => 'Logo van het artikel',
595
+    'logo_auteur' => 'Logo van de auteur',
596
+    'logo_rubrique' => 'Logo van de rubriek ',
597
+    'logo_site' => 'Logo van deze site',
598
+    'logo_standard_rubrique' => 'Standaard logo rubrieken',
599
+    'logo_survol' => 'Logo voor rollover',
600 600
 
601
-	// M
602
-	'menu_aide_installation_choix_base' => 'Database kiezen',
603
-	'module_fichier_langue' => 'Taalbestand',
604
-	'module_raccourci' => 'Snelkoppeling',
605
-	'module_texte_affiche' => 'Weergegeven tekst',
606
-	'module_texte_explicatif' => 'Je kan de volgende snelkoppelingen invoegen in de skeletten van je publieke site. Ze worden automatisch vertaald in de verschillende talen waarvoor een taalbestand is aangemaakt.',
607
-	'module_texte_traduction' => 'Het taalbestand « @module@ » is beschikbaar in het:',
608
-	'mois_non_connu' => 'Onbekend',
601
+    // M
602
+    'menu_aide_installation_choix_base' => 'Database kiezen',
603
+    'module_fichier_langue' => 'Taalbestand',
604
+    'module_raccourci' => 'Snelkoppeling',
605
+    'module_texte_affiche' => 'Weergegeven tekst',
606
+    'module_texte_explicatif' => 'Je kan de volgende snelkoppelingen invoegen in de skeletten van je publieke site. Ze worden automatisch vertaald in de verschillende talen waarvoor een taalbestand is aangemaakt.',
607
+    'module_texte_traduction' => 'Het taalbestand « @module@ » is beschikbaar in het:',
608
+    'mois_non_connu' => 'Onbekend',
609 609
 
610
-	// N
611
-	'nouvelle_version_spip' => 'Versie @version@ van SPIP is beschikbaar',
612
-	'nouvelle_version_spip_majeure' => 'Een nieuwe versie van SPIP @version@ is beschikbaar',
610
+    // N
611
+    'nouvelle_version_spip' => 'Versie @version@ van SPIP is beschikbaar',
612
+    'nouvelle_version_spip_majeure' => 'Een nieuwe versie van SPIP @version@ is beschikbaar',
613 613
 
614
-	// O
615
-	'onglet_contenu' => 'Inhoud',
616
-	'onglet_declarer_une_autre_base' => 'Een andere database declareren',
617
-	'onglet_discuter' => 'Discussiëren',
618
-	'onglet_interactivite' => 'Interactiviteit',
619
-	'onglet_proprietes' => 'Eigendommen',
620
-	'onglet_repartition_actuelle' => 'nu',
621
-	'onglet_sous_rubriques' => 'Subrubrieken',
614
+    // O
615
+    'onglet_contenu' => 'Inhoud',
616
+    'onglet_declarer_une_autre_base' => 'Een andere database declareren',
617
+    'onglet_discuter' => 'Discussiëren',
618
+    'onglet_interactivite' => 'Interactiviteit',
619
+    'onglet_proprietes' => 'Eigendommen',
620
+    'onglet_repartition_actuelle' => 'nu',
621
+    'onglet_sous_rubriques' => 'Subrubrieken',
622 622
 
623
-	// P
624
-	'page_pas_proxy' => 'Deze bladzijde moet niet via proxy gaan',
625
-	'pas_de_proxy_pour' => 'Geef desnoods de machines of gebieden aan waarvoor deze proxy niet van toepassing moet zijn (bijvoorbeeld: @exemple@)',
626
-	'phpinfo' => 'PHP Configuratie',
627
-	'plugin_charge_paquet' => 'Inladen van het pakket @name@',
628
-	'plugin_charger' => 'Download',
629
-	'plugin_erreur_charger' => 'fout: onmogelijk om @zip@ te laden',
630
-	'plugin_erreur_droit1' => 'Er kan niet worden geschreven naar <code>@dest@</code>.',
631
-	'plugin_erreur_droit2' => 'Controleer de rechten op deze map (en maak hem eventueel aan), of plaats de bestanden via FTP.',
632
-	'plugin_erreur_zip' => 'pclzip fout: fout @status@',
633
-	'plugin_etat_developpement' => 'in ontwikkeling',
634
-	'plugin_etat_experimental' => 'experimenteel',
635
-	'plugin_etat_stable' => 'stabiel',
636
-	'plugin_etat_test' => 'in test',
637
-	'plugin_impossible_activer' => 'Onmogelijk om plugin @plugin@ te activeren',
638
-	'plugin_info_automatique1' => 'Als je de automatische installatie van plugins wilt toelaten, moet je:',
639
-	'plugin_info_automatique1_lib' => 'Als je de automatische installatie van deze bibliotheek toe wilt laten:',
640
-	'plugin_info_automatique2' => 'een lijst <code>@rep@</code> aanmaken;',
641
-	'plugin_info_automatique3' => 'controleren dat de server het recht heeft om in deze map te schrijven.',
642
-	'plugin_info_automatique_creer' => 'om in de siteroot te creëren.',
643
-	'plugin_info_automatique_exemples' => 'voorbeelden:',
644
-	'plugin_info_automatique_ftp' => 'Je kunt een plugin met FTP in de map <tt>@rep@</tt> plaatsen',
645
-	'plugin_info_automatique_lib' => 'Sommige plugins vragen eveneens om bestanden in map <code>lib/</code> te kunnen downloaden, die in de root van de site moet bestaan.',
646
-	'plugin_info_automatique_liste' => 'Je lijst van plugins:',
647
-	'plugin_info_automatique_liste_officielle' => 'officiële plugins',
648
-	'plugin_info_automatique_liste_update' => 'De lijsten bijwerken',
649
-	'plugin_info_automatique_ou' => 'om...',
650
-	'plugin_info_automatique_select' => 'Selecteert hieronder een plugin: SPIP zal hem downloaden en in map <code>@rep@</code> plaatsen; als de plugin al bestaat, zal hij worden bijgewerkt.',
651
-	'plugin_info_credit' => 'Credits',
652
-	'plugin_info_erreur_xml' => 'De declaratie van deze plugin is onjuist',
653
-	'plugin_info_install_ok' => 'Succesvolle installatie',
654
-	'plugin_info_necessite' => 'Benodigd:',
655
-	'plugin_info_non_compatible_spip' => 'Deze plugin is niet compatibel met deze versie van SPIP',
656
-	'plugin_info_plugins_dist_1' => 'De onderstaande plugins zijn geladen en geactiveerd in de directory @plugins_dist@.', # extensies zijn speciaale plugins geleeverd met spip-core om een gebruikbare SPIP pakket te bouwen
657
-	'plugin_info_plugins_dist_2' => 'Ze zijn niet te deactiveren.',
658
-	'plugin_info_telecharger' => 'om vanaf @url@ te downloaden en te plaatsen in @rep@',
659
-	'plugin_info_upgrade_ok' => ' Update geslaagd',
660
-	'plugin_librairies_installees' => 'Geïnstalleerde bibliotheken',
661
-	'plugin_necessite_extension_php' => 'De PHP-extensie @plugin@ is benodigd in versie @version@.',
662
-	'plugin_necessite_extension_php_sans_version' => 'Benodigde PHP-extensie: @plugin@',
663
-	'plugin_necessite_lib' => 'Deze plugin vereist de library @lib@',
664
-	'plugin_necessite_php' => 'Vereist @plugin@ in versie @version@.',
665
-	'plugin_necessite_plugin' => 'Vereist plugin @plugin@ met minimale versie @version@.',
666
-	'plugin_necessite_plugin_sans_version' => 'Vereist plugin @plugin@ ',
667
-	'plugin_necessite_spip' => 'Vereist SPIP in minimale versie @version@.',
668
-	'plugin_source' => 'bron: ',
669
-	'plugin_titre_automatique' => 'Automatische installatie',
670
-	'plugin_titre_automatique_ajouter' => 'Een plugin toevoegen',
671
-	'plugin_titre_installation' => 'Het installeren van plugin @plugin@',
672
-	'plugin_titre_modifier' => 'Mijn plugins',
673
-	'plugin_utilise_extension_php' => 'Gebruik de PHP-extensie @plugin@ in versie @version@.', # MODIF
674
-	'plugin_utilise_php' => 'Gebruikt @plugin@ in versie @version@.', # MODIF
675
-	'plugin_utilise_plugin' => 'Gebruikt plugin @plugin@ met versie @version@.', # MODIF
676
-	'plugin_zip_active' => 'Gaat door om het te activeren',
677
-	'plugin_zip_adresse' => 'geef hieronder het adres van een zipbestand om de plugin te downloaden, of het adres van een lijst van plugins.',
678
-	'plugin_zip_adresse_champ' => 'Adres van plugin of van de lijst ',
679
-	'plugin_zip_content' => 'Hij bevat de volgende bestanden (@taille@), <br/>klaar om in de map <code>@rep@</code> te worden geplaatst',
680
-	'plugin_zip_installe_finie' => 'Het bestand @zip@ is geunzipt en werd geplaatst.',
681
-	'plugin_zip_installe_rep_finie' => 'Het bestand @zip@ is geunzipt en werd in de map @rep@ geplaatst',
682
-	'plugin_zip_installer' => 'Je kunt hem nu installeren.',
683
-	'plugin_zip_telecharge' => 'Het bestand @zip@ werd geladen',
684
-	'plugins_actif_aucun' => 'Geen plugins ingeschakeld.',
685
-	'plugins_actif_un' => 'Eén plugin is ingeschakeld.',
686
-	'plugins_actifs' => '@count@ plugins activeren.',
687
-	'plugins_actifs_liste' => 'Actief',
688
-	'plugins_compte' => '@count@ plugins',
689
-	'plugins_disponible_un' => 'Eén plugin beschikbaar.',
690
-	'plugins_disponibles' => '@count@ plugins beschikbaar.',
691
-	'plugins_erreur' => 'De fout in plugins: @plugins@',
692
-	'plugins_liste' => 'Lijst van plugins',
693
-	'plugins_liste_dist' => 'Vergrendelde plugins', # "locked" in english
694
-	'plugins_recents' => 'Recente plugins.',
695
-	'plugins_tous_liste' => 'Alle',
696
-	'plugins_vue_hierarchie' => 'Hiërarchie',
697
-	'plugins_vue_liste' => 'Lijst',
698
-	'protocole_ldap' => 'De versie van het protocol:',
623
+    // P
624
+    'page_pas_proxy' => 'Deze bladzijde moet niet via proxy gaan',
625
+    'pas_de_proxy_pour' => 'Geef desnoods de machines of gebieden aan waarvoor deze proxy niet van toepassing moet zijn (bijvoorbeeld: @exemple@)',
626
+    'phpinfo' => 'PHP Configuratie',
627
+    'plugin_charge_paquet' => 'Inladen van het pakket @name@',
628
+    'plugin_charger' => 'Download',
629
+    'plugin_erreur_charger' => 'fout: onmogelijk om @zip@ te laden',
630
+    'plugin_erreur_droit1' => 'Er kan niet worden geschreven naar <code>@dest@</code>.',
631
+    'plugin_erreur_droit2' => 'Controleer de rechten op deze map (en maak hem eventueel aan), of plaats de bestanden via FTP.',
632
+    'plugin_erreur_zip' => 'pclzip fout: fout @status@',
633
+    'plugin_etat_developpement' => 'in ontwikkeling',
634
+    'plugin_etat_experimental' => 'experimenteel',
635
+    'plugin_etat_stable' => 'stabiel',
636
+    'plugin_etat_test' => 'in test',
637
+    'plugin_impossible_activer' => 'Onmogelijk om plugin @plugin@ te activeren',
638
+    'plugin_info_automatique1' => 'Als je de automatische installatie van plugins wilt toelaten, moet je:',
639
+    'plugin_info_automatique1_lib' => 'Als je de automatische installatie van deze bibliotheek toe wilt laten:',
640
+    'plugin_info_automatique2' => 'een lijst <code>@rep@</code> aanmaken;',
641
+    'plugin_info_automatique3' => 'controleren dat de server het recht heeft om in deze map te schrijven.',
642
+    'plugin_info_automatique_creer' => 'om in de siteroot te creëren.',
643
+    'plugin_info_automatique_exemples' => 'voorbeelden:',
644
+    'plugin_info_automatique_ftp' => 'Je kunt een plugin met FTP in de map <tt>@rep@</tt> plaatsen',
645
+    'plugin_info_automatique_lib' => 'Sommige plugins vragen eveneens om bestanden in map <code>lib/</code> te kunnen downloaden, die in de root van de site moet bestaan.',
646
+    'plugin_info_automatique_liste' => 'Je lijst van plugins:',
647
+    'plugin_info_automatique_liste_officielle' => 'officiële plugins',
648
+    'plugin_info_automatique_liste_update' => 'De lijsten bijwerken',
649
+    'plugin_info_automatique_ou' => 'om...',
650
+    'plugin_info_automatique_select' => 'Selecteert hieronder een plugin: SPIP zal hem downloaden en in map <code>@rep@</code> plaatsen; als de plugin al bestaat, zal hij worden bijgewerkt.',
651
+    'plugin_info_credit' => 'Credits',
652
+    'plugin_info_erreur_xml' => 'De declaratie van deze plugin is onjuist',
653
+    'plugin_info_install_ok' => 'Succesvolle installatie',
654
+    'plugin_info_necessite' => 'Benodigd:',
655
+    'plugin_info_non_compatible_spip' => 'Deze plugin is niet compatibel met deze versie van SPIP',
656
+    'plugin_info_plugins_dist_1' => 'De onderstaande plugins zijn geladen en geactiveerd in de directory @plugins_dist@.', # extensies zijn speciaale plugins geleeverd met spip-core om een gebruikbare SPIP pakket te bouwen
657
+    'plugin_info_plugins_dist_2' => 'Ze zijn niet te deactiveren.',
658
+    'plugin_info_telecharger' => 'om vanaf @url@ te downloaden en te plaatsen in @rep@',
659
+    'plugin_info_upgrade_ok' => ' Update geslaagd',
660
+    'plugin_librairies_installees' => 'Geïnstalleerde bibliotheken',
661
+    'plugin_necessite_extension_php' => 'De PHP-extensie @plugin@ is benodigd in versie @version@.',
662
+    'plugin_necessite_extension_php_sans_version' => 'Benodigde PHP-extensie: @plugin@',
663
+    'plugin_necessite_lib' => 'Deze plugin vereist de library @lib@',
664
+    'plugin_necessite_php' => 'Vereist @plugin@ in versie @version@.',
665
+    'plugin_necessite_plugin' => 'Vereist plugin @plugin@ met minimale versie @version@.',
666
+    'plugin_necessite_plugin_sans_version' => 'Vereist plugin @plugin@ ',
667
+    'plugin_necessite_spip' => 'Vereist SPIP in minimale versie @version@.',
668
+    'plugin_source' => 'bron: ',
669
+    'plugin_titre_automatique' => 'Automatische installatie',
670
+    'plugin_titre_automatique_ajouter' => 'Een plugin toevoegen',
671
+    'plugin_titre_installation' => 'Het installeren van plugin @plugin@',
672
+    'plugin_titre_modifier' => 'Mijn plugins',
673
+    'plugin_utilise_extension_php' => 'Gebruik de PHP-extensie @plugin@ in versie @version@.', # MODIF
674
+    'plugin_utilise_php' => 'Gebruikt @plugin@ in versie @version@.', # MODIF
675
+    'plugin_utilise_plugin' => 'Gebruikt plugin @plugin@ met versie @version@.', # MODIF
676
+    'plugin_zip_active' => 'Gaat door om het te activeren',
677
+    'plugin_zip_adresse' => 'geef hieronder het adres van een zipbestand om de plugin te downloaden, of het adres van een lijst van plugins.',
678
+    'plugin_zip_adresse_champ' => 'Adres van plugin of van de lijst ',
679
+    'plugin_zip_content' => 'Hij bevat de volgende bestanden (@taille@), <br/>klaar om in de map <code>@rep@</code> te worden geplaatst',
680
+    'plugin_zip_installe_finie' => 'Het bestand @zip@ is geunzipt en werd geplaatst.',
681
+    'plugin_zip_installe_rep_finie' => 'Het bestand @zip@ is geunzipt en werd in de map @rep@ geplaatst',
682
+    'plugin_zip_installer' => 'Je kunt hem nu installeren.',
683
+    'plugin_zip_telecharge' => 'Het bestand @zip@ werd geladen',
684
+    'plugins_actif_aucun' => 'Geen plugins ingeschakeld.',
685
+    'plugins_actif_un' => 'Eén plugin is ingeschakeld.',
686
+    'plugins_actifs' => '@count@ plugins activeren.',
687
+    'plugins_actifs_liste' => 'Actief',
688
+    'plugins_compte' => '@count@ plugins',
689
+    'plugins_disponible_un' => 'Eén plugin beschikbaar.',
690
+    'plugins_disponibles' => '@count@ plugins beschikbaar.',
691
+    'plugins_erreur' => 'De fout in plugins: @plugins@',
692
+    'plugins_liste' => 'Lijst van plugins',
693
+    'plugins_liste_dist' => 'Vergrendelde plugins', # "locked" in english
694
+    'plugins_recents' => 'Recente plugins.',
695
+    'plugins_tous_liste' => 'Alle',
696
+    'plugins_vue_hierarchie' => 'Hiërarchie',
697
+    'plugins_vue_liste' => 'Lijst',
698
+    'protocole_ldap' => 'De versie van het protocol:',
699 699
 
700
-	// Q
701
-	'queue_executer_maintenant' => 'Nu uitvoeren',
702
-	'queue_info_purger' => 'Je kunt alle wachtende taken verwijderen en de lijst van periodieke taken herstarten', # MODIF
703
-	'queue_nb_jobs_in_queue' => '@nb@ wachtrij', # MODIF
704
-	'queue_next_job_in_nb_sec' => 'Volgende opdracht in @nb@ sec', # MODIF
705
-	'queue_no_job_in_queue' => 'Geen opdracht in de wachtrij', # MODIF
706
-	'queue_one_job_in_queue' => '1 taak in wachtrij', # MODIF
707
-	'queue_priorite_tache' => 'prioriteit',
708
-	'queue_purger_queue' => 'De takenlijst leegmaken', # MODIF
709
-	'queue_titre' => 'Lijst van taken', # MODIF
700
+    // Q
701
+    'queue_executer_maintenant' => 'Nu uitvoeren',
702
+    'queue_info_purger' => 'Je kunt alle wachtende taken verwijderen en de lijst van periodieke taken herstarten', # MODIF
703
+    'queue_nb_jobs_in_queue' => '@nb@ wachtrij', # MODIF
704
+    'queue_next_job_in_nb_sec' => 'Volgende opdracht in @nb@ sec', # MODIF
705
+    'queue_no_job_in_queue' => 'Geen opdracht in de wachtrij', # MODIF
706
+    'queue_one_job_in_queue' => '1 taak in wachtrij', # MODIF
707
+    'queue_priorite_tache' => 'prioriteit',
708
+    'queue_purger_queue' => 'De takenlijst leegmaken', # MODIF
709
+    'queue_titre' => 'Lijst van taken', # MODIF
710 710
 
711
-	// R
712
-	'repertoire_plugins' => 'Map:',
713
-	'required' => '(verplicht)', # MODIF
711
+    // R
712
+    'repertoire_plugins' => 'Map:',
713
+    'required' => '(verplicht)', # MODIF
714 714
 
715
-	// S
716
-	'sans_heure' => 'zonder tijdstip',
717
-	'statut_admin_restreint' => 'beperkte beheerder',
718
-	'statut_webmestre' => 'webmaster',
715
+    // S
716
+    'sans_heure' => 'zonder tijdstip',
717
+    'statut_admin_restreint' => 'beperkte beheerder',
718
+    'statut_webmestre' => 'webmaster',
719 719
 
720
-	// T
721
-	'tache_cron_asap' => 'CRON taak @function@ (ASAP)',
722
-	'tache_cron_secondes' => 'CRON taak @function@ (om de @nb@ sec)',
723
-	'taille_cache_image' => 'De door SPIP automatisch aangemaakte afbeeldingen (icoontjes van documenten, grafisch weergegeven titels, wiskundige functies in TeX formaat...) nemen in map @dir@ in totaal @taille@ in.',
724
-	'taille_cache_moins_de' => 'De cache is kleiner dan @octets@.',
725
-	'taille_cache_octets' => 'De grootte van de buffer bedraagt momenteel @octets@.',
726
-	'taille_cache_vide' => 'De buffer is leeg.',
727
-	'taille_repertoire_cache' => 'Grootte van het bufferbestand',
728
-	'text_article_propose_publication' => 'Artikel voorgesteld voor publicatie.',
729
-	'texte_acces_ldap_anonyme_1' => 'Sommige LDAP-servers aanvaarden geen anonieme toegang. In zo’n geval dien je één loginnaam op te geven om vervolgens informatie in het adressenboek te zoeken. In de meeste gevallen kan je de volgende velden echter leeg laten.',
730
-	'texte_admin_effacer_01' => 'Met dit commando vernietig je de <i>volledige</i> inhoud van de database,
720
+    // T
721
+    'tache_cron_asap' => 'CRON taak @function@ (ASAP)',
722
+    'tache_cron_secondes' => 'CRON taak @function@ (om de @nb@ sec)',
723
+    'taille_cache_image' => 'De door SPIP automatisch aangemaakte afbeeldingen (icoontjes van documenten, grafisch weergegeven titels, wiskundige functies in TeX formaat...) nemen in map @dir@ in totaal @taille@ in.',
724
+    'taille_cache_moins_de' => 'De cache is kleiner dan @octets@.',
725
+    'taille_cache_octets' => 'De grootte van de buffer bedraagt momenteel @octets@.',
726
+    'taille_cache_vide' => 'De buffer is leeg.',
727
+    'taille_repertoire_cache' => 'Grootte van het bufferbestand',
728
+    'text_article_propose_publication' => 'Artikel voorgesteld voor publicatie.',
729
+    'texte_acces_ldap_anonyme_1' => 'Sommige LDAP-servers aanvaarden geen anonieme toegang. In zo’n geval dien je één loginnaam op te geven om vervolgens informatie in het adressenboek te zoeken. In de meeste gevallen kan je de volgende velden echter leeg laten.',
730
+    'texte_admin_effacer_01' => 'Met dit commando vernietig je de <i>volledige</i> inhoud van de database,
731 731
 inbegrepen <i>alle</i> toegangsrechten voor redacteurs en beheerders. Nadat je dit uitgevoerd hebt, dien je de herinstallatie van SPIP te starten om een volledig nieuwe database aan te maken met toegangsrechten voor een eerste beheerder.',
732
-	'texte_adresse_annuaire_1' => '(Als de map geïnstalleerd is op dezelfde computer als je website, is het waarschijnlijk «localhost».)',
733
-	'texte_ajout_auteur' => 'Deze auteur werd aan het artikel toegevoegd:',
734
-	'texte_annuaire_ldap_1' => 'Als je toegang hebt tot een LDAP-adresboek, kan je dit gebruiken om automatisch gebruikers in te voeren in SPIP.',
735
-	'texte_article_statut' => 'Dit artikel is:',
736
-	'texte_article_virtuel' => 'Virtueel artikel',
737
-	'texte_article_virtuel_reference' => '<b>Virtueel artikel:</b> gekoppeld artikel in je SPIP site maar doorgestuurd naar een andere URL. Verwijder de URL om de doorverwijzing te stoppen.',
738
-	'texte_aucun_resultat_auteur' => 'Geen resultaat voor "@cherche_auteur@"',
739
-	'texte_auteur_messagerie' => 'Deze website kan een lijst met auteurs die op dat moment aangelogd zijn, tonen. Het is mogelijk om direkt berichten opsturen en ontvangen tussen de auteurs.  Je kan kiezen om niet in deze lijst te verschijnen (je wordt dan « onzichtbaar » voor de andere gebruikers).',
740
-	'texte_auteurs' => 'DE AUTEURS',
741
-	'texte_choix_base_1' => 'Kies je database:',
742
-	'texte_choix_base_2' => 'De SQL server bevat meerdere databases.',
743
-	'texte_choix_base_3' => '<b>Kies</b> hierna die welke door jouw provider werd toegekend:',
744
-	'texte_choix_table_prefix' => 'Voorvoegsel van de tabellen:',
745
-	'texte_compte_element' => '@count@ element',
746
-	'texte_compte_elements' => '@count@ elementen',
747
-	'texte_conflit_edition_correction' => 'Controleer hieronder de verschillen tussen beide versies van de tekst; je kunt eveneens jouw wijzigingen kopiëren en opnieuw beginnen.',
748
-	'texte_connexion_mysql' => 'Raadpleegt de inlichtingen die door jouw provider worden verstrekt: je moet er de databaseserver vinden die men voorstelt en jouw persoonlijke identificaties om je erop aan te melden.',
749
-	'texte_contenu_article' => '(Inhoud van het artikel in enkele woorden.)',
750
-	'texte_contenu_articles' => 'Naargelang de opmaak van je website kan je beslissen sommige elementen van een artikel
732
+    'texte_adresse_annuaire_1' => '(Als de map geïnstalleerd is op dezelfde computer als je website, is het waarschijnlijk «localhost».)',
733
+    'texte_ajout_auteur' => 'Deze auteur werd aan het artikel toegevoegd:',
734
+    'texte_annuaire_ldap_1' => 'Als je toegang hebt tot een LDAP-adresboek, kan je dit gebruiken om automatisch gebruikers in te voeren in SPIP.',
735
+    'texte_article_statut' => 'Dit artikel is:',
736
+    'texte_article_virtuel' => 'Virtueel artikel',
737
+    'texte_article_virtuel_reference' => '<b>Virtueel artikel:</b> gekoppeld artikel in je SPIP site maar doorgestuurd naar een andere URL. Verwijder de URL om de doorverwijzing te stoppen.',
738
+    'texte_aucun_resultat_auteur' => 'Geen resultaat voor "@cherche_auteur@"',
739
+    'texte_auteur_messagerie' => 'Deze website kan een lijst met auteurs die op dat moment aangelogd zijn, tonen. Het is mogelijk om direkt berichten opsturen en ontvangen tussen de auteurs.  Je kan kiezen om niet in deze lijst te verschijnen (je wordt dan « onzichtbaar » voor de andere gebruikers).',
740
+    'texte_auteurs' => 'DE AUTEURS',
741
+    'texte_choix_base_1' => 'Kies je database:',
742
+    'texte_choix_base_2' => 'De SQL server bevat meerdere databases.',
743
+    'texte_choix_base_3' => '<b>Kies</b> hierna die welke door jouw provider werd toegekend:',
744
+    'texte_choix_table_prefix' => 'Voorvoegsel van de tabellen:',
745
+    'texte_compte_element' => '@count@ element',
746
+    'texte_compte_elements' => '@count@ elementen',
747
+    'texte_conflit_edition_correction' => 'Controleer hieronder de verschillen tussen beide versies van de tekst; je kunt eveneens jouw wijzigingen kopiëren en opnieuw beginnen.',
748
+    'texte_connexion_mysql' => 'Raadpleegt de inlichtingen die door jouw provider worden verstrekt: je moet er de databaseserver vinden die men voorstelt en jouw persoonlijke identificaties om je erop aan te melden.',
749
+    'texte_contenu_article' => '(Inhoud van het artikel in enkele woorden.)',
750
+    'texte_contenu_articles' => 'Naargelang de opmaak van je website kan je beslissen sommige elementen van een artikel
751 751
  wel of niet te gebruiken.
752 752
  Geef op de lijst hieronder aan welke elementen je wil gebruiken.',
753
-	'texte_crash_base' => 'Als je database gecrashed is,
753
+    'texte_crash_base' => 'Als je database gecrashed is,
754 754
   kan je een automatisch herstel proberen.',
755
-	'texte_creer_rubrique' => 'Alvorens artikelen te kunnen schrijven, <br/> moet je een rubriek aanmaken.',
756
-	'texte_date_creation_article' => 'DATUM VAN AANMAKEN VAN HET ARTIKEL:',
757
-	'texte_date_creation_objet' => 'Aanmaakdatum:', # on ajoute le &quot;:&quot;
758
-	'texte_date_publication_anterieure' => 'Datum van eerdere redactie:',
759
-	'texte_date_publication_anterieure_nonaffichee' => 'Verberg de datum van eerdere redactie.',
760
-	'texte_date_publication_article' => 'DATUM VAN ONLINE PUBLICATIE:',
761
-	'texte_date_publication_objet' => 'Datum van online publicatie:',
762
-	'texte_definir_comme_traduction_rubrique' => 'Deze rubriek is een vertaling van rubrieknummer:',
763
-	'texte_descriptif_rapide' => 'Korte beschrijving.',
764
-	'texte_effacer_base' => 'Verwijder de SPIP database',
765
-	'texte_effacer_statistiques' => 'De statistieken wissen',
766
-	'texte_en_cours_validation' => 'De onderstaande inhoud wacht op goedkeuring.',
767
-	'texte_enrichir_mise_a_jour' => 'De opmaak van een tekst kan gebeuren met behulp van zogeheten «typografische snelkoppelingen».',
768
-	'texte_fichier_authent' => 'SPIP moet er dan speciale bestanden <tt>.htpasswd</tt>
755
+    'texte_creer_rubrique' => 'Alvorens artikelen te kunnen schrijven, <br/> moet je een rubriek aanmaken.',
756
+    'texte_date_creation_article' => 'DATUM VAN AANMAKEN VAN HET ARTIKEL:',
757
+    'texte_date_creation_objet' => 'Aanmaakdatum:', # on ajoute le &quot;:&quot;
758
+    'texte_date_publication_anterieure' => 'Datum van eerdere redactie:',
759
+    'texte_date_publication_anterieure_nonaffichee' => 'Verberg de datum van eerdere redactie.',
760
+    'texte_date_publication_article' => 'DATUM VAN ONLINE PUBLICATIE:',
761
+    'texte_date_publication_objet' => 'Datum van online publicatie:',
762
+    'texte_definir_comme_traduction_rubrique' => 'Deze rubriek is een vertaling van rubrieknummer:',
763
+    'texte_descriptif_rapide' => 'Korte beschrijving.',
764
+    'texte_effacer_base' => 'Verwijder de SPIP database',
765
+    'texte_effacer_statistiques' => 'De statistieken wissen',
766
+    'texte_en_cours_validation' => 'De onderstaande inhoud wacht op goedkeuring.',
767
+    'texte_enrichir_mise_a_jour' => 'De opmaak van een tekst kan gebeuren met behulp van zogeheten «typografische snelkoppelingen».',
768
+    'texte_fichier_authent' => 'SPIP moet er dan speciale bestanden <tt>.htpasswd</tt>
769 769
   en <tt>.htpasswd-admin</tt> in de directory @dossier@ ?</b><p>
770 770
  Deze bestanden die je kunt gebruiken om toegang te beperken tot 
771 771
  auteurs en beheerders in andere delen van je site 
772 772
    (externe programma statistieken, bijvoorbeeld).</p><p>
773 773
 Als dit geen geen nut heeft, kunt je de standaard instellingen behouden (geen nieuw bestand maken).</p>',
774
-	'texte_informations_personnelles_1' => 'Nu zal het systeem een persoonlijke toegang tot de site voor je creëren.',
775
-	'texte_informations_personnelles_2' => '(Nota: als het een herinstallatie betreft en je toegangscode blijkt nog steeds te werken, kan je',
776
-	'texte_introductif_article' => '(Inleidende tekst op het artikel.)',
777
-	'texte_jeu_caractere' => 'Het is aan te raden op je site het universele alfabet (<tt>utf-8</tt>) te gebruiken: dit laat de weergave van teksten toe in alle talen en stelt geen compatibilieitsprobleem met de recente browsers.',
778
-	'texte_jeu_caractere_3' => 'Je site is momenteel geïnstalleerd in deze tekenset:',
779
-	'texte_jeu_caractere_4' => 'Indien dit niet overeenkomt met je werkelijke gegevens (bvb bij het terugzetten van je database), of als je <em>deze site opstart</em> en met een andere tekenset van start wil gaan, geef dat dan hieronder aan:',
780
-	'texte_login_ldap_1' => '(Leeg laten voor een anonieme login, of een volledig pad invullen, bijvoorbeeld «<tt>uid=janssen, ou=users, dc=mijn-domein, dc=com</tt>».)',
781
-	'texte_login_precaution' => 'LET OP! Met deze login ben je momenteel aangemeld.
774
+    'texte_informations_personnelles_1' => 'Nu zal het systeem een persoonlijke toegang tot de site voor je creëren.',
775
+    'texte_informations_personnelles_2' => '(Nota: als het een herinstallatie betreft en je toegangscode blijkt nog steeds te werken, kan je',
776
+    'texte_introductif_article' => '(Inleidende tekst op het artikel.)',
777
+    'texte_jeu_caractere' => 'Het is aan te raden op je site het universele alfabet (<tt>utf-8</tt>) te gebruiken: dit laat de weergave van teksten toe in alle talen en stelt geen compatibilieitsprobleem met de recente browsers.',
778
+    'texte_jeu_caractere_3' => 'Je site is momenteel geïnstalleerd in deze tekenset:',
779
+    'texte_jeu_caractere_4' => 'Indien dit niet overeenkomt met je werkelijke gegevens (bvb bij het terugzetten van je database), of als je <em>deze site opstart</em> en met een andere tekenset van start wil gaan, geef dat dan hieronder aan:',
780
+    'texte_login_ldap_1' => '(Leeg laten voor een anonieme login, of een volledig pad invullen, bijvoorbeeld «<tt>uid=janssen, ou=users, dc=mijn-domein, dc=com</tt>».)',
781
+    'texte_login_precaution' => 'LET OP! Met deze login ben je momenteel aangemeld.
782 782
  Gebruik dit formulier met de nodige voorzichtigheid...',
783
-	'texte_messagerie_agenda' => 'Een berichtendienst maakt het de redacteuren van de site mogelijk om in de privé ruimte berichten uit te wisselen. De dienst is gekoppeld aan een agenda.',
784
-	'texte_mise_a_niveau_base_1' => 'Je hebt zonet de SPIP bestanden vernieuwd. Nu dien je
783
+    'texte_messagerie_agenda' => 'Een berichtendienst maakt het de redacteuren van de site mogelijk om in de privé ruimte berichten uit te wisselen. De dienst is gekoppeld aan een agenda.',
784
+    'texte_mise_a_niveau_base_1' => 'Je hebt zonet de SPIP bestanden vernieuwd. Nu dien je
785 785
  eveneens de database te updaten.',
786
-	'texte_modifier_article' => 'Wijzigen artikel:',
787
-	'texte_multilinguisme' => 'Als je graag objecten in verschillende talen zou willen beheren, met een complexe navigatie, kan je een taalkeuzemenu toevoegen bij deze objecten, i.f.v de organisatie van je site.',
788
-	'texte_multilinguisme_trad' => 'Je kan eveneens een systeem in werking stellen voor het beheer van koppelingen tussen de verschillende vertalingen van de objecten.',
789
-	'texte_non_compresse' => '<i>niet gecomprimeerd</i> (de server ondersteunt deze functionaliteit niet)',
790
-	'texte_nouvelle_version_spip_1' => 'Je hebt een nieuwe versie van SPIP geïnstalleerd.',
791
-	'texte_nouvelle_version_spip_2' => 'Deze nieuwe SPIP-versie vereist een  grondiger update dan gewoonlijk. Als je webmaster bent van deze site, verwijder dan het bestand @connect@ en hervat de installatie om de verbindingsgegevens met de database te vernieuwen.<p> (NB: als je de verbindingsgegevens niet meer kent, kan je best eerst een blik werpen op het bestand @connect@ alvorens het te verwijderen...)</p>', # Pas de modif trouvée, la trad reste valable.
792
-	'texte_operation_echec' => 'Ga terug naar de vorige pagina, selecteer een andere database of maak een nieuwe aan. Kijk nog eens alle gegevens na die je van je provider hebt ontvangen.',
793
-	'texte_plus_trois_car' => 'meer dan 3 karakters',
794
-	'texte_plusieurs_articles' => 'Meerdere auteurs gevonden voor "@cherche_auteur@":',
795
-	'texte_port_annuaire' => '(De opgegeven standaardwaarde is meestal de juiste.)',
796
-	'texte_presente_plugin' => 'Deze pagina toont de lijst van beschikbare plugins op deze site. Je kan de nodige plugins activeren door het overeenkomstige vakje aan te kruisen.',
797
-	'texte_proposer_publication' => 'Wanneer je artikel gereed is, <br />kun je de publicatie ervan voorstellen.',
798
-	'texte_proxy' => 'In bepaalde gevallen (intranet, beschermde netwerken), zijn de verwijderde plaatsen (SPIP documentatie , georganiseerde plaatsen, enz.) toegankelijk slechts door een <i>proxy HTTP</i>. Eventueel geeft hieronder zijn adres aan, onder de vorm @proxy_in_actie@. Over het algemeen zul je dit hokje leeg laten.',
799
-	'texte_publication_articles_post_dates' => 'Hoe dient SPIP zich op te stellen ten opzichte van artikelen waarvan de
786
+    'texte_modifier_article' => 'Wijzigen artikel:',
787
+    'texte_multilinguisme' => 'Als je graag objecten in verschillende talen zou willen beheren, met een complexe navigatie, kan je een taalkeuzemenu toevoegen bij deze objecten, i.f.v de organisatie van je site.',
788
+    'texte_multilinguisme_trad' => 'Je kan eveneens een systeem in werking stellen voor het beheer van koppelingen tussen de verschillende vertalingen van de objecten.',
789
+    'texte_non_compresse' => '<i>niet gecomprimeerd</i> (de server ondersteunt deze functionaliteit niet)',
790
+    'texte_nouvelle_version_spip_1' => 'Je hebt een nieuwe versie van SPIP geïnstalleerd.',
791
+    'texte_nouvelle_version_spip_2' => 'Deze nieuwe SPIP-versie vereist een  grondiger update dan gewoonlijk. Als je webmaster bent van deze site, verwijder dan het bestand @connect@ en hervat de installatie om de verbindingsgegevens met de database te vernieuwen.<p> (NB: als je de verbindingsgegevens niet meer kent, kan je best eerst een blik werpen op het bestand @connect@ alvorens het te verwijderen...)</p>', # Pas de modif trouvée, la trad reste valable.
792
+    'texte_operation_echec' => 'Ga terug naar de vorige pagina, selecteer een andere database of maak een nieuwe aan. Kijk nog eens alle gegevens na die je van je provider hebt ontvangen.',
793
+    'texte_plus_trois_car' => 'meer dan 3 karakters',
794
+    'texte_plusieurs_articles' => 'Meerdere auteurs gevonden voor "@cherche_auteur@":',
795
+    'texte_port_annuaire' => '(De opgegeven standaardwaarde is meestal de juiste.)',
796
+    'texte_presente_plugin' => 'Deze pagina toont de lijst van beschikbare plugins op deze site. Je kan de nodige plugins activeren door het overeenkomstige vakje aan te kruisen.',
797
+    'texte_proposer_publication' => 'Wanneer je artikel gereed is, <br />kun je de publicatie ervan voorstellen.',
798
+    'texte_proxy' => 'In bepaalde gevallen (intranet, beschermde netwerken), zijn de verwijderde plaatsen (SPIP documentatie , georganiseerde plaatsen, enz.) toegankelijk slechts door een <i>proxy HTTP</i>. Eventueel geeft hieronder zijn adres aan, onder de vorm @proxy_in_actie@. Over het algemeen zul je dit hokje leeg laten.',
799
+    'texte_publication_articles_post_dates' => 'Hoe dient SPIP zich op te stellen ten opzichte van artikelen waarvan de
800 800
   publicatiedatum is vastgelegd op een
801 801
   toekomstige datum?',
802
-	'texte_rappel_selection_champs' => '[Vergeet niet de juiste keuze te maken voor dit veld.]',
803
-	'texte_recalcul_page' => 'Als je slechts één pagina wilt vernieuwen, doe je dit op de publieke site met de knop  «vernieuwen».',
804
-	'texte_recuperer_base' => 'De database herstellen',
805
-	'texte_reference_mais_redirige' => 'Gekoppeld artikel in je SPIP site, maar doorgestuurd naar een andere URL.',
806
-	'texte_requetes_echouent' => '<b>Wanneer bepaalde SQL-query’s systematisch crashen zonder duidelijke reden, is dit mogelijk te wijten aan de database zelf.</b><p> Je SQL Server heeft een herstelmogelijkheid van tabellen die beschadigd zijn door een crash. Hier kunt je proberen dit te repareren. Wanneer dat niet lukt, bewaar dan een kopie van het scherm dat aanwijzingen over de problemen bevat...</p><p>Als het probleem zich blijft voordoen, contact opnemen met je provider.</p>',
807
-	'texte_selection_langue_principale' => 'Hieronder kan je de «basistaal» van de site kiezen. Deze keuze verplicht je - gelukkig! - niet om artikelen in deze taal te schrijven, maar laat wel toe om het volgende te bepalen:
802
+    'texte_rappel_selection_champs' => '[Vergeet niet de juiste keuze te maken voor dit veld.]',
803
+    'texte_recalcul_page' => 'Als je slechts één pagina wilt vernieuwen, doe je dit op de publieke site met de knop  «vernieuwen».',
804
+    'texte_recuperer_base' => 'De database herstellen',
805
+    'texte_reference_mais_redirige' => 'Gekoppeld artikel in je SPIP site, maar doorgestuurd naar een andere URL.',
806
+    'texte_requetes_echouent' => '<b>Wanneer bepaalde SQL-query’s systematisch crashen zonder duidelijke reden, is dit mogelijk te wijten aan de database zelf.</b><p> Je SQL Server heeft een herstelmogelijkheid van tabellen die beschadigd zijn door een crash. Hier kunt je proberen dit te repareren. Wanneer dat niet lukt, bewaar dan een kopie van het scherm dat aanwijzingen over de problemen bevat...</p><p>Als het probleem zich blijft voordoen, contact opnemen met je provider.</p>',
807
+    'texte_selection_langue_principale' => 'Hieronder kan je de «basistaal» van de site kiezen. Deze keuze verplicht je - gelukkig! - niet om artikelen in deze taal te schrijven, maar laat wel toe om het volgende te bepalen:
808 808
  <ul><li> het standaardformaat van de data op de publieke site;</li>
809 809
  <li> de aard van de typografische motor die SPIP dient te gebruiken om teksten te tonen;</li>
810 810
  <li> de taal die gebruikt moet worden op de formulieren van de publieke site;</li>
811 811
  <li> de taal die standaard wordt voorgesteld in het privé-gedeelte.</li></ul>',
812
-	'texte_sous_titre' => 'Ondertitel',
813
-	'texte_statistiques_visites' => '(donkere balkjes:  zondag / donkere lijn: evolutie van het gemiddelde)',
814
-	'texte_statut_attente_validation' => 'wachten op goedkeuring',
815
-	'texte_statut_publies' => 'online geplaatst',
816
-	'texte_statut_refuses' => 'geweigerd',
817
-	'texte_suppression_fichiers' => 'Gebruik dit commando om alle bestanden uit de  buffer (cache) te verwijderen.
812
+    'texte_sous_titre' => 'Ondertitel',
813
+    'texte_statistiques_visites' => '(donkere balkjes:  zondag / donkere lijn: evolutie van het gemiddelde)',
814
+    'texte_statut_attente_validation' => 'wachten op goedkeuring',
815
+    'texte_statut_publies' => 'online geplaatst',
816
+    'texte_statut_refuses' => 'geweigerd',
817
+    'texte_suppression_fichiers' => 'Gebruik dit commando om alle bestanden uit de  buffer (cache) te verwijderen.
818 818
 Dit kan handig zijn als je veel pagina’s hebt gewijzigd, de layout of de structuur van de site hebt veranderd.
819 819
  De nieuwste pagina’s worden dan getoond en de buffer wordt opnieuw opgebouwd.',
820
-	'texte_sur_titre' => 'Opschrift',
821
-	'texte_table_ok' => ': deze tabel is OK.',
822
-	'texte_tentative_recuperation' => 'Poging tot herstel.',
823
-	'texte_tenter_reparation' => 'Poging tot herstel van de database',
824
-	'texte_test_proxy' => 'Om de proxy te testen kan je hier het adres geven van de website die je wil bereiken.',
825
-	'texte_titre_02' => 'Titel:',
826
-	'texte_titre_obligatoire' => '<b>Titel</b> [verplicht]',
827
-	'texte_travail_article' => '@nom_auteur_modif@ heeft @date_diff@ minuten geleden aan dit artikel gewerkt',
828
-	'texte_travail_collaboratif' => 'Als het vaak gebeurt dat meerdere redacteurs aanhetzelfde artikel werken, kan het systeem tonen welke artikelen er recent «geopend» werden
820
+    'texte_sur_titre' => 'Opschrift',
821
+    'texte_table_ok' => ': deze tabel is OK.',
822
+    'texte_tentative_recuperation' => 'Poging tot herstel.',
823
+    'texte_tenter_reparation' => 'Poging tot herstel van de database',
824
+    'texte_test_proxy' => 'Om de proxy te testen kan je hier het adres geven van de website die je wil bereiken.',
825
+    'texte_titre_02' => 'Titel:',
826
+    'texte_titre_obligatoire' => '<b>Titel</b> [verplicht]',
827
+    'texte_travail_article' => '@nom_auteur_modif@ heeft @date_diff@ minuten geleden aan dit artikel gewerkt',
828
+    'texte_travail_collaboratif' => 'Als het vaak gebeurt dat meerdere redacteurs aanhetzelfde artikel werken, kan het systeem tonen welke artikelen er recent «geopend» werden
829 829
  om te vermijden dat simultaan
830 830
  wijzigingen worden aangebracht.
831 831
  Deze optie is niet standaard geactiveerd om te vermijden dat er teveel waarschuwingsberichten op het
832 832
  scherm verschijnen.',
833
-	'texte_vide' => 'leeg',
834
-	'texte_vider_cache' => 'Cache leegmaken',
835
-	'titre_admin_tech' => 'Technisch onderhoud',
836
-	'titre_admin_vider' => 'Technisch onderhoud',
837
-	'titre_ajouter_un_auteur' => 'Voeg een auteur toe',
838
-	'titre_ajouter_un_mot' => 'Voeg een trefwoord toe',
839
-	'titre_cadre_afficher_article' => 'Artikelen tonen',
840
-	'titre_cadre_afficher_traductions' => 'Toon de status van de vertalingen voor de volgende talen:',
841
-	'titre_cadre_ajouter_auteur' => 'EEN AUTEUR TOEVOEGEN:',
842
-	'titre_cadre_interieur_rubrique' => 'Binnen rubriek',
843
-	'titre_cadre_numero_auteur' => 'AUTEUR NUMMER',
844
-	'titre_cadre_numero_objet' => '@objet@ NUMMER:',
845
-	'titre_cadre_signature_obligatoire' => '<b>Handtekening</b> [Verplicht]<br />',
846
-	'titre_config_contenu_notifications' => 'Kennisgevingen',
847
-	'titre_config_contenu_prive' => 'In het privé gedeelte',
848
-	'titre_config_contenu_public' => 'Op de openbare site',
849
-	'titre_config_fonctions' => 'Configuratie van de site',
850
-	'titre_config_langage' => 'Stel de taal in',
851
-	'titre_configuration' => 'Configuratie van de site',
852
-	'titre_configurer_preferences' => 'Configureer je voorkeuren',
853
-	'titre_configurer_preferences_menus' => 'Configureer je menuvoorkeuren',
854
-	'titre_conflit_edition' => 'Conflict bij de uitgave',
855
-	'titre_connexion_ldap' => 'Opties: <b>Je LDAP-verbinding</b>',
856
-	'titre_groupe_mots' => 'TREFWOORDENGROEP:',
857
-	'titre_identite_site' => 'Identiteit van de site',
858
-	'titre_langue_article' => 'Taal van het artikel',
859
-	'titre_langue_rubrique' => 'Taal van de rubriek',
860
-	'titre_langue_trad_article' => 'TAAL EN VERTALINGEN VAN HET ARTIKEL',
861
-	'titre_les_articles' => 'ARTIKELEN',
862
-	'titre_messagerie_agenda' => 'Boodschappen en agenda',
863
-	'titre_naviguer_dans_le_site' => 'Bezoek de site...',
864
-	'titre_nouvelle_rubrique' => 'Nieuwe rubriek',
865
-	'titre_numero_rubrique' => 'RUBRIEKNUMMER:',
866
-	'titre_page_articles_edit' => 'Wijzigen: @titre@',
867
-	'titre_page_articles_page' => 'Artikelen',
868
-	'titre_page_articles_tous' => 'Volledige site',
869
-	'titre_page_calendrier' => 'Kalender @nom_mois@ @annee@',
870
-	'titre_page_config_contenu' => 'Websiteconfiguratie',
871
-	'titre_page_delete_all' => 'Volledige en onomkeerbare verwijdering',
872
-	'titre_page_recherche' => 'Zoekresultaat voor @recherche@ ',
873
-	'titre_page_statistiques_referers' => 'Statistieken (per referer)',
874
-	'titre_page_upgrade' => 'Bijwerken van SPIP',
875
-	'titre_preference_menus_favoris' => 'Favoriete menu’s',
876
-	'titre_publication_articles_post_dates' => 'Publicatie van postgedateerde artikelen',
877
-	'titre_reparation' => 'Herstel',
878
-	'titre_suivi_petition' => 'Opvolging van petities',
879
-	'tls_ldap' => 'Transport Layer Security:',
880
-	'trad_article_traduction' => 'Alle versies van dit artikel:',
881
-	'trad_delier' => 'Niet meer aan deze vertalingen koppelen',
882
-	'trad_lier' => 'Dit artikel is een vertaling van artikelnummer:',
883
-	'trad_new' => 'Een nieuwe vertaling schrijven',
833
+    'texte_vide' => 'leeg',
834
+    'texte_vider_cache' => 'Cache leegmaken',
835
+    'titre_admin_tech' => 'Technisch onderhoud',
836
+    'titre_admin_vider' => 'Technisch onderhoud',
837
+    'titre_ajouter_un_auteur' => 'Voeg een auteur toe',
838
+    'titre_ajouter_un_mot' => 'Voeg een trefwoord toe',
839
+    'titre_cadre_afficher_article' => 'Artikelen tonen',
840
+    'titre_cadre_afficher_traductions' => 'Toon de status van de vertalingen voor de volgende talen:',
841
+    'titre_cadre_ajouter_auteur' => 'EEN AUTEUR TOEVOEGEN:',
842
+    'titre_cadre_interieur_rubrique' => 'Binnen rubriek',
843
+    'titre_cadre_numero_auteur' => 'AUTEUR NUMMER',
844
+    'titre_cadre_numero_objet' => '@objet@ NUMMER:',
845
+    'titre_cadre_signature_obligatoire' => '<b>Handtekening</b> [Verplicht]<br />',
846
+    'titre_config_contenu_notifications' => 'Kennisgevingen',
847
+    'titre_config_contenu_prive' => 'In het privé gedeelte',
848
+    'titre_config_contenu_public' => 'Op de openbare site',
849
+    'titre_config_fonctions' => 'Configuratie van de site',
850
+    'titre_config_langage' => 'Stel de taal in',
851
+    'titre_configuration' => 'Configuratie van de site',
852
+    'titre_configurer_preferences' => 'Configureer je voorkeuren',
853
+    'titre_configurer_preferences_menus' => 'Configureer je menuvoorkeuren',
854
+    'titre_conflit_edition' => 'Conflict bij de uitgave',
855
+    'titre_connexion_ldap' => 'Opties: <b>Je LDAP-verbinding</b>',
856
+    'titre_groupe_mots' => 'TREFWOORDENGROEP:',
857
+    'titre_identite_site' => 'Identiteit van de site',
858
+    'titre_langue_article' => 'Taal van het artikel',
859
+    'titre_langue_rubrique' => 'Taal van de rubriek',
860
+    'titre_langue_trad_article' => 'TAAL EN VERTALINGEN VAN HET ARTIKEL',
861
+    'titre_les_articles' => 'ARTIKELEN',
862
+    'titre_messagerie_agenda' => 'Boodschappen en agenda',
863
+    'titre_naviguer_dans_le_site' => 'Bezoek de site...',
864
+    'titre_nouvelle_rubrique' => 'Nieuwe rubriek',
865
+    'titre_numero_rubrique' => 'RUBRIEKNUMMER:',
866
+    'titre_page_articles_edit' => 'Wijzigen: @titre@',
867
+    'titre_page_articles_page' => 'Artikelen',
868
+    'titre_page_articles_tous' => 'Volledige site',
869
+    'titre_page_calendrier' => 'Kalender @nom_mois@ @annee@',
870
+    'titre_page_config_contenu' => 'Websiteconfiguratie',
871
+    'titre_page_delete_all' => 'Volledige en onomkeerbare verwijdering',
872
+    'titre_page_recherche' => 'Zoekresultaat voor @recherche@ ',
873
+    'titre_page_statistiques_referers' => 'Statistieken (per referer)',
874
+    'titre_page_upgrade' => 'Bijwerken van SPIP',
875
+    'titre_preference_menus_favoris' => 'Favoriete menu’s',
876
+    'titre_publication_articles_post_dates' => 'Publicatie van postgedateerde artikelen',
877
+    'titre_reparation' => 'Herstel',
878
+    'titre_suivi_petition' => 'Opvolging van petities',
879
+    'tls_ldap' => 'Transport Layer Security:',
880
+    'trad_article_traduction' => 'Alle versies van dit artikel:',
881
+    'trad_delier' => 'Niet meer aan deze vertalingen koppelen',
882
+    'trad_lier' => 'Dit artikel is een vertaling van artikelnummer:',
883
+    'trad_new' => 'Een nieuwe vertaling schrijven',
884 884
 
885
-	// U
886
-	'utf8_convert_erreur_orig' => 'Fout : de karakterset @charset@ wordt niet ondersteund.',
885
+    // U
886
+    'utf8_convert_erreur_orig' => 'Fout : de karakterset @charset@ wordt niet ondersteund.',
887 887
 
888
-	// V
889
-	'version' => 'Versie:',
888
+    // V
889
+    'version' => 'Versie:',
890 890
 ];
Please login to merge, or discard this patch.
ecrire/lang/ecrire_fa.php 1 patch
Indentation   +794 added lines, -794 removed lines patch added patch discarded remove patch
@@ -5,829 +5,829 @@
 block discarded – undo
5 5
 
6 6
 return [
7 7
 
8
-	// A
9
-	'activer_plugin' => 'plugin را فعال کنید',
10
-	'affichage' => 'ارايه',
11
-	'aide_non_disponible' => 'اين بخش كمكى براى اين زبان هنوز در دسترس نمى باشد',
12
-	'annuler_recherche' => 'لغو جستجو',
13
-	'auteur' => 'نویسنده:',
14
-	'avis_acces_interdit' => 'دسترسى به اين بخش ممنوع مى باشد',
15
-	'avis_article_modifie' => 'توجه ،              @nom_auteur_modif@                                        روى اين مقاله @date_diff@ پيش كار ميكرده',
16
-	'avis_aucun_resultat' => '.بدون نتيجه',
17
-	'avis_base_inaccessible' => 'دسترسي به پايگاه داده‌هاي @base@ ممكن نيست. ',
18
-	'avis_chemin_invalide_1' => 'راهى كه انتخاب كرده ايد',
19
-	'avis_chemin_invalide_2' => 'معتبر نميباشد. خواهشمند است به صفحه پيشين برگرديد و اطلاعات داده شده را بازنگرى كنيد',
20
-	'avis_connexion_echec_1' => 'ارتباط با پايگاه داده‌‌ها  برقرار نشد',
21
-	'avis_connexion_echec_2' => 'به صفحه پيشين برگرديد و اطلاعاتي را كه داده ايد بازنگرى كنيد',
22
-	'avis_connexion_echec_3' => 'براى تعدادى از سرورها شما بايد درخواست فعال كردن دسترسى به پايگاه ماى اس كيو ال را پيش از استفاده آن بكنيد. اگر ارتباط برقرار نشد مطمئن شويد كه اين كار را انجام داده ايد              ',
23
-	'avis_connexion_erreur_nom_base' => 'نام پايگاه نمي‌تواند چيزي جز حروف، ارقام و خط تيره باشد',
24
-	'avis_connexion_ldap_echec_1' => 'LDAP.ارتباط با سرور ال دى ا پى برقرار نشد                ',
25
-	'avis_connexion_ldap_echec_2' => 'به صفحه پيش برگرديد و ببينيد اطلاعاتي را كه داده ايد صحيح ميباشند',
26
-	'avis_connexion_ldap_echec_3' => 'از سيستم ال دى ا پى به طور پى در پى براى ورود كاربران استفاده نكنيد',
27
-	'avis_deplacement_rubrique' => 'توجه ! اين بخش داراى@contient_breves@ brève@scb@ ميباشد : خواهشمند است درصورت جابجائي آن، علامت مربوطه را تائيد كنيد ',
28
-	'avis_erreur_connexion_mysql' => 'خطاى اتصال SQL   ',
29
-	'avis_espace_interdit' => '<b>بخش ممنوع</b><p> اسپيپ قبلأ نصب شده', # MODIF
30
-	'avis_lecture_noms_bases_1' => '  برنامه نصبى نتوانست نام داده پى هاى مستقر شده را بخواند ',
31
-	'avis_lecture_noms_bases_2' => '  يا هيچ پايگاهى موجود نميباشد، يا كاركردى كه اجازه فهرست گذارى پايگاه ها راميدهد بدلايل ايمنى غير فعال شده است     (مورد بعضى از ميزبانان ميباشد)',
32
-	'avis_lecture_noms_bases_3' => ' در  گزينش دوم، اين احتمال وجود دارد كه پايگاهى   كه حامل نام شما براى ارتباط ميباشد استفاده شده باشد',
33
-	'avis_non_acces_page' => 'اين صفحه در دسترس شما نميباشد',
34
-	'avis_operation_echec' => 'کارکرد نتیجه نداد.',
35
-	'avis_operation_impossible' => 'عمل غیرممکن',
36
-	'avis_suppression_base' => ' توجه! حذف داده ها غير قابل برگشت ميباشد',
8
+    // A
9
+    'activer_plugin' => 'plugin را فعال کنید',
10
+    'affichage' => 'ارايه',
11
+    'aide_non_disponible' => 'اين بخش كمكى براى اين زبان هنوز در دسترس نمى باشد',
12
+    'annuler_recherche' => 'لغو جستجو',
13
+    'auteur' => 'نویسنده:',
14
+    'avis_acces_interdit' => 'دسترسى به اين بخش ممنوع مى باشد',
15
+    'avis_article_modifie' => 'توجه ،              @nom_auteur_modif@                                        روى اين مقاله @date_diff@ پيش كار ميكرده',
16
+    'avis_aucun_resultat' => '.بدون نتيجه',
17
+    'avis_base_inaccessible' => 'دسترسي به پايگاه داده‌هاي @base@ ممكن نيست. ',
18
+    'avis_chemin_invalide_1' => 'راهى كه انتخاب كرده ايد',
19
+    'avis_chemin_invalide_2' => 'معتبر نميباشد. خواهشمند است به صفحه پيشين برگرديد و اطلاعات داده شده را بازنگرى كنيد',
20
+    'avis_connexion_echec_1' => 'ارتباط با پايگاه داده‌‌ها  برقرار نشد',
21
+    'avis_connexion_echec_2' => 'به صفحه پيشين برگرديد و اطلاعاتي را كه داده ايد بازنگرى كنيد',
22
+    'avis_connexion_echec_3' => 'براى تعدادى از سرورها شما بايد درخواست فعال كردن دسترسى به پايگاه ماى اس كيو ال را پيش از استفاده آن بكنيد. اگر ارتباط برقرار نشد مطمئن شويد كه اين كار را انجام داده ايد              ',
23
+    'avis_connexion_erreur_nom_base' => 'نام پايگاه نمي‌تواند چيزي جز حروف، ارقام و خط تيره باشد',
24
+    'avis_connexion_ldap_echec_1' => 'LDAP.ارتباط با سرور ال دى ا پى برقرار نشد                ',
25
+    'avis_connexion_ldap_echec_2' => 'به صفحه پيش برگرديد و ببينيد اطلاعاتي را كه داده ايد صحيح ميباشند',
26
+    'avis_connexion_ldap_echec_3' => 'از سيستم ال دى ا پى به طور پى در پى براى ورود كاربران استفاده نكنيد',
27
+    'avis_deplacement_rubrique' => 'توجه ! اين بخش داراى@contient_breves@ brève@scb@ ميباشد : خواهشمند است درصورت جابجائي آن، علامت مربوطه را تائيد كنيد ',
28
+    'avis_erreur_connexion_mysql' => 'خطاى اتصال SQL   ',
29
+    'avis_espace_interdit' => '<b>بخش ممنوع</b><p> اسپيپ قبلأ نصب شده', # MODIF
30
+    'avis_lecture_noms_bases_1' => '  برنامه نصبى نتوانست نام داده پى هاى مستقر شده را بخواند ',
31
+    'avis_lecture_noms_bases_2' => '  يا هيچ پايگاهى موجود نميباشد، يا كاركردى كه اجازه فهرست گذارى پايگاه ها راميدهد بدلايل ايمنى غير فعال شده است     (مورد بعضى از ميزبانان ميباشد)',
32
+    'avis_lecture_noms_bases_3' => ' در  گزينش دوم، اين احتمال وجود دارد كه پايگاهى   كه حامل نام شما براى ارتباط ميباشد استفاده شده باشد',
33
+    'avis_non_acces_page' => 'اين صفحه در دسترس شما نميباشد',
34
+    'avis_operation_echec' => 'کارکرد نتیجه نداد.',
35
+    'avis_operation_impossible' => 'عمل غیرممکن',
36
+    'avis_suppression_base' => ' توجه! حذف داده ها غير قابل برگشت ميباشد',
37 37
 
38
-	// B
39
-	'bouton_acces_ldap' => 'دسترسى به LDAP را اضافه كنيد',
40
-	'bouton_ajouter' => 'اضافه كنيد',
41
-	'bouton_annuler' => 'باطل کنید',
42
-	'bouton_cache_activer' => 'بازفعال سازي حافظه پنهان',
43
-	'bouton_cache_desactiver' => 'غيرفعال سازي موقت حافظه پنهان ',
44
-	'bouton_demande_publication' => 'انتشار اين مقاله را درخواست كنيد  ',
45
-	'bouton_desactive_tout' => 'همه را غیر فعال کنید',
46
-	'bouton_desinstaller' => 'حذف کنید',
47
-	'bouton_effacer_tout' => 'همه را پاك كنيد',
48
-	'bouton_envoyer_message' => 'پيام آماده : بفرستيد',
49
-	'bouton_fermer' => 'بستن',
50
-	'bouton_mettre_a_jour_base' => 'به هنگام سازي پايگاه داده‌ها',
51
-	'bouton_modifier' => 'اصلاح كنيد',
52
-	'bouton_radio_afficher' => 'نشان دهيد',
53
-	'bouton_radio_apparaitre_liste_redacteurs_connectes' => 'در فهرست نويسندگانى كه به اسپيپ وصل هستند ظاهر شود',
54
-	'bouton_radio_envoi_annonces_adresse' => ':خبرها را به اين آدرس بفرستيد',
55
-	'bouton_radio_envoi_liste_nouveautes' => 'فهرست تازه ها را بفرستيد:',
56
-	'bouton_radio_non_apparaitre_liste_redacteurs_connectes' => 'در فهرست نويسندها نمايان نشود',
57
-	'bouton_radio_non_envoi_annonces_editoriales' => 'خبرهاى مربوط به سر مقاله ها را نفرستيد',
58
-	'bouton_redirection' => 'هدايت دوباره',
59
-	'bouton_relancer_installation' => 'دوباره نصب كنيد',
60
-	'bouton_suivant' => 'بعدى',
61
-	'bouton_tenter_recuperation' => 'اقدام به تعمير كنيد',
62
-	'bouton_test_proxy' => 'پروكسى را امتحان كنيد',
63
-	'bouton_vider_cache' => 'فايل موقت را خالى كنيد',
38
+    // B
39
+    'bouton_acces_ldap' => 'دسترسى به LDAP را اضافه كنيد',
40
+    'bouton_ajouter' => 'اضافه كنيد',
41
+    'bouton_annuler' => 'باطل کنید',
42
+    'bouton_cache_activer' => 'بازفعال سازي حافظه پنهان',
43
+    'bouton_cache_desactiver' => 'غيرفعال سازي موقت حافظه پنهان ',
44
+    'bouton_demande_publication' => 'انتشار اين مقاله را درخواست كنيد  ',
45
+    'bouton_desactive_tout' => 'همه را غیر فعال کنید',
46
+    'bouton_desinstaller' => 'حذف کنید',
47
+    'bouton_effacer_tout' => 'همه را پاك كنيد',
48
+    'bouton_envoyer_message' => 'پيام آماده : بفرستيد',
49
+    'bouton_fermer' => 'بستن',
50
+    'bouton_mettre_a_jour_base' => 'به هنگام سازي پايگاه داده‌ها',
51
+    'bouton_modifier' => 'اصلاح كنيد',
52
+    'bouton_radio_afficher' => 'نشان دهيد',
53
+    'bouton_radio_apparaitre_liste_redacteurs_connectes' => 'در فهرست نويسندگانى كه به اسپيپ وصل هستند ظاهر شود',
54
+    'bouton_radio_envoi_annonces_adresse' => ':خبرها را به اين آدرس بفرستيد',
55
+    'bouton_radio_envoi_liste_nouveautes' => 'فهرست تازه ها را بفرستيد:',
56
+    'bouton_radio_non_apparaitre_liste_redacteurs_connectes' => 'در فهرست نويسندها نمايان نشود',
57
+    'bouton_radio_non_envoi_annonces_editoriales' => 'خبرهاى مربوط به سر مقاله ها را نفرستيد',
58
+    'bouton_redirection' => 'هدايت دوباره',
59
+    'bouton_relancer_installation' => 'دوباره نصب كنيد',
60
+    'bouton_suivant' => 'بعدى',
61
+    'bouton_tenter_recuperation' => 'اقدام به تعمير كنيد',
62
+    'bouton_test_proxy' => 'پروكسى را امتحان كنيد',
63
+    'bouton_vider_cache' => 'فايل موقت را خالى كنيد',
64 64
 
65
-	// C
66
-	'cache_modifiable_webmestre' => 'اين پارامترها توسط وب مستر سايت ميتواند اصلاح شود.',
67
-	'calendrier_synchro' => ' درصورت استفاده از نرم افزارهاى روزشمار ويژه<b>iCal</b>, ميتوانيد آنرا با مطالب اين سايت منطبق كنيد',
68
-	'config_activer_champs' => 'بخشهای زیر را فعال کنید',
69
-	'config_choix_base_sup' => 'يك پايگاه روي اين سرور تعيين كنيد',
70
-	'config_erreur_base_sup' => 'اسپيپ به فهرست پايگاه‌هاي قابل دسترس دسترسي ندارد',
71
-	'config_info_base_sup' => 'اگر شما پايگاه داده‌هاي ديگري براي امتحان از طريق اسپيپ داريد، با سرور اس.كيو.ال يا غير آن، بگذاريد كه آن‌ها آشكار شوند. اگر بعضي از ميدان‌ها را خالي بگذاريد، شناسه‌هاي ارتباط با پايگاه اصلي مورد استفاده قرار خواهند گرفت. ',
72
-	'config_info_base_sup_disponibles' => 'پايگاه‌هاي مكمل اكنون جستجوپذير اند',
73
-	'config_info_enregistree' => 'پيكربندي جديد ثبت شده',
74
-	'config_info_logos' => 'هر قسمت سایت میتواند یک لوگو logo و یک لوگوی survol داشته باشد',
75
-	'config_info_logos_utiliser' => 'از لوگوها استفاده کنید',
76
-	'config_info_logos_utiliser_non' => 'از لوگوها استفاده نکنید',
77
-	'config_info_logos_utiliser_survol' => 'از لوگوهای survol استفاده کنید',
78
-	'config_info_logos_utiliser_survol_non' => 'از لوگوهای survol استفاده نکنید',
79
-	'config_info_redirection' => 'با فعال کردن این گزینش شما میتوانید مقالات مجازی درست کنید و یا مراجع مقالات منتشر شده در دیگر سایتها را بدهید',
80
-	'config_redirection' => 'مقالات مجازی',
81
-	'config_titre_base_sup' => 'اعلام يك پايگاه مكمل',
82
-	'config_titre_base_sup_choix' => 'يك پايگاه مكمل انتخاب كنيد',
83
-	'connexion_ldap' => 'ارتباط',
84
-	'creer_et_associer_un_auteur' => 'ايجاد و اتصال نويسنده',
65
+    // C
66
+    'cache_modifiable_webmestre' => 'اين پارامترها توسط وب مستر سايت ميتواند اصلاح شود.',
67
+    'calendrier_synchro' => ' درصورت استفاده از نرم افزارهاى روزشمار ويژه<b>iCal</b>, ميتوانيد آنرا با مطالب اين سايت منطبق كنيد',
68
+    'config_activer_champs' => 'بخشهای زیر را فعال کنید',
69
+    'config_choix_base_sup' => 'يك پايگاه روي اين سرور تعيين كنيد',
70
+    'config_erreur_base_sup' => 'اسپيپ به فهرست پايگاه‌هاي قابل دسترس دسترسي ندارد',
71
+    'config_info_base_sup' => 'اگر شما پايگاه داده‌هاي ديگري براي امتحان از طريق اسپيپ داريد، با سرور اس.كيو.ال يا غير آن، بگذاريد كه آن‌ها آشكار شوند. اگر بعضي از ميدان‌ها را خالي بگذاريد، شناسه‌هاي ارتباط با پايگاه اصلي مورد استفاده قرار خواهند گرفت. ',
72
+    'config_info_base_sup_disponibles' => 'پايگاه‌هاي مكمل اكنون جستجوپذير اند',
73
+    'config_info_enregistree' => 'پيكربندي جديد ثبت شده',
74
+    'config_info_logos' => 'هر قسمت سایت میتواند یک لوگو logo و یک لوگوی survol داشته باشد',
75
+    'config_info_logos_utiliser' => 'از لوگوها استفاده کنید',
76
+    'config_info_logos_utiliser_non' => 'از لوگوها استفاده نکنید',
77
+    'config_info_logos_utiliser_survol' => 'از لوگوهای survol استفاده کنید',
78
+    'config_info_logos_utiliser_survol_non' => 'از لوگوهای survol استفاده نکنید',
79
+    'config_info_redirection' => 'با فعال کردن این گزینش شما میتوانید مقالات مجازی درست کنید و یا مراجع مقالات منتشر شده در دیگر سایتها را بدهید',
80
+    'config_redirection' => 'مقالات مجازی',
81
+    'config_titre_base_sup' => 'اعلام يك پايگاه مكمل',
82
+    'config_titre_base_sup_choix' => 'يك پايگاه مكمل انتخاب كنيد',
83
+    'connexion_ldap' => 'ارتباط',
84
+    'creer_et_associer_un_auteur' => 'ايجاد و اتصال نويسنده',
85 85
 
86
-	// D
87
-	'date_mot_heures' => 'ساعت',
86
+    // D
87
+    'date_mot_heures' => 'ساعت',
88 88
 
89
-	// E
90
-	'ecran_securite' => '+ نمايشگر ايمني @version@',
91
-	'email' => 'ايميل',
92
-	'email_2' => ': ايميل ',
93
-	'en_savoir_plus' => 'براي آگاهي بيشتر ',
94
-	'entree_adresse_annuaire' => 'آدرس راهنما',
95
-	'entree_adresse_email' => 'آدرس ايميل شما ',
96
-	'entree_adresse_email_2' => 'نشاني ايميل ',
97
-	'entree_base_donnee_1' => 'آدرس داده پى ها',
98
-	'entree_base_donnee_2' => 'اغلب, اين آدرس با آدرس سايتتون مطابقت ميكند گاهى با گزينش «localhost»  مطابقت و گاهى كاملأ خاليست)',
99
-	'entree_biographie' => 'زندگينامه كوتاه در چند كلمه',
100
-	'entree_chemin_acces' => ' راه ورود </b> وارد شويد <b>',
101
-	'entree_cle_pgp' => 'PGP كليد شما          ',
102
-	'entree_cle_pgp_2' => 'كليد پي.چي.پي',
103
-	'entree_contenu_rubrique' => '(محتوى اين بخش در چند كلمه)',
104
-	'entree_identifiants_connexion' => 'كلمه شناسائى براى متصل شدن',
105
-	'entree_identifiants_connexion_2' => 'شناسه‌ي ارتباط',
106
-	'entree_informations_connexion_ldap' => 'LDAP     خواهشمند است، اطلاعات مربوط به ارتباط به راهنماى  ال دى ا پى را در اين پرسشنامه وارد كنيد.
89
+    // E
90
+    'ecran_securite' => '+ نمايشگر ايمني @version@',
91
+    'email' => 'ايميل',
92
+    'email_2' => ': ايميل ',
93
+    'en_savoir_plus' => 'براي آگاهي بيشتر ',
94
+    'entree_adresse_annuaire' => 'آدرس راهنما',
95
+    'entree_adresse_email' => 'آدرس ايميل شما ',
96
+    'entree_adresse_email_2' => 'نشاني ايميل ',
97
+    'entree_base_donnee_1' => 'آدرس داده پى ها',
98
+    'entree_base_donnee_2' => 'اغلب, اين آدرس با آدرس سايتتون مطابقت ميكند گاهى با گزينش «localhost»  مطابقت و گاهى كاملأ خاليست)',
99
+    'entree_biographie' => 'زندگينامه كوتاه در چند كلمه',
100
+    'entree_chemin_acces' => ' راه ورود </b> وارد شويد <b>',
101
+    'entree_cle_pgp' => 'PGP كليد شما          ',
102
+    'entree_cle_pgp_2' => 'كليد پي.چي.پي',
103
+    'entree_contenu_rubrique' => '(محتوى اين بخش در چند كلمه)',
104
+    'entree_identifiants_connexion' => 'كلمه شناسائى براى متصل شدن',
105
+    'entree_identifiants_connexion_2' => 'شناسه‌ي ارتباط',
106
+    'entree_informations_connexion_ldap' => 'LDAP     خواهشمند است، اطلاعات مربوط به ارتباط به راهنماى  ال دى ا پى را در اين پرسشنامه وارد كنيد.
107 107
  اين ااطلاعات ميبايد توسط گرداننده  سيستم 
108 108
 يا شبكه به شما داده شود',
109
-	'entree_infos_perso' => ' كى هستيد؟',
110
-	'entree_infos_perso_2' => 'نويسنده كيست؟',
111
-	'entree_interieur_rubrique' => ': در داخل اين بخش',
112
-	'entree_liens_sites' => '<b>ارتباط hypertexte</b> (.مراجع , سايت هايي براى بازديد )',
113
-	'entree_login' => 'شما login',
114
-	'entree_login_connexion_1' => 'ارتباط login',
115
-	'entree_login_connexion_2' => '(مطابقت ميكند، گاهى خالى گذاشته شده  FTPورود به login گاهى با)    ',
116
-	'entree_mot_passe' => 'كلمه ورودتان',
117
-	'entree_mot_passe_1' => '(كلمه ورود براى ارتباط (كنكشن',
118
-	'entree_mot_passe_2' => '(مطابقت ميكند، گاهى خالى گذاشته شده FTP گاهى با كلمه ورود )      ',
119
-	'entree_nom_fichier' => '@texte_compresse@:خواهشمند است نام فايل را داخل بنمائيد',
120
-	'entree_nom_pseudo' => 'نام يا نام مستعارتان',
121
-	'entree_nom_pseudo_1' => '(نام يا نام مستعارتان)',
122
-	'entree_nom_pseudo_2' => 'نام يا نام مستعار',
123
-	'entree_nom_site' => 'نام سايتتان',
124
-	'entree_nom_site_2' => 'نام سايت نويسنده',
125
-	'entree_nouveau_passe' => 'كلمه ورود جديد',
126
-	'entree_passe_ldap' => 'كلمه ورود',
127
-	'entree_port_annuaire' => 'شماره وردى راهنما',
128
-	'entree_signature' => 'امضاء',
129
-	'entree_titre_obligatoire' => '</b>عنوان<b> [اجبارى]<br />',
130
-	'entree_url' => '(URL) آدرس سايتتان',
131
-	'entree_url_2' => 'آدرس (يو.آر.ال) سايت',
132
-	'erreur_connect_deja_existant' => 'سروري به نام     موجود است',
133
-	'erreur_email_deja_existant' => 'اين نشاني ايميل قبلاً ثبت شده است.',
134
-	'erreur_nom_connect_incorrect' => 'نام سرور مجاز نيست',
135
-	'erreur_plugin_desinstalation_echouee' => 'نصب زدايي پلاگين موفق نبود. با اين وجود مي‌توانيد آن را غيرفعال سازيد.',
136
-	'erreur_plugin_fichier_absent' => 'فایل موجود نیست',
137
-	'erreur_plugin_fichier_def_absent' => 'فایل معیار موجود نیست',
138
-	'erreur_plugin_nom_fonction_interdit' => 'نام تابع مجاز نمیباشد',
139
-	'erreur_plugin_nom_manquant' => 'نام plugin یافت نمیشود',
140
-	'erreur_plugin_prefix_manquant' => 'بخش نامگذاری plugin کامل نمیباشد',
141
-	'erreur_plugin_tag_plugin_absent' => '&lt;plugin&gt; در فایل توضیحی موجود نمیباشد',
142
-	'erreur_plugin_version_manquant' => 'نسخه ی plugin موجود نمیباشد',
109
+    'entree_infos_perso' => ' كى هستيد؟',
110
+    'entree_infos_perso_2' => 'نويسنده كيست؟',
111
+    'entree_interieur_rubrique' => ': در داخل اين بخش',
112
+    'entree_liens_sites' => '<b>ارتباط hypertexte</b> (.مراجع , سايت هايي براى بازديد )',
113
+    'entree_login' => 'شما login',
114
+    'entree_login_connexion_1' => 'ارتباط login',
115
+    'entree_login_connexion_2' => '(مطابقت ميكند، گاهى خالى گذاشته شده  FTPورود به login گاهى با)    ',
116
+    'entree_mot_passe' => 'كلمه ورودتان',
117
+    'entree_mot_passe_1' => '(كلمه ورود براى ارتباط (كنكشن',
118
+    'entree_mot_passe_2' => '(مطابقت ميكند، گاهى خالى گذاشته شده FTP گاهى با كلمه ورود )      ',
119
+    'entree_nom_fichier' => '@texte_compresse@:خواهشمند است نام فايل را داخل بنمائيد',
120
+    'entree_nom_pseudo' => 'نام يا نام مستعارتان',
121
+    'entree_nom_pseudo_1' => '(نام يا نام مستعارتان)',
122
+    'entree_nom_pseudo_2' => 'نام يا نام مستعار',
123
+    'entree_nom_site' => 'نام سايتتان',
124
+    'entree_nom_site_2' => 'نام سايت نويسنده',
125
+    'entree_nouveau_passe' => 'كلمه ورود جديد',
126
+    'entree_passe_ldap' => 'كلمه ورود',
127
+    'entree_port_annuaire' => 'شماره وردى راهنما',
128
+    'entree_signature' => 'امضاء',
129
+    'entree_titre_obligatoire' => '</b>عنوان<b> [اجبارى]<br />',
130
+    'entree_url' => '(URL) آدرس سايتتان',
131
+    'entree_url_2' => 'آدرس (يو.آر.ال) سايت',
132
+    'erreur_connect_deja_existant' => 'سروري به نام     موجود است',
133
+    'erreur_email_deja_existant' => 'اين نشاني ايميل قبلاً ثبت شده است.',
134
+    'erreur_nom_connect_incorrect' => 'نام سرور مجاز نيست',
135
+    'erreur_plugin_desinstalation_echouee' => 'نصب زدايي پلاگين موفق نبود. با اين وجود مي‌توانيد آن را غيرفعال سازيد.',
136
+    'erreur_plugin_fichier_absent' => 'فایل موجود نیست',
137
+    'erreur_plugin_fichier_def_absent' => 'فایل معیار موجود نیست',
138
+    'erreur_plugin_nom_fonction_interdit' => 'نام تابع مجاز نمیباشد',
139
+    'erreur_plugin_nom_manquant' => 'نام plugin یافت نمیشود',
140
+    'erreur_plugin_prefix_manquant' => 'بخش نامگذاری plugin کامل نمیباشد',
141
+    'erreur_plugin_tag_plugin_absent' => '&lt;plugin&gt; در فایل توضیحی موجود نمیباشد',
142
+    'erreur_plugin_version_manquant' => 'نسخه ی plugin موجود نمیباشد',
143 143
 
144
-	// H
145
-	'htaccess_a_simuler' => 'هشدار:‌ پيكربندي HTTP سرور شما پرونده‌هاي @htaccess@ را ناديده مي‌گيرد. براي تضمين امنيت كافي،‌ بايد پيكربندي اين را عضو كنيد. يا مطمئن شويد ثابت‌هاي @constantes@ (تعريف شده در پرونده‌ي mes_options.ph) همان مقدار خارج از ديركتوار @document_root@ را دارد.  ',
146
-	'htaccess_inoperant' => 'htaccess بي‌اثر',
144
+    // H
145
+    'htaccess_a_simuler' => 'هشدار:‌ پيكربندي HTTP سرور شما پرونده‌هاي @htaccess@ را ناديده مي‌گيرد. براي تضمين امنيت كافي،‌ بايد پيكربندي اين را عضو كنيد. يا مطمئن شويد ثابت‌هاي @constantes@ (تعريف شده در پرونده‌ي mes_options.ph) همان مقدار خارج از ديركتوار @document_root@ را دارد.  ',
146
+    'htaccess_inoperant' => 'htaccess بي‌اثر',
147 147
 
148
-	// I
149
-	'ical_info1' => 'اين صفحه شيوه هاى گوناگونى را براى آگاهى از مسايل روزانه سايت معرفى ميكند.',
150
-	'ical_info2' => 'براى آگاهى بيشتر از جزييات فنى به, <a href="@spipnet@">اسناد اسپيپ </a> مراجعه كنيد.',
151
-	'ical_info_calendrier' => '٢ روزشمار در دسترس شما ميباشد.  روزشمار اول وضعيت سايت را همراه با خبرهاى مربوط به مقالات منتشره نشان ميدهد. روزشمار دوم حاوى مقالات تحريريه و آخرين پيامهاى خصوصى شما كه بواسطه يك كد شخصى تنها در درسترس شما ميباشد است. شما ميتوانيد آنرا در هر زمانى كه مايل باشيد تغيير دهيد. ',
152
-	'ical_methode_http' => 'بارگذارى',
153
-	'ical_methode_webcal' => 'مقارن كردن (webcal://)',
154
-	'ical_texte_prive' => 'اين روزشمار شما را در جريان فعاليتهاى تحريريه ويژه سايت ميگذارد (كار, ملاقات هاى شخصى,  مقالات ...). ',
155
-	'ical_texte_public' => 'اين روزشمار بشما امكان پيگيرى فعاليت هاى همگانى سايت را ميدهد (مقالات,...). ',
156
-	'ical_texte_rss' => ' شما ميتوانيد تازه هاى اين سايت را با فايلهاى XML/RSS (Rich Site Summary)  بديگر سايتها پيوند دهيد.همچنين اين نوع فايل به اسپيپ امكان خواندن تازه هاى ديگر سايتها را ميدهد.',
157
-	'ical_titre_js' => 'جاوا اسكريپت',
158
-	'ical_titre_mailing' => 'ليست ايميلها',
159
-	'ical_titre_rss' => ' فايل syndication',
160
-	'icone_accueil' => 'خانه',
161
-	'icone_activer_cookie' => 'كوكى مكاتبه را فعال كنيد',
162
-	'icone_activite' => 'بازخورد',
163
-	'icone_admin_plugin' => 'اداره ی plugins',
164
-	'icone_administration' => 'نگه‌داري',
165
-	'icone_afficher_auteurs' => 'فهرست نويسند گان را بروى صفحه نشان دهيد ',
166
-	'icone_afficher_visiteurs' => ' فهرست بازديدكنند گان را بروى صفحه نشان دهيد ',
167
-	'icone_arret_discussion' => 'ديگر در اين بحث شركت نكنيد',
168
-	'icone_calendrier' => 'تقويم',
169
-	'icone_configuration' => 'پيكربندي',
170
-	'icone_creer_auteur' => 'يك نويسنده جديد اضافه و به اين مقاله مرتبطش كنيد',
171
-	'icone_creer_mot_cle' => 'يك كليد-واژه نو بسازيد و به اين مقاله مرتبطش كنيد',
172
-	'icone_creer_rubrique_2' => 'يك بخش جديد بسازيد',
173
-	'icone_edition' => 'ويرايش',
174
-	'icone_ma_langue' => 'زبان من',
175
-	'icone_mes_infos' => 'اطلاعات من',
176
-	'icone_mes_preferences' => 'ترجيح‌هاي من',
177
-	'icone_modifier_article' => 'اين مقاله را اصلاح كنيد',
178
-	'icone_modifier_rubrique' => 'اين بخش را اصلاح كنيد',
179
-	'icone_publication' => 'انتشار',
180
-	'icone_relancer_signataire' => 'بازنشر امضاء',
181
-	'icone_retour' => 'بازگشت',
182
-	'icone_retour_article' => 'بازگشت به مقاله',
183
-	'icone_squelette' => 'اسكلت',
184
-	'icone_suivi_publication' => 'پيگيري انتشارات',
185
-	'icone_supprimer_cookie' => 'كوكى مكاتبه را حذف كنيد',
186
-	'icone_supprimer_rubrique' => 'اين بخش را حذف كنيد',
187
-	'icone_supprimer_signature' => 'اين امضاء را حذف كنيد',
188
-	'icone_valider_signature' => 'اين امضاء را معتبر كنيد',
189
-	'image_administrer_rubrique' => 'شما ميتوانيد اين بخش را اداره كنيد',
190
-	'impossible_modifier_login_auteur' => 'تغيير لاگين ممكن نيست.', # MODIF
191
-	'impossible_modifier_pass_auteur' => 'تغيير گذرواژه ممكن نيست.', # MODIF
192
-	'info_1_article' => '١ مقاله',
193
-	'info_1_auteur' => 'نويسنده‌ي 1',
194
-	'info_1_message' => 'پيام 1',
195
-	'info_1_mot_cle' => 'كليدواژه‌ي 1',
196
-	'info_1_rubrique' => 'بخش 1',
197
-	'info_1_visiteur' => 'بازديد‌كننده‌ي 1',
198
-	'info_activer_cookie' => ' شما ميتوانيد  كوكى مكاتبه  را فعال نماپيد اينكار به شما اجازه خواهد داد كه براحتى از سايت همگانى به سايت خصوصى برويد',
199
-	'info_admin_etre_webmestre' => 'دادن حق وب مستر به من',
200
-	'info_admin_je_suis_webmestre' => 'من <b>webmestre</b> هستم',
201
-	'info_admin_statuer_webmestre' => 'تفويض حق وب مستري به اين مدير',
202
-	'info_admin_webmestre' => 'اين مدير <b>webmestre</b> است',
203
-	'info_administrateur' => 'گردانند سايت',
204
-	'info_administrateur_1' => 'گرداننده  ',
205
-	'info_administrateur_2' => '(<i>با احتياط استفاده كنيد </i>) سايت ',
206
-	'info_administrateur_site_01' => 'اگر شما از گردانند گان سايت هستيد، خواهشمند است',
207
-	'info_administrateur_site_02' => 'روى اين پيوند كليك كنيد',
208
-	'info_administrateurs' => 'گردانند گان سايت',
209
-	'info_administrer_rubrique' => 'شما ميتوانيد اين بخش را اداره كنيد',
210
-	'info_adresse' => ': به آدرس',
211
-	'info_adresse_desinscription' => 'نساني قطع آبونمان: ',
212
-	'info_adresse_url' => '(URL) آدرس سايت همگانى      ',
213
-	'info_afficher_par_nb' => 'نشان دادن با',
214
-	'info_aide_en_ligne' => 'SPIP كمك در تارنما',
215
-	'info_ajout_image' => '  هنگامى كه تصاويرى را ضميمه مقاله اى ميكنيد، اسپيپ ميتواند بطور خودكار آنها را بصورت كوچك شده اضافه كند. با اين روش ميتوان براى مثال نمايى از مجموع تصاوير را بطور خودكار درست كرد ',
216
-	'info_ajouter_rubrique' => 'يك بخش ديگر را براى اداه كردن اضافه كنيد',
217
-	'info_annonce_nouveautes' => 'خبر تازه ها',
218
-	'info_article' => 'مقاله',
219
-	'info_article_2' => 'مقاله',
220
-	'info_article_a_paraitre' => 'مقالات با تاريخ آينده منتشر شوند',
221
-	'info_articles_02' => 'مقالات',
222
-	'info_articles_2' => 'مقالات',
223
-	'info_articles_auteur' => 'مقالات اين نويسنده',
224
-	'info_articles_miens' => 'مقالات من',
225
-	'info_articles_tous' => 'تمام مقاله‌ها',
226
-	'info_articles_trouves' => 'مقالات پيدا شده',
227
-	'info_attente_validation' => 'مقاله هايتان در انتظار تأئيد شدن',
228
-	'info_aucun_article' => 'مقاله‌اي نيست',
229
-	'info_aucun_auteur' => 'هيچ مؤلفي موجود نيست',
230
-	'info_aucun_message' => 'هيچ پيامي موجود نيست',
231
-	'info_aucun_rubrique' => 'هيچ بخش',
232
-	'info_aujourdhui' => ': امروز',
233
-	'info_auteur_gere_toutes_rubriques_2' => 'من <b> تمام بخش‌ها را اداره مي‌كنم</b>', # MODIF
234
-	'info_auteurs' => 'نويسندگان ',
235
-	'info_auteurs_par_tri' => '@partri@ نويسنده گان',
236
-	'info_auteurs_trouves' => 'نويسنده گان پيدا شده   ',
237
-	'info_authentification_externe' => 'تأئيد از خارج',
238
-	'info_avertissement' => 'تذكر',
239
-	'info_barre_outils' => 'با ميل ابزار آن؟',
240
-	'info_base_installee' => '.ساختار داده پى هايتان نصب شده',
241
-	'info_bio' => 'زندگي‌نامه',
242
-	'info_cache_desactive' => 'حفاظه پنهان موقتاً غيرفعال است.',
243
-	'info_chapeau' => 'سر متن',
244
-	'info_chapeau_2' => ':سر متن',
245
-	'info_chemin_acces_1' => 'گزینش: <b>مسير ورود به راهنما</b>',
246
-	'info_chemin_acces_2' => 'شما بايد پس از اين مسير دسترسى به اطلاعات را در راهنما تنظيم كنيد. اين اطلاعات براى شناسائى كاربرانى كه در راهنما هستند ضرورى ميباشد',
247
-	'info_chemin_acces_annuaire' => 'گزینش : <b>مسير ورود به راهنما',
248
-	'info_choix_base' => ': سومين مرحله',
249
-	'info_classement_1' => '<sup>ين</sup>در @liste@',
250
-	'info_classement_2' => '<sup>ين</sup>در@liste@',
251
-	'info_code_acces' => '! كد ها ى وردي تان را فراموش نكنيد',
252
-	'info_config_suivi' => 'اگر اين آدرس به فهرست ايميل ها mailing-list مربوط ميشود, ميتوانيد در زير آدرسى را كه شركت كنندگان سايت ميتوانند در آن ثبت نام كنند را مشخص كنيد. اين آدرس ميتواند يك  URL( مانند صفحه ثبت نام در فهرست) و يا ميتواند بدين صورت باشد : <tt>@adresse_suivi@?subject=subscribe</tt>):',
253
-	'info_config_suivi_explication' => ' شما ميتوانيد بطور خودكار بوسيله ايميل خبرهاى مربوط به فعاليت تحريريه سايت را دريافت كنيد. براى اين منظور شما بايد در فهرست ايميلها mailing-list ثبت نام كنيد.',
254
-	'info_confirmer_passe' => ':كلمه ورودى جديدتان را تأئيد كنيد',
255
-	'info_conflit_edition_avis_non_sauvegarde' => 'توجه: ميدان‌هاي بعدي از جاهاي ديگر اصلاح شده است. در نتيجه اصلاحات شما ثبت نشده است. ',
256
-	'info_conflit_edition_differences' => 'تفاوت‌ها:',
257
-	'info_conflit_edition_version_enregistree' => 'نسخه ثبت شده:',
258
-	'info_conflit_edition_votre_version' => 'نسخه شما:',
259
-	'info_connexion_base' => '<b>آزمايش ارتباط با پايگاه</b>',
260
-	'info_connexion_base_donnee' => 'اتصال با پايگاه داده‌هاي شما',
261
-	'info_connexion_ldap_ok' => '<b>ارتباط ال.دي.اي.پي موفقيت آميز است.</b><p> مي‌توانيد به مرحله بعد برويد.</p>',
262
-	'info_connexion_mysql' => 'ارتباط شما با SQL',
263
-	'info_connexion_ok' => '.ارتباط برقرار شد',
264
-	'info_contact' => 'تماس',
265
-	'info_contenu_articles' => 'محتوى مقاله ها',
266
-	'info_contributions' => 'مشاركت‌ها',
267
-	'info_creation_paragraphe' => 'براى درست كردن پاراگراف، كافيست كه خط  خالى ايجاد كنيد.',
268
-	'info_creation_rubrique' => 'پيش از نوشتن مقاله ,<br />شما بايد دست كم يك بخش درست كنيد <br />',
269
-	'info_creation_tables' => '<b>درست كردن جداول پايگاه</b>',
270
-	'info_creer_base' => 'يك داده پى جديد <b>بسازيد</b>:',
271
-	'info_dans_rubrique' => ':درون بخش',
272
-	'info_date_publication_anterieure' => 'تاريخ نگارش قبلى :',
273
-	'info_date_referencement' => ': تاريخ پيوند اين سايت',
274
-	'info_derniere_etape' => 'پايان !',
275
-	'info_descriptif' => ':توصيف',
276
-	'info_desinstaller_plugin' => 'داده ها را حذف و plugin را غیر فعال کنید',
277
-	'info_discussion_cours' => 'در حال بحث',
278
-	'info_ecrire_article' => 'پيش از نوشتن مقاله، شما ميبايد دست كم يك بخش درست كنيد.',
279
-	'info_email_envoi' => 'آدرس ايميل برای ارسال (اختياری)',
280
-	'info_email_envoi_txt' => 'آدرس مورد استفاده تان را برای ارسال ايميل در اينجا درج کنيد  (وگرنه از آدرس گيرنده استفاده خواهد شد)',
281
-	'info_email_webmestre' => 'آدرس ايميل وب مستر ',
282
-	'info_envoi_email_automatique' => 'ارسال نامه ها بطور خودكار',
283
-	'info_envoyer_maintenant' => 'الان بفرستيد',
284
-	'info_etape_suivante' => 'به مرحله بعدى برويد',
285
-	'info_etape_suivante_1' => 'شما ميتوانيد به مرحله بعدى برويد',
286
-	'info_etape_suivante_2' => 'شما ميتوانيد به مرحله بعدى برويد',
287
-	'info_exceptions_proxy' => 'استثناءها براي پراكسي',
288
-	'info_exportation_base' => 'صدور پايگاه به@archive@',
289
-	'info_facilite_suivi_activite' => 'براى آسان شدن مداوم فعاليت تحريريه، سيستم  ميتواند براى مثال، خبر درخواستهاى انتشار و اعتبار مقالات را به فهرست پيكهاى نويسند گان بفرستد', # MODIF
290
-	'info_fichiers_authent' => 'فايل هاى تأئيدى« .htpasswd »',
291
-	'info_forums_abo_invites' => 'سايتتان داراى سخنگاه براى مشتركين ميباشد: از بازديد كنندگان دعوت ميشود كه در قسمت همگانى سايت ثبت نام  كنند.',
292
-	'info_gauche_admin_tech' => '<b>اين صفحه فقط براى مسئولان سايت قابل دسترسى ميباشد.</b><p>  ورود به آن اجازه دسترسى به كاركردهاى گوناگون تعمير ونگهدارى فنى را ميدهد. از جمله روند باز شناسى و تأئيد ويژه اى كه لازمه اش داشتن حق ورود به تارنما است (FTP)',
293
-	'info_gauche_admin_vider' => '<b>اين صفحه فقط براى مسئولان سايت قابل دسترسى ميباشد.</b><p>  ورود به آن اجازه دسترسى به كاركرهاى گوناگون تعمير ونگهداى فنى را ميدهد. از جمله روند باز شناسى و تأئيد ويژه اى كه لازمه اش داشتن حق ورود به تارنما است (FTP)',
294
-	'info_gauche_auteurs' => 'شما نام تمام نگارند گان را در اينجا خواهيد يافت. نوع مسئوليتشان با رنگهاى ايكونها مشخص شده است (نگارنده=آيكون سبز، گردانند سايت=آيكون زرد )',
295
-	'info_gauche_auteurs_exterieurs' => 'نويسندگان بازديدكننده، بدون دسترسي به سايت، با علامت آبي مشخص شده‌اند؛ نويسندگان حذف شده با علامت خاكتسري. ',
296
-	'info_gauche_messagerie' => 'پيام گير بشما اجازه رد و بدل پيام را با ديگر نويسند گان، نگهدارى يادداشتها (براى استفاده شخصى ) همچنين اعلان خبر در صفحه پذيرش را (در صورتى كه از گردانند گان سايت باشيد )ميدهد.',
297
-	'info_gauche_statistiques_referers' => 'اين صفحه, فهرست سايتهاى مرجع را ارائه ميدهد، بعبارتى سايتهايى كه داراى پيوند با سايت شما هستند، (فقط براى ديروز و امروز) : در واقع اين فهرست هر ٢٤ ساعت يكبار نو ميشود',
298
-	'info_gauche_visiteurs_enregistres' => 'شما, در اينجا, همه بازديد كنند گان ثبت شده در قسمت همگانى را خواهيد يافت  (براى مشتركين).',
299
-	'info_generation_miniatures_images' => 'ساخت تصاوير كوچك شده',
300
-	'info_gerer_trad_objets' => '@objets@ :مديريت پيوند‌هاي ترجمه',
301
-	'info_hebergeur_desactiver_envoi_email' => 'تعدادى از ميزبانان ارسال خودكار نامه ها را از سرورهايشان غير فعال ميكنند. در اين صورت،  عملكردهاى بعدى اسپيپ  كار نخوهند كرد. ',
302
-	'info_hier' => ': ديروز',
303
-	'info_identification_publique' => '...شناسنامه شما',
304
-	'info_image_process' => 'خواهشمند است بهترين شيوه ساخت تصاوير كوچك را با كليك كردن بروي تصوير مربوطه انتخاب نماييد.',
305
-	'info_images_auto' => 'تصاوير بطور خودكار محاسبه شده اند',
306
-	'info_informations_personnelles' => 'اطلاعات شخصى',
307
-	'info_inscription' => 'ثبت شده در ',
308
-	'info_inscription_automatique' => 'ثبت نام خوكار نويسند گان جديد',
309
-	'info_jeu_caractere' => 'انتخاب نوع و شكل حروف سايت',
310
-	'info_jours' => 'روز',
311
-	'info_laisser_champs_vides' => 'اين قسمتها را خالى بگذاريد)',
312
-	'info_langues' => 'زبانهاى سايت',
313
-	'info_ldap_ok' => 'گواهى درستى LDAP مستقر شده',
314
-	'info_lien_hypertexte' => ': پيوند هايپرتكست',
315
-	'info_liste_nouveautes_envoyee' => 'فهرست تازه‌ها ارسال شده است',
316
-	'info_liste_redacteurs_connectes' => 'فهرست نويسنده گان روى خط',
317
-	'info_login_existant' => '.موجود ميباشد login اين',
318
-	'info_login_trop_court' => 'بيش از اندازه كوتاه Login .',
319
-	'info_login_trop_court_car_pluriel' => 'لاگين بايد دست كم @nb@ كاراكتر داشته باشد.',
320
-	'info_logos' => 'لوگوها',
321
-	'info_maximum' => ': حداكثر',
322
-	'info_meme_rubrique' => 'در همان بخش',
323
-	'info_message_en_redaction' => 'پيام هايتان در حال نگارش',
324
-	'info_message_technique' => ':پيام فنى',
325
-	'info_messagerie_interne' => 'پيام گير داخلى',
326
-	'info_mise_a_niveau_base' => 'تراز گذارى پايگاه SQL',
327
-	'info_mise_a_niveau_base_2' => '{{!توجه}}شما نسخه { قديمى} اسپيپ را نصب كرده ايد براى داده پى هايتان خطر  از بين رفتن وجود دارد و همچنين از كار افتاد گى سايتتان   .<br />{{فايلهاى اسپيپ را دوباره نصب كنيد}}',
328
-	'info_modification_enregistree' => 'تغييرها ثبت شد',
329
-	'info_modifier_auteur' => 'اصلاح نويسنده',
330
-	'info_modifier_rubrique' => ':اصلاح بخش ',
331
-	'info_modifier_titre' => '@titre@ : اصلاح       ',
332
-	'info_mon_site_spip' => 'SPIP سايت من',
333
-	'info_moyenne' => ': متوسط',
334
-	'info_multi_cet_article' => ' زبان اين مقاله :',
335
-	'info_multi_langues_choisies' => 'خواهشمند است كه زبانهاى موجود براى نويسند گان سايتتان را در زير انتخاب كنيد. زبانهاى از پيش استفاده شده نميتوانند غير فعال شوند.',
336
-	'info_multi_objets' => '@objets@ :فعال‌سازي منوي زبان',
337
-	'info_multi_secteurs' => '...تنها براى بخشهاى واقع در ريشه؟',
338
-	'info_nb_articles' => '@nb@ مقاله',
339
-	'info_nb_auteurs' => '@nb@ نويسنده',
340
-	'info_nb_messages' => '@nb@ پيام',
341
-	'info_nb_mots_cles' => '@nb@ كليدواژه',
342
-	'info_nb_rubriques' => '@nb@ بخش',
343
-	'info_nb_visiteurs' => '@nb@ بازديد‌كننده',
344
-	'info_nom' => 'نام',
345
-	'info_nom_destinataire' => 'نام گيرنده',
346
-	'info_nom_pas_conforme' => 'تگ‌هاي اچ.تي.ام.ال مجاز نيستند',
347
-	'info_nom_site' => 'نام سايتتان',
348
-	'info_nombre_articles' => 'مقاله @nb_articles@ ',
349
-	'info_nombre_rubriques' => 'بخش @nb_rubriques@ ',
350
-	'info_nombre_sites' => 'سايت @nb_sites@',
351
-	'info_non_deplacer' => '...جابجا نكنيد',
352
-	'info_non_envoi_annonce_dernieres_nouveautes' => 'اسپيپ ميتواند بطور منظم اخبار تازه هاى سايت را مانند مقاله ها، مقاله هاى كوتاه تازه منتشر شده و... را بفرستد ',
353
-	'info_non_envoi_liste_nouveautes' => 'فهرست تازه ها را نفرستيد',
354
-	'info_non_modifiable' => 'نميتواند اصلاح شود',
355
-	'info_non_suppression_mot_cle' => 'نميخواهم اين كليد-واژه را حذف كنم',
356
-	'info_notes' => 'يادداشت ',
357
-	'info_nouvel_article' => 'مقاله جديد',
358
-	'info_nouvelle_traduction' => 'برگردان جديد',
359
-	'info_numero_article' => ': مقاله شماره',
360
-	'info_obligatoire_02' => '(اجباري)', # MODIF
361
-	'info_option_accepter_visiteurs' => 'پذيرفتن ثبت نام بازديد كنندگان سايت همگانى',
362
-	'info_option_ne_pas_accepter_visiteurs' => 'رد ثبت نام بازديدكنندگان',
363
-	'info_options_avancees' => 'گزينش هاى پيشرفته',
364
-	'info_ou' => '...يا',
365
-	'info_page_interdite' => 'صفحه ممنوع',
366
-	'info_par_nom' => 'توسط نام',
367
-	'info_par_nombre_article' => 'توسط شمار مقالها',
368
-	'info_par_statut' => 'توسط نوع',
369
-	'info_par_tri' => '’(بترتيب@tri@)’',
370
-	'info_passe_trop_court' => 'كلمه ورود خيلى كوتاه',
371
-	'info_passe_trop_court_car_pluriel' => 'گذرواژه‌ دست كم بايد @nb@ كاراكتر داشته باشد.',
372
-	'info_passes_identiques' => 'دو كلمه ورود با هم يكسان نيستند',
373
-	'info_plus_cinq_car' => 'بيش از پنج حرف',
374
-	'info_plus_cinq_car_2' => '(بيش از پنج حرف)',
375
-	'info_plus_trois_car' => '(بيش از سه حرف)',
376
-	'info_popularite' => '@popularite@ : محبوبيت@visites@ : بازديد',
377
-	'info_post_scriptum' => 'نوشتار پس از متن اصلى',
378
-	'info_post_scriptum_2' => ':نوشتار پس از متن اصلى',
379
-	'info_pour' => 'براى',
380
-	'info_preview_texte' => 'اين امكان وجود دارد كه سايت را پيش از آماده شدن (پيش از پيشنهاد مقالات) بازبينى كرد مانند زمانيكه همه ى مقالات و اخبار منتشر شده اند.اين امكان ميتواند تنها براى گردانند گان سايت يا نويسندگان يا براى هيچكس نباشد.', # MODIF
381
-	'info_procedez_par_etape' => 'مرحله به مرحله اقدام كنيد',
382
-	'info_procedure_maj_version' => 'روند به روز كردن بايد به جريان بيفتد تا داده پى ها بتوانند با نسخه جديد منطبق شوند.',
383
-	'info_proxy_ok' => 'آزمایش پروکسی با موفقیت انجام شد.',
384
-	'info_ps' => 'P.-S.',
385
-	'info_publier' => 'منتشر کنید',
386
-	'info_publies' => 'مقاله هاى منتشر شده تان روى تارنما',
387
-	'info_question_accepter_visiteurs' => 'اگر اسكلت سايتتان ثبت شمار بازديدكنندگان  را بى آنكه اجازه ى ورود به قسمت خصوصى سايت را داشته باشند را  داراست خواهشمند است گزينه ى زير را فعال كنيد:',
388
-	'info_question_inscription_nouveaux_redacteurs' => 'آيا ثبت نام نويسند گان جديد را از سايت همگانى قبول ميكنيد؟ اگر ميكنيد، كاربران ميتوانند با پر كردن يك پرسشنامه ثبت نام كنند و به محوطه خصوصى راه يابند. آنها ميتوانند مقالاتشان را مطرح كنند <blockquote><i>در هنگام ثبت نام كاربران يك ايميل دريافت خواهند كرد كه شامل كد ورودي شان به سايت خصوصى خواهد بود. تعدادى از ميزبانان، ارسال ايميل را از سرورها غير فعال كرده اند: دراينصورت ثبت نام خودكار غير ممكن خواهد بود..</i></blockquote>',
389
-	'info_qui_edite' => '@nom_auteur_modif@ روي اين مطلب @date_diff@ كار كرده است.',
390
-	'info_racine_site' => 'ريشه سايت',
391
-	'info_recharger_page' => 'خواهشمند است اين صفحه را تا چند لحظه بعد دوباره شارژ كنيد',
392
-	'info_recherche_auteur_zero' => '"@cherche_auteur@" : جستجوى بدون نتيجه براى',
393
-	'info_recommencer' => '.خواهشمند است دوباره شروع كنيد',
394
-	'info_redacteur_1' => 'نويسنده',
395
-	'info_redacteur_2' => 'به بخش خصوصى دسترسى دارد(<i>توصيه ميشود</i>)',
396
-	'info_redacteurs' => 'نويسندگان',
397
-	'info_redaction_en_cours' => 'در حال نگارش',
398
-	'info_redirection' => 'هدايت دوباره آدرس ',
399
-	'info_redirection_activee' => 'باز سو دهي فعال است. ',
400
-	'info_redirection_desactivee' => 'باز سو دهي حذف شده. ',
401
-	'info_refuses' => 'مقاله هايتان كه پذيرفته نشده اند',
402
-	'info_reglage_ldap' => ' گزينش :<b> تنظيم ورود LDAP</b>',
403
-	'info_renvoi_article' => 'تغییر محل. اين مقاله به این صفحه برمیگردد:',
404
-	'info_reserve_admin' => 'تنها گردانندگان سايت حق اصلاح اين آدرس را دارند',
405
-	'info_restreindre_rubrique' => ':محدوديت در اداره بخش',
406
-	'info_resultat_recherche' => ':نتيجه جستجو',
407
-	'info_rubriques' => 'بخش ها',
408
-	'info_rubriques_02' => 'بخش ها',
409
-	'info_rubriques_trouvees' => 'بخش هاى پيدا شده',
410
-	'info_sans_titre' => 'بدون عنوان',
411
-	'info_selection_chemin_acces' => '<b>انتخاب كنيد</b> راه ورودى را در راهنما',
412
-	'info_signatures' => 'امضاء',
413
-	'info_site' => 'سايت',
414
-	'info_site_2' => ':سايت',
415
-	'info_site_min' => 'سايت',
416
-	'info_site_reference_2' => 'سايت مرجع',
417
-	'info_site_web' => 'وب سايت:',
418
-	'info_sites' => 'سايت',
419
-	'info_sites_lies_mot' => 'سايتهاى پيوندى مربوط به اين واژه-كليد',
420
-	'info_sites_proxy' => 'از پروكسى استفاده كنيد',
421
-	'info_sites_trouves' => 'سايت هاى پيدا شده',
422
-	'info_sous_titre' => ':عنوان فرعى',
423
-	'info_statut_administrateur' => 'گرداننده سايت',
424
-	'info_statut_auteur' => 'وضعيت اين نويسنده:',
425
-	'info_statut_auteur_2' => 'من هستم',
426
-	'info_statut_auteur_a_confirmer' => 'ثبت نام تائید شود',
427
-	'info_statut_auteur_autre' => 'وضعیت دیگر:',
428
-	'info_statut_redacteur' => 'نويسنده',
429
-	'info_statut_utilisateurs_1' => 'وضعيت كاربران ورودى',
430
-	'info_statut_utilisateurs_2' => 'وضعيت اشخاص حاضر در راهنماى ال دى ا پى را كه براى اولين بار به سايت ميپيوندند مشخص كنيد. شما ميتوانيد پس از آن  براى هر نويسنده آنرا مورد به مورد اصلاح كنيد',
431
-	'info_suivi_activite' => 'دنباله سر مقاله',
432
-	'info_surtitre' => ':سر عنوان',
433
-	'info_syndication_integrale_1' => 'سایتتان فایلهای syndication را پیشنهاد میکند (voir « <a href="@url@">@titre@</a> »). ',
434
-	'info_syndication_integrale_2' => 'آیا مایلید که مقاله ها را بطور کامل یا فقط خلاصه ای از آنها را بفرستید؟',
435
-	'info_table_prefix' => 'شما میتوانید پیشوند نام جدولهای داده ها را اصلاح کنید زیرا هنگامیکه از یک داده پی برای چند سایت استفاده میکنید اینکار اجباری است. پیشوند باید با حروف کوچک بدون اکسان و بی فاصله باشد.',
436
-	'info_taille_maximale_images' => 'اسپيپ برش‌ بالاتر تصاوير را كه مي‌تواند نشان دهد(در ميليون‌ها پيكشل) آزمايش مي‌كند. <br /> تصاوير بزرگتر كاهش نمي‌يابند.',
437
-	'info_taille_maximale_vignette' => 'حد اكثر اندازه براى توليد تصاوير كوچك توسط سيستم',
438
-	'info_terminer_installation' => 'شما اكنون ميتوانيد روند استقرار برنامه را پايان دهيد.',
439
-	'info_texte' => 'متن',
440
-	'info_texte_explicatif' => 'متن توضيحى',
441
-	'info_texte_long' => 'متن بيش از اندازه بلند ميباشد : در ابتدا به چند قسمت تقسيم و پس از تائيد، قطعات به هم متصل خواهند شد.',
442
-	'info_texte_message' => 'متن پيام شما',
443
-	'info_texte_message_02' => 'متن پيام',
444
-	'info_titre' => ':عنوان',
445
-	'info_total' => ':كل',
446
-	'info_tous_articles_en_redaction' => 'تمام مقالات در حال نگارش',
447
-	'info_tous_articles_presents' => 'تمام مقالات منتشر شده در اين بخش',
448
-	'info_tous_articles_refuses' => 'تمام مقالات رد شده',
449
-	'info_tous_les' => 'تمام :',
450
-	'info_tout_site' => 'همه سايت',
451
-	'info_tout_site2' => 'مقاله به اين زبان ترجمه نشده.',
452
-	'info_tout_site3' => 'مقاله به اين زبان ترجمه شده,  سپس تغييراتى در مقاله ى اصلى صورت گرفته, بدين جهت بايد برگردان آنرا بروز كرد.',
453
-	'info_tout_site4' => 'مقاله به اين زبان ترجمه و برگردان آن بروز شده.',
454
-	'info_tout_site5' => 'مقاله ى اصلى',
455
-	'info_tout_site6' => ' :<b>توجه<b/> تنها مقالات اصلى اعلان ميشوند و برگردانهايشان با رنگهايى كه گوياى وضعيت آنهاست به آنها متصلند.',
456
-	'info_traductions' => 'ترجمه‌ها',
457
-	'info_travail_colaboratif' => 'مقالات حاصل كار دست جمعى',
458
-	'info_un_article' => 'يك مقاله',
459
-	'info_un_site' => ',يك سايت',
460
-	'info_une_rubrique' => ',يك بخش',
461
-	'info_une_rubrique_02' => '١ بخش',
462
-	'info_url' => ':URL',
463
-	'info_url_proxy' => 'پراكسي URL',
464
-	'info_url_site_pas_conforme' => 'يو.آر.ال سايت معتبر نيست. ',
465
-	'info_url_test_proxy' => 'تست URL',
466
-	'info_urlref' => 'پيوند هايپرتکست:',
467
-	'info_utilisation_spip' => 'شما اكنون ميتوانيد از سيستم انتشار حضورى استفاده كنيد',
468
-	'info_visites_par_mois' => ':نمودار ماهانه',
469
-	'info_visiteur_1' => 'بازديد كننده',
470
-	'info_visiteur_2' => 'سايت همگانى',
471
-	'info_visiteurs' => 'بازديد كنندگان',
472
-	'info_visiteurs_02' => 'بازديد كنندگان سايت همگانى',
473
-	'info_webmestre_forces' => 'وب مستر‌ها در حال حاضر در <  tt>@file_options@</tt تعريف مي‌شوند.',
474
-	'install_adresse_base_hebergeur' => 'آدرس داده ها که توسط میزبان وب اعطا شده',
475
-	'install_connect_ok' => 'پايگاه داده‌هاي جديد اعلام كرده از سرور با نام @connect@استفاده مي‌كند. ',
476
-	'install_echec_annonce' => 'نصب احتمالا موفق آميز نخواهد بود يا به يك سايت غير كاربردى خاتمه ميابد...',
477
-	'install_extension_php_obligatoire' => 'اسپيپ به فايلهاى php نياز دارد:',
478
-	'install_login_base_hebergeur' => 'Login ورودی به سایت که توسط میزبان وب داده شده',
479
-	'install_nom_base_hebergeur' => 'نام پایگاه داده ها که توسط میزبان وب داده شده:',
480
-	'install_pas_table' => 'پايگاه عملاً بدون جدول‌ها',
481
-	'install_pass_base_hebergeur' => 'کد ورودی به سایت که توسط میزبان وب داده شده',
482
-	'install_php_version' => 'نسخه @version@ PHP ناکافیست  دستکم= @minimum@',
483
-	'install_select_langue' => 'يك زبان را انتخاب كنيد سپس روى دكمه "بعدى" كليك كنيد، روند استقرار برنامه بكار خواهد افتاد',
484
-	'install_select_type_db' => 'نوع پايگاه داده‌ها را تعيين كردن',
485
-	'install_select_type_mysql' => 'MySQL',
486
-	'install_select_type_pg' => 'PostgreSQL',
487
-	'install_select_type_sqlite2' => 'SQLite 2',
488
-	'install_select_type_sqlite3' => 'SQLite 3',
489
-	'install_serveur_hebergeur' => 'Serveur de base de données attribué par l’hébergeur ',
490
-	'install_table_prefix_hebergeur' => 'پیشوند جدولها که توسط میزبان وب داده شده:',
491
-	'install_tables_base' => 'جدول‌هاي پايگاه',
492
-	'install_types_db_connus' => 'اسپيپ مي‌تواند<b>MySQL</b> (رايج‌تر)و <b>SQLite</b> را استفاده كند.',
493
-	'install_types_db_connus_avertissement' => 'حمايت از <b>PostgreSQL</b> عملاً به صورت تجربي پيشنهاد شده است.',
494
-	'instituer_erreur_statut_a_change' => 'وضعيت همين الأن اصلاح شده',
495
-	'instituer_erreur_statut_non_autorise' => 'نمي‌توانيد اين وضعيت را انتخاب كنيد',
496
-	'intem_redacteur' => 'نويسنده',
497
-	'intitule_licence' => 'مجوز',
498
-	'item_accepter_inscriptions' => 'ثبت نامها را بپذيريد',
499
-	'item_activer_messages_avertissement' => 'پيامهاى اخطار را فعال كنيد',
500
-	'item_administrateur_2' => 'گرداننده سايت',
501
-	'item_afficher_calendrier' => 'در بخش تقويم نمايش دهيد',
502
-	'item_autoriser_syndication_integrale' => 'پخش کامل مقاله ها در فایل های syndication',
503
-	'item_choix_administrateurs' => 'گردانندگان سايت',
504
-	'item_choix_generation_miniature' => '.تصاوير كوچك را بطور خودكار بسازيد',
505
-	'item_choix_non_generation_miniature' => '.تصاوير كوچك را بطور خودكار نسازيد',
506
-	'item_choix_redacteurs' => 'نويسندگان',
507
-	'item_choix_visiteurs' => 'بازديد كنندگان سايت همگانى',
508
-	'item_creer_fichiers_authent' => '.htpasswd : از اين فايلها بسازيد',
509
-	'item_login' => 'Login',
510
-	'item_messagerie_agenda' => 'فعال سازي سامانه‌ي پيام‌دهي و تقويم',
511
-	'item_mots_cles_association_articles' => 'به مقالات',
512
-	'item_mots_cles_association_rubriques' => 'به بخشها ',
513
-	'item_mots_cles_association_sites' => 'به سايتهاى مرجع يا پيوندى',
514
-	'item_non' => 'خير',
515
-	'item_non_accepter_inscriptions' => 'ثبت نامها را نپذيريد',
516
-	'item_non_activer_messages_avertissement' => 'بدون پيام اخطار',
517
-	'item_non_afficher_calendrier' => 'در تقويم نيايد',
518
-	'item_non_autoriser_syndication_integrale' => 'تنها خلاصه ی آنرا منتشر کنید',
519
-	'item_non_creer_fichiers_authent' => 'اين فايلها را درست نكنيد',
520
-	'item_non_messagerie_agenda' => 'غيرفعال سازي سامانه‌ي پيام‌دهي و تقويم',
521
-	'item_non_publier_articles' => 'مقالات را پيش از تعيين تاريخ قطعى انتشار منتشر نكنيد',
522
-	'item_nouvel_auteur' => 'نويسنده جديد',
523
-	'item_nouvelle_rubrique' => 'بخش جديد',
524
-	'item_oui' => 'آرى',
525
-	'item_publier_articles' => '.مقالات را عليرغم تاريخ نشرشان منتشر كنيد',
526
-	'item_reponse_article' => 'پاسخ به مقاله',
527
-	'item_visiteur' => 'بازديد كننده',
148
+    // I
149
+    'ical_info1' => 'اين صفحه شيوه هاى گوناگونى را براى آگاهى از مسايل روزانه سايت معرفى ميكند.',
150
+    'ical_info2' => 'براى آگاهى بيشتر از جزييات فنى به, <a href="@spipnet@">اسناد اسپيپ </a> مراجعه كنيد.',
151
+    'ical_info_calendrier' => '٢ روزشمار در دسترس شما ميباشد.  روزشمار اول وضعيت سايت را همراه با خبرهاى مربوط به مقالات منتشره نشان ميدهد. روزشمار دوم حاوى مقالات تحريريه و آخرين پيامهاى خصوصى شما كه بواسطه يك كد شخصى تنها در درسترس شما ميباشد است. شما ميتوانيد آنرا در هر زمانى كه مايل باشيد تغيير دهيد. ',
152
+    'ical_methode_http' => 'بارگذارى',
153
+    'ical_methode_webcal' => 'مقارن كردن (webcal://)',
154
+    'ical_texte_prive' => 'اين روزشمار شما را در جريان فعاليتهاى تحريريه ويژه سايت ميگذارد (كار, ملاقات هاى شخصى,  مقالات ...). ',
155
+    'ical_texte_public' => 'اين روزشمار بشما امكان پيگيرى فعاليت هاى همگانى سايت را ميدهد (مقالات,...). ',
156
+    'ical_texte_rss' => ' شما ميتوانيد تازه هاى اين سايت را با فايلهاى XML/RSS (Rich Site Summary)  بديگر سايتها پيوند دهيد.همچنين اين نوع فايل به اسپيپ امكان خواندن تازه هاى ديگر سايتها را ميدهد.',
157
+    'ical_titre_js' => 'جاوا اسكريپت',
158
+    'ical_titre_mailing' => 'ليست ايميلها',
159
+    'ical_titre_rss' => ' فايل syndication',
160
+    'icone_accueil' => 'خانه',
161
+    'icone_activer_cookie' => 'كوكى مكاتبه را فعال كنيد',
162
+    'icone_activite' => 'بازخورد',
163
+    'icone_admin_plugin' => 'اداره ی plugins',
164
+    'icone_administration' => 'نگه‌داري',
165
+    'icone_afficher_auteurs' => 'فهرست نويسند گان را بروى صفحه نشان دهيد ',
166
+    'icone_afficher_visiteurs' => ' فهرست بازديدكنند گان را بروى صفحه نشان دهيد ',
167
+    'icone_arret_discussion' => 'ديگر در اين بحث شركت نكنيد',
168
+    'icone_calendrier' => 'تقويم',
169
+    'icone_configuration' => 'پيكربندي',
170
+    'icone_creer_auteur' => 'يك نويسنده جديد اضافه و به اين مقاله مرتبطش كنيد',
171
+    'icone_creer_mot_cle' => 'يك كليد-واژه نو بسازيد و به اين مقاله مرتبطش كنيد',
172
+    'icone_creer_rubrique_2' => 'يك بخش جديد بسازيد',
173
+    'icone_edition' => 'ويرايش',
174
+    'icone_ma_langue' => 'زبان من',
175
+    'icone_mes_infos' => 'اطلاعات من',
176
+    'icone_mes_preferences' => 'ترجيح‌هاي من',
177
+    'icone_modifier_article' => 'اين مقاله را اصلاح كنيد',
178
+    'icone_modifier_rubrique' => 'اين بخش را اصلاح كنيد',
179
+    'icone_publication' => 'انتشار',
180
+    'icone_relancer_signataire' => 'بازنشر امضاء',
181
+    'icone_retour' => 'بازگشت',
182
+    'icone_retour_article' => 'بازگشت به مقاله',
183
+    'icone_squelette' => 'اسكلت',
184
+    'icone_suivi_publication' => 'پيگيري انتشارات',
185
+    'icone_supprimer_cookie' => 'كوكى مكاتبه را حذف كنيد',
186
+    'icone_supprimer_rubrique' => 'اين بخش را حذف كنيد',
187
+    'icone_supprimer_signature' => 'اين امضاء را حذف كنيد',
188
+    'icone_valider_signature' => 'اين امضاء را معتبر كنيد',
189
+    'image_administrer_rubrique' => 'شما ميتوانيد اين بخش را اداره كنيد',
190
+    'impossible_modifier_login_auteur' => 'تغيير لاگين ممكن نيست.', # MODIF
191
+    'impossible_modifier_pass_auteur' => 'تغيير گذرواژه ممكن نيست.', # MODIF
192
+    'info_1_article' => '١ مقاله',
193
+    'info_1_auteur' => 'نويسنده‌ي 1',
194
+    'info_1_message' => 'پيام 1',
195
+    'info_1_mot_cle' => 'كليدواژه‌ي 1',
196
+    'info_1_rubrique' => 'بخش 1',
197
+    'info_1_visiteur' => 'بازديد‌كننده‌ي 1',
198
+    'info_activer_cookie' => ' شما ميتوانيد  كوكى مكاتبه  را فعال نماپيد اينكار به شما اجازه خواهد داد كه براحتى از سايت همگانى به سايت خصوصى برويد',
199
+    'info_admin_etre_webmestre' => 'دادن حق وب مستر به من',
200
+    'info_admin_je_suis_webmestre' => 'من <b>webmestre</b> هستم',
201
+    'info_admin_statuer_webmestre' => 'تفويض حق وب مستري به اين مدير',
202
+    'info_admin_webmestre' => 'اين مدير <b>webmestre</b> است',
203
+    'info_administrateur' => 'گردانند سايت',
204
+    'info_administrateur_1' => 'گرداننده  ',
205
+    'info_administrateur_2' => '(<i>با احتياط استفاده كنيد </i>) سايت ',
206
+    'info_administrateur_site_01' => 'اگر شما از گردانند گان سايت هستيد، خواهشمند است',
207
+    'info_administrateur_site_02' => 'روى اين پيوند كليك كنيد',
208
+    'info_administrateurs' => 'گردانند گان سايت',
209
+    'info_administrer_rubrique' => 'شما ميتوانيد اين بخش را اداره كنيد',
210
+    'info_adresse' => ': به آدرس',
211
+    'info_adresse_desinscription' => 'نساني قطع آبونمان: ',
212
+    'info_adresse_url' => '(URL) آدرس سايت همگانى      ',
213
+    'info_afficher_par_nb' => 'نشان دادن با',
214
+    'info_aide_en_ligne' => 'SPIP كمك در تارنما',
215
+    'info_ajout_image' => '  هنگامى كه تصاويرى را ضميمه مقاله اى ميكنيد، اسپيپ ميتواند بطور خودكار آنها را بصورت كوچك شده اضافه كند. با اين روش ميتوان براى مثال نمايى از مجموع تصاوير را بطور خودكار درست كرد ',
216
+    'info_ajouter_rubrique' => 'يك بخش ديگر را براى اداه كردن اضافه كنيد',
217
+    'info_annonce_nouveautes' => 'خبر تازه ها',
218
+    'info_article' => 'مقاله',
219
+    'info_article_2' => 'مقاله',
220
+    'info_article_a_paraitre' => 'مقالات با تاريخ آينده منتشر شوند',
221
+    'info_articles_02' => 'مقالات',
222
+    'info_articles_2' => 'مقالات',
223
+    'info_articles_auteur' => 'مقالات اين نويسنده',
224
+    'info_articles_miens' => 'مقالات من',
225
+    'info_articles_tous' => 'تمام مقاله‌ها',
226
+    'info_articles_trouves' => 'مقالات پيدا شده',
227
+    'info_attente_validation' => 'مقاله هايتان در انتظار تأئيد شدن',
228
+    'info_aucun_article' => 'مقاله‌اي نيست',
229
+    'info_aucun_auteur' => 'هيچ مؤلفي موجود نيست',
230
+    'info_aucun_message' => 'هيچ پيامي موجود نيست',
231
+    'info_aucun_rubrique' => 'هيچ بخش',
232
+    'info_aujourdhui' => ': امروز',
233
+    'info_auteur_gere_toutes_rubriques_2' => 'من <b> تمام بخش‌ها را اداره مي‌كنم</b>', # MODIF
234
+    'info_auteurs' => 'نويسندگان ',
235
+    'info_auteurs_par_tri' => '@partri@ نويسنده گان',
236
+    'info_auteurs_trouves' => 'نويسنده گان پيدا شده   ',
237
+    'info_authentification_externe' => 'تأئيد از خارج',
238
+    'info_avertissement' => 'تذكر',
239
+    'info_barre_outils' => 'با ميل ابزار آن؟',
240
+    'info_base_installee' => '.ساختار داده پى هايتان نصب شده',
241
+    'info_bio' => 'زندگي‌نامه',
242
+    'info_cache_desactive' => 'حفاظه پنهان موقتاً غيرفعال است.',
243
+    'info_chapeau' => 'سر متن',
244
+    'info_chapeau_2' => ':سر متن',
245
+    'info_chemin_acces_1' => 'گزینش: <b>مسير ورود به راهنما</b>',
246
+    'info_chemin_acces_2' => 'شما بايد پس از اين مسير دسترسى به اطلاعات را در راهنما تنظيم كنيد. اين اطلاعات براى شناسائى كاربرانى كه در راهنما هستند ضرورى ميباشد',
247
+    'info_chemin_acces_annuaire' => 'گزینش : <b>مسير ورود به راهنما',
248
+    'info_choix_base' => ': سومين مرحله',
249
+    'info_classement_1' => '<sup>ين</sup>در @liste@',
250
+    'info_classement_2' => '<sup>ين</sup>در@liste@',
251
+    'info_code_acces' => '! كد ها ى وردي تان را فراموش نكنيد',
252
+    'info_config_suivi' => 'اگر اين آدرس به فهرست ايميل ها mailing-list مربوط ميشود, ميتوانيد در زير آدرسى را كه شركت كنندگان سايت ميتوانند در آن ثبت نام كنند را مشخص كنيد. اين آدرس ميتواند يك  URL( مانند صفحه ثبت نام در فهرست) و يا ميتواند بدين صورت باشد : <tt>@adresse_suivi@?subject=subscribe</tt>):',
253
+    'info_config_suivi_explication' => ' شما ميتوانيد بطور خودكار بوسيله ايميل خبرهاى مربوط به فعاليت تحريريه سايت را دريافت كنيد. براى اين منظور شما بايد در فهرست ايميلها mailing-list ثبت نام كنيد.',
254
+    'info_confirmer_passe' => ':كلمه ورودى جديدتان را تأئيد كنيد',
255
+    'info_conflit_edition_avis_non_sauvegarde' => 'توجه: ميدان‌هاي بعدي از جاهاي ديگر اصلاح شده است. در نتيجه اصلاحات شما ثبت نشده است. ',
256
+    'info_conflit_edition_differences' => 'تفاوت‌ها:',
257
+    'info_conflit_edition_version_enregistree' => 'نسخه ثبت شده:',
258
+    'info_conflit_edition_votre_version' => 'نسخه شما:',
259
+    'info_connexion_base' => '<b>آزمايش ارتباط با پايگاه</b>',
260
+    'info_connexion_base_donnee' => 'اتصال با پايگاه داده‌هاي شما',
261
+    'info_connexion_ldap_ok' => '<b>ارتباط ال.دي.اي.پي موفقيت آميز است.</b><p> مي‌توانيد به مرحله بعد برويد.</p>',
262
+    'info_connexion_mysql' => 'ارتباط شما با SQL',
263
+    'info_connexion_ok' => '.ارتباط برقرار شد',
264
+    'info_contact' => 'تماس',
265
+    'info_contenu_articles' => 'محتوى مقاله ها',
266
+    'info_contributions' => 'مشاركت‌ها',
267
+    'info_creation_paragraphe' => 'براى درست كردن پاراگراف، كافيست كه خط  خالى ايجاد كنيد.',
268
+    'info_creation_rubrique' => 'پيش از نوشتن مقاله ,<br />شما بايد دست كم يك بخش درست كنيد <br />',
269
+    'info_creation_tables' => '<b>درست كردن جداول پايگاه</b>',
270
+    'info_creer_base' => 'يك داده پى جديد <b>بسازيد</b>:',
271
+    'info_dans_rubrique' => ':درون بخش',
272
+    'info_date_publication_anterieure' => 'تاريخ نگارش قبلى :',
273
+    'info_date_referencement' => ': تاريخ پيوند اين سايت',
274
+    'info_derniere_etape' => 'پايان !',
275
+    'info_descriptif' => ':توصيف',
276
+    'info_desinstaller_plugin' => 'داده ها را حذف و plugin را غیر فعال کنید',
277
+    'info_discussion_cours' => 'در حال بحث',
278
+    'info_ecrire_article' => 'پيش از نوشتن مقاله، شما ميبايد دست كم يك بخش درست كنيد.',
279
+    'info_email_envoi' => 'آدرس ايميل برای ارسال (اختياری)',
280
+    'info_email_envoi_txt' => 'آدرس مورد استفاده تان را برای ارسال ايميل در اينجا درج کنيد  (وگرنه از آدرس گيرنده استفاده خواهد شد)',
281
+    'info_email_webmestre' => 'آدرس ايميل وب مستر ',
282
+    'info_envoi_email_automatique' => 'ارسال نامه ها بطور خودكار',
283
+    'info_envoyer_maintenant' => 'الان بفرستيد',
284
+    'info_etape_suivante' => 'به مرحله بعدى برويد',
285
+    'info_etape_suivante_1' => 'شما ميتوانيد به مرحله بعدى برويد',
286
+    'info_etape_suivante_2' => 'شما ميتوانيد به مرحله بعدى برويد',
287
+    'info_exceptions_proxy' => 'استثناءها براي پراكسي',
288
+    'info_exportation_base' => 'صدور پايگاه به@archive@',
289
+    'info_facilite_suivi_activite' => 'براى آسان شدن مداوم فعاليت تحريريه، سيستم  ميتواند براى مثال، خبر درخواستهاى انتشار و اعتبار مقالات را به فهرست پيكهاى نويسند گان بفرستد', # MODIF
290
+    'info_fichiers_authent' => 'فايل هاى تأئيدى« .htpasswd »',
291
+    'info_forums_abo_invites' => 'سايتتان داراى سخنگاه براى مشتركين ميباشد: از بازديد كنندگان دعوت ميشود كه در قسمت همگانى سايت ثبت نام  كنند.',
292
+    'info_gauche_admin_tech' => '<b>اين صفحه فقط براى مسئولان سايت قابل دسترسى ميباشد.</b><p>  ورود به آن اجازه دسترسى به كاركردهاى گوناگون تعمير ونگهدارى فنى را ميدهد. از جمله روند باز شناسى و تأئيد ويژه اى كه لازمه اش داشتن حق ورود به تارنما است (FTP)',
293
+    'info_gauche_admin_vider' => '<b>اين صفحه فقط براى مسئولان سايت قابل دسترسى ميباشد.</b><p>  ورود به آن اجازه دسترسى به كاركرهاى گوناگون تعمير ونگهداى فنى را ميدهد. از جمله روند باز شناسى و تأئيد ويژه اى كه لازمه اش داشتن حق ورود به تارنما است (FTP)',
294
+    'info_gauche_auteurs' => 'شما نام تمام نگارند گان را در اينجا خواهيد يافت. نوع مسئوليتشان با رنگهاى ايكونها مشخص شده است (نگارنده=آيكون سبز، گردانند سايت=آيكون زرد )',
295
+    'info_gauche_auteurs_exterieurs' => 'نويسندگان بازديدكننده، بدون دسترسي به سايت، با علامت آبي مشخص شده‌اند؛ نويسندگان حذف شده با علامت خاكتسري. ',
296
+    'info_gauche_messagerie' => 'پيام گير بشما اجازه رد و بدل پيام را با ديگر نويسند گان، نگهدارى يادداشتها (براى استفاده شخصى ) همچنين اعلان خبر در صفحه پذيرش را (در صورتى كه از گردانند گان سايت باشيد )ميدهد.',
297
+    'info_gauche_statistiques_referers' => 'اين صفحه, فهرست سايتهاى مرجع را ارائه ميدهد، بعبارتى سايتهايى كه داراى پيوند با سايت شما هستند، (فقط براى ديروز و امروز) : در واقع اين فهرست هر ٢٤ ساعت يكبار نو ميشود',
298
+    'info_gauche_visiteurs_enregistres' => 'شما, در اينجا, همه بازديد كنند گان ثبت شده در قسمت همگانى را خواهيد يافت  (براى مشتركين).',
299
+    'info_generation_miniatures_images' => 'ساخت تصاوير كوچك شده',
300
+    'info_gerer_trad_objets' => '@objets@ :مديريت پيوند‌هاي ترجمه',
301
+    'info_hebergeur_desactiver_envoi_email' => 'تعدادى از ميزبانان ارسال خودكار نامه ها را از سرورهايشان غير فعال ميكنند. در اين صورت،  عملكردهاى بعدى اسپيپ  كار نخوهند كرد. ',
302
+    'info_hier' => ': ديروز',
303
+    'info_identification_publique' => '...شناسنامه شما',
304
+    'info_image_process' => 'خواهشمند است بهترين شيوه ساخت تصاوير كوچك را با كليك كردن بروي تصوير مربوطه انتخاب نماييد.',
305
+    'info_images_auto' => 'تصاوير بطور خودكار محاسبه شده اند',
306
+    'info_informations_personnelles' => 'اطلاعات شخصى',
307
+    'info_inscription' => 'ثبت شده در ',
308
+    'info_inscription_automatique' => 'ثبت نام خوكار نويسند گان جديد',
309
+    'info_jeu_caractere' => 'انتخاب نوع و شكل حروف سايت',
310
+    'info_jours' => 'روز',
311
+    'info_laisser_champs_vides' => 'اين قسمتها را خالى بگذاريد)',
312
+    'info_langues' => 'زبانهاى سايت',
313
+    'info_ldap_ok' => 'گواهى درستى LDAP مستقر شده',
314
+    'info_lien_hypertexte' => ': پيوند هايپرتكست',
315
+    'info_liste_nouveautes_envoyee' => 'فهرست تازه‌ها ارسال شده است',
316
+    'info_liste_redacteurs_connectes' => 'فهرست نويسنده گان روى خط',
317
+    'info_login_existant' => '.موجود ميباشد login اين',
318
+    'info_login_trop_court' => 'بيش از اندازه كوتاه Login .',
319
+    'info_login_trop_court_car_pluriel' => 'لاگين بايد دست كم @nb@ كاراكتر داشته باشد.',
320
+    'info_logos' => 'لوگوها',
321
+    'info_maximum' => ': حداكثر',
322
+    'info_meme_rubrique' => 'در همان بخش',
323
+    'info_message_en_redaction' => 'پيام هايتان در حال نگارش',
324
+    'info_message_technique' => ':پيام فنى',
325
+    'info_messagerie_interne' => 'پيام گير داخلى',
326
+    'info_mise_a_niveau_base' => 'تراز گذارى پايگاه SQL',
327
+    'info_mise_a_niveau_base_2' => '{{!توجه}}شما نسخه { قديمى} اسپيپ را نصب كرده ايد براى داده پى هايتان خطر  از بين رفتن وجود دارد و همچنين از كار افتاد گى سايتتان   .<br />{{فايلهاى اسپيپ را دوباره نصب كنيد}}',
328
+    'info_modification_enregistree' => 'تغييرها ثبت شد',
329
+    'info_modifier_auteur' => 'اصلاح نويسنده',
330
+    'info_modifier_rubrique' => ':اصلاح بخش ',
331
+    'info_modifier_titre' => '@titre@ : اصلاح       ',
332
+    'info_mon_site_spip' => 'SPIP سايت من',
333
+    'info_moyenne' => ': متوسط',
334
+    'info_multi_cet_article' => ' زبان اين مقاله :',
335
+    'info_multi_langues_choisies' => 'خواهشمند است كه زبانهاى موجود براى نويسند گان سايتتان را در زير انتخاب كنيد. زبانهاى از پيش استفاده شده نميتوانند غير فعال شوند.',
336
+    'info_multi_objets' => '@objets@ :فعال‌سازي منوي زبان',
337
+    'info_multi_secteurs' => '...تنها براى بخشهاى واقع در ريشه؟',
338
+    'info_nb_articles' => '@nb@ مقاله',
339
+    'info_nb_auteurs' => '@nb@ نويسنده',
340
+    'info_nb_messages' => '@nb@ پيام',
341
+    'info_nb_mots_cles' => '@nb@ كليدواژه',
342
+    'info_nb_rubriques' => '@nb@ بخش',
343
+    'info_nb_visiteurs' => '@nb@ بازديد‌كننده',
344
+    'info_nom' => 'نام',
345
+    'info_nom_destinataire' => 'نام گيرنده',
346
+    'info_nom_pas_conforme' => 'تگ‌هاي اچ.تي.ام.ال مجاز نيستند',
347
+    'info_nom_site' => 'نام سايتتان',
348
+    'info_nombre_articles' => 'مقاله @nb_articles@ ',
349
+    'info_nombre_rubriques' => 'بخش @nb_rubriques@ ',
350
+    'info_nombre_sites' => 'سايت @nb_sites@',
351
+    'info_non_deplacer' => '...جابجا نكنيد',
352
+    'info_non_envoi_annonce_dernieres_nouveautes' => 'اسپيپ ميتواند بطور منظم اخبار تازه هاى سايت را مانند مقاله ها، مقاله هاى كوتاه تازه منتشر شده و... را بفرستد ',
353
+    'info_non_envoi_liste_nouveautes' => 'فهرست تازه ها را نفرستيد',
354
+    'info_non_modifiable' => 'نميتواند اصلاح شود',
355
+    'info_non_suppression_mot_cle' => 'نميخواهم اين كليد-واژه را حذف كنم',
356
+    'info_notes' => 'يادداشت ',
357
+    'info_nouvel_article' => 'مقاله جديد',
358
+    'info_nouvelle_traduction' => 'برگردان جديد',
359
+    'info_numero_article' => ': مقاله شماره',
360
+    'info_obligatoire_02' => '(اجباري)', # MODIF
361
+    'info_option_accepter_visiteurs' => 'پذيرفتن ثبت نام بازديد كنندگان سايت همگانى',
362
+    'info_option_ne_pas_accepter_visiteurs' => 'رد ثبت نام بازديدكنندگان',
363
+    'info_options_avancees' => 'گزينش هاى پيشرفته',
364
+    'info_ou' => '...يا',
365
+    'info_page_interdite' => 'صفحه ممنوع',
366
+    'info_par_nom' => 'توسط نام',
367
+    'info_par_nombre_article' => 'توسط شمار مقالها',
368
+    'info_par_statut' => 'توسط نوع',
369
+    'info_par_tri' => '’(بترتيب@tri@)’',
370
+    'info_passe_trop_court' => 'كلمه ورود خيلى كوتاه',
371
+    'info_passe_trop_court_car_pluriel' => 'گذرواژه‌ دست كم بايد @nb@ كاراكتر داشته باشد.',
372
+    'info_passes_identiques' => 'دو كلمه ورود با هم يكسان نيستند',
373
+    'info_plus_cinq_car' => 'بيش از پنج حرف',
374
+    'info_plus_cinq_car_2' => '(بيش از پنج حرف)',
375
+    'info_plus_trois_car' => '(بيش از سه حرف)',
376
+    'info_popularite' => '@popularite@ : محبوبيت@visites@ : بازديد',
377
+    'info_post_scriptum' => 'نوشتار پس از متن اصلى',
378
+    'info_post_scriptum_2' => ':نوشتار پس از متن اصلى',
379
+    'info_pour' => 'براى',
380
+    'info_preview_texte' => 'اين امكان وجود دارد كه سايت را پيش از آماده شدن (پيش از پيشنهاد مقالات) بازبينى كرد مانند زمانيكه همه ى مقالات و اخبار منتشر شده اند.اين امكان ميتواند تنها براى گردانند گان سايت يا نويسندگان يا براى هيچكس نباشد.', # MODIF
381
+    'info_procedez_par_etape' => 'مرحله به مرحله اقدام كنيد',
382
+    'info_procedure_maj_version' => 'روند به روز كردن بايد به جريان بيفتد تا داده پى ها بتوانند با نسخه جديد منطبق شوند.',
383
+    'info_proxy_ok' => 'آزمایش پروکسی با موفقیت انجام شد.',
384
+    'info_ps' => 'P.-S.',
385
+    'info_publier' => 'منتشر کنید',
386
+    'info_publies' => 'مقاله هاى منتشر شده تان روى تارنما',
387
+    'info_question_accepter_visiteurs' => 'اگر اسكلت سايتتان ثبت شمار بازديدكنندگان  را بى آنكه اجازه ى ورود به قسمت خصوصى سايت را داشته باشند را  داراست خواهشمند است گزينه ى زير را فعال كنيد:',
388
+    'info_question_inscription_nouveaux_redacteurs' => 'آيا ثبت نام نويسند گان جديد را از سايت همگانى قبول ميكنيد؟ اگر ميكنيد، كاربران ميتوانند با پر كردن يك پرسشنامه ثبت نام كنند و به محوطه خصوصى راه يابند. آنها ميتوانند مقالاتشان را مطرح كنند <blockquote><i>در هنگام ثبت نام كاربران يك ايميل دريافت خواهند كرد كه شامل كد ورودي شان به سايت خصوصى خواهد بود. تعدادى از ميزبانان، ارسال ايميل را از سرورها غير فعال كرده اند: دراينصورت ثبت نام خودكار غير ممكن خواهد بود..</i></blockquote>',
389
+    'info_qui_edite' => '@nom_auteur_modif@ روي اين مطلب @date_diff@ كار كرده است.',
390
+    'info_racine_site' => 'ريشه سايت',
391
+    'info_recharger_page' => 'خواهشمند است اين صفحه را تا چند لحظه بعد دوباره شارژ كنيد',
392
+    'info_recherche_auteur_zero' => '"@cherche_auteur@" : جستجوى بدون نتيجه براى',
393
+    'info_recommencer' => '.خواهشمند است دوباره شروع كنيد',
394
+    'info_redacteur_1' => 'نويسنده',
395
+    'info_redacteur_2' => 'به بخش خصوصى دسترسى دارد(<i>توصيه ميشود</i>)',
396
+    'info_redacteurs' => 'نويسندگان',
397
+    'info_redaction_en_cours' => 'در حال نگارش',
398
+    'info_redirection' => 'هدايت دوباره آدرس ',
399
+    'info_redirection_activee' => 'باز سو دهي فعال است. ',
400
+    'info_redirection_desactivee' => 'باز سو دهي حذف شده. ',
401
+    'info_refuses' => 'مقاله هايتان كه پذيرفته نشده اند',
402
+    'info_reglage_ldap' => ' گزينش :<b> تنظيم ورود LDAP</b>',
403
+    'info_renvoi_article' => 'تغییر محل. اين مقاله به این صفحه برمیگردد:',
404
+    'info_reserve_admin' => 'تنها گردانندگان سايت حق اصلاح اين آدرس را دارند',
405
+    'info_restreindre_rubrique' => ':محدوديت در اداره بخش',
406
+    'info_resultat_recherche' => ':نتيجه جستجو',
407
+    'info_rubriques' => 'بخش ها',
408
+    'info_rubriques_02' => 'بخش ها',
409
+    'info_rubriques_trouvees' => 'بخش هاى پيدا شده',
410
+    'info_sans_titre' => 'بدون عنوان',
411
+    'info_selection_chemin_acces' => '<b>انتخاب كنيد</b> راه ورودى را در راهنما',
412
+    'info_signatures' => 'امضاء',
413
+    'info_site' => 'سايت',
414
+    'info_site_2' => ':سايت',
415
+    'info_site_min' => 'سايت',
416
+    'info_site_reference_2' => 'سايت مرجع',
417
+    'info_site_web' => 'وب سايت:',
418
+    'info_sites' => 'سايت',
419
+    'info_sites_lies_mot' => 'سايتهاى پيوندى مربوط به اين واژه-كليد',
420
+    'info_sites_proxy' => 'از پروكسى استفاده كنيد',
421
+    'info_sites_trouves' => 'سايت هاى پيدا شده',
422
+    'info_sous_titre' => ':عنوان فرعى',
423
+    'info_statut_administrateur' => 'گرداننده سايت',
424
+    'info_statut_auteur' => 'وضعيت اين نويسنده:',
425
+    'info_statut_auteur_2' => 'من هستم',
426
+    'info_statut_auteur_a_confirmer' => 'ثبت نام تائید شود',
427
+    'info_statut_auteur_autre' => 'وضعیت دیگر:',
428
+    'info_statut_redacteur' => 'نويسنده',
429
+    'info_statut_utilisateurs_1' => 'وضعيت كاربران ورودى',
430
+    'info_statut_utilisateurs_2' => 'وضعيت اشخاص حاضر در راهنماى ال دى ا پى را كه براى اولين بار به سايت ميپيوندند مشخص كنيد. شما ميتوانيد پس از آن  براى هر نويسنده آنرا مورد به مورد اصلاح كنيد',
431
+    'info_suivi_activite' => 'دنباله سر مقاله',
432
+    'info_surtitre' => ':سر عنوان',
433
+    'info_syndication_integrale_1' => 'سایتتان فایلهای syndication را پیشنهاد میکند (voir « <a href="@url@">@titre@</a> »). ',
434
+    'info_syndication_integrale_2' => 'آیا مایلید که مقاله ها را بطور کامل یا فقط خلاصه ای از آنها را بفرستید؟',
435
+    'info_table_prefix' => 'شما میتوانید پیشوند نام جدولهای داده ها را اصلاح کنید زیرا هنگامیکه از یک داده پی برای چند سایت استفاده میکنید اینکار اجباری است. پیشوند باید با حروف کوچک بدون اکسان و بی فاصله باشد.',
436
+    'info_taille_maximale_images' => 'اسپيپ برش‌ بالاتر تصاوير را كه مي‌تواند نشان دهد(در ميليون‌ها پيكشل) آزمايش مي‌كند. <br /> تصاوير بزرگتر كاهش نمي‌يابند.',
437
+    'info_taille_maximale_vignette' => 'حد اكثر اندازه براى توليد تصاوير كوچك توسط سيستم',
438
+    'info_terminer_installation' => 'شما اكنون ميتوانيد روند استقرار برنامه را پايان دهيد.',
439
+    'info_texte' => 'متن',
440
+    'info_texte_explicatif' => 'متن توضيحى',
441
+    'info_texte_long' => 'متن بيش از اندازه بلند ميباشد : در ابتدا به چند قسمت تقسيم و پس از تائيد، قطعات به هم متصل خواهند شد.',
442
+    'info_texte_message' => 'متن پيام شما',
443
+    'info_texte_message_02' => 'متن پيام',
444
+    'info_titre' => ':عنوان',
445
+    'info_total' => ':كل',
446
+    'info_tous_articles_en_redaction' => 'تمام مقالات در حال نگارش',
447
+    'info_tous_articles_presents' => 'تمام مقالات منتشر شده در اين بخش',
448
+    'info_tous_articles_refuses' => 'تمام مقالات رد شده',
449
+    'info_tous_les' => 'تمام :',
450
+    'info_tout_site' => 'همه سايت',
451
+    'info_tout_site2' => 'مقاله به اين زبان ترجمه نشده.',
452
+    'info_tout_site3' => 'مقاله به اين زبان ترجمه شده,  سپس تغييراتى در مقاله ى اصلى صورت گرفته, بدين جهت بايد برگردان آنرا بروز كرد.',
453
+    'info_tout_site4' => 'مقاله به اين زبان ترجمه و برگردان آن بروز شده.',
454
+    'info_tout_site5' => 'مقاله ى اصلى',
455
+    'info_tout_site6' => ' :<b>توجه<b/> تنها مقالات اصلى اعلان ميشوند و برگردانهايشان با رنگهايى كه گوياى وضعيت آنهاست به آنها متصلند.',
456
+    'info_traductions' => 'ترجمه‌ها',
457
+    'info_travail_colaboratif' => 'مقالات حاصل كار دست جمعى',
458
+    'info_un_article' => 'يك مقاله',
459
+    'info_un_site' => ',يك سايت',
460
+    'info_une_rubrique' => ',يك بخش',
461
+    'info_une_rubrique_02' => '١ بخش',
462
+    'info_url' => ':URL',
463
+    'info_url_proxy' => 'پراكسي URL',
464
+    'info_url_site_pas_conforme' => 'يو.آر.ال سايت معتبر نيست. ',
465
+    'info_url_test_proxy' => 'تست URL',
466
+    'info_urlref' => 'پيوند هايپرتکست:',
467
+    'info_utilisation_spip' => 'شما اكنون ميتوانيد از سيستم انتشار حضورى استفاده كنيد',
468
+    'info_visites_par_mois' => ':نمودار ماهانه',
469
+    'info_visiteur_1' => 'بازديد كننده',
470
+    'info_visiteur_2' => 'سايت همگانى',
471
+    'info_visiteurs' => 'بازديد كنندگان',
472
+    'info_visiteurs_02' => 'بازديد كنندگان سايت همگانى',
473
+    'info_webmestre_forces' => 'وب مستر‌ها در حال حاضر در <  tt>@file_options@</tt تعريف مي‌شوند.',
474
+    'install_adresse_base_hebergeur' => 'آدرس داده ها که توسط میزبان وب اعطا شده',
475
+    'install_connect_ok' => 'پايگاه داده‌هاي جديد اعلام كرده از سرور با نام @connect@استفاده مي‌كند. ',
476
+    'install_echec_annonce' => 'نصب احتمالا موفق آميز نخواهد بود يا به يك سايت غير كاربردى خاتمه ميابد...',
477
+    'install_extension_php_obligatoire' => 'اسپيپ به فايلهاى php نياز دارد:',
478
+    'install_login_base_hebergeur' => 'Login ورودی به سایت که توسط میزبان وب داده شده',
479
+    'install_nom_base_hebergeur' => 'نام پایگاه داده ها که توسط میزبان وب داده شده:',
480
+    'install_pas_table' => 'پايگاه عملاً بدون جدول‌ها',
481
+    'install_pass_base_hebergeur' => 'کد ورودی به سایت که توسط میزبان وب داده شده',
482
+    'install_php_version' => 'نسخه @version@ PHP ناکافیست  دستکم= @minimum@',
483
+    'install_select_langue' => 'يك زبان را انتخاب كنيد سپس روى دكمه "بعدى" كليك كنيد، روند استقرار برنامه بكار خواهد افتاد',
484
+    'install_select_type_db' => 'نوع پايگاه داده‌ها را تعيين كردن',
485
+    'install_select_type_mysql' => 'MySQL',
486
+    'install_select_type_pg' => 'PostgreSQL',
487
+    'install_select_type_sqlite2' => 'SQLite 2',
488
+    'install_select_type_sqlite3' => 'SQLite 3',
489
+    'install_serveur_hebergeur' => 'Serveur de base de données attribué par l’hébergeur ',
490
+    'install_table_prefix_hebergeur' => 'پیشوند جدولها که توسط میزبان وب داده شده:',
491
+    'install_tables_base' => 'جدول‌هاي پايگاه',
492
+    'install_types_db_connus' => 'اسپيپ مي‌تواند<b>MySQL</b> (رايج‌تر)و <b>SQLite</b> را استفاده كند.',
493
+    'install_types_db_connus_avertissement' => 'حمايت از <b>PostgreSQL</b> عملاً به صورت تجربي پيشنهاد شده است.',
494
+    'instituer_erreur_statut_a_change' => 'وضعيت همين الأن اصلاح شده',
495
+    'instituer_erreur_statut_non_autorise' => 'نمي‌توانيد اين وضعيت را انتخاب كنيد',
496
+    'intem_redacteur' => 'نويسنده',
497
+    'intitule_licence' => 'مجوز',
498
+    'item_accepter_inscriptions' => 'ثبت نامها را بپذيريد',
499
+    'item_activer_messages_avertissement' => 'پيامهاى اخطار را فعال كنيد',
500
+    'item_administrateur_2' => 'گرداننده سايت',
501
+    'item_afficher_calendrier' => 'در بخش تقويم نمايش دهيد',
502
+    'item_autoriser_syndication_integrale' => 'پخش کامل مقاله ها در فایل های syndication',
503
+    'item_choix_administrateurs' => 'گردانندگان سايت',
504
+    'item_choix_generation_miniature' => '.تصاوير كوچك را بطور خودكار بسازيد',
505
+    'item_choix_non_generation_miniature' => '.تصاوير كوچك را بطور خودكار نسازيد',
506
+    'item_choix_redacteurs' => 'نويسندگان',
507
+    'item_choix_visiteurs' => 'بازديد كنندگان سايت همگانى',
508
+    'item_creer_fichiers_authent' => '.htpasswd : از اين فايلها بسازيد',
509
+    'item_login' => 'Login',
510
+    'item_messagerie_agenda' => 'فعال سازي سامانه‌ي پيام‌دهي و تقويم',
511
+    'item_mots_cles_association_articles' => 'به مقالات',
512
+    'item_mots_cles_association_rubriques' => 'به بخشها ',
513
+    'item_mots_cles_association_sites' => 'به سايتهاى مرجع يا پيوندى',
514
+    'item_non' => 'خير',
515
+    'item_non_accepter_inscriptions' => 'ثبت نامها را نپذيريد',
516
+    'item_non_activer_messages_avertissement' => 'بدون پيام اخطار',
517
+    'item_non_afficher_calendrier' => 'در تقويم نيايد',
518
+    'item_non_autoriser_syndication_integrale' => 'تنها خلاصه ی آنرا منتشر کنید',
519
+    'item_non_creer_fichiers_authent' => 'اين فايلها را درست نكنيد',
520
+    'item_non_messagerie_agenda' => 'غيرفعال سازي سامانه‌ي پيام‌دهي و تقويم',
521
+    'item_non_publier_articles' => 'مقالات را پيش از تعيين تاريخ قطعى انتشار منتشر نكنيد',
522
+    'item_nouvel_auteur' => 'نويسنده جديد',
523
+    'item_nouvelle_rubrique' => 'بخش جديد',
524
+    'item_oui' => 'آرى',
525
+    'item_publier_articles' => '.مقالات را عليرغم تاريخ نشرشان منتشر كنيد',
526
+    'item_reponse_article' => 'پاسخ به مقاله',
527
+    'item_visiteur' => 'بازديد كننده',
528 528
 
529
-	// J
530
-	'jour_non_connu_nc' => 'n.c.',
529
+    // J
530
+    'jour_non_connu_nc' => 'n.c.',
531 531
 
532
-	// L
533
-	'label_bando_outils' => 'ميل ابزار ',
534
-	'label_bando_outils_afficher' => 'نمايش ابزارها',
535
-	'label_bando_outils_masquer' => 'پوشاندن ابزارها',
536
-	'label_choix_langue' => 'زبان خود را انتخاب كنيد',
537
-	'label_nom_fichier_connect' => 'اعلام نام مورد استفاده براي اين سرور ',
538
-	'label_slogan_site' => 'شعار سايت',
539
-	'label_taille_ecran' => 'پهناي پرده‌ي نمايش', # MODIF
540
-	'label_texte_et_icones_navigation' => 'منوي ناوبري ',
541
-	'label_texte_et_icones_page' => 'صفحه‌ي نمايش ',
542
-	'ldap_correspondance' => 'ميدان موروثي @champ@',
543
-	'ldap_correspondance_1' => 'ميدان‌هاي موروثي LDAP',
544
-	'ldap_correspondance_2' => 'براي هر يك از ميدان‌هاي بعدي اسپيپ، نام متناسب با ميدان LDAP را وارد كنيد. اگر نمي‌خواهيد پر كنيد آن را خالي بگذاريد، براي پركردن چندين ميدان LDAP  با كاما يا فاصله جداشان كنيد.',
545
-	'lien_ajouter_auteur' => 'نام اين نويسنده را اضافه كنيد',
546
-	'lien_ajouter_une_rubrique' => 'افزودن اين بخش',
547
-	'lien_email' => 'ايميل',
548
-	'lien_nom_site' => ':نام سايت',
549
-	'lien_retirer_auteur' => 'خارج كردن نام نويسنده',
550
-	'lien_retirer_rubrique' => 'حذف كردن بخش',
551
-	'lien_retirer_tous_auteurs' => 'حذف تمام مؤلفان',
552
-	'lien_retirer_toutes_rubriques' => 'حذف تمام بخش‌ها',
553
-	'lien_site' => 'سايت',
554
-	'lien_tout_deplier' => 'همه را باز كنيد',
555
-	'lien_tout_replier' => 'همه را ببنديد',
556
-	'lien_tout_supprimer' => 'همه را حذف کنید',
557
-	'lien_trier_nom' => 'بترتيب نام',
558
-	'lien_trier_nombre_articles' => 'بترتيب تعداد مقالات',
559
-	'lien_trier_statut' => 'بترتيب موقعيت',
560
-	'lien_voir_en_ligne' => 'روى شبكه ببينيد :',
561
-	'logo_article' => 'لوگوي مقاله',
562
-	'logo_auteur' => 'لوگوي نويسنده',
563
-	'logo_rubrique' => 'لوگوي بخش',
564
-	'logo_site' => 'لوگوي اين سايت',
565
-	'logo_standard_rubrique' => 'لوگوي استاندارد بخش‌ها',
566
-	'logo_survol' => 'لوگوي موش‌ روش!',
532
+    // L
533
+    'label_bando_outils' => 'ميل ابزار ',
534
+    'label_bando_outils_afficher' => 'نمايش ابزارها',
535
+    'label_bando_outils_masquer' => 'پوشاندن ابزارها',
536
+    'label_choix_langue' => 'زبان خود را انتخاب كنيد',
537
+    'label_nom_fichier_connect' => 'اعلام نام مورد استفاده براي اين سرور ',
538
+    'label_slogan_site' => 'شعار سايت',
539
+    'label_taille_ecran' => 'پهناي پرده‌ي نمايش', # MODIF
540
+    'label_texte_et_icones_navigation' => 'منوي ناوبري ',
541
+    'label_texte_et_icones_page' => 'صفحه‌ي نمايش ',
542
+    'ldap_correspondance' => 'ميدان موروثي @champ@',
543
+    'ldap_correspondance_1' => 'ميدان‌هاي موروثي LDAP',
544
+    'ldap_correspondance_2' => 'براي هر يك از ميدان‌هاي بعدي اسپيپ، نام متناسب با ميدان LDAP را وارد كنيد. اگر نمي‌خواهيد پر كنيد آن را خالي بگذاريد، براي پركردن چندين ميدان LDAP  با كاما يا فاصله جداشان كنيد.',
545
+    'lien_ajouter_auteur' => 'نام اين نويسنده را اضافه كنيد',
546
+    'lien_ajouter_une_rubrique' => 'افزودن اين بخش',
547
+    'lien_email' => 'ايميل',
548
+    'lien_nom_site' => ':نام سايت',
549
+    'lien_retirer_auteur' => 'خارج كردن نام نويسنده',
550
+    'lien_retirer_rubrique' => 'حذف كردن بخش',
551
+    'lien_retirer_tous_auteurs' => 'حذف تمام مؤلفان',
552
+    'lien_retirer_toutes_rubriques' => 'حذف تمام بخش‌ها',
553
+    'lien_site' => 'سايت',
554
+    'lien_tout_deplier' => 'همه را باز كنيد',
555
+    'lien_tout_replier' => 'همه را ببنديد',
556
+    'lien_tout_supprimer' => 'همه را حذف کنید',
557
+    'lien_trier_nom' => 'بترتيب نام',
558
+    'lien_trier_nombre_articles' => 'بترتيب تعداد مقالات',
559
+    'lien_trier_statut' => 'بترتيب موقعيت',
560
+    'lien_voir_en_ligne' => 'روى شبكه ببينيد :',
561
+    'logo_article' => 'لوگوي مقاله',
562
+    'logo_auteur' => 'لوگوي نويسنده',
563
+    'logo_rubrique' => 'لوگوي بخش',
564
+    'logo_site' => 'لوگوي اين سايت',
565
+    'logo_standard_rubrique' => 'لوگوي استاندارد بخش‌ها',
566
+    'logo_survol' => 'لوگوي موش‌ روش!',
567 567
 
568
-	// M
569
-	'menu_aide_installation_choix_base' => 'انتخاب پايگاه',
570
-	'module_fichier_langue' => 'فايل زبان',
571
-	'module_raccourci' => 'راه كوتاه',
572
-	'module_texte_affiche' => 'متن اعلانى',
573
-	'module_texte_explicatif' => 'شما ميتوانيد راه هاى كوتاه زير را در اسكلتهاى سايتتان بگنجانيد. آنها بطور خودكار به زبانهايى كه داراى فايل زبان هستند, ترجمه ميشوند.',
574
-	'module_texte_traduction' => 'فايل زبان« @module@ »بصورت زير در دسترس ميباشد:',
575
-	'mois_non_connu' => 'شناخته نشده',
568
+    // M
569
+    'menu_aide_installation_choix_base' => 'انتخاب پايگاه',
570
+    'module_fichier_langue' => 'فايل زبان',
571
+    'module_raccourci' => 'راه كوتاه',
572
+    'module_texte_affiche' => 'متن اعلانى',
573
+    'module_texte_explicatif' => 'شما ميتوانيد راه هاى كوتاه زير را در اسكلتهاى سايتتان بگنجانيد. آنها بطور خودكار به زبانهايى كه داراى فايل زبان هستند, ترجمه ميشوند.',
574
+    'module_texte_traduction' => 'فايل زبان« @module@ »بصورت زير در دسترس ميباشد:',
575
+    'mois_non_connu' => 'شناخته نشده',
576 576
 
577
-	// N
578
-	'nouvelle_version_spip' => 'اسپيپ نسخه‌ي @version@ در دسترس است  ', # MODIF
577
+    // N
578
+    'nouvelle_version_spip' => 'اسپيپ نسخه‌ي @version@ در دسترس است  ', # MODIF
579 579
 
580
-	// O
581
-	'onglet_contenu' => 'محتوا',
582
-	'onglet_declarer_une_autre_base' => 'اعلام يك پايگاه ديگر',
583
-	'onglet_discuter' => 'بحث',
584
-	'onglet_interactivite' => 'تعامل',
585
-	'onglet_proprietes' => 'خصوصيات',
586
-	'onglet_repartition_actuelle' => 'در حال حاضر',
587
-	'onglet_sous_rubriques' => 'زيربخش‌ها',
580
+    // O
581
+    'onglet_contenu' => 'محتوا',
582
+    'onglet_declarer_une_autre_base' => 'اعلام يك پايگاه ديگر',
583
+    'onglet_discuter' => 'بحث',
584
+    'onglet_interactivite' => 'تعامل',
585
+    'onglet_proprietes' => 'خصوصيات',
586
+    'onglet_repartition_actuelle' => 'در حال حاضر',
587
+    'onglet_sous_rubriques' => 'زيربخش‌ها',
588 588
 
589
-	// P
590
-	'page_pas_proxy' => 'اين صفحه نبايد از طريق پراكسي بگذرد',
591
-	'pas_de_proxy_pour' => 'در صورت لزوم نام ماشینها یا موضوعاتی که باید در برابر این پروکسی بی اثر باشد را مشخص کنید (برای مثال:@مثال@)',
592
-	'plugin_charge_paquet' => 'باربرداري فايل آرشيوي @name@',
593
-	'plugin_charger' => 'بارگذاري ',
594
-	'plugin_erreur_charger' => 'خطا: بارگذاري @zip@ ممكن نيست',
595
-	'plugin_erreur_droit1' => 'نوشتن در ديركتوري <code>@dest@</code> ممكن نيست.',
596
-	'plugin_erreur_droit2' => 'لطفاً مجوز‌هاي نوشتن در اين ديركتوري را چك كنيد (و اگر لازم بود آن را ايجاد كنيد)، در غير اين صورت، فايل‌ها را با اف.تي.پي نصب كنيد. ',
597
-	'plugin_erreur_zip' => 'اشكال pclzip: خطا @status@',
598
-	'plugin_etat_developpement' => 'در حال تکمیل',
599
-	'plugin_etat_experimental' => 'آزمایشی',
600
-	'plugin_etat_stable' => 'ثابت',
601
-	'plugin_etat_test' => 'در حال آزمایش',
602
-	'plugin_impossible_activer' => 'فعال کردن plugin @plugin@ غیر ممکن میباشد',
603
-	'plugin_info_automatique1' => 'اگر مي‌خواهيد نصب خودكار پلاكنين‌ها را مجاز كنيد، لطفاً: ',
604
-	'plugin_info_automatique1_lib' => 'اگر مي‌خواهيد نصب خودكار اين مجموعه‌فايل را مجاز كنيد، لطفاً: ',
605
-	'plugin_info_automatique2' => 'يك ديركتوري <code>@rep@</code> ايجاد كنيد؛',
606
-	'plugin_info_automatique3' => 'بررسي كنيد كه سرور مجوز‌ نوشتن در اين ديركتوري را دارد.',
607
-	'plugin_info_automatique_creer' => 'ايجاد در ريشه‌ي سايت.',
608
-	'plugin_info_automatique_exemples' => 'نمونه‌ها:',
609
-	'plugin_info_automatique_ftp' => 'مي‌توانيد پلاگين‌ها را با FTP در ديركتوري  <tt>@rep@</tt> نصب كنيد',
610
-	'plugin_info_automatique_lib' => 'بعضي پلاگين‌ها لازم است بتوانند فايل‌ها را در ديركتوري <code>lib/</code> بارگذاري كنند. در اين صورت، اين ديركتوري بايد در ريشه‌ي سايت ايجاد شود.  ',
611
-	'plugin_info_automatique_liste' => 'فهرست‌هاي پلاگين‌هايتان: ',
612
-	'plugin_info_automatique_liste_officielle' => 'پلاگين‌هاي رسمي',
613
-	'plugin_info_automatique_liste_update' => 'روزآمدسازي فهرست‌ها',
614
-	'plugin_info_automatique_ou' => 'يا...',
615
-	'plugin_info_automatique_select' => 'يكي از پلاگين‌هاي زير را انتخاب كنيد: اسپيپ آن را در ديركتوري <code>@rep@</code> بارگذاري مي‌كند؛ اگر آن پلاگين آنجا باشد آن را به روز مي‌كند.',
616
-	'plugin_info_credit' => 'معتبر',
617
-	'plugin_info_erreur_xml' => 'اعلام پلاگين علط',
618
-	'plugin_info_install_ok' => 'نصب موفق',
619
-	'plugin_info_necessite' => 'الزام‌ها:‌',
620
-	'plugin_info_non_compatible_spip' => 'اين پلاگن با اين نسخه‌ي اسپيپ نمي‌خواند',
621
-	'plugin_info_plugins_dist_1' => 'پلاگين‌هاي زير در پوشه‌ي @plugins_dist@ بارگذاري و فعال‌ شده‌اند. ',
622
-	'plugin_info_plugins_dist_2' => 'غيرفعال نمي‌شوند',
623
-	'plugin_info_telecharger' => 'باربرداري از @url@ و نصب در @rep@',
624
-	'plugin_info_upgrade_ok' => ' روزآمدسازي موفق',
625
-	'plugin_librairies_installees' => 'آرشيو‌هاي نصب‌ شده',
626
-	'plugin_necessite_lib' => 'اين پلاگين به آرشيو @lib@ نياز دارد',
627
-	'plugin_necessite_plugin' => 'به plugin @plugin@ نسخه ی @version@ نیاز دارید', # MODIF
628
-	'plugin_necessite_plugin_sans_version' => 'پلاگين @plugin@ لازم است ',
629
-	'plugin_necessite_spip' => 'به اسپیپ نسخه ی @version@ نیاز دارید.',
630
-	'plugin_source' => 'منبع: ',
631
-	'plugin_titre_automatique' => 'نصب خودكار ',
632
-	'plugin_titre_automatique_ajouter' => 'افرودن پلاگين‌ها',
633
-	'plugin_titre_installation' => 'نصب پلاگين  @plugin@',
634
-	'plugin_titre_modifier' => 'پلاگين‌هاي من ',
635
-	'plugin_zip_active' => 'براي فعال سازي ادامه دهيد',
636
-	'plugin_zip_adresse' => 'در زير، نشاني فايل زيپ پلاگين يا نشاني فهرست پلاگين‌ها را مشخص كنيد تا بارگذاري شود',
637
-	'plugin_zip_adresse_champ' => 'نشاني پلاگين يا فهرست',
638
-	'plugin_zip_content' => 'شامل فايل‌هاي (@taille@) آماده براي بازگذاري در ديركتوري <code>@rep@</code> ',
639
-	'plugin_zip_installe_finie' => 'فايل @zip@ باز و نصب شده است.',
640
-	'plugin_zip_installe_rep_finie' => 'فايل @zip@ باز و در ديركتوري @zip@ نصب شده است',
641
-	'plugin_zip_installer' => 'اكنون مي‌توانيد نصبش كنيد.',
642
-	'plugin_zip_telecharge' => 'فايل @zip@ بارگذاري شده',
643
-	'plugins_actif_aucun' => 'هيچ پلاگيني فعال نيست.',
644
-	'plugins_actif_un' => 'يك پلاگين فعال است. ',
645
-	'plugins_actifs' => ' @count@ پلاگين فعال است.',
646
-	'plugins_actifs_liste' => 'فعال‌سازي شده',
647
-	'plugins_compte' => '@count@ پلاگين ',
648
-	'plugins_disponible_un' => 'يك پلاگين در دصترس.',
649
-	'plugins_disponibles' => '@count@ پلاگين در دسترس.',
650
-	'plugins_erreur' => 'خطا در پلاگين‌ها: @plugins@',
651
-	'plugins_liste' => 'فهرست plugins',
652
-	'plugins_liste_dist' => 'پلاگين‌هاي قفل شده ',
653
-	'plugins_recents' => 'پلاگين‌هاي اخير.',
654
-	'plugins_tous_liste' => 'همه',
655
-	'plugins_vue_hierarchie' => 'سلسله مراتب ',
656
-	'plugins_vue_liste' => 'فهرست',
657
-	'protocole_ldap' => 'نسخه ی پروتکل:',
589
+    // P
590
+    'page_pas_proxy' => 'اين صفحه نبايد از طريق پراكسي بگذرد',
591
+    'pas_de_proxy_pour' => 'در صورت لزوم نام ماشینها یا موضوعاتی که باید در برابر این پروکسی بی اثر باشد را مشخص کنید (برای مثال:@مثال@)',
592
+    'plugin_charge_paquet' => 'باربرداري فايل آرشيوي @name@',
593
+    'plugin_charger' => 'بارگذاري ',
594
+    'plugin_erreur_charger' => 'خطا: بارگذاري @zip@ ممكن نيست',
595
+    'plugin_erreur_droit1' => 'نوشتن در ديركتوري <code>@dest@</code> ممكن نيست.',
596
+    'plugin_erreur_droit2' => 'لطفاً مجوز‌هاي نوشتن در اين ديركتوري را چك كنيد (و اگر لازم بود آن را ايجاد كنيد)، در غير اين صورت، فايل‌ها را با اف.تي.پي نصب كنيد. ',
597
+    'plugin_erreur_zip' => 'اشكال pclzip: خطا @status@',
598
+    'plugin_etat_developpement' => 'در حال تکمیل',
599
+    'plugin_etat_experimental' => 'آزمایشی',
600
+    'plugin_etat_stable' => 'ثابت',
601
+    'plugin_etat_test' => 'در حال آزمایش',
602
+    'plugin_impossible_activer' => 'فعال کردن plugin @plugin@ غیر ممکن میباشد',
603
+    'plugin_info_automatique1' => 'اگر مي‌خواهيد نصب خودكار پلاكنين‌ها را مجاز كنيد، لطفاً: ',
604
+    'plugin_info_automatique1_lib' => 'اگر مي‌خواهيد نصب خودكار اين مجموعه‌فايل را مجاز كنيد، لطفاً: ',
605
+    'plugin_info_automatique2' => 'يك ديركتوري <code>@rep@</code> ايجاد كنيد؛',
606
+    'plugin_info_automatique3' => 'بررسي كنيد كه سرور مجوز‌ نوشتن در اين ديركتوري را دارد.',
607
+    'plugin_info_automatique_creer' => 'ايجاد در ريشه‌ي سايت.',
608
+    'plugin_info_automatique_exemples' => 'نمونه‌ها:',
609
+    'plugin_info_automatique_ftp' => 'مي‌توانيد پلاگين‌ها را با FTP در ديركتوري  <tt>@rep@</tt> نصب كنيد',
610
+    'plugin_info_automatique_lib' => 'بعضي پلاگين‌ها لازم است بتوانند فايل‌ها را در ديركتوري <code>lib/</code> بارگذاري كنند. در اين صورت، اين ديركتوري بايد در ريشه‌ي سايت ايجاد شود.  ',
611
+    'plugin_info_automatique_liste' => 'فهرست‌هاي پلاگين‌هايتان: ',
612
+    'plugin_info_automatique_liste_officielle' => 'پلاگين‌هاي رسمي',
613
+    'plugin_info_automatique_liste_update' => 'روزآمدسازي فهرست‌ها',
614
+    'plugin_info_automatique_ou' => 'يا...',
615
+    'plugin_info_automatique_select' => 'يكي از پلاگين‌هاي زير را انتخاب كنيد: اسپيپ آن را در ديركتوري <code>@rep@</code> بارگذاري مي‌كند؛ اگر آن پلاگين آنجا باشد آن را به روز مي‌كند.',
616
+    'plugin_info_credit' => 'معتبر',
617
+    'plugin_info_erreur_xml' => 'اعلام پلاگين علط',
618
+    'plugin_info_install_ok' => 'نصب موفق',
619
+    'plugin_info_necessite' => 'الزام‌ها:‌',
620
+    'plugin_info_non_compatible_spip' => 'اين پلاگن با اين نسخه‌ي اسپيپ نمي‌خواند',
621
+    'plugin_info_plugins_dist_1' => 'پلاگين‌هاي زير در پوشه‌ي @plugins_dist@ بارگذاري و فعال‌ شده‌اند. ',
622
+    'plugin_info_plugins_dist_2' => 'غيرفعال نمي‌شوند',
623
+    'plugin_info_telecharger' => 'باربرداري از @url@ و نصب در @rep@',
624
+    'plugin_info_upgrade_ok' => ' روزآمدسازي موفق',
625
+    'plugin_librairies_installees' => 'آرشيو‌هاي نصب‌ شده',
626
+    'plugin_necessite_lib' => 'اين پلاگين به آرشيو @lib@ نياز دارد',
627
+    'plugin_necessite_plugin' => 'به plugin @plugin@ نسخه ی @version@ نیاز دارید', # MODIF
628
+    'plugin_necessite_plugin_sans_version' => 'پلاگين @plugin@ لازم است ',
629
+    'plugin_necessite_spip' => 'به اسپیپ نسخه ی @version@ نیاز دارید.',
630
+    'plugin_source' => 'منبع: ',
631
+    'plugin_titre_automatique' => 'نصب خودكار ',
632
+    'plugin_titre_automatique_ajouter' => 'افرودن پلاگين‌ها',
633
+    'plugin_titre_installation' => 'نصب پلاگين  @plugin@',
634
+    'plugin_titre_modifier' => 'پلاگين‌هاي من ',
635
+    'plugin_zip_active' => 'براي فعال سازي ادامه دهيد',
636
+    'plugin_zip_adresse' => 'در زير، نشاني فايل زيپ پلاگين يا نشاني فهرست پلاگين‌ها را مشخص كنيد تا بارگذاري شود',
637
+    'plugin_zip_adresse_champ' => 'نشاني پلاگين يا فهرست',
638
+    'plugin_zip_content' => 'شامل فايل‌هاي (@taille@) آماده براي بازگذاري در ديركتوري <code>@rep@</code> ',
639
+    'plugin_zip_installe_finie' => 'فايل @zip@ باز و نصب شده است.',
640
+    'plugin_zip_installe_rep_finie' => 'فايل @zip@ باز و در ديركتوري @zip@ نصب شده است',
641
+    'plugin_zip_installer' => 'اكنون مي‌توانيد نصبش كنيد.',
642
+    'plugin_zip_telecharge' => 'فايل @zip@ بارگذاري شده',
643
+    'plugins_actif_aucun' => 'هيچ پلاگيني فعال نيست.',
644
+    'plugins_actif_un' => 'يك پلاگين فعال است. ',
645
+    'plugins_actifs' => ' @count@ پلاگين فعال است.',
646
+    'plugins_actifs_liste' => 'فعال‌سازي شده',
647
+    'plugins_compte' => '@count@ پلاگين ',
648
+    'plugins_disponible_un' => 'يك پلاگين در دصترس.',
649
+    'plugins_disponibles' => '@count@ پلاگين در دسترس.',
650
+    'plugins_erreur' => 'خطا در پلاگين‌ها: @plugins@',
651
+    'plugins_liste' => 'فهرست plugins',
652
+    'plugins_liste_dist' => 'پلاگين‌هاي قفل شده ',
653
+    'plugins_recents' => 'پلاگين‌هاي اخير.',
654
+    'plugins_tous_liste' => 'همه',
655
+    'plugins_vue_hierarchie' => 'سلسله مراتب ',
656
+    'plugins_vue_liste' => 'فهرست',
657
+    'protocole_ldap' => 'نسخه ی پروتکل:',
658 658
 
659
-	// Q
660
-	'queue_executer_maintenant' => 'اجرا حالا',
661
-	'queue_info_purger' => 'مي‌‌توانيد تمام كارهاي در دست انجام را حذف كنيد و فهرست  كارهاي دوره‌اي را بازتنظيم (ريست) كنيد', # MODIF
662
-	'queue_nb_jobs_in_queue' => '@nb@ وظيفه در صف ', # MODIF
663
-	'queue_next_job_in_nb_sec' => 'وظيفه‌ي بعدي در  @nb@ امين', # MODIF
664
-	'queue_no_job_in_queue' => 'وظيفه‌اي در دست اجرا نيست', # MODIF
665
-	'queue_one_job_in_queue' => '1 وظيفه در صف', # MODIF
666
-	'queue_purger_queue' => 'بازتنظيم فهرست كارها', # MODIF
667
-	'queue_titre' => 'فهرست وظيفه‌ها', # MODIF
659
+    // Q
660
+    'queue_executer_maintenant' => 'اجرا حالا',
661
+    'queue_info_purger' => 'مي‌‌توانيد تمام كارهاي در دست انجام را حذف كنيد و فهرست  كارهاي دوره‌اي را بازتنظيم (ريست) كنيد', # MODIF
662
+    'queue_nb_jobs_in_queue' => '@nb@ وظيفه در صف ', # MODIF
663
+    'queue_next_job_in_nb_sec' => 'وظيفه‌ي بعدي در  @nb@ امين', # MODIF
664
+    'queue_no_job_in_queue' => 'وظيفه‌اي در دست اجرا نيست', # MODIF
665
+    'queue_one_job_in_queue' => '1 وظيفه در صف', # MODIF
666
+    'queue_purger_queue' => 'بازتنظيم فهرست كارها', # MODIF
667
+    'queue_titre' => 'فهرست وظيفه‌ها', # MODIF
668 668
 
669
-	// R
670
-	'repertoire_plugins' => 'رپرتوار:',
671
-	'required' => '(اجباري)', # MODIF
669
+    // R
670
+    'repertoire_plugins' => 'رپرتوار:',
671
+    'required' => '(اجباري)', # MODIF
672 672
 
673
-	// S
674
-	'sans_heure' => 'زمان نامشخص',
675
-	'statut_admin_restreint' => 'ادمين محدود',
676
-	'statut_webmestre' => 'وب مستر ',
673
+    // S
674
+    'sans_heure' => 'زمان نامشخص',
675
+    'statut_admin_restreint' => 'ادمين محدود',
676
+    'statut_webmestre' => 'وب مستر ',
677 677
 
678
-	// T
679
-	'tache_cron_asap' => 'وظيفه‌ي CRON @function@ (ASAP)', # MODIF
680
-	'tache_cron_secondes' => 'وظيفه‌ي CRON @function@ (تمام @nb@)', # MODIF
681
-	'taille_cache_image' => 'اندازه ى تصاوير, كه توسط اسپيپ حساب شده ( تصاوير كوچك اسناد, عناوين گرافيكى عرضه شده, كاربردهاى رياضى با فرمهاى TeX...) در رپرتوار @dir@جمعا @taille@ را اشغال ميكنند.',
682
-	'taille_cache_moins_de' => 'اندازه‌ي حافظه‌ي پنهان كمتر از@octets@ است.',
683
-	'taille_cache_octets' => ' اندازه ى فايل پنهان در حال حاضر تقريبا @octets@ است.  ',
684
-	'taille_cache_vide' => 'فايل پنهان خالى است.',
685
-	'taille_repertoire_cache' => 'اندازه ى فايل پنهان',
686
-	'text_article_propose_publication' => ' مقاله‌ى پيشنهادى براى انتشار.',
687
-	'texte_acces_ldap_anonyme_1' => 'تعدادى از سرورهاى ال دى اپى ورود بدون نام را نميپذيرند. در اينصورت شما بايد يك نام شناسايى را مشخص كنيد تا بتوانيد به اطلاعات راهنما دسترسى داشته باشيد. در بيشتر موارد ميادين بعدى را ميتوان خالى گذاشت.',
688
-	'texte_admin_effacer_01' => 'اين فرمان محتوى داده پى ها، همچنين دسترسى نويسندگان و گردانندگان به سايت را كاملأ پاك خواهد كرد، در صورت اجراى آن شما بايد اسپيپ را دوباره نصب كنيد تا بتوانيد پايگاه جديدى همراه با حق استفاده براى گردانندگان را داشته باشيد.',
689
-	'texte_adresse_annuaire_1' => 'اگر راهنماتان در همان رايانه اى نصب شده كه سايت تارنما، احتمالا مربوط است به :«localhost» ',
690
-	'texte_ajout_auteur' => 'نام نويسنده بعدى به مقاله اضافه شد :',
691
-	'texte_annuaire_ldap_1' => 'اگر شما به راهنماى ال دى ا پى دسترسى داريد، ميتوانيد بطور خودكار كاربران را به اسپيپ اضافه كنيد',
692
-	'texte_article_statut' => 'اين مقاله :',
693
-	'texte_article_virtuel' => 'مقاله مجازى',
694
-	'texte_article_virtuel_reference' => ' <b>مقاله مجازى :</b> مقاله پيوندى شما در سايت اسپيپ است، اما شما ميتوانيد آنرا به آدرس ديگرى هدايت كنيد.براى اينكار بايد آدرس زيرى را حذف كنيد (URL)',
695
-	'texte_aucun_resultat_auteur' => 'جستجوى بى نتيجه براى"@cherche_auteur@"',
696
-	'texte_auteur_messagerie' => ' اين سايت ميتواند ليست نويسندگان متصل به سايت را بطور دائم نشان دهد اين بشما امكان رد و بدل كردن پيام را بطور مستقيم ميدهد. شما همچنين ميتوانيد گزينش «نامرئي» را انتخاب كنيد',
697
-	'texte_auteurs' => 'نويسندگان',
698
-	'texte_choix_base_1' => 'پايگاه تان را انتخاب كنيد :',
699
-	'texte_choix_base_2' => 'سرور اس كيوال حاوى چند داده پى است.',
700
-	'texte_choix_base_3' => 'پايگاهى را كه توسط ميزبانتان بشما داده شده <b>انتخاب كنيد</b>:',
701
-	'texte_choix_table_prefix' => 'پیشوند جدولها:',
702
-	'texte_compte_element' => 'عنصر @count@ ',
703
-	'texte_compte_elements' => ' @count@ عنصر',
704
-	'texte_conflit_edition_correction' => 'لطفاً تفاوت‌هاي دو متن زير را چك كنيد؛ نيز مي‌توانيد اصلاحات خود را روبرداري كرده و سپس از نو شروع كنيد.',
705
-	'texte_connexion_mysql' => 'اطلاعات داده شده توسط ميزبانتان را بخوانيد: اين اطلاعات بايد كدهاي ارتباطي با سرور ماي‌اسكيو‌ال شما را داشته باشد.',
706
-	'texte_contenu_article' => '(محتوى مقاله در چند كلمه)',
707
-	'texte_contenu_articles' => 'بنابر ماكت مورد استفاده سايتتان، شما ميتوانيد تصميم به استفاده تنها تعدادى از اجزاى مقالات را بگيريد. از ليست زير براى انتخاب اجزاى مورد نيازتان استفاده كنيد.',
708
-	'texte_crash_base' => 'اگر داده پى هايتان از بين رفتند، ميتوانيد گزينش ترميم خودكار را آزمايش كنيد',
709
-	'texte_creer_rubrique' => 'پيش از نوشتن مقاله، شما بايد يك بخش بسازيد',
710
-	'texte_date_creation_article' => ' تاريخ نوشتن مقاله',
711
-	'texte_date_creation_objet' => 'تاريخ ايجاد', # on ajoute le &quot;:&quot;
712
-	'texte_date_publication_anterieure' => 'تاريخ نگارش قبلى:',
713
-	'texte_date_publication_anterieure_nonaffichee' => 'تاريخ نگارش قبلى را اعلان نكنيد.',
714
-	'texte_date_publication_article' => 'تاريخ انتشار بروى تارنما:',
715
-	'texte_date_publication_objet' => 'تاريخ نشر وصل‌خط:',
716
-	'texte_descriptif_rapide' => 'توصيف سريع',
717
-	'texte_effacer_base' => 'داده پى هاى اسپيپ را پاك كنيد',
718
-	'texte_effacer_statistiques' => 'حذف آمارها',
719
-	'texte_en_cours_validation' => 'مطالب زير در انتظار تأييد هستند. ',
720
-	'texte_enrichir_mise_a_jour' => 'شما ميتوانيد صفحه بندى متن تان را با بعضى از علائم آراسته كنيد (مانند كروشه، آكولاد،...)',
721
-	'texte_fichier_authent' => '<b>آيا سپيپ بايد فايل‌هاى <tt>.htpasswd</tt>
678
+    // T
679
+    'tache_cron_asap' => 'وظيفه‌ي CRON @function@ (ASAP)', # MODIF
680
+    'tache_cron_secondes' => 'وظيفه‌ي CRON @function@ (تمام @nb@)', # MODIF
681
+    'taille_cache_image' => 'اندازه ى تصاوير, كه توسط اسپيپ حساب شده ( تصاوير كوچك اسناد, عناوين گرافيكى عرضه شده, كاربردهاى رياضى با فرمهاى TeX...) در رپرتوار @dir@جمعا @taille@ را اشغال ميكنند.',
682
+    'taille_cache_moins_de' => 'اندازه‌ي حافظه‌ي پنهان كمتر از@octets@ است.',
683
+    'taille_cache_octets' => ' اندازه ى فايل پنهان در حال حاضر تقريبا @octets@ است.  ',
684
+    'taille_cache_vide' => 'فايل پنهان خالى است.',
685
+    'taille_repertoire_cache' => 'اندازه ى فايل پنهان',
686
+    'text_article_propose_publication' => ' مقاله‌ى پيشنهادى براى انتشار.',
687
+    'texte_acces_ldap_anonyme_1' => 'تعدادى از سرورهاى ال دى اپى ورود بدون نام را نميپذيرند. در اينصورت شما بايد يك نام شناسايى را مشخص كنيد تا بتوانيد به اطلاعات راهنما دسترسى داشته باشيد. در بيشتر موارد ميادين بعدى را ميتوان خالى گذاشت.',
688
+    'texte_admin_effacer_01' => 'اين فرمان محتوى داده پى ها، همچنين دسترسى نويسندگان و گردانندگان به سايت را كاملأ پاك خواهد كرد، در صورت اجراى آن شما بايد اسپيپ را دوباره نصب كنيد تا بتوانيد پايگاه جديدى همراه با حق استفاده براى گردانندگان را داشته باشيد.',
689
+    'texte_adresse_annuaire_1' => 'اگر راهنماتان در همان رايانه اى نصب شده كه سايت تارنما، احتمالا مربوط است به :«localhost» ',
690
+    'texte_ajout_auteur' => 'نام نويسنده بعدى به مقاله اضافه شد :',
691
+    'texte_annuaire_ldap_1' => 'اگر شما به راهنماى ال دى ا پى دسترسى داريد، ميتوانيد بطور خودكار كاربران را به اسپيپ اضافه كنيد',
692
+    'texte_article_statut' => 'اين مقاله :',
693
+    'texte_article_virtuel' => 'مقاله مجازى',
694
+    'texte_article_virtuel_reference' => ' <b>مقاله مجازى :</b> مقاله پيوندى شما در سايت اسپيپ است، اما شما ميتوانيد آنرا به آدرس ديگرى هدايت كنيد.براى اينكار بايد آدرس زيرى را حذف كنيد (URL)',
695
+    'texte_aucun_resultat_auteur' => 'جستجوى بى نتيجه براى"@cherche_auteur@"',
696
+    'texte_auteur_messagerie' => ' اين سايت ميتواند ليست نويسندگان متصل به سايت را بطور دائم نشان دهد اين بشما امكان رد و بدل كردن پيام را بطور مستقيم ميدهد. شما همچنين ميتوانيد گزينش «نامرئي» را انتخاب كنيد',
697
+    'texte_auteurs' => 'نويسندگان',
698
+    'texte_choix_base_1' => 'پايگاه تان را انتخاب كنيد :',
699
+    'texte_choix_base_2' => 'سرور اس كيوال حاوى چند داده پى است.',
700
+    'texte_choix_base_3' => 'پايگاهى را كه توسط ميزبانتان بشما داده شده <b>انتخاب كنيد</b>:',
701
+    'texte_choix_table_prefix' => 'پیشوند جدولها:',
702
+    'texte_compte_element' => 'عنصر @count@ ',
703
+    'texte_compte_elements' => ' @count@ عنصر',
704
+    'texte_conflit_edition_correction' => 'لطفاً تفاوت‌هاي دو متن زير را چك كنيد؛ نيز مي‌توانيد اصلاحات خود را روبرداري كرده و سپس از نو شروع كنيد.',
705
+    'texte_connexion_mysql' => 'اطلاعات داده شده توسط ميزبانتان را بخوانيد: اين اطلاعات بايد كدهاي ارتباطي با سرور ماي‌اسكيو‌ال شما را داشته باشد.',
706
+    'texte_contenu_article' => '(محتوى مقاله در چند كلمه)',
707
+    'texte_contenu_articles' => 'بنابر ماكت مورد استفاده سايتتان، شما ميتوانيد تصميم به استفاده تنها تعدادى از اجزاى مقالات را بگيريد. از ليست زير براى انتخاب اجزاى مورد نيازتان استفاده كنيد.',
708
+    'texte_crash_base' => 'اگر داده پى هايتان از بين رفتند، ميتوانيد گزينش ترميم خودكار را آزمايش كنيد',
709
+    'texte_creer_rubrique' => 'پيش از نوشتن مقاله، شما بايد يك بخش بسازيد',
710
+    'texte_date_creation_article' => ' تاريخ نوشتن مقاله',
711
+    'texte_date_creation_objet' => 'تاريخ ايجاد', # on ajoute le &quot;:&quot;
712
+    'texte_date_publication_anterieure' => 'تاريخ نگارش قبلى:',
713
+    'texte_date_publication_anterieure_nonaffichee' => 'تاريخ نگارش قبلى را اعلان نكنيد.',
714
+    'texte_date_publication_article' => 'تاريخ انتشار بروى تارنما:',
715
+    'texte_date_publication_objet' => 'تاريخ نشر وصل‌خط:',
716
+    'texte_descriptif_rapide' => 'توصيف سريع',
717
+    'texte_effacer_base' => 'داده پى هاى اسپيپ را پاك كنيد',
718
+    'texte_effacer_statistiques' => 'حذف آمارها',
719
+    'texte_en_cours_validation' => 'مطالب زير در انتظار تأييد هستند. ',
720
+    'texte_enrichir_mise_a_jour' => 'شما ميتوانيد صفحه بندى متن تان را با بعضى از علائم آراسته كنيد (مانند كروشه، آكولاد،...)',
721
+    'texte_fichier_authent' => '<b>آيا سپيپ بايد فايل‌هاى <tt>.htpasswd</tt>
722 722
 و <tt>.htpasswd-admin</tt> را در دايركتوري @dossier@ بسازد؟</b><p>
723 723
 اين فايل‌ها مي‌توانند بشما در محدود كردن دسترسى نويسندگان وگردانندگان سايت در جاهاى ديگر( براى مثال برنامه خارجى آمار) كمك كنند).</p><p>
724 724
 اگر به اين گزينه نياز نيست، اسپيپ خودبخود آنرا اداره ميكند (بدون  ساخت فايل‌ها)</p>.', # MODIF
725
-	'texte_informations_personnelles_1' => 'اكنون سيستم براى شما دسترسى انحصارى به سايت را درست ميكند.',
726
-	'texte_informations_personnelles_2' => 'تذكر : اگر  نصب دوباره است، اگر دسترسى شما به سايت برقرار است، مي‌توانيد',
727
-	'texte_introductif_article' => '(متن مقدمه اى مقاله.)',
728
-	'texte_jeu_caractere' => 'بشما توصیه میشود برای سایتتان از الفبای جهانی (<tt>utf-8</tt> استفاده کنید زیرا امکان خواندن متنها در تمامی زبانها را میدهد و مشکلی هم برای مرورگرهای جدید پدید نمیآورد. ',
729
-	'texte_jeu_caractere_3' => 'سایت شما اکنون نویسه ها را مستقر کرد.',
730
-	'texte_jeu_caractere_4' => 'اگر این نویسه ها با سایت شما مطابق نیست (برای مثال پس از بازسازی داده پی ها) یا اینکه شما مایل به بکارگیری نویسه های دیگری هستید آنرا در اینجا مشخص کنید:',
731
-	'texte_login_ldap_1' => '(براى ورود بى نام، خالى بگذاريد، يا تمام مسير را درج كنيد، براى مثال« <tt>uid=dupont, ou=users, dc=mon-domaine, dc=com</tt> ».)',
732
-	'texte_login_precaution' => 'توجه ! شما با اين كد متصل شديد. از اين پرسشنامه با احتياط استفاده كنيد.',
733
-	'texte_messagerie_agenda' => 'يك سامانه‌ي پيام‌دهي به نويسندگان سايت امكان مي‌دهد تا در قسمت شخصي به صورت مستقيم با يكديگر ارتباط برقرار كنند. اين سامانه به تقويم نيز لينك مي‌شود. ',
734
-	'texte_mise_a_niveau_base_1' => 'شما فايلهاى اسپيپ را نو كرديد.
725
+    'texte_informations_personnelles_1' => 'اكنون سيستم براى شما دسترسى انحصارى به سايت را درست ميكند.',
726
+    'texte_informations_personnelles_2' => 'تذكر : اگر  نصب دوباره است، اگر دسترسى شما به سايت برقرار است، مي‌توانيد',
727
+    'texte_introductif_article' => '(متن مقدمه اى مقاله.)',
728
+    'texte_jeu_caractere' => 'بشما توصیه میشود برای سایتتان از الفبای جهانی (<tt>utf-8</tt> استفاده کنید زیرا امکان خواندن متنها در تمامی زبانها را میدهد و مشکلی هم برای مرورگرهای جدید پدید نمیآورد. ',
729
+    'texte_jeu_caractere_3' => 'سایت شما اکنون نویسه ها را مستقر کرد.',
730
+    'texte_jeu_caractere_4' => 'اگر این نویسه ها با سایت شما مطابق نیست (برای مثال پس از بازسازی داده پی ها) یا اینکه شما مایل به بکارگیری نویسه های دیگری هستید آنرا در اینجا مشخص کنید:',
731
+    'texte_login_ldap_1' => '(براى ورود بى نام، خالى بگذاريد، يا تمام مسير را درج كنيد، براى مثال« <tt>uid=dupont, ou=users, dc=mon-domaine, dc=com</tt> ».)',
732
+    'texte_login_precaution' => 'توجه ! شما با اين كد متصل شديد. از اين پرسشنامه با احتياط استفاده كنيد.',
733
+    'texte_messagerie_agenda' => 'يك سامانه‌ي پيام‌دهي به نويسندگان سايت امكان مي‌دهد تا در قسمت شخصي به صورت مستقيم با يكديگر ارتباط برقرار كنند. اين سامانه به تقويم نيز لينك مي‌شود. ',
734
+    'texte_mise_a_niveau_base_1' => 'شما فايلهاى اسپيپ را نو كرديد.
735 735
 اكنون بايد داده پى هاى سايت را ميزان كنيد.
736 736
  ',
737
-	'texte_modifier_article' => 'مقاله را اصلاح كنيد :',
738
-	'texte_multilinguisme' => 'اگر مايل به اداره موضوع‌ها به چند زبان هستيد، با ناوبري پيچيده، ميتوانيد، بر اساس سازماندهي سايت خود، يك منوي بخش زبان براي اين موضوع‌ها اضافه كنيد.',
739
-	'texte_multilinguisme_trad' => 'شما همچنين ميتوانيد يك سيستم اداره پيوندهاى بين ترجمه‌هاي  گوناگون اين موضوع‌ها را فعال كنيد.',
740
-	'texte_non_compresse' => '<i>فشرده نشده</i> (سرور شما اين عملكرد را قبول نميكند)',
741
-	'texte_nouvelle_version_spip_1' => 'شما نسخه جديد اسپيپ را نصب كرده ايد.',
742
-	'texte_nouvelle_version_spip_2' => 'اين نسخه جديد نياز به روزآمدسازي كامل تر دارد. اگر شما وب مستر سايت هستيد لطفا فايل @connect@ را پاك كنيد و دوباره نصب اسپيپ را از سر بگيريد تا پارامترهاى اتصال داده پى ها نو شوند.<p>(اگر شما پارامترهاى اتصال را فراموش كرده‌ايد، ميتوانيد به فايل زير مراجعه كنيد @connect@ (پيش از اينكه آنرا حذف كنيد...)</p>',
743
-	'texte_operation_echec' => 'به صفحه پيشين برگرديد، يك پايگاه انتخاب كنيد يا اينكه جديدش را بسازيد.اطلاعات داده شده توسط ميزبانتان را در مدنظر داشته باشيد.',
744
-	'texte_plus_trois_car' => 'بيش از سه حرف',
745
-	'texte_plusieurs_articles' => 'براى اين جستجو چندين نويسنده پيدا شده: "@cherche_auteur@"',
746
-	'texte_port_annuaire' => '(ارزش مشخص شده عموما مناسب است)',
747
-	'texte_presente_plugin' => 'این صفحه فهرست plugins موجود را نشان میدهد. برای فعال کردن آنها مربع مربوطه را علامت بزنید.',
748
-	'texte_proposer_publication' => 'هنگاميكه مقاله تان تمام شد ميتوانيد پيشنهاد انتشارش را بكنيد.',
749
-	'texte_proxy' => 'در بعضى موارد (اينترانت، شبكه هاى محافظت شده،...) براى دسترسى به سايتهاى پيوندى نياز به پروكسى داريد. <i>proxy HTTP</i> در اينصورت آدرسها را در زير به اين شكل مشخص كنيد
737
+    'texte_modifier_article' => 'مقاله را اصلاح كنيد :',
738
+    'texte_multilinguisme' => 'اگر مايل به اداره موضوع‌ها به چند زبان هستيد، با ناوبري پيچيده، ميتوانيد، بر اساس سازماندهي سايت خود، يك منوي بخش زبان براي اين موضوع‌ها اضافه كنيد.',
739
+    'texte_multilinguisme_trad' => 'شما همچنين ميتوانيد يك سيستم اداره پيوندهاى بين ترجمه‌هاي  گوناگون اين موضوع‌ها را فعال كنيد.',
740
+    'texte_non_compresse' => '<i>فشرده نشده</i> (سرور شما اين عملكرد را قبول نميكند)',
741
+    'texte_nouvelle_version_spip_1' => 'شما نسخه جديد اسپيپ را نصب كرده ايد.',
742
+    'texte_nouvelle_version_spip_2' => 'اين نسخه جديد نياز به روزآمدسازي كامل تر دارد. اگر شما وب مستر سايت هستيد لطفا فايل @connect@ را پاك كنيد و دوباره نصب اسپيپ را از سر بگيريد تا پارامترهاى اتصال داده پى ها نو شوند.<p>(اگر شما پارامترهاى اتصال را فراموش كرده‌ايد، ميتوانيد به فايل زير مراجعه كنيد @connect@ (پيش از اينكه آنرا حذف كنيد...)</p>',
743
+    'texte_operation_echec' => 'به صفحه پيشين برگرديد، يك پايگاه انتخاب كنيد يا اينكه جديدش را بسازيد.اطلاعات داده شده توسط ميزبانتان را در مدنظر داشته باشيد.',
744
+    'texte_plus_trois_car' => 'بيش از سه حرف',
745
+    'texte_plusieurs_articles' => 'براى اين جستجو چندين نويسنده پيدا شده: "@cherche_auteur@"',
746
+    'texte_port_annuaire' => '(ارزش مشخص شده عموما مناسب است)',
747
+    'texte_presente_plugin' => 'این صفحه فهرست plugins موجود را نشان میدهد. برای فعال کردن آنها مربع مربوطه را علامت بزنید.',
748
+    'texte_proposer_publication' => 'هنگاميكه مقاله تان تمام شد ميتوانيد پيشنهاد انتشارش را بكنيد.',
749
+    'texte_proxy' => 'در بعضى موارد (اينترانت، شبكه هاى محافظت شده،...) براى دسترسى به سايتهاى پيوندى نياز به پروكسى داريد. <i>proxy HTTP</i> در اينصورت آدرسها را در زير به اين شكل مشخص كنيد
750 750
   <tt><html>http://proxy:8080</html></tt>معمولا بهتر است اين مربع را خالى بگذاريد ',
751
-	'texte_publication_articles_post_dates' => 'اسپيپ بايد چه واكنشى را در مورد مقالاتى كه موعد تاريخ انتشارشان در آينده منقضى ميشود بپذيرد؟',
752
-	'texte_rappel_selection_champs' => '[اين موارد را درست انتخاب كنيد.]',
753
-	'texte_recalcul_page' => 'اگر ميخواهيد تنها يك صفحه را نو كنيد، بهتر است كه به قسمت همگانى رويد و بروى دكمه «تازه كنيد» كليك كنيد.',
754
-	'texte_recuperer_base' => 'داده پى ها را ترميم كنيد',
755
-	'texte_reference_mais_redirige' => 'مقاله پيوندى در سايت اسپيپ، كه به آدرس ديگرى هدايت شده.',
756
-	'texte_requetes_echouent' => '<b>هنگاميكه بعضى از جويش‌هاي اس كيو ال بدون هيچ دليلى به صورت سيستماتيك پذيرفته نميشوند، اين احتمال وجود دارد كه از پايگاه داده‌‌ها باشد.</b><p>
751
+    'texte_publication_articles_post_dates' => 'اسپيپ بايد چه واكنشى را در مورد مقالاتى كه موعد تاريخ انتشارشان در آينده منقضى ميشود بپذيرد؟',
752
+    'texte_rappel_selection_champs' => '[اين موارد را درست انتخاب كنيد.]',
753
+    'texte_recalcul_page' => 'اگر ميخواهيد تنها يك صفحه را نو كنيد، بهتر است كه به قسمت همگانى رويد و بروى دكمه «تازه كنيد» كليك كنيد.',
754
+    'texte_recuperer_base' => 'داده پى ها را ترميم كنيد',
755
+    'texte_reference_mais_redirige' => 'مقاله پيوندى در سايت اسپيپ، كه به آدرس ديگرى هدايت شده.',
756
+    'texte_requetes_echouent' => '<b>هنگاميكه بعضى از جويش‌هاي اس كيو ال بدون هيچ دليلى به صورت سيستماتيك پذيرفته نميشوند، اين احتمال وجود دارد كه از پايگاه داده‌‌ها باشد.</b><p>
757 757
 سرور اس كيوال توانائى ترميم جداولش را هنگاميكه براثر حادثه خراب شده باشند دارد.شما ميتوانيد اقدام به ترميم آنها كنيد، در صورت شكست، يك كپى از فهرست اشكالات را نگه داريد ...</p><p>
758 758
 اگر مشكل حل نشد، با ميزبانتان تماس بگيريد.</p>',
759
-	'texte_selection_langue_principale' => 'شما ميتوانيد در زير زبان اصلى سايت را انتخاب كنيد.اين گزينش شما را مجبور به نوشتن در زبان انتخابى نميكند،<ul><li> ولى امكان تعيين تاريخ، نوع موتورى كه اسپيپ بايد استفاده كند تا متون قابل رويت باشند، زبان پرسشنامه ها در قسمت همگانى سايت و همچنين زبان قسمت خصوصى را ميدهد.<ul><li>',
760
-	'texte_sous_titre' => 'عنوان فرعى',
761
-	'texte_statistiques_visites' => 'خطوط پررنگ : يكشنبه /    منحنى پررنگ : ميانگين تحولات  ',
762
-	'texte_statut_attente_validation' => 'در انتظار تائيد',
763
-	'texte_statut_publies' => 'برروى تارنما منتشر شود',
764
-	'texte_statut_refuses' => 'پذيرفته نشده',
765
-	'texte_suppression_fichiers' => 'از اين فرمان براى حذف تمام فايلها موجود در فايلهاى موقت اسپيپ استفاده كنيد.
759
+    'texte_selection_langue_principale' => 'شما ميتوانيد در زير زبان اصلى سايت را انتخاب كنيد.اين گزينش شما را مجبور به نوشتن در زبان انتخابى نميكند،<ul><li> ولى امكان تعيين تاريخ، نوع موتورى كه اسپيپ بايد استفاده كند تا متون قابل رويت باشند، زبان پرسشنامه ها در قسمت همگانى سايت و همچنين زبان قسمت خصوصى را ميدهد.<ul><li>',
760
+    'texte_sous_titre' => 'عنوان فرعى',
761
+    'texte_statistiques_visites' => 'خطوط پررنگ : يكشنبه /    منحنى پررنگ : ميانگين تحولات  ',
762
+    'texte_statut_attente_validation' => 'در انتظار تائيد',
763
+    'texte_statut_publies' => 'برروى تارنما منتشر شود',
764
+    'texte_statut_refuses' => 'پذيرفته نشده',
765
+    'texte_suppression_fichiers' => 'از اين فرمان براى حذف تمام فايلها موجود در فايلهاى موقت اسپيپ استفاده كنيد.
766 766
 اين بشما امكان نو كردن تمام صفحات را ميدهد بويژه اگر شما تغييرات مهمى در نما يا در ساختار سايت داده باشيد.',
767
-	'texte_sur_titre' => 'سر عنوان',
768
-	'texte_table_ok' => 'اين جدول درست است :',
769
-	'texte_tentative_recuperation' => 'كوشش براى تعمير',
770
-	'texte_tenter_reparation' => 'اقدام به ترميم داده پى ها كنيد',
771
-	'texte_test_proxy' => 'براى امتحان اين پروكسى، آدرس سايت تارنماى مورد دلخواهتان را در اينجا درج كنيد.',
772
-	'texte_titre_02' => 'عنوان :',
773
-	'texte_titre_obligatoire' => '<b>عنوان</b> [اجبارى]',
774
-	'texte_travail_article' => '@nom_auteur_modif@ بروى اين مقاله @date_diff@ پيش كار كرده است.',
775
-	'texte_travail_collaboratif' => 'اين امكان وجود دارد كه يك مقاله توسط چند نويسنده نوشته شده باشد. اسپيپ ميتواند مقالات تازه وارد شده را نشان دهد تا از تغييرات همزمان جلوگيرى كند.
767
+    'texte_sur_titre' => 'سر عنوان',
768
+    'texte_table_ok' => 'اين جدول درست است :',
769
+    'texte_tentative_recuperation' => 'كوشش براى تعمير',
770
+    'texte_tenter_reparation' => 'اقدام به ترميم داده پى ها كنيد',
771
+    'texte_test_proxy' => 'براى امتحان اين پروكسى، آدرس سايت تارنماى مورد دلخواهتان را در اينجا درج كنيد.',
772
+    'texte_titre_02' => 'عنوان :',
773
+    'texte_titre_obligatoire' => '<b>عنوان</b> [اجبارى]',
774
+    'texte_travail_article' => '@nom_auteur_modif@ بروى اين مقاله @date_diff@ پيش كار كرده است.',
775
+    'texte_travail_collaboratif' => 'اين امكان وجود دارد كه يك مقاله توسط چند نويسنده نوشته شده باشد. اسپيپ ميتواند مقالات تازه وارد شده را نشان دهد تا از تغييرات همزمان جلوگيرى كند.
776 776
 اين گزينش معمولا غير فعال ميباشد تا از اعلان خبرهاى بيموقع جلوگيرى كند.
777 777
 ',
778
-	'texte_vide' => 'خالى',
779
-	'texte_vider_cache' => 'فايل هاى موقت را خالى كنيد',
780
-	'titre_admin_tech' => 'نگهدارى و تعميرات فنى',
781
-	'titre_admin_vider' => 'نگهدارى و تعميرات فنى',
782
-	'titre_ajouter_un_auteur' => 'افزودن يك مؤلف',
783
-	'titre_ajouter_un_mot' => 'افزودن يك كليد-واژه',
784
-	'titre_cadre_afficher_article' => 'مقالات را نمايش دهيد',
785
-	'titre_cadre_afficher_traductions' => ' وضعيت برگردانها را براى زبانهاي زير نشان دهيد :',
786
-	'titre_cadre_ajouter_auteur' => 'يك نويسنده اضافه كنيد :',
787
-	'titre_cadre_interieur_rubrique' => 'در داخل بخش',
788
-	'titre_cadre_numero_auteur' => 'نويسنده شماره',
789
-	'titre_cadre_numero_objet' => '@objet@ شماره‌ي: ',
790
-	'titre_cadre_signature_obligatoire' => '<b>امضا</b> [اجبارى]<br />',
791
-	'titre_config_contenu_notifications' => 'اخطاريه‌ها',
792
-	'titre_config_contenu_prive' => 'در قسمت شخصي',
793
-	'titre_config_contenu_public' => 'در سايت همگاني',
794
-	'titre_config_fonctions' => 'پيكربندى سايت',
795
-	'titre_config_langage' => 'پيكربندي زبان',
796
-	'titre_configuration' => 'پيكربندى سايت',
797
-	'titre_configurer_preferences' => 'پيكربندي ترجيح‌هاي شما',
798
-	'titre_conflit_edition' => 'ناسازگاري هنگام ويرايش ',
799
-	'titre_connexion_ldap' => 'گزينش : <b>اتصال LDAP</b>',
800
-	'titre_groupe_mots' => 'گروه واژه ها :',
801
-	'titre_identite_site' => 'هويت سايت',
802
-	'titre_langue_article' => 'زبان مقاله',
803
-	'titre_langue_rubrique' => 'زبان بخش',
804
-	'titre_langue_trad_article' => 'زبان و ترجمه هاى مقاله ',
805
-	'titre_les_articles' => 'مقالات',
806
-	'titre_messagerie_agenda' => 'سامانه پيام‌دهي و روزنويسي ',
807
-	'titre_naviguer_dans_le_site' => 'در سايت گردش كنيد',
808
-	'titre_nouvelle_rubrique' => 'بخش جديد',
809
-	'titre_numero_rubrique' => 'بخش شماره :',
810
-	'titre_page_articles_edit' => 'اصلاح كنيد :@titre@',
811
-	'titre_page_articles_page' => 'مقالات',
812
-	'titre_page_articles_tous' => 'تمام سايت',
813
-	'titre_page_calendrier' => 'سالنما @nom_mois@ @annee@',
814
-	'titre_page_config_contenu' => 'پيكربندى سايت',
815
-	'titre_page_delete_all' => 'حذف كامل و غير قابل برگشت',
816
-	'titre_page_recherche' => 'نتايج جستجوى@recherche@',
817
-	'titre_page_statistiques_referers' => 'آمار (پيوندهاى وارد شده)',
818
-	'titre_page_upgrade' => 'همسان كردن اسپيپ',
819
-	'titre_publication_articles_post_dates' => 'انتشار مقالات با تاريخ آينده',
820
-	'titre_reparation' => 'تعمير',
821
-	'titre_suivi_petition' => 'دنباله درخواستها',
822
-	'tls_ldap' => 'Transport Layer Security :',
823
-	'trad_article_traduction' => 'تمام ترجمه هاى اين مقاله :',
824
-	'trad_delier' => 'پيوند به اين ترجمه‌هاي متوقف شود',
825
-	'trad_lier' => 'اين مقاله برگردان مقاله شماره زير ميباشد :',
826
-	'trad_new' => 'ترجمه‌ي جديد',
778
+    'texte_vide' => 'خالى',
779
+    'texte_vider_cache' => 'فايل هاى موقت را خالى كنيد',
780
+    'titre_admin_tech' => 'نگهدارى و تعميرات فنى',
781
+    'titre_admin_vider' => 'نگهدارى و تعميرات فنى',
782
+    'titre_ajouter_un_auteur' => 'افزودن يك مؤلف',
783
+    'titre_ajouter_un_mot' => 'افزودن يك كليد-واژه',
784
+    'titre_cadre_afficher_article' => 'مقالات را نمايش دهيد',
785
+    'titre_cadre_afficher_traductions' => ' وضعيت برگردانها را براى زبانهاي زير نشان دهيد :',
786
+    'titre_cadre_ajouter_auteur' => 'يك نويسنده اضافه كنيد :',
787
+    'titre_cadre_interieur_rubrique' => 'در داخل بخش',
788
+    'titre_cadre_numero_auteur' => 'نويسنده شماره',
789
+    'titre_cadre_numero_objet' => '@objet@ شماره‌ي: ',
790
+    'titre_cadre_signature_obligatoire' => '<b>امضا</b> [اجبارى]<br />',
791
+    'titre_config_contenu_notifications' => 'اخطاريه‌ها',
792
+    'titre_config_contenu_prive' => 'در قسمت شخصي',
793
+    'titre_config_contenu_public' => 'در سايت همگاني',
794
+    'titre_config_fonctions' => 'پيكربندى سايت',
795
+    'titre_config_langage' => 'پيكربندي زبان',
796
+    'titre_configuration' => 'پيكربندى سايت',
797
+    'titre_configurer_preferences' => 'پيكربندي ترجيح‌هاي شما',
798
+    'titre_conflit_edition' => 'ناسازگاري هنگام ويرايش ',
799
+    'titre_connexion_ldap' => 'گزينش : <b>اتصال LDAP</b>',
800
+    'titre_groupe_mots' => 'گروه واژه ها :',
801
+    'titre_identite_site' => 'هويت سايت',
802
+    'titre_langue_article' => 'زبان مقاله',
803
+    'titre_langue_rubrique' => 'زبان بخش',
804
+    'titre_langue_trad_article' => 'زبان و ترجمه هاى مقاله ',
805
+    'titre_les_articles' => 'مقالات',
806
+    'titre_messagerie_agenda' => 'سامانه پيام‌دهي و روزنويسي ',
807
+    'titre_naviguer_dans_le_site' => 'در سايت گردش كنيد',
808
+    'titre_nouvelle_rubrique' => 'بخش جديد',
809
+    'titre_numero_rubrique' => 'بخش شماره :',
810
+    'titre_page_articles_edit' => 'اصلاح كنيد :@titre@',
811
+    'titre_page_articles_page' => 'مقالات',
812
+    'titre_page_articles_tous' => 'تمام سايت',
813
+    'titre_page_calendrier' => 'سالنما @nom_mois@ @annee@',
814
+    'titre_page_config_contenu' => 'پيكربندى سايت',
815
+    'titre_page_delete_all' => 'حذف كامل و غير قابل برگشت',
816
+    'titre_page_recherche' => 'نتايج جستجوى@recherche@',
817
+    'titre_page_statistiques_referers' => 'آمار (پيوندهاى وارد شده)',
818
+    'titre_page_upgrade' => 'همسان كردن اسپيپ',
819
+    'titre_publication_articles_post_dates' => 'انتشار مقالات با تاريخ آينده',
820
+    'titre_reparation' => 'تعمير',
821
+    'titre_suivi_petition' => 'دنباله درخواستها',
822
+    'tls_ldap' => 'Transport Layer Security :',
823
+    'trad_article_traduction' => 'تمام ترجمه هاى اين مقاله :',
824
+    'trad_delier' => 'پيوند به اين ترجمه‌هاي متوقف شود',
825
+    'trad_lier' => 'اين مقاله برگردان مقاله شماره زير ميباشد :',
826
+    'trad_new' => 'ترجمه‌ي جديد',
827 827
 
828
-	// U
829
-	'utf8_convert_erreur_orig' => 'اشتباه: نویسه های @charset@ پذیرفته نمیشود.',
828
+    // U
829
+    'utf8_convert_erreur_orig' => 'اشتباه: نویسه های @charset@ پذیرفته نمیشود.',
830 830
 
831
-	// V
832
-	'version' => 'نسخه:',
831
+    // V
832
+    'version' => 'نسخه:',
833 833
 ];
Please login to merge, or discard this patch.
ecrire/lang/public_fr.php 1 patch
Indentation   +114 added lines, -114 removed lines patch added patch discarded remove patch
@@ -4,118 +4,118 @@
 block discarded – undo
4 4
 
5 5
 return [
6 6
 
7
-	// A
8
-	'accueil_site' => 'Accueil',
9
-	'article' => 'Article',
10
-	'articles' => 'Articles',
11
-	'articles_auteur' => 'Articles de cet auteur',
12
-	'articles_populaires' => 'Articles les plus populaires',
13
-	'articles_rubrique' => 'Articles de cette rubrique',
14
-	'aucun_article' => 'Il n’y a pas d’article à cette adresse',
15
-	'aucun_auteur' => 'Il n’y a pas d’auteur à cette adresse',
16
-	'aucun_site' => 'Il n’y a pas de site à cette adresse',
17
-	'aucune_breve' => 'Il n’y a pas de brève à cette adresse',
18
-	'aucune_rubrique' => 'Il n’y a pas de rubrique à cette adresse',
19
-	'auteur' => 'Auteur',
20
-	'autres' => 'Autres',
21
-	'autres_breves' => 'Autres brèves',
22
-	'autres_groupes_mots_clefs' => 'Autres groupes de mots-clés',
23
-	'autres_sites' => 'Autres sites',
24
-
25
-	// B
26
-	'bonjour' => 'Bonjour',
27
-
28
-	// C
29
-	'commenter_site' => 'Commenter ce site',
30
-	'contact' => 'Contact',
31
-	'copie_document_impossible' => 'Impossible de copier le document',
32
-
33
-	// D
34
-	'date' => 'Date',
35
-	'dernier_ajout' => 'Dernier ajout',
36
-	'dernieres_breves' => 'Dernières brèves',
37
-	'derniers_articles' => 'Derniers articles',
38
-	'derniers_commentaires' => 'Derniers commentaires',
39
-	'derniers_messages_forum' => 'Derniers messages publiés dans les forums',
40
-
41
-	// E
42
-	'edition_mode_texte' => 'Édition en mode texte de',
43
-	'en_reponse' => 'En réponse à :',
44
-	'en_resume' => 'En résumé',
45
-	'envoyer_message' => 'Envoyer un message',
46
-	'espace_prive' => 'Espace privé',
47
-
48
-	// F
49
-	'formats_acceptes' => 'Formats acceptés : @formats@.',
50
-
51
-	// H
52
-	'hierarchie_site' => 'Hiérarchie du site',
53
-
54
-	// J
55
-	'jours' => 'jours',
56
-
57
-	// L
58
-	'lien_connecter' => 'Se connecter',
59
-
60
-	// M
61
-	'meme_auteur' => 'Du même auteur',
62
-	'meme_rubrique' => 'Dans la même rubrique',
63
-	'memes_auteurs' => 'Des mêmes auteurs',
64
-	'message' => 'Message',
65
-	'messages_forum' => 'Messages',
66
-	'messages_recents' => 'Messages de forums les plus récents',
67
-	'mots_clef' => 'Mot-clé',
68
-	'mots_clefs' => 'Mots-clés',
69
-	'mots_clefs_meme_groupe' => 'Mots-clés dans le même groupe',
70
-
71
-	// N
72
-	'navigation' => 'Navigation',
73
-	'nom' => 'Nom',
74
-	'nouveautes' => 'Les nouveautés',
75
-	'nouveautes_web' => 'Nouveautés sur le Web',
76
-	'nouveaux_articles' => 'Nouveaux articles',
77
-	'nouvelles_breves' => 'Nouvelles brèves',
78
-
79
-	// P
80
-	'page_precedente' => 'page précédente',
81
-	'page_suivante' => 'page suivante',
82
-	'par_auteur' => 'par ',
83
-	'participer_site' => 'Vous pouvez participer à la vie de ce site et proposer vos propres articles en vous inscrivant ci-dessous. Vous recevrez immédiatement un email vous indiquant vos codes d’accès à l’espace privé du site.',
84
-	'plan_site' => 'Plan du site',
85
-	'popularite' => 'Popularité',
86
-	'poster_message' => 'Poster un message',
87
-	'proposer_site' => 'Vous pouvez proposer un site à ajouter dans cette rubrique :',
88
-
89
-	// R
90
-	'repondre_article' => 'Répondre à cet article',
91
-	'repondre_breve' => 'Répondre à cette brève',
92
-	'resultats_recherche' => 'Résultats de la recherche',
93
-	'retour_debut_forums' => 'Retour au début des forums',
94
-	'rss_abonnement' => 'Copiez l’URL suivante dans votre agrégateur :',
95
-	'rss_abonnement_titre' => 'S’abonner',
96
-	'rss_abonnement_titre_page' => 'S’abonner à',
97
-	'rss_explication' => 'Un fil RSS recueille les informations de mise à jour d’un site. Il fournit le contenu des billets ou des commentaires ou un extrait de ceux-ci, ainsi qu’un lien vers les versions complètes et quelques autres informations. Ce fil a pour vocation d’être lu par un agrégateur RSS.',
98
-	'rss_explication_titre' => 'Qu’est-ce qu’un flux RSS ?',
99
-	'rubrique' => 'Rubrique',
100
-	'rubriques' => 'Rubriques',
101
-
102
-	// S
103
-	'signatures_petition' => 'Signatures',
104
-	'site_realise_avec_spip' => 'Site réalisé avec SPIP',
105
-	'sites_web' => 'Sites Web',
106
-	'sous_rubriques' => 'Sous-rubriques',
107
-	'spam' => 'Spam',
108
-	'suite' => 'suite',
109
-	'sur_web' => 'Sur le Web',
110
-	'syndiquer_rubrique' => 'Syndiquer cette rubrique',
111
-	'syndiquer_site' => 'Syndiquer tout le site',
112
-
113
-	// T
114
-	'texte_lettre_information' => 'Voici la lettre d’information du site',
115
-	'texte_lettre_information_2' => 'Cette lettre recense les nouveautés publiées depuis',
116
-
117
-	// V
118
-	'ver_imprimer' => 'Version à imprimer',
119
-	'voir_en_ligne' => 'Voir en ligne',
120
-	'voir_squelette' => 'voir le squelette de cette page',
7
+    // A
8
+    'accueil_site' => 'Accueil',
9
+    'article' => 'Article',
10
+    'articles' => 'Articles',
11
+    'articles_auteur' => 'Articles de cet auteur',
12
+    'articles_populaires' => 'Articles les plus populaires',
13
+    'articles_rubrique' => 'Articles de cette rubrique',
14
+    'aucun_article' => 'Il n’y a pas d’article à cette adresse',
15
+    'aucun_auteur' => 'Il n’y a pas d’auteur à cette adresse',
16
+    'aucun_site' => 'Il n’y a pas de site à cette adresse',
17
+    'aucune_breve' => 'Il n’y a pas de brève à cette adresse',
18
+    'aucune_rubrique' => 'Il n’y a pas de rubrique à cette adresse',
19
+    'auteur' => 'Auteur',
20
+    'autres' => 'Autres',
21
+    'autres_breves' => 'Autres brèves',
22
+    'autres_groupes_mots_clefs' => 'Autres groupes de mots-clés',
23
+    'autres_sites' => 'Autres sites',
24
+
25
+    // B
26
+    'bonjour' => 'Bonjour',
27
+
28
+    // C
29
+    'commenter_site' => 'Commenter ce site',
30
+    'contact' => 'Contact',
31
+    'copie_document_impossible' => 'Impossible de copier le document',
32
+
33
+    // D
34
+    'date' => 'Date',
35
+    'dernier_ajout' => 'Dernier ajout',
36
+    'dernieres_breves' => 'Dernières brèves',
37
+    'derniers_articles' => 'Derniers articles',
38
+    'derniers_commentaires' => 'Derniers commentaires',
39
+    'derniers_messages_forum' => 'Derniers messages publiés dans les forums',
40
+
41
+    // E
42
+    'edition_mode_texte' => 'Édition en mode texte de',
43
+    'en_reponse' => 'En réponse à :',
44
+    'en_resume' => 'En résumé',
45
+    'envoyer_message' => 'Envoyer un message',
46
+    'espace_prive' => 'Espace privé',
47
+
48
+    // F
49
+    'formats_acceptes' => 'Formats acceptés : @formats@.',
50
+
51
+    // H
52
+    'hierarchie_site' => 'Hiérarchie du site',
53
+
54
+    // J
55
+    'jours' => 'jours',
56
+
57
+    // L
58
+    'lien_connecter' => 'Se connecter',
59
+
60
+    // M
61
+    'meme_auteur' => 'Du même auteur',
62
+    'meme_rubrique' => 'Dans la même rubrique',
63
+    'memes_auteurs' => 'Des mêmes auteurs',
64
+    'message' => 'Message',
65
+    'messages_forum' => 'Messages',
66
+    'messages_recents' => 'Messages de forums les plus récents',
67
+    'mots_clef' => 'Mot-clé',
68
+    'mots_clefs' => 'Mots-clés',
69
+    'mots_clefs_meme_groupe' => 'Mots-clés dans le même groupe',
70
+
71
+    // N
72
+    'navigation' => 'Navigation',
73
+    'nom' => 'Nom',
74
+    'nouveautes' => 'Les nouveautés',
75
+    'nouveautes_web' => 'Nouveautés sur le Web',
76
+    'nouveaux_articles' => 'Nouveaux articles',
77
+    'nouvelles_breves' => 'Nouvelles brèves',
78
+
79
+    // P
80
+    'page_precedente' => 'page précédente',
81
+    'page_suivante' => 'page suivante',
82
+    'par_auteur' => 'par ',
83
+    'participer_site' => 'Vous pouvez participer à la vie de ce site et proposer vos propres articles en vous inscrivant ci-dessous. Vous recevrez immédiatement un email vous indiquant vos codes d’accès à l’espace privé du site.',
84
+    'plan_site' => 'Plan du site',
85
+    'popularite' => 'Popularité',
86
+    'poster_message' => 'Poster un message',
87
+    'proposer_site' => 'Vous pouvez proposer un site à ajouter dans cette rubrique :',
88
+
89
+    // R
90
+    'repondre_article' => 'Répondre à cet article',
91
+    'repondre_breve' => 'Répondre à cette brève',
92
+    'resultats_recherche' => 'Résultats de la recherche',
93
+    'retour_debut_forums' => 'Retour au début des forums',
94
+    'rss_abonnement' => 'Copiez l’URL suivante dans votre agrégateur :',
95
+    'rss_abonnement_titre' => 'S’abonner',
96
+    'rss_abonnement_titre_page' => 'S’abonner à',
97
+    'rss_explication' => 'Un fil RSS recueille les informations de mise à jour d’un site. Il fournit le contenu des billets ou des commentaires ou un extrait de ceux-ci, ainsi qu’un lien vers les versions complètes et quelques autres informations. Ce fil a pour vocation d’être lu par un agrégateur RSS.',
98
+    'rss_explication_titre' => 'Qu’est-ce qu’un flux RSS ?',
99
+    'rubrique' => 'Rubrique',
100
+    'rubriques' => 'Rubriques',
101
+
102
+    // S
103
+    'signatures_petition' => 'Signatures',
104
+    'site_realise_avec_spip' => 'Site réalisé avec SPIP',
105
+    'sites_web' => 'Sites Web',
106
+    'sous_rubriques' => 'Sous-rubriques',
107
+    'spam' => 'Spam',
108
+    'suite' => 'suite',
109
+    'sur_web' => 'Sur le Web',
110
+    'syndiquer_rubrique' => 'Syndiquer cette rubrique',
111
+    'syndiquer_site' => 'Syndiquer tout le site',
112
+
113
+    // T
114
+    'texte_lettre_information' => 'Voici la lettre d’information du site',
115
+    'texte_lettre_information_2' => 'Cette lettre recense les nouveautés publiées depuis',
116
+
117
+    // V
118
+    'ver_imprimer' => 'Version à imprimer',
119
+    'voir_en_ligne' => 'Voir en ligne',
120
+    'voir_squelette' => 'voir le squelette de cette page',
121 121
 ];
Please login to merge, or discard this patch.
ecrire/inc/editer.php 1 patch
Indentation   +414 added lines, -414 removed lines patch added patch discarded remove patch
@@ -16,7 +16,7 @@  discard block
 block discarded – undo
16 16
  **/
17 17
 
18 18
 if (!defined('_ECRIRE_INC_VERSION')) {
19
-	return;
19
+    return;
20 20
 }
21 21
 include_spip('base/abstract_sql');
22 22
 
@@ -58,56 +58,56 @@  discard block
 block discarded – undo
58 58
  *     Retour des traitements.
59 59
  **/
60 60
 function formulaires_editer_objet_traiter(
61
-	$type,
62
-	$id = 'new',
63
-	$id_parent = 0,
64
-	$lier_trad = 0,
65
-	$retour = '',
66
-	$config_fonc = 'articles_edit_config',
67
-	$row = [],
68
-	$hidden = ''
61
+    $type,
62
+    $id = 'new',
63
+    $id_parent = 0,
64
+    $lier_trad = 0,
65
+    $retour = '',
66
+    $config_fonc = 'articles_edit_config',
67
+    $row = [],
68
+    $hidden = ''
69 69
 ) {
70 70
 
71
-	$res = [];
72
-	// eviter la redirection forcee par l'action...
73
-	set_request('redirect');
74
-	if ($action_editer = charger_fonction("editer_$type", 'action', true)) {
75
-		[$id, $err] = $action_editer($id);
76
-	} else {
77
-		$action_editer = charger_fonction('editer_objet', 'action');
78
-		[$id, $err] = $action_editer($id, $type);
79
-	}
80
-	$id_table_objet = id_table_objet($type);
81
-	$res[$id_table_objet] = $id;
82
-	if ($err || !$id) {
83
-		$res['message_erreur'] = ($err ?: _T('erreur'));
84
-	} else {
85
-		// Un lien de trad a prendre en compte
86
-		if ($lier_trad) {
87
-			// referencer la traduction
88
-			$referencer_traduction = charger_fonction('referencer_traduction', 'action');
89
-			$referencer_traduction($type, $id, $lier_trad);
90
-			// actions de recopie de champs / liens sur le nouvel objet créé
91
-			$completer_traduction = charger_fonction('completer_traduction', 'inc');
92
-			$err = $completer_traduction($type, $id, $lier_trad);
93
-			if ($err) {
94
-				$res['message_erreur'] = $err;
95
-				return $res;
96
-			}
97
-		}
98
-
99
-		$res['message_ok'] = _T('info_modification_enregistree');
100
-		if ($retour) {
101
-			if (str_starts_with($retour, 'javascript:')) {
102
-				$res['message_ok'] .= '<script type="text/javascript">/*<![CDATA[*/' . substr($retour, 11) . '/*]]>*/</script>';
103
-				$res['editable'] = true;
104
-			} else {
105
-				$res['redirect'] = parametre_url($retour, $id_table_objet, $id);
106
-			}
107
-		}
108
-	}
109
-
110
-	return $res;
71
+    $res = [];
72
+    // eviter la redirection forcee par l'action...
73
+    set_request('redirect');
74
+    if ($action_editer = charger_fonction("editer_$type", 'action', true)) {
75
+        [$id, $err] = $action_editer($id);
76
+    } else {
77
+        $action_editer = charger_fonction('editer_objet', 'action');
78
+        [$id, $err] = $action_editer($id, $type);
79
+    }
80
+    $id_table_objet = id_table_objet($type);
81
+    $res[$id_table_objet] = $id;
82
+    if ($err || !$id) {
83
+        $res['message_erreur'] = ($err ?: _T('erreur'));
84
+    } else {
85
+        // Un lien de trad a prendre en compte
86
+        if ($lier_trad) {
87
+            // referencer la traduction
88
+            $referencer_traduction = charger_fonction('referencer_traduction', 'action');
89
+            $referencer_traduction($type, $id, $lier_trad);
90
+            // actions de recopie de champs / liens sur le nouvel objet créé
91
+            $completer_traduction = charger_fonction('completer_traduction', 'inc');
92
+            $err = $completer_traduction($type, $id, $lier_trad);
93
+            if ($err) {
94
+                $res['message_erreur'] = $err;
95
+                return $res;
96
+            }
97
+        }
98
+
99
+        $res['message_ok'] = _T('info_modification_enregistree');
100
+        if ($retour) {
101
+            if (str_starts_with($retour, 'javascript:')) {
102
+                $res['message_ok'] .= '<script type="text/javascript">/*<![CDATA[*/' . substr($retour, 11) . '/*]]>*/</script>';
103
+                $res['editable'] = true;
104
+            } else {
105
+                $res['redirect'] = parametre_url($retour, $id_table_objet, $id);
106
+            }
107
+        }
108
+    }
109
+
110
+    return $res;
111 111
 }
112 112
 
113 113
 /**
@@ -131,29 +131,29 @@  discard block
 block discarded – undo
131 131
  *     Tableau des erreurs
132 132
  **/
133 133
 function formulaires_editer_objet_verifier($type, $id = 'new', $oblis = []) {
134
-	$erreurs = [];
135
-	if ((int) $id) {
136
-		$conflits = controler_contenu($type, $id);
137
-		if ($conflits && (is_countable($conflits) ? count($conflits) : 0)) {
138
-			foreach ($conflits as $champ => $conflit) {
139
-				if (!isset($erreurs[$champ])) {
140
-					$erreurs[$champ] = '';
141
-				}
142
-				$erreurs[$champ] .= _T('alerte_modif_info_concourante') . "<br /><textarea readonly='readonly' class='forml'>" . entites_html($conflit['base']) . '</textarea>';
143
-			}
144
-		}
145
-	}
146
-	foreach ($oblis as $obli) {
147
-		$value = _request($obli);
148
-		if (is_null($value) || !(is_array($value) ? count($value) : strlen((string) $value))) {
149
-			if (!isset($erreurs[$obli])) {
150
-				$erreurs[$obli] = '';
151
-			}
152
-			$erreurs[$obli] .= _T('info_obligatoire');
153
-		}
154
-	}
155
-
156
-	return $erreurs;
134
+    $erreurs = [];
135
+    if ((int) $id) {
136
+        $conflits = controler_contenu($type, $id);
137
+        if ($conflits && (is_countable($conflits) ? count($conflits) : 0)) {
138
+            foreach ($conflits as $champ => $conflit) {
139
+                if (!isset($erreurs[$champ])) {
140
+                    $erreurs[$champ] = '';
141
+                }
142
+                $erreurs[$champ] .= _T('alerte_modif_info_concourante') . "<br /><textarea readonly='readonly' class='forml'>" . entites_html($conflit['base']) . '</textarea>';
143
+            }
144
+        }
145
+    }
146
+    foreach ($oblis as $obli) {
147
+        $value = _request($obli);
148
+        if (is_null($value) || !(is_array($value) ? count($value) : strlen((string) $value))) {
149
+            if (!isset($erreurs[$obli])) {
150
+                $erreurs[$obli] = '';
151
+            }
152
+            $erreurs[$obli] .= _T('info_obligatoire');
153
+        }
154
+    }
155
+
156
+    return $erreurs;
157 157
 }
158 158
 
159 159
 /**
@@ -198,151 +198,151 @@  discard block
 block discarded – undo
198 198
  *     Environnement du formulaire.
199 199
  **/
200 200
 function formulaires_editer_objet_charger(
201
-	$type,
202
-	$id = 'new',
203
-	$id_parent = 0,
204
-	$lier_trad = 0,
205
-	$retour = '',
206
-	$config_fonc = 'articles_edit_config',
207
-	$row = [],
208
-	$hidden = ''
201
+    $type,
202
+    $id = 'new',
203
+    $id_parent = 0,
204
+    $lier_trad = 0,
205
+    $retour = '',
206
+    $config_fonc = 'articles_edit_config',
207
+    $row = [],
208
+    $hidden = ''
209 209
 ) {
210 210
 
211
-	$table_objet = table_objet($type);
212
-	$table_objet_sql = table_objet_sql($type);
213
-	$id_table_objet = id_table_objet($type);
214
-	if (!is_array($row)) {
215
-		$row = [];
216
-	}
217
-
218
-	// on accepte pas une fonction de config inconnue si elle vient d'un modele
219
-	if (
220
-		$config_fonc
221
-		&& !in_array($config_fonc, ['articles_edit_config', 'rubriques_edit_config', 'auteurs_edit_config'])
222
-		&& $config_fonc !== $table_objet . '_edit_config'
223
-		&& ($args = test_formulaire_inclus_par_modele())
224
-		&& in_array($config_fonc, $args)
225
-	) {
226
-		$config_fonc = '';
227
-	}
228
-
229
-	$new = !is_numeric($id);
230
-	$lang_default = '';
231
-	// Appel direct dans un squelette
232
-	if (!$row) {
233
-		if (!$new || $lier_trad) {
234
-			if ($select = charger_fonction('precharger_' . $type, 'inc', true)) {
235
-				$row = $select($id, $id_parent, $lier_trad);
236
-				// si on a une fonction precharger, elle pu faire un reglage de langue
237
-				$lang_default = (empty($row['lang']) ? null : $row['lang']);
238
-			} else {
239
-				$row = sql_fetsel('*', $table_objet_sql, $id_table_objet . '=' . (int) $id);
240
-			}
241
-			if (!$new) {
242
-				$md5 = controles_md5($row ?: []);
243
-			}
244
-		}
245
-		if (!$row) {
246
-			$row = [];
247
-			$trouver_table = charger_fonction('trouver_table', 'base');
248
-			if ($desc = $trouver_table($table_objet)) {
249
-				foreach ($desc['field'] as $k => $v) {
250
-					$row[$k] = '';
251
-				}
252
-			}
253
-		}
254
-	}
255
-
256
-	// Gaffe: sans ceci, on ecrase systematiquement l'article d'origine
257
-	// (et donc: pas de lien de traduction)
258
-	$id = ($new || $lier_trad)
259
-		? 'oui'
260
-		: $row[$id_table_objet];
261
-	$row[$id_table_objet] = $id;
262
-
263
-	$contexte = $row;
264
-	if (is_numeric($id_parent) && strlen($id_parent) && (!isset($contexte['id_parent']) || $new)) {
265
-		if (!isset($contexte['id_parent'])) {
266
-			unset($contexte['id_rubrique']);
267
-		}
268
-		$contexte['id_parent'] = $id_parent;
269
-	} elseif (!isset($contexte['id_parent'])) {
270
-		// id_rubrique dans id_parent si possible
271
-		if (isset($contexte['id_rubrique'])) {
272
-			$contexte['id_parent'] = $contexte['id_rubrique'];
273
-			unset($contexte['id_rubrique']);
274
-		} else {
275
-			$contexte['id_parent'] = '';
276
-		}
277
-		if (
278
-			!$contexte['id_parent']
279
-			&& ($preselectionner_parent_nouvel_objet = charger_fonction('preselectionner_parent_nouvel_objet', 'inc', true))
280
-		) {
281
-			$contexte['id_parent'] = $preselectionner_parent_nouvel_objet($type, $row);
282
-		}
283
-	}
284
-
285
-	$config = [];
286
-	if ($config_fonc) {
287
-		$contexte['config'] = $config = $config_fonc($contexte);
288
-		if (!$lang_default) {
289
-			include_spip('inc/session');
290
-			$lang_default = $config['langue'] ?? session_get('lang') ;
291
-		}
292
-	}
293
-	$config += [
294
-		'lignes' => 0,
295
-		'langue' => '',
296
-	];
297
-
298
-	$att_text = " class='textarea' "
299
-		. " rows='"
300
-		. ($config['lignes'] + 15)
301
-		. "' cols='40'";
302
-
303
-
304
-	// on veut conserver la langue de l'interface ;
305
-	// on passe cette donnee sous un autre nom, au cas ou le squelette
306
-	// voudrait l'exploiter
307
-	if (isset($contexte['lang'])) {
308
-		$contexte['langue'] = $contexte['lang'];
309
-		unset($contexte['lang']);
310
-	}
311
-
312
-	$contexte['_hidden'] = "<input type='hidden' name='editer_$type' value='oui' />\n" .
313
-		($lier_trad
314
-			 ? "\n<input type='hidden' name='lier_trad' value='" .
315
-				$lier_trad .
316
-				"' />" .
317
-				"\n<input type='hidden' name='changer_lang' value='" .
318
-				$lang_default .
319
-				"' />"
320
-			: '')
321
-		. $hidden
322
-		. ($md5 ?? '');
323
-
324
-	// preciser que le formulaire doit passer dans un pipeline
325
-	$contexte['_pipeline'] = ['editer_contenu_objet', ['type' => $type, 'id' => $id]];
326
-
327
-	// preciser que le formulaire doit etre securise auteur/action
328
-	// n'est plus utile lorsque l'action accepte l'id en argument direct
329
-	// on le garde pour compat
330
-	$contexte['_action'] = ["editer_$type", $id];
331
-
332
-	// et in fine placer l'autorisation
333
-	include_spip('inc/autoriser');
334
-	if ((int) $id) {
335
-		if (!autoriser('modifier', $type, (int) $id)) {
336
-			$contexte['editable'] = '';
337
-		}
338
-	}
339
-	else {
340
-		if (!autoriser('creer', $type, 0, null, ['id_parent' => $id_parent])) {
341
-			$contexte['editable'] = '';
342
-		}
343
-	}
344
-
345
-	return $contexte;
211
+    $table_objet = table_objet($type);
212
+    $table_objet_sql = table_objet_sql($type);
213
+    $id_table_objet = id_table_objet($type);
214
+    if (!is_array($row)) {
215
+        $row = [];
216
+    }
217
+
218
+    // on accepte pas une fonction de config inconnue si elle vient d'un modele
219
+    if (
220
+        $config_fonc
221
+        && !in_array($config_fonc, ['articles_edit_config', 'rubriques_edit_config', 'auteurs_edit_config'])
222
+        && $config_fonc !== $table_objet . '_edit_config'
223
+        && ($args = test_formulaire_inclus_par_modele())
224
+        && in_array($config_fonc, $args)
225
+    ) {
226
+        $config_fonc = '';
227
+    }
228
+
229
+    $new = !is_numeric($id);
230
+    $lang_default = '';
231
+    // Appel direct dans un squelette
232
+    if (!$row) {
233
+        if (!$new || $lier_trad) {
234
+            if ($select = charger_fonction('precharger_' . $type, 'inc', true)) {
235
+                $row = $select($id, $id_parent, $lier_trad);
236
+                // si on a une fonction precharger, elle pu faire un reglage de langue
237
+                $lang_default = (empty($row['lang']) ? null : $row['lang']);
238
+            } else {
239
+                $row = sql_fetsel('*', $table_objet_sql, $id_table_objet . '=' . (int) $id);
240
+            }
241
+            if (!$new) {
242
+                $md5 = controles_md5($row ?: []);
243
+            }
244
+        }
245
+        if (!$row) {
246
+            $row = [];
247
+            $trouver_table = charger_fonction('trouver_table', 'base');
248
+            if ($desc = $trouver_table($table_objet)) {
249
+                foreach ($desc['field'] as $k => $v) {
250
+                    $row[$k] = '';
251
+                }
252
+            }
253
+        }
254
+    }
255
+
256
+    // Gaffe: sans ceci, on ecrase systematiquement l'article d'origine
257
+    // (et donc: pas de lien de traduction)
258
+    $id = ($new || $lier_trad)
259
+        ? 'oui'
260
+        : $row[$id_table_objet];
261
+    $row[$id_table_objet] = $id;
262
+
263
+    $contexte = $row;
264
+    if (is_numeric($id_parent) && strlen($id_parent) && (!isset($contexte['id_parent']) || $new)) {
265
+        if (!isset($contexte['id_parent'])) {
266
+            unset($contexte['id_rubrique']);
267
+        }
268
+        $contexte['id_parent'] = $id_parent;
269
+    } elseif (!isset($contexte['id_parent'])) {
270
+        // id_rubrique dans id_parent si possible
271
+        if (isset($contexte['id_rubrique'])) {
272
+            $contexte['id_parent'] = $contexte['id_rubrique'];
273
+            unset($contexte['id_rubrique']);
274
+        } else {
275
+            $contexte['id_parent'] = '';
276
+        }
277
+        if (
278
+            !$contexte['id_parent']
279
+            && ($preselectionner_parent_nouvel_objet = charger_fonction('preselectionner_parent_nouvel_objet', 'inc', true))
280
+        ) {
281
+            $contexte['id_parent'] = $preselectionner_parent_nouvel_objet($type, $row);
282
+        }
283
+    }
284
+
285
+    $config = [];
286
+    if ($config_fonc) {
287
+        $contexte['config'] = $config = $config_fonc($contexte);
288
+        if (!$lang_default) {
289
+            include_spip('inc/session');
290
+            $lang_default = $config['langue'] ?? session_get('lang') ;
291
+        }
292
+    }
293
+    $config += [
294
+        'lignes' => 0,
295
+        'langue' => '',
296
+    ];
297
+
298
+    $att_text = " class='textarea' "
299
+        . " rows='"
300
+        . ($config['lignes'] + 15)
301
+        . "' cols='40'";
302
+
303
+
304
+    // on veut conserver la langue de l'interface ;
305
+    // on passe cette donnee sous un autre nom, au cas ou le squelette
306
+    // voudrait l'exploiter
307
+    if (isset($contexte['lang'])) {
308
+        $contexte['langue'] = $contexte['lang'];
309
+        unset($contexte['lang']);
310
+    }
311
+
312
+    $contexte['_hidden'] = "<input type='hidden' name='editer_$type' value='oui' />\n" .
313
+        ($lier_trad
314
+             ? "\n<input type='hidden' name='lier_trad' value='" .
315
+                $lier_trad .
316
+                "' />" .
317
+                "\n<input type='hidden' name='changer_lang' value='" .
318
+                $lang_default .
319
+                "' />"
320
+            : '')
321
+        . $hidden
322
+        . ($md5 ?? '');
323
+
324
+    // preciser que le formulaire doit passer dans un pipeline
325
+    $contexte['_pipeline'] = ['editer_contenu_objet', ['type' => $type, 'id' => $id]];
326
+
327
+    // preciser que le formulaire doit etre securise auteur/action
328
+    // n'est plus utile lorsque l'action accepte l'id en argument direct
329
+    // on le garde pour compat
330
+    $contexte['_action'] = ["editer_$type", $id];
331
+
332
+    // et in fine placer l'autorisation
333
+    include_spip('inc/autoriser');
334
+    if ((int) $id) {
335
+        if (!autoriser('modifier', $type, (int) $id)) {
336
+            $contexte['editable'] = '';
337
+        }
338
+    }
339
+    else {
340
+        if (!autoriser('creer', $type, 0, null, ['id_parent' => $id_parent])) {
341
+            $contexte['editable'] = '';
342
+        }
343
+    }
344
+
345
+    return $contexte;
346 346
 }
347 347
 
348 348
 /**
@@ -353,29 +353,29 @@  discard block
 block discarded – undo
353 353
  * @return array
354 354
  */
355 355
 function coupe_trop_long($texte) {
356
-	$aider = charger_fonction('aider', 'inc');
357
-	if (strlen($texte) > 28 * 1024) {
358
-		$texte = str_replace("\r\n", "\n", $texte);
359
-		$pos = strpos($texte, "\n\n", 28 * 1024);  // coupe para > 28 ko
360
-		if ($pos > 0 && $pos < 32 * 1024) {
361
-			$debut = substr($texte, 0, $pos) . "\n\n<!--SPIP-->\n";
362
-			$suite = substr($texte, $pos + 2);
363
-		} else {
364
-			$pos = strpos($texte, ' ', 28 * 1024);  // sinon coupe espace
365
-			if (!($pos > 0 && $pos < 32 * 1024)) {
366
-				$pos = 28 * 1024;  // au pire (pas d'espace trouv'e)
367
-				$decalage = 0; // si y'a pas d'espace, il ne faut pas perdre le caract`ere
368
-			} else {
369
-				$decalage = 1;
370
-			}
371
-			$debut = substr($texte, 0, $pos + $decalage); // Il faut conserver l'espace s'il y en a un
372
-			$suite = substr($texte, $pos + $decalage);
373
-		}
374
-
375
-		return ([$debut, $suite]);
376
-	} else {
377
-		return ([$texte, '']);
378
-	}
356
+    $aider = charger_fonction('aider', 'inc');
357
+    if (strlen($texte) > 28 * 1024) {
358
+        $texte = str_replace("\r\n", "\n", $texte);
359
+        $pos = strpos($texte, "\n\n", 28 * 1024);  // coupe para > 28 ko
360
+        if ($pos > 0 && $pos < 32 * 1024) {
361
+            $debut = substr($texte, 0, $pos) . "\n\n<!--SPIP-->\n";
362
+            $suite = substr($texte, $pos + 2);
363
+        } else {
364
+            $pos = strpos($texte, ' ', 28 * 1024);  // sinon coupe espace
365
+            if (!($pos > 0 && $pos < 32 * 1024)) {
366
+                $pos = 28 * 1024;  // au pire (pas d'espace trouv'e)
367
+                $decalage = 0; // si y'a pas d'espace, il ne faut pas perdre le caract`ere
368
+            } else {
369
+                $decalage = 1;
370
+            }
371
+            $debut = substr($texte, 0, $pos + $decalage); // Il faut conserver l'espace s'il y en a un
372
+            $suite = substr($texte, $pos + $decalage);
373
+        }
374
+
375
+        return ([$debut, $suite]);
376
+    } else {
377
+        return ([$texte, '']);
378
+    }
379 379
 }
380 380
 
381 381
 /**
@@ -386,13 +386,13 @@  discard block
 block discarded – undo
386 386
  * @param int $longueur
387 387
  */
388 388
 function titre_automatique($champ_titre, $champs_contenu, $longueur = null) {
389
-	if (!_request($champ_titre)) {
390
-		$titrer_contenu = charger_fonction('titrer_contenu', 'inc');
391
-		$t = is_null($longueur) ? $titrer_contenu($champs_contenu) : $titrer_contenu($champs_contenu, null, $longueur);
392
-		if ($t) {
393
-			set_request($champ_titre, $t);
394
-		}
395
-	}
389
+    if (!_request($champ_titre)) {
390
+        $titrer_contenu = charger_fonction('titrer_contenu', 'inc');
391
+        $t = is_null($longueur) ? $titrer_contenu($champs_contenu) : $titrer_contenu($champs_contenu, null, $longueur);
392
+        if ($t) {
393
+            set_request($champ_titre, $t);
394
+        }
395
+    }
396 396
 }
397 397
 
398 398
 /**
@@ -412,20 +412,20 @@  discard block
 block discarded – undo
412 412
  * @return string
413 413
  */
414 414
 function inc_titrer_contenu_dist($champs_contenu, $c = null, $longueur = 50) {
415
-	// trouver un champ texte non vide
416
-	$t = '';
417
-	foreach ($champs_contenu as $champ) {
418
-		if ($t = _request($champ, $c)) {
419
-			break;
420
-		}
421
-	}
422
-
423
-	if ($t) {
424
-		include_spip('inc/texte_mini');
425
-		$t = couper($t, $longueur, '...');
426
-	}
427
-
428
-	return $t;
415
+    // trouver un champ texte non vide
416
+    $t = '';
417
+    foreach ($champs_contenu as $champ) {
418
+        if ($t = _request($champ, $c)) {
419
+            break;
420
+        }
421
+    }
422
+
423
+    if ($t) {
424
+        include_spip('inc/texte_mini');
425
+        $t = couper($t, $longueur, '...');
426
+    }
427
+
428
+    return $t;
429 429
 }
430 430
 
431 431
 /**
@@ -447,22 +447,22 @@  discard block
 block discarded – undo
447 447
  *      - array sinon couples ('$prefixe$colonne => md5)
448 448
  **/
449 449
 function controles_md5(array $data, string $prefixe = 'ctr_', string $format = 'html') {
450
-	$ctr = [];
451
-	foreach ($data as $key => $val) {
452
-		$m = md5($val ?? '');
453
-		$k = $prefixe . $key;
454
-
455
-		$ctr[$k] = match ($format) {
456
-			'html' => "<input type='hidden' value='$m' name='$k' />",
457
-			default => $m,
458
-		};
459
-	}
460
-
461
-	if ($format === 'html') {
462
-		return "\n\n<!-- controles md5 -->\n" . implode("\n", $ctr) . "\n\n";
463
-	} else {
464
-		return $ctr;
465
-	}
450
+    $ctr = [];
451
+    foreach ($data as $key => $val) {
452
+        $m = md5($val ?? '');
453
+        $k = $prefixe . $key;
454
+
455
+        $ctr[$k] = match ($format) {
456
+            'html' => "<input type='hidden' value='$m' name='$k' />",
457
+            default => $m,
458
+        };
459
+    }
460
+
461
+    if ($format === 'html') {
462
+        return "\n\n<!-- controles md5 -->\n" . implode("\n", $ctr) . "\n\n";
463
+    } else {
464
+        return $ctr;
465
+    }
466 466
 }
467 467
 
468 468
 /**
@@ -501,80 +501,80 @@  discard block
 block discarded – undo
501 501
  *     - post : le contenu posté
502 502
  **/
503 503
 function controler_contenu($type, $id, $options = [], $c = false, $serveur = '') {
504
-	include_spip('inc/filtres');
505
-
506
-	$table_objet = table_objet($type);
507
-	$spip_table_objet = table_objet_sql($type);
508
-	$trouver_table = charger_fonction('trouver_table', 'base');
509
-	$desc = $trouver_table($table_objet, $serveur);
510
-
511
-	// Appels incomplets (sans $c)
512
-	if (!is_array($c)) {
513
-		$c = [];
514
-		foreach ($desc['field'] as $champ => $ignore) {
515
-			if (_request($champ)) {
516
-				$c[$champ] = _request($champ);
517
-			}
518
-		}
519
-	}
520
-
521
-	// Securite : certaines variables ne sont jamais acceptees ici
522
-	// car elles ne relevent pas de autoriser(article, modifier) ;
523
-	// il faut passer par instituer_XX()
524
-	// TODO: faut-il passer ces variables interdites
525
-	// dans un fichier de description separe ?
526
-	unset($c['statut']);
527
-	unset($c['id_parent']);
528
-	unset($c['id_rubrique']);
529
-	unset($c['id_secteur']);
530
-
531
-	// Gerer les champs non vides
532
-	if (isset($options['nonvide']) && is_array($options['nonvide'])) {
533
-		foreach ($options['nonvide'] as $champ => $sinon) {
534
-			if ($c[$champ] === '') {
535
-				$c[$champ] = $sinon;
536
-			}
537
-		}
538
-	}
539
-
540
-	// N'accepter que les champs qui existent
541
-	// [TODO] ici aussi on peut valider les contenus en fonction du type
542
-	$champs = [];
543
-	foreach ($desc['field'] as $champ => $ignore) {
544
-		if (isset($c[$champ])) {
545
-			$champs[$champ] = $c[$champ];
546
-		}
547
-	}
548
-
549
-	// Nettoyer les valeurs
550
-	$champs = array_map('corriger_caracteres', $champs);
551
-
552
-	// Envoyer aux plugins
553
-	$champs = pipeline(
554
-		'pre_edition',
555
-		[
556
-			'args' => [
557
-				'table' => $spip_table_objet, // compatibilite
558
-				'table_objet' => $table_objet,
559
-				'spip_table_objet' => $spip_table_objet,
560
-				'type' => $type,
561
-				'id_objet' => $id,
562
-				'champs' => $options['champs'] ?? [], // [doc] c'est quoi ?
563
-				'action' => 'controler',
564
-				'serveur' => $serveur,
565
-			],
566
-			'data' => $champs
567
-		]
568
-	);
569
-
570
-	if (!$champs) {
571
-		return false;
572
-	}
573
-
574
-	// Verifier si les mises a jour sont pertinentes, datees, en conflit etc
575
-	$conflits = controler_md5($champs, $_POST, $type, $id, $serveur, $options['prefix'] ?? 'ctr_');
576
-
577
-	return $conflits;
504
+    include_spip('inc/filtres');
505
+
506
+    $table_objet = table_objet($type);
507
+    $spip_table_objet = table_objet_sql($type);
508
+    $trouver_table = charger_fonction('trouver_table', 'base');
509
+    $desc = $trouver_table($table_objet, $serveur);
510
+
511
+    // Appels incomplets (sans $c)
512
+    if (!is_array($c)) {
513
+        $c = [];
514
+        foreach ($desc['field'] as $champ => $ignore) {
515
+            if (_request($champ)) {
516
+                $c[$champ] = _request($champ);
517
+            }
518
+        }
519
+    }
520
+
521
+    // Securite : certaines variables ne sont jamais acceptees ici
522
+    // car elles ne relevent pas de autoriser(article, modifier) ;
523
+    // il faut passer par instituer_XX()
524
+    // TODO: faut-il passer ces variables interdites
525
+    // dans un fichier de description separe ?
526
+    unset($c['statut']);
527
+    unset($c['id_parent']);
528
+    unset($c['id_rubrique']);
529
+    unset($c['id_secteur']);
530
+
531
+    // Gerer les champs non vides
532
+    if (isset($options['nonvide']) && is_array($options['nonvide'])) {
533
+        foreach ($options['nonvide'] as $champ => $sinon) {
534
+            if ($c[$champ] === '') {
535
+                $c[$champ] = $sinon;
536
+            }
537
+        }
538
+    }
539
+
540
+    // N'accepter que les champs qui existent
541
+    // [TODO] ici aussi on peut valider les contenus en fonction du type
542
+    $champs = [];
543
+    foreach ($desc['field'] as $champ => $ignore) {
544
+        if (isset($c[$champ])) {
545
+            $champs[$champ] = $c[$champ];
546
+        }
547
+    }
548
+
549
+    // Nettoyer les valeurs
550
+    $champs = array_map('corriger_caracteres', $champs);
551
+
552
+    // Envoyer aux plugins
553
+    $champs = pipeline(
554
+        'pre_edition',
555
+        [
556
+            'args' => [
557
+                'table' => $spip_table_objet, // compatibilite
558
+                'table_objet' => $table_objet,
559
+                'spip_table_objet' => $spip_table_objet,
560
+                'type' => $type,
561
+                'id_objet' => $id,
562
+                'champs' => $options['champs'] ?? [], // [doc] c'est quoi ?
563
+                'action' => 'controler',
564
+                'serveur' => $serveur,
565
+            ],
566
+            'data' => $champs
567
+        ]
568
+    );
569
+
570
+    if (!$champs) {
571
+        return false;
572
+    }
573
+
574
+    // Verifier si les mises a jour sont pertinentes, datees, en conflit etc
575
+    $conflits = controler_md5($champs, $_POST, $type, $id, $serveur, $options['prefix'] ?? 'ctr_');
576
+
577
+    return $conflits;
578 578
 }
579 579
 
580 580
 
@@ -604,66 +604,66 @@  discard block
 block discarded – undo
604 604
  *     - post : le contenu posté
605 605
  **/
606 606
 function controler_md5(&$champs, $ctr, $type, $id, $serveur, $prefix = 'ctr_') {
607
-	$spip_table_objet = table_objet_sql($type);
608
-	$id_table_objet = id_table_objet($type);
609
-
610
-	// Controle des MD5 envoyes
611
-	// On elimine les donnees non modifiees par le formulaire (mais
612
-	// potentiellement modifiees entre temps par un autre utilisateur)
613
-	foreach ($champs as $key => $val) {
614
-		if (
615
-			isset($ctr[$prefix . $key])
616
-			&& ($m = $ctr[$prefix . $key])
617
-			&& (is_scalar($val) && $m == md5($val))
618
-		) {
619
-			unset($champs[$key]);
620
-		}
621
-	}
622
-	if (!$champs) {
623
-		return;
624
-	}
625
-
626
-	// On veut savoir si notre modif va avoir un impact
627
-	// par rapport aux donnees contenues dans la base
628
-	// (qui peuvent etre differentes de celles ayant servi a calculer le ctr)
629
-	$s = sql_fetsel(array_keys($champs), $spip_table_objet, "$id_table_objet=$id", $serveur);
630
-	$intact = true;
631
-	foreach ($champs as $ch => $val) {
632
-		$intact &= ($s[$ch] == $val);
633
-	}
634
-	if ($intact) {
635
-		return;
636
-	}
637
-
638
-	// Detection de conflits :
639
-	// On verifie si notre modif ne provient pas d'un formulaire
640
-	// genere a partir de donnees modifiees dans l'intervalle ; ici
641
-	// on compare a ce qui est dans la base, et on bloque en cas
642
-	// de conflit.
643
-	$ctrh = $ctrq = $conflits = [];
644
-	foreach (array_keys($champs) as $key) {
645
-		if (isset($ctr[$prefix . $key]) && ($m = $ctr[$prefix . $key])) {
646
-			$ctrh[$key] = $m;
647
-			$ctrq[] = $key;
648
-		}
649
-	}
650
-	if ($ctrq) {
651
-		$ctrq = sql_fetsel($ctrq, $spip_table_objet, "$id_table_objet=$id", $serveur);
652
-		foreach ($ctrh as $key => $m) {
653
-			if (
654
-				$m != md5((string) $ctrq[$key])
655
-				&& $champs[$key] !== $ctrq[$key]
656
-			) {
657
-				$conflits[$key] = [
658
-					'base' => $ctrq[$key],
659
-					'post' => $champs[$key]
660
-				];
661
-				unset($champs[$key]); # stocker quand meme les modifs ?
662
-			}
663
-		}
664
-	}
665
-
666
-	return $conflits;
607
+    $spip_table_objet = table_objet_sql($type);
608
+    $id_table_objet = id_table_objet($type);
609
+
610
+    // Controle des MD5 envoyes
611
+    // On elimine les donnees non modifiees par le formulaire (mais
612
+    // potentiellement modifiees entre temps par un autre utilisateur)
613
+    foreach ($champs as $key => $val) {
614
+        if (
615
+            isset($ctr[$prefix . $key])
616
+            && ($m = $ctr[$prefix . $key])
617
+            && (is_scalar($val) && $m == md5($val))
618
+        ) {
619
+            unset($champs[$key]);
620
+        }
621
+    }
622
+    if (!$champs) {
623
+        return;
624
+    }
625
+
626
+    // On veut savoir si notre modif va avoir un impact
627
+    // par rapport aux donnees contenues dans la base
628
+    // (qui peuvent etre differentes de celles ayant servi a calculer le ctr)
629
+    $s = sql_fetsel(array_keys($champs), $spip_table_objet, "$id_table_objet=$id", $serveur);
630
+    $intact = true;
631
+    foreach ($champs as $ch => $val) {
632
+        $intact &= ($s[$ch] == $val);
633
+    }
634
+    if ($intact) {
635
+        return;
636
+    }
637
+
638
+    // Detection de conflits :
639
+    // On verifie si notre modif ne provient pas d'un formulaire
640
+    // genere a partir de donnees modifiees dans l'intervalle ; ici
641
+    // on compare a ce qui est dans la base, et on bloque en cas
642
+    // de conflit.
643
+    $ctrh = $ctrq = $conflits = [];
644
+    foreach (array_keys($champs) as $key) {
645
+        if (isset($ctr[$prefix . $key]) && ($m = $ctr[$prefix . $key])) {
646
+            $ctrh[$key] = $m;
647
+            $ctrq[] = $key;
648
+        }
649
+    }
650
+    if ($ctrq) {
651
+        $ctrq = sql_fetsel($ctrq, $spip_table_objet, "$id_table_objet=$id", $serveur);
652
+        foreach ($ctrh as $key => $m) {
653
+            if (
654
+                $m != md5((string) $ctrq[$key])
655
+                && $champs[$key] !== $ctrq[$key]
656
+            ) {
657
+                $conflits[$key] = [
658
+                    'base' => $ctrq[$key],
659
+                    'post' => $champs[$key]
660
+                ];
661
+                unset($champs[$key]); # stocker quand meme les modifs ?
662
+            }
663
+        }
664
+    }
665
+
666
+    return $conflits;
667 667
 }
668 668
 
669 669
 /**
@@ -675,9 +675,9 @@  discard block
 block discarded – undo
675 675
  * @return string
676 676
  */
677 677
 function display_conflit_champ($x) {
678
-	if (strstr($x, "\n") || strlen($x) > 80) {
679
-		return "<textarea style='width:99%; height:10em;'>" . entites_html($x) . "</textarea>\n";
680
-	} else {
681
-		return "<input type='text' size='40' style='width:99%' value=\"" . entites_html($x) . "\" />\n";
682
-	}
678
+    if (strstr($x, "\n") || strlen($x) > 80) {
679
+        return "<textarea style='width:99%; height:10em;'>" . entites_html($x) . "</textarea>\n";
680
+    } else {
681
+        return "<input type='text' size='40' style='width:99%' value=\"" . entites_html($x) . "\" />\n";
682
+    }
683 683
 }
Please login to merge, or discard this patch.
ecrire/inc/minipres.php 1 patch
Indentation   +30 added lines, -30 removed lines patch added patch discarded remove patch
@@ -17,7 +17,7 @@  discard block
 block discarded – undo
17 17
  * @package SPIP\Core\Minipres
18 18
  **/
19 19
 if (!defined('_ECRIRE_INC_VERSION')) {
20
-	return;
20
+    return;
21 21
 }
22 22
 
23 23
 /**
@@ -37,19 +37,19 @@  discard block
 block discarded – undo
37 37
  */
38 38
 function install_debut_html($titre = 'AUTO', $onLoad = '', $all_inline = false) {
39 39
 
40
-	if ($onLoad) {
41
-		include_spip('inc/filtres');
42
-		$onLoad = extraire_attribut("<body $onLoad>", 'onload');
43
-	}
40
+    if ($onLoad) {
41
+        include_spip('inc/filtres');
42
+        $onLoad = extraire_attribut("<body $onLoad>", 'onload');
43
+    }
44 44
 
45
-	$options = [
46
-		'all_inline' => $all_inline,
47
-		'onload' => $onLoad,
48
-		'titre' => $titre,
49
-	];
45
+    $options = [
46
+        'all_inline' => $all_inline,
47
+        'onload' => $onLoad,
48
+        'titre' => $titre,
49
+    ];
50 50
 
51
-	$minipage = new Admin();
52
-	return $minipage->installDebutPage($options);
51
+    $minipage = new Admin();
52
+    return $minipage->installDebutPage($options);
53 53
 }
54 54
 
55 55
 /**
@@ -61,8 +61,8 @@  discard block
 block discarded – undo
61 61
  * @return string Code HTML
62 62
  */
63 63
 function install_fin_html() {
64
-	$minipage = new Admin();
65
-	return $minipage->installFinPage();
64
+    $minipage = new Admin();
65
+    return $minipage->installFinPage();
66 66
 }
67 67
 
68 68
 
@@ -101,23 +101,23 @@  discard block
 block discarded – undo
101 101
  */
102 102
 function minipres($titre = '', $corps = '', $options = []) {
103 103
 
104
-	// compat signature old
105
-	// minipres($titre='', $corps="", $onload='', $all_inline = false)
106
-	$args = func_get_args();
107
-	if (isset($args[2]) && is_string($args[2])) {
108
-		$options = ['onload' => $args[2]];
109
-	}
110
-	if (isset($args[3])) {
111
-		$options['all_inline'] = $args[3];
112
-	}
104
+    // compat signature old
105
+    // minipres($titre='', $corps="", $onload='', $all_inline = false)
106
+    $args = func_get_args();
107
+    if (isset($args[2]) && is_string($args[2])) {
108
+        $options = ['onload' => $args[2]];
109
+    }
110
+    if (isset($args[3])) {
111
+        $options['all_inline'] = $args[3];
112
+    }
113 113
 
114
-	$options = array_merge([
115
-		'onload' => '',
116
-		'all_inline' => false,
117
-	], $options);
114
+    $options = array_merge([
115
+        'onload' => '',
116
+        'all_inline' => false,
117
+    ], $options);
118 118
 
119
-	$options['titre'] = $titre;
119
+    $options['titre'] = $titre;
120 120
 
121
-	$minipage = new Admin();
122
-	return $minipage->page($corps, $options);
121
+    $minipage = new Admin();
122
+    return $minipage->page($corps, $options);
123 123
 }
Please login to merge, or discard this patch.
ecrire/inc/texte.php 1 patch
Indentation   +229 added lines, -229 removed lines patch added patch discarded remove patch
@@ -18,7 +18,7 @@  discard block
 block discarded – undo
18 18
  **/
19 19
 
20 20
 if (!defined('_ECRIRE_INC_VERSION')) {
21
-	return;
21
+    return;
22 22
 }
23 23
 
24 24
 include_spip('inc/texte_mini');
@@ -35,7 +35,7 @@  discard block
 block discarded – undo
35 35
  * @return array Tablea ('','')
36 36
  */
37 37
 function definir_raccourcis_alineas() {
38
-	return ['', ''];
38
+    return ['', ''];
39 39
 }
40 40
 
41 41
 
@@ -48,7 +48,7 @@  discard block
 block discarded – undo
48 48
  * @return string
49 49
  */
50 50
 function traiter_tableau($bloc) {
51
-	return $bloc;
51
+    return $bloc;
52 52
 }
53 53
 
54 54
 
@@ -62,7 +62,7 @@  discard block
 block discarded – undo
62 62
  * @return string
63 63
  */
64 64
 function traiter_listes($texte) {
65
-	return $texte;
65
+    return $texte;
66 66
 }
67 67
 
68 68
 /**
@@ -78,16 +78,16 @@  discard block
 block discarded – undo
78 78
  */
79 79
 function traiter_raccourcis($letexte) {
80 80
 
81
-	// Appeler les fonctions de pre_traitement
82
-	$letexte = pipeline('pre_propre', $letexte);
81
+    // Appeler les fonctions de pre_traitement
82
+    $letexte = pipeline('pre_propre', $letexte);
83 83
 
84
-	// APPELER ICI UN PIPELINE traiter_raccourcis ?
85
-	// $letexte = pipeline('traiter_raccourcis', $letexte);
84
+    // APPELER ICI UN PIPELINE traiter_raccourcis ?
85
+    // $letexte = pipeline('traiter_raccourcis', $letexte);
86 86
 
87
-	// Appeler les fonctions de post-traitement
88
-	$letexte = pipeline('post_propre', $letexte);
87
+    // Appeler les fonctions de post-traitement
88
+    $letexte = pipeline('post_propre', $letexte);
89 89
 
90
-	return $letexte;
90
+    return $letexte;
91 91
 }
92 92
 
93 93
 /*************************************************************************************************************************
@@ -103,22 +103,22 @@  discard block
 block discarded – undo
103 103
  * @return string
104 104
  */
105 105
 function echappe_js($t, $class = ' class = "echappe-js"') {
106
-	foreach (['script', 'iframe'] as $tag) {
107
-		if (
108
-			stripos($t, (string) "<$tag") !== false
109
-			&& preg_match_all(',<' . $tag . '.*?($|</' . $tag . '.),isS', $t, $r, PREG_SET_ORDER)
110
-		) {
111
-			foreach ($r as $regs) {
112
-				$t = str_replace(
113
-					$regs[0],
114
-					"<code$class>" . nl2br(spip_htmlspecialchars($regs[0])) . '</code>',
115
-					$t
116
-				);
117
-			}
118
-		}
119
-	}
120
-
121
-	return $t;
106
+    foreach (['script', 'iframe'] as $tag) {
107
+        if (
108
+            stripos($t, (string) "<$tag") !== false
109
+            && preg_match_all(',<' . $tag . '.*?($|</' . $tag . '.),isS', $t, $r, PREG_SET_ORDER)
110
+        ) {
111
+            foreach ($r as $regs) {
112
+                $t = str_replace(
113
+                    $regs[0],
114
+                    "<code$class>" . nl2br(spip_htmlspecialchars($regs[0])) . '</code>',
115
+                    $t
116
+                );
117
+            }
118
+        }
119
+    }
120
+
121
+    return $t;
122 122
 }
123 123
 
124 124
 
@@ -147,55 +147,55 @@  discard block
 block discarded – undo
147 147
  *     Code protégé
148 148
  **/
149 149
 function interdire_scripts($arg, $mode_filtre = null) {
150
-	// on memorise le resultat sur les arguments non triviaux
151
-	static $dejavu = [];
152
-
153
-	// Attention, si ce n'est pas une chaine, laisser intact
154
-	if (!$arg || !is_string($arg) || !strstr($arg, '<')) {
155
-		return $arg;
156
-	}
157
-
158
-	if (is_null($mode_filtre) || !in_array($mode_filtre, [-1, 0, 1])) {
159
-		$mode_filtre = $GLOBALS['filtrer_javascript'];
160
-	}
161
-
162
-	if (isset($dejavu[$mode_filtre][$arg])) {
163
-		return $dejavu[$mode_filtre][$arg];
164
-	}
165
-
166
-	// echapper les tags asp/php
167
-	$t = str_replace('<' . '%', '&lt;%', $arg);
168
-
169
-	// echapper le php
170
-	$t = str_replace('<' . '?', '&lt;?', $t);
171
-
172
-	// echapper le < script language=php >
173
-	$t = preg_replace(',<(script\b[^>]+\blanguage\b[^\w>]+php\b),UimsS', '&lt;\1', $t);
174
-
175
-	// Pour le js, trois modes : parano (-1), prive (0), ok (1)
176
-	switch ($mode_filtre) {
177
-		case 0:
178
-			if (!_DIR_RESTREINT) {
179
-				$t = echappe_js($t);
180
-			}
181
-			break;
182
-		case -1:
183
-			$t = echappe_js($t);
184
-			break;
185
-	}
186
-
187
-	// pas de <base href /> svp !
188
-	$t = preg_replace(',<(base\b),iS', '&lt;\1', $t);
189
-
190
-	// Reinserer les echappements des modeles
191
-	if (defined('_PROTEGE_JS_MODELES')) {
192
-		$t = echappe_retour($t, 'javascript' . _PROTEGE_JS_MODELES);
193
-	}
194
-	if (defined('_PROTEGE_PHP_MODELES')) {
195
-		$t = echappe_retour($t, 'php' . _PROTEGE_PHP_MODELES);
196
-	}
197
-
198
-	return $dejavu[$mode_filtre][$arg] = $t;
150
+    // on memorise le resultat sur les arguments non triviaux
151
+    static $dejavu = [];
152
+
153
+    // Attention, si ce n'est pas une chaine, laisser intact
154
+    if (!$arg || !is_string($arg) || !strstr($arg, '<')) {
155
+        return $arg;
156
+    }
157
+
158
+    if (is_null($mode_filtre) || !in_array($mode_filtre, [-1, 0, 1])) {
159
+        $mode_filtre = $GLOBALS['filtrer_javascript'];
160
+    }
161
+
162
+    if (isset($dejavu[$mode_filtre][$arg])) {
163
+        return $dejavu[$mode_filtre][$arg];
164
+    }
165
+
166
+    // echapper les tags asp/php
167
+    $t = str_replace('<' . '%', '&lt;%', $arg);
168
+
169
+    // echapper le php
170
+    $t = str_replace('<' . '?', '&lt;?', $t);
171
+
172
+    // echapper le < script language=php >
173
+    $t = preg_replace(',<(script\b[^>]+\blanguage\b[^\w>]+php\b),UimsS', '&lt;\1', $t);
174
+
175
+    // Pour le js, trois modes : parano (-1), prive (0), ok (1)
176
+    switch ($mode_filtre) {
177
+        case 0:
178
+            if (!_DIR_RESTREINT) {
179
+                $t = echappe_js($t);
180
+            }
181
+            break;
182
+        case -1:
183
+            $t = echappe_js($t);
184
+            break;
185
+    }
186
+
187
+    // pas de <base href /> svp !
188
+    $t = preg_replace(',<(base\b),iS', '&lt;\1', $t);
189
+
190
+    // Reinserer les echappements des modeles
191
+    if (defined('_PROTEGE_JS_MODELES')) {
192
+        $t = echappe_retour($t, 'javascript' . _PROTEGE_JS_MODELES);
193
+    }
194
+    if (defined('_PROTEGE_PHP_MODELES')) {
195
+        $t = echappe_retour($t, 'php' . _PROTEGE_PHP_MODELES);
196
+    }
197
+
198
+    return $dejavu[$mode_filtre][$arg] = $t;
199 199
 }
200 200
 
201 201
 
@@ -224,66 +224,66 @@  discard block
 block discarded – undo
224 224
  *     texte transformé
225 225
  **/
226 226
 function typo($letexte, $echapper = true, $connect = null, $env = []) {
227
-	// Plus vite !
228
-	if (!$letexte) {
229
-		return $letexte;
230
-	}
231
-
232
-	// les appels directs a cette fonction depuis le php de l'espace
233
-	// prive etant historiquement ecrit sans argment $connect
234
-	// on utilise la presence de celui-ci pour distinguer les cas
235
-	// ou il faut passer interdire_script explicitement
236
-	// les appels dans les squelettes (de l'espace prive) fournissant un $connect
237
-	// ne seront pas perturbes
238
-	$interdire_script = false;
239
-	if (is_null($connect)) {
240
-		$connect = '';
241
-		$interdire_script = true;
242
-		$env['espace_prive'] = test_espace_prive();
243
-	}
244
-
245
-	// Echapper les codes <html> etc
246
-	if ($echapper) {
247
-		$letexte = CollecteurHtmlTag::proteger_balisesHtml($letexte, 'TYPO');
248
-	}
249
-
250
-	//
251
-	// Installer les modeles, notamment images et documents ;
252
-	//
253
-	// NOTE : propre() ne passe pas par ici mais directement par corriger_typo
254
-	// cf. inc/lien
255
-
256
-	$letexte = traiter_modeles($mem = $letexte, false, $echapper ? 'TYPO' : '', $connect ?? '', null, $env);
257
-	if ($letexte != $mem) {
258
-		$echapper = true;
259
-	}
260
-	unset($mem);
261
-
262
-	$letexte = corriger_typo($letexte);
263
-	$letexte = echapper_faux_tags($letexte);
264
-
265
-	// reintegrer les echappements
266
-	if ($echapper) {
267
-		$letexte = CollecteurHtmlTag::retablir_depuisHtmlBase64($letexte, 'TYPO');
268
-	}
269
-
270
-	// Dans les appels directs hors squelette, securiser ici aussi
271
-	if ($interdire_script) {
272
-		$letexte = interdire_scripts($letexte);
273
-	}
274
-
275
-	// Dans l'espace prive on se mefie de tout contenu dangereux
276
-	// https://core.spip.net/issues/3371
277
-	// et aussi dans l'espace public si la globale filtrer_javascript = -1
278
-	// https://core.spip.net/issues/4166
279
-	if (
280
-		$GLOBALS['filtrer_javascript'] == -1
281
-		|| isset($env['espace_prive']) && $env['espace_prive'] && $GLOBALS['filtrer_javascript'] <= 0
282
-	) {
283
-		$letexte = echapper_html_suspect($letexte, [], $connect, $env);
284
-	}
285
-
286
-	return $letexte;
227
+    // Plus vite !
228
+    if (!$letexte) {
229
+        return $letexte;
230
+    }
231
+
232
+    // les appels directs a cette fonction depuis le php de l'espace
233
+    // prive etant historiquement ecrit sans argment $connect
234
+    // on utilise la presence de celui-ci pour distinguer les cas
235
+    // ou il faut passer interdire_script explicitement
236
+    // les appels dans les squelettes (de l'espace prive) fournissant un $connect
237
+    // ne seront pas perturbes
238
+    $interdire_script = false;
239
+    if (is_null($connect)) {
240
+        $connect = '';
241
+        $interdire_script = true;
242
+        $env['espace_prive'] = test_espace_prive();
243
+    }
244
+
245
+    // Echapper les codes <html> etc
246
+    if ($echapper) {
247
+        $letexte = CollecteurHtmlTag::proteger_balisesHtml($letexte, 'TYPO');
248
+    }
249
+
250
+    //
251
+    // Installer les modeles, notamment images et documents ;
252
+    //
253
+    // NOTE : propre() ne passe pas par ici mais directement par corriger_typo
254
+    // cf. inc/lien
255
+
256
+    $letexte = traiter_modeles($mem = $letexte, false, $echapper ? 'TYPO' : '', $connect ?? '', null, $env);
257
+    if ($letexte != $mem) {
258
+        $echapper = true;
259
+    }
260
+    unset($mem);
261
+
262
+    $letexte = corriger_typo($letexte);
263
+    $letexte = echapper_faux_tags($letexte);
264
+
265
+    // reintegrer les echappements
266
+    if ($echapper) {
267
+        $letexte = CollecteurHtmlTag::retablir_depuisHtmlBase64($letexte, 'TYPO');
268
+    }
269
+
270
+    // Dans les appels directs hors squelette, securiser ici aussi
271
+    if ($interdire_script) {
272
+        $letexte = interdire_scripts($letexte);
273
+    }
274
+
275
+    // Dans l'espace prive on se mefie de tout contenu dangereux
276
+    // https://core.spip.net/issues/3371
277
+    // et aussi dans l'espace public si la globale filtrer_javascript = -1
278
+    // https://core.spip.net/issues/4166
279
+    if (
280
+        $GLOBALS['filtrer_javascript'] == -1
281
+        || isset($env['espace_prive']) && $env['espace_prive'] && $GLOBALS['filtrer_javascript'] <= 0
282
+    ) {
283
+        $letexte = echapper_html_suspect($letexte, [], $connect, $env);
284
+    }
285
+
286
+    return $letexte;
287 287
 }
288 288
 
289 289
 // Correcteur typographique
@@ -308,57 +308,57 @@  discard block
 block discarded – undo
308 308
  */
309 309
 function corriger_typo($letexte, $lang = '') {
310 310
 
311
-	// Plus vite !
312
-	if (!$letexte) {
313
-		return $letexte;
314
-	}
315
-
316
-	$letexte = pipeline('pre_typo', $letexte);
317
-
318
-	// Caracteres de controle "illegaux"
319
-	$letexte = corriger_caracteres($letexte);
320
-
321
-	// Proteger les caracteres typographiques a l'interieur des tags html
322
-	if (preg_match_all(_TYPO_BALISE, $letexte, $regs, PREG_SET_ORDER)) {
323
-		foreach ($regs as $reg) {
324
-			$insert = $reg[0];
325
-			// hack: on transforme les caracteres a proteger en les remplacant
326
-			// par des caracteres "illegaux". (cf corriger_caracteres())
327
-			$insert = strtr($insert, _TYPO_PROTEGER, _TYPO_PROTECTEUR);
328
-			$letexte = str_replace($reg[0], $insert, $letexte);
329
-		}
330
-	}
331
-
332
-	// trouver les blocs idiomes et les traiter à part
333
-	$letexte = extraire_idiome($ei = $letexte, $lang, ['echappe_span' => true]);
334
-	$ei = ($ei !== $letexte);
335
-
336
-	// trouver les blocs multi et les traiter a part
337
-	$letexte = extraire_multi($em = $letexte, $lang, ['echappe_span' => true]);
338
-	$em = ($em !== $letexte);
339
-
340
-	// Charger & appliquer les fonctions de typographie
341
-	$typographie = charger_fonction(lang_typo($lang), 'typographie');
342
-	$letexte = $typographie($letexte);
343
-
344
-	// Les citations en une autre langue, s'il y a lieu
345
-	if ($em) {
346
-		$letexte = echappe_retour($letexte, 'multi');
347
-	}
348
-	if ($ei) {
349
-		$letexte = echappe_retour($letexte, 'idiome');
350
-	}
351
-
352
-	// Retablir les caracteres proteges
353
-	$letexte = strtr($letexte, _TYPO_PROTECTEUR, _TYPO_PROTEGER);
354
-
355
-	// pipeline
356
-	$letexte = pipeline('post_typo', $letexte);
357
-
358
-	# un message pour abs_url - on est passe en mode texte
359
-	$GLOBALS['mode_abs_url'] = 'texte';
360
-
361
-	return $letexte;
311
+    // Plus vite !
312
+    if (!$letexte) {
313
+        return $letexte;
314
+    }
315
+
316
+    $letexte = pipeline('pre_typo', $letexte);
317
+
318
+    // Caracteres de controle "illegaux"
319
+    $letexte = corriger_caracteres($letexte);
320
+
321
+    // Proteger les caracteres typographiques a l'interieur des tags html
322
+    if (preg_match_all(_TYPO_BALISE, $letexte, $regs, PREG_SET_ORDER)) {
323
+        foreach ($regs as $reg) {
324
+            $insert = $reg[0];
325
+            // hack: on transforme les caracteres a proteger en les remplacant
326
+            // par des caracteres "illegaux". (cf corriger_caracteres())
327
+            $insert = strtr($insert, _TYPO_PROTEGER, _TYPO_PROTECTEUR);
328
+            $letexte = str_replace($reg[0], $insert, $letexte);
329
+        }
330
+    }
331
+
332
+    // trouver les blocs idiomes et les traiter à part
333
+    $letexte = extraire_idiome($ei = $letexte, $lang, ['echappe_span' => true]);
334
+    $ei = ($ei !== $letexte);
335
+
336
+    // trouver les blocs multi et les traiter a part
337
+    $letexte = extraire_multi($em = $letexte, $lang, ['echappe_span' => true]);
338
+    $em = ($em !== $letexte);
339
+
340
+    // Charger & appliquer les fonctions de typographie
341
+    $typographie = charger_fonction(lang_typo($lang), 'typographie');
342
+    $letexte = $typographie($letexte);
343
+
344
+    // Les citations en une autre langue, s'il y a lieu
345
+    if ($em) {
346
+        $letexte = echappe_retour($letexte, 'multi');
347
+    }
348
+    if ($ei) {
349
+        $letexte = echappe_retour($letexte, 'idiome');
350
+    }
351
+
352
+    // Retablir les caracteres proteges
353
+    $letexte = strtr($letexte, _TYPO_PROTECTEUR, _TYPO_PROTEGER);
354
+
355
+    // pipeline
356
+    $letexte = pipeline('post_typo', $letexte);
357
+
358
+    # un message pour abs_url - on est passe en mode texte
359
+    $GLOBALS['mode_abs_url'] = 'texte';
360
+
361
+    return $letexte;
362 362
 }
363 363
 
364 364
 
@@ -374,7 +374,7 @@  discard block
 block discarded – undo
374 374
  * @return string
375 375
  */
376 376
 function paragrapher($letexte, $forcer = true) {
377
-	return $letexte;
377
+    return $letexte;
378 378
 }
379 379
 
380 380
 /**
@@ -386,11 +386,11 @@  discard block
 block discarded – undo
386 386
  * @return string texte
387 387
  **/
388 388
 function traiter_retours_chariots($letexte) {
389
-	$letexte = preg_replace(",\r\n?,S", "\n", $letexte);
390
-	$letexte = preg_replace(',<p[>[:space:]],iS', "\n\n\\0", $letexte);
391
-	$letexte = preg_replace(',</p[>[:space:]],iS', "\\0\n\n", $letexte);
389
+    $letexte = preg_replace(",\r\n?,S", "\n", $letexte);
390
+    $letexte = preg_replace(',<p[>[:space:]],iS', "\n\n\\0", $letexte);
391
+    $letexte = preg_replace(',</p[>[:space:]],iS', "\\0\n\n", $letexte);
392 392
 
393
-	return $letexte;
393
+    return $letexte;
394 394
 }
395 395
 
396 396
 
@@ -416,41 +416,41 @@  discard block
 block discarded – undo
416 416
  *     texte transformé
417 417
  **/
418 418
 function propre($t, $connect = null, $env = []) {
419
-	// les appels directs a cette fonction depuis le php de l'espace
420
-	// prive etant historiquement ecrits sans argment $connect
421
-	// on utilise la presence de celui-ci pour distinguer les cas
422
-	// ou il faut passer interdire_script explicitement
423
-	// les appels dans les squelettes (de l'espace prive) fournissant un $connect
424
-	// ne seront pas perturbes
425
-	// FIXME: Trouver une solution pour avoir un type (string) unique sur $connect.
426
-	$interdire_script = false;
427
-	if (is_null($connect)) {
428
-		$connect = '';
429
-		$interdire_script = true;
430
-		$env['espace_prive'] = true;
431
-	}
432
-
433
-	if (!$t) {
434
-		return strval($t);
435
-	}
436
-
437
-	// Dans l'espace prive on se mefie de tout contenu dangereux
438
-	// avant echappement des balises <html>
439
-	// https://core.spip.net/issues/3371
440
-	// et aussi dans l'espace public si la globale filtrer_javascript = -1
441
-	// https://core.spip.net/issues/4166
442
-	if (
443
-		$interdire_script
444
-		|| $GLOBALS['filtrer_javascript'] == -1
445
-		|| !empty($env['espace_prive']) && $GLOBALS['filtrer_javascript'] <= 0
446
-		|| !empty($env['wysiwyg']) && $env['wysiwyg'] && $GLOBALS['filtrer_javascript'] <= 0
447
-	) {
448
-		$t = echapper_html_suspect($t, ['strict' => false], $connect, $env);
449
-	}
450
-	$t = echappe_html($t);
451
-	$t = expanser_liens($t, $connect ?? '', $env);
452
-	$t = traiter_raccourcis($t);
453
-	$t = echappe_retour_modeles($t, $interdire_script);
454
-
455
-	return $t;
419
+    // les appels directs a cette fonction depuis le php de l'espace
420
+    // prive etant historiquement ecrits sans argment $connect
421
+    // on utilise la presence de celui-ci pour distinguer les cas
422
+    // ou il faut passer interdire_script explicitement
423
+    // les appels dans les squelettes (de l'espace prive) fournissant un $connect
424
+    // ne seront pas perturbes
425
+    // FIXME: Trouver une solution pour avoir un type (string) unique sur $connect.
426
+    $interdire_script = false;
427
+    if (is_null($connect)) {
428
+        $connect = '';
429
+        $interdire_script = true;
430
+        $env['espace_prive'] = true;
431
+    }
432
+
433
+    if (!$t) {
434
+        return strval($t);
435
+    }
436
+
437
+    // Dans l'espace prive on se mefie de tout contenu dangereux
438
+    // avant echappement des balises <html>
439
+    // https://core.spip.net/issues/3371
440
+    // et aussi dans l'espace public si la globale filtrer_javascript = -1
441
+    // https://core.spip.net/issues/4166
442
+    if (
443
+        $interdire_script
444
+        || $GLOBALS['filtrer_javascript'] == -1
445
+        || !empty($env['espace_prive']) && $GLOBALS['filtrer_javascript'] <= 0
446
+        || !empty($env['wysiwyg']) && $env['wysiwyg'] && $GLOBALS['filtrer_javascript'] <= 0
447
+    ) {
448
+        $t = echapper_html_suspect($t, ['strict' => false], $connect, $env);
449
+    }
450
+    $t = echappe_html($t);
451
+    $t = expanser_liens($t, $connect ?? '', $env);
452
+    $t = traiter_raccourcis($t);
453
+    $t = echappe_retour_modeles($t, $interdire_script);
454
+
455
+    return $t;
456 456
 }
Please login to merge, or discard this patch.
ecrire/inc/filtres_mini.php 1 patch
Indentation   +101 added lines, -101 removed lines patch added patch discarded remove patch
@@ -16,7 +16,7 @@  discard block
 block discarded – undo
16 16
  **/
17 17
 
18 18
 if (!defined('_ECRIRE_INC_VERSION')) {
19
-	return;
19
+    return;
20 20
 }
21 21
 
22 22
 
@@ -34,20 +34,20 @@  discard block
 block discarded – undo
34 34
  * @return string URL nettoyée
35 35
  **/
36 36
 function resolve_path($url) {
37
-	[$url, $query] = array_pad(explode('?', $url, 2), 2, null);
38
-	while (
39
-		preg_match(',/\.?/,', (string) $url, $regs) # supprime // et /./
40
-		|| preg_match(',/[^/]*/\.\./,S', (string) $url, $regs)  # supprime /toto/../
41
-		|| preg_match(',^/\.\./,S', (string) $url, $regs) # supprime les /../ du haut
42
-	) {
43
-		$url = str_replace($regs[0], '/', (string) $url);
44
-	}
37
+    [$url, $query] = array_pad(explode('?', $url, 2), 2, null);
38
+    while (
39
+        preg_match(',/\.?/,', (string) $url, $regs) # supprime // et /./
40
+        || preg_match(',/[^/]*/\.\./,S', (string) $url, $regs)  # supprime /toto/../
41
+        || preg_match(',^/\.\./,S', (string) $url, $regs) # supprime les /../ du haut
42
+    ) {
43
+        $url = str_replace($regs[0], '/', (string) $url);
44
+    }
45 45
 
46
-	if ($query) {
47
-		$url .= '?' . $query;
48
-	}
46
+    if ($query) {
47
+        $url .= '?' . $query;
48
+    }
49 49
 
50
-	return '/' . preg_replace(',^/,S', '', (string) $url);
50
+    return '/' . preg_replace(',^/,S', '', (string) $url);
51 51
 }
52 52
 
53 53
 
@@ -68,40 +68,40 @@  discard block
 block discarded – undo
68 68
  **/
69 69
 function suivre_lien($url, $lien) {
70 70
 
71
-	$mot = null;
72
-	$get = null;
73
-	$hash = null;
74
-	if (preg_match(',^(mailto|javascript|data|tel|callto|file|ftp):,iS', $lien)) {
75
-		return $lien;
76
-	}
77
-	if (preg_match(';^((?:[a-z]{3,33}:)?//.*?)(/.*)?$;iS', $lien, $r)) {
78
-		$r = array_pad($r, 3, '');
71
+    $mot = null;
72
+    $get = null;
73
+    $hash = null;
74
+    if (preg_match(',^(mailto|javascript|data|tel|callto|file|ftp):,iS', $lien)) {
75
+        return $lien;
76
+    }
77
+    if (preg_match(';^((?:[a-z]{3,33}:)?//.*?)(/.*)?$;iS', $lien, $r)) {
78
+        $r = array_pad($r, 3, '');
79 79
 
80
-		return $r[1] . resolve_path($r[2]);
81
-	}
80
+        return $r[1] . resolve_path($r[2]);
81
+    }
82 82
 
83
-	# L'url site spip est un lien absolu aussi
84
-	if (isset($GLOBALS['meta']['adresse_site']) && $lien == $GLOBALS['meta']['adresse_site']) {
85
-		return $lien;
86
-	}
83
+    # L'url site spip est un lien absolu aussi
84
+    if (isset($GLOBALS['meta']['adresse_site']) && $lien == $GLOBALS['meta']['adresse_site']) {
85
+        return $lien;
86
+    }
87 87
 
88
-	# lien relatif, il faut verifier l'url de base
89
-	# commencer par virer la chaine de get de l'url de base
90
-	$dir = '/';
91
-	$debut = '';
92
-	if (preg_match(';^((?:[a-z]{3,7}:)?//[^/]+)(/.*?/?)?([^/#?]*)([?][^#]*)?(#.*)?$;S', $url, $regs)) {
93
-		$debut = $regs[1];
94
-		$dir = strlen($regs[2]) ? $regs[2] : '/';
95
-		$mot = $regs[3];
96
-		$get = $regs[4] ?? '';
97
-		$hash = $regs[5] ?? '';
98
-	}
99
-	return match (substr($lien, 0, 1)) {
100
-		'/' => $debut . resolve_path($lien),
101
-		'#' => $debut . resolve_path($dir . $mot . $get . $lien),
102
-		'' => $debut . resolve_path($dir . $mot . $get . $hash),
103
-		default => $debut . resolve_path($dir . $lien),
104
-	};
88
+    # lien relatif, il faut verifier l'url de base
89
+    # commencer par virer la chaine de get de l'url de base
90
+    $dir = '/';
91
+    $debut = '';
92
+    if (preg_match(';^((?:[a-z]{3,7}:)?//[^/]+)(/.*?/?)?([^/#?]*)([?][^#]*)?(#.*)?$;S', $url, $regs)) {
93
+        $debut = $regs[1];
94
+        $dir = strlen($regs[2]) ? $regs[2] : '/';
95
+        $mot = $regs[3];
96
+        $get = $regs[4] ?? '';
97
+        $hash = $regs[5] ?? '';
98
+    }
99
+    return match (substr($lien, 0, 1)) {
100
+        '/' => $debut . resolve_path($lien),
101
+        '#' => $debut . resolve_path($dir . $mot . $get . $lien),
102
+        '' => $debut . resolve_path($dir . $mot . $get . $hash),
103
+        default => $debut . resolve_path($dir . $lien),
104
+    };
105 105
 }
106 106
 
107 107
 
@@ -124,15 +124,15 @@  discard block
 block discarded – undo
124 124
  * @return string texte ou URL (en absolus)
125 125
  **/
126 126
 function url_absolue($url, $base = '') {
127
-	$url = trim((string) $url);
128
-	if (strlen($url = trim($url)) == 0) {
129
-		return '';
130
-	}
131
-	if (!$base) {
132
-		$base = url_de_base() . (_DIR_RACINE ? _DIR_RESTREINT_ABS : '');
133
-	}
127
+    $url = trim((string) $url);
128
+    if (strlen($url = trim($url)) == 0) {
129
+        return '';
130
+    }
131
+    if (!$base) {
132
+        $base = url_de_base() . (_DIR_RACINE ? _DIR_RESTREINT_ABS : '');
133
+    }
134 134
 
135
-	return suivre_lien($base, $url);
135
+    return suivre_lien($base, $url);
136 136
 }
137 137
 
138 138
 /**
@@ -143,7 +143,7 @@  discard block
 block discarded – undo
143 143
  * @return string
144 144
  */
145 145
 function protocole_implicite($url_absolue) {
146
-	return preg_replace(';^[a-z]{3,7}://;i', '//', $url_absolue);
146
+    return preg_replace(';^[a-z]{3,7}://;i', '//', $url_absolue);
147 147
 }
148 148
 
149 149
 /**
@@ -154,16 +154,16 @@  discard block
 block discarded – undo
154 154
  */
155 155
 function protocole_verifier($url_absolue, $protocoles_autorises = ['http','https']) {
156 156
 
157
-	if (preg_match(';^([a-z]{3,7})://;i', $url_absolue, $m)) {
158
-		$protocole = $m[1];
159
-		if (
160
-			in_array($protocole, $protocoles_autorises)
161
-			|| in_array(strtolower($protocole), array_map('strtolower', $protocoles_autorises))
162
-		) {
163
-			return true;
164
-		}
165
-	}
166
-	return false;
157
+    if (preg_match(';^([a-z]{3,7})://;i', $url_absolue, $m)) {
158
+        $protocole = $m[1];
159
+        if (
160
+            in_array($protocole, $protocoles_autorises)
161
+            || in_array(strtolower($protocole), array_map('strtolower', $protocoles_autorises))
162
+        ) {
163
+            return true;
164
+        }
165
+    }
166
+    return false;
167 167
 }
168 168
 
169 169
 /**
@@ -180,31 +180,31 @@  discard block
 block discarded – undo
180 180
  * @return string texte avec des URLs absolues
181 181
  **/
182 182
 function liens_absolus($texte, $base = '') {
183
-	if ($texte === null || $texte === '') {
184
-		return '';
185
-	}
186
-	if (preg_match_all(',(<(a|link|image|img|script)\s[^<>]*(href|src)=[^<>]*>),imsS', $texte, $liens, PREG_SET_ORDER)) {
187
-		if (!function_exists('extraire_attribut')) {
188
-			include_spip('inc/filtres');
189
-		}
190
-		foreach ($liens as $lien) {
191
-			foreach (['href', 'src'] as $attr) {
192
-				$href = extraire_attribut($lien[0], $attr) ?? '';
193
-				if (
194
-					strlen((string) $href) > 0
195
-					&& !preg_match(';^((?:[a-z]{3,7}:)?//);iS', (string) $href)
196
-				) {
197
-					$abs = url_absolue($href, $base);
198
-					if (rtrim((string) $href, '/') !== rtrim($abs, '/') && !preg_match('/^#/', (string) $href)) {
199
-						$texte_lien = inserer_attribut($lien[0], $attr, $abs);
200
-						$texte = str_replace($lien[0], $texte_lien, $texte);
201
-					}
202
-				}
203
-			}
204
-		}
205
-	}
183
+    if ($texte === null || $texte === '') {
184
+        return '';
185
+    }
186
+    if (preg_match_all(',(<(a|link|image|img|script)\s[^<>]*(href|src)=[^<>]*>),imsS', $texte, $liens, PREG_SET_ORDER)) {
187
+        if (!function_exists('extraire_attribut')) {
188
+            include_spip('inc/filtres');
189
+        }
190
+        foreach ($liens as $lien) {
191
+            foreach (['href', 'src'] as $attr) {
192
+                $href = extraire_attribut($lien[0], $attr) ?? '';
193
+                if (
194
+                    strlen((string) $href) > 0
195
+                    && !preg_match(';^((?:[a-z]{3,7}:)?//);iS', (string) $href)
196
+                ) {
197
+                    $abs = url_absolue($href, $base);
198
+                    if (rtrim((string) $href, '/') !== rtrim($abs, '/') && !preg_match('/^#/', (string) $href)) {
199
+                        $texte_lien = inserer_attribut($lien[0], $attr, $abs);
200
+                        $texte = str_replace($lien[0], $texte_lien, $texte);
201
+                    }
202
+                }
203
+            }
204
+        }
205
+    }
206 206
 
207
-	return $texte;
207
+    return $texte;
208 208
 }
209 209
 
210 210
 
@@ -222,12 +222,12 @@  discard block
 block discarded – undo
222 222
  * @return string texte ou URL (en absolus)
223 223
  **/
224 224
 function abs_url($texte, $base = '') {
225
-	trigger_deprecation('spip', '5.0', sprintf('Using "%s" is deprecated. Use "%s" or "%s"', __FUNCTION__, 'url_absolue', 'liens_absolus'));
226
-	if ($GLOBALS['mode_abs_url'] == 'url') {
227
-		return url_absolue($texte, $base);
228
-	} else {
229
-		return liens_absolus($texte, $base);
230
-	}
225
+    trigger_deprecation('spip', '5.0', sprintf('Using "%s" is deprecated. Use "%s" or "%s"', __FUNCTION__, 'url_absolue', 'liens_absolus'));
226
+    if ($GLOBALS['mode_abs_url'] == 'url') {
227
+        return url_absolue($texte, $base);
228
+    } else {
229
+        return liens_absolus($texte, $base);
230
+    }
231 231
 }
232 232
 
233 233
 /**
@@ -240,11 +240,11 @@  discard block
 block discarded – undo
240 240
  * @return string
241 241
  */
242 242
 function spip_htmlspecialchars($string, $flags = null, $encoding = 'UTF-8', $double_encode = true) {
243
-	if (is_null($flags)) {
244
-		$flags = ENT_COMPAT | ENT_HTML401;
245
-	}
243
+    if (is_null($flags)) {
244
+        $flags = ENT_COMPAT | ENT_HTML401;
245
+    }
246 246
 
247
-	return htmlspecialchars($string, $flags, $encoding, $double_encode);
247
+    return htmlspecialchars($string, $flags, $encoding, $double_encode);
248 248
 }
249 249
 
250 250
 /**
@@ -257,9 +257,9 @@  discard block
 block discarded – undo
257 257
  * @return string
258 258
  */
259 259
 function spip_htmlentities($string, $flags = null, $encoding = 'UTF-8', $double_encode = true) {
260
-	if (is_null($flags)) {
261
-		$flags = ENT_COMPAT | ENT_HTML401;
262
-	}
260
+    if (is_null($flags)) {
261
+        $flags = ENT_COMPAT | ENT_HTML401;
262
+    }
263 263
 
264
-	return htmlentities($string, $flags, $encoding, $double_encode);
264
+    return htmlentities($string, $flags, $encoding, $double_encode);
265 265
 }
Please login to merge, or discard this patch.
ecrire/inc/filtres_ecrire.php 1 patch
Indentation   +372 added lines, -372 removed lines patch added patch discarded remove patch
@@ -15,7 +15,7 @@  discard block
 block discarded – undo
15 15
  * @package SPIP\Core\Filtres
16 16
  */
17 17
 if (!defined('_ECRIRE_INC_VERSION')) {
18
-	return;
18
+    return;
19 19
 }
20 20
 
21 21
 include_spip('inc/filtres_boites');
@@ -40,25 +40,25 @@  discard block
 block discarded – undo
40 40
  */
41 41
 function parametres_css_prive() {
42 42
 
43
-	$args = [];
44
-	$args['v'] = $GLOBALS['spip_version_code'];
45
-	$args['p'] = substr(md5((string) $GLOBALS['meta']['plugin']), 0, 4);
46
-	$args['themes'] = implode(',', lister_themes_prives());
47
-	$args['ltr'] = $GLOBALS['spip_lang_left'];
48
-	// un md5 des menus : si un menu change il faut maj la css
49
-	$args['md5b'] = (function_exists('md5_boutons_plugins') ? md5_boutons_plugins() : '');
43
+    $args = [];
44
+    $args['v'] = $GLOBALS['spip_version_code'];
45
+    $args['p'] = substr(md5((string) $GLOBALS['meta']['plugin']), 0, 4);
46
+    $args['themes'] = implode(',', lister_themes_prives());
47
+    $args['ltr'] = $GLOBALS['spip_lang_left'];
48
+    // un md5 des menus : si un menu change il faut maj la css
49
+    $args['md5b'] = (function_exists('md5_boutons_plugins') ? md5_boutons_plugins() : '');
50 50
 
51
-	$c = $GLOBALS['visiteur_session']['prefs']['couleur'] ?? 2;
51
+    $c = $GLOBALS['visiteur_session']['prefs']['couleur'] ?? 2;
52 52
 
53
-	$couleurs = charger_fonction('couleurs', 'inc');
54
-	parse_str((string) $couleurs($c), $c);
55
-	$args = array_merge($args, $c);
53
+    $couleurs = charger_fonction('couleurs', 'inc');
54
+    parse_str((string) $couleurs($c), $c);
55
+    $args = array_merge($args, $c);
56 56
 
57
-	if (_request('var_mode') == 'recalcul' || defined('_VAR_MODE') && _VAR_MODE == 'recalcul') {
58
-		$args['var_mode'] = 'recalcul';
59
-	}
57
+    if (_request('var_mode') == 'recalcul' || defined('_VAR_MODE') && _VAR_MODE == 'recalcul') {
58
+        $args['var_mode'] = 'recalcul';
59
+    }
60 60
 
61
-	return http_build_query($args);
61
+    return http_build_query($args);
62 62
 }
63 63
 
64 64
 
@@ -81,95 +81,95 @@  discard block
 block discarded – undo
81 81
  * @return string
82 82
  */
83 83
 function chercher_rubrique(
84
-	$titre,
85
-	$id_objet,
86
-	$id_parent,
87
-	$objet,
88
-	$id_secteur,
89
-	$restreint,
90
-	$actionable = false,
91
-	$retour_sans_cadre = false
84
+    $titre,
85
+    $id_objet,
86
+    $id_parent,
87
+    $objet,
88
+    $id_secteur,
89
+    $restreint,
90
+    $actionable = false,
91
+    $retour_sans_cadre = false
92 92
 ) {
93 93
 
94
-	include_spip('inc/autoriser');
95
-	if ((int) $id_objet && !autoriser('modifier', $objet, $id_objet)) {
96
-		return '';
97
-	}
98
-	if (!sql_countsel('spip_rubriques')) {
99
-		return '';
100
-	}
101
-	$chercher_rubrique = charger_fonction('chercher_rubrique', 'inc');
102
-	$form = $chercher_rubrique($id_parent, $objet, $restreint, ($objet == 'rubrique') ? $id_objet : 0);
103
-
104
-	if ($id_parent == 0) {
105
-		$logo = 'racine-24.png';
106
-	} elseif ($id_secteur == $id_parent) {
107
-		$logo = 'secteur-24.png';
108
-	} else {
109
-		$logo = 'rubrique-24.png';
110
-	}
111
-
112
-	$confirm = '';
113
-	if ($objet == 'rubrique') {
114
-		// FIXME: Migration plus adapté vers le plugin Brèves ?
115
-		// si c'est une rubrique-secteur contenant des breves, demander la
116
-		// confirmation du deplacement
117
-		if (
118
-			sql_table_exists('spip_breves')
119
-			&& ($contient_breves = sql_countsel('spip_breves', 'id_rubrique=' . (int) $id_objet))
120
-			&& $contient_breves > 0
121
-		) {
122
-			// FIXME: utiliser singulier_ou_pluriel, migrer dans plugin Brèves
123
-			$scb = ($contient_breves > 1 ? 's' : '');
124
-			$scb = _T(
125
-				'avis_deplacement_rubrique',
126
-				[
127
-					'contient_breves' => $contient_breves,
128
-					'scb' => $scb
129
-				]
130
-			);
131
-			$confirm .= "\n<div class='confirmer_deplacement verdana2'>"
132
-				. "<div class='choix'><input type='checkbox' name='confirme_deplace' value='oui' id='confirme-deplace' /><label for='confirme-deplace'>"
133
-				. $scb .
134
-				"</label></div></div>\n";
135
-		} else {
136
-			$confirm .= "<input type='hidden' name='confirme_deplace' value='oui' />\n";
137
-		}
138
-	}
139
-	$form .= $confirm;
140
-	if ($actionable) {
141
-		if (str_contains($form, '<select')) {
142
-			$form .= "<div style='text-align: " . $GLOBALS['spip_lang_right'] . ";'>"
143
-				. '<input class="fondo submit btn" type="submit" value="' . _T('bouton_choisir') . '"/>'
144
-				. '</div>';
145
-		}
146
-		$form = "<input type='hidden' name='editer_$objet' value='oui' />\n" . $form;
147
-		if ($action = charger_fonction("editer_$objet", 'action', true)) {
148
-			$form = generer_action_auteur(
149
-				"editer_$objet",
150
-				$id_objet,
151
-				self(),
152
-				$form,
153
-				" method='post' class='submit_plongeur'"
154
-			);
155
-		} else {
156
-			$form = generer_action_auteur(
157
-				'editer_objet',
158
-				"$objet/$id_objet",
159
-				self(),
160
-				$form,
161
-				" method='post' class='submit_plongeur'"
162
-			);
163
-		}
164
-	}
165
-
166
-	if ($retour_sans_cadre) {
167
-		return $form;
168
-	}
169
-
170
-	include_spip('inc/presentation');
171
-
172
-	return debut_cadre_couleur($logo, true, '', $titre) . $form . fin_cadre_couleur();
94
+    include_spip('inc/autoriser');
95
+    if ((int) $id_objet && !autoriser('modifier', $objet, $id_objet)) {
96
+        return '';
97
+    }
98
+    if (!sql_countsel('spip_rubriques')) {
99
+        return '';
100
+    }
101
+    $chercher_rubrique = charger_fonction('chercher_rubrique', 'inc');
102
+    $form = $chercher_rubrique($id_parent, $objet, $restreint, ($objet == 'rubrique') ? $id_objet : 0);
103
+
104
+    if ($id_parent == 0) {
105
+        $logo = 'racine-24.png';
106
+    } elseif ($id_secteur == $id_parent) {
107
+        $logo = 'secteur-24.png';
108
+    } else {
109
+        $logo = 'rubrique-24.png';
110
+    }
111
+
112
+    $confirm = '';
113
+    if ($objet == 'rubrique') {
114
+        // FIXME: Migration plus adapté vers le plugin Brèves ?
115
+        // si c'est une rubrique-secteur contenant des breves, demander la
116
+        // confirmation du deplacement
117
+        if (
118
+            sql_table_exists('spip_breves')
119
+            && ($contient_breves = sql_countsel('spip_breves', 'id_rubrique=' . (int) $id_objet))
120
+            && $contient_breves > 0
121
+        ) {
122
+            // FIXME: utiliser singulier_ou_pluriel, migrer dans plugin Brèves
123
+            $scb = ($contient_breves > 1 ? 's' : '');
124
+            $scb = _T(
125
+                'avis_deplacement_rubrique',
126
+                [
127
+                    'contient_breves' => $contient_breves,
128
+                    'scb' => $scb
129
+                ]
130
+            );
131
+            $confirm .= "\n<div class='confirmer_deplacement verdana2'>"
132
+                . "<div class='choix'><input type='checkbox' name='confirme_deplace' value='oui' id='confirme-deplace' /><label for='confirme-deplace'>"
133
+                . $scb .
134
+                "</label></div></div>\n";
135
+        } else {
136
+            $confirm .= "<input type='hidden' name='confirme_deplace' value='oui' />\n";
137
+        }
138
+    }
139
+    $form .= $confirm;
140
+    if ($actionable) {
141
+        if (str_contains($form, '<select')) {
142
+            $form .= "<div style='text-align: " . $GLOBALS['spip_lang_right'] . ";'>"
143
+                . '<input class="fondo submit btn" type="submit" value="' . _T('bouton_choisir') . '"/>'
144
+                . '</div>';
145
+        }
146
+        $form = "<input type='hidden' name='editer_$objet' value='oui' />\n" . $form;
147
+        if ($action = charger_fonction("editer_$objet", 'action', true)) {
148
+            $form = generer_action_auteur(
149
+                "editer_$objet",
150
+                $id_objet,
151
+                self(),
152
+                $form,
153
+                " method='post' class='submit_plongeur'"
154
+            );
155
+        } else {
156
+            $form = generer_action_auteur(
157
+                'editer_objet',
158
+                "$objet/$id_objet",
159
+                self(),
160
+                $form,
161
+                " method='post' class='submit_plongeur'"
162
+            );
163
+        }
164
+    }
165
+
166
+    if ($retour_sans_cadre) {
167
+        return $form;
168
+    }
169
+
170
+    include_spip('inc/presentation');
171
+
172
+    return debut_cadre_couleur($logo, true, '', $titre) . $form . fin_cadre_couleur();
173 173
 }
174 174
 
175 175
 
@@ -183,24 +183,24 @@  discard block
 block discarded – undo
183 183
  * @return bool
184 184
  */
185 185
 function avoir_visiteurs($past = false, $accepter = true) {
186
-	if ($GLOBALS['meta']['forums_publics'] == 'abo') {
187
-		return true;
188
-	}
189
-	if ($accepter && $GLOBALS['meta']['accepter_visiteurs'] != 'non') {
190
-		return true;
191
-	}
192
-	if (sql_countsel('spip_articles', "accepter_forum='abo'")) {
193
-		return true;
194
-	}
195
-	if (!$past) {
196
-		return false;
197
-	}
198
-
199
-	return sql_countsel(
200
-		'spip_auteurs',
201
-		"statut NOT IN ('0minirezo','1comite', '5poubelle')
186
+    if ($GLOBALS['meta']['forums_publics'] == 'abo') {
187
+        return true;
188
+    }
189
+    if ($accepter && $GLOBALS['meta']['accepter_visiteurs'] != 'non') {
190
+        return true;
191
+    }
192
+    if (sql_countsel('spip_articles', "accepter_forum='abo'")) {
193
+        return true;
194
+    }
195
+    if (!$past) {
196
+        return false;
197
+    }
198
+
199
+    return sql_countsel(
200
+        'spip_auteurs',
201
+        "statut NOT IN ('0minirezo','1comite', '5poubelle')
202 202
 	                    AND (statut<>'nouveau' OR prefs NOT IN ('0minirezo','1comite', '5poubelle'))"
203
-	);
203
+    );
204 204
 }
205 205
 
206 206
 /**
@@ -216,18 +216,18 @@  discard block
 block discarded – undo
216 216
  * @return array
217 217
  */
218 218
 function statuts_articles_visibles($statut_auteur) {
219
-	static $auth = [];
220
-	if (!isset($auth[$statut_auteur])) {
221
-		$auth[$statut_auteur] = [];
222
-		$statuts = array_column(sql_allfetsel('distinct statut', 'spip_articles'), 'statut');
223
-		foreach ($statuts as $s) {
224
-			if (autoriser('voir', 'article', 0, ['statut' => $statut_auteur], ['statut' => $s])) {
225
-				$auth[$statut_auteur][] = $s;
226
-			}
227
-		}
228
-	}
229
-
230
-	return $auth[$statut_auteur];
219
+    static $auth = [];
220
+    if (!isset($auth[$statut_auteur])) {
221
+        $auth[$statut_auteur] = [];
222
+        $statuts = array_column(sql_allfetsel('distinct statut', 'spip_articles'), 'statut');
223
+        foreach ($statuts as $s) {
224
+            if (autoriser('voir', 'article', 0, ['statut' => $statut_auteur], ['statut' => $s])) {
225
+                $auth[$statut_auteur][] = $s;
226
+            }
227
+        }
228
+    }
229
+
230
+    return $auth[$statut_auteur];
231 231
 }
232 232
 
233 233
 /**
@@ -241,38 +241,38 @@  discard block
 block discarded – undo
241 241
  * @return string
242 242
  */
243 243
 function traduire_statut_auteur($statut, $attente = '') {
244
-	$plus = '';
245
-	if ($statut == 'nouveau') {
246
-		if ($attente) {
247
-			$statut = $attente;
248
-			$plus = ' (' . _T('info_statut_auteur_a_confirmer') . ')';
249
-		} else {
250
-			return _T('info_statut_auteur_a_confirmer');
251
-		}
252
-	}
253
-
254
-	$recom = [
255
-		'info_administrateurs' => _T('item_administrateur_2'),
256
-		'info_redacteurs' => _T('intem_redacteur'),
257
-		'info_visiteurs' => _T('item_visiteur'),
258
-		'5poubelle' => _T('texte_statut_poubelle'), // bouh
259
-	];
260
-	if (isset($recom[$statut])) {
261
-		return $recom[$statut] . $plus;
262
-	}
263
-
264
-	// retrouver directement par le statut sinon
265
-	if ($t = array_search($statut, $GLOBALS['liste_des_statuts'])) {
266
-		if (isset($recom[$t])) {
267
-			return $recom[$t] . $plus;
268
-		}
269
-
270
-		return _T($t) . $plus;
271
-	}
272
-
273
-	// si on a pas reussi a le traduire, retournons la chaine telle quelle
274
-	// c'est toujours plus informatif que rien du tout
275
-	return $statut;
244
+    $plus = '';
245
+    if ($statut == 'nouveau') {
246
+        if ($attente) {
247
+            $statut = $attente;
248
+            $plus = ' (' . _T('info_statut_auteur_a_confirmer') . ')';
249
+        } else {
250
+            return _T('info_statut_auteur_a_confirmer');
251
+        }
252
+    }
253
+
254
+    $recom = [
255
+        'info_administrateurs' => _T('item_administrateur_2'),
256
+        'info_redacteurs' => _T('intem_redacteur'),
257
+        'info_visiteurs' => _T('item_visiteur'),
258
+        '5poubelle' => _T('texte_statut_poubelle'), // bouh
259
+    ];
260
+    if (isset($recom[$statut])) {
261
+        return $recom[$statut] . $plus;
262
+    }
263
+
264
+    // retrouver directement par le statut sinon
265
+    if ($t = array_search($statut, $GLOBALS['liste_des_statuts'])) {
266
+        if (isset($recom[$t])) {
267
+            return $recom[$t] . $plus;
268
+        }
269
+
270
+        return _T($t) . $plus;
271
+    }
272
+
273
+    // si on a pas reussi a le traduire, retournons la chaine telle quelle
274
+    // c'est toujours plus informatif que rien du tout
275
+    return $statut;
276 276
 }
277 277
 
278 278
 /**
@@ -283,29 +283,29 @@  discard block
 block discarded – undo
283 283
  * @return string
284 284
  */
285 285
 function afficher_qui_edite($id_objet, $objet): string {
286
-	static $qui = [];
287
-	if (isset($qui[$objet][$id_objet])) {
288
-		return $qui[$objet][$id_objet];
289
-	}
290
-
291
-	include_spip('inc/config');
292
-	if (lire_config('articles_modif', 'non') === 'non') {
293
-		return $qui[$objet][$id_objet] = '';
294
-	}
295
-
296
-	include_spip('inc/drapeau_edition');
297
-	$modif = mention_qui_edite($id_objet, $objet);
298
-	if (!$modif) {
299
-		return $qui[$objet][$id_objet] = '';
300
-	}
301
-
302
-	include_spip('base/objets');
303
-	$infos = lister_tables_objets_sql(table_objet_sql($objet));
304
-	if (isset($infos['texte_signale_edition'])) {
305
-		return $qui[$objet][$id_objet] = _T($infos['texte_signale_edition'], $modif);
306
-	}
307
-
308
-	return $qui[$objet][$id_objet] = _T('info_qui_edite', $modif);
286
+    static $qui = [];
287
+    if (isset($qui[$objet][$id_objet])) {
288
+        return $qui[$objet][$id_objet];
289
+    }
290
+
291
+    include_spip('inc/config');
292
+    if (lire_config('articles_modif', 'non') === 'non') {
293
+        return $qui[$objet][$id_objet] = '';
294
+    }
295
+
296
+    include_spip('inc/drapeau_edition');
297
+    $modif = mention_qui_edite($id_objet, $objet);
298
+    if (!$modif) {
299
+        return $qui[$objet][$id_objet] = '';
300
+    }
301
+
302
+    include_spip('base/objets');
303
+    $infos = lister_tables_objets_sql(table_objet_sql($objet));
304
+    if (isset($infos['texte_signale_edition'])) {
305
+        return $qui[$objet][$id_objet] = _T($infos['texte_signale_edition'], $modif);
306
+    }
307
+
308
+    return $qui[$objet][$id_objet] = _T('info_qui_edite', $modif);
309 309
 }
310 310
 
311 311
 /**
@@ -323,53 +323,53 @@  discard block
 block discarded – undo
323 323
  * @return array
324 324
  */
325 325
 function auteurs_lister_statuts($quoi = 'tous', $en_base = true): array {
326
-	if (!defined('AUTEURS_MIN_REDAC')) {
327
-		define('AUTEURS_MIN_REDAC', '0minirezo,1comite,5poubelle');
328
-	}
329
-
330
-	switch ($quoi) {
331
-		case 'redacteurs':
332
-			$statut = AUTEURS_MIN_REDAC;
333
-			$statut = explode(',', (string) $statut);
334
-			if ($en_base) {
335
-				$check = array_column(sql_allfetsel('DISTINCT statut', 'spip_auteurs', sql_in('statut', $statut)), 'statut');
336
-				$retire = array_diff($statut, $check);
337
-				$statut = array_diff($statut, $retire);
338
-			}
339
-
340
-			return array_unique($statut);
341
-
342
-		case 'visiteurs':
343
-			$statut = [];
344
-			$exclus = AUTEURS_MIN_REDAC;
345
-			$exclus = explode(',', (string) $exclus);
346
-			if (!$en_base) {
347
-				// prendre aussi les statuts de la table des status qui ne sont pas dans le define
348
-				$statut = array_diff(array_values($GLOBALS['liste_des_statuts']), $exclus);
349
-			}
350
-			$s_complement = array_column(
351
-				sql_allfetsel('DISTINCT statut', 'spip_auteurs', sql_in('statut', $exclus, 'NOT')),
352
-				'statut'
353
-			);
354
-
355
-			return array_unique([...$statut, ...$s_complement]);
356
-
357
-		default:
358
-		case 'tous':
359
-			$statut = array_values($GLOBALS['liste_des_statuts']);
360
-			$s_complement = array_column(
361
-				sql_allfetsel('DISTINCT statut', 'spip_auteurs', sql_in('statut', $statut, 'NOT')),
362
-				'statut'
363
-			);
364
-			$statut = [...$statut, ...$s_complement];
365
-			if ($en_base) {
366
-				$check = array_column(sql_allfetsel('DISTINCT statut', 'spip_auteurs', sql_in('statut', $statut)), 'statut');
367
-				$retire = array_diff($statut, $check);
368
-				$statut = array_diff($statut, $retire);
369
-			}
370
-
371
-			return array_unique($statut);
372
-	}
326
+    if (!defined('AUTEURS_MIN_REDAC')) {
327
+        define('AUTEURS_MIN_REDAC', '0minirezo,1comite,5poubelle');
328
+    }
329
+
330
+    switch ($quoi) {
331
+        case 'redacteurs':
332
+            $statut = AUTEURS_MIN_REDAC;
333
+            $statut = explode(',', (string) $statut);
334
+            if ($en_base) {
335
+                $check = array_column(sql_allfetsel('DISTINCT statut', 'spip_auteurs', sql_in('statut', $statut)), 'statut');
336
+                $retire = array_diff($statut, $check);
337
+                $statut = array_diff($statut, $retire);
338
+            }
339
+
340
+            return array_unique($statut);
341
+
342
+        case 'visiteurs':
343
+            $statut = [];
344
+            $exclus = AUTEURS_MIN_REDAC;
345
+            $exclus = explode(',', (string) $exclus);
346
+            if (!$en_base) {
347
+                // prendre aussi les statuts de la table des status qui ne sont pas dans le define
348
+                $statut = array_diff(array_values($GLOBALS['liste_des_statuts']), $exclus);
349
+            }
350
+            $s_complement = array_column(
351
+                sql_allfetsel('DISTINCT statut', 'spip_auteurs', sql_in('statut', $exclus, 'NOT')),
352
+                'statut'
353
+            );
354
+
355
+            return array_unique([...$statut, ...$s_complement]);
356
+
357
+        default:
358
+        case 'tous':
359
+            $statut = array_values($GLOBALS['liste_des_statuts']);
360
+            $s_complement = array_column(
361
+                sql_allfetsel('DISTINCT statut', 'spip_auteurs', sql_in('statut', $statut, 'NOT')),
362
+                'statut'
363
+            );
364
+            $statut = [...$statut, ...$s_complement];
365
+            if ($en_base) {
366
+                $check = array_column(sql_allfetsel('DISTINCT statut', 'spip_auteurs', sql_in('statut', $statut)), 'statut');
367
+                $retire = array_diff($statut, $check);
368
+                $statut = array_diff($statut, $retire);
369
+            }
370
+
371
+            return array_unique($statut);
372
+    }
373 373
 }
374 374
 
375 375
 /**
@@ -385,28 +385,28 @@  discard block
 block discarded – undo
385 385
  */
386 386
 function trouver_rubrique_creer_objet($id_rubrique, $objet) {
387 387
 
388
-	if (!$id_rubrique && defined('_CHOIX_RUBRIQUE_PAR_DEFAUT') && _CHOIX_RUBRIQUE_PAR_DEFAUT) {
389
-		$in = (is_countable($GLOBALS['connect_id_rubrique']) ? count($GLOBALS['connect_id_rubrique']) : 0)
390
-			? ' AND ' . sql_in('id_rubrique', $GLOBALS['connect_id_rubrique'])
391
-			: '';
392
-
393
-		// on tente d'abord l'ecriture a la racine dans le cas des rubriques uniquement
394
-		if ($objet == 'rubrique') {
395
-			$id_rubrique = 0;
396
-		} else {
397
-			$id_rubrique = sql_getfetsel('id_rubrique', 'spip_rubriques', "id_parent=0$in", '', 'id_rubrique DESC', 1);
398
-		}
399
-
400
-		if (!autoriser("creer{$objet}dans", 'rubrique', $id_rubrique)) {
401
-			// manque de chance, la rubrique n'est pas autorisee, on cherche un des secteurs autorises
402
-			$res = sql_select('id_rubrique', 'spip_rubriques', 'id_parent=0');
403
-			while (!autoriser("creer{$objet}dans", 'rubrique', $id_rubrique) && $row_rub = sql_fetch($res)) {
404
-				$id_rubrique = $row_rub['id_rubrique'];
405
-			}
406
-		}
407
-	}
408
-
409
-	return $id_rubrique;
388
+    if (!$id_rubrique && defined('_CHOIX_RUBRIQUE_PAR_DEFAUT') && _CHOIX_RUBRIQUE_PAR_DEFAUT) {
389
+        $in = (is_countable($GLOBALS['connect_id_rubrique']) ? count($GLOBALS['connect_id_rubrique']) : 0)
390
+            ? ' AND ' . sql_in('id_rubrique', $GLOBALS['connect_id_rubrique'])
391
+            : '';
392
+
393
+        // on tente d'abord l'ecriture a la racine dans le cas des rubriques uniquement
394
+        if ($objet == 'rubrique') {
395
+            $id_rubrique = 0;
396
+        } else {
397
+            $id_rubrique = sql_getfetsel('id_rubrique', 'spip_rubriques', "id_parent=0$in", '', 'id_rubrique DESC', 1);
398
+        }
399
+
400
+        if (!autoriser("creer{$objet}dans", 'rubrique', $id_rubrique)) {
401
+            // manque de chance, la rubrique n'est pas autorisee, on cherche un des secteurs autorises
402
+            $res = sql_select('id_rubrique', 'spip_rubriques', 'id_parent=0');
403
+            while (!autoriser("creer{$objet}dans", 'rubrique', $id_rubrique) && $row_rub = sql_fetch($res)) {
404
+                $id_rubrique = $row_rub['id_rubrique'];
405
+            }
406
+        }
407
+    }
408
+
409
+    return $id_rubrique;
410 410
 }
411 411
 
412 412
 /**
@@ -417,25 +417,25 @@  discard block
 block discarded – undo
417 417
  * @return string
418 418
  */
419 419
 function lien_article_virtuel($virtuel) {
420
-	include_spip('inc/lien');
421
-	if (!$virtuel = virtuel_redirige($virtuel)) {
422
-		return '';
423
-	}
424
-
425
-	$joli = $virtuel;
426
-	$parts = parse_url($virtuel);
427
-	if (!empty($parts['query']) && str_contains($parts['query'], ']')) {
428
-		$query = str_replace(['[', ']'], [urlencode('['), urlencode(']')], $parts['query']);
429
-		$virtuel = str_replace('?' . $parts['query'], "?$query", $virtuel);
430
-	}
431
-	if ($virtuel !== $joli) {
432
-		$joli = propre('[' . $joli . ' -> ' . $virtuel . ']');
433
-	}
434
-	else {
435
-		$joli = propre('[->' . $virtuel . ']');
436
-	}
437
-
438
-	return $joli;
420
+    include_spip('inc/lien');
421
+    if (!$virtuel = virtuel_redirige($virtuel)) {
422
+        return '';
423
+    }
424
+
425
+    $joli = $virtuel;
426
+    $parts = parse_url($virtuel);
427
+    if (!empty($parts['query']) && str_contains($parts['query'], ']')) {
428
+        $query = str_replace(['[', ']'], [urlencode('['), urlencode(']')], $parts['query']);
429
+        $virtuel = str_replace('?' . $parts['query'], "?$query", $virtuel);
430
+    }
431
+    if ($virtuel !== $joli) {
432
+        $joli = propre('[' . $joli . ' -> ' . $virtuel . ']');
433
+    }
434
+    else {
435
+        $joli = propre('[->' . $virtuel . ']');
436
+    }
437
+
438
+    return $joli;
439 439
 }
440 440
 
441 441
 
@@ -458,11 +458,11 @@  discard block
 block discarded – undo
458 458
  * @filtre
459 459
  */
460 460
 function bouton_spip_rss($op, $args = [], $lang = '', $title = 'RSS') {
461
-	include_spip('inc/acces');
462
-	$clic = http_img_pack('rss-16.png', 'RSS', '', $title);
461
+    include_spip('inc/acces');
462
+    $clic = http_img_pack('rss-16.png', 'RSS', '', $title);
463 463
 
464
-	$url = generer_url_api_low_sec('transmettre', 'rss', $op, '', http_build_query($args), false, true);
465
-	return "<a style='float: " . $GLOBALS['spip_lang_right'] . ";' href='$url'>$clic</a>";
464
+    $url = generer_url_api_low_sec('transmettre', 'rss', $op, '', http_build_query($args), false, true);
465
+    return "<a style='float: " . $GLOBALS['spip_lang_right'] . ";' href='$url'>$clic</a>";
466 466
 }
467 467
 
468 468
 
@@ -474,72 +474,72 @@  discard block
 block discarded – undo
474 474
  */
475 475
 function alertes_auteur($id_auteur): string {
476 476
 
477
-	$alertes = [];
478
-
479
-	if (
480
-		isset($GLOBALS['meta']['message_crash_tables'])
481
-		&& autoriser('detruire', null, null, $id_auteur)
482
-	) {
483
-		include_spip('genie/maintenance');
484
-		if ($msg = message_crash_tables()) {
485
-			$alertes[] = $msg;
486
-		}
487
-	}
488
-
489
-	if (
490
-		isset($GLOBALS['meta']['message_crash_plugins'])
491
-		&& $GLOBALS['meta']['message_crash_plugins']
492
-		&& autoriser('configurer', '_plugins', null, $id_auteur)
493
-		&& is_array($msg = unserialize($GLOBALS['meta']['message_crash_plugins']))
494
-	) {
495
-		$msg = implode(', ', array_map('joli_repertoire', array_keys($msg)));
496
-		$alertes[] = _T('plugins_erreur', ['plugins' => $msg]);
497
-	}
498
-
499
-	$a = $GLOBALS['meta']['message_alertes_auteurs'] ?? '';
500
-	if ($a && is_array($a = unserialize($a)) && count($a)) {
501
-		$update = false;
502
-		if (isset($a[$GLOBALS['visiteur_session']['statut']])) {
503
-			$alertes = array_merge($alertes, $a[$GLOBALS['visiteur_session']['statut']]);
504
-			unset($a[$GLOBALS['visiteur_session']['statut']]);
505
-			$update = true;
506
-		}
507
-		if (isset($a[''])) {
508
-			$alertes = array_merge($alertes, $a['']);
509
-			unset($a['']);
510
-			$update = true;
511
-		}
512
-		if ($update) {
513
-			ecrire_meta('message_alertes_auteurs', serialize($a));
514
-		}
515
-	}
516
-
517
-	if (
518
-		isset($GLOBALS['meta']['plugin_erreur_activation'])
519
-		&& autoriser('configurer', '_plugins', null, $id_auteur)
520
-	) {
521
-		include_spip('inc/plugin');
522
-		$alertes[] = plugin_donne_erreurs();
523
-	}
524
-
525
-	$alertes = pipeline(
526
-		'alertes_auteur',
527
-		[
528
-			'args' => [
529
-				'id_auteur' => $id_auteur,
530
-				'exec' => _request('exec'),
531
-			],
532
-			'data' => $alertes
533
-		]
534
-	);
535
-
536
-	if ($alertes = array_filter($alertes)) {
537
-		return "<div class='wrap-messages-alertes'><div class='messages-alertes'>" .
538
-		implode(' | ', $alertes)
539
-		. '</div></div>';
540
-	}
541
-
542
-	return '';
477
+    $alertes = [];
478
+
479
+    if (
480
+        isset($GLOBALS['meta']['message_crash_tables'])
481
+        && autoriser('detruire', null, null, $id_auteur)
482
+    ) {
483
+        include_spip('genie/maintenance');
484
+        if ($msg = message_crash_tables()) {
485
+            $alertes[] = $msg;
486
+        }
487
+    }
488
+
489
+    if (
490
+        isset($GLOBALS['meta']['message_crash_plugins'])
491
+        && $GLOBALS['meta']['message_crash_plugins']
492
+        && autoriser('configurer', '_plugins', null, $id_auteur)
493
+        && is_array($msg = unserialize($GLOBALS['meta']['message_crash_plugins']))
494
+    ) {
495
+        $msg = implode(', ', array_map('joli_repertoire', array_keys($msg)));
496
+        $alertes[] = _T('plugins_erreur', ['plugins' => $msg]);
497
+    }
498
+
499
+    $a = $GLOBALS['meta']['message_alertes_auteurs'] ?? '';
500
+    if ($a && is_array($a = unserialize($a)) && count($a)) {
501
+        $update = false;
502
+        if (isset($a[$GLOBALS['visiteur_session']['statut']])) {
503
+            $alertes = array_merge($alertes, $a[$GLOBALS['visiteur_session']['statut']]);
504
+            unset($a[$GLOBALS['visiteur_session']['statut']]);
505
+            $update = true;
506
+        }
507
+        if (isset($a[''])) {
508
+            $alertes = array_merge($alertes, $a['']);
509
+            unset($a['']);
510
+            $update = true;
511
+        }
512
+        if ($update) {
513
+            ecrire_meta('message_alertes_auteurs', serialize($a));
514
+        }
515
+    }
516
+
517
+    if (
518
+        isset($GLOBALS['meta']['plugin_erreur_activation'])
519
+        && autoriser('configurer', '_plugins', null, $id_auteur)
520
+    ) {
521
+        include_spip('inc/plugin');
522
+        $alertes[] = plugin_donne_erreurs();
523
+    }
524
+
525
+    $alertes = pipeline(
526
+        'alertes_auteur',
527
+        [
528
+            'args' => [
529
+                'id_auteur' => $id_auteur,
530
+                'exec' => _request('exec'),
531
+            ],
532
+            'data' => $alertes
533
+        ]
534
+    );
535
+
536
+    if ($alertes = array_filter($alertes)) {
537
+        return "<div class='wrap-messages-alertes'><div class='messages-alertes'>" .
538
+        implode(' | ', $alertes)
539
+        . '</div></div>';
540
+    }
541
+
542
+    return '';
543 543
 }
544 544
 
545 545
 /**
@@ -549,9 +549,9 @@  discard block
 block discarded – undo
549 549
  * @return string
550 550
  */
551 551
 function filtre_afficher_enfant_rub_dist($id_rubrique) {
552
-	include_spip('inc/presenter_enfants');
552
+    include_spip('inc/presenter_enfants');
553 553
 
554
-	return afficher_enfant_rub((int) $id_rubrique);
554
+    return afficher_enfant_rub((int) $id_rubrique);
555 555
 }
556 556
 
557 557
 /**
@@ -569,15 +569,15 @@  discard block
 block discarded – undo
569 569
  * @return string
570 570
  */
571 571
 function afficher_plus_info($lien, $titre = '+', $titre_lien = '') {
572
-	$titre = attribut_html($titre);
573
-	$icone = "\n<a href='$lien' title='$titre' class='plus_info'>" .
574
-		http_img_pack('information-16.png', $titre) . '</a>';
575
-
576
-	if (!$titre_lien) {
577
-		return $icone;
578
-	} else {
579
-		return $icone . "\n<a href='$lien'>$titre_lien</a>";
580
-	}
572
+    $titre = attribut_html($titre);
573
+    $icone = "\n<a href='$lien' title='$titre' class='plus_info'>" .
574
+        http_img_pack('information-16.png', $titre) . '</a>';
575
+
576
+    if (!$titre_lien) {
577
+        return $icone;
578
+    } else {
579
+        return $icone . "\n<a href='$lien'>$titre_lien</a>";
580
+    }
581 581
 }
582 582
 
583 583
 
@@ -596,20 +596,20 @@  discard block
 block discarded – undo
596 596
  * @return array
597 597
  */
598 598
 function lister_objets_lies($objet_source, $objet, $id_objet, $objet_lien) {
599
-	$res = lister_objets_liens($objet_source, $objet, $id_objet, $objet_lien);
600
-	if (!(is_countable($res) ? count($res) : 0)) {
601
-		return [];
602
-	}
603
-	$r = reset($res);
604
-	$colonne_id = ($objet_source == $objet_lien ? id_table_objet($objet_source) : 'id_objet');
605
-	if (isset($r['rang_lien'])) {
606
-		$l = array_column($res, 'rang_lien', $colonne_id);
607
-		asort($l);
608
-		$l = array_keys($l);
609
-	} else {
610
-		// Si les liens qu'on cherche sont ceux de la table de lien, l'info est dans la clé de l'objet
611
-		// Sinon c'est dans "id_objet"
612
-		$l = array_column($res, $colonne_id);
613
-	}
614
-	return $l;
599
+    $res = lister_objets_liens($objet_source, $objet, $id_objet, $objet_lien);
600
+    if (!(is_countable($res) ? count($res) : 0)) {
601
+        return [];
602
+    }
603
+    $r = reset($res);
604
+    $colonne_id = ($objet_source == $objet_lien ? id_table_objet($objet_source) : 'id_objet');
605
+    if (isset($r['rang_lien'])) {
606
+        $l = array_column($res, 'rang_lien', $colonne_id);
607
+        asort($l);
608
+        $l = array_keys($l);
609
+    } else {
610
+        // Si les liens qu'on cherche sont ceux de la table de lien, l'info est dans la clé de l'objet
611
+        // Sinon c'est dans "id_objet"
612
+        $l = array_column($res, $colonne_id);
613
+    }
614
+    return $l;
615 615
 }
Please login to merge, or discard this patch.
ecrire/inc/pipelines_ecrire.php 1 patch
Indentation   +227 added lines, -227 removed lines patch added patch discarded remove patch
@@ -15,7 +15,7 @@  discard block
 block discarded – undo
15 15
  * @package SPIP\Core\Pipelines
16 16
  **/
17 17
 if (!defined('_ECRIRE_INC_VERSION')) {
18
-	return;
18
+    return;
19 19
 }
20 20
 
21 21
 
@@ -34,40 +34,40 @@  discard block
 block discarded – undo
34 34
  * @return string          Contenu complété des scripts javascripts, dont jQuery
35 35
  **/
36 36
 function f_jQuery_prive($texte) {
37
-	$x = '';
38
-	$jquery_plugins = pipeline(
39
-		'jquery_plugins',
40
-		[
41
-			'prive/javascript/jquery.js',
42
-			'prive/javascript/jquery.form.js',
43
-			'prive/javascript/jquery.autosave.js',
44
-			'prive/javascript/jquery.placeholder-label.js',
45
-			'prive/javascript/ajaxCallback.js',
46
-			'prive/javascript/js.cookie.js',
47
-			'prive/javascript/spip_barre.js',
48
-		]
49
-	);
50
-	foreach (array_unique($jquery_plugins) as $script) {
51
-		$script = supprimer_timestamp($script);
52
-		if (
53
-			str_starts_with($script, _DIR_VAR) && file_exists($script)
54
-			|| ($script = find_in_path($script))
55
-		) {
56
-			$script = timestamp($script);
57
-			$x .= "\n<script src=\"$script\" type=\"text/javascript\"></script>\n";
58
-		}
59
-	}
60
-	// inserer avant le premier script externe ou a la fin
61
-	if (
62
-		preg_match(',<script[^><]*src=,', $texte, $match)
63
-		&& ($p = strpos($texte, (string) $match[0]))
64
-	) {
65
-		$texte = substr_replace($texte, $x, $p, 0);
66
-	} else {
67
-		$texte .= $x;
68
-	}
37
+    $x = '';
38
+    $jquery_plugins = pipeline(
39
+        'jquery_plugins',
40
+        [
41
+            'prive/javascript/jquery.js',
42
+            'prive/javascript/jquery.form.js',
43
+            'prive/javascript/jquery.autosave.js',
44
+            'prive/javascript/jquery.placeholder-label.js',
45
+            'prive/javascript/ajaxCallback.js',
46
+            'prive/javascript/js.cookie.js',
47
+            'prive/javascript/spip_barre.js',
48
+        ]
49
+    );
50
+    foreach (array_unique($jquery_plugins) as $script) {
51
+        $script = supprimer_timestamp($script);
52
+        if (
53
+            str_starts_with($script, _DIR_VAR) && file_exists($script)
54
+            || ($script = find_in_path($script))
55
+        ) {
56
+            $script = timestamp($script);
57
+            $x .= "\n<script src=\"$script\" type=\"text/javascript\"></script>\n";
58
+        }
59
+    }
60
+    // inserer avant le premier script externe ou a la fin
61
+    if (
62
+        preg_match(',<script[^><]*src=,', $texte, $match)
63
+        && ($p = strpos($texte, (string) $match[0]))
64
+    ) {
65
+        $texte = substr_replace($texte, $x, $p, 0);
66
+    } else {
67
+        $texte .= $x;
68
+    }
69 69
 
70
-	return $texte;
70
+    return $texte;
71 71
 }
72 72
 
73 73
 
@@ -80,40 +80,40 @@  discard block
 block discarded – undo
80 80
  * @return string
81 81
  */
82 82
 function affichage_final_prive_title_auto($texte) {
83
-	if (
84
-		!str_contains($texte, '<title>')
85
-		&& (preg_match(',<h1[^>]*>(.+)</h1>,Uims', $texte, $match) || preg_match(',<h[23][^>]*>(.+)</h[23]>,Uims', $texte, $match))
86
-		&& ($match = textebrut(trim($match[1])))
87
-		&& ($p = strpos($texte, '<head>')) !== false
88
-	) {
89
-		if (!$nom_site_spip = textebrut(typo($GLOBALS['meta']['nom_site']))) {
90
-			$nom_site_spip = _T('info_mon_site_spip');
91
-		}
83
+    if (
84
+        !str_contains($texte, '<title>')
85
+        && (preg_match(',<h1[^>]*>(.+)</h1>,Uims', $texte, $match) || preg_match(',<h[23][^>]*>(.+)</h[23]>,Uims', $texte, $match))
86
+        && ($match = textebrut(trim($match[1])))
87
+        && ($p = strpos($texte, '<head>')) !== false
88
+    ) {
89
+        if (!$nom_site_spip = textebrut(typo($GLOBALS['meta']['nom_site']))) {
90
+            $nom_site_spip = _T('info_mon_site_spip');
91
+        }
92 92
 
93
-		$titre = '<title>['
94
-			. $nom_site_spip
95
-			. '] ' . $match
96
-			. '</title>';
93
+        $titre = '<title>['
94
+            . $nom_site_spip
95
+            . '] ' . $match
96
+            . '</title>';
97 97
 
98
-		$texte = substr_replace($texte, $titre, $p + 6, 0);
99
-	}
98
+        $texte = substr_replace($texte, $titre, $p + 6, 0);
99
+    }
100 100
 
101
-	return $texte;
101
+    return $texte;
102 102
 }
103 103
 
104 104
 
105 105
 // Fonction standard pour le pipeline 'boite_infos'
106 106
 function f_boite_infos($flux) {
107
-	$args = $flux['args'];
108
-	$type = $args['type'];
109
-	unset($args['row']);
110
-	if (!trouver_fond($type, 'prive/objets/infos/')) {
111
-		$type = 'objet';
112
-	}
113
-	$args['espace_prive'] = 1;
114
-	$flux['data'] .= recuperer_fond("prive/objets/infos/$type", $args);
107
+    $args = $flux['args'];
108
+    $type = $args['type'];
109
+    unset($args['row']);
110
+    if (!trouver_fond($type, 'prive/objets/infos/')) {
111
+        $type = 'objet';
112
+    }
113
+    $args['espace_prive'] = 1;
114
+    $flux['data'] .= recuperer_fond("prive/objets/infos/$type", $args);
115 115
 
116
-	return $flux;
116
+    return $flux;
117 117
 }
118 118
 
119 119
 
@@ -132,97 +132,97 @@  discard block
 block discarded – undo
132 132
  * @return array Données du pipeline
133 133
  */
134 134
 function f_afficher_blocs_ecrire($flux) {
135
-	static $o = [];
136
-	if (is_string($fond = $flux['args']['fond'])) {
137
-		$exec = $flux['args']['contexte']['exec'] ?? _request('exec');
138
-		if (!isset($o[$exec])) {
139
-			$o[$exec] = trouver_objet_exec($exec);
140
-		}
141
-		// cas particulier
142
-		if ($exec == 'infos_perso') {
143
-			$flux['args']['contexte']['id_auteur'] = $GLOBALS['visiteur_session']['id_auteur'];
144
-		}
145
-		$typepage = ($flux['args']['contexte']['type-page'] ?? $exec);
146
-		if ($fond == "prive/squelettes/navigation/$typepage") {
147
-			$flux['data']['texte'] = pipeline(
148
-				'affiche_gauche',
149
-				['args' => $flux['args']['contexte'], 'data' => $flux['data']['texte']]
150
-			);
151
-		} elseif ($fond == "prive/squelettes/extra/$typepage") {
152
-			include_spip('inc/presentation_mini');
153
-			$flux['data']['texte'] = pipeline(
154
-				'affiche_droite',
155
-				['args' => $flux['args']['contexte'], 'data' => $flux['data']['texte']]
156
-			) . liste_objets_bloques(
157
-				$exec,
158
-				$flux['args']['contexte']
159
-			);
160
-		} elseif ($fond == "prive/squelettes/hierarchie/$typepage" && $o[$exec]) {
161
-			// id non defini sur les formulaire de nouveaux objets
162
-			$id = isset($flux['args']['contexte'][$o[$exec]['id_table_objet']]) ? intval($flux['args']['contexte'][$o[$exec]['id_table_objet']]) : 0;
163
-			$flux['data']['texte'] = pipeline(
164
-				'affiche_hierarchie',
165
-				['args' => ['objet' => $o[$exec]['type'], 'id_objet' => $id], 'data' => $flux['data']['texte']]
166
-			);
167
-		} elseif ($fond == "prive/squelettes/contenu/$typepage") {
168
-			// Préparation du marqueur affiche_milieu
169
-			// Si c'est la page d'un objet pas en édition, on l'encapsule dans un div
170
-			$est_page_objet = !empty($o[$exec]['type']);
171
-			$est_en_edition = (isset($o[$exec]['edition']) && $o[$exec]['edition'] === true);
172
-			$encapsuler_milieu = ($est_page_objet && !$est_en_edition);
173
-			$flux['data']['texte'] = afficher_blocs_ecrire_preparer_marqueur(
174
-				$flux['data']['texte'],
175
-				'<!--affiche_milieu-->',
176
-				'<div id=["\']wysiwyg',
177
-				$encapsuler_milieu ? '<div class="affiche_milieu">' : '',
178
-				$encapsuler_milieu ? '</div>' : ''
179
-			);
180
-			if (
181
-				$o[$exec]
182
-				&& ($objet = $o[$exec]['type'])
183
-				&& $o[$exec]['edition'] == false
184
-				&& isset($flux['args']['contexte'][$o[$exec]['id_table_objet']])
185
-				&& ($id = intval($flux['args']['contexte'][$o[$exec]['id_table_objet']]))
186
-			) {
187
-				// inserer le formulaire de traduction
188
-				$flux['data']['texte'] = str_replace('<!--affiche_milieu-->', recuperer_fond(
189
-					'prive/objets/editer/traductions',
190
-					['objet' => $objet, 'id_objet' => $id, 'espace_prive' => 1]
191
-				) . '<!--affiche_milieu-->', $flux['data']['texte']);
192
-				$flux['data']['texte'] = pipeline('afficher_fiche_objet', [
193
-					'args' => [
194
-						'contexte' => $flux['args']['contexte'],
195
-						'type' => $objet,
196
-						'id' => $id
197
-					],
198
-					'data' => $flux['data']['texte']
199
-				]);
200
-			}
201
-			$flux['data']['texte'] = pipeline(
202
-				'affiche_milieu',
203
-				['args' => $flux['args']['contexte'], 'data' => $flux['data']['texte']]
204
-			);
205
-		} elseif ($fond == 'prive/squelettes/inclure/pied') {
206
-			$flux['data']['texte'] = pipeline(
207
-				'affiche_pied',
208
-				['args' => $flux['args']['contexte'], 'data' => $flux['data']['texte']]
209
-			);
210
-		} elseif (
211
-			str_starts_with($fond, 'prive/objets/contenu/')
212
-			&& ($objet = basename($fond))
213
-			&& $objet == substr($fond, 21)
214
-			&& isset($o[$objet])
215
-			&& $o[$objet]
216
-		) {
217
-			$id = intval($flux['args']['contexte'][$o[$exec]['id_table_objet']]);
218
-			$flux['data']['texte'] = pipeline('afficher_contenu_objet', [
219
-				'args' => ['type' => $objet, 'id_objet' => $id, 'contexte' => $flux['args']['contexte']],
220
-				'data' => $flux['data']['texte']
221
-			]);
222
-		}
223
-	}
135
+    static $o = [];
136
+    if (is_string($fond = $flux['args']['fond'])) {
137
+        $exec = $flux['args']['contexte']['exec'] ?? _request('exec');
138
+        if (!isset($o[$exec])) {
139
+            $o[$exec] = trouver_objet_exec($exec);
140
+        }
141
+        // cas particulier
142
+        if ($exec == 'infos_perso') {
143
+            $flux['args']['contexte']['id_auteur'] = $GLOBALS['visiteur_session']['id_auteur'];
144
+        }
145
+        $typepage = ($flux['args']['contexte']['type-page'] ?? $exec);
146
+        if ($fond == "prive/squelettes/navigation/$typepage") {
147
+            $flux['data']['texte'] = pipeline(
148
+                'affiche_gauche',
149
+                ['args' => $flux['args']['contexte'], 'data' => $flux['data']['texte']]
150
+            );
151
+        } elseif ($fond == "prive/squelettes/extra/$typepage") {
152
+            include_spip('inc/presentation_mini');
153
+            $flux['data']['texte'] = pipeline(
154
+                'affiche_droite',
155
+                ['args' => $flux['args']['contexte'], 'data' => $flux['data']['texte']]
156
+            ) . liste_objets_bloques(
157
+                $exec,
158
+                $flux['args']['contexte']
159
+            );
160
+        } elseif ($fond == "prive/squelettes/hierarchie/$typepage" && $o[$exec]) {
161
+            // id non defini sur les formulaire de nouveaux objets
162
+            $id = isset($flux['args']['contexte'][$o[$exec]['id_table_objet']]) ? intval($flux['args']['contexte'][$o[$exec]['id_table_objet']]) : 0;
163
+            $flux['data']['texte'] = pipeline(
164
+                'affiche_hierarchie',
165
+                ['args' => ['objet' => $o[$exec]['type'], 'id_objet' => $id], 'data' => $flux['data']['texte']]
166
+            );
167
+        } elseif ($fond == "prive/squelettes/contenu/$typepage") {
168
+            // Préparation du marqueur affiche_milieu
169
+            // Si c'est la page d'un objet pas en édition, on l'encapsule dans un div
170
+            $est_page_objet = !empty($o[$exec]['type']);
171
+            $est_en_edition = (isset($o[$exec]['edition']) && $o[$exec]['edition'] === true);
172
+            $encapsuler_milieu = ($est_page_objet && !$est_en_edition);
173
+            $flux['data']['texte'] = afficher_blocs_ecrire_preparer_marqueur(
174
+                $flux['data']['texte'],
175
+                '<!--affiche_milieu-->',
176
+                '<div id=["\']wysiwyg',
177
+                $encapsuler_milieu ? '<div class="affiche_milieu">' : '',
178
+                $encapsuler_milieu ? '</div>' : ''
179
+            );
180
+            if (
181
+                $o[$exec]
182
+                && ($objet = $o[$exec]['type'])
183
+                && $o[$exec]['edition'] == false
184
+                && isset($flux['args']['contexte'][$o[$exec]['id_table_objet']])
185
+                && ($id = intval($flux['args']['contexte'][$o[$exec]['id_table_objet']]))
186
+            ) {
187
+                // inserer le formulaire de traduction
188
+                $flux['data']['texte'] = str_replace('<!--affiche_milieu-->', recuperer_fond(
189
+                    'prive/objets/editer/traductions',
190
+                    ['objet' => $objet, 'id_objet' => $id, 'espace_prive' => 1]
191
+                ) . '<!--affiche_milieu-->', $flux['data']['texte']);
192
+                $flux['data']['texte'] = pipeline('afficher_fiche_objet', [
193
+                    'args' => [
194
+                        'contexte' => $flux['args']['contexte'],
195
+                        'type' => $objet,
196
+                        'id' => $id
197
+                    ],
198
+                    'data' => $flux['data']['texte']
199
+                ]);
200
+            }
201
+            $flux['data']['texte'] = pipeline(
202
+                'affiche_milieu',
203
+                ['args' => $flux['args']['contexte'], 'data' => $flux['data']['texte']]
204
+            );
205
+        } elseif ($fond == 'prive/squelettes/inclure/pied') {
206
+            $flux['data']['texte'] = pipeline(
207
+                'affiche_pied',
208
+                ['args' => $flux['args']['contexte'], 'data' => $flux['data']['texte']]
209
+            );
210
+        } elseif (
211
+            str_starts_with($fond, 'prive/objets/contenu/')
212
+            && ($objet = basename($fond))
213
+            && $objet == substr($fond, 21)
214
+            && isset($o[$objet])
215
+            && $o[$objet]
216
+        ) {
217
+            $id = intval($flux['args']['contexte'][$o[$exec]['id_table_objet']]);
218
+            $flux['data']['texte'] = pipeline('afficher_contenu_objet', [
219
+                'args' => ['type' => $objet, 'id_objet' => $id, 'contexte' => $flux['args']['contexte']],
220
+                'data' => $flux['data']['texte']
221
+            ]);
222
+        }
223
+    }
224 224
 
225
-	return $flux;
225
+    return $flux;
226 226
 }
227 227
 
228 228
 /**
@@ -250,36 +250,36 @@  discard block
 block discarded – undo
250 250
  */
251 251
 function afficher_blocs_ecrire_preparer_marqueur(?string $texte, string $marqueur, string $inserer_avant, string $ouvrir = '', string $fermer = ''): ?string {
252 252
 
253
-	if ($texte) {
254
-		$encapsuler = $ouvrir && $fermer;
255
-		$marqueur_pos = strpos($texte, $marqueur);
256
-		$full_marqueur = "$ouvrir$marqueur$fermer";
253
+    if ($texte) {
254
+        $encapsuler = $ouvrir && $fermer;
255
+        $marqueur_pos = strpos($texte, $marqueur);
256
+        $full_marqueur = "$ouvrir$marqueur$fermer";
257 257
 
258
-		// Le marqueur est absent : on l'ajoute avant l'élément indiqué
259
-		if ($marqueur_pos  === false) {
260
-			$texte = preg_replace(
261
-				",$inserer_avant,",
262
-				"$full_marqueur\\0",
263
-				$texte
264
-			);
265
-		// Le marqueur est présent mais pas encapsulé : on ajoute les balises ouvrantes et fermantes.
266
-		// Pour vérifier, on prend le texte précédent et on regarde si ça correspond à la balise ouvrante.
267
-		// Il ne faut donc aucun espace blanc en trop.
268
-		} elseif (
269
-			$marqueur_pos !== false
270
-			&& $encapsuler
271
-			&& substr($texte, $marqueur_pos - strlen($ouvrir), strlen($ouvrir)) !== $ouvrir
272
-		) {
273
-			$texte = substr_replace(
274
-				$texte,
275
-				$full_marqueur,
276
-				$marqueur_pos,
277
-				strlen($marqueur)
278
-			);
279
-		}
280
-	}
258
+        // Le marqueur est absent : on l'ajoute avant l'élément indiqué
259
+        if ($marqueur_pos  === false) {
260
+            $texte = preg_replace(
261
+                ",$inserer_avant,",
262
+                "$full_marqueur\\0",
263
+                $texte
264
+            );
265
+        // Le marqueur est présent mais pas encapsulé : on ajoute les balises ouvrantes et fermantes.
266
+        // Pour vérifier, on prend le texte précédent et on regarde si ça correspond à la balise ouvrante.
267
+        // Il ne faut donc aucun espace blanc en trop.
268
+        } elseif (
269
+            $marqueur_pos !== false
270
+            && $encapsuler
271
+            && substr($texte, $marqueur_pos - strlen($ouvrir), strlen($ouvrir)) !== $ouvrir
272
+        ) {
273
+            $texte = substr_replace(
274
+                $texte,
275
+                $full_marqueur,
276
+                $marqueur_pos,
277
+                strlen($marqueur)
278
+            );
279
+        }
280
+    }
281 281
 
282
-	return $texte;
282
+    return $texte;
283 283
 }
284 284
 
285 285
 /**
@@ -290,23 +290,23 @@  discard block
 block discarded – undo
290 290
  * @return string
291 291
  */
292 292
 function f_queue_affiche_milieu($flux) {
293
-	$args = $flux['args'];
294
-	$res = '';
295
-	foreach ($args as $key => $arg) {
296
-		if (preg_match(',^id_,', $key) && is_numeric($arg) && ($arg = intval($arg))) {
297
-			$objet = preg_replace(',^id_,', '', $key);
298
-			$res .= recuperer_fond(
299
-				'modeles/object_jobs_list',
300
-				['id_objet' => $arg, 'objet' => $objet, 'espace_prive' => 1],
301
-				['ajax' => true]
302
-			);
303
-		}
304
-	}
305
-	if ($res) {
306
-		$flux['data'] = $res . $flux['data'];
307
-	}
293
+    $args = $flux['args'];
294
+    $res = '';
295
+    foreach ($args as $key => $arg) {
296
+        if (preg_match(',^id_,', $key) && is_numeric($arg) && ($arg = intval($arg))) {
297
+            $objet = preg_replace(',^id_,', '', $key);
298
+            $res .= recuperer_fond(
299
+                'modeles/object_jobs_list',
300
+                ['id_objet' => $arg, 'objet' => $objet, 'espace_prive' => 1],
301
+                ['ajax' => true]
302
+            );
303
+        }
304
+    }
305
+    if ($res) {
306
+        $flux['data'] = $res . $flux['data'];
307
+    }
308 308
 
309
-	return $flux;
309
+    return $flux;
310 310
 }
311 311
 
312 312
 /**
@@ -320,39 +320,39 @@  discard block
 block discarded – undo
320 320
  * @return array|bool
321 321
  */
322 322
 function trouver_objet_exec(?string $exec) {
323
-	static $objet_exec = [];
324
-	if (!$exec) {
325
-		return false;
326
-	}
327
-	// cas particulier
328
-	if ($exec === 'infos_perso') {
329
-		$exec = 'auteur';
330
-		set_request('id_auteur', $GLOBALS['visiteur_session']['id_auteur']);
331
-	}
332
-	if (!isset($objet_exec[$exec])) {
333
-		$objet_exec[$exec] = false;
334
-		$infos = lister_tables_objets_sql();
335
-		foreach ($infos as $t => $info) {
336
-			if ($exec === $info['url_edit'] && $info['editable']) {
337
-				return $objet_exec[$exec] = [
338
-					'edition' => $exec == $info['url_voir'] ? '' : true,
339
-					'table_objet_sql' => $t,
340
-					'table' => $info['table_objet'],
341
-					'type' => $info['type'],
342
-					'id_table_objet' => id_table_objet($info['type'])
343
-				];
344
-			}
345
-			if ($exec === $info['url_voir']) {
346
-				return $objet_exec[$exec] = [
347
-					'edition' => false,
348
-					'table_objet_sql' => $t,
349
-					'table' => $info['table_objet'],
350
-					'type' => $info['type'],
351
-					'id_table_objet' => id_table_objet($info['type'])
352
-				];
353
-			}
354
-		}
355
-	}
323
+    static $objet_exec = [];
324
+    if (!$exec) {
325
+        return false;
326
+    }
327
+    // cas particulier
328
+    if ($exec === 'infos_perso') {
329
+        $exec = 'auteur';
330
+        set_request('id_auteur', $GLOBALS['visiteur_session']['id_auteur']);
331
+    }
332
+    if (!isset($objet_exec[$exec])) {
333
+        $objet_exec[$exec] = false;
334
+        $infos = lister_tables_objets_sql();
335
+        foreach ($infos as $t => $info) {
336
+            if ($exec === $info['url_edit'] && $info['editable']) {
337
+                return $objet_exec[$exec] = [
338
+                    'edition' => $exec == $info['url_voir'] ? '' : true,
339
+                    'table_objet_sql' => $t,
340
+                    'table' => $info['table_objet'],
341
+                    'type' => $info['type'],
342
+                    'id_table_objet' => id_table_objet($info['type'])
343
+                ];
344
+            }
345
+            if ($exec === $info['url_voir']) {
346
+                return $objet_exec[$exec] = [
347
+                    'edition' => false,
348
+                    'table_objet_sql' => $t,
349
+                    'table' => $info['table_objet'],
350
+                    'type' => $info['type'],
351
+                    'id_table_objet' => id_table_objet($info['type'])
352
+                ];
353
+            }
354
+        }
355
+    }
356 356
 
357
-	return $objet_exec[$exec];
357
+    return $objet_exec[$exec];
358 358
 }
Please login to merge, or discard this patch.