@@ -5,403 +5,403 @@ discard block |
||
| 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' => '<plugin> 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' => '<plugin> 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 |
||
| 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 ":" |
|
| 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 ":" |
|
| 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 | ]; |
@@ -5,579 +5,579 @@ discard block |
||
| 5 | 5 | |
| 6 | 6 | return [ |
| 7 | 7 | |
| 8 | - // A |
|
| 9 | - 'access_interface_graphique' => 'Reen al kompleta grafika interfaco', |
|
| 10 | - 'access_mode_texte' => 'Afiŝi la simpligitan tekstan interfacon', |
|
| 11 | - 'admin_debug' => 'erarserĉilo', |
|
| 12 | - 'admin_modifier_article' => 'Modifu tiun ĉi artikolon', |
|
| 13 | - 'admin_modifier_auteur' => 'Modifu tiun ĉi aŭtoron', |
|
| 14 | - 'admin_modifier_breve' => 'Modifu tiun ĉi fulm-informon', |
|
| 15 | - 'admin_modifier_mot' => 'Modifu tiun ĉi ŝlosilvorton', |
|
| 16 | - 'admin_modifier_rubrique' => 'Modifu tiun ĉi rubrikon', |
|
| 17 | - 'admin_recalculer' => 'Rekalkulu tiun ĉi paĝon', |
|
| 18 | - 'afficher_calendrier' => 'Montri la kalendaro', |
|
| 19 | - 'afficher_trad' => 'afiŝi la tradukojn', |
|
| 20 | - 'alerte_maj_impossible' => '<b>Alarmo !</b> La ĝisdatigo de la SQL-datenbazo al versio @version@ ne eblas pro datenbazo-modif-rajtaj kialoj. Bonvolu kontakti vian retgastiganton.', |
|
| 21 | - 'alerte_modif_info_concourante' => 'ATENTU : Tiu ĉi informo estis modifita de alia homo. La nuna stato estas :', |
|
| 22 | - 'analyse_xml' => 'XML analizo', |
|
| 23 | - 'annuler' => 'Nuligi', |
|
| 24 | - 'antispam_champ_vide' => 'Bonvolu forlasi tiun tajpujon malplena :', |
|
| 25 | - 'articles_recents' => 'La plej freŝaj artikoloj', |
|
| 26 | - 'avis_1_erreur_saisie' => 'Estas 1 eraro en via tajpado, bonvolu kontroli ĝin.', |
|
| 27 | - 'avis_archive_incorrect' => 'Tiu arkivo ne estas SPIP-dosiero', |
|
| 28 | - 'avis_archive_invalide' => 'Tiu arkiva dosiero ne validas', |
|
| 29 | - 'avis_attention' => 'ATENTU !', |
|
| 30 | - 'avis_champ_incorrect_type_objet' => 'Erara tajpuja nomo @name@ por la objekto de tipo @type@', |
|
| 31 | - 'avis_colonne_inexistante' => 'La kolumno @col@ ne ekzistas', |
|
| 32 | - 'avis_erreur' => 'Eraro : vidu ĉi-sube', |
|
| 33 | - 'avis_erreur_connexion' => 'Konekt-eraro', |
|
| 34 | - 'avis_erreur_cookie' => 'kuketo-problemo', |
|
| 35 | - 'avis_erreur_fonction_contexte' => 'Program-eraro. Tiu funkcio ne alvokeblas en tiu ĉi kunteksto.', |
|
| 36 | - 'avis_erreur_mysql' => 'SQL-eraro', |
|
| 37 | - 'avis_erreur_sauvegarde' => 'Konservo-eraro (@type@ @id_objet@) ! ', |
|
| 38 | - 'avis_erreur_visiteur' => 'Alir-problemo al la privata spaco', |
|
| 39 | - 'avis_nb_erreurs_saisie' => 'Estas @nb@ eraroj en via tajpado, bonvolu kontroli ilin.', |
|
| 8 | + // A |
|
| 9 | + 'access_interface_graphique' => 'Reen al kompleta grafika interfaco', |
|
| 10 | + 'access_mode_texte' => 'Afiŝi la simpligitan tekstan interfacon', |
|
| 11 | + 'admin_debug' => 'erarserĉilo', |
|
| 12 | + 'admin_modifier_article' => 'Modifu tiun ĉi artikolon', |
|
| 13 | + 'admin_modifier_auteur' => 'Modifu tiun ĉi aŭtoron', |
|
| 14 | + 'admin_modifier_breve' => 'Modifu tiun ĉi fulm-informon', |
|
| 15 | + 'admin_modifier_mot' => 'Modifu tiun ĉi ŝlosilvorton', |
|
| 16 | + 'admin_modifier_rubrique' => 'Modifu tiun ĉi rubrikon', |
|
| 17 | + 'admin_recalculer' => 'Rekalkulu tiun ĉi paĝon', |
|
| 18 | + 'afficher_calendrier' => 'Montri la kalendaro', |
|
| 19 | + 'afficher_trad' => 'afiŝi la tradukojn', |
|
| 20 | + 'alerte_maj_impossible' => '<b>Alarmo !</b> La ĝisdatigo de la SQL-datenbazo al versio @version@ ne eblas pro datenbazo-modif-rajtaj kialoj. Bonvolu kontakti vian retgastiganton.', |
|
| 21 | + 'alerte_modif_info_concourante' => 'ATENTU : Tiu ĉi informo estis modifita de alia homo. La nuna stato estas :', |
|
| 22 | + 'analyse_xml' => 'XML analizo', |
|
| 23 | + 'annuler' => 'Nuligi', |
|
| 24 | + 'antispam_champ_vide' => 'Bonvolu forlasi tiun tajpujon malplena :', |
|
| 25 | + 'articles_recents' => 'La plej freŝaj artikoloj', |
|
| 26 | + 'avis_1_erreur_saisie' => 'Estas 1 eraro en via tajpado, bonvolu kontroli ĝin.', |
|
| 27 | + 'avis_archive_incorrect' => 'Tiu arkivo ne estas SPIP-dosiero', |
|
| 28 | + 'avis_archive_invalide' => 'Tiu arkiva dosiero ne validas', |
|
| 29 | + 'avis_attention' => 'ATENTU !', |
|
| 30 | + 'avis_champ_incorrect_type_objet' => 'Erara tajpuja nomo @name@ por la objekto de tipo @type@', |
|
| 31 | + 'avis_colonne_inexistante' => 'La kolumno @col@ ne ekzistas', |
|
| 32 | + 'avis_erreur' => 'Eraro : vidu ĉi-sube', |
|
| 33 | + 'avis_erreur_connexion' => 'Konekt-eraro', |
|
| 34 | + 'avis_erreur_cookie' => 'kuketo-problemo', |
|
| 35 | + 'avis_erreur_fonction_contexte' => 'Program-eraro. Tiu funkcio ne alvokeblas en tiu ĉi kunteksto.', |
|
| 36 | + 'avis_erreur_mysql' => 'SQL-eraro', |
|
| 37 | + 'avis_erreur_sauvegarde' => 'Konservo-eraro (@type@ @id_objet@) ! ', |
|
| 38 | + 'avis_erreur_visiteur' => 'Alir-problemo al la privata spaco', |
|
| 39 | + 'avis_nb_erreurs_saisie' => 'Estas @nb@ eraroj en via tajpado, bonvolu kontroli ilin.', |
|
| 40 | 40 | |
| 41 | - // B |
|
| 42 | - 'barre_a_accent_grave' => 'Entajpi malakut-akcentan ĉefliteran A', |
|
| 43 | - 'barre_aide' => 'Uzu la tipografiajn rapidligilojn por pliriĉigi vian enpaĝigon', |
|
| 44 | - 'barre_e_accent_aigu' => 'Entajpi malakut-akcentan ĉefliteran E', |
|
| 45 | - 'barre_eo' => 'Entajpi E en ĉefliteran O', |
|
| 46 | - 'barre_eo_maj' => 'Entajpi E en la ĉeflitero O', |
|
| 47 | - 'barre_euro' => 'Entajpi la simbolon €', |
|
| 48 | - 'barre_gras' => '{{Grasigi}}', |
|
| 49 | - 'barre_guillemets' => 'Flanki per « citiloj »', |
|
| 50 | - 'barre_guillemets_simples' => 'Flanki per simplaj citiloj', |
|
| 51 | - 'barre_intertitre' => '{{{Intertitoligi}}}', |
|
| 52 | - 'barre_italic' => '{Kursivigi}', |
|
| 53 | - 'barre_lien' => 'Transformi al [hiperligo->http://...]', |
|
| 54 | - 'barre_lien_input' => 'Bonvolu indiki la retadreson de via ligilo (vi povas indiki ret-adreson tian, kia http://www.monsite.com aŭ simple indiki la numeron de artikolo de tiu retejo.', |
|
| 55 | - 'barre_note' => 'Transformi al [[sub-paĝan noton]]', |
|
| 56 | - 'barre_paragraphe' => 'Krei paragrafon', |
|
| 57 | - 'barre_quote' => '<quote>Citi mesaĝon</quote>', |
|
| 58 | - 'bouton_changer' => 'Ŝanĝi', |
|
| 59 | - 'bouton_chercher' => 'Serĉi', |
|
| 60 | - 'bouton_choisir' => 'Elekti', |
|
| 61 | - 'bouton_deplacer' => 'Movi', |
|
| 62 | - 'bouton_download' => 'Elŝuti', |
|
| 63 | - 'bouton_enregistrer' => 'Registri', |
|
| 64 | - 'bouton_radio_desactiver_messagerie_interne' => 'Malŝalti la internan mesaĝilon', |
|
| 65 | - 'bouton_radio_envoi_annonces' => 'Sendi la ĉefartikolajn anoncojn', |
|
| 66 | - 'bouton_radio_non_envoi_annonces' => 'Ne sendi anoncojn', |
|
| 67 | - 'bouton_radio_non_envoi_liste_nouveautes' => 'Ne sendi liston de novaĵoj', |
|
| 68 | - 'bouton_recharger_page' => 'freŝigi tiun paĝon', |
|
| 69 | - 'bouton_telecharger' => 'Alŝuti', |
|
| 70 | - 'bouton_upload' => 'Alŝuti', |
|
| 71 | - 'bouton_valider' => 'Validigi', |
|
| 41 | + // B |
|
| 42 | + 'barre_a_accent_grave' => 'Entajpi malakut-akcentan ĉefliteran A', |
|
| 43 | + 'barre_aide' => 'Uzu la tipografiajn rapidligilojn por pliriĉigi vian enpaĝigon', |
|
| 44 | + 'barre_e_accent_aigu' => 'Entajpi malakut-akcentan ĉefliteran E', |
|
| 45 | + 'barre_eo' => 'Entajpi E en ĉefliteran O', |
|
| 46 | + 'barre_eo_maj' => 'Entajpi E en la ĉeflitero O', |
|
| 47 | + 'barre_euro' => 'Entajpi la simbolon €', |
|
| 48 | + 'barre_gras' => '{{Grasigi}}', |
|
| 49 | + 'barre_guillemets' => 'Flanki per « citiloj »', |
|
| 50 | + 'barre_guillemets_simples' => 'Flanki per simplaj citiloj', |
|
| 51 | + 'barre_intertitre' => '{{{Intertitoligi}}}', |
|
| 52 | + 'barre_italic' => '{Kursivigi}', |
|
| 53 | + 'barre_lien' => 'Transformi al [hiperligo->http://...]', |
|
| 54 | + 'barre_lien_input' => 'Bonvolu indiki la retadreson de via ligilo (vi povas indiki ret-adreson tian, kia http://www.monsite.com aŭ simple indiki la numeron de artikolo de tiu retejo.', |
|
| 55 | + 'barre_note' => 'Transformi al [[sub-paĝan noton]]', |
|
| 56 | + 'barre_paragraphe' => 'Krei paragrafon', |
|
| 57 | + 'barre_quote' => '<quote>Citi mesaĝon</quote>', |
|
| 58 | + 'bouton_changer' => 'Ŝanĝi', |
|
| 59 | + 'bouton_chercher' => 'Serĉi', |
|
| 60 | + 'bouton_choisir' => 'Elekti', |
|
| 61 | + 'bouton_deplacer' => 'Movi', |
|
| 62 | + 'bouton_download' => 'Elŝuti', |
|
| 63 | + 'bouton_enregistrer' => 'Registri', |
|
| 64 | + 'bouton_radio_desactiver_messagerie_interne' => 'Malŝalti la internan mesaĝilon', |
|
| 65 | + 'bouton_radio_envoi_annonces' => 'Sendi la ĉefartikolajn anoncojn', |
|
| 66 | + 'bouton_radio_non_envoi_annonces' => 'Ne sendi anoncojn', |
|
| 67 | + 'bouton_radio_non_envoi_liste_nouveautes' => 'Ne sendi liston de novaĵoj', |
|
| 68 | + 'bouton_recharger_page' => 'freŝigi tiun paĝon', |
|
| 69 | + 'bouton_telecharger' => 'Alŝuti', |
|
| 70 | + 'bouton_upload' => 'Alŝuti', |
|
| 71 | + 'bouton_valider' => 'Validigi', |
|
| 72 | 72 | |
| 73 | - // C |
|
| 74 | - 'cal_apresmidi' => 'posttagmezo', |
|
| 75 | - 'cal_jour_entier' => 'tuta tago', |
|
| 76 | - 'cal_matin' => 'mateno', |
|
| 77 | - 'cal_par_jour' => 'tag-kalendaro', |
|
| 78 | - 'cal_par_mois' => 'monat-kalendaro', |
|
| 79 | - 'cal_par_semaine' => 'semajn-kalendaro', |
|
| 80 | - 'choix_couleur_interface' => 'koloro', |
|
| 81 | - 'choix_interface' => 'elekto de interfaco', |
|
| 82 | - 'colonne' => 'Kolumno', |
|
| 83 | - 'confirm_changer_statut' => 'Atentu, vi petis por ŝanĝi la statuton de tiu elemento. Ĉu vi deziras daŭrigi ?', |
|
| 84 | - 'correcte' => 'korekta', |
|
| 73 | + // C |
|
| 74 | + 'cal_apresmidi' => 'posttagmezo', |
|
| 75 | + 'cal_jour_entier' => 'tuta tago', |
|
| 76 | + 'cal_matin' => 'mateno', |
|
| 77 | + 'cal_par_jour' => 'tag-kalendaro', |
|
| 78 | + 'cal_par_mois' => 'monat-kalendaro', |
|
| 79 | + 'cal_par_semaine' => 'semajn-kalendaro', |
|
| 80 | + 'choix_couleur_interface' => 'koloro', |
|
| 81 | + 'choix_interface' => 'elekto de interfaco', |
|
| 82 | + 'colonne' => 'Kolumno', |
|
| 83 | + 'confirm_changer_statut' => 'Atentu, vi petis por ŝanĝi la statuton de tiu elemento. Ĉu vi deziras daŭrigi ?', |
|
| 84 | + 'correcte' => 'korekta', |
|
| 85 | 85 | |
| 86 | - // D |
|
| 87 | - 'date_aujourdhui' => 'hodiaŭ', |
|
| 88 | - 'date_avant_jc' => 'a.K.', |
|
| 89 | - 'date_dans' => 'post @delai@', |
|
| 90 | - 'date_de_mois_1' => '@j@ @nommois@', |
|
| 91 | - 'date_de_mois_10' => '@j@ @nommois@', |
|
| 92 | - 'date_de_mois_11' => '@j@ @nommois@', |
|
| 93 | - 'date_de_mois_12' => '@j@ @nommois@', |
|
| 94 | - 'date_de_mois_2' => '@j@ @nommois@', |
|
| 95 | - 'date_de_mois_3' => '@j@ @nommois@', |
|
| 96 | - 'date_de_mois_4' => '@j@ @nommois@', |
|
| 97 | - 'date_de_mois_5' => '@j@ @nommois@', |
|
| 98 | - 'date_de_mois_6' => '@j@ @nommois@', |
|
| 99 | - 'date_de_mois_7' => '@j@ @nommois@', |
|
| 100 | - 'date_de_mois_8' => '@j@ @nommois@', |
|
| 101 | - 'date_de_mois_9' => '@j@ @nommois@', |
|
| 102 | - 'date_demain' => 'morgaŭ', |
|
| 103 | - 'date_fmt_heures_minutes' => '@h@h@m@min', |
|
| 104 | - 'date_fmt_heures_minutes_court' => '@h@h@m@', |
|
| 105 | - 'date_fmt_jour' => '@nomjour@ la @jour@a', |
|
| 106 | - 'date_fmt_jour_heure' => '@jour@ je la @heure@', |
|
| 107 | - 'date_fmt_jour_heure_debut_fin' => 'la @jour@ de @heure_debut@ ĝis @heure_fin@', |
|
| 108 | - 'date_fmt_jour_heure_debut_fin_abbr' => 'la @dtstart@@jour@a de @heure_debut@@dtabbr@ ĝis @dtend@@heure_fin@@dtend@', |
|
| 109 | - 'date_fmt_jour_mois' => '@jour@a @nommois@', |
|
| 110 | - 'date_fmt_jour_mois_annee' => '@jour@a @nommois@ @annee@', |
|
| 111 | - 'date_fmt_mois_annee' => '@nommois@ @annee@', |
|
| 112 | - 'date_fmt_nomjour' => '@nomjour@ @date@', |
|
| 113 | - 'date_fmt_nomjour_date' => 'la @nomjour@ @date@', |
|
| 114 | - 'date_fmt_periode' => 'De @date_debut@ ĝis @date_fin@', |
|
| 115 | - 'date_fmt_periode_abbr' => 'De @dtart@@date_debut@@dtabbr@ ĝis @dtend@@date_fin@@dtabbr@', |
|
| 116 | - 'date_fmt_periode_from' => 'De', |
|
| 117 | - 'date_fmt_periode_to' => 'ĝis', |
|
| 118 | - 'date_fmt_saison_annee' => '@saison@ @annee@', |
|
| 119 | - 'date_heures' => 'horoj', |
|
| 120 | - 'date_hier' => 'hieraŭ', |
|
| 121 | - 'date_il_y_a' => 'antaŭ @delai@', |
|
| 122 | - 'date_jnum1' => '1', |
|
| 123 | - 'date_jnum10' => '10', |
|
| 124 | - 'date_jnum11' => '11', |
|
| 125 | - 'date_jnum12' => '12', |
|
| 126 | - 'date_jnum13' => '13', |
|
| 127 | - 'date_jnum14' => '14', |
|
| 128 | - 'date_jnum15' => '15', |
|
| 129 | - 'date_jnum16' => '16', |
|
| 130 | - 'date_jnum17' => '17', |
|
| 131 | - 'date_jnum18' => '18', |
|
| 132 | - 'date_jnum19' => '19', |
|
| 133 | - 'date_jnum2' => '2', |
|
| 134 | - 'date_jnum20' => '20', |
|
| 135 | - 'date_jnum21' => '21', |
|
| 136 | - 'date_jnum22' => '22', |
|
| 137 | - 'date_jnum23' => '23', |
|
| 138 | - 'date_jnum24' => '24', |
|
| 139 | - 'date_jnum25' => '25', |
|
| 140 | - 'date_jnum26' => '26', |
|
| 141 | - 'date_jnum27' => '27', |
|
| 142 | - 'date_jnum28' => '28', |
|
| 143 | - 'date_jnum29' => '29', |
|
| 144 | - 'date_jnum3' => '3', |
|
| 145 | - 'date_jnum30' => '30', |
|
| 146 | - 'date_jnum31' => '31', |
|
| 147 | - 'date_jnum4' => '4', |
|
| 148 | - 'date_jnum5' => '5', |
|
| 149 | - 'date_jnum6' => '6', |
|
| 150 | - 'date_jnum7' => '7', |
|
| 151 | - 'date_jnum8' => '8', |
|
| 152 | - 'date_jnum9' => '9', |
|
| 153 | - 'date_jour_1' => 'dimanĉo', |
|
| 154 | - 'date_jour_1_abbr' => 'dim.', |
|
| 155 | - 'date_jour_1_initiale' => 'd.', |
|
| 156 | - 'date_jour_2' => 'lundo', |
|
| 157 | - 'date_jour_2_abbr' => 'lun.', |
|
| 158 | - 'date_jour_2_initiale' => 'l.', |
|
| 159 | - 'date_jour_3' => 'mardo', |
|
| 160 | - 'date_jour_3_abbr' => 'mar.', |
|
| 161 | - 'date_jour_3_initiale' => 'm.', |
|
| 162 | - 'date_jour_4' => 'merkredo', |
|
| 163 | - 'date_jour_4_abbr' => 'mer.', |
|
| 164 | - 'date_jour_4_initiale' => 'm.', |
|
| 165 | - 'date_jour_5' => 'ĵaŭdo', |
|
| 166 | - 'date_jour_5_abbr' => 'jaŭ.', |
|
| 167 | - 'date_jour_5_initiale' => 'j.', |
|
| 168 | - 'date_jour_6' => 'vendredo', |
|
| 169 | - 'date_jour_6_abbr' => 'ven.', |
|
| 170 | - 'date_jour_6_initiale' => 'v.', |
|
| 171 | - 'date_jour_7' => 'sabato', |
|
| 172 | - 'date_jour_7_abbr' => 'sab.', |
|
| 173 | - 'date_jour_7_initiale' => 's.', |
|
| 174 | - 'date_jours' => 'tagoj', |
|
| 175 | - 'date_minutes' => 'minutoj', |
|
| 176 | - 'date_mois' => 'monatoj', |
|
| 177 | - 'date_mois_1' => 'januaro', |
|
| 178 | - 'date_mois_10' => 'oktobro', |
|
| 179 | - 'date_mois_10_abbr' => 'oct.', |
|
| 180 | - 'date_mois_11' => 'novembro', |
|
| 181 | - 'date_mois_11_abbr' => 'nov.', |
|
| 182 | - 'date_mois_12' => 'decembro', |
|
| 183 | - 'date_mois_12_abbr' => 'dec.', |
|
| 184 | - 'date_mois_1_abbr' => 'jan.', |
|
| 185 | - 'date_mois_2' => 'februaro', |
|
| 186 | - 'date_mois_2_abbr' => 'feb.', |
|
| 187 | - 'date_mois_3' => 'marto', |
|
| 188 | - 'date_mois_3_abbr' => 'mar.', |
|
| 189 | - 'date_mois_4' => 'aprilo', |
|
| 190 | - 'date_mois_4_abbr' => 'apr.', |
|
| 191 | - 'date_mois_5' => 'majo', |
|
| 192 | - 'date_mois_5_abbr' => 'majo', |
|
| 193 | - 'date_mois_6' => 'junio', |
|
| 194 | - 'date_mois_6_abbr' => 'jun.', |
|
| 195 | - 'date_mois_7' => 'julio', |
|
| 196 | - 'date_mois_7_abbr' => 'jul.', |
|
| 197 | - 'date_mois_8' => 'aŭgusto', |
|
| 198 | - 'date_mois_8_abbr' => 'aŭg.', |
|
| 199 | - 'date_mois_9' => 'septembro', |
|
| 200 | - 'date_mois_9_abbr' => 'sep.', |
|
| 201 | - 'date_saison_1' => 'vintro', |
|
| 202 | - 'date_saison_2' => 'printempo', |
|
| 203 | - 'date_saison_3' => 'somero', |
|
| 204 | - 'date_saison_4' => 'aŭtuno', |
|
| 205 | - 'date_secondes' => 'sekundoj', |
|
| 206 | - 'date_semaines' => 'semajnoj', |
|
| 207 | - 'date_un_mois' => 'monato', |
|
| 208 | - 'date_une_heure' => 'horo', |
|
| 209 | - 'date_une_minute' => 'minuto', |
|
| 210 | - 'date_une_seconde' => 'sekundo', |
|
| 211 | - 'date_une_semaine' => 'semajno', |
|
| 212 | - 'dirs_commencer' => ' por vere komenci la instalprocezon', |
|
| 213 | - 'dirs_preliminaire' => 'Antaŭfaro : <b>Difinu la alir-rajtojn</b>', |
|
| 214 | - 'dirs_probleme_droits' => 'Alir-rajta problemo', |
|
| 215 | - 'dirs_repertoires_absents' => '<b>La jenaj dosierujoj ne estas trovitaj : <ul>@bad_dirs@.</ul> </b> |
|
| 86 | + // D |
|
| 87 | + 'date_aujourdhui' => 'hodiaŭ', |
|
| 88 | + 'date_avant_jc' => 'a.K.', |
|
| 89 | + 'date_dans' => 'post @delai@', |
|
| 90 | + 'date_de_mois_1' => '@j@ @nommois@', |
|
| 91 | + 'date_de_mois_10' => '@j@ @nommois@', |
|
| 92 | + 'date_de_mois_11' => '@j@ @nommois@', |
|
| 93 | + 'date_de_mois_12' => '@j@ @nommois@', |
|
| 94 | + 'date_de_mois_2' => '@j@ @nommois@', |
|
| 95 | + 'date_de_mois_3' => '@j@ @nommois@', |
|
| 96 | + 'date_de_mois_4' => '@j@ @nommois@', |
|
| 97 | + 'date_de_mois_5' => '@j@ @nommois@', |
|
| 98 | + 'date_de_mois_6' => '@j@ @nommois@', |
|
| 99 | + 'date_de_mois_7' => '@j@ @nommois@', |
|
| 100 | + 'date_de_mois_8' => '@j@ @nommois@', |
|
| 101 | + 'date_de_mois_9' => '@j@ @nommois@', |
|
| 102 | + 'date_demain' => 'morgaŭ', |
|
| 103 | + 'date_fmt_heures_minutes' => '@h@h@m@min', |
|
| 104 | + 'date_fmt_heures_minutes_court' => '@h@h@m@', |
|
| 105 | + 'date_fmt_jour' => '@nomjour@ la @jour@a', |
|
| 106 | + 'date_fmt_jour_heure' => '@jour@ je la @heure@', |
|
| 107 | + 'date_fmt_jour_heure_debut_fin' => 'la @jour@ de @heure_debut@ ĝis @heure_fin@', |
|
| 108 | + 'date_fmt_jour_heure_debut_fin_abbr' => 'la @dtstart@@jour@a de @heure_debut@@dtabbr@ ĝis @dtend@@heure_fin@@dtend@', |
|
| 109 | + 'date_fmt_jour_mois' => '@jour@a @nommois@', |
|
| 110 | + 'date_fmt_jour_mois_annee' => '@jour@a @nommois@ @annee@', |
|
| 111 | + 'date_fmt_mois_annee' => '@nommois@ @annee@', |
|
| 112 | + 'date_fmt_nomjour' => '@nomjour@ @date@', |
|
| 113 | + 'date_fmt_nomjour_date' => 'la @nomjour@ @date@', |
|
| 114 | + 'date_fmt_periode' => 'De @date_debut@ ĝis @date_fin@', |
|
| 115 | + 'date_fmt_periode_abbr' => 'De @dtart@@date_debut@@dtabbr@ ĝis @dtend@@date_fin@@dtabbr@', |
|
| 116 | + 'date_fmt_periode_from' => 'De', |
|
| 117 | + 'date_fmt_periode_to' => 'ĝis', |
|
| 118 | + 'date_fmt_saison_annee' => '@saison@ @annee@', |
|
| 119 | + 'date_heures' => 'horoj', |
|
| 120 | + 'date_hier' => 'hieraŭ', |
|
| 121 | + 'date_il_y_a' => 'antaŭ @delai@', |
|
| 122 | + 'date_jnum1' => '1', |
|
| 123 | + 'date_jnum10' => '10', |
|
| 124 | + 'date_jnum11' => '11', |
|
| 125 | + 'date_jnum12' => '12', |
|
| 126 | + 'date_jnum13' => '13', |
|
| 127 | + 'date_jnum14' => '14', |
|
| 128 | + 'date_jnum15' => '15', |
|
| 129 | + 'date_jnum16' => '16', |
|
| 130 | + 'date_jnum17' => '17', |
|
| 131 | + 'date_jnum18' => '18', |
|
| 132 | + 'date_jnum19' => '19', |
|
| 133 | + 'date_jnum2' => '2', |
|
| 134 | + 'date_jnum20' => '20', |
|
| 135 | + 'date_jnum21' => '21', |
|
| 136 | + 'date_jnum22' => '22', |
|
| 137 | + 'date_jnum23' => '23', |
|
| 138 | + 'date_jnum24' => '24', |
|
| 139 | + 'date_jnum25' => '25', |
|
| 140 | + 'date_jnum26' => '26', |
|
| 141 | + 'date_jnum27' => '27', |
|
| 142 | + 'date_jnum28' => '28', |
|
| 143 | + 'date_jnum29' => '29', |
|
| 144 | + 'date_jnum3' => '3', |
|
| 145 | + 'date_jnum30' => '30', |
|
| 146 | + 'date_jnum31' => '31', |
|
| 147 | + 'date_jnum4' => '4', |
|
| 148 | + 'date_jnum5' => '5', |
|
| 149 | + 'date_jnum6' => '6', |
|
| 150 | + 'date_jnum7' => '7', |
|
| 151 | + 'date_jnum8' => '8', |
|
| 152 | + 'date_jnum9' => '9', |
|
| 153 | + 'date_jour_1' => 'dimanĉo', |
|
| 154 | + 'date_jour_1_abbr' => 'dim.', |
|
| 155 | + 'date_jour_1_initiale' => 'd.', |
|
| 156 | + 'date_jour_2' => 'lundo', |
|
| 157 | + 'date_jour_2_abbr' => 'lun.', |
|
| 158 | + 'date_jour_2_initiale' => 'l.', |
|
| 159 | + 'date_jour_3' => 'mardo', |
|
| 160 | + 'date_jour_3_abbr' => 'mar.', |
|
| 161 | + 'date_jour_3_initiale' => 'm.', |
|
| 162 | + 'date_jour_4' => 'merkredo', |
|
| 163 | + 'date_jour_4_abbr' => 'mer.', |
|
| 164 | + 'date_jour_4_initiale' => 'm.', |
|
| 165 | + 'date_jour_5' => 'ĵaŭdo', |
|
| 166 | + 'date_jour_5_abbr' => 'jaŭ.', |
|
| 167 | + 'date_jour_5_initiale' => 'j.', |
|
| 168 | + 'date_jour_6' => 'vendredo', |
|
| 169 | + 'date_jour_6_abbr' => 'ven.', |
|
| 170 | + 'date_jour_6_initiale' => 'v.', |
|
| 171 | + 'date_jour_7' => 'sabato', |
|
| 172 | + 'date_jour_7_abbr' => 'sab.', |
|
| 173 | + 'date_jour_7_initiale' => 's.', |
|
| 174 | + 'date_jours' => 'tagoj', |
|
| 175 | + 'date_minutes' => 'minutoj', |
|
| 176 | + 'date_mois' => 'monatoj', |
|
| 177 | + 'date_mois_1' => 'januaro', |
|
| 178 | + 'date_mois_10' => 'oktobro', |
|
| 179 | + 'date_mois_10_abbr' => 'oct.', |
|
| 180 | + 'date_mois_11' => 'novembro', |
|
| 181 | + 'date_mois_11_abbr' => 'nov.', |
|
| 182 | + 'date_mois_12' => 'decembro', |
|
| 183 | + 'date_mois_12_abbr' => 'dec.', |
|
| 184 | + 'date_mois_1_abbr' => 'jan.', |
|
| 185 | + 'date_mois_2' => 'februaro', |
|
| 186 | + 'date_mois_2_abbr' => 'feb.', |
|
| 187 | + 'date_mois_3' => 'marto', |
|
| 188 | + 'date_mois_3_abbr' => 'mar.', |
|
| 189 | + 'date_mois_4' => 'aprilo', |
|
| 190 | + 'date_mois_4_abbr' => 'apr.', |
|
| 191 | + 'date_mois_5' => 'majo', |
|
| 192 | + 'date_mois_5_abbr' => 'majo', |
|
| 193 | + 'date_mois_6' => 'junio', |
|
| 194 | + 'date_mois_6_abbr' => 'jun.', |
|
| 195 | + 'date_mois_7' => 'julio', |
|
| 196 | + 'date_mois_7_abbr' => 'jul.', |
|
| 197 | + 'date_mois_8' => 'aŭgusto', |
|
| 198 | + 'date_mois_8_abbr' => 'aŭg.', |
|
| 199 | + 'date_mois_9' => 'septembro', |
|
| 200 | + 'date_mois_9_abbr' => 'sep.', |
|
| 201 | + 'date_saison_1' => 'vintro', |
|
| 202 | + 'date_saison_2' => 'printempo', |
|
| 203 | + 'date_saison_3' => 'somero', |
|
| 204 | + 'date_saison_4' => 'aŭtuno', |
|
| 205 | + 'date_secondes' => 'sekundoj', |
|
| 206 | + 'date_semaines' => 'semajnoj', |
|
| 207 | + 'date_un_mois' => 'monato', |
|
| 208 | + 'date_une_heure' => 'horo', |
|
| 209 | + 'date_une_minute' => 'minuto', |
|
| 210 | + 'date_une_seconde' => 'sekundo', |
|
| 211 | + 'date_une_semaine' => 'semajno', |
|
| 212 | + 'dirs_commencer' => ' por vere komenci la instalprocezon', |
|
| 213 | + 'dirs_preliminaire' => 'Antaŭfaro : <b>Difinu la alir-rajtojn</b>', |
|
| 214 | + 'dirs_probleme_droits' => 'Alir-rajta problemo', |
|
| 215 | + 'dirs_repertoires_absents' => '<b>La jenaj dosierujoj ne estas trovitaj : <ul>@bad_dirs@.</ul> </b> |
|
| 216 | 216 | <p>La problemo verŝajne rilatas al majuskligo de literoj. |
| 217 | 217 | Kontrolu ke la majuskloj ja kongruas kun tio kio estas afiŝita ĉi-supre ; |
| 218 | 218 | se ili ne kongruas, bonvolu renomi la dosierujon per via FTP-programo por korekti la eraron. |
| 219 | 219 | </p><p>Post tio, vi povos</p>', |
| 220 | - 'dirs_repertoires_suivants' => '<b>La jenaj dosierujoj ne estas skribe modifeblaj : |
|
| 220 | + 'dirs_repertoires_suivants' => '<b>La jenaj dosierujoj ne estas skribe modifeblaj : |
|
| 221 | 221 | <ul>@bad_dirs@.</ul></b> |
| 222 | 222 | <p>Por solvi tion, uzu vian FTP-klienton por reguligi la alir-rajtojn de ĉiu |
| 223 | 223 | el tiuj dosierujoj. La proceduron oni detale klarigas en la instalgvidlibro. |
| 224 | 224 | </p><p>Post tio, vi povos </p>', |
| 225 | - 'double_occurrence' => 'Duobla trafo de @balise@', |
|
| 225 | + 'double_occurrence' => 'Duobla trafo de @balise@', |
|
| 226 | 226 | |
| 227 | - // E |
|
| 228 | - 'en_cours' => 'okazanta', |
|
| 229 | - 'envoi_via_le_site' => 'Sendo tra la retejo', |
|
| 230 | - 'erreur' => 'Eraro', |
|
| 231 | - 'erreur_balise_non_fermee' => 'lasta ne fermita marko :', |
|
| 232 | - 'erreur_technique_ajaxform' => 'Aj. Neatendita eraro ne ebligis la sendon de la formularo. Vi povas reprovi denove.', |
|
| 233 | - 'erreur_technique_enregistrement_champs' => 'Teknika eraro neebligis la ĝustan registradon de la kampo @champs@.', |
|
| 234 | - 'erreur_technique_enregistrement_impossible' => 'Teknika eraro neebligis la registradon.', |
|
| 235 | - 'erreur_texte' => 'eraro(j)', |
|
| 236 | - 'etape' => 'Etapo', |
|
| 227 | + // E |
|
| 228 | + 'en_cours' => 'okazanta', |
|
| 229 | + 'envoi_via_le_site' => 'Sendo tra la retejo', |
|
| 230 | + 'erreur' => 'Eraro', |
|
| 231 | + 'erreur_balise_non_fermee' => 'lasta ne fermita marko :', |
|
| 232 | + 'erreur_technique_ajaxform' => 'Aj. Neatendita eraro ne ebligis la sendon de la formularo. Vi povas reprovi denove.', |
|
| 233 | + 'erreur_technique_enregistrement_champs' => 'Teknika eraro neebligis la ĝustan registradon de la kampo @champs@.', |
|
| 234 | + 'erreur_technique_enregistrement_impossible' => 'Teknika eraro neebligis la registradon.', |
|
| 235 | + 'erreur_texte' => 'eraro(j)', |
|
| 236 | + 'etape' => 'Etapo', |
|
| 237 | 237 | |
| 238 | - // F |
|
| 239 | - 'fichier_introuvable' => 'Netrovebla dosiero @fichier@ ', # MODIF |
|
| 240 | - 'form_auteur_confirmation' => 'Konfirmu vian retpoŝtadreso', |
|
| 241 | - 'form_auteur_email_modifie' => 'Via retpoŝtadreso estis modifita.', |
|
| 242 | - 'form_auteur_envoi_mail_confirmation' => 'Konfirmretmesaĝo estis sendita al @email@. Vi devu viziti la menciita retadreso en la retmesaĝo por validigi vian retpoŝtadreson.', |
|
| 243 | - 'form_auteur_mail_confirmation' => 'Saluton, |
|
| 238 | + // F |
|
| 239 | + 'fichier_introuvable' => 'Netrovebla dosiero @fichier@ ', # MODIF |
|
| 240 | + 'form_auteur_confirmation' => 'Konfirmu vian retpoŝtadreso', |
|
| 241 | + 'form_auteur_email_modifie' => 'Via retpoŝtadreso estis modifita.', |
|
| 242 | + 'form_auteur_envoi_mail_confirmation' => 'Konfirmretmesaĝo estis sendita al @email@. Vi devu viziti la menciita retadreso en la retmesaĝo por validigi vian retpoŝtadreson.', |
|
| 243 | + 'form_auteur_mail_confirmation' => 'Saluton, |
|
| 244 | 244 | |
| 245 | 245 | Vi petis ŝanĝi vian retpoŝtadreson. |
| 246 | 246 | Por konfirmi vian novan retadreson, simple ensaluti al |
| 247 | 247 | la retadreso ĉi-sube (alie, via peto estos ignoritaj) : |
| 248 | 248 | |
| 249 | 249 | @url@', |
| 250 | - 'form_deja_inscrit' => 'Vi estas jam registrita.', |
|
| 251 | - 'form_email_non_valide' => 'Via retpoŝtadreso ne validas.', |
|
| 252 | - 'form_forum_access_refuse' => 'Vi ne plu havas alir-rajton al tiu retejo.', |
|
| 253 | - 'form_forum_bonjour' => 'Saluton @nom@,', |
|
| 254 | - 'form_forum_confirmer_email' => 'Por konfirmi vian retpoŝtadreson, iru al tiu retadreso : @url_confirm@', |
|
| 255 | - 'form_forum_email_deja_enregistre' => 'Tiu ĉi retpoŝtadreso estas jam registrita, vi povas do uzi vian kutiman pasvorton.', |
|
| 256 | - 'form_forum_identifiant_mail' => 'Via nova ensalutilo estis ĵus al vi sendita per retletero.', |
|
| 257 | - 'form_forum_identifiants' => 'Personaj ensalutiloj', |
|
| 258 | - 'form_forum_indiquer_nom_email' => 'Indiku ĉi tie vian nomon kaj retpoŝtadreson. Via persona ensalutilo rapide alvenos al vi retletere.', |
|
| 259 | - 'form_forum_login' => 'salutnomo :', |
|
| 260 | - 'form_forum_message_auto' => '(tio estas aŭtomata mesaĝo)', |
|
| 261 | - 'form_forum_pass' => 'pasvorto :', |
|
| 262 | - 'form_forum_probleme_mail' => 'Retpoŝta problemo : la ensalutilo ne sendeblas.', |
|
| 263 | - 'form_forum_voici1' => 'Jen viaj ensalutiloj por partopreni la vivon de la retejo "@nom_site_spip@" (@adresse_site@) :', |
|
| 264 | - 'form_forum_voici2' => 'Jen estas viaj ensalutiloj por proponi artikolojn ĉe la retejo "@nom_site_spip@" (@adresse_login@) :', |
|
| 265 | - 'form_indiquer_email' => 'Bonvolu indiki vian retpoŝtadreson.', |
|
| 266 | - 'form_indiquer_nom' => 'Bonvolu indiki vian nomon.', |
|
| 267 | - 'form_indiquer_nom_site' => 'Bonvolu indiki la nomon de via retejo.', |
|
| 268 | - 'form_pet_deja_enregistre' => 'Tiu retejo estas jam registrita', |
|
| 269 | - 'form_pet_signature_pasprise' => 'Via subskribo ne estas registrita.', |
|
| 270 | - 'form_prop_confirmer_envoi' => 'Konfirmi la sendon', |
|
| 271 | - 'form_prop_description' => 'Priskribo/komento', |
|
| 272 | - 'form_prop_enregistre' => 'Via kontribuo estas registrita, ĝi aperos ĉerete post validigo de la respondeculoj de la retejo.', |
|
| 273 | - 'form_prop_envoyer' => 'Sendi mesaĝon', |
|
| 274 | - 'form_prop_indiquer_email' => 'Bonvolu indiki validan retpoŝtadreson', |
|
| 275 | - 'form_prop_indiquer_nom_site' => 'Bonvolu indiki la nomon de la retejo.', |
|
| 276 | - 'form_prop_indiquer_sujet' => 'Bonvolu indiki temon', |
|
| 277 | - 'form_prop_message_envoye' => 'Mesaĝo sendita', |
|
| 278 | - 'form_prop_non_enregistre' => 'Via propono ne estis registrita.', |
|
| 279 | - 'form_prop_sujet' => 'Temo', |
|
| 280 | - 'form_prop_url_site' => 'URL-adreso de la retejo', |
|
| 281 | - 'format_date_incorrecte' => 'La dato aŭ ĝia formo ne validas', |
|
| 282 | - 'format_heure_incorrecte' => 'La horo aŭ ĝia formo ne validas', |
|
| 283 | - 'forum_non_inscrit' => 'Vi ne estas registrita, aŭ la adreso aŭ la pasvorto ne ĝustas.', |
|
| 284 | - 'forum_par_auteur' => 'de @auteur@', |
|
| 285 | - 'forum_titre_erreur' => 'Eraro...', |
|
| 250 | + 'form_deja_inscrit' => 'Vi estas jam registrita.', |
|
| 251 | + 'form_email_non_valide' => 'Via retpoŝtadreso ne validas.', |
|
| 252 | + 'form_forum_access_refuse' => 'Vi ne plu havas alir-rajton al tiu retejo.', |
|
| 253 | + 'form_forum_bonjour' => 'Saluton @nom@,', |
|
| 254 | + 'form_forum_confirmer_email' => 'Por konfirmi vian retpoŝtadreson, iru al tiu retadreso : @url_confirm@', |
|
| 255 | + 'form_forum_email_deja_enregistre' => 'Tiu ĉi retpoŝtadreso estas jam registrita, vi povas do uzi vian kutiman pasvorton.', |
|
| 256 | + 'form_forum_identifiant_mail' => 'Via nova ensalutilo estis ĵus al vi sendita per retletero.', |
|
| 257 | + 'form_forum_identifiants' => 'Personaj ensalutiloj', |
|
| 258 | + 'form_forum_indiquer_nom_email' => 'Indiku ĉi tie vian nomon kaj retpoŝtadreson. Via persona ensalutilo rapide alvenos al vi retletere.', |
|
| 259 | + 'form_forum_login' => 'salutnomo :', |
|
| 260 | + 'form_forum_message_auto' => '(tio estas aŭtomata mesaĝo)', |
|
| 261 | + 'form_forum_pass' => 'pasvorto :', |
|
| 262 | + 'form_forum_probleme_mail' => 'Retpoŝta problemo : la ensalutilo ne sendeblas.', |
|
| 263 | + 'form_forum_voici1' => 'Jen viaj ensalutiloj por partopreni la vivon de la retejo "@nom_site_spip@" (@adresse_site@) :', |
|
| 264 | + 'form_forum_voici2' => 'Jen estas viaj ensalutiloj por proponi artikolojn ĉe la retejo "@nom_site_spip@" (@adresse_login@) :', |
|
| 265 | + 'form_indiquer_email' => 'Bonvolu indiki vian retpoŝtadreson.', |
|
| 266 | + 'form_indiquer_nom' => 'Bonvolu indiki vian nomon.', |
|
| 267 | + 'form_indiquer_nom_site' => 'Bonvolu indiki la nomon de via retejo.', |
|
| 268 | + 'form_pet_deja_enregistre' => 'Tiu retejo estas jam registrita', |
|
| 269 | + 'form_pet_signature_pasprise' => 'Via subskribo ne estas registrita.', |
|
| 270 | + 'form_prop_confirmer_envoi' => 'Konfirmi la sendon', |
|
| 271 | + 'form_prop_description' => 'Priskribo/komento', |
|
| 272 | + 'form_prop_enregistre' => 'Via kontribuo estas registrita, ĝi aperos ĉerete post validigo de la respondeculoj de la retejo.', |
|
| 273 | + 'form_prop_envoyer' => 'Sendi mesaĝon', |
|
| 274 | + 'form_prop_indiquer_email' => 'Bonvolu indiki validan retpoŝtadreson', |
|
| 275 | + 'form_prop_indiquer_nom_site' => 'Bonvolu indiki la nomon de la retejo.', |
|
| 276 | + 'form_prop_indiquer_sujet' => 'Bonvolu indiki temon', |
|
| 277 | + 'form_prop_message_envoye' => 'Mesaĝo sendita', |
|
| 278 | + 'form_prop_non_enregistre' => 'Via propono ne estis registrita.', |
|
| 279 | + 'form_prop_sujet' => 'Temo', |
|
| 280 | + 'form_prop_url_site' => 'URL-adreso de la retejo', |
|
| 281 | + 'format_date_incorrecte' => 'La dato aŭ ĝia formo ne validas', |
|
| 282 | + 'format_heure_incorrecte' => 'La horo aŭ ĝia formo ne validas', |
|
| 283 | + 'forum_non_inscrit' => 'Vi ne estas registrita, aŭ la adreso aŭ la pasvorto ne ĝustas.', |
|
| 284 | + 'forum_par_auteur' => 'de @auteur@', |
|
| 285 | + 'forum_titre_erreur' => 'Eraro...', |
|
| 286 | 286 | |
| 287 | - // I |
|
| 288 | - 'ical_texte_rss_articles' => 'La abondosiero (backend-dosiero) de la artikoloj de tiu retejo troveblas ĉe la retadreso :', |
|
| 289 | - 'ical_texte_rss_articles2' => 'Sube, vi povas trovi abonligojn por gvati evoluadon de artikoloj el ĉiu rubriko de la retejo :', |
|
| 290 | - 'ical_texte_rss_breves' => 'Krome ekzistas dosiero enhavanta ĉiujn fulm-informojn de la retejo. Precizigante la rubriko-numeron, vi ricevos nur la fulm-informojn el tiu rubriko.', |
|
| 291 | - 'icone_a_suivre' => 'Stabejo', |
|
| 292 | - 'icone_admin_site' => 'Reteja administrado', |
|
| 293 | - 'icone_agenda' => 'Agendo', |
|
| 294 | - 'icone_aide_ligne' => 'Helpilo', |
|
| 295 | - 'icone_articles' => 'Artikoloj', |
|
| 296 | - 'icone_auteurs' => 'Aŭtoroj', |
|
| 297 | - 'icone_brouteur' => 'Rapida retumado', |
|
| 298 | - 'icone_configuration_site' => 'Konfiguro', |
|
| 299 | - 'icone_configurer_site' => 'Konfiguri vian retejon', |
|
| 300 | - 'icone_creer_nouvel_auteur' => 'Krei novan aŭtoron', |
|
| 301 | - 'icone_creer_rubrique' => 'Krei novan rubrikon', |
|
| 302 | - 'icone_creer_sous_rubrique' => 'Krei sub-rubrikon', |
|
| 303 | - 'icone_deconnecter' => 'Elsaluti', |
|
| 304 | - 'icone_discussions' => 'Diskutoj', |
|
| 305 | - 'icone_doc_rubrique' => 'Dokumentoj de la rubrikoj', |
|
| 306 | - 'icone_ecrire_article' => 'Skribi novan artikolon', |
|
| 307 | - 'icone_edition_site' => 'Redaktejo', |
|
| 308 | - 'icone_gestion_langues' => 'Mastrumado de lingvoj', |
|
| 309 | - 'icone_informations_personnelles' => 'Personaj datenoj', |
|
| 310 | - 'icone_interface_complet' => 'kompleta interfaco', |
|
| 311 | - 'icone_interface_simple' => 'Simpla interfaco', |
|
| 312 | - 'icone_maintenance_site' => 'Retejo-bontenado', |
|
| 313 | - 'icone_messagerie_personnelle' => 'Persona mesaĝilo', |
|
| 314 | - 'icone_repartition_debut' => 'Afiŝi la distribuon ekde la komenco', |
|
| 315 | - 'icone_rubriques' => 'Rubrikoj', |
|
| 316 | - 'icone_sauver_site' => 'Savkopii la retejon', |
|
| 317 | - 'icone_site_entier' => 'La tuta retejo', |
|
| 318 | - 'icone_sites_references' => 'Referencigitaj retejoj', |
|
| 319 | - 'icone_statistiques' => 'Statistikoj de la retejo', |
|
| 320 | - 'icone_suivi_activite' => 'Gvati vivon de la retejo', |
|
| 321 | - 'icone_suivi_actualite' => 'Evoluado de la retejo', |
|
| 322 | - 'icone_suivi_pettions' => 'Superrigardi/mastrumi la petskribon', |
|
| 323 | - 'icone_suivi_revisions' => 'Modifoj de artikoloj', |
|
| 324 | - 'icone_supprimer_document' => 'Forigi tiun dokumenton', |
|
| 325 | - 'icone_supprimer_image' => 'Forigi tiun bildon', |
|
| 326 | - 'icone_tous_articles' => 'Ĉiuj viaj artikoloj', |
|
| 327 | - 'icone_tous_auteur' => 'Ĉiuj aŭtoroj', |
|
| 328 | - 'icone_tous_visiteur' => 'Ĉiuj vizitantoj', |
|
| 329 | - 'icone_visiter_site' => 'Vidi la publikan spacon', |
|
| 330 | - 'icone_voir_en_ligne' => 'Vidi ĉeretigite', |
|
| 331 | - 'img_indisponible' => 'nedisponebla bildo', |
|
| 332 | - 'impossible' => 'ne eblas', |
|
| 333 | - 'info_a_suivre' => 'STABEJO »', |
|
| 334 | - 'info_acces_interdit' => 'Malpermesata aliro', |
|
| 335 | - 'info_acces_refuse' => 'Rifuzita aliro', |
|
| 336 | - 'info_action' => 'Ago : @action@', |
|
| 337 | - 'info_administrer_rubriques' => 'Vi povas mastrumi tiun rubrikon kaj ties subrubrikojn', |
|
| 338 | - 'info_adresse_non_indiquee' => 'Vi indikis neniun adreson por testi !', |
|
| 339 | - 'info_aide' => 'HELPO :', |
|
| 340 | - 'info_ajouter_mot' => 'Aldoni tiun vorton', |
|
| 341 | - 'info_annonce' => 'ANONCO', |
|
| 342 | - 'info_annonces_generales' => 'Ĝeneralaj anoncoj :', |
|
| 343 | - 'info_article_propose' => 'Proponita artikolo', |
|
| 344 | - 'info_article_publie' => 'Publikigita artikolo', |
|
| 345 | - 'info_article_redaction' => 'Redaktata artikolo', |
|
| 346 | - 'info_article_refuse' => 'Rifuzita artikolo', |
|
| 347 | - 'info_article_supprime' => 'Forviŝita artikolo', |
|
| 348 | - 'info_articles' => 'Artikoloj', |
|
| 349 | - 'info_articles_a_valider' => 'Validigendaj artikoloj', |
|
| 350 | - 'info_articles_nb' => '@nb@ artikoloj', |
|
| 351 | - 'info_articles_proposes' => 'Proponitaj artikoloj', |
|
| 352 | - 'info_articles_un' => '1 artikolo', |
|
| 353 | - 'info_auteurs_nombre' => 'aŭtoro(j) :', |
|
| 354 | - 'info_authentification_ftp' => 'Aŭtentigo (per FTP).', |
|
| 355 | - 'info_breves_2' => 'fulm-informoj', |
|
| 356 | - 'info_breves_nb' => '@nb@ fulm-informoj', |
|
| 357 | - 'info_breves_un' => '1 fulm-informo', |
|
| 358 | - 'info_connexion_refusee' => 'Konektiĝo rifuzata', |
|
| 359 | - 'info_contact_developpeur' => 'Bonvolu kontakti programiston.', |
|
| 360 | - 'info_contenance' => 'Tiu retejo enhavas :', |
|
| 361 | - 'info_contribution' => 'kontribuaĵoj', |
|
| 362 | - 'info_copyright' => '@spip@ estas libera programo distribuata @lien_gpl@.', |
|
| 363 | - 'info_copyright_doc' => 'Por pliaj informoj vidu la retpaĝon <a href="@spipnet@">@spipnet_affiche@</a>.', |
|
| 364 | - 'info_copyright_gpl' => 'sub licenco GPL', |
|
| 365 | - 'info_cours_edition' => 'Viaj redaktataj artikoloj', # MODIF |
|
| 366 | - 'info_creer_repertoire' => 'Bonvolu krei dosieron aŭ dosierujon kies nomo estu :', |
|
| 367 | - 'info_creer_repertoire_2' => 'ene de la subdosierujo <b>@repertoire@</b>, kaj :', |
|
| 368 | - 'info_creer_vignette' => 'aŭtomata kreo de la vinjeto', |
|
| 369 | - 'info_creerdansrubrique_non_autorise' => 'Vi ne havas sufiĉajn rajtojn por krei enhavo en ĉi tiu rubriko', |
|
| 370 | - 'info_deplier' => 'Malfaldi', |
|
| 371 | - 'info_descriptif_nombre' => 'priskribo(j) :', |
|
| 372 | - 'info_description' => 'Priskribo :', |
|
| 373 | - 'info_description_2' => 'Priskribo :', |
|
| 374 | - 'info_dimension' => 'Dimensioj :', |
|
| 375 | - 'info_documents_nb' => '@nb@ dokumentoj', |
|
| 376 | - 'info_documents_un' => '1 dokumento', |
|
| 377 | - 'info_ecire_message_prive' => 'Skribi privatan mesaĝon', |
|
| 378 | - 'info_email_invalide' => 'Nevalida retpoŝtadreso.', |
|
| 379 | - 'info_en_cours_validation' => 'Viaj redaktataj artikoloj', |
|
| 380 | - 'info_en_ligne' => 'Nun ĉerete :', |
|
| 381 | - 'info_envoyer_message_prive' => 'Sendi privatan mesaĝon al tiu ĉi aŭtoro', |
|
| 382 | - 'info_erreur_requete' => 'Eraro en la peto : ', |
|
| 383 | - 'info_erreur_squelette2' => 'Neniu skeleto <b>@fichier@</b> disponeblas...', |
|
| 384 | - 'info_erreur_systeme' => 'Sistemo-eraro (errno @errsys@)', |
|
| 385 | - 'info_erreur_systeme2' => 'Eble la fiksdisko plenas, aŭ la datenbazo estas difektita.<br /> |
|
| 287 | + // I |
|
| 288 | + 'ical_texte_rss_articles' => 'La abondosiero (backend-dosiero) de la artikoloj de tiu retejo troveblas ĉe la retadreso :', |
|
| 289 | + 'ical_texte_rss_articles2' => 'Sube, vi povas trovi abonligojn por gvati evoluadon de artikoloj el ĉiu rubriko de la retejo :', |
|
| 290 | + 'ical_texte_rss_breves' => 'Krome ekzistas dosiero enhavanta ĉiujn fulm-informojn de la retejo. Precizigante la rubriko-numeron, vi ricevos nur la fulm-informojn el tiu rubriko.', |
|
| 291 | + 'icone_a_suivre' => 'Stabejo', |
|
| 292 | + 'icone_admin_site' => 'Reteja administrado', |
|
| 293 | + 'icone_agenda' => 'Agendo', |
|
| 294 | + 'icone_aide_ligne' => 'Helpilo', |
|
| 295 | + 'icone_articles' => 'Artikoloj', |
|
| 296 | + 'icone_auteurs' => 'Aŭtoroj', |
|
| 297 | + 'icone_brouteur' => 'Rapida retumado', |
|
| 298 | + 'icone_configuration_site' => 'Konfiguro', |
|
| 299 | + 'icone_configurer_site' => 'Konfiguri vian retejon', |
|
| 300 | + 'icone_creer_nouvel_auteur' => 'Krei novan aŭtoron', |
|
| 301 | + 'icone_creer_rubrique' => 'Krei novan rubrikon', |
|
| 302 | + 'icone_creer_sous_rubrique' => 'Krei sub-rubrikon', |
|
| 303 | + 'icone_deconnecter' => 'Elsaluti', |
|
| 304 | + 'icone_discussions' => 'Diskutoj', |
|
| 305 | + 'icone_doc_rubrique' => 'Dokumentoj de la rubrikoj', |
|
| 306 | + 'icone_ecrire_article' => 'Skribi novan artikolon', |
|
| 307 | + 'icone_edition_site' => 'Redaktejo', |
|
| 308 | + 'icone_gestion_langues' => 'Mastrumado de lingvoj', |
|
| 309 | + 'icone_informations_personnelles' => 'Personaj datenoj', |
|
| 310 | + 'icone_interface_complet' => 'kompleta interfaco', |
|
| 311 | + 'icone_interface_simple' => 'Simpla interfaco', |
|
| 312 | + 'icone_maintenance_site' => 'Retejo-bontenado', |
|
| 313 | + 'icone_messagerie_personnelle' => 'Persona mesaĝilo', |
|
| 314 | + 'icone_repartition_debut' => 'Afiŝi la distribuon ekde la komenco', |
|
| 315 | + 'icone_rubriques' => 'Rubrikoj', |
|
| 316 | + 'icone_sauver_site' => 'Savkopii la retejon', |
|
| 317 | + 'icone_site_entier' => 'La tuta retejo', |
|
| 318 | + 'icone_sites_references' => 'Referencigitaj retejoj', |
|
| 319 | + 'icone_statistiques' => 'Statistikoj de la retejo', |
|
| 320 | + 'icone_suivi_activite' => 'Gvati vivon de la retejo', |
|
| 321 | + 'icone_suivi_actualite' => 'Evoluado de la retejo', |
|
| 322 | + 'icone_suivi_pettions' => 'Superrigardi/mastrumi la petskribon', |
|
| 323 | + 'icone_suivi_revisions' => 'Modifoj de artikoloj', |
|
| 324 | + 'icone_supprimer_document' => 'Forigi tiun dokumenton', |
|
| 325 | + 'icone_supprimer_image' => 'Forigi tiun bildon', |
|
| 326 | + 'icone_tous_articles' => 'Ĉiuj viaj artikoloj', |
|
| 327 | + 'icone_tous_auteur' => 'Ĉiuj aŭtoroj', |
|
| 328 | + 'icone_tous_visiteur' => 'Ĉiuj vizitantoj', |
|
| 329 | + 'icone_visiter_site' => 'Vidi la publikan spacon', |
|
| 330 | + 'icone_voir_en_ligne' => 'Vidi ĉeretigite', |
|
| 331 | + 'img_indisponible' => 'nedisponebla bildo', |
|
| 332 | + 'impossible' => 'ne eblas', |
|
| 333 | + 'info_a_suivre' => 'STABEJO »', |
|
| 334 | + 'info_acces_interdit' => 'Malpermesata aliro', |
|
| 335 | + 'info_acces_refuse' => 'Rifuzita aliro', |
|
| 336 | + 'info_action' => 'Ago : @action@', |
|
| 337 | + 'info_administrer_rubriques' => 'Vi povas mastrumi tiun rubrikon kaj ties subrubrikojn', |
|
| 338 | + 'info_adresse_non_indiquee' => 'Vi indikis neniun adreson por testi !', |
|
| 339 | + 'info_aide' => 'HELPO :', |
|
| 340 | + 'info_ajouter_mot' => 'Aldoni tiun vorton', |
|
| 341 | + 'info_annonce' => 'ANONCO', |
|
| 342 | + 'info_annonces_generales' => 'Ĝeneralaj anoncoj :', |
|
| 343 | + 'info_article_propose' => 'Proponita artikolo', |
|
| 344 | + 'info_article_publie' => 'Publikigita artikolo', |
|
| 345 | + 'info_article_redaction' => 'Redaktata artikolo', |
|
| 346 | + 'info_article_refuse' => 'Rifuzita artikolo', |
|
| 347 | + 'info_article_supprime' => 'Forviŝita artikolo', |
|
| 348 | + 'info_articles' => 'Artikoloj', |
|
| 349 | + 'info_articles_a_valider' => 'Validigendaj artikoloj', |
|
| 350 | + 'info_articles_nb' => '@nb@ artikoloj', |
|
| 351 | + 'info_articles_proposes' => 'Proponitaj artikoloj', |
|
| 352 | + 'info_articles_un' => '1 artikolo', |
|
| 353 | + 'info_auteurs_nombre' => 'aŭtoro(j) :', |
|
| 354 | + 'info_authentification_ftp' => 'Aŭtentigo (per FTP).', |
|
| 355 | + 'info_breves_2' => 'fulm-informoj', |
|
| 356 | + 'info_breves_nb' => '@nb@ fulm-informoj', |
|
| 357 | + 'info_breves_un' => '1 fulm-informo', |
|
| 358 | + 'info_connexion_refusee' => 'Konektiĝo rifuzata', |
|
| 359 | + 'info_contact_developpeur' => 'Bonvolu kontakti programiston.', |
|
| 360 | + 'info_contenance' => 'Tiu retejo enhavas :', |
|
| 361 | + 'info_contribution' => 'kontribuaĵoj', |
|
| 362 | + 'info_copyright' => '@spip@ estas libera programo distribuata @lien_gpl@.', |
|
| 363 | + 'info_copyright_doc' => 'Por pliaj informoj vidu la retpaĝon <a href="@spipnet@">@spipnet_affiche@</a>.', |
|
| 364 | + 'info_copyright_gpl' => 'sub licenco GPL', |
|
| 365 | + 'info_cours_edition' => 'Viaj redaktataj artikoloj', # MODIF |
|
| 366 | + 'info_creer_repertoire' => 'Bonvolu krei dosieron aŭ dosierujon kies nomo estu :', |
|
| 367 | + 'info_creer_repertoire_2' => 'ene de la subdosierujo <b>@repertoire@</b>, kaj :', |
|
| 368 | + 'info_creer_vignette' => 'aŭtomata kreo de la vinjeto', |
|
| 369 | + 'info_creerdansrubrique_non_autorise' => 'Vi ne havas sufiĉajn rajtojn por krei enhavo en ĉi tiu rubriko', |
|
| 370 | + 'info_deplier' => 'Malfaldi', |
|
| 371 | + 'info_descriptif_nombre' => 'priskribo(j) :', |
|
| 372 | + 'info_description' => 'Priskribo :', |
|
| 373 | + 'info_description_2' => 'Priskribo :', |
|
| 374 | + 'info_dimension' => 'Dimensioj :', |
|
| 375 | + 'info_documents_nb' => '@nb@ dokumentoj', |
|
| 376 | + 'info_documents_un' => '1 dokumento', |
|
| 377 | + 'info_ecire_message_prive' => 'Skribi privatan mesaĝon', |
|
| 378 | + 'info_email_invalide' => 'Nevalida retpoŝtadreso.', |
|
| 379 | + 'info_en_cours_validation' => 'Viaj redaktataj artikoloj', |
|
| 380 | + 'info_en_ligne' => 'Nun ĉerete :', |
|
| 381 | + 'info_envoyer_message_prive' => 'Sendi privatan mesaĝon al tiu ĉi aŭtoro', |
|
| 382 | + 'info_erreur_requete' => 'Eraro en la peto : ', |
|
| 383 | + 'info_erreur_squelette2' => 'Neniu skeleto <b>@fichier@</b> disponeblas...', |
|
| 384 | + 'info_erreur_systeme' => 'Sistemo-eraro (errno @errsys@)', |
|
| 385 | + 'info_erreur_systeme2' => 'Eble la fiksdisko plenas, aŭ la datenbazo estas difektita.<br /> |
|
| 386 | 386 | <span style="color:red;">Provu<a href=\'@script@\'>ripari la datenbazon</a>, |
| 387 | 387 | aŭ kontaktu vian retgastiganton.</span>', |
| 388 | - 'info_fini' => 'Finite !', |
|
| 389 | - 'info_format_image' => 'Bildaj formatoj uzeblaj por krei vinjetojn : @gd_formats@.', |
|
| 390 | - 'info_format_non_defini' => 'nedefinita formato', |
|
| 391 | - 'info_grand_ecran' => 'Granda ekrano', |
|
| 392 | - 'info_image_aide' => 'HELPILO', |
|
| 393 | - 'info_image_process_titre' => 'Metodo pri vinjet-farado', |
|
| 394 | - 'info_impossible_lire_page' => '<b>Eraro !</b> Ne eblas legi la paĝon <tt> <html>@test_proxy@</html> </tt> tra la prokura servilo <tt>', |
|
| 395 | - 'info_installation_systeme_publication' => 'Instalo de la publikiga sistemo...', |
|
| 396 | - 'info_installer_documents' => 'Vi povas aŭtomate instali ĉiujn dokumentojn troviĝantajn en la dosiero @upload@.', |
|
| 397 | - 'info_installer_ftp' => 'Kiel mastrumanto, vi povas instali (FTP-e) dosierojn en la dosierujon @upload@ kaj poste rekte selekti ilin ĉi tie.', |
|
| 398 | - 'info_installer_images' => 'Vi povas instali bildojn je la formatoj JPEG, GIF kaj PNG.', |
|
| 399 | - 'info_installer_images_dossier' => 'Instali bildojn en la dosierujon @upload@ por povi ilin selekti ĉi tie.', |
|
| 400 | - 'info_interface_complete' => 'kompleta interfaco', |
|
| 401 | - 'info_interface_simple' => 'Simpla interfaco', |
|
| 402 | - 'info_joindre_document_article' => 'Vi povas ligi kun tiu artikolo dokumentojn tiajn, kiaj', |
|
| 403 | - 'info_joindre_document_rubrique' => 'Vi povas ligi kun tiu rubriko dokumentojn tiajn, kiaj', |
|
| 404 | - 'info_joindre_documents_article' => 'Vi povas ligi kun tiu artikolo dokumentojn tiajn, kiaj :', |
|
| 405 | - 'info_l_article' => 'la artikolo', |
|
| 406 | - 'info_la_breve' => 'la fulm-informo', |
|
| 407 | - 'info_la_rubrique' => 'la rubriko', |
|
| 408 | - 'info_langue_principale' => 'Ĉefa lingvo de la retejo', |
|
| 409 | - 'info_largeur_vignette' => '@largeur_vignette@ x @hauteur_vignette@ bilderoj', |
|
| 410 | - 'info_les_auteurs_1' => 'de @les_auteurs@', |
|
| 411 | - 'info_logo_format_interdit' => 'Nur vinjetoj je formatoj @formats@ estas permesataj.', |
|
| 412 | - 'info_logo_max_poids' => 'Vinjetoj devige pezu malpli ol @maxi@ (tiu dosiero pezas @actuel@).', |
|
| 413 | - 'info_mail_fournisseur' => '[email protected]', |
|
| 414 | - 'info_message_2' => 'MESAĜO', |
|
| 415 | - 'info_message_supprime' => 'FORIGITA MESAĜO', |
|
| 416 | - 'info_messages_nb' => '@nb@ mesaĝoj', |
|
| 417 | - 'info_messages_un' => '1 mesaĝo', |
|
| 418 | - 'info_mise_en_ligne' => 'Dato de ĉeretigo : ', |
|
| 419 | - 'info_modification_parametres_securite' => 'modifoj de la sekuraj parametroj', |
|
| 420 | - 'info_mois_courant' => 'En la kuranta monato :', |
|
| 421 | - 'info_mot_cle_ajoute' => 'La jena ŝlosilvorto estas ligita kun', |
|
| 422 | - 'info_multi_herit' => 'Defaŭlta lingvo', |
|
| 423 | - 'info_multi_langues_soulignees' => 'Por la <u>substrekitaj lingvoj</u>, ĉiuj tekstoj de la interfaco estas tute aŭ parte tradukitaj. Kiam vi elektas tiujn lingvojn, multaj elementoj de la publika retejo (datenoj, formularoj) estos aŭtomate tradukitaj. Por la nesubstrekitaj lingvoj, tiuj elementoj afiŝiĝos en la ĉefa lingvo de la retejo.', |
|
| 424 | - 'info_multilinguisme' => 'Multlingvismo', |
|
| 425 | - 'info_nom_non_utilisateurs_connectes' => 'Via nomo ne aperas en la listo de la ensalutintaj uzantoj.', |
|
| 426 | - 'info_nom_utilisateurs_connectes' => 'Via nomo aperas en la listo de la ensalutintaj uzantoj.', |
|
| 427 | - 'info_nombre_en_ligne' => 'Nun ensalutintaj :', |
|
| 428 | - 'info_non_resultat' => 'Neniu rezulto por "@cherche_mot@"', |
|
| 429 | - 'info_non_utilisation_messagerie' => 'Vi ne uzas la internan mesaĝilon de tiu retejo.', |
|
| 430 | - 'info_nouveau_message' => 'VI HAVAS NOVAN MESAĜON', |
|
| 431 | - 'info_nouveaux_messages' => 'VI HAVAS @total_messages@ NOVA(J)N MESAĜO(J)N', |
|
| 432 | - 'info_numero_abbreviation' => 'N° ', |
|
| 433 | - 'info_obligatoire' => 'Tiu ĉi informo estas deviga', |
|
| 434 | - 'info_pense_bete' => 'MEMORIGILO', |
|
| 435 | - 'info_petit_ecran' => 'Eta ekrano', |
|
| 436 | - 'info_petition_close' => 'Petskribo fermita', |
|
| 437 | - 'info_pixels' => 'bilderoj', |
|
| 438 | - 'info_plusieurs_mots_trouves' => 'Pluraj ŝlosilvortoj trovitaj por "@cherche_mot@" :', |
|
| 439 | - 'info_portfolio_automatique' => 'Aŭtomata dokumentujo :', |
|
| 440 | - 'info_premier_resultat' => '[@debut_limit@ unuaj rezultoj el @total@]', |
|
| 441 | - 'info_premier_resultat_sur' => '[@debut_limit@ unuaj rezultoj el @total@]', |
|
| 442 | - 'info_propose_1' => '[@nom_site_spip@] Proponas : @titre@', |
|
| 443 | - 'info_propose_2' => 'Proponita artikolo |
|
| 388 | + 'info_fini' => 'Finite !', |
|
| 389 | + 'info_format_image' => 'Bildaj formatoj uzeblaj por krei vinjetojn : @gd_formats@.', |
|
| 390 | + 'info_format_non_defini' => 'nedefinita formato', |
|
| 391 | + 'info_grand_ecran' => 'Granda ekrano', |
|
| 392 | + 'info_image_aide' => 'HELPILO', |
|
| 393 | + 'info_image_process_titre' => 'Metodo pri vinjet-farado', |
|
| 394 | + 'info_impossible_lire_page' => '<b>Eraro !</b> Ne eblas legi la paĝon <tt> <html>@test_proxy@</html> </tt> tra la prokura servilo <tt>', |
|
| 395 | + 'info_installation_systeme_publication' => 'Instalo de la publikiga sistemo...', |
|
| 396 | + 'info_installer_documents' => 'Vi povas aŭtomate instali ĉiujn dokumentojn troviĝantajn en la dosiero @upload@.', |
|
| 397 | + 'info_installer_ftp' => 'Kiel mastrumanto, vi povas instali (FTP-e) dosierojn en la dosierujon @upload@ kaj poste rekte selekti ilin ĉi tie.', |
|
| 398 | + 'info_installer_images' => 'Vi povas instali bildojn je la formatoj JPEG, GIF kaj PNG.', |
|
| 399 | + 'info_installer_images_dossier' => 'Instali bildojn en la dosierujon @upload@ por povi ilin selekti ĉi tie.', |
|
| 400 | + 'info_interface_complete' => 'kompleta interfaco', |
|
| 401 | + 'info_interface_simple' => 'Simpla interfaco', |
|
| 402 | + 'info_joindre_document_article' => 'Vi povas ligi kun tiu artikolo dokumentojn tiajn, kiaj', |
|
| 403 | + 'info_joindre_document_rubrique' => 'Vi povas ligi kun tiu rubriko dokumentojn tiajn, kiaj', |
|
| 404 | + 'info_joindre_documents_article' => 'Vi povas ligi kun tiu artikolo dokumentojn tiajn, kiaj :', |
|
| 405 | + 'info_l_article' => 'la artikolo', |
|
| 406 | + 'info_la_breve' => 'la fulm-informo', |
|
| 407 | + 'info_la_rubrique' => 'la rubriko', |
|
| 408 | + 'info_langue_principale' => 'Ĉefa lingvo de la retejo', |
|
| 409 | + 'info_largeur_vignette' => '@largeur_vignette@ x @hauteur_vignette@ bilderoj', |
|
| 410 | + 'info_les_auteurs_1' => 'de @les_auteurs@', |
|
| 411 | + 'info_logo_format_interdit' => 'Nur vinjetoj je formatoj @formats@ estas permesataj.', |
|
| 412 | + 'info_logo_max_poids' => 'Vinjetoj devige pezu malpli ol @maxi@ (tiu dosiero pezas @actuel@).', |
|
| 413 | + 'info_mail_fournisseur' => '[email protected]', |
|
| 414 | + 'info_message_2' => 'MESAĜO', |
|
| 415 | + 'info_message_supprime' => 'FORIGITA MESAĜO', |
|
| 416 | + 'info_messages_nb' => '@nb@ mesaĝoj', |
|
| 417 | + 'info_messages_un' => '1 mesaĝo', |
|
| 418 | + 'info_mise_en_ligne' => 'Dato de ĉeretigo : ', |
|
| 419 | + 'info_modification_parametres_securite' => 'modifoj de la sekuraj parametroj', |
|
| 420 | + 'info_mois_courant' => 'En la kuranta monato :', |
|
| 421 | + 'info_mot_cle_ajoute' => 'La jena ŝlosilvorto estas ligita kun', |
|
| 422 | + 'info_multi_herit' => 'Defaŭlta lingvo', |
|
| 423 | + 'info_multi_langues_soulignees' => 'Por la <u>substrekitaj lingvoj</u>, ĉiuj tekstoj de la interfaco estas tute aŭ parte tradukitaj. Kiam vi elektas tiujn lingvojn, multaj elementoj de la publika retejo (datenoj, formularoj) estos aŭtomate tradukitaj. Por la nesubstrekitaj lingvoj, tiuj elementoj afiŝiĝos en la ĉefa lingvo de la retejo.', |
|
| 424 | + 'info_multilinguisme' => 'Multlingvismo', |
|
| 425 | + 'info_nom_non_utilisateurs_connectes' => 'Via nomo ne aperas en la listo de la ensalutintaj uzantoj.', |
|
| 426 | + 'info_nom_utilisateurs_connectes' => 'Via nomo aperas en la listo de la ensalutintaj uzantoj.', |
|
| 427 | + 'info_nombre_en_ligne' => 'Nun ensalutintaj :', |
|
| 428 | + 'info_non_resultat' => 'Neniu rezulto por "@cherche_mot@"', |
|
| 429 | + 'info_non_utilisation_messagerie' => 'Vi ne uzas la internan mesaĝilon de tiu retejo.', |
|
| 430 | + 'info_nouveau_message' => 'VI HAVAS NOVAN MESAĜON', |
|
| 431 | + 'info_nouveaux_messages' => 'VI HAVAS @total_messages@ NOVA(J)N MESAĜO(J)N', |
|
| 432 | + 'info_numero_abbreviation' => 'N° ', |
|
| 433 | + 'info_obligatoire' => 'Tiu ĉi informo estas deviga', |
|
| 434 | + 'info_pense_bete' => 'MEMORIGILO', |
|
| 435 | + 'info_petit_ecran' => 'Eta ekrano', |
|
| 436 | + 'info_petition_close' => 'Petskribo fermita', |
|
| 437 | + 'info_pixels' => 'bilderoj', |
|
| 438 | + 'info_plusieurs_mots_trouves' => 'Pluraj ŝlosilvortoj trovitaj por "@cherche_mot@" :', |
|
| 439 | + 'info_portfolio_automatique' => 'Aŭtomata dokumentujo :', |
|
| 440 | + 'info_premier_resultat' => '[@debut_limit@ unuaj rezultoj el @total@]', |
|
| 441 | + 'info_premier_resultat_sur' => '[@debut_limit@ unuaj rezultoj el @total@]', |
|
| 442 | + 'info_propose_1' => '[@nom_site_spip@] Proponas : @titre@', |
|
| 443 | + 'info_propose_2' => 'Proponita artikolo |
|
| 444 | 444 | ---------------', |
| 445 | - 'info_propose_3' => 'La artikolo "@titre@" estas proponita por publikigo.', |
|
| 446 | - 'info_propose_4' => 'Vi estas petata konsulti ĝin kaj doni vian opinion', |
|
| 447 | - 'info_propose_5' => 'en la forumo ligita al ĝi. Ĝi estas disponebla el la adreso :', |
|
| 448 | - 'info_publie_01' => 'La artikolo "@titre@" estis validigita de @connect_nom@.', |
|
| 449 | - 'info_publie_1' => '[@nom_site_spip@] PUBLIKIGAS : @titre@', |
|
| 450 | - 'info_publie_2' => 'Artikolo publikigita |
|
| 445 | + 'info_propose_3' => 'La artikolo "@titre@" estas proponita por publikigo.', |
|
| 446 | + 'info_propose_4' => 'Vi estas petata konsulti ĝin kaj doni vian opinion', |
|
| 447 | + 'info_propose_5' => 'en la forumo ligita al ĝi. Ĝi estas disponebla el la adreso :', |
|
| 448 | + 'info_publie_01' => 'La artikolo "@titre@" estis validigita de @connect_nom@.', |
|
| 449 | + 'info_publie_1' => '[@nom_site_spip@] PUBLIKIGAS : @titre@', |
|
| 450 | + 'info_publie_2' => 'Artikolo publikigita |
|
| 451 | 451 | --------------', |
| 452 | - 'info_rechercher' => 'Serĉi', |
|
| 453 | - 'info_rechercher_02' => 'Serĉi :', |
|
| 454 | - 'info_remplacer_vignette' => 'Anstataŭi la defaŭltan vinjeton per propra vinjeto :', |
|
| 455 | - 'info_rubriques_nb' => '@nb@ rubrikoj', |
|
| 456 | - 'info_rubriques_un' => '1 rubriko', |
|
| 457 | - 'info_sans_titre_2' => 'sen titolo', |
|
| 458 | - 'info_selectionner_fichier' => 'Vi povas selekti dosieron el la dosierujo @upload@', |
|
| 459 | - 'info_selectionner_fichier_2' => 'Elektu dosieron :', |
|
| 460 | - 'info_sites_nb' => '@nb@ retejoj', |
|
| 461 | - 'info_sites_un' => '1 retejo', |
|
| 462 | - 'info_supprimer_vignette' => 'forigi la vinjeton', |
|
| 463 | - 'info_symbole_bleu' => 'La <b>blua</b> simbolo indikas <b>memorigilon</b> : tio estas al vi persone adresata memoriga mesaĝo.', |
|
| 464 | - 'info_symbole_jaune' => 'La <b>flava</b> simbolo indikas <b>anoncon al ĉiuj redaktantoj</b> : modifebla de ĉiuj mastrumantoj, kaj videbla de ĉiuj redaktantoj.', |
|
| 465 | - 'info_symbole_vert' => 'La <b>verda</b> simbolo indikas la <b>mesaĝojn interŝanĝitajn kun aliaj uzantoj</b> de la retejo.', |
|
| 466 | - 'info_telecharger_nouveau_logo' => 'Alŝuti novan vinjeton :', |
|
| 467 | - 'info_telecharger_ordinateur' => 'Alŝuti ekde via komputilo :', |
|
| 468 | - 'info_tous_resultats_enregistres' => '[ĉiuj rezultoj estas registritaj]', |
|
| 469 | - 'info_tout_afficher' => 'Ĉion afiŝi', |
|
| 470 | - 'info_travaux_texte' => 'Tiu retejo ne jam estas konfigurita. Bonvolu reveni poste...', |
|
| 471 | - 'info_travaux_titre' => 'Retejo prilaborata ', |
|
| 472 | - 'info_trop_resultat' => 'Tro da rezultoj por "@cherche_mot@" ; bonvolu fajnigi la serĉokriteriojn.', |
|
| 473 | - 'info_utilisation_messagerie_interne' => 'Vi uzas la internan poŝton de tiu ĉi retejo.', |
|
| 474 | - 'info_valider_lien' => 'validigi tiun ĉi ligilon', |
|
| 475 | - 'info_verifier_image' => ', bonvolu kontroli ĉu viaj bildoj estas trafe transigitaj.', |
|
| 476 | - 'info_vignette_defaut' => 'Defaŭlta vinjeto', |
|
| 477 | - 'info_vignette_personnalisee' => 'Persona vinjeto', |
|
| 478 | - 'info_visite' => 'vizito :', |
|
| 479 | - 'info_vos_rendez_vous' => 'Viaj estontaj rendevuoj', |
|
| 480 | - 'infos_vos_pense_bete' => 'Viaj memorigiloj', |
|
| 452 | + 'info_rechercher' => 'Serĉi', |
|
| 453 | + 'info_rechercher_02' => 'Serĉi :', |
|
| 454 | + 'info_remplacer_vignette' => 'Anstataŭi la defaŭltan vinjeton per propra vinjeto :', |
|
| 455 | + 'info_rubriques_nb' => '@nb@ rubrikoj', |
|
| 456 | + 'info_rubriques_un' => '1 rubriko', |
|
| 457 | + 'info_sans_titre_2' => 'sen titolo', |
|
| 458 | + 'info_selectionner_fichier' => 'Vi povas selekti dosieron el la dosierujo @upload@', |
|
| 459 | + 'info_selectionner_fichier_2' => 'Elektu dosieron :', |
|
| 460 | + 'info_sites_nb' => '@nb@ retejoj', |
|
| 461 | + 'info_sites_un' => '1 retejo', |
|
| 462 | + 'info_supprimer_vignette' => 'forigi la vinjeton', |
|
| 463 | + 'info_symbole_bleu' => 'La <b>blua</b> simbolo indikas <b>memorigilon</b> : tio estas al vi persone adresata memoriga mesaĝo.', |
|
| 464 | + 'info_symbole_jaune' => 'La <b>flava</b> simbolo indikas <b>anoncon al ĉiuj redaktantoj</b> : modifebla de ĉiuj mastrumantoj, kaj videbla de ĉiuj redaktantoj.', |
|
| 465 | + 'info_symbole_vert' => 'La <b>verda</b> simbolo indikas la <b>mesaĝojn interŝanĝitajn kun aliaj uzantoj</b> de la retejo.', |
|
| 466 | + 'info_telecharger_nouveau_logo' => 'Alŝuti novan vinjeton :', |
|
| 467 | + 'info_telecharger_ordinateur' => 'Alŝuti ekde via komputilo :', |
|
| 468 | + 'info_tous_resultats_enregistres' => '[ĉiuj rezultoj estas registritaj]', |
|
| 469 | + 'info_tout_afficher' => 'Ĉion afiŝi', |
|
| 470 | + 'info_travaux_texte' => 'Tiu retejo ne jam estas konfigurita. Bonvolu reveni poste...', |
|
| 471 | + 'info_travaux_titre' => 'Retejo prilaborata ', |
|
| 472 | + 'info_trop_resultat' => 'Tro da rezultoj por "@cherche_mot@" ; bonvolu fajnigi la serĉokriteriojn.', |
|
| 473 | + 'info_utilisation_messagerie_interne' => 'Vi uzas la internan poŝton de tiu ĉi retejo.', |
|
| 474 | + 'info_valider_lien' => 'validigi tiun ĉi ligilon', |
|
| 475 | + 'info_verifier_image' => ', bonvolu kontroli ĉu viaj bildoj estas trafe transigitaj.', |
|
| 476 | + 'info_vignette_defaut' => 'Defaŭlta vinjeto', |
|
| 477 | + 'info_vignette_personnalisee' => 'Persona vinjeto', |
|
| 478 | + 'info_visite' => 'vizito :', |
|
| 479 | + 'info_vos_rendez_vous' => 'Viaj estontaj rendevuoj', |
|
| 480 | + 'infos_vos_pense_bete' => 'Viaj memorigiloj', |
|
| 481 | 481 | |
| 482 | - // L |
|
| 483 | - 'label_ajout_id_rapide' => 'Rapida aldono', |
|
| 484 | - 'label_poids_fichier' => 'Grandeco', |
|
| 485 | - 'lien_afficher_icones_seuls' => 'Afiŝi nur la piktogramojn', |
|
| 486 | - 'lien_afficher_texte_icones' => 'Afiŝi la piktogramojn kaj la tekston', |
|
| 487 | - 'lien_afficher_texte_seul' => 'Afiŝi nur la tekston', |
|
| 488 | - 'lien_liberer' => 'liberigi', |
|
| 489 | - 'lien_liberer_tous' => 'Liberigi ĉiujn', |
|
| 490 | - 'lien_nouvea_pense_bete' => 'NOVA MEMORIGILO', |
|
| 491 | - 'lien_nouveau_message' => 'NOVA MESAĜO', |
|
| 492 | - 'lien_nouvelle_annonce' => 'NOVA ANONCO', |
|
| 493 | - 'lien_petitions' => 'PETSKRIBO', |
|
| 494 | - 'lien_popularite' => 'populareco : @popularite@%', |
|
| 495 | - 'lien_racine_site' => 'RADIKO DE LA RETEJO', |
|
| 496 | - 'lien_reessayer' => 'reprovi', |
|
| 497 | - 'lien_repondre_message' => 'Respondi al tiu mesaĝo', |
|
| 498 | - 'lien_supprimer' => 'forigi', |
|
| 499 | - 'lien_tout_afficher' => 'Afiŝi ĉion', |
|
| 500 | - 'lien_visite_site' => 'viziti tiun retejon', |
|
| 501 | - 'lien_visites' => '@visites@ vizitoj', |
|
| 502 | - 'lien_voir_auteur' => 'Vidi tiun aŭtoron', |
|
| 503 | - 'ligne' => 'Linio', |
|
| 504 | - 'login' => 'Ensaluti', |
|
| 505 | - 'login_acces_prive' => 'aliro al la privata spaco', |
|
| 506 | - 'login_autre_identifiant' => 'ensaluti per alia salutnomo', |
|
| 507 | - 'login_cookie_accepte' => 'Bonvolu agordi vian retumilon por ke ĝi akceptu ilin (almenaŭ por tiu ĉi retejo).', |
|
| 508 | - 'login_cookie_oblige' => 'Por sekure ensalutiĝi en tiu retejo, vi devas akcepti la kuketojn.', |
|
| 509 | - 'login_deconnexion_ok' => 'Elsalutinta.', |
|
| 510 | - 'login_erreur_pass' => 'Pasvort-eraro.', |
|
| 511 | - 'login_espace_prive' => 'privata spaco', |
|
| 512 | - 'login_identifiant_inconnu' => 'La salutnomo « @login@ » estas nekonata.', |
|
| 513 | - 'login_login' => 'Salutnomo :', |
|
| 514 | - 'login_login2' => 'Salutnomo aŭ retpoŝtadreso :', |
|
| 515 | - 'login_login_pass_incorrect' => '(Salutnomo aŭ pasvorto ne valida.)', |
|
| 516 | - 'login_motpasseoublie' => 'ĉu pasvorto forgesita ?', |
|
| 517 | - 'login_non_securise' => 'Atentu, tiu formularo ne estas sekurigita ;. |
|
| 482 | + // L |
|
| 483 | + 'label_ajout_id_rapide' => 'Rapida aldono', |
|
| 484 | + 'label_poids_fichier' => 'Grandeco', |
|
| 485 | + 'lien_afficher_icones_seuls' => 'Afiŝi nur la piktogramojn', |
|
| 486 | + 'lien_afficher_texte_icones' => 'Afiŝi la piktogramojn kaj la tekston', |
|
| 487 | + 'lien_afficher_texte_seul' => 'Afiŝi nur la tekston', |
|
| 488 | + 'lien_liberer' => 'liberigi', |
|
| 489 | + 'lien_liberer_tous' => 'Liberigi ĉiujn', |
|
| 490 | + 'lien_nouvea_pense_bete' => 'NOVA MEMORIGILO', |
|
| 491 | + 'lien_nouveau_message' => 'NOVA MESAĜO', |
|
| 492 | + 'lien_nouvelle_annonce' => 'NOVA ANONCO', |
|
| 493 | + 'lien_petitions' => 'PETSKRIBO', |
|
| 494 | + 'lien_popularite' => 'populareco : @popularite@%', |
|
| 495 | + 'lien_racine_site' => 'RADIKO DE LA RETEJO', |
|
| 496 | + 'lien_reessayer' => 'reprovi', |
|
| 497 | + 'lien_repondre_message' => 'Respondi al tiu mesaĝo', |
|
| 498 | + 'lien_supprimer' => 'forigi', |
|
| 499 | + 'lien_tout_afficher' => 'Afiŝi ĉion', |
|
| 500 | + 'lien_visite_site' => 'viziti tiun retejon', |
|
| 501 | + 'lien_visites' => '@visites@ vizitoj', |
|
| 502 | + 'lien_voir_auteur' => 'Vidi tiun aŭtoron', |
|
| 503 | + 'ligne' => 'Linio', |
|
| 504 | + 'login' => 'Ensaluti', |
|
| 505 | + 'login_acces_prive' => 'aliro al la privata spaco', |
|
| 506 | + 'login_autre_identifiant' => 'ensaluti per alia salutnomo', |
|
| 507 | + 'login_cookie_accepte' => 'Bonvolu agordi vian retumilon por ke ĝi akceptu ilin (almenaŭ por tiu ĉi retejo).', |
|
| 508 | + 'login_cookie_oblige' => 'Por sekure ensalutiĝi en tiu retejo, vi devas akcepti la kuketojn.', |
|
| 509 | + 'login_deconnexion_ok' => 'Elsalutinta.', |
|
| 510 | + 'login_erreur_pass' => 'Pasvort-eraro.', |
|
| 511 | + 'login_espace_prive' => 'privata spaco', |
|
| 512 | + 'login_identifiant_inconnu' => 'La salutnomo « @login@ » estas nekonata.', |
|
| 513 | + 'login_login' => 'Salutnomo :', |
|
| 514 | + 'login_login2' => 'Salutnomo aŭ retpoŝtadreso :', |
|
| 515 | + 'login_login_pass_incorrect' => '(Salutnomo aŭ pasvorto ne valida.)', |
|
| 516 | + 'login_motpasseoublie' => 'ĉu pasvorto forgesita ?', |
|
| 517 | + 'login_non_securise' => 'Atentu, tiu formularo ne estas sekurigita ;. |
|
| 518 | 518 | Se vi ne volas ke via pasvorto estu fraŭde |
| 519 | 519 | interkaptita ĉe la reto, bonvolu aktivigi |
| 520 | 520 | Javascript-on en via retumilo', |
| 521 | - 'login_nouvelle_tentative' => 'Nova provo', |
|
| 522 | - 'login_par_ici' => 'Vi estas registrita... ĉi tien...', |
|
| 523 | - 'login_pass2' => 'Pasvorto :', |
|
| 524 | - 'login_preferez_refuser' => '<b>Se vi preferas rifuzi kuketojn</b>, alia konektometodo (malpli sekura) estas je via dispono :', |
|
| 525 | - 'login_recharger' => 'freŝigi tiun ĉi paĝon', |
|
| 526 | - 'login_rester_identifie' => 'Resti ensalutinta kelkajn tagojn', # MODIF |
|
| 527 | - 'login_retour_public' => 'Reen al la publika spaco', |
|
| 528 | - 'login_retour_site' => 'Reen al la publika spaco', |
|
| 529 | - 'login_retoursitepublic' => 'reen al la publika spaco', |
|
| 530 | - 'login_sans_cookie' => 'Ensaluto sen kuketo', |
|
| 531 | - 'login_securise' => 'Sekura salutnomo', |
|
| 532 | - 'login_sinscrire' => 'registriĝi', # MODIF |
|
| 533 | - 'login_test_navigateur' => 'testo retumilo/rekonektiĝo', |
|
| 534 | - 'login_verifiez_navigateur' => '(Kontrolu tamen ke via retumilo ne memoras pri via pasvorto...)', |
|
| 521 | + 'login_nouvelle_tentative' => 'Nova provo', |
|
| 522 | + 'login_par_ici' => 'Vi estas registrita... ĉi tien...', |
|
| 523 | + 'login_pass2' => 'Pasvorto :', |
|
| 524 | + 'login_preferez_refuser' => '<b>Se vi preferas rifuzi kuketojn</b>, alia konektometodo (malpli sekura) estas je via dispono :', |
|
| 525 | + 'login_recharger' => 'freŝigi tiun ĉi paĝon', |
|
| 526 | + 'login_rester_identifie' => 'Resti ensalutinta kelkajn tagojn', # MODIF |
|
| 527 | + 'login_retour_public' => 'Reen al la publika spaco', |
|
| 528 | + 'login_retour_site' => 'Reen al la publika spaco', |
|
| 529 | + 'login_retoursitepublic' => 'reen al la publika spaco', |
|
| 530 | + 'login_sans_cookie' => 'Ensaluto sen kuketo', |
|
| 531 | + 'login_securise' => 'Sekura salutnomo', |
|
| 532 | + 'login_sinscrire' => 'registriĝi', # MODIF |
|
| 533 | + 'login_test_navigateur' => 'testo retumilo/rekonektiĝo', |
|
| 534 | + 'login_verifiez_navigateur' => '(Kontrolu tamen ke via retumilo ne memoras pri via pasvorto...)', |
|
| 535 | 535 | |
| 536 | - // M |
|
| 537 | - 'masquer_colonne' => 'Kaŝi tiun ĉi kolumnon', |
|
| 538 | - 'masquer_trad' => 'kaŝi la tradukojn', |
|
| 539 | - 'message_nouveaux_identifiants_echec' => 'Ne eblas krei novajn ensalutilojn.', |
|
| 540 | - 'message_nouveaux_identifiants_echec_envoi' => 'Ne eblis sendi la novajn ensalutilojn.', |
|
| 541 | - 'message_nouveaux_identifiants_ok' => 'La novaj ensalutilojn estis senditaj al @email@.', |
|
| 542 | - 'module_fichiers_langues' => 'Dosieroj de lingvo', |
|
| 536 | + // M |
|
| 537 | + 'masquer_colonne' => 'Kaŝi tiun ĉi kolumnon', |
|
| 538 | + 'masquer_trad' => 'kaŝi la tradukojn', |
|
| 539 | + 'message_nouveaux_identifiants_echec' => 'Ne eblas krei novajn ensalutilojn.', |
|
| 540 | + 'message_nouveaux_identifiants_echec_envoi' => 'Ne eblis sendi la novajn ensalutilojn.', |
|
| 541 | + 'message_nouveaux_identifiants_ok' => 'La novaj ensalutilojn estis senditaj al @email@.', |
|
| 542 | + 'module_fichiers_langues' => 'Dosieroj de lingvo', |
|
| 543 | 543 | |
| 544 | - // N |
|
| 545 | - 'navigateur_pas_redirige' => 'Se via retumilo ne redirektiĝas, daŭrigu musklakante ĉi tie.', |
|
| 546 | - 'numero' => 'Numero', |
|
| 544 | + // N |
|
| 545 | + 'navigateur_pas_redirige' => 'Se via retumilo ne redirektiĝas, daŭrigu musklakante ĉi tie.', |
|
| 546 | + 'numero' => 'Numero', |
|
| 547 | 547 | |
| 548 | - // O |
|
| 549 | - 'occurence' => 'Trafo', |
|
| 550 | - 'onglet_affacer_base' => 'Forigi la datenbazon', |
|
| 551 | - 'onglet_auteur' => 'La aŭtoro', |
|
| 552 | - 'onglet_contenu_site' => 'Enhavo de la retejo', |
|
| 553 | - 'onglet_evolution_visite_mod' => 'Evoluado', |
|
| 554 | - 'onglet_fonctions_avances' => 'Ampleksaj funkcioj', |
|
| 555 | - 'onglet_informations_personnelles' => 'Personaj datenoj', |
|
| 556 | - 'onglet_interactivite' => 'Interagado', |
|
| 557 | - 'onglet_messagerie' => 'Mesaĝilo', |
|
| 558 | - 'onglet_repartition_rubrique' => 'Distribuo laŭ rubrikoj', |
|
| 559 | - 'onglet_save_restaur_base' => 'Savkopii/restaŭri la datenbazon', |
|
| 560 | - 'onglet_vider_cache' => 'Malplenigi la staplon', |
|
| 548 | + // O |
|
| 549 | + 'occurence' => 'Trafo', |
|
| 550 | + 'onglet_affacer_base' => 'Forigi la datenbazon', |
|
| 551 | + 'onglet_auteur' => 'La aŭtoro', |
|
| 552 | + 'onglet_contenu_site' => 'Enhavo de la retejo', |
|
| 553 | + 'onglet_evolution_visite_mod' => 'Evoluado', |
|
| 554 | + 'onglet_fonctions_avances' => 'Ampleksaj funkcioj', |
|
| 555 | + 'onglet_informations_personnelles' => 'Personaj datenoj', |
|
| 556 | + 'onglet_interactivite' => 'Interagado', |
|
| 557 | + 'onglet_messagerie' => 'Mesaĝilo', |
|
| 558 | + 'onglet_repartition_rubrique' => 'Distribuo laŭ rubrikoj', |
|
| 559 | + 'onglet_save_restaur_base' => 'Savkopii/restaŭri la datenbazon', |
|
| 560 | + 'onglet_vider_cache' => 'Malplenigi la staplon', |
|
| 561 | 561 | |
| 562 | - // P |
|
| 563 | - 'pass_choix_pass' => 'Bonvolu elekti vian novan pasvorton :', |
|
| 564 | - 'pass_erreur' => 'Eraro', |
|
| 565 | - 'pass_erreur_acces_refuse' => '<b>Eraro :</b> vi ne plu havas aliron al tiu retejo.', |
|
| 566 | - 'pass_erreur_code_inconnu' => '<b>Eraro :</b> tiu kodo kongruas kun neniu el la vizitantoj rajtantaj aliri tiun ĉi retejon.', |
|
| 567 | - 'pass_erreur_non_enregistre' => '<b>Eraro :</b> la retpoŝtadreso <tt>@email_oubli@</tt> ne estas registrita ĉi tie.', |
|
| 568 | - 'pass_erreur_non_valide' => '<b>Eraro :</b> tiu retpoŝtadreso <tt>@email_oubli@</tt> ne validas !', |
|
| 569 | - 'pass_erreur_probleme_technique' => '<b>Eraro :</b> pro teknika problemo, la retmesaĝo ne povas esti sendata.', |
|
| 570 | - 'pass_espace_prive_bla' => 'La privata spaco de tiu ĉi retejo estas malfermita al |
|
| 562 | + // P |
|
| 563 | + 'pass_choix_pass' => 'Bonvolu elekti vian novan pasvorton :', |
|
| 564 | + 'pass_erreur' => 'Eraro', |
|
| 565 | + 'pass_erreur_acces_refuse' => '<b>Eraro :</b> vi ne plu havas aliron al tiu retejo.', |
|
| 566 | + 'pass_erreur_code_inconnu' => '<b>Eraro :</b> tiu kodo kongruas kun neniu el la vizitantoj rajtantaj aliri tiun ĉi retejon.', |
|
| 567 | + 'pass_erreur_non_enregistre' => '<b>Eraro :</b> la retpoŝtadreso <tt>@email_oubli@</tt> ne estas registrita ĉi tie.', |
|
| 568 | + 'pass_erreur_non_valide' => '<b>Eraro :</b> tiu retpoŝtadreso <tt>@email_oubli@</tt> ne validas !', |
|
| 569 | + 'pass_erreur_probleme_technique' => '<b>Eraro :</b> pro teknika problemo, la retmesaĝo ne povas esti sendata.', |
|
| 570 | + 'pass_espace_prive_bla' => 'La privata spaco de tiu ĉi retejo estas malfermita al |
|
| 571 | 571 | vizitantoj, post ties registriĝo. Tio farita, vi povos |
| 572 | 572 | konsulti la redaktatajn artikolojn, proponi artikolojn |
| 573 | 573 | kaj partopreni en ĉiuj forumoj.', |
| 574 | - 'pass_forum_bla' => 'Vi petis por kontribui en forumo |
|
| 574 | + 'pass_forum_bla' => 'Vi petis por kontribui en forumo |
|
| 575 | 575 | rezervita al registritaj vizitantoj.', |
| 576 | - 'pass_indiquez_cidessous' => 'Indiku ĉi-sube la retpoŝtadreson laŭ kiu vi |
|
| 576 | + 'pass_indiquez_cidessous' => 'Indiku ĉi-sube la retpoŝtadreson laŭ kiu vi |
|
| 577 | 577 | antaŭe registriĝis. Vi |
| 578 | 578 | ricevos retmesaĝon kiu indikos al vi kion fari por |
| 579 | 579 | reakiri vian alir-rajton.', |
| 580 | - 'pass_mail_passcookie' => '(tio ĉi estas aŭtomata mesaĝo) |
|
| 580 | + 'pass_mail_passcookie' => '(tio ĉi estas aŭtomata mesaĝo) |
|
| 581 | 581 | Por reakiri alireblon al la retejo |
| 582 | 582 | @nom_site_spip@ (@adresse_site@) |
| 583 | 583 | |
@@ -589,145 +589,145 @@ discard block |
||
| 589 | 589 | kaj ensaluti. |
| 590 | 590 | |
| 591 | 591 | ', |
| 592 | - 'pass_mot_oublie' => 'Pasvorto forgesita', |
|
| 593 | - 'pass_nouveau_enregistre' => 'Via nova pasvorto estas registrita.', |
|
| 594 | - 'pass_nouveau_pass' => 'Nova pasvorto', |
|
| 595 | - 'pass_ok' => 'JES', |
|
| 596 | - 'pass_oubli_mot' => 'Pasvorto-forgeso', |
|
| 597 | - 'pass_procedure_changer' => 'Por ŝanĝi vian pasvorton, specifu al ni la asociitan retpoŝtadreson el via konto.', |
|
| 598 | - 'pass_quitter_fenetre' => 'Forlasi tiun fenestron', |
|
| 599 | - 'pass_rappel_login' => 'Memoru : via ensalutilo (salutnomo) estas « @login@ ».', |
|
| 600 | - 'pass_recevoir_mail' => 'Vi ricevos retmesaĝon indikantan al vi kiel retrovi vian aliron al la retejo.', # MODIF |
|
| 601 | - 'pass_retour_public' => 'Reen al la publika spaco', |
|
| 602 | - 'pass_rien_a_faire_ici' => 'Nenion por fari ĉi tie.', |
|
| 603 | - 'pass_vousinscrire' => 'Registriĝi ĉe tiu retejo', |
|
| 604 | - 'precedent' => 'antaŭan', |
|
| 605 | - 'previsualisation' => 'Antaŭrigardo', |
|
| 606 | - 'previsualiser' => 'Antaŭrigardi', |
|
| 592 | + 'pass_mot_oublie' => 'Pasvorto forgesita', |
|
| 593 | + 'pass_nouveau_enregistre' => 'Via nova pasvorto estas registrita.', |
|
| 594 | + 'pass_nouveau_pass' => 'Nova pasvorto', |
|
| 595 | + 'pass_ok' => 'JES', |
|
| 596 | + 'pass_oubli_mot' => 'Pasvorto-forgeso', |
|
| 597 | + 'pass_procedure_changer' => 'Por ŝanĝi vian pasvorton, specifu al ni la asociitan retpoŝtadreson el via konto.', |
|
| 598 | + 'pass_quitter_fenetre' => 'Forlasi tiun fenestron', |
|
| 599 | + 'pass_rappel_login' => 'Memoru : via ensalutilo (salutnomo) estas « @login@ ».', |
|
| 600 | + 'pass_recevoir_mail' => 'Vi ricevos retmesaĝon indikantan al vi kiel retrovi vian aliron al la retejo.', # MODIF |
|
| 601 | + 'pass_retour_public' => 'Reen al la publika spaco', |
|
| 602 | + 'pass_rien_a_faire_ici' => 'Nenion por fari ĉi tie.', |
|
| 603 | + 'pass_vousinscrire' => 'Registriĝi ĉe tiu retejo', |
|
| 604 | + 'precedent' => 'antaŭan', |
|
| 605 | + 'previsualisation' => 'Antaŭrigardo', |
|
| 606 | + 'previsualiser' => 'Antaŭrigardi', |
|
| 607 | 607 | |
| 608 | - // R |
|
| 609 | - 'retour' => 'Reen', |
|
| 608 | + // R |
|
| 609 | + 'retour' => 'Reen', |
|
| 610 | 610 | |
| 611 | - // S |
|
| 612 | - 'spip_conforme_dtd' => 'SPIP konsideras tiun dokumenton konforma al sia DOCTYPE :', |
|
| 613 | - 'squelette' => 'skeleto', |
|
| 614 | - 'squelette_inclus_ligne' => 'skeleto inkluzivita, linio', |
|
| 615 | - 'squelette_ligne' => 'skeleto, linio', |
|
| 616 | - 'stats_visites_et_popularite' => '@visites@ vizitoj ; populareco : @popularite@', |
|
| 617 | - 'suivant' => 'sekvanta', |
|
| 611 | + // S |
|
| 612 | + 'spip_conforme_dtd' => 'SPIP konsideras tiun dokumenton konforma al sia DOCTYPE :', |
|
| 613 | + 'squelette' => 'skeleto', |
|
| 614 | + 'squelette_inclus_ligne' => 'skeleto inkluzivita, linio', |
|
| 615 | + 'squelette_ligne' => 'skeleto, linio', |
|
| 616 | + 'stats_visites_et_popularite' => '@visites@ vizitoj ; populareco : @popularite@', |
|
| 617 | + 'suivant' => 'sekvanta', |
|
| 618 | 618 | |
| 619 | - // T |
|
| 620 | - 'taille_go' => '@taille@ Go', |
|
| 621 | - 'taille_ko' => '@taille@ kb', |
|
| 622 | - 'taille_mo' => '@taille@ Mb', |
|
| 623 | - 'taille_octets' => '@taille@ bitokoj', |
|
| 624 | - 'taille_octets_bi' => '@taille@ bitokoj', |
|
| 625 | - 'texte_actualite_site_1' => 'Kiam vi estos kutimiĝinta kun la interfaco, vi povos musklaki sur « ', |
|
| 626 | - 'texte_actualite_site_2' => 'kompleta interfaco', |
|
| 627 | - 'texte_actualite_site_3' => ' » por malfermi pliajn eblecojn.', |
|
| 628 | - 'texte_creation_automatique_vignette' => 'La aŭtomata kreado de antaŭrigardaj vinjetoj estas aktivigita ĉe tiu ĉi retejo. Se vi instalas pere de tiu ĉi formularo bildojn je la formato(j) @gd_formats@, ili estos akompanataj de vinjeto kun maksimuma grandeco de @taille_preview@ bilderoj.', |
|
| 629 | - 'texte_documents_associes' => 'La sekvantaj dokumentoj estas asociitaj al la artikolo, |
|
| 619 | + // T |
|
| 620 | + 'taille_go' => '@taille@ Go', |
|
| 621 | + 'taille_ko' => '@taille@ kb', |
|
| 622 | + 'taille_mo' => '@taille@ Mb', |
|
| 623 | + 'taille_octets' => '@taille@ bitokoj', |
|
| 624 | + 'taille_octets_bi' => '@taille@ bitokoj', |
|
| 625 | + 'texte_actualite_site_1' => 'Kiam vi estos kutimiĝinta kun la interfaco, vi povos musklaki sur « ', |
|
| 626 | + 'texte_actualite_site_2' => 'kompleta interfaco', |
|
| 627 | + 'texte_actualite_site_3' => ' » por malfermi pliajn eblecojn.', |
|
| 628 | + 'texte_creation_automatique_vignette' => 'La aŭtomata kreado de antaŭrigardaj vinjetoj estas aktivigita ĉe tiu ĉi retejo. Se vi instalas pere de tiu ĉi formularo bildojn je la formato(j) @gd_formats@, ili estos akompanataj de vinjeto kun maksimuma grandeco de @taille_preview@ bilderoj.', |
|
| 629 | + 'texte_documents_associes' => 'La sekvantaj dokumentoj estas asociitaj al la artikolo, |
|
| 630 | 630 | sed ili ne estis rekte enmetitaj en ĝin. |
| 631 | 631 | Laŭ la enpaĝigo de la publika spaco, |
| 632 | 632 | ili povos aperi en formo de alkroĉitaj dokumentoj.', |
| 633 | - 'texte_erreur_mise_niveau_base' => 'Datenbazo-eraro dum la alniveligo. |
|
| 633 | + 'texte_erreur_mise_niveau_base' => 'Datenbazo-eraro dum la alniveligo. |
|
| 634 | 634 | La bildo <b>@fichier@</b> ne transŝutiĝis (artikolo @id_article@). |
| 635 | 635 | Bone notu tiun referencon, reprovu la alniveligon, |
| 636 | 636 | kaj fine kontrolu ke la bildoj plu aperu |
| 637 | 637 | en la artikoloj.', |
| 638 | - 'texte_erreur_visiteur' => 'Vi provis eniri la privatan spacon pere de ne alir-rajtiga salutnomo.', |
|
| 639 | - 'texte_inc_auth_1' => 'Vi ensalutis laŭ la |
|
| 638 | + 'texte_erreur_visiteur' => 'Vi provis eniri la privatan spacon pere de ne alir-rajtiga salutnomo.', |
|
| 639 | + 'texte_inc_auth_1' => 'Vi ensalutis laŭ la |
|
| 640 | 640 | salutnomo <b>@auth_login@</b>, sed tiu ne/ne plu ekzistas en la datenbazo. |
| 641 | 641 | Provu', |
| 642 | - 'texte_inc_auth_2' => 'rekonektiĝi', |
|
| 643 | - 'texte_inc_auth_3' => ', post esti eventuale ferminta kaj |
|
| 642 | + 'texte_inc_auth_2' => 'rekonektiĝi', |
|
| 643 | + 'texte_inc_auth_3' => ', post esti eventuale ferminta kaj |
|
| 644 | 644 | restartiginta via retumilon.', |
| 645 | - 'texte_inc_config' => 'La ŝanĝoj faritaj en tiuj ĉi paĝoj influas grave la |
|
| 645 | + 'texte_inc_config' => 'La ŝanĝoj faritaj en tiuj ĉi paĝoj influas grave la |
|
| 646 | 646 | funkciadon de via retejo. Ni konsilas al vi ne plu interveni antaŭ ol esti pli |
| 647 | 647 | kutimiĝinta pri la funkciado de la SPIP-sistemo. <br /><br /><b>Pli |
| 648 | 648 | ĝenerale, estas tre konsilinde lasi la mastrumadon de tiuj ĉi paĝoj |
| 649 | 649 | sub la respondeco de la ĉefa retejestro .</b>', |
| 650 | - 'texte_inc_meta_1' => 'La sistemo detektis eraron dum skribado de la dosiero <code>@fichier@</code>. Bonvolu, kiel mastrumanto de la retejo,', |
|
| 651 | - 'texte_inc_meta_2' => 'kontroli la skriborajtojn', |
|
| 652 | - 'texte_inc_meta_3' => 'en la dosierujo <code>@repertoire@</code>.', |
|
| 653 | - 'texte_statut_en_cours_redaction' => 'Redaktataj', |
|
| 654 | - 'texte_statut_poubelle' => 'en rubujo', |
|
| 655 | - 'texte_statut_propose_evaluation' => 'proponita por taksado', |
|
| 656 | - 'texte_statut_publie' => 'rete publikigita', |
|
| 657 | - 'texte_statut_refuse' => 'rifuzita', |
|
| 658 | - 'titre_ajouter_mot_cle' => 'ALDONI ŜLOSILVORTON :', |
|
| 659 | - 'titre_cadre_raccourcis' => 'RAPIDAJ ALIROJ :', |
|
| 660 | - 'titre_changer_couleur_interface' => 'Ŝanĝi la koloron de la interfaco', |
|
| 661 | - 'titre_image_admin_article' => 'Vi povas mastrumi tiun ĉi artikolon', |
|
| 662 | - 'titre_image_administrateur' => 'Mastrumanto', |
|
| 663 | - 'titre_image_aide' => 'Helpo pri tiu elemento', |
|
| 664 | - 'titre_image_auteur_supprime' => 'Aŭtoro forigita', |
|
| 665 | - 'titre_image_redacteur' => 'Redaktanto sen alireblo', |
|
| 666 | - 'titre_image_redacteur_02' => 'Redaktanto', |
|
| 667 | - 'titre_image_selecteur' => 'Montri la liston', |
|
| 668 | - 'titre_image_visiteur' => 'Vizitanto', |
|
| 669 | - 'titre_joindre_document' => 'ALDONI DOKUMENTON', |
|
| 670 | - 'titre_mots_cles' => 'ŜLOSILVORTOJ', |
|
| 671 | - 'titre_probleme_technique' => 'Atentu : teknika problemo (SQL-servilo) malhelpas la aliron al tiu parto de la retejo. Dankon pro via komprenemo.', |
|
| 672 | - 'titre_publier_document' => 'PUBLIKIGI DOKUMENTON EN TIU ĈI RUBRIKO', |
|
| 673 | - 'titre_signatures_attente' => 'Subskriboj validotaj', |
|
| 674 | - 'titre_signatures_confirmees' => 'Subskriboj konfirmitaj', |
|
| 675 | - 'titre_statistiques' => 'Statistikoj de la retejo', |
|
| 676 | - 'titre_titre_document' => 'Titolo de la dokumento :', |
|
| 677 | - 'todo' => 'venonta', |
|
| 678 | - 'trad_definir_reference' => 'Elekti „@titre@“ kiel referenco de la tradukoj', |
|
| 679 | - 'trad_reference' => '(referenco de la traduktoj)', |
|
| 650 | + 'texte_inc_meta_1' => 'La sistemo detektis eraron dum skribado de la dosiero <code>@fichier@</code>. Bonvolu, kiel mastrumanto de la retejo,', |
|
| 651 | + 'texte_inc_meta_2' => 'kontroli la skriborajtojn', |
|
| 652 | + 'texte_inc_meta_3' => 'en la dosierujo <code>@repertoire@</code>.', |
|
| 653 | + 'texte_statut_en_cours_redaction' => 'Redaktataj', |
|
| 654 | + 'texte_statut_poubelle' => 'en rubujo', |
|
| 655 | + 'texte_statut_propose_evaluation' => 'proponita por taksado', |
|
| 656 | + 'texte_statut_publie' => 'rete publikigita', |
|
| 657 | + 'texte_statut_refuse' => 'rifuzita', |
|
| 658 | + 'titre_ajouter_mot_cle' => 'ALDONI ŜLOSILVORTON :', |
|
| 659 | + 'titre_cadre_raccourcis' => 'RAPIDAJ ALIROJ :', |
|
| 660 | + 'titre_changer_couleur_interface' => 'Ŝanĝi la koloron de la interfaco', |
|
| 661 | + 'titre_image_admin_article' => 'Vi povas mastrumi tiun ĉi artikolon', |
|
| 662 | + 'titre_image_administrateur' => 'Mastrumanto', |
|
| 663 | + 'titre_image_aide' => 'Helpo pri tiu elemento', |
|
| 664 | + 'titre_image_auteur_supprime' => 'Aŭtoro forigita', |
|
| 665 | + 'titre_image_redacteur' => 'Redaktanto sen alireblo', |
|
| 666 | + 'titre_image_redacteur_02' => 'Redaktanto', |
|
| 667 | + 'titre_image_selecteur' => 'Montri la liston', |
|
| 668 | + 'titre_image_visiteur' => 'Vizitanto', |
|
| 669 | + 'titre_joindre_document' => 'ALDONI DOKUMENTON', |
|
| 670 | + 'titre_mots_cles' => 'ŜLOSILVORTOJ', |
|
| 671 | + 'titre_probleme_technique' => 'Atentu : teknika problemo (SQL-servilo) malhelpas la aliron al tiu parto de la retejo. Dankon pro via komprenemo.', |
|
| 672 | + 'titre_publier_document' => 'PUBLIKIGI DOKUMENTON EN TIU ĈI RUBRIKO', |
|
| 673 | + 'titre_signatures_attente' => 'Subskriboj validotaj', |
|
| 674 | + 'titre_signatures_confirmees' => 'Subskriboj konfirmitaj', |
|
| 675 | + 'titre_statistiques' => 'Statistikoj de la retejo', |
|
| 676 | + 'titre_titre_document' => 'Titolo de la dokumento :', |
|
| 677 | + 'todo' => 'venonta', |
|
| 678 | + 'trad_definir_reference' => 'Elekti „@titre@“ kiel referenco de la tradukoj', |
|
| 679 | + 'trad_reference' => '(referenco de la traduktoj)', |
|
| 680 | 680 | |
| 681 | - // U |
|
| 682 | - 'upload_limit' => 'Tiu dosiero estas tro granda por la servilo : la maksimuma dosiergrando, kiam oni alŝutas, estas @max@.', |
|
| 681 | + // U |
|
| 682 | + 'upload_limit' => 'Tiu dosiero estas tro granda por la servilo : la maksimuma dosiergrando, kiam oni alŝutas, estas @max@.', |
|
| 683 | 683 | |
| 684 | - // Z |
|
| 685 | - 'zbug_balise_b_aval' => ' : posta B marko', |
|
| 686 | - 'zbug_balise_inexistante' => 'Marko @balise@ malbone deklarita por @from@', |
|
| 687 | - 'zbug_balise_sans_argument' => 'Mankas argumento en la marko @balise@', |
|
| 688 | - 'zbug_boucle' => 'iteracio', |
|
| 689 | - 'zbug_boucle_recursive_undef' => 'Nedifinita rekursia iteracio : @nom@', |
|
| 690 | - 'zbug_calcul' => 'komputado', |
|
| 691 | - 'zbug_champ_hors_boucle' => 'Kampo @champ@ eksteras iteracion', |
|
| 692 | - 'zbug_champ_hors_motif' => 'Kampo @champ@ eksteras kontekston @motif@', |
|
| 693 | - 'zbug_code' => 'kodo', |
|
| 694 | - 'zbug_critere_inconnu' => 'Nekonata kriterio @critere@', |
|
| 695 | - 'zbug_critere_sur_table_sans_cle_primaire' => '{@critere@} pri tabelo sen atoma ĉefŝlosilo', |
|
| 696 | - 'zbug_distant_interdit' => 'Ago ĉe tiu ekstera datenbazo malpermesata', |
|
| 697 | - 'zbug_doublon_table_sans_cle_primaire' => 'Duobloj uzitaj ĉe tabelo, kiu ne havas simplan ĉefŝlosilon', |
|
| 698 | - 'zbug_doublon_table_sans_index' => 'Duoblaĵoj en la datentabelo sen indekso', |
|
| 699 | - 'zbug_erreur_boucle_double' => 'Duobla difino de la interacio @id@', |
|
| 700 | - 'zbug_erreur_boucle_fermant' => 'Iteracio @id@ ne fermita', |
|
| 701 | - 'zbug_erreur_boucle_syntaxe' => 'Sintakso de la iteracia @id@ ne valida', |
|
| 702 | - 'zbug_erreur_compilation' => 'Kompil-eraro', |
|
| 703 | - 'zbug_erreur_execution_page' => 'Eraro dum plenumo', |
|
| 704 | - 'zbug_erreur_filtre' => 'Filtrilo @filtre@ nedifinita', |
|
| 705 | - 'zbug_erreur_meme_parent' => 'La kriterio {meme_parent} nur aplikiĝas je iteracioj (FORUMS) aŭ (RUBRIQUES)', |
|
| 706 | - 'zbug_erreur_squelette' => 'Eraro(j) en la skeleto', |
|
| 707 | - 'zbug_hors_compilation' => 'Ne kompilita', |
|
| 708 | - 'zbug_info_erreur_squelette' => 'Eraro ĉe la retejo', |
|
| 709 | - 'zbug_inversion_ordre_inexistant' => 'Inversigo de ne ekzistanta ordo', |
|
| 710 | - 'zbug_pagination_sans_critere' => 'Marko #PAGINATION senkriteria {pagination} aŭ uzata en rekursia iteracio', |
|
| 711 | - 'zbug_parametres_inclus_incorrects' => 'Ne korektaj inkludaj parametroj : @param@', |
|
| 712 | - 'zbug_profile' => 'Kalkuldaŭro : @time@', |
|
| 713 | - 'zbug_resultat' => 'rezulto', |
|
| 714 | - 'zbug_serveur_indefini' => 'Nedifinata SQL-servilo', |
|
| 715 | - 'zbug_statistiques' => 'statistikoj pri SQL-informpetoj ordigitaj laŭ daŭro', |
|
| 716 | - 'zbug_table_inconnue' => 'nekonata SQL « @table@ » tabelo', |
|
| 717 | - 'zxml_connus_attributs' => 'konataj atributoj', |
|
| 718 | - 'zxml_de' => 'de', |
|
| 719 | - 'zxml_inconnu_attribut' => 'nekonataj atributoj', |
|
| 720 | - 'zxml_inconnu_balise' => 'ne konita marko', |
|
| 721 | - 'zxml_inconnu_entite' => 'ne konata ento', |
|
| 722 | - 'zxml_inconnu_id' => 'ne konata ID', |
|
| 723 | - 'zxml_mais_de' => 'sed', |
|
| 724 | - 'zxml_non_conforme' => 'ne kongrua kun la motivo', |
|
| 725 | - 'zxml_non_fils' => 'ne estas filo de', |
|
| 726 | - 'zxml_nonvide_balise' => 'ne malplena marko', |
|
| 727 | - 'zxml_obligatoire_attribut' => 'deviga atributo sed foresta en', |
|
| 728 | - 'zxml_succession_fils_incorrecte' => 'sinsekvo de filoj korekta', |
|
| 729 | - 'zxml_survoler' => 'superflugi por ekvidi korektaĵojn', |
|
| 730 | - 'zxml_valeur_attribut' => 'atributa valoro', |
|
| 731 | - 'zxml_vide_balise' => 'malplena marko', |
|
| 732 | - 'zxml_vu' => 'antaŭe vidita', |
|
| 684 | + // Z |
|
| 685 | + 'zbug_balise_b_aval' => ' : posta B marko', |
|
| 686 | + 'zbug_balise_inexistante' => 'Marko @balise@ malbone deklarita por @from@', |
|
| 687 | + 'zbug_balise_sans_argument' => 'Mankas argumento en la marko @balise@', |
|
| 688 | + 'zbug_boucle' => 'iteracio', |
|
| 689 | + 'zbug_boucle_recursive_undef' => 'Nedifinita rekursia iteracio : @nom@', |
|
| 690 | + 'zbug_calcul' => 'komputado', |
|
| 691 | + 'zbug_champ_hors_boucle' => 'Kampo @champ@ eksteras iteracion', |
|
| 692 | + 'zbug_champ_hors_motif' => 'Kampo @champ@ eksteras kontekston @motif@', |
|
| 693 | + 'zbug_code' => 'kodo', |
|
| 694 | + 'zbug_critere_inconnu' => 'Nekonata kriterio @critere@', |
|
| 695 | + 'zbug_critere_sur_table_sans_cle_primaire' => '{@critere@} pri tabelo sen atoma ĉefŝlosilo', |
|
| 696 | + 'zbug_distant_interdit' => 'Ago ĉe tiu ekstera datenbazo malpermesata', |
|
| 697 | + 'zbug_doublon_table_sans_cle_primaire' => 'Duobloj uzitaj ĉe tabelo, kiu ne havas simplan ĉefŝlosilon', |
|
| 698 | + 'zbug_doublon_table_sans_index' => 'Duoblaĵoj en la datentabelo sen indekso', |
|
| 699 | + 'zbug_erreur_boucle_double' => 'Duobla difino de la interacio @id@', |
|
| 700 | + 'zbug_erreur_boucle_fermant' => 'Iteracio @id@ ne fermita', |
|
| 701 | + 'zbug_erreur_boucle_syntaxe' => 'Sintakso de la iteracia @id@ ne valida', |
|
| 702 | + 'zbug_erreur_compilation' => 'Kompil-eraro', |
|
| 703 | + 'zbug_erreur_execution_page' => 'Eraro dum plenumo', |
|
| 704 | + 'zbug_erreur_filtre' => 'Filtrilo @filtre@ nedifinita', |
|
| 705 | + 'zbug_erreur_meme_parent' => 'La kriterio {meme_parent} nur aplikiĝas je iteracioj (FORUMS) aŭ (RUBRIQUES)', |
|
| 706 | + 'zbug_erreur_squelette' => 'Eraro(j) en la skeleto', |
|
| 707 | + 'zbug_hors_compilation' => 'Ne kompilita', |
|
| 708 | + 'zbug_info_erreur_squelette' => 'Eraro ĉe la retejo', |
|
| 709 | + 'zbug_inversion_ordre_inexistant' => 'Inversigo de ne ekzistanta ordo', |
|
| 710 | + 'zbug_pagination_sans_critere' => 'Marko #PAGINATION senkriteria {pagination} aŭ uzata en rekursia iteracio', |
|
| 711 | + 'zbug_parametres_inclus_incorrects' => 'Ne korektaj inkludaj parametroj : @param@', |
|
| 712 | + 'zbug_profile' => 'Kalkuldaŭro : @time@', |
|
| 713 | + 'zbug_resultat' => 'rezulto', |
|
| 714 | + 'zbug_serveur_indefini' => 'Nedifinata SQL-servilo', |
|
| 715 | + 'zbug_statistiques' => 'statistikoj pri SQL-informpetoj ordigitaj laŭ daŭro', |
|
| 716 | + 'zbug_table_inconnue' => 'nekonata SQL « @table@ » tabelo', |
|
| 717 | + 'zxml_connus_attributs' => 'konataj atributoj', |
|
| 718 | + 'zxml_de' => 'de', |
|
| 719 | + 'zxml_inconnu_attribut' => 'nekonataj atributoj', |
|
| 720 | + 'zxml_inconnu_balise' => 'ne konita marko', |
|
| 721 | + 'zxml_inconnu_entite' => 'ne konata ento', |
|
| 722 | + 'zxml_inconnu_id' => 'ne konata ID', |
|
| 723 | + 'zxml_mais_de' => 'sed', |
|
| 724 | + 'zxml_non_conforme' => 'ne kongrua kun la motivo', |
|
| 725 | + 'zxml_non_fils' => 'ne estas filo de', |
|
| 726 | + 'zxml_nonvide_balise' => 'ne malplena marko', |
|
| 727 | + 'zxml_obligatoire_attribut' => 'deviga atributo sed foresta en', |
|
| 728 | + 'zxml_succession_fils_incorrecte' => 'sinsekvo de filoj korekta', |
|
| 729 | + 'zxml_survoler' => 'superflugi por ekvidi korektaĵojn', |
|
| 730 | + 'zxml_valeur_attribut' => 'atributa valoro', |
|
| 731 | + 'zxml_vide_balise' => 'malplena marko', |
|
| 732 | + 'zxml_vu' => 'antaŭe vidita', |
|
| 733 | 733 | ]; |
@@ -5,829 +5,829 @@ |
||
| 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' => '<plugin> در فایل توضیحی موجود نمیباشد', |
|
| 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' => '<plugin> در فایل توضیحی موجود نمیباشد', |
|
| 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 ":" |
|
| 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 ":" |
|
| 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 | ]; |
@@ -5,566 +5,566 @@ discard block |
||
| 5 | 5 | |
| 6 | 6 | return [ |
| 7 | 7 | |
| 8 | - // A |
|
| 9 | - 'access_interface_graphique' => 'Voltar à interface gráfica completa', |
|
| 10 | - 'access_mode_texte' => 'Exibir a interface textual simplificada', |
|
| 11 | - 'admin_debug' => 'debug', |
|
| 12 | - 'admin_modifier_article' => 'Modificar este artigo', |
|
| 13 | - 'admin_modifier_auteur' => 'Modificar este autor', |
|
| 14 | - 'admin_modifier_breve' => 'Modificar esta notícia', |
|
| 15 | - 'admin_modifier_mot' => 'Modificar esta palavra-chave', |
|
| 16 | - 'admin_modifier_rubrique' => 'Modificar esta rubrica', |
|
| 17 | - 'admin_recalculer' => 'Recompor esta página', |
|
| 18 | - 'afficher_calendrier' => 'Exibir o calendário', |
|
| 19 | - 'afficher_trad' => 'exibir as traduções', |
|
| 20 | - 'alerte_maj_impossible' => '<b>Alerta !</b> A actualização da base de dados SQL para a versão @version@ é impossível, talvez por causa de um problema de permissão de modificação na base de dados. Por favor contacte o seu serviço de hospedagem.', |
|
| 21 | - 'alerte_modif_info_concourante' => 'ATTENÇÃO : Esta informação já foi modificada noutro menu. O valor actual é :', |
|
| 22 | - 'analyse_xml' => 'Análise XML', |
|
| 23 | - 'annuler' => 'Cancelar', |
|
| 24 | - 'antispam_champ_vide' => 'Por favor deixe este campo vazio :', |
|
| 25 | - 'articles_recents' => 'Artigos mais recentes', |
|
| 26 | - 'avis_archive_incorrect' => 'o ficheiro arquivo não é um ficheiro SPIP', |
|
| 27 | - 'avis_archive_invalide' => 'o ficheiro arquivo não é válido ', |
|
| 28 | - 'avis_attention' => ' ATENÇÂO!', |
|
| 29 | - 'avis_champ_incorrect_type_objet' => 'Nome de campo incorrecto @name@ para objecto de tipo @type@', |
|
| 30 | - 'avis_colonne_inexistante' => 'A coluna @col@ não existe', |
|
| 31 | - 'avis_erreur' => 'Erro: ver mais abaixo', |
|
| 32 | - 'avis_erreur_connexion' => 'Erro de ligação ', |
|
| 33 | - 'avis_erreur_cookie' => 'problema de cookie', |
|
| 34 | - 'avis_erreur_fonction_contexte' => 'Erro de programação. Não se pode chamar esta função neste contexto.', |
|
| 35 | - 'avis_erreur_mysql' => 'Erro SQL', |
|
| 36 | - 'avis_erreur_sauvegarde' => 'Erro na cópia de segurança (@type@ @id_objet@) !', |
|
| 37 | - 'avis_erreur_visiteur' => 'Problema de acesso à área privada', |
|
| 8 | + // A |
|
| 9 | + 'access_interface_graphique' => 'Voltar à interface gráfica completa', |
|
| 10 | + 'access_mode_texte' => 'Exibir a interface textual simplificada', |
|
| 11 | + 'admin_debug' => 'debug', |
|
| 12 | + 'admin_modifier_article' => 'Modificar este artigo', |
|
| 13 | + 'admin_modifier_auteur' => 'Modificar este autor', |
|
| 14 | + 'admin_modifier_breve' => 'Modificar esta notícia', |
|
| 15 | + 'admin_modifier_mot' => 'Modificar esta palavra-chave', |
|
| 16 | + 'admin_modifier_rubrique' => 'Modificar esta rubrica', |
|
| 17 | + 'admin_recalculer' => 'Recompor esta página', |
|
| 18 | + 'afficher_calendrier' => 'Exibir o calendário', |
|
| 19 | + 'afficher_trad' => 'exibir as traduções', |
|
| 20 | + 'alerte_maj_impossible' => '<b>Alerta !</b> A actualização da base de dados SQL para a versão @version@ é impossível, talvez por causa de um problema de permissão de modificação na base de dados. Por favor contacte o seu serviço de hospedagem.', |
|
| 21 | + 'alerte_modif_info_concourante' => 'ATTENÇÃO : Esta informação já foi modificada noutro menu. O valor actual é :', |
|
| 22 | + 'analyse_xml' => 'Análise XML', |
|
| 23 | + 'annuler' => 'Cancelar', |
|
| 24 | + 'antispam_champ_vide' => 'Por favor deixe este campo vazio :', |
|
| 25 | + 'articles_recents' => 'Artigos mais recentes', |
|
| 26 | + 'avis_archive_incorrect' => 'o ficheiro arquivo não é um ficheiro SPIP', |
|
| 27 | + 'avis_archive_invalide' => 'o ficheiro arquivo não é válido ', |
|
| 28 | + 'avis_attention' => ' ATENÇÂO!', |
|
| 29 | + 'avis_champ_incorrect_type_objet' => 'Nome de campo incorrecto @name@ para objecto de tipo @type@', |
|
| 30 | + 'avis_colonne_inexistante' => 'A coluna @col@ não existe', |
|
| 31 | + 'avis_erreur' => 'Erro: ver mais abaixo', |
|
| 32 | + 'avis_erreur_connexion' => 'Erro de ligação ', |
|
| 33 | + 'avis_erreur_cookie' => 'problema de cookie', |
|
| 34 | + 'avis_erreur_fonction_contexte' => 'Erro de programação. Não se pode chamar esta função neste contexto.', |
|
| 35 | + 'avis_erreur_mysql' => 'Erro SQL', |
|
| 36 | + 'avis_erreur_sauvegarde' => 'Erro na cópia de segurança (@type@ @id_objet@) !', |
|
| 37 | + 'avis_erreur_visiteur' => 'Problema de acesso à área privada', |
|
| 38 | 38 | |
| 39 | - // B |
|
| 40 | - 'barre_a_accent_grave' => 'Inserir um A maiúsculo com acento grave', |
|
| 41 | - 'barre_aide' => 'Utilize as abreviaturas tipográficas para enriquecer a sua paginação.', |
|
| 42 | - 'barre_e_accent_aigu' => 'Inserir um E maiúsculo com acento agudo ', |
|
| 43 | - 'barre_eo' => 'Inserir um E no O', |
|
| 44 | - 'barre_eo_maj' => 'Inserir um E no O maiúsculo', |
|
| 45 | - 'barre_euro' => 'Inserir o símbolo €', |
|
| 46 | - 'barre_gras' => ' Escrever em {{negro}}', |
|
| 47 | - 'barre_guillemets' => 'Colocar entre "aspas" ', |
|
| 48 | - 'barre_guillemets_simples' => 'Colocar entre ’aspas simples’', |
|
| 49 | - 'barre_intertitre' => 'Transfomar em {{{intertítulo}}} ', |
|
| 50 | - 'barre_italic' => 'Pôr em itálico ', |
|
| 51 | - 'barre_lien' => 'Transformar em [ligação hipertexto->http://...]', |
|
| 52 | - 'barre_lien_input' => 'Por favor indique o endereço da sua ligação (pode indicar um endereço Web sob a forma http://www.monsite/com ou simplesmente indicar o número de um artigo deste sítio.) ', |
|
| 53 | - 'barre_note' => 'Transformar em [[Nota de rodapé ]]', |
|
| 54 | - 'barre_paragraphe' => 'Criar um parágrafo', |
|
| 55 | - 'barre_quote' => '<quote>Citar uma mensagem</quote>', |
|
| 56 | - 'bouton_changer' => 'Modificar', |
|
| 57 | - 'bouton_chercher' => 'Procurar', |
|
| 58 | - 'bouton_choisir' => 'Seleccionar', |
|
| 59 | - 'bouton_deplacer' => 'Mover', |
|
| 60 | - 'bouton_download' => 'Download', |
|
| 61 | - 'bouton_enregistrer' => 'Guardar', |
|
| 62 | - 'bouton_radio_desactiver_messagerie_interne' => 'Desactivar a caixa de correio interno', |
|
| 63 | - 'bouton_radio_envoi_annonces' => 'Enviar os anúncios editoriais', |
|
| 64 | - 'bouton_radio_non_envoi_annonces' => 'Não enviar anúncios', |
|
| 65 | - 'bouton_radio_non_envoi_liste_nouveautes' => 'Não enviar a lista das novidades', |
|
| 66 | - 'bouton_recharger_page' => 'recarregar esta página', |
|
| 67 | - 'bouton_telecharger' => 'Carregar', |
|
| 68 | - 'bouton_upload' => 'Carregar', |
|
| 69 | - 'bouton_valider' => 'Submeter', |
|
| 39 | + // B |
|
| 40 | + 'barre_a_accent_grave' => 'Inserir um A maiúsculo com acento grave', |
|
| 41 | + 'barre_aide' => 'Utilize as abreviaturas tipográficas para enriquecer a sua paginação.', |
|
| 42 | + 'barre_e_accent_aigu' => 'Inserir um E maiúsculo com acento agudo ', |
|
| 43 | + 'barre_eo' => 'Inserir um E no O', |
|
| 44 | + 'barre_eo_maj' => 'Inserir um E no O maiúsculo', |
|
| 45 | + 'barre_euro' => 'Inserir o símbolo €', |
|
| 46 | + 'barre_gras' => ' Escrever em {{negro}}', |
|
| 47 | + 'barre_guillemets' => 'Colocar entre "aspas" ', |
|
| 48 | + 'barre_guillemets_simples' => 'Colocar entre ’aspas simples’', |
|
| 49 | + 'barre_intertitre' => 'Transfomar em {{{intertítulo}}} ', |
|
| 50 | + 'barre_italic' => 'Pôr em itálico ', |
|
| 51 | + 'barre_lien' => 'Transformar em [ligação hipertexto->http://...]', |
|
| 52 | + 'barre_lien_input' => 'Por favor indique o endereço da sua ligação (pode indicar um endereço Web sob a forma http://www.monsite/com ou simplesmente indicar o número de um artigo deste sítio.) ', |
|
| 53 | + 'barre_note' => 'Transformar em [[Nota de rodapé ]]', |
|
| 54 | + 'barre_paragraphe' => 'Criar um parágrafo', |
|
| 55 | + 'barre_quote' => '<quote>Citar uma mensagem</quote>', |
|
| 56 | + 'bouton_changer' => 'Modificar', |
|
| 57 | + 'bouton_chercher' => 'Procurar', |
|
| 58 | + 'bouton_choisir' => 'Seleccionar', |
|
| 59 | + 'bouton_deplacer' => 'Mover', |
|
| 60 | + 'bouton_download' => 'Download', |
|
| 61 | + 'bouton_enregistrer' => 'Guardar', |
|
| 62 | + 'bouton_radio_desactiver_messagerie_interne' => 'Desactivar a caixa de correio interno', |
|
| 63 | + 'bouton_radio_envoi_annonces' => 'Enviar os anúncios editoriais', |
|
| 64 | + 'bouton_radio_non_envoi_annonces' => 'Não enviar anúncios', |
|
| 65 | + 'bouton_radio_non_envoi_liste_nouveautes' => 'Não enviar a lista das novidades', |
|
| 66 | + 'bouton_recharger_page' => 'recarregar esta página', |
|
| 67 | + 'bouton_telecharger' => 'Carregar', |
|
| 68 | + 'bouton_upload' => 'Carregar', |
|
| 69 | + 'bouton_valider' => 'Submeter', |
|
| 70 | 70 | |
| 71 | - // C |
|
| 72 | - 'cal_apresmidi' => 'tarde', |
|
| 73 | - 'cal_jour_entier' => 'dia todo', |
|
| 74 | - 'cal_matin' => 'manhã', |
|
| 75 | - 'cal_par_jour' => 'calendário por dia', |
|
| 76 | - 'cal_par_mois' => 'calendário por mês', |
|
| 77 | - 'cal_par_semaine' => 'calendário por semana', |
|
| 78 | - 'choix_couleur_interface' => 'cor', |
|
| 79 | - 'choix_interface' => 'escolha da interface', |
|
| 80 | - 'colonne' => 'Coluna', |
|
| 81 | - 'confirm_changer_statut' => 'Atenção, solicitou a alteração do estatuto deste elemento. Deseja continuar?', |
|
| 82 | - 'correcte' => 'correcto', |
|
| 71 | + // C |
|
| 72 | + 'cal_apresmidi' => 'tarde', |
|
| 73 | + 'cal_jour_entier' => 'dia todo', |
|
| 74 | + 'cal_matin' => 'manhã', |
|
| 75 | + 'cal_par_jour' => 'calendário por dia', |
|
| 76 | + 'cal_par_mois' => 'calendário por mês', |
|
| 77 | + 'cal_par_semaine' => 'calendário por semana', |
|
| 78 | + 'choix_couleur_interface' => 'cor', |
|
| 79 | + 'choix_interface' => 'escolha da interface', |
|
| 80 | + 'colonne' => 'Coluna', |
|
| 81 | + 'confirm_changer_statut' => 'Atenção, solicitou a alteração do estatuto deste elemento. Deseja continuar?', |
|
| 82 | + 'correcte' => 'correcto', |
|
| 83 | 83 | |
| 84 | - // D |
|
| 85 | - 'date_aujourdhui' => 'hoje', |
|
| 86 | - 'date_avant_jc' => 'a. J.C.', |
|
| 87 | - 'date_dans' => 'entre @delai@', |
|
| 88 | - 'date_de_mois_1' => '@j@ de @nommois@', |
|
| 89 | - 'date_de_mois_10' => '@j@ de @nommois@', |
|
| 90 | - 'date_de_mois_11' => '@j@ de @nommois@', |
|
| 91 | - 'date_de_mois_12' => '@j@ de @nommois@', |
|
| 92 | - 'date_de_mois_2' => '@j@ de @nommois@', |
|
| 93 | - 'date_de_mois_3' => '@j@ de @nommois@', |
|
| 94 | - 'date_de_mois_4' => '@j@ de @nommois@', |
|
| 95 | - 'date_de_mois_5' => '@j@ de @nommois@', |
|
| 96 | - 'date_de_mois_6' => '@j@ de @nommois@', |
|
| 97 | - 'date_de_mois_7' => '@j@ de @nommois@', |
|
| 98 | - 'date_de_mois_8' => '@j@ de @nommois@', |
|
| 99 | - 'date_de_mois_9' => '@j@ de @nommois@', |
|
| 100 | - 'date_demain' => 'amanhã', |
|
| 101 | - 'date_fmt_heures_minutes' => '@h@h@m@min', |
|
| 102 | - 'date_fmt_heures_minutes_court' => '@h@:@m@', |
|
| 103 | - 'date_fmt_jour' => '@nomjour@ @jour@', |
|
| 104 | - 'date_fmt_jour_heure' => '@jour@ a @heure@', |
|
| 105 | - 'date_fmt_jour_heure_debut_fin' => '@jour@ de @heure_debut@ a @heure_fin@', # MODIF |
|
| 106 | - 'date_fmt_jour_heure_debut_fin_abbr' => '@dtstart@@jour@ de @heure_debut@@dtabbr@ a @dtstart@@heure_fin@@dtend@', # MODIF |
|
| 107 | - 'date_fmt_jour_mois' => '@jour@ de @nommois@', |
|
| 108 | - 'date_fmt_jour_mois_annee' => '@jour@ de @nommois@ de @annee@', |
|
| 109 | - 'date_fmt_mois_annee' => '@nommois@ de @annee@', |
|
| 110 | - 'date_fmt_nomjour' => '@nomjour@ @date@', |
|
| 111 | - 'date_fmt_nomjour_date' => ' @nomjour@ @date@', |
|
| 112 | - 'date_fmt_periode' => 'De @date_debut@ a @date_fin@', |
|
| 113 | - 'date_fmt_periode_abbr' => 'De @dtart@@date_debut@@dtabbr@ a @dtend@@date_fin@@dtabbr@', |
|
| 114 | - 'date_fmt_periode_from' => 'De', |
|
| 115 | - 'date_fmt_periode_to' => 'a', |
|
| 116 | - 'date_heures' => 'horas', |
|
| 117 | - 'date_hier' => 'ontem', |
|
| 118 | - 'date_il_y_a' => 'há @delai@', |
|
| 119 | - 'date_jnum1' => '1', |
|
| 120 | - 'date_jnum10' => '10', |
|
| 121 | - 'date_jnum11' => '11', |
|
| 122 | - 'date_jnum12' => '12', |
|
| 123 | - 'date_jnum13' => '13', |
|
| 124 | - 'date_jnum14' => '14', |
|
| 125 | - 'date_jnum15' => '15', |
|
| 126 | - 'date_jnum16' => '16', |
|
| 127 | - 'date_jnum17' => '17', |
|
| 128 | - 'date_jnum18' => '18', |
|
| 129 | - 'date_jnum19' => '19', |
|
| 130 | - 'date_jnum2' => '2', |
|
| 131 | - 'date_jnum20' => '20', |
|
| 132 | - 'date_jnum21' => '21', |
|
| 133 | - 'date_jnum22' => '22', |
|
| 134 | - 'date_jnum23' => '23', |
|
| 135 | - 'date_jnum24' => '24', |
|
| 136 | - 'date_jnum25' => '25', |
|
| 137 | - 'date_jnum26' => '26', |
|
| 138 | - 'date_jnum27' => '27', |
|
| 139 | - 'date_jnum28' => '28', |
|
| 140 | - 'date_jnum29' => '29', |
|
| 141 | - 'date_jnum3' => '3', |
|
| 142 | - 'date_jnum30' => '30', |
|
| 143 | - 'date_jnum31' => '31', |
|
| 144 | - 'date_jnum4' => '4', |
|
| 145 | - 'date_jnum5' => '5', |
|
| 146 | - 'date_jnum6' => '6', |
|
| 147 | - 'date_jnum7' => '7', |
|
| 148 | - 'date_jnum8' => '8', |
|
| 149 | - 'date_jnum9' => '9', |
|
| 150 | - 'date_jour_1' => 'domingo', |
|
| 151 | - 'date_jour_1_abbr' => 'Dom.', |
|
| 152 | - 'date_jour_1_initiale' => 'D.', |
|
| 153 | - 'date_jour_2' => 'segunda-feira', |
|
| 154 | - 'date_jour_2_abbr' => 'Seg.', |
|
| 155 | - 'date_jour_2_initiale' => 'S.', |
|
| 156 | - 'date_jour_3' => 'terça-feira', |
|
| 157 | - 'date_jour_3_abbr' => 'Ter.', |
|
| 158 | - 'date_jour_3_initiale' => 'T.', |
|
| 159 | - 'date_jour_4' => 'quarta-feira', |
|
| 160 | - 'date_jour_4_abbr' => 'Qua.', |
|
| 161 | - 'date_jour_4_initiale' => 'Q.', |
|
| 162 | - 'date_jour_5' => 'quinta-feira', |
|
| 163 | - 'date_jour_5_abbr' => 'Qui.', |
|
| 164 | - 'date_jour_5_initiale' => 'Q.', |
|
| 165 | - 'date_jour_6' => 'sexta-feira', |
|
| 166 | - 'date_jour_6_abbr' => 'Sex.', |
|
| 167 | - 'date_jour_6_initiale' => 'S.', |
|
| 168 | - 'date_jour_7' => 'sábado', |
|
| 169 | - 'date_jour_7_abbr' => 'Sab.', |
|
| 170 | - 'date_jour_7_initiale' => 'S.', |
|
| 171 | - 'date_jours' => 'dias', |
|
| 172 | - 'date_minutes' => 'minutos', |
|
| 173 | - 'date_mois' => 'meses', |
|
| 174 | - 'date_mois_1' => 'Janeiro', |
|
| 175 | - 'date_mois_10' => 'Outubro', |
|
| 176 | - 'date_mois_10_abbr' => 'Out.', |
|
| 177 | - 'date_mois_11' => 'Novembro', |
|
| 178 | - 'date_mois_11_abbr' => 'Nov.', |
|
| 179 | - 'date_mois_12' => 'Dezembro', |
|
| 180 | - 'date_mois_12_abbr' => 'Dez.', |
|
| 181 | - 'date_mois_1_abbr' => 'Jan.', |
|
| 182 | - 'date_mois_2' => 'Fevereiro', |
|
| 183 | - 'date_mois_2_abbr' => 'Feb.', |
|
| 184 | - 'date_mois_3' => 'Março', |
|
| 185 | - 'date_mois_3_abbr' => 'Mar', |
|
| 186 | - 'date_mois_4' => 'Abril', |
|
| 187 | - 'date_mois_4_abbr' => 'Abr.', |
|
| 188 | - 'date_mois_5' => 'Maio', |
|
| 189 | - 'date_mois_5_abbr' => 'Mai', |
|
| 190 | - 'date_mois_6' => 'Junho', |
|
| 191 | - 'date_mois_6_abbr' => 'Jun', |
|
| 192 | - 'date_mois_7' => 'Julho', |
|
| 193 | - 'date_mois_7_abbr' => 'Jul', |
|
| 194 | - 'date_mois_8' => 'Agosto', |
|
| 195 | - 'date_mois_8_abbr' => 'Ago', |
|
| 196 | - 'date_mois_9' => 'Setembro', |
|
| 197 | - 'date_mois_9_abbr' => 'Set', |
|
| 198 | - 'date_saison_1' => 'inverno', |
|
| 199 | - 'date_saison_2' => 'primavera', |
|
| 200 | - 'date_saison_3' => 'verão', |
|
| 201 | - 'date_saison_4' => 'outono', |
|
| 202 | - 'date_secondes' => 'segundos', |
|
| 203 | - 'date_semaines' => 'semanas', |
|
| 204 | - 'date_un_mois' => 'mês', |
|
| 205 | - 'date_une_heure' => 'hora', |
|
| 206 | - 'date_une_minute' => 'minuto', |
|
| 207 | - 'date_une_seconde' => 'segundo', |
|
| 208 | - 'date_une_semaine' => 'semana', |
|
| 209 | - 'dirs_commencer' => 'a fim de começar realmente a instalação', |
|
| 210 | - 'dirs_preliminaire' => 'Preliminar : <b>Configurar os direitos de acesso</b>', |
|
| 211 | - 'dirs_probleme_droits' => 'Problema de direitos de acesso', |
|
| 212 | - 'dirs_repertoires_absents' => '<b>Os seguintes directórios não foram encontrados : <ul>@bad_dirs@.</ul> </b> |
|
| 84 | + // D |
|
| 85 | + 'date_aujourdhui' => 'hoje', |
|
| 86 | + 'date_avant_jc' => 'a. J.C.', |
|
| 87 | + 'date_dans' => 'entre @delai@', |
|
| 88 | + 'date_de_mois_1' => '@j@ de @nommois@', |
|
| 89 | + 'date_de_mois_10' => '@j@ de @nommois@', |
|
| 90 | + 'date_de_mois_11' => '@j@ de @nommois@', |
|
| 91 | + 'date_de_mois_12' => '@j@ de @nommois@', |
|
| 92 | + 'date_de_mois_2' => '@j@ de @nommois@', |
|
| 93 | + 'date_de_mois_3' => '@j@ de @nommois@', |
|
| 94 | + 'date_de_mois_4' => '@j@ de @nommois@', |
|
| 95 | + 'date_de_mois_5' => '@j@ de @nommois@', |
|
| 96 | + 'date_de_mois_6' => '@j@ de @nommois@', |
|
| 97 | + 'date_de_mois_7' => '@j@ de @nommois@', |
|
| 98 | + 'date_de_mois_8' => '@j@ de @nommois@', |
|
| 99 | + 'date_de_mois_9' => '@j@ de @nommois@', |
|
| 100 | + 'date_demain' => 'amanhã', |
|
| 101 | + 'date_fmt_heures_minutes' => '@h@h@m@min', |
|
| 102 | + 'date_fmt_heures_minutes_court' => '@h@:@m@', |
|
| 103 | + 'date_fmt_jour' => '@nomjour@ @jour@', |
|
| 104 | + 'date_fmt_jour_heure' => '@jour@ a @heure@', |
|
| 105 | + 'date_fmt_jour_heure_debut_fin' => '@jour@ de @heure_debut@ a @heure_fin@', # MODIF |
|
| 106 | + 'date_fmt_jour_heure_debut_fin_abbr' => '@dtstart@@jour@ de @heure_debut@@dtabbr@ a @dtstart@@heure_fin@@dtend@', # MODIF |
|
| 107 | + 'date_fmt_jour_mois' => '@jour@ de @nommois@', |
|
| 108 | + 'date_fmt_jour_mois_annee' => '@jour@ de @nommois@ de @annee@', |
|
| 109 | + 'date_fmt_mois_annee' => '@nommois@ de @annee@', |
|
| 110 | + 'date_fmt_nomjour' => '@nomjour@ @date@', |
|
| 111 | + 'date_fmt_nomjour_date' => ' @nomjour@ @date@', |
|
| 112 | + 'date_fmt_periode' => 'De @date_debut@ a @date_fin@', |
|
| 113 | + 'date_fmt_periode_abbr' => 'De @dtart@@date_debut@@dtabbr@ a @dtend@@date_fin@@dtabbr@', |
|
| 114 | + 'date_fmt_periode_from' => 'De', |
|
| 115 | + 'date_fmt_periode_to' => 'a', |
|
| 116 | + 'date_heures' => 'horas', |
|
| 117 | + 'date_hier' => 'ontem', |
|
| 118 | + 'date_il_y_a' => 'há @delai@', |
|
| 119 | + 'date_jnum1' => '1', |
|
| 120 | + 'date_jnum10' => '10', |
|
| 121 | + 'date_jnum11' => '11', |
|
| 122 | + 'date_jnum12' => '12', |
|
| 123 | + 'date_jnum13' => '13', |
|
| 124 | + 'date_jnum14' => '14', |
|
| 125 | + 'date_jnum15' => '15', |
|
| 126 | + 'date_jnum16' => '16', |
|
| 127 | + 'date_jnum17' => '17', |
|
| 128 | + 'date_jnum18' => '18', |
|
| 129 | + 'date_jnum19' => '19', |
|
| 130 | + 'date_jnum2' => '2', |
|
| 131 | + 'date_jnum20' => '20', |
|
| 132 | + 'date_jnum21' => '21', |
|
| 133 | + 'date_jnum22' => '22', |
|
| 134 | + 'date_jnum23' => '23', |
|
| 135 | + 'date_jnum24' => '24', |
|
| 136 | + 'date_jnum25' => '25', |
|
| 137 | + 'date_jnum26' => '26', |
|
| 138 | + 'date_jnum27' => '27', |
|
| 139 | + 'date_jnum28' => '28', |
|
| 140 | + 'date_jnum29' => '29', |
|
| 141 | + 'date_jnum3' => '3', |
|
| 142 | + 'date_jnum30' => '30', |
|
| 143 | + 'date_jnum31' => '31', |
|
| 144 | + 'date_jnum4' => '4', |
|
| 145 | + 'date_jnum5' => '5', |
|
| 146 | + 'date_jnum6' => '6', |
|
| 147 | + 'date_jnum7' => '7', |
|
| 148 | + 'date_jnum8' => '8', |
|
| 149 | + 'date_jnum9' => '9', |
|
| 150 | + 'date_jour_1' => 'domingo', |
|
| 151 | + 'date_jour_1_abbr' => 'Dom.', |
|
| 152 | + 'date_jour_1_initiale' => 'D.', |
|
| 153 | + 'date_jour_2' => 'segunda-feira', |
|
| 154 | + 'date_jour_2_abbr' => 'Seg.', |
|
| 155 | + 'date_jour_2_initiale' => 'S.', |
|
| 156 | + 'date_jour_3' => 'terça-feira', |
|
| 157 | + 'date_jour_3_abbr' => 'Ter.', |
|
| 158 | + 'date_jour_3_initiale' => 'T.', |
|
| 159 | + 'date_jour_4' => 'quarta-feira', |
|
| 160 | + 'date_jour_4_abbr' => 'Qua.', |
|
| 161 | + 'date_jour_4_initiale' => 'Q.', |
|
| 162 | + 'date_jour_5' => 'quinta-feira', |
|
| 163 | + 'date_jour_5_abbr' => 'Qui.', |
|
| 164 | + 'date_jour_5_initiale' => 'Q.', |
|
| 165 | + 'date_jour_6' => 'sexta-feira', |
|
| 166 | + 'date_jour_6_abbr' => 'Sex.', |
|
| 167 | + 'date_jour_6_initiale' => 'S.', |
|
| 168 | + 'date_jour_7' => 'sábado', |
|
| 169 | + 'date_jour_7_abbr' => 'Sab.', |
|
| 170 | + 'date_jour_7_initiale' => 'S.', |
|
| 171 | + 'date_jours' => 'dias', |
|
| 172 | + 'date_minutes' => 'minutos', |
|
| 173 | + 'date_mois' => 'meses', |
|
| 174 | + 'date_mois_1' => 'Janeiro', |
|
| 175 | + 'date_mois_10' => 'Outubro', |
|
| 176 | + 'date_mois_10_abbr' => 'Out.', |
|
| 177 | + 'date_mois_11' => 'Novembro', |
|
| 178 | + 'date_mois_11_abbr' => 'Nov.', |
|
| 179 | + 'date_mois_12' => 'Dezembro', |
|
| 180 | + 'date_mois_12_abbr' => 'Dez.', |
|
| 181 | + 'date_mois_1_abbr' => 'Jan.', |
|
| 182 | + 'date_mois_2' => 'Fevereiro', |
|
| 183 | + 'date_mois_2_abbr' => 'Feb.', |
|
| 184 | + 'date_mois_3' => 'Março', |
|
| 185 | + 'date_mois_3_abbr' => 'Mar', |
|
| 186 | + 'date_mois_4' => 'Abril', |
|
| 187 | + 'date_mois_4_abbr' => 'Abr.', |
|
| 188 | + 'date_mois_5' => 'Maio', |
|
| 189 | + 'date_mois_5_abbr' => 'Mai', |
|
| 190 | + 'date_mois_6' => 'Junho', |
|
| 191 | + 'date_mois_6_abbr' => 'Jun', |
|
| 192 | + 'date_mois_7' => 'Julho', |
|
| 193 | + 'date_mois_7_abbr' => 'Jul', |
|
| 194 | + 'date_mois_8' => 'Agosto', |
|
| 195 | + 'date_mois_8_abbr' => 'Ago', |
|
| 196 | + 'date_mois_9' => 'Setembro', |
|
| 197 | + 'date_mois_9_abbr' => 'Set', |
|
| 198 | + 'date_saison_1' => 'inverno', |
|
| 199 | + 'date_saison_2' => 'primavera', |
|
| 200 | + 'date_saison_3' => 'verão', |
|
| 201 | + 'date_saison_4' => 'outono', |
|
| 202 | + 'date_secondes' => 'segundos', |
|
| 203 | + 'date_semaines' => 'semanas', |
|
| 204 | + 'date_un_mois' => 'mês', |
|
| 205 | + 'date_une_heure' => 'hora', |
|
| 206 | + 'date_une_minute' => 'minuto', |
|
| 207 | + 'date_une_seconde' => 'segundo', |
|
| 208 | + 'date_une_semaine' => 'semana', |
|
| 209 | + 'dirs_commencer' => 'a fim de começar realmente a instalação', |
|
| 210 | + 'dirs_preliminaire' => 'Preliminar : <b>Configurar os direitos de acesso</b>', |
|
| 211 | + 'dirs_probleme_droits' => 'Problema de direitos de acesso', |
|
| 212 | + 'dirs_repertoires_absents' => '<b>Os seguintes directórios não foram encontrados : <ul>@bad_dirs@.</ul> </b> |
|
| 213 | 213 | <p>É provável que resulte de um problema de má colocação de maiúsculas ou minúsculas. |
| 214 | 214 | Verifique que as minúsculas e maiúsculas destes directórios concordam com o que está exibido |
| 215 | 215 | acima; se não for o caso, renomeie os repertórios com o seu software FTP de modo a corrigir o erro. |
| 216 | 216 | <p>Terminada esta operação, poderá</p>', |
| 217 | - 'dirs_repertoires_suivants' => '<b>Os seguintes directórios não estão acessíveis para escrita: <ul>@bad_dirs@.</ul> </b> |
|
| 217 | + 'dirs_repertoires_suivants' => '<b>Os seguintes directórios não estão acessíveis para escrita: <ul>@bad_dirs@.</ul> </b> |
|
| 218 | 218 | <p>Para corrigir, utilize o seu programa de FTP para configurar os direitos de acesso de cada um |
| 219 | 219 | destes directórios. O procedimento está explicado em detalhe no manual de instalação. |
| 220 | 220 | <p>Uma vez efectuada esta alteração, poderá', |
| 221 | - 'double_occurrence' => 'Dupla ocorrência de @balise@', |
|
| 221 | + 'double_occurrence' => 'Dupla ocorrência de @balise@', |
|
| 222 | 222 | |
| 223 | - // E |
|
| 224 | - 'en_cours' => 'em curso', |
|
| 225 | - 'envoi_via_le_site' => 'Envio pelo sítio', |
|
| 226 | - 'erreur' => 'Erro', |
|
| 227 | - 'erreur_balise_non_fermee' => 'última tag não fechada :', |
|
| 228 | - 'erreur_technique_ajaxform' => 'Ooops. Uum erro inesperado impediu o formulário de ser enviado. Por favor tente novamente.', |
|
| 229 | - 'erreur_technique_enregistrement_champs' => 'Um erro técnico impediu o registo correcto do campo @champs@.', |
|
| 230 | - 'erreur_technique_enregistrement_impossible' => 'Um erro técnico impediu o registo.', |
|
| 231 | - 'erreur_texte' => 'erro(s)', |
|
| 232 | - 'etape' => 'Etapa', |
|
| 223 | + // E |
|
| 224 | + 'en_cours' => 'em curso', |
|
| 225 | + 'envoi_via_le_site' => 'Envio pelo sítio', |
|
| 226 | + 'erreur' => 'Erro', |
|
| 227 | + 'erreur_balise_non_fermee' => 'última tag não fechada :', |
|
| 228 | + 'erreur_technique_ajaxform' => 'Ooops. Uum erro inesperado impediu o formulário de ser enviado. Por favor tente novamente.', |
|
| 229 | + 'erreur_technique_enregistrement_champs' => 'Um erro técnico impediu o registo correcto do campo @champs@.', |
|
| 230 | + 'erreur_technique_enregistrement_impossible' => 'Um erro técnico impediu o registo.', |
|
| 231 | + 'erreur_texte' => 'erro(s)', |
|
| 232 | + 'etape' => 'Etapa', |
|
| 233 | 233 | |
| 234 | - // F |
|
| 235 | - 'fichier_introuvable' => 'Ficheiro @fichier@ não localizado', # MODIF |
|
| 236 | - 'form_auteur_confirmation' => 'Confirme o seu endereço e-mail', |
|
| 237 | - 'form_auteur_email_modifie' => 'O seu endereço e-mail foi alterado.', |
|
| 238 | - 'form_auteur_envoi_mail_confirmation' => 'Um e-mail de confirmação foi enviado para @email@. Para validar o seu endereço de e-mail, deve abrir o endereço Web mencionado na mensagem.', |
|
| 239 | - 'form_auteur_mail_confirmation' => 'Olá, |
|
| 234 | + // F |
|
| 235 | + 'fichier_introuvable' => 'Ficheiro @fichier@ não localizado', # MODIF |
|
| 236 | + 'form_auteur_confirmation' => 'Confirme o seu endereço e-mail', |
|
| 237 | + 'form_auteur_email_modifie' => 'O seu endereço e-mail foi alterado.', |
|
| 238 | + 'form_auteur_envoi_mail_confirmation' => 'Um e-mail de confirmação foi enviado para @email@. Para validar o seu endereço de e-mail, deve abrir o endereço Web mencionado na mensagem.', |
|
| 239 | + 'form_auteur_mail_confirmation' => 'Olá, |
|
| 240 | 240 | |
| 241 | 241 | Pediu para alterar o seu endereço e-mail. Para confirmar o seu novo endereço, precisa de se conectar ao endereço abaixo (caso contrário, o seu pedido será ignorado) : |
| 242 | 242 | |
| 243 | 243 | @url@ |
| 244 | 244 | ', |
| 245 | - 'form_deja_inscrit' => 'Já está inscrito.', |
|
| 246 | - 'form_email_non_valide' => 'O seu endereço email não é válido', |
|
| 247 | - 'form_forum_access_refuse' => 'Você já não tem acesso a este sítio', |
|
| 248 | - 'form_forum_bonjour' => 'Bom dia @nom@,', |
|
| 249 | - 'form_forum_confirmer_email' => 'Para confirmar o seu endereço e-maill, abra esta ligação : @url_confirm@', |
|
| 250 | - 'form_forum_email_deja_enregistre' => 'Este endereço e-mail já está registado,pode portanto utilizar a sua palavra-passe habitual', |
|
| 251 | - 'form_forum_identifiant_mail' => 'O seu novo identificador acabou de lhe ser enviado por email.', |
|
| 252 | - 'form_forum_identifiants' => 'Identificadores pessoais', |
|
| 253 | - 'form_forum_indiquer_nom_email' => 'Indicar aqui o seu nome e o seu endereço email. O seu identificador pessoal ser-lhe-á enviado rapidamente por correio electrónico.', |
|
| 254 | - 'form_forum_login' => 'login:', |
|
| 255 | - 'form_forum_message_auto' => '(esta é uma mensagem automática)', |
|
| 256 | - 'form_forum_pass' => 'palavra-passe', |
|
| 257 | - 'form_forum_probleme_mail' => 'Problema de mail :o identificador não pôde ser enviado', |
|
| 258 | - 'form_forum_voici1' => 'Aqui estão os seus dados para poder aceder ao sítio Internet do "@nom_site_spip@" (@adresse_site@):', |
|
| 259 | - 'form_forum_voici2' => 'Eis os seus identificadores para propor artigos no |
|
| 245 | + 'form_deja_inscrit' => 'Já está inscrito.', |
|
| 246 | + 'form_email_non_valide' => 'O seu endereço email não é válido', |
|
| 247 | + 'form_forum_access_refuse' => 'Você já não tem acesso a este sítio', |
|
| 248 | + 'form_forum_bonjour' => 'Bom dia @nom@,', |
|
| 249 | + 'form_forum_confirmer_email' => 'Para confirmar o seu endereço e-maill, abra esta ligação : @url_confirm@', |
|
| 250 | + 'form_forum_email_deja_enregistre' => 'Este endereço e-mail já está registado,pode portanto utilizar a sua palavra-passe habitual', |
|
| 251 | + 'form_forum_identifiant_mail' => 'O seu novo identificador acabou de lhe ser enviado por email.', |
|
| 252 | + 'form_forum_identifiants' => 'Identificadores pessoais', |
|
| 253 | + 'form_forum_indiquer_nom_email' => 'Indicar aqui o seu nome e o seu endereço email. O seu identificador pessoal ser-lhe-á enviado rapidamente por correio electrónico.', |
|
| 254 | + 'form_forum_login' => 'login:', |
|
| 255 | + 'form_forum_message_auto' => '(esta é uma mensagem automática)', |
|
| 256 | + 'form_forum_pass' => 'palavra-passe', |
|
| 257 | + 'form_forum_probleme_mail' => 'Problema de mail :o identificador não pôde ser enviado', |
|
| 258 | + 'form_forum_voici1' => 'Aqui estão os seus dados para poder aceder ao sítio Internet do "@nom_site_spip@" (@adresse_site@):', |
|
| 259 | + 'form_forum_voici2' => 'Eis os seus identificadores para propor artigos no |
|
| 260 | 260 | sítio "@nom_site_spip@" (@adresse_login@):', |
| 261 | - 'form_indiquer_email' => 'Por favor indique o seu endereço email.', |
|
| 262 | - 'form_indiquer_nom' => 'Por favor indique o seu nome.', |
|
| 263 | - 'form_indiquer_nom_site' => 'Por favor indique o nome do seu sítio.', |
|
| 264 | - 'form_pet_deja_enregistre' => 'Este sítio já está registado', |
|
| 265 | - 'form_pet_signature_pasprise' => 'A sua assinatura não está tomada em conta.', |
|
| 266 | - 'form_prop_confirmer_envoi' => 'Confirmar o envio', |
|
| 267 | - 'form_prop_description' => 'Descrição/comentário', |
|
| 268 | - 'form_prop_enregistre' => 'A sua proposta foi registada. Aparecerá online após a validação pelos responsáveis deste sítio.', |
|
| 269 | - 'form_prop_envoyer' => 'Enviar uma mensagem', |
|
| 270 | - 'form_prop_indiquer_email' => 'Por favor indique um endereço email válido', |
|
| 271 | - 'form_prop_indiquer_nom_site' => 'Por favor indique o nome do sítio.', |
|
| 272 | - 'form_prop_indiquer_sujet' => 'Por favor indique um tema', |
|
| 273 | - 'form_prop_message_envoye' => 'Mensagem enviada', |
|
| 274 | - 'form_prop_non_enregistre' => 'A sua proposta não foi registada.', |
|
| 275 | - 'form_prop_sujet' => 'Tema', |
|
| 276 | - 'form_prop_url_site' => 'Endereço (URL) do sítio', |
|
| 277 | - 'forum_non_inscrit' => 'Não está inscrito, ou o endereço ou a palavra-passe estão errados.', |
|
| 278 | - 'forum_par_auteur' => 'por @auteur@', |
|
| 279 | - 'forum_titre_erreur' => 'Erro...', |
|
| 261 | + 'form_indiquer_email' => 'Por favor indique o seu endereço email.', |
|
| 262 | + 'form_indiquer_nom' => 'Por favor indique o seu nome.', |
|
| 263 | + 'form_indiquer_nom_site' => 'Por favor indique o nome do seu sítio.', |
|
| 264 | + 'form_pet_deja_enregistre' => 'Este sítio já está registado', |
|
| 265 | + 'form_pet_signature_pasprise' => 'A sua assinatura não está tomada em conta.', |
|
| 266 | + 'form_prop_confirmer_envoi' => 'Confirmar o envio', |
|
| 267 | + 'form_prop_description' => 'Descrição/comentário', |
|
| 268 | + 'form_prop_enregistre' => 'A sua proposta foi registada. Aparecerá online após a validação pelos responsáveis deste sítio.', |
|
| 269 | + 'form_prop_envoyer' => 'Enviar uma mensagem', |
|
| 270 | + 'form_prop_indiquer_email' => 'Por favor indique um endereço email válido', |
|
| 271 | + 'form_prop_indiquer_nom_site' => 'Por favor indique o nome do sítio.', |
|
| 272 | + 'form_prop_indiquer_sujet' => 'Por favor indique um tema', |
|
| 273 | + 'form_prop_message_envoye' => 'Mensagem enviada', |
|
| 274 | + 'form_prop_non_enregistre' => 'A sua proposta não foi registada.', |
|
| 275 | + 'form_prop_sujet' => 'Tema', |
|
| 276 | + 'form_prop_url_site' => 'Endereço (URL) do sítio', |
|
| 277 | + 'forum_non_inscrit' => 'Não está inscrito, ou o endereço ou a palavra-passe estão errados.', |
|
| 278 | + 'forum_par_auteur' => 'por @auteur@', |
|
| 279 | + 'forum_titre_erreur' => 'Erro...', |
|
| 280 | 280 | |
| 281 | - // I |
|
| 282 | - 'ical_texte_rss_articles' => 'O ficheiro «backend» dos artigos deste sítio encontra-se neste endereço:', |
|
| 283 | - 'ical_texte_rss_articles2' => 'Pode igualmente obter os ficheiros «backend» para os artigos de cada rubrica do sítio:', |
|
| 284 | - 'ical_texte_rss_breves' => 'Existe também um ficheiro contendo notícias do sítio. Especificando um número de rubrica, obterá unicamente as notícias dessa rubrica.', |
|
| 285 | - 'icone_a_suivre' => 'Continua', |
|
| 286 | - 'icone_admin_site' => 'Administração do sítio', |
|
| 287 | - 'icone_agenda' => 'Agenda e correio', |
|
| 288 | - 'icone_aide_ligne' => 'Ajuda', |
|
| 289 | - 'icone_articles' => 'Artigos', |
|
| 290 | - 'icone_auteurs' => 'Autores', |
|
| 291 | - 'icone_brouteur' => 'Navegação rápida', |
|
| 292 | - 'icone_configuration_site' => 'Configuração', |
|
| 293 | - 'icone_configurer_site' => 'Configurar o seu sítio', |
|
| 294 | - 'icone_creer_nouvel_auteur' => 'Criar um novo autor', |
|
| 295 | - 'icone_creer_rubrique' => 'Criar uma rubrica', |
|
| 296 | - 'icone_creer_sous_rubrique' => 'Criar uma sub-rubrica', |
|
| 297 | - 'icone_deconnecter' => 'Sair', |
|
| 298 | - 'icone_discussions' => 'Discussões', |
|
| 299 | - 'icone_doc_rubrique' => 'Documentos das rubricas', |
|
| 300 | - 'icone_ecrire_article' => 'Escrever um novo artigo', |
|
| 301 | - 'icone_edition_site' => 'Edição', |
|
| 302 | - 'icone_gestion_langues' => 'Opções de idiomas', |
|
| 303 | - 'icone_informations_personnelles' => 'Informações pessoais', |
|
| 304 | - 'icone_interface_complet' => 'interface completa', |
|
| 305 | - 'icone_interface_simple' => 'Interface simplificada', |
|
| 306 | - 'icone_maintenance_site' => 'Manutenção do sítio', |
|
| 307 | - 'icone_messagerie_personnelle' => 'Mensagens privadas', |
|
| 308 | - 'icone_repartition_debut' => 'Exibir a distribuição desde o início', |
|
| 309 | - 'icone_rubriques' => 'Rubricas', |
|
| 310 | - 'icone_sauver_site' => 'Cópia de segurança do sítio', |
|
| 311 | - 'icone_site_entier' => 'Todo o sítio', |
|
| 312 | - 'icone_sites_references' => 'Sítios referenciados', |
|
| 313 | - 'icone_statistiques' => 'Estatísticas do sítio', |
|
| 314 | - 'icone_suivi_activite' => 'Acompanhar a actividade do sítio', |
|
| 315 | - 'icone_suivi_actualite' => 'Evolução do sítio', |
|
| 316 | - 'icone_suivi_pettions' => 'Seguir/gerir os abaixo-assinados', |
|
| 317 | - 'icone_suivi_revisions' => 'Modificações dos artigos', |
|
| 318 | - 'icone_supprimer_document' => 'Suprimir este documento', |
|
| 319 | - 'icone_supprimer_image' => 'Suprimir esta imagem', |
|
| 320 | - 'icone_tous_articles' => 'Todos os seus artigos', |
|
| 321 | - 'icone_tous_auteur' => 'Todos os autores', |
|
| 322 | - 'icone_tous_visiteur' => 'Todos os visitantes', |
|
| 323 | - 'icone_visiter_site' => 'Visitar o sítio público', |
|
| 324 | - 'icone_voir_en_ligne' => 'Ver online', |
|
| 325 | - 'img_indisponible' => 'imagem indisponível', |
|
| 326 | - 'impossible' => 'impossível', |
|
| 327 | - 'info_a_suivre' => 'A SEGUIR »', |
|
| 328 | - 'info_acces_interdit' => 'Acesso proibido', |
|
| 329 | - 'info_acces_refuse' => 'Acesso recusado', |
|
| 330 | - 'info_action' => 'Acção : @action@', |
|
| 331 | - 'info_administrer_rubriques' => 'Pode administrar esta rubrica e as suas sub-rubricas', |
|
| 332 | - 'info_adresse_non_indiquee' => 'Não indicou endereço a testar !', |
|
| 333 | - 'info_aide' => 'AJUDA', |
|
| 334 | - 'info_ajouter_mot' => 'Acrescentar esta palavra', |
|
| 335 | - 'info_annonce' => 'ANÚNCIO', |
|
| 336 | - 'info_annonces_generales' => 'Anúncios gerais :', |
|
| 337 | - 'info_article_propose' => 'Artigo proposto', |
|
| 338 | - 'info_article_publie' => 'Artigo publicado', |
|
| 339 | - 'info_article_redaction' => 'Artigo em curso de redacção', |
|
| 340 | - 'info_article_refuse' => 'Artigo recusado', |
|
| 341 | - 'info_article_supprime' => 'Artigo suprimido', |
|
| 342 | - 'info_articles' => 'Artigos', |
|
| 343 | - 'info_articles_a_valider' => 'Os artigos a validar', |
|
| 344 | - 'info_articles_nb' => '@nb@ artigos', |
|
| 345 | - 'info_articles_proposes' => 'Artigos propostos', |
|
| 346 | - 'info_articles_un' => '1 artigo', |
|
| 347 | - 'info_auteurs_nombre' => 'autor(es) :', |
|
| 348 | - 'info_authentification_ftp' => 'Autenticação (por FTP)', |
|
| 349 | - 'info_breves_2' => 'notícias', |
|
| 350 | - 'info_breves_nb' => '@nb@ notícias', |
|
| 351 | - 'info_breves_un' => '1 notícia', |
|
| 352 | - 'info_connexion_refusee' => 'Ligação recusada', |
|
| 353 | - 'info_contact_developpeur' => 'Por favor contacte um programador', |
|
| 354 | - 'info_contenance' => 'Este sítio contém:', |
|
| 355 | - 'info_contribution' => 'contribuições de fórum', |
|
| 356 | - 'info_copyright' => '@spip@ é um software livre distribuído @lien_gpl@.', |
|
| 357 | - 'info_copyright_doc' => 'Para mais informações, visite o sítio <a href="@spipnet@">@spipnet_affiche@</a', |
|
| 358 | - 'info_copyright_gpl' => 'sob licença GPL', |
|
| 359 | - 'info_cours_edition' => 'Os seus artigos em curso de redacção', # MODIF |
|
| 360 | - 'info_creer_repertoire' => 'Por favor crie um ficheiro ou um directório chamado :', |
|
| 361 | - 'info_creer_repertoire_2' => 'dentro do sub-directório <b>@repertoire@</b>, depois :', |
|
| 362 | - 'info_creer_vignette' => 'criação automática de miniatura', |
|
| 363 | - 'info_creerdansrubrique_non_autorise' => 'Não tem direitos suficientes para criar conteúdo nesta rubrica.', |
|
| 364 | - 'info_deplier' => 'Desenvolver', |
|
| 365 | - 'info_descriptif_nombre' => 'descritivo(s) :', |
|
| 366 | - 'info_description' => 'Descrição :', |
|
| 367 | - 'info_description_2' => 'Descrição :', |
|
| 368 | - 'info_dimension' => 'Dimensões :', |
|
| 369 | - 'info_documents_nb' => '@nb@ documentos', |
|
| 370 | - 'info_documents_un' => '1 documento', |
|
| 371 | - 'info_ecire_message_prive' => 'Escrever uma mensagem privada', |
|
| 372 | - 'info_email_invalide' => 'Endereço email inválido.', |
|
| 373 | - 'info_en_cours_validation' => 'Os seus artigos em curso de redação', |
|
| 374 | - 'info_en_ligne' => 'Actualmente online:', |
|
| 375 | - 'info_envoyer_message_prive' => 'Enviar uma mensagem privada a este autor', |
|
| 376 | - 'info_erreur_requete' => 'Erro no pedido :', |
|
| 377 | - 'info_erreur_squelette2' => 'Modelo <b>@fichier@</b> não disponível...', |
|
| 378 | - 'info_erreur_systeme' => 'Erro de Sistema (errno @errsys@)', |
|
| 379 | - 'info_erreur_systeme2' => 'O disco rígido poderá estar cheio, ou a base de dados danificada.<br /> |
|
| 281 | + // I |
|
| 282 | + 'ical_texte_rss_articles' => 'O ficheiro «backend» dos artigos deste sítio encontra-se neste endereço:', |
|
| 283 | + 'ical_texte_rss_articles2' => 'Pode igualmente obter os ficheiros «backend» para os artigos de cada rubrica do sítio:', |
|
| 284 | + 'ical_texte_rss_breves' => 'Existe também um ficheiro contendo notícias do sítio. Especificando um número de rubrica, obterá unicamente as notícias dessa rubrica.', |
|
| 285 | + 'icone_a_suivre' => 'Continua', |
|
| 286 | + 'icone_admin_site' => 'Administração do sítio', |
|
| 287 | + 'icone_agenda' => 'Agenda e correio', |
|
| 288 | + 'icone_aide_ligne' => 'Ajuda', |
|
| 289 | + 'icone_articles' => 'Artigos', |
|
| 290 | + 'icone_auteurs' => 'Autores', |
|
| 291 | + 'icone_brouteur' => 'Navegação rápida', |
|
| 292 | + 'icone_configuration_site' => 'Configuração', |
|
| 293 | + 'icone_configurer_site' => 'Configurar o seu sítio', |
|
| 294 | + 'icone_creer_nouvel_auteur' => 'Criar um novo autor', |
|
| 295 | + 'icone_creer_rubrique' => 'Criar uma rubrica', |
|
| 296 | + 'icone_creer_sous_rubrique' => 'Criar uma sub-rubrica', |
|
| 297 | + 'icone_deconnecter' => 'Sair', |
|
| 298 | + 'icone_discussions' => 'Discussões', |
|
| 299 | + 'icone_doc_rubrique' => 'Documentos das rubricas', |
|
| 300 | + 'icone_ecrire_article' => 'Escrever um novo artigo', |
|
| 301 | + 'icone_edition_site' => 'Edição', |
|
| 302 | + 'icone_gestion_langues' => 'Opções de idiomas', |
|
| 303 | + 'icone_informations_personnelles' => 'Informações pessoais', |
|
| 304 | + 'icone_interface_complet' => 'interface completa', |
|
| 305 | + 'icone_interface_simple' => 'Interface simplificada', |
|
| 306 | + 'icone_maintenance_site' => 'Manutenção do sítio', |
|
| 307 | + 'icone_messagerie_personnelle' => 'Mensagens privadas', |
|
| 308 | + 'icone_repartition_debut' => 'Exibir a distribuição desde o início', |
|
| 309 | + 'icone_rubriques' => 'Rubricas', |
|
| 310 | + 'icone_sauver_site' => 'Cópia de segurança do sítio', |
|
| 311 | + 'icone_site_entier' => 'Todo o sítio', |
|
| 312 | + 'icone_sites_references' => 'Sítios referenciados', |
|
| 313 | + 'icone_statistiques' => 'Estatísticas do sítio', |
|
| 314 | + 'icone_suivi_activite' => 'Acompanhar a actividade do sítio', |
|
| 315 | + 'icone_suivi_actualite' => 'Evolução do sítio', |
|
| 316 | + 'icone_suivi_pettions' => 'Seguir/gerir os abaixo-assinados', |
|
| 317 | + 'icone_suivi_revisions' => 'Modificações dos artigos', |
|
| 318 | + 'icone_supprimer_document' => 'Suprimir este documento', |
|
| 319 | + 'icone_supprimer_image' => 'Suprimir esta imagem', |
|
| 320 | + 'icone_tous_articles' => 'Todos os seus artigos', |
|
| 321 | + 'icone_tous_auteur' => 'Todos os autores', |
|
| 322 | + 'icone_tous_visiteur' => 'Todos os visitantes', |
|
| 323 | + 'icone_visiter_site' => 'Visitar o sítio público', |
|
| 324 | + 'icone_voir_en_ligne' => 'Ver online', |
|
| 325 | + 'img_indisponible' => 'imagem indisponível', |
|
| 326 | + 'impossible' => 'impossível', |
|
| 327 | + 'info_a_suivre' => 'A SEGUIR »', |
|
| 328 | + 'info_acces_interdit' => 'Acesso proibido', |
|
| 329 | + 'info_acces_refuse' => 'Acesso recusado', |
|
| 330 | + 'info_action' => 'Acção : @action@', |
|
| 331 | + 'info_administrer_rubriques' => 'Pode administrar esta rubrica e as suas sub-rubricas', |
|
| 332 | + 'info_adresse_non_indiquee' => 'Não indicou endereço a testar !', |
|
| 333 | + 'info_aide' => 'AJUDA', |
|
| 334 | + 'info_ajouter_mot' => 'Acrescentar esta palavra', |
|
| 335 | + 'info_annonce' => 'ANÚNCIO', |
|
| 336 | + 'info_annonces_generales' => 'Anúncios gerais :', |
|
| 337 | + 'info_article_propose' => 'Artigo proposto', |
|
| 338 | + 'info_article_publie' => 'Artigo publicado', |
|
| 339 | + 'info_article_redaction' => 'Artigo em curso de redacção', |
|
| 340 | + 'info_article_refuse' => 'Artigo recusado', |
|
| 341 | + 'info_article_supprime' => 'Artigo suprimido', |
|
| 342 | + 'info_articles' => 'Artigos', |
|
| 343 | + 'info_articles_a_valider' => 'Os artigos a validar', |
|
| 344 | + 'info_articles_nb' => '@nb@ artigos', |
|
| 345 | + 'info_articles_proposes' => 'Artigos propostos', |
|
| 346 | + 'info_articles_un' => '1 artigo', |
|
| 347 | + 'info_auteurs_nombre' => 'autor(es) :', |
|
| 348 | + 'info_authentification_ftp' => 'Autenticação (por FTP)', |
|
| 349 | + 'info_breves_2' => 'notícias', |
|
| 350 | + 'info_breves_nb' => '@nb@ notícias', |
|
| 351 | + 'info_breves_un' => '1 notícia', |
|
| 352 | + 'info_connexion_refusee' => 'Ligação recusada', |
|
| 353 | + 'info_contact_developpeur' => 'Por favor contacte um programador', |
|
| 354 | + 'info_contenance' => 'Este sítio contém:', |
|
| 355 | + 'info_contribution' => 'contribuições de fórum', |
|
| 356 | + 'info_copyright' => '@spip@ é um software livre distribuído @lien_gpl@.', |
|
| 357 | + 'info_copyright_doc' => 'Para mais informações, visite o sítio <a href="@spipnet@">@spipnet_affiche@</a', |
|
| 358 | + 'info_copyright_gpl' => 'sob licença GPL', |
|
| 359 | + 'info_cours_edition' => 'Os seus artigos em curso de redacção', # MODIF |
|
| 360 | + 'info_creer_repertoire' => 'Por favor crie um ficheiro ou um directório chamado :', |
|
| 361 | + 'info_creer_repertoire_2' => 'dentro do sub-directório <b>@repertoire@</b>, depois :', |
|
| 362 | + 'info_creer_vignette' => 'criação automática de miniatura', |
|
| 363 | + 'info_creerdansrubrique_non_autorise' => 'Não tem direitos suficientes para criar conteúdo nesta rubrica.', |
|
| 364 | + 'info_deplier' => 'Desenvolver', |
|
| 365 | + 'info_descriptif_nombre' => 'descritivo(s) :', |
|
| 366 | + 'info_description' => 'Descrição :', |
|
| 367 | + 'info_description_2' => 'Descrição :', |
|
| 368 | + 'info_dimension' => 'Dimensões :', |
|
| 369 | + 'info_documents_nb' => '@nb@ documentos', |
|
| 370 | + 'info_documents_un' => '1 documento', |
|
| 371 | + 'info_ecire_message_prive' => 'Escrever uma mensagem privada', |
|
| 372 | + 'info_email_invalide' => 'Endereço email inválido.', |
|
| 373 | + 'info_en_cours_validation' => 'Os seus artigos em curso de redação', |
|
| 374 | + 'info_en_ligne' => 'Actualmente online:', |
|
| 375 | + 'info_envoyer_message_prive' => 'Enviar uma mensagem privada a este autor', |
|
| 376 | + 'info_erreur_requete' => 'Erro no pedido :', |
|
| 377 | + 'info_erreur_squelette2' => 'Modelo <b>@fichier@</b> não disponível...', |
|
| 378 | + 'info_erreur_systeme' => 'Erro de Sistema (errno @errsys@)', |
|
| 379 | + 'info_erreur_systeme2' => 'O disco rígido poderá estar cheio, ou a base de dados danificada.<br /> |
|
| 380 | 380 | <span style="color:red;">Tente <a href=\'@script@\'>reparar a base de dados </a>, ou contacte o seu fornecedor de internet.</span>', |
| 381 | - 'info_fini' => 'Terminou !', |
|
| 382 | - 'info_format_image' => 'Formatos de imagens que podem ser utilizadas para criar vinhetas : @gd_formats@.', |
|
| 383 | - 'info_format_non_defini' => 'formato não definido', |
|
| 384 | - 'info_grand_ecran' => 'Ecrã total', |
|
| 385 | - 'info_image_aide' => 'AJUDA', |
|
| 386 | - 'info_image_process_titre' => 'Como criar miniaturas', |
|
| 387 | - 'info_impossible_lire_page' => '<b>Erro !</b> Impossível ler a página<tt><html>@test_proxy@</html></tt> através do proxy <tt>', |
|
| 388 | - 'info_installation_systeme_publication' => 'Instalação do sistema de publicação', |
|
| 389 | - 'info_installer_documents' => 'Pode instalar automaticamente todos os documentos contidos na pasta @upload@.', |
|
| 390 | - 'info_installer_ftp' => 'Como administrador, pode instalar (por FTP) ficheiros na pasta @upload@ para depois seleccioná-los directamente aqui.', |
|
| 391 | - 'info_installer_images' => 'Pode instalar imagens nos formatos JPEG, GIF e PNG.', |
|
| 392 | - 'info_installer_images_dossier' => 'Instalar imagens na pasta @upload@ para poder seleccioná-los aqui.', |
|
| 393 | - 'info_interface_complete' => 'Interface completa', |
|
| 394 | - 'info_interface_simple' => 'Interface simplificada', |
|
| 395 | - 'info_joindre_document_article' => 'Pode juntar a este artigo documentos de tipo', |
|
| 396 | - 'info_joindre_document_rubrique' => 'Pode acrescentar a esta rubrica documentos de tipo', |
|
| 397 | - 'info_joindre_documents_article' => 'Pode juntar ao seu artigo documentos de tipo :', |
|
| 398 | - 'info_l_article' => 'o artigo', |
|
| 399 | - 'info_la_breve' => 'a notícia', |
|
| 400 | - 'info_la_rubrique' => 'a rubrica', |
|
| 401 | - 'info_langue_principale' => 'Idioma principal do sítio', |
|
| 402 | - 'info_largeur_vignette' => '@largeur_vignette@ x @hauteur_vignette@ pixels', |
|
| 403 | - 'info_les_auteurs_1' => 'por @les_auteurs@', |
|
| 404 | - 'info_logo_format_interdit' => 'Apenas os ícones nos formatos @formats@ estão autorizados.', |
|
| 405 | - 'info_logo_max_poids' => 'Os ícones devem obrigatoriamente ter menos de @maxi@ (este arquivo tem @actuel@).', |
|
| 406 | - 'info_mail_fournisseur' => 'você@seucorreio.com', |
|
| 407 | - 'info_message_2' => 'MENSAGEM', |
|
| 408 | - 'info_message_supprime' => 'MENSAGEM ELIMINADA', |
|
| 409 | - 'info_messages_nb' => '@nb@ mensagens', |
|
| 410 | - 'info_messages_un' => '1 mensagem', |
|
| 411 | - 'info_mise_en_ligne' => 'Data de colocação online :', |
|
| 412 | - 'info_modification_parametres_securite' => 'modificação dos parâmetros de segurança', |
|
| 413 | - 'info_mois_courant' => 'Durante o mês :', |
|
| 414 | - 'info_mot_cle_ajoute' => 'A seguinte palavra-chave foi acrescentada a', |
|
| 415 | - 'info_multi_herit' => 'Idioma por defeito', |
|
| 416 | - 'info_multi_langues_soulignees' => 'Os <u>idiomas sublinhadas</u> beneficiam de uma tradução de todos os textos da interface. Se seleccionar esses idiomas, muitos elementos do sítio público (datas, formulários) serão automaticamente traduzidos. Para os idiomas não sublinhadas, esses elementos aparecerão no idioma principal do sítio.', |
|
| 417 | - 'info_multilinguisme' => 'Multilinguismo', |
|
| 418 | - 'info_nom_non_utilisateurs_connectes' => 'O seu nome não aparece na lista dos utilizadores ligados.', |
|
| 419 | - 'info_nom_utilisateurs_connectes' => 'O seu nome aparece na lista dos utilizadores ligados.', |
|
| 420 | - 'info_nombre_en_ligne' => 'Actualmente online :', |
|
| 421 | - 'info_non_resultat' => 'Nenhum resultado para "@cherche_mot@"', |
|
| 422 | - 'info_non_utilisation_messagerie' => 'Não utiliza o correio interno deste sítio.', |
|
| 423 | - 'info_nouveau_message' => 'TEM UMA NOVA MENSAGEM', |
|
| 424 | - 'info_nouveaux_messages' => 'TEM @total_messages@ NOVAS MENSAGENS', |
|
| 425 | - 'info_numero_abbreviation' => '<N° >', |
|
| 426 | - 'info_obligatoire' => 'Esta informação é obrigatória', |
|
| 427 | - 'info_pense_bete' => 'MEMORANDO', |
|
| 428 | - 'info_petit_ecran' => 'Ecrã Pequeno', |
|
| 429 | - 'info_petition_close' => 'Petição encerrada', |
|
| 430 | - 'info_pixels' => 'pixels', |
|
| 431 | - 'info_plusieurs_mots_trouves' => 'Muitas palavras-chave encontradas para "@cherche_mot@":', |
|
| 432 | - 'info_portfolio_automatique' => 'Portfolio automático :', |
|
| 433 | - 'info_premier_resultat' => '[@debut_limit@ primeiros resultados em @total@]', |
|
| 434 | - 'info_premier_resultat_sur' => '[@debut_limit@ primeiros resultados em @total@]', |
|
| 435 | - 'info_propose_1' => '[@nom_site_spip@] Proposto : @titre@', |
|
| 436 | - 'info_propose_2' => 'Artigos propostos |
|
| 381 | + 'info_fini' => 'Terminou !', |
|
| 382 | + 'info_format_image' => 'Formatos de imagens que podem ser utilizadas para criar vinhetas : @gd_formats@.', |
|
| 383 | + 'info_format_non_defini' => 'formato não definido', |
|
| 384 | + 'info_grand_ecran' => 'Ecrã total', |
|
| 385 | + 'info_image_aide' => 'AJUDA', |
|
| 386 | + 'info_image_process_titre' => 'Como criar miniaturas', |
|
| 387 | + 'info_impossible_lire_page' => '<b>Erro !</b> Impossível ler a página<tt><html>@test_proxy@</html></tt> através do proxy <tt>', |
|
| 388 | + 'info_installation_systeme_publication' => 'Instalação do sistema de publicação', |
|
| 389 | + 'info_installer_documents' => 'Pode instalar automaticamente todos os documentos contidos na pasta @upload@.', |
|
| 390 | + 'info_installer_ftp' => 'Como administrador, pode instalar (por FTP) ficheiros na pasta @upload@ para depois seleccioná-los directamente aqui.', |
|
| 391 | + 'info_installer_images' => 'Pode instalar imagens nos formatos JPEG, GIF e PNG.', |
|
| 392 | + 'info_installer_images_dossier' => 'Instalar imagens na pasta @upload@ para poder seleccioná-los aqui.', |
|
| 393 | + 'info_interface_complete' => 'Interface completa', |
|
| 394 | + 'info_interface_simple' => 'Interface simplificada', |
|
| 395 | + 'info_joindre_document_article' => 'Pode juntar a este artigo documentos de tipo', |
|
| 396 | + 'info_joindre_document_rubrique' => 'Pode acrescentar a esta rubrica documentos de tipo', |
|
| 397 | + 'info_joindre_documents_article' => 'Pode juntar ao seu artigo documentos de tipo :', |
|
| 398 | + 'info_l_article' => 'o artigo', |
|
| 399 | + 'info_la_breve' => 'a notícia', |
|
| 400 | + 'info_la_rubrique' => 'a rubrica', |
|
| 401 | + 'info_langue_principale' => 'Idioma principal do sítio', |
|
| 402 | + 'info_largeur_vignette' => '@largeur_vignette@ x @hauteur_vignette@ pixels', |
|
| 403 | + 'info_les_auteurs_1' => 'por @les_auteurs@', |
|
| 404 | + 'info_logo_format_interdit' => 'Apenas os ícones nos formatos @formats@ estão autorizados.', |
|
| 405 | + 'info_logo_max_poids' => 'Os ícones devem obrigatoriamente ter menos de @maxi@ (este arquivo tem @actuel@).', |
|
| 406 | + 'info_mail_fournisseur' => 'você@seucorreio.com', |
|
| 407 | + 'info_message_2' => 'MENSAGEM', |
|
| 408 | + 'info_message_supprime' => 'MENSAGEM ELIMINADA', |
|
| 409 | + 'info_messages_nb' => '@nb@ mensagens', |
|
| 410 | + 'info_messages_un' => '1 mensagem', |
|
| 411 | + 'info_mise_en_ligne' => 'Data de colocação online :', |
|
| 412 | + 'info_modification_parametres_securite' => 'modificação dos parâmetros de segurança', |
|
| 413 | + 'info_mois_courant' => 'Durante o mês :', |
|
| 414 | + 'info_mot_cle_ajoute' => 'A seguinte palavra-chave foi acrescentada a', |
|
| 415 | + 'info_multi_herit' => 'Idioma por defeito', |
|
| 416 | + 'info_multi_langues_soulignees' => 'Os <u>idiomas sublinhadas</u> beneficiam de uma tradução de todos os textos da interface. Se seleccionar esses idiomas, muitos elementos do sítio público (datas, formulários) serão automaticamente traduzidos. Para os idiomas não sublinhadas, esses elementos aparecerão no idioma principal do sítio.', |
|
| 417 | + 'info_multilinguisme' => 'Multilinguismo', |
|
| 418 | + 'info_nom_non_utilisateurs_connectes' => 'O seu nome não aparece na lista dos utilizadores ligados.', |
|
| 419 | + 'info_nom_utilisateurs_connectes' => 'O seu nome aparece na lista dos utilizadores ligados.', |
|
| 420 | + 'info_nombre_en_ligne' => 'Actualmente online :', |
|
| 421 | + 'info_non_resultat' => 'Nenhum resultado para "@cherche_mot@"', |
|
| 422 | + 'info_non_utilisation_messagerie' => 'Não utiliza o correio interno deste sítio.', |
|
| 423 | + 'info_nouveau_message' => 'TEM UMA NOVA MENSAGEM', |
|
| 424 | + 'info_nouveaux_messages' => 'TEM @total_messages@ NOVAS MENSAGENS', |
|
| 425 | + 'info_numero_abbreviation' => '<N° >', |
|
| 426 | + 'info_obligatoire' => 'Esta informação é obrigatória', |
|
| 427 | + 'info_pense_bete' => 'MEMORANDO', |
|
| 428 | + 'info_petit_ecran' => 'Ecrã Pequeno', |
|
| 429 | + 'info_petition_close' => 'Petição encerrada', |
|
| 430 | + 'info_pixels' => 'pixels', |
|
| 431 | + 'info_plusieurs_mots_trouves' => 'Muitas palavras-chave encontradas para "@cherche_mot@":', |
|
| 432 | + 'info_portfolio_automatique' => 'Portfolio automático :', |
|
| 433 | + 'info_premier_resultat' => '[@debut_limit@ primeiros resultados em @total@]', |
|
| 434 | + 'info_premier_resultat_sur' => '[@debut_limit@ primeiros resultados em @total@]', |
|
| 435 | + 'info_propose_1' => '[@nom_site_spip@] Proposto : @titre@', |
|
| 436 | + 'info_propose_2' => 'Artigos propostos |
|
| 437 | 437 | ----------------', |
| 438 | - 'info_propose_3' => 'O artigo "@titre@" é proposto para publicação.', |
|
| 439 | - 'info_propose_4' => 'Está convidado a vir consultá-lo e a dar a sua opinião', |
|
| 440 | - 'info_propose_5' => 'no fórum que lhe está ligado. Está disponível no endereço:', |
|
| 441 | - 'info_publie_01' => 'O artigo "@titre@" foi validado por @connect_nom@.', |
|
| 442 | - 'info_publie_1' => '[@nom_site_spip@] PUBLICADO : @titre@', |
|
| 443 | - 'info_publie_2' => 'Artigo publicado |
|
| 438 | + 'info_propose_3' => 'O artigo "@titre@" é proposto para publicação.', |
|
| 439 | + 'info_propose_4' => 'Está convidado a vir consultá-lo e a dar a sua opinião', |
|
| 440 | + 'info_propose_5' => 'no fórum que lhe está ligado. Está disponível no endereço:', |
|
| 441 | + 'info_publie_01' => 'O artigo "@titre@" foi validado por @connect_nom@.', |
|
| 442 | + 'info_publie_1' => '[@nom_site_spip@] PUBLICADO : @titre@', |
|
| 443 | + 'info_publie_2' => 'Artigo publicado |
|
| 444 | 444 | --------------', |
| 445 | - 'info_rechercher' => 'Procurar', |
|
| 446 | - 'info_rechercher_02' => 'Procurar :', |
|
| 447 | - 'info_remplacer_vignette' => 'Substituir a miniatura por defeito por um logotipo personalizado :', |
|
| 448 | - 'info_rubriques_nb' => '@nb@ rubricas', |
|
| 449 | - 'info_rubriques_un' => '1 rubrica', |
|
| 450 | - 'info_sans_titre_2' => 'sem título', |
|
| 451 | - 'info_selectionner_fichier' => 'Pode seleccionar um ficheiro da pasta @upload@', |
|
| 452 | - 'info_selectionner_fichier_2' => 'Seleccionar um ficheiro :', |
|
| 453 | - 'info_sites_nb' => '@nb@ sítios', |
|
| 454 | - 'info_sites_un' => '1 sítio', |
|
| 455 | - 'info_supprimer_vignette' => 'suprimir a miniatura', |
|
| 456 | - 'info_symbole_bleu' => 'O símbolo <b>azul</b> indica um<b>memorando </b>: isto é uma mensagem para o seu uso pessoal.', |
|
| 457 | - 'info_symbole_jaune' => 'O símbolo<b>amarelo</b> indica um <b>anúncio a todos os redactores</b> : modificável por todos os administradores, e visível por todos os redactores.', |
|
| 458 | - 'info_symbole_vert' => 'O símbolo<b>verde</b> indica as <b>mensagens trocadas com outros utilizadores</b> do sítio.', |
|
| 459 | - 'info_telecharger_nouveau_logo' => 'Telecarregar um novo logotipo :', |
|
| 460 | - 'info_telecharger_ordinateur' => 'Telecarregar do seu computador :', |
|
| 461 | - 'info_tous_resultats_enregistres' => '[todos os resultados estão registados]', |
|
| 462 | - 'info_tout_afficher' => 'Exibir tudo', |
|
| 463 | - 'info_travaux_texte' => 'Este sítio ainda não está configurado. Volte mais tarde...', |
|
| 464 | - 'info_travaux_titre' => 'Sítio em construção', |
|
| 465 | - 'info_trop_resultat' => 'Demasiado resultados para "@cherche_mot@". Por favor afine a pesquisa.', |
|
| 466 | - 'info_utilisation_messagerie_interne' => 'Você utiliza o correio interno deste sítio.', |
|
| 467 | - 'info_valider_lien' => 'validar esta ligação', |
|
| 468 | - 'info_verifier_image' => ', Por favor verifique se as suas imagens foram transferidas correctamente.', |
|
| 469 | - 'info_vignette_defaut' => 'Miniatura por defeito', |
|
| 470 | - 'info_vignette_personnalisee' => 'Miniatura personalizada', |
|
| 471 | - 'info_visite' => 'visita :', |
|
| 472 | - 'info_vos_rendez_vous' => 'Os seus futuros encontros', |
|
| 473 | - 'infos_vos_pense_bete' => 'Os seus memorandos', |
|
| 445 | + 'info_rechercher' => 'Procurar', |
|
| 446 | + 'info_rechercher_02' => 'Procurar :', |
|
| 447 | + 'info_remplacer_vignette' => 'Substituir a miniatura por defeito por um logotipo personalizado :', |
|
| 448 | + 'info_rubriques_nb' => '@nb@ rubricas', |
|
| 449 | + 'info_rubriques_un' => '1 rubrica', |
|
| 450 | + 'info_sans_titre_2' => 'sem título', |
|
| 451 | + 'info_selectionner_fichier' => 'Pode seleccionar um ficheiro da pasta @upload@', |
|
| 452 | + 'info_selectionner_fichier_2' => 'Seleccionar um ficheiro :', |
|
| 453 | + 'info_sites_nb' => '@nb@ sítios', |
|
| 454 | + 'info_sites_un' => '1 sítio', |
|
| 455 | + 'info_supprimer_vignette' => 'suprimir a miniatura', |
|
| 456 | + 'info_symbole_bleu' => 'O símbolo <b>azul</b> indica um<b>memorando </b>: isto é uma mensagem para o seu uso pessoal.', |
|
| 457 | + 'info_symbole_jaune' => 'O símbolo<b>amarelo</b> indica um <b>anúncio a todos os redactores</b> : modificável por todos os administradores, e visível por todos os redactores.', |
|
| 458 | + 'info_symbole_vert' => 'O símbolo<b>verde</b> indica as <b>mensagens trocadas com outros utilizadores</b> do sítio.', |
|
| 459 | + 'info_telecharger_nouveau_logo' => 'Telecarregar um novo logotipo :', |
|
| 460 | + 'info_telecharger_ordinateur' => 'Telecarregar do seu computador :', |
|
| 461 | + 'info_tous_resultats_enregistres' => '[todos os resultados estão registados]', |
|
| 462 | + 'info_tout_afficher' => 'Exibir tudo', |
|
| 463 | + 'info_travaux_texte' => 'Este sítio ainda não está configurado. Volte mais tarde...', |
|
| 464 | + 'info_travaux_titre' => 'Sítio em construção', |
|
| 465 | + 'info_trop_resultat' => 'Demasiado resultados para "@cherche_mot@". Por favor afine a pesquisa.', |
|
| 466 | + 'info_utilisation_messagerie_interne' => 'Você utiliza o correio interno deste sítio.', |
|
| 467 | + 'info_valider_lien' => 'validar esta ligação', |
|
| 468 | + 'info_verifier_image' => ', Por favor verifique se as suas imagens foram transferidas correctamente.', |
|
| 469 | + 'info_vignette_defaut' => 'Miniatura por defeito', |
|
| 470 | + 'info_vignette_personnalisee' => 'Miniatura personalizada', |
|
| 471 | + 'info_visite' => 'visita :', |
|
| 472 | + 'info_vos_rendez_vous' => 'Os seus futuros encontros', |
|
| 473 | + 'infos_vos_pense_bete' => 'Os seus memorandos', |
|
| 474 | 474 | |
| 475 | - // L |
|
| 476 | - 'label_ajout_id_rapide' => 'Adição rápida', |
|
| 477 | - 'label_poids_fichier' => 'Dimensões', |
|
| 478 | - 'lien_afficher_icones_seuls' => 'Exibir apenas os ícones', |
|
| 479 | - 'lien_afficher_texte_icones' => 'Exibir ícones e o texto', |
|
| 480 | - 'lien_afficher_texte_seul' => 'Exibir apenas o texto', |
|
| 481 | - 'lien_liberer' => 'desbloquear', |
|
| 482 | - 'lien_liberer_tous' => 'desbloquear estes artigos', |
|
| 483 | - 'lien_nouvea_pense_bete' => 'NOVO MEMORANDO', |
|
| 484 | - 'lien_nouveau_message' => 'NOVA MENSAGEM', |
|
| 485 | - 'lien_nouvelle_annonce' => 'NOVO ANÚNCIO', |
|
| 486 | - 'lien_petitions' => 'PETIÇÃO', |
|
| 487 | - 'lien_popularite' => 'popularidade : @popularite@%', |
|
| 488 | - 'lien_racine_site' => 'RAIZ DO SÍTIO', |
|
| 489 | - 'lien_reessayer' => 'tentar de novo', |
|
| 490 | - 'lien_repondre_message' => 'Responder a esta mensagem', |
|
| 491 | - 'lien_supprimer' => 'eliminar', |
|
| 492 | - 'lien_tout_afficher' => 'Exibir tudo', |
|
| 493 | - 'lien_visite_site' => 'visitar este sítio', |
|
| 494 | - 'lien_visites' => '@visites@ visitas', |
|
| 495 | - 'lien_voir_auteur' => 'Ver este autor', |
|
| 496 | - 'ligne' => 'Linha', |
|
| 497 | - 'login' => 'Ligação', |
|
| 498 | - 'login_acces_prive' => 'acesso ao espaço privado', |
|
| 499 | - 'login_autre_identifiant' => 'ligar-se sob um outro identificador', |
|
| 500 | - 'login_cookie_accepte' => 'Por favor configure o seu navegador para que os aceite (pelo menos para este sítio).', |
|
| 501 | - 'login_cookie_oblige' => 'Para se identificar de maneira segura neste sítio, deve aceitar os cookies.', |
|
| 502 | - 'login_deconnexion_ok' => 'Ligação terminada.', |
|
| 503 | - 'login_erreur_pass' => 'Erro de palavra-passe', |
|
| 504 | - 'login_espace_prive' => 'área privada', |
|
| 505 | - 'login_identifiant_inconnu' => 'O identificador « @login@ » é desconhecido.', |
|
| 506 | - 'login_login' => 'Login :', |
|
| 507 | - 'login_login2' => 'Login ou endereço de e-mail :', |
|
| 508 | - 'login_login_pass_incorrect' => '(Login ou palavra-passe incorrecta.)', |
|
| 509 | - 'login_motpasseoublie' => 'palavra - passe esquecida ?', |
|
| 510 | - 'login_non_securise' => 'Atenção, este formulário não é seguro. |
|
| 475 | + // L |
|
| 476 | + 'label_ajout_id_rapide' => 'Adição rápida', |
|
| 477 | + 'label_poids_fichier' => 'Dimensões', |
|
| 478 | + 'lien_afficher_icones_seuls' => 'Exibir apenas os ícones', |
|
| 479 | + 'lien_afficher_texte_icones' => 'Exibir ícones e o texto', |
|
| 480 | + 'lien_afficher_texte_seul' => 'Exibir apenas o texto', |
|
| 481 | + 'lien_liberer' => 'desbloquear', |
|
| 482 | + 'lien_liberer_tous' => 'desbloquear estes artigos', |
|
| 483 | + 'lien_nouvea_pense_bete' => 'NOVO MEMORANDO', |
|
| 484 | + 'lien_nouveau_message' => 'NOVA MENSAGEM', |
|
| 485 | + 'lien_nouvelle_annonce' => 'NOVO ANÚNCIO', |
|
| 486 | + 'lien_petitions' => 'PETIÇÃO', |
|
| 487 | + 'lien_popularite' => 'popularidade : @popularite@%', |
|
| 488 | + 'lien_racine_site' => 'RAIZ DO SÍTIO', |
|
| 489 | + 'lien_reessayer' => 'tentar de novo', |
|
| 490 | + 'lien_repondre_message' => 'Responder a esta mensagem', |
|
| 491 | + 'lien_supprimer' => 'eliminar', |
|
| 492 | + 'lien_tout_afficher' => 'Exibir tudo', |
|
| 493 | + 'lien_visite_site' => 'visitar este sítio', |
|
| 494 | + 'lien_visites' => '@visites@ visitas', |
|
| 495 | + 'lien_voir_auteur' => 'Ver este autor', |
|
| 496 | + 'ligne' => 'Linha', |
|
| 497 | + 'login' => 'Ligação', |
|
| 498 | + 'login_acces_prive' => 'acesso ao espaço privado', |
|
| 499 | + 'login_autre_identifiant' => 'ligar-se sob um outro identificador', |
|
| 500 | + 'login_cookie_accepte' => 'Por favor configure o seu navegador para que os aceite (pelo menos para este sítio).', |
|
| 501 | + 'login_cookie_oblige' => 'Para se identificar de maneira segura neste sítio, deve aceitar os cookies.', |
|
| 502 | + 'login_deconnexion_ok' => 'Ligação terminada.', |
|
| 503 | + 'login_erreur_pass' => 'Erro de palavra-passe', |
|
| 504 | + 'login_espace_prive' => 'área privada', |
|
| 505 | + 'login_identifiant_inconnu' => 'O identificador « @login@ » é desconhecido.', |
|
| 506 | + 'login_login' => 'Login :', |
|
| 507 | + 'login_login2' => 'Login ou endereço de e-mail :', |
|
| 508 | + 'login_login_pass_incorrect' => '(Login ou palavra-passe incorrecta.)', |
|
| 509 | + 'login_motpasseoublie' => 'palavra - passe esquecida ?', |
|
| 510 | + 'login_non_securise' => 'Atenção, este formulário não é seguro. |
|
| 511 | 511 | Se não quiser que a sua palavra-passe seja |
| 512 | 512 | interceptada na rede, por favor active Javascript |
| 513 | 513 | no seu navegador e', |
| 514 | - 'login_nouvelle_tentative' => 'Nova tentativa', |
|
| 515 | - 'login_par_ici' => 'Você está registado... por aqui....', |
|
| 516 | - 'login_pass2' => 'Palavra-passe :', |
|
| 517 | - 'login_preferez_refuser' => '<b>Se prefere recusar os cookies</b>, um outro método de ligação (menos seguro) está à sua disposição', |
|
| 518 | - 'login_recharger' => 'carregar de novo esta página ', |
|
| 519 | - 'login_rester_identifie' => 'Permanecer identificado durante alguns dias ', # MODIF |
|
| 520 | - 'login_retour_public' => 'Regresso ao sítio público', |
|
| 521 | - 'login_retour_site' => 'Regresso ao sítio público', |
|
| 522 | - 'login_retoursitepublic' => 'Regresso ao sítio público', |
|
| 523 | - 'login_securise' => 'Login seguro', |
|
| 524 | - 'login_sinscrire' => 'inscrever-se', # MODIF |
|
| 525 | - 'login_test_navigateur' => 'teste navegação/nova ligação', |
|
| 526 | - 'login_verifiez_navigateur' => '(Verifique, porém, que o seu navegador não memorizou a sua palavra-passe...)', |
|
| 514 | + 'login_nouvelle_tentative' => 'Nova tentativa', |
|
| 515 | + 'login_par_ici' => 'Você está registado... por aqui....', |
|
| 516 | + 'login_pass2' => 'Palavra-passe :', |
|
| 517 | + 'login_preferez_refuser' => '<b>Se prefere recusar os cookies</b>, um outro método de ligação (menos seguro) está à sua disposição', |
|
| 518 | + 'login_recharger' => 'carregar de novo esta página ', |
|
| 519 | + 'login_rester_identifie' => 'Permanecer identificado durante alguns dias ', # MODIF |
|
| 520 | + 'login_retour_public' => 'Regresso ao sítio público', |
|
| 521 | + 'login_retour_site' => 'Regresso ao sítio público', |
|
| 522 | + 'login_retoursitepublic' => 'Regresso ao sítio público', |
|
| 523 | + 'login_securise' => 'Login seguro', |
|
| 524 | + 'login_sinscrire' => 'inscrever-se', # MODIF |
|
| 525 | + 'login_test_navigateur' => 'teste navegação/nova ligação', |
|
| 526 | + 'login_verifiez_navigateur' => '(Verifique, porém, que o seu navegador não memorizou a sua palavra-passe...)', |
|
| 527 | 527 | |
| 528 | - // M |
|
| 529 | - 'masquer_colonne' => 'Ocultar esta coluna', |
|
| 530 | - 'masquer_trad' => 'ocultar as traduções', |
|
| 531 | - 'module_fichiers_langues' => 'Ficheiros de idioma', |
|
| 528 | + // M |
|
| 529 | + 'masquer_colonne' => 'Ocultar esta coluna', |
|
| 530 | + 'masquer_trad' => 'ocultar as traduções', |
|
| 531 | + 'module_fichiers_langues' => 'Ficheiros de idioma', |
|
| 532 | 532 | |
| 533 | - // N |
|
| 534 | - 'navigateur_pas_redirige' => 'Se o seu navegador não está redireccionado, clique aqui para continuar.', |
|
| 535 | - 'numero' => 'Número', |
|
| 533 | + // N |
|
| 534 | + 'navigateur_pas_redirige' => 'Se o seu navegador não está redireccionado, clique aqui para continuar.', |
|
| 535 | + 'numero' => 'Número', |
|
| 536 | 536 | |
| 537 | - // O |
|
| 538 | - 'occurence' => 'Ocorrência', |
|
| 539 | - 'onglet_affacer_base' => 'Apagar a base de dados', |
|
| 540 | - 'onglet_auteur' => 'O autor', |
|
| 541 | - 'onglet_contenu_site' => 'Conteúdo do sítio', |
|
| 542 | - 'onglet_evolution_visite_mod' => 'Evolução', |
|
| 543 | - 'onglet_fonctions_avances' => 'Funções avançadas', |
|
| 544 | - 'onglet_informations_personnelles' => 'Informações pessoais', |
|
| 545 | - 'onglet_interactivite' => 'Interactividade', |
|
| 546 | - 'onglet_messagerie' => 'Correio', |
|
| 547 | - 'onglet_repartition_rubrique' => 'Distribuição das rubricas', |
|
| 548 | - 'onglet_save_restaur_base' => 'Guardar uma cópia/restaurar a base', |
|
| 549 | - 'onglet_vider_cache' => 'Esvaziar a cache', |
|
| 537 | + // O |
|
| 538 | + 'occurence' => 'Ocorrência', |
|
| 539 | + 'onglet_affacer_base' => 'Apagar a base de dados', |
|
| 540 | + 'onglet_auteur' => 'O autor', |
|
| 541 | + 'onglet_contenu_site' => 'Conteúdo do sítio', |
|
| 542 | + 'onglet_evolution_visite_mod' => 'Evolução', |
|
| 543 | + 'onglet_fonctions_avances' => 'Funções avançadas', |
|
| 544 | + 'onglet_informations_personnelles' => 'Informações pessoais', |
|
| 545 | + 'onglet_interactivite' => 'Interactividade', |
|
| 546 | + 'onglet_messagerie' => 'Correio', |
|
| 547 | + 'onglet_repartition_rubrique' => 'Distribuição das rubricas', |
|
| 548 | + 'onglet_save_restaur_base' => 'Guardar uma cópia/restaurar a base', |
|
| 549 | + 'onglet_vider_cache' => 'Esvaziar a cache', |
|
| 550 | 550 | |
| 551 | - // P |
|
| 552 | - 'pass_choix_pass' => 'Por favor escolha a sua nova palavra-passe', |
|
| 553 | - 'pass_erreur' => 'Erro', |
|
| 554 | - 'pass_erreur_acces_refuse' => '<b>Erro :</b> já não tem acesso a este sítio.', |
|
| 555 | - 'pass_erreur_code_inconnu' => '<b>Erro :</b> este código não corresponde a nenhum dos visitantes com acesso a este sítio.', |
|
| 556 | - 'pass_erreur_non_enregistre' => '<b>Erro :</b> o endereço <tt>@email_oubli@</tt> não está registado neste sítio. ', |
|
| 557 | - 'pass_erreur_non_valide' => '<b>Erro :</b> este email <tt>@email_oubli@</tt> não é válido ! ', |
|
| 558 | - 'pass_erreur_probleme_technique' => '<b>Erro :</b> por causa de um problema técnico, o email não pôde ser enviado.', |
|
| 559 | - 'pass_espace_prive_bla' => 'O espaço privado deste sítio está aberto aos |
|
| 551 | + // P |
|
| 552 | + 'pass_choix_pass' => 'Por favor escolha a sua nova palavra-passe', |
|
| 553 | + 'pass_erreur' => 'Erro', |
|
| 554 | + 'pass_erreur_acces_refuse' => '<b>Erro :</b> já não tem acesso a este sítio.', |
|
| 555 | + 'pass_erreur_code_inconnu' => '<b>Erro :</b> este código não corresponde a nenhum dos visitantes com acesso a este sítio.', |
|
| 556 | + 'pass_erreur_non_enregistre' => '<b>Erro :</b> o endereço <tt>@email_oubli@</tt> não está registado neste sítio. ', |
|
| 557 | + 'pass_erreur_non_valide' => '<b>Erro :</b> este email <tt>@email_oubli@</tt> não é válido ! ', |
|
| 558 | + 'pass_erreur_probleme_technique' => '<b>Erro :</b> por causa de um problema técnico, o email não pôde ser enviado.', |
|
| 559 | + 'pass_espace_prive_bla' => 'O espaço privado deste sítio está aberto aos |
|
| 560 | 560 | visitantes, após inscrição. Uma vez registado poderá consultar os artigos em curso de redacção, |
| 561 | 561 | propor artigos e participar em todos os fóruns.', |
| 562 | - 'pass_forum_bla' => 'Pediu para intervir num fórum |
|
| 562 | + 'pass_forum_bla' => 'Pediu para intervir num fórum |
|
| 563 | 563 | reservado aos visitadores registados.', |
| 564 | - 'pass_indiquez_cidessous' => 'Indique abaixo o endereço email sob o qual se registou. Receberá |
|
| 564 | + 'pass_indiquez_cidessous' => 'Indique abaixo o endereço email sob o qual se registou. Receberá |
|
| 565 | 565 | um mail que indicará o procedimento a seguir para |
| 566 | 566 | recuperar o seu acesso.', |
| 567 | - 'pass_mail_passcookie' => '(esta é uma mensagem automática) |
|
| 567 | + 'pass_mail_passcookie' => '(esta é uma mensagem automática) |
|
| 568 | 568 | Para recuperar o seu acesso ao sítio |
| 569 | 569 | @nom_site_spip@ (@adresse_site@) |
| 570 | 570 | |
@@ -574,137 +574,137 @@ discard block |
||
| 574 | 574 | |
| 575 | 575 | Poderá então introduzir uma nova palavra-passe e reconectar-se ao sítio. |
| 576 | 576 | ', |
| 577 | - 'pass_mot_oublie' => 'Palavra-passe esquecida', |
|
| 578 | - 'pass_nouveau_enregistre' => 'A sua nova palavra-passe foi registada', |
|
| 579 | - 'pass_nouveau_pass' => 'Nova palavra-passe', |
|
| 580 | - 'pass_ok' => 'OK', |
|
| 581 | - 'pass_oubli_mot' => 'Palavra-passe esquecida', |
|
| 582 | - 'pass_procedure_changer' => 'Para alterar a sua palavra-passe, temos primeiro de verificar a sua identidade. Por favor escreva o endereço e-mail associado a esta conta.', # MODIF |
|
| 583 | - 'pass_quitter_fenetre' => 'Fechar esta janela', |
|
| 584 | - 'pass_rappel_login' => 'Recorde : o seu identificador (login) é « @login@ ».', |
|
| 585 | - 'pass_recevoir_mail' => 'Vai receber um email que indica como recuperar o seu acesso ao sítio.', # MODIF |
|
| 586 | - 'pass_retour_public' => 'Regresso ao sítio público', |
|
| 587 | - 'pass_rien_a_faire_ici' => 'Nada a fazer aqui.', |
|
| 588 | - 'pass_vousinscrire' => 'Inscrever-se neste sítio', |
|
| 589 | - 'precedent' => 'anterior', |
|
| 590 | - 'previsualisation' => 'Visualização', |
|
| 591 | - 'previsualiser' => 'Pré-visualizar', |
|
| 577 | + 'pass_mot_oublie' => 'Palavra-passe esquecida', |
|
| 578 | + 'pass_nouveau_enregistre' => 'A sua nova palavra-passe foi registada', |
|
| 579 | + 'pass_nouveau_pass' => 'Nova palavra-passe', |
|
| 580 | + 'pass_ok' => 'OK', |
|
| 581 | + 'pass_oubli_mot' => 'Palavra-passe esquecida', |
|
| 582 | + 'pass_procedure_changer' => 'Para alterar a sua palavra-passe, temos primeiro de verificar a sua identidade. Por favor escreva o endereço e-mail associado a esta conta.', # MODIF |
|
| 583 | + 'pass_quitter_fenetre' => 'Fechar esta janela', |
|
| 584 | + 'pass_rappel_login' => 'Recorde : o seu identificador (login) é « @login@ ».', |
|
| 585 | + 'pass_recevoir_mail' => 'Vai receber um email que indica como recuperar o seu acesso ao sítio.', # MODIF |
|
| 586 | + 'pass_retour_public' => 'Regresso ao sítio público', |
|
| 587 | + 'pass_rien_a_faire_ici' => 'Nada a fazer aqui.', |
|
| 588 | + 'pass_vousinscrire' => 'Inscrever-se neste sítio', |
|
| 589 | + 'precedent' => 'anterior', |
|
| 590 | + 'previsualisation' => 'Visualização', |
|
| 591 | + 'previsualiser' => 'Pré-visualizar', |
|
| 592 | 592 | |
| 593 | - // R |
|
| 594 | - 'retour' => 'Retroceder', |
|
| 593 | + // R |
|
| 594 | + 'retour' => 'Retroceder', |
|
| 595 | 595 | |
| 596 | - // S |
|
| 597 | - 'spip_conforme_dtd' => 'SPIP considera esta página em conforme com o seu DOCTYPE :', |
|
| 598 | - 'squelette' => 'modelo', |
|
| 599 | - 'squelette_inclus_ligne' => 'modelo incluído, linha', |
|
| 600 | - 'squelette_ligne' => 'modelo, linha', |
|
| 601 | - 'stats_visites_et_popularite' => '@visites@ visitas ; popularidade : @popularite@', |
|
| 602 | - 'suivant' => 'seguinte', |
|
| 596 | + // S |
|
| 597 | + 'spip_conforme_dtd' => 'SPIP considera esta página em conforme com o seu DOCTYPE :', |
|
| 598 | + 'squelette' => 'modelo', |
|
| 599 | + 'squelette_inclus_ligne' => 'modelo incluído, linha', |
|
| 600 | + 'squelette_ligne' => 'modelo, linha', |
|
| 601 | + 'stats_visites_et_popularite' => '@visites@ visitas ; popularidade : @popularite@', |
|
| 602 | + 'suivant' => 'seguinte', |
|
| 603 | 603 | |
| 604 | - // T |
|
| 605 | - 'taille_go' => '@taille@ Gb', |
|
| 606 | - 'taille_ko' => '@taille@ kb', |
|
| 607 | - 'taille_mo' => '@taille@ Mb', |
|
| 608 | - 'taille_octets' => ' @taille@ bytes', |
|
| 609 | - 'taille_octets_bi' => ' @taille@ bytes', |
|
| 610 | - 'texte_actualite_site_1' => 'Quando estiver familiarizado(a) com a interface, poderá clicar em «', |
|
| 611 | - 'texte_actualite_site_2' => 'interface completa', |
|
| 612 | - 'texte_actualite_site_3' => '» para abrir mais possibilidades.', |
|
| 613 | - 'texte_creation_automatique_vignette' => 'A criação automática de miniaturas de pré-visualização está activada neste sítio. Se instalar a partir deste formulário imagens de formato(s) @gd_formats@, serão acompanhadas de uma miniatura de um tamanho máximo de @taille_preview@ pixels.', |
|
| 614 | - 'texte_documents_associes' => 'Os documentos seguintes estão associados ao artigo, |
|
| 604 | + // T |
|
| 605 | + 'taille_go' => '@taille@ Gb', |
|
| 606 | + 'taille_ko' => '@taille@ kb', |
|
| 607 | + 'taille_mo' => '@taille@ Mb', |
|
| 608 | + 'taille_octets' => ' @taille@ bytes', |
|
| 609 | + 'taille_octets_bi' => ' @taille@ bytes', |
|
| 610 | + 'texte_actualite_site_1' => 'Quando estiver familiarizado(a) com a interface, poderá clicar em «', |
|
| 611 | + 'texte_actualite_site_2' => 'interface completa', |
|
| 612 | + 'texte_actualite_site_3' => '» para abrir mais possibilidades.', |
|
| 613 | + 'texte_creation_automatique_vignette' => 'A criação automática de miniaturas de pré-visualização está activada neste sítio. Se instalar a partir deste formulário imagens de formato(s) @gd_formats@, serão acompanhadas de uma miniatura de um tamanho máximo de @taille_preview@ pixels.', |
|
| 614 | + 'texte_documents_associes' => 'Os documentos seguintes estão associados ao artigo, |
|
| 615 | 615 | mas não foram directamente |
| 616 | 616 | inseridos nele. Conforme a paginação do sítio público, |
| 617 | 617 | poderão aparecer sob forma de documentos anexados.', |
| 618 | - 'texte_erreur_mise_niveau_base' => 'Erro de base de dados por ocasião do nivelamento. |
|
| 618 | + 'texte_erreur_mise_niveau_base' => 'Erro de base de dados por ocasião do nivelamento. |
|
| 619 | 619 | A imagem <b>@fichier@</b> não passou (artigo @id_article@). |
| 620 | 620 | Note bem esta referência, volte a tentar o nivelamento, e verifique se as imagens aparecem sempre nos artigos.', |
| 621 | - 'texte_erreur_visiteur' => 'Tentou aceder à área privada usando um login não autorizado.', |
|
| 622 | - 'texte_inc_auth_1' => 'Você está identificado sob o |
|
| 621 | + 'texte_erreur_visiteur' => 'Tentou aceder à área privada usando um login não autorizado.', |
|
| 622 | + 'texte_inc_auth_1' => 'Você está identificado sob o |
|
| 623 | 623 | login <b>@auth_login@</b>, mas este já/ não existe na base de dados. |
| 624 | 624 | Tente', |
| 625 | - 'texte_inc_auth_2' => 'refazer a ligação', |
|
| 626 | - 'texte_inc_auth_3' => ', depois de eventualmente ter fechado e |
|
| 625 | + 'texte_inc_auth_2' => 'refazer a ligação', |
|
| 626 | + 'texte_inc_auth_3' => ', depois de eventualmente ter fechado e |
|
| 627 | 627 | voltado a abrir o seu navegador.', |
| 628 | - 'texte_inc_config' => 'As modificações efectuadas nestas páginas influenciam muito o |
|
| 628 | + 'texte_inc_config' => 'As modificações efectuadas nestas páginas influenciam muito o |
|
| 629 | 629 | funcionamento do seu sítio. Recomendamos que não intervenha enquanto não estiver familiarizado com o funcionamento do sistema SPIP. <br /><br /><b> Em |
| 630 | 630 | geral, é fortemente recomendado |
| 631 | 631 | deixar a responsabilidade dessas páginas ao webmaster principal do seu sítio. <b>', |
| 632 | - 'texte_inc_meta_1' => 'O sistema encontrou um erro durante a escrita do arquivo <code>@fichier@</code>. Como administrador do sítio, por favor,', |
|
| 633 | - 'texte_inc_meta_2' => 'verificar as permissões de escrita', |
|
| 634 | - 'texte_inc_meta_3' => 'no directório <code>@repertoire@</code>.', |
|
| 635 | - 'texte_statut_en_cours_redaction' => 'em curso de redacção', |
|
| 636 | - 'texte_statut_poubelle' => 'para o caixote de lixo', |
|
| 637 | - 'texte_statut_propose_evaluation' => 'proposto para avaliação', |
|
| 638 | - 'texte_statut_publie' => 'publicado online', |
|
| 639 | - 'texte_statut_refuse' => 'recusado', |
|
| 640 | - 'titre_ajouter_mot_cle' => 'ACRESCENTAR UMA PALAVRA-CHAVE', |
|
| 641 | - 'titre_cadre_raccourcis' => 'ATALHOS :', |
|
| 642 | - 'titre_changer_couleur_interface' => 'Mudar a cor da interface', |
|
| 643 | - 'titre_image_admin_article' => 'Pode administrar este artigo', |
|
| 644 | - 'titre_image_administrateur' => 'Administrador', |
|
| 645 | - 'titre_image_aide' => 'Ajuda sobre este elemento', |
|
| 646 | - 'titre_image_auteur_supprime' => 'Autor eliminado', |
|
| 647 | - 'titre_image_redacteur' => 'Redactor sem acesso', |
|
| 648 | - 'titre_image_redacteur_02' => 'Redactor', |
|
| 649 | - 'titre_image_selecteur' => 'Exibir a lista', |
|
| 650 | - 'titre_image_visiteur' => 'Visitante', |
|
| 651 | - 'titre_joindre_document' => 'ANEXAR UM DOCUMENTO', |
|
| 652 | - 'titre_mots_cles' => 'PALAVRAS-CHAVE', |
|
| 653 | - 'titre_probleme_technique' => 'Atenção : um problema técnico (servidor SQL) impede o acesso a esta parte do sítio. Obrigado pela sua compreensão.', |
|
| 654 | - 'titre_publier_document' => 'PUBLICAR UM DOCUMENTO NESTA RUBRICA', |
|
| 655 | - 'titre_signatures_attente' => 'Assinaturas aguardando validação', |
|
| 656 | - 'titre_signatures_confirmees' => 'Assinaturas confirmadas', |
|
| 657 | - 'titre_statistiques' => 'Estatísticas do sítio', |
|
| 658 | - 'titre_titre_document' => 'Título do documento :', |
|
| 659 | - 'todo' => 'a caminho', |
|
| 660 | - 'trad_reference' => '(referência para as traduções)', |
|
| 632 | + 'texte_inc_meta_1' => 'O sistema encontrou um erro durante a escrita do arquivo <code>@fichier@</code>. Como administrador do sítio, por favor,', |
|
| 633 | + 'texte_inc_meta_2' => 'verificar as permissões de escrita', |
|
| 634 | + 'texte_inc_meta_3' => 'no directório <code>@repertoire@</code>.', |
|
| 635 | + 'texte_statut_en_cours_redaction' => 'em curso de redacção', |
|
| 636 | + 'texte_statut_poubelle' => 'para o caixote de lixo', |
|
| 637 | + 'texte_statut_propose_evaluation' => 'proposto para avaliação', |
|
| 638 | + 'texte_statut_publie' => 'publicado online', |
|
| 639 | + 'texte_statut_refuse' => 'recusado', |
|
| 640 | + 'titre_ajouter_mot_cle' => 'ACRESCENTAR UMA PALAVRA-CHAVE', |
|
| 641 | + 'titre_cadre_raccourcis' => 'ATALHOS :', |
|
| 642 | + 'titre_changer_couleur_interface' => 'Mudar a cor da interface', |
|
| 643 | + 'titre_image_admin_article' => 'Pode administrar este artigo', |
|
| 644 | + 'titre_image_administrateur' => 'Administrador', |
|
| 645 | + 'titre_image_aide' => 'Ajuda sobre este elemento', |
|
| 646 | + 'titre_image_auteur_supprime' => 'Autor eliminado', |
|
| 647 | + 'titre_image_redacteur' => 'Redactor sem acesso', |
|
| 648 | + 'titre_image_redacteur_02' => 'Redactor', |
|
| 649 | + 'titre_image_selecteur' => 'Exibir a lista', |
|
| 650 | + 'titre_image_visiteur' => 'Visitante', |
|
| 651 | + 'titre_joindre_document' => 'ANEXAR UM DOCUMENTO', |
|
| 652 | + 'titre_mots_cles' => 'PALAVRAS-CHAVE', |
|
| 653 | + 'titre_probleme_technique' => 'Atenção : um problema técnico (servidor SQL) impede o acesso a esta parte do sítio. Obrigado pela sua compreensão.', |
|
| 654 | + 'titre_publier_document' => 'PUBLICAR UM DOCUMENTO NESTA RUBRICA', |
|
| 655 | + 'titre_signatures_attente' => 'Assinaturas aguardando validação', |
|
| 656 | + 'titre_signatures_confirmees' => 'Assinaturas confirmadas', |
|
| 657 | + 'titre_statistiques' => 'Estatísticas do sítio', |
|
| 658 | + 'titre_titre_document' => 'Título do documento :', |
|
| 659 | + 'todo' => 'a caminho', |
|
| 660 | + 'trad_reference' => '(referência para as traduções)', |
|
| 661 | 661 | |
| 662 | - // Z |
|
| 663 | - 'zbug_balise_b_aval' => ': tag B colocada demasiado tarde no laço infinito', |
|
| 664 | - 'zbug_balise_inexistante' => 'Tag @balise@ mal declarada para @from@', |
|
| 665 | - 'zbug_balise_sans_argument' => 'Argumento em falta na tag @balise@', |
|
| 666 | - 'zbug_boucle' => 'laço infinito', |
|
| 667 | - 'zbug_boucle_recursive_undef' => 'laço recursivo não definido @nom@', |
|
| 668 | - 'zbug_calcul' => 'cálculo', |
|
| 669 | - 'zbug_champ_hors_boucle' => 'Campo @champ@ fora do laço infinito', |
|
| 670 | - 'zbug_champ_hors_motif' => 'Campo @champ@ fora de contexto @motif@', |
|
| 671 | - 'zbug_code' => 'código', |
|
| 672 | - 'zbug_critere_inconnu' => 'critério desconhecido @critere@ ', |
|
| 673 | - 'zbug_distant_interdit' => 'Dados externos interditos', |
|
| 674 | - 'zbug_doublon_table_sans_cle_primaire' => 'Entradas duplas numa tabela que não tem uma chave primária simples', |
|
| 675 | - 'zbug_doublon_table_sans_index' => 'Entradas duplas numa tabela sem índice', |
|
| 676 | - 'zbug_erreur_boucle_double' => 'laço @id@: Dupla definição ', |
|
| 677 | - 'zbug_erreur_boucle_fermant' => 'laço @id@: tag final em falta ', |
|
| 678 | - 'zbug_erreur_boucle_syntaxe' => 'Laço com sintaxe incorrecta @id@', |
|
| 679 | - 'zbug_erreur_compilation' => 'Erro de compilação', |
|
| 680 | - 'zbug_erreur_execution_page' => 'erro de execução da página', |
|
| 681 | - 'zbug_erreur_filtre' => 'Erro : filtro indefinido @filtre@ ', |
|
| 682 | - 'zbug_erreur_meme_parent' => '{meme_parent} aplica-se exclusivamente aos laços (FORUMS) ou (RUBRIQUES)', |
|
| 683 | - 'zbug_erreur_squelette' => 'Erro(s) no modelo', |
|
| 684 | - 'zbug_hors_compilation' => 'Não compilado', |
|
| 685 | - 'zbug_info_erreur_squelette' => 'Erro no sítio', |
|
| 686 | - 'zbug_inversion_ordre_inexistant' => 'inversão de uma ordem inexistente', |
|
| 687 | - 'zbug_pagination_sans_critere' => '#PAGINAÇÃO sem critério {paginação} ou usada num laço recursivo', |
|
| 688 | - 'zbug_parametres_inclus_incorrects' => 'Parâmetros de inclusão incorrectos: @param@', |
|
| 689 | - 'zbug_profile' => 'Cálculo de tempo : @time@', |
|
| 690 | - 'zbug_resultat' => 'resultado', |
|
| 691 | - 'zbug_serveur_indefini' => 'Sevidor SQL não definido', |
|
| 692 | - 'zbug_statistiques' => 'Estatísticas das consulta SQL classificadas por duração', |
|
| 693 | - 'zbug_table_inconnue' => 'Tabela SQL «@table@» desconhecida', |
|
| 694 | - 'zxml_connus_attributs' => 'attributos conhecidos', |
|
| 695 | - 'zxml_de' => 'de', |
|
| 696 | - 'zxml_inconnu_attribut' => 'atributo desconhecido', |
|
| 697 | - 'zxml_inconnu_balise' => 'tag desconhecida', |
|
| 698 | - 'zxml_inconnu_entite' => 'entidade desconhecida', |
|
| 699 | - 'zxml_inconnu_id' => 'ID desconhecido', |
|
| 700 | - 'zxml_mais_de' => 'mas de', |
|
| 701 | - 'zxml_non_conforme' => 'não está de acordo com o princípio', |
|
| 702 | - 'zxml_non_fils' => 'não é um filho de ', |
|
| 703 | - 'zxml_nonvide_balise' => 'a tag não está vazia', |
|
| 704 | - 'zxml_obligatoire_attribut' => 'atributo obrigatório está em falta', |
|
| 705 | - 'zxml_succession_fils_incorrecte' => 'sucessão de filhos incorrecta', |
|
| 706 | - 'zxml_survoler' => 'para visualizar os correctos, mover o rato por cima', |
|
| 707 | - 'zxml_valeur_attribut' => 'valor do atributo', |
|
| 708 | - 'zxml_vide_balise' => 'tag vazia', |
|
| 709 | - 'zxml_vu' => 'visualizado antes', |
|
| 662 | + // Z |
|
| 663 | + 'zbug_balise_b_aval' => ': tag B colocada demasiado tarde no laço infinito', |
|
| 664 | + 'zbug_balise_inexistante' => 'Tag @balise@ mal declarada para @from@', |
|
| 665 | + 'zbug_balise_sans_argument' => 'Argumento em falta na tag @balise@', |
|
| 666 | + 'zbug_boucle' => 'laço infinito', |
|
| 667 | + 'zbug_boucle_recursive_undef' => 'laço recursivo não definido @nom@', |
|
| 668 | + 'zbug_calcul' => 'cálculo', |
|
| 669 | + 'zbug_champ_hors_boucle' => 'Campo @champ@ fora do laço infinito', |
|
| 670 | + 'zbug_champ_hors_motif' => 'Campo @champ@ fora de contexto @motif@', |
|
| 671 | + 'zbug_code' => 'código', |
|
| 672 | + 'zbug_critere_inconnu' => 'critério desconhecido @critere@ ', |
|
| 673 | + 'zbug_distant_interdit' => 'Dados externos interditos', |
|
| 674 | + 'zbug_doublon_table_sans_cle_primaire' => 'Entradas duplas numa tabela que não tem uma chave primária simples', |
|
| 675 | + 'zbug_doublon_table_sans_index' => 'Entradas duplas numa tabela sem índice', |
|
| 676 | + 'zbug_erreur_boucle_double' => 'laço @id@: Dupla definição ', |
|
| 677 | + 'zbug_erreur_boucle_fermant' => 'laço @id@: tag final em falta ', |
|
| 678 | + 'zbug_erreur_boucle_syntaxe' => 'Laço com sintaxe incorrecta @id@', |
|
| 679 | + 'zbug_erreur_compilation' => 'Erro de compilação', |
|
| 680 | + 'zbug_erreur_execution_page' => 'erro de execução da página', |
|
| 681 | + 'zbug_erreur_filtre' => 'Erro : filtro indefinido @filtre@ ', |
|
| 682 | + 'zbug_erreur_meme_parent' => '{meme_parent} aplica-se exclusivamente aos laços (FORUMS) ou (RUBRIQUES)', |
|
| 683 | + 'zbug_erreur_squelette' => 'Erro(s) no modelo', |
|
| 684 | + 'zbug_hors_compilation' => 'Não compilado', |
|
| 685 | + 'zbug_info_erreur_squelette' => 'Erro no sítio', |
|
| 686 | + 'zbug_inversion_ordre_inexistant' => 'inversão de uma ordem inexistente', |
|
| 687 | + 'zbug_pagination_sans_critere' => '#PAGINAÇÃO sem critério {paginação} ou usada num laço recursivo', |
|
| 688 | + 'zbug_parametres_inclus_incorrects' => 'Parâmetros de inclusão incorrectos: @param@', |
|
| 689 | + 'zbug_profile' => 'Cálculo de tempo : @time@', |
|
| 690 | + 'zbug_resultat' => 'resultado', |
|
| 691 | + 'zbug_serveur_indefini' => 'Sevidor SQL não definido', |
|
| 692 | + 'zbug_statistiques' => 'Estatísticas das consulta SQL classificadas por duração', |
|
| 693 | + 'zbug_table_inconnue' => 'Tabela SQL «@table@» desconhecida', |
|
| 694 | + 'zxml_connus_attributs' => 'attributos conhecidos', |
|
| 695 | + 'zxml_de' => 'de', |
|
| 696 | + 'zxml_inconnu_attribut' => 'atributo desconhecido', |
|
| 697 | + 'zxml_inconnu_balise' => 'tag desconhecida', |
|
| 698 | + 'zxml_inconnu_entite' => 'entidade desconhecida', |
|
| 699 | + 'zxml_inconnu_id' => 'ID desconhecido', |
|
| 700 | + 'zxml_mais_de' => 'mas de', |
|
| 701 | + 'zxml_non_conforme' => 'não está de acordo com o princípio', |
|
| 702 | + 'zxml_non_fils' => 'não é um filho de ', |
|
| 703 | + 'zxml_nonvide_balise' => 'a tag não está vazia', |
|
| 704 | + 'zxml_obligatoire_attribut' => 'atributo obrigatório está em falta', |
|
| 705 | + 'zxml_succession_fils_incorrecte' => 'sucessão de filhos incorrecta', |
|
| 706 | + 'zxml_survoler' => 'para visualizar os correctos, mover o rato por cima', |
|
| 707 | + 'zxml_valeur_attribut' => 'valor do atributo', |
|
| 708 | + 'zxml_vide_balise' => 'tag vazia', |
|
| 709 | + 'zxml_vu' => 'visualizado antes', |
|
| 710 | 710 | ]; |
@@ -4,118 +4,118 @@ |
||
| 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 | ]; |
@@ -15,7 +15,7 @@ discard block |
||
| 15 | 15 | * @package SPIP\Core\Queue |
| 16 | 16 | **/ |
| 17 | 17 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 18 | - return; |
|
| 18 | + return; |
|
| 19 | 19 | } |
| 20 | 20 | |
| 21 | 21 | define('_JQ_SCHEDULED', 1); |
@@ -49,101 +49,101 @@ discard block |
||
| 49 | 49 | * id of job |
| 50 | 50 | */ |
| 51 | 51 | function queue_add_job( |
| 52 | - $function, |
|
| 53 | - $description, |
|
| 54 | - $arguments = [], |
|
| 55 | - $file = '', |
|
| 56 | - $no_duplicate = false, |
|
| 57 | - $time = 0, |
|
| 58 | - $priority = 0 |
|
| 52 | + $function, |
|
| 53 | + $description, |
|
| 54 | + $arguments = [], |
|
| 55 | + $file = '', |
|
| 56 | + $no_duplicate = false, |
|
| 57 | + $time = 0, |
|
| 58 | + $priority = 0 |
|
| 59 | 59 | ) { |
| 60 | - include_spip('base/abstract_sql'); |
|
| 61 | - |
|
| 62 | - // cas pourri de ecrire/action/editer_site avec l'option reload=oui |
|
| 63 | - if (defined('_GENIE_SYNDIC_NOW')) { |
|
| 64 | - $arguments['id_syndic'] = _GENIE_SYNDIC_NOW; |
|
| 65 | - } |
|
| 66 | - |
|
| 67 | - // serialiser les arguments |
|
| 68 | - $arguments = serialize($arguments); |
|
| 69 | - $md5args = md5($arguments); |
|
| 70 | - |
|
| 71 | - // si pas de date programee, des que possible |
|
| 72 | - $duplicate_where = 'status=' . intval(_JQ_SCHEDULED) . ' AND '; |
|
| 73 | - if (!$time) { |
|
| 74 | - $time = time(); |
|
| 75 | - $duplicate_where = ''; // ne pas dupliquer si deja le meme job en cours d'execution |
|
| 76 | - } |
|
| 77 | - $date = date('Y-m-d H:i:s', $time); |
|
| 78 | - |
|
| 79 | - $set_job = [ |
|
| 80 | - 'fonction' => $function, |
|
| 81 | - 'descriptif' => $description, |
|
| 82 | - 'args' => $arguments, |
|
| 83 | - 'md5args' => $md5args, |
|
| 84 | - 'inclure' => $file, |
|
| 85 | - 'priorite' => max(-10, min(10, intval($priority))), |
|
| 86 | - 'date' => $date, |
|
| 87 | - 'status' => _JQ_SCHEDULED, |
|
| 88 | - ]; |
|
| 89 | - // si option ne pas dupliquer, regarder si la fonction existe deja |
|
| 90 | - // avec les memes args et file |
|
| 91 | - if ( |
|
| 92 | - $no_duplicate |
|
| 93 | - && ($id_job = sql_getfetsel( |
|
| 94 | - 'id_job', |
|
| 95 | - 'spip_jobs', |
|
| 96 | - $duplicate_where = |
|
| 97 | - $duplicate_where . 'fonction=' . sql_quote($function) |
|
| 98 | - . (($no_duplicate === 'function_only') ? '' : |
|
| 99 | - ' AND md5args=' . sql_quote($md5args) . ' AND inclure=' . sql_quote($file)) |
|
| 100 | - )) |
|
| 101 | - ) { |
|
| 102 | - return $id_job; |
|
| 103 | - } |
|
| 104 | - |
|
| 105 | - $id_job = sql_insertq('spip_jobs', $set_job); |
|
| 106 | - // en cas de concurrence, deux process peuvent arriver jusqu'ici en parallele |
|
| 107 | - // avec le meme job unique a inserer. Dans ce cas, celui qui a eu l'id le plus grand |
|
| 108 | - // doit s'effacer |
|
| 109 | - if ( |
|
| 110 | - $no_duplicate |
|
| 111 | - && ($id_prev = sql_getfetsel('id_job', 'spip_jobs', 'id_job<' . intval($id_job) . " AND $duplicate_where")) |
|
| 112 | - ) { |
|
| 113 | - sql_delete('spip_jobs', 'id_job=' . intval($id_job)); |
|
| 114 | - |
|
| 115 | - return $id_prev; |
|
| 116 | - } |
|
| 117 | - |
|
| 118 | - // verifier la non duplication qui peut etre problematique en cas de concurence |
|
| 119 | - // il faut dans ce cas que seul le dernier ajoute se supprime ! |
|
| 120 | - |
|
| 121 | - // une option de debug pour verifier que les arguments en base sont bons |
|
| 122 | - // ie cas d'un char non acceptables sur certains type de champs |
|
| 123 | - // qui coupe la valeur |
|
| 124 | - if (defined('_JQ_INSERT_CHECK_ARGS') && $id_job) { |
|
| 125 | - $args = sql_getfetsel('args', 'spip_jobs', 'id_job=' . intval($id_job)); |
|
| 126 | - if ($args !== $arguments) { |
|
| 127 | - spip_log('arguments job errones / longueur ' . strlen($args) . ' vs ' . strlen($arguments) . ' / valeur : ' . var_export( |
|
| 128 | - $arguments, |
|
| 129 | - true |
|
| 130 | - ), 'queue'); |
|
| 131 | - } |
|
| 132 | - } |
|
| 133 | - |
|
| 134 | - if ($id_job) { |
|
| 135 | - queue_update_next_job_time($time); |
|
| 136 | - } |
|
| 137 | - // si la mise en file d'attente du job echoue, |
|
| 138 | - // il ne faut pas perdre l'execution de la fonction |
|
| 139 | - // on la lance immediatement, c'est un fallback |
|
| 140 | - // sauf en cas d'upgrade necessaire (table spip_jobs inexistante) |
|
| 141 | - elseif ($GLOBALS['meta']['version_installee'] == $GLOBALS['spip_version_base']) { |
|
| 142 | - $set_job['id_job'] = 0; |
|
| 143 | - queue_start_job($set_job); |
|
| 144 | - } |
|
| 145 | - |
|
| 146 | - return $id_job; |
|
| 60 | + include_spip('base/abstract_sql'); |
|
| 61 | + |
|
| 62 | + // cas pourri de ecrire/action/editer_site avec l'option reload=oui |
|
| 63 | + if (defined('_GENIE_SYNDIC_NOW')) { |
|
| 64 | + $arguments['id_syndic'] = _GENIE_SYNDIC_NOW; |
|
| 65 | + } |
|
| 66 | + |
|
| 67 | + // serialiser les arguments |
|
| 68 | + $arguments = serialize($arguments); |
|
| 69 | + $md5args = md5($arguments); |
|
| 70 | + |
|
| 71 | + // si pas de date programee, des que possible |
|
| 72 | + $duplicate_where = 'status=' . intval(_JQ_SCHEDULED) . ' AND '; |
|
| 73 | + if (!$time) { |
|
| 74 | + $time = time(); |
|
| 75 | + $duplicate_where = ''; // ne pas dupliquer si deja le meme job en cours d'execution |
|
| 76 | + } |
|
| 77 | + $date = date('Y-m-d H:i:s', $time); |
|
| 78 | + |
|
| 79 | + $set_job = [ |
|
| 80 | + 'fonction' => $function, |
|
| 81 | + 'descriptif' => $description, |
|
| 82 | + 'args' => $arguments, |
|
| 83 | + 'md5args' => $md5args, |
|
| 84 | + 'inclure' => $file, |
|
| 85 | + 'priorite' => max(-10, min(10, intval($priority))), |
|
| 86 | + 'date' => $date, |
|
| 87 | + 'status' => _JQ_SCHEDULED, |
|
| 88 | + ]; |
|
| 89 | + // si option ne pas dupliquer, regarder si la fonction existe deja |
|
| 90 | + // avec les memes args et file |
|
| 91 | + if ( |
|
| 92 | + $no_duplicate |
|
| 93 | + && ($id_job = sql_getfetsel( |
|
| 94 | + 'id_job', |
|
| 95 | + 'spip_jobs', |
|
| 96 | + $duplicate_where = |
|
| 97 | + $duplicate_where . 'fonction=' . sql_quote($function) |
|
| 98 | + . (($no_duplicate === 'function_only') ? '' : |
|
| 99 | + ' AND md5args=' . sql_quote($md5args) . ' AND inclure=' . sql_quote($file)) |
|
| 100 | + )) |
|
| 101 | + ) { |
|
| 102 | + return $id_job; |
|
| 103 | + } |
|
| 104 | + |
|
| 105 | + $id_job = sql_insertq('spip_jobs', $set_job); |
|
| 106 | + // en cas de concurrence, deux process peuvent arriver jusqu'ici en parallele |
|
| 107 | + // avec le meme job unique a inserer. Dans ce cas, celui qui a eu l'id le plus grand |
|
| 108 | + // doit s'effacer |
|
| 109 | + if ( |
|
| 110 | + $no_duplicate |
|
| 111 | + && ($id_prev = sql_getfetsel('id_job', 'spip_jobs', 'id_job<' . intval($id_job) . " AND $duplicate_where")) |
|
| 112 | + ) { |
|
| 113 | + sql_delete('spip_jobs', 'id_job=' . intval($id_job)); |
|
| 114 | + |
|
| 115 | + return $id_prev; |
|
| 116 | + } |
|
| 117 | + |
|
| 118 | + // verifier la non duplication qui peut etre problematique en cas de concurence |
|
| 119 | + // il faut dans ce cas que seul le dernier ajoute se supprime ! |
|
| 120 | + |
|
| 121 | + // une option de debug pour verifier que les arguments en base sont bons |
|
| 122 | + // ie cas d'un char non acceptables sur certains type de champs |
|
| 123 | + // qui coupe la valeur |
|
| 124 | + if (defined('_JQ_INSERT_CHECK_ARGS') && $id_job) { |
|
| 125 | + $args = sql_getfetsel('args', 'spip_jobs', 'id_job=' . intval($id_job)); |
|
| 126 | + if ($args !== $arguments) { |
|
| 127 | + spip_log('arguments job errones / longueur ' . strlen($args) . ' vs ' . strlen($arguments) . ' / valeur : ' . var_export( |
|
| 128 | + $arguments, |
|
| 129 | + true |
|
| 130 | + ), 'queue'); |
|
| 131 | + } |
|
| 132 | + } |
|
| 133 | + |
|
| 134 | + if ($id_job) { |
|
| 135 | + queue_update_next_job_time($time); |
|
| 136 | + } |
|
| 137 | + // si la mise en file d'attente du job echoue, |
|
| 138 | + // il ne faut pas perdre l'execution de la fonction |
|
| 139 | + // on la lance immediatement, c'est un fallback |
|
| 140 | + // sauf en cas d'upgrade necessaire (table spip_jobs inexistante) |
|
| 141 | + elseif ($GLOBALS['meta']['version_installee'] == $GLOBALS['spip_version_base']) { |
|
| 142 | + $set_job['id_job'] = 0; |
|
| 143 | + queue_start_job($set_job); |
|
| 144 | + } |
|
| 145 | + |
|
| 146 | + return $id_job; |
|
| 147 | 147 | } |
| 148 | 148 | |
| 149 | 149 | /** |
@@ -152,11 +152,11 @@ discard block |
||
| 152 | 152 | * @return void |
| 153 | 153 | */ |
| 154 | 154 | function queue_purger() { |
| 155 | - include_spip('base/abstract_sql'); |
|
| 156 | - sql_delete('spip_jobs'); |
|
| 157 | - sql_delete('spip_jobs_liens', 'id_job NOT IN (' . sql_get_select('id_job', 'spip_jobs') . ')'); |
|
| 158 | - include_spip('inc/genie'); |
|
| 159 | - genie_queue_watch_dist(); |
|
| 155 | + include_spip('base/abstract_sql'); |
|
| 156 | + sql_delete('spip_jobs'); |
|
| 157 | + sql_delete('spip_jobs_liens', 'id_job NOT IN (' . sql_get_select('id_job', 'spip_jobs') . ')'); |
|
| 158 | + include_spip('inc/genie'); |
|
| 159 | + genie_queue_watch_dist(); |
|
| 160 | 160 | } |
| 161 | 161 | |
| 162 | 162 | /** |
@@ -167,25 +167,25 @@ discard block |
||
| 167 | 167 | * @return int|bool |
| 168 | 168 | */ |
| 169 | 169 | function queue_remove_job($id_job) { |
| 170 | - include_spip('base/abstract_sql'); |
|
| 171 | - |
|
| 172 | - if ( |
|
| 173 | - ($row = sql_fetsel('fonction,inclure,date', 'spip_jobs', 'id_job=' . intval($id_job))) |
|
| 174 | - && ($res = sql_delete('spip_jobs', 'id_job=' . intval($id_job))) |
|
| 175 | - ) { |
|
| 176 | - queue_unlink_job($id_job); |
|
| 177 | - // est-ce une tache cron qu'il faut relancer ? |
|
| 178 | - if ($periode = queue_is_cron_job($row['fonction'], $row['inclure'])) { |
|
| 179 | - // relancer avec les nouveaux arguments de temps |
|
| 180 | - include_spip('inc/genie'); |
|
| 181 | - // relancer avec la periode prevue |
|
| 182 | - queue_genie_replan_job($row['fonction'], $periode, strtotime($row['date'])); |
|
| 183 | - } |
|
| 184 | - queue_update_next_job_time(); |
|
| 185 | - return $res; |
|
| 186 | - } |
|
| 187 | - |
|
| 188 | - return false; |
|
| 170 | + include_spip('base/abstract_sql'); |
|
| 171 | + |
|
| 172 | + if ( |
|
| 173 | + ($row = sql_fetsel('fonction,inclure,date', 'spip_jobs', 'id_job=' . intval($id_job))) |
|
| 174 | + && ($res = sql_delete('spip_jobs', 'id_job=' . intval($id_job))) |
|
| 175 | + ) { |
|
| 176 | + queue_unlink_job($id_job); |
|
| 177 | + // est-ce une tache cron qu'il faut relancer ? |
|
| 178 | + if ($periode = queue_is_cron_job($row['fonction'], $row['inclure'])) { |
|
| 179 | + // relancer avec les nouveaux arguments de temps |
|
| 180 | + include_spip('inc/genie'); |
|
| 181 | + // relancer avec la periode prevue |
|
| 182 | + queue_genie_replan_job($row['fonction'], $periode, strtotime($row['date'])); |
|
| 183 | + } |
|
| 184 | + queue_update_next_job_time(); |
|
| 185 | + return $res; |
|
| 186 | + } |
|
| 187 | + |
|
| 188 | + return false; |
|
| 189 | 189 | } |
| 190 | 190 | |
| 191 | 191 | /** |
@@ -198,18 +198,18 @@ discard block |
||
| 198 | 198 | * ou un tableau composé de tableaux simples pour lieur plusieurs objets en une fois |
| 199 | 199 | */ |
| 200 | 200 | function queue_link_job($id_job, $objets) { |
| 201 | - include_spip('base/abstract_sql'); |
|
| 202 | - |
|
| 203 | - if (is_array($objets) && count($objets)) { |
|
| 204 | - if (is_array(reset($objets))) { |
|
| 205 | - foreach ($objets as $k => $o) { |
|
| 206 | - $objets[$k]['id_job'] = $id_job; |
|
| 207 | - } |
|
| 208 | - sql_insertq_multi('spip_jobs_liens', $objets); |
|
| 209 | - } else { |
|
| 210 | - sql_insertq('spip_jobs_liens', array_merge(['id_job' => $id_job], $objets)); |
|
| 211 | - } |
|
| 212 | - } |
|
| 201 | + include_spip('base/abstract_sql'); |
|
| 202 | + |
|
| 203 | + if (is_array($objets) && count($objets)) { |
|
| 204 | + if (is_array(reset($objets))) { |
|
| 205 | + foreach ($objets as $k => $o) { |
|
| 206 | + $objets[$k]['id_job'] = $id_job; |
|
| 207 | + } |
|
| 208 | + sql_insertq_multi('spip_jobs_liens', $objets); |
|
| 209 | + } else { |
|
| 210 | + sql_insertq('spip_jobs_liens', array_merge(['id_job' => $id_job], $objets)); |
|
| 211 | + } |
|
| 212 | + } |
|
| 213 | 213 | } |
| 214 | 214 | |
| 215 | 215 | /** |
@@ -221,7 +221,7 @@ discard block |
||
| 221 | 221 | * resultat du sql_delete |
| 222 | 222 | */ |
| 223 | 223 | function queue_unlink_job($id_job) { |
| 224 | - return sql_delete('spip_jobs_liens', 'id_job=' . intval($id_job)); |
|
| 224 | + return sql_delete('spip_jobs_liens', 'id_job=' . intval($id_job)); |
|
| 225 | 225 | } |
| 226 | 226 | |
| 227 | 227 | /** |
@@ -234,36 +234,36 @@ discard block |
||
| 234 | 234 | */ |
| 235 | 235 | function queue_start_job($row) { |
| 236 | 236 | |
| 237 | - // deserialiser les arguments |
|
| 238 | - $args = unserialize($row['args']); |
|
| 239 | - if (!is_array($args)) { |
|
| 240 | - spip_log('arguments job errones ' . var_export($row, true), 'queue'); |
|
| 241 | - return false; |
|
| 242 | - } |
|
| 243 | - |
|
| 244 | - $fonction = $row['fonction']; |
|
| 245 | - if (strlen($inclure = trim($row['inclure']))) { |
|
| 246 | - if (str_ends_with($inclure, '/')) { // c'est un chemin pour charger_fonction |
|
| 247 | - $f = charger_fonction($fonction, rtrim($inclure, '/'), false); |
|
| 248 | - if ($f) { |
|
| 249 | - $fonction = $f; |
|
| 250 | - } |
|
| 251 | - } else { |
|
| 252 | - include_spip($inclure); |
|
| 253 | - } |
|
| 254 | - } |
|
| 255 | - |
|
| 256 | - if (!function_exists($fonction)) { |
|
| 257 | - spip_log("fonction $fonction ($inclure) inexistante " . var_export($row, true), 'queue'); |
|
| 258 | - |
|
| 259 | - return false; |
|
| 260 | - } |
|
| 261 | - |
|
| 262 | - spip_log('queue [' . $row['id_job'] . "]: $fonction() start", 'queue'); |
|
| 263 | - $res = $fonction(...$args); |
|
| 264 | - spip_log('queue [' . $row['id_job'] . "]: $fonction() end", 'queue'); |
|
| 265 | - |
|
| 266 | - return $res; |
|
| 237 | + // deserialiser les arguments |
|
| 238 | + $args = unserialize($row['args']); |
|
| 239 | + if (!is_array($args)) { |
|
| 240 | + spip_log('arguments job errones ' . var_export($row, true), 'queue'); |
|
| 241 | + return false; |
|
| 242 | + } |
|
| 243 | + |
|
| 244 | + $fonction = $row['fonction']; |
|
| 245 | + if (strlen($inclure = trim($row['inclure']))) { |
|
| 246 | + if (str_ends_with($inclure, '/')) { // c'est un chemin pour charger_fonction |
|
| 247 | + $f = charger_fonction($fonction, rtrim($inclure, '/'), false); |
|
| 248 | + if ($f) { |
|
| 249 | + $fonction = $f; |
|
| 250 | + } |
|
| 251 | + } else { |
|
| 252 | + include_spip($inclure); |
|
| 253 | + } |
|
| 254 | + } |
|
| 255 | + |
|
| 256 | + if (!function_exists($fonction)) { |
|
| 257 | + spip_log("fonction $fonction ($inclure) inexistante " . var_export($row, true), 'queue'); |
|
| 258 | + |
|
| 259 | + return false; |
|
| 260 | + } |
|
| 261 | + |
|
| 262 | + spip_log('queue [' . $row['id_job'] . "]: $fonction() start", 'queue'); |
|
| 263 | + $res = $fonction(...$args); |
|
| 264 | + spip_log('queue [' . $row['id_job'] . "]: $fonction() end", 'queue'); |
|
| 265 | + |
|
| 266 | + return $res; |
|
| 267 | 267 | } |
| 268 | 268 | |
| 269 | 269 | /** |
@@ -290,89 +290,89 @@ discard block |
||
| 290 | 290 | * - true : une planification a été faite. |
| 291 | 291 | */ |
| 292 | 292 | function queue_schedule($force_jobs = null) { |
| 293 | - $time = time(); |
|
| 294 | - if (defined('_DEBUG_BLOCK_QUEUE')) { |
|
| 295 | - spip_log('_DEBUG_BLOCK_QUEUE : schedule stop', 'jq' . _LOG_DEBUG); |
|
| 296 | - |
|
| 297 | - return; |
|
| 298 | - } |
|
| 299 | - |
|
| 300 | - // rien a faire si le prochain job est encore dans le futur |
|
| 301 | - if (queue_sleep_time_to_next_job() > 0 && (!$force_jobs || !count($force_jobs))) { |
|
| 302 | - spip_log('queue_sleep_time_to_next_job', 'jq' . _LOG_DEBUG); |
|
| 303 | - |
|
| 304 | - return; |
|
| 305 | - } |
|
| 306 | - |
|
| 307 | - include_spip('base/abstract_sql'); |
|
| 308 | - // on ne peut rien faire si pas de connexion SQL |
|
| 309 | - if (!spip_connect()) { |
|
| 310 | - return false; |
|
| 311 | - } |
|
| 312 | - |
|
| 313 | - if (!defined('_JQ_MAX_JOBS_TIME_TO_EXECUTE')) { |
|
| 314 | - $max_time = ini_get('max_execution_time') / 2; |
|
| 315 | - // valeur conservatrice si on a pas reussi a lire le max_execution_time |
|
| 316 | - if (!$max_time) { |
|
| 317 | - $max_time = 5; |
|
| 318 | - } |
|
| 319 | - define('_JQ_MAX_JOBS_TIME_TO_EXECUTE', min($max_time, 15)); // une valeur maxi en temps. |
|
| 320 | - } |
|
| 321 | - $end_time = $time + _JQ_MAX_JOBS_TIME_TO_EXECUTE; |
|
| 322 | - |
|
| 323 | - spip_log("JQ schedule $time / $end_time", 'jq' . _LOG_DEBUG); |
|
| 324 | - |
|
| 325 | - if (!defined('_JQ_MAX_JOBS_EXECUTE')) { |
|
| 326 | - define('_JQ_MAX_JOBS_EXECUTE', 200); |
|
| 327 | - } |
|
| 328 | - $nbj = 0; |
|
| 329 | - // attraper les jobs |
|
| 330 | - // dont la date est passee (echus en attente), |
|
| 331 | - // par ordre : |
|
| 332 | - // - de priorite |
|
| 333 | - // - de date |
|
| 334 | - // lorsqu'un job cron n'a pas fini, sa priorite est descendue |
|
| 335 | - // pour qu'il ne bloque pas les autres jobs en attente |
|
| 336 | - if (is_array($force_jobs) && count($force_jobs)) { |
|
| 337 | - $cond = 'status=' . intval(_JQ_SCHEDULED) . ' AND ' . sql_in('id_job', $force_jobs); |
|
| 338 | - } else { |
|
| 339 | - $now = date('Y-m-d H:i:s', $time); |
|
| 340 | - $cond = 'status=' . intval(_JQ_SCHEDULED) . ' AND date<=' . sql_quote($now); |
|
| 341 | - } |
|
| 342 | - |
|
| 343 | - register_shutdown_function('queue_error_handler'); // recuperer les erreurs auant que possible |
|
| 344 | - $res = sql_allfetsel('*', 'spip_jobs', $cond, '', 'priorite DESC,date', '0,' . (_JQ_MAX_JOBS_EXECUTE + 1)); |
|
| 345 | - do { |
|
| 346 | - if ($row = array_shift($res)) { |
|
| 347 | - $nbj++; |
|
| 348 | - // il faut un verrou, a base de sql_delete |
|
| 349 | - if (sql_delete('spip_jobs', 'id_job=' . intval($row['id_job']) . ' AND status=' . intval(_JQ_SCHEDULED))) { |
|
| 350 | - #spip_log("JQ schedule job ".$nbj." OK",'jq'); |
|
| 351 | - // on reinsert dans la base aussitot avec un status=_JQ_PENDING |
|
| 352 | - $row['status'] = _JQ_PENDING; |
|
| 353 | - $row['date'] = date('Y-m-d H:i:s', $time); |
|
| 354 | - sql_insertq('spip_jobs', $row); |
|
| 355 | - |
|
| 356 | - // on a la main sur le job : |
|
| 357 | - // l'executer |
|
| 358 | - $result = queue_start_job($row); |
|
| 359 | - |
|
| 360 | - $time = time(); |
|
| 361 | - queue_close_job($row, $time, $result); |
|
| 362 | - } |
|
| 363 | - } |
|
| 364 | - spip_log('JQ schedule job end time ' . $time, 'jq' . _LOG_DEBUG); |
|
| 365 | - } while ($nbj < _JQ_MAX_JOBS_EXECUTE && $row && $time < $end_time); |
|
| 366 | - spip_log('JQ schedule end time ' . time(), 'jq' . _LOG_DEBUG); |
|
| 367 | - |
|
| 368 | - if ($row = array_shift($res)) { |
|
| 369 | - queue_update_next_job_time(0); // on sait qu'il y a encore des jobs a lancer ASAP |
|
| 370 | - spip_log('JQ encore !', 'jq' . _LOG_DEBUG); |
|
| 371 | - } else { |
|
| 372 | - queue_update_next_job_time(); |
|
| 373 | - } |
|
| 374 | - |
|
| 375 | - return true; |
|
| 293 | + $time = time(); |
|
| 294 | + if (defined('_DEBUG_BLOCK_QUEUE')) { |
|
| 295 | + spip_log('_DEBUG_BLOCK_QUEUE : schedule stop', 'jq' . _LOG_DEBUG); |
|
| 296 | + |
|
| 297 | + return; |
|
| 298 | + } |
|
| 299 | + |
|
| 300 | + // rien a faire si le prochain job est encore dans le futur |
|
| 301 | + if (queue_sleep_time_to_next_job() > 0 && (!$force_jobs || !count($force_jobs))) { |
|
| 302 | + spip_log('queue_sleep_time_to_next_job', 'jq' . _LOG_DEBUG); |
|
| 303 | + |
|
| 304 | + return; |
|
| 305 | + } |
|
| 306 | + |
|
| 307 | + include_spip('base/abstract_sql'); |
|
| 308 | + // on ne peut rien faire si pas de connexion SQL |
|
| 309 | + if (!spip_connect()) { |
|
| 310 | + return false; |
|
| 311 | + } |
|
| 312 | + |
|
| 313 | + if (!defined('_JQ_MAX_JOBS_TIME_TO_EXECUTE')) { |
|
| 314 | + $max_time = ini_get('max_execution_time') / 2; |
|
| 315 | + // valeur conservatrice si on a pas reussi a lire le max_execution_time |
|
| 316 | + if (!$max_time) { |
|
| 317 | + $max_time = 5; |
|
| 318 | + } |
|
| 319 | + define('_JQ_MAX_JOBS_TIME_TO_EXECUTE', min($max_time, 15)); // une valeur maxi en temps. |
|
| 320 | + } |
|
| 321 | + $end_time = $time + _JQ_MAX_JOBS_TIME_TO_EXECUTE; |
|
| 322 | + |
|
| 323 | + spip_log("JQ schedule $time / $end_time", 'jq' . _LOG_DEBUG); |
|
| 324 | + |
|
| 325 | + if (!defined('_JQ_MAX_JOBS_EXECUTE')) { |
|
| 326 | + define('_JQ_MAX_JOBS_EXECUTE', 200); |
|
| 327 | + } |
|
| 328 | + $nbj = 0; |
|
| 329 | + // attraper les jobs |
|
| 330 | + // dont la date est passee (echus en attente), |
|
| 331 | + // par ordre : |
|
| 332 | + // - de priorite |
|
| 333 | + // - de date |
|
| 334 | + // lorsqu'un job cron n'a pas fini, sa priorite est descendue |
|
| 335 | + // pour qu'il ne bloque pas les autres jobs en attente |
|
| 336 | + if (is_array($force_jobs) && count($force_jobs)) { |
|
| 337 | + $cond = 'status=' . intval(_JQ_SCHEDULED) . ' AND ' . sql_in('id_job', $force_jobs); |
|
| 338 | + } else { |
|
| 339 | + $now = date('Y-m-d H:i:s', $time); |
|
| 340 | + $cond = 'status=' . intval(_JQ_SCHEDULED) . ' AND date<=' . sql_quote($now); |
|
| 341 | + } |
|
| 342 | + |
|
| 343 | + register_shutdown_function('queue_error_handler'); // recuperer les erreurs auant que possible |
|
| 344 | + $res = sql_allfetsel('*', 'spip_jobs', $cond, '', 'priorite DESC,date', '0,' . (_JQ_MAX_JOBS_EXECUTE + 1)); |
|
| 345 | + do { |
|
| 346 | + if ($row = array_shift($res)) { |
|
| 347 | + $nbj++; |
|
| 348 | + // il faut un verrou, a base de sql_delete |
|
| 349 | + if (sql_delete('spip_jobs', 'id_job=' . intval($row['id_job']) . ' AND status=' . intval(_JQ_SCHEDULED))) { |
|
| 350 | + #spip_log("JQ schedule job ".$nbj." OK",'jq'); |
|
| 351 | + // on reinsert dans la base aussitot avec un status=_JQ_PENDING |
|
| 352 | + $row['status'] = _JQ_PENDING; |
|
| 353 | + $row['date'] = date('Y-m-d H:i:s', $time); |
|
| 354 | + sql_insertq('spip_jobs', $row); |
|
| 355 | + |
|
| 356 | + // on a la main sur le job : |
|
| 357 | + // l'executer |
|
| 358 | + $result = queue_start_job($row); |
|
| 359 | + |
|
| 360 | + $time = time(); |
|
| 361 | + queue_close_job($row, $time, $result); |
|
| 362 | + } |
|
| 363 | + } |
|
| 364 | + spip_log('JQ schedule job end time ' . $time, 'jq' . _LOG_DEBUG); |
|
| 365 | + } while ($nbj < _JQ_MAX_JOBS_EXECUTE && $row && $time < $end_time); |
|
| 366 | + spip_log('JQ schedule end time ' . time(), 'jq' . _LOG_DEBUG); |
|
| 367 | + |
|
| 368 | + if ($row = array_shift($res)) { |
|
| 369 | + queue_update_next_job_time(0); // on sait qu'il y a encore des jobs a lancer ASAP |
|
| 370 | + spip_log('JQ encore !', 'jq' . _LOG_DEBUG); |
|
| 371 | + } else { |
|
| 372 | + queue_update_next_job_time(); |
|
| 373 | + } |
|
| 374 | + |
|
| 375 | + return true; |
|
| 376 | 376 | } |
| 377 | 377 | |
| 378 | 378 | /** |
@@ -390,21 +390,21 @@ discard block |
||
| 390 | 390 | * @param int $result |
| 391 | 391 | */ |
| 392 | 392 | function queue_close_job(&$row, $time, $result = 0) { |
| 393 | - // est-ce une tache cron qu'il faut relancer ? |
|
| 394 | - if ($periode = queue_is_cron_job($row['fonction'], $row['inclure'])) { |
|
| 395 | - // relancer avec les nouveaux arguments de temps |
|
| 396 | - include_spip('inc/genie'); |
|
| 397 | - if ($result < 0) { // relancer tout de suite, mais en baissant la priorite |
|
| 398 | - queue_genie_replan_job($row['fonction'], $periode, 0 - $result, null, $row['priorite'] - 1); |
|
| 399 | - } else // relancer avec la periode prevue |
|
| 400 | - { |
|
| 401 | - queue_genie_replan_job($row['fonction'], $periode, $time); |
|
| 402 | - } |
|
| 403 | - } |
|
| 404 | - // purger ses liens eventuels avec des objets |
|
| 405 | - sql_delete('spip_jobs_liens', 'id_job=' . intval($row['id_job'])); |
|
| 406 | - // supprimer le job fini |
|
| 407 | - sql_delete('spip_jobs', 'id_job=' . intval($row['id_job'])); |
|
| 393 | + // est-ce une tache cron qu'il faut relancer ? |
|
| 394 | + if ($periode = queue_is_cron_job($row['fonction'], $row['inclure'])) { |
|
| 395 | + // relancer avec les nouveaux arguments de temps |
|
| 396 | + include_spip('inc/genie'); |
|
| 397 | + if ($result < 0) { // relancer tout de suite, mais en baissant la priorite |
|
| 398 | + queue_genie_replan_job($row['fonction'], $periode, 0 - $result, null, $row['priorite'] - 1); |
|
| 399 | + } else // relancer avec la periode prevue |
|
| 400 | + { |
|
| 401 | + queue_genie_replan_job($row['fonction'], $periode, $time); |
|
| 402 | + } |
|
| 403 | + } |
|
| 404 | + // purger ses liens eventuels avec des objets |
|
| 405 | + sql_delete('spip_jobs_liens', 'id_job=' . intval($row['id_job'])); |
|
| 406 | + // supprimer le job fini |
|
| 407 | + sql_delete('spip_jobs', 'id_job=' . intval($row['id_job'])); |
|
| 408 | 408 | } |
| 409 | 409 | |
| 410 | 410 | /** |
@@ -414,10 +414,10 @@ discard block |
||
| 414 | 414 | * @uses queue_update_next_job_time() |
| 415 | 415 | */ |
| 416 | 416 | function queue_error_handler() { |
| 417 | - // se remettre dans le bon dossier, car Apache le change parfois (toujours?) |
|
| 418 | - chdir(_ROOT_CWD); |
|
| 417 | + // se remettre dans le bon dossier, car Apache le change parfois (toujours?) |
|
| 418 | + chdir(_ROOT_CWD); |
|
| 419 | 419 | |
| 420 | - queue_update_next_job_time(); |
|
| 420 | + queue_update_next_job_time(); |
|
| 421 | 421 | } |
| 422 | 422 | |
| 423 | 423 | |
@@ -434,18 +434,18 @@ discard block |
||
| 434 | 434 | * Périodicité de la tâche en secondes, si tâche périodique, sinon false. |
| 435 | 435 | */ |
| 436 | 436 | function queue_is_cron_job($function, $inclure) { |
| 437 | - static $taches = null; |
|
| 438 | - if (str_starts_with($inclure, 'genie/')) { |
|
| 439 | - if (is_null($taches)) { |
|
| 440 | - include_spip('inc/genie'); |
|
| 441 | - $taches = taches_generales(); |
|
| 442 | - } |
|
| 443 | - if (isset($taches[$function])) { |
|
| 444 | - return $taches[$function]; |
|
| 445 | - } |
|
| 446 | - } |
|
| 447 | - |
|
| 448 | - return false; |
|
| 437 | + static $taches = null; |
|
| 438 | + if (str_starts_with($inclure, 'genie/')) { |
|
| 439 | + if (is_null($taches)) { |
|
| 440 | + include_spip('inc/genie'); |
|
| 441 | + $taches = taches_generales(); |
|
| 442 | + } |
|
| 443 | + if (isset($taches[$function])) { |
|
| 444 | + return $taches[$function]; |
|
| 445 | + } |
|
| 446 | + } |
|
| 447 | + |
|
| 448 | + return false; |
|
| 449 | 449 | } |
| 450 | 450 | |
| 451 | 451 | /** |
@@ -459,62 +459,62 @@ discard block |
||
| 459 | 459 | * temps de la tache ajoutee ou 0 pour ASAP |
| 460 | 460 | */ |
| 461 | 461 | function queue_update_next_job_time($next_time = null) { |
| 462 | - static $nb_jobs_scheduled = null; |
|
| 463 | - static $deja_la = false; |
|
| 464 | - // prendre le min des $next_time que l'on voit passer ici, en cas de reentrance |
|
| 465 | - static $next = null; |
|
| 466 | - // queue_close_job peut etre reentrant ici |
|
| 467 | - if ($deja_la) { |
|
| 468 | - return; |
|
| 469 | - } |
|
| 470 | - $deja_la = true; |
|
| 471 | - |
|
| 472 | - include_spip('base/abstract_sql'); |
|
| 473 | - $time = time(); |
|
| 474 | - |
|
| 475 | - // traiter les jobs morts au combat (_JQ_PENDING depuis plus de 180s) |
|
| 476 | - // pour cause de timeout ou autre erreur fatale |
|
| 477 | - $res = sql_allfetsel( |
|
| 478 | - '*', |
|
| 479 | - 'spip_jobs', |
|
| 480 | - 'status=' . intval(_JQ_PENDING) . ' AND date<' . sql_quote(date('Y-m-d H:i:s', $time - 180)) |
|
| 481 | - ); |
|
| 482 | - if (is_array($res)) { |
|
| 483 | - foreach ($res as $row) { |
|
| 484 | - queue_close_job($row, $time); |
|
| 485 | - spip_log('queue_close_job car _JQ_PENDING depuis +180s : ' . print_r($row, true), 'job_mort' . _LOG_ERREUR); |
|
| 486 | - } |
|
| 487 | - } |
|
| 488 | - |
|
| 489 | - // chercher la date du prochain job si pas connu |
|
| 490 | - if (is_null($next) || is_null(queue_sleep_time_to_next_job())) { |
|
| 491 | - $date = sql_getfetsel('date', 'spip_jobs', 'status=' . intval(_JQ_SCHEDULED), '', 'date', '0,1'); |
|
| 492 | - $next = strtotime($date); |
|
| 493 | - } |
|
| 494 | - if (!is_null($next_time)) { |
|
| 495 | - if (is_null($next) || $next > $next_time) { |
|
| 496 | - $next = $next_time; |
|
| 497 | - } |
|
| 498 | - } |
|
| 499 | - |
|
| 500 | - if ($next) { |
|
| 501 | - if (is_null($nb_jobs_scheduled)) { |
|
| 502 | - $nb_jobs_scheduled = sql_countsel( |
|
| 503 | - 'spip_jobs', |
|
| 504 | - 'status=' . intval(_JQ_SCHEDULED) . ' AND date<' . sql_quote(date('Y-m-d H:i:s', $time)) |
|
| 505 | - ); |
|
| 506 | - } elseif ($next <= $time) { |
|
| 507 | - $nb_jobs_scheduled++; |
|
| 508 | - } |
|
| 509 | - // si trop de jobs en attente, on force la purge en fin de hit |
|
| 510 | - // pour assurer le coup |
|
| 511 | - if ($nb_jobs_scheduled > (defined('_JQ_NB_JOBS_OVERFLOW') ? _JQ_NB_JOBS_OVERFLOW : 10000)) { |
|
| 512 | - define('_DIRECT_CRON_FORCE', true); |
|
| 513 | - } |
|
| 514 | - } |
|
| 515 | - |
|
| 516 | - queue_set_next_job_time($next); |
|
| 517 | - $deja_la = false; |
|
| 462 | + static $nb_jobs_scheduled = null; |
|
| 463 | + static $deja_la = false; |
|
| 464 | + // prendre le min des $next_time que l'on voit passer ici, en cas de reentrance |
|
| 465 | + static $next = null; |
|
| 466 | + // queue_close_job peut etre reentrant ici |
|
| 467 | + if ($deja_la) { |
|
| 468 | + return; |
|
| 469 | + } |
|
| 470 | + $deja_la = true; |
|
| 471 | + |
|
| 472 | + include_spip('base/abstract_sql'); |
|
| 473 | + $time = time(); |
|
| 474 | + |
|
| 475 | + // traiter les jobs morts au combat (_JQ_PENDING depuis plus de 180s) |
|
| 476 | + // pour cause de timeout ou autre erreur fatale |
|
| 477 | + $res = sql_allfetsel( |
|
| 478 | + '*', |
|
| 479 | + 'spip_jobs', |
|
| 480 | + 'status=' . intval(_JQ_PENDING) . ' AND date<' . sql_quote(date('Y-m-d H:i:s', $time - 180)) |
|
| 481 | + ); |
|
| 482 | + if (is_array($res)) { |
|
| 483 | + foreach ($res as $row) { |
|
| 484 | + queue_close_job($row, $time); |
|
| 485 | + spip_log('queue_close_job car _JQ_PENDING depuis +180s : ' . print_r($row, true), 'job_mort' . _LOG_ERREUR); |
|
| 486 | + } |
|
| 487 | + } |
|
| 488 | + |
|
| 489 | + // chercher la date du prochain job si pas connu |
|
| 490 | + if (is_null($next) || is_null(queue_sleep_time_to_next_job())) { |
|
| 491 | + $date = sql_getfetsel('date', 'spip_jobs', 'status=' . intval(_JQ_SCHEDULED), '', 'date', '0,1'); |
|
| 492 | + $next = strtotime($date); |
|
| 493 | + } |
|
| 494 | + if (!is_null($next_time)) { |
|
| 495 | + if (is_null($next) || $next > $next_time) { |
|
| 496 | + $next = $next_time; |
|
| 497 | + } |
|
| 498 | + } |
|
| 499 | + |
|
| 500 | + if ($next) { |
|
| 501 | + if (is_null($nb_jobs_scheduled)) { |
|
| 502 | + $nb_jobs_scheduled = sql_countsel( |
|
| 503 | + 'spip_jobs', |
|
| 504 | + 'status=' . intval(_JQ_SCHEDULED) . ' AND date<' . sql_quote(date('Y-m-d H:i:s', $time)) |
|
| 505 | + ); |
|
| 506 | + } elseif ($next <= $time) { |
|
| 507 | + $nb_jobs_scheduled++; |
|
| 508 | + } |
|
| 509 | + // si trop de jobs en attente, on force la purge en fin de hit |
|
| 510 | + // pour assurer le coup |
|
| 511 | + if ($nb_jobs_scheduled > (defined('_JQ_NB_JOBS_OVERFLOW') ? _JQ_NB_JOBS_OVERFLOW : 10000)) { |
|
| 512 | + define('_DIRECT_CRON_FORCE', true); |
|
| 513 | + } |
|
| 514 | + } |
|
| 515 | + |
|
| 516 | + queue_set_next_job_time($next); |
|
| 517 | + $deja_la = false; |
|
| 518 | 518 | } |
| 519 | 519 | |
| 520 | 520 | |
@@ -525,26 +525,26 @@ discard block |
||
| 525 | 525 | */ |
| 526 | 526 | function queue_set_next_job_time($next) { |
| 527 | 527 | |
| 528 | - // utiliser le temps courant reel plutot que temps de la requete ici |
|
| 529 | - $time = time(); |
|
| 530 | - |
|
| 531 | - // toujours relire la valeur pour comparer, pour tenir compte des maj concourrantes |
|
| 532 | - // et ne mettre a jour que si il y a un interet a le faire |
|
| 533 | - // permet ausis d'initialiser le nom de fichier a coup sur |
|
| 534 | - $curr_next = $_SERVER['REQUEST_TIME'] + max(0, queue_sleep_time_to_next_job(true)); |
|
| 535 | - if ( |
|
| 536 | - $curr_next <= $time && $next > $time // le prochain job est dans le futur mais pas la date planifiee actuelle |
|
| 537 | - || $curr_next > $next // le prochain job est plus tot que la date planifiee actuelle |
|
| 538 | - ) { |
|
| 539 | - if (function_exists('cache_set') && defined('_MEMOIZE_MEMORY') && _MEMOIZE_MEMORY) { |
|
| 540 | - cache_set(_JQ_NEXT_JOB_TIME_FILENAME, intval($next)); |
|
| 541 | - } else { |
|
| 542 | - ecrire_fichier(_JQ_NEXT_JOB_TIME_FILENAME, intval($next)); |
|
| 543 | - } |
|
| 544 | - queue_sleep_time_to_next_job($next); |
|
| 545 | - } |
|
| 546 | - |
|
| 547 | - return queue_sleep_time_to_next_job(); |
|
| 528 | + // utiliser le temps courant reel plutot que temps de la requete ici |
|
| 529 | + $time = time(); |
|
| 530 | + |
|
| 531 | + // toujours relire la valeur pour comparer, pour tenir compte des maj concourrantes |
|
| 532 | + // et ne mettre a jour que si il y a un interet a le faire |
|
| 533 | + // permet ausis d'initialiser le nom de fichier a coup sur |
|
| 534 | + $curr_next = $_SERVER['REQUEST_TIME'] + max(0, queue_sleep_time_to_next_job(true)); |
|
| 535 | + if ( |
|
| 536 | + $curr_next <= $time && $next > $time // le prochain job est dans le futur mais pas la date planifiee actuelle |
|
| 537 | + || $curr_next > $next // le prochain job est plus tot que la date planifiee actuelle |
|
| 538 | + ) { |
|
| 539 | + if (function_exists('cache_set') && defined('_MEMOIZE_MEMORY') && _MEMOIZE_MEMORY) { |
|
| 540 | + cache_set(_JQ_NEXT_JOB_TIME_FILENAME, intval($next)); |
|
| 541 | + } else { |
|
| 542 | + ecrire_fichier(_JQ_NEXT_JOB_TIME_FILENAME, intval($next)); |
|
| 543 | + } |
|
| 544 | + queue_sleep_time_to_next_job($next); |
|
| 545 | + } |
|
| 546 | + |
|
| 547 | + return queue_sleep_time_to_next_job(); |
|
| 548 | 548 | } |
| 549 | 549 | |
| 550 | 550 | /** |
@@ -561,60 +561,60 @@ discard block |
||
| 561 | 561 | * @return string |
| 562 | 562 | */ |
| 563 | 563 | function queue_affichage_cron() { |
| 564 | - $texte = ''; |
|
| 565 | - |
|
| 566 | - $time_to_next = queue_sleep_time_to_next_job(); |
|
| 567 | - // rien a faire si le prochain job est encore dans le futur |
|
| 568 | - if ($time_to_next > 0 || defined('_DEBUG_BLOCK_QUEUE')) { |
|
| 569 | - return $texte; |
|
| 570 | - } |
|
| 571 | - |
|
| 572 | - // ne pas relancer si on vient de lancer dans la meme seconde par un hit concurent |
|
| 573 | - if (file_exists($lock = _DIR_TMP . 'cron.lock') && !(@filemtime($lock) < $_SERVER['REQUEST_TIME'])) { |
|
| 574 | - return $texte; |
|
| 575 | - } |
|
| 576 | - |
|
| 577 | - @touch($lock); |
|
| 578 | - |
|
| 579 | - // il y a des taches en attentes |
|
| 580 | - // si depuis plus de 5min, on essaye de lancer le cron par tous les moyens pour rattraper le coup |
|
| 581 | - // on est sans doute sur un site qui n'autorise pas http sortant ou avec peu de trafic |
|
| 582 | - $urgent = false; |
|
| 583 | - if ($time_to_next < -300) { |
|
| 584 | - $urgent = true; |
|
| 585 | - } |
|
| 586 | - |
|
| 587 | - $url_cron = generer_url_action('cron', '', false, true); |
|
| 588 | - |
|
| 589 | - if (!defined('_HTML_BG_CRON_FORCE') || !_HTML_BG_CRON_FORCE) { |
|
| 590 | - if (queue_lancer_url_http_async($url_cron) && !$urgent) { |
|
| 591 | - return $texte; |
|
| 592 | - } |
|
| 593 | - } |
|
| 594 | - |
|
| 595 | - // si deja force, on retourne sans rien |
|
| 596 | - if (defined('_DIRECT_CRON_FORCE')) { |
|
| 597 | - return $texte; |
|
| 598 | - } |
|
| 599 | - |
|
| 600 | - // si c'est un bot |
|
| 601 | - // inutile de faire un appel par image background, |
|
| 602 | - // on force un appel direct en fin de hit |
|
| 603 | - if ((defined('_IS_BOT') && _IS_BOT)) { |
|
| 604 | - define('_DIRECT_CRON_FORCE', true); |
|
| 605 | - |
|
| 606 | - return $texte; |
|
| 607 | - } |
|
| 608 | - |
|
| 609 | - if (!defined('_HTML_BG_CRON_INHIB') || !_HTML_BG_CRON_INHIB) { |
|
| 610 | - // en derniere solution, on insere un appel xhr non bloquant ou une image background dans la page si pas de JS |
|
| 611 | - $url_cron = generer_url_action('cron'); |
|
| 612 | - $texte = '<!-- SPIP-CRON -->' |
|
| 613 | - . "<script>setTimeout(function(){var xo = new XMLHttpRequest();xo.open('GET', '$url_cron', true);xo.send('');},100);</script>" |
|
| 614 | - . "<noscript><div style=\"background-image: url('$url_cron');\"></div></noscript>"; |
|
| 615 | - } |
|
| 616 | - |
|
| 617 | - return $texte; |
|
| 564 | + $texte = ''; |
|
| 565 | + |
|
| 566 | + $time_to_next = queue_sleep_time_to_next_job(); |
|
| 567 | + // rien a faire si le prochain job est encore dans le futur |
|
| 568 | + if ($time_to_next > 0 || defined('_DEBUG_BLOCK_QUEUE')) { |
|
| 569 | + return $texte; |
|
| 570 | + } |
|
| 571 | + |
|
| 572 | + // ne pas relancer si on vient de lancer dans la meme seconde par un hit concurent |
|
| 573 | + if (file_exists($lock = _DIR_TMP . 'cron.lock') && !(@filemtime($lock) < $_SERVER['REQUEST_TIME'])) { |
|
| 574 | + return $texte; |
|
| 575 | + } |
|
| 576 | + |
|
| 577 | + @touch($lock); |
|
| 578 | + |
|
| 579 | + // il y a des taches en attentes |
|
| 580 | + // si depuis plus de 5min, on essaye de lancer le cron par tous les moyens pour rattraper le coup |
|
| 581 | + // on est sans doute sur un site qui n'autorise pas http sortant ou avec peu de trafic |
|
| 582 | + $urgent = false; |
|
| 583 | + if ($time_to_next < -300) { |
|
| 584 | + $urgent = true; |
|
| 585 | + } |
|
| 586 | + |
|
| 587 | + $url_cron = generer_url_action('cron', '', false, true); |
|
| 588 | + |
|
| 589 | + if (!defined('_HTML_BG_CRON_FORCE') || !_HTML_BG_CRON_FORCE) { |
|
| 590 | + if (queue_lancer_url_http_async($url_cron) && !$urgent) { |
|
| 591 | + return $texte; |
|
| 592 | + } |
|
| 593 | + } |
|
| 594 | + |
|
| 595 | + // si deja force, on retourne sans rien |
|
| 596 | + if (defined('_DIRECT_CRON_FORCE')) { |
|
| 597 | + return $texte; |
|
| 598 | + } |
|
| 599 | + |
|
| 600 | + // si c'est un bot |
|
| 601 | + // inutile de faire un appel par image background, |
|
| 602 | + // on force un appel direct en fin de hit |
|
| 603 | + if ((defined('_IS_BOT') && _IS_BOT)) { |
|
| 604 | + define('_DIRECT_CRON_FORCE', true); |
|
| 605 | + |
|
| 606 | + return $texte; |
|
| 607 | + } |
|
| 608 | + |
|
| 609 | + if (!defined('_HTML_BG_CRON_INHIB') || !_HTML_BG_CRON_INHIB) { |
|
| 610 | + // en derniere solution, on insere un appel xhr non bloquant ou une image background dans la page si pas de JS |
|
| 611 | + $url_cron = generer_url_action('cron'); |
|
| 612 | + $texte = '<!-- SPIP-CRON -->' |
|
| 613 | + . "<script>setTimeout(function(){var xo = new XMLHttpRequest();xo.open('GET', '$url_cron', true);xo.send('');},100);</script>" |
|
| 614 | + . "<noscript><div style=\"background-image: url('$url_cron');\"></div></noscript>"; |
|
| 615 | + } |
|
| 616 | + |
|
| 617 | + return $texte; |
|
| 618 | 618 | } |
| 619 | 619 | |
| 620 | 620 | /** |
@@ -623,73 +623,73 @@ discard block |
||
| 623 | 623 | * @return bool : true si l'url a pu être appelée en asynchrone, false sinon |
| 624 | 624 | */ |
| 625 | 625 | function queue_lancer_url_http_async($url_cron) { |
| 626 | - // methode la plus rapide : |
|
| 627 | - // Si fsockopen est possible, on lance le cron via un socket en asynchrone |
|
| 628 | - // si fsockopen echoue (disponibilite serveur, firewall) on essaye pas cURL |
|
| 629 | - // car on a toutes les chances d'echouer pareil mais sans moyen de le savoir |
|
| 630 | - // mais on renvoie false direct |
|
| 631 | - if (function_exists('fsockopen')) { |
|
| 632 | - $parts = parse_url($url_cron); |
|
| 633 | - |
|
| 634 | - switch ($parts['scheme']) { |
|
| 635 | - case 'https': |
|
| 636 | - $scheme = 'ssl://'; |
|
| 637 | - $port = 443; |
|
| 638 | - break; |
|
| 639 | - case 'http': |
|
| 640 | - default: |
|
| 641 | - $scheme = ''; |
|
| 642 | - $port = 80; |
|
| 643 | - } |
|
| 644 | - $fp = @fsockopen( |
|
| 645 | - $scheme . $parts['host'], |
|
| 646 | - $parts['port'] ?? $port, |
|
| 647 | - $errno, |
|
| 648 | - $errstr, |
|
| 649 | - 1 |
|
| 650 | - ); |
|
| 651 | - |
|
| 652 | - if ($fp) { |
|
| 653 | - $host_sent = $parts['host']; |
|
| 654 | - if (isset($parts['port']) && $parts['port'] !== $port) { |
|
| 655 | - $host_sent .= ':' . $parts['port']; |
|
| 656 | - } |
|
| 657 | - $timeout = 200; // ms |
|
| 658 | - stream_set_timeout($fp, 0, $timeout * 1000); |
|
| 659 | - $query = $parts['path'] . ($parts['query'] ? '?' . $parts['query'] : ''); |
|
| 660 | - $out = 'GET ' . $query . " HTTP/1.1\r\n"; |
|
| 661 | - $out .= 'Host: ' . $host_sent . "\r\n"; |
|
| 662 | - $out .= "Connection: Close\r\n\r\n"; |
|
| 663 | - fwrite($fp, $out); |
|
| 664 | - spip_timer('read'); |
|
| 665 | - $t = 0; |
|
| 666 | - // on lit la reponse si possible pour fermer proprement la connexion |
|
| 667 | - // avec un timeout total de 200ms pour ne pas se bloquer |
|
| 668 | - while (!feof($fp) && $t < $timeout) { |
|
| 669 | - @fgets($fp, 1024); |
|
| 670 | - $t += spip_timer('read', true); |
|
| 671 | - spip_timer('read'); |
|
| 672 | - } |
|
| 673 | - fclose($fp); |
|
| 674 | - return true; |
|
| 675 | - } |
|
| 676 | - } |
|
| 677 | - // si fsockopen n'est pas dispo on essaye cURL : |
|
| 678 | - // lancer le cron par un cURL asynchrone si cURL est present |
|
| 679 | - elseif (function_exists('curl_init')) { |
|
| 680 | - //setting the curl parameters. |
|
| 681 | - $ch = curl_init($url_cron); |
|
| 682 | - curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); |
|
| 683 | - // cf bug : http://www.php.net/manual/en/function.curl-setopt.php#104597 |
|
| 684 | - curl_setopt($ch, CURLOPT_NOSIGNAL, 1); |
|
| 685 | - // valeur mini pour que la requete soit lancee |
|
| 686 | - curl_setopt($ch, CURLOPT_TIMEOUT_MS, 200); |
|
| 687 | - // lancer |
|
| 688 | - curl_exec($ch); |
|
| 689 | - // fermer |
|
| 690 | - curl_close($ch); |
|
| 691 | - return true; |
|
| 692 | - } |
|
| 693 | - |
|
| 694 | - return false; |
|
| 626 | + // methode la plus rapide : |
|
| 627 | + // Si fsockopen est possible, on lance le cron via un socket en asynchrone |
|
| 628 | + // si fsockopen echoue (disponibilite serveur, firewall) on essaye pas cURL |
|
| 629 | + // car on a toutes les chances d'echouer pareil mais sans moyen de le savoir |
|
| 630 | + // mais on renvoie false direct |
|
| 631 | + if (function_exists('fsockopen')) { |
|
| 632 | + $parts = parse_url($url_cron); |
|
| 633 | + |
|
| 634 | + switch ($parts['scheme']) { |
|
| 635 | + case 'https': |
|
| 636 | + $scheme = 'ssl://'; |
|
| 637 | + $port = 443; |
|
| 638 | + break; |
|
| 639 | + case 'http': |
|
| 640 | + default: |
|
| 641 | + $scheme = ''; |
|
| 642 | + $port = 80; |
|
| 643 | + } |
|
| 644 | + $fp = @fsockopen( |
|
| 645 | + $scheme . $parts['host'], |
|
| 646 | + $parts['port'] ?? $port, |
|
| 647 | + $errno, |
|
| 648 | + $errstr, |
|
| 649 | + 1 |
|
| 650 | + ); |
|
| 651 | + |
|
| 652 | + if ($fp) { |
|
| 653 | + $host_sent = $parts['host']; |
|
| 654 | + if (isset($parts['port']) && $parts['port'] !== $port) { |
|
| 655 | + $host_sent .= ':' . $parts['port']; |
|
| 656 | + } |
|
| 657 | + $timeout = 200; // ms |
|
| 658 | + stream_set_timeout($fp, 0, $timeout * 1000); |
|
| 659 | + $query = $parts['path'] . ($parts['query'] ? '?' . $parts['query'] : ''); |
|
| 660 | + $out = 'GET ' . $query . " HTTP/1.1\r\n"; |
|
| 661 | + $out .= 'Host: ' . $host_sent . "\r\n"; |
|
| 662 | + $out .= "Connection: Close\r\n\r\n"; |
|
| 663 | + fwrite($fp, $out); |
|
| 664 | + spip_timer('read'); |
|
| 665 | + $t = 0; |
|
| 666 | + // on lit la reponse si possible pour fermer proprement la connexion |
|
| 667 | + // avec un timeout total de 200ms pour ne pas se bloquer |
|
| 668 | + while (!feof($fp) && $t < $timeout) { |
|
| 669 | + @fgets($fp, 1024); |
|
| 670 | + $t += spip_timer('read', true); |
|
| 671 | + spip_timer('read'); |
|
| 672 | + } |
|
| 673 | + fclose($fp); |
|
| 674 | + return true; |
|
| 675 | + } |
|
| 676 | + } |
|
| 677 | + // si fsockopen n'est pas dispo on essaye cURL : |
|
| 678 | + // lancer le cron par un cURL asynchrone si cURL est present |
|
| 679 | + elseif (function_exists('curl_init')) { |
|
| 680 | + //setting the curl parameters. |
|
| 681 | + $ch = curl_init($url_cron); |
|
| 682 | + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); |
|
| 683 | + // cf bug : http://www.php.net/manual/en/function.curl-setopt.php#104597 |
|
| 684 | + curl_setopt($ch, CURLOPT_NOSIGNAL, 1); |
|
| 685 | + // valeur mini pour que la requete soit lancee |
|
| 686 | + curl_setopt($ch, CURLOPT_TIMEOUT_MS, 200); |
|
| 687 | + // lancer |
|
| 688 | + curl_exec($ch); |
|
| 689 | + // fermer |
|
| 690 | + curl_close($ch); |
|
| 691 | + return true; |
|
| 692 | + } |
|
| 693 | + |
|
| 694 | + return false; |
|
| 695 | 695 | } |
@@ -69,7 +69,7 @@ discard block |
||
| 69 | 69 | $md5args = md5($arguments); |
| 70 | 70 | |
| 71 | 71 | // si pas de date programee, des que possible |
| 72 | - $duplicate_where = 'status=' . intval(_JQ_SCHEDULED) . ' AND '; |
|
| 72 | + $duplicate_where = 'status='.intval(_JQ_SCHEDULED).' AND '; |
|
| 73 | 73 | if (!$time) { |
| 74 | 74 | $time = time(); |
| 75 | 75 | $duplicate_where = ''; // ne pas dupliquer si deja le meme job en cours d'execution |
@@ -94,9 +94,8 @@ discard block |
||
| 94 | 94 | 'id_job', |
| 95 | 95 | 'spip_jobs', |
| 96 | 96 | $duplicate_where = |
| 97 | - $duplicate_where . 'fonction=' . sql_quote($function) |
|
| 98 | - . (($no_duplicate === 'function_only') ? '' : |
|
| 99 | - ' AND md5args=' . sql_quote($md5args) . ' AND inclure=' . sql_quote($file)) |
|
| 97 | + $duplicate_where.'fonction='.sql_quote($function) |
|
| 98 | + . (($no_duplicate === 'function_only') ? '' : ' AND md5args='.sql_quote($md5args).' AND inclure='.sql_quote($file)) |
|
| 100 | 99 | )) |
| 101 | 100 | ) { |
| 102 | 101 | return $id_job; |
@@ -108,9 +107,9 @@ discard block |
||
| 108 | 107 | // doit s'effacer |
| 109 | 108 | if ( |
| 110 | 109 | $no_duplicate |
| 111 | - && ($id_prev = sql_getfetsel('id_job', 'spip_jobs', 'id_job<' . intval($id_job) . " AND $duplicate_where")) |
|
| 110 | + && ($id_prev = sql_getfetsel('id_job', 'spip_jobs', 'id_job<'.intval($id_job)." AND $duplicate_where")) |
|
| 112 | 111 | ) { |
| 113 | - sql_delete('spip_jobs', 'id_job=' . intval($id_job)); |
|
| 112 | + sql_delete('spip_jobs', 'id_job='.intval($id_job)); |
|
| 114 | 113 | |
| 115 | 114 | return $id_prev; |
| 116 | 115 | } |
@@ -122,9 +121,9 @@ discard block |
||
| 122 | 121 | // ie cas d'un char non acceptables sur certains type de champs |
| 123 | 122 | // qui coupe la valeur |
| 124 | 123 | if (defined('_JQ_INSERT_CHECK_ARGS') && $id_job) { |
| 125 | - $args = sql_getfetsel('args', 'spip_jobs', 'id_job=' . intval($id_job)); |
|
| 124 | + $args = sql_getfetsel('args', 'spip_jobs', 'id_job='.intval($id_job)); |
|
| 126 | 125 | if ($args !== $arguments) { |
| 127 | - spip_log('arguments job errones / longueur ' . strlen($args) . ' vs ' . strlen($arguments) . ' / valeur : ' . var_export( |
|
| 126 | + spip_log('arguments job errones / longueur '.strlen($args).' vs '.strlen($arguments).' / valeur : '.var_export( |
|
| 128 | 127 | $arguments, |
| 129 | 128 | true |
| 130 | 129 | ), 'queue'); |
@@ -154,7 +153,7 @@ discard block |
||
| 154 | 153 | function queue_purger() { |
| 155 | 154 | include_spip('base/abstract_sql'); |
| 156 | 155 | sql_delete('spip_jobs'); |
| 157 | - sql_delete('spip_jobs_liens', 'id_job NOT IN (' . sql_get_select('id_job', 'spip_jobs') . ')'); |
|
| 156 | + sql_delete('spip_jobs_liens', 'id_job NOT IN ('.sql_get_select('id_job', 'spip_jobs').')'); |
|
| 158 | 157 | include_spip('inc/genie'); |
| 159 | 158 | genie_queue_watch_dist(); |
| 160 | 159 | } |
@@ -170,8 +169,8 @@ discard block |
||
| 170 | 169 | include_spip('base/abstract_sql'); |
| 171 | 170 | |
| 172 | 171 | if ( |
| 173 | - ($row = sql_fetsel('fonction,inclure,date', 'spip_jobs', 'id_job=' . intval($id_job))) |
|
| 174 | - && ($res = sql_delete('spip_jobs', 'id_job=' . intval($id_job))) |
|
| 172 | + ($row = sql_fetsel('fonction,inclure,date', 'spip_jobs', 'id_job='.intval($id_job))) |
|
| 173 | + && ($res = sql_delete('spip_jobs', 'id_job='.intval($id_job))) |
|
| 175 | 174 | ) { |
| 176 | 175 | queue_unlink_job($id_job); |
| 177 | 176 | // est-ce une tache cron qu'il faut relancer ? |
@@ -221,7 +220,7 @@ discard block |
||
| 221 | 220 | * resultat du sql_delete |
| 222 | 221 | */ |
| 223 | 222 | function queue_unlink_job($id_job) { |
| 224 | - return sql_delete('spip_jobs_liens', 'id_job=' . intval($id_job)); |
|
| 223 | + return sql_delete('spip_jobs_liens', 'id_job='.intval($id_job)); |
|
| 225 | 224 | } |
| 226 | 225 | |
| 227 | 226 | /** |
@@ -237,7 +236,7 @@ discard block |
||
| 237 | 236 | // deserialiser les arguments |
| 238 | 237 | $args = unserialize($row['args']); |
| 239 | 238 | if (!is_array($args)) { |
| 240 | - spip_log('arguments job errones ' . var_export($row, true), 'queue'); |
|
| 239 | + spip_log('arguments job errones '.var_export($row, true), 'queue'); |
|
| 241 | 240 | return false; |
| 242 | 241 | } |
| 243 | 242 | |
@@ -254,14 +253,14 @@ discard block |
||
| 254 | 253 | } |
| 255 | 254 | |
| 256 | 255 | if (!function_exists($fonction)) { |
| 257 | - spip_log("fonction $fonction ($inclure) inexistante " . var_export($row, true), 'queue'); |
|
| 256 | + spip_log("fonction $fonction ($inclure) inexistante ".var_export($row, true), 'queue'); |
|
| 258 | 257 | |
| 259 | 258 | return false; |
| 260 | 259 | } |
| 261 | 260 | |
| 262 | - spip_log('queue [' . $row['id_job'] . "]: $fonction() start", 'queue'); |
|
| 261 | + spip_log('queue ['.$row['id_job']."]: $fonction() start", 'queue'); |
|
| 263 | 262 | $res = $fonction(...$args); |
| 264 | - spip_log('queue [' . $row['id_job'] . "]: $fonction() end", 'queue'); |
|
| 263 | + spip_log('queue ['.$row['id_job']."]: $fonction() end", 'queue'); |
|
| 265 | 264 | |
| 266 | 265 | return $res; |
| 267 | 266 | } |
@@ -292,14 +291,14 @@ discard block |
||
| 292 | 291 | function queue_schedule($force_jobs = null) { |
| 293 | 292 | $time = time(); |
| 294 | 293 | if (defined('_DEBUG_BLOCK_QUEUE')) { |
| 295 | - spip_log('_DEBUG_BLOCK_QUEUE : schedule stop', 'jq' . _LOG_DEBUG); |
|
| 294 | + spip_log('_DEBUG_BLOCK_QUEUE : schedule stop', 'jq'._LOG_DEBUG); |
|
| 296 | 295 | |
| 297 | 296 | return; |
| 298 | 297 | } |
| 299 | 298 | |
| 300 | 299 | // rien a faire si le prochain job est encore dans le futur |
| 301 | 300 | if (queue_sleep_time_to_next_job() > 0 && (!$force_jobs || !count($force_jobs))) { |
| 302 | - spip_log('queue_sleep_time_to_next_job', 'jq' . _LOG_DEBUG); |
|
| 301 | + spip_log('queue_sleep_time_to_next_job', 'jq'._LOG_DEBUG); |
|
| 303 | 302 | |
| 304 | 303 | return; |
| 305 | 304 | } |
@@ -320,7 +319,7 @@ discard block |
||
| 320 | 319 | } |
| 321 | 320 | $end_time = $time + _JQ_MAX_JOBS_TIME_TO_EXECUTE; |
| 322 | 321 | |
| 323 | - spip_log("JQ schedule $time / $end_time", 'jq' . _LOG_DEBUG); |
|
| 322 | + spip_log("JQ schedule $time / $end_time", 'jq'._LOG_DEBUG); |
|
| 324 | 323 | |
| 325 | 324 | if (!defined('_JQ_MAX_JOBS_EXECUTE')) { |
| 326 | 325 | define('_JQ_MAX_JOBS_EXECUTE', 200); |
@@ -334,19 +333,19 @@ discard block |
||
| 334 | 333 | // lorsqu'un job cron n'a pas fini, sa priorite est descendue |
| 335 | 334 | // pour qu'il ne bloque pas les autres jobs en attente |
| 336 | 335 | if (is_array($force_jobs) && count($force_jobs)) { |
| 337 | - $cond = 'status=' . intval(_JQ_SCHEDULED) . ' AND ' . sql_in('id_job', $force_jobs); |
|
| 336 | + $cond = 'status='.intval(_JQ_SCHEDULED).' AND '.sql_in('id_job', $force_jobs); |
|
| 338 | 337 | } else { |
| 339 | 338 | $now = date('Y-m-d H:i:s', $time); |
| 340 | - $cond = 'status=' . intval(_JQ_SCHEDULED) . ' AND date<=' . sql_quote($now); |
|
| 339 | + $cond = 'status='.intval(_JQ_SCHEDULED).' AND date<='.sql_quote($now); |
|
| 341 | 340 | } |
| 342 | 341 | |
| 343 | 342 | register_shutdown_function('queue_error_handler'); // recuperer les erreurs auant que possible |
| 344 | - $res = sql_allfetsel('*', 'spip_jobs', $cond, '', 'priorite DESC,date', '0,' . (_JQ_MAX_JOBS_EXECUTE + 1)); |
|
| 343 | + $res = sql_allfetsel('*', 'spip_jobs', $cond, '', 'priorite DESC,date', '0,'.(_JQ_MAX_JOBS_EXECUTE + 1)); |
|
| 345 | 344 | do { |
| 346 | 345 | if ($row = array_shift($res)) { |
| 347 | 346 | $nbj++; |
| 348 | 347 | // il faut un verrou, a base de sql_delete |
| 349 | - if (sql_delete('spip_jobs', 'id_job=' . intval($row['id_job']) . ' AND status=' . intval(_JQ_SCHEDULED))) { |
|
| 348 | + if (sql_delete('spip_jobs', 'id_job='.intval($row['id_job']).' AND status='.intval(_JQ_SCHEDULED))) { |
|
| 350 | 349 | #spip_log("JQ schedule job ".$nbj." OK",'jq'); |
| 351 | 350 | // on reinsert dans la base aussitot avec un status=_JQ_PENDING |
| 352 | 351 | $row['status'] = _JQ_PENDING; |
@@ -361,13 +360,13 @@ discard block |
||
| 361 | 360 | queue_close_job($row, $time, $result); |
| 362 | 361 | } |
| 363 | 362 | } |
| 364 | - spip_log('JQ schedule job end time ' . $time, 'jq' . _LOG_DEBUG); |
|
| 363 | + spip_log('JQ schedule job end time '.$time, 'jq'._LOG_DEBUG); |
|
| 365 | 364 | } while ($nbj < _JQ_MAX_JOBS_EXECUTE && $row && $time < $end_time); |
| 366 | - spip_log('JQ schedule end time ' . time(), 'jq' . _LOG_DEBUG); |
|
| 365 | + spip_log('JQ schedule end time '.time(), 'jq'._LOG_DEBUG); |
|
| 367 | 366 | |
| 368 | 367 | if ($row = array_shift($res)) { |
| 369 | 368 | queue_update_next_job_time(0); // on sait qu'il y a encore des jobs a lancer ASAP |
| 370 | - spip_log('JQ encore !', 'jq' . _LOG_DEBUG); |
|
| 369 | + spip_log('JQ encore !', 'jq'._LOG_DEBUG); |
|
| 371 | 370 | } else { |
| 372 | 371 | queue_update_next_job_time(); |
| 373 | 372 | } |
@@ -402,9 +401,9 @@ discard block |
||
| 402 | 401 | } |
| 403 | 402 | } |
| 404 | 403 | // purger ses liens eventuels avec des objets |
| 405 | - sql_delete('spip_jobs_liens', 'id_job=' . intval($row['id_job'])); |
|
| 404 | + sql_delete('spip_jobs_liens', 'id_job='.intval($row['id_job'])); |
|
| 406 | 405 | // supprimer le job fini |
| 407 | - sql_delete('spip_jobs', 'id_job=' . intval($row['id_job'])); |
|
| 406 | + sql_delete('spip_jobs', 'id_job='.intval($row['id_job'])); |
|
| 408 | 407 | } |
| 409 | 408 | |
| 410 | 409 | /** |
@@ -477,18 +476,18 @@ discard block |
||
| 477 | 476 | $res = sql_allfetsel( |
| 478 | 477 | '*', |
| 479 | 478 | 'spip_jobs', |
| 480 | - 'status=' . intval(_JQ_PENDING) . ' AND date<' . sql_quote(date('Y-m-d H:i:s', $time - 180)) |
|
| 479 | + 'status='.intval(_JQ_PENDING).' AND date<'.sql_quote(date('Y-m-d H:i:s', $time - 180)) |
|
| 481 | 480 | ); |
| 482 | 481 | if (is_array($res)) { |
| 483 | 482 | foreach ($res as $row) { |
| 484 | 483 | queue_close_job($row, $time); |
| 485 | - spip_log('queue_close_job car _JQ_PENDING depuis +180s : ' . print_r($row, true), 'job_mort' . _LOG_ERREUR); |
|
| 484 | + spip_log('queue_close_job car _JQ_PENDING depuis +180s : '.print_r($row, true), 'job_mort'._LOG_ERREUR); |
|
| 486 | 485 | } |
| 487 | 486 | } |
| 488 | 487 | |
| 489 | 488 | // chercher la date du prochain job si pas connu |
| 490 | 489 | if (is_null($next) || is_null(queue_sleep_time_to_next_job())) { |
| 491 | - $date = sql_getfetsel('date', 'spip_jobs', 'status=' . intval(_JQ_SCHEDULED), '', 'date', '0,1'); |
|
| 490 | + $date = sql_getfetsel('date', 'spip_jobs', 'status='.intval(_JQ_SCHEDULED), '', 'date', '0,1'); |
|
| 492 | 491 | $next = strtotime($date); |
| 493 | 492 | } |
| 494 | 493 | if (!is_null($next_time)) { |
@@ -501,7 +500,7 @@ discard block |
||
| 501 | 500 | if (is_null($nb_jobs_scheduled)) { |
| 502 | 501 | $nb_jobs_scheduled = sql_countsel( |
| 503 | 502 | 'spip_jobs', |
| 504 | - 'status=' . intval(_JQ_SCHEDULED) . ' AND date<' . sql_quote(date('Y-m-d H:i:s', $time)) |
|
| 503 | + 'status='.intval(_JQ_SCHEDULED).' AND date<'.sql_quote(date('Y-m-d H:i:s', $time)) |
|
| 505 | 504 | ); |
| 506 | 505 | } elseif ($next <= $time) { |
| 507 | 506 | $nb_jobs_scheduled++; |
@@ -570,7 +569,7 @@ discard block |
||
| 570 | 569 | } |
| 571 | 570 | |
| 572 | 571 | // ne pas relancer si on vient de lancer dans la meme seconde par un hit concurent |
| 573 | - if (file_exists($lock = _DIR_TMP . 'cron.lock') && !(@filemtime($lock) < $_SERVER['REQUEST_TIME'])) { |
|
| 572 | + if (file_exists($lock = _DIR_TMP.'cron.lock') && !(@filemtime($lock) < $_SERVER['REQUEST_TIME'])) { |
|
| 574 | 573 | return $texte; |
| 575 | 574 | } |
| 576 | 575 | |
@@ -642,7 +641,7 @@ discard block |
||
| 642 | 641 | $port = 80; |
| 643 | 642 | } |
| 644 | 643 | $fp = @fsockopen( |
| 645 | - $scheme . $parts['host'], |
|
| 644 | + $scheme.$parts['host'], |
|
| 646 | 645 | $parts['port'] ?? $port, |
| 647 | 646 | $errno, |
| 648 | 647 | $errstr, |
@@ -652,13 +651,13 @@ discard block |
||
| 652 | 651 | if ($fp) { |
| 653 | 652 | $host_sent = $parts['host']; |
| 654 | 653 | if (isset($parts['port']) && $parts['port'] !== $port) { |
| 655 | - $host_sent .= ':' . $parts['port']; |
|
| 654 | + $host_sent .= ':'.$parts['port']; |
|
| 656 | 655 | } |
| 657 | 656 | $timeout = 200; // ms |
| 658 | 657 | stream_set_timeout($fp, 0, $timeout * 1000); |
| 659 | - $query = $parts['path'] . ($parts['query'] ? '?' . $parts['query'] : ''); |
|
| 660 | - $out = 'GET ' . $query . " HTTP/1.1\r\n"; |
|
| 661 | - $out .= 'Host: ' . $host_sent . "\r\n"; |
|
| 658 | + $query = $parts['path'].($parts['query'] ? '?'.$parts['query'] : ''); |
|
| 659 | + $out = 'GET '.$query." HTTP/1.1\r\n"; |
|
| 660 | + $out .= 'Host: '.$host_sent."\r\n"; |
|
| 662 | 661 | $out .= "Connection: Close\r\n\r\n"; |
| 663 | 662 | fwrite($fp, $out); |
| 664 | 663 | spip_timer('read'); |
@@ -16,12 +16,12 @@ discard block |
||
| 16 | 16 | **/ |
| 17 | 17 | |
| 18 | 18 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 19 | - return; |
|
| 19 | + return; |
|
| 20 | 20 | } |
| 21 | 21 | |
| 22 | 22 | /** l'adresse du repertoire de telechargement et de decompactage des plugins */ |
| 23 | 23 | if (!defined('_DIR_PLUGINS_AUTO')) { |
| 24 | - define('_DIR_PLUGINS_AUTO', _DIR_PLUGINS . 'auto/'); |
|
| 24 | + define('_DIR_PLUGINS_AUTO', _DIR_PLUGINS . 'auto/'); |
|
| 25 | 25 | } |
| 26 | 26 | |
| 27 | 27 | #include_spip('inc/texte'); // ????? Appelle public/parametrer trop tot avant la reconstruction du chemin des plugins. |
@@ -46,27 +46,27 @@ discard block |
||
| 46 | 46 | * @return array |
| 47 | 47 | **/ |
| 48 | 48 | function liste_plugin_files($dir_plugins = null) { |
| 49 | - static $plugin_files = []; |
|
| 50 | - if (is_null($dir_plugins)) { |
|
| 51 | - $dir_plugins = _DIR_PLUGINS; |
|
| 52 | - } |
|
| 53 | - if ( |
|
| 54 | - !isset($plugin_files[$dir_plugins]) |
|
| 55 | - || (is_countable($plugin_files[$dir_plugins]) ? count($plugin_files[$dir_plugins]) : 0) == 0 |
|
| 56 | - ) { |
|
| 57 | - $plugin_files[$dir_plugins] = []; |
|
| 58 | - foreach (fast_find_plugin_dirs($dir_plugins) as $plugin) { |
|
| 59 | - $plugin_files[$dir_plugins][] = substr($plugin, strlen($dir_plugins)); |
|
| 60 | - } |
|
| 61 | - |
|
| 62 | - sort($plugin_files[$dir_plugins]); |
|
| 63 | - // et on lit le XML de tous les plugins pour le mettre en cache |
|
| 64 | - // et en profiter pour nettoyer ceux qui n'existent plus du cache |
|
| 65 | - $get_infos = charger_fonction('get_infos', 'plugins'); |
|
| 66 | - $get_infos($plugin_files[$dir_plugins], false, $dir_plugins, true); |
|
| 67 | - } |
|
| 68 | - |
|
| 69 | - return $plugin_files[$dir_plugins]; |
|
| 49 | + static $plugin_files = []; |
|
| 50 | + if (is_null($dir_plugins)) { |
|
| 51 | + $dir_plugins = _DIR_PLUGINS; |
|
| 52 | + } |
|
| 53 | + if ( |
|
| 54 | + !isset($plugin_files[$dir_plugins]) |
|
| 55 | + || (is_countable($plugin_files[$dir_plugins]) ? count($plugin_files[$dir_plugins]) : 0) == 0 |
|
| 56 | + ) { |
|
| 57 | + $plugin_files[$dir_plugins] = []; |
|
| 58 | + foreach (fast_find_plugin_dirs($dir_plugins) as $plugin) { |
|
| 59 | + $plugin_files[$dir_plugins][] = substr($plugin, strlen($dir_plugins)); |
|
| 60 | + } |
|
| 61 | + |
|
| 62 | + sort($plugin_files[$dir_plugins]); |
|
| 63 | + // et on lit le XML de tous les plugins pour le mettre en cache |
|
| 64 | + // et en profiter pour nettoyer ceux qui n'existent plus du cache |
|
| 65 | + $get_infos = charger_fonction('get_infos', 'plugins'); |
|
| 66 | + $get_infos($plugin_files[$dir_plugins], false, $dir_plugins, true); |
|
| 67 | + } |
|
| 68 | + |
|
| 69 | + return $plugin_files[$dir_plugins]; |
|
| 70 | 70 | } |
| 71 | 71 | |
| 72 | 72 | /** |
@@ -82,44 +82,44 @@ discard block |
||
| 82 | 82 | * Liste complète des répeertoires |
| 83 | 83 | **/ |
| 84 | 84 | function fast_find_plugin_dirs($dir, $max_prof = 100) { |
| 85 | - $fichiers = []; |
|
| 86 | - // revenir au repertoire racine si on a recu dossier/truc |
|
| 87 | - // pour regarder dossier/truc/ ne pas oublier le / final |
|
| 88 | - $dir = preg_replace(',/[^/]*$,', '', $dir); |
|
| 89 | - if ($dir == '') { |
|
| 90 | - $dir = '.'; |
|
| 91 | - } |
|
| 92 | - |
|
| 93 | - if (!is_dir($dir)) { |
|
| 94 | - return $fichiers; |
|
| 95 | - } |
|
| 96 | - if (is_plugin_dir($dir, '')) { |
|
| 97 | - $fichiers[] = $dir; |
|
| 98 | - |
|
| 99 | - return $fichiers; |
|
| 100 | - } |
|
| 101 | - if ($max_prof <= 0) { |
|
| 102 | - return $fichiers; |
|
| 103 | - } |
|
| 104 | - |
|
| 105 | - $subdirs = []; |
|
| 106 | - if (@is_dir($dir) && is_readable($dir) && ($d = opendir($dir))) { |
|
| 107 | - while (($f = readdir($d)) !== false) { |
|
| 108 | - if ( |
|
| 109 | - $f[0] != '.' |
|
| 110 | - && is_dir($f = "$dir/$f") |
|
| 111 | - ) { |
|
| 112 | - $subdirs[] = $f; |
|
| 113 | - } |
|
| 114 | - } |
|
| 115 | - closedir($d); |
|
| 116 | - } |
|
| 117 | - |
|
| 118 | - foreach ($subdirs as $d) { |
|
| 119 | - $fichiers = array_merge($fichiers, fast_find_plugin_dirs("$d/", $max_prof - 1)); |
|
| 120 | - } |
|
| 121 | - |
|
| 122 | - return $fichiers; |
|
| 85 | + $fichiers = []; |
|
| 86 | + // revenir au repertoire racine si on a recu dossier/truc |
|
| 87 | + // pour regarder dossier/truc/ ne pas oublier le / final |
|
| 88 | + $dir = preg_replace(',/[^/]*$,', '', $dir); |
|
| 89 | + if ($dir == '') { |
|
| 90 | + $dir = '.'; |
|
| 91 | + } |
|
| 92 | + |
|
| 93 | + if (!is_dir($dir)) { |
|
| 94 | + return $fichiers; |
|
| 95 | + } |
|
| 96 | + if (is_plugin_dir($dir, '')) { |
|
| 97 | + $fichiers[] = $dir; |
|
| 98 | + |
|
| 99 | + return $fichiers; |
|
| 100 | + } |
|
| 101 | + if ($max_prof <= 0) { |
|
| 102 | + return $fichiers; |
|
| 103 | + } |
|
| 104 | + |
|
| 105 | + $subdirs = []; |
|
| 106 | + if (@is_dir($dir) && is_readable($dir) && ($d = opendir($dir))) { |
|
| 107 | + while (($f = readdir($d)) !== false) { |
|
| 108 | + if ( |
|
| 109 | + $f[0] != '.' |
|
| 110 | + && is_dir($f = "$dir/$f") |
|
| 111 | + ) { |
|
| 112 | + $subdirs[] = $f; |
|
| 113 | + } |
|
| 114 | + } |
|
| 115 | + closedir($d); |
|
| 116 | + } |
|
| 117 | + |
|
| 118 | + foreach ($subdirs as $d) { |
|
| 119 | + $fichiers = array_merge($fichiers, fast_find_plugin_dirs("$d/", $max_prof - 1)); |
|
| 120 | + } |
|
| 121 | + |
|
| 122 | + return $fichiers; |
|
| 123 | 123 | } |
| 124 | 124 | |
| 125 | 125 | /** |
@@ -140,27 +140,27 @@ discard block |
||
| 140 | 140 | **/ |
| 141 | 141 | function is_plugin_dir($dir, $dir_plugins = null) { |
| 142 | 142 | |
| 143 | - if (is_array($dir)) { |
|
| 144 | - foreach ($dir as $k => $d) { |
|
| 145 | - if (!is_plugin_dir($d, $dir_plugins)) { |
|
| 146 | - unset($dir[$k]); |
|
| 147 | - } |
|
| 148 | - } |
|
| 149 | - |
|
| 150 | - return $dir; |
|
| 151 | - } |
|
| 152 | - if (is_null($dir_plugins)) { |
|
| 153 | - $dir_plugins = _DIR_PLUGINS; |
|
| 154 | - } |
|
| 155 | - $search = ["$dir_plugins$dir/paquet.xml"]; |
|
| 156 | - |
|
| 157 | - foreach ($search as $s) { |
|
| 158 | - if (file_exists($s)) { |
|
| 159 | - return $dir; |
|
| 160 | - } |
|
| 161 | - } |
|
| 162 | - |
|
| 163 | - return ''; |
|
| 143 | + if (is_array($dir)) { |
|
| 144 | + foreach ($dir as $k => $d) { |
|
| 145 | + if (!is_plugin_dir($d, $dir_plugins)) { |
|
| 146 | + unset($dir[$k]); |
|
| 147 | + } |
|
| 148 | + } |
|
| 149 | + |
|
| 150 | + return $dir; |
|
| 151 | + } |
|
| 152 | + if (is_null($dir_plugins)) { |
|
| 153 | + $dir_plugins = _DIR_PLUGINS; |
|
| 154 | + } |
|
| 155 | + $search = ["$dir_plugins$dir/paquet.xml"]; |
|
| 156 | + |
|
| 157 | + foreach ($search as $s) { |
|
| 158 | + if (file_exists($s)) { |
|
| 159 | + return $dir; |
|
| 160 | + } |
|
| 161 | + } |
|
| 162 | + |
|
| 163 | + return ''; |
|
| 164 | 164 | } |
| 165 | 165 | |
| 166 | 166 | /** Regexp d'extraction des informations d'un intervalle de compatibilité */ |
@@ -187,51 +187,51 @@ discard block |
||
| 187 | 187 | **/ |
| 188 | 188 | function plugin_version_compatible($intervalle, $version, $avec_quoi = '') { |
| 189 | 189 | |
| 190 | - if (!strlen($intervalle)) { |
|
| 191 | - return true; |
|
| 192 | - } |
|
| 193 | - if (!preg_match(_EXTRAIRE_INTERVALLE, $intervalle, $regs)) { |
|
| 194 | - return false; |
|
| 195 | - } |
|
| 196 | - // Extraction des bornes et traitement de * pour la borne sup : |
|
| 197 | - // -- on autorise uniquement les ecritures 3.0.*, 3.* |
|
| 198 | - $minimum = $regs[1]; |
|
| 199 | - $maximum = $regs[2]; |
|
| 200 | - |
|
| 201 | - // si une version SPIP de compatibilité a été définie (dans |
|
| 202 | - // mes_options.php, sous la forme : define('_DEV_VERSION_SPIP_COMPAT', '3.1.0'); |
|
| 203 | - // on l'utilise (phase de dev, de test...) mais *que* en cas de comparaison |
|
| 204 | - // avec la version de SPIP (ne nuit donc pas aux tests de necessite |
|
| 205 | - // entre plugins) |
|
| 206 | - if (defined('_DEV_VERSION_SPIP_COMPAT') && $avec_quoi == 'spip' && $version !== _DEV_VERSION_SPIP_COMPAT) { |
|
| 207 | - if (plugin_version_compatible($intervalle, _DEV_VERSION_SPIP_COMPAT, $avec_quoi)) { |
|
| 208 | - return true; |
|
| 209 | - } |
|
| 210 | - // si pas de compatibilite avec _DEV_VERSION_SPIP_COMPAT, on essaye quand meme avec la vrai version |
|
| 211 | - // cas du plugin qui n'est compatible qu'avec cette nouvelle version |
|
| 212 | - } |
|
| 213 | - |
|
| 214 | - $minimum_inc = $intervalle[0] == '['; |
|
| 215 | - $maximum_inc = str_ends_with($intervalle, ']'); |
|
| 216 | - |
|
| 217 | - if (strlen($minimum)) { |
|
| 218 | - if ($minimum_inc && spip_version_compare($version, $minimum, '<')) { |
|
| 219 | - return false; |
|
| 220 | - } |
|
| 221 | - if (!$minimum_inc && spip_version_compare($version, $minimum, '<=')) { |
|
| 222 | - return false; |
|
| 223 | - } |
|
| 224 | - } |
|
| 225 | - if (strlen($maximum)) { |
|
| 226 | - if ($maximum_inc && spip_version_compare($version, $maximum, '>')) { |
|
| 227 | - return false; |
|
| 228 | - } |
|
| 229 | - if (!$maximum_inc && spip_version_compare($version, $maximum, '>=')) { |
|
| 230 | - return false; |
|
| 231 | - } |
|
| 232 | - } |
|
| 233 | - |
|
| 234 | - return true; |
|
| 190 | + if (!strlen($intervalle)) { |
|
| 191 | + return true; |
|
| 192 | + } |
|
| 193 | + if (!preg_match(_EXTRAIRE_INTERVALLE, $intervalle, $regs)) { |
|
| 194 | + return false; |
|
| 195 | + } |
|
| 196 | + // Extraction des bornes et traitement de * pour la borne sup : |
|
| 197 | + // -- on autorise uniquement les ecritures 3.0.*, 3.* |
|
| 198 | + $minimum = $regs[1]; |
|
| 199 | + $maximum = $regs[2]; |
|
| 200 | + |
|
| 201 | + // si une version SPIP de compatibilité a été définie (dans |
|
| 202 | + // mes_options.php, sous la forme : define('_DEV_VERSION_SPIP_COMPAT', '3.1.0'); |
|
| 203 | + // on l'utilise (phase de dev, de test...) mais *que* en cas de comparaison |
|
| 204 | + // avec la version de SPIP (ne nuit donc pas aux tests de necessite |
|
| 205 | + // entre plugins) |
|
| 206 | + if (defined('_DEV_VERSION_SPIP_COMPAT') && $avec_quoi == 'spip' && $version !== _DEV_VERSION_SPIP_COMPAT) { |
|
| 207 | + if (plugin_version_compatible($intervalle, _DEV_VERSION_SPIP_COMPAT, $avec_quoi)) { |
|
| 208 | + return true; |
|
| 209 | + } |
|
| 210 | + // si pas de compatibilite avec _DEV_VERSION_SPIP_COMPAT, on essaye quand meme avec la vrai version |
|
| 211 | + // cas du plugin qui n'est compatible qu'avec cette nouvelle version |
|
| 212 | + } |
|
| 213 | + |
|
| 214 | + $minimum_inc = $intervalle[0] == '['; |
|
| 215 | + $maximum_inc = str_ends_with($intervalle, ']'); |
|
| 216 | + |
|
| 217 | + if (strlen($minimum)) { |
|
| 218 | + if ($minimum_inc && spip_version_compare($version, $minimum, '<')) { |
|
| 219 | + return false; |
|
| 220 | + } |
|
| 221 | + if (!$minimum_inc && spip_version_compare($version, $minimum, '<=')) { |
|
| 222 | + return false; |
|
| 223 | + } |
|
| 224 | + } |
|
| 225 | + if (strlen($maximum)) { |
|
| 226 | + if ($maximum_inc && spip_version_compare($version, $maximum, '>')) { |
|
| 227 | + return false; |
|
| 228 | + } |
|
| 229 | + if (!$maximum_inc && spip_version_compare($version, $maximum, '>=')) { |
|
| 230 | + return false; |
|
| 231 | + } |
|
| 232 | + } |
|
| 233 | + |
|
| 234 | + return true; |
|
| 235 | 235 | } |
| 236 | 236 | |
| 237 | 237 | /** |
@@ -248,62 +248,62 @@ discard block |
||
| 248 | 248 | * @return array |
| 249 | 249 | */ |
| 250 | 250 | function liste_plugin_valides($liste_plug, $force = false) { |
| 251 | - $liste_ext = liste_plugin_files(_DIR_PLUGINS_DIST); |
|
| 252 | - $get_infos = charger_fonction('get_infos', 'plugins'); |
|
| 253 | - $infos = [ |
|
| 254 | - // lister les extensions qui sont automatiquement actives |
|
| 255 | - '_DIR_PLUGINS_DIST' => $get_infos($liste_ext, $force, _DIR_PLUGINS_DIST), |
|
| 256 | - '_DIR_PLUGINS' => $get_infos($liste_plug, $force, _DIR_PLUGINS) |
|
| 257 | - ]; |
|
| 258 | - |
|
| 259 | - // creer une premiere liste non ordonnee mais qui ne retient |
|
| 260 | - // que les plugins valides, et dans leur derniere version en cas de doublon |
|
| 261 | - $infos['_DIR_RESTREINT'][''] = $get_infos('./', $force, _DIR_RESTREINT); |
|
| 262 | - $infos['_DIR_RESTREINT']['SPIP']['version'] = $GLOBALS['spip_version_branche']; |
|
| 263 | - $infos['_DIR_RESTREINT']['SPIP']['chemin'] = []; |
|
| 264 | - $liste_non_classee = [ |
|
| 265 | - 'SPIP' => [ |
|
| 266 | - 'nom' => 'SPIP', |
|
| 267 | - 'etat' => 'stable', |
|
| 268 | - 'version' => $GLOBALS['spip_version_branche'], |
|
| 269 | - 'dir_type' => '_DIR_RESTREINT', |
|
| 270 | - 'dir' => '', |
|
| 271 | - ] |
|
| 272 | - ]; |
|
| 273 | - |
|
| 274 | - $invalides = []; |
|
| 275 | - foreach ($liste_ext as $plug) { |
|
| 276 | - if (isset($infos['_DIR_PLUGINS_DIST'][$plug])) { |
|
| 277 | - plugin_valide_resume($liste_non_classee, $plug, $infos, '_DIR_PLUGINS_DIST'); |
|
| 278 | - } |
|
| 279 | - } |
|
| 280 | - foreach ($liste_plug as $plug) { |
|
| 281 | - if (isset($infos['_DIR_PLUGINS'][$plug])) { |
|
| 282 | - $r = plugin_valide_resume($liste_non_classee, $plug, $infos, '_DIR_PLUGINS'); |
|
| 283 | - if (is_array($r)) { |
|
| 284 | - $invalides = array_merge($invalides, $r); |
|
| 285 | - } |
|
| 286 | - } |
|
| 287 | - } |
|
| 288 | - |
|
| 289 | - if (defined('_DIR_PLUGINS_SUPPL') && _DIR_PLUGINS_SUPPL) { |
|
| 290 | - $infos['_DIR_PLUGINS_SUPPL'] = $get_infos($liste_plug, false, _DIR_PLUGINS_SUPPL); |
|
| 291 | - foreach ($liste_plug as $plug) { |
|
| 292 | - if (isset($infos['_DIR_PLUGINS_SUPPL'][$plug])) { |
|
| 293 | - $r = plugin_valide_resume($liste_non_classee, $plug, $infos, '_DIR_PLUGINS_SUPPL'); |
|
| 294 | - if (is_array($r)) { |
|
| 295 | - $invalides = array_merge($invalides, $r); |
|
| 296 | - } |
|
| 297 | - } |
|
| 298 | - } |
|
| 299 | - } |
|
| 300 | - |
|
| 301 | - plugin_fixer_procure($liste_non_classee, $infos); |
|
| 302 | - |
|
| 303 | - // les plugins qui sont dans $liste_non_classee ne sont pas invalides (on a trouve un autre version valide) |
|
| 304 | - $invalides = array_diff_key($invalides, $liste_non_classee); |
|
| 305 | - |
|
| 306 | - return [$infos, $liste_non_classee, $invalides]; |
|
| 251 | + $liste_ext = liste_plugin_files(_DIR_PLUGINS_DIST); |
|
| 252 | + $get_infos = charger_fonction('get_infos', 'plugins'); |
|
| 253 | + $infos = [ |
|
| 254 | + // lister les extensions qui sont automatiquement actives |
|
| 255 | + '_DIR_PLUGINS_DIST' => $get_infos($liste_ext, $force, _DIR_PLUGINS_DIST), |
|
| 256 | + '_DIR_PLUGINS' => $get_infos($liste_plug, $force, _DIR_PLUGINS) |
|
| 257 | + ]; |
|
| 258 | + |
|
| 259 | + // creer une premiere liste non ordonnee mais qui ne retient |
|
| 260 | + // que les plugins valides, et dans leur derniere version en cas de doublon |
|
| 261 | + $infos['_DIR_RESTREINT'][''] = $get_infos('./', $force, _DIR_RESTREINT); |
|
| 262 | + $infos['_DIR_RESTREINT']['SPIP']['version'] = $GLOBALS['spip_version_branche']; |
|
| 263 | + $infos['_DIR_RESTREINT']['SPIP']['chemin'] = []; |
|
| 264 | + $liste_non_classee = [ |
|
| 265 | + 'SPIP' => [ |
|
| 266 | + 'nom' => 'SPIP', |
|
| 267 | + 'etat' => 'stable', |
|
| 268 | + 'version' => $GLOBALS['spip_version_branche'], |
|
| 269 | + 'dir_type' => '_DIR_RESTREINT', |
|
| 270 | + 'dir' => '', |
|
| 271 | + ] |
|
| 272 | + ]; |
|
| 273 | + |
|
| 274 | + $invalides = []; |
|
| 275 | + foreach ($liste_ext as $plug) { |
|
| 276 | + if (isset($infos['_DIR_PLUGINS_DIST'][$plug])) { |
|
| 277 | + plugin_valide_resume($liste_non_classee, $plug, $infos, '_DIR_PLUGINS_DIST'); |
|
| 278 | + } |
|
| 279 | + } |
|
| 280 | + foreach ($liste_plug as $plug) { |
|
| 281 | + if (isset($infos['_DIR_PLUGINS'][$plug])) { |
|
| 282 | + $r = plugin_valide_resume($liste_non_classee, $plug, $infos, '_DIR_PLUGINS'); |
|
| 283 | + if (is_array($r)) { |
|
| 284 | + $invalides = array_merge($invalides, $r); |
|
| 285 | + } |
|
| 286 | + } |
|
| 287 | + } |
|
| 288 | + |
|
| 289 | + if (defined('_DIR_PLUGINS_SUPPL') && _DIR_PLUGINS_SUPPL) { |
|
| 290 | + $infos['_DIR_PLUGINS_SUPPL'] = $get_infos($liste_plug, false, _DIR_PLUGINS_SUPPL); |
|
| 291 | + foreach ($liste_plug as $plug) { |
|
| 292 | + if (isset($infos['_DIR_PLUGINS_SUPPL'][$plug])) { |
|
| 293 | + $r = plugin_valide_resume($liste_non_classee, $plug, $infos, '_DIR_PLUGINS_SUPPL'); |
|
| 294 | + if (is_array($r)) { |
|
| 295 | + $invalides = array_merge($invalides, $r); |
|
| 296 | + } |
|
| 297 | + } |
|
| 298 | + } |
|
| 299 | + } |
|
| 300 | + |
|
| 301 | + plugin_fixer_procure($liste_non_classee, $infos); |
|
| 302 | + |
|
| 303 | + // les plugins qui sont dans $liste_non_classee ne sont pas invalides (on a trouve un autre version valide) |
|
| 304 | + $invalides = array_diff_key($invalides, $liste_non_classee); |
|
| 305 | + |
|
| 306 | + return [$infos, $liste_non_classee, $invalides]; |
|
| 307 | 307 | } |
| 308 | 308 | |
| 309 | 309 | /** |
@@ -323,37 +323,37 @@ discard block |
||
| 323 | 323 | * array description short si on ne le retient pas (pour memorisation dans une table des erreurs) |
| 324 | 324 | */ |
| 325 | 325 | function plugin_valide_resume(&$liste, $plug, $infos, $dir_type) { |
| 326 | - $i = $infos[$dir_type][$plug]; |
|
| 327 | - // minimum syndical pour afficher si le xml avait des erreurs éventuelles |
|
| 328 | - $short_desc = [ |
|
| 329 | - 'dir' => $plug, |
|
| 330 | - 'dir_type' => $dir_type |
|
| 331 | - ]; |
|
| 332 | - if (empty($i['prefix'])) { |
|
| 333 | - // erreur xml ? mais sans connaissance du prefix, on retourne le chemin… |
|
| 334 | - $short_desc['erreur'] = $i['erreur'] ?? ['?']; |
|
| 335 | - return [$plug => $short_desc]; |
|
| 336 | - } |
|
| 337 | - |
|
| 338 | - $p = strtoupper($i['prefix']); |
|
| 339 | - $short_desc['nom'] = $i['nom']; |
|
| 340 | - $short_desc['etat'] = $i['etat']; |
|
| 341 | - $short_desc['version'] = $i['version']; |
|
| 342 | - |
|
| 343 | - if (isset($i['erreur']) && $i['erreur']) { |
|
| 344 | - $short_desc['erreur'] = $i['erreur']; |
|
| 345 | - return [$p => $short_desc]; |
|
| 346 | - } |
|
| 347 | - if (!plugin_version_compatible($i['compatibilite'], $GLOBALS['spip_version_branche'], 'spip')) { |
|
| 348 | - return [$p => $short_desc]; |
|
| 349 | - } |
|
| 350 | - if ( |
|
| 351 | - !isset($liste[$p]) || spip_version_compare($i['version'], $liste[$p]['version'], '>') |
|
| 352 | - ) { |
|
| 353 | - $liste[$p] = $short_desc; |
|
| 354 | - } |
|
| 355 | - // ok le plugin etait deja dans la liste ou on a choisi une version plus recente |
|
| 356 | - return $p; |
|
| 326 | + $i = $infos[$dir_type][$plug]; |
|
| 327 | + // minimum syndical pour afficher si le xml avait des erreurs éventuelles |
|
| 328 | + $short_desc = [ |
|
| 329 | + 'dir' => $plug, |
|
| 330 | + 'dir_type' => $dir_type |
|
| 331 | + ]; |
|
| 332 | + if (empty($i['prefix'])) { |
|
| 333 | + // erreur xml ? mais sans connaissance du prefix, on retourne le chemin… |
|
| 334 | + $short_desc['erreur'] = $i['erreur'] ?? ['?']; |
|
| 335 | + return [$plug => $short_desc]; |
|
| 336 | + } |
|
| 337 | + |
|
| 338 | + $p = strtoupper($i['prefix']); |
|
| 339 | + $short_desc['nom'] = $i['nom']; |
|
| 340 | + $short_desc['etat'] = $i['etat']; |
|
| 341 | + $short_desc['version'] = $i['version']; |
|
| 342 | + |
|
| 343 | + if (isset($i['erreur']) && $i['erreur']) { |
|
| 344 | + $short_desc['erreur'] = $i['erreur']; |
|
| 345 | + return [$p => $short_desc]; |
|
| 346 | + } |
|
| 347 | + if (!plugin_version_compatible($i['compatibilite'], $GLOBALS['spip_version_branche'], 'spip')) { |
|
| 348 | + return [$p => $short_desc]; |
|
| 349 | + } |
|
| 350 | + if ( |
|
| 351 | + !isset($liste[$p]) || spip_version_compare($i['version'], $liste[$p]['version'], '>') |
|
| 352 | + ) { |
|
| 353 | + $liste[$p] = $short_desc; |
|
| 354 | + } |
|
| 355 | + // ok le plugin etait deja dans la liste ou on a choisi une version plus recente |
|
| 356 | + return $p; |
|
| 357 | 357 | } |
| 358 | 358 | |
| 359 | 359 | /** |
@@ -369,47 +369,47 @@ discard block |
||
| 369 | 369 | * @param array $infos |
| 370 | 370 | */ |
| 371 | 371 | function plugin_fixer_procure(&$liste, &$infos) { |
| 372 | - foreach ($liste as $p => $resume) { |
|
| 373 | - $i = $infos[$resume['dir_type']][$resume['dir']]; |
|
| 374 | - if (isset($i['procure']) && $i['procure']) { |
|
| 375 | - foreach ($i['procure'] as $procure) { |
|
| 376 | - $p = strtoupper($procure['nom']); |
|
| 377 | - $dir = $resume['dir']; |
|
| 378 | - if ($dir) { |
|
| 379 | - $dir .= '/'; |
|
| 380 | - } |
|
| 381 | - $dir .= 'procure:' . $procure['nom']; |
|
| 382 | - |
|
| 383 | - $procure['etat'] = '?'; |
|
| 384 | - $procure['dir_type'] = $resume['dir_type']; |
|
| 385 | - $procure['dir'] = $dir; |
|
| 386 | - |
|
| 387 | - // si ce plugin n'est pas deja procure, ou dans une version plus ancienne |
|
| 388 | - // on ajoute cette version a la liste |
|
| 389 | - if ( |
|
| 390 | - !isset($liste[$p]) |
|
| 391 | - || spip_version_compare($procure['version'], $liste[$p]['version'], '>') |
|
| 392 | - ) { |
|
| 393 | - $liste[$p] = $procure; |
|
| 394 | - |
|
| 395 | - // on fournit une information minimale pour ne pas perturber la compilation |
|
| 396 | - $infos[$resume['dir_type']][$dir] = [ |
|
| 397 | - 'prefix' => $procure['nom'], |
|
| 398 | - 'nom' => $procure['nom'], |
|
| 399 | - 'etat' => $procure['etat'], |
|
| 400 | - 'version' => $procure['version'], |
|
| 401 | - 'chemin' => [], |
|
| 402 | - 'necessite' => [], |
|
| 403 | - 'utilise' => [], |
|
| 404 | - 'lib' => [], |
|
| 405 | - 'menu' => [], |
|
| 406 | - 'onglet' => [], |
|
| 407 | - 'procure' => [], |
|
| 408 | - ]; |
|
| 409 | - } |
|
| 410 | - } |
|
| 411 | - } |
|
| 412 | - } |
|
| 372 | + foreach ($liste as $p => $resume) { |
|
| 373 | + $i = $infos[$resume['dir_type']][$resume['dir']]; |
|
| 374 | + if (isset($i['procure']) && $i['procure']) { |
|
| 375 | + foreach ($i['procure'] as $procure) { |
|
| 376 | + $p = strtoupper($procure['nom']); |
|
| 377 | + $dir = $resume['dir']; |
|
| 378 | + if ($dir) { |
|
| 379 | + $dir .= '/'; |
|
| 380 | + } |
|
| 381 | + $dir .= 'procure:' . $procure['nom']; |
|
| 382 | + |
|
| 383 | + $procure['etat'] = '?'; |
|
| 384 | + $procure['dir_type'] = $resume['dir_type']; |
|
| 385 | + $procure['dir'] = $dir; |
|
| 386 | + |
|
| 387 | + // si ce plugin n'est pas deja procure, ou dans une version plus ancienne |
|
| 388 | + // on ajoute cette version a la liste |
|
| 389 | + if ( |
|
| 390 | + !isset($liste[$p]) |
|
| 391 | + || spip_version_compare($procure['version'], $liste[$p]['version'], '>') |
|
| 392 | + ) { |
|
| 393 | + $liste[$p] = $procure; |
|
| 394 | + |
|
| 395 | + // on fournit une information minimale pour ne pas perturber la compilation |
|
| 396 | + $infos[$resume['dir_type']][$dir] = [ |
|
| 397 | + 'prefix' => $procure['nom'], |
|
| 398 | + 'nom' => $procure['nom'], |
|
| 399 | + 'etat' => $procure['etat'], |
|
| 400 | + 'version' => $procure['version'], |
|
| 401 | + 'chemin' => [], |
|
| 402 | + 'necessite' => [], |
|
| 403 | + 'utilise' => [], |
|
| 404 | + 'lib' => [], |
|
| 405 | + 'menu' => [], |
|
| 406 | + 'onglet' => [], |
|
| 407 | + 'procure' => [], |
|
| 408 | + ]; |
|
| 409 | + } |
|
| 410 | + } |
|
| 411 | + } |
|
| 412 | + } |
|
| 413 | 413 | } |
| 414 | 414 | |
| 415 | 415 | /** |
@@ -423,17 +423,17 @@ discard block |
||
| 423 | 423 | * @return array |
| 424 | 424 | */ |
| 425 | 425 | function liste_chemin_plugin($liste, $dir_plugins = _DIR_PLUGINS) { |
| 426 | - foreach ($liste as $prefix => $infos) { |
|
| 427 | - if ( |
|
| 428 | - !$dir_plugins || defined($infos['dir_type']) && constant($infos['dir_type']) == $dir_plugins |
|
| 429 | - ) { |
|
| 430 | - $liste[$prefix] = $infos['dir']; |
|
| 431 | - } else { |
|
| 432 | - unset($liste[$prefix]); |
|
| 433 | - } |
|
| 434 | - } |
|
| 435 | - |
|
| 436 | - return $liste; |
|
| 426 | + foreach ($liste as $prefix => $infos) { |
|
| 427 | + if ( |
|
| 428 | + !$dir_plugins || defined($infos['dir_type']) && constant($infos['dir_type']) == $dir_plugins |
|
| 429 | + ) { |
|
| 430 | + $liste[$prefix] = $infos['dir']; |
|
| 431 | + } else { |
|
| 432 | + unset($liste[$prefix]); |
|
| 433 | + } |
|
| 434 | + } |
|
| 435 | + |
|
| 436 | + return $liste; |
|
| 437 | 437 | } |
| 438 | 438 | |
| 439 | 439 | /** |
@@ -448,9 +448,9 @@ discard block |
||
| 448 | 448 | * @return array |
| 449 | 449 | */ |
| 450 | 450 | function liste_chemin_plugin_actifs($dir_plugins = _DIR_PLUGINS) { |
| 451 | - include_spip('plugins/installer'); |
|
| 451 | + include_spip('plugins/installer'); |
|
| 452 | 452 | |
| 453 | - return liste_chemin_plugin(liste_plugin_actifs(), $dir_plugins); |
|
| 453 | + return liste_chemin_plugin(liste_plugin_actifs(), $dir_plugins); |
|
| 454 | 454 | } |
| 455 | 455 | |
| 456 | 456 | /** |
@@ -481,53 +481,53 @@ discard block |
||
| 481 | 481 | * qui n'ont pas satisfait leurs dépendances |
| 482 | 482 | **/ |
| 483 | 483 | function plugin_trier($infos, $liste_non_classee) { |
| 484 | - $toute_la_liste = $liste_non_classee; |
|
| 485 | - $liste = $ordre = []; |
|
| 486 | - $count = 0; |
|
| 487 | - |
|
| 488 | - while (($c = count($liste_non_classee)) && $c != $count) { // tant qu'il reste des plugins a classer, et qu'on ne stagne pas |
|
| 489 | - #echo "tour::";var_dump($liste_non_classee); |
|
| 490 | - $count = $c; |
|
| 491 | - foreach ($liste_non_classee as $p => $resume) { |
|
| 492 | - $plug = $resume['dir']; |
|
| 493 | - $dir_type = $resume['dir_type']; |
|
| 494 | - $info1 = $infos[$dir_type][$plug]; |
|
| 495 | - // si des plugins sont necessaires, |
|
| 496 | - // on ne peut inserer qu'apres eux |
|
| 497 | - foreach ($info1['necessite'] as $need) { |
|
| 498 | - $nom = strtoupper($need['nom']); |
|
| 499 | - $compat = $need['compatibilite'] ?? ''; |
|
| 500 | - if (!isset($liste[$nom]) || !plugin_version_compatible($compat, $liste[$nom]['version'])) { |
|
| 501 | - $info1 = false; |
|
| 502 | - break; |
|
| 503 | - } |
|
| 504 | - } |
|
| 505 | - if (!$info1) { |
|
| 506 | - continue; |
|
| 507 | - } |
|
| 508 | - // idem si des plugins sont utiles, |
|
| 509 | - // sauf si ils sont de toute facon absents de la liste |
|
| 510 | - foreach ($info1['utilise'] as $need) { |
|
| 511 | - $nom = strtoupper($need['nom']); |
|
| 512 | - $compat = $need['compatibilite'] ?? ''; |
|
| 513 | - if (isset($toute_la_liste[$nom])) { |
|
| 514 | - if ( |
|
| 515 | - !isset($liste[$nom]) || !plugin_version_compatible($compat, $liste[$nom]['version']) |
|
| 516 | - ) { |
|
| 517 | - $info1 = false; |
|
| 518 | - break; |
|
| 519 | - } |
|
| 520 | - } |
|
| 521 | - } |
|
| 522 | - if ($info1) { |
|
| 523 | - $ordre[$p] = $info1; |
|
| 524 | - $liste[$p] = $liste_non_classee[$p]; |
|
| 525 | - unset($liste_non_classee[$p]); |
|
| 526 | - } |
|
| 527 | - } |
|
| 528 | - } |
|
| 529 | - |
|
| 530 | - return [$liste, $ordre, $liste_non_classee]; |
|
| 484 | + $toute_la_liste = $liste_non_classee; |
|
| 485 | + $liste = $ordre = []; |
|
| 486 | + $count = 0; |
|
| 487 | + |
|
| 488 | + while (($c = count($liste_non_classee)) && $c != $count) { // tant qu'il reste des plugins a classer, et qu'on ne stagne pas |
|
| 489 | + #echo "tour::";var_dump($liste_non_classee); |
|
| 490 | + $count = $c; |
|
| 491 | + foreach ($liste_non_classee as $p => $resume) { |
|
| 492 | + $plug = $resume['dir']; |
|
| 493 | + $dir_type = $resume['dir_type']; |
|
| 494 | + $info1 = $infos[$dir_type][$plug]; |
|
| 495 | + // si des plugins sont necessaires, |
|
| 496 | + // on ne peut inserer qu'apres eux |
|
| 497 | + foreach ($info1['necessite'] as $need) { |
|
| 498 | + $nom = strtoupper($need['nom']); |
|
| 499 | + $compat = $need['compatibilite'] ?? ''; |
|
| 500 | + if (!isset($liste[$nom]) || !plugin_version_compatible($compat, $liste[$nom]['version'])) { |
|
| 501 | + $info1 = false; |
|
| 502 | + break; |
|
| 503 | + } |
|
| 504 | + } |
|
| 505 | + if (!$info1) { |
|
| 506 | + continue; |
|
| 507 | + } |
|
| 508 | + // idem si des plugins sont utiles, |
|
| 509 | + // sauf si ils sont de toute facon absents de la liste |
|
| 510 | + foreach ($info1['utilise'] as $need) { |
|
| 511 | + $nom = strtoupper($need['nom']); |
|
| 512 | + $compat = $need['compatibilite'] ?? ''; |
|
| 513 | + if (isset($toute_la_liste[$nom])) { |
|
| 514 | + if ( |
|
| 515 | + !isset($liste[$nom]) || !plugin_version_compatible($compat, $liste[$nom]['version']) |
|
| 516 | + ) { |
|
| 517 | + $info1 = false; |
|
| 518 | + break; |
|
| 519 | + } |
|
| 520 | + } |
|
| 521 | + } |
|
| 522 | + if ($info1) { |
|
| 523 | + $ordre[$p] = $info1; |
|
| 524 | + $liste[$p] = $liste_non_classee[$p]; |
|
| 525 | + unset($liste_non_classee[$p]); |
|
| 526 | + } |
|
| 527 | + } |
|
| 528 | + } |
|
| 529 | + |
|
| 530 | + return [$liste, $ordre, $liste_non_classee]; |
|
| 531 | 531 | } |
| 532 | 532 | |
| 533 | 533 | /** |
@@ -544,40 +544,40 @@ discard block |
||
| 544 | 544 | * Répertoire (plugins, plugins-dist, ...) => Couples (prefixes => infos completes) des plugins qu'ils contiennent |
| 545 | 545 | **/ |
| 546 | 546 | function plugins_erreurs($liste_non_classee, $liste, $infos, $msg = []) { |
| 547 | - static $erreurs = []; |
|
| 548 | - |
|
| 549 | - if (!is_array($liste)) { |
|
| 550 | - $liste = []; |
|
| 551 | - } |
|
| 552 | - |
|
| 553 | - // les plugins en erreur ne sont pas actifs ; ils ne doivent pas être dans la liste |
|
| 554 | - $liste = array_diff_key($liste, $liste_non_classee); |
|
| 555 | - |
|
| 556 | - foreach ($liste_non_classee as $p => $resume) { |
|
| 557 | - $dir_type = $resume['dir_type']; |
|
| 558 | - $plug = $resume['dir']; |
|
| 559 | - $k = $infos[$dir_type][$plug]; |
|
| 560 | - |
|
| 561 | - $plug = constant($dir_type) . $plug; |
|
| 562 | - if (!isset($msg[$p])) { |
|
| 563 | - if (isset($resume['erreur']) && $resume['erreur']) { |
|
| 564 | - $msg[$p] = [$resume['erreur']]; |
|
| 565 | - } |
|
| 566 | - elseif (!plugin_version_compatible($k['compatibilite'], $GLOBALS['spip_version_branche'], 'spip')) { |
|
| 567 | - $msg[$p] = [plugin_message_incompatibilite($k['compatibilite'], $GLOBALS['spip_version_branche'], 'SPIP', 'necessite')]; |
|
| 568 | - } |
|
| 569 | - elseif (!$msg[$p] = plugin_necessite($k['necessite'], $liste, 'necessite')) { |
|
| 570 | - $msg[$p] = plugin_necessite($k['utilise'], $liste, 'utilise'); |
|
| 571 | - } |
|
| 572 | - } else { |
|
| 573 | - foreach ($msg[$p] as $c => $l) { |
|
| 574 | - $msg[$p][$c] = plugin_controler_lib($l['nom'], $l['lien']); |
|
| 575 | - } |
|
| 576 | - } |
|
| 577 | - $erreurs[$plug] = $msg[$p]; |
|
| 578 | - } |
|
| 579 | - |
|
| 580 | - ecrire_meta('plugin_erreur_activation', serialize($erreurs)); |
|
| 547 | + static $erreurs = []; |
|
| 548 | + |
|
| 549 | + if (!is_array($liste)) { |
|
| 550 | + $liste = []; |
|
| 551 | + } |
|
| 552 | + |
|
| 553 | + // les plugins en erreur ne sont pas actifs ; ils ne doivent pas être dans la liste |
|
| 554 | + $liste = array_diff_key($liste, $liste_non_classee); |
|
| 555 | + |
|
| 556 | + foreach ($liste_non_classee as $p => $resume) { |
|
| 557 | + $dir_type = $resume['dir_type']; |
|
| 558 | + $plug = $resume['dir']; |
|
| 559 | + $k = $infos[$dir_type][$plug]; |
|
| 560 | + |
|
| 561 | + $plug = constant($dir_type) . $plug; |
|
| 562 | + if (!isset($msg[$p])) { |
|
| 563 | + if (isset($resume['erreur']) && $resume['erreur']) { |
|
| 564 | + $msg[$p] = [$resume['erreur']]; |
|
| 565 | + } |
|
| 566 | + elseif (!plugin_version_compatible($k['compatibilite'], $GLOBALS['spip_version_branche'], 'spip')) { |
|
| 567 | + $msg[$p] = [plugin_message_incompatibilite($k['compatibilite'], $GLOBALS['spip_version_branche'], 'SPIP', 'necessite')]; |
|
| 568 | + } |
|
| 569 | + elseif (!$msg[$p] = plugin_necessite($k['necessite'], $liste, 'necessite')) { |
|
| 570 | + $msg[$p] = plugin_necessite($k['utilise'], $liste, 'utilise'); |
|
| 571 | + } |
|
| 572 | + } else { |
|
| 573 | + foreach ($msg[$p] as $c => $l) { |
|
| 574 | + $msg[$p][$c] = plugin_controler_lib($l['nom'], $l['lien']); |
|
| 575 | + } |
|
| 576 | + } |
|
| 577 | + $erreurs[$plug] = $msg[$p]; |
|
| 578 | + } |
|
| 579 | + |
|
| 580 | + ecrire_meta('plugin_erreur_activation', serialize($erreurs)); |
|
| 581 | 581 | } |
| 582 | 582 | |
| 583 | 583 | /** |
@@ -592,25 +592,25 @@ discard block |
||
| 592 | 592 | * - Liste des erreurs ou code HTML des erreurs |
| 593 | 593 | **/ |
| 594 | 594 | function plugin_donne_erreurs($raw = false, $raz = true) { |
| 595 | - if (!isset($GLOBALS['meta']['plugin_erreur_activation'])) { |
|
| 596 | - return $raw ? [] : ''; |
|
| 597 | - } |
|
| 598 | - $list = @unserialize($GLOBALS['meta']['plugin_erreur_activation']); |
|
| 599 | - // Compat ancienne version |
|
| 600 | - if (!$list) { |
|
| 601 | - $list = $raw ? [] : $GLOBALS['meta']['plugin_erreur_activation']; |
|
| 602 | - } elseif (!$raw) { |
|
| 603 | - foreach ($list as $plug => $msg) { |
|
| 604 | - $list[$plug] = '<li>' . _T('plugin_impossible_activer', ['plugin' => $plug]) |
|
| 605 | - . '<ul><li>' . implode('</li><li>', $msg) . '</li></ul></li>'; |
|
| 606 | - } |
|
| 607 | - $list = '<ul>' . join("\n", $list) . '</ul>'; |
|
| 608 | - } |
|
| 609 | - if ($raz) { |
|
| 610 | - effacer_meta('plugin_erreur_activation'); |
|
| 611 | - } |
|
| 612 | - |
|
| 613 | - return $list; |
|
| 595 | + if (!isset($GLOBALS['meta']['plugin_erreur_activation'])) { |
|
| 596 | + return $raw ? [] : ''; |
|
| 597 | + } |
|
| 598 | + $list = @unserialize($GLOBALS['meta']['plugin_erreur_activation']); |
|
| 599 | + // Compat ancienne version |
|
| 600 | + if (!$list) { |
|
| 601 | + $list = $raw ? [] : $GLOBALS['meta']['plugin_erreur_activation']; |
|
| 602 | + } elseif (!$raw) { |
|
| 603 | + foreach ($list as $plug => $msg) { |
|
| 604 | + $list[$plug] = '<li>' . _T('plugin_impossible_activer', ['plugin' => $plug]) |
|
| 605 | + . '<ul><li>' . implode('</li><li>', $msg) . '</li></ul></li>'; |
|
| 606 | + } |
|
| 607 | + $list = '<ul>' . join("\n", $list) . '</ul>'; |
|
| 608 | + } |
|
| 609 | + if ($raz) { |
|
| 610 | + effacer_meta('plugin_erreur_activation'); |
|
| 611 | + } |
|
| 612 | + |
|
| 613 | + return $list; |
|
| 614 | 614 | } |
| 615 | 615 | |
| 616 | 616 | /** |
@@ -630,21 +630,21 @@ discard block |
||
| 630 | 630 | * |
| 631 | 631 | **/ |
| 632 | 632 | function plugin_necessite($n, $liste, $balise = 'necessite') { |
| 633 | - $msg = []; |
|
| 634 | - foreach ($n as $need) { |
|
| 635 | - $id = strtoupper($need['nom']); |
|
| 636 | - $r = plugin_controler_necessite( |
|
| 637 | - $liste, |
|
| 638 | - $id, |
|
| 639 | - $need['compatibilite'] ?? '', |
|
| 640 | - $balise |
|
| 641 | - ); |
|
| 642 | - if ($r) { |
|
| 643 | - $msg[] = $r; |
|
| 644 | - } |
|
| 645 | - } |
|
| 646 | - |
|
| 647 | - return $msg; |
|
| 633 | + $msg = []; |
|
| 634 | + foreach ($n as $need) { |
|
| 635 | + $id = strtoupper($need['nom']); |
|
| 636 | + $r = plugin_controler_necessite( |
|
| 637 | + $liste, |
|
| 638 | + $id, |
|
| 639 | + $need['compatibilite'] ?? '', |
|
| 640 | + $balise |
|
| 641 | + ); |
|
| 642 | + if ($r) { |
|
| 643 | + $msg[] = $r; |
|
| 644 | + } |
|
| 645 | + } |
|
| 646 | + |
|
| 647 | + return $msg; |
|
| 648 | 648 | } |
| 649 | 649 | |
| 650 | 650 | /** |
@@ -666,19 +666,19 @@ discard block |
||
| 666 | 666 | * Message d'erreur lorsque la dépendance est absente. |
| 667 | 667 | **/ |
| 668 | 668 | function plugin_controler_necessite($liste, $nom, $intervalle, $balise) { |
| 669 | - if (isset($liste[$nom]) && plugin_version_compatible($intervalle, $liste[$nom]['version'])) { |
|
| 670 | - return ''; |
|
| 671 | - } |
|
| 672 | - // Si l'on a un <utilise="plugin non actif" />, ne pas renvoyer d'erreur |
|
| 673 | - if ($balise === 'utilise' && !isset($liste[$nom])) { |
|
| 674 | - return ''; |
|
| 675 | - } |
|
| 676 | - return plugin_message_incompatibilite( |
|
| 677 | - $intervalle, |
|
| 678 | - (isset($liste[$nom]) ? $liste[$nom]['version'] : ''), |
|
| 679 | - $nom, |
|
| 680 | - $balise |
|
| 681 | - ); |
|
| 669 | + if (isset($liste[$nom]) && plugin_version_compatible($intervalle, $liste[$nom]['version'])) { |
|
| 670 | + return ''; |
|
| 671 | + } |
|
| 672 | + // Si l'on a un <utilise="plugin non actif" />, ne pas renvoyer d'erreur |
|
| 673 | + if ($balise === 'utilise' && !isset($liste[$nom])) { |
|
| 674 | + return ''; |
|
| 675 | + } |
|
| 676 | + return plugin_message_incompatibilite( |
|
| 677 | + $intervalle, |
|
| 678 | + (isset($liste[$nom]) ? $liste[$nom]['version'] : ''), |
|
| 679 | + $nom, |
|
| 680 | + $balise |
|
| 681 | + ); |
|
| 682 | 682 | } |
| 683 | 683 | |
| 684 | 684 | /** |
@@ -695,70 +695,70 @@ discard block |
||
| 695 | 695 | */ |
| 696 | 696 | function plugin_message_incompatibilite($intervalle, $version, $nom, $balise) { |
| 697 | 697 | |
| 698 | - // prendre en compte les erreurs de dépendances à PHP |
|
| 699 | - // ou à une extension PHP avec des messages d'erreurs dédiés. |
|
| 700 | - $type = 'plugin'; |
|
| 701 | - if ($nom === 'SPIP') { |
|
| 702 | - $type = 'spip'; |
|
| 703 | - } elseif ($nom === 'PHP') { |
|
| 704 | - $type = 'php'; |
|
| 705 | - } elseif (str_starts_with($nom, 'PHP:')) { |
|
| 706 | - $type = 'extension_php'; |
|
| 707 | - [, $nom] = explode(':', $nom, 2); |
|
| 708 | - } |
|
| 709 | - |
|
| 710 | - if (preg_match(_EXTRAIRE_INTERVALLE, $intervalle, $regs)) { |
|
| 711 | - $minimum = $regs[1]; |
|
| 712 | - $maximum = $regs[2]; |
|
| 713 | - |
|
| 714 | - $minimum_inclus = $intervalle[0] == '['; |
|
| 715 | - $maximum_inclus = str_ends_with($intervalle, ']'); |
|
| 716 | - |
|
| 717 | - if (strlen($minimum)) { |
|
| 718 | - if ($minimum_inclus && spip_version_compare($version, $minimum, '<')) { |
|
| 719 | - return _T("plugin_{$balise}_{$type}", [ |
|
| 720 | - 'plugin' => $nom, |
|
| 721 | - 'version' => ' ≥ ' . $minimum |
|
| 722 | - ]); |
|
| 723 | - } |
|
| 724 | - if (!$minimum_inclus && spip_version_compare($version, $minimum, '<=')) { |
|
| 725 | - return _T("plugin_{$balise}_{$type}", [ |
|
| 726 | - 'plugin' => $nom, |
|
| 727 | - 'version' => ' > ' . $minimum |
|
| 728 | - ]); |
|
| 729 | - } |
|
| 730 | - } |
|
| 731 | - |
|
| 732 | - if (strlen($maximum)) { |
|
| 733 | - if ($maximum_inclus && spip_version_compare($version, $maximum, '>')) { |
|
| 734 | - return _T("plugin_{$balise}_{$type}", [ |
|
| 735 | - 'plugin' => $nom, |
|
| 736 | - 'version' => ' ≤ ' . $maximum |
|
| 737 | - ]); |
|
| 738 | - } |
|
| 739 | - if (!$maximum_inclus && spip_version_compare($version, $maximum, '>=')) { |
|
| 740 | - return _T("plugin_{$balise}_plugin", [ |
|
| 741 | - 'plugin' => $nom, |
|
| 742 | - 'version' => ' < ' . $maximum |
|
| 743 | - ]); |
|
| 744 | - } |
|
| 745 | - } |
|
| 746 | - } |
|
| 747 | - |
|
| 748 | - // note : il ne peut pas y avoir d'erreur sur |
|
| 749 | - // - un 'utilise' sans version. |
|
| 750 | - // - un 'php' sans version. |
|
| 751 | - return _T("plugin_necessite_{$type}_sans_version", ['plugin' => $nom]); |
|
| 698 | + // prendre en compte les erreurs de dépendances à PHP |
|
| 699 | + // ou à une extension PHP avec des messages d'erreurs dédiés. |
|
| 700 | + $type = 'plugin'; |
|
| 701 | + if ($nom === 'SPIP') { |
|
| 702 | + $type = 'spip'; |
|
| 703 | + } elseif ($nom === 'PHP') { |
|
| 704 | + $type = 'php'; |
|
| 705 | + } elseif (str_starts_with($nom, 'PHP:')) { |
|
| 706 | + $type = 'extension_php'; |
|
| 707 | + [, $nom] = explode(':', $nom, 2); |
|
| 708 | + } |
|
| 709 | + |
|
| 710 | + if (preg_match(_EXTRAIRE_INTERVALLE, $intervalle, $regs)) { |
|
| 711 | + $minimum = $regs[1]; |
|
| 712 | + $maximum = $regs[2]; |
|
| 713 | + |
|
| 714 | + $minimum_inclus = $intervalle[0] == '['; |
|
| 715 | + $maximum_inclus = str_ends_with($intervalle, ']'); |
|
| 716 | + |
|
| 717 | + if (strlen($minimum)) { |
|
| 718 | + if ($minimum_inclus && spip_version_compare($version, $minimum, '<')) { |
|
| 719 | + return _T("plugin_{$balise}_{$type}", [ |
|
| 720 | + 'plugin' => $nom, |
|
| 721 | + 'version' => ' ≥ ' . $minimum |
|
| 722 | + ]); |
|
| 723 | + } |
|
| 724 | + if (!$minimum_inclus && spip_version_compare($version, $minimum, '<=')) { |
|
| 725 | + return _T("plugin_{$balise}_{$type}", [ |
|
| 726 | + 'plugin' => $nom, |
|
| 727 | + 'version' => ' > ' . $minimum |
|
| 728 | + ]); |
|
| 729 | + } |
|
| 730 | + } |
|
| 731 | + |
|
| 732 | + if (strlen($maximum)) { |
|
| 733 | + if ($maximum_inclus && spip_version_compare($version, $maximum, '>')) { |
|
| 734 | + return _T("plugin_{$balise}_{$type}", [ |
|
| 735 | + 'plugin' => $nom, |
|
| 736 | + 'version' => ' ≤ ' . $maximum |
|
| 737 | + ]); |
|
| 738 | + } |
|
| 739 | + if (!$maximum_inclus && spip_version_compare($version, $maximum, '>=')) { |
|
| 740 | + return _T("plugin_{$balise}_plugin", [ |
|
| 741 | + 'plugin' => $nom, |
|
| 742 | + 'version' => ' < ' . $maximum |
|
| 743 | + ]); |
|
| 744 | + } |
|
| 745 | + } |
|
| 746 | + } |
|
| 747 | + |
|
| 748 | + // note : il ne peut pas y avoir d'erreur sur |
|
| 749 | + // - un 'utilise' sans version. |
|
| 750 | + // - un 'php' sans version. |
|
| 751 | + return _T("plugin_necessite_{$type}_sans_version", ['plugin' => $nom]); |
|
| 752 | 752 | } |
| 753 | 753 | |
| 754 | 754 | |
| 755 | 755 | function plugin_controler_lib($lib, $url) { |
| 756 | - /* Feature sortie du core, voir STP |
|
| 756 | + /* Feature sortie du core, voir STP |
|
| 757 | 757 | * if ($url) { |
| 758 | 758 | include_spip('inc/charger_plugin'); |
| 759 | 759 | $url = '<br />' . bouton_telechargement_plugin($url, 'lib'); |
| 760 | 760 | }*/ |
| 761 | - return _T('plugin_necessite_lib', ['lib' => $lib]) . " <a href='$url'>$url</a>"; |
|
| 761 | + return _T('plugin_necessite_lib', ['lib' => $lib]) . " <a href='$url'>$url</a>"; |
|
| 762 | 762 | } |
| 763 | 763 | |
| 764 | 764 | |
@@ -773,7 +773,7 @@ discard block |
||
| 773 | 773 | * true si il y a eu des modifications sur la liste des plugins actifs, false sinon |
| 774 | 774 | **/ |
| 775 | 775 | function actualise_plugins_actifs($pipe_recherche = false) { |
| 776 | - return ecrire_plugin_actifs('', $pipe_recherche, 'force'); |
|
| 776 | + return ecrire_plugin_actifs('', $pipe_recherche, 'force'); |
|
| 777 | 777 | } |
| 778 | 778 | |
| 779 | 779 | |
@@ -800,115 +800,115 @@ discard block |
||
| 800 | 800 | **/ |
| 801 | 801 | function ecrire_plugin_actifs($plugin, $pipe_recherche = false, $operation = 'raz') { |
| 802 | 802 | |
| 803 | - // creer le repertoire cache/ si necessaire ! (installation notamment) |
|
| 804 | - $cache = sous_repertoire(_DIR_CACHE, '', false, true); |
|
| 805 | - |
|
| 806 | - // Si on n'a ni cache accessible, ni connexion SQL, on ne peut pas faire grand chose encore. |
|
| 807 | - if (!$cache && !spip_connect()) { |
|
| 808 | - return false; |
|
| 809 | - } |
|
| 810 | - |
|
| 811 | - if ($operation != 'raz') { |
|
| 812 | - $plugin_valides = liste_chemin_plugin_actifs(); |
|
| 813 | - $plugin_valides = is_plugin_dir($plugin_valides); |
|
| 814 | - if (defined('_DIR_PLUGINS_SUPPL') && _DIR_PLUGINS_SUPPL) { |
|
| 815 | - $plugin_valides_supp = liste_chemin_plugin_actifs(_DIR_PLUGINS_SUPPL); |
|
| 816 | - $plugin_valides_supp = is_plugin_dir($plugin_valides_supp, _DIR_PLUGINS_SUPPL); |
|
| 817 | - $plugin_valides = array_merge($plugin_valides, $plugin_valides_supp); |
|
| 818 | - } |
|
| 819 | - // si des plugins sont en attentes (coches mais impossible a activer) |
|
| 820 | - // on les reinjecte ici |
|
| 821 | - if ( |
|
| 822 | - isset($GLOBALS['meta']['plugin_attente']) && ($a = unserialize($GLOBALS['meta']['plugin_attente'])) |
|
| 823 | - ) { |
|
| 824 | - $plugin_valides = $plugin_valides + liste_chemin_plugin($a); |
|
| 825 | - } |
|
| 826 | - |
|
| 827 | - if ($operation == 'ajoute') { |
|
| 828 | - $plugin = array_merge($plugin_valides, $plugin); |
|
| 829 | - } elseif ($operation == 'enleve') { |
|
| 830 | - $plugin = array_diff($plugin_valides, $plugin); |
|
| 831 | - } else { |
|
| 832 | - $plugin = $plugin_valides; |
|
| 833 | - } |
|
| 834 | - } |
|
| 835 | - $actifs_avant = $GLOBALS['meta']['plugin'] ?? ''; |
|
| 836 | - |
|
| 837 | - // si une fonction de gestion de dependances existe, l'appeler ici |
|
| 838 | - if ($ajouter_dependances = charger_fonction('ajouter_dependances', 'plugins', true)) { |
|
| 839 | - $plugin = $ajouter_dependances($plugin); |
|
| 840 | - } |
|
| 841 | - |
|
| 842 | - // recharger le xml des plugins a activer |
|
| 843 | - // on force le reload ici, meme si le fichier xml n'a pas change |
|
| 844 | - // pour ne pas rater l'ajout ou la suppression d'un fichier fonctions/options/administrations |
|
| 845 | - // pourra etre evite quand on ne supportera plus les plugin.xml |
|
| 846 | - // en deplacant la detection de ces fichiers dans la compilation ci dessous |
|
| 847 | - [$infos, $liste, $invalides] = liste_plugin_valides($plugin, true); |
|
| 848 | - // trouver l'ordre d'activation |
|
| 849 | - [$plugin_valides, $ordre, $reste] = plugin_trier($infos, $liste); |
|
| 850 | - if ($invalides || $reste) { |
|
| 851 | - plugins_erreurs(array_merge($invalides, $reste), $liste, $infos); |
|
| 852 | - } |
|
| 853 | - |
|
| 854 | - // Ignorer les plugins necessitant une lib absente |
|
| 855 | - // et preparer la meta d'entete Http |
|
| 856 | - $err = $msg = $header = []; |
|
| 857 | - foreach ($plugin_valides as $p => $resume) { |
|
| 858 | - // Les headers ne doivent pas indiquer les versions des extensions PHP, ni la version PHP |
|
| 859 | - if (!str_starts_with($p, 'PHP:') && $p !== 'PHP') { |
|
| 860 | - $header[] = $p . ($resume['version'] ? '(' . $resume['version'] . ')' : ''); |
|
| 861 | - } |
|
| 862 | - if ($resume['dir']) { |
|
| 863 | - foreach ($infos[$resume['dir_type']][$resume['dir']]['lib'] as $l) { |
|
| 864 | - if (!find_in_path($l['nom'], 'lib/')) { |
|
| 865 | - $err[$p] = $resume; |
|
| 866 | - $msg[$p][] = $l; |
|
| 867 | - unset($plugin_valides[$p]); |
|
| 868 | - } |
|
| 869 | - } |
|
| 870 | - } |
|
| 871 | - } |
|
| 872 | - if ($err) { |
|
| 873 | - plugins_erreurs($err, '', $infos, $msg); |
|
| 874 | - } |
|
| 875 | - |
|
| 876 | - if (isset($GLOBALS['meta']['message_crash_plugins'])) { |
|
| 877 | - effacer_meta('message_crash_plugins'); |
|
| 878 | - } |
|
| 879 | - ecrire_meta('plugin', serialize($plugin_valides)); |
|
| 880 | - $liste = array_diff_key($liste, $plugin_valides); |
|
| 881 | - ecrire_meta('plugin_attente', serialize($liste)); |
|
| 882 | - $header = strtolower(implode(',', $header)); |
|
| 883 | - if (!isset($GLOBALS['spip_header_silencieux']) || !$GLOBALS['spip_header_silencieux']) { |
|
| 884 | - ecrire_fichier( |
|
| 885 | - _DIR_VAR . 'config.txt', |
|
| 886 | - (defined('_HEADER_COMPOSED_BY') ? _HEADER_COMPOSED_BY : 'Composed-By: SPIP') . ' ' . $GLOBALS['spip_version_affichee'] . ' @ www.spip.net + ' . $header |
|
| 887 | - ); |
|
| 888 | - } else { |
|
| 889 | - @unlink(_DIR_VAR . 'config.txt'); |
|
| 890 | - } |
|
| 891 | - // generer charger_plugins_chemin.php |
|
| 892 | - plugins_precompile_chemin($plugin_valides, $ordre); |
|
| 893 | - // generer les fichiers |
|
| 894 | - // - charger_plugins_options.php |
|
| 895 | - // - charger_plugins_fonctions.php |
|
| 896 | - plugins_precompile_xxxtions($plugin_valides, $ordre); |
|
| 897 | - // charger les chemins des plugins et les fichiers d'options |
|
| 898 | - // (qui peuvent déclarer / utiliser des pipelines, ajouter d'autres chemins) |
|
| 899 | - plugins_amorcer_plugins_actifs(); |
|
| 900 | - // mise a jour de la matrice des pipelines |
|
| 901 | - $prepend_code = pipeline_matrice_precompile($plugin_valides, $ordre, $pipe_recherche); |
|
| 902 | - // generer le fichier _CACHE_PIPELINE |
|
| 903 | - pipeline_precompile($prepend_code); |
|
| 904 | - |
|
| 905 | - if (spip_connect()) { |
|
| 906 | - // lancer et initialiser les nouveaux crons ! |
|
| 907 | - include_spip('inc/genie'); |
|
| 908 | - genie_queue_watch_dist(); |
|
| 909 | - } |
|
| 910 | - |
|
| 911 | - return ($GLOBALS['meta']['plugin'] != $actifs_avant); |
|
| 803 | + // creer le repertoire cache/ si necessaire ! (installation notamment) |
|
| 804 | + $cache = sous_repertoire(_DIR_CACHE, '', false, true); |
|
| 805 | + |
|
| 806 | + // Si on n'a ni cache accessible, ni connexion SQL, on ne peut pas faire grand chose encore. |
|
| 807 | + if (!$cache && !spip_connect()) { |
|
| 808 | + return false; |
|
| 809 | + } |
|
| 810 | + |
|
| 811 | + if ($operation != 'raz') { |
|
| 812 | + $plugin_valides = liste_chemin_plugin_actifs(); |
|
| 813 | + $plugin_valides = is_plugin_dir($plugin_valides); |
|
| 814 | + if (defined('_DIR_PLUGINS_SUPPL') && _DIR_PLUGINS_SUPPL) { |
|
| 815 | + $plugin_valides_supp = liste_chemin_plugin_actifs(_DIR_PLUGINS_SUPPL); |
|
| 816 | + $plugin_valides_supp = is_plugin_dir($plugin_valides_supp, _DIR_PLUGINS_SUPPL); |
|
| 817 | + $plugin_valides = array_merge($plugin_valides, $plugin_valides_supp); |
|
| 818 | + } |
|
| 819 | + // si des plugins sont en attentes (coches mais impossible a activer) |
|
| 820 | + // on les reinjecte ici |
|
| 821 | + if ( |
|
| 822 | + isset($GLOBALS['meta']['plugin_attente']) && ($a = unserialize($GLOBALS['meta']['plugin_attente'])) |
|
| 823 | + ) { |
|
| 824 | + $plugin_valides = $plugin_valides + liste_chemin_plugin($a); |
|
| 825 | + } |
|
| 826 | + |
|
| 827 | + if ($operation == 'ajoute') { |
|
| 828 | + $plugin = array_merge($plugin_valides, $plugin); |
|
| 829 | + } elseif ($operation == 'enleve') { |
|
| 830 | + $plugin = array_diff($plugin_valides, $plugin); |
|
| 831 | + } else { |
|
| 832 | + $plugin = $plugin_valides; |
|
| 833 | + } |
|
| 834 | + } |
|
| 835 | + $actifs_avant = $GLOBALS['meta']['plugin'] ?? ''; |
|
| 836 | + |
|
| 837 | + // si une fonction de gestion de dependances existe, l'appeler ici |
|
| 838 | + if ($ajouter_dependances = charger_fonction('ajouter_dependances', 'plugins', true)) { |
|
| 839 | + $plugin = $ajouter_dependances($plugin); |
|
| 840 | + } |
|
| 841 | + |
|
| 842 | + // recharger le xml des plugins a activer |
|
| 843 | + // on force le reload ici, meme si le fichier xml n'a pas change |
|
| 844 | + // pour ne pas rater l'ajout ou la suppression d'un fichier fonctions/options/administrations |
|
| 845 | + // pourra etre evite quand on ne supportera plus les plugin.xml |
|
| 846 | + // en deplacant la detection de ces fichiers dans la compilation ci dessous |
|
| 847 | + [$infos, $liste, $invalides] = liste_plugin_valides($plugin, true); |
|
| 848 | + // trouver l'ordre d'activation |
|
| 849 | + [$plugin_valides, $ordre, $reste] = plugin_trier($infos, $liste); |
|
| 850 | + if ($invalides || $reste) { |
|
| 851 | + plugins_erreurs(array_merge($invalides, $reste), $liste, $infos); |
|
| 852 | + } |
|
| 853 | + |
|
| 854 | + // Ignorer les plugins necessitant une lib absente |
|
| 855 | + // et preparer la meta d'entete Http |
|
| 856 | + $err = $msg = $header = []; |
|
| 857 | + foreach ($plugin_valides as $p => $resume) { |
|
| 858 | + // Les headers ne doivent pas indiquer les versions des extensions PHP, ni la version PHP |
|
| 859 | + if (!str_starts_with($p, 'PHP:') && $p !== 'PHP') { |
|
| 860 | + $header[] = $p . ($resume['version'] ? '(' . $resume['version'] . ')' : ''); |
|
| 861 | + } |
|
| 862 | + if ($resume['dir']) { |
|
| 863 | + foreach ($infos[$resume['dir_type']][$resume['dir']]['lib'] as $l) { |
|
| 864 | + if (!find_in_path($l['nom'], 'lib/')) { |
|
| 865 | + $err[$p] = $resume; |
|
| 866 | + $msg[$p][] = $l; |
|
| 867 | + unset($plugin_valides[$p]); |
|
| 868 | + } |
|
| 869 | + } |
|
| 870 | + } |
|
| 871 | + } |
|
| 872 | + if ($err) { |
|
| 873 | + plugins_erreurs($err, '', $infos, $msg); |
|
| 874 | + } |
|
| 875 | + |
|
| 876 | + if (isset($GLOBALS['meta']['message_crash_plugins'])) { |
|
| 877 | + effacer_meta('message_crash_plugins'); |
|
| 878 | + } |
|
| 879 | + ecrire_meta('plugin', serialize($plugin_valides)); |
|
| 880 | + $liste = array_diff_key($liste, $plugin_valides); |
|
| 881 | + ecrire_meta('plugin_attente', serialize($liste)); |
|
| 882 | + $header = strtolower(implode(',', $header)); |
|
| 883 | + if (!isset($GLOBALS['spip_header_silencieux']) || !$GLOBALS['spip_header_silencieux']) { |
|
| 884 | + ecrire_fichier( |
|
| 885 | + _DIR_VAR . 'config.txt', |
|
| 886 | + (defined('_HEADER_COMPOSED_BY') ? _HEADER_COMPOSED_BY : 'Composed-By: SPIP') . ' ' . $GLOBALS['spip_version_affichee'] . ' @ www.spip.net + ' . $header |
|
| 887 | + ); |
|
| 888 | + } else { |
|
| 889 | + @unlink(_DIR_VAR . 'config.txt'); |
|
| 890 | + } |
|
| 891 | + // generer charger_plugins_chemin.php |
|
| 892 | + plugins_precompile_chemin($plugin_valides, $ordre); |
|
| 893 | + // generer les fichiers |
|
| 894 | + // - charger_plugins_options.php |
|
| 895 | + // - charger_plugins_fonctions.php |
|
| 896 | + plugins_precompile_xxxtions($plugin_valides, $ordre); |
|
| 897 | + // charger les chemins des plugins et les fichiers d'options |
|
| 898 | + // (qui peuvent déclarer / utiliser des pipelines, ajouter d'autres chemins) |
|
| 899 | + plugins_amorcer_plugins_actifs(); |
|
| 900 | + // mise a jour de la matrice des pipelines |
|
| 901 | + $prepend_code = pipeline_matrice_precompile($plugin_valides, $ordre, $pipe_recherche); |
|
| 902 | + // generer le fichier _CACHE_PIPELINE |
|
| 903 | + pipeline_precompile($prepend_code); |
|
| 904 | + |
|
| 905 | + if (spip_connect()) { |
|
| 906 | + // lancer et initialiser les nouveaux crons ! |
|
| 907 | + include_spip('inc/genie'); |
|
| 908 | + genie_queue_watch_dist(); |
|
| 909 | + } |
|
| 910 | + |
|
| 911 | + return ($GLOBALS['meta']['plugin'] != $actifs_avant); |
|
| 912 | 912 | } |
| 913 | 913 | |
| 914 | 914 | /** |
@@ -927,75 +927,75 @@ discard block |
||
| 927 | 927 | * Couples (prefixe => infos complètes) des plugins qui seront actifs, dans l'ordre de leurs dépendances |
| 928 | 928 | **/ |
| 929 | 929 | function plugins_precompile_chemin($plugin_valides, $ordre) { |
| 930 | - $chemins = [ |
|
| 931 | - 'public' => [], |
|
| 932 | - 'prive' => [] |
|
| 933 | - ]; |
|
| 934 | - $contenu = ''; |
|
| 935 | - foreach ($ordre as $p => $info) { |
|
| 936 | - // $ordre peur contenir des plugins en attente et non valides pour ce hit |
|
| 937 | - if (isset($plugin_valides[$p])) { |
|
| 938 | - $dir_type = $plugin_valides[$p]['dir_type']; |
|
| 939 | - $plug = $plugin_valides[$p]['dir']; |
|
| 940 | - // definir le plugin, donc le path avant l'include du fichier options |
|
| 941 | - // permet de faire des include_spip pour attraper un inc_ du plugin |
|
| 942 | - |
|
| 943 | - $dir = $dir_type . ".'" . $plug . "/'"; |
|
| 944 | - |
|
| 945 | - $prefix = strtoupper(preg_replace(',\W,', '_', $info['prefix'])); |
|
| 946 | - if ( |
|
| 947 | - $prefix !== 'SPIP' |
|
| 948 | - && !str_contains($dir, ':') // exclure le cas des procure: |
|
| 949 | - ) { |
|
| 950 | - $contenu .= "define('_DIR_PLUGIN_$prefix',$dir);\n"; |
|
| 951 | - if (!$info['chemin']) { |
|
| 952 | - $chemins['public'][] = "_DIR_PLUGIN_$prefix"; |
|
| 953 | - $chemins['prive'][] = "_DIR_PLUGIN_$prefix"; |
|
| 954 | - if (is_dir(constant($dir_type) . $plug . '/squelettes/')) { |
|
| 955 | - $chemins['public'][] = "_DIR_PLUGIN_{$prefix}.'squelettes/'"; |
|
| 956 | - } |
|
| 957 | - } |
|
| 958 | - else { |
|
| 959 | - foreach ($info['chemin'] as $chemin) { |
|
| 960 | - if ( |
|
| 961 | - !isset($chemin['version']) |
|
| 962 | - || plugin_version_compatible( |
|
| 963 | - $chemin['version'], |
|
| 964 | - $GLOBALS['spip_version_branche'], |
|
| 965 | - 'spip' |
|
| 966 | - ) |
|
| 967 | - ) { |
|
| 968 | - $dir = $chemin['path']; |
|
| 969 | - if (strlen($dir) && $dir[0] == '/') { |
|
| 970 | - $dir = substr($dir, 1); |
|
| 971 | - } |
|
| 972 | - if (strlen($dir) && $dir == './') { |
|
| 973 | - $dir = ''; |
|
| 974 | - } |
|
| 975 | - if (strlen($dir)) { |
|
| 976 | - $dir = rtrim($dir, '/') . '/'; |
|
| 977 | - } |
|
| 978 | - if (!isset($chemin['type']) || $chemin['type'] == 'public') { |
|
| 979 | - $chemins['public'][] = "_DIR_PLUGIN_$prefix" . (strlen($dir) ? ".'$dir'" : ''); |
|
| 980 | - } |
|
| 981 | - if (!isset($chemin['type']) || $chemin['type'] == 'prive') { |
|
| 982 | - $chemins['prive'][] = "_DIR_PLUGIN_$prefix" . (strlen($dir) ? ".'$dir'" : ''); |
|
| 983 | - } |
|
| 984 | - } |
|
| 985 | - } |
|
| 986 | - } |
|
| 987 | - } |
|
| 988 | - } |
|
| 989 | - } |
|
| 990 | - if (count($chemins['public']) || count($chemins['prive'])) { |
|
| 991 | - $contenu .= 'if (_DIR_RESTREINT) _chemin([' . implode( |
|
| 992 | - ',', |
|
| 993 | - array_reverse($chemins['public']) |
|
| 994 | - ) . "]);\n" |
|
| 995 | - . 'else _chemin([' . implode(',', array_reverse($chemins['prive'])) . "]);\n"; |
|
| 996 | - } |
|
| 997 | - |
|
| 998 | - ecrire_fichier_php(_CACHE_PLUGINS_PATH, $contenu); |
|
| 930 | + $chemins = [ |
|
| 931 | + 'public' => [], |
|
| 932 | + 'prive' => [] |
|
| 933 | + ]; |
|
| 934 | + $contenu = ''; |
|
| 935 | + foreach ($ordre as $p => $info) { |
|
| 936 | + // $ordre peur contenir des plugins en attente et non valides pour ce hit |
|
| 937 | + if (isset($plugin_valides[$p])) { |
|
| 938 | + $dir_type = $plugin_valides[$p]['dir_type']; |
|
| 939 | + $plug = $plugin_valides[$p]['dir']; |
|
| 940 | + // definir le plugin, donc le path avant l'include du fichier options |
|
| 941 | + // permet de faire des include_spip pour attraper un inc_ du plugin |
|
| 942 | + |
|
| 943 | + $dir = $dir_type . ".'" . $plug . "/'"; |
|
| 944 | + |
|
| 945 | + $prefix = strtoupper(preg_replace(',\W,', '_', $info['prefix'])); |
|
| 946 | + if ( |
|
| 947 | + $prefix !== 'SPIP' |
|
| 948 | + && !str_contains($dir, ':') // exclure le cas des procure: |
|
| 949 | + ) { |
|
| 950 | + $contenu .= "define('_DIR_PLUGIN_$prefix',$dir);\n"; |
|
| 951 | + if (!$info['chemin']) { |
|
| 952 | + $chemins['public'][] = "_DIR_PLUGIN_$prefix"; |
|
| 953 | + $chemins['prive'][] = "_DIR_PLUGIN_$prefix"; |
|
| 954 | + if (is_dir(constant($dir_type) . $plug . '/squelettes/')) { |
|
| 955 | + $chemins['public'][] = "_DIR_PLUGIN_{$prefix}.'squelettes/'"; |
|
| 956 | + } |
|
| 957 | + } |
|
| 958 | + else { |
|
| 959 | + foreach ($info['chemin'] as $chemin) { |
|
| 960 | + if ( |
|
| 961 | + !isset($chemin['version']) |
|
| 962 | + || plugin_version_compatible( |
|
| 963 | + $chemin['version'], |
|
| 964 | + $GLOBALS['spip_version_branche'], |
|
| 965 | + 'spip' |
|
| 966 | + ) |
|
| 967 | + ) { |
|
| 968 | + $dir = $chemin['path']; |
|
| 969 | + if (strlen($dir) && $dir[0] == '/') { |
|
| 970 | + $dir = substr($dir, 1); |
|
| 971 | + } |
|
| 972 | + if (strlen($dir) && $dir == './') { |
|
| 973 | + $dir = ''; |
|
| 974 | + } |
|
| 975 | + if (strlen($dir)) { |
|
| 976 | + $dir = rtrim($dir, '/') . '/'; |
|
| 977 | + } |
|
| 978 | + if (!isset($chemin['type']) || $chemin['type'] == 'public') { |
|
| 979 | + $chemins['public'][] = "_DIR_PLUGIN_$prefix" . (strlen($dir) ? ".'$dir'" : ''); |
|
| 980 | + } |
|
| 981 | + if (!isset($chemin['type']) || $chemin['type'] == 'prive') { |
|
| 982 | + $chemins['prive'][] = "_DIR_PLUGIN_$prefix" . (strlen($dir) ? ".'$dir'" : ''); |
|
| 983 | + } |
|
| 984 | + } |
|
| 985 | + } |
|
| 986 | + } |
|
| 987 | + } |
|
| 988 | + } |
|
| 989 | + } |
|
| 990 | + if (count($chemins['public']) || count($chemins['prive'])) { |
|
| 991 | + $contenu .= 'if (_DIR_RESTREINT) _chemin([' . implode( |
|
| 992 | + ',', |
|
| 993 | + array_reverse($chemins['public']) |
|
| 994 | + ) . "]);\n" |
|
| 995 | + . 'else _chemin([' . implode(',', array_reverse($chemins['prive'])) . "]);\n"; |
|
| 996 | + } |
|
| 997 | + |
|
| 998 | + ecrire_fichier_php(_CACHE_PLUGINS_PATH, $contenu); |
|
| 999 | 999 | } |
| 1000 | 1000 | |
| 1001 | 1001 | /** |
@@ -1013,65 +1013,65 @@ discard block |
||
| 1013 | 1013 | * Couples (prefixe => infos complètes) des plugins qui seront actifs, dans l'ordre de leurs dépendances |
| 1014 | 1014 | **/ |
| 1015 | 1015 | function plugins_precompile_xxxtions($plugin_valides, $ordre) { |
| 1016 | - $contenu = ['options' => '', 'fonctions' => '']; |
|
| 1017 | - $boutons = []; |
|
| 1018 | - $onglets = []; |
|
| 1019 | - $sign = ''; |
|
| 1020 | - |
|
| 1021 | - foreach ($ordre as $p => $info) { |
|
| 1022 | - // $ordre peur contenir des plugins en attente et non valides pour ce hit |
|
| 1023 | - if (isset($plugin_valides[$p])) { |
|
| 1024 | - $dir_type = $plugin_valides[$p]['dir_type']; |
|
| 1025 | - $plug = $plugin_valides[$p]['dir']; |
|
| 1026 | - $dir = constant($dir_type); |
|
| 1027 | - $root_dir_type = str_replace('_DIR_', '_ROOT_', $dir_type); |
|
| 1028 | - if ($info['menu']) { |
|
| 1029 | - $boutons = array_merge($boutons, $info['menu']); |
|
| 1030 | - } |
|
| 1031 | - if ($info['onglet']) { |
|
| 1032 | - $onglets = array_merge($onglets, $info['onglet']); |
|
| 1033 | - } |
|
| 1034 | - foreach ($contenu as $charge => $v) { |
|
| 1035 | - // si pas declare/detecte a la lecture du paquet.xml, |
|
| 1036 | - // detecer a nouveau ici puisque son ajout ne provoque pas une modif du paquet.xml |
|
| 1037 | - // donc ni sa relecture, ni sa detection |
|
| 1038 | - if ( |
|
| 1039 | - !isset($info[$charge]) |
|
| 1040 | - && $dir |
|
| 1041 | - && !str_contains($dir, ':') |
|
| 1042 | - && file_exists("$dir$plug/paquet.xml") // uniquement pour les paquet.xml |
|
| 1043 | - ) { |
|
| 1044 | - if (is_readable("$dir$plug/" . ($file = $info['prefix'] . '_' . $charge . '.php'))) { |
|
| 1045 | - $info[$charge] = [$file]; |
|
| 1046 | - } |
|
| 1047 | - } |
|
| 1048 | - if (isset($info[$charge])) { |
|
| 1049 | - $files = $info[$charge]; |
|
| 1050 | - foreach ($files as $k => $file) { |
|
| 1051 | - // on genere un if file_exists devant chaque include |
|
| 1052 | - // pour pouvoir garder le meme niveau d'erreur general |
|
| 1053 | - $file = trim($file); |
|
| 1054 | - if ( |
|
| 1055 | - !is_readable("$dir$plug/$file") && file_exists("$dir$plug/paquet.xml") |
|
| 1056 | - ) { |
|
| 1057 | - unset($info[$charge][$k]); |
|
| 1058 | - } else { |
|
| 1059 | - $_file = $root_dir_type . ".'$plug/$file'"; |
|
| 1060 | - $contenu[$charge] .= "include_once_check($_file);\n"; |
|
| 1061 | - } |
|
| 1062 | - } |
|
| 1063 | - } |
|
| 1064 | - } |
|
| 1065 | - $sign .= md5(serialize($info)); |
|
| 1066 | - } |
|
| 1067 | - } |
|
| 1068 | - |
|
| 1069 | - $contenu['options'] = "define('_PLUGINS_HASH','" . md5($sign) . "');\n" . $contenu['options']; |
|
| 1070 | - $contenu['fonctions'] .= plugin_ongletbouton('boutons_plugins', $boutons) |
|
| 1071 | - . plugin_ongletbouton('onglets_plugins', $onglets); |
|
| 1072 | - |
|
| 1073 | - ecrire_fichier_php(_CACHE_PLUGINS_OPT, $contenu['options']); |
|
| 1074 | - ecrire_fichier_php(_CACHE_PLUGINS_FCT, $contenu['fonctions']); |
|
| 1016 | + $contenu = ['options' => '', 'fonctions' => '']; |
|
| 1017 | + $boutons = []; |
|
| 1018 | + $onglets = []; |
|
| 1019 | + $sign = ''; |
|
| 1020 | + |
|
| 1021 | + foreach ($ordre as $p => $info) { |
|
| 1022 | + // $ordre peur contenir des plugins en attente et non valides pour ce hit |
|
| 1023 | + if (isset($plugin_valides[$p])) { |
|
| 1024 | + $dir_type = $plugin_valides[$p]['dir_type']; |
|
| 1025 | + $plug = $plugin_valides[$p]['dir']; |
|
| 1026 | + $dir = constant($dir_type); |
|
| 1027 | + $root_dir_type = str_replace('_DIR_', '_ROOT_', $dir_type); |
|
| 1028 | + if ($info['menu']) { |
|
| 1029 | + $boutons = array_merge($boutons, $info['menu']); |
|
| 1030 | + } |
|
| 1031 | + if ($info['onglet']) { |
|
| 1032 | + $onglets = array_merge($onglets, $info['onglet']); |
|
| 1033 | + } |
|
| 1034 | + foreach ($contenu as $charge => $v) { |
|
| 1035 | + // si pas declare/detecte a la lecture du paquet.xml, |
|
| 1036 | + // detecer a nouveau ici puisque son ajout ne provoque pas une modif du paquet.xml |
|
| 1037 | + // donc ni sa relecture, ni sa detection |
|
| 1038 | + if ( |
|
| 1039 | + !isset($info[$charge]) |
|
| 1040 | + && $dir |
|
| 1041 | + && !str_contains($dir, ':') |
|
| 1042 | + && file_exists("$dir$plug/paquet.xml") // uniquement pour les paquet.xml |
|
| 1043 | + ) { |
|
| 1044 | + if (is_readable("$dir$plug/" . ($file = $info['prefix'] . '_' . $charge . '.php'))) { |
|
| 1045 | + $info[$charge] = [$file]; |
|
| 1046 | + } |
|
| 1047 | + } |
|
| 1048 | + if (isset($info[$charge])) { |
|
| 1049 | + $files = $info[$charge]; |
|
| 1050 | + foreach ($files as $k => $file) { |
|
| 1051 | + // on genere un if file_exists devant chaque include |
|
| 1052 | + // pour pouvoir garder le meme niveau d'erreur general |
|
| 1053 | + $file = trim($file); |
|
| 1054 | + if ( |
|
| 1055 | + !is_readable("$dir$plug/$file") && file_exists("$dir$plug/paquet.xml") |
|
| 1056 | + ) { |
|
| 1057 | + unset($info[$charge][$k]); |
|
| 1058 | + } else { |
|
| 1059 | + $_file = $root_dir_type . ".'$plug/$file'"; |
|
| 1060 | + $contenu[$charge] .= "include_once_check($_file);\n"; |
|
| 1061 | + } |
|
| 1062 | + } |
|
| 1063 | + } |
|
| 1064 | + } |
|
| 1065 | + $sign .= md5(serialize($info)); |
|
| 1066 | + } |
|
| 1067 | + } |
|
| 1068 | + |
|
| 1069 | + $contenu['options'] = "define('_PLUGINS_HASH','" . md5($sign) . "');\n" . $contenu['options']; |
|
| 1070 | + $contenu['fonctions'] .= plugin_ongletbouton('boutons_plugins', $boutons) |
|
| 1071 | + . plugin_ongletbouton('onglets_plugins', $onglets); |
|
| 1072 | + |
|
| 1073 | + ecrire_fichier_php(_CACHE_PLUGINS_OPT, $contenu['options']); |
|
| 1074 | + ecrire_fichier_php(_CACHE_PLUGINS_FCT, $contenu['fonctions']); |
|
| 1075 | 1075 | } |
| 1076 | 1076 | |
| 1077 | 1077 | /** |
@@ -1090,24 +1090,24 @@ discard block |
||
| 1090 | 1090 | * @return string Code php |
| 1091 | 1091 | */ |
| 1092 | 1092 | function plugin_ongletbouton($nom, $val) { |
| 1093 | - if (!$val) { |
|
| 1094 | - $val = []; |
|
| 1095 | - } |
|
| 1096 | - |
|
| 1097 | - $val = serialize($val); |
|
| 1098 | - $md5 = md5($val); |
|
| 1099 | - |
|
| 1100 | - if (!defined("_UPDATED_$nom")) { |
|
| 1101 | - define("_UPDATED_$nom", $val); |
|
| 1102 | - define("_UPDATED_md5_$nom", $md5); |
|
| 1103 | - } |
|
| 1104 | - $val = "unserialize('" . str_replace("'", "\'", $val) . "')"; |
|
| 1105 | - |
|
| 1106 | - return |
|
| 1107 | - "if (!function_exists('$nom')) {\n" |
|
| 1108 | - . "function $nom(){return defined('_UPDATED_$nom')?unserialize(_UPDATED_$nom):$val;}\n" |
|
| 1109 | - . "function md5_$nom(){return defined('_UPDATED_md5_$nom')?_UPDATED_md5_$nom:'" . $md5 . "';}\n" |
|
| 1110 | - . "}\n"; |
|
| 1093 | + if (!$val) { |
|
| 1094 | + $val = []; |
|
| 1095 | + } |
|
| 1096 | + |
|
| 1097 | + $val = serialize($val); |
|
| 1098 | + $md5 = md5($val); |
|
| 1099 | + |
|
| 1100 | + if (!defined("_UPDATED_$nom")) { |
|
| 1101 | + define("_UPDATED_$nom", $val); |
|
| 1102 | + define("_UPDATED_md5_$nom", $md5); |
|
| 1103 | + } |
|
| 1104 | + $val = "unserialize('" . str_replace("'", "\'", $val) . "')"; |
|
| 1105 | + |
|
| 1106 | + return |
|
| 1107 | + "if (!function_exists('$nom')) {\n" |
|
| 1108 | + . "function $nom(){return defined('_UPDATED_$nom')?unserialize(_UPDATED_$nom):$val;}\n" |
|
| 1109 | + . "function md5_$nom(){return defined('_UPDATED_md5_$nom')?_UPDATED_md5_$nom:'" . $md5 . "';}\n" |
|
| 1110 | + . "}\n"; |
|
| 1111 | 1111 | } |
| 1112 | 1112 | |
| 1113 | 1113 | /** |
@@ -1122,15 +1122,15 @@ discard block |
||
| 1122 | 1122 | **/ |
| 1123 | 1123 | function plugins_amorcer_plugins_actifs() { |
| 1124 | 1124 | |
| 1125 | - if (@is_readable(_CACHE_PLUGINS_PATH)) { |
|
| 1126 | - include_once(_CACHE_PLUGINS_PATH); |
|
| 1127 | - } |
|
| 1125 | + if (@is_readable(_CACHE_PLUGINS_PATH)) { |
|
| 1126 | + include_once(_CACHE_PLUGINS_PATH); |
|
| 1127 | + } |
|
| 1128 | 1128 | |
| 1129 | - if (@is_readable(_CACHE_PLUGINS_OPT)) { |
|
| 1130 | - include_once(_CACHE_PLUGINS_OPT); |
|
| 1131 | - } else { |
|
| 1132 | - spip_log('pipelines desactives: impossible de produire ' . _CACHE_PLUGINS_OPT); |
|
| 1133 | - } |
|
| 1129 | + if (@is_readable(_CACHE_PLUGINS_OPT)) { |
|
| 1130 | + include_once(_CACHE_PLUGINS_OPT); |
|
| 1131 | + } else { |
|
| 1132 | + spip_log('pipelines desactives: impossible de produire ' . _CACHE_PLUGINS_OPT); |
|
| 1133 | + } |
|
| 1134 | 1134 | } |
| 1135 | 1135 | |
| 1136 | 1136 | /** |
@@ -1153,140 +1153,140 @@ discard block |
||
| 1153 | 1153 | * Couples (nom du pipeline => Code PHP à insérer au début du pipeline) |
| 1154 | 1154 | **/ |
| 1155 | 1155 | function pipeline_matrice_precompile($plugin_valides, $ordre, $pipe_recherche) { |
| 1156 | - static $liste_pipe_manquants = []; |
|
| 1157 | - if (($pipe_recherche) && (!in_array($pipe_recherche, $liste_pipe_manquants))) { |
|
| 1158 | - $liste_pipe_manquants[] = $pipe_recherche; |
|
| 1159 | - } |
|
| 1160 | - |
|
| 1161 | - $prepend_code = []; |
|
| 1162 | - |
|
| 1163 | - foreach ($ordre as $p => $info) { |
|
| 1164 | - // $ordre peur contenir des plugins en attente et non valides pour ce hit |
|
| 1165 | - if (isset($plugin_valides[$p])) { |
|
| 1166 | - $dir_type = $plugin_valides[$p]['dir_type']; |
|
| 1167 | - $root_dir_type = str_replace('_DIR_', '_ROOT_', $dir_type); |
|
| 1168 | - $plug = $plugin_valides[$p]['dir']; |
|
| 1169 | - $prefix = (($info['prefix'] == 'spip') ? '' : $info['prefix'] . '_'); |
|
| 1170 | - if (isset($info['pipeline']) && is_array($info['pipeline'])) { |
|
| 1171 | - foreach ($info['pipeline'] as $pipe) { |
|
| 1172 | - $nom = $pipe['nom']; |
|
| 1173 | - if (isset($pipe['action'])) { |
|
| 1174 | - $action = $pipe['action']; |
|
| 1175 | - } else { |
|
| 1176 | - $action = $nom; |
|
| 1177 | - } |
|
| 1178 | - $nomlower = strtolower($nom); |
|
| 1179 | - if ( |
|
| 1180 | - $nomlower != $nom |
|
| 1181 | - && isset($GLOBALS['spip_pipeline'][$nom]) |
|
| 1182 | - && !isset($GLOBALS['spip_pipeline'][$nomlower]) |
|
| 1183 | - ) { |
|
| 1184 | - $GLOBALS['spip_pipeline'][$nomlower] = $GLOBALS['spip_pipeline'][$nom]; |
|
| 1185 | - unset($GLOBALS['spip_pipeline'][$nom]); |
|
| 1186 | - } |
|
| 1187 | - $nom = $nomlower; |
|
| 1188 | - // une action vide est une declaration qui ne doit pas etre compilee ! |
|
| 1189 | - if (!isset($GLOBALS['spip_pipeline'][$nom])) { // creer le pipeline eventuel |
|
| 1190 | - $GLOBALS['spip_pipeline'][$nom] = ''; |
|
| 1191 | - } |
|
| 1192 | - if ($action) { |
|
| 1193 | - if (!str_contains($GLOBALS['spip_pipeline'][$nom], (string) "|$prefix$action")) { |
|
| 1194 | - $GLOBALS['spip_pipeline'][$nom] = preg_replace( |
|
| 1195 | - ',(\|\||$),', |
|
| 1196 | - "|$prefix$action\\1", |
|
| 1197 | - $GLOBALS['spip_pipeline'][$nom], |
|
| 1198 | - 1 |
|
| 1199 | - ); |
|
| 1200 | - } |
|
| 1201 | - if (isset($pipe['inclure'])) { |
|
| 1202 | - $GLOBALS['spip_matrice']["$prefix$action"] = |
|
| 1203 | - "$root_dir_type:$plug/" . $pipe['inclure']; |
|
| 1204 | - } |
|
| 1205 | - } |
|
| 1206 | - } |
|
| 1207 | - } |
|
| 1208 | - if (isset($info['genie']) && (is_countable($info['genie']) ? count($info['genie']) : 0)) { |
|
| 1209 | - if (!isset($prepend_code['taches_generales_cron'])) { |
|
| 1210 | - $prepend_code['taches_generales_cron'] = ''; |
|
| 1211 | - } |
|
| 1212 | - foreach ($info['genie'] as $genie) { |
|
| 1213 | - $nom = $prefix . $genie['nom']; |
|
| 1214 | - $periode = max(60, intval($genie['periode'])); |
|
| 1215 | - if (charger_fonction($nom, 'genie', true)) { |
|
| 1216 | - $prepend_code['taches_generales_cron'] .= "\$val['$nom'] = $periode;\n"; |
|
| 1217 | - } else { |
|
| 1218 | - spip_log("Fonction genie_$nom introuvable", _LOG_ERREUR); |
|
| 1219 | - } |
|
| 1220 | - } |
|
| 1221 | - } |
|
| 1222 | - if (isset($info['style']) && (is_countable($info['style']) ? count($info['style']) : 0)) { |
|
| 1223 | - if (!isset($prepend_code['insert_head_css'])) { |
|
| 1224 | - $prepend_code['insert_head_css'] = ''; |
|
| 1225 | - } |
|
| 1226 | - if (!isset($prepend_code['header_prive_css'])) { |
|
| 1227 | - $prepend_code['header_prive_css'] = ''; |
|
| 1228 | - } |
|
| 1229 | - foreach ($info['style'] as $style) { |
|
| 1230 | - if (isset($style['path']) && $style['path']) { |
|
| 1231 | - $code = "if (\$f=timestamp(direction_css(find_in_path('" . addslashes($style['path']) . "')))) "; |
|
| 1232 | - } else { |
|
| 1233 | - $code = "if (\$f='" . addslashes($style['url']) . "') "; |
|
| 1234 | - } |
|
| 1235 | - $code .= "\$val .= '<link rel=\"stylesheet\" href=\"'.\$f.'\" type=\"text/css\""; |
|
| 1236 | - if (isset($style['media']) && strlen($style['media'])) { |
|
| 1237 | - $code .= ' media="' . addslashes($style['media']) . '"'; |
|
| 1238 | - } |
|
| 1239 | - $code .= "/>';\n"; |
|
| 1240 | - if ($style['type'] != 'prive') { |
|
| 1241 | - $prepend_code['insert_head_css'] .= $code; |
|
| 1242 | - } |
|
| 1243 | - if ($style['type'] != 'public') { |
|
| 1244 | - $prepend_code['header_prive_css'] .= $code; |
|
| 1245 | - } |
|
| 1246 | - } |
|
| 1247 | - } |
|
| 1248 | - if (!isset($prepend_code['insert_head'])) { |
|
| 1249 | - $prepend_code['insert_head'] = ''; |
|
| 1250 | - } |
|
| 1251 | - if (!isset($prepend_code['header_prive'])) { |
|
| 1252 | - $prepend_code['header_prive'] = ''; |
|
| 1253 | - } |
|
| 1254 | - if (isset($info['script']) && (is_countable($info['script']) ? count($info['script']) : 0)) { |
|
| 1255 | - foreach ($info['script'] as $script) { |
|
| 1256 | - if (isset($script['path']) && $script['path']) { |
|
| 1257 | - $code = "if (\$f=timestamp(find_in_path('" . addslashes($script['path']) . "'))) "; |
|
| 1258 | - } else { |
|
| 1259 | - $code = "if (\$f='" . addslashes($script['url']) . "') "; |
|
| 1260 | - } |
|
| 1261 | - $code .= "\$val .= '<script src=\"'.\$f.'\" type=\"text/javascript\"></script>';\n"; |
|
| 1262 | - if ($script['type'] != 'prive') { |
|
| 1263 | - $prepend_code['insert_head'] .= $code; |
|
| 1264 | - } |
|
| 1265 | - if ($script['type'] != 'public') { |
|
| 1266 | - $prepend_code['header_prive'] .= $code; |
|
| 1267 | - } |
|
| 1268 | - } |
|
| 1269 | - } |
|
| 1270 | - } |
|
| 1271 | - } |
|
| 1272 | - |
|
| 1273 | - $prepend_code['insert_head'] = |
|
| 1274 | - "include_once_check(_DIR_RESTREINT . 'inc/pipelines.php');\n" |
|
| 1275 | - . "\$val = minipipe('f_jQuery', \$val);\n" |
|
| 1276 | - . $prepend_code['insert_head']; |
|
| 1277 | - $prepend_code['header_prive'] = |
|
| 1278 | - "include_once_check(_DIR_RESTREINT . 'inc/pipelines_ecrire.php');\n" |
|
| 1279 | - . "\$val = minipipe('f_jQuery_prive', \$val);\n" |
|
| 1280 | - . $prepend_code['header_prive']; |
|
| 1281 | - |
|
| 1282 | - // on ajoute les pipe qui ont ete recenses manquants |
|
| 1283 | - foreach ($liste_pipe_manquants as $add_pipe) { |
|
| 1284 | - if (!isset($GLOBALS['spip_pipeline'][$add_pipe])) { |
|
| 1285 | - $GLOBALS['spip_pipeline'][$add_pipe] = ''; |
|
| 1286 | - } |
|
| 1287 | - } |
|
| 1288 | - |
|
| 1289 | - return $prepend_code; |
|
| 1156 | + static $liste_pipe_manquants = []; |
|
| 1157 | + if (($pipe_recherche) && (!in_array($pipe_recherche, $liste_pipe_manquants))) { |
|
| 1158 | + $liste_pipe_manquants[] = $pipe_recherche; |
|
| 1159 | + } |
|
| 1160 | + |
|
| 1161 | + $prepend_code = []; |
|
| 1162 | + |
|
| 1163 | + foreach ($ordre as $p => $info) { |
|
| 1164 | + // $ordre peur contenir des plugins en attente et non valides pour ce hit |
|
| 1165 | + if (isset($plugin_valides[$p])) { |
|
| 1166 | + $dir_type = $plugin_valides[$p]['dir_type']; |
|
| 1167 | + $root_dir_type = str_replace('_DIR_', '_ROOT_', $dir_type); |
|
| 1168 | + $plug = $plugin_valides[$p]['dir']; |
|
| 1169 | + $prefix = (($info['prefix'] == 'spip') ? '' : $info['prefix'] . '_'); |
|
| 1170 | + if (isset($info['pipeline']) && is_array($info['pipeline'])) { |
|
| 1171 | + foreach ($info['pipeline'] as $pipe) { |
|
| 1172 | + $nom = $pipe['nom']; |
|
| 1173 | + if (isset($pipe['action'])) { |
|
| 1174 | + $action = $pipe['action']; |
|
| 1175 | + } else { |
|
| 1176 | + $action = $nom; |
|
| 1177 | + } |
|
| 1178 | + $nomlower = strtolower($nom); |
|
| 1179 | + if ( |
|
| 1180 | + $nomlower != $nom |
|
| 1181 | + && isset($GLOBALS['spip_pipeline'][$nom]) |
|
| 1182 | + && !isset($GLOBALS['spip_pipeline'][$nomlower]) |
|
| 1183 | + ) { |
|
| 1184 | + $GLOBALS['spip_pipeline'][$nomlower] = $GLOBALS['spip_pipeline'][$nom]; |
|
| 1185 | + unset($GLOBALS['spip_pipeline'][$nom]); |
|
| 1186 | + } |
|
| 1187 | + $nom = $nomlower; |
|
| 1188 | + // une action vide est une declaration qui ne doit pas etre compilee ! |
|
| 1189 | + if (!isset($GLOBALS['spip_pipeline'][$nom])) { // creer le pipeline eventuel |
|
| 1190 | + $GLOBALS['spip_pipeline'][$nom] = ''; |
|
| 1191 | + } |
|
| 1192 | + if ($action) { |
|
| 1193 | + if (!str_contains($GLOBALS['spip_pipeline'][$nom], (string) "|$prefix$action")) { |
|
| 1194 | + $GLOBALS['spip_pipeline'][$nom] = preg_replace( |
|
| 1195 | + ',(\|\||$),', |
|
| 1196 | + "|$prefix$action\\1", |
|
| 1197 | + $GLOBALS['spip_pipeline'][$nom], |
|
| 1198 | + 1 |
|
| 1199 | + ); |
|
| 1200 | + } |
|
| 1201 | + if (isset($pipe['inclure'])) { |
|
| 1202 | + $GLOBALS['spip_matrice']["$prefix$action"] = |
|
| 1203 | + "$root_dir_type:$plug/" . $pipe['inclure']; |
|
| 1204 | + } |
|
| 1205 | + } |
|
| 1206 | + } |
|
| 1207 | + } |
|
| 1208 | + if (isset($info['genie']) && (is_countable($info['genie']) ? count($info['genie']) : 0)) { |
|
| 1209 | + if (!isset($prepend_code['taches_generales_cron'])) { |
|
| 1210 | + $prepend_code['taches_generales_cron'] = ''; |
|
| 1211 | + } |
|
| 1212 | + foreach ($info['genie'] as $genie) { |
|
| 1213 | + $nom = $prefix . $genie['nom']; |
|
| 1214 | + $periode = max(60, intval($genie['periode'])); |
|
| 1215 | + if (charger_fonction($nom, 'genie', true)) { |
|
| 1216 | + $prepend_code['taches_generales_cron'] .= "\$val['$nom'] = $periode;\n"; |
|
| 1217 | + } else { |
|
| 1218 | + spip_log("Fonction genie_$nom introuvable", _LOG_ERREUR); |
|
| 1219 | + } |
|
| 1220 | + } |
|
| 1221 | + } |
|
| 1222 | + if (isset($info['style']) && (is_countable($info['style']) ? count($info['style']) : 0)) { |
|
| 1223 | + if (!isset($prepend_code['insert_head_css'])) { |
|
| 1224 | + $prepend_code['insert_head_css'] = ''; |
|
| 1225 | + } |
|
| 1226 | + if (!isset($prepend_code['header_prive_css'])) { |
|
| 1227 | + $prepend_code['header_prive_css'] = ''; |
|
| 1228 | + } |
|
| 1229 | + foreach ($info['style'] as $style) { |
|
| 1230 | + if (isset($style['path']) && $style['path']) { |
|
| 1231 | + $code = "if (\$f=timestamp(direction_css(find_in_path('" . addslashes($style['path']) . "')))) "; |
|
| 1232 | + } else { |
|
| 1233 | + $code = "if (\$f='" . addslashes($style['url']) . "') "; |
|
| 1234 | + } |
|
| 1235 | + $code .= "\$val .= '<link rel=\"stylesheet\" href=\"'.\$f.'\" type=\"text/css\""; |
|
| 1236 | + if (isset($style['media']) && strlen($style['media'])) { |
|
| 1237 | + $code .= ' media="' . addslashes($style['media']) . '"'; |
|
| 1238 | + } |
|
| 1239 | + $code .= "/>';\n"; |
|
| 1240 | + if ($style['type'] != 'prive') { |
|
| 1241 | + $prepend_code['insert_head_css'] .= $code; |
|
| 1242 | + } |
|
| 1243 | + if ($style['type'] != 'public') { |
|
| 1244 | + $prepend_code['header_prive_css'] .= $code; |
|
| 1245 | + } |
|
| 1246 | + } |
|
| 1247 | + } |
|
| 1248 | + if (!isset($prepend_code['insert_head'])) { |
|
| 1249 | + $prepend_code['insert_head'] = ''; |
|
| 1250 | + } |
|
| 1251 | + if (!isset($prepend_code['header_prive'])) { |
|
| 1252 | + $prepend_code['header_prive'] = ''; |
|
| 1253 | + } |
|
| 1254 | + if (isset($info['script']) && (is_countable($info['script']) ? count($info['script']) : 0)) { |
|
| 1255 | + foreach ($info['script'] as $script) { |
|
| 1256 | + if (isset($script['path']) && $script['path']) { |
|
| 1257 | + $code = "if (\$f=timestamp(find_in_path('" . addslashes($script['path']) . "'))) "; |
|
| 1258 | + } else { |
|
| 1259 | + $code = "if (\$f='" . addslashes($script['url']) . "') "; |
|
| 1260 | + } |
|
| 1261 | + $code .= "\$val .= '<script src=\"'.\$f.'\" type=\"text/javascript\"></script>';\n"; |
|
| 1262 | + if ($script['type'] != 'prive') { |
|
| 1263 | + $prepend_code['insert_head'] .= $code; |
|
| 1264 | + } |
|
| 1265 | + if ($script['type'] != 'public') { |
|
| 1266 | + $prepend_code['header_prive'] .= $code; |
|
| 1267 | + } |
|
| 1268 | + } |
|
| 1269 | + } |
|
| 1270 | + } |
|
| 1271 | + } |
|
| 1272 | + |
|
| 1273 | + $prepend_code['insert_head'] = |
|
| 1274 | + "include_once_check(_DIR_RESTREINT . 'inc/pipelines.php');\n" |
|
| 1275 | + . "\$val = minipipe('f_jQuery', \$val);\n" |
|
| 1276 | + . $prepend_code['insert_head']; |
|
| 1277 | + $prepend_code['header_prive'] = |
|
| 1278 | + "include_once_check(_DIR_RESTREINT . 'inc/pipelines_ecrire.php');\n" |
|
| 1279 | + . "\$val = minipipe('f_jQuery_prive', \$val);\n" |
|
| 1280 | + . $prepend_code['header_prive']; |
|
| 1281 | + |
|
| 1282 | + // on ajoute les pipe qui ont ete recenses manquants |
|
| 1283 | + foreach ($liste_pipe_manquants as $add_pipe) { |
|
| 1284 | + if (!isset($GLOBALS['spip_pipeline'][$add_pipe])) { |
|
| 1285 | + $GLOBALS['spip_pipeline'][$add_pipe] = ''; |
|
| 1286 | + } |
|
| 1287 | + } |
|
| 1288 | + |
|
| 1289 | + return $prepend_code; |
|
| 1290 | 1290 | } |
| 1291 | 1291 | |
| 1292 | 1292 | /** |
@@ -1313,62 +1313,62 @@ discard block |
||
| 1313 | 1313 | **/ |
| 1314 | 1314 | function pipeline_precompile($prepend_code = []) { |
| 1315 | 1315 | |
| 1316 | - $all_pipes = $all_pipes_end = ''; |
|
| 1317 | - if (!empty($GLOBALS['spip_pipeline']['all'])) { |
|
| 1318 | - $a = explode('||', $GLOBALS['spip_pipeline']['all'], 2); |
|
| 1319 | - unset($GLOBALS['spip_pipeline']['all']); |
|
| 1320 | - $all_pipes = trim(array_shift($a)); |
|
| 1321 | - if ($all_pipes) { |
|
| 1322 | - $all_pipes = '|' . ltrim($all_pipes, '|'); |
|
| 1323 | - } |
|
| 1324 | - if (count($a)) { |
|
| 1325 | - $all_pipes_end = '||' . array_shift($a); |
|
| 1326 | - } |
|
| 1327 | - } |
|
| 1328 | - $content = ''; |
|
| 1329 | - foreach ($GLOBALS['spip_pipeline'] as $action => $pipeline) { |
|
| 1330 | - $s_inc = ''; |
|
| 1331 | - $s_call = ''; |
|
| 1332 | - if ($all_pipes) { |
|
| 1333 | - $pipeline = preg_replace(',(\|\||$),', "$all_pipes\\1", $pipeline, 1); |
|
| 1334 | - } |
|
| 1335 | - if ($all_pipes_end) { |
|
| 1336 | - $pipeline .= $all_pipes_end; |
|
| 1337 | - } |
|
| 1338 | - $pipe = array_filter(explode('|', $pipeline)); |
|
| 1339 | - // Eclater le pipeline en filtres et appliquer chaque filtre |
|
| 1340 | - foreach ($pipe as $fonc) { |
|
| 1341 | - $fonc = trim($fonc); |
|
| 1342 | - $s_call .= '$val = minipipe(\'' . $fonc . '\', $val);' . "\n"; |
|
| 1343 | - if (isset($GLOBALS['spip_matrice'][$fonc])) { |
|
| 1344 | - $file = $GLOBALS['spip_matrice'][$fonc]; |
|
| 1345 | - $file = "'$file'"; |
|
| 1346 | - // si un _DIR_XXX: est dans la chaine, on extrait la constante |
|
| 1347 | - if (preg_match(',(_(DIR|ROOT)_[A-Z_]+):,Ums', $file, $regs)) { |
|
| 1348 | - $dir = $regs[1]; |
|
| 1349 | - $root_dir = str_replace('_DIR_', '_ROOT_', $dir); |
|
| 1350 | - if (defined($root_dir)) { |
|
| 1351 | - $dir = $root_dir; |
|
| 1352 | - } |
|
| 1353 | - $file = str_replace($regs[0], "'." . $dir . ".'", $file); |
|
| 1354 | - $file = str_replace("''.", '', $file); |
|
| 1355 | - $file = str_replace(constant($dir), '', $file); |
|
| 1356 | - } |
|
| 1357 | - $s_inc .= "include_once_check($file);\n"; |
|
| 1358 | - } |
|
| 1359 | - } |
|
| 1360 | - if (strlen($s_inc)) { |
|
| 1361 | - $s_inc = "static \$inc=null;\nif (!\$inc){\n$s_inc\$inc=true;\n}\n"; |
|
| 1362 | - } |
|
| 1363 | - $content .= "// Pipeline $action \n" |
|
| 1364 | - . "function execute_pipeline_$action(&\$val){\n" |
|
| 1365 | - . $s_inc |
|
| 1366 | - . ((isset($prepend_code[$action]) && strlen($prepend_code[$action])) ? trim($prepend_code[$action]) . "\n" : '') |
|
| 1367 | - . $s_call |
|
| 1368 | - . "return \$val;\n}\n"; |
|
| 1369 | - } |
|
| 1370 | - ecrire_fichier_php(_CACHE_PIPELINES, $content); |
|
| 1371 | - clear_path_cache(); |
|
| 1316 | + $all_pipes = $all_pipes_end = ''; |
|
| 1317 | + if (!empty($GLOBALS['spip_pipeline']['all'])) { |
|
| 1318 | + $a = explode('||', $GLOBALS['spip_pipeline']['all'], 2); |
|
| 1319 | + unset($GLOBALS['spip_pipeline']['all']); |
|
| 1320 | + $all_pipes = trim(array_shift($a)); |
|
| 1321 | + if ($all_pipes) { |
|
| 1322 | + $all_pipes = '|' . ltrim($all_pipes, '|'); |
|
| 1323 | + } |
|
| 1324 | + if (count($a)) { |
|
| 1325 | + $all_pipes_end = '||' . array_shift($a); |
|
| 1326 | + } |
|
| 1327 | + } |
|
| 1328 | + $content = ''; |
|
| 1329 | + foreach ($GLOBALS['spip_pipeline'] as $action => $pipeline) { |
|
| 1330 | + $s_inc = ''; |
|
| 1331 | + $s_call = ''; |
|
| 1332 | + if ($all_pipes) { |
|
| 1333 | + $pipeline = preg_replace(',(\|\||$),', "$all_pipes\\1", $pipeline, 1); |
|
| 1334 | + } |
|
| 1335 | + if ($all_pipes_end) { |
|
| 1336 | + $pipeline .= $all_pipes_end; |
|
| 1337 | + } |
|
| 1338 | + $pipe = array_filter(explode('|', $pipeline)); |
|
| 1339 | + // Eclater le pipeline en filtres et appliquer chaque filtre |
|
| 1340 | + foreach ($pipe as $fonc) { |
|
| 1341 | + $fonc = trim($fonc); |
|
| 1342 | + $s_call .= '$val = minipipe(\'' . $fonc . '\', $val);' . "\n"; |
|
| 1343 | + if (isset($GLOBALS['spip_matrice'][$fonc])) { |
|
| 1344 | + $file = $GLOBALS['spip_matrice'][$fonc]; |
|
| 1345 | + $file = "'$file'"; |
|
| 1346 | + // si un _DIR_XXX: est dans la chaine, on extrait la constante |
|
| 1347 | + if (preg_match(',(_(DIR|ROOT)_[A-Z_]+):,Ums', $file, $regs)) { |
|
| 1348 | + $dir = $regs[1]; |
|
| 1349 | + $root_dir = str_replace('_DIR_', '_ROOT_', $dir); |
|
| 1350 | + if (defined($root_dir)) { |
|
| 1351 | + $dir = $root_dir; |
|
| 1352 | + } |
|
| 1353 | + $file = str_replace($regs[0], "'." . $dir . ".'", $file); |
|
| 1354 | + $file = str_replace("''.", '', $file); |
|
| 1355 | + $file = str_replace(constant($dir), '', $file); |
|
| 1356 | + } |
|
| 1357 | + $s_inc .= "include_once_check($file);\n"; |
|
| 1358 | + } |
|
| 1359 | + } |
|
| 1360 | + if (strlen($s_inc)) { |
|
| 1361 | + $s_inc = "static \$inc=null;\nif (!\$inc){\n$s_inc\$inc=true;\n}\n"; |
|
| 1362 | + } |
|
| 1363 | + $content .= "// Pipeline $action \n" |
|
| 1364 | + . "function execute_pipeline_$action(&\$val){\n" |
|
| 1365 | + . $s_inc |
|
| 1366 | + . ((isset($prepend_code[$action]) && strlen($prepend_code[$action])) ? trim($prepend_code[$action]) . "\n" : '') |
|
| 1367 | + . $s_call |
|
| 1368 | + . "return \$val;\n}\n"; |
|
| 1369 | + } |
|
| 1370 | + ecrire_fichier_php(_CACHE_PIPELINES, $content); |
|
| 1371 | + clear_path_cache(); |
|
| 1372 | 1372 | } |
| 1373 | 1373 | |
| 1374 | 1374 | |
@@ -1381,12 +1381,12 @@ discard block |
||
| 1381 | 1381 | * true si le plugin est actif, false sinon |
| 1382 | 1382 | **/ |
| 1383 | 1383 | function plugin_est_installe($plug_path) { |
| 1384 | - $plugin_installes = isset($GLOBALS['meta']['plugin_installes']) ? unserialize($GLOBALS['meta']['plugin_installes']) : []; |
|
| 1385 | - if (!$plugin_installes) { |
|
| 1386 | - return false; |
|
| 1387 | - } |
|
| 1384 | + $plugin_installes = isset($GLOBALS['meta']['plugin_installes']) ? unserialize($GLOBALS['meta']['plugin_installes']) : []; |
|
| 1385 | + if (!$plugin_installes) { |
|
| 1386 | + return false; |
|
| 1387 | + } |
|
| 1388 | 1388 | |
| 1389 | - return in_array($plug_path, $plugin_installes); |
|
| 1389 | + return in_array($plug_path, $plugin_installes); |
|
| 1390 | 1390 | } |
| 1391 | 1391 | |
| 1392 | 1392 | |
@@ -1399,46 +1399,46 @@ discard block |
||
| 1399 | 1399 | * @uses plugins_installer_dist() |
| 1400 | 1400 | **/ |
| 1401 | 1401 | function plugin_installes_meta() { |
| 1402 | - if (isset($GLOBALS['fichier_php_compile_recent'])) { |
|
| 1403 | - // attendre eventuellement l'invalidation du cache opcode |
|
| 1404 | - spip_attend_invalidation_opcode_cache($GLOBALS['fichier_php_compile_recent']); |
|
| 1405 | - } |
|
| 1406 | - |
|
| 1407 | - $installer_plugins = charger_fonction('installer', 'plugins'); |
|
| 1408 | - $meta_plug_installes = []; |
|
| 1409 | - foreach (unserialize($GLOBALS['meta']['plugin']) as $prefix => $resume) { |
|
| 1410 | - if ($plug = $resume['dir']) { |
|
| 1411 | - $infos = $installer_plugins($plug, 'install', $resume['dir_type']); |
|
| 1412 | - if ($infos) { |
|
| 1413 | - if (!is_array($infos) || $infos['install_test'][0]) { |
|
| 1414 | - $meta_plug_installes[] = $plug; |
|
| 1415 | - } |
|
| 1416 | - if (is_array($infos)) { |
|
| 1417 | - [$ok, $trace] = $infos['install_test']; |
|
| 1418 | - $titre = _T('plugin_titre_installation', ['plugin' => typo($infos['nom'])]); |
|
| 1419 | - $result = ($ok ? ((isset($infos['upgrade']) && $infos['upgrade']) ? _T('plugin_info_upgrade_ok') : _T('plugin_info_install_ok')) : _T('avis_operation_echec')); |
|
| 1420 | - if (_IS_CLI) { |
|
| 1421 | - include_spip('inc/filtres'); |
|
| 1422 | - $trace = ltrim(textebrut($trace) . "\n" . $result); |
|
| 1423 | - $trace = ' ' . str_replace("\n", "\n ", $trace); |
|
| 1424 | - echo "\n" . ($ok ? 'OK ' : '/!\ ') . textebrut($titre) . "\n", |
|
| 1425 | - $trace, |
|
| 1426 | - "\n"; |
|
| 1427 | - } |
|
| 1428 | - else { |
|
| 1429 | - include_spip('inc/filtres_boites'); |
|
| 1430 | - echo "<div class='install-plugins svp_retour'>" |
|
| 1431 | - . boite_ouvrir($titre, ($ok ? 'success' : 'error')) |
|
| 1432 | - . $trace |
|
| 1433 | - . "<div class='result'>$result</div>" |
|
| 1434 | - . boite_fermer() |
|
| 1435 | - . '</div>'; |
|
| 1436 | - } |
|
| 1437 | - } |
|
| 1438 | - } |
|
| 1439 | - } |
|
| 1440 | - } |
|
| 1441 | - ecrire_meta('plugin_installes', serialize($meta_plug_installes), 'non'); |
|
| 1402 | + if (isset($GLOBALS['fichier_php_compile_recent'])) { |
|
| 1403 | + // attendre eventuellement l'invalidation du cache opcode |
|
| 1404 | + spip_attend_invalidation_opcode_cache($GLOBALS['fichier_php_compile_recent']); |
|
| 1405 | + } |
|
| 1406 | + |
|
| 1407 | + $installer_plugins = charger_fonction('installer', 'plugins'); |
|
| 1408 | + $meta_plug_installes = []; |
|
| 1409 | + foreach (unserialize($GLOBALS['meta']['plugin']) as $prefix => $resume) { |
|
| 1410 | + if ($plug = $resume['dir']) { |
|
| 1411 | + $infos = $installer_plugins($plug, 'install', $resume['dir_type']); |
|
| 1412 | + if ($infos) { |
|
| 1413 | + if (!is_array($infos) || $infos['install_test'][0]) { |
|
| 1414 | + $meta_plug_installes[] = $plug; |
|
| 1415 | + } |
|
| 1416 | + if (is_array($infos)) { |
|
| 1417 | + [$ok, $trace] = $infos['install_test']; |
|
| 1418 | + $titre = _T('plugin_titre_installation', ['plugin' => typo($infos['nom'])]); |
|
| 1419 | + $result = ($ok ? ((isset($infos['upgrade']) && $infos['upgrade']) ? _T('plugin_info_upgrade_ok') : _T('plugin_info_install_ok')) : _T('avis_operation_echec')); |
|
| 1420 | + if (_IS_CLI) { |
|
| 1421 | + include_spip('inc/filtres'); |
|
| 1422 | + $trace = ltrim(textebrut($trace) . "\n" . $result); |
|
| 1423 | + $trace = ' ' . str_replace("\n", "\n ", $trace); |
|
| 1424 | + echo "\n" . ($ok ? 'OK ' : '/!\ ') . textebrut($titre) . "\n", |
|
| 1425 | + $trace, |
|
| 1426 | + "\n"; |
|
| 1427 | + } |
|
| 1428 | + else { |
|
| 1429 | + include_spip('inc/filtres_boites'); |
|
| 1430 | + echo "<div class='install-plugins svp_retour'>" |
|
| 1431 | + . boite_ouvrir($titre, ($ok ? 'success' : 'error')) |
|
| 1432 | + . $trace |
|
| 1433 | + . "<div class='result'>$result</div>" |
|
| 1434 | + . boite_fermer() |
|
| 1435 | + . '</div>'; |
|
| 1436 | + } |
|
| 1437 | + } |
|
| 1438 | + } |
|
| 1439 | + } |
|
| 1440 | + } |
|
| 1441 | + ecrire_meta('plugin_installes', serialize($meta_plug_installes), 'non'); |
|
| 1442 | 1442 | } |
| 1443 | 1443 | |
| 1444 | 1444 | /** |
@@ -1452,29 +1452,29 @@ discard block |
||
| 1452 | 1452 | * Commentaire : code écrit en tout début de fichier, après la balise PHP ouvrante |
| 1453 | 1453 | **/ |
| 1454 | 1454 | function ecrire_fichier_php($nom, $contenu, $comment = '') { |
| 1455 | - if (!isset($GLOBALS['fichier_php_compile_recent'])) { |
|
| 1456 | - $GLOBALS['fichier_php_compile_recent'] = 0; |
|
| 1457 | - } |
|
| 1458 | - |
|
| 1459 | - $contenu = '<' . '?php' . "\n" . $comment . "\nif (defined('_ECRIRE_INC_VERSION')) {\n" . $contenu . "}\n?" . '>'; |
|
| 1460 | - // si un fichier existe deja on verifie que son contenu change avant de l'ecraser |
|
| 1461 | - // si pas de modif on ne touche pas au fichier initial |
|
| 1462 | - if (file_exists($nom)) { |
|
| 1463 | - if (str_ends_with($nom, '.php')) { |
|
| 1464 | - $fichier_tmp = substr($nom, 0, -4) . '.tmp.php'; |
|
| 1465 | - } |
|
| 1466 | - else { |
|
| 1467 | - $fichier_tmp = $nom . '.tmp'; |
|
| 1468 | - } |
|
| 1469 | - file_put_contents($fichier_tmp, $contenu); |
|
| 1470 | - if (md5_file($nom) == md5_file($fichier_tmp)) { |
|
| 1471 | - $GLOBALS['fichier_php_compile_recent'] = max($GLOBALS['fichier_php_compile_recent'], filemtime($nom)); |
|
| 1472 | - @unlink($fichier_tmp); |
|
| 1473 | - return; |
|
| 1474 | - } |
|
| 1475 | - @unlink($fichier_tmp); |
|
| 1476 | - } |
|
| 1477 | - ecrire_fichier($nom, $contenu); |
|
| 1478 | - $GLOBALS['fichier_php_compile_recent'] = max($GLOBALS['fichier_php_compile_recent'], filemtime($nom)); |
|
| 1479 | - spip_clear_opcode_cache(realpath($nom)); |
|
| 1455 | + if (!isset($GLOBALS['fichier_php_compile_recent'])) { |
|
| 1456 | + $GLOBALS['fichier_php_compile_recent'] = 0; |
|
| 1457 | + } |
|
| 1458 | + |
|
| 1459 | + $contenu = '<' . '?php' . "\n" . $comment . "\nif (defined('_ECRIRE_INC_VERSION')) {\n" . $contenu . "}\n?" . '>'; |
|
| 1460 | + // si un fichier existe deja on verifie que son contenu change avant de l'ecraser |
|
| 1461 | + // si pas de modif on ne touche pas au fichier initial |
|
| 1462 | + if (file_exists($nom)) { |
|
| 1463 | + if (str_ends_with($nom, '.php')) { |
|
| 1464 | + $fichier_tmp = substr($nom, 0, -4) . '.tmp.php'; |
|
| 1465 | + } |
|
| 1466 | + else { |
|
| 1467 | + $fichier_tmp = $nom . '.tmp'; |
|
| 1468 | + } |
|
| 1469 | + file_put_contents($fichier_tmp, $contenu); |
|
| 1470 | + if (md5_file($nom) == md5_file($fichier_tmp)) { |
|
| 1471 | + $GLOBALS['fichier_php_compile_recent'] = max($GLOBALS['fichier_php_compile_recent'], filemtime($nom)); |
|
| 1472 | + @unlink($fichier_tmp); |
|
| 1473 | + return; |
|
| 1474 | + } |
|
| 1475 | + @unlink($fichier_tmp); |
|
| 1476 | + } |
|
| 1477 | + ecrire_fichier($nom, $contenu); |
|
| 1478 | + $GLOBALS['fichier_php_compile_recent'] = max($GLOBALS['fichier_php_compile_recent'], filemtime($nom)); |
|
| 1479 | + spip_clear_opcode_cache(realpath($nom)); |
|
| 1480 | 1480 | } |
@@ -21,7 +21,7 @@ discard block |
||
| 21 | 21 | |
| 22 | 22 | /** l'adresse du repertoire de telechargement et de decompactage des plugins */ |
| 23 | 23 | if (!defined('_DIR_PLUGINS_AUTO')) { |
| 24 | - define('_DIR_PLUGINS_AUTO', _DIR_PLUGINS . 'auto/'); |
|
| 24 | + define('_DIR_PLUGINS_AUTO', _DIR_PLUGINS.'auto/'); |
|
| 25 | 25 | } |
| 26 | 26 | |
| 27 | 27 | #include_spip('inc/texte'); // ????? Appelle public/parametrer trop tot avant la reconstruction du chemin des plugins. |
@@ -378,7 +378,7 @@ discard block |
||
| 378 | 378 | if ($dir) { |
| 379 | 379 | $dir .= '/'; |
| 380 | 380 | } |
| 381 | - $dir .= 'procure:' . $procure['nom']; |
|
| 381 | + $dir .= 'procure:'.$procure['nom']; |
|
| 382 | 382 | |
| 383 | 383 | $procure['etat'] = '?'; |
| 384 | 384 | $procure['dir_type'] = $resume['dir_type']; |
@@ -558,7 +558,7 @@ discard block |
||
| 558 | 558 | $plug = $resume['dir']; |
| 559 | 559 | $k = $infos[$dir_type][$plug]; |
| 560 | 560 | |
| 561 | - $plug = constant($dir_type) . $plug; |
|
| 561 | + $plug = constant($dir_type).$plug; |
|
| 562 | 562 | if (!isset($msg[$p])) { |
| 563 | 563 | if (isset($resume['erreur']) && $resume['erreur']) { |
| 564 | 564 | $msg[$p] = [$resume['erreur']]; |
@@ -601,10 +601,10 @@ discard block |
||
| 601 | 601 | $list = $raw ? [] : $GLOBALS['meta']['plugin_erreur_activation']; |
| 602 | 602 | } elseif (!$raw) { |
| 603 | 603 | foreach ($list as $plug => $msg) { |
| 604 | - $list[$plug] = '<li>' . _T('plugin_impossible_activer', ['plugin' => $plug]) |
|
| 605 | - . '<ul><li>' . implode('</li><li>', $msg) . '</li></ul></li>'; |
|
| 604 | + $list[$plug] = '<li>'._T('plugin_impossible_activer', ['plugin' => $plug]) |
|
| 605 | + . '<ul><li>'.implode('</li><li>', $msg).'</li></ul></li>'; |
|
| 606 | 606 | } |
| 607 | - $list = '<ul>' . join("\n", $list) . '</ul>'; |
|
| 607 | + $list = '<ul>'.join("\n", $list).'</ul>'; |
|
| 608 | 608 | } |
| 609 | 609 | if ($raz) { |
| 610 | 610 | effacer_meta('plugin_erreur_activation'); |
@@ -718,13 +718,13 @@ discard block |
||
| 718 | 718 | if ($minimum_inclus && spip_version_compare($version, $minimum, '<')) { |
| 719 | 719 | return _T("plugin_{$balise}_{$type}", [ |
| 720 | 720 | 'plugin' => $nom, |
| 721 | - 'version' => ' ≥ ' . $minimum |
|
| 721 | + 'version' => ' ≥ '.$minimum |
|
| 722 | 722 | ]); |
| 723 | 723 | } |
| 724 | 724 | if (!$minimum_inclus && spip_version_compare($version, $minimum, '<=')) { |
| 725 | 725 | return _T("plugin_{$balise}_{$type}", [ |
| 726 | 726 | 'plugin' => $nom, |
| 727 | - 'version' => ' > ' . $minimum |
|
| 727 | + 'version' => ' > '.$minimum |
|
| 728 | 728 | ]); |
| 729 | 729 | } |
| 730 | 730 | } |
@@ -733,13 +733,13 @@ discard block |
||
| 733 | 733 | if ($maximum_inclus && spip_version_compare($version, $maximum, '>')) { |
| 734 | 734 | return _T("plugin_{$balise}_{$type}", [ |
| 735 | 735 | 'plugin' => $nom, |
| 736 | - 'version' => ' ≤ ' . $maximum |
|
| 736 | + 'version' => ' ≤ '.$maximum |
|
| 737 | 737 | ]); |
| 738 | 738 | } |
| 739 | 739 | if (!$maximum_inclus && spip_version_compare($version, $maximum, '>=')) { |
| 740 | 740 | return _T("plugin_{$balise}_plugin", [ |
| 741 | 741 | 'plugin' => $nom, |
| 742 | - 'version' => ' < ' . $maximum |
|
| 742 | + 'version' => ' < '.$maximum |
|
| 743 | 743 | ]); |
| 744 | 744 | } |
| 745 | 745 | } |
@@ -758,7 +758,7 @@ discard block |
||
| 758 | 758 | include_spip('inc/charger_plugin'); |
| 759 | 759 | $url = '<br />' . bouton_telechargement_plugin($url, 'lib'); |
| 760 | 760 | }*/ |
| 761 | - return _T('plugin_necessite_lib', ['lib' => $lib]) . " <a href='$url'>$url</a>"; |
|
| 761 | + return _T('plugin_necessite_lib', ['lib' => $lib])." <a href='$url'>$url</a>"; |
|
| 762 | 762 | } |
| 763 | 763 | |
| 764 | 764 | |
@@ -857,7 +857,7 @@ discard block |
||
| 857 | 857 | foreach ($plugin_valides as $p => $resume) { |
| 858 | 858 | // Les headers ne doivent pas indiquer les versions des extensions PHP, ni la version PHP |
| 859 | 859 | if (!str_starts_with($p, 'PHP:') && $p !== 'PHP') { |
| 860 | - $header[] = $p . ($resume['version'] ? '(' . $resume['version'] . ')' : ''); |
|
| 860 | + $header[] = $p.($resume['version'] ? '('.$resume['version'].')' : ''); |
|
| 861 | 861 | } |
| 862 | 862 | if ($resume['dir']) { |
| 863 | 863 | foreach ($infos[$resume['dir_type']][$resume['dir']]['lib'] as $l) { |
@@ -882,11 +882,11 @@ discard block |
||
| 882 | 882 | $header = strtolower(implode(',', $header)); |
| 883 | 883 | if (!isset($GLOBALS['spip_header_silencieux']) || !$GLOBALS['spip_header_silencieux']) { |
| 884 | 884 | ecrire_fichier( |
| 885 | - _DIR_VAR . 'config.txt', |
|
| 886 | - (defined('_HEADER_COMPOSED_BY') ? _HEADER_COMPOSED_BY : 'Composed-By: SPIP') . ' ' . $GLOBALS['spip_version_affichee'] . ' @ www.spip.net + ' . $header |
|
| 885 | + _DIR_VAR.'config.txt', |
|
| 886 | + (defined('_HEADER_COMPOSED_BY') ? _HEADER_COMPOSED_BY : 'Composed-By: SPIP').' '.$GLOBALS['spip_version_affichee'].' @ www.spip.net + '.$header |
|
| 887 | 887 | ); |
| 888 | 888 | } else { |
| 889 | - @unlink(_DIR_VAR . 'config.txt'); |
|
| 889 | + @unlink(_DIR_VAR.'config.txt'); |
|
| 890 | 890 | } |
| 891 | 891 | // generer charger_plugins_chemin.php |
| 892 | 892 | plugins_precompile_chemin($plugin_valides, $ordre); |
@@ -940,7 +940,7 @@ discard block |
||
| 940 | 940 | // definir le plugin, donc le path avant l'include du fichier options |
| 941 | 941 | // permet de faire des include_spip pour attraper un inc_ du plugin |
| 942 | 942 | |
| 943 | - $dir = $dir_type . ".'" . $plug . "/'"; |
|
| 943 | + $dir = $dir_type.".'".$plug."/'"; |
|
| 944 | 944 | |
| 945 | 945 | $prefix = strtoupper(preg_replace(',\W,', '_', $info['prefix'])); |
| 946 | 946 | if ( |
@@ -951,7 +951,7 @@ discard block |
||
| 951 | 951 | if (!$info['chemin']) { |
| 952 | 952 | $chemins['public'][] = "_DIR_PLUGIN_$prefix"; |
| 953 | 953 | $chemins['prive'][] = "_DIR_PLUGIN_$prefix"; |
| 954 | - if (is_dir(constant($dir_type) . $plug . '/squelettes/')) { |
|
| 954 | + if (is_dir(constant($dir_type).$plug.'/squelettes/')) { |
|
| 955 | 955 | $chemins['public'][] = "_DIR_PLUGIN_{$prefix}.'squelettes/'"; |
| 956 | 956 | } |
| 957 | 957 | } |
@@ -973,13 +973,13 @@ discard block |
||
| 973 | 973 | $dir = ''; |
| 974 | 974 | } |
| 975 | 975 | if (strlen($dir)) { |
| 976 | - $dir = rtrim($dir, '/') . '/'; |
|
| 976 | + $dir = rtrim($dir, '/').'/'; |
|
| 977 | 977 | } |
| 978 | 978 | if (!isset($chemin['type']) || $chemin['type'] == 'public') { |
| 979 | - $chemins['public'][] = "_DIR_PLUGIN_$prefix" . (strlen($dir) ? ".'$dir'" : ''); |
|
| 979 | + $chemins['public'][] = "_DIR_PLUGIN_$prefix".(strlen($dir) ? ".'$dir'" : ''); |
|
| 980 | 980 | } |
| 981 | 981 | if (!isset($chemin['type']) || $chemin['type'] == 'prive') { |
| 982 | - $chemins['prive'][] = "_DIR_PLUGIN_$prefix" . (strlen($dir) ? ".'$dir'" : ''); |
|
| 982 | + $chemins['prive'][] = "_DIR_PLUGIN_$prefix".(strlen($dir) ? ".'$dir'" : ''); |
|
| 983 | 983 | } |
| 984 | 984 | } |
| 985 | 985 | } |
@@ -988,11 +988,11 @@ discard block |
||
| 988 | 988 | } |
| 989 | 989 | } |
| 990 | 990 | if (count($chemins['public']) || count($chemins['prive'])) { |
| 991 | - $contenu .= 'if (_DIR_RESTREINT) _chemin([' . implode( |
|
| 991 | + $contenu .= 'if (_DIR_RESTREINT) _chemin(['.implode( |
|
| 992 | 992 | ',', |
| 993 | 993 | array_reverse($chemins['public']) |
| 994 | - ) . "]);\n" |
|
| 995 | - . 'else _chemin([' . implode(',', array_reverse($chemins['prive'])) . "]);\n"; |
|
| 994 | + )."]);\n" |
|
| 995 | + . 'else _chemin(['.implode(',', array_reverse($chemins['prive']))."]);\n"; |
|
| 996 | 996 | } |
| 997 | 997 | |
| 998 | 998 | ecrire_fichier_php(_CACHE_PLUGINS_PATH, $contenu); |
@@ -1041,7 +1041,7 @@ discard block |
||
| 1041 | 1041 | && !str_contains($dir, ':') |
| 1042 | 1042 | && file_exists("$dir$plug/paquet.xml") // uniquement pour les paquet.xml |
| 1043 | 1043 | ) { |
| 1044 | - if (is_readable("$dir$plug/" . ($file = $info['prefix'] . '_' . $charge . '.php'))) { |
|
| 1044 | + if (is_readable("$dir$plug/".($file = $info['prefix'].'_'.$charge.'.php'))) { |
|
| 1045 | 1045 | $info[$charge] = [$file]; |
| 1046 | 1046 | } |
| 1047 | 1047 | } |
@@ -1056,7 +1056,7 @@ discard block |
||
| 1056 | 1056 | ) { |
| 1057 | 1057 | unset($info[$charge][$k]); |
| 1058 | 1058 | } else { |
| 1059 | - $_file = $root_dir_type . ".'$plug/$file'"; |
|
| 1059 | + $_file = $root_dir_type.".'$plug/$file'"; |
|
| 1060 | 1060 | $contenu[$charge] .= "include_once_check($_file);\n"; |
| 1061 | 1061 | } |
| 1062 | 1062 | } |
@@ -1066,7 +1066,7 @@ discard block |
||
| 1066 | 1066 | } |
| 1067 | 1067 | } |
| 1068 | 1068 | |
| 1069 | - $contenu['options'] = "define('_PLUGINS_HASH','" . md5($sign) . "');\n" . $contenu['options']; |
|
| 1069 | + $contenu['options'] = "define('_PLUGINS_HASH','".md5($sign)."');\n".$contenu['options']; |
|
| 1070 | 1070 | $contenu['fonctions'] .= plugin_ongletbouton('boutons_plugins', $boutons) |
| 1071 | 1071 | . plugin_ongletbouton('onglets_plugins', $onglets); |
| 1072 | 1072 | |
@@ -1101,12 +1101,12 @@ discard block |
||
| 1101 | 1101 | define("_UPDATED_$nom", $val); |
| 1102 | 1102 | define("_UPDATED_md5_$nom", $md5); |
| 1103 | 1103 | } |
| 1104 | - $val = "unserialize('" . str_replace("'", "\'", $val) . "')"; |
|
| 1104 | + $val = "unserialize('".str_replace("'", "\'", $val)."')"; |
|
| 1105 | 1105 | |
| 1106 | 1106 | return |
| 1107 | 1107 | "if (!function_exists('$nom')) {\n" |
| 1108 | 1108 | . "function $nom(){return defined('_UPDATED_$nom')?unserialize(_UPDATED_$nom):$val;}\n" |
| 1109 | - . "function md5_$nom(){return defined('_UPDATED_md5_$nom')?_UPDATED_md5_$nom:'" . $md5 . "';}\n" |
|
| 1109 | + . "function md5_$nom(){return defined('_UPDATED_md5_$nom')?_UPDATED_md5_$nom:'".$md5."';}\n" |
|
| 1110 | 1110 | . "}\n"; |
| 1111 | 1111 | } |
| 1112 | 1112 | |
@@ -1129,7 +1129,7 @@ discard block |
||
| 1129 | 1129 | if (@is_readable(_CACHE_PLUGINS_OPT)) { |
| 1130 | 1130 | include_once(_CACHE_PLUGINS_OPT); |
| 1131 | 1131 | } else { |
| 1132 | - spip_log('pipelines desactives: impossible de produire ' . _CACHE_PLUGINS_OPT); |
|
| 1132 | + spip_log('pipelines desactives: impossible de produire '._CACHE_PLUGINS_OPT); |
|
| 1133 | 1133 | } |
| 1134 | 1134 | } |
| 1135 | 1135 | |
@@ -1166,7 +1166,7 @@ discard block |
||
| 1166 | 1166 | $dir_type = $plugin_valides[$p]['dir_type']; |
| 1167 | 1167 | $root_dir_type = str_replace('_DIR_', '_ROOT_', $dir_type); |
| 1168 | 1168 | $plug = $plugin_valides[$p]['dir']; |
| 1169 | - $prefix = (($info['prefix'] == 'spip') ? '' : $info['prefix'] . '_'); |
|
| 1169 | + $prefix = (($info['prefix'] == 'spip') ? '' : $info['prefix'].'_'); |
|
| 1170 | 1170 | if (isset($info['pipeline']) && is_array($info['pipeline'])) { |
| 1171 | 1171 | foreach ($info['pipeline'] as $pipe) { |
| 1172 | 1172 | $nom = $pipe['nom']; |
@@ -1200,7 +1200,7 @@ discard block |
||
| 1200 | 1200 | } |
| 1201 | 1201 | if (isset($pipe['inclure'])) { |
| 1202 | 1202 | $GLOBALS['spip_matrice']["$prefix$action"] = |
| 1203 | - "$root_dir_type:$plug/" . $pipe['inclure']; |
|
| 1203 | + "$root_dir_type:$plug/".$pipe['inclure']; |
|
| 1204 | 1204 | } |
| 1205 | 1205 | } |
| 1206 | 1206 | } |
@@ -1210,7 +1210,7 @@ discard block |
||
| 1210 | 1210 | $prepend_code['taches_generales_cron'] = ''; |
| 1211 | 1211 | } |
| 1212 | 1212 | foreach ($info['genie'] as $genie) { |
| 1213 | - $nom = $prefix . $genie['nom']; |
|
| 1213 | + $nom = $prefix.$genie['nom']; |
|
| 1214 | 1214 | $periode = max(60, intval($genie['periode'])); |
| 1215 | 1215 | if (charger_fonction($nom, 'genie', true)) { |
| 1216 | 1216 | $prepend_code['taches_generales_cron'] .= "\$val['$nom'] = $periode;\n"; |
@@ -1228,13 +1228,13 @@ discard block |
||
| 1228 | 1228 | } |
| 1229 | 1229 | foreach ($info['style'] as $style) { |
| 1230 | 1230 | if (isset($style['path']) && $style['path']) { |
| 1231 | - $code = "if (\$f=timestamp(direction_css(find_in_path('" . addslashes($style['path']) . "')))) "; |
|
| 1231 | + $code = "if (\$f=timestamp(direction_css(find_in_path('".addslashes($style['path'])."')))) "; |
|
| 1232 | 1232 | } else { |
| 1233 | - $code = "if (\$f='" . addslashes($style['url']) . "') "; |
|
| 1233 | + $code = "if (\$f='".addslashes($style['url'])."') "; |
|
| 1234 | 1234 | } |
| 1235 | 1235 | $code .= "\$val .= '<link rel=\"stylesheet\" href=\"'.\$f.'\" type=\"text/css\""; |
| 1236 | 1236 | if (isset($style['media']) && strlen($style['media'])) { |
| 1237 | - $code .= ' media="' . addslashes($style['media']) . '"'; |
|
| 1237 | + $code .= ' media="'.addslashes($style['media']).'"'; |
|
| 1238 | 1238 | } |
| 1239 | 1239 | $code .= "/>';\n"; |
| 1240 | 1240 | if ($style['type'] != 'prive') { |
@@ -1254,9 +1254,9 @@ discard block |
||
| 1254 | 1254 | if (isset($info['script']) && (is_countable($info['script']) ? count($info['script']) : 0)) { |
| 1255 | 1255 | foreach ($info['script'] as $script) { |
| 1256 | 1256 | if (isset($script['path']) && $script['path']) { |
| 1257 | - $code = "if (\$f=timestamp(find_in_path('" . addslashes($script['path']) . "'))) "; |
|
| 1257 | + $code = "if (\$f=timestamp(find_in_path('".addslashes($script['path'])."'))) "; |
|
| 1258 | 1258 | } else { |
| 1259 | - $code = "if (\$f='" . addslashes($script['url']) . "') "; |
|
| 1259 | + $code = "if (\$f='".addslashes($script['url'])."') "; |
|
| 1260 | 1260 | } |
| 1261 | 1261 | $code .= "\$val .= '<script src=\"'.\$f.'\" type=\"text/javascript\"></script>';\n"; |
| 1262 | 1262 | if ($script['type'] != 'prive') { |
@@ -1319,10 +1319,10 @@ discard block |
||
| 1319 | 1319 | unset($GLOBALS['spip_pipeline']['all']); |
| 1320 | 1320 | $all_pipes = trim(array_shift($a)); |
| 1321 | 1321 | if ($all_pipes) { |
| 1322 | - $all_pipes = '|' . ltrim($all_pipes, '|'); |
|
| 1322 | + $all_pipes = '|'.ltrim($all_pipes, '|'); |
|
| 1323 | 1323 | } |
| 1324 | 1324 | if (count($a)) { |
| 1325 | - $all_pipes_end = '||' . array_shift($a); |
|
| 1325 | + $all_pipes_end = '||'.array_shift($a); |
|
| 1326 | 1326 | } |
| 1327 | 1327 | } |
| 1328 | 1328 | $content = ''; |
@@ -1339,7 +1339,7 @@ discard block |
||
| 1339 | 1339 | // Eclater le pipeline en filtres et appliquer chaque filtre |
| 1340 | 1340 | foreach ($pipe as $fonc) { |
| 1341 | 1341 | $fonc = trim($fonc); |
| 1342 | - $s_call .= '$val = minipipe(\'' . $fonc . '\', $val);' . "\n"; |
|
| 1342 | + $s_call .= '$val = minipipe(\''.$fonc.'\', $val);'."\n"; |
|
| 1343 | 1343 | if (isset($GLOBALS['spip_matrice'][$fonc])) { |
| 1344 | 1344 | $file = $GLOBALS['spip_matrice'][$fonc]; |
| 1345 | 1345 | $file = "'$file'"; |
@@ -1350,7 +1350,7 @@ discard block |
||
| 1350 | 1350 | if (defined($root_dir)) { |
| 1351 | 1351 | $dir = $root_dir; |
| 1352 | 1352 | } |
| 1353 | - $file = str_replace($regs[0], "'." . $dir . ".'", $file); |
|
| 1353 | + $file = str_replace($regs[0], "'.".$dir.".'", $file); |
|
| 1354 | 1354 | $file = str_replace("''.", '', $file); |
| 1355 | 1355 | $file = str_replace(constant($dir), '', $file); |
| 1356 | 1356 | } |
@@ -1363,7 +1363,7 @@ discard block |
||
| 1363 | 1363 | $content .= "// Pipeline $action \n" |
| 1364 | 1364 | . "function execute_pipeline_$action(&\$val){\n" |
| 1365 | 1365 | . $s_inc |
| 1366 | - . ((isset($prepend_code[$action]) && strlen($prepend_code[$action])) ? trim($prepend_code[$action]) . "\n" : '') |
|
| 1366 | + . ((isset($prepend_code[$action]) && strlen($prepend_code[$action])) ? trim($prepend_code[$action])."\n" : '') |
|
| 1367 | 1367 | . $s_call |
| 1368 | 1368 | . "return \$val;\n}\n"; |
| 1369 | 1369 | } |
@@ -1419,9 +1419,9 @@ discard block |
||
| 1419 | 1419 | $result = ($ok ? ((isset($infos['upgrade']) && $infos['upgrade']) ? _T('plugin_info_upgrade_ok') : _T('plugin_info_install_ok')) : _T('avis_operation_echec')); |
| 1420 | 1420 | if (_IS_CLI) { |
| 1421 | 1421 | include_spip('inc/filtres'); |
| 1422 | - $trace = ltrim(textebrut($trace) . "\n" . $result); |
|
| 1423 | - $trace = ' ' . str_replace("\n", "\n ", $trace); |
|
| 1424 | - echo "\n" . ($ok ? 'OK ' : '/!\ ') . textebrut($titre) . "\n", |
|
| 1422 | + $trace = ltrim(textebrut($trace)."\n".$result); |
|
| 1423 | + $trace = ' '.str_replace("\n", "\n ", $trace); |
|
| 1424 | + echo "\n".($ok ? 'OK ' : '/!\ ').textebrut($titre)."\n", |
|
| 1425 | 1425 | $trace, |
| 1426 | 1426 | "\n"; |
| 1427 | 1427 | } |
@@ -1456,15 +1456,15 @@ discard block |
||
| 1456 | 1456 | $GLOBALS['fichier_php_compile_recent'] = 0; |
| 1457 | 1457 | } |
| 1458 | 1458 | |
| 1459 | - $contenu = '<' . '?php' . "\n" . $comment . "\nif (defined('_ECRIRE_INC_VERSION')) {\n" . $contenu . "}\n?" . '>'; |
|
| 1459 | + $contenu = '<'.'?php'."\n".$comment."\nif (defined('_ECRIRE_INC_VERSION')) {\n".$contenu."}\n?".'>'; |
|
| 1460 | 1460 | // si un fichier existe deja on verifie que son contenu change avant de l'ecraser |
| 1461 | 1461 | // si pas de modif on ne touche pas au fichier initial |
| 1462 | 1462 | if (file_exists($nom)) { |
| 1463 | 1463 | if (str_ends_with($nom, '.php')) { |
| 1464 | - $fichier_tmp = substr($nom, 0, -4) . '.tmp.php'; |
|
| 1464 | + $fichier_tmp = substr($nom, 0, -4).'.tmp.php'; |
|
| 1465 | 1465 | } |
| 1466 | 1466 | else { |
| 1467 | - $fichier_tmp = $nom . '.tmp'; |
|
| 1467 | + $fichier_tmp = $nom.'.tmp'; |
|
| 1468 | 1468 | } |
| 1469 | 1469 | file_put_contents($fichier_tmp, $contenu); |
| 1470 | 1470 | if (md5_file($nom) == md5_file($fichier_tmp)) { |
@@ -562,11 +562,9 @@ discard block |
||
| 562 | 562 | if (!isset($msg[$p])) { |
| 563 | 563 | if (isset($resume['erreur']) && $resume['erreur']) { |
| 564 | 564 | $msg[$p] = [$resume['erreur']]; |
| 565 | - } |
|
| 566 | - elseif (!plugin_version_compatible($k['compatibilite'], $GLOBALS['spip_version_branche'], 'spip')) { |
|
| 565 | + } elseif (!plugin_version_compatible($k['compatibilite'], $GLOBALS['spip_version_branche'], 'spip')) { |
|
| 567 | 566 | $msg[$p] = [plugin_message_incompatibilite($k['compatibilite'], $GLOBALS['spip_version_branche'], 'SPIP', 'necessite')]; |
| 568 | - } |
|
| 569 | - elseif (!$msg[$p] = plugin_necessite($k['necessite'], $liste, 'necessite')) { |
|
| 567 | + } elseif (!$msg[$p] = plugin_necessite($k['necessite'], $liste, 'necessite')) { |
|
| 570 | 568 | $msg[$p] = plugin_necessite($k['utilise'], $liste, 'utilise'); |
| 571 | 569 | } |
| 572 | 570 | } else { |
@@ -954,8 +952,7 @@ discard block |
||
| 954 | 952 | if (is_dir(constant($dir_type) . $plug . '/squelettes/')) { |
| 955 | 953 | $chemins['public'][] = "_DIR_PLUGIN_{$prefix}.'squelettes/'"; |
| 956 | 954 | } |
| 957 | - } |
|
| 958 | - else { |
|
| 955 | + } else { |
|
| 959 | 956 | foreach ($info['chemin'] as $chemin) { |
| 960 | 957 | if ( |
| 961 | 958 | !isset($chemin['version']) |
@@ -1424,8 +1421,7 @@ discard block |
||
| 1424 | 1421 | echo "\n" . ($ok ? 'OK ' : '/!\ ') . textebrut($titre) . "\n", |
| 1425 | 1422 | $trace, |
| 1426 | 1423 | "\n"; |
| 1427 | - } |
|
| 1428 | - else { |
|
| 1424 | + } else { |
|
| 1429 | 1425 | include_spip('inc/filtres_boites'); |
| 1430 | 1426 | echo "<div class='install-plugins svp_retour'>" |
| 1431 | 1427 | . boite_ouvrir($titre, ($ok ? 'success' : 'error')) |
@@ -1462,8 +1458,7 @@ discard block |
||
| 1462 | 1458 | if (file_exists($nom)) { |
| 1463 | 1459 | if (str_ends_with($nom, '.php')) { |
| 1464 | 1460 | $fichier_tmp = substr($nom, 0, -4) . '.tmp.php'; |
| 1465 | - } |
|
| 1466 | - else { |
|
| 1461 | + } else { |
|
| 1467 | 1462 | $fichier_tmp = $nom . '.tmp'; |
| 1468 | 1463 | } |
| 1469 | 1464 | file_put_contents($fichier_tmp, $contenu); |
@@ -16,7 +16,7 @@ discard block |
||
| 16 | 16 | **/ |
| 17 | 17 | |
| 18 | 18 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 19 | - return; |
|
| 19 | + return; |
|
| 20 | 20 | } |
| 21 | 21 | |
| 22 | 22 | include_spip('base/abstract_sql'); |
@@ -34,33 +34,33 @@ discard block |
||
| 34 | 34 | * - une chaîne vide si autorisation à pénétrer dans l'espace privé. |
| 35 | 35 | */ |
| 36 | 36 | function inc_auth_dist() { |
| 37 | - $row = auth_mode(); |
|
| 37 | + $row = auth_mode(); |
|
| 38 | 38 | |
| 39 | - if ($row) { |
|
| 40 | - return auth_init_droits($row); |
|
| 41 | - } |
|
| 39 | + if ($row) { |
|
| 40 | + return auth_init_droits($row); |
|
| 41 | + } |
|
| 42 | 42 | |
| 43 | - if (!$GLOBALS['connect_login']) { |
|
| 44 | - return auth_a_loger(); |
|
| 45 | - } |
|
| 43 | + if (!$GLOBALS['connect_login']) { |
|
| 44 | + return auth_a_loger(); |
|
| 45 | + } |
|
| 46 | 46 | |
| 47 | - // Cas ou l'auteur a ete identifie mais on n'a pas d'info sur lui |
|
| 48 | - // C'est soit parce que la base est inutilisable, |
|
| 49 | - // soit parce que la table des auteurs a changee (restauration etc) |
|
| 50 | - // Pas la peine d'insister. |
|
| 51 | - // Renvoyer le nom fautif et une URL de remise a zero |
|
| 47 | + // Cas ou l'auteur a ete identifie mais on n'a pas d'info sur lui |
|
| 48 | + // C'est soit parce que la base est inutilisable, |
|
| 49 | + // soit parce que la table des auteurs a changee (restauration etc) |
|
| 50 | + // Pas la peine d'insister. |
|
| 51 | + // Renvoyer le nom fautif et une URL de remise a zero |
|
| 52 | 52 | |
| 53 | - if (spip_connect()) { |
|
| 54 | - return [ |
|
| 55 | - 'login' => $GLOBALS['connect_login'], |
|
| 56 | - 'site' => generer_url_public('', 'action=logout&logout=prive') |
|
| 57 | - ]; |
|
| 58 | - } |
|
| 53 | + if (spip_connect()) { |
|
| 54 | + return [ |
|
| 55 | + 'login' => $GLOBALS['connect_login'], |
|
| 56 | + 'site' => generer_url_public('', 'action=logout&logout=prive') |
|
| 57 | + ]; |
|
| 58 | + } |
|
| 59 | 59 | |
| 60 | - $n = (int) sql_errno(); |
|
| 61 | - spip_log("Erreur base de donnees $n " . sql_error()); |
|
| 60 | + $n = (int) sql_errno(); |
|
| 61 | + spip_log("Erreur base de donnees $n " . sql_error()); |
|
| 62 | 62 | |
| 63 | - return $n ?: 1; |
|
| 63 | + return $n ?: 1; |
|
| 64 | 64 | } |
| 65 | 65 | |
| 66 | 66 | /** |
@@ -69,15 +69,15 @@ discard block |
||
| 69 | 69 | */ |
| 70 | 70 | function auth_controler_password_auteur_connecte(#[\SensitiveParameter] string $password): bool { |
| 71 | 71 | |
| 72 | - if ( |
|
| 73 | - empty($GLOBALS['visiteur_session']['id_auteur']) |
|
| 74 | - || empty($GLOBALS['visiteur_session']['login']) |
|
| 75 | - ) { |
|
| 76 | - return false; |
|
| 77 | - } |
|
| 72 | + if ( |
|
| 73 | + empty($GLOBALS['visiteur_session']['id_auteur']) |
|
| 74 | + || empty($GLOBALS['visiteur_session']['login']) |
|
| 75 | + ) { |
|
| 76 | + return false; |
|
| 77 | + } |
|
| 78 | 78 | |
| 79 | - $auth = auth_identifier_login($GLOBALS['visiteur_session']['login'], $password, '', true); |
|
| 80 | - return is_array($auth) && $auth['id_auteur'] == $GLOBALS['visiteur_session']['id_auteur']; |
|
| 79 | + $auth = auth_identifier_login($GLOBALS['visiteur_session']['login'], $password, '', true); |
|
| 80 | + return is_array($auth) && $auth['id_auteur'] == $GLOBALS['visiteur_session']['id_auteur']; |
|
| 81 | 81 | } |
| 82 | 82 | |
| 83 | 83 | /** |
@@ -89,47 +89,47 @@ discard block |
||
| 89 | 89 | * @return array|string |
| 90 | 90 | */ |
| 91 | 91 | function auth_echec($raison) { |
| 92 | - include_spip('inc/minipres'); |
|
| 93 | - include_spip('inc/headers'); |
|
| 94 | - // pas authentifie. Pourquoi ? |
|
| 95 | - if (is_string($raison)) { |
|
| 96 | - // redirection vers une page d'authentification |
|
| 97 | - // on ne revient pas de cette fonction |
|
| 98 | - // sauf si pb de header |
|
| 99 | - $raison = redirige_formulaire($raison); |
|
| 100 | - } elseif (is_int($raison)) { |
|
| 101 | - // erreur SQL a afficher |
|
| 102 | - $raison = minipres( |
|
| 103 | - _T('info_travaux_titre'), |
|
| 104 | - _T('titre_probleme_technique') . '<p><tt>' . sql_errno() . ' ' . sql_error() . '</tt></p>' |
|
| 105 | - ); |
|
| 106 | - } elseif (@$raison['statut']) { |
|
| 107 | - // un simple visiteur n'a pas acces a l'espace prive |
|
| 108 | - spip_log('connexion refusee a ' . @$raison['id_auteur']); |
|
| 109 | - $est_connecte = (!empty($GLOBALS['visiteur_session']['login']) && !empty($GLOBALS['visiteur_session']['statut'])); // idem test balise #URL_LOGOUT |
|
| 110 | - $raison = minipres( |
|
| 111 | - _T('avis_erreur_connexion'), |
|
| 112 | - _T('avis_erreur_visiteur') |
|
| 113 | - // Lien vers le site public |
|
| 114 | - . '<br /><a href="' . url_de_base() . '">' . _T('login_retour_public') . '</a>' |
|
| 115 | - // Si la personne est connectée, lien de déconnexion ramenant vers la page de login |
|
| 116 | - . ($est_connecte ? ' | <a href="' . generer_url_public('', 'action=logout&logout=prive') . '">' . _T('icone_deconnecter') . '</a>' : '') |
|
| 117 | - ); |
|
| 118 | - } else { |
|
| 119 | - // auteur en fin de droits ... |
|
| 120 | - $h = $raison['site']; |
|
| 121 | - $raison = minipres( |
|
| 122 | - _T('avis_erreur_connexion'), |
|
| 123 | - '<br /><br /><p>' |
|
| 124 | - . _T('texte_inc_auth_1', ['auth_login' => $raison['login']]) |
|
| 125 | - . " <a href='$h'>" |
|
| 126 | - . _T('texte_inc_auth_2') |
|
| 127 | - . '</a>' |
|
| 128 | - . _T('texte_inc_auth_3') |
|
| 129 | - ); |
|
| 130 | - } |
|
| 131 | - |
|
| 132 | - return $raison; |
|
| 92 | + include_spip('inc/minipres'); |
|
| 93 | + include_spip('inc/headers'); |
|
| 94 | + // pas authentifie. Pourquoi ? |
|
| 95 | + if (is_string($raison)) { |
|
| 96 | + // redirection vers une page d'authentification |
|
| 97 | + // on ne revient pas de cette fonction |
|
| 98 | + // sauf si pb de header |
|
| 99 | + $raison = redirige_formulaire($raison); |
|
| 100 | + } elseif (is_int($raison)) { |
|
| 101 | + // erreur SQL a afficher |
|
| 102 | + $raison = minipres( |
|
| 103 | + _T('info_travaux_titre'), |
|
| 104 | + _T('titre_probleme_technique') . '<p><tt>' . sql_errno() . ' ' . sql_error() . '</tt></p>' |
|
| 105 | + ); |
|
| 106 | + } elseif (@$raison['statut']) { |
|
| 107 | + // un simple visiteur n'a pas acces a l'espace prive |
|
| 108 | + spip_log('connexion refusee a ' . @$raison['id_auteur']); |
|
| 109 | + $est_connecte = (!empty($GLOBALS['visiteur_session']['login']) && !empty($GLOBALS['visiteur_session']['statut'])); // idem test balise #URL_LOGOUT |
|
| 110 | + $raison = minipres( |
|
| 111 | + _T('avis_erreur_connexion'), |
|
| 112 | + _T('avis_erreur_visiteur') |
|
| 113 | + // Lien vers le site public |
|
| 114 | + . '<br /><a href="' . url_de_base() . '">' . _T('login_retour_public') . '</a>' |
|
| 115 | + // Si la personne est connectée, lien de déconnexion ramenant vers la page de login |
|
| 116 | + . ($est_connecte ? ' | <a href="' . generer_url_public('', 'action=logout&logout=prive') . '">' . _T('icone_deconnecter') . '</a>' : '') |
|
| 117 | + ); |
|
| 118 | + } else { |
|
| 119 | + // auteur en fin de droits ... |
|
| 120 | + $h = $raison['site']; |
|
| 121 | + $raison = minipres( |
|
| 122 | + _T('avis_erreur_connexion'), |
|
| 123 | + '<br /><br /><p>' |
|
| 124 | + . _T('texte_inc_auth_1', ['auth_login' => $raison['login']]) |
|
| 125 | + . " <a href='$h'>" |
|
| 126 | + . _T('texte_inc_auth_2') |
|
| 127 | + . '</a>' |
|
| 128 | + . _T('texte_inc_auth_3') |
|
| 129 | + ); |
|
| 130 | + } |
|
| 131 | + |
|
| 132 | + return $raison; |
|
| 133 | 133 | } |
| 134 | 134 | |
| 135 | 135 | /** |
@@ -139,79 +139,79 @@ discard block |
||
| 139 | 139 | * @return array|bool|string |
| 140 | 140 | */ |
| 141 | 141 | function auth_mode() { |
| 142 | - // |
|
| 143 | - // Initialiser variables (eviter hacks par URL) |
|
| 144 | - // |
|
| 145 | - $GLOBALS['connect_login'] = ''; |
|
| 146 | - $id_auteur = null; |
|
| 147 | - $GLOBALS['auth_can_disconnect'] = false; |
|
| 148 | - |
|
| 149 | - // |
|
| 150 | - // Recuperer les donnees d'identification |
|
| 151 | - // |
|
| 152 | - include_spip('inc/session'); |
|
| 153 | - // Session valide en cours ? |
|
| 154 | - if ($cookie = lire_cookie_session()) { |
|
| 155 | - $session = charger_fonction('session', 'inc'); |
|
| 156 | - if ( |
|
| 157 | - ($id_auteur = $session()) || $id_auteur === 0 // reprise sur restauration |
|
| 158 | - ) { |
|
| 159 | - $GLOBALS['auth_can_disconnect'] = true; |
|
| 160 | - $GLOBALS['connect_login'] = session_get('login'); |
|
| 161 | - } else { |
|
| 162 | - unset($_COOKIE['spip_session']); |
|
| 163 | - } |
|
| 164 | - } |
|
| 165 | - |
|
| 166 | - // Essayer auth http si significatif |
|
| 167 | - // (ignorer les login d'intranet independants de spip) |
|
| 168 | - if (!$GLOBALS['ignore_auth_http']) { |
|
| 169 | - if ( |
|
| 170 | - isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW']) |
|
| 171 | - && ($r = lire_php_auth($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW'])) |
|
| 172 | - // Si auth http differtente de basic, PHP_AUTH_PW |
|
| 173 | - // est indisponible mais tentons quand meme pour |
|
| 174 | - // autocreation via LDAP |
|
| 175 | - || isset($_SERVER['REMOTE_USER']) |
|
| 176 | - && ($r = lire_php_auth($_SERVER['PHP_AUTH_USER'] = $_SERVER['REMOTE_USER'], '')) |
|
| 177 | - ) { |
|
| 178 | - if (!$id_auteur) { |
|
| 179 | - $_SERVER['PHP_AUTH_PW'] = ''; |
|
| 180 | - $GLOBALS['auth_can_disconnect'] = true; |
|
| 181 | - $GLOBALS['visiteur_session'] = $r; |
|
| 182 | - $GLOBALS['connect_login'] = session_get('login'); |
|
| 183 | - $id_auteur = $r['id_auteur']; |
|
| 184 | - } else { |
|
| 185 | - // cas de la session en plus de PHP_AUTH |
|
| 186 | - /* if ($id_auteur != $r['id_auteur']){ |
|
| 142 | + // |
|
| 143 | + // Initialiser variables (eviter hacks par URL) |
|
| 144 | + // |
|
| 145 | + $GLOBALS['connect_login'] = ''; |
|
| 146 | + $id_auteur = null; |
|
| 147 | + $GLOBALS['auth_can_disconnect'] = false; |
|
| 148 | + |
|
| 149 | + // |
|
| 150 | + // Recuperer les donnees d'identification |
|
| 151 | + // |
|
| 152 | + include_spip('inc/session'); |
|
| 153 | + // Session valide en cours ? |
|
| 154 | + if ($cookie = lire_cookie_session()) { |
|
| 155 | + $session = charger_fonction('session', 'inc'); |
|
| 156 | + if ( |
|
| 157 | + ($id_auteur = $session()) || $id_auteur === 0 // reprise sur restauration |
|
| 158 | + ) { |
|
| 159 | + $GLOBALS['auth_can_disconnect'] = true; |
|
| 160 | + $GLOBALS['connect_login'] = session_get('login'); |
|
| 161 | + } else { |
|
| 162 | + unset($_COOKIE['spip_session']); |
|
| 163 | + } |
|
| 164 | + } |
|
| 165 | + |
|
| 166 | + // Essayer auth http si significatif |
|
| 167 | + // (ignorer les login d'intranet independants de spip) |
|
| 168 | + if (!$GLOBALS['ignore_auth_http']) { |
|
| 169 | + if ( |
|
| 170 | + isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW']) |
|
| 171 | + && ($r = lire_php_auth($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW'])) |
|
| 172 | + // Si auth http differtente de basic, PHP_AUTH_PW |
|
| 173 | + // est indisponible mais tentons quand meme pour |
|
| 174 | + // autocreation via LDAP |
|
| 175 | + || isset($_SERVER['REMOTE_USER']) |
|
| 176 | + && ($r = lire_php_auth($_SERVER['PHP_AUTH_USER'] = $_SERVER['REMOTE_USER'], '')) |
|
| 177 | + ) { |
|
| 178 | + if (!$id_auteur) { |
|
| 179 | + $_SERVER['PHP_AUTH_PW'] = ''; |
|
| 180 | + $GLOBALS['auth_can_disconnect'] = true; |
|
| 181 | + $GLOBALS['visiteur_session'] = $r; |
|
| 182 | + $GLOBALS['connect_login'] = session_get('login'); |
|
| 183 | + $id_auteur = $r['id_auteur']; |
|
| 184 | + } else { |
|
| 185 | + // cas de la session en plus de PHP_AUTH |
|
| 186 | + /* if ($id_auteur != $r['id_auteur']){ |
|
| 187 | 187 | spip_log("vol de session $id_auteur" . join(', ', $r)); |
| 188 | 188 | unset($_COOKIE['spip_session']); |
| 189 | 189 | $id_auteur = ''; |
| 190 | 190 | } */ |
| 191 | - } |
|
| 192 | - } else { |
|
| 193 | - // Authentification .htaccess old style, car .htaccess semble |
|
| 194 | - // souvent definir *aussi* PHP_AUTH_USER et PHP_AUTH_PW |
|
| 195 | - if (isset($_SERVER['REMOTE_USER'])) { |
|
| 196 | - $GLOBALS['connect_login'] = $_SERVER['REMOTE_USER']; |
|
| 197 | - } |
|
| 198 | - } |
|
| 199 | - } |
|
| 200 | - |
|
| 201 | - $where = (is_numeric($id_auteur) |
|
| 202 | - /*AND $id_auteur>0*/ // reprise lors des restaurations |
|
| 203 | - ) ? |
|
| 204 | - "id_auteur=$id_auteur" : |
|
| 205 | - (strlen((string) $GLOBALS['connect_login']) ? 'login=' . sql_quote($GLOBALS['connect_login'], '', 'text') : ''); |
|
| 206 | - |
|
| 207 | - if (!$where) { |
|
| 208 | - return ''; |
|
| 209 | - } |
|
| 210 | - |
|
| 211 | - // Trouver les autres infos dans la table auteurs. |
|
| 212 | - // le champ 'quand' est utilise par l'agenda |
|
| 213 | - |
|
| 214 | - return sql_fetsel('*, en_ligne AS quand', 'spip_auteurs', "$where AND statut!='5poubelle'"); |
|
| 191 | + } |
|
| 192 | + } else { |
|
| 193 | + // Authentification .htaccess old style, car .htaccess semble |
|
| 194 | + // souvent definir *aussi* PHP_AUTH_USER et PHP_AUTH_PW |
|
| 195 | + if (isset($_SERVER['REMOTE_USER'])) { |
|
| 196 | + $GLOBALS['connect_login'] = $_SERVER['REMOTE_USER']; |
|
| 197 | + } |
|
| 198 | + } |
|
| 199 | + } |
|
| 200 | + |
|
| 201 | + $where = (is_numeric($id_auteur) |
|
| 202 | + /*AND $id_auteur>0*/ // reprise lors des restaurations |
|
| 203 | + ) ? |
|
| 204 | + "id_auteur=$id_auteur" : |
|
| 205 | + (strlen((string) $GLOBALS['connect_login']) ? 'login=' . sql_quote($GLOBALS['connect_login'], '', 'text') : ''); |
|
| 206 | + |
|
| 207 | + if (!$where) { |
|
| 208 | + return ''; |
|
| 209 | + } |
|
| 210 | + |
|
| 211 | + // Trouver les autres infos dans la table auteurs. |
|
| 212 | + // le champ 'quand' est utilise par l'agenda |
|
| 213 | + |
|
| 214 | + return sql_fetsel('*, en_ligne AS quand', 'spip_auteurs', "$where AND statut!='5poubelle'"); |
|
| 215 | 215 | } |
| 216 | 216 | |
| 217 | 217 | /** |
@@ -229,96 +229,96 @@ discard block |
||
| 229 | 229 | */ |
| 230 | 230 | function auth_init_droits($row) { |
| 231 | 231 | |
| 232 | - include_spip('inc/autoriser'); |
|
| 233 | - if (!autoriser('loger', '', 0, $row)) { |
|
| 234 | - return false; |
|
| 235 | - } |
|
| 236 | - |
|
| 237 | - |
|
| 238 | - if ($row['statut'] == 'nouveau') { |
|
| 239 | - include_spip('action/inscrire_auteur'); |
|
| 240 | - $row = confirmer_statut_inscription($row); |
|
| 241 | - } |
|
| 242 | - |
|
| 243 | - $GLOBALS['connect_id_auteur'] = $row['id_auteur']; |
|
| 244 | - $GLOBALS['connect_login'] = $row['login']; |
|
| 245 | - $GLOBALS['connect_statut'] = $row['statut']; |
|
| 246 | - |
|
| 247 | - $GLOBALS['visiteur_session'] = array_merge((array) $GLOBALS['visiteur_session'], $row); |
|
| 248 | - |
|
| 249 | - // au cas ou : ne pas memoriser les champs sensibles |
|
| 250 | - $GLOBALS['visiteur_session'] = auth_desensibiliser_session($GLOBALS['visiteur_session']); |
|
| 251 | - |
|
| 252 | - // creer la session au besoin |
|
| 253 | - include_spip('inc/session'); |
|
| 254 | - if (!lire_cookie_session()) { |
|
| 255 | - $session = charger_fonction('session', 'inc'); |
|
| 256 | - $spip_session = $session($row); |
|
| 257 | - } |
|
| 258 | - |
|
| 259 | - // reinjecter les preferences_auteur apres le reset de spip_session |
|
| 260 | - // car utilisees au retour par auth_loger() |
|
| 261 | - $r = @unserialize($row['prefs']); |
|
| 262 | - $GLOBALS['visiteur_session']['prefs'] = ($r ?: []); |
|
| 263 | - // si prefs pas definies, les definir par defaut |
|
| 264 | - if (!isset($GLOBALS['visiteur_session']['prefs']['couleur'])) { |
|
| 265 | - $GLOBALS['visiteur_session']['prefs']['couleur'] = 2; |
|
| 266 | - $GLOBALS['visiteur_session']['prefs']['display'] = 2; |
|
| 267 | - $GLOBALS['visiteur_session']['prefs']['display_navigation'] = 'navigation_avec_icones'; |
|
| 268 | - } |
|
| 269 | - |
|
| 270 | - $GLOBALS['visiteur_session'] = pipeline( |
|
| 271 | - 'preparer_visiteur_session', |
|
| 272 | - ['args' => ['row' => $row], |
|
| 273 | - 'data' => $GLOBALS['visiteur_session']] |
|
| 274 | - ); |
|
| 275 | - |
|
| 276 | - // Etablir les droits selon le codage attendu |
|
| 277 | - // dans ecrire/index.php ecrire/prive.php |
|
| 278 | - |
|
| 279 | - // Pas autorise a acceder a ecrire ? renvoyer le tableau |
|
| 280 | - // A noter : le premier appel a autoriser() a le bon gout |
|
| 281 | - // d'initialiser $GLOBALS['visiteur_session']['restreint'], |
|
| 282 | - // qui ne figure pas dans le fichier de session |
|
| 283 | - |
|
| 284 | - if (!autoriser('ecrire')) { |
|
| 285 | - return $row; |
|
| 286 | - } |
|
| 287 | - |
|
| 288 | - // autoriser('ecrire') ne laisse passer que les Admin et les Redac |
|
| 289 | - |
|
| 290 | - auth_trace($row); |
|
| 291 | - |
|
| 292 | - // Administrateurs |
|
| 293 | - if (in_array($GLOBALS['connect_statut'], explode(',', _STATUT_AUTEUR_RUBRIQUE))) { |
|
| 294 | - if ( |
|
| 295 | - isset($GLOBALS['visiteur_session']['restreint']) |
|
| 296 | - && is_array($GLOBALS['visiteur_session']['restreint']) |
|
| 297 | - ) { |
|
| 298 | - $GLOBALS['connect_id_rubrique'] = $GLOBALS['visiteur_session']['restreint']; |
|
| 299 | - } |
|
| 300 | - if ($GLOBALS['connect_statut'] == '0minirezo') { |
|
| 301 | - $GLOBALS['connect_toutes_rubriques'] = !$GLOBALS['connect_id_rubrique']; |
|
| 302 | - } |
|
| 303 | - } |
|
| 304 | - |
|
| 305 | - // Pour les redacteurs, inc_version a fait l'initialisation minimale |
|
| 306 | - |
|
| 307 | - return ''; // i.e. pas de pb. |
|
| 232 | + include_spip('inc/autoriser'); |
|
| 233 | + if (!autoriser('loger', '', 0, $row)) { |
|
| 234 | + return false; |
|
| 235 | + } |
|
| 236 | + |
|
| 237 | + |
|
| 238 | + if ($row['statut'] == 'nouveau') { |
|
| 239 | + include_spip('action/inscrire_auteur'); |
|
| 240 | + $row = confirmer_statut_inscription($row); |
|
| 241 | + } |
|
| 242 | + |
|
| 243 | + $GLOBALS['connect_id_auteur'] = $row['id_auteur']; |
|
| 244 | + $GLOBALS['connect_login'] = $row['login']; |
|
| 245 | + $GLOBALS['connect_statut'] = $row['statut']; |
|
| 246 | + |
|
| 247 | + $GLOBALS['visiteur_session'] = array_merge((array) $GLOBALS['visiteur_session'], $row); |
|
| 248 | + |
|
| 249 | + // au cas ou : ne pas memoriser les champs sensibles |
|
| 250 | + $GLOBALS['visiteur_session'] = auth_desensibiliser_session($GLOBALS['visiteur_session']); |
|
| 251 | + |
|
| 252 | + // creer la session au besoin |
|
| 253 | + include_spip('inc/session'); |
|
| 254 | + if (!lire_cookie_session()) { |
|
| 255 | + $session = charger_fonction('session', 'inc'); |
|
| 256 | + $spip_session = $session($row); |
|
| 257 | + } |
|
| 258 | + |
|
| 259 | + // reinjecter les preferences_auteur apres le reset de spip_session |
|
| 260 | + // car utilisees au retour par auth_loger() |
|
| 261 | + $r = @unserialize($row['prefs']); |
|
| 262 | + $GLOBALS['visiteur_session']['prefs'] = ($r ?: []); |
|
| 263 | + // si prefs pas definies, les definir par defaut |
|
| 264 | + if (!isset($GLOBALS['visiteur_session']['prefs']['couleur'])) { |
|
| 265 | + $GLOBALS['visiteur_session']['prefs']['couleur'] = 2; |
|
| 266 | + $GLOBALS['visiteur_session']['prefs']['display'] = 2; |
|
| 267 | + $GLOBALS['visiteur_session']['prefs']['display_navigation'] = 'navigation_avec_icones'; |
|
| 268 | + } |
|
| 269 | + |
|
| 270 | + $GLOBALS['visiteur_session'] = pipeline( |
|
| 271 | + 'preparer_visiteur_session', |
|
| 272 | + ['args' => ['row' => $row], |
|
| 273 | + 'data' => $GLOBALS['visiteur_session']] |
|
| 274 | + ); |
|
| 275 | + |
|
| 276 | + // Etablir les droits selon le codage attendu |
|
| 277 | + // dans ecrire/index.php ecrire/prive.php |
|
| 278 | + |
|
| 279 | + // Pas autorise a acceder a ecrire ? renvoyer le tableau |
|
| 280 | + // A noter : le premier appel a autoriser() a le bon gout |
|
| 281 | + // d'initialiser $GLOBALS['visiteur_session']['restreint'], |
|
| 282 | + // qui ne figure pas dans le fichier de session |
|
| 283 | + |
|
| 284 | + if (!autoriser('ecrire')) { |
|
| 285 | + return $row; |
|
| 286 | + } |
|
| 287 | + |
|
| 288 | + // autoriser('ecrire') ne laisse passer que les Admin et les Redac |
|
| 289 | + |
|
| 290 | + auth_trace($row); |
|
| 291 | + |
|
| 292 | + // Administrateurs |
|
| 293 | + if (in_array($GLOBALS['connect_statut'], explode(',', _STATUT_AUTEUR_RUBRIQUE))) { |
|
| 294 | + if ( |
|
| 295 | + isset($GLOBALS['visiteur_session']['restreint']) |
|
| 296 | + && is_array($GLOBALS['visiteur_session']['restreint']) |
|
| 297 | + ) { |
|
| 298 | + $GLOBALS['connect_id_rubrique'] = $GLOBALS['visiteur_session']['restreint']; |
|
| 299 | + } |
|
| 300 | + if ($GLOBALS['connect_statut'] == '0minirezo') { |
|
| 301 | + $GLOBALS['connect_toutes_rubriques'] = !$GLOBALS['connect_id_rubrique']; |
|
| 302 | + } |
|
| 303 | + } |
|
| 304 | + |
|
| 305 | + // Pour les redacteurs, inc_version a fait l'initialisation minimale |
|
| 306 | + |
|
| 307 | + return ''; // i.e. pas de pb. |
|
| 308 | 308 | } |
| 309 | 309 | |
| 310 | 310 | /** |
| 311 | 311 | * Enlever les clés sensibles d'une ligne auteur |
| 312 | 312 | */ |
| 313 | 313 | function auth_desensibiliser_session(array $auteur): array { |
| 314 | - $cles_sensibles = ['pass', 'htpass', 'low_sec', 'alea_actuel', 'alea_futur', 'ldap_password', 'backup_cles']; |
|
| 315 | - foreach ($cles_sensibles as $cle) { |
|
| 316 | - if (array_key_exists($cle, $auteur)) { |
|
| 317 | - unset($auteur[$cle]); |
|
| 318 | - } |
|
| 319 | - } |
|
| 320 | - |
|
| 321 | - return $auteur; |
|
| 314 | + $cles_sensibles = ['pass', 'htpass', 'low_sec', 'alea_actuel', 'alea_futur', 'ldap_password', 'backup_cles']; |
|
| 315 | + foreach ($cles_sensibles as $cle) { |
|
| 316 | + if (array_key_exists($cle, $auteur)) { |
|
| 317 | + unset($auteur[$cle]); |
|
| 318 | + } |
|
| 319 | + } |
|
| 320 | + |
|
| 321 | + return $auteur; |
|
| 322 | 322 | } |
| 323 | 323 | |
| 324 | 324 | /** |
@@ -327,23 +327,23 @@ discard block |
||
| 327 | 327 | * @return string |
| 328 | 328 | */ |
| 329 | 329 | function auth_a_loger() { |
| 330 | - $redirect = generer_url_public('login', 'url=' . rawurlencode((string) self('&', true)), true); |
|
| 331 | - |
|
| 332 | - // un echec au "bonjour" (login initial) quand le statut est |
|
| 333 | - // inconnu signale sans doute un probleme de cookies |
|
| 334 | - if (isset($_GET['bonjour'])) { |
|
| 335 | - $redirect = parametre_url( |
|
| 336 | - $redirect, |
|
| 337 | - 'var_erreur', |
|
| 338 | - (isset($GLOBALS['visiteur_session']['statut']) |
|
| 339 | - ? 'statut' |
|
| 340 | - : 'cookie' |
|
| 341 | - ), |
|
| 342 | - '&' |
|
| 343 | - ); |
|
| 344 | - } |
|
| 345 | - |
|
| 346 | - return $redirect; |
|
| 330 | + $redirect = generer_url_public('login', 'url=' . rawurlencode((string) self('&', true)), true); |
|
| 331 | + |
|
| 332 | + // un echec au "bonjour" (login initial) quand le statut est |
|
| 333 | + // inconnu signale sans doute un probleme de cookies |
|
| 334 | + if (isset($_GET['bonjour'])) { |
|
| 335 | + $redirect = parametre_url( |
|
| 336 | + $redirect, |
|
| 337 | + 'var_erreur', |
|
| 338 | + (isset($GLOBALS['visiteur_session']['statut']) |
|
| 339 | + ? 'statut' |
|
| 340 | + : 'cookie' |
|
| 341 | + ), |
|
| 342 | + '&' |
|
| 343 | + ); |
|
| 344 | + } |
|
| 345 | + |
|
| 346 | + return $redirect; |
|
| 347 | 347 | } |
| 348 | 348 | |
| 349 | 349 | /** |
@@ -355,19 +355,19 @@ discard block |
||
| 355 | 355 | * @param null|string $date |
| 356 | 356 | */ |
| 357 | 357 | function auth_trace($row, $date = null) { |
| 358 | - // Indiquer la connexion. A la minute pres ca suffit. |
|
| 359 | - if (!is_numeric($connect_quand = $row['quand'] ?? '')) { |
|
| 360 | - $connect_quand = strtotime((string) $connect_quand); |
|
| 361 | - } |
|
| 358 | + // Indiquer la connexion. A la minute pres ca suffit. |
|
| 359 | + if (!is_numeric($connect_quand = $row['quand'] ?? '')) { |
|
| 360 | + $connect_quand = strtotime((string) $connect_quand); |
|
| 361 | + } |
|
| 362 | 362 | |
| 363 | - $date ??= date('Y-m-d H:i:s'); |
|
| 363 | + $date ??= date('Y-m-d H:i:s'); |
|
| 364 | 364 | |
| 365 | - if (abs(strtotime($date) - $connect_quand) >= 60) { |
|
| 366 | - sql_updateq('spip_auteurs', ['en_ligne' => $date], 'id_auteur=' . (int) $row['id_auteur']); |
|
| 367 | - $row['en_ligne'] = $date; |
|
| 368 | - } |
|
| 365 | + if (abs(strtotime($date) - $connect_quand) >= 60) { |
|
| 366 | + sql_updateq('spip_auteurs', ['en_ligne' => $date], 'id_auteur=' . (int) $row['id_auteur']); |
|
| 367 | + $row['en_ligne'] = $date; |
|
| 368 | + } |
|
| 369 | 369 | |
| 370 | - pipeline('trig_auth_trace', ['args' => ['row' => $row, 'date' => $date]]); |
|
| 370 | + pipeline('trig_auth_trace', ['args' => ['row' => $row, 'date' => $date]]); |
|
| 371 | 371 | } |
| 372 | 372 | |
| 373 | 373 | |
@@ -393,27 +393,27 @@ discard block |
||
| 393 | 393 | * @return mixed |
| 394 | 394 | */ |
| 395 | 395 | function auth_administrer($fonction, $args, mixed $defaut = false) { |
| 396 | - $auth_methode = array_shift($args); |
|
| 397 | - $auth_methode = $auth_methode ?: 'spip'; // valeur par defaut au cas ou |
|
| 398 | - if ( |
|
| 399 | - ($auth = charger_fonction($auth_methode, 'auth', true)) |
|
| 400 | - && function_exists($f = "auth_{$auth_methode}_$fonction") |
|
| 401 | - ) { |
|
| 402 | - $res = $f(...$args); |
|
| 403 | - } else { |
|
| 404 | - $res = $defaut; |
|
| 405 | - } |
|
| 406 | - return pipeline( |
|
| 407 | - 'auth_administrer', |
|
| 408 | - [ |
|
| 409 | - 'args' => [ |
|
| 410 | - 'fonction' => $fonction, |
|
| 411 | - 'methode' => $auth_methode, |
|
| 412 | - 'args' => $args |
|
| 413 | - ], |
|
| 414 | - 'data' => $res |
|
| 415 | - ] |
|
| 416 | - ); |
|
| 396 | + $auth_methode = array_shift($args); |
|
| 397 | + $auth_methode = $auth_methode ?: 'spip'; // valeur par defaut au cas ou |
|
| 398 | + if ( |
|
| 399 | + ($auth = charger_fonction($auth_methode, 'auth', true)) |
|
| 400 | + && function_exists($f = "auth_{$auth_methode}_$fonction") |
|
| 401 | + ) { |
|
| 402 | + $res = $f(...$args); |
|
| 403 | + } else { |
|
| 404 | + $res = $defaut; |
|
| 405 | + } |
|
| 406 | + return pipeline( |
|
| 407 | + 'auth_administrer', |
|
| 408 | + [ |
|
| 409 | + 'args' => [ |
|
| 410 | + 'fonction' => $fonction, |
|
| 411 | + 'methode' => $auth_methode, |
|
| 412 | + 'args' => $args |
|
| 413 | + ], |
|
| 414 | + 'data' => $res |
|
| 415 | + ] |
|
| 416 | + ); |
|
| 417 | 417 | } |
| 418 | 418 | |
| 419 | 419 | /** |
@@ -423,11 +423,11 @@ discard block |
||
| 423 | 423 | * @return array |
| 424 | 424 | */ |
| 425 | 425 | function auth_formulaire_login($flux) { |
| 426 | - foreach ($GLOBALS['liste_des_authentifications'] as $methode) { |
|
| 427 | - $flux = auth_administrer('formulaire_login', [$methode, $flux], $flux); |
|
| 428 | - } |
|
| 426 | + foreach ($GLOBALS['liste_des_authentifications'] as $methode) { |
|
| 427 | + $flux = auth_administrer('formulaire_login', [$methode, $flux], $flux); |
|
| 428 | + } |
|
| 429 | 429 | |
| 430 | - return $flux; |
|
| 430 | + return $flux; |
|
| 431 | 431 | } |
| 432 | 432 | |
| 433 | 433 | |
@@ -441,19 +441,19 @@ discard block |
||
| 441 | 441 | * @return string/bool |
| 442 | 442 | */ |
| 443 | 443 | function auth_retrouver_login($login, $serveur = '') { |
| 444 | - if (!spip_connect($serveur)) { |
|
| 445 | - include_spip('inc/minipres'); |
|
| 446 | - echo minipres(_T('info_travaux_titre'), _T('titre_probleme_technique')); |
|
| 447 | - exit; |
|
| 448 | - } |
|
| 449 | - |
|
| 450 | - foreach ($GLOBALS['liste_des_authentifications'] as $methode) { |
|
| 451 | - if ($auteur = auth_administrer('retrouver_login', [$methode, $login, $serveur])) { |
|
| 452 | - return $auteur; |
|
| 453 | - } |
|
| 454 | - } |
|
| 455 | - |
|
| 456 | - return false; |
|
| 444 | + if (!spip_connect($serveur)) { |
|
| 445 | + include_spip('inc/minipres'); |
|
| 446 | + echo minipres(_T('info_travaux_titre'), _T('titre_probleme_technique')); |
|
| 447 | + exit; |
|
| 448 | + } |
|
| 449 | + |
|
| 450 | + foreach ($GLOBALS['liste_des_authentifications'] as $methode) { |
|
| 451 | + if ($auteur = auth_administrer('retrouver_login', [$methode, $login, $serveur])) { |
|
| 452 | + return $auteur; |
|
| 453 | + } |
|
| 454 | + } |
|
| 455 | + |
|
| 456 | + return false; |
|
| 457 | 457 | } |
| 458 | 458 | |
| 459 | 459 | /** |
@@ -468,35 +468,35 @@ discard block |
||
| 468 | 468 | * @return array |
| 469 | 469 | */ |
| 470 | 470 | function auth_informer_login($login, $serveur = '') { |
| 471 | - if ( |
|
| 472 | - !$login |
|
| 473 | - || !($login_base = auth_retrouver_login($login, $serveur)) |
|
| 474 | - || !($row = sql_fetsel('*', 'spip_auteurs', 'login=' . sql_quote($login_base, $serveur, 'text'), '', '', '', '', $serveur)) |
|
| 475 | - ) { |
|
| 476 | - // generer de fausses infos, mais credibles, pour eviter une attaque |
|
| 477 | - // https://core.spip.net/issues/1758 + https://core.spip.net/issues/3691 |
|
| 478 | - |
|
| 479 | - $row = [ |
|
| 480 | - 'login' => $login, |
|
| 481 | - 'cnx' => '0', |
|
| 482 | - 'logo' => '', |
|
| 483 | - ]; |
|
| 484 | - |
|
| 485 | - return $row; |
|
| 486 | - } |
|
| 487 | - |
|
| 488 | - $prefs = @unserialize($row['prefs']); |
|
| 489 | - $row = auth_desensibiliser_session($row); |
|
| 490 | - $infos = [ |
|
| 491 | - 'id_auteur' => $row['id_auteur'], |
|
| 492 | - 'login' => $row['login'], |
|
| 493 | - 'cnx' => (isset($prefs['cnx']) && $prefs['cnx'] === 'perma') ? '1' : '0', |
|
| 494 | - 'logo' => recuperer_fond('formulaires/inc-logo_auteur', $row), |
|
| 495 | - ]; |
|
| 496 | - |
|
| 497 | - verifier_visiteur(); |
|
| 498 | - |
|
| 499 | - return auth_administrer('informer_login', [$row['source'], $infos, $row, $serveur], $infos); |
|
| 471 | + if ( |
|
| 472 | + !$login |
|
| 473 | + || !($login_base = auth_retrouver_login($login, $serveur)) |
|
| 474 | + || !($row = sql_fetsel('*', 'spip_auteurs', 'login=' . sql_quote($login_base, $serveur, 'text'), '', '', '', '', $serveur)) |
|
| 475 | + ) { |
|
| 476 | + // generer de fausses infos, mais credibles, pour eviter une attaque |
|
| 477 | + // https://core.spip.net/issues/1758 + https://core.spip.net/issues/3691 |
|
| 478 | + |
|
| 479 | + $row = [ |
|
| 480 | + 'login' => $login, |
|
| 481 | + 'cnx' => '0', |
|
| 482 | + 'logo' => '', |
|
| 483 | + ]; |
|
| 484 | + |
|
| 485 | + return $row; |
|
| 486 | + } |
|
| 487 | + |
|
| 488 | + $prefs = @unserialize($row['prefs']); |
|
| 489 | + $row = auth_desensibiliser_session($row); |
|
| 490 | + $infos = [ |
|
| 491 | + 'id_auteur' => $row['id_auteur'], |
|
| 492 | + 'login' => $row['login'], |
|
| 493 | + 'cnx' => (isset($prefs['cnx']) && $prefs['cnx'] === 'perma') ? '1' : '0', |
|
| 494 | + 'logo' => recuperer_fond('formulaires/inc-logo_auteur', $row), |
|
| 495 | + ]; |
|
| 496 | + |
|
| 497 | + verifier_visiteur(); |
|
| 498 | + |
|
| 499 | + return auth_administrer('informer_login', [$row['source'], $infos, $row, $serveur], $infos); |
|
| 500 | 500 | } |
| 501 | 501 | |
| 502 | 502 | |
@@ -510,21 +510,21 @@ discard block |
||
| 510 | 510 | * @return mixed |
| 511 | 511 | */ |
| 512 | 512 | function auth_identifier_login($login, #[\SensitiveParameter] $password, $serveur = '', bool $phpauth = false) { |
| 513 | - $erreur = ''; |
|
| 514 | - foreach ($GLOBALS['liste_des_authentifications'] as $methode) { |
|
| 515 | - if ($auth = charger_fonction($methode, 'auth', true)) { |
|
| 516 | - $auteur = $auth($login, $password, $serveur, $phpauth); |
|
| 517 | - if (is_array($auteur) && count($auteur)) { |
|
| 518 | - spip_log("connexion de $login par methode $methode"); |
|
| 519 | - $auteur['auth'] = $methode; |
|
| 520 | - return $auteur; |
|
| 521 | - } elseif (is_string($auteur)) { |
|
| 522 | - $erreur .= "$auteur "; |
|
| 523 | - } |
|
| 524 | - } |
|
| 525 | - } |
|
| 526 | - |
|
| 527 | - return $erreur; |
|
| 513 | + $erreur = ''; |
|
| 514 | + foreach ($GLOBALS['liste_des_authentifications'] as $methode) { |
|
| 515 | + if ($auth = charger_fonction($methode, 'auth', true)) { |
|
| 516 | + $auteur = $auth($login, $password, $serveur, $phpauth); |
|
| 517 | + if (is_array($auteur) && count($auteur)) { |
|
| 518 | + spip_log("connexion de $login par methode $methode"); |
|
| 519 | + $auteur['auth'] = $methode; |
|
| 520 | + return $auteur; |
|
| 521 | + } elseif (is_string($auteur)) { |
|
| 522 | + $erreur .= "$auteur "; |
|
| 523 | + } |
|
| 524 | + } |
|
| 525 | + } |
|
| 526 | + |
|
| 527 | + return $erreur; |
|
| 528 | 528 | } |
| 529 | 529 | |
| 530 | 530 | /** |
@@ -538,8 +538,8 @@ discard block |
||
| 538 | 538 | * @return string |
| 539 | 539 | */ |
| 540 | 540 | function auth_url_retour_login($auth_methode, $login, $redirect = '', $serveur = '') { |
| 541 | - $securiser_action = charger_fonction('securiser_action', 'inc'); |
|
| 542 | - return $securiser_action('auth', "$auth_methode/$login", $redirect, true); |
|
| 541 | + $securiser_action = charger_fonction('securiser_action', 'inc'); |
|
| 542 | + return $securiser_action('auth', "$auth_methode/$login", $redirect, true); |
|
| 543 | 543 | } |
| 544 | 544 | |
| 545 | 545 | /** |
@@ -553,8 +553,8 @@ discard block |
||
| 553 | 553 | * @return mixed |
| 554 | 554 | */ |
| 555 | 555 | function auth_terminer_identifier_login($auth_methode, $login, $serveur = '') { |
| 556 | - $args = func_get_args(); |
|
| 557 | - return auth_administrer('terminer_identifier_login', $args); |
|
| 556 | + $args = func_get_args(); |
|
| 557 | + return auth_administrer('terminer_identifier_login', $args); |
|
| 558 | 558 | } |
| 559 | 559 | |
| 560 | 560 | /** |
@@ -564,29 +564,29 @@ discard block |
||
| 564 | 564 | * @return bool |
| 565 | 565 | */ |
| 566 | 566 | function auth_loger($auteur) { |
| 567 | - if (!is_array($auteur) || $auteur === []) { |
|
| 568 | - return false; |
|
| 569 | - } |
|
| 570 | - |
|
| 571 | - // initialiser et poser le cookie de session |
|
| 572 | - unset($_COOKIE['spip_session']); |
|
| 573 | - if (auth_init_droits($auteur) === false) { |
|
| 574 | - return false; |
|
| 575 | - } |
|
| 576 | - |
|
| 577 | - // initialiser les prefs |
|
| 578 | - $p = $GLOBALS['visiteur_session']['prefs']; |
|
| 579 | - $p['cnx'] = (isset($auteur['cookie']) && $auteur['cookie'] == 'oui') ? 'perma' : ''; |
|
| 580 | - |
|
| 581 | - sql_updateq( |
|
| 582 | - 'spip_auteurs', |
|
| 583 | - ['prefs' => serialize($p)], |
|
| 584 | - 'id_auteur=' . (int) $auteur['id_auteur'] |
|
| 585 | - ); |
|
| 586 | - |
|
| 587 | - // bloquer ici le visiteur qui tente d'abuser de ses droits |
|
| 588 | - verifier_visiteur(); |
|
| 589 | - return true; |
|
| 567 | + if (!is_array($auteur) || $auteur === []) { |
|
| 568 | + return false; |
|
| 569 | + } |
|
| 570 | + |
|
| 571 | + // initialiser et poser le cookie de session |
|
| 572 | + unset($_COOKIE['spip_session']); |
|
| 573 | + if (auth_init_droits($auteur) === false) { |
|
| 574 | + return false; |
|
| 575 | + } |
|
| 576 | + |
|
| 577 | + // initialiser les prefs |
|
| 578 | + $p = $GLOBALS['visiteur_session']['prefs']; |
|
| 579 | + $p['cnx'] = (isset($auteur['cookie']) && $auteur['cookie'] == 'oui') ? 'perma' : ''; |
|
| 580 | + |
|
| 581 | + sql_updateq( |
|
| 582 | + 'spip_auteurs', |
|
| 583 | + ['prefs' => serialize($p)], |
|
| 584 | + 'id_auteur=' . (int) $auteur['id_auteur'] |
|
| 585 | + ); |
|
| 586 | + |
|
| 587 | + // bloquer ici le visiteur qui tente d'abuser de ses droits |
|
| 588 | + verifier_visiteur(); |
|
| 589 | + return true; |
|
| 590 | 590 | } |
| 591 | 591 | |
| 592 | 592 | /** |
@@ -596,8 +596,8 @@ discard block |
||
| 596 | 596 | * return void |
| 597 | 597 | **/ |
| 598 | 598 | function auth_deloger() { |
| 599 | - $logout = charger_fonction('logout', 'action'); |
|
| 600 | - $logout(); |
|
| 599 | + $logout = charger_fonction('logout', 'action'); |
|
| 600 | + $logout(); |
|
| 601 | 601 | } |
| 602 | 602 | |
| 603 | 603 | /** |
@@ -611,8 +611,8 @@ discard block |
||
| 611 | 611 | * @return bool |
| 612 | 612 | */ |
| 613 | 613 | function auth_autoriser_modifier_login($auth_methode, $serveur = '') { |
| 614 | - $args = func_get_args(); |
|
| 615 | - return auth_administrer('autoriser_modifier_login', $args); |
|
| 614 | + $args = func_get_args(); |
|
| 615 | + return auth_administrer('autoriser_modifier_login', $args); |
|
| 616 | 616 | } |
| 617 | 617 | |
| 618 | 618 | /** |
@@ -627,8 +627,8 @@ discard block |
||
| 627 | 627 | * message d'erreur ou chaine vide si pas d'erreur |
| 628 | 628 | */ |
| 629 | 629 | function auth_verifier_login($auth_methode, $new_login, $id_auteur = 0, $serveur = '') { |
| 630 | - $args = func_get_args(); |
|
| 631 | - return auth_administrer('verifier_login', $args, ''); |
|
| 630 | + $args = func_get_args(); |
|
| 631 | + return auth_administrer('verifier_login', $args, ''); |
|
| 632 | 632 | } |
| 633 | 633 | |
| 634 | 634 | /** |
@@ -641,8 +641,8 @@ discard block |
||
| 641 | 641 | * @return bool |
| 642 | 642 | */ |
| 643 | 643 | function auth_modifier_login($auth_methode, $new_login, $id_auteur, $serveur = '') { |
| 644 | - $args = func_get_args(); |
|
| 645 | - return auth_administrer('modifier_login', $args); |
|
| 644 | + $args = func_get_args(); |
|
| 645 | + return auth_administrer('modifier_login', $args); |
|
| 646 | 646 | } |
| 647 | 647 | |
| 648 | 648 | /** |
@@ -657,8 +657,8 @@ discard block |
||
| 657 | 657 | * succès ou échec |
| 658 | 658 | */ |
| 659 | 659 | function auth_autoriser_modifier_pass($auth_methode, $serveur = '') { |
| 660 | - $args = func_get_args(); |
|
| 661 | - return auth_administrer('autoriser_modifier_pass', $args); |
|
| 660 | + $args = func_get_args(); |
|
| 661 | + return auth_administrer('autoriser_modifier_pass', $args); |
|
| 662 | 662 | } |
| 663 | 663 | |
| 664 | 664 | /** |
@@ -674,8 +674,8 @@ discard block |
||
| 674 | 674 | * message d'erreur ou chaine vide si pas d'erreur |
| 675 | 675 | */ |
| 676 | 676 | function auth_verifier_pass($auth_methode, $login, #[\SensitiveParameter] $new_pass, $id_auteur = 0, $serveur = '') { |
| 677 | - $args = func_get_args(); |
|
| 678 | - return auth_administrer('verifier_pass', $args, ''); |
|
| 677 | + $args = func_get_args(); |
|
| 678 | + return auth_administrer('verifier_pass', $args, ''); |
|
| 679 | 679 | } |
| 680 | 680 | |
| 681 | 681 | /** |
@@ -691,8 +691,8 @@ discard block |
||
| 691 | 691 | * succes ou echec |
| 692 | 692 | */ |
| 693 | 693 | function auth_modifier_pass($auth_methode, $login, #[\SensitiveParameter] $new_pass, $id_auteur, $serveur = '') { |
| 694 | - $args = func_get_args(); |
|
| 695 | - return auth_administrer('modifier_pass', $args); |
|
| 694 | + $args = func_get_args(); |
|
| 695 | + return auth_administrer('modifier_pass', $args); |
|
| 696 | 696 | } |
| 697 | 697 | |
| 698 | 698 | /** |
@@ -708,24 +708,24 @@ discard block |
||
| 708 | 708 | * @return void |
| 709 | 709 | */ |
| 710 | 710 | function auth_synchroniser_distant( |
| 711 | - $auth_methode = true, |
|
| 712 | - $id_auteur = 0, |
|
| 713 | - $champs = [], |
|
| 714 | - $options = [], |
|
| 715 | - $serveur = '' |
|
| 711 | + $auth_methode = true, |
|
| 712 | + $id_auteur = 0, |
|
| 713 | + $champs = [], |
|
| 714 | + $options = [], |
|
| 715 | + $serveur = '' |
|
| 716 | 716 | ) { |
| 717 | - $args = func_get_args(); |
|
| 718 | - if ($auth_methode === true || isset($options['all']) && $options['all'] == true) { |
|
| 719 | - $options['all'] = true; // ajouter une option all=>true pour chaque auth |
|
| 720 | - $args = [true, $id_auteur, $champs, $options, $serveur]; |
|
| 721 | - foreach ($GLOBALS['liste_des_authentifications'] as $methode) { |
|
| 722 | - array_shift($args); |
|
| 723 | - array_unshift($args, $methode); |
|
| 724 | - auth_administrer('synchroniser_distant', $args); |
|
| 725 | - } |
|
| 726 | - } else { |
|
| 727 | - auth_administrer('synchroniser_distant', $args); |
|
| 728 | - } |
|
| 717 | + $args = func_get_args(); |
|
| 718 | + if ($auth_methode === true || isset($options['all']) && $options['all'] == true) { |
|
| 719 | + $options['all'] = true; // ajouter une option all=>true pour chaque auth |
|
| 720 | + $args = [true, $id_auteur, $champs, $options, $serveur]; |
|
| 721 | + foreach ($GLOBALS['liste_des_authentifications'] as $methode) { |
|
| 722 | + array_shift($args); |
|
| 723 | + array_unshift($args, $methode); |
|
| 724 | + auth_administrer('synchroniser_distant', $args); |
|
| 725 | + } |
|
| 726 | + } else { |
|
| 727 | + auth_administrer('synchroniser_distant', $args); |
|
| 728 | + } |
|
| 729 | 729 | } |
| 730 | 730 | |
| 731 | 731 | |
@@ -738,46 +738,46 @@ discard block |
||
| 738 | 738 | * @return array|bool |
| 739 | 739 | */ |
| 740 | 740 | function lire_php_auth($login, #[\SensitiveParameter] $pw, $serveur = '') { |
| 741 | - if ( |
|
| 742 | - !$login |
|
| 743 | - || !$login_base = auth_retrouver_login($login, $serveur) |
|
| 744 | - ) { |
|
| 745 | - return false; |
|
| 746 | - } |
|
| 747 | - |
|
| 748 | - $row = sql_fetsel('*', 'spip_auteurs', 'login=' . sql_quote($login_base, $serveur, 'text'), '', '', '', '', $serveur); |
|
| 749 | - |
|
| 750 | - if (!$row) { |
|
| 751 | - if ( |
|
| 752 | - include_spip('inc/auth') |
|
| 753 | - && auth_ldap_connect($serveur) |
|
| 754 | - && ($auth_ldap = charger_fonction('ldap', 'auth', true)) |
|
| 755 | - ) { |
|
| 756 | - return $auth_ldap($login_base, $pw, $serveur, true); |
|
| 757 | - } |
|
| 758 | - |
|
| 759 | - return false; |
|
| 760 | - } |
|
| 761 | - |
|
| 762 | - // si pas de source definie |
|
| 763 | - // ou auth/xxx introuvable, utiliser 'spip' ou autre et avec le login passé par PHP_AUTH_USER |
|
| 764 | - if ( |
|
| 765 | - !($auth_methode = $row['source']) |
|
| 766 | - || !($auth = charger_fonction($auth_methode, 'auth', true)) |
|
| 767 | - ) { |
|
| 768 | - $auth = charger_fonction('spip', 'auth', true); |
|
| 769 | - } |
|
| 770 | - |
|
| 771 | - $auteur = ''; |
|
| 772 | - if ($auth) { |
|
| 773 | - $auteur = $auth($login, $pw, $serveur, true); |
|
| 774 | - } |
|
| 775 | - // verifier que ce n'est pas un message d'erreur |
|
| 776 | - if (is_array($auteur) && count($auteur)) { |
|
| 777 | - return $auteur; |
|
| 778 | - } |
|
| 779 | - |
|
| 780 | - return false; |
|
| 741 | + if ( |
|
| 742 | + !$login |
|
| 743 | + || !$login_base = auth_retrouver_login($login, $serveur) |
|
| 744 | + ) { |
|
| 745 | + return false; |
|
| 746 | + } |
|
| 747 | + |
|
| 748 | + $row = sql_fetsel('*', 'spip_auteurs', 'login=' . sql_quote($login_base, $serveur, 'text'), '', '', '', '', $serveur); |
|
| 749 | + |
|
| 750 | + if (!$row) { |
|
| 751 | + if ( |
|
| 752 | + include_spip('inc/auth') |
|
| 753 | + && auth_ldap_connect($serveur) |
|
| 754 | + && ($auth_ldap = charger_fonction('ldap', 'auth', true)) |
|
| 755 | + ) { |
|
| 756 | + return $auth_ldap($login_base, $pw, $serveur, true); |
|
| 757 | + } |
|
| 758 | + |
|
| 759 | + return false; |
|
| 760 | + } |
|
| 761 | + |
|
| 762 | + // si pas de source definie |
|
| 763 | + // ou auth/xxx introuvable, utiliser 'spip' ou autre et avec le login passé par PHP_AUTH_USER |
|
| 764 | + if ( |
|
| 765 | + !($auth_methode = $row['source']) |
|
| 766 | + || !($auth = charger_fonction($auth_methode, 'auth', true)) |
|
| 767 | + ) { |
|
| 768 | + $auth = charger_fonction('spip', 'auth', true); |
|
| 769 | + } |
|
| 770 | + |
|
| 771 | + $auteur = ''; |
|
| 772 | + if ($auth) { |
|
| 773 | + $auteur = $auth($login, $pw, $serveur, true); |
|
| 774 | + } |
|
| 775 | + // verifier que ce n'est pas un message d'erreur |
|
| 776 | + if (is_array($auteur) && count($auteur)) { |
|
| 777 | + return $auteur; |
|
| 778 | + } |
|
| 779 | + |
|
| 780 | + return false; |
|
| 781 | 781 | } |
| 782 | 782 | |
| 783 | 783 | /** |
@@ -793,21 +793,21 @@ discard block |
||
| 793 | 793 | * @param string $lien |
| 794 | 794 | */ |
| 795 | 795 | function ask_php_auth($pb, $raison, $retour = '', $url = '', $re = '', $lien = '') { |
| 796 | - @Header('WWW-Authenticate: Basic realm="espace prive"'); |
|
| 797 | - @Header('HTTP/1.0 401 Unauthorized'); |
|
| 798 | - $corps = ''; |
|
| 799 | - $public = generer_url_public(); |
|
| 800 | - $ecrire = generer_url_ecrire(); |
|
| 801 | - $retour = $retour ?: _T('icone_retour'); |
|
| 802 | - $corps .= "<p>$raison</p>[<a href='$public'>$retour</a>] "; |
|
| 803 | - if ($url) { |
|
| 804 | - $corps .= "[<a href='" . generer_url_action('cookie', "essai_auth_http=oui&$url") . "'>$re</a>]"; |
|
| 805 | - } |
|
| 806 | - |
|
| 807 | - if ($lien) { |
|
| 808 | - $corps .= " [<a href='$ecrire'>" . _T('login_espace_prive') . '</a>]'; |
|
| 809 | - } |
|
| 810 | - include_spip('inc/minipres'); |
|
| 811 | - echo minipres($pb, $corps); |
|
| 812 | - exit; |
|
| 796 | + @Header('WWW-Authenticate: Basic realm="espace prive"'); |
|
| 797 | + @Header('HTTP/1.0 401 Unauthorized'); |
|
| 798 | + $corps = ''; |
|
| 799 | + $public = generer_url_public(); |
|
| 800 | + $ecrire = generer_url_ecrire(); |
|
| 801 | + $retour = $retour ?: _T('icone_retour'); |
|
| 802 | + $corps .= "<p>$raison</p>[<a href='$public'>$retour</a>] "; |
|
| 803 | + if ($url) { |
|
| 804 | + $corps .= "[<a href='" . generer_url_action('cookie', "essai_auth_http=oui&$url") . "'>$re</a>]"; |
|
| 805 | + } |
|
| 806 | + |
|
| 807 | + if ($lien) { |
|
| 808 | + $corps .= " [<a href='$ecrire'>" . _T('login_espace_prive') . '</a>]'; |
|
| 809 | + } |
|
| 810 | + include_spip('inc/minipres'); |
|
| 811 | + echo minipres($pb, $corps); |
|
| 812 | + exit; |
|
| 813 | 813 | } |
@@ -58,7 +58,7 @@ discard block |
||
| 58 | 58 | } |
| 59 | 59 | |
| 60 | 60 | $n = (int) sql_errno(); |
| 61 | - spip_log("Erreur base de donnees $n " . sql_error()); |
|
| 61 | + spip_log("Erreur base de donnees $n ".sql_error()); |
|
| 62 | 62 | |
| 63 | 63 | return $n ?: 1; |
| 64 | 64 | } |
@@ -101,19 +101,19 @@ discard block |
||
| 101 | 101 | // erreur SQL a afficher |
| 102 | 102 | $raison = minipres( |
| 103 | 103 | _T('info_travaux_titre'), |
| 104 | - _T('titre_probleme_technique') . '<p><tt>' . sql_errno() . ' ' . sql_error() . '</tt></p>' |
|
| 104 | + _T('titre_probleme_technique').'<p><tt>'.sql_errno().' '.sql_error().'</tt></p>' |
|
| 105 | 105 | ); |
| 106 | 106 | } elseif (@$raison['statut']) { |
| 107 | 107 | // un simple visiteur n'a pas acces a l'espace prive |
| 108 | - spip_log('connexion refusee a ' . @$raison['id_auteur']); |
|
| 108 | + spip_log('connexion refusee a '.@$raison['id_auteur']); |
|
| 109 | 109 | $est_connecte = (!empty($GLOBALS['visiteur_session']['login']) && !empty($GLOBALS['visiteur_session']['statut'])); // idem test balise #URL_LOGOUT |
| 110 | 110 | $raison = minipres( |
| 111 | 111 | _T('avis_erreur_connexion'), |
| 112 | 112 | _T('avis_erreur_visiteur') |
| 113 | 113 | // Lien vers le site public |
| 114 | - . '<br /><a href="' . url_de_base() . '">' . _T('login_retour_public') . '</a>' |
|
| 114 | + . '<br /><a href="'.url_de_base().'">'._T('login_retour_public').'</a>' |
|
| 115 | 115 | // Si la personne est connectée, lien de déconnexion ramenant vers la page de login |
| 116 | - . ($est_connecte ? ' | <a href="' . generer_url_public('', 'action=logout&logout=prive') . '">' . _T('icone_deconnecter') . '</a>' : '') |
|
| 116 | + . ($est_connecte ? ' | <a href="'.generer_url_public('', 'action=logout&logout=prive').'">'._T('icone_deconnecter').'</a>' : '') |
|
| 117 | 117 | ); |
| 118 | 118 | } else { |
| 119 | 119 | // auteur en fin de droits ... |
@@ -201,8 +201,7 @@ discard block |
||
| 201 | 201 | $where = (is_numeric($id_auteur) |
| 202 | 202 | /*AND $id_auteur>0*/ // reprise lors des restaurations |
| 203 | 203 | ) ? |
| 204 | - "id_auteur=$id_auteur" : |
|
| 205 | - (strlen((string) $GLOBALS['connect_login']) ? 'login=' . sql_quote($GLOBALS['connect_login'], '', 'text') : ''); |
|
| 204 | + "id_auteur=$id_auteur" : (strlen((string) $GLOBALS['connect_login']) ? 'login='.sql_quote($GLOBALS['connect_login'], '', 'text') : ''); |
|
| 206 | 205 | |
| 207 | 206 | if (!$where) { |
| 208 | 207 | return ''; |
@@ -327,7 +326,7 @@ discard block |
||
| 327 | 326 | * @return string |
| 328 | 327 | */ |
| 329 | 328 | function auth_a_loger() { |
| 330 | - $redirect = generer_url_public('login', 'url=' . rawurlencode((string) self('&', true)), true); |
|
| 329 | + $redirect = generer_url_public('login', 'url='.rawurlencode((string) self('&', true)), true); |
|
| 331 | 330 | |
| 332 | 331 | // un echec au "bonjour" (login initial) quand le statut est |
| 333 | 332 | // inconnu signale sans doute un probleme de cookies |
@@ -363,7 +362,7 @@ discard block |
||
| 363 | 362 | $date ??= date('Y-m-d H:i:s'); |
| 364 | 363 | |
| 365 | 364 | if (abs(strtotime($date) - $connect_quand) >= 60) { |
| 366 | - sql_updateq('spip_auteurs', ['en_ligne' => $date], 'id_auteur=' . (int) $row['id_auteur']); |
|
| 365 | + sql_updateq('spip_auteurs', ['en_ligne' => $date], 'id_auteur='.(int) $row['id_auteur']); |
|
| 367 | 366 | $row['en_ligne'] = $date; |
| 368 | 367 | } |
| 369 | 368 | |
@@ -471,7 +470,7 @@ discard block |
||
| 471 | 470 | if ( |
| 472 | 471 | !$login |
| 473 | 472 | || !($login_base = auth_retrouver_login($login, $serveur)) |
| 474 | - || !($row = sql_fetsel('*', 'spip_auteurs', 'login=' . sql_quote($login_base, $serveur, 'text'), '', '', '', '', $serveur)) |
|
| 473 | + || !($row = sql_fetsel('*', 'spip_auteurs', 'login='.sql_quote($login_base, $serveur, 'text'), '', '', '', '', $serveur)) |
|
| 475 | 474 | ) { |
| 476 | 475 | // generer de fausses infos, mais credibles, pour eviter une attaque |
| 477 | 476 | // https://core.spip.net/issues/1758 + https://core.spip.net/issues/3691 |
@@ -581,7 +580,7 @@ discard block |
||
| 581 | 580 | sql_updateq( |
| 582 | 581 | 'spip_auteurs', |
| 583 | 582 | ['prefs' => serialize($p)], |
| 584 | - 'id_auteur=' . (int) $auteur['id_auteur'] |
|
| 583 | + 'id_auteur='.(int) $auteur['id_auteur'] |
|
| 585 | 584 | ); |
| 586 | 585 | |
| 587 | 586 | // bloquer ici le visiteur qui tente d'abuser de ses droits |
@@ -745,7 +744,7 @@ discard block |
||
| 745 | 744 | return false; |
| 746 | 745 | } |
| 747 | 746 | |
| 748 | - $row = sql_fetsel('*', 'spip_auteurs', 'login=' . sql_quote($login_base, $serveur, 'text'), '', '', '', '', $serveur); |
|
| 747 | + $row = sql_fetsel('*', 'spip_auteurs', 'login='.sql_quote($login_base, $serveur, 'text'), '', '', '', '', $serveur); |
|
| 749 | 748 | |
| 750 | 749 | if (!$row) { |
| 751 | 750 | if ( |
@@ -801,11 +800,11 @@ discard block |
||
| 801 | 800 | $retour = $retour ?: _T('icone_retour'); |
| 802 | 801 | $corps .= "<p>$raison</p>[<a href='$public'>$retour</a>] "; |
| 803 | 802 | if ($url) { |
| 804 | - $corps .= "[<a href='" . generer_url_action('cookie', "essai_auth_http=oui&$url") . "'>$re</a>]"; |
|
| 803 | + $corps .= "[<a href='".generer_url_action('cookie', "essai_auth_http=oui&$url")."'>$re</a>]"; |
|
| 805 | 804 | } |
| 806 | 805 | |
| 807 | 806 | if ($lien) { |
| 808 | - $corps .= " [<a href='$ecrire'>" . _T('login_espace_prive') . '</a>]'; |
|
| 807 | + $corps .= " [<a href='$ecrire'>"._T('login_espace_prive').'</a>]'; |
|
| 809 | 808 | } |
| 810 | 809 | include_spip('inc/minipres'); |
| 811 | 810 | echo minipres($pb, $corps); |
@@ -17,7 +17,7 @@ discard block |
||
| 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 |
||
| 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 |
||
| 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 |
||
| 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 | } |