@@ -4,123 +4,123 @@ |
||
| 4 | 4 | // ** ne pas modifier le fichier ** |
| 5 | 5 | |
| 6 | 6 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 7 | - return; |
|
| 7 | + return; |
|
| 8 | 8 | } |
| 9 | 9 | |
| 10 | 10 | $GLOBALS[$GLOBALS['idx_lang']] = array( |
| 11 | 11 | |
| 12 | - // A |
|
| 13 | - 'accueil_site' => 'Accueil', |
|
| 14 | - 'article' => 'Article', |
|
| 15 | - 'articles' => 'Articles', |
|
| 16 | - 'articles_auteur' => 'Articles de cet auteur', |
|
| 17 | - 'articles_populaires' => 'Articles les plus populaires', |
|
| 18 | - 'articles_rubrique' => 'Articles de cette rubrique', |
|
| 19 | - 'aucun_article' => 'Il n’y a pas d’article à cette adresse', |
|
| 20 | - 'aucun_auteur' => 'Il n’y a pas d’auteur à cette adresse', |
|
| 21 | - 'aucun_site' => 'Il n’y a pas de site à cette adresse', |
|
| 22 | - 'aucune_breve' => 'Il n’y a pas de brève à cette adresse', |
|
| 23 | - 'aucune_rubrique' => 'Il n’y a pas de rubrique à cette adresse', |
|
| 24 | - 'auteur' => 'Auteur', |
|
| 25 | - 'autres' => 'Autres', |
|
| 26 | - 'autres_breves' => 'Autres brèves', |
|
| 27 | - 'autres_groupes_mots_clefs' => 'Autres groupes de mots-clés', |
|
| 28 | - 'autres_sites' => 'Autres sites', |
|
| 29 | - |
|
| 30 | - // B |
|
| 31 | - 'bonjour' => 'Salut', |
|
| 32 | - |
|
| 33 | - // C |
|
| 34 | - 'commenter_site' => 'Commenter ce site', |
|
| 35 | - 'contact' => 'Contact', |
|
| 36 | - 'copie_document_impossible' => 'Impossible de copier le document', |
|
| 37 | - |
|
| 38 | - // D |
|
| 39 | - 'date' => 'Date', |
|
| 40 | - 'dernier_ajout' => 'Dernier ajout', |
|
| 41 | - 'dernieres_breves' => 'Dernières brèves', |
|
| 42 | - 'derniers_articles' => 'Derniers articles', |
|
| 43 | - 'derniers_commentaires' => 'Derniers commentaires', |
|
| 44 | - 'derniers_messages_forum' => 'Derniers messages publiés dans les forums', |
|
| 45 | - |
|
| 46 | - // E |
|
| 47 | - 'edition_mode_texte' => 'Édition en mode texte de', |
|
| 48 | - 'en_reponse' => 'En réponse à :', |
|
| 49 | - 'en_resume' => 'En résumé', |
|
| 50 | - 'envoyer_message' => 'Envoyer un message', |
|
| 51 | - 'espace_prive' => 'Espace privé', |
|
| 52 | - |
|
| 53 | - // F |
|
| 54 | - 'formats_acceptes' => 'Formats acceptés : @formats@.', |
|
| 55 | - |
|
| 56 | - // H |
|
| 57 | - 'hierarchie_site' => 'Hiérarchie du site', |
|
| 58 | - |
|
| 59 | - // J |
|
| 60 | - 'jours' => 'jours', |
|
| 61 | - |
|
| 62 | - // L |
|
| 63 | - 'lien_connecter' => 'Se connecter', |
|
| 64 | - |
|
| 65 | - // M |
|
| 66 | - 'meme_auteur' => 'Du même auteur', |
|
| 67 | - 'meme_rubrique' => 'Dans la même rubrique', |
|
| 68 | - 'memes_auteurs' => 'Des mêmes auteurs', |
|
| 69 | - 'message' => 'Message', |
|
| 70 | - 'messages_forum' => 'Messages', |
|
| 71 | - 'messages_recents' => 'Messages de forums les plus récents', |
|
| 72 | - 'mots_clef' => 'Mot-clé', |
|
| 73 | - 'mots_clefs' => 'Mots-clés', |
|
| 74 | - 'mots_clefs_meme_groupe' => 'Mots-clés dans le même groupe', |
|
| 75 | - |
|
| 76 | - // N |
|
| 77 | - 'navigation' => 'Navigation', |
|
| 78 | - 'nom' => 'Nom', |
|
| 79 | - 'nouveautes' => 'Les nouveautés', |
|
| 80 | - 'nouveautes_web' => 'Nouveautés sur le Web', |
|
| 81 | - 'nouveaux_articles' => 'Nouveaux articles', |
|
| 82 | - 'nouvelles_breves' => 'Nouvelles brèves', |
|
| 83 | - |
|
| 84 | - // P |
|
| 85 | - 'page_precedente' => 'page précédente', |
|
| 86 | - 'page_suivante' => 'page suivante', |
|
| 87 | - 'par_auteur' => 'par ', |
|
| 88 | - 'participer_site' => 'Tu peux participer à la vie de ce site et proposer tes propres articles en t’inscrivant ci-dessous. Tu recevras immédiatement un email t’indiquant tes codes d’accès à l’espace privé du site.', |
|
| 89 | - 'plan_site' => 'Plan du site', |
|
| 90 | - 'popularite' => 'Popularité', |
|
| 91 | - 'poster_message' => 'Poster un message', |
|
| 92 | - 'proposer_site' => 'Tu peux proposer un site à ajouter dans cette rubrique :', |
|
| 93 | - |
|
| 94 | - // R |
|
| 95 | - 'repondre_article' => 'Répondre à cet article', |
|
| 96 | - 'repondre_breve' => 'Répondre à cette brève', |
|
| 97 | - 'resultats_recherche' => 'Résultats de la recherche', |
|
| 98 | - 'retour_debut_forums' => 'Retour au début des forums', |
|
| 99 | - 'rss_abonnement' => 'Copie l’URL suivante dans ton agrégateur :', |
|
| 100 | - 'rss_abonnement_titre' => 'S’abonner', |
|
| 101 | - 'rss_abonnement_titre_page' => 'S’abonner à', |
|
| 102 | - 'rss_explication' => 'Un fil RSS recueille les informations de mise à jour d’un site. Il fournit le contenu des billets ou des commentaires ou un extrait de ceux-ci, ainsi qu’un lien vers les versions complètes et quelques autres informations. Ce fil a pour vocation d’être lu par un agrégateur RSS.', |
|
| 103 | - 'rss_explication_titre' => 'Qu’est-ce qu’un flux RSS ?', |
|
| 104 | - 'rubrique' => 'Rubrique', |
|
| 105 | - 'rubriques' => 'Rubriques', |
|
| 106 | - |
|
| 107 | - // S |
|
| 108 | - 'signatures_petition' => 'Signatures', |
|
| 109 | - 'site_realise_avec_spip' => 'Site réalisé avec SPIP', |
|
| 110 | - 'sites_web' => 'Sites Web', |
|
| 111 | - 'sous_rubriques' => 'Sous-rubriques', |
|
| 112 | - 'spam' => 'Spam', |
|
| 113 | - 'suite' => 'suite', |
|
| 114 | - 'sur_web' => 'Sur le Web', |
|
| 115 | - 'syndiquer_rubrique' => 'Syndiquer cette rubrique', |
|
| 116 | - 'syndiquer_site' => 'Syndiquer tout le site', |
|
| 117 | - |
|
| 118 | - // T |
|
| 119 | - 'texte_lettre_information' => 'Voici la lettre d’information du site', |
|
| 120 | - 'texte_lettre_information_2' => 'Cette lettre recense les articles et les brèves publiés depuis', |
|
| 121 | - |
|
| 122 | - // V |
|
| 123 | - 'ver_imprimer' => 'Version à imprimer', |
|
| 124 | - 'voir_en_ligne' => 'Voir en ligne', |
|
| 125 | - 'voir_squelette' => 'voir le squelette de cette page' |
|
| 12 | + // A |
|
| 13 | + 'accueil_site' => 'Accueil', |
|
| 14 | + 'article' => 'Article', |
|
| 15 | + 'articles' => 'Articles', |
|
| 16 | + 'articles_auteur' => 'Articles de cet auteur', |
|
| 17 | + 'articles_populaires' => 'Articles les plus populaires', |
|
| 18 | + 'articles_rubrique' => 'Articles de cette rubrique', |
|
| 19 | + 'aucun_article' => 'Il n’y a pas d’article à cette adresse', |
|
| 20 | + 'aucun_auteur' => 'Il n’y a pas d’auteur à cette adresse', |
|
| 21 | + 'aucun_site' => 'Il n’y a pas de site à cette adresse', |
|
| 22 | + 'aucune_breve' => 'Il n’y a pas de brève à cette adresse', |
|
| 23 | + 'aucune_rubrique' => 'Il n’y a pas de rubrique à cette adresse', |
|
| 24 | + 'auteur' => 'Auteur', |
|
| 25 | + 'autres' => 'Autres', |
|
| 26 | + 'autres_breves' => 'Autres brèves', |
|
| 27 | + 'autres_groupes_mots_clefs' => 'Autres groupes de mots-clés', |
|
| 28 | + 'autres_sites' => 'Autres sites', |
|
| 29 | + |
|
| 30 | + // B |
|
| 31 | + 'bonjour' => 'Salut', |
|
| 32 | + |
|
| 33 | + // C |
|
| 34 | + 'commenter_site' => 'Commenter ce site', |
|
| 35 | + 'contact' => 'Contact', |
|
| 36 | + 'copie_document_impossible' => 'Impossible de copier le document', |
|
| 37 | + |
|
| 38 | + // D |
|
| 39 | + 'date' => 'Date', |
|
| 40 | + 'dernier_ajout' => 'Dernier ajout', |
|
| 41 | + 'dernieres_breves' => 'Dernières brèves', |
|
| 42 | + 'derniers_articles' => 'Derniers articles', |
|
| 43 | + 'derniers_commentaires' => 'Derniers commentaires', |
|
| 44 | + 'derniers_messages_forum' => 'Derniers messages publiés dans les forums', |
|
| 45 | + |
|
| 46 | + // E |
|
| 47 | + 'edition_mode_texte' => 'Édition en mode texte de', |
|
| 48 | + 'en_reponse' => 'En réponse à :', |
|
| 49 | + 'en_resume' => 'En résumé', |
|
| 50 | + 'envoyer_message' => 'Envoyer un message', |
|
| 51 | + 'espace_prive' => 'Espace privé', |
|
| 52 | + |
|
| 53 | + // F |
|
| 54 | + 'formats_acceptes' => 'Formats acceptés : @formats@.', |
|
| 55 | + |
|
| 56 | + // H |
|
| 57 | + 'hierarchie_site' => 'Hiérarchie du site', |
|
| 58 | + |
|
| 59 | + // J |
|
| 60 | + 'jours' => 'jours', |
|
| 61 | + |
|
| 62 | + // L |
|
| 63 | + 'lien_connecter' => 'Se connecter', |
|
| 64 | + |
|
| 65 | + // M |
|
| 66 | + 'meme_auteur' => 'Du même auteur', |
|
| 67 | + 'meme_rubrique' => 'Dans la même rubrique', |
|
| 68 | + 'memes_auteurs' => 'Des mêmes auteurs', |
|
| 69 | + 'message' => 'Message', |
|
| 70 | + 'messages_forum' => 'Messages', |
|
| 71 | + 'messages_recents' => 'Messages de forums les plus récents', |
|
| 72 | + 'mots_clef' => 'Mot-clé', |
|
| 73 | + 'mots_clefs' => 'Mots-clés', |
|
| 74 | + 'mots_clefs_meme_groupe' => 'Mots-clés dans le même groupe', |
|
| 75 | + |
|
| 76 | + // N |
|
| 77 | + 'navigation' => 'Navigation', |
|
| 78 | + 'nom' => 'Nom', |
|
| 79 | + 'nouveautes' => 'Les nouveautés', |
|
| 80 | + 'nouveautes_web' => 'Nouveautés sur le Web', |
|
| 81 | + 'nouveaux_articles' => 'Nouveaux articles', |
|
| 82 | + 'nouvelles_breves' => 'Nouvelles brèves', |
|
| 83 | + |
|
| 84 | + // P |
|
| 85 | + 'page_precedente' => 'page précédente', |
|
| 86 | + 'page_suivante' => 'page suivante', |
|
| 87 | + 'par_auteur' => 'par ', |
|
| 88 | + 'participer_site' => 'Tu peux participer à la vie de ce site et proposer tes propres articles en t’inscrivant ci-dessous. Tu recevras immédiatement un email t’indiquant tes codes d’accès à l’espace privé du site.', |
|
| 89 | + 'plan_site' => 'Plan du site', |
|
| 90 | + 'popularite' => 'Popularité', |
|
| 91 | + 'poster_message' => 'Poster un message', |
|
| 92 | + 'proposer_site' => 'Tu peux proposer un site à ajouter dans cette rubrique :', |
|
| 93 | + |
|
| 94 | + // R |
|
| 95 | + 'repondre_article' => 'Répondre à cet article', |
|
| 96 | + 'repondre_breve' => 'Répondre à cette brève', |
|
| 97 | + 'resultats_recherche' => 'Résultats de la recherche', |
|
| 98 | + 'retour_debut_forums' => 'Retour au début des forums', |
|
| 99 | + 'rss_abonnement' => 'Copie l’URL suivante dans ton agrégateur :', |
|
| 100 | + 'rss_abonnement_titre' => 'S’abonner', |
|
| 101 | + 'rss_abonnement_titre_page' => 'S’abonner à', |
|
| 102 | + 'rss_explication' => 'Un fil RSS recueille les informations de mise à jour d’un site. Il fournit le contenu des billets ou des commentaires ou un extrait de ceux-ci, ainsi qu’un lien vers les versions complètes et quelques autres informations. Ce fil a pour vocation d’être lu par un agrégateur RSS.', |
|
| 103 | + 'rss_explication_titre' => 'Qu’est-ce qu’un flux RSS ?', |
|
| 104 | + 'rubrique' => 'Rubrique', |
|
| 105 | + 'rubriques' => 'Rubriques', |
|
| 106 | + |
|
| 107 | + // S |
|
| 108 | + 'signatures_petition' => 'Signatures', |
|
| 109 | + 'site_realise_avec_spip' => 'Site réalisé avec SPIP', |
|
| 110 | + 'sites_web' => 'Sites Web', |
|
| 111 | + 'sous_rubriques' => 'Sous-rubriques', |
|
| 112 | + 'spam' => 'Spam', |
|
| 113 | + 'suite' => 'suite', |
|
| 114 | + 'sur_web' => 'Sur le Web', |
|
| 115 | + 'syndiquer_rubrique' => 'Syndiquer cette rubrique', |
|
| 116 | + 'syndiquer_site' => 'Syndiquer tout le site', |
|
| 117 | + |
|
| 118 | + // T |
|
| 119 | + 'texte_lettre_information' => 'Voici la lettre d’information du site', |
|
| 120 | + 'texte_lettre_information_2' => 'Cette lettre recense les articles et les brèves publiés depuis', |
|
| 121 | + |
|
| 122 | + // V |
|
| 123 | + 'ver_imprimer' => 'Version à imprimer', |
|
| 124 | + 'voir_en_ligne' => 'Voir en ligne', |
|
| 125 | + 'voir_squelette' => 'voir le squelette de cette page' |
|
| 126 | 126 | ); |
@@ -4,828 +4,828 @@ discard block |
||
| 4 | 4 | // ** ne pas modifier le fichier ** |
| 5 | 5 | |
| 6 | 6 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 7 | - return; |
|
| 7 | + return; |
|
| 8 | 8 | } |
| 9 | 9 | |
| 10 | 10 | $GLOBALS[$GLOBALS['idx_lang']] = array( |
| 11 | 11 | |
| 12 | - // A |
|
| 13 | - 'activer_plugin' => 'Attiva l’estensione', |
|
| 14 | - 'affichage' => 'Visualizzazione', |
|
| 15 | - 'aide_non_disponible' => 'Questa parte della guida in linea non è ancora disponibile in italiano.', |
|
| 16 | - 'annuler_recherche' => 'Annullare la ricerca', |
|
| 17 | - 'auteur' => 'Autore:', |
|
| 18 | - 'avis_acces_interdit' => 'Accesso vietato.', |
|
| 19 | - 'avis_acces_interdit_prive' => 'Non hai i diritti di accesso per la pagina <b>@exec@</b>.', |
|
| 20 | - 'avis_article_modifie' => 'Attenzione, @nom_auteur_modif@ ha lavorato su quest’articolo @date_diff@ minuti fa', |
|
| 21 | - 'avis_aucun_resultat' => 'Nessun risultato.', |
|
| 22 | - 'avis_base_inaccessible' => 'Impossibile connettersi al database @base@.', |
|
| 23 | - 'avis_chemin_invalide_1' => 'il percorso che hai scelto', |
|
| 24 | - 'avis_chemin_invalide_2' => 'non sembra valido. Torna alla pagina precedente e verifica le informazioni fornite.', |
|
| 25 | - 'avis_connexion_echec_1' => 'Il collegamento alla base di dati è fallito.', |
|
| 26 | - 'avis_connexion_echec_2' => 'Torna alla pagina precedente e verifica le informazioni fornite.', |
|
| 27 | - 'avis_connexion_echec_3' => '<b>N.B.</b> Su molti server si deve <b>chiedere</b> l’attivazione dell’accesso alla base di dati prima di poterlo utilizzare. Se è impossibile collegarsi, verificare che questo passo sia stato fatto.', |
|
| 28 | - 'avis_connexion_erreur_creer_base' => 'Non è stato possibile creare un database.', |
|
| 29 | - 'avis_connexion_erreur_nom_base' => 'Il nome del database può contenere solo lettere, numeri e tratti.', |
|
| 30 | - 'avis_connexion_ldap_echec_1' => 'La connessione al server LDAP è fallita.', |
|
| 31 | - 'avis_connexion_ldap_echec_2' => 'Torna alla pagina precedente e verifica le informazioni fornite. ', |
|
| 32 | - 'avis_connexion_ldap_echec_3' => 'In alternativa, non utilizzare il supporto LDAP per importare utenti.', |
|
| 33 | - 'avis_deplacement_rubrique' => 'Attenzione! Questa rubrica contiene @contient_breves@ breve/i: se vuoi spostarla, spunta questa casella per confermare.', |
|
| 34 | - 'avis_erreur_connexion_mysql' => 'Errore di connessione SQL', |
|
| 35 | - 'avis_espace_interdit' => '<b>Area vietata</b> <div>SPIP è già installato.</div>', |
|
| 36 | - 'avis_lecture_noms_bases_1' => 'Il programma di installazione non ha potuto leggere i nomi dei database installati nel server.', |
|
| 37 | - 'avis_lecture_noms_bases_2' => 'Nessun database è disponibile, o la funzione che permette di accedere alla lista database è |
|
| 12 | + // A |
|
| 13 | + 'activer_plugin' => 'Attiva l’estensione', |
|
| 14 | + 'affichage' => 'Visualizzazione', |
|
| 15 | + 'aide_non_disponible' => 'Questa parte della guida in linea non è ancora disponibile in italiano.', |
|
| 16 | + 'annuler_recherche' => 'Annullare la ricerca', |
|
| 17 | + 'auteur' => 'Autore:', |
|
| 18 | + 'avis_acces_interdit' => 'Accesso vietato.', |
|
| 19 | + 'avis_acces_interdit_prive' => 'Non hai i diritti di accesso per la pagina <b>@exec@</b>.', |
|
| 20 | + 'avis_article_modifie' => 'Attenzione, @nom_auteur_modif@ ha lavorato su quest’articolo @date_diff@ minuti fa', |
|
| 21 | + 'avis_aucun_resultat' => 'Nessun risultato.', |
|
| 22 | + 'avis_base_inaccessible' => 'Impossibile connettersi al database @base@.', |
|
| 23 | + 'avis_chemin_invalide_1' => 'il percorso che hai scelto', |
|
| 24 | + 'avis_chemin_invalide_2' => 'non sembra valido. Torna alla pagina precedente e verifica le informazioni fornite.', |
|
| 25 | + 'avis_connexion_echec_1' => 'Il collegamento alla base di dati è fallito.', |
|
| 26 | + 'avis_connexion_echec_2' => 'Torna alla pagina precedente e verifica le informazioni fornite.', |
|
| 27 | + 'avis_connexion_echec_3' => '<b>N.B.</b> Su molti server si deve <b>chiedere</b> l’attivazione dell’accesso alla base di dati prima di poterlo utilizzare. Se è impossibile collegarsi, verificare che questo passo sia stato fatto.', |
|
| 28 | + 'avis_connexion_erreur_creer_base' => 'Non è stato possibile creare un database.', |
|
| 29 | + 'avis_connexion_erreur_nom_base' => 'Il nome del database può contenere solo lettere, numeri e tratti.', |
|
| 30 | + 'avis_connexion_ldap_echec_1' => 'La connessione al server LDAP è fallita.', |
|
| 31 | + 'avis_connexion_ldap_echec_2' => 'Torna alla pagina precedente e verifica le informazioni fornite. ', |
|
| 32 | + 'avis_connexion_ldap_echec_3' => 'In alternativa, non utilizzare il supporto LDAP per importare utenti.', |
|
| 33 | + 'avis_deplacement_rubrique' => 'Attenzione! Questa rubrica contiene @contient_breves@ breve/i: se vuoi spostarla, spunta questa casella per confermare.', |
|
| 34 | + 'avis_erreur_connexion_mysql' => 'Errore di connessione SQL', |
|
| 35 | + 'avis_espace_interdit' => '<b>Area vietata</b> <div>SPIP è già installato.</div>', |
|
| 36 | + 'avis_lecture_noms_bases_1' => 'Il programma di installazione non ha potuto leggere i nomi dei database installati nel server.', |
|
| 37 | + 'avis_lecture_noms_bases_2' => 'Nessun database è disponibile, o la funzione che permette di accedere alla lista database è |
|
| 38 | 38 | disattivata per motivi sicurezza (verifica con l’amministratore di sistema).', |
| 39 | - 'avis_lecture_noms_bases_3' => 'Nel secondo caso, è probabile che un database con il tuo nome di login sia utilizzabile:', |
|
| 40 | - 'avis_non_acces_page' => 'Non hai accesso a questa pagina.', |
|
| 41 | - 'avis_operation_echec' => 'L’operazione è fallita.', |
|
| 42 | - 'avis_operation_impossible' => 'Operazione impossibile', |
|
| 43 | - 'avis_suppression_base' => 'ATTENZIONE, la cancellazione dei dati è irreversibile', |
|
| 39 | + 'avis_lecture_noms_bases_3' => 'Nel secondo caso, è probabile che un database con il tuo nome di login sia utilizzabile:', |
|
| 40 | + 'avis_non_acces_page' => 'Non hai accesso a questa pagina.', |
|
| 41 | + 'avis_operation_echec' => 'L’operazione è fallita.', |
|
| 42 | + 'avis_operation_impossible' => 'Operazione impossibile', |
|
| 43 | + 'avis_suppression_base' => 'ATTENZIONE, la cancellazione dei dati è irreversibile', |
|
| 44 | 44 | |
| 45 | - // B |
|
| 46 | - 'bouton_acces_ldap' => 'Aggiungi l’accesso a LDAP ', |
|
| 47 | - 'bouton_ajouter' => 'Aggiungi', |
|
| 48 | - 'bouton_annuler' => 'Annulla', |
|
| 49 | - 'bouton_cache_activer' => 'Riattivare la cache', |
|
| 50 | - 'bouton_cache_desactiver' => 'Disabilita temporaneamente la cache', |
|
| 51 | - 'bouton_demande_publication' => 'Chiedi la pubblicazione di questo articolo', |
|
| 52 | - 'bouton_desactive_tout' => 'Disattiva tutto', |
|
| 53 | - 'bouton_desinstaller' => 'Disinstalla', |
|
| 54 | - 'bouton_effacer_tout' => 'Cancella TUTTO', |
|
| 55 | - 'bouton_envoyer_message' => 'Messaggio definitivo: Invia', |
|
| 56 | - 'bouton_fermer' => 'Chiudi', |
|
| 57 | - 'bouton_mettre_a_jour_base' => 'Aggiorna il database', |
|
| 58 | - 'bouton_modifier' => 'Modifica', |
|
| 59 | - 'bouton_radio_afficher' => 'Visualizza', |
|
| 60 | - 'bouton_radio_apparaitre_liste_redacteurs_connectes' => 'Comparire nell’elenco dei redattori collegati', |
|
| 61 | - 'bouton_radio_envoi_annonces_adresse' => 'Invia gli annunci all’indirizzo:', |
|
| 62 | - 'bouton_radio_envoi_liste_nouveautes' => 'Invia l’elenco delle novità', |
|
| 63 | - 'bouton_radio_non_apparaitre_liste_redacteurs_connectes' => 'Non comparire nell’elenco dei redattori collegati ', |
|
| 64 | - 'bouton_radio_non_envoi_annonces_editoriales' => 'Non inviare annunci editoriali ', |
|
| 65 | - 'bouton_redirection' => 'REINDIRIZZAMENTO', |
|
| 66 | - 'bouton_reinitialiser_aux_valeurs_par_defaut' => 'Ripristina i valori predefiniti', |
|
| 67 | - 'bouton_relancer_inscription' => 'Riavvia l’iscrizione', |
|
| 68 | - 'bouton_relancer_inscriptions' => 'Riavvia le registrazioni', |
|
| 69 | - 'bouton_relancer_installation' => 'Rilanciare l’installazione', |
|
| 70 | - 'bouton_reset_password' => 'Genera una nuova password ed inviala per email', |
|
| 71 | - 'bouton_suivant' => 'Avanti', |
|
| 72 | - 'bouton_tenter_recuperation' => 'Tentare un ripristino', |
|
| 73 | - 'bouton_test_proxy' => 'Testare il proxy', |
|
| 74 | - 'bouton_vider_cache' => 'Svuota la cache', |
|
| 45 | + // B |
|
| 46 | + 'bouton_acces_ldap' => 'Aggiungi l’accesso a LDAP ', |
|
| 47 | + 'bouton_ajouter' => 'Aggiungi', |
|
| 48 | + 'bouton_annuler' => 'Annulla', |
|
| 49 | + 'bouton_cache_activer' => 'Riattivare la cache', |
|
| 50 | + 'bouton_cache_desactiver' => 'Disabilita temporaneamente la cache', |
|
| 51 | + 'bouton_demande_publication' => 'Chiedi la pubblicazione di questo articolo', |
|
| 52 | + 'bouton_desactive_tout' => 'Disattiva tutto', |
|
| 53 | + 'bouton_desinstaller' => 'Disinstalla', |
|
| 54 | + 'bouton_effacer_tout' => 'Cancella TUTTO', |
|
| 55 | + 'bouton_envoyer_message' => 'Messaggio definitivo: Invia', |
|
| 56 | + 'bouton_fermer' => 'Chiudi', |
|
| 57 | + 'bouton_mettre_a_jour_base' => 'Aggiorna il database', |
|
| 58 | + 'bouton_modifier' => 'Modifica', |
|
| 59 | + 'bouton_radio_afficher' => 'Visualizza', |
|
| 60 | + 'bouton_radio_apparaitre_liste_redacteurs_connectes' => 'Comparire nell’elenco dei redattori collegati', |
|
| 61 | + 'bouton_radio_envoi_annonces_adresse' => 'Invia gli annunci all’indirizzo:', |
|
| 62 | + 'bouton_radio_envoi_liste_nouveautes' => 'Invia l’elenco delle novità', |
|
| 63 | + 'bouton_radio_non_apparaitre_liste_redacteurs_connectes' => 'Non comparire nell’elenco dei redattori collegati ', |
|
| 64 | + 'bouton_radio_non_envoi_annonces_editoriales' => 'Non inviare annunci editoriali ', |
|
| 65 | + 'bouton_redirection' => 'REINDIRIZZAMENTO', |
|
| 66 | + 'bouton_reinitialiser_aux_valeurs_par_defaut' => 'Ripristina i valori predefiniti', |
|
| 67 | + 'bouton_relancer_inscription' => 'Riavvia l’iscrizione', |
|
| 68 | + 'bouton_relancer_inscriptions' => 'Riavvia le registrazioni', |
|
| 69 | + 'bouton_relancer_installation' => 'Rilanciare l’installazione', |
|
| 70 | + 'bouton_reset_password' => 'Genera una nuova password ed inviala per email', |
|
| 71 | + 'bouton_suivant' => 'Avanti', |
|
| 72 | + 'bouton_tenter_recuperation' => 'Tentare un ripristino', |
|
| 73 | + 'bouton_test_proxy' => 'Testare il proxy', |
|
| 74 | + 'bouton_vider_cache' => 'Svuota la cache', |
|
| 75 | 75 | |
| 76 | - // C |
|
| 77 | - 'cache_modifiable_webmestre' => 'Questo parametro può essere modificato dal webmaster del sito.', |
|
| 78 | - 'calendrier_synchro' => 'Se si utilizza un programma di agenda compatibile con <b>iCal</b>, è possibile sincronizzare i dati con le informazioni di questo sito', |
|
| 79 | - 'config_activer_champs' => 'Attiva i campi seguenti', |
|
| 80 | - 'config_choix_base_sup' => 'indicare un database su questo server', |
|
| 81 | - 'config_erreur_base_sup' => 'SPIP non ha accesso all’elenco dei database accessibili ', |
|
| 82 | - 'config_info_base_sup' => 'Se si hanno altri database da interrogare attraverso SPIP, con il proprio server SQL o altro, il form sottostante permette di dichiararli. Se si lasciano alcuni campi vuoti verranno utilizzati i dati della connessione al database principale.', |
|
| 83 | - 'config_info_base_sup_disponibles' => 'Database supplementari già dichiarati:', |
|
| 84 | - 'config_info_enregistree' => 'La nuova configurazione è stata registrata', |
|
| 85 | - 'config_info_logos' => 'Ogni elemento del sito può avere un logo, come pure un « logo per il roll-over »', |
|
| 86 | - 'config_info_logos_utiliser' => 'Utilizza i logo', |
|
| 87 | - 'config_info_logos_utiliser_non' => 'Non utilizzare i logo', |
|
| 88 | - 'config_info_logos_utiliser_survol' => 'Utilizzare i logo di roll-over', |
|
| 89 | - 'config_info_logos_utiliser_survol_non' => 'Non utilizzare i logo di roll-over', |
|
| 90 | - 'config_info_redirection' => 'Attivando questa opzione è possibile creare degli articoli virtuali, semplici riferimenti di articoli pubblicati su altri siti o al di fuori di SPIP.', |
|
| 91 | - 'config_redirection' => 'Articoli virtuali', |
|
| 92 | - 'config_titre_base_sup' => 'Dichiarazione di un database supplementare', |
|
| 93 | - 'config_titre_base_sup_choix' => 'Scegliere un database supplementare', |
|
| 94 | - 'connexion_ldap' => 'Connessione:', |
|
| 95 | - 'creer_et_associer_un_auteur' => 'Crea e associa un’autore', |
|
| 76 | + // C |
|
| 77 | + 'cache_modifiable_webmestre' => 'Questo parametro può essere modificato dal webmaster del sito.', |
|
| 78 | + 'calendrier_synchro' => 'Se si utilizza un programma di agenda compatibile con <b>iCal</b>, è possibile sincronizzare i dati con le informazioni di questo sito', |
|
| 79 | + 'config_activer_champs' => 'Attiva i campi seguenti', |
|
| 80 | + 'config_choix_base_sup' => 'indicare un database su questo server', |
|
| 81 | + 'config_erreur_base_sup' => 'SPIP non ha accesso all’elenco dei database accessibili ', |
|
| 82 | + 'config_info_base_sup' => 'Se si hanno altri database da interrogare attraverso SPIP, con il proprio server SQL o altro, il form sottostante permette di dichiararli. Se si lasciano alcuni campi vuoti verranno utilizzati i dati della connessione al database principale.', |
|
| 83 | + 'config_info_base_sup_disponibles' => 'Database supplementari già dichiarati:', |
|
| 84 | + 'config_info_enregistree' => 'La nuova configurazione è stata registrata', |
|
| 85 | + 'config_info_logos' => 'Ogni elemento del sito può avere un logo, come pure un « logo per il roll-over »', |
|
| 86 | + 'config_info_logos_utiliser' => 'Utilizza i logo', |
|
| 87 | + 'config_info_logos_utiliser_non' => 'Non utilizzare i logo', |
|
| 88 | + 'config_info_logos_utiliser_survol' => 'Utilizzare i logo di roll-over', |
|
| 89 | + 'config_info_logos_utiliser_survol_non' => 'Non utilizzare i logo di roll-over', |
|
| 90 | + 'config_info_redirection' => 'Attivando questa opzione è possibile creare degli articoli virtuali, semplici riferimenti di articoli pubblicati su altri siti o al di fuori di SPIP.', |
|
| 91 | + 'config_redirection' => 'Articoli virtuali', |
|
| 92 | + 'config_titre_base_sup' => 'Dichiarazione di un database supplementare', |
|
| 93 | + 'config_titre_base_sup_choix' => 'Scegliere un database supplementare', |
|
| 94 | + 'connexion_ldap' => 'Connessione:', |
|
| 95 | + 'creer_et_associer_un_auteur' => 'Crea e associa un’autore', |
|
| 96 | 96 | |
| 97 | - // D |
|
| 98 | - 'date_mot_heures' => 'ore', |
|
| 97 | + // D |
|
| 98 | + 'date_mot_heures' => 'ore', |
|
| 99 | 99 | |
| 100 | - // E |
|
| 101 | - 'ecran_connexion_couleur_principale' => 'Colore principale', |
|
| 102 | - 'ecran_connexion_image_fond' => 'Immagine di sfondo', |
|
| 103 | - 'ecran_connexion_image_fond_explication' => 'Usa un’immagine (formato JPEG, 1920x1080 pixel)', |
|
| 104 | - 'ecran_connexion_image_revenir_couleur_defaut' => 'Reimposta il colore predefinito', |
|
| 105 | - 'ecran_connexion_titre' => 'Schermata di accesso', |
|
| 106 | - 'ecran_securite' => ' + sicurezza dello schermo @version@', |
|
| 107 | - 'email' => 'email', |
|
| 108 | - 'email_2' => 'email:', |
|
| 109 | - 'en_savoir_plus' => 'Per saperne di più', |
|
| 110 | - 'entree_adresse_annuaire' => 'Indirizzo della rubrica', |
|
| 111 | - 'entree_adresse_email' => 'Il tuo indirizzo email', |
|
| 112 | - 'entree_adresse_email_2' => 'Indirizzo e-mail', |
|
| 113 | - 'entree_base_donnee_1' => 'Indirizzo del database', |
|
| 114 | - 'entree_base_donnee_2' => '(Spesso questo indirizzo coincide con quello dell’intero sito, qualche volta corrisponde a "localhost", altre volte invece non è necessario specificarlo.)', |
|
| 115 | - 'entree_biographie' => 'La tua biografia in breve.', |
|
| 116 | - 'entree_chemin_acces' => '<b>Inserire</b> il percorso d’accesso:', |
|
| 117 | - 'entree_cle_pgp' => 'Chiave PGP', |
|
| 118 | - 'entree_cle_pgp_2' => 'Chiave PGP', |
|
| 119 | - 'entree_contenu_rubrique' => '(Contenuto della rubrica in qualche parola)', |
|
| 120 | - 'entree_identifiants_connexion' => 'Identificativo di connessione...', |
|
| 121 | - 'entree_identifiants_connexion_2' => 'Indentificativo di connessione', |
|
| 122 | - 'entree_informations_connexion_ldap' => 'Inserisci in questo form gli estremi per la connessione alla tua rubrica LDAP. |
|
| 100 | + // E |
|
| 101 | + 'ecran_connexion_couleur_principale' => 'Colore principale', |
|
| 102 | + 'ecran_connexion_image_fond' => 'Immagine di sfondo', |
|
| 103 | + 'ecran_connexion_image_fond_explication' => 'Usa un’immagine (formato JPEG, 1920x1080 pixel)', |
|
| 104 | + 'ecran_connexion_image_revenir_couleur_defaut' => 'Reimposta il colore predefinito', |
|
| 105 | + 'ecran_connexion_titre' => 'Schermata di accesso', |
|
| 106 | + 'ecran_securite' => ' + sicurezza dello schermo @version@', |
|
| 107 | + 'email' => 'email', |
|
| 108 | + 'email_2' => 'email:', |
|
| 109 | + 'en_savoir_plus' => 'Per saperne di più', |
|
| 110 | + 'entree_adresse_annuaire' => 'Indirizzo della rubrica', |
|
| 111 | + 'entree_adresse_email' => 'Il tuo indirizzo email', |
|
| 112 | + 'entree_adresse_email_2' => 'Indirizzo e-mail', |
|
| 113 | + 'entree_base_donnee_1' => 'Indirizzo del database', |
|
| 114 | + 'entree_base_donnee_2' => '(Spesso questo indirizzo coincide con quello dell’intero sito, qualche volta corrisponde a "localhost", altre volte invece non è necessario specificarlo.)', |
|
| 115 | + 'entree_biographie' => 'La tua biografia in breve.', |
|
| 116 | + 'entree_chemin_acces' => '<b>Inserire</b> il percorso d’accesso:', |
|
| 117 | + 'entree_cle_pgp' => 'Chiave PGP', |
|
| 118 | + 'entree_cle_pgp_2' => 'Chiave PGP', |
|
| 119 | + 'entree_contenu_rubrique' => '(Contenuto della rubrica in qualche parola)', |
|
| 120 | + 'entree_identifiants_connexion' => 'Identificativo di connessione...', |
|
| 121 | + 'entree_identifiants_connexion_2' => 'Indentificativo di connessione', |
|
| 122 | + 'entree_informations_connexion_ldap' => 'Inserisci in questo form gli estremi per la connessione alla tua rubrica LDAP. |
|
| 123 | 123 | Se non conosci queste informazioni, richiedile all’amministratore del sistema o della rete.', |
| 124 | - 'entree_infos_perso' => 'Chi sei?', |
|
| 125 | - 'entree_infos_perso_2' => 'Chi è l’autore?', |
|
| 126 | - 'entree_interieur_rubrique' => 'All’interno della rubrica:', |
|
| 127 | - 'entree_liens_sites' => '<b>Link ipertestuale</b> (riferimento, sito da visitare...)', |
|
| 128 | - 'entree_login' => 'Login', |
|
| 129 | - 'entree_login_connexion_1' => 'Il login di connessione', |
|
| 130 | - 'entree_login_connexion_2' => '(Corrisponde a volte al login d’accesso via FTP; in alcuni casi non occorre specificare nulla)', |
|
| 131 | - 'entree_mot_passe' => 'Password', |
|
| 132 | - 'entree_mot_passe_1' => 'La password di connessione', |
|
| 133 | - 'entree_mot_passe_2' => '(Corrisponde a volte alla password d’accesso via FTP; in alcuni casi non occorre specificare nulla)', |
|
| 134 | - 'entree_nom_fichier' => 'Inserire il nome del file @texte_compresse@:', |
|
| 135 | - 'entree_nom_pseudo' => 'Nome o pseudonimo', |
|
| 136 | - 'entree_nom_pseudo_1' => '(Nome o pseudonimo)', |
|
| 137 | - 'entree_nom_pseudo_2' => 'Nome o alias', |
|
| 138 | - 'entree_nom_site' => 'Nome del tuo sito', |
|
| 139 | - 'entree_nom_site_2' => 'Nome del sito dell’autore', |
|
| 140 | - 'entree_nouveau_passe' => 'Nuova password', |
|
| 141 | - 'entree_passe_ldap' => 'Password', |
|
| 142 | - 'entree_port_annuaire' => 'Il numero di porta della rubrica', |
|
| 143 | - 'entree_signature' => 'Firma', |
|
| 144 | - 'entree_titre_obligatoire' => '<b>Titolo</b> [Obbligatorio]<br />', |
|
| 145 | - 'entree_url' => 'Indirizzo (URL) del sito', |
|
| 146 | - 'entree_url_2' => 'Indirizzo del sito', |
|
| 147 | - 'erreur_connect_deja_existant' => 'Esista già un server con quel nome', |
|
| 148 | - 'erreur_contenu_suspect' => 'Testo sfuggito', |
|
| 149 | - 'erreur_email_deja_existant' => 'Questo indirizzo email risulta già registrato.', |
|
| 150 | - 'erreur_nom_connect_incorrect' => 'Nome del server non consentito', |
|
| 151 | - 'erreur_plugin_attribut_balise_manquant' => 'Attributo @attribut@ mancante nel tag @balise@.', |
|
| 152 | - 'erreur_plugin_desinstalation_echouee' => 'La disinstallazione del plugin è fallita. In ogni caso potete disattivarlo.', |
|
| 153 | - 'erreur_plugin_fichier_absent' => 'File non presente', |
|
| 154 | - 'erreur_plugin_fichier_def_absent' => 'File di definizioni non presente', |
|
| 155 | - 'erreur_plugin_nom_fonction_interdit' => 'Nome di funzione non possibile', |
|
| 156 | - 'erreur_plugin_nom_manquant' => 'Nome del plugin mancante', |
|
| 157 | - 'erreur_plugin_prefix_manquant' => 'Spazio per il nome del plugin non definito', |
|
| 158 | - 'erreur_plugin_tag_plugin_absent' => '<plugin> mancante nel file di definizione', |
|
| 159 | - 'erreur_plugin_version_manquant' => 'Versione del plugin mancante', |
|
| 160 | - 'erreur_type_fichier' => 'Tipo di file non corretto', |
|
| 124 | + 'entree_infos_perso' => 'Chi sei?', |
|
| 125 | + 'entree_infos_perso_2' => 'Chi è l’autore?', |
|
| 126 | + 'entree_interieur_rubrique' => 'All’interno della rubrica:', |
|
| 127 | + 'entree_liens_sites' => '<b>Link ipertestuale</b> (riferimento, sito da visitare...)', |
|
| 128 | + 'entree_login' => 'Login', |
|
| 129 | + 'entree_login_connexion_1' => 'Il login di connessione', |
|
| 130 | + 'entree_login_connexion_2' => '(Corrisponde a volte al login d’accesso via FTP; in alcuni casi non occorre specificare nulla)', |
|
| 131 | + 'entree_mot_passe' => 'Password', |
|
| 132 | + 'entree_mot_passe_1' => 'La password di connessione', |
|
| 133 | + 'entree_mot_passe_2' => '(Corrisponde a volte alla password d’accesso via FTP; in alcuni casi non occorre specificare nulla)', |
|
| 134 | + 'entree_nom_fichier' => 'Inserire il nome del file @texte_compresse@:', |
|
| 135 | + 'entree_nom_pseudo' => 'Nome o pseudonimo', |
|
| 136 | + 'entree_nom_pseudo_1' => '(Nome o pseudonimo)', |
|
| 137 | + 'entree_nom_pseudo_2' => 'Nome o alias', |
|
| 138 | + 'entree_nom_site' => 'Nome del tuo sito', |
|
| 139 | + 'entree_nom_site_2' => 'Nome del sito dell’autore', |
|
| 140 | + 'entree_nouveau_passe' => 'Nuova password', |
|
| 141 | + 'entree_passe_ldap' => 'Password', |
|
| 142 | + 'entree_port_annuaire' => 'Il numero di porta della rubrica', |
|
| 143 | + 'entree_signature' => 'Firma', |
|
| 144 | + 'entree_titre_obligatoire' => '<b>Titolo</b> [Obbligatorio]<br />', |
|
| 145 | + 'entree_url' => 'Indirizzo (URL) del sito', |
|
| 146 | + 'entree_url_2' => 'Indirizzo del sito', |
|
| 147 | + 'erreur_connect_deja_existant' => 'Esista già un server con quel nome', |
|
| 148 | + 'erreur_contenu_suspect' => 'Testo sfuggito', |
|
| 149 | + 'erreur_email_deja_existant' => 'Questo indirizzo email risulta già registrato.', |
|
| 150 | + 'erreur_nom_connect_incorrect' => 'Nome del server non consentito', |
|
| 151 | + 'erreur_plugin_attribut_balise_manquant' => 'Attributo @attribut@ mancante nel tag @balise@.', |
|
| 152 | + 'erreur_plugin_desinstalation_echouee' => 'La disinstallazione del plugin è fallita. In ogni caso potete disattivarlo.', |
|
| 153 | + 'erreur_plugin_fichier_absent' => 'File non presente', |
|
| 154 | + 'erreur_plugin_fichier_def_absent' => 'File di definizioni non presente', |
|
| 155 | + 'erreur_plugin_nom_fonction_interdit' => 'Nome di funzione non possibile', |
|
| 156 | + 'erreur_plugin_nom_manquant' => 'Nome del plugin mancante', |
|
| 157 | + 'erreur_plugin_prefix_manquant' => 'Spazio per il nome del plugin non definito', |
|
| 158 | + 'erreur_plugin_tag_plugin_absent' => '<plugin> mancante nel file di definizione', |
|
| 159 | + 'erreur_plugin_version_manquant' => 'Versione del plugin mancante', |
|
| 160 | + 'erreur_type_fichier' => 'Tipo di file non corretto', |
|
| 161 | 161 | |
| 162 | - // H |
|
| 163 | - 'htaccess_a_simuler' => 'Attenzione: la configurazione del tuo HTTP server ignora il file @htaccess@. Per garantire un buon livello di sicurezza devi modificare la configurazione del server per questa impostazione, oppure devi assicurarti che la costante @constantes@ (definibile nel file mes_options.php) sia valorizzata con una perocorso di directory posta al di fuori di @document_root@.', |
|
| 164 | - 'htaccess_inoperant' => 'htaccess non attivo', |
|
| 162 | + // H |
|
| 163 | + 'htaccess_a_simuler' => 'Attenzione: la configurazione del tuo HTTP server ignora il file @htaccess@. Per garantire un buon livello di sicurezza devi modificare la configurazione del server per questa impostazione, oppure devi assicurarti che la costante @constantes@ (definibile nel file mes_options.php) sia valorizzata con una perocorso di directory posta al di fuori di @document_root@.', |
|
| 164 | + 'htaccess_inoperant' => 'htaccess non attivo', |
|
| 165 | 165 | |
| 166 | - // I |
|
| 167 | - 'ical_info1' => 'Questa pagina elenca diversi metodi per rimanere in contatto con le varie attività del sito.', |
|
| 168 | - 'ical_info2' => 'Per ulteriori informazioni su tutte queste tecniche, non esitate a consultare <a href="@spipnet@">la documentazione di SPIP</a>.', |
|
| 169 | - 'ical_info_calendrier' => 'Sono disponibili due calendari. Il primo è una mappa del sito che annuncia tutti gli articoli pubblicati. Il secondo contiene gli annunci editoriali e gli ultimi messaggi privati: è un’area riservata, mediante identificativo personale, che è possibile modificare in qualsiasi momento rinnovando la password personale.', |
|
| 170 | - 'ical_methode_http' => 'Download', |
|
| 171 | - 'ical_methode_webcal' => 'Sincronizzazione (webcal://)', |
|
| 172 | - 'ical_texte_js' => 'Una linea in javascript permette di visualizzare, con molta semplicità e su qualsiasi tipo di sito, gli articoli recenti pubblicati su questo sito.', |
|
| 173 | - 'ical_texte_prive' => 'Questo calendario, ad uso strettamente privato, dà informazioni sull’attività redazionale privata di questo sito (impegni e appuntamenti personali, articoli e brevi proposti...).', |
|
| 174 | - 'ical_texte_public' => 'Questo calendario permette di monitorare l’attività pubblica del sito (articoli e brevi pubblicati).', |
|
| 175 | - 'ical_texte_rss' => 'È possibile mettere in syndication le novità di questo sito con qualsiasi lettore di file in formato XML/RSS (Rich Site Summary). Questo è il medesimo formato che permette a SPIP di leggere le novità pubblicate su altri siti che utilizzano un formato di scambio compatibile.', |
|
| 176 | - 'ical_titre_js' => 'Javascript', |
|
| 177 | - 'ical_titre_mailing' => 'Mailing-list', |
|
| 178 | - 'ical_titre_rss' => 'File di syndication', |
|
| 179 | - 'icone_accueil' => 'Pannello di controllo', |
|
| 180 | - 'icone_activer_cookie' => 'Attiva il cookie di corrispondenza', |
|
| 181 | - 'icone_activite' => 'Attività', |
|
| 182 | - 'icone_admin_plugin' => 'Gestione dei plugin', |
|
| 183 | - 'icone_administration' => 'Manutenzione', |
|
| 184 | - 'icone_afficher_auteurs' => 'Pubblica gli autori', |
|
| 185 | - 'icone_afficher_visiteurs' => 'Pubblica i visitatori', |
|
| 186 | - 'icone_arret_discussion' => 'Non partecipare più a questa discussione', |
|
| 187 | - 'icone_calendrier' => 'Calendario', |
|
| 188 | - 'icone_configuration' => 'Configurazione', |
|
| 189 | - 'icone_creer_auteur' => 'Crea un nuovo autore ed associalo a questo articolo', |
|
| 190 | - 'icone_creer_mot_cle' => 'Crea una nuova parola chiave e collegala a questo articolo', |
|
| 191 | - 'icone_creer_rubrique_2' => 'Crea una nuova rubrica', |
|
| 192 | - 'icone_developpement' => 'Sviluppo', |
|
| 193 | - 'icone_edition' => 'Modifica', |
|
| 194 | - 'icone_ma_langue' => 'La mia lingua', |
|
| 195 | - 'icone_mes_infos' => 'Le mie informazioni', |
|
| 196 | - 'icone_mes_preferences' => 'Le mie preferenze', |
|
| 197 | - 'icone_modifier_article' => 'Modifica l’articolo', |
|
| 198 | - 'icone_modifier_rubrique' => 'Modifica la rubrica', |
|
| 199 | - 'icone_publication' => 'Pubblicazione', |
|
| 200 | - 'icone_relancer_signataire' => 'Rilanciare il firmatario', |
|
| 201 | - 'icone_retour' => 'Indietro', |
|
| 202 | - 'icone_retour_article' => 'Torna all’articolo', |
|
| 203 | - 'icone_squelette' => 'Modelli', |
|
| 204 | - 'icone_suivi_publication' => 'Segui la pubblicazione', |
|
| 205 | - 'icone_supprimer_cookie' => 'Elimina il cookie di corrispondenza', |
|
| 206 | - 'icone_supprimer_rubrique' => 'Elimina la rubrica', |
|
| 207 | - 'icone_supprimer_signature' => 'Cancella l’adesione', |
|
| 208 | - 'icone_valider_signature' => 'Conferma l’adesione', |
|
| 209 | - 'image_administrer_rubrique' => 'Puoi amministrare questa rubrica', |
|
| 210 | - 'impossible_modifier_login_auteur' => 'Impossibile modificare le credenziali d’accesso', |
|
| 211 | - 'impossible_modifier_pass_auteur' => 'Impossibile modificare la password.', # Impossibile modificare la password |
|
| 212 | - 'info_1_article' => '1 articolo', |
|
| 213 | - 'info_1_auteur' => '1 autore', |
|
| 214 | - 'info_1_message' => '1 messaggio', |
|
| 215 | - 'info_1_mot_cle' => '1 parola chiave', |
|
| 216 | - 'info_1_rubrique' => '1 rubrica', |
|
| 217 | - 'info_1_visiteur' => '1 visitatore', |
|
| 218 | - 'info_activer_cookie' => 'Se vuoi puoi attivare un <b>cookie di corrispondenza</b>, che ti permetterà |
|
| 166 | + // I |
|
| 167 | + 'ical_info1' => 'Questa pagina elenca diversi metodi per rimanere in contatto con le varie attività del sito.', |
|
| 168 | + 'ical_info2' => 'Per ulteriori informazioni su tutte queste tecniche, non esitate a consultare <a href="@spipnet@">la documentazione di SPIP</a>.', |
|
| 169 | + 'ical_info_calendrier' => 'Sono disponibili due calendari. Il primo è una mappa del sito che annuncia tutti gli articoli pubblicati. Il secondo contiene gli annunci editoriali e gli ultimi messaggi privati: è un’area riservata, mediante identificativo personale, che è possibile modificare in qualsiasi momento rinnovando la password personale.', |
|
| 170 | + 'ical_methode_http' => 'Download', |
|
| 171 | + 'ical_methode_webcal' => 'Sincronizzazione (webcal://)', |
|
| 172 | + 'ical_texte_js' => 'Una linea in javascript permette di visualizzare, con molta semplicità e su qualsiasi tipo di sito, gli articoli recenti pubblicati su questo sito.', |
|
| 173 | + 'ical_texte_prive' => 'Questo calendario, ad uso strettamente privato, dà informazioni sull’attività redazionale privata di questo sito (impegni e appuntamenti personali, articoli e brevi proposti...).', |
|
| 174 | + 'ical_texte_public' => 'Questo calendario permette di monitorare l’attività pubblica del sito (articoli e brevi pubblicati).', |
|
| 175 | + 'ical_texte_rss' => 'È possibile mettere in syndication le novità di questo sito con qualsiasi lettore di file in formato XML/RSS (Rich Site Summary). Questo è il medesimo formato che permette a SPIP di leggere le novità pubblicate su altri siti che utilizzano un formato di scambio compatibile.', |
|
| 176 | + 'ical_titre_js' => 'Javascript', |
|
| 177 | + 'ical_titre_mailing' => 'Mailing-list', |
|
| 178 | + 'ical_titre_rss' => 'File di syndication', |
|
| 179 | + 'icone_accueil' => 'Pannello di controllo', |
|
| 180 | + 'icone_activer_cookie' => 'Attiva il cookie di corrispondenza', |
|
| 181 | + 'icone_activite' => 'Attività', |
|
| 182 | + 'icone_admin_plugin' => 'Gestione dei plugin', |
|
| 183 | + 'icone_administration' => 'Manutenzione', |
|
| 184 | + 'icone_afficher_auteurs' => 'Pubblica gli autori', |
|
| 185 | + 'icone_afficher_visiteurs' => 'Pubblica i visitatori', |
|
| 186 | + 'icone_arret_discussion' => 'Non partecipare più a questa discussione', |
|
| 187 | + 'icone_calendrier' => 'Calendario', |
|
| 188 | + 'icone_configuration' => 'Configurazione', |
|
| 189 | + 'icone_creer_auteur' => 'Crea un nuovo autore ed associalo a questo articolo', |
|
| 190 | + 'icone_creer_mot_cle' => 'Crea una nuova parola chiave e collegala a questo articolo', |
|
| 191 | + 'icone_creer_rubrique_2' => 'Crea una nuova rubrica', |
|
| 192 | + 'icone_developpement' => 'Sviluppo', |
|
| 193 | + 'icone_edition' => 'Modifica', |
|
| 194 | + 'icone_ma_langue' => 'La mia lingua', |
|
| 195 | + 'icone_mes_infos' => 'Le mie informazioni', |
|
| 196 | + 'icone_mes_preferences' => 'Le mie preferenze', |
|
| 197 | + 'icone_modifier_article' => 'Modifica l’articolo', |
|
| 198 | + 'icone_modifier_rubrique' => 'Modifica la rubrica', |
|
| 199 | + 'icone_publication' => 'Pubblicazione', |
|
| 200 | + 'icone_relancer_signataire' => 'Rilanciare il firmatario', |
|
| 201 | + 'icone_retour' => 'Indietro', |
|
| 202 | + 'icone_retour_article' => 'Torna all’articolo', |
|
| 203 | + 'icone_squelette' => 'Modelli', |
|
| 204 | + 'icone_suivi_publication' => 'Segui la pubblicazione', |
|
| 205 | + 'icone_supprimer_cookie' => 'Elimina il cookie di corrispondenza', |
|
| 206 | + 'icone_supprimer_rubrique' => 'Elimina la rubrica', |
|
| 207 | + 'icone_supprimer_signature' => 'Cancella l’adesione', |
|
| 208 | + 'icone_valider_signature' => 'Conferma l’adesione', |
|
| 209 | + 'image_administrer_rubrique' => 'Puoi amministrare questa rubrica', |
|
| 210 | + 'impossible_modifier_login_auteur' => 'Impossibile modificare le credenziali d’accesso', |
|
| 211 | + 'impossible_modifier_pass_auteur' => 'Impossibile modificare la password.', # Impossibile modificare la password |
|
| 212 | + 'info_1_article' => '1 articolo', |
|
| 213 | + 'info_1_auteur' => '1 autore', |
|
| 214 | + 'info_1_message' => '1 messaggio', |
|
| 215 | + 'info_1_mot_cle' => '1 parola chiave', |
|
| 216 | + 'info_1_rubrique' => '1 rubrica', |
|
| 217 | + 'info_1_visiteur' => '1 visitatore', |
|
| 218 | + 'info_activer_cookie' => 'Se vuoi puoi attivare un <b>cookie di corrispondenza</b>, che ti permetterà |
|
| 219 | 219 | di passare facilmente dal sito pubblico all’interfaccia privata.', |
| 220 | - 'info_activer_menu_developpement' => 'Mostra il menù Sviluppo', |
|
| 221 | - 'info_admin_etre_webmestre' => 'Concedimi i privilegi di webmaster', |
|
| 222 | - 'info_admin_je_suis_webmestre' => 'Sono <b>webmaster</b>', |
|
| 223 | - 'info_admin_statuer_webmestre' => 'Dai a questo amministratore i privilegi di webmaster', |
|
| 224 | - 'info_admin_webmestre' => 'Questo amministratore è un <b>webmaster</b>', |
|
| 225 | - 'info_administrateur' => 'Amministratore', |
|
| 226 | - 'info_administrateur_1' => 'Amministratore', |
|
| 227 | - 'info_administrateur_2' => 'del sito (<i>da utilizzare con prudenza</i>)', |
|
| 228 | - 'info_administrateur_site_01' => 'Se sei amministratore del sito,', |
|
| 229 | - 'info_administrateur_site_02' => 'clicca qui', |
|
| 230 | - 'info_administrateurs' => 'Amministratori', |
|
| 231 | - 'info_administrer_rubrique' => 'Puoi amministrare questa rubrica', |
|
| 232 | - 'info_adresse' => 'all’indirizzo:', |
|
| 233 | - 'info_adresse_desinscription' => 'Indirizzo per la cancellazione :', |
|
| 234 | - 'info_adresse_url' => 'Indirizzo (URL) del sito pubblico', |
|
| 235 | - 'info_afficher_par_nb' => 'Mostra', |
|
| 236 | - 'info_aide_en_ligne' => 'Guida in linea SPIP', |
|
| 237 | - 'info_ajout_image' => 'Quando aggiungi delle immagini come documenti allegati ad un articolo, |
|
| 220 | + 'info_activer_menu_developpement' => 'Mostra il menù Sviluppo', |
|
| 221 | + 'info_admin_etre_webmestre' => 'Concedimi i privilegi di webmaster', |
|
| 222 | + 'info_admin_je_suis_webmestre' => 'Sono <b>webmaster</b>', |
|
| 223 | + 'info_admin_statuer_webmestre' => 'Dai a questo amministratore i privilegi di webmaster', |
|
| 224 | + 'info_admin_webmestre' => 'Questo amministratore è un <b>webmaster</b>', |
|
| 225 | + 'info_administrateur' => 'Amministratore', |
|
| 226 | + 'info_administrateur_1' => 'Amministratore', |
|
| 227 | + 'info_administrateur_2' => 'del sito (<i>da utilizzare con prudenza</i>)', |
|
| 228 | + 'info_administrateur_site_01' => 'Se sei amministratore del sito,', |
|
| 229 | + 'info_administrateur_site_02' => 'clicca qui', |
|
| 230 | + 'info_administrateurs' => 'Amministratori', |
|
| 231 | + 'info_administrer_rubrique' => 'Puoi amministrare questa rubrica', |
|
| 232 | + 'info_adresse' => 'all’indirizzo:', |
|
| 233 | + 'info_adresse_desinscription' => 'Indirizzo per la cancellazione :', |
|
| 234 | + 'info_adresse_url' => 'Indirizzo (URL) del sito pubblico', |
|
| 235 | + 'info_afficher_par_nb' => 'Mostra', |
|
| 236 | + 'info_aide_en_ligne' => 'Guida in linea SPIP', |
|
| 237 | + 'info_ajout_image' => 'Quando aggiungi delle immagini come documenti allegati ad un articolo, |
|
| 238 | 238 | SPIP può creare delle thumbnail (miniature) delle |
| 239 | 239 | immagini inserite. Ciò permette ad esempio di creare in automatico una galleria di immagini o un portfolio.', |
| 240 | - 'info_ajouter_rubrique' => 'Aggiungi un’altra rubrica da amministrare:', |
|
| 241 | - 'info_annonce_nouveautes' => 'Annuncio delle novità', |
|
| 242 | - 'info_article' => 'articolo', |
|
| 243 | - 'info_article_2' => 'articoli', |
|
| 244 | - 'info_article_a_paraitre' => 'Gli articoli postdatati da pubblicare', |
|
| 245 | - 'info_articles_02' => 'articoli', |
|
| 246 | - 'info_articles_2' => 'Articoli', |
|
| 247 | - 'info_articles_auteur' => 'Articoli di questo autore', |
|
| 248 | - 'info_articles_miens' => 'I miei articoli', |
|
| 249 | - 'info_articles_tous' => 'Tutti gli articoli', |
|
| 250 | - 'info_articles_trouves' => 'Articoli trovati', |
|
| 251 | - 'info_attente_validation' => 'I tuoi articoli in attesa di convalida', |
|
| 252 | - 'info_aucun_article' => 'Nessun articolo', |
|
| 253 | - 'info_aucun_auteur' => 'Nessun autore', |
|
| 254 | - 'info_aucun_message' => 'Nessun messaggio', |
|
| 255 | - 'info_aucun_rubrique' => 'Nessuna rubrica', |
|
| 256 | - 'info_aujourdhui' => 'oggi: ', |
|
| 257 | - 'info_auteur_gere_rubriques' => 'Questo autore gestisce le rubriche seguenti:', |
|
| 258 | - 'info_auteur_gere_toutes_rubriques' => 'Questo autore gestisce <b>tutte le rubriche</b>', |
|
| 259 | - 'info_auteur_gere_toutes_rubriques_2' => 'Io modifico <b>tutte le rubriche</b>', |
|
| 260 | - 'info_auteurs' => 'Gli autori', |
|
| 261 | - 'info_auteurs_par_tri' => 'Autori@partri@', |
|
| 262 | - 'info_auteurs_trouves' => 'Autori trovati', |
|
| 263 | - 'info_authentification_externe' => 'Autenticazione esterna', |
|
| 264 | - 'info_avertissement' => 'Avvertimento', |
|
| 265 | - 'info_barre_outils' => 'con la barra degli strumenti?', |
|
| 266 | - 'info_base_installee' => 'La struttura del vostro database è installata.', |
|
| 267 | - 'info_bio' => 'Biografia', |
|
| 268 | - 'info_cache_desactive' => 'La cache è temporaneamente disattivata', |
|
| 269 | - 'info_chapeau' => 'Introduzione', |
|
| 270 | - 'info_chapeau_2' => 'Introduzione:', |
|
| 271 | - 'info_chemin_acces_1' => 'Opzioni: <b>Percorso d’accesso ai dati nell’elenco</b>', |
|
| 272 | - 'info_chemin_acces_2' => 'È necessario specificare il percorso per accedere ai dati nell’elenco. Questa informazione è indispensabile al fine di leggere i profili utente in esso contenuti.', |
|
| 273 | - 'info_chemin_acces_annuaire' => 'Opzioni: <b>Percorso d’accesso ai dati nell’elenco</b>', |
|
| 274 | - 'info_choix_base' => 'Terza fase: ', |
|
| 275 | - 'info_classement_1' => '<sup>o</sup> su @liste@', |
|
| 276 | - 'info_classement_2' => '<sup>o</sup> su @liste@', |
|
| 277 | - 'info_code_acces' => 'Non dimenticare i tuoi codici d’accesso!', |
|
| 278 | - 'info_config_suivi' => 'Se questo indirizzo corrisponde a una mailing-list, è possibile indicare qui sotto l’indirizzo al quale i partecipanti del sito possono iscriversi. Questo indirizzo può essere una URL (per esempio la pagina di iscrizione via Web alla lista), oppure un indirizzo email che contiene un Oggetto specifico (per esempio: <tt>@adresse_suivi@?subject=subscribe</tt>):', |
|
| 279 | - 'info_config_suivi_explication' => 'È possibile abbonarsi alla mailing-list di questo sito. Verranno spedite per email le notifiche degli articoli e delle brevi proposte per la pubblicazione.', |
|
| 280 | - 'info_confirmer_passe' => 'Conferma la nuova password:', |
|
| 281 | - 'info_conflit_edition_avis_non_sauvegarde' => 'Attenzione, i campi seguenti sono già stati modificati. Quindi le vostre modifiche su questi campi non sono state registrate.', |
|
| 282 | - 'info_conflit_edition_differences' => 'Differenze:', |
|
| 283 | - 'info_conflit_edition_version_enregistree' => 'La versione registrata:', |
|
| 284 | - 'info_conflit_edition_votre_version' => 'La tua versione:', |
|
| 285 | - 'info_connexion_base' => 'Prova di connessione al database', |
|
| 286 | - 'info_connexion_base_donnee' => 'Connessione al proprio database', |
|
| 287 | - 'info_connexion_ldap_ok' => '<b>La connessione LDAP è riuscita.</b><p> È possibile passare alla fase successiva.</p>', |
|
| 288 | - 'info_connexion_mysql' => 'La connessione a SQL', |
|
| 289 | - 'info_connexion_ok' => 'La connessione è riuscita.', |
|
| 290 | - 'info_contact' => 'Contatti', |
|
| 291 | - 'info_contenu_articles' => 'Contentuto degli articoli', |
|
| 292 | - 'info_contributions' => 'Contributi', |
|
| 293 | - 'info_creation_paragraphe' => 'Per creare dei paragrafi indipendenti, lasciare fra loro delle righe vuote.', |
|
| 294 | - 'info_creation_rubrique' => 'Prima di poter scrivere degli articoli, <br />devi creare almeno una rubrica.<br />', |
|
| 295 | - 'info_creation_tables' => 'Creazione delle tabelle nel database', |
|
| 296 | - 'info_creer_base' => '<b>Creare</b> un nuovo database:', |
|
| 297 | - 'info_dans_rubrique' => 'Nella rubrica:', |
|
| 298 | - 'info_date_publication_anterieure' => 'Data di redazione anteriore:', |
|
| 299 | - 'info_date_referencement' => 'DATA DI INSERIMENTO IN REPERTORIO DI QUESTO SITO:', |
|
| 300 | - 'info_derniere_etape' => 'Finito!', |
|
| 301 | - 'info_descriptif' => 'Descrizione:', |
|
| 302 | - 'info_desinstaller_plugin' => 'elimina i dati e disattiva il plug-in', |
|
| 303 | - 'info_discussion_cours' => 'Discussioni in corso', |
|
| 304 | - 'info_ecrire_article' => 'Prima di poter scrivere degli articoli, devi creare almeno una rubrica.', |
|
| 305 | - 'info_email_envoi' => 'Indirizzo email del mittente (opzionale)', |
|
| 306 | - 'info_email_envoi_txt' => 'Indicare qui l’indirizzo da utilizzare per l’invio degli email (come impostazione predefinita l’indirizzo del destinatario sarà utilizzato come indirizzo del mittente):', |
|
| 307 | - 'info_email_webmestre' => 'Indirizzo email del webmaster', |
|
| 308 | - 'info_envoi_email_automatique' => 'Invio di email automatico', |
|
| 309 | - 'info_envoyer_maintenant' => 'Invia adesso', |
|
| 310 | - 'info_etape_suivante' => 'Passare alla fase successiva', |
|
| 311 | - 'info_etape_suivante_1' => 'Puoi passare alla fase successiva.', |
|
| 312 | - 'info_etape_suivante_2' => 'Puoi passare alla fase successiva.', |
|
| 313 | - 'info_exceptions_proxy' => 'Eccezioni per il proxy', |
|
| 314 | - 'info_exportation_base' => 'esportazione del database verso @archive@', |
|
| 315 | - 'info_facilite_suivi_activite' => 'Al fine di facilitare il monitoraggio |
|
| 240 | + 'info_ajouter_rubrique' => 'Aggiungi un’altra rubrica da amministrare:', |
|
| 241 | + 'info_annonce_nouveautes' => 'Annuncio delle novità', |
|
| 242 | + 'info_article' => 'articolo', |
|
| 243 | + 'info_article_2' => 'articoli', |
|
| 244 | + 'info_article_a_paraitre' => 'Gli articoli postdatati da pubblicare', |
|
| 245 | + 'info_articles_02' => 'articoli', |
|
| 246 | + 'info_articles_2' => 'Articoli', |
|
| 247 | + 'info_articles_auteur' => 'Articoli di questo autore', |
|
| 248 | + 'info_articles_miens' => 'I miei articoli', |
|
| 249 | + 'info_articles_tous' => 'Tutti gli articoli', |
|
| 250 | + 'info_articles_trouves' => 'Articoli trovati', |
|
| 251 | + 'info_attente_validation' => 'I tuoi articoli in attesa di convalida', |
|
| 252 | + 'info_aucun_article' => 'Nessun articolo', |
|
| 253 | + 'info_aucun_auteur' => 'Nessun autore', |
|
| 254 | + 'info_aucun_message' => 'Nessun messaggio', |
|
| 255 | + 'info_aucun_rubrique' => 'Nessuna rubrica', |
|
| 256 | + 'info_aujourdhui' => 'oggi: ', |
|
| 257 | + 'info_auteur_gere_rubriques' => 'Questo autore gestisce le rubriche seguenti:', |
|
| 258 | + 'info_auteur_gere_toutes_rubriques' => 'Questo autore gestisce <b>tutte le rubriche</b>', |
|
| 259 | + 'info_auteur_gere_toutes_rubriques_2' => 'Io modifico <b>tutte le rubriche</b>', |
|
| 260 | + 'info_auteurs' => 'Gli autori', |
|
| 261 | + 'info_auteurs_par_tri' => 'Autori@partri@', |
|
| 262 | + 'info_auteurs_trouves' => 'Autori trovati', |
|
| 263 | + 'info_authentification_externe' => 'Autenticazione esterna', |
|
| 264 | + 'info_avertissement' => 'Avvertimento', |
|
| 265 | + 'info_barre_outils' => 'con la barra degli strumenti?', |
|
| 266 | + 'info_base_installee' => 'La struttura del vostro database è installata.', |
|
| 267 | + 'info_bio' => 'Biografia', |
|
| 268 | + 'info_cache_desactive' => 'La cache è temporaneamente disattivata', |
|
| 269 | + 'info_chapeau' => 'Introduzione', |
|
| 270 | + 'info_chapeau_2' => 'Introduzione:', |
|
| 271 | + 'info_chemin_acces_1' => 'Opzioni: <b>Percorso d’accesso ai dati nell’elenco</b>', |
|
| 272 | + 'info_chemin_acces_2' => 'È necessario specificare il percorso per accedere ai dati nell’elenco. Questa informazione è indispensabile al fine di leggere i profili utente in esso contenuti.', |
|
| 273 | + 'info_chemin_acces_annuaire' => 'Opzioni: <b>Percorso d’accesso ai dati nell’elenco</b>', |
|
| 274 | + 'info_choix_base' => 'Terza fase: ', |
|
| 275 | + 'info_classement_1' => '<sup>o</sup> su @liste@', |
|
| 276 | + 'info_classement_2' => '<sup>o</sup> su @liste@', |
|
| 277 | + 'info_code_acces' => 'Non dimenticare i tuoi codici d’accesso!', |
|
| 278 | + 'info_config_suivi' => 'Se questo indirizzo corrisponde a una mailing-list, è possibile indicare qui sotto l’indirizzo al quale i partecipanti del sito possono iscriversi. Questo indirizzo può essere una URL (per esempio la pagina di iscrizione via Web alla lista), oppure un indirizzo email che contiene un Oggetto specifico (per esempio: <tt>@adresse_suivi@?subject=subscribe</tt>):', |
|
| 279 | + 'info_config_suivi_explication' => 'È possibile abbonarsi alla mailing-list di questo sito. Verranno spedite per email le notifiche degli articoli e delle brevi proposte per la pubblicazione.', |
|
| 280 | + 'info_confirmer_passe' => 'Conferma la nuova password:', |
|
| 281 | + 'info_conflit_edition_avis_non_sauvegarde' => 'Attenzione, i campi seguenti sono già stati modificati. Quindi le vostre modifiche su questi campi non sono state registrate.', |
|
| 282 | + 'info_conflit_edition_differences' => 'Differenze:', |
|
| 283 | + 'info_conflit_edition_version_enregistree' => 'La versione registrata:', |
|
| 284 | + 'info_conflit_edition_votre_version' => 'La tua versione:', |
|
| 285 | + 'info_connexion_base' => 'Prova di connessione al database', |
|
| 286 | + 'info_connexion_base_donnee' => 'Connessione al proprio database', |
|
| 287 | + 'info_connexion_ldap_ok' => '<b>La connessione LDAP è riuscita.</b><p> È possibile passare alla fase successiva.</p>', |
|
| 288 | + 'info_connexion_mysql' => 'La connessione a SQL', |
|
| 289 | + 'info_connexion_ok' => 'La connessione è riuscita.', |
|
| 290 | + 'info_contact' => 'Contatti', |
|
| 291 | + 'info_contenu_articles' => 'Contentuto degli articoli', |
|
| 292 | + 'info_contributions' => 'Contributi', |
|
| 293 | + 'info_creation_paragraphe' => 'Per creare dei paragrafi indipendenti, lasciare fra loro delle righe vuote.', |
|
| 294 | + 'info_creation_rubrique' => 'Prima di poter scrivere degli articoli, <br />devi creare almeno una rubrica.<br />', |
|
| 295 | + 'info_creation_tables' => 'Creazione delle tabelle nel database', |
|
| 296 | + 'info_creer_base' => '<b>Creare</b> un nuovo database:', |
|
| 297 | + 'info_dans_rubrique' => 'Nella rubrica:', |
|
| 298 | + 'info_date_publication_anterieure' => 'Data di redazione anteriore:', |
|
| 299 | + 'info_date_referencement' => 'DATA DI INSERIMENTO IN REPERTORIO DI QUESTO SITO:', |
|
| 300 | + 'info_derniere_etape' => 'Finito!', |
|
| 301 | + 'info_descriptif' => 'Descrizione:', |
|
| 302 | + 'info_desinstaller_plugin' => 'elimina i dati e disattiva il plug-in', |
|
| 303 | + 'info_discussion_cours' => 'Discussioni in corso', |
|
| 304 | + 'info_ecrire_article' => 'Prima di poter scrivere degli articoli, devi creare almeno una rubrica.', |
|
| 305 | + 'info_email_envoi' => 'Indirizzo email del mittente (opzionale)', |
|
| 306 | + 'info_email_envoi_txt' => 'Indicare qui l’indirizzo da utilizzare per l’invio degli email (come impostazione predefinita l’indirizzo del destinatario sarà utilizzato come indirizzo del mittente):', |
|
| 307 | + 'info_email_webmestre' => 'Indirizzo email del webmaster', |
|
| 308 | + 'info_envoi_email_automatique' => 'Invio di email automatico', |
|
| 309 | + 'info_envoyer_maintenant' => 'Invia adesso', |
|
| 310 | + 'info_etape_suivante' => 'Passare alla fase successiva', |
|
| 311 | + 'info_etape_suivante_1' => 'Puoi passare alla fase successiva.', |
|
| 312 | + 'info_etape_suivante_2' => 'Puoi passare alla fase successiva.', |
|
| 313 | + 'info_exceptions_proxy' => 'Eccezioni per il proxy', |
|
| 314 | + 'info_exportation_base' => 'esportazione del database verso @archive@', |
|
| 315 | + 'info_facilite_suivi_activite' => 'Al fine di facilitare il monitoraggio |
|
| 316 | 316 | dell’attività editoriale del sito, SPIP può far pervenire via email, |
| 317 | 317 | per esempio ad una mailing-list dei redattori, l’annuncio delle domande di |
| 318 | 318 | pubblicazione e di convalida degli articoli.', |
| 319 | - 'info_fichiers_authent' => 'File d’autenticazione ".htpasswd"', |
|
| 320 | - 'info_forums_abo_invites' => 'Il sito comprende dei forum accessibili solo a utenti registrati. Nel sito pubblico è quindi presente una pagina d’iscrizione.', |
|
| 321 | - 'info_gauche_admin_tech' => '<b>Questa pagina è accessibile solo ai responsabili del sito.</b><p> Permette l’accesso alle diverse funzioni |
|
| 319 | + 'info_fichiers_authent' => 'File d’autenticazione ".htpasswd"', |
|
| 320 | + 'info_forums_abo_invites' => 'Il sito comprende dei forum accessibili solo a utenti registrati. Nel sito pubblico è quindi presente una pagina d’iscrizione.', |
|
| 321 | + 'info_gauche_admin_tech' => '<b>Questa pagina è accessibile solo ai responsabili del sito.</b><p> Permette l’accesso alle diverse funzioni |
|
| 322 | 322 | di manutenzione tecnica. Alcune di esse richiedono una specifica procedura di identificazione, |
| 323 | 323 | eseguibile grazie a un accesso FTP.</p>', |
| 324 | - 'info_gauche_admin_vider' => '<b>Questa pagina è accessibile solo ai responsabili del sito.</b><p> Permette l’accesso alle diverse funzioni di manutenzione tecnica. |
|
| 324 | + 'info_gauche_admin_vider' => '<b>Questa pagina è accessibile solo ai responsabili del sito.</b><p> Permette l’accesso alle diverse funzioni di manutenzione tecnica. |
|
| 325 | 325 | Alcune di esse richiedono una specifica procedura di identificazione, eseguibile grazie ad un accesso FTP.</p>', |
| 326 | - 'info_gauche_auteurs' => 'Elenco di tutti gli autori del sito. |
|
| 326 | + 'info_gauche_auteurs' => 'Elenco di tutti gli autori del sito. |
|
| 327 | 327 | Il loro status è indicato dal colore dell’icona (redattore = giallo; amministratore = verde).', |
| 328 | - 'info_gauche_auteurs_exterieurs' => 'Gli autori esterni, senza accesso al sito, sono indicati da un’icona blu; |
|
| 328 | + 'info_gauche_auteurs_exterieurs' => 'Gli autori esterni, senza accesso al sito, sono indicati da un’icona blu; |
|
| 329 | 329 | gli autori eliminati da un’icona grigia.', |
| 330 | - 'info_gauche_messagerie' => 'Il sistema di messaggistica permette di scambiare dei messaggi tra redattori, di conservare dei memo (promemoria ad uso personale) o di pubblicare degli annunci nel pannello di controllo dell’area riservata (se sei amministratore).', |
|
| 331 | - 'info_gauche_statistiques_referers' => 'Questa pagina presenta un elenco dei siti che contengono link verso il tuo (<i>referrer</i>). Questo elenco è valido però solo per oggi essendo azzerato ogni 24 ore.', |
|
| 332 | - 'info_gauche_visiteurs_enregistres' => 'Trovi qui i visitatori registrati allo spazio |
|
| 330 | + 'info_gauche_messagerie' => 'Il sistema di messaggistica permette di scambiare dei messaggi tra redattori, di conservare dei memo (promemoria ad uso personale) o di pubblicare degli annunci nel pannello di controllo dell’area riservata (se sei amministratore).', |
|
| 331 | + 'info_gauche_statistiques_referers' => 'Questa pagina presenta un elenco dei siti che contengono link verso il tuo (<i>referrer</i>). Questo elenco è valido però solo per oggi essendo azzerato ogni 24 ore.', |
|
| 332 | + 'info_gauche_visiteurs_enregistres' => 'Trovi qui i visitatori registrati allo spazio |
|
| 333 | 333 | pubblico del sito (forum su abbonamento).', |
| 334 | - 'info_generation_miniatures_images' => 'Generazione di thumbnail di immagini', |
|
| 335 | - 'info_gerer_trad_objets' => '@objets@ : gestire i collegamenti alle traduzioni', |
|
| 336 | - 'info_hebergeur_desactiver_envoi_email' => 'Alcuni hoster disattivano l’invio automatico di email |
|
| 334 | + 'info_generation_miniatures_images' => 'Generazione di thumbnail di immagini', |
|
| 335 | + 'info_gerer_trad_objets' => '@objets@ : gestire i collegamenti alle traduzioni', |
|
| 336 | + 'info_hebergeur_desactiver_envoi_email' => 'Alcuni hoster disattivano l’invio automatico di email |
|
| 337 | 337 | dai loro server. In questo caso, le funzionalità di SPIP di seguito riportate non funzioneranno.', |
| 338 | - 'info_hier' => 'ieri:', |
|
| 339 | - 'info_identification_publique' => 'La tua identità pubblica...', |
|
| 340 | - 'info_image_process' => 'Seleziona il metodo migliore per la creazione delle anteprime cliccando sull’immagine corrispondente.', |
|
| 341 | - 'info_image_process2' => 'Se non appare alcuna immagine, significa che la configurazione del server non permette l’uso di alcune funzioni grafiche. Se si desidera utilizzarle, rivolgersi al responsabile tecnico chiedendo di installare le estensioni «GD» o «Imagick».', |
|
| 342 | - 'info_images_auto' => 'Immagini elaborate automaticamente', |
|
| 343 | - 'info_informations_personnelles' => 'Informazioni personali', |
|
| 344 | - 'info_inscription' => 'Iscritto il', |
|
| 345 | - 'info_inscription_automatique' => 'Iscrizione automatica di nuovi redattori', |
|
| 346 | - 'info_jeu_caractere' => 'Set di caratteri del sito', |
|
| 347 | - 'info_jours' => 'giorni', |
|
| 348 | - 'info_laisser_champs_vides' => 'lasciare questi campi vuoti)', |
|
| 349 | - 'info_langues' => 'Lingua del sito', |
|
| 350 | - 'info_ldap_ok' => 'L’autenticazione LDAP è installata.', |
|
| 351 | - 'info_lien_hypertexte' => 'Link ipertestuale:', |
|
| 352 | - 'info_liste_nouveautes_envoyee' => 'La lista delle novità è stata inviata', |
|
| 353 | - 'info_liste_redacteurs_connectes' => 'Elenco dei redattori collegati', |
|
| 354 | - 'info_login_existant' => 'Questo login esiste già.', |
|
| 355 | - 'info_login_trop_court' => 'Login troppo corto.', |
|
| 356 | - 'info_login_trop_court_car_pluriel' => 'La login deve contenere almeno @nb@ caratteri.', |
|
| 357 | - 'info_logos' => 'I logo', |
|
| 358 | - 'info_maximum' => 'massimo:', |
|
| 359 | - 'info_meme_rubrique' => 'Nella stessa rubrica', |
|
| 360 | - 'info_message_en_redaction' => 'I tuoi messaggi in corso di redazione', |
|
| 361 | - 'info_message_technique' => 'Messaggio tecnico:', |
|
| 362 | - 'info_messagerie_interne' => 'Sistema di messaggistica interna', |
|
| 363 | - 'info_mise_a_niveau_base' => 'aggiornamento del database SQL', |
|
| 364 | - 'info_mise_a_niveau_base_2' => '{{Attenzione!}} È stata installata una versione |
|
| 338 | + 'info_hier' => 'ieri:', |
|
| 339 | + 'info_identification_publique' => 'La tua identità pubblica...', |
|
| 340 | + 'info_image_process' => 'Seleziona il metodo migliore per la creazione delle anteprime cliccando sull’immagine corrispondente.', |
|
| 341 | + 'info_image_process2' => 'Se non appare alcuna immagine, significa che la configurazione del server non permette l’uso di alcune funzioni grafiche. Se si desidera utilizzarle, rivolgersi al responsabile tecnico chiedendo di installare le estensioni «GD» o «Imagick».', |
|
| 342 | + 'info_images_auto' => 'Immagini elaborate automaticamente', |
|
| 343 | + 'info_informations_personnelles' => 'Informazioni personali', |
|
| 344 | + 'info_inscription' => 'Iscritto il', |
|
| 345 | + 'info_inscription_automatique' => 'Iscrizione automatica di nuovi redattori', |
|
| 346 | + 'info_jeu_caractere' => 'Set di caratteri del sito', |
|
| 347 | + 'info_jours' => 'giorni', |
|
| 348 | + 'info_laisser_champs_vides' => 'lasciare questi campi vuoti)', |
|
| 349 | + 'info_langues' => 'Lingua del sito', |
|
| 350 | + 'info_ldap_ok' => 'L’autenticazione LDAP è installata.', |
|
| 351 | + 'info_lien_hypertexte' => 'Link ipertestuale:', |
|
| 352 | + 'info_liste_nouveautes_envoyee' => 'La lista delle novità è stata inviata', |
|
| 353 | + 'info_liste_redacteurs_connectes' => 'Elenco dei redattori collegati', |
|
| 354 | + 'info_login_existant' => 'Questo login esiste già.', |
|
| 355 | + 'info_login_trop_court' => 'Login troppo corto.', |
|
| 356 | + 'info_login_trop_court_car_pluriel' => 'La login deve contenere almeno @nb@ caratteri.', |
|
| 357 | + 'info_logos' => 'I logo', |
|
| 358 | + 'info_maximum' => 'massimo:', |
|
| 359 | + 'info_meme_rubrique' => 'Nella stessa rubrica', |
|
| 360 | + 'info_message_en_redaction' => 'I tuoi messaggi in corso di redazione', |
|
| 361 | + 'info_message_technique' => 'Messaggio tecnico:', |
|
| 362 | + 'info_messagerie_interne' => 'Sistema di messaggistica interna', |
|
| 363 | + 'info_mise_a_niveau_base' => 'aggiornamento del database SQL', |
|
| 364 | + 'info_mise_a_niveau_base_2' => '{{Attenzione!}} È stata installata una versione |
|
| 365 | 365 | dei file di SPIP {precedente} rispetto a quella che era in uso per questo sito: |
| 366 | 366 | le informazioni contenute nel database sono probabilmente andate perse.<br />{{Reinstallare i file di SPIP.}}', |
| 367 | - 'info_modification_enregistree' => 'Le modifiche sono state salvate', |
|
| 368 | - 'info_modifier_auteur' => 'Modifica l’autore:', |
|
| 369 | - 'info_modifier_rubrique' => 'Modifica la rubrica:', |
|
| 370 | - 'info_modifier_titre' => 'Modifica: @titre@', |
|
| 371 | - 'info_mon_site_spip' => 'Il mio sito SPIP', |
|
| 372 | - 'info_moyenne' => 'media: ', |
|
| 373 | - 'info_multi_cet_article' => 'Lingua di questo articolo:', |
|
| 374 | - 'info_multi_langues_choisies' => 'Selezionare di seguito le lingue disponibili per i redattori del sito. |
|
| 367 | + 'info_modification_enregistree' => 'Le modifiche sono state salvate', |
|
| 368 | + 'info_modifier_auteur' => 'Modifica l’autore:', |
|
| 369 | + 'info_modifier_rubrique' => 'Modifica la rubrica:', |
|
| 370 | + 'info_modifier_titre' => 'Modifica: @titre@', |
|
| 371 | + 'info_mon_site_spip' => 'Il mio sito SPIP', |
|
| 372 | + 'info_moyenne' => 'media: ', |
|
| 373 | + 'info_multi_cet_article' => 'Lingua di questo articolo:', |
|
| 374 | + 'info_multi_langues_choisies' => 'Selezionare di seguito le lingue disponibili per i redattori del sito. |
|
| 375 | 375 | Le lingue già utilizzate nel sito (visualizzate per prime) non possono essere disattivate.', |
| 376 | - 'info_multi_objets' => '@objets@ : attiva il menù delle lingue', |
|
| 377 | - 'info_multi_secteurs' => '... solo per le rubriche collocate nella {root} del sito?', |
|
| 378 | - 'info_nb_articles' => '@nb@ articoli', |
|
| 379 | - 'info_nb_auteurs' => '@nb@ autori', |
|
| 380 | - 'info_nb_messages' => '@nb@ messaggi', |
|
| 381 | - 'info_nb_mots_cles' => '@nb@ parole chiave', |
|
| 382 | - 'info_nb_rubriques' => '@nb@ rubriche', |
|
| 383 | - 'info_nb_visiteurs' => '@nb@ visitatori', |
|
| 384 | - 'info_nom' => 'Nome', |
|
| 385 | - 'info_nom_destinataire' => 'Nome del destinatario', |
|
| 386 | - 'info_nom_pas_conforme' => 'I tag html non sono consentiti', |
|
| 387 | - 'info_nom_site' => 'Nome del tuo sito', |
|
| 388 | - 'info_nombre_articles' => '@nb_articles@ articoli,', |
|
| 389 | - 'info_nombre_rubriques' => '@nb_rubriques@ rubriche,', |
|
| 390 | - 'info_nombre_sites' => '@nb_sites@ siti, ', |
|
| 391 | - 'info_non_deplacer' => 'Non spostare...', |
|
| 392 | - 'info_non_envoi_annonce_dernieres_nouveautes' => 'SPIP può inviare regolarmente annunci sulle ultime novità del sito |
|
| 376 | + 'info_multi_objets' => '@objets@ : attiva il menù delle lingue', |
|
| 377 | + 'info_multi_secteurs' => '... solo per le rubriche collocate nella {root} del sito?', |
|
| 378 | + 'info_nb_articles' => '@nb@ articoli', |
|
| 379 | + 'info_nb_auteurs' => '@nb@ autori', |
|
| 380 | + 'info_nb_messages' => '@nb@ messaggi', |
|
| 381 | + 'info_nb_mots_cles' => '@nb@ parole chiave', |
|
| 382 | + 'info_nb_rubriques' => '@nb@ rubriche', |
|
| 383 | + 'info_nb_visiteurs' => '@nb@ visitatori', |
|
| 384 | + 'info_nom' => 'Nome', |
|
| 385 | + 'info_nom_destinataire' => 'Nome del destinatario', |
|
| 386 | + 'info_nom_pas_conforme' => 'I tag html non sono consentiti', |
|
| 387 | + 'info_nom_site' => 'Nome del tuo sito', |
|
| 388 | + 'info_nombre_articles' => '@nb_articles@ articoli,', |
|
| 389 | + 'info_nombre_rubriques' => '@nb_rubriques@ rubriche,', |
|
| 390 | + 'info_nombre_sites' => '@nb_sites@ siti, ', |
|
| 391 | + 'info_non_deplacer' => 'Non spostare...', |
|
| 392 | + 'info_non_envoi_annonce_dernieres_nouveautes' => 'SPIP può inviare regolarmente annunci sulle ultime novità del sito |
|
| 393 | 393 | (articoli e brevi recentemente pubblicati).', |
| 394 | - 'info_non_envoi_liste_nouveautes' => 'Non inviare l’elenco delle novità', |
|
| 395 | - 'info_non_modifiable' => 'non può essere modificato', |
|
| 396 | - 'info_non_suppression_mot_cle' => 'non voglio cancellare questa parola chiave.', |
|
| 397 | - 'info_notes' => 'Note', |
|
| 398 | - 'info_nouvel_article' => 'Nuovo articolo', |
|
| 399 | - 'info_nouvelle_traduction' => 'Nuova traduzione:', |
|
| 400 | - 'info_numero_article' => 'ARTICOLO NUMERO:', |
|
| 401 | - 'info_obligatoire_02' => '(Obbligatorio)', |
|
| 402 | - 'info_option_accepter_visiteurs' => 'Accetta l’iscrizione di utenti del sito pubblico', |
|
| 403 | - 'info_option_ne_pas_accepter_visiteurs' => 'Rifiuta l’iscrizione di utenti', |
|
| 404 | - 'info_options_avancees' => 'OPZIONE AVANZATA', |
|
| 405 | - 'info_ou' => 'o... ', |
|
| 406 | - 'info_page_interdite' => 'Pagina riservata', |
|
| 407 | - 'info_par_nom' => 'per nome', |
|
| 408 | - 'info_par_nombre_article' => 'per numero di articoli', |
|
| 409 | - 'info_par_statut' => 'per status', |
|
| 410 | - 'info_par_tri' => '’(per @tri@)’', |
|
| 411 | - 'info_passe_trop_court' => 'Password troppo corta.', |
|
| 412 | - 'info_passe_trop_court_car_pluriel' => 'La password deve contenere almeno @nb@ caratteri.', |
|
| 413 | - 'info_passes_identiques' => 'Le due password non sono uguali.', |
|
| 414 | - 'info_plus_cinq_car' => 'più di 5 caratteri', |
|
| 415 | - 'info_plus_cinq_car_2' => '(Più di 5 caratteri)', |
|
| 416 | - 'info_plus_trois_car' => '(Più di 3 caratteri)', |
|
| 417 | - 'info_popularite' => 'popolarità: @popularite@; visite: @visites@', |
|
| 418 | - 'info_post_scriptum' => 'Post Scriptum', |
|
| 419 | - 'info_post_scriptum_2' => 'Post Scriptum:', |
|
| 420 | - 'info_pour' => 'per', |
|
| 421 | - 'info_preview_texte' => 'È possibile visualizzare un’anteprima del sito comprendente anche gli articoli e le brevi "proposti" per la pubblicazione. Questa funzionalità può essere disattivata, consentita solo agli amministratori o a tutti i redattori.', |
|
| 422 | - 'info_procedez_par_etape' => 'procedere passo dopo passo', |
|
| 423 | - 'info_procedure_maj_version' => 'è necessario avviare la procedura di aggiornamento per adattare |
|
| 394 | + 'info_non_envoi_liste_nouveautes' => 'Non inviare l’elenco delle novità', |
|
| 395 | + 'info_non_modifiable' => 'non può essere modificato', |
|
| 396 | + 'info_non_suppression_mot_cle' => 'non voglio cancellare questa parola chiave.', |
|
| 397 | + 'info_notes' => 'Note', |
|
| 398 | + 'info_nouvel_article' => 'Nuovo articolo', |
|
| 399 | + 'info_nouvelle_traduction' => 'Nuova traduzione:', |
|
| 400 | + 'info_numero_article' => 'ARTICOLO NUMERO:', |
|
| 401 | + 'info_obligatoire_02' => '(Obbligatorio)', |
|
| 402 | + 'info_option_accepter_visiteurs' => 'Accetta l’iscrizione di utenti del sito pubblico', |
|
| 403 | + 'info_option_ne_pas_accepter_visiteurs' => 'Rifiuta l’iscrizione di utenti', |
|
| 404 | + 'info_options_avancees' => 'OPZIONE AVANZATA', |
|
| 405 | + 'info_ou' => 'o... ', |
|
| 406 | + 'info_page_interdite' => 'Pagina riservata', |
|
| 407 | + 'info_par_nom' => 'per nome', |
|
| 408 | + 'info_par_nombre_article' => 'per numero di articoli', |
|
| 409 | + 'info_par_statut' => 'per status', |
|
| 410 | + 'info_par_tri' => '’(per @tri@)’', |
|
| 411 | + 'info_passe_trop_court' => 'Password troppo corta.', |
|
| 412 | + 'info_passe_trop_court_car_pluriel' => 'La password deve contenere almeno @nb@ caratteri.', |
|
| 413 | + 'info_passes_identiques' => 'Le due password non sono uguali.', |
|
| 414 | + 'info_plus_cinq_car' => 'più di 5 caratteri', |
|
| 415 | + 'info_plus_cinq_car_2' => '(Più di 5 caratteri)', |
|
| 416 | + 'info_plus_trois_car' => '(Più di 3 caratteri)', |
|
| 417 | + 'info_popularite' => 'popolarità: @popularite@; visite: @visites@', |
|
| 418 | + 'info_post_scriptum' => 'Post Scriptum', |
|
| 419 | + 'info_post_scriptum_2' => 'Post Scriptum:', |
|
| 420 | + 'info_pour' => 'per', |
|
| 421 | + 'info_preview_texte' => 'È possibile visualizzare un’anteprima del sito comprendente anche gli articoli e le brevi "proposti" per la pubblicazione. Questa funzionalità può essere disattivata, consentita solo agli amministratori o a tutti i redattori.', |
|
| 422 | + 'info_procedez_par_etape' => 'procedere passo dopo passo', |
|
| 423 | + 'info_procedure_maj_version' => 'è necessario avviare la procedura di aggiornamento per adattare |
|
| 424 | 424 | il database alla nuova versione di SPIP.', |
| 425 | - 'info_proxy_ok' => 'Test del proxy riuscito.', |
|
| 426 | - 'info_ps' => 'P.S.', |
|
| 427 | - 'info_publier' => 'pubblicare', |
|
| 428 | - 'info_publies' => 'I tuoi articoli pubblicati', |
|
| 429 | - 'info_question_accepter_visiteurs' => 'I modelli di pagina del sito prevedono la registrazione di utenti senza accesso all’area riservata. Attivare la seguente funzionalità:', |
|
| 430 | - 'info_question_inscription_nouveaux_redacteurs' => 'Vuoi accettare le iscrizioni di nuovi redattori direttamente dal sito pubblico? |
|
| 425 | + 'info_proxy_ok' => 'Test del proxy riuscito.', |
|
| 426 | + 'info_ps' => 'P.S.', |
|
| 427 | + 'info_publier' => 'pubblicare', |
|
| 428 | + 'info_publies' => 'I tuoi articoli pubblicati', |
|
| 429 | + 'info_question_accepter_visiteurs' => 'I modelli di pagina del sito prevedono la registrazione di utenti senza accesso all’area riservata. Attivare la seguente funzionalità:', |
|
| 430 | + 'info_question_inscription_nouveaux_redacteurs' => 'Vuoi accettare le iscrizioni di nuovi redattori direttamente dal sito pubblico? |
|
| 431 | 431 | In caso affermativo, i visitatori potranno iscriversi grazie ad un modulo automatizzato e accedere all’area riservata per proporre i propri articoli. |
| 432 | 432 | <div class="notice">Durante il processo d’iscrizione, gli utenti riceveranno un email che fornisce loro i codici d’accesso all’area privata. Alcuni servizi di hosting disattivano l’invio di email dai propri server: in questo caso l’iscrizione automatica non può essere attivata.</div>', |
| 433 | - 'info_qui_edite' => '@nom_auteur_modif@ ha lavorato su questo contenuto @date_diff@ minuti fa', |
|
| 434 | - 'info_racine_site' => 'Root del sito', |
|
| 435 | - 'info_recharger_page' => 'Aggiorna questa pagina fra qualche istante.', |
|
| 436 | - 'info_recherche_auteur_zero' => 'Nessun risultato per "@cherche_auteur@".', |
|
| 437 | - 'info_recommencer' => 'Ricomincia.', |
|
| 438 | - 'info_redacteur_1' => 'Redattori', |
|
| 439 | - 'info_redacteur_2' => 'avendo accesso allo spazio privato (<i>raccommandato</i>)', |
|
| 440 | - 'info_redacteurs' => 'Redattori', |
|
| 441 | - 'info_redaction_en_cours' => 'IN CORSO DI REDAZIONE', |
|
| 442 | - 'info_redirection' => 'Reindirizzamento', |
|
| 443 | - 'info_redirection_activee' => 'Il reindirizzamento è attivato.', |
|
| 444 | - 'info_redirection_boucle' => 'Stai cercando di sovrascrivere l’articolo.', |
|
| 445 | - 'info_redirection_desactivee' => 'Il reindirizzamento è stato cancellato.', |
|
| 446 | - 'info_refuses' => 'I tuoi articoli rifiutati', |
|
| 447 | - 'info_reglage_ldap' => 'Opzioni: <b>Parametri per l’importazione LDAP</b>', |
|
| 448 | - 'info_renvoi_article' => '<b>Reindirizzamento.</b> Quest’articolo rimanda alla pagina:', |
|
| 449 | - 'info_reserve_admin' => 'Solo gli amministratori possono modificare quest’indirizzo.', |
|
| 450 | - 'info_restreindre_rubrique' => 'Limita la facoltà di gestione alla rubrica:', |
|
| 451 | - 'info_resultat_recherche' => 'Risultati della ricerca:', |
|
| 452 | - 'info_rubriques' => 'Rubriche', |
|
| 453 | - 'info_rubriques_02' => 'rubriche', |
|
| 454 | - 'info_rubriques_trouvees' => 'Rubriche trovate', |
|
| 455 | - 'info_sans_titre' => 'Senza titolo', |
|
| 456 | - 'info_selection_chemin_acces' => '<b>Seleziona</b> qui sotto il percorso d’accesso nell’elenco:', |
|
| 457 | - 'info_signatures' => 'firme', |
|
| 458 | - 'info_site' => 'Sito', |
|
| 459 | - 'info_site_2' => 'sito: ', |
|
| 460 | - 'info_site_min' => 'sito', |
|
| 461 | - 'info_site_reference_2' => 'Sito repertoriato', |
|
| 462 | - 'info_site_web' => 'Sito Web:', |
|
| 463 | - 'info_sites' => 'siti', |
|
| 464 | - 'info_sites_lies_mot' => 'I siti in repertorio legati a questa parola chiave', |
|
| 465 | - 'info_sites_proxy' => 'Utilizza un proxy', |
|
| 466 | - 'info_sites_trouves' => 'Siti trovati', |
|
| 467 | - 'info_sous_titre' => 'Sottotitolo:', |
|
| 468 | - 'info_statut_administrateur' => 'Amministratore', |
|
| 469 | - 'info_statut_auteur' => 'Status di questo autore:', |
|
| 470 | - 'info_statut_auteur_2' => 'Io sono', |
|
| 471 | - 'info_statut_auteur_a_confirmer' => 'Iscrizione da confermare', |
|
| 472 | - 'info_statut_auteur_autre' => 'Altro stato:', |
|
| 473 | - 'info_statut_redacteur' => 'Redattore', |
|
| 474 | - 'info_statut_utilisateurs_1' => 'Status predefinito degli utenti importati', |
|
| 475 | - 'info_statut_utilisateurs_2' => 'Scegli lo status da attribuire alle personne presenti nell’elenco LDAP quando si collegano per la prima volta. Potrai poi modificare questa impostazione per ogni singolo autore.', |
|
| 476 | - 'info_suivi_activite' => 'Monitoraggio dell’attività editoriale', |
|
| 477 | - 'info_surtitre' => 'Occhiello:', |
|
| 478 | - 'info_syndication_integrale_1' => 'Il tuo sito propone dei file di syndication (vedi « <a href="@url@">@titre@</a> »).', |
|
| 479 | - 'info_syndication_integrale_2' => 'Si desidera trasmettere gli articoli in versione integrale oppure in versione riassunta di un centinaio di caratteri?', |
|
| 480 | - 'info_table_prefix' => 'È possibile modificare il prefisso del nome delle tabelle del database (cosa indispensabile se si desidera installare più siti usando il medesimo database). Questo prefisso si deve scrivere usando esclusivamente lettere minuscole, prive di accenti e senza alcuno spazio.', |
|
| 481 | - 'info_taille_maximale_images' => 'SPIP testerà la dimensione massima delle immagini che può manipolare (in milioni di pixel).<br /> Le immagini di dimensione maggiore non saranno ridotte.', |
|
| 482 | - 'info_taille_maximale_vignette' => 'Dimensione massima delle immagini create dal sistema:', |
|
| 483 | - 'info_terminer_installation' => 'Puoi ora terminare la procedura d’installazione standard.', |
|
| 484 | - 'info_texte' => 'Testo', |
|
| 485 | - 'info_texte_explicatif' => 'Testo esplicativo', |
|
| 486 | - 'info_texte_long' => '(il testo è lungo: è quindi visualizzato in più sezioni che verranno riunificate dopo la convalida)', |
|
| 487 | - 'info_texte_message' => 'Testo del tuo messaggio:', |
|
| 488 | - 'info_texte_message_02' => 'Testo del messaggio', |
|
| 489 | - 'info_titre' => 'Titolo:', |
|
| 490 | - 'info_total' => 'totale: ', |
|
| 491 | - 'info_tous_articles_en_redaction' => 'Tutti gli articoli in corso di redazione', |
|
| 492 | - 'info_tous_articles_presents' => 'Tutti gli articoli pubblicati in questa rubrica', |
|
| 493 | - 'info_tous_articles_refuses' => 'Tutti gli articoli rifiutati', |
|
| 494 | - 'info_tous_les' => 'tutti i:', |
|
| 495 | - 'info_tout_site' => 'Tutto il sito', |
|
| 496 | - 'info_tout_site2' => 'L’articolo non è stato tradotto in questa lingua.', |
|
| 497 | - 'info_tout_site3' => 'L’articolo è stato tradotto in questa lingua, ma sono state effettuate alcune modifiche all’articolo di riferimento. La traduzione deve quindi essere aggiornata.', |
|
| 498 | - 'info_tout_site4' => 'L’articolo è stato tradotto in questa lingua e la traduzione è aggiornata.', |
|
| 499 | - 'info_tout_site5' => 'Articolo originale.', |
|
| 500 | - 'info_tout_site6' => '<b>Attenzione:</b> solo gli articoli originali vengono visualizzati. |
|
| 433 | + 'info_qui_edite' => '@nom_auteur_modif@ ha lavorato su questo contenuto @date_diff@ minuti fa', |
|
| 434 | + 'info_racine_site' => 'Root del sito', |
|
| 435 | + 'info_recharger_page' => 'Aggiorna questa pagina fra qualche istante.', |
|
| 436 | + 'info_recherche_auteur_zero' => 'Nessun risultato per "@cherche_auteur@".', |
|
| 437 | + 'info_recommencer' => 'Ricomincia.', |
|
| 438 | + 'info_redacteur_1' => 'Redattori', |
|
| 439 | + 'info_redacteur_2' => 'avendo accesso allo spazio privato (<i>raccommandato</i>)', |
|
| 440 | + 'info_redacteurs' => 'Redattori', |
|
| 441 | + 'info_redaction_en_cours' => 'IN CORSO DI REDAZIONE', |
|
| 442 | + 'info_redirection' => 'Reindirizzamento', |
|
| 443 | + 'info_redirection_activee' => 'Il reindirizzamento è attivato.', |
|
| 444 | + 'info_redirection_boucle' => 'Stai cercando di sovrascrivere l’articolo.', |
|
| 445 | + 'info_redirection_desactivee' => 'Il reindirizzamento è stato cancellato.', |
|
| 446 | + 'info_refuses' => 'I tuoi articoli rifiutati', |
|
| 447 | + 'info_reglage_ldap' => 'Opzioni: <b>Parametri per l’importazione LDAP</b>', |
|
| 448 | + 'info_renvoi_article' => '<b>Reindirizzamento.</b> Quest’articolo rimanda alla pagina:', |
|
| 449 | + 'info_reserve_admin' => 'Solo gli amministratori possono modificare quest’indirizzo.', |
|
| 450 | + 'info_restreindre_rubrique' => 'Limita la facoltà di gestione alla rubrica:', |
|
| 451 | + 'info_resultat_recherche' => 'Risultati della ricerca:', |
|
| 452 | + 'info_rubriques' => 'Rubriche', |
|
| 453 | + 'info_rubriques_02' => 'rubriche', |
|
| 454 | + 'info_rubriques_trouvees' => 'Rubriche trovate', |
|
| 455 | + 'info_sans_titre' => 'Senza titolo', |
|
| 456 | + 'info_selection_chemin_acces' => '<b>Seleziona</b> qui sotto il percorso d’accesso nell’elenco:', |
|
| 457 | + 'info_signatures' => 'firme', |
|
| 458 | + 'info_site' => 'Sito', |
|
| 459 | + 'info_site_2' => 'sito: ', |
|
| 460 | + 'info_site_min' => 'sito', |
|
| 461 | + 'info_site_reference_2' => 'Sito repertoriato', |
|
| 462 | + 'info_site_web' => 'Sito Web:', |
|
| 463 | + 'info_sites' => 'siti', |
|
| 464 | + 'info_sites_lies_mot' => 'I siti in repertorio legati a questa parola chiave', |
|
| 465 | + 'info_sites_proxy' => 'Utilizza un proxy', |
|
| 466 | + 'info_sites_trouves' => 'Siti trovati', |
|
| 467 | + 'info_sous_titre' => 'Sottotitolo:', |
|
| 468 | + 'info_statut_administrateur' => 'Amministratore', |
|
| 469 | + 'info_statut_auteur' => 'Status di questo autore:', |
|
| 470 | + 'info_statut_auteur_2' => 'Io sono', |
|
| 471 | + 'info_statut_auteur_a_confirmer' => 'Iscrizione da confermare', |
|
| 472 | + 'info_statut_auteur_autre' => 'Altro stato:', |
|
| 473 | + 'info_statut_redacteur' => 'Redattore', |
|
| 474 | + 'info_statut_utilisateurs_1' => 'Status predefinito degli utenti importati', |
|
| 475 | + 'info_statut_utilisateurs_2' => 'Scegli lo status da attribuire alle personne presenti nell’elenco LDAP quando si collegano per la prima volta. Potrai poi modificare questa impostazione per ogni singolo autore.', |
|
| 476 | + 'info_suivi_activite' => 'Monitoraggio dell’attività editoriale', |
|
| 477 | + 'info_surtitre' => 'Occhiello:', |
|
| 478 | + 'info_syndication_integrale_1' => 'Il tuo sito propone dei file di syndication (vedi « <a href="@url@">@titre@</a> »).', |
|
| 479 | + 'info_syndication_integrale_2' => 'Si desidera trasmettere gli articoli in versione integrale oppure in versione riassunta di un centinaio di caratteri?', |
|
| 480 | + 'info_table_prefix' => 'È possibile modificare il prefisso del nome delle tabelle del database (cosa indispensabile se si desidera installare più siti usando il medesimo database). Questo prefisso si deve scrivere usando esclusivamente lettere minuscole, prive di accenti e senza alcuno spazio.', |
|
| 481 | + 'info_taille_maximale_images' => 'SPIP testerà la dimensione massima delle immagini che può manipolare (in milioni di pixel).<br /> Le immagini di dimensione maggiore non saranno ridotte.', |
|
| 482 | + 'info_taille_maximale_vignette' => 'Dimensione massima delle immagini create dal sistema:', |
|
| 483 | + 'info_terminer_installation' => 'Puoi ora terminare la procedura d’installazione standard.', |
|
| 484 | + 'info_texte' => 'Testo', |
|
| 485 | + 'info_texte_explicatif' => 'Testo esplicativo', |
|
| 486 | + 'info_texte_long' => '(il testo è lungo: è quindi visualizzato in più sezioni che verranno riunificate dopo la convalida)', |
|
| 487 | + 'info_texte_message' => 'Testo del tuo messaggio:', |
|
| 488 | + 'info_texte_message_02' => 'Testo del messaggio', |
|
| 489 | + 'info_titre' => 'Titolo:', |
|
| 490 | + 'info_total' => 'totale: ', |
|
| 491 | + 'info_tous_articles_en_redaction' => 'Tutti gli articoli in corso di redazione', |
|
| 492 | + 'info_tous_articles_presents' => 'Tutti gli articoli pubblicati in questa rubrica', |
|
| 493 | + 'info_tous_articles_refuses' => 'Tutti gli articoli rifiutati', |
|
| 494 | + 'info_tous_les' => 'tutti i:', |
|
| 495 | + 'info_tout_site' => 'Tutto il sito', |
|
| 496 | + 'info_tout_site2' => 'L’articolo non è stato tradotto in questa lingua.', |
|
| 497 | + 'info_tout_site3' => 'L’articolo è stato tradotto in questa lingua, ma sono state effettuate alcune modifiche all’articolo di riferimento. La traduzione deve quindi essere aggiornata.', |
|
| 498 | + 'info_tout_site4' => 'L’articolo è stato tradotto in questa lingua e la traduzione è aggiornata.', |
|
| 499 | + 'info_tout_site5' => 'Articolo originale.', |
|
| 500 | + 'info_tout_site6' => '<b>Attenzione:</b> solo gli articoli originali vengono visualizzati. |
|
| 501 | 501 | Le traduzioni sono associate all’originale, |
| 502 | 502 | in un colore che indica il loro stato:', |
| 503 | - 'info_traductions' => 'Traduzioni', |
|
| 504 | - 'info_travail_colaboratif' => 'Lavoro di collaborazione sugli articoli', |
|
| 505 | - 'info_un_article' => 'un articolo, ', |
|
| 506 | - 'info_un_site' => 'un sito, ', |
|
| 507 | - 'info_une_rubrique' => 'una rubrica, ', |
|
| 508 | - 'info_une_rubrique_02' => '1 rubrica', |
|
| 509 | - 'info_url' => 'URL:', |
|
| 510 | - 'info_url_proxy' => 'URL del proxy', |
|
| 511 | - 'info_url_proxy_pas_conforme' => 'L’URL del proxy non è valido.', |
|
| 512 | - 'info_url_site_pas_conforme' => 'l’URL del sito non è valido.', |
|
| 513 | - 'info_url_test_proxy' => 'URL di test', |
|
| 514 | - 'info_urlref' => 'Link ipertestuale:', |
|
| 515 | - 'info_utilisation_spip' => 'Puoi ora cominciare ad utilizzare il sistema di pubblicazione assistita...', |
|
| 516 | - 'info_visites_par_mois' => 'Visualizzazione per mese:', |
|
| 517 | - 'info_visiteur_1' => 'Visitatori', |
|
| 518 | - 'info_visiteur_2' => 'del sito pubblico', |
|
| 519 | - 'info_visiteurs' => 'Visitatori', |
|
| 520 | - 'info_visiteurs_02' => 'Visitatori del sito pubblico', |
|
| 521 | - 'info_webmestre_forces' => 'I webmaster sono attualmente definiti in <tt>@file_options@</tt>.', |
|
| 522 | - 'install_adresse_base_hebergeur' => 'Indirizzo del database attribuito dal provider', |
|
| 523 | - 'install_connect_ok' => 'Il nuovo database è stato definito sul server @connect@.', |
|
| 524 | - 'install_echec_annonce' => 'L’installazione potrebbe fallire oppure causare problemi di funzionalità al sito...', |
|
| 525 | - 'install_extension_mbstring' => 'SPIP non funziona con:', |
|
| 526 | - 'install_extension_php_obligatoire' => 'SPIP esige l’estensione php:', |
|
| 527 | - 'install_login_base_hebergeur' => 'Login di connessione attribuito dal provider', |
|
| 528 | - 'install_nom_base_hebergeur' => 'Nome del database attribuito dal provider:', |
|
| 529 | - 'install_pas_table' => 'Database attualmente senza tabelle', |
|
| 530 | - 'install_pass_base_hebergeur' => 'Password di connessione attribuito dal provider', |
|
| 531 | - 'install_php_version' => 'PHP versione @version@ insufficiente (minimo = @minimum@)', |
|
| 532 | - 'install_select_langue' => 'Seleziona una lingua e poi clicca sul bottone « Avanti » per lanciare la procedura di installazione.', |
|
| 533 | - 'install_select_type_db' => 'Indicare il tipo di database:', |
|
| 534 | - 'install_select_type_mysql' => 'MySQL', |
|
| 535 | - 'install_select_type_pg' => 'PostgreSQL', |
|
| 536 | - 'install_select_type_sqlite2' => 'SQLite 2', |
|
| 537 | - 'install_select_type_sqlite3' => 'SQLite 3', |
|
| 538 | - 'install_serveur_hebergeur' => 'Server del database attribuito dall’hoster', |
|
| 539 | - 'install_table_prefix_hebergeur' => 'Prefisso della tabella attribuito dal provider:', |
|
| 540 | - 'install_tables_base' => 'Tabelle del database', |
|
| 541 | - 'install_types_db_connus' => 'SPIP può utilizzare <b>MySQL</b> (il più diffuso) e <b>SQLite</b>.', |
|
| 542 | - 'install_types_db_connus_avertissement' => 'Il supporto a <b>PostgreSQL</b> è proposto a titolo sperimentale.', |
|
| 543 | - 'instituer_erreur_statut_a_change' => 'Lo status è già stato modificato', |
|
| 544 | - 'instituer_erreur_statut_non_autorise' => 'Non puoi selezionare questo stato', |
|
| 545 | - 'intem_redacteur' => 'redattore', |
|
| 546 | - 'intitule_licence' => 'Licenza', |
|
| 547 | - 'item_accepter_inscriptions' => 'Accetta le iscrizioni', |
|
| 548 | - 'item_activer_messages_avertissement' => 'Attiva i messaggi d’avvertimento', |
|
| 549 | - 'item_administrateur_2' => 'amministratore', |
|
| 550 | - 'item_afficher_calendrier' => 'Pubblica nel calendario', |
|
| 551 | - 'item_autoriser_syndication_integrale' => 'Diffondere la versione integrale degli articoli nei file di syndication', |
|
| 552 | - 'item_choix_administrateurs' => 'gli amministratori', |
|
| 553 | - 'item_choix_generation_miniature' => 'Genera automaticamente le thumbnail delle immagini.', |
|
| 554 | - 'item_choix_non_generation_miniature' => 'Non creare le thumbnail delle immagini.', |
|
| 555 | - 'item_choix_redacteurs' => 'i redattori', |
|
| 556 | - 'item_choix_visiteurs' => 'i visitatori del sito pubblico', |
|
| 557 | - 'item_creer_fichiers_authent' => 'Crea i file .htpasswd', |
|
| 558 | - 'item_login' => 'Login', |
|
| 559 | - 'item_messagerie_agenda' => 'Attiva la messaggistica e l’agenda', |
|
| 560 | - 'item_mots_cles_association_articles' => 'agli articoli', |
|
| 561 | - 'item_mots_cles_association_rubriques' => 'alle rubriche', |
|
| 562 | - 'item_mots_cles_association_sites' => 'ai siti repertoriati o in syndication.', |
|
| 563 | - 'item_non' => 'No', |
|
| 564 | - 'item_non_accepter_inscriptions' => 'Non accettare le iscrizioni', |
|
| 565 | - 'item_non_activer_messages_avertissement' => 'Nessun messaggio d’avvertimento', |
|
| 566 | - 'item_non_afficher_calendrier' => 'Non pubblicare nel calendario', |
|
| 567 | - 'item_non_autoriser_syndication_integrale' => 'Diffondere solo un riassunto', |
|
| 568 | - 'item_non_creer_fichiers_authent' => 'Non creare questi file', |
|
| 569 | - 'item_non_messagerie_agenda' => 'Disattiva la messaggistica e l’agenda', |
|
| 570 | - 'item_non_publier_articles' => 'Non pubblicare gli articoli prima della data impostata.', |
|
| 571 | - 'item_nouvel_auteur' => 'Nuovo autore', |
|
| 572 | - 'item_nouvelle_rubrique' => 'Nuova rubrica', |
|
| 573 | - 'item_oui' => 'Si', |
|
| 574 | - 'item_publier_articles' => 'Pubblica gli articoli indipendentemente dalla data impostata.', |
|
| 575 | - 'item_reponse_article' => 'Risposta all’articolo ', |
|
| 576 | - 'item_visiteur' => 'visitatore', |
|
| 503 | + 'info_traductions' => 'Traduzioni', |
|
| 504 | + 'info_travail_colaboratif' => 'Lavoro di collaborazione sugli articoli', |
|
| 505 | + 'info_un_article' => 'un articolo, ', |
|
| 506 | + 'info_un_site' => 'un sito, ', |
|
| 507 | + 'info_une_rubrique' => 'una rubrica, ', |
|
| 508 | + 'info_une_rubrique_02' => '1 rubrica', |
|
| 509 | + 'info_url' => 'URL:', |
|
| 510 | + 'info_url_proxy' => 'URL del proxy', |
|
| 511 | + 'info_url_proxy_pas_conforme' => 'L’URL del proxy non è valido.', |
|
| 512 | + 'info_url_site_pas_conforme' => 'l’URL del sito non è valido.', |
|
| 513 | + 'info_url_test_proxy' => 'URL di test', |
|
| 514 | + 'info_urlref' => 'Link ipertestuale:', |
|
| 515 | + 'info_utilisation_spip' => 'Puoi ora cominciare ad utilizzare il sistema di pubblicazione assistita...', |
|
| 516 | + 'info_visites_par_mois' => 'Visualizzazione per mese:', |
|
| 517 | + 'info_visiteur_1' => 'Visitatori', |
|
| 518 | + 'info_visiteur_2' => 'del sito pubblico', |
|
| 519 | + 'info_visiteurs' => 'Visitatori', |
|
| 520 | + 'info_visiteurs_02' => 'Visitatori del sito pubblico', |
|
| 521 | + 'info_webmestre_forces' => 'I webmaster sono attualmente definiti in <tt>@file_options@</tt>.', |
|
| 522 | + 'install_adresse_base_hebergeur' => 'Indirizzo del database attribuito dal provider', |
|
| 523 | + 'install_connect_ok' => 'Il nuovo database è stato definito sul server @connect@.', |
|
| 524 | + 'install_echec_annonce' => 'L’installazione potrebbe fallire oppure causare problemi di funzionalità al sito...', |
|
| 525 | + 'install_extension_mbstring' => 'SPIP non funziona con:', |
|
| 526 | + 'install_extension_php_obligatoire' => 'SPIP esige l’estensione php:', |
|
| 527 | + 'install_login_base_hebergeur' => 'Login di connessione attribuito dal provider', |
|
| 528 | + 'install_nom_base_hebergeur' => 'Nome del database attribuito dal provider:', |
|
| 529 | + 'install_pas_table' => 'Database attualmente senza tabelle', |
|
| 530 | + 'install_pass_base_hebergeur' => 'Password di connessione attribuito dal provider', |
|
| 531 | + 'install_php_version' => 'PHP versione @version@ insufficiente (minimo = @minimum@)', |
|
| 532 | + 'install_select_langue' => 'Seleziona una lingua e poi clicca sul bottone « Avanti » per lanciare la procedura di installazione.', |
|
| 533 | + 'install_select_type_db' => 'Indicare il tipo di database:', |
|
| 534 | + 'install_select_type_mysql' => 'MySQL', |
|
| 535 | + 'install_select_type_pg' => 'PostgreSQL', |
|
| 536 | + 'install_select_type_sqlite2' => 'SQLite 2', |
|
| 537 | + 'install_select_type_sqlite3' => 'SQLite 3', |
|
| 538 | + 'install_serveur_hebergeur' => 'Server del database attribuito dall’hoster', |
|
| 539 | + 'install_table_prefix_hebergeur' => 'Prefisso della tabella attribuito dal provider:', |
|
| 540 | + 'install_tables_base' => 'Tabelle del database', |
|
| 541 | + 'install_types_db_connus' => 'SPIP può utilizzare <b>MySQL</b> (il più diffuso) e <b>SQLite</b>.', |
|
| 542 | + 'install_types_db_connus_avertissement' => 'Il supporto a <b>PostgreSQL</b> è proposto a titolo sperimentale.', |
|
| 543 | + 'instituer_erreur_statut_a_change' => 'Lo status è già stato modificato', |
|
| 544 | + 'instituer_erreur_statut_non_autorise' => 'Non puoi selezionare questo stato', |
|
| 545 | + 'intem_redacteur' => 'redattore', |
|
| 546 | + 'intitule_licence' => 'Licenza', |
|
| 547 | + 'item_accepter_inscriptions' => 'Accetta le iscrizioni', |
|
| 548 | + 'item_activer_messages_avertissement' => 'Attiva i messaggi d’avvertimento', |
|
| 549 | + 'item_administrateur_2' => 'amministratore', |
|
| 550 | + 'item_afficher_calendrier' => 'Pubblica nel calendario', |
|
| 551 | + 'item_autoriser_syndication_integrale' => 'Diffondere la versione integrale degli articoli nei file di syndication', |
|
| 552 | + 'item_choix_administrateurs' => 'gli amministratori', |
|
| 553 | + 'item_choix_generation_miniature' => 'Genera automaticamente le thumbnail delle immagini.', |
|
| 554 | + 'item_choix_non_generation_miniature' => 'Non creare le thumbnail delle immagini.', |
|
| 555 | + 'item_choix_redacteurs' => 'i redattori', |
|
| 556 | + 'item_choix_visiteurs' => 'i visitatori del sito pubblico', |
|
| 557 | + 'item_creer_fichiers_authent' => 'Crea i file .htpasswd', |
|
| 558 | + 'item_login' => 'Login', |
|
| 559 | + 'item_messagerie_agenda' => 'Attiva la messaggistica e l’agenda', |
|
| 560 | + 'item_mots_cles_association_articles' => 'agli articoli', |
|
| 561 | + 'item_mots_cles_association_rubriques' => 'alle rubriche', |
|
| 562 | + 'item_mots_cles_association_sites' => 'ai siti repertoriati o in syndication.', |
|
| 563 | + 'item_non' => 'No', |
|
| 564 | + 'item_non_accepter_inscriptions' => 'Non accettare le iscrizioni', |
|
| 565 | + 'item_non_activer_messages_avertissement' => 'Nessun messaggio d’avvertimento', |
|
| 566 | + 'item_non_afficher_calendrier' => 'Non pubblicare nel calendario', |
|
| 567 | + 'item_non_autoriser_syndication_integrale' => 'Diffondere solo un riassunto', |
|
| 568 | + 'item_non_creer_fichiers_authent' => 'Non creare questi file', |
|
| 569 | + 'item_non_messagerie_agenda' => 'Disattiva la messaggistica e l’agenda', |
|
| 570 | + 'item_non_publier_articles' => 'Non pubblicare gli articoli prima della data impostata.', |
|
| 571 | + 'item_nouvel_auteur' => 'Nuovo autore', |
|
| 572 | + 'item_nouvelle_rubrique' => 'Nuova rubrica', |
|
| 573 | + 'item_oui' => 'Si', |
|
| 574 | + 'item_publier_articles' => 'Pubblica gli articoli indipendentemente dalla data impostata.', |
|
| 575 | + 'item_reponse_article' => 'Risposta all’articolo ', |
|
| 576 | + 'item_visiteur' => 'visitatore', |
|
| 577 | 577 | |
| 578 | - // J |
|
| 579 | - 'jour_non_connu_nc' => 'n.c.', |
|
| 578 | + // J |
|
| 579 | + 'jour_non_connu_nc' => 'n.c.', |
|
| 580 | 580 | |
| 581 | - // L |
|
| 582 | - 'label_bando_outils' => 'Barra degli strumenti', |
|
| 583 | - 'label_bando_outils_afficher' => 'Mostra gli strumenti', |
|
| 584 | - 'label_bando_outils_masquer' => 'Nascondi gli strumenti', |
|
| 585 | - 'label_choix_langue' => 'Seleziona la tua lingua', |
|
| 586 | - 'label_nom_fichier_connect' => 'Indica il nome per questo server', |
|
| 587 | - 'label_slogan_site' => 'Slogan del sito', |
|
| 588 | - 'label_taille_ecran' => 'Larghezza dello schermo', |
|
| 589 | - 'label_texte_et_icones_navigation' => 'Menù di naviagazione', |
|
| 590 | - 'label_texte_et_icones_page' => 'Visualizzazione nella pagina', |
|
| 591 | - 'ldap_correspondance' => 'mappa del campo @champ@', |
|
| 592 | - 'ldap_correspondance_1' => 'Mappa dei campi LDAP', |
|
| 593 | - 'ldap_correspondance_2' => 'Per ognuno dei seguenti campi SPIP, indicare il nome del campo LDAP corrispondente. Lasciare vuoto per non riempire, separare da spazi o da virgole per provare più campi LDAP.', |
|
| 594 | - 'lien_ajouter_auteur' => 'Aggiungi questo autore', |
|
| 595 | - 'lien_ajouter_une_rubrique' => 'Aggiungi questa rubrica', |
|
| 596 | - 'lien_email' => 'email', |
|
| 597 | - 'lien_nom_site' => 'NOME DEL SITO:', |
|
| 598 | - 'lien_rapide_contenu' => 'Vai al contenuto', |
|
| 599 | - 'lien_rapide_navigation' => 'Vai alla navigazione', |
|
| 600 | - 'lien_rapide_recherche' => 'Vai alla ricerca', |
|
| 601 | - 'lien_retirer_auteur' => 'Rimuovere l’autore', |
|
| 602 | - 'lien_retirer_rubrique' => 'Elimina la rubrica', |
|
| 603 | - 'lien_retirer_tous_auteurs' => 'Elimina tutti gli autori', |
|
| 604 | - 'lien_retirer_toutes_rubriques' => 'Rimuovi tutte le rubriche', |
|
| 605 | - 'lien_site' => 'sito', |
|
| 606 | - 'lien_tout_decocher' => 'Deselezionare tutto', |
|
| 607 | - 'lien_tout_deplier' => 'Espandi', |
|
| 608 | - 'lien_tout_replier' => 'Richiudi', |
|
| 609 | - 'lien_tout_supprimer' => 'Eliminare tutto', |
|
| 610 | - 'lien_trier_nom' => 'Ordina per nome', |
|
| 611 | - 'lien_trier_nombre_articles' => 'Ordina per numero di articoli', |
|
| 612 | - 'lien_trier_statut' => 'Ordina per status', |
|
| 613 | - 'lien_voir_en_ligne' => 'VEDI ON LINE:', |
|
| 614 | - 'logo_article' => 'Logo dell’articolo', |
|
| 615 | - 'logo_auteur' => 'Logo dell’autore', |
|
| 616 | - 'logo_rubrique' => 'Logo della rubrica', |
|
| 617 | - 'logo_site' => 'Logo di questo sito', |
|
| 618 | - 'logo_standard_rubrique' => 'Logo standard delle rubriche', |
|
| 619 | - 'logo_survol' => 'Logo per il rollover', |
|
| 581 | + // L |
|
| 582 | + 'label_bando_outils' => 'Barra degli strumenti', |
|
| 583 | + 'label_bando_outils_afficher' => 'Mostra gli strumenti', |
|
| 584 | + 'label_bando_outils_masquer' => 'Nascondi gli strumenti', |
|
| 585 | + 'label_choix_langue' => 'Seleziona la tua lingua', |
|
| 586 | + 'label_nom_fichier_connect' => 'Indica il nome per questo server', |
|
| 587 | + 'label_slogan_site' => 'Slogan del sito', |
|
| 588 | + 'label_taille_ecran' => 'Larghezza dello schermo', |
|
| 589 | + 'label_texte_et_icones_navigation' => 'Menù di naviagazione', |
|
| 590 | + 'label_texte_et_icones_page' => 'Visualizzazione nella pagina', |
|
| 591 | + 'ldap_correspondance' => 'mappa del campo @champ@', |
|
| 592 | + 'ldap_correspondance_1' => 'Mappa dei campi LDAP', |
|
| 593 | + 'ldap_correspondance_2' => 'Per ognuno dei seguenti campi SPIP, indicare il nome del campo LDAP corrispondente. Lasciare vuoto per non riempire, separare da spazi o da virgole per provare più campi LDAP.', |
|
| 594 | + 'lien_ajouter_auteur' => 'Aggiungi questo autore', |
|
| 595 | + 'lien_ajouter_une_rubrique' => 'Aggiungi questa rubrica', |
|
| 596 | + 'lien_email' => 'email', |
|
| 597 | + 'lien_nom_site' => 'NOME DEL SITO:', |
|
| 598 | + 'lien_rapide_contenu' => 'Vai al contenuto', |
|
| 599 | + 'lien_rapide_navigation' => 'Vai alla navigazione', |
|
| 600 | + 'lien_rapide_recherche' => 'Vai alla ricerca', |
|
| 601 | + 'lien_retirer_auteur' => 'Rimuovere l’autore', |
|
| 602 | + 'lien_retirer_rubrique' => 'Elimina la rubrica', |
|
| 603 | + 'lien_retirer_tous_auteurs' => 'Elimina tutti gli autori', |
|
| 604 | + 'lien_retirer_toutes_rubriques' => 'Rimuovi tutte le rubriche', |
|
| 605 | + 'lien_site' => 'sito', |
|
| 606 | + 'lien_tout_decocher' => 'Deselezionare tutto', |
|
| 607 | + 'lien_tout_deplier' => 'Espandi', |
|
| 608 | + 'lien_tout_replier' => 'Richiudi', |
|
| 609 | + 'lien_tout_supprimer' => 'Eliminare tutto', |
|
| 610 | + 'lien_trier_nom' => 'Ordina per nome', |
|
| 611 | + 'lien_trier_nombre_articles' => 'Ordina per numero di articoli', |
|
| 612 | + 'lien_trier_statut' => 'Ordina per status', |
|
| 613 | + 'lien_voir_en_ligne' => 'VEDI ON LINE:', |
|
| 614 | + 'logo_article' => 'Logo dell’articolo', |
|
| 615 | + 'logo_auteur' => 'Logo dell’autore', |
|
| 616 | + 'logo_rubrique' => 'Logo della rubrica', |
|
| 617 | + 'logo_site' => 'Logo di questo sito', |
|
| 618 | + 'logo_standard_rubrique' => 'Logo standard delle rubriche', |
|
| 619 | + 'logo_survol' => 'Logo per il rollover', |
|
| 620 | 620 | |
| 621 | - // M |
|
| 622 | - 'menu_aide_installation_choix_base' => 'Scegliere il database', |
|
| 623 | - 'module_fichier_langue' => 'File lingua', |
|
| 624 | - 'module_raccourci' => 'Scorciatoia', |
|
| 625 | - 'module_texte_affiche' => 'Testo visualizzato', |
|
| 626 | - 'module_texte_explicatif' => 'È possibile inserire le scorciatoie nel modello di layout del proprio sito pubblico. Queste verranno tradotte automaticamente nelle diverse lingue (se esiste già un file lingua).', |
|
| 627 | - 'module_texte_traduction' => 'Il file lingua «@module@» è disponibile in:', |
|
| 628 | - 'mois_non_connu' => 'sconosciuto', |
|
| 621 | + // M |
|
| 622 | + 'menu_aide_installation_choix_base' => 'Scegliere il database', |
|
| 623 | + 'module_fichier_langue' => 'File lingua', |
|
| 624 | + 'module_raccourci' => 'Scorciatoia', |
|
| 625 | + 'module_texte_affiche' => 'Testo visualizzato', |
|
| 626 | + 'module_texte_explicatif' => 'È possibile inserire le scorciatoie nel modello di layout del proprio sito pubblico. Queste verranno tradotte automaticamente nelle diverse lingue (se esiste già un file lingua).', |
|
| 627 | + 'module_texte_traduction' => 'Il file lingua «@module@» è disponibile in:', |
|
| 628 | + 'mois_non_connu' => 'sconosciuto', |
|
| 629 | 629 | |
| 630 | - // N |
|
| 631 | - 'nouvelle_version_spip' => 'L’aggiornamento alla versione @version@ di SPIP è disponibile', |
|
| 632 | - 'nouvelle_version_spip_majeure' => 'La nuova versione @version@ di SPIP è disponibile', |
|
| 630 | + // N |
|
| 631 | + 'nouvelle_version_spip' => 'L’aggiornamento alla versione @version@ di SPIP è disponibile', |
|
| 632 | + 'nouvelle_version_spip_majeure' => 'La nuova versione @version@ di SPIP è disponibile', |
|
| 633 | 633 | |
| 634 | - // O |
|
| 635 | - 'onglet_contenu' => 'Contenuto', |
|
| 636 | - 'onglet_declarer_une_autre_base' => 'Dichiarare un altro database', |
|
| 637 | - 'onglet_discuter' => 'Discuti', |
|
| 638 | - 'onglet_interactivite' => 'Interattività', |
|
| 639 | - 'onglet_proprietes' => 'Proprietà', |
|
| 640 | - 'onglet_repartition_actuelle' => 'attualmente', |
|
| 641 | - 'onglet_sous_rubriques' => 'Sotto-rubriche', |
|
| 634 | + // O |
|
| 635 | + 'onglet_contenu' => 'Contenuto', |
|
| 636 | + 'onglet_declarer_une_autre_base' => 'Dichiarare un altro database', |
|
| 637 | + 'onglet_discuter' => 'Discuti', |
|
| 638 | + 'onglet_interactivite' => 'Interattività', |
|
| 639 | + 'onglet_proprietes' => 'Proprietà', |
|
| 640 | + 'onglet_repartition_actuelle' => 'attualmente', |
|
| 641 | + 'onglet_sous_rubriques' => 'Sotto-rubriche', |
|
| 642 | 642 | |
| 643 | - // P |
|
| 644 | - 'page_pas_proxy' => 'Questa pagina non deve passare attraverso il proxy', |
|
| 645 | - 'pas_de_proxy_pour' => 'Se necessario, indicare i server o i domini per i quali non si deve applicare questo proxy (per esempio: @exemple@)', |
|
| 646 | - 'phpinfo' => 'Configurazione PHP', |
|
| 647 | - 'plugin_charge_paquet' => 'Caricamento del pacchetto @name@', |
|
| 648 | - 'plugin_charger' => 'Download', |
|
| 649 | - 'plugin_erreur_charger' => 'errore: impossibile caricare @zip@', |
|
| 650 | - 'plugin_erreur_droit1' => 'La directory <code>@dest@</code> non ha i permessi di scrittura.', |
|
| 651 | - 'plugin_erreur_droit2' => 'Verificare i diritti su questa directory (se necessario crearla), o installare i file tramite FTP.', |
|
| 652 | - 'plugin_erreur_zip' => 'fallimento pclzip: errore @status@', |
|
| 653 | - 'plugin_etat_developpement' => 'in corso di sviluppo', |
|
| 654 | - 'plugin_etat_experimental' => 'sperimentale', |
|
| 655 | - 'plugin_etat_stable' => 'stabile', |
|
| 656 | - 'plugin_etat_test' => 'in prova', |
|
| 657 | - 'plugin_impossible_activer' => 'Impossibile attivare l’estensione @plugin@', |
|
| 658 | - 'plugin_info_automatique1' => 'Se si desidera autorizzare l’installazione automatica dell’estensione è necessario: ', |
|
| 659 | - 'plugin_info_automatique1_lib' => 'Se vuoi autorizzare l’installazione automatica di questa libreria:', |
|
| 660 | - 'plugin_info_automatique2' => 'creare una directory <code>@rep@</code>;', |
|
| 661 | - 'plugin_info_automatique3' => 'verificare che il server sia autorizzato a scrivere in questa directory.', |
|
| 662 | - 'plugin_info_automatique_creer' => 'da creare alla radice del sito.', |
|
| 663 | - 'plugin_info_automatique_exemples' => 'esempi:', |
|
| 664 | - 'plugin_info_automatique_ftp' => 'È possibile installare plug-in tramite FTP, nella cartella <tt>@rep@</tt>', |
|
| 665 | - 'plugin_info_automatique_lib' => 'Alcune estensioni richiedono anche di poter trasferire dei file nella cartella <code>lib/</code>, da creare (se necessario) alla radice del sito.', |
|
| 666 | - 'plugin_info_automatique_liste' => 'Gli elenchi delle estensioni:', |
|
| 667 | - 'plugin_info_automatique_liste_officielle' => 'le estensioni ufficiali', |
|
| 668 | - 'plugin_info_automatique_liste_update' => 'Aggiornare gli elenchi', |
|
| 669 | - 'plugin_info_automatique_ou' => 'oppure...', |
|
| 670 | - 'plugin_info_automatique_select' => 'Selezionata un’estensione qui sotto: SPIP la scaricherà e la installerà nella cartella <code>@rep@</code>; se questo estensione è già presente verrà aggiornata.', |
|
| 671 | - 'plugin_info_credit' => 'Crediti', |
|
| 672 | - 'plugin_info_erreur_xml' => 'La dichiarazione del plugin è sbagliata', |
|
| 673 | - 'plugin_info_install_ok' => 'Installazione completata con successo', |
|
| 674 | - 'plugin_info_necessite' => 'Richiesto :', |
|
| 675 | - 'plugin_info_non_compatible_spip' => 'Questo plugin è incompatibile con questa versione di SPIP', |
|
| 676 | - 'plugin_info_plugins_dist_1' => 'Le estensioni sottostanti sono caricate e attivate nella directory @plugins_dist@.', |
|
| 677 | - 'plugin_info_plugins_dist_2' => 'Questi non possono essere disabilitati.', |
|
| 678 | - 'plugin_info_telecharger' => 'da scaricare da @url@ e da installare in @rep@', |
|
| 679 | - 'plugin_info_upgrade_ok' => 'Aggiornamento avvenuto', |
|
| 680 | - 'plugin_librairies_installees' => 'Librerie installate', |
|
| 681 | - 'plugin_necessite_extension_php' => 'Richiede l’estensione PHP @plugin@ in versione @version@.', |
|
| 682 | - 'plugin_necessite_extension_php_sans_version' => 'Richiede l’estensione PHP @plugin@', |
|
| 683 | - 'plugin_necessite_lib' => 'Questa estensione richiede la libreria @lib@', |
|
| 684 | - 'plugin_necessite_php' => 'Richiede @plugin@ in versione @version@.', |
|
| 685 | - 'plugin_necessite_plugin' => 'Necessita l’estensione @plugin@ con la versione @version@.', |
|
| 686 | - 'plugin_necessite_plugin_sans_version' => 'Necessita del plugin @plugin@', |
|
| 687 | - 'plugin_necessite_spip' => 'Necessita SPIP con almeno la versione @version@.', |
|
| 688 | - 'plugin_source' => 'origine: ', |
|
| 689 | - 'plugin_titre_automatique' => 'Installazione automatica', |
|
| 690 | - 'plugin_titre_automatique_ajouter' => 'Aggiungere dei plugin', |
|
| 691 | - 'plugin_titre_installation' => 'Installazione del plugin @plugin@', |
|
| 692 | - 'plugin_titre_modifier' => 'I miei plugin', |
|
| 693 | - 'plugin_utilise_extension_php' => 'Usa l’estensione PHP @plugin@ in versione @version@.', |
|
| 694 | - 'plugin_utilise_php' => 'Utilizza @plugin@ in versione @version@.', |
|
| 695 | - 'plugin_utilise_plugin' => 'Utilizza il plugin @plugin@ in versione @version@.', |
|
| 696 | - 'plugin_zip_active' => 'Continuare per attivarlo', |
|
| 697 | - 'plugin_zip_adresse' => 'indicate qui sotto l’indirizzo di un file zip del plug-in da scaricare, oppure l’indirizzo di un elenco di plug-in.', |
|
| 698 | - 'plugin_zip_adresse_champ' => 'Indirizzo del plug-in o dell’elenco ', |
|
| 699 | - 'plugin_zip_content' => 'Esso contiene i file seguenti (@taille@),<br />pronti per essere installati nella cartella <code>@rep@</code>', |
|
| 700 | - 'plugin_zip_installe_finie' => 'Il file @zip@ è stato decompresso e installato.', |
|
| 701 | - 'plugin_zip_installe_rep_finie' => 'Il file @zip@ è stato decompresso e installato nella cartella @rep@', |
|
| 702 | - 'plugin_zip_installer' => 'Ora è possibile installarlo.', |
|
| 703 | - 'plugin_zip_telecharge' => 'Il file @zip@ è stato scaricato', |
|
| 704 | - 'plugins_actif_aucun' => 'Nessun plugin attivo', |
|
| 705 | - 'plugins_actif_un' => 'Un plugin attivo', |
|
| 706 | - 'plugins_actifs' => '@count@ plug-in attivati.', |
|
| 707 | - 'plugins_actifs_liste' => 'Attivo', |
|
| 708 | - 'plugins_compte' => '@count@ plug-in', |
|
| 709 | - 'plugins_disponible_un' => 'Un plugin disponibile', |
|
| 710 | - 'plugins_disponibles' => '@count@ plug-in disponibili.', |
|
| 711 | - 'plugins_erreur' => 'Errore nei plug-in: @plugins@', |
|
| 712 | - 'plugins_liste' => 'Elenco dei plugin', |
|
| 713 | - 'plugins_liste_dist' => 'Plugin bloccato', |
|
| 714 | - 'plugins_recents' => 'Plugin aggiunti recentemente', |
|
| 715 | - 'plugins_tous_liste' => 'Tutto', |
|
| 716 | - 'plugins_vue_hierarchie' => 'Struttura gerarchica', |
|
| 717 | - 'plugins_vue_liste' => 'Elenco', |
|
| 718 | - 'protocole_ldap' => 'Versione del protocollo:', |
|
| 643 | + // P |
|
| 644 | + 'page_pas_proxy' => 'Questa pagina non deve passare attraverso il proxy', |
|
| 645 | + 'pas_de_proxy_pour' => 'Se necessario, indicare i server o i domini per i quali non si deve applicare questo proxy (per esempio: @exemple@)', |
|
| 646 | + 'phpinfo' => 'Configurazione PHP', |
|
| 647 | + 'plugin_charge_paquet' => 'Caricamento del pacchetto @name@', |
|
| 648 | + 'plugin_charger' => 'Download', |
|
| 649 | + 'plugin_erreur_charger' => 'errore: impossibile caricare @zip@', |
|
| 650 | + 'plugin_erreur_droit1' => 'La directory <code>@dest@</code> non ha i permessi di scrittura.', |
|
| 651 | + 'plugin_erreur_droit2' => 'Verificare i diritti su questa directory (se necessario crearla), o installare i file tramite FTP.', |
|
| 652 | + 'plugin_erreur_zip' => 'fallimento pclzip: errore @status@', |
|
| 653 | + 'plugin_etat_developpement' => 'in corso di sviluppo', |
|
| 654 | + 'plugin_etat_experimental' => 'sperimentale', |
|
| 655 | + 'plugin_etat_stable' => 'stabile', |
|
| 656 | + 'plugin_etat_test' => 'in prova', |
|
| 657 | + 'plugin_impossible_activer' => 'Impossibile attivare l’estensione @plugin@', |
|
| 658 | + 'plugin_info_automatique1' => 'Se si desidera autorizzare l’installazione automatica dell’estensione è necessario: ', |
|
| 659 | + 'plugin_info_automatique1_lib' => 'Se vuoi autorizzare l’installazione automatica di questa libreria:', |
|
| 660 | + 'plugin_info_automatique2' => 'creare una directory <code>@rep@</code>;', |
|
| 661 | + 'plugin_info_automatique3' => 'verificare che il server sia autorizzato a scrivere in questa directory.', |
|
| 662 | + 'plugin_info_automatique_creer' => 'da creare alla radice del sito.', |
|
| 663 | + 'plugin_info_automatique_exemples' => 'esempi:', |
|
| 664 | + 'plugin_info_automatique_ftp' => 'È possibile installare plug-in tramite FTP, nella cartella <tt>@rep@</tt>', |
|
| 665 | + 'plugin_info_automatique_lib' => 'Alcune estensioni richiedono anche di poter trasferire dei file nella cartella <code>lib/</code>, da creare (se necessario) alla radice del sito.', |
|
| 666 | + 'plugin_info_automatique_liste' => 'Gli elenchi delle estensioni:', |
|
| 667 | + 'plugin_info_automatique_liste_officielle' => 'le estensioni ufficiali', |
|
| 668 | + 'plugin_info_automatique_liste_update' => 'Aggiornare gli elenchi', |
|
| 669 | + 'plugin_info_automatique_ou' => 'oppure...', |
|
| 670 | + 'plugin_info_automatique_select' => 'Selezionata un’estensione qui sotto: SPIP la scaricherà e la installerà nella cartella <code>@rep@</code>; se questo estensione è già presente verrà aggiornata.', |
|
| 671 | + 'plugin_info_credit' => 'Crediti', |
|
| 672 | + 'plugin_info_erreur_xml' => 'La dichiarazione del plugin è sbagliata', |
|
| 673 | + 'plugin_info_install_ok' => 'Installazione completata con successo', |
|
| 674 | + 'plugin_info_necessite' => 'Richiesto :', |
|
| 675 | + 'plugin_info_non_compatible_spip' => 'Questo plugin è incompatibile con questa versione di SPIP', |
|
| 676 | + 'plugin_info_plugins_dist_1' => 'Le estensioni sottostanti sono caricate e attivate nella directory @plugins_dist@.', |
|
| 677 | + 'plugin_info_plugins_dist_2' => 'Questi non possono essere disabilitati.', |
|
| 678 | + 'plugin_info_telecharger' => 'da scaricare da @url@ e da installare in @rep@', |
|
| 679 | + 'plugin_info_upgrade_ok' => 'Aggiornamento avvenuto', |
|
| 680 | + 'plugin_librairies_installees' => 'Librerie installate', |
|
| 681 | + 'plugin_necessite_extension_php' => 'Richiede l’estensione PHP @plugin@ in versione @version@.', |
|
| 682 | + 'plugin_necessite_extension_php_sans_version' => 'Richiede l’estensione PHP @plugin@', |
|
| 683 | + 'plugin_necessite_lib' => 'Questa estensione richiede la libreria @lib@', |
|
| 684 | + 'plugin_necessite_php' => 'Richiede @plugin@ in versione @version@.', |
|
| 685 | + 'plugin_necessite_plugin' => 'Necessita l’estensione @plugin@ con la versione @version@.', |
|
| 686 | + 'plugin_necessite_plugin_sans_version' => 'Necessita del plugin @plugin@', |
|
| 687 | + 'plugin_necessite_spip' => 'Necessita SPIP con almeno la versione @version@.', |
|
| 688 | + 'plugin_source' => 'origine: ', |
|
| 689 | + 'plugin_titre_automatique' => 'Installazione automatica', |
|
| 690 | + 'plugin_titre_automatique_ajouter' => 'Aggiungere dei plugin', |
|
| 691 | + 'plugin_titre_installation' => 'Installazione del plugin @plugin@', |
|
| 692 | + 'plugin_titre_modifier' => 'I miei plugin', |
|
| 693 | + 'plugin_utilise_extension_php' => 'Usa l’estensione PHP @plugin@ in versione @version@.', |
|
| 694 | + 'plugin_utilise_php' => 'Utilizza @plugin@ in versione @version@.', |
|
| 695 | + 'plugin_utilise_plugin' => 'Utilizza il plugin @plugin@ in versione @version@.', |
|
| 696 | + 'plugin_zip_active' => 'Continuare per attivarlo', |
|
| 697 | + 'plugin_zip_adresse' => 'indicate qui sotto l’indirizzo di un file zip del plug-in da scaricare, oppure l’indirizzo di un elenco di plug-in.', |
|
| 698 | + 'plugin_zip_adresse_champ' => 'Indirizzo del plug-in o dell’elenco ', |
|
| 699 | + 'plugin_zip_content' => 'Esso contiene i file seguenti (@taille@),<br />pronti per essere installati nella cartella <code>@rep@</code>', |
|
| 700 | + 'plugin_zip_installe_finie' => 'Il file @zip@ è stato decompresso e installato.', |
|
| 701 | + 'plugin_zip_installe_rep_finie' => 'Il file @zip@ è stato decompresso e installato nella cartella @rep@', |
|
| 702 | + 'plugin_zip_installer' => 'Ora è possibile installarlo.', |
|
| 703 | + 'plugin_zip_telecharge' => 'Il file @zip@ è stato scaricato', |
|
| 704 | + 'plugins_actif_aucun' => 'Nessun plugin attivo', |
|
| 705 | + 'plugins_actif_un' => 'Un plugin attivo', |
|
| 706 | + 'plugins_actifs' => '@count@ plug-in attivati.', |
|
| 707 | + 'plugins_actifs_liste' => 'Attivo', |
|
| 708 | + 'plugins_compte' => '@count@ plug-in', |
|
| 709 | + 'plugins_disponible_un' => 'Un plugin disponibile', |
|
| 710 | + 'plugins_disponibles' => '@count@ plug-in disponibili.', |
|
| 711 | + 'plugins_erreur' => 'Errore nei plug-in: @plugins@', |
|
| 712 | + 'plugins_liste' => 'Elenco dei plugin', |
|
| 713 | + 'plugins_liste_dist' => 'Plugin bloccato', |
|
| 714 | + 'plugins_recents' => 'Plugin aggiunti recentemente', |
|
| 715 | + 'plugins_tous_liste' => 'Tutto', |
|
| 716 | + 'plugins_vue_hierarchie' => 'Struttura gerarchica', |
|
| 717 | + 'plugins_vue_liste' => 'Elenco', |
|
| 718 | + 'protocole_ldap' => 'Versione del protocollo:', |
|
| 719 | 719 | |
| 720 | - // Q |
|
| 721 | - 'queue_executer_maintenant' => 'Esegui adesso', |
|
| 722 | - 'queue_info_purger' => 'È possibile eliminare tutti i lavori in sospeso e reinizializzare la lista con delle elaborazioni periodiche', |
|
| 723 | - 'queue_nb_jobs_in_queue' => '@nb@ processi in coda', |
|
| 724 | - 'queue_next_job_in_nb_sec' => 'Prossimo processo in @nb@ s', |
|
| 725 | - 'queue_no_job_in_queue' => 'Nessun processo appeso', |
|
| 726 | - 'queue_one_job_in_queue' => '1 processo in coda', |
|
| 727 | - 'queue_priorite_tache' => 'priorità', |
|
| 728 | - 'queue_purger_queue' => 'Pulisci la coda dei processi', |
|
| 729 | - 'queue_titre' => 'Lista dei processi', |
|
| 720 | + // Q |
|
| 721 | + 'queue_executer_maintenant' => 'Esegui adesso', |
|
| 722 | + 'queue_info_purger' => 'È possibile eliminare tutti i lavori in sospeso e reinizializzare la lista con delle elaborazioni periodiche', |
|
| 723 | + 'queue_nb_jobs_in_queue' => '@nb@ processi in coda', |
|
| 724 | + 'queue_next_job_in_nb_sec' => 'Prossimo processo in @nb@ s', |
|
| 725 | + 'queue_no_job_in_queue' => 'Nessun processo appeso', |
|
| 726 | + 'queue_one_job_in_queue' => '1 processo in coda', |
|
| 727 | + 'queue_priorite_tache' => 'priorità', |
|
| 728 | + 'queue_purger_queue' => 'Pulisci la coda dei processi', |
|
| 729 | + 'queue_titre' => 'Lista dei processi', |
|
| 730 | 730 | |
| 731 | - // R |
|
| 732 | - 'repertoire_plugins' => 'Cartella:', |
|
| 733 | - 'required' => '(Obbligatorio)', |
|
| 731 | + // R |
|
| 732 | + 'repertoire_plugins' => 'Cartella:', |
|
| 733 | + 'required' => '(Obbligatorio)', |
|
| 734 | 734 | |
| 735 | - // S |
|
| 736 | - 'sans_heure' => 'ora mancante', |
|
| 737 | - 'statut_admin_restreint' => 'ammin. parziale', |
|
| 738 | - 'statut_webmestre' => 'webmaster', |
|
| 735 | + // S |
|
| 736 | + 'sans_heure' => 'ora mancante', |
|
| 737 | + 'statut_admin_restreint' => 'ammin. parziale', |
|
| 738 | + 'statut_webmestre' => 'webmaster', |
|
| 739 | 739 | |
| 740 | - // T |
|
| 741 | - 'tache_cron_asap' => 'Task CRON @function@ (ASAP)', |
|
| 742 | - 'tache_cron_secondes' => 'Task CRON @function@ (ogni @nb@ s)', |
|
| 743 | - 'taille_cache_image' => 'Le immagini elaborate automaticamente da SPIP (icone dei documenti, titoli in formato grafico, funzioni matematiche in formato TeX...) occupano nella cartella @dir@ in tutto @taille@.', |
|
| 744 | - 'taille_cache_infinie' => 'Questo sito non prevede limiti alle dimensioni della cartella della cache.', |
|
| 745 | - 'taille_cache_maxi' => 'SPIP tenta di limitare le dimensioni della cartella della cache di questo sito a circa <b>@octets@</b> di dati.', |
|
| 746 | - 'taille_cache_moins_de' => 'La dimensione della cache è inferiore a @octets@.', |
|
| 747 | - 'taille_cache_octets' => 'La cartella della cache occupa attualmente @octets@ su disco.', |
|
| 748 | - 'taille_cache_vide' => 'La cache è vuota.', |
|
| 749 | - 'taille_repertoire_cache' => 'Dimensioni della cartella di cache', |
|
| 750 | - 'text_article_propose_publication' => 'Articolo proposto per la pubblicazione. ', |
|
| 751 | - 'texte_acces_ldap_anonyme_1' => 'Alcuni server LDAP non consentono accessi anonimi. In questo caso si deve specificare un identificatore d’accesso iniziale al fine di poter poi ricercare delle informazioni nell’elenco. Nella maggior parte dei casi tuttavia, i campi seguenti potranno essere lasciati vuoti.', |
|
| 752 | - 'texte_admin_effacer_01' => 'Questo commando cancella <i>tutto</i> il contenuto del database, |
|
| 740 | + // T |
|
| 741 | + 'tache_cron_asap' => 'Task CRON @function@ (ASAP)', |
|
| 742 | + 'tache_cron_secondes' => 'Task CRON @function@ (ogni @nb@ s)', |
|
| 743 | + 'taille_cache_image' => 'Le immagini elaborate automaticamente da SPIP (icone dei documenti, titoli in formato grafico, funzioni matematiche in formato TeX...) occupano nella cartella @dir@ in tutto @taille@.', |
|
| 744 | + 'taille_cache_infinie' => 'Questo sito non prevede limiti alle dimensioni della cartella della cache.', |
|
| 745 | + 'taille_cache_maxi' => 'SPIP tenta di limitare le dimensioni della cartella della cache di questo sito a circa <b>@octets@</b> di dati.', |
|
| 746 | + 'taille_cache_moins_de' => 'La dimensione della cache è inferiore a @octets@.', |
|
| 747 | + 'taille_cache_octets' => 'La cartella della cache occupa attualmente @octets@ su disco.', |
|
| 748 | + 'taille_cache_vide' => 'La cache è vuota.', |
|
| 749 | + 'taille_repertoire_cache' => 'Dimensioni della cartella di cache', |
|
| 750 | + 'text_article_propose_publication' => 'Articolo proposto per la pubblicazione. ', |
|
| 751 | + 'texte_acces_ldap_anonyme_1' => 'Alcuni server LDAP non consentono accessi anonimi. In questo caso si deve specificare un identificatore d’accesso iniziale al fine di poter poi ricercare delle informazioni nell’elenco. Nella maggior parte dei casi tuttavia, i campi seguenti potranno essere lasciati vuoti.', |
|
| 752 | + 'texte_admin_effacer_01' => 'Questo commando cancella <i>tutto</i> il contenuto del database, |
|
| 753 | 753 | compresi <i>tutti</i> i login dei redattori e degli amministratori. Dopo averlo eseguito, dovrai riavviare la procedura di installazione per ricreare un nuovo database e un primo ID amministrativo.', |
| 754 | - 'texte_adresse_annuaire_1' => '(Se la rubrica è installata nella stessa macchina di questo sito, dovrai probabilmente inserire "localhost".)', |
|
| 755 | - 'texte_ajout_auteur' => 'Il seguente autore è stato aggiunto all’articolo:', |
|
| 756 | - 'texte_annuaire_ldap_1' => 'Se hai accesso ad una rubrica (LDAP), puoi utilizzarla per importare automaticamente degli utenti sotto SPIP.', |
|
| 757 | - 'texte_article_statut' => 'Questo articolo è:', |
|
| 758 | - 'texte_article_virtuel' => 'Articolo virtuale', |
|
| 759 | - 'texte_article_virtuel_reference' => '<b>Articolo virtuale:</b> articolo citato nel tuo sito SPIP, ma reindrizzato verso un’altro URL. Per eliminare il reindirizzamento, cancella l’URL qui sopra.', |
|
| 760 | - 'texte_aucun_resultat_auteur' => 'Nessun risultato per "@cherche_auteur@"', |
|
| 761 | - 'texte_auteur_messagerie' => 'Questo sito può costantemente visualizzare la lista dei redattori collegati, permettendo lo scambio di messaggi in tempo reale. Si può però decidere di non comparire in questo elenco (rendendosi quindi «invisibili» agli altri utenti).', |
|
| 762 | - 'texte_auteurs' => 'GLI AUTORI', |
|
| 763 | - 'texte_choix_base_1' => 'Scegli il database:', |
|
| 764 | - 'texte_choix_base_2' => 'Il server SQL contiene diversi database.', |
|
| 765 | - 'texte_choix_base_3' => '<b>Seleziona</b> quello che è stato attribuito al tuo dominio:', |
|
| 766 | - 'texte_choix_table_prefix' => 'Prefisso delle tabelle:', |
|
| 767 | - 'texte_compte_element' => '@count@ elemento', |
|
| 768 | - 'texte_compte_elements' => '@count@ elementi', |
|
| 769 | - 'texte_conflit_edition_correction' => 'Controllare qui sotto le differenze tra le due versioni del testo; è possibile anche copiare le modifiche e poi ricominciare.', |
|
| 770 | - 'texte_connexion_mysql' => 'Consulta le informazioni fornite dal tuo hoster: devi poterci trovare i codici di collegamento alla base di dati.', |
|
| 771 | - 'texte_contenu_article' => 'Contenuto dell’articolo in poche parole (<em>abstract</em>)', |
|
| 772 | - 'texte_contenu_articles' => 'A seconda del modello di presentazione adottato per il sito, puoi decidere |
|
| 754 | + 'texte_adresse_annuaire_1' => '(Se la rubrica è installata nella stessa macchina di questo sito, dovrai probabilmente inserire "localhost".)', |
|
| 755 | + 'texte_ajout_auteur' => 'Il seguente autore è stato aggiunto all’articolo:', |
|
| 756 | + 'texte_annuaire_ldap_1' => 'Se hai accesso ad una rubrica (LDAP), puoi utilizzarla per importare automaticamente degli utenti sotto SPIP.', |
|
| 757 | + 'texte_article_statut' => 'Questo articolo è:', |
|
| 758 | + 'texte_article_virtuel' => 'Articolo virtuale', |
|
| 759 | + 'texte_article_virtuel_reference' => '<b>Articolo virtuale:</b> articolo citato nel tuo sito SPIP, ma reindrizzato verso un’altro URL. Per eliminare il reindirizzamento, cancella l’URL qui sopra.', |
|
| 760 | + 'texte_aucun_resultat_auteur' => 'Nessun risultato per "@cherche_auteur@"', |
|
| 761 | + 'texte_auteur_messagerie' => 'Questo sito può costantemente visualizzare la lista dei redattori collegati, permettendo lo scambio di messaggi in tempo reale. Si può però decidere di non comparire in questo elenco (rendendosi quindi «invisibili» agli altri utenti).', |
|
| 762 | + 'texte_auteurs' => 'GLI AUTORI', |
|
| 763 | + 'texte_choix_base_1' => 'Scegli il database:', |
|
| 764 | + 'texte_choix_base_2' => 'Il server SQL contiene diversi database.', |
|
| 765 | + 'texte_choix_base_3' => '<b>Seleziona</b> quello che è stato attribuito al tuo dominio:', |
|
| 766 | + 'texte_choix_table_prefix' => 'Prefisso delle tabelle:', |
|
| 767 | + 'texte_compte_element' => '@count@ elemento', |
|
| 768 | + 'texte_compte_elements' => '@count@ elementi', |
|
| 769 | + 'texte_conflit_edition_correction' => 'Controllare qui sotto le differenze tra le due versioni del testo; è possibile anche copiare le modifiche e poi ricominciare.', |
|
| 770 | + 'texte_connexion_mysql' => 'Consulta le informazioni fornite dal tuo hoster: devi poterci trovare i codici di collegamento alla base di dati.', |
|
| 771 | + 'texte_contenu_article' => 'Contenuto dell’articolo in poche parole (<em>abstract</em>)', |
|
| 772 | + 'texte_contenu_articles' => 'A seconda del modello di presentazione adottato per il sito, puoi decidere |
|
| 773 | 773 | che alcuni elementi degli articoli siano utilizzati oppure no. |
| 774 | 774 | Serviti dell’elenco qui sotto per indicare quali elementi rendere disponibili.', |
| 775 | - 'texte_crash_base' => 'Se il database è stato danneggiato, puoi tentare un ripristino automatico.', |
|
| 776 | - 'texte_creer_rubrique' => 'Prima di poter scrivere degli articoli,<br /> devi creare una rubrica.', |
|
| 777 | - 'texte_date_creation_article' => 'DATA DI CREAZIONE DELL’ARTICOLO:', |
|
| 778 | - 'texte_date_creation_objet' => 'Data di creazione :', # on ajoute le ":" |
|
| 779 | - 'texte_date_publication_anterieure' => 'DATA DI REDAZIONE ANTERIORE', |
|
| 780 | - 'texte_date_publication_anterieure_nonaffichee' => 'Non visualizzare la data di redazione anteriore.', |
|
| 781 | - 'texte_date_publication_article' => 'DATA DI PUBBLICAZIONE:', |
|
| 782 | - 'texte_date_publication_objet' => 'Pubblicato il :', |
|
| 783 | - 'texte_definir_comme_traduction_rubrique' => 'Questa rubrica è una traduzione della rubrica numero:', |
|
| 784 | - 'texte_descriptif_rapide' => 'Descrizione rapida', |
|
| 785 | - 'texte_effacer_base' => 'Cancella il database SPIP', |
|
| 786 | - 'texte_effacer_statistiques' => 'Cancellare le statistiche', |
|
| 787 | - 'texte_en_cours_validation' => 'Gli articoli e le brevi elencati qui sotto sono stati proposti per la pubblicazione. ', |
|
| 788 | - 'texte_enrichir_mise_a_jour' => 'Puoi arricchire la formattazione del testo utilizzando le «scorciatoie tipografiche»', |
|
| 789 | - 'texte_fichier_authent' => '<b>SPIP deve creare i file speciali <tt>.htpasswd</tt> |
|
| 775 | + 'texte_crash_base' => 'Se il database è stato danneggiato, puoi tentare un ripristino automatico.', |
|
| 776 | + 'texte_creer_rubrique' => 'Prima di poter scrivere degli articoli,<br /> devi creare una rubrica.', |
|
| 777 | + 'texte_date_creation_article' => 'DATA DI CREAZIONE DELL’ARTICOLO:', |
|
| 778 | + 'texte_date_creation_objet' => 'Data di creazione :', # on ajoute le ":" |
|
| 779 | + 'texte_date_publication_anterieure' => 'DATA DI REDAZIONE ANTERIORE', |
|
| 780 | + 'texte_date_publication_anterieure_nonaffichee' => 'Non visualizzare la data di redazione anteriore.', |
|
| 781 | + 'texte_date_publication_article' => 'DATA DI PUBBLICAZIONE:', |
|
| 782 | + 'texte_date_publication_objet' => 'Pubblicato il :', |
|
| 783 | + 'texte_definir_comme_traduction_rubrique' => 'Questa rubrica è una traduzione della rubrica numero:', |
|
| 784 | + 'texte_descriptif_rapide' => 'Descrizione rapida', |
|
| 785 | + 'texte_effacer_base' => 'Cancella il database SPIP', |
|
| 786 | + 'texte_effacer_statistiques' => 'Cancellare le statistiche', |
|
| 787 | + 'texte_en_cours_validation' => 'Gli articoli e le brevi elencati qui sotto sono stati proposti per la pubblicazione. ', |
|
| 788 | + 'texte_enrichir_mise_a_jour' => 'Puoi arricchire la formattazione del testo utilizzando le «scorciatoie tipografiche»', |
|
| 789 | + 'texte_fichier_authent' => '<b>SPIP deve creare i file speciali <tt>.htpasswd</tt> |
|
| 790 | 790 | e <tt>.htpasswd-admin</tt> nella cartella @dossier@?</b> |
| 791 | 791 | <p> Questi file possono servire a limitare l’accesso agli autori |
| 792 | 792 | e agli amministratori in particolari aree del sito |
| 793 | 793 | (per esempio, per un programma esterno di statistiche).</p> |
| 794 | 794 | <p> Se ciò non è necessario, lasciare quest’opzione al suo valore predefinito (nessuna creazione |
| 795 | 795 | di file).</p>', |
| 796 | - 'texte_informations_personnelles_1' => 'Il sistema creerà un tuo accesso personalizzato al sito.', |
|
| 797 | - 'texte_informations_personnelles_2' => '(Nota: se si tratta di una reinstallazione, e il tuo accesso funziona ancora, puoi ', |
|
| 798 | - 'texte_introductif_article' => 'Testo introduttivo dell’articolo', |
|
| 799 | - 'texte_jeu_caractere' => 'Si consiglia di utilizzare sul proprio sito l’alfabeto universale (<tt>utf-8</tt>): esso permette di visualizzare i testi in tutte le lingue e non pone problemi di compatibilità con i browser moderni.', |
|
| 800 | - 'texte_jeu_caractere_3' => 'Il tuo sito usa attualmente il set di caratteri:', |
|
| 801 | - 'texte_jeu_caractere_4' => 'Se ciò non corrisponde alla realtà dei propri dati (a causa, per esempio, di un ripristino del database), o se <em>si avvia il sito</em> e si desidera partire con un altro set di caratteri è necessario indicare quest’ultimo qui:', |
|
| 802 | - 'texte_login_ldap_1' => '(Lascia vuoto per un accesso anonimo, o inserisci il percorso completo, per esempio «<tt>uid=rossi, ou=users, dc=mio-dominio, dc=com</tt> ».)', |
|
| 803 | - 'texte_login_precaution' => 'Attenzione! Questo è l’ID con il quale sei attualmente collegato. |
|
| 796 | + 'texte_informations_personnelles_1' => 'Il sistema creerà un tuo accesso personalizzato al sito.', |
|
| 797 | + 'texte_informations_personnelles_2' => '(Nota: se si tratta di una reinstallazione, e il tuo accesso funziona ancora, puoi ', |
|
| 798 | + 'texte_introductif_article' => 'Testo introduttivo dell’articolo', |
|
| 799 | + 'texte_jeu_caractere' => 'Si consiglia di utilizzare sul proprio sito l’alfabeto universale (<tt>utf-8</tt>): esso permette di visualizzare i testi in tutte le lingue e non pone problemi di compatibilità con i browser moderni.', |
|
| 800 | + 'texte_jeu_caractere_3' => 'Il tuo sito usa attualmente il set di caratteri:', |
|
| 801 | + 'texte_jeu_caractere_4' => 'Se ciò non corrisponde alla realtà dei propri dati (a causa, per esempio, di un ripristino del database), o se <em>si avvia il sito</em> e si desidera partire con un altro set di caratteri è necessario indicare quest’ultimo qui:', |
|
| 802 | + 'texte_login_ldap_1' => '(Lascia vuoto per un accesso anonimo, o inserisci il percorso completo, per esempio «<tt>uid=rossi, ou=users, dc=mio-dominio, dc=com</tt> ».)', |
|
| 803 | + 'texte_login_precaution' => 'Attenzione! Questo è l’ID con il quale sei attualmente collegato. |
|
| 804 | 804 | Utilizza questo modulo con cognizione di causa...', |
| 805 | - 'texte_messagerie_agenda' => 'La messageria permette ai redattori del sito di comunicare tra loro in maniera diretta nell’area riservata. Essa è associata a una agenda.', |
|
| 806 | - 'texte_mise_a_niveau_base_1' => 'Hai aggiornato i file SPIP. |
|
| 805 | + 'texte_messagerie_agenda' => 'La messageria permette ai redattori del sito di comunicare tra loro in maniera diretta nell’area riservata. Essa è associata a una agenda.', |
|
| 806 | + 'texte_mise_a_niveau_base_1' => 'Hai aggiornato i file SPIP. |
|
| 807 | 807 | Adesso è necessario aggiornare il database.', |
| 808 | - 'texte_modifier_article' => 'Modifica l’articolo:', |
|
| 809 | - 'texte_multilinguisme' => 'Se desideri gestire gli articoli in diverse lingue, con un sistema di navigazione complesso, è possibile aggiungere un menu di selezione della lingua in funzione della struttura del sito.', |
|
| 810 | - 'texte_multilinguisme_trad' => 'È anche possibile attivare un sistema di gestione dei link fra le diverse traduzioni di un certo oggetto.', |
|
| 811 | - 'texte_non_compresse' => '<i>non compresso</i> (il tuo server non supporta questa funzionalità)', |
|
| 812 | - 'texte_nouvelle_version_spip_1' => 'Hai installato una nuova versione di SPIP.', |
|
| 813 | - 'texte_nouvelle_version_spip_2' => 'Questa nuova versione necessita un aggiornamento più radicale del solito. Se sei il webmaster del sito, cancella il file @connect@ e riprendi l’installazione al fine di aggiornare i parametri di connessione al database.<p> (NB: se hai dimenticato i parametri di connessione, rileggi il file @connect@ prima di cancellarlo!)</p>', |
|
| 814 | - 'texte_operation_echec' => 'Torna alla pagina precedente, seleziona un altro database o creane uno nuovo. Verifica le informazioni fornite dal tuo hoster.', |
|
| 815 | - 'texte_plus_trois_car' => 'più di tre caratteri', |
|
| 816 | - 'texte_plusieurs_articles' => 'Diversi autori trovati per "@cherche_auteur@":', |
|
| 817 | - 'texte_port_annuaire' => '(Il valore predefinito è in genere quello adatto.)', |
|
| 818 | - 'texte_presente_plugin' => 'Questa pagina elenca i plugin disponibili sul sito. È possibile attivare i plugin necessari selezionando la casella corrispondente.', |
|
| 819 | - 'texte_proposer_publication' => 'Quando l’articolo è completo,<br /> puoi proporne la pubblicazione.', |
|
| 820 | - 'texte_proxy' => 'In alcuni casi (intranet, reti protette...), i siti distanti (documetazione di SPIP, siti in syndication, ecc.) sono accessibili unicamente attraverso un <i>proxy HTTP</i>. In questo caso, va indicato l’indirizzo del server nella forma @proxy_en_cours@. In genere questa casella va lasciata vuota.', |
|
| 821 | - 'texte_publication_articles_post_dates' => 'Come si deve comportare SPIP quando gli articoli hanno |
|
| 808 | + 'texte_modifier_article' => 'Modifica l’articolo:', |
|
| 809 | + 'texte_multilinguisme' => 'Se desideri gestire gli articoli in diverse lingue, con un sistema di navigazione complesso, è possibile aggiungere un menu di selezione della lingua in funzione della struttura del sito.', |
|
| 810 | + 'texte_multilinguisme_trad' => 'È anche possibile attivare un sistema di gestione dei link fra le diverse traduzioni di un certo oggetto.', |
|
| 811 | + 'texte_non_compresse' => '<i>non compresso</i> (il tuo server non supporta questa funzionalità)', |
|
| 812 | + 'texte_nouvelle_version_spip_1' => 'Hai installato una nuova versione di SPIP.', |
|
| 813 | + 'texte_nouvelle_version_spip_2' => 'Questa nuova versione necessita un aggiornamento più radicale del solito. Se sei il webmaster del sito, cancella il file @connect@ e riprendi l’installazione al fine di aggiornare i parametri di connessione al database.<p> (NB: se hai dimenticato i parametri di connessione, rileggi il file @connect@ prima di cancellarlo!)</p>', |
|
| 814 | + 'texte_operation_echec' => 'Torna alla pagina precedente, seleziona un altro database o creane uno nuovo. Verifica le informazioni fornite dal tuo hoster.', |
|
| 815 | + 'texte_plus_trois_car' => 'più di tre caratteri', |
|
| 816 | + 'texte_plusieurs_articles' => 'Diversi autori trovati per "@cherche_auteur@":', |
|
| 817 | + 'texte_port_annuaire' => '(Il valore predefinito è in genere quello adatto.)', |
|
| 818 | + 'texte_presente_plugin' => 'Questa pagina elenca i plugin disponibili sul sito. È possibile attivare i plugin necessari selezionando la casella corrispondente.', |
|
| 819 | + 'texte_proposer_publication' => 'Quando l’articolo è completo,<br /> puoi proporne la pubblicazione.', |
|
| 820 | + 'texte_proxy' => 'In alcuni casi (intranet, reti protette...), i siti distanti (documetazione di SPIP, siti in syndication, ecc.) sono accessibili unicamente attraverso un <i>proxy HTTP</i>. In questo caso, va indicato l’indirizzo del server nella forma @proxy_en_cours@. In genere questa casella va lasciata vuota.', |
|
| 821 | + 'texte_publication_articles_post_dates' => 'Come si deve comportare SPIP quando gli articoli hanno |
|
| 822 | 822 | una data di pubblicazione impostata nel futuro?', |
| 823 | - 'texte_rappel_selection_champs' => '[Non dimenticare di impostare correttamente questo campo]', |
|
| 824 | - 'texte_recalcul_page' => 'Se vuoi rigenerare |
|
| 823 | + 'texte_rappel_selection_champs' => '[Non dimenticare di impostare correttamente questo campo]', |
|
| 824 | + 'texte_recalcul_page' => 'Se vuoi rigenerare |
|
| 825 | 825 | una sola pagina, utilizza piuttosto lo spazio pubblico e clicca sul pulsante «rigenera».', |
| 826 | - 'texte_recuperer_base' => 'Ripara il database', |
|
| 827 | - 'texte_reference_mais_redirige' => 'articolo catalogato nel tuo sito SPIP, ma con reindirizzamento verso un altro URL.', |
|
| 828 | - 'texte_requetes_echouent' => '<b>Quando alcune query SQL falliscono |
|
| 826 | + 'texte_recuperer_base' => 'Ripara il database', |
|
| 827 | + 'texte_reference_mais_redirige' => 'articolo catalogato nel tuo sito SPIP, ma con reindirizzamento verso un altro URL.', |
|
| 828 | + 'texte_requetes_echouent' => '<b>Quando alcune query SQL falliscono |
|
| 829 | 829 | ripetutamente e senza un chiaro motivo, è possibile |
| 830 | 830 | che sia per colpa del database stesso.</b><p> |
| 831 | 831 | Il server SQL dispone di una funzione di ripristino delle tabelle |
@@ -833,87 +833,87 @@ discard block |
||
| 833 | 833 | in caso di errore, conservare una copia del messaggio visualizzato che potrebbe contenere |
| 834 | 834 | delle informazioni utili per identificare il problema.</p><p> |
| 835 | 835 | Se il problema persiste, contattare il proprio fornitore di hosting.</p>', |
| 836 | - 'texte_selection_langue_principale' => 'Puoi selezionare qui sotto la «lingua predefinita» del sito. Questa scelta non obbliga - fortunatamente! - a scrivere gli articoli nella stessa lingua, ma permette di determinare: |
|
| 836 | + 'texte_selection_langue_principale' => 'Puoi selezionare qui sotto la «lingua predefinita» del sito. Questa scelta non obbliga - fortunatamente! - a scrivere gli articoli nella stessa lingua, ma permette di determinare: |
|
| 837 | 837 | <ul><li> il formato di default delle date sul sito pubblico;</li> |
| 838 | 838 | <li> la tipologia di motore tipografico che SPIP deve utilizzare per la resa del testo;</li> |
| 839 | 839 | <li> la lingua utilizzata nelle finestre di dialogo del sito pubblico;</li> |
| 840 | 840 | <li> la lingua di default nell’area riservata all’amministrazione.</li></ul>', |
| 841 | - 'texte_sous_titre' => 'Sottotitolo', |
|
| 842 | - 'texte_statistiques_visites' => '(barre scure: domenica / curve scure: evoluzione della media)', |
|
| 843 | - 'texte_statut_attente_validation' => 'in attesa di convalida', |
|
| 844 | - 'texte_statut_publies' => 'pubblicato on line', |
|
| 845 | - 'texte_statut_refuses' => 'rifiutati', |
|
| 846 | - 'texte_suppression_fichiers' => 'Utilizza questo commando per cancellare tutti i file presenti nella |
|
| 841 | + 'texte_sous_titre' => 'Sottotitolo', |
|
| 842 | + 'texte_statistiques_visites' => '(barre scure: domenica / curve scure: evoluzione della media)', |
|
| 843 | + 'texte_statut_attente_validation' => 'in attesa di convalida', |
|
| 844 | + 'texte_statut_publies' => 'pubblicato on line', |
|
| 845 | + 'texte_statut_refuses' => 'rifiutati', |
|
| 846 | + 'texte_suppression_fichiers' => 'Utilizza questo commando per cancellare tutti i file presenti nella |
|
| 847 | 847 | cache di SPIP. Ciò permette ad esempio di forzare la rigenerazione di tutte le pagine se hai fatto delle importanti modifiche di grafica o di struttura del sito.', |
| 848 | - 'texte_sur_titre' => 'Occhiello', |
|
| 849 | - 'texte_table_ok' => ': questa tabella è OK.', |
|
| 850 | - 'texte_tentative_recuperation' => 'Tentativo di ripristino', |
|
| 851 | - 'texte_tenter_reparation' => 'Tenta un ripristino del database', |
|
| 852 | - 'texte_test_proxy' => 'Per fare una prova di questo proxy, indicare qui l’indirizzo |
|
| 848 | + 'texte_sur_titre' => 'Occhiello', |
|
| 849 | + 'texte_table_ok' => ': questa tabella è OK.', |
|
| 850 | + 'texte_tentative_recuperation' => 'Tentativo di ripristino', |
|
| 851 | + 'texte_tenter_reparation' => 'Tenta un ripristino del database', |
|
| 852 | + 'texte_test_proxy' => 'Per fare una prova di questo proxy, indicare qui l’indirizzo |
|
| 853 | 853 | di un sito Web da testare.', |
| 854 | - 'texte_titre_02' => 'Titolo:', |
|
| 855 | - 'texte_titre_obligatoire' => '<b>Titolo</b> [Obbligatorio]', |
|
| 856 | - 'texte_travail_article' => '@nom_auteur_modif@ ha lavorato su questo articolo @date_diff@ minuti fa', |
|
| 857 | - 'texte_travail_collaboratif' => 'Se diversi autori lavorano spesso sullo stesso articolo, |
|
| 854 | + 'texte_titre_02' => 'Titolo:', |
|
| 855 | + 'texte_titre_obligatoire' => '<b>Titolo</b> [Obbligatorio]', |
|
| 856 | + 'texte_travail_article' => '@nom_auteur_modif@ ha lavorato su questo articolo @date_diff@ minuti fa', |
|
| 857 | + 'texte_travail_collaboratif' => 'Se diversi autori lavorano spesso sullo stesso articolo, |
|
| 858 | 858 | il sistema può segnalare gli articoli «aperti» |
| 859 | 859 | di recente al fine di evitare modifiche simultanee. |
| 860 | 860 | Questa opzione è disattivata di default |
| 861 | 861 | per evitare di generare messaggi d’avvertimento intempestivi.', |
| 862 | - 'texte_vide' => 'vuoto', |
|
| 863 | - 'texte_vider_cache' => 'Svuota la cache', |
|
| 864 | - 'titre_admin_tech' => 'Manutenzione tecnica', |
|
| 865 | - 'titre_admin_vider' => 'Manutenzione tecnica', |
|
| 866 | - 'titre_ajouter_un_auteur' => 'Aggiungi un autore', |
|
| 867 | - 'titre_ajouter_un_mot' => 'Aggiungi una parola chiave', |
|
| 868 | - 'titre_cadre_afficher_article' => 'Visualizza gli articoli', |
|
| 869 | - 'titre_cadre_afficher_traductions' => 'Visualizzare lo stato delle traduzioni per le seguenti lingue:', |
|
| 870 | - 'titre_cadre_ajouter_auteur' => 'AGGIUNGI UN AUTORE: ', |
|
| 871 | - 'titre_cadre_interieur_rubrique' => 'All’interno della rubrica', |
|
| 872 | - 'titre_cadre_numero_auteur' => 'AUTORE NUMERO', |
|
| 873 | - 'titre_cadre_numero_objet' => '@objet@ NUMERO :', |
|
| 874 | - 'titre_cadre_signature_obligatoire' => '<b>Firma</b> [Obbligatoria]<br />', |
|
| 875 | - 'titre_config_contenu_notifications' => 'Notifiche', |
|
| 876 | - 'titre_config_contenu_prive' => 'Nell’area riservata', |
|
| 877 | - 'titre_config_contenu_public' => 'Sul sito pubblico', |
|
| 878 | - 'titre_config_fonctions' => 'Configurazione del sito', |
|
| 879 | - 'titre_config_langage' => 'Configura la lingua', |
|
| 880 | - 'titre_configuration' => 'Configurazione del sito', |
|
| 881 | - 'titre_configurer_preferences' => 'Configura le tue preferenze', |
|
| 882 | - 'titre_configurer_preferences_menus' => 'Imposta le tue preferenze di menù', |
|
| 883 | - 'titre_conflit_edition' => 'Conflitto all’atto dell’edizione', |
|
| 884 | - 'titre_connexion_ldap' => 'Opzioni: <b>La connessione LDAP</b>', |
|
| 885 | - 'titre_groupe_mots' => 'GRUPPO DI PAROLE CHIAVE:', |
|
| 886 | - 'titre_identite_site' => 'Identità del sito', |
|
| 887 | - 'titre_langue_article' => 'Lingua dell’articolo', |
|
| 888 | - 'titre_langue_rubrique' => 'Lingua della rubrica', |
|
| 889 | - 'titre_langue_trad_article' => 'LINGUA E TRADUZIONI DELL’ARTICOLO', |
|
| 890 | - 'titre_les_articles' => 'GLI ARTICOLI', |
|
| 891 | - 'titre_messagerie_agenda' => 'Messagistica e agenda', |
|
| 892 | - 'titre_naviguer_dans_le_site' => 'Navigare nel sito...', |
|
| 893 | - 'titre_nouvelle_rubrique' => 'Nuova rubrica', |
|
| 894 | - 'titre_numero_rubrique' => 'RUBRICA NUMERO:', |
|
| 895 | - 'titre_page_articles_edit' => 'Modifica: @titre@', |
|
| 896 | - 'titre_page_articles_page' => 'Gli articoli', |
|
| 897 | - 'titre_page_articles_tous' => 'Tutto il sito', |
|
| 898 | - 'titre_page_calendrier' => 'Calendario @nom_mois@ @annee@', |
|
| 899 | - 'titre_page_config_contenu' => 'Configurazione del sito', |
|
| 900 | - 'titre_page_delete_all' => 'eliminazione totale e irreversible', |
|
| 901 | - 'titre_page_recherche' => 'Risultati della ricerca @recherche@', |
|
| 902 | - 'titre_page_statistiques_referers' => 'Statistiche (link al tuo sito)', |
|
| 903 | - 'titre_page_upgrade' => 'Aggiornamento di SPIP', |
|
| 904 | - 'titre_preference_menus_favoris' => 'Menù preferiti', |
|
| 905 | - 'titre_publication_articles_post_dates' => 'Pubblicazione di articoli postdatati', |
|
| 906 | - 'titre_reparation' => 'Riparazione', |
|
| 907 | - 'titre_suivi_petition' => 'Monitoraggio delle petizioni', |
|
| 908 | - 'tls_ldap' => 'Transport Layer Security:', |
|
| 909 | - 'trad_article_traduction' => 'Tutte le versioni di questo articolo:', |
|
| 910 | - 'trad_delier' => 'Non collegare più questo articolo alle sue traduzioni', |
|
| 911 | - 'trad_lier' => 'Questo articolo è una traduzione dell’articolo numero:', |
|
| 912 | - 'trad_new' => 'Scrivere una nuova traduzione dell’articolo', |
|
| 862 | + 'texte_vide' => 'vuoto', |
|
| 863 | + 'texte_vider_cache' => 'Svuota la cache', |
|
| 864 | + 'titre_admin_tech' => 'Manutenzione tecnica', |
|
| 865 | + 'titre_admin_vider' => 'Manutenzione tecnica', |
|
| 866 | + 'titre_ajouter_un_auteur' => 'Aggiungi un autore', |
|
| 867 | + 'titre_ajouter_un_mot' => 'Aggiungi una parola chiave', |
|
| 868 | + 'titre_cadre_afficher_article' => 'Visualizza gli articoli', |
|
| 869 | + 'titre_cadre_afficher_traductions' => 'Visualizzare lo stato delle traduzioni per le seguenti lingue:', |
|
| 870 | + 'titre_cadre_ajouter_auteur' => 'AGGIUNGI UN AUTORE: ', |
|
| 871 | + 'titre_cadre_interieur_rubrique' => 'All’interno della rubrica', |
|
| 872 | + 'titre_cadre_numero_auteur' => 'AUTORE NUMERO', |
|
| 873 | + 'titre_cadre_numero_objet' => '@objet@ NUMERO :', |
|
| 874 | + 'titre_cadre_signature_obligatoire' => '<b>Firma</b> [Obbligatoria]<br />', |
|
| 875 | + 'titre_config_contenu_notifications' => 'Notifiche', |
|
| 876 | + 'titre_config_contenu_prive' => 'Nell’area riservata', |
|
| 877 | + 'titre_config_contenu_public' => 'Sul sito pubblico', |
|
| 878 | + 'titre_config_fonctions' => 'Configurazione del sito', |
|
| 879 | + 'titre_config_langage' => 'Configura la lingua', |
|
| 880 | + 'titre_configuration' => 'Configurazione del sito', |
|
| 881 | + 'titre_configurer_preferences' => 'Configura le tue preferenze', |
|
| 882 | + 'titre_configurer_preferences_menus' => 'Imposta le tue preferenze di menù', |
|
| 883 | + 'titre_conflit_edition' => 'Conflitto all’atto dell’edizione', |
|
| 884 | + 'titre_connexion_ldap' => 'Opzioni: <b>La connessione LDAP</b>', |
|
| 885 | + 'titre_groupe_mots' => 'GRUPPO DI PAROLE CHIAVE:', |
|
| 886 | + 'titre_identite_site' => 'Identità del sito', |
|
| 887 | + 'titre_langue_article' => 'Lingua dell’articolo', |
|
| 888 | + 'titre_langue_rubrique' => 'Lingua della rubrica', |
|
| 889 | + 'titre_langue_trad_article' => 'LINGUA E TRADUZIONI DELL’ARTICOLO', |
|
| 890 | + 'titre_les_articles' => 'GLI ARTICOLI', |
|
| 891 | + 'titre_messagerie_agenda' => 'Messagistica e agenda', |
|
| 892 | + 'titre_naviguer_dans_le_site' => 'Navigare nel sito...', |
|
| 893 | + 'titre_nouvelle_rubrique' => 'Nuova rubrica', |
|
| 894 | + 'titre_numero_rubrique' => 'RUBRICA NUMERO:', |
|
| 895 | + 'titre_page_articles_edit' => 'Modifica: @titre@', |
|
| 896 | + 'titre_page_articles_page' => 'Gli articoli', |
|
| 897 | + 'titre_page_articles_tous' => 'Tutto il sito', |
|
| 898 | + 'titre_page_calendrier' => 'Calendario @nom_mois@ @annee@', |
|
| 899 | + 'titre_page_config_contenu' => 'Configurazione del sito', |
|
| 900 | + 'titre_page_delete_all' => 'eliminazione totale e irreversible', |
|
| 901 | + 'titre_page_recherche' => 'Risultati della ricerca @recherche@', |
|
| 902 | + 'titre_page_statistiques_referers' => 'Statistiche (link al tuo sito)', |
|
| 903 | + 'titre_page_upgrade' => 'Aggiornamento di SPIP', |
|
| 904 | + 'titre_preference_menus_favoris' => 'Menù preferiti', |
|
| 905 | + 'titre_publication_articles_post_dates' => 'Pubblicazione di articoli postdatati', |
|
| 906 | + 'titre_reparation' => 'Riparazione', |
|
| 907 | + 'titre_suivi_petition' => 'Monitoraggio delle petizioni', |
|
| 908 | + 'tls_ldap' => 'Transport Layer Security:', |
|
| 909 | + 'trad_article_traduction' => 'Tutte le versioni di questo articolo:', |
|
| 910 | + 'trad_delier' => 'Non collegare più questo articolo alle sue traduzioni', |
|
| 911 | + 'trad_lier' => 'Questo articolo è una traduzione dell’articolo numero:', |
|
| 912 | + 'trad_new' => 'Scrivere una nuova traduzione dell’articolo', |
|
| 913 | 913 | |
| 914 | - // U |
|
| 915 | - 'utf8_convert_erreur_orig' => 'Errore: il set di caratteri @charset@ non è supportato.', |
|
| 914 | + // U |
|
| 915 | + 'utf8_convert_erreur_orig' => 'Errore: il set di caratteri @charset@ non è supportato.', |
|
| 916 | 916 | |
| 917 | - // V |
|
| 918 | - 'version' => 'Versione:' |
|
| 917 | + // V |
|
| 918 | + 'version' => 'Versione:' |
|
| 919 | 919 | ); |
@@ -4,123 +4,123 @@ |
||
| 4 | 4 | // ** ne pas modifier le fichier ** |
| 5 | 5 | |
| 6 | 6 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 7 | - return; |
|
| 7 | + return; |
|
| 8 | 8 | } |
| 9 | 9 | |
| 10 | 10 | $GLOBALS[$GLOBALS['idx_lang']] = array( |
| 11 | 11 | |
| 12 | - // A |
|
| 13 | - 'accueil_site' => 'Home', |
|
| 14 | - 'article' => 'Articolo', |
|
| 15 | - 'articles' => 'Articoli', |
|
| 16 | - 'articles_auteur' => 'Articoli di questo autore', |
|
| 17 | - 'articles_populaires' => 'Articoli più letti', |
|
| 18 | - 'articles_rubrique' => 'Articoli di questa rubrica', |
|
| 19 | - 'aucun_article' => 'Non ci sono articoli a questo indirizzo', |
|
| 20 | - 'aucun_auteur' => 'Non ci sono autori a questo indirizzo', |
|
| 21 | - 'aucun_site' => 'Non ci sono siti a questo indirizzo', |
|
| 22 | - 'aucune_breve' => 'Non ci sono brevi a questo indirizzo', |
|
| 23 | - 'aucune_rubrique' => 'Non ci sono rubriche a questo indirizzo', |
|
| 24 | - 'auteur' => 'Autore', |
|
| 25 | - 'autres' => 'Altri', |
|
| 26 | - 'autres_breves' => 'Altre brevi', |
|
| 27 | - 'autres_groupes_mots_clefs' => 'Altri gruppi di parole chiave', |
|
| 28 | - 'autres_sites' => 'Altri siti', |
|
| 29 | - |
|
| 30 | - // B |
|
| 31 | - 'bonjour' => 'Salve', |
|
| 32 | - |
|
| 33 | - // C |
|
| 34 | - 'commenter_site' => 'Commenta questo sito', |
|
| 35 | - 'contact' => 'Contatti', |
|
| 36 | - 'copie_document_impossible' => 'Impossibile copiare il documento', |
|
| 37 | - |
|
| 38 | - // D |
|
| 39 | - 'date' => 'Data', |
|
| 40 | - 'dernier_ajout' => 'Ultimo aggiornamento', |
|
| 41 | - 'dernieres_breves' => 'Ultime brevi', |
|
| 42 | - 'derniers_articles' => 'Ultimi articoli', |
|
| 43 | - 'derniers_commentaires' => 'Ultimi commenti', |
|
| 44 | - 'derniers_messages_forum' => 'Ultimi messaggi pubblicati nei forum', |
|
| 45 | - |
|
| 46 | - // E |
|
| 47 | - 'edition_mode_texte' => 'Versione solo testo di', |
|
| 48 | - 'en_reponse' => 'In risposta a:', |
|
| 49 | - 'en_resume' => 'Riassunto', |
|
| 50 | - 'envoyer_message' => 'Invia un messaggio', |
|
| 51 | - 'espace_prive' => 'Area riservata', |
|
| 52 | - |
|
| 53 | - // F |
|
| 54 | - 'formats_acceptes' => 'Formati accettati: @formats@.', |
|
| 55 | - |
|
| 56 | - // H |
|
| 57 | - 'hierarchie_site' => 'Mappa del sito', |
|
| 58 | - |
|
| 59 | - // J |
|
| 60 | - 'jours' => 'giorni', |
|
| 61 | - |
|
| 62 | - // L |
|
| 63 | - 'lien_connecter' => 'Connettersi', |
|
| 64 | - |
|
| 65 | - // M |
|
| 66 | - 'meme_auteur' => 'Dello stesso autore', |
|
| 67 | - 'meme_rubrique' => 'Nella stessa rubrica', |
|
| 68 | - 'memes_auteurs' => 'Degli stessi autori', |
|
| 69 | - 'message' => 'Messaggio', |
|
| 70 | - 'messages_forum' => 'Messaggi', |
|
| 71 | - 'messages_recents' => 'Messaggi più recenti del forum', |
|
| 72 | - 'mots_clef' => 'Parola chiave', |
|
| 73 | - 'mots_clefs' => 'Parole chiave', |
|
| 74 | - 'mots_clefs_meme_groupe' => 'Parole chiave nello stesso gruppo', |
|
| 75 | - |
|
| 76 | - // N |
|
| 77 | - 'navigation' => 'Navigazione', |
|
| 78 | - 'nom' => 'Cognome', |
|
| 79 | - 'nouveautes' => 'Le novità', |
|
| 80 | - 'nouveautes_web' => 'Novità sul Web', |
|
| 81 | - 'nouveaux_articles' => 'Nuovi articoli', |
|
| 82 | - 'nouvelles_breves' => 'Nuove brevi', |
|
| 83 | - |
|
| 84 | - // P |
|
| 85 | - 'page_precedente' => 'pagina precedente', |
|
| 86 | - 'page_suivante' => 'pagina successiva', |
|
| 87 | - 'par_auteur' => 'di ', |
|
| 88 | - 'participer_site' => 'È possibile partecipare alla vita di questo sito e proporre degli articoli iscrivendosi qui sotto. Verrà spedito immediatamente un email con il codice di accesso all’area riservata del sito.', |
|
| 89 | - 'plan_site' => 'Mappa del sito', |
|
| 90 | - 'popularite' => 'Popolarità', |
|
| 91 | - 'poster_message' => 'Inviare un messaggio', |
|
| 92 | - 'proposer_site' => 'È possibile proporre un sito da aggiungere a questa rubrica:', |
|
| 93 | - |
|
| 94 | - // R |
|
| 95 | - 'repondre_article' => 'Rispondere all’articolo', |
|
| 96 | - 'repondre_breve' => 'Rispondere a questa breve', |
|
| 97 | - 'resultats_recherche' => 'Risultati della ricerca', |
|
| 98 | - 'retour_debut_forums' => 'Tornare all’inizio dei forum', |
|
| 99 | - 'rss_abonnement' => 'Copia il seguente URL nel tuo aggregatore RSS:', |
|
| 100 | - 'rss_abonnement_titre' => 'Sottoscrivi', |
|
| 101 | - 'rss_abonnement_titre_page' => 'Per sottoscrivere', |
|
| 102 | - 'rss_explication' => 'Un feed RSS raccoglie informazioni di aggiornamento per un sito. Fornisce il contenuto dei post o dei commenti o un estratto da essi, nonché un collegamento alle versioni complete e alcune altre informazioni. Questo feed deve essere letto da un aggregatore RSS.', |
|
| 103 | - 'rss_explication_titre' => 'Cos’è un flusso RSS?', |
|
| 104 | - 'rubrique' => 'Rubrica', |
|
| 105 | - 'rubriques' => 'Rubriche', |
|
| 106 | - |
|
| 107 | - // S |
|
| 108 | - 'signatures_petition' => 'Firme', |
|
| 109 | - 'site_realise_avec_spip' => 'Sito realizzato con SPIP', |
|
| 110 | - 'sites_web' => 'Siti Web', |
|
| 111 | - 'sous_rubriques' => 'Sottorubriche', |
|
| 112 | - 'spam' => 'Spam', |
|
| 113 | - 'suite' => 'segue', |
|
| 114 | - 'sur_web' => 'Sul Web', |
|
| 115 | - 'syndiquer_rubrique' => 'Mettere in syndication questa rubrica', |
|
| 116 | - 'syndiquer_site' => 'Mettere in syndication tutto il sito', |
|
| 117 | - |
|
| 118 | - // T |
|
| 119 | - 'texte_lettre_information' => 'Newsletter del sito', |
|
| 120 | - 'texte_lettre_information_2' => 'Questo sito contiene articoli pubblicati a partire dal ', |
|
| 121 | - |
|
| 122 | - // V |
|
| 123 | - 'ver_imprimer' => 'Versione per la stampa', |
|
| 124 | - 'voir_en_ligne' => 'Vedi on line', |
|
| 125 | - 'voir_squelette' => 'visualizza il modello di questa pagina' |
|
| 12 | + // A |
|
| 13 | + 'accueil_site' => 'Home', |
|
| 14 | + 'article' => 'Articolo', |
|
| 15 | + 'articles' => 'Articoli', |
|
| 16 | + 'articles_auteur' => 'Articoli di questo autore', |
|
| 17 | + 'articles_populaires' => 'Articoli più letti', |
|
| 18 | + 'articles_rubrique' => 'Articoli di questa rubrica', |
|
| 19 | + 'aucun_article' => 'Non ci sono articoli a questo indirizzo', |
|
| 20 | + 'aucun_auteur' => 'Non ci sono autori a questo indirizzo', |
|
| 21 | + 'aucun_site' => 'Non ci sono siti a questo indirizzo', |
|
| 22 | + 'aucune_breve' => 'Non ci sono brevi a questo indirizzo', |
|
| 23 | + 'aucune_rubrique' => 'Non ci sono rubriche a questo indirizzo', |
|
| 24 | + 'auteur' => 'Autore', |
|
| 25 | + 'autres' => 'Altri', |
|
| 26 | + 'autres_breves' => 'Altre brevi', |
|
| 27 | + 'autres_groupes_mots_clefs' => 'Altri gruppi di parole chiave', |
|
| 28 | + 'autres_sites' => 'Altri siti', |
|
| 29 | + |
|
| 30 | + // B |
|
| 31 | + 'bonjour' => 'Salve', |
|
| 32 | + |
|
| 33 | + // C |
|
| 34 | + 'commenter_site' => 'Commenta questo sito', |
|
| 35 | + 'contact' => 'Contatti', |
|
| 36 | + 'copie_document_impossible' => 'Impossibile copiare il documento', |
|
| 37 | + |
|
| 38 | + // D |
|
| 39 | + 'date' => 'Data', |
|
| 40 | + 'dernier_ajout' => 'Ultimo aggiornamento', |
|
| 41 | + 'dernieres_breves' => 'Ultime brevi', |
|
| 42 | + 'derniers_articles' => 'Ultimi articoli', |
|
| 43 | + 'derniers_commentaires' => 'Ultimi commenti', |
|
| 44 | + 'derniers_messages_forum' => 'Ultimi messaggi pubblicati nei forum', |
|
| 45 | + |
|
| 46 | + // E |
|
| 47 | + 'edition_mode_texte' => 'Versione solo testo di', |
|
| 48 | + 'en_reponse' => 'In risposta a:', |
|
| 49 | + 'en_resume' => 'Riassunto', |
|
| 50 | + 'envoyer_message' => 'Invia un messaggio', |
|
| 51 | + 'espace_prive' => 'Area riservata', |
|
| 52 | + |
|
| 53 | + // F |
|
| 54 | + 'formats_acceptes' => 'Formati accettati: @formats@.', |
|
| 55 | + |
|
| 56 | + // H |
|
| 57 | + 'hierarchie_site' => 'Mappa del sito', |
|
| 58 | + |
|
| 59 | + // J |
|
| 60 | + 'jours' => 'giorni', |
|
| 61 | + |
|
| 62 | + // L |
|
| 63 | + 'lien_connecter' => 'Connettersi', |
|
| 64 | + |
|
| 65 | + // M |
|
| 66 | + 'meme_auteur' => 'Dello stesso autore', |
|
| 67 | + 'meme_rubrique' => 'Nella stessa rubrica', |
|
| 68 | + 'memes_auteurs' => 'Degli stessi autori', |
|
| 69 | + 'message' => 'Messaggio', |
|
| 70 | + 'messages_forum' => 'Messaggi', |
|
| 71 | + 'messages_recents' => 'Messaggi più recenti del forum', |
|
| 72 | + 'mots_clef' => 'Parola chiave', |
|
| 73 | + 'mots_clefs' => 'Parole chiave', |
|
| 74 | + 'mots_clefs_meme_groupe' => 'Parole chiave nello stesso gruppo', |
|
| 75 | + |
|
| 76 | + // N |
|
| 77 | + 'navigation' => 'Navigazione', |
|
| 78 | + 'nom' => 'Cognome', |
|
| 79 | + 'nouveautes' => 'Le novità', |
|
| 80 | + 'nouveautes_web' => 'Novità sul Web', |
|
| 81 | + 'nouveaux_articles' => 'Nuovi articoli', |
|
| 82 | + 'nouvelles_breves' => 'Nuove brevi', |
|
| 83 | + |
|
| 84 | + // P |
|
| 85 | + 'page_precedente' => 'pagina precedente', |
|
| 86 | + 'page_suivante' => 'pagina successiva', |
|
| 87 | + 'par_auteur' => 'di ', |
|
| 88 | + 'participer_site' => 'È possibile partecipare alla vita di questo sito e proporre degli articoli iscrivendosi qui sotto. Verrà spedito immediatamente un email con il codice di accesso all’area riservata del sito.', |
|
| 89 | + 'plan_site' => 'Mappa del sito', |
|
| 90 | + 'popularite' => 'Popolarità', |
|
| 91 | + 'poster_message' => 'Inviare un messaggio', |
|
| 92 | + 'proposer_site' => 'È possibile proporre un sito da aggiungere a questa rubrica:', |
|
| 93 | + |
|
| 94 | + // R |
|
| 95 | + 'repondre_article' => 'Rispondere all’articolo', |
|
| 96 | + 'repondre_breve' => 'Rispondere a questa breve', |
|
| 97 | + 'resultats_recherche' => 'Risultati della ricerca', |
|
| 98 | + 'retour_debut_forums' => 'Tornare all’inizio dei forum', |
|
| 99 | + 'rss_abonnement' => 'Copia il seguente URL nel tuo aggregatore RSS:', |
|
| 100 | + 'rss_abonnement_titre' => 'Sottoscrivi', |
|
| 101 | + 'rss_abonnement_titre_page' => 'Per sottoscrivere', |
|
| 102 | + 'rss_explication' => 'Un feed RSS raccoglie informazioni di aggiornamento per un sito. Fornisce il contenuto dei post o dei commenti o un estratto da essi, nonché un collegamento alle versioni complete e alcune altre informazioni. Questo feed deve essere letto da un aggregatore RSS.', |
|
| 103 | + 'rss_explication_titre' => 'Cos’è un flusso RSS?', |
|
| 104 | + 'rubrique' => 'Rubrica', |
|
| 105 | + 'rubriques' => 'Rubriche', |
|
| 106 | + |
|
| 107 | + // S |
|
| 108 | + 'signatures_petition' => 'Firme', |
|
| 109 | + 'site_realise_avec_spip' => 'Sito realizzato con SPIP', |
|
| 110 | + 'sites_web' => 'Siti Web', |
|
| 111 | + 'sous_rubriques' => 'Sottorubriche', |
|
| 112 | + 'spam' => 'Spam', |
|
| 113 | + 'suite' => 'segue', |
|
| 114 | + 'sur_web' => 'Sul Web', |
|
| 115 | + 'syndiquer_rubrique' => 'Mettere in syndication questa rubrica', |
|
| 116 | + 'syndiquer_site' => 'Mettere in syndication tutto il sito', |
|
| 117 | + |
|
| 118 | + // T |
|
| 119 | + 'texte_lettre_information' => 'Newsletter del sito', |
|
| 120 | + 'texte_lettre_information_2' => 'Questo sito contiene articoli pubblicati a partire dal ', |
|
| 121 | + |
|
| 122 | + // V |
|
| 123 | + 'ver_imprimer' => 'Versione per la stampa', |
|
| 124 | + 'voir_en_ligne' => 'Vedi on line', |
|
| 125 | + 'voir_squelette' => 'visualizza il modello di questa pagina' |
|
| 126 | 126 | ); |
@@ -4,436 +4,436 @@ discard block |
||
| 4 | 4 | // ** ne pas modifier le fichier ** |
| 5 | 5 | |
| 6 | 6 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 7 | - return; |
|
| 7 | + return; |
|
| 8 | 8 | } |
| 9 | 9 | |
| 10 | 10 | $GLOBALS[$GLOBALS['idx_lang']] = array( |
| 11 | 11 | |
| 12 | - // A |
|
| 13 | - 'activer_plugin' => 'Activer le plugin', |
|
| 14 | - 'affichage' => 'Affichage', |
|
| 15 | - 'aide_non_disponible' => 'Cette partie de l’aide en ligne n’est pas encore disponible dans cette langue.', |
|
| 16 | - 'annuler_recherche' => 'Annuler la recherche', |
|
| 17 | - 'auteur' => 'Autrice :', |
|
| 18 | - 'avis_acces_interdit' => 'Accès interdit.', |
|
| 19 | - 'avis_acces_interdit_prive' => 'Vous n’avez pas le droit d’accéder à la page <b>@exec@</b>.', |
|
| 20 | - 'avis_article_modifie' => 'Attention, @nom_auteur_modif@ a travaillé sur cet article il y a @date_diff@ minutes', |
|
| 21 | - 'avis_aucun_resultat' => 'Aucun résultat.', |
|
| 22 | - 'avis_base_inaccessible' => 'Impossible de se connecter à la base de données @base@.', |
|
| 23 | - 'avis_chemin_invalide_1' => 'Le chemin que vous avez choisi', |
|
| 24 | - 'avis_chemin_invalide_2' => 'ne semble pas valide. Veuillez retourner à la page précédente et vérifier les informations fournies.', |
|
| 25 | - 'avis_connexion_echec_1' => 'La connexion à la base de données a échoué.', |
|
| 26 | - 'avis_connexion_echec_2' => 'Revenez à la page précédente, et vérifiez les informations que vous avez fournies.', |
|
| 27 | - 'avis_connexion_echec_3' => '<b>N.B.</b> Sur de nombreux serveurs, vous devez <b>demander</b> l’activation de votre accès à la base de données avant de pouvoir l’utiliser. Si vous ne pouvez vous connecter, vérifiez que vous avez effectué cette démarche.', |
|
| 28 | - 'avis_connexion_erreur_creer_base' => 'La base de données n’a pas pu être créée.', |
|
| 29 | - 'avis_connexion_erreur_nom_base' => 'Le nom de la base ne peut contenir que des lettres, des chiffres et des tirets', |
|
| 30 | - 'avis_connexion_ldap_echec_1' => 'La connexion au serveur LDAP a échoué.', |
|
| 31 | - 'avis_connexion_ldap_echec_2' => 'Revenez à la page précédente, et vérifiez les informations que vous avez fournies.', |
|
| 32 | - 'avis_connexion_ldap_echec_3' => 'Alternativement, n’utilisez pas le support LDAP pour importer des utilisatrices.', |
|
| 33 | - 'avis_deplacement_rubrique' => 'Attention ! Cette rubrique contient @contient_breves@ brève@scb@ : si vous la déplacez, veuillez cocher cette case de confirmation.', |
|
| 34 | - 'avis_erreur_connexion_mysql' => 'Erreur de connexion SQL', |
|
| 35 | - 'avis_espace_interdit' => '<b>Espace interdit</b> <div>SPIP est déjà installé.</div>', |
|
| 36 | - 'avis_lecture_noms_bases_1' => 'Le programme d’installation n’a pas pu lire les noms des bases de données installées.', |
|
| 37 | - 'avis_lecture_noms_bases_2' => 'Soit aucune base n’est disponible, soit la fonction permettant de lister les bases a été désactivée |
|
| 12 | + // A |
|
| 13 | + 'activer_plugin' => 'Activer le plugin', |
|
| 14 | + 'affichage' => 'Affichage', |
|
| 15 | + 'aide_non_disponible' => 'Cette partie de l’aide en ligne n’est pas encore disponible dans cette langue.', |
|
| 16 | + 'annuler_recherche' => 'Annuler la recherche', |
|
| 17 | + 'auteur' => 'Autrice :', |
|
| 18 | + 'avis_acces_interdit' => 'Accès interdit.', |
|
| 19 | + 'avis_acces_interdit_prive' => 'Vous n’avez pas le droit d’accéder à la page <b>@exec@</b>.', |
|
| 20 | + 'avis_article_modifie' => 'Attention, @nom_auteur_modif@ a travaillé sur cet article il y a @date_diff@ minutes', |
|
| 21 | + 'avis_aucun_resultat' => 'Aucun résultat.', |
|
| 22 | + 'avis_base_inaccessible' => 'Impossible de se connecter à la base de données @base@.', |
|
| 23 | + 'avis_chemin_invalide_1' => 'Le chemin que vous avez choisi', |
|
| 24 | + 'avis_chemin_invalide_2' => 'ne semble pas valide. Veuillez retourner à la page précédente et vérifier les informations fournies.', |
|
| 25 | + 'avis_connexion_echec_1' => 'La connexion à la base de données a échoué.', |
|
| 26 | + 'avis_connexion_echec_2' => 'Revenez à la page précédente, et vérifiez les informations que vous avez fournies.', |
|
| 27 | + 'avis_connexion_echec_3' => '<b>N.B.</b> Sur de nombreux serveurs, vous devez <b>demander</b> l’activation de votre accès à la base de données avant de pouvoir l’utiliser. Si vous ne pouvez vous connecter, vérifiez que vous avez effectué cette démarche.', |
|
| 28 | + 'avis_connexion_erreur_creer_base' => 'La base de données n’a pas pu être créée.', |
|
| 29 | + 'avis_connexion_erreur_nom_base' => 'Le nom de la base ne peut contenir que des lettres, des chiffres et des tirets', |
|
| 30 | + 'avis_connexion_ldap_echec_1' => 'La connexion au serveur LDAP a échoué.', |
|
| 31 | + 'avis_connexion_ldap_echec_2' => 'Revenez à la page précédente, et vérifiez les informations que vous avez fournies.', |
|
| 32 | + 'avis_connexion_ldap_echec_3' => 'Alternativement, n’utilisez pas le support LDAP pour importer des utilisatrices.', |
|
| 33 | + 'avis_deplacement_rubrique' => 'Attention ! Cette rubrique contient @contient_breves@ brève@scb@ : si vous la déplacez, veuillez cocher cette case de confirmation.', |
|
| 34 | + 'avis_erreur_connexion_mysql' => 'Erreur de connexion SQL', |
|
| 35 | + 'avis_espace_interdit' => '<b>Espace interdit</b> <div>SPIP est déjà installé.</div>', |
|
| 36 | + 'avis_lecture_noms_bases_1' => 'Le programme d’installation n’a pas pu lire les noms des bases de données installées.', |
|
| 37 | + 'avis_lecture_noms_bases_2' => 'Soit aucune base n’est disponible, soit la fonction permettant de lister les bases a été désactivée |
|
| 38 | 38 | pour des raisons de sécurité (ce qui est le cas chez de nombreux hébergeurs).', |
| 39 | - 'avis_lecture_noms_bases_3' => 'Dans la seconde alternative, il est probable qu’une base portant votre nom de login soit utilisable :', |
|
| 40 | - 'avis_non_acces_page' => 'Vous n’avez pas accès à cette page.', |
|
| 41 | - 'avis_operation_echec' => 'L’opération a échoué.', |
|
| 42 | - 'avis_operation_impossible' => 'Opération impossible', |
|
| 43 | - 'avis_suppression_base' => 'ATTENTION, la suppression des données est irréversible', |
|
| 39 | + 'avis_lecture_noms_bases_3' => 'Dans la seconde alternative, il est probable qu’une base portant votre nom de login soit utilisable :', |
|
| 40 | + 'avis_non_acces_page' => 'Vous n’avez pas accès à cette page.', |
|
| 41 | + 'avis_operation_echec' => 'L’opération a échoué.', |
|
| 42 | + 'avis_operation_impossible' => 'Opération impossible', |
|
| 43 | + 'avis_suppression_base' => 'ATTENTION, la suppression des données est irréversible', |
|
| 44 | 44 | |
| 45 | - // B |
|
| 46 | - 'bouton_acces_ldap' => 'Ajouter l’accès à LDAP', |
|
| 47 | - 'bouton_ajouter' => 'Ajouter', |
|
| 48 | - 'bouton_annuler' => 'Annuler', |
|
| 49 | - 'bouton_cache_activer' => 'Réactiver le cache', |
|
| 50 | - 'bouton_cache_desactiver' => 'Désactiver temporairement le cache', |
|
| 51 | - 'bouton_demande_publication' => 'Demander la publication de cet article', |
|
| 52 | - 'bouton_desactive_tout' => 'Tout désactiver', |
|
| 53 | - 'bouton_desinstaller' => 'Désinstaller', |
|
| 54 | - 'bouton_effacer_tout' => 'Effacer TOUT', |
|
| 55 | - 'bouton_envoyer_message' => 'Message définitif : envoyer', |
|
| 56 | - 'bouton_fermer' => 'Fermer', |
|
| 57 | - 'bouton_mettre_a_jour_base' => 'Mettre à jour la base de données', |
|
| 58 | - 'bouton_modifier' => 'Modifier', |
|
| 59 | - 'bouton_radio_afficher' => 'Afficher', |
|
| 60 | - 'bouton_radio_apparaitre_liste_redacteurs_connectes' => 'Apparaître dans la liste des rédactrices connectées', |
|
| 61 | - 'bouton_radio_envoi_annonces_adresse' => 'Envoyer les annonces à l’adresse :', |
|
| 62 | - 'bouton_radio_envoi_liste_nouveautes' => 'Envoyer la liste des nouveautés', |
|
| 63 | - 'bouton_radio_non_apparaitre_liste_redacteurs_connectes' => 'Ne pas apparaître dans la liste des rédactrices', |
|
| 64 | - 'bouton_radio_non_envoi_annonces_editoriales' => 'Ne pas envoyer d’annonces éditoriales', |
|
| 65 | - 'bouton_redirection' => 'REDIRECTION', |
|
| 66 | - 'bouton_reinitialiser_aux_valeurs_par_defaut' => 'Réinitialiser aux valeurs par défaut', |
|
| 67 | - 'bouton_relancer_inscription' => 'Relancer l’inscription', |
|
| 68 | - 'bouton_relancer_inscriptions' => 'Relancer les inscriptions', |
|
| 69 | - 'bouton_relancer_installation' => 'Relancer l’installation', |
|
| 70 | - 'bouton_reset_password' => 'Générer un nouveau mot de passe et l’envoyer par email', |
|
| 71 | - 'bouton_suivant' => 'Suivant', |
|
| 72 | - 'bouton_tenter_recuperation' => 'Tenter une réparation', |
|
| 73 | - 'bouton_test_proxy' => 'Essayer le proxy', |
|
| 74 | - 'bouton_vider_cache' => 'Vider le cache', |
|
| 45 | + // B |
|
| 46 | + 'bouton_acces_ldap' => 'Ajouter l’accès à LDAP', |
|
| 47 | + 'bouton_ajouter' => 'Ajouter', |
|
| 48 | + 'bouton_annuler' => 'Annuler', |
|
| 49 | + 'bouton_cache_activer' => 'Réactiver le cache', |
|
| 50 | + 'bouton_cache_desactiver' => 'Désactiver temporairement le cache', |
|
| 51 | + 'bouton_demande_publication' => 'Demander la publication de cet article', |
|
| 52 | + 'bouton_desactive_tout' => 'Tout désactiver', |
|
| 53 | + 'bouton_desinstaller' => 'Désinstaller', |
|
| 54 | + 'bouton_effacer_tout' => 'Effacer TOUT', |
|
| 55 | + 'bouton_envoyer_message' => 'Message définitif : envoyer', |
|
| 56 | + 'bouton_fermer' => 'Fermer', |
|
| 57 | + 'bouton_mettre_a_jour_base' => 'Mettre à jour la base de données', |
|
| 58 | + 'bouton_modifier' => 'Modifier', |
|
| 59 | + 'bouton_radio_afficher' => 'Afficher', |
|
| 60 | + 'bouton_radio_apparaitre_liste_redacteurs_connectes' => 'Apparaître dans la liste des rédactrices connectées', |
|
| 61 | + 'bouton_radio_envoi_annonces_adresse' => 'Envoyer les annonces à l’adresse :', |
|
| 62 | + 'bouton_radio_envoi_liste_nouveautes' => 'Envoyer la liste des nouveautés', |
|
| 63 | + 'bouton_radio_non_apparaitre_liste_redacteurs_connectes' => 'Ne pas apparaître dans la liste des rédactrices', |
|
| 64 | + 'bouton_radio_non_envoi_annonces_editoriales' => 'Ne pas envoyer d’annonces éditoriales', |
|
| 65 | + 'bouton_redirection' => 'REDIRECTION', |
|
| 66 | + 'bouton_reinitialiser_aux_valeurs_par_defaut' => 'Réinitialiser aux valeurs par défaut', |
|
| 67 | + 'bouton_relancer_inscription' => 'Relancer l’inscription', |
|
| 68 | + 'bouton_relancer_inscriptions' => 'Relancer les inscriptions', |
|
| 69 | + 'bouton_relancer_installation' => 'Relancer l’installation', |
|
| 70 | + 'bouton_reset_password' => 'Générer un nouveau mot de passe et l’envoyer par email', |
|
| 71 | + 'bouton_suivant' => 'Suivant', |
|
| 72 | + 'bouton_tenter_recuperation' => 'Tenter une réparation', |
|
| 73 | + 'bouton_test_proxy' => 'Essayer le proxy', |
|
| 74 | + 'bouton_vider_cache' => 'Vider le cache', |
|
| 75 | 75 | |
| 76 | - // C |
|
| 77 | - 'cache_modifiable_webmestre' => 'Ce paramètre est modifiable par la webmestre du site.', |
|
| 78 | - 'calendrier_synchro' => 'Si vous utilisez un logiciel d’agenda compatible <b>iCal</b>, vous pouvez le synchroniser avec les informations de ce site.', |
|
| 79 | - 'config_activer_champs' => 'Activer les champs suivants', |
|
| 80 | - 'config_choix_base_sup' => 'indiquer une base sur ce serveur', |
|
| 81 | - 'config_erreur_base_sup' => 'SPIP n’a pas accès à la liste des bases accessibles', |
|
| 82 | - 'config_info_base_sup' => 'Si vous avez d’autres bases de données à interroger à travers SPIP, avec son serveur SQL ou avec un autre, le formulaire ci-dessous, vous permet de les déclarer. Si vous laissez certains champs vides, les identifiants de connexion à la base principale seront utilisés.', |
|
| 83 | - 'config_info_base_sup_disponibles' => 'Bases supplémentaires déjà interrogeables :', |
|
| 84 | - 'config_info_enregistree' => 'La nouvelle configuration a été enregistrée', |
|
| 85 | - 'config_info_logos' => 'Chaque élément du site peut avoir un logo, ainsi qu’un « logo de survol »', |
|
| 86 | - 'config_info_logos_utiliser' => 'Utiliser les logos', |
|
| 87 | - 'config_info_logos_utiliser_non' => 'Ne pas utiliser les logos', |
|
| 88 | - 'config_info_logos_utiliser_survol' => 'Utiliser les logos de survol', |
|
| 89 | - 'config_info_logos_utiliser_survol_non' => 'Ne pas utiliser les logos de survol', |
|
| 90 | - 'config_info_redirection' => 'En activant cette option, vous pourrez créer des articles virtuels, simples références d’articles publiés sur d’autres sites ou hors de SPIP.', |
|
| 91 | - 'config_redirection' => 'Articles virtuels', |
|
| 92 | - 'config_titre_base_sup' => 'Déclaration d’une base supplémentaire', |
|
| 93 | - 'config_titre_base_sup_choix' => 'Choisissez une base supplémentaire', |
|
| 94 | - 'connexion_ldap' => 'Connexion :', |
|
| 95 | - 'creer_et_associer_un_auteur' => 'Créer et associer une autrice', |
|
| 76 | + // C |
|
| 77 | + 'cache_modifiable_webmestre' => 'Ce paramètre est modifiable par la webmestre du site.', |
|
| 78 | + 'calendrier_synchro' => 'Si vous utilisez un logiciel d’agenda compatible <b>iCal</b>, vous pouvez le synchroniser avec les informations de ce site.', |
|
| 79 | + 'config_activer_champs' => 'Activer les champs suivants', |
|
| 80 | + 'config_choix_base_sup' => 'indiquer une base sur ce serveur', |
|
| 81 | + 'config_erreur_base_sup' => 'SPIP n’a pas accès à la liste des bases accessibles', |
|
| 82 | + 'config_info_base_sup' => 'Si vous avez d’autres bases de données à interroger à travers SPIP, avec son serveur SQL ou avec un autre, le formulaire ci-dessous, vous permet de les déclarer. Si vous laissez certains champs vides, les identifiants de connexion à la base principale seront utilisés.', |
|
| 83 | + 'config_info_base_sup_disponibles' => 'Bases supplémentaires déjà interrogeables :', |
|
| 84 | + 'config_info_enregistree' => 'La nouvelle configuration a été enregistrée', |
|
| 85 | + 'config_info_logos' => 'Chaque élément du site peut avoir un logo, ainsi qu’un « logo de survol »', |
|
| 86 | + 'config_info_logos_utiliser' => 'Utiliser les logos', |
|
| 87 | + 'config_info_logos_utiliser_non' => 'Ne pas utiliser les logos', |
|
| 88 | + 'config_info_logos_utiliser_survol' => 'Utiliser les logos de survol', |
|
| 89 | + 'config_info_logos_utiliser_survol_non' => 'Ne pas utiliser les logos de survol', |
|
| 90 | + 'config_info_redirection' => 'En activant cette option, vous pourrez créer des articles virtuels, simples références d’articles publiés sur d’autres sites ou hors de SPIP.', |
|
| 91 | + 'config_redirection' => 'Articles virtuels', |
|
| 92 | + 'config_titre_base_sup' => 'Déclaration d’une base supplémentaire', |
|
| 93 | + 'config_titre_base_sup_choix' => 'Choisissez une base supplémentaire', |
|
| 94 | + 'connexion_ldap' => 'Connexion :', |
|
| 95 | + 'creer_et_associer_un_auteur' => 'Créer et associer une autrice', |
|
| 96 | 96 | |
| 97 | - // D |
|
| 98 | - 'date_mot_heures' => 'heures', |
|
| 97 | + // D |
|
| 98 | + 'date_mot_heures' => 'heures', |
|
| 99 | 99 | |
| 100 | - // E |
|
| 101 | - 'ecran_connexion_couleur_principale' => 'Couleur principale', |
|
| 102 | - 'ecran_connexion_image_fond' => 'Image de fond', |
|
| 103 | - 'ecran_connexion_image_fond_explication' => 'Utiliser une image (format JPEG, 1920x1080 pixels)', |
|
| 104 | - 'ecran_connexion_image_revenir_couleur_defaut' => 'Revenir à la couleur par défaut', |
|
| 105 | - 'ecran_connexion_titre' => 'Écran de connexion', |
|
| 106 | - 'ecran_securite' => ' + écran de sécurité @version@', |
|
| 107 | - 'email' => 'email', |
|
| 108 | - 'email_2' => 'email :', |
|
| 109 | - 'en_savoir_plus' => 'En savoir plus', |
|
| 110 | - 'entree_adresse_annuaire' => 'Adresse de l’annuaire', |
|
| 111 | - 'entree_adresse_email' => 'Votre adresse email', |
|
| 112 | - 'entree_adresse_email_2' => 'Adresse email', |
|
| 113 | - 'entree_base_donnee_1' => 'Adresse de la base de données', |
|
| 114 | - 'entree_base_donnee_2' => '(Souvent cette adresse correspond à celle de votre site, parfois elle correspond à la mention « localhost », parfois elle est laissée totalement vide.)', |
|
| 115 | - 'entree_biographie' => 'Courte biographie en quelques mots.', |
|
| 116 | - 'entree_chemin_acces' => '<b>Entrer</b> le chemin d’accès :', |
|
| 117 | - 'entree_cle_pgp' => 'Votre clé PGP', |
|
| 118 | - 'entree_cle_pgp_2' => 'Clé PGP', |
|
| 119 | - 'entree_contenu_rubrique' => '(Contenu de la rubrique en quelques mots.)', |
|
| 120 | - 'entree_identifiants_connexion' => 'Vos identifiants de connexion...', |
|
| 121 | - 'entree_identifiants_connexion_2' => 'Identifiants de connexion', |
|
| 122 | - 'entree_informations_connexion_ldap' => 'Veuillez entrer dans ce formulaire les informations de connexion à votre annuaire LDAP. |
|
| 100 | + // E |
|
| 101 | + 'ecran_connexion_couleur_principale' => 'Couleur principale', |
|
| 102 | + 'ecran_connexion_image_fond' => 'Image de fond', |
|
| 103 | + 'ecran_connexion_image_fond_explication' => 'Utiliser une image (format JPEG, 1920x1080 pixels)', |
|
| 104 | + 'ecran_connexion_image_revenir_couleur_defaut' => 'Revenir à la couleur par défaut', |
|
| 105 | + 'ecran_connexion_titre' => 'Écran de connexion', |
|
| 106 | + 'ecran_securite' => ' + écran de sécurité @version@', |
|
| 107 | + 'email' => 'email', |
|
| 108 | + 'email_2' => 'email :', |
|
| 109 | + 'en_savoir_plus' => 'En savoir plus', |
|
| 110 | + 'entree_adresse_annuaire' => 'Adresse de l’annuaire', |
|
| 111 | + 'entree_adresse_email' => 'Votre adresse email', |
|
| 112 | + 'entree_adresse_email_2' => 'Adresse email', |
|
| 113 | + 'entree_base_donnee_1' => 'Adresse de la base de données', |
|
| 114 | + 'entree_base_donnee_2' => '(Souvent cette adresse correspond à celle de votre site, parfois elle correspond à la mention « localhost », parfois elle est laissée totalement vide.)', |
|
| 115 | + 'entree_biographie' => 'Courte biographie en quelques mots.', |
|
| 116 | + 'entree_chemin_acces' => '<b>Entrer</b> le chemin d’accès :', |
|
| 117 | + 'entree_cle_pgp' => 'Votre clé PGP', |
|
| 118 | + 'entree_cle_pgp_2' => 'Clé PGP', |
|
| 119 | + 'entree_contenu_rubrique' => '(Contenu de la rubrique en quelques mots.)', |
|
| 120 | + 'entree_identifiants_connexion' => 'Vos identifiants de connexion...', |
|
| 121 | + 'entree_identifiants_connexion_2' => 'Identifiants de connexion', |
|
| 122 | + 'entree_informations_connexion_ldap' => 'Veuillez entrer dans ce formulaire les informations de connexion à votre annuaire LDAP. |
|
| 123 | 123 | Ces informations doivent pouvoir vous être fournies par l’administratrice du système, |
| 124 | 124 | ou du réseau.', |
| 125 | - 'entree_infos_perso' => 'Qui êtes-vous ?', |
|
| 126 | - 'entree_infos_perso_2' => 'Qui est l’autrice ?', |
|
| 127 | - 'entree_interieur_rubrique' => 'À l’intérieur de la rubrique :', |
|
| 128 | - 'entree_liens_sites' => '<b>Lien hypertexte</b> (référence, site à visiter...)', |
|
| 129 | - 'entree_login' => 'Votre login', |
|
| 130 | - 'entree_login_connexion_1' => 'Le login de connexion', |
|
| 131 | - 'entree_login_connexion_2' => '(Correspond parfois à votre login d’accès au FTP ; parfois laissé vide)', |
|
| 132 | - 'entree_mot_passe' => 'Votre mot de passe', |
|
| 133 | - 'entree_mot_passe_1' => 'Le mot de passe de connexion', |
|
| 134 | - 'entree_mot_passe_2' => '(Correspond parfois à votre mot de passe pour le FTP ; parfois laissé vide)', |
|
| 135 | - 'entree_nom_fichier' => 'Veuillez entrer le nom du fichier @texte_compresse@ :', |
|
| 136 | - 'entree_nom_pseudo' => 'Votre nom ou votre pseudo', |
|
| 137 | - 'entree_nom_pseudo_1' => '(Votre nom ou votre pseudo)', |
|
| 138 | - 'entree_nom_pseudo_2' => 'Nom ou pseudo', |
|
| 139 | - 'entree_nom_site' => 'Le nom de votre site', |
|
| 140 | - 'entree_nom_site_2' => 'Nom du site de l’autrice', |
|
| 141 | - 'entree_nouveau_passe' => 'Nouveau mot de passe', |
|
| 142 | - 'entree_passe_ldap' => 'Mot de passe', |
|
| 143 | - 'entree_port_annuaire' => 'Le numéro de port de l’annuaire', |
|
| 144 | - 'entree_signature' => 'Signature', |
|
| 145 | - 'entree_titre_obligatoire' => '<b>Titre</b> [Obligatoire]<br />', |
|
| 146 | - 'entree_url' => 'L’adresse (URL) de votre site', |
|
| 147 | - 'entree_url_2' => 'Adresse (URL) du site', |
|
| 148 | - 'erreur_connect_deja_existant' => 'Un serveur existe déjà avec ce nom', |
|
| 149 | - 'erreur_contenu_suspect' => 'Texte échappé', |
|
| 150 | - 'erreur_email_deja_existant' => 'Cette adresse email est déjà enregistrée.', |
|
| 151 | - 'erreur_nom_connect_incorrect' => 'Ce nom de serveur n’est pas autorisé', |
|
| 152 | - 'erreur_plugin_attribut_balise_manquant' => 'Attribut @attribut@ manquant dans la balise @balise@.', |
|
| 153 | - 'erreur_plugin_desinstalation_echouee' => 'La désinstallation du plugin a échoué. Vous pouvez néanmoins le désactiver.', |
|
| 154 | - 'erreur_plugin_fichier_absent' => 'Fichier absent', |
|
| 155 | - 'erreur_plugin_fichier_def_absent' => 'Fichier de définition absent', |
|
| 156 | - 'erreur_plugin_nom_fonction_interdit' => 'Nom de fonction interdit', |
|
| 157 | - 'erreur_plugin_nom_manquant' => 'Nom du plugin manquant', |
|
| 158 | - 'erreur_plugin_prefix_manquant' => 'Espace de nommage du plugin non défini', |
|
| 159 | - 'erreur_plugin_tag_plugin_absent' => '<plugin> manquant dans le fichier de définition', |
|
| 160 | - 'erreur_plugin_version_manquant' => 'Version du plugin manquante', |
|
| 161 | - 'erreur_type_fichier' => 'Type de fichier incorrect', |
|
| 125 | + 'entree_infos_perso' => 'Qui êtes-vous ?', |
|
| 126 | + 'entree_infos_perso_2' => 'Qui est l’autrice ?', |
|
| 127 | + 'entree_interieur_rubrique' => 'À l’intérieur de la rubrique :', |
|
| 128 | + 'entree_liens_sites' => '<b>Lien hypertexte</b> (référence, site à visiter...)', |
|
| 129 | + 'entree_login' => 'Votre login', |
|
| 130 | + 'entree_login_connexion_1' => 'Le login de connexion', |
|
| 131 | + 'entree_login_connexion_2' => '(Correspond parfois à votre login d’accès au FTP ; parfois laissé vide)', |
|
| 132 | + 'entree_mot_passe' => 'Votre mot de passe', |
|
| 133 | + 'entree_mot_passe_1' => 'Le mot de passe de connexion', |
|
| 134 | + 'entree_mot_passe_2' => '(Correspond parfois à votre mot de passe pour le FTP ; parfois laissé vide)', |
|
| 135 | + 'entree_nom_fichier' => 'Veuillez entrer le nom du fichier @texte_compresse@ :', |
|
| 136 | + 'entree_nom_pseudo' => 'Votre nom ou votre pseudo', |
|
| 137 | + 'entree_nom_pseudo_1' => '(Votre nom ou votre pseudo)', |
|
| 138 | + 'entree_nom_pseudo_2' => 'Nom ou pseudo', |
|
| 139 | + 'entree_nom_site' => 'Le nom de votre site', |
|
| 140 | + 'entree_nom_site_2' => 'Nom du site de l’autrice', |
|
| 141 | + 'entree_nouveau_passe' => 'Nouveau mot de passe', |
|
| 142 | + 'entree_passe_ldap' => 'Mot de passe', |
|
| 143 | + 'entree_port_annuaire' => 'Le numéro de port de l’annuaire', |
|
| 144 | + 'entree_signature' => 'Signature', |
|
| 145 | + 'entree_titre_obligatoire' => '<b>Titre</b> [Obligatoire]<br />', |
|
| 146 | + 'entree_url' => 'L’adresse (URL) de votre site', |
|
| 147 | + 'entree_url_2' => 'Adresse (URL) du site', |
|
| 148 | + 'erreur_connect_deja_existant' => 'Un serveur existe déjà avec ce nom', |
|
| 149 | + 'erreur_contenu_suspect' => 'Texte échappé', |
|
| 150 | + 'erreur_email_deja_existant' => 'Cette adresse email est déjà enregistrée.', |
|
| 151 | + 'erreur_nom_connect_incorrect' => 'Ce nom de serveur n’est pas autorisé', |
|
| 152 | + 'erreur_plugin_attribut_balise_manquant' => 'Attribut @attribut@ manquant dans la balise @balise@.', |
|
| 153 | + 'erreur_plugin_desinstalation_echouee' => 'La désinstallation du plugin a échoué. Vous pouvez néanmoins le désactiver.', |
|
| 154 | + 'erreur_plugin_fichier_absent' => 'Fichier absent', |
|
| 155 | + 'erreur_plugin_fichier_def_absent' => 'Fichier de définition absent', |
|
| 156 | + 'erreur_plugin_nom_fonction_interdit' => 'Nom de fonction interdit', |
|
| 157 | + 'erreur_plugin_nom_manquant' => 'Nom du plugin manquant', |
|
| 158 | + 'erreur_plugin_prefix_manquant' => 'Espace de nommage du plugin non défini', |
|
| 159 | + 'erreur_plugin_tag_plugin_absent' => '<plugin> manquant dans le fichier de définition', |
|
| 160 | + 'erreur_plugin_version_manquant' => 'Version du plugin manquante', |
|
| 161 | + 'erreur_type_fichier' => 'Type de fichier incorrect', |
|
| 162 | 162 | |
| 163 | - // H |
|
| 164 | - 'htaccess_a_simuler' => 'Avertissement : la configuration de votre serveur HTTP ne tient pas compte des fichiers @htaccess@. Pour pouvoir assurer une bonne sécurité, il faut que vous modifiiez cette configuration sur ce point, ou bien que les constantes @constantes@ (définissables dans le fichier mes_options.php) aient comme valeur des répertoires en dehors de @document_root@.', |
|
| 165 | - 'htaccess_inoperant' => 'htaccess inopérant', |
|
| 163 | + // H |
|
| 164 | + 'htaccess_a_simuler' => 'Avertissement : la configuration de votre serveur HTTP ne tient pas compte des fichiers @htaccess@. Pour pouvoir assurer une bonne sécurité, il faut que vous modifiiez cette configuration sur ce point, ou bien que les constantes @constantes@ (définissables dans le fichier mes_options.php) aient comme valeur des répertoires en dehors de @document_root@.', |
|
| 165 | + 'htaccess_inoperant' => 'htaccess inopérant', |
|
| 166 | 166 | |
| 167 | - // I |
|
| 168 | - 'ical_info1' => 'Cette page présente plusieurs méthodes pour rester en contact avec la vie de ce site.', |
|
| 169 | - 'ical_info2' => 'Pour plus de renseignements sur toutes ces techniques, n’hésitez pas à consulter <a href="@spipnet@">la documentation de SPIP</a>.', |
|
| 170 | - 'ical_info_calendrier' => 'Deux calendriers sont à votre disposition. Le premier est un plan du site annonçant tous les articles publiés. Le second contient les annonces éditoriales ainsi que vos derniers messages privés : il vous est réservé grâce à une clé personnelle, que vous pouvez modifier à tout moment en renouvelant votre mot de passe.', |
|
| 171 | - 'ical_methode_http' => 'Téléchargement', |
|
| 172 | - 'ical_methode_webcal' => 'Synchronisation (webcal://)', |
|
| 173 | - 'ical_texte_js' => 'Une ligne de javascript vous permet d’afficher très simplement, sur n’importe quel site vous appartenant, les articles récents publiés sur ce site.', |
|
| 174 | - 'ical_texte_prive' => 'Ce calendrier, à usage strictement personnel, vous informe de l’activité éditoriale privée de ce site (tâches et rendez-vous personnels, articles et brèves proposés...).', |
|
| 175 | - 'ical_texte_public' => 'Ce calendrier vous permet de suivre l’activité publique de ce site (articles et brèves publiés).', |
|
| 176 | - 'ical_texte_rss' => 'Vous pouvez syndiquer les nouveautés de ce site dans n’importe quel lecteur de fichiers au format XML/RSS (Rich Site Summary). C’est aussi le format qui permet à SPIP de lire les nouveautés publiées sur d’autres sites utilisant un format d’échange compatible (sites syndiqués).', |
|
| 177 | - 'ical_titre_js' => 'Javascript', |
|
| 178 | - 'ical_titre_mailing' => 'Mailing-list', |
|
| 179 | - 'ical_titre_rss' => 'Fichiers de syndication', |
|
| 180 | - 'icone_accueil' => 'Accueil', |
|
| 181 | - 'icone_activer_cookie' => 'Activer le cookie de correspondance', |
|
| 182 | - 'icone_activite' => 'Activité', |
|
| 183 | - 'icone_admin_plugin' => 'Gestion des plugins', |
|
| 184 | - 'icone_administration' => 'Maintenance', |
|
| 185 | - 'icone_afficher_auteurs' => 'Afficher les autrices', |
|
| 186 | - 'icone_afficher_visiteurs' => 'Afficher les visiteuses', |
|
| 187 | - 'icone_arret_discussion' => 'Ne plus participer à cette discussion', |
|
| 188 | - 'icone_calendrier' => 'Calendrier', |
|
| 189 | - 'icone_configuration' => 'Configuration', |
|
| 190 | - 'icone_creer_auteur' => 'Créer une nouvelle autrice et l’associer à cet article', |
|
| 191 | - 'icone_creer_mot_cle' => 'Créer un nouveau mot-clé et le lier à cet article', |
|
| 192 | - 'icone_creer_rubrique_2' => 'Créer une nouvelle rubrique', |
|
| 193 | - 'icone_developpement' => 'Développement', |
|
| 194 | - 'icone_edition' => 'Édition', |
|
| 195 | - 'icone_ma_langue' => 'Ma langue', |
|
| 196 | - 'icone_mes_infos' => 'Mes informations', |
|
| 197 | - 'icone_mes_preferences' => 'Mes préférences', |
|
| 198 | - 'icone_modifier_article' => 'Modifier cet article', |
|
| 199 | - 'icone_modifier_rubrique' => 'Modifier cette rubrique', |
|
| 200 | - 'icone_publication' => 'Publication', |
|
| 201 | - 'icone_relancer_signataire' => 'Relancer la signataire', |
|
| 202 | - 'icone_retour' => 'Retour', |
|
| 203 | - 'icone_retour_article' => 'Retour à l’article', |
|
| 204 | - 'icone_squelette' => 'Squelettes', |
|
| 205 | - 'icone_suivi_publication' => 'Suivi de la publication', |
|
| 206 | - 'icone_supprimer_cookie' => 'Supprimer le cookie de correspondance', |
|
| 207 | - 'icone_supprimer_rubrique' => 'Supprimer cette rubrique', |
|
| 208 | - 'icone_supprimer_signature' => 'Supprimer cette signature', |
|
| 209 | - 'icone_valider_signature' => 'Valider cette signature', |
|
| 210 | - 'image_administrer_rubrique' => 'Vous pouvez administrer cette rubrique', |
|
| 211 | - 'impossible_modifier_login_auteur' => 'Impossible de modifier le login.', |
|
| 212 | - 'impossible_modifier_pass_auteur' => 'Impossible de modifier le mot de passe.', |
|
| 213 | - 'info_1_article' => '1 article', |
|
| 214 | - 'info_1_auteur' => '1 autrice', |
|
| 215 | - 'info_1_message' => '1 message', |
|
| 216 | - 'info_1_mot_cle' => '1 mot-clé', |
|
| 217 | - 'info_1_rubrique' => '1 rubrique', |
|
| 218 | - 'info_1_visiteur' => '1 visiteuse', |
|
| 219 | - 'info_activer_cookie' => 'Vous pouvez activer un <b>cookie de correspondance</b>, ce qui vous |
|
| 167 | + // I |
|
| 168 | + 'ical_info1' => 'Cette page présente plusieurs méthodes pour rester en contact avec la vie de ce site.', |
|
| 169 | + 'ical_info2' => 'Pour plus de renseignements sur toutes ces techniques, n’hésitez pas à consulter <a href="@spipnet@">la documentation de SPIP</a>.', |
|
| 170 | + 'ical_info_calendrier' => 'Deux calendriers sont à votre disposition. Le premier est un plan du site annonçant tous les articles publiés. Le second contient les annonces éditoriales ainsi que vos derniers messages privés : il vous est réservé grâce à une clé personnelle, que vous pouvez modifier à tout moment en renouvelant votre mot de passe.', |
|
| 171 | + 'ical_methode_http' => 'Téléchargement', |
|
| 172 | + 'ical_methode_webcal' => 'Synchronisation (webcal://)', |
|
| 173 | + 'ical_texte_js' => 'Une ligne de javascript vous permet d’afficher très simplement, sur n’importe quel site vous appartenant, les articles récents publiés sur ce site.', |
|
| 174 | + 'ical_texte_prive' => 'Ce calendrier, à usage strictement personnel, vous informe de l’activité éditoriale privée de ce site (tâches et rendez-vous personnels, articles et brèves proposés...).', |
|
| 175 | + 'ical_texte_public' => 'Ce calendrier vous permet de suivre l’activité publique de ce site (articles et brèves publiés).', |
|
| 176 | + 'ical_texte_rss' => 'Vous pouvez syndiquer les nouveautés de ce site dans n’importe quel lecteur de fichiers au format XML/RSS (Rich Site Summary). C’est aussi le format qui permet à SPIP de lire les nouveautés publiées sur d’autres sites utilisant un format d’échange compatible (sites syndiqués).', |
|
| 177 | + 'ical_titre_js' => 'Javascript', |
|
| 178 | + 'ical_titre_mailing' => 'Mailing-list', |
|
| 179 | + 'ical_titre_rss' => 'Fichiers de syndication', |
|
| 180 | + 'icone_accueil' => 'Accueil', |
|
| 181 | + 'icone_activer_cookie' => 'Activer le cookie de correspondance', |
|
| 182 | + 'icone_activite' => 'Activité', |
|
| 183 | + 'icone_admin_plugin' => 'Gestion des plugins', |
|
| 184 | + 'icone_administration' => 'Maintenance', |
|
| 185 | + 'icone_afficher_auteurs' => 'Afficher les autrices', |
|
| 186 | + 'icone_afficher_visiteurs' => 'Afficher les visiteuses', |
|
| 187 | + 'icone_arret_discussion' => 'Ne plus participer à cette discussion', |
|
| 188 | + 'icone_calendrier' => 'Calendrier', |
|
| 189 | + 'icone_configuration' => 'Configuration', |
|
| 190 | + 'icone_creer_auteur' => 'Créer une nouvelle autrice et l’associer à cet article', |
|
| 191 | + 'icone_creer_mot_cle' => 'Créer un nouveau mot-clé et le lier à cet article', |
|
| 192 | + 'icone_creer_rubrique_2' => 'Créer une nouvelle rubrique', |
|
| 193 | + 'icone_developpement' => 'Développement', |
|
| 194 | + 'icone_edition' => 'Édition', |
|
| 195 | + 'icone_ma_langue' => 'Ma langue', |
|
| 196 | + 'icone_mes_infos' => 'Mes informations', |
|
| 197 | + 'icone_mes_preferences' => 'Mes préférences', |
|
| 198 | + 'icone_modifier_article' => 'Modifier cet article', |
|
| 199 | + 'icone_modifier_rubrique' => 'Modifier cette rubrique', |
|
| 200 | + 'icone_publication' => 'Publication', |
|
| 201 | + 'icone_relancer_signataire' => 'Relancer la signataire', |
|
| 202 | + 'icone_retour' => 'Retour', |
|
| 203 | + 'icone_retour_article' => 'Retour à l’article', |
|
| 204 | + 'icone_squelette' => 'Squelettes', |
|
| 205 | + 'icone_suivi_publication' => 'Suivi de la publication', |
|
| 206 | + 'icone_supprimer_cookie' => 'Supprimer le cookie de correspondance', |
|
| 207 | + 'icone_supprimer_rubrique' => 'Supprimer cette rubrique', |
|
| 208 | + 'icone_supprimer_signature' => 'Supprimer cette signature', |
|
| 209 | + 'icone_valider_signature' => 'Valider cette signature', |
|
| 210 | + 'image_administrer_rubrique' => 'Vous pouvez administrer cette rubrique', |
|
| 211 | + 'impossible_modifier_login_auteur' => 'Impossible de modifier le login.', |
|
| 212 | + 'impossible_modifier_pass_auteur' => 'Impossible de modifier le mot de passe.', |
|
| 213 | + 'info_1_article' => '1 article', |
|
| 214 | + 'info_1_auteur' => '1 autrice', |
|
| 215 | + 'info_1_message' => '1 message', |
|
| 216 | + 'info_1_mot_cle' => '1 mot-clé', |
|
| 217 | + 'info_1_rubrique' => '1 rubrique', |
|
| 218 | + 'info_1_visiteur' => '1 visiteuse', |
|
| 219 | + 'info_activer_cookie' => 'Vous pouvez activer un <b>cookie de correspondance</b>, ce qui vous |
|
| 220 | 220 | permettra de passer facilement du site public au site privé.', |
| 221 | - 'info_activer_menu_developpement' => 'Afficher le menu Développement', |
|
| 222 | - 'info_admin_etre_webmestre' => 'Me donner les droits de webmestre', |
|
| 223 | - 'info_admin_je_suis_webmestre' => 'Je suis <b>webmestre</b>', |
|
| 224 | - 'info_admin_statuer_webmestre' => 'Donner à cette administratrice les droits de webmestre', |
|
| 225 | - 'info_admin_webmestre' => 'Cette administratrice est <b>webmestre</b>', |
|
| 226 | - 'info_administrateur' => 'Administratrice', |
|
| 227 | - 'info_administrateur_1' => 'Administratrice', |
|
| 228 | - 'info_administrateur_2' => 'du site (<i>utilisez avec précaution</i>)', |
|
| 229 | - 'info_administrateur_site_01' => 'Si vous êtes administratrice du site, veuillez', |
|
| 230 | - 'info_administrateur_site_02' => 'cliquer sur ce lien', |
|
| 231 | - 'info_administrateurs' => 'Administratrices', |
|
| 232 | - 'info_administrer_rubrique' => 'Vous pouvez administrer cette rubrique', |
|
| 233 | - 'info_adresse' => 'à l’adresse :', |
|
| 234 | - 'info_adresse_desinscription' => 'Adresse de désinscription :', |
|
| 235 | - 'info_adresse_url' => 'Adresse (URL) du site public', |
|
| 236 | - 'info_afficher_par_nb' => 'Afficher par', |
|
| 237 | - 'info_aide_en_ligne' => 'Aide en ligne SPIP', |
|
| 238 | - 'info_ajout_image' => 'Lorsque vous ajoutez des images en tant que documents joints à un article, |
|
| 221 | + 'info_activer_menu_developpement' => 'Afficher le menu Développement', |
|
| 222 | + 'info_admin_etre_webmestre' => 'Me donner les droits de webmestre', |
|
| 223 | + 'info_admin_je_suis_webmestre' => 'Je suis <b>webmestre</b>', |
|
| 224 | + 'info_admin_statuer_webmestre' => 'Donner à cette administratrice les droits de webmestre', |
|
| 225 | + 'info_admin_webmestre' => 'Cette administratrice est <b>webmestre</b>', |
|
| 226 | + 'info_administrateur' => 'Administratrice', |
|
| 227 | + 'info_administrateur_1' => 'Administratrice', |
|
| 228 | + 'info_administrateur_2' => 'du site (<i>utilisez avec précaution</i>)', |
|
| 229 | + 'info_administrateur_site_01' => 'Si vous êtes administratrice du site, veuillez', |
|
| 230 | + 'info_administrateur_site_02' => 'cliquer sur ce lien', |
|
| 231 | + 'info_administrateurs' => 'Administratrices', |
|
| 232 | + 'info_administrer_rubrique' => 'Vous pouvez administrer cette rubrique', |
|
| 233 | + 'info_adresse' => 'à l’adresse :', |
|
| 234 | + 'info_adresse_desinscription' => 'Adresse de désinscription :', |
|
| 235 | + 'info_adresse_url' => 'Adresse (URL) du site public', |
|
| 236 | + 'info_afficher_par_nb' => 'Afficher par', |
|
| 237 | + 'info_aide_en_ligne' => 'Aide en ligne SPIP', |
|
| 238 | + 'info_ajout_image' => 'Lorsque vous ajoutez des images en tant que documents joints à un article, |
|
| 239 | 239 | SPIP peut créer pour vous, automatiquement, des vignettes (miniatures) des |
| 240 | 240 | images insérées. Cela permet par exemple de créer |
| 241 | 241 | automatiquement une galerie ou un portfolio.', |
| 242 | - 'info_ajouter_rubrique' => 'Ajouter une autre rubrique à administrer :', |
|
| 243 | - 'info_annonce_nouveautes' => 'Annonce des nouveautés', |
|
| 244 | - 'info_article' => 'article', |
|
| 245 | - 'info_article_2' => 'articles', |
|
| 246 | - 'info_article_a_paraitre' => 'Les articles post-datés à paraître', |
|
| 247 | - 'info_articles_02' => 'articles', |
|
| 248 | - 'info_articles_2' => 'Articles', |
|
| 249 | - 'info_articles_auteur' => 'Les articles de cette autrice', |
|
| 250 | - 'info_articles_miens' => 'Mes articles', |
|
| 251 | - 'info_articles_tous' => 'Tous les articles', |
|
| 252 | - 'info_articles_trouves' => 'Articles trouvés', |
|
| 253 | - 'info_attente_validation' => 'Vos articles en attente de validation', |
|
| 254 | - 'info_aucun_article' => 'Aucun article', |
|
| 255 | - 'info_aucun_auteur' => 'Aucune autrice', |
|
| 256 | - 'info_aucun_message' => 'Aucun message', |
|
| 257 | - 'info_aucun_rubrique' => 'Aucune rubrique', |
|
| 258 | - 'info_aujourdhui' => 'aujourd’hui :', |
|
| 259 | - 'info_auteur_gere_rubriques' => 'Cette autrice gère les rubriques suivantes :', |
|
| 260 | - 'info_auteur_gere_toutes_rubriques' => 'Cette autrice gère <b>toutes les rubriques</b>', |
|
| 261 | - 'info_auteur_gere_toutes_rubriques_2' => 'Je gère <b>toutes les rubriques</b>', |
|
| 262 | - 'info_auteurs' => 'Les autrices', |
|
| 263 | - 'info_auteurs_par_tri' => 'Autrices@partri@', |
|
| 264 | - 'info_auteurs_trouves' => 'Autrices trouvées', |
|
| 265 | - 'info_authentification_externe' => 'Authentification externe', |
|
| 266 | - 'info_avertissement' => 'Avertissement', |
|
| 267 | - 'info_barre_outils' => 'avec sa barre d’outils ?', |
|
| 268 | - 'info_base_installee' => 'La structure de votre base de données est installée.', |
|
| 269 | - 'info_bio' => 'Biographie', |
|
| 270 | - 'info_cache_desactive' => 'Le cache est temporairement désactivé.', |
|
| 271 | - 'info_chapeau' => 'Chapeau', |
|
| 272 | - 'info_chapeau_2' => 'Chapeau :', |
|
| 273 | - 'info_chemin_acces_1' => 'Options : <b>Chemin d’accès dans l’annuaire</b>', |
|
| 274 | - 'info_chemin_acces_2' => 'Vous devez désormais configurer le chemin d’accès aux informations dans l’annuaire. Cette information est indispensable pour lire les profils utilisatrices stockés dans l’annuaire.', |
|
| 275 | - 'info_chemin_acces_annuaire' => 'Options : <b>Chemin d’accès dans l’annuaire</b>', |
|
| 276 | - 'info_choix_base' => 'Troisième étape :', |
|
| 277 | - 'info_classement_1' => '<sup>er</sup> sur @liste@', |
|
| 278 | - 'info_classement_2' => '<sup>e</sup> sur @liste@', |
|
| 279 | - 'info_code_acces' => 'N’oubliez pas vos propres codes d’accès !', |
|
| 280 | - 'info_config_suivi' => 'Si cette adresse correspond à une mailing-list, vous pouvez indiquer ci-dessous l’adresse à laquelle les participantes au site peuvent s’inscrire. Cette adresse peut être une URL (par exemple la page d’inscription à la liste par le Web), ou une adresse email dotée d’un sujet spécifique (par exemple : <tt>@adresse_suivi@?subject=subscribe</tt>) :', |
|
| 281 | - 'info_config_suivi_explication' => 'Vous pouvez vous abonner à la mailing-list de ce site. Vous recevrez alors par courrier électronique les annonces d’articles et de brèves proposés à la publication.', |
|
| 282 | - 'info_confirmer_passe' => 'Confirmer ce nouveau mot de passe :', |
|
| 283 | - 'info_conflit_edition_avis_non_sauvegarde' => 'Attention, les champs suivants ont été modifiés par ailleurs. Vos modifications sur ces champs n’ont donc pas été enregistrées.', |
|
| 284 | - 'info_conflit_edition_differences' => 'Différences :', |
|
| 285 | - 'info_conflit_edition_version_enregistree' => 'La version enregistrée :', |
|
| 286 | - 'info_conflit_edition_votre_version' => 'Votre version :', |
|
| 287 | - 'info_connexion_base' => 'Essai de connexion à la base', |
|
| 288 | - 'info_connexion_base_donnee' => 'Connexion à votre base de données', |
|
| 289 | - 'info_connexion_ldap_ok' => '<b>La connexion LDAP a réussi.</b><p> Vous pouvez passer à l’étape suivante.</p>', |
|
| 290 | - 'info_connexion_mysql' => 'Votre connexion SQL', |
|
| 291 | - 'info_connexion_ok' => 'La connexion a réussi.', |
|
| 292 | - 'info_contact' => 'Contact', |
|
| 293 | - 'info_contenu_articles' => 'Contenu des articles', |
|
| 294 | - 'info_contributions' => 'Contributions', |
|
| 295 | - 'info_creation_paragraphe' => 'Pour créer des paragraphes, laissez simplement des lignes vides.', |
|
| 296 | - 'info_creation_rubrique' => 'Avant de pouvoir écrire des articles,<br /> vous devez créer au moins une rubrique.<br />', |
|
| 297 | - 'info_creation_tables' => 'Création des tables de la base', |
|
| 298 | - 'info_creer_base' => '<b>Créer</b> une nouvelle base de données :', |
|
| 299 | - 'info_dans_rubrique' => 'Dans la rubrique :', |
|
| 300 | - 'info_date_publication_anterieure' => 'Date de rédaction antérieure :', |
|
| 301 | - 'info_date_referencement' => 'DATE DE RÉFÉRENCEMENT DE CE SITE :', |
|
| 302 | - 'info_derniere_etape' => 'C’est terminé !', |
|
| 303 | - 'info_descriptif' => 'Descriptif :', |
|
| 304 | - 'info_desinstaller_plugin' => 'supprime les données et désactive le plugin', |
|
| 305 | - 'info_discussion_cours' => 'Discussions en cours', |
|
| 306 | - 'info_ecrire_article' => 'Avant de pouvoir écrire des articles, vous devez créer au moins une rubrique.', |
|
| 307 | - 'info_email_envoi' => 'Adresse email d’envoi (optionnel)', |
|
| 308 | - 'info_email_envoi_txt' => 'Indiquez ici l’adresse à utiliser pour envoyer les emails (à défaut, l’adresse destinataire sera utilisée comme adresse d’envoi) :', |
|
| 309 | - 'info_email_webmestre' => 'Adresse e-mail de la webmestre', |
|
| 310 | - 'info_envoi_email_automatique' => 'Envoi de mails automatique', |
|
| 311 | - 'info_envoyer_maintenant' => 'Envoyer maintenant', |
|
| 312 | - 'info_etape_suivante' => 'Passer à l’étape suivante', |
|
| 313 | - 'info_etape_suivante_1' => 'Vous pouvez passer à l’étape suivante.', |
|
| 314 | - 'info_etape_suivante_2' => 'Vous pouvez passer à l’étape suivante.', |
|
| 315 | - 'info_exceptions_proxy' => 'Exceptions pour le proxy', |
|
| 316 | - 'info_exportation_base' => 'exportation de la base vers @archive@', |
|
| 317 | - 'info_facilite_suivi_activite' => 'Afin de faciliter le suivi de l’activité |
|
| 242 | + 'info_ajouter_rubrique' => 'Ajouter une autre rubrique à administrer :', |
|
| 243 | + 'info_annonce_nouveautes' => 'Annonce des nouveautés', |
|
| 244 | + 'info_article' => 'article', |
|
| 245 | + 'info_article_2' => 'articles', |
|
| 246 | + 'info_article_a_paraitre' => 'Les articles post-datés à paraître', |
|
| 247 | + 'info_articles_02' => 'articles', |
|
| 248 | + 'info_articles_2' => 'Articles', |
|
| 249 | + 'info_articles_auteur' => 'Les articles de cette autrice', |
|
| 250 | + 'info_articles_miens' => 'Mes articles', |
|
| 251 | + 'info_articles_tous' => 'Tous les articles', |
|
| 252 | + 'info_articles_trouves' => 'Articles trouvés', |
|
| 253 | + 'info_attente_validation' => 'Vos articles en attente de validation', |
|
| 254 | + 'info_aucun_article' => 'Aucun article', |
|
| 255 | + 'info_aucun_auteur' => 'Aucune autrice', |
|
| 256 | + 'info_aucun_message' => 'Aucun message', |
|
| 257 | + 'info_aucun_rubrique' => 'Aucune rubrique', |
|
| 258 | + 'info_aujourdhui' => 'aujourd’hui :', |
|
| 259 | + 'info_auteur_gere_rubriques' => 'Cette autrice gère les rubriques suivantes :', |
|
| 260 | + 'info_auteur_gere_toutes_rubriques' => 'Cette autrice gère <b>toutes les rubriques</b>', |
|
| 261 | + 'info_auteur_gere_toutes_rubriques_2' => 'Je gère <b>toutes les rubriques</b>', |
|
| 262 | + 'info_auteurs' => 'Les autrices', |
|
| 263 | + 'info_auteurs_par_tri' => 'Autrices@partri@', |
|
| 264 | + 'info_auteurs_trouves' => 'Autrices trouvées', |
|
| 265 | + 'info_authentification_externe' => 'Authentification externe', |
|
| 266 | + 'info_avertissement' => 'Avertissement', |
|
| 267 | + 'info_barre_outils' => 'avec sa barre d’outils ?', |
|
| 268 | + 'info_base_installee' => 'La structure de votre base de données est installée.', |
|
| 269 | + 'info_bio' => 'Biographie', |
|
| 270 | + 'info_cache_desactive' => 'Le cache est temporairement désactivé.', |
|
| 271 | + 'info_chapeau' => 'Chapeau', |
|
| 272 | + 'info_chapeau_2' => 'Chapeau :', |
|
| 273 | + 'info_chemin_acces_1' => 'Options : <b>Chemin d’accès dans l’annuaire</b>', |
|
| 274 | + 'info_chemin_acces_2' => 'Vous devez désormais configurer le chemin d’accès aux informations dans l’annuaire. Cette information est indispensable pour lire les profils utilisatrices stockés dans l’annuaire.', |
|
| 275 | + 'info_chemin_acces_annuaire' => 'Options : <b>Chemin d’accès dans l’annuaire</b>', |
|
| 276 | + 'info_choix_base' => 'Troisième étape :', |
|
| 277 | + 'info_classement_1' => '<sup>er</sup> sur @liste@', |
|
| 278 | + 'info_classement_2' => '<sup>e</sup> sur @liste@', |
|
| 279 | + 'info_code_acces' => 'N’oubliez pas vos propres codes d’accès !', |
|
| 280 | + 'info_config_suivi' => 'Si cette adresse correspond à une mailing-list, vous pouvez indiquer ci-dessous l’adresse à laquelle les participantes au site peuvent s’inscrire. Cette adresse peut être une URL (par exemple la page d’inscription à la liste par le Web), ou une adresse email dotée d’un sujet spécifique (par exemple : <tt>@adresse_suivi@?subject=subscribe</tt>) :', |
|
| 281 | + 'info_config_suivi_explication' => 'Vous pouvez vous abonner à la mailing-list de ce site. Vous recevrez alors par courrier électronique les annonces d’articles et de brèves proposés à la publication.', |
|
| 282 | + 'info_confirmer_passe' => 'Confirmer ce nouveau mot de passe :', |
|
| 283 | + 'info_conflit_edition_avis_non_sauvegarde' => 'Attention, les champs suivants ont été modifiés par ailleurs. Vos modifications sur ces champs n’ont donc pas été enregistrées.', |
|
| 284 | + 'info_conflit_edition_differences' => 'Différences :', |
|
| 285 | + 'info_conflit_edition_version_enregistree' => 'La version enregistrée :', |
|
| 286 | + 'info_conflit_edition_votre_version' => 'Votre version :', |
|
| 287 | + 'info_connexion_base' => 'Essai de connexion à la base', |
|
| 288 | + 'info_connexion_base_donnee' => 'Connexion à votre base de données', |
|
| 289 | + 'info_connexion_ldap_ok' => '<b>La connexion LDAP a réussi.</b><p> Vous pouvez passer à l’étape suivante.</p>', |
|
| 290 | + 'info_connexion_mysql' => 'Votre connexion SQL', |
|
| 291 | + 'info_connexion_ok' => 'La connexion a réussi.', |
|
| 292 | + 'info_contact' => 'Contact', |
|
| 293 | + 'info_contenu_articles' => 'Contenu des articles', |
|
| 294 | + 'info_contributions' => 'Contributions', |
|
| 295 | + 'info_creation_paragraphe' => 'Pour créer des paragraphes, laissez simplement des lignes vides.', |
|
| 296 | + 'info_creation_rubrique' => 'Avant de pouvoir écrire des articles,<br /> vous devez créer au moins une rubrique.<br />', |
|
| 297 | + 'info_creation_tables' => 'Création des tables de la base', |
|
| 298 | + 'info_creer_base' => '<b>Créer</b> une nouvelle base de données :', |
|
| 299 | + 'info_dans_rubrique' => 'Dans la rubrique :', |
|
| 300 | + 'info_date_publication_anterieure' => 'Date de rédaction antérieure :', |
|
| 301 | + 'info_date_referencement' => 'DATE DE RÉFÉRENCEMENT DE CE SITE :', |
|
| 302 | + 'info_derniere_etape' => 'C’est terminé !', |
|
| 303 | + 'info_descriptif' => 'Descriptif :', |
|
| 304 | + 'info_desinstaller_plugin' => 'supprime les données et désactive le plugin', |
|
| 305 | + 'info_discussion_cours' => 'Discussions en cours', |
|
| 306 | + 'info_ecrire_article' => 'Avant de pouvoir écrire des articles, vous devez créer au moins une rubrique.', |
|
| 307 | + 'info_email_envoi' => 'Adresse email d’envoi (optionnel)', |
|
| 308 | + 'info_email_envoi_txt' => 'Indiquez ici l’adresse à utiliser pour envoyer les emails (à défaut, l’adresse destinataire sera utilisée comme adresse d’envoi) :', |
|
| 309 | + 'info_email_webmestre' => 'Adresse e-mail de la webmestre', |
|
| 310 | + 'info_envoi_email_automatique' => 'Envoi de mails automatique', |
|
| 311 | + 'info_envoyer_maintenant' => 'Envoyer maintenant', |
|
| 312 | + 'info_etape_suivante' => 'Passer à l’étape suivante', |
|
| 313 | + 'info_etape_suivante_1' => 'Vous pouvez passer à l’étape suivante.', |
|
| 314 | + 'info_etape_suivante_2' => 'Vous pouvez passer à l’étape suivante.', |
|
| 315 | + 'info_exceptions_proxy' => 'Exceptions pour le proxy', |
|
| 316 | + 'info_exportation_base' => 'exportation de la base vers @archive@', |
|
| 317 | + 'info_facilite_suivi_activite' => 'Afin de faciliter le suivi de l’activité |
|
| 318 | 318 | éditoriale du site, SPIP peut faire parvenir par mail, par exemple |
| 319 | 319 | à une mailing-list des rédactrices, l’annonce des demandes de |
| 320 | 320 | publication et des validations d’articles.', |
| 321 | - 'info_fichiers_authent' => 'Fichiers d’authentification « .htpasswd »', |
|
| 322 | - 'info_forums_abo_invites' => 'Votre site comporte des forums sur abonnement ; les visiteuses sont donc invitées à s’enregistrer sur le site public.', |
|
| 323 | - 'info_gauche_admin_tech' => '<b>Cette page est uniquement accessible aux responsables du site.</b><p> Elle donne accès aux différentes |
|
| 321 | + 'info_fichiers_authent' => 'Fichiers d’authentification « .htpasswd »', |
|
| 322 | + 'info_forums_abo_invites' => 'Votre site comporte des forums sur abonnement ; les visiteuses sont donc invitées à s’enregistrer sur le site public.', |
|
| 323 | + 'info_gauche_admin_tech' => '<b>Cette page est uniquement accessible aux responsables du site.</b><p> Elle donne accès aux différentes |
|
| 324 | 324 | fonctions de maintenance technique. Certaines d’entre elles donnent lieu à un processus d’authentification spécifique, qui |
| 325 | 325 | exige d’avoir un accès FTP au site Web.</p>', |
| 326 | - 'info_gauche_admin_vider' => '<b>Cette page est uniquement accessible aux responsables du site.</b><p> Elle donne accès aux différentes |
|
| 326 | + 'info_gauche_admin_vider' => '<b>Cette page est uniquement accessible aux responsables du site.</b><p> Elle donne accès aux différentes |
|
| 327 | 327 | fonctions de maintenance technique. Certaines d’entre elles donnent lieu à un processus d’authentification spécifique, qui |
| 328 | 328 | exige d’avoir un accès FTP au site Web.</p>', |
| 329 | - 'info_gauche_auteurs' => 'Vous trouverez ici toutes les autrices du site. |
|
| 329 | + 'info_gauche_auteurs' => 'Vous trouverez ici toutes les autrices du site. |
|
| 330 | 330 | Leur statut est indiqué par la couleur de leur icone (administratrice = vert ; rédactrice = jaune).', |
| 331 | - 'info_gauche_auteurs_exterieurs' => 'Les autrices extérieures, sans accès au site, sont indiquées par une icone bleue ; |
|
| 331 | + 'info_gauche_auteurs_exterieurs' => 'Les autrices extérieures, sans accès au site, sont indiquées par une icone bleue ; |
|
| 332 | 332 | les autrices effacées par une icone grise.', |
| 333 | - 'info_gauche_messagerie' => 'La messagerie vous permet d’échanger des messages entre rédactrices, de conserver des pense-bêtes (pour votre usage personnel) ou d’afficher des annonces sur la page d’accueil de l’espace privé (si vous êtes administratrice).', |
|
| 334 | - 'info_gauche_statistiques_referers' => 'Cette page présente la liste des <i>referers</i>, c’est-à-dire des sites contenant des liens menant vers votre propre site, uniquement pour hier et aujourd’hui ; cette liste est remise à zéro toutes les 24 heures.', |
|
| 335 | - 'info_gauche_visiteurs_enregistres' => 'Vous trouverez ici les visiteuses enregistrées |
|
| 333 | + 'info_gauche_messagerie' => 'La messagerie vous permet d’échanger des messages entre rédactrices, de conserver des pense-bêtes (pour votre usage personnel) ou d’afficher des annonces sur la page d’accueil de l’espace privé (si vous êtes administratrice).', |
|
| 334 | + 'info_gauche_statistiques_referers' => 'Cette page présente la liste des <i>referers</i>, c’est-à-dire des sites contenant des liens menant vers votre propre site, uniquement pour hier et aujourd’hui ; cette liste est remise à zéro toutes les 24 heures.', |
|
| 335 | + 'info_gauche_visiteurs_enregistres' => 'Vous trouverez ici les visiteuses enregistrées |
|
| 336 | 336 | dans l’espace public du site (forums sur abonnement).', |
| 337 | - 'info_generation_miniatures_images' => 'Génération de miniatures des images', |
|
| 338 | - 'info_gerer_trad_objets' => '@objets@ : gérer les liens de traduction', |
|
| 339 | - 'info_hebergeur_desactiver_envoi_email' => 'Certains hébergeurs désactivent l’envoi automatique de |
|
| 337 | + 'info_generation_miniatures_images' => 'Génération de miniatures des images', |
|
| 338 | + 'info_gerer_trad_objets' => '@objets@ : gérer les liens de traduction', |
|
| 339 | + 'info_hebergeur_desactiver_envoi_email' => 'Certains hébergeurs désactivent l’envoi automatique de |
|
| 340 | 340 | mails depuis leurs serveurs. Dans ce cas, les fonctionnalités suivantes |
| 341 | 341 | de SPIP ne fonctionneront pas.', |
| 342 | - 'info_hier' => 'hier :', |
|
| 343 | - 'info_identification_publique' => 'Votre identité publique...', |
|
| 344 | - 'info_image_process' => 'Veuillez sélectionner la meilleure méthode de fabrication des vignettes en cliquant sur l’image correspondante.', |
|
| 345 | - 'info_image_process2' => 'Si aucune image n’apparaît, alors le serveur qui héberge votre site n’a pas été configuré pour utiliser de tels outils. Si vous souhaitez utiliser ces fonctions, contactez la responsable technique et demandez les extensions « GD » ou « Imagick ».', |
|
| 346 | - 'info_images_auto' => 'Images calculées automatiquement', |
|
| 347 | - 'info_informations_personnelles' => 'Informations personnelles', |
|
| 348 | - 'info_inscription' => 'Inscription le', |
|
| 349 | - 'info_inscription_automatique' => 'Inscription automatique de nouvelles rédactrices', |
|
| 350 | - 'info_jeu_caractere' => 'Jeu de caractères du site', |
|
| 351 | - 'info_jours' => 'jours', |
|
| 352 | - 'info_laisser_champs_vides' => 'laisser ces champs vides)', |
|
| 353 | - 'info_langues' => 'Langues du site', |
|
| 354 | - 'info_ldap_ok' => 'L’authentification LDAP est installée.', |
|
| 355 | - 'info_lien_hypertexte' => 'Lien hypertexte :', |
|
| 356 | - 'info_liste_nouveautes_envoyee' => 'La liste des nouveautés a été envoyée', |
|
| 357 | - 'info_liste_redacteurs_connectes' => 'Liste des rédactrices connectées', |
|
| 358 | - 'info_login_existant' => 'Ce login existe déjà.', |
|
| 359 | - 'info_login_trop_court' => 'Login trop court.', |
|
| 360 | - 'info_login_trop_court_car_pluriel' => 'Le login doit contenir au moins @nb@ caractères.', |
|
| 361 | - 'info_logos' => 'Les logos', |
|
| 362 | - 'info_maximum' => 'maximum :', |
|
| 363 | - 'info_meme_rubrique' => 'Dans la même rubrique', |
|
| 364 | - 'info_message_en_redaction' => 'Vos messages en cours de rédaction', |
|
| 365 | - 'info_message_technique' => 'Message technique :', |
|
| 366 | - 'info_messagerie_interne' => 'Messagerie interne', |
|
| 367 | - 'info_mise_a_niveau_base' => 'mise à niveau de votre base SQL', |
|
| 368 | - 'info_mise_a_niveau_base_2' => '{{Attention !}} Vous avez installé une version |
|
| 342 | + 'info_hier' => 'hier :', |
|
| 343 | + 'info_identification_publique' => 'Votre identité publique...', |
|
| 344 | + 'info_image_process' => 'Veuillez sélectionner la meilleure méthode de fabrication des vignettes en cliquant sur l’image correspondante.', |
|
| 345 | + 'info_image_process2' => 'Si aucune image n’apparaît, alors le serveur qui héberge votre site n’a pas été configuré pour utiliser de tels outils. Si vous souhaitez utiliser ces fonctions, contactez la responsable technique et demandez les extensions « GD » ou « Imagick ».', |
|
| 346 | + 'info_images_auto' => 'Images calculées automatiquement', |
|
| 347 | + 'info_informations_personnelles' => 'Informations personnelles', |
|
| 348 | + 'info_inscription' => 'Inscription le', |
|
| 349 | + 'info_inscription_automatique' => 'Inscription automatique de nouvelles rédactrices', |
|
| 350 | + 'info_jeu_caractere' => 'Jeu de caractères du site', |
|
| 351 | + 'info_jours' => 'jours', |
|
| 352 | + 'info_laisser_champs_vides' => 'laisser ces champs vides)', |
|
| 353 | + 'info_langues' => 'Langues du site', |
|
| 354 | + 'info_ldap_ok' => 'L’authentification LDAP est installée.', |
|
| 355 | + 'info_lien_hypertexte' => 'Lien hypertexte :', |
|
| 356 | + 'info_liste_nouveautes_envoyee' => 'La liste des nouveautés a été envoyée', |
|
| 357 | + 'info_liste_redacteurs_connectes' => 'Liste des rédactrices connectées', |
|
| 358 | + 'info_login_existant' => 'Ce login existe déjà.', |
|
| 359 | + 'info_login_trop_court' => 'Login trop court.', |
|
| 360 | + 'info_login_trop_court_car_pluriel' => 'Le login doit contenir au moins @nb@ caractères.', |
|
| 361 | + 'info_logos' => 'Les logos', |
|
| 362 | + 'info_maximum' => 'maximum :', |
|
| 363 | + 'info_meme_rubrique' => 'Dans la même rubrique', |
|
| 364 | + 'info_message_en_redaction' => 'Vos messages en cours de rédaction', |
|
| 365 | + 'info_message_technique' => 'Message technique :', |
|
| 366 | + 'info_messagerie_interne' => 'Messagerie interne', |
|
| 367 | + 'info_mise_a_niveau_base' => 'mise à niveau de votre base SQL', |
|
| 368 | + 'info_mise_a_niveau_base_2' => '{{Attention !}} Vous avez installé une version |
|
| 369 | 369 | des fichiers SPIP {antérieure} à celle qui se trouvait |
| 370 | 370 | auparavant sur ce site : votre base de données risque d’être |
| 371 | 371 | perdue et votre site ne fonctionnera plus.<br />{{Réinstallez les |
| 372 | 372 | fichiers de SPIP.}}', |
| 373 | - 'info_modification_enregistree' => 'Votre modification a été enregistrée', |
|
| 374 | - 'info_modifier_auteur' => 'Modifier l’autrice :', |
|
| 375 | - 'info_modifier_rubrique' => 'Modifier la rubrique :', |
|
| 376 | - 'info_modifier_titre' => 'Modifier : @titre@', |
|
| 377 | - 'info_mon_site_spip' => 'Mon site SPIP', |
|
| 378 | - 'info_moyenne' => 'moyenne :', |
|
| 379 | - 'info_multi_cet_article' => 'Langue de cet article :', |
|
| 380 | - 'info_multi_langues_choisies' => 'Veuillez sélectionner ci-après les langues à disposition des rédactrices de votre site. |
|
| 373 | + 'info_modification_enregistree' => 'Votre modification a été enregistrée', |
|
| 374 | + 'info_modifier_auteur' => 'Modifier l’autrice :', |
|
| 375 | + 'info_modifier_rubrique' => 'Modifier la rubrique :', |
|
| 376 | + 'info_modifier_titre' => 'Modifier : @titre@', |
|
| 377 | + 'info_mon_site_spip' => 'Mon site SPIP', |
|
| 378 | + 'info_moyenne' => 'moyenne :', |
|
| 379 | + 'info_multi_cet_article' => 'Langue de cet article :', |
|
| 380 | + 'info_multi_langues_choisies' => 'Veuillez sélectionner ci-après les langues à disposition des rédactrices de votre site. |
|
| 381 | 381 | Les langues déjà utilisées dans votre site (affichées en premier) ne peuvent pas être désactivées.', |
| 382 | - 'info_multi_objets' => '@objets@ : activer le menu de langue', |
|
| 383 | - 'info_multi_secteurs' => '... seulement pour les rubriques situées à la racine ?', |
|
| 384 | - 'info_nb_articles' => '@nb@ articles', |
|
| 385 | - 'info_nb_auteurs' => '@nb@ autrices', |
|
| 386 | - 'info_nb_messages' => '@nb@ messages', |
|
| 387 | - 'info_nb_mots_cles' => '@nb@ mots-clés', |
|
| 388 | - 'info_nb_rubriques' => '@nb@ rubriques', |
|
| 389 | - 'info_nb_visiteurs' => '@nb@ visiteuses', |
|
| 390 | - 'info_nom' => 'Nom', |
|
| 391 | - 'info_nom_destinataire' => 'Nom de la destinataire', |
|
| 392 | - 'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés', |
|
| 393 | - 'info_nom_site' => 'Nom de votre site', |
|
| 394 | - 'info_nombre_articles' => '@nb_articles@ articles,', |
|
| 395 | - 'info_nombre_rubriques' => '@nb_rubriques@ rubriques,', |
|
| 396 | - 'info_nombre_sites' => '@nb_sites@ sites,', |
|
| 397 | - 'info_non_deplacer' => 'Ne pas déplacer...', |
|
| 398 | - 'info_non_envoi_annonce_dernieres_nouveautes' => 'SPIP peut envoyer, régulièrement, l’annonce des dernières nouveautés du site |
|
| 382 | + 'info_multi_objets' => '@objets@ : activer le menu de langue', |
|
| 383 | + 'info_multi_secteurs' => '... seulement pour les rubriques situées à la racine ?', |
|
| 384 | + 'info_nb_articles' => '@nb@ articles', |
|
| 385 | + 'info_nb_auteurs' => '@nb@ autrices', |
|
| 386 | + 'info_nb_messages' => '@nb@ messages', |
|
| 387 | + 'info_nb_mots_cles' => '@nb@ mots-clés', |
|
| 388 | + 'info_nb_rubriques' => '@nb@ rubriques', |
|
| 389 | + 'info_nb_visiteurs' => '@nb@ visiteuses', |
|
| 390 | + 'info_nom' => 'Nom', |
|
| 391 | + 'info_nom_destinataire' => 'Nom de la destinataire', |
|
| 392 | + 'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés', |
|
| 393 | + 'info_nom_site' => 'Nom de votre site', |
|
| 394 | + 'info_nombre_articles' => '@nb_articles@ articles,', |
|
| 395 | + 'info_nombre_rubriques' => '@nb_rubriques@ rubriques,', |
|
| 396 | + 'info_nombre_sites' => '@nb_sites@ sites,', |
|
| 397 | + 'info_non_deplacer' => 'Ne pas déplacer...', |
|
| 398 | + 'info_non_envoi_annonce_dernieres_nouveautes' => 'SPIP peut envoyer, régulièrement, l’annonce des dernières nouveautés du site |
|
| 399 | 399 | (articles et brèves récemment publiés).', |
| 400 | - 'info_non_envoi_liste_nouveautes' => 'Ne pas envoyer la liste des nouveautés', |
|
| 401 | - 'info_non_modifiable' => 'ne peut pas être modifié', |
|
| 402 | - 'info_non_suppression_mot_cle' => 'je ne veux pas supprimer ce mot-clé.', |
|
| 403 | - 'info_notes' => 'Notes', |
|
| 404 | - 'info_nouvel_article' => 'Nouvel article', |
|
| 405 | - 'info_nouvelle_traduction' => 'Nouvelle traduction :', |
|
| 406 | - 'info_numero_article' => 'ARTICLE NUMÉRO :', |
|
| 407 | - 'info_obligatoire_02' => '(obligatoire)', |
|
| 408 | - 'info_option_accepter_visiteurs' => 'Accepter l’inscription de visiteuses du site public', |
|
| 409 | - 'info_option_ne_pas_accepter_visiteurs' => 'Refuser l’inscription des visiteuses', |
|
| 410 | - 'info_options_avancees' => 'OPTIONS AVANCÉES', |
|
| 411 | - 'info_ou' => 'ou...', |
|
| 412 | - 'info_page_interdite' => 'Page interdite', |
|
| 413 | - 'info_par_nom' => 'par nom', |
|
| 414 | - 'info_par_nombre_article' => 'par nombre d’articles', |
|
| 415 | - 'info_par_statut' => 'par statut', |
|
| 416 | - 'info_par_tri' => '’(par @tri@)’', |
|
| 417 | - 'info_passe_trop_court' => 'Mot de passe trop court.', |
|
| 418 | - 'info_passe_trop_court_car_pluriel' => 'Le mot de passe doit contenir au moins @nb@ caractères.', |
|
| 419 | - 'info_passes_identiques' => 'Les deux mots de passe ne sont pas identiques.', |
|
| 420 | - 'info_plus_cinq_car' => 'plus de 5 caractères', |
|
| 421 | - 'info_plus_cinq_car_2' => '(Plus de 5 caractères)', |
|
| 422 | - 'info_plus_trois_car' => '(Plus de 3 caractères)', |
|
| 423 | - 'info_popularite' => 'popularité : @popularite@ ; visites : @visites@', |
|
| 424 | - 'info_post_scriptum' => 'Post-Scriptum', |
|
| 425 | - 'info_post_scriptum_2' => 'Post-scriptum :', |
|
| 426 | - 'info_pour' => 'pour', |
|
| 427 | - 'info_preview_texte' => 'Il est possible de prévisualiser le site comme si tous les articles et les brèves (ayant au moins le statut « proposé ») étaient publiés. Cette possibilité doit-elle être ouverte aux administratrices seulement, à toutes les rédactrices, ou à personne ?', |
|
| 428 | - 'info_procedez_par_etape' => 'procédez étape par étape', |
|
| 429 | - 'info_procedure_maj_version' => 'la procédure de mise à jour doit être lancée afin d’adapter |
|
| 400 | + 'info_non_envoi_liste_nouveautes' => 'Ne pas envoyer la liste des nouveautés', |
|
| 401 | + 'info_non_modifiable' => 'ne peut pas être modifié', |
|
| 402 | + 'info_non_suppression_mot_cle' => 'je ne veux pas supprimer ce mot-clé.', |
|
| 403 | + 'info_notes' => 'Notes', |
|
| 404 | + 'info_nouvel_article' => 'Nouvel article', |
|
| 405 | + 'info_nouvelle_traduction' => 'Nouvelle traduction :', |
|
| 406 | + 'info_numero_article' => 'ARTICLE NUMÉRO :', |
|
| 407 | + 'info_obligatoire_02' => '(obligatoire)', |
|
| 408 | + 'info_option_accepter_visiteurs' => 'Accepter l’inscription de visiteuses du site public', |
|
| 409 | + 'info_option_ne_pas_accepter_visiteurs' => 'Refuser l’inscription des visiteuses', |
|
| 410 | + 'info_options_avancees' => 'OPTIONS AVANCÉES', |
|
| 411 | + 'info_ou' => 'ou...', |
|
| 412 | + 'info_page_interdite' => 'Page interdite', |
|
| 413 | + 'info_par_nom' => 'par nom', |
|
| 414 | + 'info_par_nombre_article' => 'par nombre d’articles', |
|
| 415 | + 'info_par_statut' => 'par statut', |
|
| 416 | + 'info_par_tri' => '’(par @tri@)’', |
|
| 417 | + 'info_passe_trop_court' => 'Mot de passe trop court.', |
|
| 418 | + 'info_passe_trop_court_car_pluriel' => 'Le mot de passe doit contenir au moins @nb@ caractères.', |
|
| 419 | + 'info_passes_identiques' => 'Les deux mots de passe ne sont pas identiques.', |
|
| 420 | + 'info_plus_cinq_car' => 'plus de 5 caractères', |
|
| 421 | + 'info_plus_cinq_car_2' => '(Plus de 5 caractères)', |
|
| 422 | + 'info_plus_trois_car' => '(Plus de 3 caractères)', |
|
| 423 | + 'info_popularite' => 'popularité : @popularite@ ; visites : @visites@', |
|
| 424 | + 'info_post_scriptum' => 'Post-Scriptum', |
|
| 425 | + 'info_post_scriptum_2' => 'Post-scriptum :', |
|
| 426 | + 'info_pour' => 'pour', |
|
| 427 | + 'info_preview_texte' => 'Il est possible de prévisualiser le site comme si tous les articles et les brèves (ayant au moins le statut « proposé ») étaient publiés. Cette possibilité doit-elle être ouverte aux administratrices seulement, à toutes les rédactrices, ou à personne ?', |
|
| 428 | + 'info_procedez_par_etape' => 'procédez étape par étape', |
|
| 429 | + 'info_procedure_maj_version' => 'la procédure de mise à jour doit être lancée afin d’adapter |
|
| 430 | 430 | la base de données à la nouvelle version de SPIP.', |
| 431 | - 'info_proxy_ok' => 'Test du proxy réussi.', |
|
| 432 | - 'info_ps' => 'P.-S.', |
|
| 433 | - 'info_publier' => 'publier', |
|
| 434 | - 'info_publies' => 'Vos articles publiés en ligne', |
|
| 435 | - 'info_question_accepter_visiteurs' => 'Si les squelettes de votre site prévoient l’enregistrement de visiteuses sans accès à l’espace privé, veuillez activer l’option ci-dessous :', |
|
| 436 | - 'info_question_inscription_nouveaux_redacteurs' => 'Acceptez-vous les inscriptions de nouvelles rédactrices à |
|
| 431 | + 'info_proxy_ok' => 'Test du proxy réussi.', |
|
| 432 | + 'info_ps' => 'P.-S.', |
|
| 433 | + 'info_publier' => 'publier', |
|
| 434 | + 'info_publies' => 'Vos articles publiés en ligne', |
|
| 435 | + 'info_question_accepter_visiteurs' => 'Si les squelettes de votre site prévoient l’enregistrement de visiteuses sans accès à l’espace privé, veuillez activer l’option ci-dessous :', |
|
| 436 | + 'info_question_inscription_nouveaux_redacteurs' => 'Acceptez-vous les inscriptions de nouvelles rédactrices à |
|
| 437 | 437 | partir du site public ? Si vous acceptez, les visiteuses pourront s’inscrire |
| 438 | 438 | depuis un formulaire automatisé et accéderont alors à l’espace privé pour |
| 439 | 439 | proposer leurs propres articles. <div class="notice">Lors de la phase d’inscription, |
@@ -442,403 +442,403 @@ discard block |
||
| 442 | 442 | hébergeurs désactivent l’envoi de mails depuis leurs |
| 443 | 443 | serveurs : dans ce cas, l’inscription automatique est |
| 444 | 444 | impossible.</div>', |
| 445 | - 'info_qui_edite' => '@nom_auteur_modif@ a travaillé sur ce contenu il y a @date_diff@ minutes', |
|
| 446 | - 'info_racine_site' => 'Racine du site', |
|
| 447 | - 'info_recharger_page' => 'Veuillez recharger cette page dans quelques instants.', |
|
| 448 | - 'info_recherche_auteur_zero' => 'Aucun résultat pour « @cherche_auteur@ ».', |
|
| 449 | - 'info_recommencer' => 'Veuillez recommencer.', |
|
| 450 | - 'info_redacteur_1' => 'Rédactrice', |
|
| 451 | - 'info_redacteur_2' => 'ayant accès à l’espace privé (<i>recommandé</i>)', |
|
| 452 | - 'info_redacteurs' => 'Rédactrices', |
|
| 453 | - 'info_redaction_en_cours' => 'EN COURS DE RÉDACTION', |
|
| 454 | - 'info_redirection' => 'Redirection', |
|
| 455 | - 'info_redirection_activee' => 'La redirection est activée.', |
|
| 456 | - 'info_redirection_boucle' => 'Vous essayez de rediriger l’article sur lui-même.', |
|
| 457 | - 'info_redirection_desactivee' => 'La redirection a été supprimée.', |
|
| 458 | - 'info_refuses' => 'Vos articles refusés', |
|
| 459 | - 'info_reglage_ldap' => 'Options : <b>Réglage de l’importation LDAP</b>', |
|
| 460 | - 'info_renvoi_article' => '<b>Redirection.</b> Cet article renvoie à la page :', |
|
| 461 | - 'info_reserve_admin' => 'Seuls les administratrices peuvent modifier cette adresse.', |
|
| 462 | - 'info_restreindre_rubrique' => 'Restreindre la gestion à la rubrique :', |
|
| 463 | - 'info_resultat_recherche' => 'Résultats de la recherche :', |
|
| 464 | - 'info_rubriques' => 'Rubriques', |
|
| 465 | - 'info_rubriques_02' => 'rubriques', |
|
| 466 | - 'info_rubriques_trouvees' => 'Rubriques trouvées', |
|
| 467 | - 'info_sans_titre' => 'Sans titre', |
|
| 468 | - 'info_selection_chemin_acces' => '<b>Sélectionnez</b> ci-après le chemin d’accès dans l’annuaire :', |
|
| 469 | - 'info_signatures' => 'signatures', |
|
| 470 | - 'info_site' => 'Site', |
|
| 471 | - 'info_site_2' => 'site :', |
|
| 472 | - 'info_site_min' => 'site', |
|
| 473 | - 'info_site_reference_2' => 'Site référencé', |
|
| 474 | - 'info_site_web' => 'Site Web :', |
|
| 475 | - 'info_sites' => 'sites', |
|
| 476 | - 'info_sites_lies_mot' => 'Les sites référencés liés à ce mot-clé', |
|
| 477 | - 'info_sites_proxy' => 'Utiliser un proxy', |
|
| 478 | - 'info_sites_trouves' => 'Sites trouvés', |
|
| 479 | - 'info_sous_titre' => 'Soustitre :', |
|
| 480 | - 'info_statut_administrateur' => 'Administratrice', |
|
| 481 | - 'info_statut_auteur' => 'Statut de cette autrice :', |
|
| 482 | - 'info_statut_auteur_2' => 'Je suis', |
|
| 483 | - 'info_statut_auteur_a_confirmer' => 'Inscription à confirmer', |
|
| 484 | - 'info_statut_auteur_autre' => 'Autre statut :', |
|
| 485 | - 'info_statut_redacteur' => 'Rédactrice', |
|
| 486 | - 'info_statut_utilisateurs_1' => 'Statut par défaut des utilisatrices importées', |
|
| 487 | - 'info_statut_utilisateurs_2' => 'Choisissez le statut qui est attribué aux personnes présentes dans l’annuaire LDAP lorsqu’elles se connectent pour la première fois. Vous pourrez par la suite modifier cette valeur pour chaque autrice au cas par cas.', |
|
| 488 | - 'info_suivi_activite' => 'Suivi de l’activité éditoriale', |
|
| 489 | - 'info_surtitre' => 'Surtitre :', |
|
| 490 | - 'info_syndication_integrale_1' => 'Votre site propose des fichiers de syndication (voir « <a href="@url@">@titre@</a> »).', |
|
| 491 | - 'info_syndication_integrale_2' => 'Souhaitez-vous transmettre les articles dans leur intégralité, ou ne diffuser qu’un résumé de quelques centaines de caractères ?', |
|
| 492 | - 'info_table_prefix' => 'Vous pouvez modifier le préfixe du nom des tables de données (ceci est indispensable lorsque l’on souhaite installer plusieurs sites dans la même base de données). Ce préfixe s’écrit en lettres minuscules, non accentuées, et sans espace.', |
|
| 493 | - 'info_taille_maximale_images' => 'SPIP va tester la taille maximale des images qu’il peut traiter (en millions de pixels).<br /> Les images plus grandes ne seront pas réduites.', |
|
| 494 | - 'info_taille_maximale_vignette' => 'Taille maximale des vignettes générées par le système :', |
|
| 495 | - 'info_terminer_installation' => 'Vous pouvez maintenant terminer la procédure d’installation standard.', |
|
| 496 | - 'info_texte' => 'Texte', |
|
| 497 | - 'info_texte_explicatif' => 'Texte explicatif', |
|
| 498 | - 'info_texte_long' => '(le texte est long : il apparaît donc en plusieurs parties qui seront recollées après validation.)', |
|
| 499 | - 'info_texte_message' => 'Texte de votre message', |
|
| 500 | - 'info_texte_message_02' => 'Texte du message', |
|
| 501 | - 'info_titre' => 'Titre :', |
|
| 502 | - 'info_total' => 'total :', |
|
| 503 | - 'info_tous_articles_en_redaction' => 'Tous les articles en cours de rédaction', |
|
| 504 | - 'info_tous_articles_presents' => 'Tous les articles publiés dans cette rubrique', |
|
| 505 | - 'info_tous_articles_refuses' => 'Tous les articles refusés', |
|
| 506 | - 'info_tous_les' => 'tous les :', |
|
| 507 | - 'info_tout_site' => 'Tout le site', |
|
| 508 | - 'info_tout_site2' => 'L’article n’a pas été traduit dans cette langue.', |
|
| 509 | - 'info_tout_site3' => 'L’article a été traduit dans cette langue, mais des modifications ont été apportées par la suite à l’article de référence. La traduction doit être mise à jour.', |
|
| 510 | - 'info_tout_site4' => 'L’article a été traduit dans cette langue, et la traduction est à jour.', |
|
| 511 | - 'info_tout_site5' => 'Article original.', |
|
| 512 | - 'info_tout_site6' => '<b>Attention :</b> seuls les articles originaux sont affichés. |
|
| 445 | + 'info_qui_edite' => '@nom_auteur_modif@ a travaillé sur ce contenu il y a @date_diff@ minutes', |
|
| 446 | + 'info_racine_site' => 'Racine du site', |
|
| 447 | + 'info_recharger_page' => 'Veuillez recharger cette page dans quelques instants.', |
|
| 448 | + 'info_recherche_auteur_zero' => 'Aucun résultat pour « @cherche_auteur@ ».', |
|
| 449 | + 'info_recommencer' => 'Veuillez recommencer.', |
|
| 450 | + 'info_redacteur_1' => 'Rédactrice', |
|
| 451 | + 'info_redacteur_2' => 'ayant accès à l’espace privé (<i>recommandé</i>)', |
|
| 452 | + 'info_redacteurs' => 'Rédactrices', |
|
| 453 | + 'info_redaction_en_cours' => 'EN COURS DE RÉDACTION', |
|
| 454 | + 'info_redirection' => 'Redirection', |
|
| 455 | + 'info_redirection_activee' => 'La redirection est activée.', |
|
| 456 | + 'info_redirection_boucle' => 'Vous essayez de rediriger l’article sur lui-même.', |
|
| 457 | + 'info_redirection_desactivee' => 'La redirection a été supprimée.', |
|
| 458 | + 'info_refuses' => 'Vos articles refusés', |
|
| 459 | + 'info_reglage_ldap' => 'Options : <b>Réglage de l’importation LDAP</b>', |
|
| 460 | + 'info_renvoi_article' => '<b>Redirection.</b> Cet article renvoie à la page :', |
|
| 461 | + 'info_reserve_admin' => 'Seuls les administratrices peuvent modifier cette adresse.', |
|
| 462 | + 'info_restreindre_rubrique' => 'Restreindre la gestion à la rubrique :', |
|
| 463 | + 'info_resultat_recherche' => 'Résultats de la recherche :', |
|
| 464 | + 'info_rubriques' => 'Rubriques', |
|
| 465 | + 'info_rubriques_02' => 'rubriques', |
|
| 466 | + 'info_rubriques_trouvees' => 'Rubriques trouvées', |
|
| 467 | + 'info_sans_titre' => 'Sans titre', |
|
| 468 | + 'info_selection_chemin_acces' => '<b>Sélectionnez</b> ci-après le chemin d’accès dans l’annuaire :', |
|
| 469 | + 'info_signatures' => 'signatures', |
|
| 470 | + 'info_site' => 'Site', |
|
| 471 | + 'info_site_2' => 'site :', |
|
| 472 | + 'info_site_min' => 'site', |
|
| 473 | + 'info_site_reference_2' => 'Site référencé', |
|
| 474 | + 'info_site_web' => 'Site Web :', |
|
| 475 | + 'info_sites' => 'sites', |
|
| 476 | + 'info_sites_lies_mot' => 'Les sites référencés liés à ce mot-clé', |
|
| 477 | + 'info_sites_proxy' => 'Utiliser un proxy', |
|
| 478 | + 'info_sites_trouves' => 'Sites trouvés', |
|
| 479 | + 'info_sous_titre' => 'Soustitre :', |
|
| 480 | + 'info_statut_administrateur' => 'Administratrice', |
|
| 481 | + 'info_statut_auteur' => 'Statut de cette autrice :', |
|
| 482 | + 'info_statut_auteur_2' => 'Je suis', |
|
| 483 | + 'info_statut_auteur_a_confirmer' => 'Inscription à confirmer', |
|
| 484 | + 'info_statut_auteur_autre' => 'Autre statut :', |
|
| 485 | + 'info_statut_redacteur' => 'Rédactrice', |
|
| 486 | + 'info_statut_utilisateurs_1' => 'Statut par défaut des utilisatrices importées', |
|
| 487 | + 'info_statut_utilisateurs_2' => 'Choisissez le statut qui est attribué aux personnes présentes dans l’annuaire LDAP lorsqu’elles se connectent pour la première fois. Vous pourrez par la suite modifier cette valeur pour chaque autrice au cas par cas.', |
|
| 488 | + 'info_suivi_activite' => 'Suivi de l’activité éditoriale', |
|
| 489 | + 'info_surtitre' => 'Surtitre :', |
|
| 490 | + 'info_syndication_integrale_1' => 'Votre site propose des fichiers de syndication (voir « <a href="@url@">@titre@</a> »).', |
|
| 491 | + 'info_syndication_integrale_2' => 'Souhaitez-vous transmettre les articles dans leur intégralité, ou ne diffuser qu’un résumé de quelques centaines de caractères ?', |
|
| 492 | + 'info_table_prefix' => 'Vous pouvez modifier le préfixe du nom des tables de données (ceci est indispensable lorsque l’on souhaite installer plusieurs sites dans la même base de données). Ce préfixe s’écrit en lettres minuscules, non accentuées, et sans espace.', |
|
| 493 | + 'info_taille_maximale_images' => 'SPIP va tester la taille maximale des images qu’il peut traiter (en millions de pixels).<br /> Les images plus grandes ne seront pas réduites.', |
|
| 494 | + 'info_taille_maximale_vignette' => 'Taille maximale des vignettes générées par le système :', |
|
| 495 | + 'info_terminer_installation' => 'Vous pouvez maintenant terminer la procédure d’installation standard.', |
|
| 496 | + 'info_texte' => 'Texte', |
|
| 497 | + 'info_texte_explicatif' => 'Texte explicatif', |
|
| 498 | + 'info_texte_long' => '(le texte est long : il apparaît donc en plusieurs parties qui seront recollées après validation.)', |
|
| 499 | + 'info_texte_message' => 'Texte de votre message', |
|
| 500 | + 'info_texte_message_02' => 'Texte du message', |
|
| 501 | + 'info_titre' => 'Titre :', |
|
| 502 | + 'info_total' => 'total :', |
|
| 503 | + 'info_tous_articles_en_redaction' => 'Tous les articles en cours de rédaction', |
|
| 504 | + 'info_tous_articles_presents' => 'Tous les articles publiés dans cette rubrique', |
|
| 505 | + 'info_tous_articles_refuses' => 'Tous les articles refusés', |
|
| 506 | + 'info_tous_les' => 'tous les :', |
|
| 507 | + 'info_tout_site' => 'Tout le site', |
|
| 508 | + 'info_tout_site2' => 'L’article n’a pas été traduit dans cette langue.', |
|
| 509 | + 'info_tout_site3' => 'L’article a été traduit dans cette langue, mais des modifications ont été apportées par la suite à l’article de référence. La traduction doit être mise à jour.', |
|
| 510 | + 'info_tout_site4' => 'L’article a été traduit dans cette langue, et la traduction est à jour.', |
|
| 511 | + 'info_tout_site5' => 'Article original.', |
|
| 512 | + 'info_tout_site6' => '<b>Attention :</b> seuls les articles originaux sont affichés. |
|
| 513 | 513 | Les traductions sont associées à l’original, |
| 514 | 514 | dans une couleur qui indique leur état :', |
| 515 | - 'info_traductions' => 'Traductions', |
|
| 516 | - 'info_travail_colaboratif' => 'Travail collaboratif sur les articles', |
|
| 517 | - 'info_un_article' => 'un article,', |
|
| 518 | - 'info_un_site' => 'un site,', |
|
| 519 | - 'info_une_rubrique' => 'une rubrique,', |
|
| 520 | - 'info_une_rubrique_02' => '1 rubrique', |
|
| 521 | - 'info_url' => 'URL :', |
|
| 522 | - 'info_url_proxy' => 'URL du proxy', |
|
| 523 | - 'info_url_proxy_pas_conforme' => 'l’URL du proxy n’est pas valide.', |
|
| 524 | - 'info_url_site_pas_conforme' => 'l’URL du site n’est pas valide.', |
|
| 525 | - 'info_url_test_proxy' => 'URL de test', |
|
| 526 | - 'info_urlref' => 'Lien hypertexte :', |
|
| 527 | - 'info_utilisation_spip' => 'Vous pouvez maintenant commencer à utiliser le système de publication assistée...', |
|
| 528 | - 'info_visites_par_mois' => 'Affichage par mois :', |
|
| 529 | - 'info_visiteur_1' => 'Visiteuse', |
|
| 530 | - 'info_visiteur_2' => 'du site public', |
|
| 531 | - 'info_visiteurs' => 'Visiteuses', |
|
| 532 | - 'info_visiteurs_02' => 'Visiteuses du site public', |
|
| 533 | - 'info_webmestre_forces' => 'Les webmestres sont actuellement définies dans <tt>@file_options@</tt>.', |
|
| 534 | - 'install_adresse_base_hebergeur' => 'Adresse de la base de données attribuée par l’hébergeur', |
|
| 535 | - 'install_connect_ok' => 'La nouvelle base a bien été déclarée sous le nom de serveur @connect@.', |
|
| 536 | - 'install_echec_annonce' => 'L’installation va probablement échouer, ou aboutir à un site non fonctionnel...', |
|
| 537 | - 'install_extension_mbstring' => 'SPIP ne fonctionne pas avec :', |
|
| 538 | - 'install_extension_php_obligatoire' => 'SPIP exige l’extension php :', |
|
| 539 | - 'install_login_base_hebergeur' => 'Login de connexion attribué par l’hébergeur', |
|
| 540 | - 'install_nom_base_hebergeur' => 'Nom de la base attribué par l’hébergeur :', |
|
| 541 | - 'install_pas_table' => 'Base actuellement sans tables', |
|
| 542 | - 'install_pass_base_hebergeur' => 'Mot de passe de connexion attribué par l’hébergeur', |
|
| 543 | - 'install_php_version' => 'PHP version @version@ insuffisant (minimum = @minimum@)', |
|
| 544 | - 'install_select_langue' => 'Sélectionnez une langue puis cliquez sur le bouton « suivant » pour lancer la procédure d’installation.', |
|
| 545 | - 'install_select_type_db' => 'Indiquer le type de base de données :', |
|
| 546 | - 'install_select_type_mysql' => 'MySQL', |
|
| 547 | - 'install_select_type_pg' => 'PostgreSQL', |
|
| 548 | - 'install_select_type_sqlite2' => 'SQLite 2', |
|
| 549 | - 'install_select_type_sqlite3' => 'SQLite 3', |
|
| 550 | - 'install_serveur_hebergeur' => 'Serveur de base de données attribué par l’hébergeur', |
|
| 551 | - 'install_table_prefix_hebergeur' => 'Préfixe de table attribué par l’hébergeur :', |
|
| 552 | - 'install_tables_base' => 'Tables de la base', |
|
| 553 | - 'install_types_db_connus' => 'SPIP sait utiliser <b>MySQL</b> (le plus répandu) et <b>SQLite</b>.', |
|
| 554 | - 'install_types_db_connus_avertissement' => 'Le support de <b>PostgreSQL</b> est également proposé à titre experimental', |
|
| 555 | - 'instituer_erreur_statut_a_change' => 'Le statut a déjà été modifié', |
|
| 556 | - 'instituer_erreur_statut_non_autorise' => 'Vous ne pouvez pas choisir ce statut', |
|
| 557 | - 'intem_redacteur' => 'rédactrice', |
|
| 558 | - 'intitule_licence' => 'Licence', |
|
| 559 | - 'item_accepter_inscriptions' => 'Accepter les inscriptions', |
|
| 560 | - 'item_activer_messages_avertissement' => 'Activer les messages d’avertissement', |
|
| 561 | - 'item_administrateur_2' => 'administratrice', |
|
| 562 | - 'item_afficher_calendrier' => 'Afficher dans le calendrier', |
|
| 563 | - 'item_autoriser_syndication_integrale' => 'Diffuser l’intégralité des articles dans les fichiers de syndication', |
|
| 564 | - 'item_choix_administrateurs' => 'les administratrices', |
|
| 565 | - 'item_choix_generation_miniature' => 'Générer automatiquement les miniatures des images.', |
|
| 566 | - 'item_choix_non_generation_miniature' => 'Ne pas générer de miniatures des images.', |
|
| 567 | - 'item_choix_redacteurs' => 'les rédactrices', |
|
| 568 | - 'item_choix_visiteurs' => 'les visiteuses du site public', |
|
| 569 | - 'item_creer_fichiers_authent' => 'Créer les fichiers .htpasswd', |
|
| 570 | - 'item_login' => 'Login', |
|
| 571 | - 'item_messagerie_agenda' => 'Activer la messagerie et l’agenda', |
|
| 572 | - 'item_mots_cles_association_articles' => 'aux articles', |
|
| 573 | - 'item_mots_cles_association_rubriques' => 'aux rubriques', |
|
| 574 | - 'item_mots_cles_association_sites' => 'aux sites référencés ou syndiqués.', |
|
| 575 | - 'item_non' => 'Non', |
|
| 576 | - 'item_non_accepter_inscriptions' => 'Ne pas accepter les inscriptions', |
|
| 577 | - 'item_non_activer_messages_avertissement' => 'Pas de messages d’avertissement', |
|
| 578 | - 'item_non_afficher_calendrier' => 'Ne pas afficher dans le calendrier', |
|
| 579 | - 'item_non_autoriser_syndication_integrale' => 'Ne diffuser qu’un résumé', |
|
| 580 | - 'item_non_creer_fichiers_authent' => 'Ne pas créer ces fichiers', |
|
| 581 | - 'item_non_messagerie_agenda' => 'Désactiver la messagerie et l’agenda', |
|
| 582 | - 'item_non_publier_articles' => 'Ne pas publier les articles avant la date de publication fixée.', |
|
| 583 | - 'item_nouvel_auteur' => 'Nouvelle autrice', |
|
| 584 | - 'item_nouvelle_rubrique' => 'Nouvelle rubrique', |
|
| 585 | - 'item_oui' => 'Oui', |
|
| 586 | - 'item_publier_articles' => 'Publier les articles, quelle que soit leur date de publication.', |
|
| 587 | - 'item_reponse_article' => 'Réponse à l’article', |
|
| 588 | - 'item_visiteur' => 'visiteuse', |
|
| 515 | + 'info_traductions' => 'Traductions', |
|
| 516 | + 'info_travail_colaboratif' => 'Travail collaboratif sur les articles', |
|
| 517 | + 'info_un_article' => 'un article,', |
|
| 518 | + 'info_un_site' => 'un site,', |
|
| 519 | + 'info_une_rubrique' => 'une rubrique,', |
|
| 520 | + 'info_une_rubrique_02' => '1 rubrique', |
|
| 521 | + 'info_url' => 'URL :', |
|
| 522 | + 'info_url_proxy' => 'URL du proxy', |
|
| 523 | + 'info_url_proxy_pas_conforme' => 'l’URL du proxy n’est pas valide.', |
|
| 524 | + 'info_url_site_pas_conforme' => 'l’URL du site n’est pas valide.', |
|
| 525 | + 'info_url_test_proxy' => 'URL de test', |
|
| 526 | + 'info_urlref' => 'Lien hypertexte :', |
|
| 527 | + 'info_utilisation_spip' => 'Vous pouvez maintenant commencer à utiliser le système de publication assistée...', |
|
| 528 | + 'info_visites_par_mois' => 'Affichage par mois :', |
|
| 529 | + 'info_visiteur_1' => 'Visiteuse', |
|
| 530 | + 'info_visiteur_2' => 'du site public', |
|
| 531 | + 'info_visiteurs' => 'Visiteuses', |
|
| 532 | + 'info_visiteurs_02' => 'Visiteuses du site public', |
|
| 533 | + 'info_webmestre_forces' => 'Les webmestres sont actuellement définies dans <tt>@file_options@</tt>.', |
|
| 534 | + 'install_adresse_base_hebergeur' => 'Adresse de la base de données attribuée par l’hébergeur', |
|
| 535 | + 'install_connect_ok' => 'La nouvelle base a bien été déclarée sous le nom de serveur @connect@.', |
|
| 536 | + 'install_echec_annonce' => 'L’installation va probablement échouer, ou aboutir à un site non fonctionnel...', |
|
| 537 | + 'install_extension_mbstring' => 'SPIP ne fonctionne pas avec :', |
|
| 538 | + 'install_extension_php_obligatoire' => 'SPIP exige l’extension php :', |
|
| 539 | + 'install_login_base_hebergeur' => 'Login de connexion attribué par l’hébergeur', |
|
| 540 | + 'install_nom_base_hebergeur' => 'Nom de la base attribué par l’hébergeur :', |
|
| 541 | + 'install_pas_table' => 'Base actuellement sans tables', |
|
| 542 | + 'install_pass_base_hebergeur' => 'Mot de passe de connexion attribué par l’hébergeur', |
|
| 543 | + 'install_php_version' => 'PHP version @version@ insuffisant (minimum = @minimum@)', |
|
| 544 | + 'install_select_langue' => 'Sélectionnez une langue puis cliquez sur le bouton « suivant » pour lancer la procédure d’installation.', |
|
| 545 | + 'install_select_type_db' => 'Indiquer le type de base de données :', |
|
| 546 | + 'install_select_type_mysql' => 'MySQL', |
|
| 547 | + 'install_select_type_pg' => 'PostgreSQL', |
|
| 548 | + 'install_select_type_sqlite2' => 'SQLite 2', |
|
| 549 | + 'install_select_type_sqlite3' => 'SQLite 3', |
|
| 550 | + 'install_serveur_hebergeur' => 'Serveur de base de données attribué par l’hébergeur', |
|
| 551 | + 'install_table_prefix_hebergeur' => 'Préfixe de table attribué par l’hébergeur :', |
|
| 552 | + 'install_tables_base' => 'Tables de la base', |
|
| 553 | + 'install_types_db_connus' => 'SPIP sait utiliser <b>MySQL</b> (le plus répandu) et <b>SQLite</b>.', |
|
| 554 | + 'install_types_db_connus_avertissement' => 'Le support de <b>PostgreSQL</b> est également proposé à titre experimental', |
|
| 555 | + 'instituer_erreur_statut_a_change' => 'Le statut a déjà été modifié', |
|
| 556 | + 'instituer_erreur_statut_non_autorise' => 'Vous ne pouvez pas choisir ce statut', |
|
| 557 | + 'intem_redacteur' => 'rédactrice', |
|
| 558 | + 'intitule_licence' => 'Licence', |
|
| 559 | + 'item_accepter_inscriptions' => 'Accepter les inscriptions', |
|
| 560 | + 'item_activer_messages_avertissement' => 'Activer les messages d’avertissement', |
|
| 561 | + 'item_administrateur_2' => 'administratrice', |
|
| 562 | + 'item_afficher_calendrier' => 'Afficher dans le calendrier', |
|
| 563 | + 'item_autoriser_syndication_integrale' => 'Diffuser l’intégralité des articles dans les fichiers de syndication', |
|
| 564 | + 'item_choix_administrateurs' => 'les administratrices', |
|
| 565 | + 'item_choix_generation_miniature' => 'Générer automatiquement les miniatures des images.', |
|
| 566 | + 'item_choix_non_generation_miniature' => 'Ne pas générer de miniatures des images.', |
|
| 567 | + 'item_choix_redacteurs' => 'les rédactrices', |
|
| 568 | + 'item_choix_visiteurs' => 'les visiteuses du site public', |
|
| 569 | + 'item_creer_fichiers_authent' => 'Créer les fichiers .htpasswd', |
|
| 570 | + 'item_login' => 'Login', |
|
| 571 | + 'item_messagerie_agenda' => 'Activer la messagerie et l’agenda', |
|
| 572 | + 'item_mots_cles_association_articles' => 'aux articles', |
|
| 573 | + 'item_mots_cles_association_rubriques' => 'aux rubriques', |
|
| 574 | + 'item_mots_cles_association_sites' => 'aux sites référencés ou syndiqués.', |
|
| 575 | + 'item_non' => 'Non', |
|
| 576 | + 'item_non_accepter_inscriptions' => 'Ne pas accepter les inscriptions', |
|
| 577 | + 'item_non_activer_messages_avertissement' => 'Pas de messages d’avertissement', |
|
| 578 | + 'item_non_afficher_calendrier' => 'Ne pas afficher dans le calendrier', |
|
| 579 | + 'item_non_autoriser_syndication_integrale' => 'Ne diffuser qu’un résumé', |
|
| 580 | + 'item_non_creer_fichiers_authent' => 'Ne pas créer ces fichiers', |
|
| 581 | + 'item_non_messagerie_agenda' => 'Désactiver la messagerie et l’agenda', |
|
| 582 | + 'item_non_publier_articles' => 'Ne pas publier les articles avant la date de publication fixée.', |
|
| 583 | + 'item_nouvel_auteur' => 'Nouvelle autrice', |
|
| 584 | + 'item_nouvelle_rubrique' => 'Nouvelle rubrique', |
|
| 585 | + 'item_oui' => 'Oui', |
|
| 586 | + 'item_publier_articles' => 'Publier les articles, quelle que soit leur date de publication.', |
|
| 587 | + 'item_reponse_article' => 'Réponse à l’article', |
|
| 588 | + 'item_visiteur' => 'visiteuse', |
|
| 589 | 589 | |
| 590 | - // J |
|
| 591 | - 'jour_non_connu_nc' => 'n.c.', |
|
| 590 | + // J |
|
| 591 | + 'jour_non_connu_nc' => 'n.c.', |
|
| 592 | 592 | |
| 593 | - // L |
|
| 594 | - 'label_bando_outils' => 'Barre d’outils', |
|
| 595 | - 'label_bando_outils_afficher' => 'Afficher les outils', |
|
| 596 | - 'label_bando_outils_masquer' => 'Masquer les outils', |
|
| 597 | - 'label_choix_langue' => 'Sélectionnez votre langue', |
|
| 598 | - 'label_nom_fichier_connect' => 'Indiquez le nom utilisé pour ce serveur', |
|
| 599 | - 'label_slogan_site' => 'Slogan du site', |
|
| 600 | - 'label_taille_ecran' => 'Largeur de l’écran', |
|
| 601 | - 'label_texte_et_icones_navigation' => 'Menu de navigation', |
|
| 602 | - 'label_texte_et_icones_page' => 'Affichage dans la page', |
|
| 603 | - 'ldap_correspondance' => 'héritage du champ @champ@', |
|
| 604 | - 'ldap_correspondance_1' => 'Héritage des champs LDAP', |
|
| 605 | - 'ldap_correspondance_2' => 'Pour chacun des champs SPIP suivants, indiquer le nom du champ LDAP correspondant. Laisser vide pour ne pas le remplir, séparer par des espaces ou des virgules pour essayer plusieurs champs LDAP.', |
|
| 606 | - 'lien_ajouter_auteur' => 'Ajouter cette autrice', |
|
| 607 | - 'lien_ajouter_une_rubrique' => 'Ajouter cette rubrique', |
|
| 608 | - 'lien_email' => 'email', |
|
| 609 | - 'lien_nom_site' => 'NOM DU SITE :', |
|
| 610 | - 'lien_rapide_contenu' => 'Aller au contenu', |
|
| 611 | - 'lien_rapide_navigation' => 'Aller à la navigation', |
|
| 612 | - 'lien_rapide_recherche' => 'Aller à la recherche', |
|
| 613 | - 'lien_retirer_auteur' => 'Retirer l’autrice', |
|
| 614 | - 'lien_retirer_rubrique' => 'Retirer la rubrique', |
|
| 615 | - 'lien_retirer_tous_auteurs' => 'Retirer toutes les autrices', |
|
| 616 | - 'lien_retirer_toutes_rubriques' => 'Retirer toutes les rubriques', |
|
| 617 | - 'lien_site' => 'site', |
|
| 618 | - 'lien_tout_decocher' => 'Tout décocher', |
|
| 619 | - 'lien_tout_deplier' => 'Tout déplier', |
|
| 620 | - 'lien_tout_replier' => 'Tout replier', |
|
| 621 | - 'lien_tout_supprimer' => 'Tout supprimer', |
|
| 622 | - 'lien_trier_nom' => 'Trier par nom', |
|
| 623 | - 'lien_trier_nombre_articles' => 'Trier par nombre d’articles', |
|
| 624 | - 'lien_trier_statut' => 'Trier par statut', |
|
| 625 | - 'lien_voir_en_ligne' => 'VOIR EN LIGNE :', |
|
| 626 | - 'logo_article' => 'Logo de l’article', |
|
| 627 | - 'logo_auteur' => 'Logo de l’autrice', |
|
| 628 | - 'logo_rubrique' => 'Logo de la rubrique', |
|
| 629 | - 'logo_site' => 'Logo de ce site', |
|
| 630 | - 'logo_standard_rubrique' => 'Logo standard des rubriques', |
|
| 631 | - 'logo_survol' => 'Logo pour survol', |
|
| 593 | + // L |
|
| 594 | + 'label_bando_outils' => 'Barre d’outils', |
|
| 595 | + 'label_bando_outils_afficher' => 'Afficher les outils', |
|
| 596 | + 'label_bando_outils_masquer' => 'Masquer les outils', |
|
| 597 | + 'label_choix_langue' => 'Sélectionnez votre langue', |
|
| 598 | + 'label_nom_fichier_connect' => 'Indiquez le nom utilisé pour ce serveur', |
|
| 599 | + 'label_slogan_site' => 'Slogan du site', |
|
| 600 | + 'label_taille_ecran' => 'Largeur de l’écran', |
|
| 601 | + 'label_texte_et_icones_navigation' => 'Menu de navigation', |
|
| 602 | + 'label_texte_et_icones_page' => 'Affichage dans la page', |
|
| 603 | + 'ldap_correspondance' => 'héritage du champ @champ@', |
|
| 604 | + 'ldap_correspondance_1' => 'Héritage des champs LDAP', |
|
| 605 | + 'ldap_correspondance_2' => 'Pour chacun des champs SPIP suivants, indiquer le nom du champ LDAP correspondant. Laisser vide pour ne pas le remplir, séparer par des espaces ou des virgules pour essayer plusieurs champs LDAP.', |
|
| 606 | + 'lien_ajouter_auteur' => 'Ajouter cette autrice', |
|
| 607 | + 'lien_ajouter_une_rubrique' => 'Ajouter cette rubrique', |
|
| 608 | + 'lien_email' => 'email', |
|
| 609 | + 'lien_nom_site' => 'NOM DU SITE :', |
|
| 610 | + 'lien_rapide_contenu' => 'Aller au contenu', |
|
| 611 | + 'lien_rapide_navigation' => 'Aller à la navigation', |
|
| 612 | + 'lien_rapide_recherche' => 'Aller à la recherche', |
|
| 613 | + 'lien_retirer_auteur' => 'Retirer l’autrice', |
|
| 614 | + 'lien_retirer_rubrique' => 'Retirer la rubrique', |
|
| 615 | + 'lien_retirer_tous_auteurs' => 'Retirer toutes les autrices', |
|
| 616 | + 'lien_retirer_toutes_rubriques' => 'Retirer toutes les rubriques', |
|
| 617 | + 'lien_site' => 'site', |
|
| 618 | + 'lien_tout_decocher' => 'Tout décocher', |
|
| 619 | + 'lien_tout_deplier' => 'Tout déplier', |
|
| 620 | + 'lien_tout_replier' => 'Tout replier', |
|
| 621 | + 'lien_tout_supprimer' => 'Tout supprimer', |
|
| 622 | + 'lien_trier_nom' => 'Trier par nom', |
|
| 623 | + 'lien_trier_nombre_articles' => 'Trier par nombre d’articles', |
|
| 624 | + 'lien_trier_statut' => 'Trier par statut', |
|
| 625 | + 'lien_voir_en_ligne' => 'VOIR EN LIGNE :', |
|
| 626 | + 'logo_article' => 'Logo de l’article', |
|
| 627 | + 'logo_auteur' => 'Logo de l’autrice', |
|
| 628 | + 'logo_rubrique' => 'Logo de la rubrique', |
|
| 629 | + 'logo_site' => 'Logo de ce site', |
|
| 630 | + 'logo_standard_rubrique' => 'Logo standard des rubriques', |
|
| 631 | + 'logo_survol' => 'Logo pour survol', |
|
| 632 | 632 | |
| 633 | - // M |
|
| 634 | - 'menu_aide_installation_choix_base' => 'Choix de votre base', |
|
| 635 | - 'module_fichier_langue' => 'Fichier de langue', |
|
| 636 | - 'module_raccourci' => 'Raccourci', |
|
| 637 | - 'module_texte_affiche' => 'Texte affiché', |
|
| 638 | - 'module_texte_explicatif' => 'Vous pouvez insérer les raccourcis suivants dans les squelettes de votre site public. Ils seront automatiquement traduits dans les différentes langues pour lesquelles il existe un fichier de langue.', |
|
| 639 | - 'module_texte_traduction' => 'Le fichier de langue « @module@ » est disponible en :', |
|
| 640 | - 'mois_non_connu' => 'non connu', |
|
| 633 | + // M |
|
| 634 | + 'menu_aide_installation_choix_base' => 'Choix de votre base', |
|
| 635 | + 'module_fichier_langue' => 'Fichier de langue', |
|
| 636 | + 'module_raccourci' => 'Raccourci', |
|
| 637 | + 'module_texte_affiche' => 'Texte affiché', |
|
| 638 | + 'module_texte_explicatif' => 'Vous pouvez insérer les raccourcis suivants dans les squelettes de votre site public. Ils seront automatiquement traduits dans les différentes langues pour lesquelles il existe un fichier de langue.', |
|
| 639 | + 'module_texte_traduction' => 'Le fichier de langue « @module@ » est disponible en :', |
|
| 640 | + 'mois_non_connu' => 'non connu', |
|
| 641 | 641 | |
| 642 | - // N |
|
| 643 | - 'nouvelle_version_spip' => 'La mise à jour @version@ de SPIP est disponible', |
|
| 644 | - 'nouvelle_version_spip_majeure' => 'Une nouvelle version SPIP @version@ est disponible', |
|
| 642 | + // N |
|
| 643 | + 'nouvelle_version_spip' => 'La mise à jour @version@ de SPIP est disponible', |
|
| 644 | + 'nouvelle_version_spip_majeure' => 'Une nouvelle version SPIP @version@ est disponible', |
|
| 645 | 645 | |
| 646 | - // O |
|
| 647 | - 'onglet_contenu' => 'Contenu', |
|
| 648 | - 'onglet_declarer_une_autre_base' => 'Déclarer une autre base', |
|
| 649 | - 'onglet_discuter' => 'Discuter', |
|
| 650 | - 'onglet_interactivite' => 'Interactivité', |
|
| 651 | - 'onglet_proprietes' => 'Propriétés', |
|
| 652 | - 'onglet_repartition_actuelle' => 'actuellement', |
|
| 653 | - 'onglet_sous_rubriques' => 'Sous-rubriques', |
|
| 646 | + // O |
|
| 647 | + 'onglet_contenu' => 'Contenu', |
|
| 648 | + 'onglet_declarer_une_autre_base' => 'Déclarer une autre base', |
|
| 649 | + 'onglet_discuter' => 'Discuter', |
|
| 650 | + 'onglet_interactivite' => 'Interactivité', |
|
| 651 | + 'onglet_proprietes' => 'Propriétés', |
|
| 652 | + 'onglet_repartition_actuelle' => 'actuellement', |
|
| 653 | + 'onglet_sous_rubriques' => 'Sous-rubriques', |
|
| 654 | 654 | |
| 655 | - // P |
|
| 656 | - 'page_pas_proxy' => 'Cette page ne doit pas passer par le proxy', |
|
| 657 | - 'pas_de_proxy_pour' => 'Au besoin, indiquez les machines ou domaines pour lesquels ce proxy ne doit pas s’appliquer (par exemple : @exemple@)', |
|
| 658 | - 'phpinfo' => 'Configuration PHP', |
|
| 659 | - 'plugin_charge_paquet' => 'Chargement du paquet @name@', |
|
| 660 | - 'plugin_charger' => 'Télécharger', |
|
| 661 | - 'plugin_erreur_charger' => 'erreur : impossible de charger @zip@', |
|
| 662 | - 'plugin_erreur_droit1' => 'Le répertoire <code>@dest@</code> n’est pas accessible en écriture.', |
|
| 663 | - 'plugin_erreur_droit2' => 'Veuillez vérifier les droits sur ce répertoire (et le créer le cas échéant), ou installer les fichiers par FTP.', |
|
| 664 | - 'plugin_erreur_zip' => 'échec pclzip : erreur @status@', |
|
| 665 | - 'plugin_etat_developpement' => 'en développement', |
|
| 666 | - 'plugin_etat_experimental' => 'expérimental', |
|
| 667 | - 'plugin_etat_stable' => 'stable', |
|
| 668 | - 'plugin_etat_test' => 'en test', |
|
| 669 | - 'plugin_impossible_activer' => 'Impossible d’activer le plugin @plugin@', |
|
| 670 | - 'plugin_info_automatique1' => 'Si vous souhaitez autoriser l’installation automatique des plugins, veuillez :', |
|
| 671 | - 'plugin_info_automatique1_lib' => 'Si vous souhaitez autoriser l’installation automatique de cette librairie, veuillez :', |
|
| 672 | - 'plugin_info_automatique2' => 'créer un répertoire <code>@rep@</code> ;', |
|
| 673 | - 'plugin_info_automatique3' => 'vérifier que le serveur est autorisé à écrire dans ce répertoire.', |
|
| 674 | - 'plugin_info_automatique_creer' => 'à créer à la racine du site.', |
|
| 675 | - 'plugin_info_automatique_exemples' => 'exemples :', |
|
| 676 | - 'plugin_info_automatique_ftp' => 'Vous pouvez installer des plugins, par FTP, dans le répertoire <tt>@rep@</tt>', |
|
| 677 | - 'plugin_info_automatique_lib' => 'Certains plugins demandent aussi à pouvoir télécharger des fichiers dans le répertoire <code>lib/</code>, à créer le cas échéant à la racine du site.', |
|
| 678 | - 'plugin_info_automatique_liste' => 'Vos listes de plugins :', |
|
| 679 | - 'plugin_info_automatique_liste_officielle' => 'les plugins officiels', |
|
| 680 | - 'plugin_info_automatique_liste_update' => 'Mettre à jour les listes', |
|
| 681 | - 'plugin_info_automatique_ou' => 'ou...', |
|
| 682 | - 'plugin_info_automatique_select' => 'Sélectionnez ci-dessous un plugin : SPIP le téléchargera et l’installera dans le répertoire <code>@rep@</code> ; si ce plugin existe déjà, il sera mis à jour.', |
|
| 683 | - 'plugin_info_credit' => 'Crédits', |
|
| 684 | - 'plugin_info_erreur_xml' => 'La déclaration de ce plugin est incorrecte', |
|
| 685 | - 'plugin_info_install_ok' => 'Installation réussie', |
|
| 686 | - 'plugin_info_necessite' => 'Nécessite :', |
|
| 687 | - 'plugin_info_non_compatible_spip' => 'Ce plugin n’est pas compatible avec cette version de SPIP', |
|
| 688 | - 'plugin_info_plugins_dist_1' => 'Les plugins ci-dessous sont chargés et activés dans le répertoire @plugins_dist@.', |
|
| 689 | - 'plugin_info_plugins_dist_2' => 'Ils ne sont pas désactivables.', |
|
| 690 | - 'plugin_info_telecharger' => 'à télécharger depuis @url@ et à installer dans @rep@', |
|
| 691 | - 'plugin_info_upgrade_ok' => 'Mise à jour réussie', |
|
| 692 | - 'plugin_librairies_installees' => 'Librairies installées', |
|
| 693 | - 'plugin_necessite_extension_php' => 'Nécessite l’extension PHP @plugin@ en version @version@.', |
|
| 694 | - 'plugin_necessite_extension_php_sans_version' => 'Nécessite l’extension PHP @plugin@', |
|
| 695 | - 'plugin_necessite_lib' => 'Ce plugin nécessite la librairie @lib@', |
|
| 696 | - 'plugin_necessite_php' => 'Nécessite @plugin@ en version @version@.', |
|
| 697 | - 'plugin_necessite_plugin' => 'Nécessite le plugin @plugin@ en version @version@ minimum.', |
|
| 698 | - 'plugin_necessite_plugin_sans_version' => 'Nécessite le plugin @plugin@', |
|
| 699 | - 'plugin_necessite_spip' => 'Nécessite SPIP en version @version@ minimum.', |
|
| 700 | - 'plugin_source' => 'source : ', |
|
| 701 | - 'plugin_titre_automatique' => 'Installation automatique', |
|
| 702 | - 'plugin_titre_automatique_ajouter' => 'Ajouter des plugins', |
|
| 703 | - 'plugin_titre_installation' => 'Installation du plugin @plugin@', |
|
| 704 | - 'plugin_titre_modifier' => 'Mes plugins', |
|
| 705 | - 'plugin_utilise_extension_php' => 'L’extension PHP @plugin@ doit être en version @version@.', |
|
| 706 | - 'plugin_utilise_php' => '@plugin@ doit être en version @version@.', |
|
| 707 | - 'plugin_utilise_plugin' => 'Le plugin @plugin@ doit être en version @version@.', |
|
| 708 | - 'plugin_zip_active' => 'Continuez pour l’activer', |
|
| 709 | - 'plugin_zip_adresse' => 'indiquez ci-dessous l’adresse d’un fichier zip de plugin à télécharger, ou encore l’adresse d’une liste de plugins.', |
|
| 710 | - 'plugin_zip_adresse_champ' => 'Adresse du plugin ou de la liste ', |
|
| 711 | - 'plugin_zip_content' => 'Il contient les fichiers suivants (@taille@),<br />prêts à installer dans le répertoire <code>@rep@</code>', |
|
| 712 | - 'plugin_zip_installe_finie' => 'Le fichier @zip@ a été décompacté et installé.', |
|
| 713 | - 'plugin_zip_installe_rep_finie' => 'Le fichier @zip@ a été décompacté et installé dans le répertoire @rep@', |
|
| 714 | - 'plugin_zip_installer' => 'Vous pouvez maintenant l’installer.', |
|
| 715 | - 'plugin_zip_telecharge' => 'Le fichier @zip@ a été téléchargé', |
|
| 716 | - 'plugins_actif_aucun' => 'Aucun plugin activé.', |
|
| 717 | - 'plugins_actif_un' => 'Un plugin activé.', |
|
| 718 | - 'plugins_actifs' => '@count@ plugins activés.', |
|
| 719 | - 'plugins_actifs_liste' => 'Actifs', |
|
| 720 | - 'plugins_compte' => '@count@ plugins', |
|
| 721 | - 'plugins_disponible_un' => 'Un plugin disponible.', |
|
| 722 | - 'plugins_disponibles' => '@count@ plugins disponibles.', |
|
| 723 | - 'plugins_erreur' => 'Erreur dans les plugins : @plugins@', |
|
| 724 | - 'plugins_liste' => 'Liste des plugins', |
|
| 725 | - 'plugins_liste_dist' => 'Plugins verrouillés', |
|
| 726 | - 'plugins_recents' => 'Plugins récents.', |
|
| 727 | - 'plugins_tous_liste' => 'Tous', |
|
| 728 | - 'plugins_vue_hierarchie' => 'Hiérarchie', |
|
| 729 | - 'plugins_vue_liste' => 'Liste', |
|
| 730 | - 'protocole_ldap' => 'Version du protocole :', |
|
| 655 | + // P |
|
| 656 | + 'page_pas_proxy' => 'Cette page ne doit pas passer par le proxy', |
|
| 657 | + 'pas_de_proxy_pour' => 'Au besoin, indiquez les machines ou domaines pour lesquels ce proxy ne doit pas s’appliquer (par exemple : @exemple@)', |
|
| 658 | + 'phpinfo' => 'Configuration PHP', |
|
| 659 | + 'plugin_charge_paquet' => 'Chargement du paquet @name@', |
|
| 660 | + 'plugin_charger' => 'Télécharger', |
|
| 661 | + 'plugin_erreur_charger' => 'erreur : impossible de charger @zip@', |
|
| 662 | + 'plugin_erreur_droit1' => 'Le répertoire <code>@dest@</code> n’est pas accessible en écriture.', |
|
| 663 | + 'plugin_erreur_droit2' => 'Veuillez vérifier les droits sur ce répertoire (et le créer le cas échéant), ou installer les fichiers par FTP.', |
|
| 664 | + 'plugin_erreur_zip' => 'échec pclzip : erreur @status@', |
|
| 665 | + 'plugin_etat_developpement' => 'en développement', |
|
| 666 | + 'plugin_etat_experimental' => 'expérimental', |
|
| 667 | + 'plugin_etat_stable' => 'stable', |
|
| 668 | + 'plugin_etat_test' => 'en test', |
|
| 669 | + 'plugin_impossible_activer' => 'Impossible d’activer le plugin @plugin@', |
|
| 670 | + 'plugin_info_automatique1' => 'Si vous souhaitez autoriser l’installation automatique des plugins, veuillez :', |
|
| 671 | + 'plugin_info_automatique1_lib' => 'Si vous souhaitez autoriser l’installation automatique de cette librairie, veuillez :', |
|
| 672 | + 'plugin_info_automatique2' => 'créer un répertoire <code>@rep@</code> ;', |
|
| 673 | + 'plugin_info_automatique3' => 'vérifier que le serveur est autorisé à écrire dans ce répertoire.', |
|
| 674 | + 'plugin_info_automatique_creer' => 'à créer à la racine du site.', |
|
| 675 | + 'plugin_info_automatique_exemples' => 'exemples :', |
|
| 676 | + 'plugin_info_automatique_ftp' => 'Vous pouvez installer des plugins, par FTP, dans le répertoire <tt>@rep@</tt>', |
|
| 677 | + 'plugin_info_automatique_lib' => 'Certains plugins demandent aussi à pouvoir télécharger des fichiers dans le répertoire <code>lib/</code>, à créer le cas échéant à la racine du site.', |
|
| 678 | + 'plugin_info_automatique_liste' => 'Vos listes de plugins :', |
|
| 679 | + 'plugin_info_automatique_liste_officielle' => 'les plugins officiels', |
|
| 680 | + 'plugin_info_automatique_liste_update' => 'Mettre à jour les listes', |
|
| 681 | + 'plugin_info_automatique_ou' => 'ou...', |
|
| 682 | + 'plugin_info_automatique_select' => 'Sélectionnez ci-dessous un plugin : SPIP le téléchargera et l’installera dans le répertoire <code>@rep@</code> ; si ce plugin existe déjà, il sera mis à jour.', |
|
| 683 | + 'plugin_info_credit' => 'Crédits', |
|
| 684 | + 'plugin_info_erreur_xml' => 'La déclaration de ce plugin est incorrecte', |
|
| 685 | + 'plugin_info_install_ok' => 'Installation réussie', |
|
| 686 | + 'plugin_info_necessite' => 'Nécessite :', |
|
| 687 | + 'plugin_info_non_compatible_spip' => 'Ce plugin n’est pas compatible avec cette version de SPIP', |
|
| 688 | + 'plugin_info_plugins_dist_1' => 'Les plugins ci-dessous sont chargés et activés dans le répertoire @plugins_dist@.', |
|
| 689 | + 'plugin_info_plugins_dist_2' => 'Ils ne sont pas désactivables.', |
|
| 690 | + 'plugin_info_telecharger' => 'à télécharger depuis @url@ et à installer dans @rep@', |
|
| 691 | + 'plugin_info_upgrade_ok' => 'Mise à jour réussie', |
|
| 692 | + 'plugin_librairies_installees' => 'Librairies installées', |
|
| 693 | + 'plugin_necessite_extension_php' => 'Nécessite l’extension PHP @plugin@ en version @version@.', |
|
| 694 | + 'plugin_necessite_extension_php_sans_version' => 'Nécessite l’extension PHP @plugin@', |
|
| 695 | + 'plugin_necessite_lib' => 'Ce plugin nécessite la librairie @lib@', |
|
| 696 | + 'plugin_necessite_php' => 'Nécessite @plugin@ en version @version@.', |
|
| 697 | + 'plugin_necessite_plugin' => 'Nécessite le plugin @plugin@ en version @version@ minimum.', |
|
| 698 | + 'plugin_necessite_plugin_sans_version' => 'Nécessite le plugin @plugin@', |
|
| 699 | + 'plugin_necessite_spip' => 'Nécessite SPIP en version @version@ minimum.', |
|
| 700 | + 'plugin_source' => 'source : ', |
|
| 701 | + 'plugin_titre_automatique' => 'Installation automatique', |
|
| 702 | + 'plugin_titre_automatique_ajouter' => 'Ajouter des plugins', |
|
| 703 | + 'plugin_titre_installation' => 'Installation du plugin @plugin@', |
|
| 704 | + 'plugin_titre_modifier' => 'Mes plugins', |
|
| 705 | + 'plugin_utilise_extension_php' => 'L’extension PHP @plugin@ doit être en version @version@.', |
|
| 706 | + 'plugin_utilise_php' => '@plugin@ doit être en version @version@.', |
|
| 707 | + 'plugin_utilise_plugin' => 'Le plugin @plugin@ doit être en version @version@.', |
|
| 708 | + 'plugin_zip_active' => 'Continuez pour l’activer', |
|
| 709 | + 'plugin_zip_adresse' => 'indiquez ci-dessous l’adresse d’un fichier zip de plugin à télécharger, ou encore l’adresse d’une liste de plugins.', |
|
| 710 | + 'plugin_zip_adresse_champ' => 'Adresse du plugin ou de la liste ', |
|
| 711 | + 'plugin_zip_content' => 'Il contient les fichiers suivants (@taille@),<br />prêts à installer dans le répertoire <code>@rep@</code>', |
|
| 712 | + 'plugin_zip_installe_finie' => 'Le fichier @zip@ a été décompacté et installé.', |
|
| 713 | + 'plugin_zip_installe_rep_finie' => 'Le fichier @zip@ a été décompacté et installé dans le répertoire @rep@', |
|
| 714 | + 'plugin_zip_installer' => 'Vous pouvez maintenant l’installer.', |
|
| 715 | + 'plugin_zip_telecharge' => 'Le fichier @zip@ a été téléchargé', |
|
| 716 | + 'plugins_actif_aucun' => 'Aucun plugin activé.', |
|
| 717 | + 'plugins_actif_un' => 'Un plugin activé.', |
|
| 718 | + 'plugins_actifs' => '@count@ plugins activés.', |
|
| 719 | + 'plugins_actifs_liste' => 'Actifs', |
|
| 720 | + 'plugins_compte' => '@count@ plugins', |
|
| 721 | + 'plugins_disponible_un' => 'Un plugin disponible.', |
|
| 722 | + 'plugins_disponibles' => '@count@ plugins disponibles.', |
|
| 723 | + 'plugins_erreur' => 'Erreur dans les plugins : @plugins@', |
|
| 724 | + 'plugins_liste' => 'Liste des plugins', |
|
| 725 | + 'plugins_liste_dist' => 'Plugins verrouillés', |
|
| 726 | + 'plugins_recents' => 'Plugins récents.', |
|
| 727 | + 'plugins_tous_liste' => 'Tous', |
|
| 728 | + 'plugins_vue_hierarchie' => 'Hiérarchie', |
|
| 729 | + 'plugins_vue_liste' => 'Liste', |
|
| 730 | + 'protocole_ldap' => 'Version du protocole :', |
|
| 731 | 731 | |
| 732 | - // Q |
|
| 733 | - 'queue_executer_maintenant' => 'Exécuter maintenant', |
|
| 734 | - 'queue_info_purger' => 'Vous pouvez supprimer toutes les tâches de fond en attente et réinitialiser la liste avec les tâches périodiques', |
|
| 735 | - 'queue_nb_jobs_in_queue' => '@nb@ tâches en attente', |
|
| 736 | - 'queue_next_job_in_nb_sec' => 'Prochaine tâche dans @nb@ s', |
|
| 737 | - 'queue_no_job_in_queue' => 'Aucune tâche en attente', |
|
| 738 | - 'queue_one_job_in_queue' => '1 tâche en attente', |
|
| 739 | - 'queue_priorite_tache' => 'priorité', |
|
| 740 | - 'queue_purger_queue' => 'Réinitialiser la liste des tâches', |
|
| 741 | - 'queue_titre' => 'Tâches de fond', |
|
| 732 | + // Q |
|
| 733 | + 'queue_executer_maintenant' => 'Exécuter maintenant', |
|
| 734 | + 'queue_info_purger' => 'Vous pouvez supprimer toutes les tâches de fond en attente et réinitialiser la liste avec les tâches périodiques', |
|
| 735 | + 'queue_nb_jobs_in_queue' => '@nb@ tâches en attente', |
|
| 736 | + 'queue_next_job_in_nb_sec' => 'Prochaine tâche dans @nb@ s', |
|
| 737 | + 'queue_no_job_in_queue' => 'Aucune tâche en attente', |
|
| 738 | + 'queue_one_job_in_queue' => '1 tâche en attente', |
|
| 739 | + 'queue_priorite_tache' => 'priorité', |
|
| 740 | + 'queue_purger_queue' => 'Réinitialiser la liste des tâches', |
|
| 741 | + 'queue_titre' => 'Tâches de fond', |
|
| 742 | 742 | |
| 743 | - // R |
|
| 744 | - 'repertoire_plugins' => 'Répertoire :', |
|
| 745 | - 'required' => '(obligatoire)', |
|
| 743 | + // R |
|
| 744 | + 'repertoire_plugins' => 'Répertoire :', |
|
| 745 | + 'required' => '(obligatoire)', |
|
| 746 | 746 | |
| 747 | - // S |
|
| 748 | - 'sans_heure' => 'sans heure', |
|
| 749 | - 'statut_admin_restreint' => 'admin restreinte', |
|
| 750 | - 'statut_webmestre' => 'webmestre', |
|
| 747 | + // S |
|
| 748 | + 'sans_heure' => 'sans heure', |
|
| 749 | + 'statut_admin_restreint' => 'admin restreinte', |
|
| 750 | + 'statut_webmestre' => 'webmestre', |
|
| 751 | 751 | |
| 752 | - // T |
|
| 753 | - 'tache_cron_asap' => 'Tâche CRON @function@ (ASAP)', |
|
| 754 | - 'tache_cron_secondes' => 'Tâche CRON @function@ (toutes les @nb@ s)', |
|
| 755 | - 'taille_cache_image' => 'Les images calculées automatiquement par SPIP (vignettes des documents, titres présentés sous forme graphique, fonctions mathématiques au format TeX...) occupent dans le répertoire @dir@ un total de @taille@.', |
|
| 756 | - 'taille_cache_infinie' => 'Ce site ne prévoit pas de limitation de taille du répertoire du cache.', |
|
| 757 | - 'taille_cache_maxi' => 'SPIP essaie de limiter la taille du répertoire du cache de ce site à environ <b>@octets@</b> de données.', |
|
| 758 | - 'taille_cache_moins_de' => 'La taille du cache est de moins de @octets@.', |
|
| 759 | - 'taille_cache_octets' => 'La taille du cache est actuellement de @octets@ environ.', |
|
| 760 | - 'taille_cache_vide' => 'Le cache est vide.', |
|
| 761 | - 'taille_repertoire_cache' => 'Taille du répertoire cache', |
|
| 762 | - 'text_article_propose_publication' => 'Article proposé pour la publication.', |
|
| 763 | - 'texte_acces_ldap_anonyme_1' => 'Certains serveurs LDAP n’acceptent aucun accès anonyme. Dans ce cas il faut spécifier un identifiant d’accès initial afin de pouvoir ensuite rechercher des informations dans l’annuaire. Dans la plupart des cas néanmoins, les champs suivants pourront être laissés vides.', |
|
| 764 | - 'texte_admin_effacer_01' => 'Cette commande efface <i>tout</i> le contenu de la base de données, |
|
| 752 | + // T |
|
| 753 | + 'tache_cron_asap' => 'Tâche CRON @function@ (ASAP)', |
|
| 754 | + 'tache_cron_secondes' => 'Tâche CRON @function@ (toutes les @nb@ s)', |
|
| 755 | + 'taille_cache_image' => 'Les images calculées automatiquement par SPIP (vignettes des documents, titres présentés sous forme graphique, fonctions mathématiques au format TeX...) occupent dans le répertoire @dir@ un total de @taille@.', |
|
| 756 | + 'taille_cache_infinie' => 'Ce site ne prévoit pas de limitation de taille du répertoire du cache.', |
|
| 757 | + 'taille_cache_maxi' => 'SPIP essaie de limiter la taille du répertoire du cache de ce site à environ <b>@octets@</b> de données.', |
|
| 758 | + 'taille_cache_moins_de' => 'La taille du cache est de moins de @octets@.', |
|
| 759 | + 'taille_cache_octets' => 'La taille du cache est actuellement de @octets@ environ.', |
|
| 760 | + 'taille_cache_vide' => 'Le cache est vide.', |
|
| 761 | + 'taille_repertoire_cache' => 'Taille du répertoire cache', |
|
| 762 | + 'text_article_propose_publication' => 'Article proposé pour la publication.', |
|
| 763 | + 'texte_acces_ldap_anonyme_1' => 'Certains serveurs LDAP n’acceptent aucun accès anonyme. Dans ce cas il faut spécifier un identifiant d’accès initial afin de pouvoir ensuite rechercher des informations dans l’annuaire. Dans la plupart des cas néanmoins, les champs suivants pourront être laissés vides.', |
|
| 764 | + 'texte_admin_effacer_01' => 'Cette commande efface <i>tout</i> le contenu de la base de données, |
|
| 765 | 765 | y compris <i>tous</i> les accès rédactrices et administratrices. Après l’avoir exécutée, vous devrez lancer la |
| 766 | 766 | réinstallation de SPIP pour recréer une nouvelle base ainsi qu’un premier accès administratrice.', |
| 767 | - 'texte_adresse_annuaire_1' => '(Si votre annuaire est installé sur la même machine que ce site Web, il s’agit probablement de « localhost ».)', |
|
| 768 | - 'texte_ajout_auteur' => 'L’autrice suivante a été ajoutée à l’article :', |
|
| 769 | - 'texte_annuaire_ldap_1' => 'Si vous avez accès à un annuaire (LDAP), vous pouvez l’utiliser pour importer automatiquement des utilisatrices sous SPIP.', |
|
| 770 | - 'texte_article_statut' => 'Cet article est :', |
|
| 771 | - 'texte_article_virtuel' => 'Article virtuel', |
|
| 772 | - 'texte_article_virtuel_reference' => '<b>Article virtuel :</b> article référencé dans votre site SPIP, mais redirigé vers une autre URL. Pour supprimer la redirection, effacez l’URL ci-dessus.', |
|
| 773 | - 'texte_aucun_resultat_auteur' => 'Aucun résultat pour "@cherche_auteur@"', |
|
| 774 | - 'texte_auteur_messagerie' => 'Ce site peut vous indiquer en permanence la liste des rédactrices connectées, ce qui vous permet d’échanger des messages en direct. Vous pouvez décider de ne pas apparaître dans cette liste (vous êtes « invisible » pour les autres utilisatrices).', |
|
| 775 | - 'texte_auteurs' => 'LES AUTRICES', |
|
| 776 | - 'texte_choix_base_1' => 'Choisissez votre base :', |
|
| 777 | - 'texte_choix_base_2' => 'Le serveur SQL contient plusieurs bases de données.', |
|
| 778 | - 'texte_choix_base_3' => '<b>Sélectionnez</b> ci-après celle qui vous a été attribuée par votre hébergeur :', |
|
| 779 | - 'texte_choix_table_prefix' => 'Préfixe des tables :', |
|
| 780 | - 'texte_compte_element' => '@count@ élément', |
|
| 781 | - 'texte_compte_elements' => '@count@ éléments', |
|
| 782 | - 'texte_conflit_edition_correction' => 'Veuillez contrôler ci-dessous les différences entre les deux versions du texte ; vous pouvez aussi copier vos modifications, puis recommencer.', |
|
| 783 | - 'texte_connexion_mysql' => 'Consultez les informations fournies par votre hébergeur : vous devez y trouver le serveur de base de données qu’il propose et vos identifiants personnels pour vous y connecter.', |
|
| 784 | - 'texte_contenu_article' => '(Contenu de l’article en quelques mots.)', |
|
| 785 | - 'texte_contenu_articles' => 'Selon la maquette adoptée pour votre site, vous pouvez décider |
|
| 767 | + 'texte_adresse_annuaire_1' => '(Si votre annuaire est installé sur la même machine que ce site Web, il s’agit probablement de « localhost ».)', |
|
| 768 | + 'texte_ajout_auteur' => 'L’autrice suivante a été ajoutée à l’article :', |
|
| 769 | + 'texte_annuaire_ldap_1' => 'Si vous avez accès à un annuaire (LDAP), vous pouvez l’utiliser pour importer automatiquement des utilisatrices sous SPIP.', |
|
| 770 | + 'texte_article_statut' => 'Cet article est :', |
|
| 771 | + 'texte_article_virtuel' => 'Article virtuel', |
|
| 772 | + 'texte_article_virtuel_reference' => '<b>Article virtuel :</b> article référencé dans votre site SPIP, mais redirigé vers une autre URL. Pour supprimer la redirection, effacez l’URL ci-dessus.', |
|
| 773 | + 'texte_aucun_resultat_auteur' => 'Aucun résultat pour "@cherche_auteur@"', |
|
| 774 | + 'texte_auteur_messagerie' => 'Ce site peut vous indiquer en permanence la liste des rédactrices connectées, ce qui vous permet d’échanger des messages en direct. Vous pouvez décider de ne pas apparaître dans cette liste (vous êtes « invisible » pour les autres utilisatrices).', |
|
| 775 | + 'texte_auteurs' => 'LES AUTRICES', |
|
| 776 | + 'texte_choix_base_1' => 'Choisissez votre base :', |
|
| 777 | + 'texte_choix_base_2' => 'Le serveur SQL contient plusieurs bases de données.', |
|
| 778 | + 'texte_choix_base_3' => '<b>Sélectionnez</b> ci-après celle qui vous a été attribuée par votre hébergeur :', |
|
| 779 | + 'texte_choix_table_prefix' => 'Préfixe des tables :', |
|
| 780 | + 'texte_compte_element' => '@count@ élément', |
|
| 781 | + 'texte_compte_elements' => '@count@ éléments', |
|
| 782 | + 'texte_conflit_edition_correction' => 'Veuillez contrôler ci-dessous les différences entre les deux versions du texte ; vous pouvez aussi copier vos modifications, puis recommencer.', |
|
| 783 | + 'texte_connexion_mysql' => 'Consultez les informations fournies par votre hébergeur : vous devez y trouver le serveur de base de données qu’il propose et vos identifiants personnels pour vous y connecter.', |
|
| 784 | + 'texte_contenu_article' => '(Contenu de l’article en quelques mots.)', |
|
| 785 | + 'texte_contenu_articles' => 'Selon la maquette adoptée pour votre site, vous pouvez décider |
|
| 786 | 786 | que certains éléments des articles ne sont pas utilisés. |
| 787 | 787 | Utilisez la liste ci-dessous pour indiquer quels éléments sont disponibles.', |
| 788 | - 'texte_crash_base' => 'Si votre base de données a |
|
| 788 | + 'texte_crash_base' => 'Si votre base de données a |
|
| 789 | 789 | crashé, vous pouvez tenter une réparation |
| 790 | 790 | automatique.', |
| 791 | - 'texte_creer_rubrique' => 'Avant de pouvoir écrire des articles,<br /> vous devez créer une rubrique.', |
|
| 792 | - 'texte_date_creation_article' => 'DATE DE CRÉATION DE L’ARTICLE :', |
|
| 793 | - 'texte_date_creation_objet' => 'Date de création :', # on ajoute le ":" |
|
| 794 | - 'texte_date_publication_anterieure' => 'Date de rédaction antérieure :', |
|
| 795 | - 'texte_date_publication_anterieure_nonaffichee' => 'Ne pas afficher de date de rédaction antérieure.', |
|
| 796 | - 'texte_date_publication_article' => 'DATE DE PUBLICATION EN LIGNE :', |
|
| 797 | - 'texte_date_publication_objet' => 'Date de publication en ligne :', |
|
| 798 | - 'texte_definir_comme_traduction_rubrique' => 'Cette rubrique est une traduction de la rubrique numéro :', |
|
| 799 | - 'texte_descriptif_rapide' => 'Descriptif rapide', |
|
| 800 | - 'texte_effacer_base' => 'Effacer la base de données SPIP', |
|
| 801 | - 'texte_effacer_statistiques' => 'Effacer les statistiques', |
|
| 802 | - 'texte_en_cours_validation' => 'Les contenus ci-dessous sont en attente de validation.', |
|
| 803 | - 'texte_enrichir_mise_a_jour' => 'Vous pouvez enrichir la mise en page de votre texte en utilisant des « raccourcis typographiques ».', |
|
| 804 | - 'texte_fichier_authent' => '<b>SPIP doit-il créer les fichiers spéciaux <tt>.htpasswd</tt> et <tt>.htpasswd-admin</tt> dans le répertoire @dossier@ ?</b> |
|
| 791 | + 'texte_creer_rubrique' => 'Avant de pouvoir écrire des articles,<br /> vous devez créer une rubrique.', |
|
| 792 | + 'texte_date_creation_article' => 'DATE DE CRÉATION DE L’ARTICLE :', |
|
| 793 | + 'texte_date_creation_objet' => 'Date de création :', # on ajoute le ":" |
|
| 794 | + 'texte_date_publication_anterieure' => 'Date de rédaction antérieure :', |
|
| 795 | + 'texte_date_publication_anterieure_nonaffichee' => 'Ne pas afficher de date de rédaction antérieure.', |
|
| 796 | + 'texte_date_publication_article' => 'DATE DE PUBLICATION EN LIGNE :', |
|
| 797 | + 'texte_date_publication_objet' => 'Date de publication en ligne :', |
|
| 798 | + 'texte_definir_comme_traduction_rubrique' => 'Cette rubrique est une traduction de la rubrique numéro :', |
|
| 799 | + 'texte_descriptif_rapide' => 'Descriptif rapide', |
|
| 800 | + 'texte_effacer_base' => 'Effacer la base de données SPIP', |
|
| 801 | + 'texte_effacer_statistiques' => 'Effacer les statistiques', |
|
| 802 | + 'texte_en_cours_validation' => 'Les contenus ci-dessous sont en attente de validation.', |
|
| 803 | + 'texte_enrichir_mise_a_jour' => 'Vous pouvez enrichir la mise en page de votre texte en utilisant des « raccourcis typographiques ».', |
|
| 804 | + 'texte_fichier_authent' => '<b>SPIP doit-il créer les fichiers spéciaux <tt>.htpasswd</tt> et <tt>.htpasswd-admin</tt> dans le répertoire @dossier@ ?</b> |
|
| 805 | 805 | <p>Ces fichiers peuvent vous servir à restreindre l’accès aux autrices et administratrices en d’autres endroits de votre site (programme externe de statistiques, par exemple).</p> |
| 806 | 806 | <p>Si vous n’en avez pas l’utilité, vous pouvez laisser cette option à sa valeur par défaut (pas de création des fichiers).</p>', |
| 807 | - 'texte_informations_personnelles_1' => 'Le système va maintenant vous créer un accès personnalisé au site.', |
|
| 808 | - 'texte_informations_personnelles_2' => '(Note : il s’agit d’une réinstallation, si votre accès marche toujours vous pouvez', |
|
| 809 | - 'texte_introductif_article' => '(Texte introductif de l’article.)', |
|
| 810 | - 'texte_jeu_caractere' => 'Il est conseillé d’employer, sur votre site, l’alphabet universel (<tt>utf-8</tt>) : celui-ci permet l’affichage de textes dans toutes les langues, et ne pose plus de problèmes de compatibilité avec les navigateurs modernes.', |
|
| 811 | - 'texte_jeu_caractere_3' => 'Votre site est actuellement installé dans le jeu de caractères :', |
|
| 812 | - 'texte_jeu_caractere_4' => 'Si cela ne correspond pas à la réalité de vos données (suite, par exemple, à une restauration de base de données), ou si <em>vous démarrez ce site</em> et souhaitez partir sur un autre jeu de caractères, veuillez indiquer ce dernier ici :', |
|
| 813 | - 'texte_login_ldap_1' => '(Laisser vide pour un accès anonyme, ou entrer le chemin complet, par exemple « <tt>uid=dupont, ou=users, dc=mon-domaine, dc=com</tt> ».)', |
|
| 814 | - 'texte_login_precaution' => 'Attention ! Ceci est le login sous lequel vous êtes connectée actuellement. |
|
| 807 | + 'texte_informations_personnelles_1' => 'Le système va maintenant vous créer un accès personnalisé au site.', |
|
| 808 | + 'texte_informations_personnelles_2' => '(Note : il s’agit d’une réinstallation, si votre accès marche toujours vous pouvez', |
|
| 809 | + 'texte_introductif_article' => '(Texte introductif de l’article.)', |
|
| 810 | + 'texte_jeu_caractere' => 'Il est conseillé d’employer, sur votre site, l’alphabet universel (<tt>utf-8</tt>) : celui-ci permet l’affichage de textes dans toutes les langues, et ne pose plus de problèmes de compatibilité avec les navigateurs modernes.', |
|
| 811 | + 'texte_jeu_caractere_3' => 'Votre site est actuellement installé dans le jeu de caractères :', |
|
| 812 | + 'texte_jeu_caractere_4' => 'Si cela ne correspond pas à la réalité de vos données (suite, par exemple, à une restauration de base de données), ou si <em>vous démarrez ce site</em> et souhaitez partir sur un autre jeu de caractères, veuillez indiquer ce dernier ici :', |
|
| 813 | + 'texte_login_ldap_1' => '(Laisser vide pour un accès anonyme, ou entrer le chemin complet, par exemple « <tt>uid=dupont, ou=users, dc=mon-domaine, dc=com</tt> ».)', |
|
| 814 | + 'texte_login_precaution' => 'Attention ! Ceci est le login sous lequel vous êtes connectée actuellement. |
|
| 815 | 815 | Utilisez ce formulaire avec précaution...', |
| 816 | - 'texte_messagerie_agenda' => 'Une messagerie permet aux rédactrices du site de communiquer entre elles directement dans l’espace privé du site. Elle est associée à un agenda.', |
|
| 817 | - 'texte_mise_a_niveau_base_1' => 'Vous venez de mettre à jour les fichiers SPIP. |
|
| 816 | + 'texte_messagerie_agenda' => 'Une messagerie permet aux rédactrices du site de communiquer entre elles directement dans l’espace privé du site. Elle est associée à un agenda.', |
|
| 817 | + 'texte_mise_a_niveau_base_1' => 'Vous venez de mettre à jour les fichiers SPIP. |
|
| 818 | 818 | Il faut maintenant mettre à niveau la base de données |
| 819 | 819 | du site.', |
| 820 | - 'texte_modifier_article' => 'Modifier l’article :', |
|
| 821 | - 'texte_multilinguisme' => 'Si vous souhaitez gérer des objets en plusieurs langues, avec une navigation complexe, vous pouvez ajouter un menu de sélection de langue sur ces objets, en fonction de l’organisation de votre site.', |
|
| 822 | - 'texte_multilinguisme_trad' => 'Vous pouvez également activer un système de gestion de liens entre les différentes traductions sur certains objets.', |
|
| 823 | - 'texte_non_compresse' => '<i>non compressé</i> (votre serveur ne supportant pas cette fonctionnalité)', |
|
| 824 | - 'texte_nouvelle_version_spip_1' => 'Vous avez installé une nouvelle version de SPIP.', |
|
| 825 | - 'texte_nouvelle_version_spip_2' => 'Cette nouvelle version nécessite une mise à jour plus complète qu’à l’accoutumée. Si vous êtes webmestre du site, veuillez effacer le fichier @connect@ et reprendre l’installation afin de mettre à jour vos paramètres de connexion à la base de données.<p> (NB. : si vous avez oublié vos paramètres de connexion, jetez un œil au fichier @connect@ avant de le supprimer...)</p>', |
|
| 826 | - 'texte_operation_echec' => 'Retournez à la page précédente, sélectionnez une autre base ou créez-en une nouvelle. Vérifiez les informations fournies par votre hébergeur.', |
|
| 827 | - 'texte_plus_trois_car' => 'plus de 3 caractères', |
|
| 828 | - 'texte_plusieurs_articles' => 'Plusieurs autrices trouvées pour "@cherche_auteur@" :', |
|
| 829 | - 'texte_port_annuaire' => '(La valeur indiquée par défaut convient généralement.)', |
|
| 830 | - 'texte_presente_plugin' => 'Cette page liste les plugins disponibles sur le site. Vous pouvez activer les plugins nécessaires en cochant la case correspondante.', |
|
| 831 | - 'texte_proposer_publication' => 'Lorsque votre article est terminé,<br /> vous pouvez proposer sa publication.', |
|
| 832 | - 'texte_proxy' => 'Dans certains cas (intranet, réseaux protégés), les sites distants (documentation de SPIP, sites syndiqués, etc.) ne sont accessibles qu’à travers un <i>proxy HTTP</i>. Le cas échéant, indiquez ci-dessous son adresse, sous la forme @proxy_en_cours@. En général, vous laisserez cette case vide.', |
|
| 833 | - 'texte_publication_articles_post_dates' => 'Quel comportement SPIP doit-il adopter face aux articles dont la |
|
| 820 | + 'texte_modifier_article' => 'Modifier l’article :', |
|
| 821 | + 'texte_multilinguisme' => 'Si vous souhaitez gérer des objets en plusieurs langues, avec une navigation complexe, vous pouvez ajouter un menu de sélection de langue sur ces objets, en fonction de l’organisation de votre site.', |
|
| 822 | + 'texte_multilinguisme_trad' => 'Vous pouvez également activer un système de gestion de liens entre les différentes traductions sur certains objets.', |
|
| 823 | + 'texte_non_compresse' => '<i>non compressé</i> (votre serveur ne supportant pas cette fonctionnalité)', |
|
| 824 | + 'texte_nouvelle_version_spip_1' => 'Vous avez installé une nouvelle version de SPIP.', |
|
| 825 | + 'texte_nouvelle_version_spip_2' => 'Cette nouvelle version nécessite une mise à jour plus complète qu’à l’accoutumée. Si vous êtes webmestre du site, veuillez effacer le fichier @connect@ et reprendre l’installation afin de mettre à jour vos paramètres de connexion à la base de données.<p> (NB. : si vous avez oublié vos paramètres de connexion, jetez un œil au fichier @connect@ avant de le supprimer...)</p>', |
|
| 826 | + 'texte_operation_echec' => 'Retournez à la page précédente, sélectionnez une autre base ou créez-en une nouvelle. Vérifiez les informations fournies par votre hébergeur.', |
|
| 827 | + 'texte_plus_trois_car' => 'plus de 3 caractères', |
|
| 828 | + 'texte_plusieurs_articles' => 'Plusieurs autrices trouvées pour "@cherche_auteur@" :', |
|
| 829 | + 'texte_port_annuaire' => '(La valeur indiquée par défaut convient généralement.)', |
|
| 830 | + 'texte_presente_plugin' => 'Cette page liste les plugins disponibles sur le site. Vous pouvez activer les plugins nécessaires en cochant la case correspondante.', |
|
| 831 | + 'texte_proposer_publication' => 'Lorsque votre article est terminé,<br /> vous pouvez proposer sa publication.', |
|
| 832 | + 'texte_proxy' => 'Dans certains cas (intranet, réseaux protégés), les sites distants (documentation de SPIP, sites syndiqués, etc.) ne sont accessibles qu’à travers un <i>proxy HTTP</i>. Le cas échéant, indiquez ci-dessous son adresse, sous la forme @proxy_en_cours@. En général, vous laisserez cette case vide.', |
|
| 833 | + 'texte_publication_articles_post_dates' => 'Quel comportement SPIP doit-il adopter face aux articles dont la |
|
| 834 | 834 | date de publication a été fixée à une |
| 835 | 835 | échéance future ?', |
| 836 | - 'texte_rappel_selection_champs' => '[N’oubliez pas de sélectionner correctement ce champ.]', |
|
| 837 | - 'texte_recalcul_page' => 'Si vous voulez |
|
| 836 | + 'texte_rappel_selection_champs' => '[N’oubliez pas de sélectionner correctement ce champ.]', |
|
| 837 | + 'texte_recalcul_page' => 'Si vous voulez |
|
| 838 | 838 | recalculer une seule page, passez plutôt par l’espace public et utilisez-y le bouton « recalculer ».', |
| 839 | - 'texte_recuperer_base' => 'Réparer la base de données', |
|
| 840 | - 'texte_reference_mais_redirige' => 'article référencé dans votre site SPIP, mais redirigé vers une autre URL.', |
|
| 841 | - 'texte_requetes_echouent' => '<b>Lorsque certaines requêtes SQL échouent |
|
| 839 | + 'texte_recuperer_base' => 'Réparer la base de données', |
|
| 840 | + 'texte_reference_mais_redirige' => 'article référencé dans votre site SPIP, mais redirigé vers une autre URL.', |
|
| 841 | + 'texte_requetes_echouent' => '<b>Lorsque certaines requêtes SQL échouent |
|
| 842 | 842 | systématiquement et sans raison apparente, il est possible |
| 843 | 843 | que ce soit à cause de la base de données |
| 844 | 844 | elle-même.</b><p> |
@@ -849,90 +849,90 @@ discard block |
||
| 849 | 849 | peut-être des indices de ce qui ne va pas...</p><p> |
| 850 | 850 | Si le problème persiste, prenez contact avec votre |
| 851 | 851 | hébergeur.</p>', |
| 852 | - 'texte_selection_langue_principale' => 'Vous pouvez sélectionner ci-dessous la « langue principale » du site. Ce choix ne vous oblige - heureusement ! - pas à écrire vos articles dans la langue sélectionnée, mais permet de déterminer : |
|
| 852 | + 'texte_selection_langue_principale' => 'Vous pouvez sélectionner ci-dessous la « langue principale » du site. Ce choix ne vous oblige - heureusement ! - pas à écrire vos articles dans la langue sélectionnée, mais permet de déterminer : |
|
| 853 | 853 | <ul><li> le format par défaut des dates sur le site public ;</li> |
| 854 | 854 | <li> la nature du moteur typographique que SPIP doit utiliser pour le rendu des textes ;</li> |
| 855 | 855 | <li> la langue utilisée dans les formulaires du site public ;</li> |
| 856 | 856 | <li> la langue présentée par défaut dans l’espace privé.</li></ul>', |
| 857 | - 'texte_sous_titre' => 'Sous-titre', |
|
| 858 | - 'texte_statistiques_visites' => '(barres foncées : dimanche / courbe foncée : évolution de la moyenne)', |
|
| 859 | - 'texte_statut_attente_validation' => 'en attente de validation', |
|
| 860 | - 'texte_statut_publies' => 'publiés en ligne', |
|
| 861 | - 'texte_statut_refuses' => 'refusés', |
|
| 862 | - 'texte_suppression_fichiers' => 'Utilisez cette commande afin de supprimer tous les fichiers présents |
|
| 857 | + 'texte_sous_titre' => 'Sous-titre', |
|
| 858 | + 'texte_statistiques_visites' => '(barres foncées : dimanche / courbe foncée : évolution de la moyenne)', |
|
| 859 | + 'texte_statut_attente_validation' => 'en attente de validation', |
|
| 860 | + 'texte_statut_publies' => 'publiés en ligne', |
|
| 861 | + 'texte_statut_refuses' => 'refusés', |
|
| 862 | + 'texte_suppression_fichiers' => 'Utilisez cette commande afin de supprimer tous les fichiers présents |
|
| 863 | 863 | dans le cache SPIP. Cela permet par exemple de forcer un recalcul de toutes les pages si vous |
| 864 | 864 | avez fait des modifications importantes de graphisme ou de structure du site.', |
| 865 | - 'texte_sur_titre' => 'Sur-titre', |
|
| 866 | - 'texte_table_ok' => ' : cette table est OK.', |
|
| 867 | - 'texte_tentative_recuperation' => 'Tentative de réparation', |
|
| 868 | - 'texte_tenter_reparation' => 'Tenter une réparation de la base de données', |
|
| 869 | - 'texte_test_proxy' => 'Pour faire un essai de ce proxy, indiquez ici l’adresse d’un site Web |
|
| 865 | + 'texte_sur_titre' => 'Sur-titre', |
|
| 866 | + 'texte_table_ok' => ' : cette table est OK.', |
|
| 867 | + 'texte_tentative_recuperation' => 'Tentative de réparation', |
|
| 868 | + 'texte_tenter_reparation' => 'Tenter une réparation de la base de données', |
|
| 869 | + 'texte_test_proxy' => 'Pour faire un essai de ce proxy, indiquez ici l’adresse d’un site Web |
|
| 870 | 870 | que vous souhaitez tester.', |
| 871 | - 'texte_titre_02' => 'Titre :', |
|
| 872 | - 'texte_titre_obligatoire' => '<b>Titre</b> [Obligatoire]', |
|
| 873 | - 'texte_travail_article' => '@nom_auteur_modif@ a travaillé sur cet article il y a @date_diff@ minutes', |
|
| 874 | - 'texte_travail_collaboratif' => 'S’il est fréquent que plusieures rédactrices |
|
| 871 | + 'texte_titre_02' => 'Titre :', |
|
| 872 | + 'texte_titre_obligatoire' => '<b>Titre</b> [Obligatoire]', |
|
| 873 | + 'texte_travail_article' => '@nom_auteur_modif@ a travaillé sur cet article il y a @date_diff@ minutes', |
|
| 874 | + 'texte_travail_collaboratif' => 'S’il est fréquent que plusieures rédactrices |
|
| 875 | 875 | travaillent sur le même article, le système |
| 876 | 876 | peut afficher les articles récemment « ouverts » |
| 877 | 877 | afin d’éviter les modifications simultanées. |
| 878 | 878 | Cette option est désactivée par défaut |
| 879 | 879 | afin d’éviter d’afficher des messages d’avertissement |
| 880 | 880 | intempestifs.', |
| 881 | - 'texte_vide' => 'vide', |
|
| 882 | - 'texte_vider_cache' => 'Vider le cache', |
|
| 883 | - 'titre_admin_tech' => 'Maintenance technique', |
|
| 884 | - 'titre_admin_vider' => 'Maintenance technique', |
|
| 885 | - 'titre_ajouter_un_auteur' => 'Ajouter une autrice', |
|
| 886 | - 'titre_ajouter_un_mot' => 'Ajouter un mot-clé', |
|
| 887 | - 'titre_cadre_afficher_article' => 'Afficher les articles', |
|
| 888 | - 'titre_cadre_afficher_traductions' => 'Afficher l’état des traductions pour les langues suivantes :', |
|
| 889 | - 'titre_cadre_ajouter_auteur' => 'AJOUTER UNE AUTRICE :', |
|
| 890 | - 'titre_cadre_interieur_rubrique' => 'À l’intérieur de la rubrique', |
|
| 891 | - 'titre_cadre_numero_auteur' => 'AUTRICE NUMÉRO', |
|
| 892 | - 'titre_cadre_numero_objet' => '@objet@ NUMÉRO :', |
|
| 893 | - 'titre_cadre_signature_obligatoire' => '<b>Signature</b> [Obligatoire]<br />', |
|
| 894 | - 'titre_config_contenu_notifications' => 'Notifications', |
|
| 895 | - 'titre_config_contenu_prive' => 'Dans l’espace privé', |
|
| 896 | - 'titre_config_contenu_public' => 'Sur le site public', |
|
| 897 | - 'titre_config_fonctions' => 'Configuration du site', |
|
| 898 | - 'titre_config_langage' => 'Configurer la langue', |
|
| 899 | - 'titre_configuration' => 'Configuration du site', |
|
| 900 | - 'titre_configurer_preferences' => 'Configurer vos préférences', |
|
| 901 | - 'titre_configurer_preferences_menus' => 'Configurer vos préférences de menus', |
|
| 902 | - 'titre_conflit_edition' => 'Conflit lors de l’édition', |
|
| 903 | - 'titre_connexion_ldap' => 'Options : <b>Votre connexion LDAP</b>', |
|
| 904 | - 'titre_groupe_mots' => 'GROUPE DE MOTS :', |
|
| 905 | - 'titre_identite_site' => 'Identité du site', |
|
| 906 | - 'titre_langue_article' => 'Langue de l’article', |
|
| 907 | - 'titre_langue_rubrique' => 'Langue de la rubrique', |
|
| 908 | - 'titre_langue_trad_article' => 'LANGUE ET TRADUCTIONS DE L’ARTICLE', |
|
| 909 | - 'titre_les_articles' => 'LES ARTICLES', |
|
| 910 | - 'titre_messagerie_agenda' => 'Messagerie et agenda', |
|
| 911 | - 'titre_naviguer_dans_le_site' => 'Naviguer dans le site...', |
|
| 912 | - 'titre_nouvelle_rubrique' => 'Nouvelle rubrique', |
|
| 913 | - 'titre_numero_rubrique' => 'RUBRIQUE NUMÉRO :', |
|
| 914 | - 'titre_page_articles_edit' => 'Modifier : @titre@', |
|
| 915 | - 'titre_page_articles_page' => 'Les articles', |
|
| 916 | - 'titre_page_articles_tous' => 'Tout le site', |
|
| 917 | - 'titre_page_calendrier' => 'Calendrier @nom_mois@ @annee@', |
|
| 918 | - 'titre_page_config_contenu' => 'Configuration du site', |
|
| 919 | - 'titre_page_delete_all' => 'suppression totale et irréversible', |
|
| 920 | - 'titre_page_recherche' => 'Résultats de la recherche @recherche@', |
|
| 921 | - 'titre_page_statistiques_referers' => 'Statistiques (liens entrants)', |
|
| 922 | - 'titre_page_upgrade' => 'Mise à niveau de SPIP', |
|
| 923 | - 'titre_preference_menus_favoris' => 'Menus favoris', |
|
| 924 | - 'titre_publication_articles_post_dates' => 'Publication des articles post-datés', |
|
| 925 | - 'titre_reparation' => 'Réparation', |
|
| 926 | - 'titre_suivi_petition' => 'Suivi des pétitions', |
|
| 927 | - 'tls_ldap' => 'Transport Layer Security :', |
|
| 928 | - 'trad_article_traduction' => 'Toutes les versions de cet article :', |
|
| 929 | - 'trad_delier' => 'Ne plus lier à ces traductions', |
|
| 930 | - 'trad_lier' => 'Cet article est une traduction de l’article numéro :', |
|
| 931 | - 'trad_new' => 'Écrire une nouvelle traduction', |
|
| 881 | + 'texte_vide' => 'vide', |
|
| 882 | + 'texte_vider_cache' => 'Vider le cache', |
|
| 883 | + 'titre_admin_tech' => 'Maintenance technique', |
|
| 884 | + 'titre_admin_vider' => 'Maintenance technique', |
|
| 885 | + 'titre_ajouter_un_auteur' => 'Ajouter une autrice', |
|
| 886 | + 'titre_ajouter_un_mot' => 'Ajouter un mot-clé', |
|
| 887 | + 'titre_cadre_afficher_article' => 'Afficher les articles', |
|
| 888 | + 'titre_cadre_afficher_traductions' => 'Afficher l’état des traductions pour les langues suivantes :', |
|
| 889 | + 'titre_cadre_ajouter_auteur' => 'AJOUTER UNE AUTRICE :', |
|
| 890 | + 'titre_cadre_interieur_rubrique' => 'À l’intérieur de la rubrique', |
|
| 891 | + 'titre_cadre_numero_auteur' => 'AUTRICE NUMÉRO', |
|
| 892 | + 'titre_cadre_numero_objet' => '@objet@ NUMÉRO :', |
|
| 893 | + 'titre_cadre_signature_obligatoire' => '<b>Signature</b> [Obligatoire]<br />', |
|
| 894 | + 'titre_config_contenu_notifications' => 'Notifications', |
|
| 895 | + 'titre_config_contenu_prive' => 'Dans l’espace privé', |
|
| 896 | + 'titre_config_contenu_public' => 'Sur le site public', |
|
| 897 | + 'titre_config_fonctions' => 'Configuration du site', |
|
| 898 | + 'titre_config_langage' => 'Configurer la langue', |
|
| 899 | + 'titre_configuration' => 'Configuration du site', |
|
| 900 | + 'titre_configurer_preferences' => 'Configurer vos préférences', |
|
| 901 | + 'titre_configurer_preferences_menus' => 'Configurer vos préférences de menus', |
|
| 902 | + 'titre_conflit_edition' => 'Conflit lors de l’édition', |
|
| 903 | + 'titre_connexion_ldap' => 'Options : <b>Votre connexion LDAP</b>', |
|
| 904 | + 'titre_groupe_mots' => 'GROUPE DE MOTS :', |
|
| 905 | + 'titre_identite_site' => 'Identité du site', |
|
| 906 | + 'titre_langue_article' => 'Langue de l’article', |
|
| 907 | + 'titre_langue_rubrique' => 'Langue de la rubrique', |
|
| 908 | + 'titre_langue_trad_article' => 'LANGUE ET TRADUCTIONS DE L’ARTICLE', |
|
| 909 | + 'titre_les_articles' => 'LES ARTICLES', |
|
| 910 | + 'titre_messagerie_agenda' => 'Messagerie et agenda', |
|
| 911 | + 'titre_naviguer_dans_le_site' => 'Naviguer dans le site...', |
|
| 912 | + 'titre_nouvelle_rubrique' => 'Nouvelle rubrique', |
|
| 913 | + 'titre_numero_rubrique' => 'RUBRIQUE NUMÉRO :', |
|
| 914 | + 'titre_page_articles_edit' => 'Modifier : @titre@', |
|
| 915 | + 'titre_page_articles_page' => 'Les articles', |
|
| 916 | + 'titre_page_articles_tous' => 'Tout le site', |
|
| 917 | + 'titre_page_calendrier' => 'Calendrier @nom_mois@ @annee@', |
|
| 918 | + 'titre_page_config_contenu' => 'Configuration du site', |
|
| 919 | + 'titre_page_delete_all' => 'suppression totale et irréversible', |
|
| 920 | + 'titre_page_recherche' => 'Résultats de la recherche @recherche@', |
|
| 921 | + 'titre_page_statistiques_referers' => 'Statistiques (liens entrants)', |
|
| 922 | + 'titre_page_upgrade' => 'Mise à niveau de SPIP', |
|
| 923 | + 'titre_preference_menus_favoris' => 'Menus favoris', |
|
| 924 | + 'titre_publication_articles_post_dates' => 'Publication des articles post-datés', |
|
| 925 | + 'titre_reparation' => 'Réparation', |
|
| 926 | + 'titre_suivi_petition' => 'Suivi des pétitions', |
|
| 927 | + 'tls_ldap' => 'Transport Layer Security :', |
|
| 928 | + 'trad_article_traduction' => 'Toutes les versions de cet article :', |
|
| 929 | + 'trad_delier' => 'Ne plus lier à ces traductions', |
|
| 930 | + 'trad_lier' => 'Cet article est une traduction de l’article numéro :', |
|
| 931 | + 'trad_new' => 'Écrire une nouvelle traduction', |
|
| 932 | 932 | |
| 933 | - // U |
|
| 934 | - 'utf8_convert_erreur_orig' => 'Erreur : le jeu de caractères @charset@ n’est pas supporté.', |
|
| 933 | + // U |
|
| 934 | + 'utf8_convert_erreur_orig' => 'Erreur : le jeu de caractères @charset@ n’est pas supporté.', |
|
| 935 | 935 | |
| 936 | - // V |
|
| 937 | - 'version' => 'Version :' |
|
| 936 | + // V |
|
| 937 | + 'version' => 'Version :' |
|
| 938 | 938 | ); |
@@ -4,123 +4,123 @@ |
||
| 4 | 4 | // ** ne pas modifier le fichier ** |
| 5 | 5 | |
| 6 | 6 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 7 | - return; |
|
| 7 | + return; |
|
| 8 | 8 | } |
| 9 | 9 | |
| 10 | 10 | $GLOBALS[$GLOBALS['idx_lang']] = array( |
| 11 | 11 | |
| 12 | - // A |
|
| 13 | - 'accueil_site' => 'Accueil', |
|
| 14 | - 'article' => 'Article', |
|
| 15 | - 'articles' => 'Articles', |
|
| 16 | - 'articles_auteur' => 'Articles de cette autrice', |
|
| 17 | - 'articles_populaires' => 'Articles les plus populaires', |
|
| 18 | - 'articles_rubrique' => 'Articles de cette rubrique', |
|
| 19 | - 'aucun_article' => 'Il n’y a pas d’article à cette adresse', |
|
| 20 | - 'aucun_auteur' => 'Il n’y a pas d’autrice à cette adresse', |
|
| 21 | - 'aucun_site' => 'Il n’y a pas de site à cette adresse', |
|
| 22 | - 'aucune_breve' => 'Il n’y a pas de brève à cette adresse', |
|
| 23 | - 'aucune_rubrique' => 'Il n’y a pas de rubrique à cette adresse', |
|
| 24 | - 'auteur' => 'Autrice', |
|
| 25 | - 'autres' => 'Autres', |
|
| 26 | - 'autres_breves' => 'Autres brèves', |
|
| 27 | - 'autres_groupes_mots_clefs' => 'Autres groupes de mots-clés', |
|
| 28 | - 'autres_sites' => 'Autres sites', |
|
| 29 | - |
|
| 30 | - // B |
|
| 31 | - 'bonjour' => 'Bonjour', |
|
| 32 | - |
|
| 33 | - // C |
|
| 34 | - 'commenter_site' => 'Commenter ce site', |
|
| 35 | - 'contact' => 'Contact', |
|
| 36 | - 'copie_document_impossible' => 'Impossible de copier le document', |
|
| 37 | - |
|
| 38 | - // D |
|
| 39 | - 'date' => 'Date', |
|
| 40 | - 'dernier_ajout' => 'Dernier ajout', |
|
| 41 | - 'dernieres_breves' => 'Dernières brèves', |
|
| 42 | - 'derniers_articles' => 'Derniers articles', |
|
| 43 | - 'derniers_commentaires' => 'Derniers commentaires', |
|
| 44 | - 'derniers_messages_forum' => 'Derniers messages publiés dans les forums', |
|
| 45 | - |
|
| 46 | - // E |
|
| 47 | - 'edition_mode_texte' => 'Édition en mode texte de', |
|
| 48 | - 'en_reponse' => 'En réponse à :', |
|
| 49 | - 'en_resume' => 'En résumé', |
|
| 50 | - 'envoyer_message' => 'Envoyer un message', |
|
| 51 | - 'espace_prive' => 'Espace privé', |
|
| 52 | - |
|
| 53 | - // F |
|
| 54 | - 'formats_acceptes' => 'Formats acceptés : @formats@.', |
|
| 55 | - |
|
| 56 | - // H |
|
| 57 | - 'hierarchie_site' => 'Hiérarchie du site', |
|
| 58 | - |
|
| 59 | - // J |
|
| 60 | - 'jours' => 'jours', |
|
| 61 | - |
|
| 62 | - // L |
|
| 63 | - 'lien_connecter' => 'Se connecter', |
|
| 64 | - |
|
| 65 | - // M |
|
| 66 | - 'meme_auteur' => 'De la même autrice', |
|
| 67 | - 'meme_rubrique' => 'Dans la même rubrique', |
|
| 68 | - 'memes_auteurs' => 'Des mêmes autrices', |
|
| 69 | - 'message' => 'Message', |
|
| 70 | - 'messages_forum' => 'Messages', |
|
| 71 | - 'messages_recents' => 'Messages de forums les plus récents', |
|
| 72 | - 'mots_clef' => 'Mot-clé', |
|
| 73 | - 'mots_clefs' => 'Mots-clés', |
|
| 74 | - 'mots_clefs_meme_groupe' => 'Mots-clés dans le même groupe', |
|
| 75 | - |
|
| 76 | - // N |
|
| 77 | - 'navigation' => 'Navigation', |
|
| 78 | - 'nom' => 'Nom', |
|
| 79 | - 'nouveautes' => 'Les nouveautés', |
|
| 80 | - 'nouveautes_web' => 'Nouveautés sur le Web', |
|
| 81 | - 'nouveaux_articles' => 'Nouveaux articles', |
|
| 82 | - 'nouvelles_breves' => 'Nouvelles brèves', |
|
| 83 | - |
|
| 84 | - // P |
|
| 85 | - 'page_precedente' => 'page précédente', |
|
| 86 | - 'page_suivante' => 'page suivante', |
|
| 87 | - 'par_auteur' => 'par ', |
|
| 88 | - 'participer_site' => '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.', |
|
| 89 | - 'plan_site' => 'Plan du site', |
|
| 90 | - 'popularite' => 'Popularité', |
|
| 91 | - 'poster_message' => 'Poster un message', |
|
| 92 | - 'proposer_site' => 'Vous pouvez proposer un site à ajouter dans cette rubrique :', |
|
| 93 | - |
|
| 94 | - // R |
|
| 95 | - 'repondre_article' => 'Répondre à cet article', |
|
| 96 | - 'repondre_breve' => 'Répondre à cette brève', |
|
| 97 | - 'resultats_recherche' => 'Résultats de la recherche', |
|
| 98 | - 'retour_debut_forums' => 'Retour au début des forums', |
|
| 99 | - 'rss_abonnement' => 'Copiez l’URL suivante dans votre agrégateur :', |
|
| 100 | - 'rss_abonnement_titre' => 'S’abonner', |
|
| 101 | - 'rss_abonnement_titre_page' => 'S’abonner à', |
|
| 102 | - 'rss_explication' => 'Un fil RSS recueille les informations de mise à jour d’un site. Il fournit le contenu des billets ou des commentaires ou un extrait de ceux-ci, ainsi qu’un lien vers les versions complètes et quelques autres informations. Ce fil a pour vocation d’être lu par un agrégateur RSS.', |
|
| 103 | - 'rss_explication_titre' => 'Qu’est-ce qu’un flux RSS ?', |
|
| 104 | - 'rubrique' => 'Rubrique', |
|
| 105 | - 'rubriques' => 'Rubriques', |
|
| 106 | - |
|
| 107 | - // S |
|
| 108 | - 'signatures_petition' => 'Signatures', |
|
| 109 | - 'site_realise_avec_spip' => 'Site réalisé avec SPIP', |
|
| 110 | - 'sites_web' => 'Sites Web', |
|
| 111 | - 'sous_rubriques' => 'Sous-rubriques', |
|
| 112 | - 'spam' => 'Spam', |
|
| 113 | - 'suite' => 'suite', |
|
| 114 | - 'sur_web' => 'Sur le Web', |
|
| 115 | - 'syndiquer_rubrique' => 'Syndiquer cette rubrique', |
|
| 116 | - 'syndiquer_site' => 'Syndiquer tout le site', |
|
| 117 | - |
|
| 118 | - // T |
|
| 119 | - 'texte_lettre_information' => 'Voici la lettre d’information du site', |
|
| 120 | - 'texte_lettre_information_2' => 'Cette lettre recense les nouveautés publiées depuis', |
|
| 121 | - |
|
| 122 | - // V |
|
| 123 | - 'ver_imprimer' => 'Version à imprimer', |
|
| 124 | - 'voir_en_ligne' => 'Voir en ligne', |
|
| 125 | - 'voir_squelette' => 'voir le squelette de cette page' |
|
| 12 | + // A |
|
| 13 | + 'accueil_site' => 'Accueil', |
|
| 14 | + 'article' => 'Article', |
|
| 15 | + 'articles' => 'Articles', |
|
| 16 | + 'articles_auteur' => 'Articles de cette autrice', |
|
| 17 | + 'articles_populaires' => 'Articles les plus populaires', |
|
| 18 | + 'articles_rubrique' => 'Articles de cette rubrique', |
|
| 19 | + 'aucun_article' => 'Il n’y a pas d’article à cette adresse', |
|
| 20 | + 'aucun_auteur' => 'Il n’y a pas d’autrice à cette adresse', |
|
| 21 | + 'aucun_site' => 'Il n’y a pas de site à cette adresse', |
|
| 22 | + 'aucune_breve' => 'Il n’y a pas de brève à cette adresse', |
|
| 23 | + 'aucune_rubrique' => 'Il n’y a pas de rubrique à cette adresse', |
|
| 24 | + 'auteur' => 'Autrice', |
|
| 25 | + 'autres' => 'Autres', |
|
| 26 | + 'autres_breves' => 'Autres brèves', |
|
| 27 | + 'autres_groupes_mots_clefs' => 'Autres groupes de mots-clés', |
|
| 28 | + 'autres_sites' => 'Autres sites', |
|
| 29 | + |
|
| 30 | + // B |
|
| 31 | + 'bonjour' => 'Bonjour', |
|
| 32 | + |
|
| 33 | + // C |
|
| 34 | + 'commenter_site' => 'Commenter ce site', |
|
| 35 | + 'contact' => 'Contact', |
|
| 36 | + 'copie_document_impossible' => 'Impossible de copier le document', |
|
| 37 | + |
|
| 38 | + // D |
|
| 39 | + 'date' => 'Date', |
|
| 40 | + 'dernier_ajout' => 'Dernier ajout', |
|
| 41 | + 'dernieres_breves' => 'Dernières brèves', |
|
| 42 | + 'derniers_articles' => 'Derniers articles', |
|
| 43 | + 'derniers_commentaires' => 'Derniers commentaires', |
|
| 44 | + 'derniers_messages_forum' => 'Derniers messages publiés dans les forums', |
|
| 45 | + |
|
| 46 | + // E |
|
| 47 | + 'edition_mode_texte' => 'Édition en mode texte de', |
|
| 48 | + 'en_reponse' => 'En réponse à :', |
|
| 49 | + 'en_resume' => 'En résumé', |
|
| 50 | + 'envoyer_message' => 'Envoyer un message', |
|
| 51 | + 'espace_prive' => 'Espace privé', |
|
| 52 | + |
|
| 53 | + // F |
|
| 54 | + 'formats_acceptes' => 'Formats acceptés : @formats@.', |
|
| 55 | + |
|
| 56 | + // H |
|
| 57 | + 'hierarchie_site' => 'Hiérarchie du site', |
|
| 58 | + |
|
| 59 | + // J |
|
| 60 | + 'jours' => 'jours', |
|
| 61 | + |
|
| 62 | + // L |
|
| 63 | + 'lien_connecter' => 'Se connecter', |
|
| 64 | + |
|
| 65 | + // M |
|
| 66 | + 'meme_auteur' => 'De la même autrice', |
|
| 67 | + 'meme_rubrique' => 'Dans la même rubrique', |
|
| 68 | + 'memes_auteurs' => 'Des mêmes autrices', |
|
| 69 | + 'message' => 'Message', |
|
| 70 | + 'messages_forum' => 'Messages', |
|
| 71 | + 'messages_recents' => 'Messages de forums les plus récents', |
|
| 72 | + 'mots_clef' => 'Mot-clé', |
|
| 73 | + 'mots_clefs' => 'Mots-clés', |
|
| 74 | + 'mots_clefs_meme_groupe' => 'Mots-clés dans le même groupe', |
|
| 75 | + |
|
| 76 | + // N |
|
| 77 | + 'navigation' => 'Navigation', |
|
| 78 | + 'nom' => 'Nom', |
|
| 79 | + 'nouveautes' => 'Les nouveautés', |
|
| 80 | + 'nouveautes_web' => 'Nouveautés sur le Web', |
|
| 81 | + 'nouveaux_articles' => 'Nouveaux articles', |
|
| 82 | + 'nouvelles_breves' => 'Nouvelles brèves', |
|
| 83 | + |
|
| 84 | + // P |
|
| 85 | + 'page_precedente' => 'page précédente', |
|
| 86 | + 'page_suivante' => 'page suivante', |
|
| 87 | + 'par_auteur' => 'par ', |
|
| 88 | + 'participer_site' => '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.', |
|
| 89 | + 'plan_site' => 'Plan du site', |
|
| 90 | + 'popularite' => 'Popularité', |
|
| 91 | + 'poster_message' => 'Poster un message', |
|
| 92 | + 'proposer_site' => 'Vous pouvez proposer un site à ajouter dans cette rubrique :', |
|
| 93 | + |
|
| 94 | + // R |
|
| 95 | + 'repondre_article' => 'Répondre à cet article', |
|
| 96 | + 'repondre_breve' => 'Répondre à cette brève', |
|
| 97 | + 'resultats_recherche' => 'Résultats de la recherche', |
|
| 98 | + 'retour_debut_forums' => 'Retour au début des forums', |
|
| 99 | + 'rss_abonnement' => 'Copiez l’URL suivante dans votre agrégateur :', |
|
| 100 | + 'rss_abonnement_titre' => 'S’abonner', |
|
| 101 | + 'rss_abonnement_titre_page' => 'S’abonner à', |
|
| 102 | + 'rss_explication' => 'Un fil RSS recueille les informations de mise à jour d’un site. Il fournit le contenu des billets ou des commentaires ou un extrait de ceux-ci, ainsi qu’un lien vers les versions complètes et quelques autres informations. Ce fil a pour vocation d’être lu par un agrégateur RSS.', |
|
| 103 | + 'rss_explication_titre' => 'Qu’est-ce qu’un flux RSS ?', |
|
| 104 | + 'rubrique' => 'Rubrique', |
|
| 105 | + 'rubriques' => 'Rubriques', |
|
| 106 | + |
|
| 107 | + // S |
|
| 108 | + 'signatures_petition' => 'Signatures', |
|
| 109 | + 'site_realise_avec_spip' => 'Site réalisé avec SPIP', |
|
| 110 | + 'sites_web' => 'Sites Web', |
|
| 111 | + 'sous_rubriques' => 'Sous-rubriques', |
|
| 112 | + 'spam' => 'Spam', |
|
| 113 | + 'suite' => 'suite', |
|
| 114 | + 'sur_web' => 'Sur le Web', |
|
| 115 | + 'syndiquer_rubrique' => 'Syndiquer cette rubrique', |
|
| 116 | + 'syndiquer_site' => 'Syndiquer tout le site', |
|
| 117 | + |
|
| 118 | + // T |
|
| 119 | + 'texte_lettre_information' => 'Voici la lettre d’information du site', |
|
| 120 | + 'texte_lettre_information_2' => 'Cette lettre recense les nouveautés publiées depuis', |
|
| 121 | + |
|
| 122 | + // V |
|
| 123 | + 'ver_imprimer' => 'Version à imprimer', |
|
| 124 | + 'voir_en_ligne' => 'Voir en ligne', |
|
| 125 | + 'voir_squelette' => 'voir le squelette de cette page' |
|
| 126 | 126 | ); |
@@ -4,123 +4,123 @@ |
||
| 4 | 4 | // ** ne pas modifier le fichier ** |
| 5 | 5 | |
| 6 | 6 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 7 | - return; |
|
| 7 | + return; |
|
| 8 | 8 | } |
| 9 | 9 | |
| 10 | 10 | $GLOBALS[$GLOBALS['idx_lang']] = array( |
| 11 | 11 | |
| 12 | - // A |
|
| 13 | - 'accueil_site' => 'Página inicial do sítio', |
|
| 14 | - 'article' => 'Artigo', |
|
| 15 | - 'articles' => 'Artigos', |
|
| 16 | - 'articles_auteur' => 'Artigos deste autor', |
|
| 17 | - 'articles_populaires' => 'Artigos mais populares', |
|
| 18 | - 'articles_rubrique' => 'Artigos desta rubrica', |
|
| 19 | - 'aucun_article' => 'Nenhum artigo neste endereço', |
|
| 20 | - 'aucun_auteur' => 'Nenhum autor neste endereço', |
|
| 21 | - 'aucun_site' => 'Nenhum sítio neste endereço', |
|
| 22 | - 'aucune_breve' => 'Nenhuma notícia neste endereço', |
|
| 23 | - 'aucune_rubrique' => 'Nenhuma rubrica neste endereço', |
|
| 24 | - 'auteur' => 'Autor', |
|
| 25 | - 'autres' => 'Outros', |
|
| 26 | - 'autres_breves' => 'Outras notícias', |
|
| 27 | - 'autres_groupes_mots_clefs' => 'Outros grupos de palavras-chave', |
|
| 28 | - 'autres_sites' => 'Outros sítios', |
|
| 29 | - |
|
| 30 | - // B |
|
| 31 | - 'bonjour' => 'Bom dia', |
|
| 32 | - |
|
| 33 | - // C |
|
| 34 | - 'commenter_site' => 'Comentar este sítio', |
|
| 35 | - 'contact' => 'Contacto', |
|
| 36 | - 'copie_document_impossible' => 'Impossível copiar este documento', |
|
| 37 | - |
|
| 38 | - // D |
|
| 39 | - 'date' => 'Data', |
|
| 40 | - 'dernier_ajout' => 'Última actualização', |
|
| 41 | - 'dernieres_breves' => 'Últimas notícias', |
|
| 42 | - 'derniers_articles' => 'Últimos artigos', |
|
| 43 | - 'derniers_commentaires' => 'Últimos comentários', |
|
| 44 | - 'derniers_messages_forum' => 'Últimas mensagens publicadas nos fóruns', |
|
| 45 | - |
|
| 46 | - // E |
|
| 47 | - 'edition_mode_texte' => 'Edição apenas em modo de texto', |
|
| 48 | - 'en_reponse' => 'Em resposta a :', |
|
| 49 | - 'en_resume' => 'Em resumo', |
|
| 50 | - 'envoyer_message' => 'Enviar uma mensagem', |
|
| 51 | - 'espace_prive' => 'Área privada', |
|
| 52 | - |
|
| 53 | - // F |
|
| 54 | - 'formats_acceptes' => 'Formatos válidos : @formats@.', |
|
| 55 | - |
|
| 56 | - // H |
|
| 57 | - 'hierarchie_site' => 'Mapa do sítio', |
|
| 58 | - |
|
| 59 | - // J |
|
| 60 | - 'jours' => 'dias', |
|
| 61 | - |
|
| 62 | - // L |
|
| 63 | - 'lien_connecter' => 'Entrar', |
|
| 64 | - |
|
| 65 | - // M |
|
| 66 | - 'meme_auteur' => 'Do mesmo autor', |
|
| 67 | - 'meme_rubrique' => 'Na mesma rubrica', |
|
| 68 | - 'memes_auteurs' => 'Dos mesmos autores', |
|
| 69 | - 'message' => 'Mensagem', |
|
| 70 | - 'messages_forum' => 'Mensagens de fórum', |
|
| 71 | - 'messages_recents' => 'Mensagens de fóruns mais recentes', |
|
| 72 | - 'mots_clef' => 'Palavra-chave', |
|
| 73 | - 'mots_clefs' => 'Palavras-chave', |
|
| 74 | - 'mots_clefs_meme_groupe' => 'Palavras-chave no mesmo grupo', |
|
| 75 | - |
|
| 76 | - // N |
|
| 77 | - 'navigation' => 'Navegação', |
|
| 78 | - 'nom' => 'Nome', |
|
| 79 | - 'nouveautes' => 'As novidades', |
|
| 80 | - 'nouveautes_web' => 'Novidades na Web', |
|
| 81 | - 'nouveaux_articles' => 'Novos artigos', |
|
| 82 | - 'nouvelles_breves' => 'Novas notícias', |
|
| 83 | - |
|
| 84 | - // P |
|
| 85 | - 'page_precedente' => 'página anterior', |
|
| 86 | - 'page_suivante' => 'página seguinte', |
|
| 87 | - 'par_auteur' => 'por', |
|
| 88 | - 'participer_site' => 'Pode participar na vida deste sítio e propor os seus próprios artigos, inscrevendo-se mais abaixo. Receberá imediatamente um email com os seus códigos de acesso ao espaço privado do sítio.', |
|
| 89 | - 'plan_site' => 'Mapa do sítio', |
|
| 90 | - 'popularite' => 'Popularidade', |
|
| 91 | - 'poster_message' => 'Enviar uma mensagem', |
|
| 92 | - 'proposer_site' => 'Você pode propor um sítio a adicionar a esta rubrica :', |
|
| 93 | - |
|
| 94 | - // R |
|
| 95 | - 'repondre_article' => 'Comentar este artigo', |
|
| 96 | - 'repondre_breve' => 'Comentar esta notícia', |
|
| 97 | - 'resultats_recherche' => 'Resultados da pesquisa', |
|
| 98 | - 'retour_debut_forums' => 'Regresso ao início dos fóruns', |
|
| 99 | - 'rss_abonnement' => 'Copie o seguinte URL para o seu agregador de conteúdos:', |
|
| 100 | - 'rss_abonnement_titre' => 'Subscrever', |
|
| 101 | - 'rss_abonnement_titre_page' => 'Subscrever', |
|
| 102 | - 'rss_explication' => 'Um "feed" RSS recolhe informação actualizada a partir de um sítio. Fornece o conteúdo das publicações ou comentários ou um extracto dos mesmos, bem como um link para as versões completas e outras informações. Este "feed" destina-se a ser lido por um agregador RSS.', |
|
| 103 | - 'rss_explication_titre' => 'O que é um "feed RSS"?', |
|
| 104 | - 'rubrique' => 'Rubrica', |
|
| 105 | - 'rubriques' => 'Rubricas', |
|
| 106 | - |
|
| 107 | - // S |
|
| 108 | - 'signatures_petition' => 'Assinaturas', |
|
| 109 | - 'site_realise_avec_spip' => 'Sítio realizado com SPIP', |
|
| 110 | - 'sites_web' => 'Sítios Web', |
|
| 111 | - 'sous_rubriques' => 'Sub-rubricas', |
|
| 112 | - 'spam' => 'Spam', |
|
| 113 | - 'suite' => 'continuação', |
|
| 114 | - 'sur_web' => 'Na Web', |
|
| 115 | - 'syndiquer_rubrique' => 'Subscrever esta rubrica', |
|
| 116 | - 'syndiquer_site' => 'Subscrever todo o sítio', |
|
| 117 | - |
|
| 118 | - // T |
|
| 119 | - 'texte_lettre_information' => 'Eis a carta de informação do sítio', |
|
| 120 | - 'texte_lettre_information_2' => 'Este sítio contém novos itens publicados desde', |
|
| 121 | - |
|
| 122 | - // V |
|
| 123 | - 'ver_imprimer' => 'Versão para imprimir', |
|
| 124 | - 'voir_en_ligne' => 'Ver online', |
|
| 125 | - 'voir_squelette' => 'exibir o modelo desta página' |
|
| 12 | + // A |
|
| 13 | + 'accueil_site' => 'Página inicial do sítio', |
|
| 14 | + 'article' => 'Artigo', |
|
| 15 | + 'articles' => 'Artigos', |
|
| 16 | + 'articles_auteur' => 'Artigos deste autor', |
|
| 17 | + 'articles_populaires' => 'Artigos mais populares', |
|
| 18 | + 'articles_rubrique' => 'Artigos desta rubrica', |
|
| 19 | + 'aucun_article' => 'Nenhum artigo neste endereço', |
|
| 20 | + 'aucun_auteur' => 'Nenhum autor neste endereço', |
|
| 21 | + 'aucun_site' => 'Nenhum sítio neste endereço', |
|
| 22 | + 'aucune_breve' => 'Nenhuma notícia neste endereço', |
|
| 23 | + 'aucune_rubrique' => 'Nenhuma rubrica neste endereço', |
|
| 24 | + 'auteur' => 'Autor', |
|
| 25 | + 'autres' => 'Outros', |
|
| 26 | + 'autres_breves' => 'Outras notícias', |
|
| 27 | + 'autres_groupes_mots_clefs' => 'Outros grupos de palavras-chave', |
|
| 28 | + 'autres_sites' => 'Outros sítios', |
|
| 29 | + |
|
| 30 | + // B |
|
| 31 | + 'bonjour' => 'Bom dia', |
|
| 32 | + |
|
| 33 | + // C |
|
| 34 | + 'commenter_site' => 'Comentar este sítio', |
|
| 35 | + 'contact' => 'Contacto', |
|
| 36 | + 'copie_document_impossible' => 'Impossível copiar este documento', |
|
| 37 | + |
|
| 38 | + // D |
|
| 39 | + 'date' => 'Data', |
|
| 40 | + 'dernier_ajout' => 'Última actualização', |
|
| 41 | + 'dernieres_breves' => 'Últimas notícias', |
|
| 42 | + 'derniers_articles' => 'Últimos artigos', |
|
| 43 | + 'derniers_commentaires' => 'Últimos comentários', |
|
| 44 | + 'derniers_messages_forum' => 'Últimas mensagens publicadas nos fóruns', |
|
| 45 | + |
|
| 46 | + // E |
|
| 47 | + 'edition_mode_texte' => 'Edição apenas em modo de texto', |
|
| 48 | + 'en_reponse' => 'Em resposta a :', |
|
| 49 | + 'en_resume' => 'Em resumo', |
|
| 50 | + 'envoyer_message' => 'Enviar uma mensagem', |
|
| 51 | + 'espace_prive' => 'Área privada', |
|
| 52 | + |
|
| 53 | + // F |
|
| 54 | + 'formats_acceptes' => 'Formatos válidos : @formats@.', |
|
| 55 | + |
|
| 56 | + // H |
|
| 57 | + 'hierarchie_site' => 'Mapa do sítio', |
|
| 58 | + |
|
| 59 | + // J |
|
| 60 | + 'jours' => 'dias', |
|
| 61 | + |
|
| 62 | + // L |
|
| 63 | + 'lien_connecter' => 'Entrar', |
|
| 64 | + |
|
| 65 | + // M |
|
| 66 | + 'meme_auteur' => 'Do mesmo autor', |
|
| 67 | + 'meme_rubrique' => 'Na mesma rubrica', |
|
| 68 | + 'memes_auteurs' => 'Dos mesmos autores', |
|
| 69 | + 'message' => 'Mensagem', |
|
| 70 | + 'messages_forum' => 'Mensagens de fórum', |
|
| 71 | + 'messages_recents' => 'Mensagens de fóruns mais recentes', |
|
| 72 | + 'mots_clef' => 'Palavra-chave', |
|
| 73 | + 'mots_clefs' => 'Palavras-chave', |
|
| 74 | + 'mots_clefs_meme_groupe' => 'Palavras-chave no mesmo grupo', |
|
| 75 | + |
|
| 76 | + // N |
|
| 77 | + 'navigation' => 'Navegação', |
|
| 78 | + 'nom' => 'Nome', |
|
| 79 | + 'nouveautes' => 'As novidades', |
|
| 80 | + 'nouveautes_web' => 'Novidades na Web', |
|
| 81 | + 'nouveaux_articles' => 'Novos artigos', |
|
| 82 | + 'nouvelles_breves' => 'Novas notícias', |
|
| 83 | + |
|
| 84 | + // P |
|
| 85 | + 'page_precedente' => 'página anterior', |
|
| 86 | + 'page_suivante' => 'página seguinte', |
|
| 87 | + 'par_auteur' => 'por', |
|
| 88 | + 'participer_site' => 'Pode participar na vida deste sítio e propor os seus próprios artigos, inscrevendo-se mais abaixo. Receberá imediatamente um email com os seus códigos de acesso ao espaço privado do sítio.', |
|
| 89 | + 'plan_site' => 'Mapa do sítio', |
|
| 90 | + 'popularite' => 'Popularidade', |
|
| 91 | + 'poster_message' => 'Enviar uma mensagem', |
|
| 92 | + 'proposer_site' => 'Você pode propor um sítio a adicionar a esta rubrica :', |
|
| 93 | + |
|
| 94 | + // R |
|
| 95 | + 'repondre_article' => 'Comentar este artigo', |
|
| 96 | + 'repondre_breve' => 'Comentar esta notícia', |
|
| 97 | + 'resultats_recherche' => 'Resultados da pesquisa', |
|
| 98 | + 'retour_debut_forums' => 'Regresso ao início dos fóruns', |
|
| 99 | + 'rss_abonnement' => 'Copie o seguinte URL para o seu agregador de conteúdos:', |
|
| 100 | + 'rss_abonnement_titre' => 'Subscrever', |
|
| 101 | + 'rss_abonnement_titre_page' => 'Subscrever', |
|
| 102 | + 'rss_explication' => 'Um "feed" RSS recolhe informação actualizada a partir de um sítio. Fornece o conteúdo das publicações ou comentários ou um extracto dos mesmos, bem como um link para as versões completas e outras informações. Este "feed" destina-se a ser lido por um agregador RSS.', |
|
| 103 | + 'rss_explication_titre' => 'O que é um "feed RSS"?', |
|
| 104 | + 'rubrique' => 'Rubrica', |
|
| 105 | + 'rubriques' => 'Rubricas', |
|
| 106 | + |
|
| 107 | + // S |
|
| 108 | + 'signatures_petition' => 'Assinaturas', |
|
| 109 | + 'site_realise_avec_spip' => 'Sítio realizado com SPIP', |
|
| 110 | + 'sites_web' => 'Sítios Web', |
|
| 111 | + 'sous_rubriques' => 'Sub-rubricas', |
|
| 112 | + 'spam' => 'Spam', |
|
| 113 | + 'suite' => 'continuação', |
|
| 114 | + 'sur_web' => 'Na Web', |
|
| 115 | + 'syndiquer_rubrique' => 'Subscrever esta rubrica', |
|
| 116 | + 'syndiquer_site' => 'Subscrever todo o sítio', |
|
| 117 | + |
|
| 118 | + // T |
|
| 119 | + 'texte_lettre_information' => 'Eis a carta de informação do sítio', |
|
| 120 | + 'texte_lettre_information_2' => 'Este sítio contém novos itens publicados desde', |
|
| 121 | + |
|
| 122 | + // V |
|
| 123 | + 'ver_imprimer' => 'Versão para imprimir', |
|
| 124 | + 'voir_en_ligne' => 'Ver online', |
|
| 125 | + 'voir_squelette' => 'exibir o modelo desta página' |
|
| 126 | 126 | ); |
@@ -90,9 +90,9 @@ discard block |
||
| 90 | 90 | // de connexion, et tout risque d'ambiguite |
| 91 | 91 | if (!isset($nom_cache_desc_sql[$serveur][$objets_sql])) { |
| 92 | 92 | $nom_cache_desc_sql[$serveur][$objets_sql] = |
| 93 | - _DIR_CACHE . 'sql_desc_' |
|
| 93 | + _DIR_CACHE.'sql_desc_' |
|
| 94 | 94 | . ($serveur ? "{$serveur}_" : '') |
| 95 | - . substr(md5($connexion['db'] . ':' . $connexion['prefixe'] . ":$objets_sql"), 0, 8) |
|
| 95 | + . substr(md5($connexion['db'].':'.$connexion['prefixe'].":$objets_sql"), 0, 8) |
|
| 96 | 96 | . '.txt'; |
| 97 | 97 | // nouveau nom de cache = nouvelle version en memoire |
| 98 | 98 | unset($connexion['tables']); |
@@ -120,7 +120,7 @@ discard block |
||
| 120 | 120 | if ($connexion['spip_connect_version']) { |
| 121 | 121 | if ($table_spip and isset($GLOBALS['table_des_tables'][$nom])) { |
| 122 | 122 | $nom = $GLOBALS['table_des_tables'][$nom]; |
| 123 | - $nom_sql = 'spip_' . $nom; |
|
| 123 | + $nom_sql = 'spip_'.$nom; |
|
| 124 | 124 | } |
| 125 | 125 | } |
| 126 | 126 | |
@@ -147,12 +147,12 @@ discard block |
||
| 147 | 147 | // meme si pas d'abreviation declaree, trouver la table spip_$nom |
| 148 | 148 | // si c'est une table principale, |
| 149 | 149 | // puisqu'on le fait aussi pour les tables auxiliaires |
| 150 | - elseif ($nom_sql == $nom and isset($GLOBALS['tables_principales']['spip_' . $nom])) { |
|
| 151 | - $nom_sql = 'spip_' . $nom; |
|
| 150 | + elseif ($nom_sql == $nom and isset($GLOBALS['tables_principales']['spip_'.$nom])) { |
|
| 151 | + $nom_sql = 'spip_'.$nom; |
|
| 152 | 152 | $fdesc = &$GLOBALS['tables_principales'][$nom_sql]; |
| 153 | 153 | } elseif ( |
| 154 | 154 | isset($GLOBALS['tables_auxiliaires'][$n = $nom]) |
| 155 | - or isset($GLOBALS['tables_auxiliaires'][$n = 'spip_' . $nom]) |
|
| 155 | + or isset($GLOBALS['tables_auxiliaires'][$n = 'spip_'.$nom]) |
|
| 156 | 156 | ) { |
| 157 | 157 | $nom_sql = $n; |
| 158 | 158 | $fdesc = &$GLOBALS['tables_auxiliaires'][$n]; |
@@ -168,7 +168,7 @@ discard block |
||
| 168 | 168 | ) { |
| 169 | 169 | if (!$fdesc) { |
| 170 | 170 | $log_level = $options['log_missing'] ? _LOG_INFO_IMPORTANTE : _LOG_DEBUG; |
| 171 | - spip_log("trouver_table: table inconnue '$serveur' '$nom'", 'base' . $log_level); |
|
| 171 | + spip_log("trouver_table: table inconnue '$serveur' '$nom'", 'base'.$log_level); |
|
| 172 | 172 | |
| 173 | 173 | return null; |
| 174 | 174 | } |
@@ -180,7 +180,7 @@ discard block |
||
| 180 | 180 | $desc['exist'] = true; |
| 181 | 181 | // gerer le cas des cles vides (echec de l'analyse sur une vue par exemple) |
| 182 | 182 | // pour recuperer la declaration de lister_tables_objets_sql() si il y en a une |
| 183 | - if (! $desc['key']) { |
|
| 183 | + if (!$desc['key']) { |
|
| 184 | 184 | spip_log("trouver_table: table sans cle '$serveur' '$nom'", 'base'); |
| 185 | 185 | unset($desc['key']); |
| 186 | 186 | } |
@@ -197,7 +197,7 @@ discard block |
||
| 197 | 197 | if (!isset($desc['key']) && !empty($fdesc['key'])) { |
| 198 | 198 | $desc['key'] = $fdesc['key']; |
| 199 | 199 | } |
| 200 | - if (! isset($desc['key'])) { |
|
| 200 | + if (!isset($desc['key'])) { |
|
| 201 | 201 | $desc['key'] = []; |
| 202 | 202 | } |
| 203 | 203 | |
@@ -16,7 +16,7 @@ discard block |
||
| 16 | 16 | * @package SPIP\Core\SQL\Tables |
| 17 | 17 | **/ |
| 18 | 18 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 19 | - return; |
|
| 19 | + return; |
|
| 20 | 20 | } |
| 21 | 21 | include_spip('base/objets'); |
| 22 | 22 | |
@@ -68,154 +68,154 @@ discard block |
||
| 68 | 68 | * |
| 69 | 69 | **/ |
| 70 | 70 | function base_trouver_table_dist($nom, $serveur = '', $table_spip = true, array $options = []) { |
| 71 | - $desc_cache = null; |
|
| 72 | - static $nom_cache_desc_sql = []; |
|
| 73 | - |
|
| 74 | - if ( |
|
| 75 | - !spip_connect($serveur) |
|
| 76 | - or !preg_match('/^[a-zA-Z0-9._-]*/', $nom) |
|
| 77 | - ) { |
|
| 78 | - return null; |
|
| 79 | - } |
|
| 80 | - |
|
| 81 | - $options = $options + [ |
|
| 82 | - // si false, baissera le niveau de log si une table demandée n’existe pas |
|
| 83 | - 'log_missing' => true, |
|
| 84 | - ]; |
|
| 85 | - |
|
| 86 | - $connexion = &$GLOBALS['connexions'][$serveur ? strtolower($serveur) : 0]; |
|
| 87 | - $objets_sql = lister_tables_objets_sql('::md5'); |
|
| 88 | - |
|
| 89 | - // le nom du cache depend du serveur mais aussi du nom de la db et du prefixe |
|
| 90 | - // ce qui permet une auto invalidation en cas de modif manuelle du fichier |
|
| 91 | - // de connexion, et tout risque d'ambiguite |
|
| 92 | - if (!isset($nom_cache_desc_sql[$serveur][$objets_sql])) { |
|
| 93 | - $nom_cache_desc_sql[$serveur][$objets_sql] = |
|
| 94 | - _DIR_CACHE . 'sql_desc_' |
|
| 95 | - . ($serveur ? "{$serveur}_" : '') |
|
| 96 | - . substr(md5($connexion['db'] . ':' . $connexion['prefixe'] . ":$objets_sql"), 0, 8) |
|
| 97 | - . '.txt'; |
|
| 98 | - // nouveau nom de cache = nouvelle version en memoire |
|
| 99 | - unset($connexion['tables']); |
|
| 100 | - } |
|
| 101 | - |
|
| 102 | - // un appel avec $nom vide est une demande explicite de vidange du cache des descriptions |
|
| 103 | - if (!$nom) { |
|
| 104 | - spip_unlink($nom_cache_desc_sql[$serveur][$objets_sql]); |
|
| 105 | - $connexion['tables'] = []; |
|
| 106 | - |
|
| 107 | - return null; |
|
| 108 | - } |
|
| 109 | - |
|
| 110 | - $nom_sql = $nom; |
|
| 111 | - if (preg_match('/\.(.*)$/', $nom, $s)) { |
|
| 112 | - $nom_sql = $s[1]; |
|
| 113 | - } else { |
|
| 114 | - $nom_sql = $nom; |
|
| 115 | - } |
|
| 116 | - |
|
| 117 | - $fdesc = $desc = ''; |
|
| 118 | - $connexion = &$GLOBALS['connexions'][$serveur ?: 0]; |
|
| 119 | - |
|
| 120 | - // base sous SPIP: gerer les abreviations explicites des noms de table |
|
| 121 | - if ($connexion['spip_connect_version']) { |
|
| 122 | - if ($table_spip and isset($GLOBALS['table_des_tables'][$nom])) { |
|
| 123 | - $nom = $GLOBALS['table_des_tables'][$nom]; |
|
| 124 | - $nom_sql = 'spip_' . $nom; |
|
| 125 | - } |
|
| 126 | - } |
|
| 127 | - |
|
| 128 | - // si c'est la premiere table qu'on cherche |
|
| 129 | - // et si on est pas explicitement en recalcul |
|
| 130 | - // on essaye de recharger le cache des decriptions de ce serveur |
|
| 131 | - // dans le fichier cache |
|
| 132 | - if ( |
|
| 133 | - !isset($connexion['tables'][$nom_sql]) |
|
| 134 | - and defined('_VAR_MODE') and _VAR_MODE !== 'recalcul' |
|
| 135 | - and (!isset($connexion['tables']) or !$connexion['tables']) |
|
| 136 | - ) { |
|
| 137 | - if ( |
|
| 138 | - lire_fichier($nom_cache_desc_sql[$serveur][$objets_sql], $desc_cache) |
|
| 139 | - and $desc_cache = unserialize($desc_cache) |
|
| 140 | - ) { |
|
| 141 | - $connexion['tables'] = $desc_cache; |
|
| 142 | - } |
|
| 143 | - } |
|
| 144 | - if ($table_spip and !isset($connexion['tables'][$nom_sql])) { |
|
| 145 | - if (isset($GLOBALS['tables_principales'][$nom_sql])) { |
|
| 146 | - $fdesc = $GLOBALS['tables_principales'][$nom_sql]; |
|
| 147 | - } |
|
| 148 | - // meme si pas d'abreviation declaree, trouver la table spip_$nom |
|
| 149 | - // si c'est une table principale, |
|
| 150 | - // puisqu'on le fait aussi pour les tables auxiliaires |
|
| 151 | - elseif ($nom_sql == $nom and isset($GLOBALS['tables_principales']['spip_' . $nom])) { |
|
| 152 | - $nom_sql = 'spip_' . $nom; |
|
| 153 | - $fdesc = &$GLOBALS['tables_principales'][$nom_sql]; |
|
| 154 | - } elseif ( |
|
| 155 | - isset($GLOBALS['tables_auxiliaires'][$n = $nom]) |
|
| 156 | - or isset($GLOBALS['tables_auxiliaires'][$n = 'spip_' . $nom]) |
|
| 157 | - ) { |
|
| 158 | - $nom_sql = $n; |
|
| 159 | - $fdesc = &$GLOBALS['tables_auxiliaires'][$n]; |
|
| 160 | - } # table locale a cote de SPIP, comme non SPIP: |
|
| 161 | - } |
|
| 162 | - if (!isset($connexion['tables'][$nom_sql])) { |
|
| 163 | - // La *vraie* base a la priorite |
|
| 164 | - $exists = sql_table_exists($nom_sql, $table_spip, $serveur); |
|
| 165 | - if ( |
|
| 166 | - !$exists |
|
| 167 | - or !$desc = sql_showtable($nom_sql, $table_spip, $serveur) |
|
| 168 | - or !$desc['field'] |
|
| 169 | - ) { |
|
| 170 | - if (!$fdesc) { |
|
| 171 | - $log_level = $options['log_missing'] ? _LOG_INFO_IMPORTANTE : _LOG_DEBUG; |
|
| 172 | - spip_log("trouver_table: table inconnue '$serveur' '$nom'", 'base' . $log_level); |
|
| 173 | - |
|
| 174 | - return null; |
|
| 175 | - } |
|
| 176 | - // on ne sait pas lire la structure de la table : |
|
| 177 | - // on retombe sur la description donnee dans les fichiers spip |
|
| 178 | - $desc = $fdesc; |
|
| 179 | - $desc['exist'] = false; |
|
| 180 | - } else { |
|
| 181 | - $desc['exist'] = true; |
|
| 182 | - // gerer le cas des cles vides (echec de l'analyse sur une vue par exemple) |
|
| 183 | - // pour recuperer la declaration de lister_tables_objets_sql() si il y en a une |
|
| 184 | - if (! $desc['key']) { |
|
| 185 | - spip_log("trouver_table: table sans cle '$serveur' '$nom'", 'base'); |
|
| 186 | - unset($desc['key']); |
|
| 187 | - } |
|
| 188 | - } |
|
| 189 | - |
|
| 190 | - $desc['table'] = $desc['table_sql'] = $nom_sql; |
|
| 191 | - $desc['connexion'] = $serveur; |
|
| 192 | - |
|
| 193 | - // charger les infos declarees pour cette table |
|
| 194 | - // en lui passant les infos connues |
|
| 195 | - // $desc est prioritaire pour la description de la table |
|
| 196 | - $desc = array_merge(lister_tables_objets_sql($nom_sql, $desc), $desc); |
|
| 197 | - // s'assurer qu'on a toujours un 'key' |
|
| 198 | - if (!isset($desc['key']) && !empty($fdesc['key'])) { |
|
| 199 | - $desc['key'] = $fdesc['key']; |
|
| 200 | - } |
|
| 201 | - if (! isset($desc['key'])) { |
|
| 202 | - $desc['key'] = []; |
|
| 203 | - } |
|
| 204 | - |
|
| 205 | - // si tables_objets_sql est bien fini d'init, on peut cacher |
|
| 206 | - $connexion['tables'][$nom_sql] = $desc; |
|
| 207 | - $res = &$connexion['tables'][$nom_sql]; |
|
| 208 | - // une nouvelle table a ete decrite |
|
| 209 | - // mettons donc a jour le cache des descriptions de ce serveur |
|
| 210 | - if (is_writeable(_DIR_CACHE)) { |
|
| 211 | - ecrire_fichier($nom_cache_desc_sql[$serveur][$objets_sql], serialize($connexion['tables']), true); |
|
| 212 | - } |
|
| 213 | - } else { |
|
| 214 | - $res = &$connexion['tables'][$nom_sql]; |
|
| 215 | - } |
|
| 216 | - |
|
| 217 | - // toujours retourner $nom dans id_table |
|
| 218 | - $res['id_table'] = $nom; |
|
| 219 | - |
|
| 220 | - return $res; |
|
| 71 | + $desc_cache = null; |
|
| 72 | + static $nom_cache_desc_sql = []; |
|
| 73 | + |
|
| 74 | + if ( |
|
| 75 | + !spip_connect($serveur) |
|
| 76 | + or !preg_match('/^[a-zA-Z0-9._-]*/', $nom) |
|
| 77 | + ) { |
|
| 78 | + return null; |
|
| 79 | + } |
|
| 80 | + |
|
| 81 | + $options = $options + [ |
|
| 82 | + // si false, baissera le niveau de log si une table demandée n’existe pas |
|
| 83 | + 'log_missing' => true, |
|
| 84 | + ]; |
|
| 85 | + |
|
| 86 | + $connexion = &$GLOBALS['connexions'][$serveur ? strtolower($serveur) : 0]; |
|
| 87 | + $objets_sql = lister_tables_objets_sql('::md5'); |
|
| 88 | + |
|
| 89 | + // le nom du cache depend du serveur mais aussi du nom de la db et du prefixe |
|
| 90 | + // ce qui permet une auto invalidation en cas de modif manuelle du fichier |
|
| 91 | + // de connexion, et tout risque d'ambiguite |
|
| 92 | + if (!isset($nom_cache_desc_sql[$serveur][$objets_sql])) { |
|
| 93 | + $nom_cache_desc_sql[$serveur][$objets_sql] = |
|
| 94 | + _DIR_CACHE . 'sql_desc_' |
|
| 95 | + . ($serveur ? "{$serveur}_" : '') |
|
| 96 | + . substr(md5($connexion['db'] . ':' . $connexion['prefixe'] . ":$objets_sql"), 0, 8) |
|
| 97 | + . '.txt'; |
|
| 98 | + // nouveau nom de cache = nouvelle version en memoire |
|
| 99 | + unset($connexion['tables']); |
|
| 100 | + } |
|
| 101 | + |
|
| 102 | + // un appel avec $nom vide est une demande explicite de vidange du cache des descriptions |
|
| 103 | + if (!$nom) { |
|
| 104 | + spip_unlink($nom_cache_desc_sql[$serveur][$objets_sql]); |
|
| 105 | + $connexion['tables'] = []; |
|
| 106 | + |
|
| 107 | + return null; |
|
| 108 | + } |
|
| 109 | + |
|
| 110 | + $nom_sql = $nom; |
|
| 111 | + if (preg_match('/\.(.*)$/', $nom, $s)) { |
|
| 112 | + $nom_sql = $s[1]; |
|
| 113 | + } else { |
|
| 114 | + $nom_sql = $nom; |
|
| 115 | + } |
|
| 116 | + |
|
| 117 | + $fdesc = $desc = ''; |
|
| 118 | + $connexion = &$GLOBALS['connexions'][$serveur ?: 0]; |
|
| 119 | + |
|
| 120 | + // base sous SPIP: gerer les abreviations explicites des noms de table |
|
| 121 | + if ($connexion['spip_connect_version']) { |
|
| 122 | + if ($table_spip and isset($GLOBALS['table_des_tables'][$nom])) { |
|
| 123 | + $nom = $GLOBALS['table_des_tables'][$nom]; |
|
| 124 | + $nom_sql = 'spip_' . $nom; |
|
| 125 | + } |
|
| 126 | + } |
|
| 127 | + |
|
| 128 | + // si c'est la premiere table qu'on cherche |
|
| 129 | + // et si on est pas explicitement en recalcul |
|
| 130 | + // on essaye de recharger le cache des decriptions de ce serveur |
|
| 131 | + // dans le fichier cache |
|
| 132 | + if ( |
|
| 133 | + !isset($connexion['tables'][$nom_sql]) |
|
| 134 | + and defined('_VAR_MODE') and _VAR_MODE !== 'recalcul' |
|
| 135 | + and (!isset($connexion['tables']) or !$connexion['tables']) |
|
| 136 | + ) { |
|
| 137 | + if ( |
|
| 138 | + lire_fichier($nom_cache_desc_sql[$serveur][$objets_sql], $desc_cache) |
|
| 139 | + and $desc_cache = unserialize($desc_cache) |
|
| 140 | + ) { |
|
| 141 | + $connexion['tables'] = $desc_cache; |
|
| 142 | + } |
|
| 143 | + } |
|
| 144 | + if ($table_spip and !isset($connexion['tables'][$nom_sql])) { |
|
| 145 | + if (isset($GLOBALS['tables_principales'][$nom_sql])) { |
|
| 146 | + $fdesc = $GLOBALS['tables_principales'][$nom_sql]; |
|
| 147 | + } |
|
| 148 | + // meme si pas d'abreviation declaree, trouver la table spip_$nom |
|
| 149 | + // si c'est une table principale, |
|
| 150 | + // puisqu'on le fait aussi pour les tables auxiliaires |
|
| 151 | + elseif ($nom_sql == $nom and isset($GLOBALS['tables_principales']['spip_' . $nom])) { |
|
| 152 | + $nom_sql = 'spip_' . $nom; |
|
| 153 | + $fdesc = &$GLOBALS['tables_principales'][$nom_sql]; |
|
| 154 | + } elseif ( |
|
| 155 | + isset($GLOBALS['tables_auxiliaires'][$n = $nom]) |
|
| 156 | + or isset($GLOBALS['tables_auxiliaires'][$n = 'spip_' . $nom]) |
|
| 157 | + ) { |
|
| 158 | + $nom_sql = $n; |
|
| 159 | + $fdesc = &$GLOBALS['tables_auxiliaires'][$n]; |
|
| 160 | + } # table locale a cote de SPIP, comme non SPIP: |
|
| 161 | + } |
|
| 162 | + if (!isset($connexion['tables'][$nom_sql])) { |
|
| 163 | + // La *vraie* base a la priorite |
|
| 164 | + $exists = sql_table_exists($nom_sql, $table_spip, $serveur); |
|
| 165 | + if ( |
|
| 166 | + !$exists |
|
| 167 | + or !$desc = sql_showtable($nom_sql, $table_spip, $serveur) |
|
| 168 | + or !$desc['field'] |
|
| 169 | + ) { |
|
| 170 | + if (!$fdesc) { |
|
| 171 | + $log_level = $options['log_missing'] ? _LOG_INFO_IMPORTANTE : _LOG_DEBUG; |
|
| 172 | + spip_log("trouver_table: table inconnue '$serveur' '$nom'", 'base' . $log_level); |
|
| 173 | + |
|
| 174 | + return null; |
|
| 175 | + } |
|
| 176 | + // on ne sait pas lire la structure de la table : |
|
| 177 | + // on retombe sur la description donnee dans les fichiers spip |
|
| 178 | + $desc = $fdesc; |
|
| 179 | + $desc['exist'] = false; |
|
| 180 | + } else { |
|
| 181 | + $desc['exist'] = true; |
|
| 182 | + // gerer le cas des cles vides (echec de l'analyse sur une vue par exemple) |
|
| 183 | + // pour recuperer la declaration de lister_tables_objets_sql() si il y en a une |
|
| 184 | + if (! $desc['key']) { |
|
| 185 | + spip_log("trouver_table: table sans cle '$serveur' '$nom'", 'base'); |
|
| 186 | + unset($desc['key']); |
|
| 187 | + } |
|
| 188 | + } |
|
| 189 | + |
|
| 190 | + $desc['table'] = $desc['table_sql'] = $nom_sql; |
|
| 191 | + $desc['connexion'] = $serveur; |
|
| 192 | + |
|
| 193 | + // charger les infos declarees pour cette table |
|
| 194 | + // en lui passant les infos connues |
|
| 195 | + // $desc est prioritaire pour la description de la table |
|
| 196 | + $desc = array_merge(lister_tables_objets_sql($nom_sql, $desc), $desc); |
|
| 197 | + // s'assurer qu'on a toujours un 'key' |
|
| 198 | + if (!isset($desc['key']) && !empty($fdesc['key'])) { |
|
| 199 | + $desc['key'] = $fdesc['key']; |
|
| 200 | + } |
|
| 201 | + if (! isset($desc['key'])) { |
|
| 202 | + $desc['key'] = []; |
|
| 203 | + } |
|
| 204 | + |
|
| 205 | + // si tables_objets_sql est bien fini d'init, on peut cacher |
|
| 206 | + $connexion['tables'][$nom_sql] = $desc; |
|
| 207 | + $res = &$connexion['tables'][$nom_sql]; |
|
| 208 | + // une nouvelle table a ete decrite |
|
| 209 | + // mettons donc a jour le cache des descriptions de ce serveur |
|
| 210 | + if (is_writeable(_DIR_CACHE)) { |
|
| 211 | + ecrire_fichier($nom_cache_desc_sql[$serveur][$objets_sql], serialize($connexion['tables']), true); |
|
| 212 | + } |
|
| 213 | + } else { |
|
| 214 | + $res = &$connexion['tables'][$nom_sql]; |
|
| 215 | + } |
|
| 216 | + |
|
| 217 | + // toujours retourner $nom dans id_table |
|
| 218 | + $res['id_table'] = $nom; |
|
| 219 | + |
|
| 220 | + return $res; |
|
| 221 | 221 | } |
@@ -16,7 +16,7 @@ discard block |
||
| 16 | 16 | * @package SPIP\Core\Fichier |
| 17 | 17 | **/ |
| 18 | 18 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 19 | - return; |
|
| 19 | + return; |
|
| 20 | 20 | } |
| 21 | 21 | |
| 22 | 22 | /** |
@@ -36,28 +36,28 @@ discard block |
||
| 36 | 36 | */ |
| 37 | 37 | function spip_livrer_fichier($fichier, $content_type = 'application/octet-stream', $options = []) { |
| 38 | 38 | |
| 39 | - $defaut = [ |
|
| 40 | - 'attachment' => false, |
|
| 41 | - 'expires' => 3600, |
|
| 42 | - 'range' => null |
|
| 43 | - ]; |
|
| 44 | - $options = array_merge($defaut, $options); |
|
| 45 | - if (is_numeric($options['expire']) and $options['expire'] > 0) { |
|
| 46 | - $options['expire'] = gmdate('D, d M Y H:i:s', time() + $options['expires']) . ' GMT'; |
|
| 47 | - } |
|
| 48 | - |
|
| 49 | - if (is_null($options) and isset($_SERVER['HTTP_RANGE'])) { |
|
| 50 | - $options['range'] = $_SERVER['HTTP_RANGE']; |
|
| 51 | - } |
|
| 52 | - |
|
| 53 | - spip_livrer_fichier_entetes($fichier, $content_type, $options['attachment'] && !$options['range'], $options['expires']); |
|
| 54 | - |
|
| 55 | - if (!is_null($options['range'])) { |
|
| 56 | - spip_livrer_fichier_partie($fichier, $options['range']); |
|
| 57 | - } |
|
| 58 | - else { |
|
| 59 | - spip_livrer_fichier_entier($fichier); |
|
| 60 | - } |
|
| 39 | + $defaut = [ |
|
| 40 | + 'attachment' => false, |
|
| 41 | + 'expires' => 3600, |
|
| 42 | + 'range' => null |
|
| 43 | + ]; |
|
| 44 | + $options = array_merge($defaut, $options); |
|
| 45 | + if (is_numeric($options['expire']) and $options['expire'] > 0) { |
|
| 46 | + $options['expire'] = gmdate('D, d M Y H:i:s', time() + $options['expires']) . ' GMT'; |
|
| 47 | + } |
|
| 48 | + |
|
| 49 | + if (is_null($options) and isset($_SERVER['HTTP_RANGE'])) { |
|
| 50 | + $options['range'] = $_SERVER['HTTP_RANGE']; |
|
| 51 | + } |
|
| 52 | + |
|
| 53 | + spip_livrer_fichier_entetes($fichier, $content_type, $options['attachment'] && !$options['range'], $options['expires']); |
|
| 54 | + |
|
| 55 | + if (!is_null($options['range'])) { |
|
| 56 | + spip_livrer_fichier_partie($fichier, $options['range']); |
|
| 57 | + } |
|
| 58 | + else { |
|
| 59 | + spip_livrer_fichier_entier($fichier); |
|
| 60 | + } |
|
| 61 | 61 | } |
| 62 | 62 | |
| 63 | 63 | /** |
@@ -70,28 +70,28 @@ discard block |
||
| 70 | 70 | * @param int|string $expires |
| 71 | 71 | */ |
| 72 | 72 | function spip_livrer_fichier_entetes($fichier, $content_type = 'application/octet-stream', $attachment = false, $expires = 0) { |
| 73 | - // toujours envoyer un content type, meme vide ! |
|
| 74 | - header('Accept-Ranges: bytes'); |
|
| 75 | - header('Content-Type: ' . $content_type); |
|
| 76 | - |
|
| 77 | - if ($attachment) { |
|
| 78 | - $f = basename($fichier); |
|
| 79 | - // ce content-type est necessaire pour eviter des corruptions de zip dans ie6 |
|
| 80 | - header('Content-Type: application/octet-stream'); |
|
| 81 | - |
|
| 82 | - header("Content-Disposition: attachment; filename=\"$f\";"); |
|
| 83 | - header('Content-Transfer-Encoding: binary'); |
|
| 84 | - |
|
| 85 | - // fix for IE caching or PHP bug issue |
|
| 86 | - header('Expires: 0'); // set expiration time |
|
| 87 | - header('Pragma: public'); |
|
| 88 | - header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); |
|
| 89 | - } |
|
| 90 | - else { |
|
| 91 | - $f = basename($fichier); |
|
| 92 | - header("Content-Disposition: inline; filename=\"$f\";"); |
|
| 93 | - header('Expires: ' . $expires); // set expiration time |
|
| 94 | - } |
|
| 73 | + // toujours envoyer un content type, meme vide ! |
|
| 74 | + header('Accept-Ranges: bytes'); |
|
| 75 | + header('Content-Type: ' . $content_type); |
|
| 76 | + |
|
| 77 | + if ($attachment) { |
|
| 78 | + $f = basename($fichier); |
|
| 79 | + // ce content-type est necessaire pour eviter des corruptions de zip dans ie6 |
|
| 80 | + header('Content-Type: application/octet-stream'); |
|
| 81 | + |
|
| 82 | + header("Content-Disposition: attachment; filename=\"$f\";"); |
|
| 83 | + header('Content-Transfer-Encoding: binary'); |
|
| 84 | + |
|
| 85 | + // fix for IE caching or PHP bug issue |
|
| 86 | + header('Expires: 0'); // set expiration time |
|
| 87 | + header('Pragma: public'); |
|
| 88 | + header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); |
|
| 89 | + } |
|
| 90 | + else { |
|
| 91 | + $f = basename($fichier); |
|
| 92 | + header("Content-Disposition: inline; filename=\"$f\";"); |
|
| 93 | + header('Expires: ' . $expires); // set expiration time |
|
| 94 | + } |
|
| 95 | 95 | } |
| 96 | 96 | |
| 97 | 97 | /** |
@@ -99,20 +99,20 @@ discard block |
||
| 99 | 99 | * @param string $fichier |
| 100 | 100 | */ |
| 101 | 101 | function spip_livrer_fichier_entier($fichier) { |
| 102 | - if (!file_exists($fichier)) { |
|
| 103 | - throw new \Exception(sprintf('File not found: %s', $fichier)); |
|
| 104 | - } |
|
| 102 | + if (!file_exists($fichier)) { |
|
| 103 | + throw new \Exception(sprintf('File not found: %s', $fichier)); |
|
| 104 | + } |
|
| 105 | 105 | |
| 106 | - if (!is_readable($fichier)) { |
|
| 107 | - throw new \Exception(sprintf('File not readable: %s', $fichier)); |
|
| 108 | - } |
|
| 106 | + if (!is_readable($fichier)) { |
|
| 107 | + throw new \Exception(sprintf('File not readable: %s', $fichier)); |
|
| 108 | + } |
|
| 109 | 109 | |
| 110 | - if ($size = filesize($fichier)) { |
|
| 111 | - header(sprintf('Content-Length: %d', $size)); |
|
| 112 | - } |
|
| 110 | + if ($size = filesize($fichier)) { |
|
| 111 | + header(sprintf('Content-Length: %d', $size)); |
|
| 112 | + } |
|
| 113 | 113 | |
| 114 | - readfile($fichier); |
|
| 115 | - exit(); |
|
| 114 | + readfile($fichier); |
|
| 115 | + exit(); |
|
| 116 | 116 | } |
| 117 | 117 | |
| 118 | 118 | /** |
@@ -125,98 +125,98 @@ discard block |
||
| 125 | 125 | * @throws Exception |
| 126 | 126 | */ |
| 127 | 127 | function spip_livrer_fichier_partie($fichier, $range = null) { |
| 128 | - if (!file_exists($fichier)) { |
|
| 129 | - throw new \Exception(sprintf('File not found: %s', $fichier)); |
|
| 130 | - } |
|
| 128 | + if (!file_exists($fichier)) { |
|
| 129 | + throw new \Exception(sprintf('File not found: %s', $fichier)); |
|
| 130 | + } |
|
| 131 | 131 | |
| 132 | - if (!is_readable($fichier)) { |
|
| 133 | - throw new \Exception(sprintf('File not readable: %s', $fichier)); |
|
| 134 | - } |
|
| 132 | + if (!is_readable($fichier)) { |
|
| 133 | + throw new \Exception(sprintf('File not readable: %s', $fichier)); |
|
| 134 | + } |
|
| 135 | 135 | |
| 136 | 136 | |
| 137 | - // Par defaut on envoie tout |
|
| 138 | - $byteOffset = 0; |
|
| 139 | - $byteLength = $fileSize = filesize($fichier); |
|
| 137 | + // Par defaut on envoie tout |
|
| 138 | + $byteOffset = 0; |
|
| 139 | + $byteLength = $fileSize = filesize($fichier); |
|
| 140 | 140 | |
| 141 | 141 | |
| 142 | - // Parse Content-Range header for byte offsets, looks like "bytes=11525-" OR "bytes=11525-12451" |
|
| 143 | - if ($range and preg_match('%bytes=(\d+)-(\d+)?%i', $range, $match)) { |
|
| 144 | - ### Offset signifies where we should begin to read the file |
|
| 145 | - $byteOffset = (int)$match[1]; |
|
| 142 | + // Parse Content-Range header for byte offsets, looks like "bytes=11525-" OR "bytes=11525-12451" |
|
| 143 | + if ($range and preg_match('%bytes=(\d+)-(\d+)?%i', $range, $match)) { |
|
| 144 | + ### Offset signifies where we should begin to read the file |
|
| 145 | + $byteOffset = (int)$match[1]; |
|
| 146 | 146 | |
| 147 | 147 | |
| 148 | - ### Length is for how long we should read the file according to the browser, and can never go beyond the file size |
|
| 149 | - if (isset($match[2])) { |
|
| 150 | - $finishBytes = (int)$match[2]; |
|
| 151 | - $byteLength = $finishBytes + 1; |
|
| 152 | - } else { |
|
| 153 | - $finishBytes = $fileSize - 1; |
|
| 154 | - } |
|
| 148 | + ### Length is for how long we should read the file according to the browser, and can never go beyond the file size |
|
| 149 | + if (isset($match[2])) { |
|
| 150 | + $finishBytes = (int)$match[2]; |
|
| 151 | + $byteLength = $finishBytes + 1; |
|
| 152 | + } else { |
|
| 153 | + $finishBytes = $fileSize - 1; |
|
| 154 | + } |
|
| 155 | 155 | |
| 156 | - $cr_header = sprintf('Content-Range: bytes %d-%d/%d', $byteOffset, $finishBytes, $fileSize); |
|
| 157 | - } |
|
| 158 | - else { |
|
| 159 | - // si pas de range valide, on delegue a la methode d'envoi complet |
|
| 160 | - spip_livrer_fichier_entier($fichier); |
|
| 161 | - // redondant, mais facilite la comprehension du code |
|
| 162 | - exit(); |
|
| 163 | - } |
|
| 156 | + $cr_header = sprintf('Content-Range: bytes %d-%d/%d', $byteOffset, $finishBytes, $fileSize); |
|
| 157 | + } |
|
| 158 | + else { |
|
| 159 | + // si pas de range valide, on delegue a la methode d'envoi complet |
|
| 160 | + spip_livrer_fichier_entier($fichier); |
|
| 161 | + // redondant, mais facilite la comprehension du code |
|
| 162 | + exit(); |
|
| 163 | + } |
|
| 164 | 164 | |
| 165 | - // Remove headers that might unnecessarily clutter up the output |
|
| 166 | - header_remove('Cache-Control'); |
|
| 167 | - header_remove('Pragma'); |
|
| 165 | + // Remove headers that might unnecessarily clutter up the output |
|
| 166 | + header_remove('Cache-Control'); |
|
| 167 | + header_remove('Pragma'); |
|
| 168 | 168 | |
| 169 | - // partial content |
|
| 170 | - header('HTTP/1.1 206 Partial content'); |
|
| 171 | - header($cr_header); ### Decrease by 1 on byte-length since this definition is zero-based index of bytes being sent |
|
| 169 | + // partial content |
|
| 170 | + header('HTTP/1.1 206 Partial content'); |
|
| 171 | + header($cr_header); ### Decrease by 1 on byte-length since this definition is zero-based index of bytes being sent |
|
| 172 | 172 | |
| 173 | 173 | |
| 174 | - $byteRange = $byteLength - $byteOffset; |
|
| 174 | + $byteRange = $byteLength - $byteOffset; |
|
| 175 | 175 | |
| 176 | - header(sprintf('Content-Length: %d', $byteRange)); |
|
| 176 | + header(sprintf('Content-Length: %d', $byteRange)); |
|
| 177 | 177 | |
| 178 | - // Variable containing the buffer |
|
| 179 | - $buffer = ''; |
|
| 180 | - // Just a reasonable buffer size |
|
| 181 | - $bufferSize = 512 * 16; |
|
| 182 | - // Contains how much is left to read of the byteRange |
|
| 183 | - $bytePool = $byteRange; |
|
| 178 | + // Variable containing the buffer |
|
| 179 | + $buffer = ''; |
|
| 180 | + // Just a reasonable buffer size |
|
| 181 | + $bufferSize = 512 * 16; |
|
| 182 | + // Contains how much is left to read of the byteRange |
|
| 183 | + $bytePool = $byteRange; |
|
| 184 | 184 | |
| 185 | - if (!$handle = fopen($fichier, 'r')) { |
|
| 186 | - throw new \Exception(sprintf('Could not get handle for file %s', $fichier)); |
|
| 187 | - } |
|
| 185 | + if (!$handle = fopen($fichier, 'r')) { |
|
| 186 | + throw new \Exception(sprintf('Could not get handle for file %s', $fichier)); |
|
| 187 | + } |
|
| 188 | 188 | |
| 189 | - if (fseek($handle, $byteOffset, SEEK_SET) == -1) { |
|
| 190 | - throw new \Exception(sprintf('Could not seek to byte offset %d', $byteOffset)); |
|
| 191 | - } |
|
| 189 | + if (fseek($handle, $byteOffset, SEEK_SET) == -1) { |
|
| 190 | + throw new \Exception(sprintf('Could not seek to byte offset %d', $byteOffset)); |
|
| 191 | + } |
|
| 192 | 192 | |
| 193 | 193 | |
| 194 | - while ($bytePool > 0) { |
|
| 195 | - // How many bytes we request on this iteration |
|
| 196 | - $chunkSizeRequested = min($bufferSize, $bytePool); |
|
| 194 | + while ($bytePool > 0) { |
|
| 195 | + // How many bytes we request on this iteration |
|
| 196 | + $chunkSizeRequested = min($bufferSize, $bytePool); |
|
| 197 | 197 | |
| 198 | - // Try readin $chunkSizeRequested bytes from $handle and put data in $buffer |
|
| 199 | - $buffer = fread($handle, $chunkSizeRequested); |
|
| 198 | + // Try readin $chunkSizeRequested bytes from $handle and put data in $buffer |
|
| 199 | + $buffer = fread($handle, $chunkSizeRequested); |
|
| 200 | 200 | |
| 201 | - // Store how many bytes were actually read |
|
| 202 | - $chunkSizeActual = strlen($buffer); |
|
| 201 | + // Store how many bytes were actually read |
|
| 202 | + $chunkSizeActual = strlen($buffer); |
|
| 203 | 203 | |
| 204 | - // If we didn't get any bytes that means something unexpected has happened since $bytePool should be zero already |
|
| 205 | - if ($chunkSizeActual == 0) { |
|
| 206 | - // For production servers this should go in your php error log, since it will break the output |
|
| 207 | - trigger_error('Chunksize became 0', E_USER_WARNING); |
|
| 208 | - break; |
|
| 209 | - } |
|
| 204 | + // If we didn't get any bytes that means something unexpected has happened since $bytePool should be zero already |
|
| 205 | + if ($chunkSizeActual == 0) { |
|
| 206 | + // For production servers this should go in your php error log, since it will break the output |
|
| 207 | + trigger_error('Chunksize became 0', E_USER_WARNING); |
|
| 208 | + break; |
|
| 209 | + } |
|
| 210 | 210 | |
| 211 | - // Decrease byte pool with amount of bytes that were read during this iteration |
|
| 212 | - $bytePool -= $chunkSizeActual; |
|
| 211 | + // Decrease byte pool with amount of bytes that were read during this iteration |
|
| 212 | + $bytePool -= $chunkSizeActual; |
|
| 213 | 213 | |
| 214 | - // Write the buffer to output |
|
| 215 | - print $buffer; |
|
| 214 | + // Write the buffer to output |
|
| 215 | + print $buffer; |
|
| 216 | 216 | |
| 217 | - // Try to output the data to the client immediately |
|
| 218 | - flush(); |
|
| 219 | - } |
|
| 217 | + // Try to output the data to the client immediately |
|
| 218 | + flush(); |
|
| 219 | + } |
|
| 220 | 220 | |
| 221 | - exit(); |
|
| 221 | + exit(); |
|
| 222 | 222 | } |
@@ -43,7 +43,7 @@ discard block |
||
| 43 | 43 | ]; |
| 44 | 44 | $options = array_merge($defaut, $options); |
| 45 | 45 | if (is_numeric($options['expire']) and $options['expire'] > 0) { |
| 46 | - $options['expire'] = gmdate('D, d M Y H:i:s', time() + $options['expires']) . ' GMT'; |
|
| 46 | + $options['expire'] = gmdate('D, d M Y H:i:s', time() + $options['expires']).' GMT'; |
|
| 47 | 47 | } |
| 48 | 48 | |
| 49 | 49 | if (is_null($options) and isset($_SERVER['HTTP_RANGE'])) { |
@@ -72,7 +72,7 @@ discard block |
||
| 72 | 72 | function spip_livrer_fichier_entetes($fichier, $content_type = 'application/octet-stream', $attachment = false, $expires = 0) { |
| 73 | 73 | // toujours envoyer un content type, meme vide ! |
| 74 | 74 | header('Accept-Ranges: bytes'); |
| 75 | - header('Content-Type: ' . $content_type); |
|
| 75 | + header('Content-Type: '.$content_type); |
|
| 76 | 76 | |
| 77 | 77 | if ($attachment) { |
| 78 | 78 | $f = basename($fichier); |
@@ -90,7 +90,7 @@ discard block |
||
| 90 | 90 | else { |
| 91 | 91 | $f = basename($fichier); |
| 92 | 92 | header("Content-Disposition: inline; filename=\"$f\";"); |
| 93 | - header('Expires: ' . $expires); // set expiration time |
|
| 93 | + header('Expires: '.$expires); // set expiration time |
|
| 94 | 94 | } |
| 95 | 95 | } |
| 96 | 96 | |
@@ -142,12 +142,12 @@ discard block |
||
| 142 | 142 | // Parse Content-Range header for byte offsets, looks like "bytes=11525-" OR "bytes=11525-12451" |
| 143 | 143 | if ($range and preg_match('%bytes=(\d+)-(\d+)?%i', $range, $match)) { |
| 144 | 144 | ### Offset signifies where we should begin to read the file |
| 145 | - $byteOffset = (int)$match[1]; |
|
| 145 | + $byteOffset = (int) $match[1]; |
|
| 146 | 146 | |
| 147 | 147 | |
| 148 | 148 | ### Length is for how long we should read the file according to the browser, and can never go beyond the file size |
| 149 | 149 | if (isset($match[2])) { |
| 150 | - $finishBytes = (int)$match[2]; |
|
| 150 | + $finishBytes = (int) $match[2]; |
|
| 151 | 151 | $byteLength = $finishBytes + 1; |
| 152 | 152 | } else { |
| 153 | 153 | $finishBytes = $fileSize - 1; |
@@ -168,7 +168,7 @@ discard block |
||
| 168 | 168 | |
| 169 | 169 | // partial content |
| 170 | 170 | header('HTTP/1.1 206 Partial content'); |
| 171 | - header($cr_header); ### Decrease by 1 on byte-length since this definition is zero-based index of bytes being sent |
|
| 171 | + header($cr_header); ### Decrease by 1 on byte-length since this definition is zero-based index of bytes being sent |
|
| 172 | 172 | |
| 173 | 173 | |
| 174 | 174 | $byteRange = $byteLength - $byteOffset; |
@@ -54,8 +54,7 @@ discard block |
||
| 54 | 54 | |
| 55 | 55 | if (!is_null($options['range'])) { |
| 56 | 56 | spip_livrer_fichier_partie($fichier, $options['range']); |
| 57 | - } |
|
| 58 | - else { |
|
| 57 | + } else { |
|
| 59 | 58 | spip_livrer_fichier_entier($fichier); |
| 60 | 59 | } |
| 61 | 60 | } |
@@ -86,8 +85,7 @@ discard block |
||
| 86 | 85 | header('Expires: 0'); // set expiration time |
| 87 | 86 | header('Pragma: public'); |
| 88 | 87 | header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); |
| 89 | - } |
|
| 90 | - else { |
|
| 88 | + } else { |
|
| 91 | 89 | $f = basename($fichier); |
| 92 | 90 | header("Content-Disposition: inline; filename=\"$f\";"); |
| 93 | 91 | header('Expires: ' . $expires); // set expiration time |
@@ -154,8 +152,7 @@ discard block |
||
| 154 | 152 | } |
| 155 | 153 | |
| 156 | 154 | $cr_header = sprintf('Content-Range: bytes %d-%d/%d', $byteOffset, $finishBytes, $fileSize); |
| 157 | - } |
|
| 158 | - else { |
|
| 155 | + } else { |
|
| 159 | 156 | // si pas de range valide, on delegue a la methode d'envoi complet |
| 160 | 157 | spip_livrer_fichier_entier($fichier); |
| 161 | 158 | // redondant, mais facilite la comprehension du code |
@@ -116,8 +116,7 @@ discard block |
||
| 116 | 116 | ); |
| 117 | 117 | if (!$res or (!$res['length'] and $res['status'] != 304)) { |
| 118 | 118 | spip_log("copie_locale : Echec recuperation $source sur $localrac status : " . ($res ? $res['status'] : '-'), 'distant' . _LOG_INFO_IMPORTANTE); |
| 119 | - } |
|
| 120 | - else { |
|
| 119 | + } else { |
|
| 121 | 120 | spip_log("copie_locale : recuperation $source sur $localrac OK | taille " . $res['length'] . ' status ' . $res['status'], 'distant'); |
| 122 | 121 | } |
| 123 | 122 | if (!$res or !$res['length']) { |
@@ -222,8 +221,7 @@ discard block |
||
| 222 | 221 | break; |
| 223 | 222 | } |
| 224 | 223 | } |
| 225 | - } |
|
| 226 | - else { |
|
| 224 | + } else { |
|
| 227 | 225 | $ip = false; |
| 228 | 226 | } |
| 229 | 227 | } |
@@ -16,32 +16,32 @@ discard block |
||
| 16 | 16 | * @package SPIP\Core\Distant |
| 17 | 17 | **/ |
| 18 | 18 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 19 | - return; |
|
| 19 | + return; |
|
| 20 | 20 | } |
| 21 | 21 | |
| 22 | 22 | if (!defined('_INC_DISTANT_VERSION_HTTP')) { |
| 23 | - define('_INC_DISTANT_VERSION_HTTP', 'HTTP/1.0'); |
|
| 23 | + define('_INC_DISTANT_VERSION_HTTP', 'HTTP/1.0'); |
|
| 24 | 24 | } |
| 25 | 25 | if (!defined('_INC_DISTANT_CONTENT_ENCODING')) { |
| 26 | - define('_INC_DISTANT_CONTENT_ENCODING', 'gzip'); |
|
| 26 | + define('_INC_DISTANT_CONTENT_ENCODING', 'gzip'); |
|
| 27 | 27 | } |
| 28 | 28 | if (!defined('_INC_DISTANT_USER_AGENT')) { |
| 29 | - define('_INC_DISTANT_USER_AGENT', 'SPIP-' . $GLOBALS['spip_version_affichee'] . ' (' . $GLOBALS['home_server'] . ')'); |
|
| 29 | + define('_INC_DISTANT_USER_AGENT', 'SPIP-' . $GLOBALS['spip_version_affichee'] . ' (' . $GLOBALS['home_server'] . ')'); |
|
| 30 | 30 | } |
| 31 | 31 | if (!defined('_INC_DISTANT_MAX_SIZE')) { |
| 32 | - define('_INC_DISTANT_MAX_SIZE', 2_097_152); |
|
| 32 | + define('_INC_DISTANT_MAX_SIZE', 2_097_152); |
|
| 33 | 33 | } |
| 34 | 34 | if (!defined('_INC_DISTANT_CONNECT_TIMEOUT')) { |
| 35 | - define('_INC_DISTANT_CONNECT_TIMEOUT', 10); |
|
| 35 | + define('_INC_DISTANT_CONNECT_TIMEOUT', 10); |
|
| 36 | 36 | } |
| 37 | 37 | |
| 38 | 38 | define('_REGEXP_COPIE_LOCALE', ',' . |
| 39 | - preg_replace( |
|
| 40 | - '@^https?:@', |
|
| 41 | - 'https?:', |
|
| 42 | - ($GLOBALS['meta']['adresse_site'] ?? '') |
|
| 43 | - ) |
|
| 44 | - . '/?spip.php[?]action=acceder_document.*file=(.*)$,'); |
|
| 39 | + preg_replace( |
|
| 40 | + '@^https?:@', |
|
| 41 | + 'https?:', |
|
| 42 | + ($GLOBALS['meta']['adresse_site'] ?? '') |
|
| 43 | + ) |
|
| 44 | + . '/?spip.php[?]action=acceder_document.*file=(.*)$,'); |
|
| 45 | 45 | |
| 46 | 46 | //@define('_COPIE_LOCALE_MAX_SIZE',2097152); // poids (inc/utils l'a fait) |
| 47 | 47 | |
@@ -68,89 +68,89 @@ discard block |
||
| 68 | 68 | */ |
| 69 | 69 | function copie_locale($source, $mode = 'auto', $local = null, $taille_max = null) { |
| 70 | 70 | |
| 71 | - // si c'est la protection de soi-meme, retourner le path |
|
| 72 | - if ($mode !== 'force' and preg_match(_REGEXP_COPIE_LOCALE, $source, $match)) { |
|
| 73 | - $source = substr(_DIR_IMG, strlen(_DIR_RACINE)) . urldecode($match[1]); |
|
| 74 | - |
|
| 75 | - return @file_exists($source) ? $source : false; |
|
| 76 | - } |
|
| 77 | - |
|
| 78 | - if (is_null($local)) { |
|
| 79 | - $local = fichier_copie_locale($source); |
|
| 80 | - } else { |
|
| 81 | - if (_DIR_RACINE and strncmp(_DIR_RACINE, $local, strlen(_DIR_RACINE)) == 0) { |
|
| 82 | - $local = substr($local, strlen(_DIR_RACINE)); |
|
| 83 | - } |
|
| 84 | - } |
|
| 85 | - |
|
| 86 | - // si $local = '' c'est un fichier refuse par fichier_copie_locale(), |
|
| 87 | - // par exemple un fichier qui ne figure pas dans nos documents ; |
|
| 88 | - // dans ce cas on n'essaie pas de le telecharger pour ensuite echouer |
|
| 89 | - if (!$local) { |
|
| 90 | - return false; |
|
| 91 | - } |
|
| 92 | - |
|
| 93 | - $localrac = _DIR_RACINE . $local; |
|
| 94 | - $t = ($mode === 'force') ? false : @file_exists($localrac); |
|
| 95 | - |
|
| 96 | - // test d'existence du fichier |
|
| 97 | - if ($mode === 'test') { |
|
| 98 | - return $t ? $local : ''; |
|
| 99 | - } |
|
| 100 | - |
|
| 101 | - // sinon voir si on doit/peut le telecharger |
|
| 102 | - if ($local === $source or !tester_url_absolue($source)) { |
|
| 103 | - return $local; |
|
| 104 | - } |
|
| 105 | - |
|
| 106 | - if ($mode === 'modif' or !$t) { |
|
| 107 | - // passer par un fichier temporaire unique pour gerer les echecs en cours de recuperation |
|
| 108 | - // et des eventuelles recuperations concurantes |
|
| 109 | - include_spip('inc/acces'); |
|
| 110 | - if (!$taille_max) { |
|
| 111 | - $taille_max = _COPIE_LOCALE_MAX_SIZE; |
|
| 112 | - } |
|
| 113 | - $res = recuperer_url( |
|
| 114 | - $source, |
|
| 115 | - ['file' => $localrac, 'taille_max' => $taille_max, 'if_modified_since' => $t ? filemtime($localrac) : ''] |
|
| 116 | - ); |
|
| 117 | - if (!$res or (!$res['length'] and $res['status'] != 304)) { |
|
| 118 | - spip_log("copie_locale : Echec recuperation $source sur $localrac status : " . ($res ? $res['status'] : '-'), 'distant' . _LOG_INFO_IMPORTANTE); |
|
| 119 | - } |
|
| 120 | - else { |
|
| 121 | - spip_log("copie_locale : recuperation $source sur $localrac OK | taille " . $res['length'] . ' status ' . $res['status'], 'distant'); |
|
| 122 | - } |
|
| 123 | - if (!$res or !$res['length']) { |
|
| 124 | - // si $t c'est sans doute juste un not-modified-since |
|
| 125 | - return $t ? $local : false; |
|
| 126 | - } |
|
| 127 | - |
|
| 128 | - // si on retrouve l'extension |
|
| 129 | - if ( |
|
| 130 | - !empty($res['headers']) |
|
| 131 | - and $extension = distant_trouver_extension_selon_headers($source, $res['headers']) |
|
| 132 | - ) { |
|
| 133 | - if ($sanitizer = charger_fonction($extension, 'sanitizer', true)) { |
|
| 134 | - $sanitizer($localrac); |
|
| 135 | - } |
|
| 136 | - } |
|
| 137 | - |
|
| 138 | - // pour une eventuelle indexation |
|
| 139 | - pipeline( |
|
| 140 | - 'post_edition', |
|
| 141 | - [ |
|
| 142 | - 'args' => [ |
|
| 143 | - 'operation' => 'copie_locale', |
|
| 144 | - 'source' => $source, |
|
| 145 | - 'fichier' => $local, |
|
| 146 | - 'http_res' => $res['length'], |
|
| 147 | - ], |
|
| 148 | - 'data' => null |
|
| 149 | - ] |
|
| 150 | - ); |
|
| 151 | - } |
|
| 152 | - |
|
| 153 | - return $local; |
|
| 71 | + // si c'est la protection de soi-meme, retourner le path |
|
| 72 | + if ($mode !== 'force' and preg_match(_REGEXP_COPIE_LOCALE, $source, $match)) { |
|
| 73 | + $source = substr(_DIR_IMG, strlen(_DIR_RACINE)) . urldecode($match[1]); |
|
| 74 | + |
|
| 75 | + return @file_exists($source) ? $source : false; |
|
| 76 | + } |
|
| 77 | + |
|
| 78 | + if (is_null($local)) { |
|
| 79 | + $local = fichier_copie_locale($source); |
|
| 80 | + } else { |
|
| 81 | + if (_DIR_RACINE and strncmp(_DIR_RACINE, $local, strlen(_DIR_RACINE)) == 0) { |
|
| 82 | + $local = substr($local, strlen(_DIR_RACINE)); |
|
| 83 | + } |
|
| 84 | + } |
|
| 85 | + |
|
| 86 | + // si $local = '' c'est un fichier refuse par fichier_copie_locale(), |
|
| 87 | + // par exemple un fichier qui ne figure pas dans nos documents ; |
|
| 88 | + // dans ce cas on n'essaie pas de le telecharger pour ensuite echouer |
|
| 89 | + if (!$local) { |
|
| 90 | + return false; |
|
| 91 | + } |
|
| 92 | + |
|
| 93 | + $localrac = _DIR_RACINE . $local; |
|
| 94 | + $t = ($mode === 'force') ? false : @file_exists($localrac); |
|
| 95 | + |
|
| 96 | + // test d'existence du fichier |
|
| 97 | + if ($mode === 'test') { |
|
| 98 | + return $t ? $local : ''; |
|
| 99 | + } |
|
| 100 | + |
|
| 101 | + // sinon voir si on doit/peut le telecharger |
|
| 102 | + if ($local === $source or !tester_url_absolue($source)) { |
|
| 103 | + return $local; |
|
| 104 | + } |
|
| 105 | + |
|
| 106 | + if ($mode === 'modif' or !$t) { |
|
| 107 | + // passer par un fichier temporaire unique pour gerer les echecs en cours de recuperation |
|
| 108 | + // et des eventuelles recuperations concurantes |
|
| 109 | + include_spip('inc/acces'); |
|
| 110 | + if (!$taille_max) { |
|
| 111 | + $taille_max = _COPIE_LOCALE_MAX_SIZE; |
|
| 112 | + } |
|
| 113 | + $res = recuperer_url( |
|
| 114 | + $source, |
|
| 115 | + ['file' => $localrac, 'taille_max' => $taille_max, 'if_modified_since' => $t ? filemtime($localrac) : ''] |
|
| 116 | + ); |
|
| 117 | + if (!$res or (!$res['length'] and $res['status'] != 304)) { |
|
| 118 | + spip_log("copie_locale : Echec recuperation $source sur $localrac status : " . ($res ? $res['status'] : '-'), 'distant' . _LOG_INFO_IMPORTANTE); |
|
| 119 | + } |
|
| 120 | + else { |
|
| 121 | + spip_log("copie_locale : recuperation $source sur $localrac OK | taille " . $res['length'] . ' status ' . $res['status'], 'distant'); |
|
| 122 | + } |
|
| 123 | + if (!$res or !$res['length']) { |
|
| 124 | + // si $t c'est sans doute juste un not-modified-since |
|
| 125 | + return $t ? $local : false; |
|
| 126 | + } |
|
| 127 | + |
|
| 128 | + // si on retrouve l'extension |
|
| 129 | + if ( |
|
| 130 | + !empty($res['headers']) |
|
| 131 | + and $extension = distant_trouver_extension_selon_headers($source, $res['headers']) |
|
| 132 | + ) { |
|
| 133 | + if ($sanitizer = charger_fonction($extension, 'sanitizer', true)) { |
|
| 134 | + $sanitizer($localrac); |
|
| 135 | + } |
|
| 136 | + } |
|
| 137 | + |
|
| 138 | + // pour une eventuelle indexation |
|
| 139 | + pipeline( |
|
| 140 | + 'post_edition', |
|
| 141 | + [ |
|
| 142 | + 'args' => [ |
|
| 143 | + 'operation' => 'copie_locale', |
|
| 144 | + 'source' => $source, |
|
| 145 | + 'fichier' => $local, |
|
| 146 | + 'http_res' => $res['length'], |
|
| 147 | + ], |
|
| 148 | + 'data' => null |
|
| 149 | + ] |
|
| 150 | + ); |
|
| 151 | + } |
|
| 152 | + |
|
| 153 | + return $local; |
|
| 154 | 154 | } |
| 155 | 155 | |
| 156 | 156 | /** |
@@ -165,99 +165,99 @@ discard block |
||
| 165 | 165 | * url ou false en cas d'echec |
| 166 | 166 | */ |
| 167 | 167 | function valider_url_distante($url, $known_hosts = []) { |
| 168 | - if (!function_exists('protocole_verifier')) { |
|
| 169 | - include_spip('inc/filtres_mini'); |
|
| 170 | - } |
|
| 171 | - |
|
| 172 | - if (!protocole_verifier($url, ['http', 'https'])) { |
|
| 173 | - return false; |
|
| 174 | - } |
|
| 175 | - |
|
| 176 | - $parsed_url = parse_url($url); |
|
| 177 | - if (!$parsed_url or empty($parsed_url['host'])) { |
|
| 178 | - return false; |
|
| 179 | - } |
|
| 180 | - |
|
| 181 | - if (isset($parsed_url['user']) or isset($parsed_url['pass'])) { |
|
| 182 | - return false; |
|
| 183 | - } |
|
| 184 | - |
|
| 185 | - if (false !== strpbrk($parsed_url['host'], ':#?[]')) { |
|
| 186 | - return false; |
|
| 187 | - } |
|
| 188 | - |
|
| 189 | - if (!is_array($known_hosts)) { |
|
| 190 | - $known_hosts = [$known_hosts]; |
|
| 191 | - } |
|
| 192 | - $known_hosts[] = $GLOBALS['meta']['adresse_site']; |
|
| 193 | - $known_hosts[] = url_de_base(); |
|
| 194 | - $known_hosts = pipeline('declarer_hosts_distants', $known_hosts); |
|
| 195 | - |
|
| 196 | - $is_known_host = false; |
|
| 197 | - foreach ($known_hosts as $known_host) { |
|
| 198 | - $parse_known = parse_url($known_host); |
|
| 199 | - if ( |
|
| 200 | - $parse_known |
|
| 201 | - and strtolower($parse_known['host']) === strtolower($parsed_url['host']) |
|
| 202 | - ) { |
|
| 203 | - $is_known_host = true; |
|
| 204 | - break; |
|
| 205 | - } |
|
| 206 | - } |
|
| 207 | - |
|
| 208 | - if (!$is_known_host) { |
|
| 209 | - $host = trim($parsed_url['host'], '.'); |
|
| 210 | - if (! $ip = filter_var($host, FILTER_VALIDATE_IP)) { |
|
| 211 | - $ip = gethostbyname($host); |
|
| 212 | - if ($ip === $host) { |
|
| 213 | - // Error condition for gethostbyname() |
|
| 214 | - $ip = false; |
|
| 215 | - } |
|
| 216 | - if ($records = dns_get_record($host)) { |
|
| 217 | - foreach ($records as $record) { |
|
| 218 | - // il faut que le TTL soit suffisant afin d'etre certain que le copie_locale eventuel qui suit |
|
| 219 | - // se fasse sur la meme IP |
|
| 220 | - if ($record['ttl'] < 10) { |
|
| 221 | - $ip = false; |
|
| 222 | - break; |
|
| 223 | - } |
|
| 224 | - } |
|
| 225 | - } |
|
| 226 | - else { |
|
| 227 | - $ip = false; |
|
| 228 | - } |
|
| 229 | - } |
|
| 230 | - if ($ip) { |
|
| 231 | - if (! filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE)) { |
|
| 232 | - return false; |
|
| 233 | - } |
|
| 234 | - } |
|
| 235 | - } |
|
| 236 | - |
|
| 237 | - if (empty($parsed_url['port'])) { |
|
| 238 | - return $url; |
|
| 239 | - } |
|
| 240 | - |
|
| 241 | - $port = $parsed_url['port']; |
|
| 242 | - if ($port === 80 or $port === 443 or $port === 8080) { |
|
| 243 | - return $url; |
|
| 244 | - } |
|
| 245 | - |
|
| 246 | - if ($is_known_host) { |
|
| 247 | - foreach ($known_hosts as $known_host) { |
|
| 248 | - $parse_known = parse_url($known_host); |
|
| 249 | - if ( |
|
| 250 | - $parse_known |
|
| 251 | - and !empty($parse_known['port']) |
|
| 252 | - and strtolower($parse_known['host']) === strtolower($parsed_url['host']) |
|
| 253 | - and $parse_known['port'] == $port |
|
| 254 | - ) { |
|
| 255 | - return $url; |
|
| 256 | - } |
|
| 257 | - } |
|
| 258 | - } |
|
| 259 | - |
|
| 260 | - return false; |
|
| 168 | + if (!function_exists('protocole_verifier')) { |
|
| 169 | + include_spip('inc/filtres_mini'); |
|
| 170 | + } |
|
| 171 | + |
|
| 172 | + if (!protocole_verifier($url, ['http', 'https'])) { |
|
| 173 | + return false; |
|
| 174 | + } |
|
| 175 | + |
|
| 176 | + $parsed_url = parse_url($url); |
|
| 177 | + if (!$parsed_url or empty($parsed_url['host'])) { |
|
| 178 | + return false; |
|
| 179 | + } |
|
| 180 | + |
|
| 181 | + if (isset($parsed_url['user']) or isset($parsed_url['pass'])) { |
|
| 182 | + return false; |
|
| 183 | + } |
|
| 184 | + |
|
| 185 | + if (false !== strpbrk($parsed_url['host'], ':#?[]')) { |
|
| 186 | + return false; |
|
| 187 | + } |
|
| 188 | + |
|
| 189 | + if (!is_array($known_hosts)) { |
|
| 190 | + $known_hosts = [$known_hosts]; |
|
| 191 | + } |
|
| 192 | + $known_hosts[] = $GLOBALS['meta']['adresse_site']; |
|
| 193 | + $known_hosts[] = url_de_base(); |
|
| 194 | + $known_hosts = pipeline('declarer_hosts_distants', $known_hosts); |
|
| 195 | + |
|
| 196 | + $is_known_host = false; |
|
| 197 | + foreach ($known_hosts as $known_host) { |
|
| 198 | + $parse_known = parse_url($known_host); |
|
| 199 | + if ( |
|
| 200 | + $parse_known |
|
| 201 | + and strtolower($parse_known['host']) === strtolower($parsed_url['host']) |
|
| 202 | + ) { |
|
| 203 | + $is_known_host = true; |
|
| 204 | + break; |
|
| 205 | + } |
|
| 206 | + } |
|
| 207 | + |
|
| 208 | + if (!$is_known_host) { |
|
| 209 | + $host = trim($parsed_url['host'], '.'); |
|
| 210 | + if (! $ip = filter_var($host, FILTER_VALIDATE_IP)) { |
|
| 211 | + $ip = gethostbyname($host); |
|
| 212 | + if ($ip === $host) { |
|
| 213 | + // Error condition for gethostbyname() |
|
| 214 | + $ip = false; |
|
| 215 | + } |
|
| 216 | + if ($records = dns_get_record($host)) { |
|
| 217 | + foreach ($records as $record) { |
|
| 218 | + // il faut que le TTL soit suffisant afin d'etre certain que le copie_locale eventuel qui suit |
|
| 219 | + // se fasse sur la meme IP |
|
| 220 | + if ($record['ttl'] < 10) { |
|
| 221 | + $ip = false; |
|
| 222 | + break; |
|
| 223 | + } |
|
| 224 | + } |
|
| 225 | + } |
|
| 226 | + else { |
|
| 227 | + $ip = false; |
|
| 228 | + } |
|
| 229 | + } |
|
| 230 | + if ($ip) { |
|
| 231 | + if (! filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE)) { |
|
| 232 | + return false; |
|
| 233 | + } |
|
| 234 | + } |
|
| 235 | + } |
|
| 236 | + |
|
| 237 | + if (empty($parsed_url['port'])) { |
|
| 238 | + return $url; |
|
| 239 | + } |
|
| 240 | + |
|
| 241 | + $port = $parsed_url['port']; |
|
| 242 | + if ($port === 80 or $port === 443 or $port === 8080) { |
|
| 243 | + return $url; |
|
| 244 | + } |
|
| 245 | + |
|
| 246 | + if ($is_known_host) { |
|
| 247 | + foreach ($known_hosts as $known_host) { |
|
| 248 | + $parse_known = parse_url($known_host); |
|
| 249 | + if ( |
|
| 250 | + $parse_known |
|
| 251 | + and !empty($parse_known['port']) |
|
| 252 | + and strtolower($parse_known['host']) === strtolower($parsed_url['host']) |
|
| 253 | + and $parse_known['port'] == $port |
|
| 254 | + ) { |
|
| 255 | + return $url; |
|
| 256 | + } |
|
| 257 | + } |
|
| 258 | + } |
|
| 259 | + |
|
| 260 | + return false; |
|
| 261 | 261 | } |
| 262 | 262 | |
| 263 | 263 | /** |
@@ -277,86 +277,86 @@ discard block |
||
| 277 | 277 | */ |
| 278 | 278 | function prepare_donnees_post($donnees, $boundary = '') { |
| 279 | 279 | |
| 280 | - // permettre a la fonction qui a demande le post de formater elle meme ses donnees |
|
| 281 | - // pour un appel soap par exemple |
|
| 282 | - // l'entete est separe des donnees par un double retour a la ligne |
|
| 283 | - // on s'occupe ici de passer tous les retours lignes (\r\n, \r ou \n) en \r\n |
|
| 284 | - if (is_string($donnees) && strlen($donnees)) { |
|
| 285 | - $entete = ''; |
|
| 286 | - // on repasse tous les \r\n et \r en simples \n |
|
| 287 | - $donnees = str_replace("\r\n", "\n", $donnees); |
|
| 288 | - $donnees = str_replace("\r", "\n", $donnees); |
|
| 289 | - // un double retour a la ligne signifie la fin de l'entete et le debut des donnees |
|
| 290 | - $p = strpos($donnees, "\n\n"); |
|
| 291 | - if ($p !== false) { |
|
| 292 | - $entete = str_replace("\n", "\r\n", substr($donnees, 0, $p + 1)); |
|
| 293 | - $donnees = substr($donnees, $p + 2); |
|
| 294 | - } |
|
| 295 | - $chaine = str_replace("\n", "\r\n", $donnees); |
|
| 296 | - } else { |
|
| 297 | - /* boundary automatique */ |
|
| 298 | - // Si on a plus de 500 octects de donnees, on "boundarise" |
|
| 299 | - if ($boundary === '') { |
|
| 300 | - $taille = 0; |
|
| 301 | - foreach ($donnees as $cle => $valeur) { |
|
| 302 | - if (is_array($valeur)) { |
|
| 303 | - foreach ($valeur as $val2) { |
|
| 304 | - $taille += strlen($val2); |
|
| 305 | - } |
|
| 306 | - } else { |
|
| 307 | - // faut-il utiliser spip_strlen() dans inc/charsets ? |
|
| 308 | - $taille += strlen($valeur); |
|
| 309 | - } |
|
| 310 | - } |
|
| 311 | - if ($taille > 500) { |
|
| 312 | - $boundary = substr(md5(random_int(0, mt_getrandmax()) . 'spip'), 0, 8); |
|
| 313 | - } |
|
| 314 | - } |
|
| 315 | - |
|
| 316 | - if (is_string($boundary) and strlen($boundary)) { |
|
| 317 | - // fabrique une chaine HTTP pour un POST avec boundary |
|
| 318 | - $entete = "Content-Type: multipart/form-data; boundary=$boundary\r\n"; |
|
| 319 | - $chaine = ''; |
|
| 320 | - if (is_array($donnees)) { |
|
| 321 | - foreach ($donnees as $cle => $valeur) { |
|
| 322 | - if (is_array($valeur)) { |
|
| 323 | - foreach ($valeur as $val2) { |
|
| 324 | - $chaine .= "\r\n--$boundary\r\n"; |
|
| 325 | - $chaine .= "Content-Disposition: form-data; name=\"{$cle}[]\"\r\n"; |
|
| 326 | - $chaine .= "\r\n"; |
|
| 327 | - $chaine .= $val2; |
|
| 328 | - } |
|
| 329 | - } else { |
|
| 330 | - $chaine .= "\r\n--$boundary\r\n"; |
|
| 331 | - $chaine .= "Content-Disposition: form-data; name=\"$cle\"\r\n"; |
|
| 332 | - $chaine .= "\r\n"; |
|
| 333 | - $chaine .= $valeur; |
|
| 334 | - } |
|
| 335 | - } |
|
| 336 | - $chaine .= "\r\n--$boundary\r\n"; |
|
| 337 | - } |
|
| 338 | - } else { |
|
| 339 | - // fabrique une chaine HTTP simple pour un POST |
|
| 340 | - $entete = 'Content-Type: application/x-www-form-urlencoded' . "\r\n"; |
|
| 341 | - $chaine = []; |
|
| 342 | - if (is_array($donnees)) { |
|
| 343 | - foreach ($donnees as $cle => $valeur) { |
|
| 344 | - if (is_array($valeur)) { |
|
| 345 | - foreach ($valeur as $val2) { |
|
| 346 | - $chaine[] = rawurlencode($cle) . '[]=' . rawurlencode($val2); |
|
| 347 | - } |
|
| 348 | - } else { |
|
| 349 | - $chaine[] = rawurlencode($cle) . '=' . rawurlencode($valeur); |
|
| 350 | - } |
|
| 351 | - } |
|
| 352 | - $chaine = implode('&', $chaine); |
|
| 353 | - } else { |
|
| 354 | - $chaine = $donnees; |
|
| 355 | - } |
|
| 356 | - } |
|
| 357 | - } |
|
| 358 | - |
|
| 359 | - return [$entete, $chaine]; |
|
| 280 | + // permettre a la fonction qui a demande le post de formater elle meme ses donnees |
|
| 281 | + // pour un appel soap par exemple |
|
| 282 | + // l'entete est separe des donnees par un double retour a la ligne |
|
| 283 | + // on s'occupe ici de passer tous les retours lignes (\r\n, \r ou \n) en \r\n |
|
| 284 | + if (is_string($donnees) && strlen($donnees)) { |
|
| 285 | + $entete = ''; |
|
| 286 | + // on repasse tous les \r\n et \r en simples \n |
|
| 287 | + $donnees = str_replace("\r\n", "\n", $donnees); |
|
| 288 | + $donnees = str_replace("\r", "\n", $donnees); |
|
| 289 | + // un double retour a la ligne signifie la fin de l'entete et le debut des donnees |
|
| 290 | + $p = strpos($donnees, "\n\n"); |
|
| 291 | + if ($p !== false) { |
|
| 292 | + $entete = str_replace("\n", "\r\n", substr($donnees, 0, $p + 1)); |
|
| 293 | + $donnees = substr($donnees, $p + 2); |
|
| 294 | + } |
|
| 295 | + $chaine = str_replace("\n", "\r\n", $donnees); |
|
| 296 | + } else { |
|
| 297 | + /* boundary automatique */ |
|
| 298 | + // Si on a plus de 500 octects de donnees, on "boundarise" |
|
| 299 | + if ($boundary === '') { |
|
| 300 | + $taille = 0; |
|
| 301 | + foreach ($donnees as $cle => $valeur) { |
|
| 302 | + if (is_array($valeur)) { |
|
| 303 | + foreach ($valeur as $val2) { |
|
| 304 | + $taille += strlen($val2); |
|
| 305 | + } |
|
| 306 | + } else { |
|
| 307 | + // faut-il utiliser spip_strlen() dans inc/charsets ? |
|
| 308 | + $taille += strlen($valeur); |
|
| 309 | + } |
|
| 310 | + } |
|
| 311 | + if ($taille > 500) { |
|
| 312 | + $boundary = substr(md5(random_int(0, mt_getrandmax()) . 'spip'), 0, 8); |
|
| 313 | + } |
|
| 314 | + } |
|
| 315 | + |
|
| 316 | + if (is_string($boundary) and strlen($boundary)) { |
|
| 317 | + // fabrique une chaine HTTP pour un POST avec boundary |
|
| 318 | + $entete = "Content-Type: multipart/form-data; boundary=$boundary\r\n"; |
|
| 319 | + $chaine = ''; |
|
| 320 | + if (is_array($donnees)) { |
|
| 321 | + foreach ($donnees as $cle => $valeur) { |
|
| 322 | + if (is_array($valeur)) { |
|
| 323 | + foreach ($valeur as $val2) { |
|
| 324 | + $chaine .= "\r\n--$boundary\r\n"; |
|
| 325 | + $chaine .= "Content-Disposition: form-data; name=\"{$cle}[]\"\r\n"; |
|
| 326 | + $chaine .= "\r\n"; |
|
| 327 | + $chaine .= $val2; |
|
| 328 | + } |
|
| 329 | + } else { |
|
| 330 | + $chaine .= "\r\n--$boundary\r\n"; |
|
| 331 | + $chaine .= "Content-Disposition: form-data; name=\"$cle\"\r\n"; |
|
| 332 | + $chaine .= "\r\n"; |
|
| 333 | + $chaine .= $valeur; |
|
| 334 | + } |
|
| 335 | + } |
|
| 336 | + $chaine .= "\r\n--$boundary\r\n"; |
|
| 337 | + } |
|
| 338 | + } else { |
|
| 339 | + // fabrique une chaine HTTP simple pour un POST |
|
| 340 | + $entete = 'Content-Type: application/x-www-form-urlencoded' . "\r\n"; |
|
| 341 | + $chaine = []; |
|
| 342 | + if (is_array($donnees)) { |
|
| 343 | + foreach ($donnees as $cle => $valeur) { |
|
| 344 | + if (is_array($valeur)) { |
|
| 345 | + foreach ($valeur as $val2) { |
|
| 346 | + $chaine[] = rawurlencode($cle) . '[]=' . rawurlencode($val2); |
|
| 347 | + } |
|
| 348 | + } else { |
|
| 349 | + $chaine[] = rawurlencode($cle) . '=' . rawurlencode($valeur); |
|
| 350 | + } |
|
| 351 | + } |
|
| 352 | + $chaine = implode('&', $chaine); |
|
| 353 | + } else { |
|
| 354 | + $chaine = $donnees; |
|
| 355 | + } |
|
| 356 | + } |
|
| 357 | + } |
|
| 358 | + |
|
| 359 | + return [$entete, $chaine]; |
|
| 360 | 360 | } |
| 361 | 361 | |
| 362 | 362 | /** |
@@ -370,20 +370,20 @@ discard block |
||
| 370 | 370 | */ |
| 371 | 371 | function url_to_ascii($url_idn) { |
| 372 | 372 | |
| 373 | - if ($parts = parse_url($url_idn)) { |
|
| 374 | - $host = $parts['host']; |
|
| 375 | - if (!preg_match(',^[a-z0-9_\.\-]+$,i', $host)) { |
|
| 376 | - include_spip('inc/idna_convert.class'); |
|
| 377 | - $IDN = new idna_convert(); |
|
| 378 | - $host_ascii = $IDN->encode($host); |
|
| 379 | - $url_idn = explode($host, $url_idn, 2); |
|
| 380 | - $url_idn = implode($host_ascii, $url_idn); |
|
| 381 | - } |
|
| 382 | - // et on urlencode les char utf si besoin dans le path |
|
| 383 | - $url_idn = preg_replace_callback('/[^\x20-\x7f]/', fn($match) => urlencode($match[0]), $url_idn); |
|
| 384 | - } |
|
| 385 | - |
|
| 386 | - return $url_idn; |
|
| 373 | + if ($parts = parse_url($url_idn)) { |
|
| 374 | + $host = $parts['host']; |
|
| 375 | + if (!preg_match(',^[a-z0-9_\.\-]+$,i', $host)) { |
|
| 376 | + include_spip('inc/idna_convert.class'); |
|
| 377 | + $IDN = new idna_convert(); |
|
| 378 | + $host_ascii = $IDN->encode($host); |
|
| 379 | + $url_idn = explode($host, $url_idn, 2); |
|
| 380 | + $url_idn = implode($host_ascii, $url_idn); |
|
| 381 | + } |
|
| 382 | + // et on urlencode les char utf si besoin dans le path |
|
| 383 | + $url_idn = preg_replace_callback('/[^\x20-\x7f]/', fn($match) => urlencode($match[0]), $url_idn); |
|
| 384 | + } |
|
| 385 | + |
|
| 386 | + return $url_idn; |
|
| 387 | 387 | } |
| 388 | 388 | |
| 389 | 389 | /** |
@@ -424,209 +424,209 @@ discard block |
||
| 424 | 424 | * string file : nom du fichier si enregistre dans un fichier |
| 425 | 425 | */ |
| 426 | 426 | function recuperer_url($url, $options = []) { |
| 427 | - // Conserve la mémoire de la méthode fournit éventuellement |
|
| 428 | - $methode_demandee = $options['methode'] ?? ''; |
|
| 429 | - $default = [ |
|
| 430 | - 'transcoder' => false, |
|
| 431 | - 'methode' => 'GET', |
|
| 432 | - 'taille_max' => null, |
|
| 433 | - 'headers' => [], |
|
| 434 | - 'datas' => '', |
|
| 435 | - 'boundary' => '', |
|
| 436 | - 'refuser_gz' => false, |
|
| 437 | - 'if_modified_since' => '', |
|
| 438 | - 'uri_referer' => '', |
|
| 439 | - 'file' => '', |
|
| 440 | - 'follow_location' => 10, |
|
| 441 | - 'version_http' => _INC_DISTANT_VERSION_HTTP, |
|
| 442 | - ]; |
|
| 443 | - $options = array_merge($default, $options); |
|
| 444 | - // copier directement dans un fichier ? |
|
| 445 | - $copy = $options['file']; |
|
| 446 | - |
|
| 447 | - if ($options['methode'] == 'HEAD') { |
|
| 448 | - $options['taille_max'] = 0; |
|
| 449 | - } |
|
| 450 | - if (is_null($options['taille_max'])) { |
|
| 451 | - $options['taille_max'] = $copy ? _COPIE_LOCALE_MAX_SIZE : _INC_DISTANT_MAX_SIZE; |
|
| 452 | - } |
|
| 453 | - |
|
| 454 | - spip_log('recuperer_url ' . $options['methode'] . " sur $url", 'distant' . _LOG_DEBUG); |
|
| 455 | - |
|
| 456 | - // Ajout des en-têtes spécifiques si besoin |
|
| 457 | - $formatted_data = ''; |
|
| 458 | - if (!empty($options['headers'])) { |
|
| 459 | - foreach ($options['headers'] as $champ => $valeur) { |
|
| 460 | - $formatted_data .= $champ . ': ' . $valeur . "\r\n"; |
|
| 461 | - } |
|
| 462 | - } |
|
| 463 | - |
|
| 464 | - if (!empty($options['datas'])) { |
|
| 465 | - [$head, $postdata] = prepare_donnees_post($options['datas'], $options['boundary']); |
|
| 466 | - $head .= $formatted_data; |
|
| 467 | - if (stripos($head, 'Content-Length:') === false) { |
|
| 468 | - $head .= 'Content-Length: ' . strlen($postdata) . "\r\n"; |
|
| 469 | - } |
|
| 470 | - $formatted_data = $head . "\r\n" . $postdata; |
|
| 471 | - if ( |
|
| 472 | - strlen($postdata) |
|
| 473 | - and !$methode_demandee |
|
| 474 | - ) { |
|
| 475 | - $options['methode'] = 'POST'; |
|
| 476 | - } |
|
| 477 | - } elseif ($formatted_data) { |
|
| 478 | - $formatted_data .= "\r\n"; |
|
| 479 | - } |
|
| 480 | - |
|
| 481 | - // Accepter les URLs au format feed:// ou qui ont oublie le http:// ou les urls relatives au protocole |
|
| 482 | - $url = preg_replace(',^feed://,i', 'http://', $url); |
|
| 483 | - if (!tester_url_absolue($url)) { |
|
| 484 | - $url = 'http://' . $url; |
|
| 485 | - } elseif (strncmp($url, '//', 2) == 0) { |
|
| 486 | - $url = 'http:' . $url; |
|
| 487 | - } |
|
| 488 | - |
|
| 489 | - $url = url_to_ascii($url); |
|
| 490 | - |
|
| 491 | - $result = [ |
|
| 492 | - 'status' => 0, |
|
| 493 | - 'headers' => '', |
|
| 494 | - 'page' => '', |
|
| 495 | - 'length' => 0, |
|
| 496 | - 'last_modified' => '', |
|
| 497 | - 'location' => '', |
|
| 498 | - 'url' => $url |
|
| 499 | - ]; |
|
| 500 | - |
|
| 501 | - // si on ecrit directement dans un fichier, pour ne pas manipuler en memoire refuser gz |
|
| 502 | - $refuser_gz = (($options['refuser_gz'] or $copy) ? true : false); |
|
| 503 | - |
|
| 504 | - // ouvrir la connexion et envoyer la requete et ses en-tetes |
|
| 505 | - [$handle, $fopen] = init_http( |
|
| 506 | - $options['methode'], |
|
| 507 | - $url, |
|
| 508 | - $refuser_gz, |
|
| 509 | - $options['uri_referer'], |
|
| 510 | - $formatted_data, |
|
| 511 | - $options['version_http'], |
|
| 512 | - $options['if_modified_since'] |
|
| 513 | - ); |
|
| 514 | - if (!$handle) { |
|
| 515 | - spip_log("ECHEC init_http $url", 'distant' . _LOG_ERREUR); |
|
| 516 | - |
|
| 517 | - return false; |
|
| 518 | - } |
|
| 519 | - |
|
| 520 | - // Sauf en fopen, envoyer le flux d'entree |
|
| 521 | - // et recuperer les en-tetes de reponses |
|
| 522 | - if (!$fopen) { |
|
| 523 | - $res = recuperer_entetes_complets($handle, $options['if_modified_since']); |
|
| 524 | - if (!$res) { |
|
| 525 | - fclose($handle); |
|
| 526 | - $t = @parse_url($url); |
|
| 527 | - $host = $t['host']; |
|
| 528 | - // Chinoisierie inexplicable pour contrer |
|
| 529 | - // les actions liberticides de l'empire du milieu |
|
| 530 | - if ( |
|
| 531 | - !need_proxy($host) |
|
| 532 | - and $res = @file_get_contents($url) |
|
| 533 | - ) { |
|
| 534 | - $result['length'] = strlen($res); |
|
| 535 | - if ($copy) { |
|
| 536 | - ecrire_fichier($copy, $res); |
|
| 537 | - $result['file'] = $copy; |
|
| 538 | - } else { |
|
| 539 | - $result['page'] = $res; |
|
| 540 | - } |
|
| 541 | - $res = [ |
|
| 542 | - 'status' => 200, |
|
| 543 | - ]; |
|
| 544 | - } else { |
|
| 545 | - spip_log("ECHEC chinoiserie $url", 'distant' . _LOG_ERREUR); |
|
| 546 | - return false; |
|
| 547 | - } |
|
| 548 | - } elseif ($res['location'] and $options['follow_location']) { |
|
| 549 | - $options['follow_location']--; |
|
| 550 | - fclose($handle); |
|
| 551 | - include_spip('inc/filtres'); |
|
| 552 | - $url = suivre_lien($url, $res['location']); |
|
| 553 | - |
|
| 554 | - // une redirection doit se faire en GET, sauf status explicite 307 ou 308 qui indique de garder la meme methode |
|
| 555 | - if ($options['methode'] !== 'GET') { |
|
| 556 | - if (empty($res['status']) or !in_array($res['status'], [307, 308])) { |
|
| 557 | - $options['methode'] = 'GET'; |
|
| 558 | - $options['datas'] = ''; |
|
| 559 | - } |
|
| 560 | - } |
|
| 561 | - spip_log('recuperer_url recommence ' . $options['methode'] . " sur $url", 'distant' . _LOG_DEBUG); |
|
| 562 | - |
|
| 563 | - return recuperer_url($url, $options); |
|
| 564 | - } elseif ($res['status'] !== 200) { |
|
| 565 | - spip_log('HTTP status ' . $res['status'] . " pour $url", 'distant'); |
|
| 566 | - } |
|
| 567 | - $result['status'] = $res['status']; |
|
| 568 | - if (isset($res['headers'])) { |
|
| 569 | - $result['headers'] = $res['headers']; |
|
| 570 | - } |
|
| 571 | - if (isset($res['last_modified'])) { |
|
| 572 | - $result['last_modified'] = $res['last_modified']; |
|
| 573 | - } |
|
| 574 | - if (isset($res['location'])) { |
|
| 575 | - $result['location'] = $res['location']; |
|
| 576 | - } |
|
| 577 | - } |
|
| 578 | - |
|
| 579 | - // on ne veut que les entetes |
|
| 580 | - if (!$options['taille_max'] or $options['methode'] == 'HEAD' or $result['status'] == '304') { |
|
| 581 | - spip_log('RESULTAT recuperer_url ' . $options['methode'] . " sur $url : " . json_encode($result), 'distant' . _LOG_DEBUG); |
|
| 582 | - return $result; |
|
| 583 | - } |
|
| 584 | - |
|
| 585 | - |
|
| 586 | - // s'il faut deballer, le faire via un fichier temporaire |
|
| 587 | - // sinon la memoire explose pour les gros flux |
|
| 588 | - |
|
| 589 | - $gz = false; |
|
| 590 | - if (preg_match(",\bContent-Encoding: .*gzip,is", $result['headers'])) { |
|
| 591 | - $gz = (_DIR_TMP . md5(uniqid(random_int(0, mt_getrandmax()))) . '.tmp.gz'); |
|
| 592 | - } |
|
| 593 | - |
|
| 594 | - // si on a pas deja recuperer le contenu par une methode detournee |
|
| 595 | - if (!$result['length']) { |
|
| 596 | - $res = recuperer_body($handle, $options['taille_max'], $gz ?: $copy); |
|
| 597 | - fclose($handle); |
|
| 598 | - if ($copy) { |
|
| 599 | - $result['length'] = $res; |
|
| 600 | - $result['file'] = $copy; |
|
| 601 | - } elseif ($res) { |
|
| 602 | - $result['page'] = &$res; |
|
| 603 | - $result['length'] = strlen($result['page']); |
|
| 604 | - } |
|
| 605 | - if (!$result['status']) { |
|
| 606 | - $result['status'] = 200; // on a reussi, donc ! |
|
| 607 | - } |
|
| 608 | - } |
|
| 609 | - if (!$result['page']) { |
|
| 610 | - return $result; |
|
| 611 | - } |
|
| 612 | - |
|
| 613 | - // Decompresser au besoin |
|
| 614 | - if ($gz) { |
|
| 615 | - $result['page'] = implode('', gzfile($gz)); |
|
| 616 | - supprimer_fichier($gz); |
|
| 617 | - } |
|
| 618 | - |
|
| 619 | - // Faut-il l'importer dans notre charset local ? |
|
| 620 | - if ($options['transcoder']) { |
|
| 621 | - include_spip('inc/charsets'); |
|
| 622 | - $result['page'] = transcoder_page($result['page'], $result['headers']); |
|
| 623 | - } |
|
| 624 | - |
|
| 625 | - $trace = json_decode(json_encode($result), true); |
|
| 626 | - $trace['page'] = '...'; |
|
| 627 | - spip_log('RESULTAT recuperer_url ' . $options['methode'] . " sur $url : " . json_encode($trace), 'distant' . _LOG_DEBUG); |
|
| 628 | - |
|
| 629 | - return $result; |
|
| 427 | + // Conserve la mémoire de la méthode fournit éventuellement |
|
| 428 | + $methode_demandee = $options['methode'] ?? ''; |
|
| 429 | + $default = [ |
|
| 430 | + 'transcoder' => false, |
|
| 431 | + 'methode' => 'GET', |
|
| 432 | + 'taille_max' => null, |
|
| 433 | + 'headers' => [], |
|
| 434 | + 'datas' => '', |
|
| 435 | + 'boundary' => '', |
|
| 436 | + 'refuser_gz' => false, |
|
| 437 | + 'if_modified_since' => '', |
|
| 438 | + 'uri_referer' => '', |
|
| 439 | + 'file' => '', |
|
| 440 | + 'follow_location' => 10, |
|
| 441 | + 'version_http' => _INC_DISTANT_VERSION_HTTP, |
|
| 442 | + ]; |
|
| 443 | + $options = array_merge($default, $options); |
|
| 444 | + // copier directement dans un fichier ? |
|
| 445 | + $copy = $options['file']; |
|
| 446 | + |
|
| 447 | + if ($options['methode'] == 'HEAD') { |
|
| 448 | + $options['taille_max'] = 0; |
|
| 449 | + } |
|
| 450 | + if (is_null($options['taille_max'])) { |
|
| 451 | + $options['taille_max'] = $copy ? _COPIE_LOCALE_MAX_SIZE : _INC_DISTANT_MAX_SIZE; |
|
| 452 | + } |
|
| 453 | + |
|
| 454 | + spip_log('recuperer_url ' . $options['methode'] . " sur $url", 'distant' . _LOG_DEBUG); |
|
| 455 | + |
|
| 456 | + // Ajout des en-têtes spécifiques si besoin |
|
| 457 | + $formatted_data = ''; |
|
| 458 | + if (!empty($options['headers'])) { |
|
| 459 | + foreach ($options['headers'] as $champ => $valeur) { |
|
| 460 | + $formatted_data .= $champ . ': ' . $valeur . "\r\n"; |
|
| 461 | + } |
|
| 462 | + } |
|
| 463 | + |
|
| 464 | + if (!empty($options['datas'])) { |
|
| 465 | + [$head, $postdata] = prepare_donnees_post($options['datas'], $options['boundary']); |
|
| 466 | + $head .= $formatted_data; |
|
| 467 | + if (stripos($head, 'Content-Length:') === false) { |
|
| 468 | + $head .= 'Content-Length: ' . strlen($postdata) . "\r\n"; |
|
| 469 | + } |
|
| 470 | + $formatted_data = $head . "\r\n" . $postdata; |
|
| 471 | + if ( |
|
| 472 | + strlen($postdata) |
|
| 473 | + and !$methode_demandee |
|
| 474 | + ) { |
|
| 475 | + $options['methode'] = 'POST'; |
|
| 476 | + } |
|
| 477 | + } elseif ($formatted_data) { |
|
| 478 | + $formatted_data .= "\r\n"; |
|
| 479 | + } |
|
| 480 | + |
|
| 481 | + // Accepter les URLs au format feed:// ou qui ont oublie le http:// ou les urls relatives au protocole |
|
| 482 | + $url = preg_replace(',^feed://,i', 'http://', $url); |
|
| 483 | + if (!tester_url_absolue($url)) { |
|
| 484 | + $url = 'http://' . $url; |
|
| 485 | + } elseif (strncmp($url, '//', 2) == 0) { |
|
| 486 | + $url = 'http:' . $url; |
|
| 487 | + } |
|
| 488 | + |
|
| 489 | + $url = url_to_ascii($url); |
|
| 490 | + |
|
| 491 | + $result = [ |
|
| 492 | + 'status' => 0, |
|
| 493 | + 'headers' => '', |
|
| 494 | + 'page' => '', |
|
| 495 | + 'length' => 0, |
|
| 496 | + 'last_modified' => '', |
|
| 497 | + 'location' => '', |
|
| 498 | + 'url' => $url |
|
| 499 | + ]; |
|
| 500 | + |
|
| 501 | + // si on ecrit directement dans un fichier, pour ne pas manipuler en memoire refuser gz |
|
| 502 | + $refuser_gz = (($options['refuser_gz'] or $copy) ? true : false); |
|
| 503 | + |
|
| 504 | + // ouvrir la connexion et envoyer la requete et ses en-tetes |
|
| 505 | + [$handle, $fopen] = init_http( |
|
| 506 | + $options['methode'], |
|
| 507 | + $url, |
|
| 508 | + $refuser_gz, |
|
| 509 | + $options['uri_referer'], |
|
| 510 | + $formatted_data, |
|
| 511 | + $options['version_http'], |
|
| 512 | + $options['if_modified_since'] |
|
| 513 | + ); |
|
| 514 | + if (!$handle) { |
|
| 515 | + spip_log("ECHEC init_http $url", 'distant' . _LOG_ERREUR); |
|
| 516 | + |
|
| 517 | + return false; |
|
| 518 | + } |
|
| 519 | + |
|
| 520 | + // Sauf en fopen, envoyer le flux d'entree |
|
| 521 | + // et recuperer les en-tetes de reponses |
|
| 522 | + if (!$fopen) { |
|
| 523 | + $res = recuperer_entetes_complets($handle, $options['if_modified_since']); |
|
| 524 | + if (!$res) { |
|
| 525 | + fclose($handle); |
|
| 526 | + $t = @parse_url($url); |
|
| 527 | + $host = $t['host']; |
|
| 528 | + // Chinoisierie inexplicable pour contrer |
|
| 529 | + // les actions liberticides de l'empire du milieu |
|
| 530 | + if ( |
|
| 531 | + !need_proxy($host) |
|
| 532 | + and $res = @file_get_contents($url) |
|
| 533 | + ) { |
|
| 534 | + $result['length'] = strlen($res); |
|
| 535 | + if ($copy) { |
|
| 536 | + ecrire_fichier($copy, $res); |
|
| 537 | + $result['file'] = $copy; |
|
| 538 | + } else { |
|
| 539 | + $result['page'] = $res; |
|
| 540 | + } |
|
| 541 | + $res = [ |
|
| 542 | + 'status' => 200, |
|
| 543 | + ]; |
|
| 544 | + } else { |
|
| 545 | + spip_log("ECHEC chinoiserie $url", 'distant' . _LOG_ERREUR); |
|
| 546 | + return false; |
|
| 547 | + } |
|
| 548 | + } elseif ($res['location'] and $options['follow_location']) { |
|
| 549 | + $options['follow_location']--; |
|
| 550 | + fclose($handle); |
|
| 551 | + include_spip('inc/filtres'); |
|
| 552 | + $url = suivre_lien($url, $res['location']); |
|
| 553 | + |
|
| 554 | + // une redirection doit se faire en GET, sauf status explicite 307 ou 308 qui indique de garder la meme methode |
|
| 555 | + if ($options['methode'] !== 'GET') { |
|
| 556 | + if (empty($res['status']) or !in_array($res['status'], [307, 308])) { |
|
| 557 | + $options['methode'] = 'GET'; |
|
| 558 | + $options['datas'] = ''; |
|
| 559 | + } |
|
| 560 | + } |
|
| 561 | + spip_log('recuperer_url recommence ' . $options['methode'] . " sur $url", 'distant' . _LOG_DEBUG); |
|
| 562 | + |
|
| 563 | + return recuperer_url($url, $options); |
|
| 564 | + } elseif ($res['status'] !== 200) { |
|
| 565 | + spip_log('HTTP status ' . $res['status'] . " pour $url", 'distant'); |
|
| 566 | + } |
|
| 567 | + $result['status'] = $res['status']; |
|
| 568 | + if (isset($res['headers'])) { |
|
| 569 | + $result['headers'] = $res['headers']; |
|
| 570 | + } |
|
| 571 | + if (isset($res['last_modified'])) { |
|
| 572 | + $result['last_modified'] = $res['last_modified']; |
|
| 573 | + } |
|
| 574 | + if (isset($res['location'])) { |
|
| 575 | + $result['location'] = $res['location']; |
|
| 576 | + } |
|
| 577 | + } |
|
| 578 | + |
|
| 579 | + // on ne veut que les entetes |
|
| 580 | + if (!$options['taille_max'] or $options['methode'] == 'HEAD' or $result['status'] == '304') { |
|
| 581 | + spip_log('RESULTAT recuperer_url ' . $options['methode'] . " sur $url : " . json_encode($result), 'distant' . _LOG_DEBUG); |
|
| 582 | + return $result; |
|
| 583 | + } |
|
| 584 | + |
|
| 585 | + |
|
| 586 | + // s'il faut deballer, le faire via un fichier temporaire |
|
| 587 | + // sinon la memoire explose pour les gros flux |
|
| 588 | + |
|
| 589 | + $gz = false; |
|
| 590 | + if (preg_match(",\bContent-Encoding: .*gzip,is", $result['headers'])) { |
|
| 591 | + $gz = (_DIR_TMP . md5(uniqid(random_int(0, mt_getrandmax()))) . '.tmp.gz'); |
|
| 592 | + } |
|
| 593 | + |
|
| 594 | + // si on a pas deja recuperer le contenu par une methode detournee |
|
| 595 | + if (!$result['length']) { |
|
| 596 | + $res = recuperer_body($handle, $options['taille_max'], $gz ?: $copy); |
|
| 597 | + fclose($handle); |
|
| 598 | + if ($copy) { |
|
| 599 | + $result['length'] = $res; |
|
| 600 | + $result['file'] = $copy; |
|
| 601 | + } elseif ($res) { |
|
| 602 | + $result['page'] = &$res; |
|
| 603 | + $result['length'] = strlen($result['page']); |
|
| 604 | + } |
|
| 605 | + if (!$result['status']) { |
|
| 606 | + $result['status'] = 200; // on a reussi, donc ! |
|
| 607 | + } |
|
| 608 | + } |
|
| 609 | + if (!$result['page']) { |
|
| 610 | + return $result; |
|
| 611 | + } |
|
| 612 | + |
|
| 613 | + // Decompresser au besoin |
|
| 614 | + if ($gz) { |
|
| 615 | + $result['page'] = implode('', gzfile($gz)); |
|
| 616 | + supprimer_fichier($gz); |
|
| 617 | + } |
|
| 618 | + |
|
| 619 | + // Faut-il l'importer dans notre charset local ? |
|
| 620 | + if ($options['transcoder']) { |
|
| 621 | + include_spip('inc/charsets'); |
|
| 622 | + $result['page'] = transcoder_page($result['page'], $result['headers']); |
|
| 623 | + } |
|
| 624 | + |
|
| 625 | + $trace = json_decode(json_encode($result), true); |
|
| 626 | + $trace['page'] = '...'; |
|
| 627 | + spip_log('RESULTAT recuperer_url ' . $options['methode'] . " sur $url : " . json_encode($trace), 'distant' . _LOG_DEBUG); |
|
| 628 | + |
|
| 629 | + return $result; |
|
| 630 | 630 | } |
| 631 | 631 | |
| 632 | 632 | /** |
@@ -642,73 +642,73 @@ discard block |
||
| 642 | 642 | * @return array|bool|mixed |
| 643 | 643 | */ |
| 644 | 644 | function recuperer_url_cache($url, $options = []) { |
| 645 | - if (!defined('_DELAI_RECUPERER_URL_CACHE')) { |
|
| 646 | - define('_DELAI_RECUPERER_URL_CACHE', 3600); |
|
| 647 | - } |
|
| 648 | - $default = [ |
|
| 649 | - 'transcoder' => false, |
|
| 650 | - 'methode' => 'GET', |
|
| 651 | - 'taille_max' => null, |
|
| 652 | - 'datas' => '', |
|
| 653 | - 'boundary' => '', |
|
| 654 | - 'refuser_gz' => false, |
|
| 655 | - 'if_modified_since' => '', |
|
| 656 | - 'uri_referer' => '', |
|
| 657 | - 'file' => '', |
|
| 658 | - 'follow_location' => 10, |
|
| 659 | - 'version_http' => _INC_DISTANT_VERSION_HTTP, |
|
| 660 | - 'delai_cache' => in_array(_VAR_MODE, ['preview', 'recalcul']) ? 0 : _DELAI_RECUPERER_URL_CACHE, |
|
| 661 | - ]; |
|
| 662 | - $options = array_merge($default, $options); |
|
| 663 | - |
|
| 664 | - // cas ou il n'est pas possible de cacher |
|
| 665 | - if (!empty($options['data']) or $options['methode'] == 'POST') { |
|
| 666 | - return recuperer_url($url, $options); |
|
| 667 | - } |
|
| 668 | - |
|
| 669 | - // ne pas tenter plusieurs fois la meme url en erreur (non cachee donc) |
|
| 670 | - static $errors = []; |
|
| 671 | - if (isset($errors[$url])) { |
|
| 672 | - return $errors[$url]; |
|
| 673 | - } |
|
| 674 | - |
|
| 675 | - $sig = $options; |
|
| 676 | - unset($sig['if_modified_since']); |
|
| 677 | - unset($sig['delai_cache']); |
|
| 678 | - $sig['url'] = $url; |
|
| 679 | - |
|
| 680 | - $dir = sous_repertoire(_DIR_CACHE, 'curl'); |
|
| 681 | - $cache = md5(serialize($sig)) . '-' . substr(preg_replace(',\W+,', '_', $url), 0, 80); |
|
| 682 | - $sub = sous_repertoire($dir, substr($cache, 0, 2)); |
|
| 683 | - $cache = "$sub$cache"; |
|
| 684 | - |
|
| 685 | - $res = false; |
|
| 686 | - $is_cached = file_exists($cache); |
|
| 687 | - if ( |
|
| 688 | - $is_cached |
|
| 689 | - and (filemtime($cache) > $_SERVER['REQUEST_TIME'] - $options['delai_cache']) |
|
| 690 | - ) { |
|
| 691 | - lire_fichier($cache, $res); |
|
| 692 | - if ($res = unserialize($res)) { |
|
| 693 | - // mettre le last_modified et le status=304 ? |
|
| 694 | - } |
|
| 695 | - } |
|
| 696 | - if (!$res) { |
|
| 697 | - $res = recuperer_url($url, $options); |
|
| 698 | - // ne pas recharger cette url non cachee dans le meme hit puisque non disponible |
|
| 699 | - if (!$res) { |
|
| 700 | - if ($is_cached) { |
|
| 701 | - // on a pas reussi a recuperer mais on avait un cache : l'utiliser |
|
| 702 | - lire_fichier($cache, $res); |
|
| 703 | - $res = unserialize($res); |
|
| 704 | - } |
|
| 705 | - |
|
| 706 | - return $errors[$url] = $res; |
|
| 707 | - } |
|
| 708 | - ecrire_fichier($cache, serialize($res)); |
|
| 709 | - } |
|
| 710 | - |
|
| 711 | - return $res; |
|
| 645 | + if (!defined('_DELAI_RECUPERER_URL_CACHE')) { |
|
| 646 | + define('_DELAI_RECUPERER_URL_CACHE', 3600); |
|
| 647 | + } |
|
| 648 | + $default = [ |
|
| 649 | + 'transcoder' => false, |
|
| 650 | + 'methode' => 'GET', |
|
| 651 | + 'taille_max' => null, |
|
| 652 | + 'datas' => '', |
|
| 653 | + 'boundary' => '', |
|
| 654 | + 'refuser_gz' => false, |
|
| 655 | + 'if_modified_since' => '', |
|
| 656 | + 'uri_referer' => '', |
|
| 657 | + 'file' => '', |
|
| 658 | + 'follow_location' => 10, |
|
| 659 | + 'version_http' => _INC_DISTANT_VERSION_HTTP, |
|
| 660 | + 'delai_cache' => in_array(_VAR_MODE, ['preview', 'recalcul']) ? 0 : _DELAI_RECUPERER_URL_CACHE, |
|
| 661 | + ]; |
|
| 662 | + $options = array_merge($default, $options); |
|
| 663 | + |
|
| 664 | + // cas ou il n'est pas possible de cacher |
|
| 665 | + if (!empty($options['data']) or $options['methode'] == 'POST') { |
|
| 666 | + return recuperer_url($url, $options); |
|
| 667 | + } |
|
| 668 | + |
|
| 669 | + // ne pas tenter plusieurs fois la meme url en erreur (non cachee donc) |
|
| 670 | + static $errors = []; |
|
| 671 | + if (isset($errors[$url])) { |
|
| 672 | + return $errors[$url]; |
|
| 673 | + } |
|
| 674 | + |
|
| 675 | + $sig = $options; |
|
| 676 | + unset($sig['if_modified_since']); |
|
| 677 | + unset($sig['delai_cache']); |
|
| 678 | + $sig['url'] = $url; |
|
| 679 | + |
|
| 680 | + $dir = sous_repertoire(_DIR_CACHE, 'curl'); |
|
| 681 | + $cache = md5(serialize($sig)) . '-' . substr(preg_replace(',\W+,', '_', $url), 0, 80); |
|
| 682 | + $sub = sous_repertoire($dir, substr($cache, 0, 2)); |
|
| 683 | + $cache = "$sub$cache"; |
|
| 684 | + |
|
| 685 | + $res = false; |
|
| 686 | + $is_cached = file_exists($cache); |
|
| 687 | + if ( |
|
| 688 | + $is_cached |
|
| 689 | + and (filemtime($cache) > $_SERVER['REQUEST_TIME'] - $options['delai_cache']) |
|
| 690 | + ) { |
|
| 691 | + lire_fichier($cache, $res); |
|
| 692 | + if ($res = unserialize($res)) { |
|
| 693 | + // mettre le last_modified et le status=304 ? |
|
| 694 | + } |
|
| 695 | + } |
|
| 696 | + if (!$res) { |
|
| 697 | + $res = recuperer_url($url, $options); |
|
| 698 | + // ne pas recharger cette url non cachee dans le meme hit puisque non disponible |
|
| 699 | + if (!$res) { |
|
| 700 | + if ($is_cached) { |
|
| 701 | + // on a pas reussi a recuperer mais on avait un cache : l'utiliser |
|
| 702 | + lire_fichier($cache, $res); |
|
| 703 | + $res = unserialize($res); |
|
| 704 | + } |
|
| 705 | + |
|
| 706 | + return $errors[$url] = $res; |
|
| 707 | + } |
|
| 708 | + ecrire_fichier($cache, serialize($res)); |
|
| 709 | + } |
|
| 710 | + |
|
| 711 | + return $res; |
|
| 712 | 712 | } |
| 713 | 713 | |
| 714 | 714 | /** |
@@ -726,42 +726,42 @@ discard block |
||
| 726 | 726 | * string contenu de la resource |
| 727 | 727 | */ |
| 728 | 728 | function recuperer_body($handle, $taille_max = _INC_DISTANT_MAX_SIZE, $fichier = '') { |
| 729 | - $tmpfile = null; |
|
| 730 | - $taille = 0; |
|
| 731 | - $result = ''; |
|
| 732 | - $fp = false; |
|
| 733 | - if ($fichier) { |
|
| 734 | - include_spip('inc/acces'); |
|
| 735 | - $tmpfile = "$fichier." . creer_uniqid() . '.tmp'; |
|
| 736 | - $fp = spip_fopen_lock($tmpfile, 'w', LOCK_EX); |
|
| 737 | - if (!$fp and file_exists($fichier)) { |
|
| 738 | - return filesize($fichier); |
|
| 739 | - } |
|
| 740 | - if (!$fp) { |
|
| 741 | - return false; |
|
| 742 | - } |
|
| 743 | - $result = 0; // on renvoie la taille du fichier |
|
| 744 | - } |
|
| 745 | - while (!feof($handle) and $taille < $taille_max) { |
|
| 746 | - $res = fread($handle, 16384); |
|
| 747 | - $taille += strlen($res); |
|
| 748 | - if ($fp) { |
|
| 749 | - fwrite($fp, $res); |
|
| 750 | - $result = $taille; |
|
| 751 | - } else { |
|
| 752 | - $result .= $res; |
|
| 753 | - } |
|
| 754 | - } |
|
| 755 | - if ($fp) { |
|
| 756 | - spip_fclose_unlock($fp); |
|
| 757 | - spip_unlink($fichier); |
|
| 758 | - @rename($tmpfile, $fichier); |
|
| 759 | - if (!file_exists($fichier)) { |
|
| 760 | - return false; |
|
| 761 | - } |
|
| 762 | - } |
|
| 763 | - |
|
| 764 | - return $result; |
|
| 729 | + $tmpfile = null; |
|
| 730 | + $taille = 0; |
|
| 731 | + $result = ''; |
|
| 732 | + $fp = false; |
|
| 733 | + if ($fichier) { |
|
| 734 | + include_spip('inc/acces'); |
|
| 735 | + $tmpfile = "$fichier." . creer_uniqid() . '.tmp'; |
|
| 736 | + $fp = spip_fopen_lock($tmpfile, 'w', LOCK_EX); |
|
| 737 | + if (!$fp and file_exists($fichier)) { |
|
| 738 | + return filesize($fichier); |
|
| 739 | + } |
|
| 740 | + if (!$fp) { |
|
| 741 | + return false; |
|
| 742 | + } |
|
| 743 | + $result = 0; // on renvoie la taille du fichier |
|
| 744 | + } |
|
| 745 | + while (!feof($handle) and $taille < $taille_max) { |
|
| 746 | + $res = fread($handle, 16384); |
|
| 747 | + $taille += strlen($res); |
|
| 748 | + if ($fp) { |
|
| 749 | + fwrite($fp, $res); |
|
| 750 | + $result = $taille; |
|
| 751 | + } else { |
|
| 752 | + $result .= $res; |
|
| 753 | + } |
|
| 754 | + } |
|
| 755 | + if ($fp) { |
|
| 756 | + spip_fclose_unlock($fp); |
|
| 757 | + spip_unlink($fichier); |
|
| 758 | + @rename($tmpfile, $fichier); |
|
| 759 | + if (!file_exists($fichier)) { |
|
| 760 | + return false; |
|
| 761 | + } |
|
| 762 | + } |
|
| 763 | + |
|
| 764 | + return $result; |
|
| 765 | 765 | } |
| 766 | 766 | |
| 767 | 767 | /** |
@@ -783,35 +783,35 @@ discard block |
||
| 783 | 783 | * string location |
| 784 | 784 | */ |
| 785 | 785 | function recuperer_entetes_complets($handle, $if_modified_since = false) { |
| 786 | - $result = ['status' => 0, 'headers' => [], 'last_modified' => 0, 'location' => '']; |
|
| 787 | - |
|
| 788 | - $s = @trim(fgets($handle, 16384)); |
|
| 789 | - if (!preg_match(',^HTTP/[0-9]+\.[0-9]+ ([0-9]+),', $s, $r)) { |
|
| 790 | - return false; |
|
| 791 | - } |
|
| 792 | - $result['status'] = intval($r[1]); |
|
| 793 | - while ($s = trim(fgets($handle, 16384))) { |
|
| 794 | - $result['headers'][] = $s . "\n"; |
|
| 795 | - preg_match(',^([^:]*): *(.*)$,i', $s, $r); |
|
| 796 | - [, $d, $v] = $r; |
|
| 797 | - if (strtolower(trim($d)) == 'location' and $result['status'] >= 300 and $result['status'] < 400) { |
|
| 798 | - $result['location'] = $v; |
|
| 799 | - } elseif ($d == 'Last-Modified') { |
|
| 800 | - $result['last_modified'] = strtotime($v); |
|
| 801 | - } |
|
| 802 | - } |
|
| 803 | - if ( |
|
| 804 | - $if_modified_since |
|
| 805 | - and $result['last_modified'] |
|
| 806 | - and $if_modified_since > $result['last_modified'] |
|
| 807 | - and $result['status'] == 200 |
|
| 808 | - ) { |
|
| 809 | - $result['status'] = 304; |
|
| 810 | - } |
|
| 811 | - |
|
| 812 | - $result['headers'] = implode('', $result['headers']); |
|
| 813 | - |
|
| 814 | - return $result; |
|
| 786 | + $result = ['status' => 0, 'headers' => [], 'last_modified' => 0, 'location' => '']; |
|
| 787 | + |
|
| 788 | + $s = @trim(fgets($handle, 16384)); |
|
| 789 | + if (!preg_match(',^HTTP/[0-9]+\.[0-9]+ ([0-9]+),', $s, $r)) { |
|
| 790 | + return false; |
|
| 791 | + } |
|
| 792 | + $result['status'] = intval($r[1]); |
|
| 793 | + while ($s = trim(fgets($handle, 16384))) { |
|
| 794 | + $result['headers'][] = $s . "\n"; |
|
| 795 | + preg_match(',^([^:]*): *(.*)$,i', $s, $r); |
|
| 796 | + [, $d, $v] = $r; |
|
| 797 | + if (strtolower(trim($d)) == 'location' and $result['status'] >= 300 and $result['status'] < 400) { |
|
| 798 | + $result['location'] = $v; |
|
| 799 | + } elseif ($d == 'Last-Modified') { |
|
| 800 | + $result['last_modified'] = strtotime($v); |
|
| 801 | + } |
|
| 802 | + } |
|
| 803 | + if ( |
|
| 804 | + $if_modified_since |
|
| 805 | + and $result['last_modified'] |
|
| 806 | + and $if_modified_since > $result['last_modified'] |
|
| 807 | + and $result['status'] == 200 |
|
| 808 | + ) { |
|
| 809 | + $result['status'] = 304; |
|
| 810 | + } |
|
| 811 | + |
|
| 812 | + $result['headers'] = implode('', $result['headers']); |
|
| 813 | + |
|
| 814 | + return $result; |
|
| 815 | 815 | } |
| 816 | 816 | |
| 817 | 817 | /** |
@@ -833,22 +833,22 @@ discard block |
||
| 833 | 833 | * Nom du fichier pour copie locale |
| 834 | 834 | **/ |
| 835 | 835 | function nom_fichier_copie_locale($source, $extension) { |
| 836 | - include_spip('inc/documents'); |
|
| 836 | + include_spip('inc/documents'); |
|
| 837 | 837 | |
| 838 | - $d = creer_repertoire_documents('distant'); # IMG/distant/ |
|
| 839 | - $d = sous_repertoire($d, $extension); # IMG/distant/pdf/ |
|
| 838 | + $d = creer_repertoire_documents('distant'); # IMG/distant/ |
|
| 839 | + $d = sous_repertoire($d, $extension); # IMG/distant/pdf/ |
|
| 840 | 840 | |
| 841 | - // on se place tout le temps comme si on etait a la racine |
|
| 842 | - if (_DIR_RACINE) { |
|
| 843 | - $d = preg_replace(',^' . preg_quote(_DIR_RACINE) . ',', '', $d); |
|
| 844 | - } |
|
| 841 | + // on se place tout le temps comme si on etait a la racine |
|
| 842 | + if (_DIR_RACINE) { |
|
| 843 | + $d = preg_replace(',^' . preg_quote(_DIR_RACINE) . ',', '', $d); |
|
| 844 | + } |
|
| 845 | 845 | |
| 846 | - $m = md5($source); |
|
| 846 | + $m = md5($source); |
|
| 847 | 847 | |
| 848 | - return $d |
|
| 849 | - . substr(preg_replace(',[^\w-],', '', basename($source)) . '-' . $m, 0, 12) |
|
| 850 | - . substr($m, 0, 4) |
|
| 851 | - . ".$extension"; |
|
| 848 | + return $d |
|
| 849 | + . substr(preg_replace(',[^\w-],', '', basename($source)) . '-' . $m, 0, 12) |
|
| 850 | + . substr($m, 0, 4) |
|
| 851 | + . ".$extension"; |
|
| 852 | 852 | } |
| 853 | 853 | |
| 854 | 854 | /** |
@@ -866,70 +866,70 @@ discard block |
||
| 866 | 866 | * Nom du fichier calculé |
| 867 | 867 | **/ |
| 868 | 868 | function fichier_copie_locale($source) { |
| 869 | - // Si c'est deja local pas de souci |
|
| 870 | - if (!tester_url_absolue($source)) { |
|
| 871 | - if (_DIR_RACINE) { |
|
| 872 | - $source = preg_replace(',^' . preg_quote(_DIR_RACINE) . ',', '', $source); |
|
| 873 | - } |
|
| 874 | - |
|
| 875 | - return $source; |
|
| 876 | - } |
|
| 877 | - |
|
| 878 | - // optimisation : on regarde si on peut deviner l'extension dans l'url et si le fichier |
|
| 879 | - // a deja ete copie en local avec cette extension |
|
| 880 | - // dans ce cas elle est fiable, pas la peine de requeter en base |
|
| 881 | - $path_parts = pathinfo($source); |
|
| 882 | - if (!isset($path_parts['extension'])) { |
|
| 883 | - $path_parts['extension'] = ''; |
|
| 884 | - } |
|
| 885 | - $ext = $path_parts ? $path_parts['extension'] : ''; |
|
| 886 | - if ( |
|
| 887 | - $ext |
|
| 888 | - and preg_match(',^\w+$,', $ext) // pas de php?truc=1&... |
|
| 889 | - and $f = nom_fichier_copie_locale($source, $ext) |
|
| 890 | - and file_exists(_DIR_RACINE . $f) |
|
| 891 | - ) { |
|
| 892 | - return $f; |
|
| 893 | - } |
|
| 894 | - |
|
| 895 | - |
|
| 896 | - // Si c'est deja dans la table des documents, |
|
| 897 | - // ramener le nom de sa copie potentielle |
|
| 898 | - $ext = sql_getfetsel('extension', 'spip_documents', 'fichier=' . sql_quote($source) . " AND distant='oui' AND extension <> ''"); |
|
| 899 | - |
|
| 900 | - if ($ext) { |
|
| 901 | - return nom_fichier_copie_locale($source, $ext); |
|
| 902 | - } |
|
| 903 | - |
|
| 904 | - // voir si l'extension indiquee dans le nom du fichier est ok |
|
| 905 | - // et si il n'aurait pas deja ete rapatrie |
|
| 906 | - |
|
| 907 | - $ext = $path_parts ? $path_parts['extension'] : ''; |
|
| 908 | - |
|
| 909 | - if ($ext and sql_getfetsel('extension', 'spip_types_documents', 'extension=' . sql_quote($ext))) { |
|
| 910 | - $f = nom_fichier_copie_locale($source, $ext); |
|
| 911 | - if (file_exists(_DIR_RACINE . $f)) { |
|
| 912 | - return $f; |
|
| 913 | - } |
|
| 914 | - } |
|
| 915 | - |
|
| 916 | - // Ping pour voir si son extension est connue et autorisee |
|
| 917 | - // avec mise en cache du resultat du ping |
|
| 918 | - |
|
| 919 | - $cache = sous_repertoire(_DIR_CACHE, 'rid') . md5($source); |
|
| 920 | - if ( |
|
| 921 | - !@file_exists($cache) |
|
| 922 | - or !$path_parts = @unserialize(spip_file_get_contents($cache)) |
|
| 923 | - or _request('var_mode') === 'recalcul' |
|
| 924 | - ) { |
|
| 925 | - $path_parts = recuperer_infos_distantes($source, 0, false); |
|
| 926 | - ecrire_fichier($cache, serialize($path_parts)); |
|
| 927 | - } |
|
| 928 | - $ext = !empty($path_parts['extension']) ? $path_parts['extension'] : ''; |
|
| 929 | - if ($ext and sql_getfetsel('extension', 'spip_types_documents', 'extension=' . sql_quote($ext))) { |
|
| 930 | - return nom_fichier_copie_locale($source, $ext); |
|
| 931 | - } |
|
| 932 | - spip_log("pas de copie locale pour $source", 'distant' . _LOG_ERREUR); |
|
| 869 | + // Si c'est deja local pas de souci |
|
| 870 | + if (!tester_url_absolue($source)) { |
|
| 871 | + if (_DIR_RACINE) { |
|
| 872 | + $source = preg_replace(',^' . preg_quote(_DIR_RACINE) . ',', '', $source); |
|
| 873 | + } |
|
| 874 | + |
|
| 875 | + return $source; |
|
| 876 | + } |
|
| 877 | + |
|
| 878 | + // optimisation : on regarde si on peut deviner l'extension dans l'url et si le fichier |
|
| 879 | + // a deja ete copie en local avec cette extension |
|
| 880 | + // dans ce cas elle est fiable, pas la peine de requeter en base |
|
| 881 | + $path_parts = pathinfo($source); |
|
| 882 | + if (!isset($path_parts['extension'])) { |
|
| 883 | + $path_parts['extension'] = ''; |
|
| 884 | + } |
|
| 885 | + $ext = $path_parts ? $path_parts['extension'] : ''; |
|
| 886 | + if ( |
|
| 887 | + $ext |
|
| 888 | + and preg_match(',^\w+$,', $ext) // pas de php?truc=1&... |
|
| 889 | + and $f = nom_fichier_copie_locale($source, $ext) |
|
| 890 | + and file_exists(_DIR_RACINE . $f) |
|
| 891 | + ) { |
|
| 892 | + return $f; |
|
| 893 | + } |
|
| 894 | + |
|
| 895 | + |
|
| 896 | + // Si c'est deja dans la table des documents, |
|
| 897 | + // ramener le nom de sa copie potentielle |
|
| 898 | + $ext = sql_getfetsel('extension', 'spip_documents', 'fichier=' . sql_quote($source) . " AND distant='oui' AND extension <> ''"); |
|
| 899 | + |
|
| 900 | + if ($ext) { |
|
| 901 | + return nom_fichier_copie_locale($source, $ext); |
|
| 902 | + } |
|
| 903 | + |
|
| 904 | + // voir si l'extension indiquee dans le nom du fichier est ok |
|
| 905 | + // et si il n'aurait pas deja ete rapatrie |
|
| 906 | + |
|
| 907 | + $ext = $path_parts ? $path_parts['extension'] : ''; |
|
| 908 | + |
|
| 909 | + if ($ext and sql_getfetsel('extension', 'spip_types_documents', 'extension=' . sql_quote($ext))) { |
|
| 910 | + $f = nom_fichier_copie_locale($source, $ext); |
|
| 911 | + if (file_exists(_DIR_RACINE . $f)) { |
|
| 912 | + return $f; |
|
| 913 | + } |
|
| 914 | + } |
|
| 915 | + |
|
| 916 | + // Ping pour voir si son extension est connue et autorisee |
|
| 917 | + // avec mise en cache du resultat du ping |
|
| 918 | + |
|
| 919 | + $cache = sous_repertoire(_DIR_CACHE, 'rid') . md5($source); |
|
| 920 | + if ( |
|
| 921 | + !@file_exists($cache) |
|
| 922 | + or !$path_parts = @unserialize(spip_file_get_contents($cache)) |
|
| 923 | + or _request('var_mode') === 'recalcul' |
|
| 924 | + ) { |
|
| 925 | + $path_parts = recuperer_infos_distantes($source, 0, false); |
|
| 926 | + ecrire_fichier($cache, serialize($path_parts)); |
|
| 927 | + } |
|
| 928 | + $ext = !empty($path_parts['extension']) ? $path_parts['extension'] : ''; |
|
| 929 | + if ($ext and sql_getfetsel('extension', 'spip_types_documents', 'extension=' . sql_quote($ext))) { |
|
| 930 | + return nom_fichier_copie_locale($source, $ext); |
|
| 931 | + } |
|
| 932 | + spip_log("pas de copie locale pour $source", 'distant' . _LOG_ERREUR); |
|
| 933 | 933 | } |
| 934 | 934 | |
| 935 | 935 | |
@@ -957,97 +957,97 @@ discard block |
||
| 957 | 957 | **/ |
| 958 | 958 | function recuperer_infos_distantes($source, $max = 0, $charger_si_petite_image = true) { |
| 959 | 959 | |
| 960 | - // pas la peine de perdre son temps |
|
| 961 | - if (!tester_url_absolue($source)) { |
|
| 962 | - return false; |
|
| 963 | - } |
|
| 964 | - |
|
| 965 | - # charger les alias des types mime |
|
| 966 | - include_spip('base/typedoc'); |
|
| 967 | - |
|
| 968 | - $a = []; |
|
| 969 | - $mime_type = ''; |
|
| 970 | - // On va directement charger le debut des images et des fichiers html, |
|
| 971 | - // de maniere a attrapper le maximum d'infos (titre, taille, etc). Si |
|
| 972 | - // ca echoue l'utilisateur devra les entrer... |
|
| 973 | - $reponse = recuperer_url($source, ['taille_max' => $max, 'refuser_gz' => true]); |
|
| 974 | - $headers = $reponse['headers'] ?? ''; |
|
| 975 | - $a['body'] = $reponse['page'] ?? ''; |
|
| 976 | - if ($headers) { |
|
| 977 | - if (!$extension = distant_trouver_extension_selon_headers($source, $headers)) { |
|
| 978 | - return false; |
|
| 979 | - } |
|
| 980 | - |
|
| 981 | - $a['extension'] = $extension; |
|
| 982 | - |
|
| 983 | - if (preg_match(",\nContent-Length: *([^[:space:]]*),i", "\n$headers", $regs)) { |
|
| 984 | - $a['taille'] = intval($regs[1]); |
|
| 985 | - } |
|
| 986 | - } |
|
| 987 | - |
|
| 988 | - // Echec avec HEAD, on tente avec GET |
|
| 989 | - if (!$a and !$max) { |
|
| 990 | - spip_log("tenter GET $source", 'distant'); |
|
| 991 | - $a = recuperer_infos_distantes($source, _INC_DISTANT_MAX_SIZE); |
|
| 992 | - } |
|
| 993 | - |
|
| 994 | - // si on a rien trouve pas la peine d'insister |
|
| 995 | - if (!$a) { |
|
| 996 | - return false; |
|
| 997 | - } |
|
| 998 | - |
|
| 999 | - // S'il s'agit d'une image pas trop grosse ou d'un fichier html, on va aller |
|
| 1000 | - // recharger le document en GET et recuperer des donnees supplementaires... |
|
| 1001 | - include_spip('inc/filtres_images_lib_mini'); |
|
| 1002 | - if ( |
|
| 1003 | - strpos($mime_type, 'image/') === 0 |
|
| 1004 | - and $extension = _image_trouver_extension_depuis_mime($mime_type) |
|
| 1005 | - ) { |
|
| 1006 | - if ( |
|
| 1007 | - $max == 0 |
|
| 1008 | - and (empty($a['taille']) or $a['taille'] < _INC_DISTANT_MAX_SIZE) |
|
| 1009 | - and in_array($extension, formats_image_acceptables()) |
|
| 1010 | - and $charger_si_petite_image |
|
| 1011 | - ) { |
|
| 1012 | - $a = recuperer_infos_distantes($source, _INC_DISTANT_MAX_SIZE); |
|
| 1013 | - } else { |
|
| 1014 | - if ($a['body']) { |
|
| 1015 | - $a['extension'] = $extension; |
|
| 1016 | - $a['fichier'] = _DIR_RACINE . nom_fichier_copie_locale($source, $extension); |
|
| 1017 | - ecrire_fichier($a['fichier'], $a['body']); |
|
| 1018 | - $size_image = @spip_getimagesize($a['fichier']); |
|
| 1019 | - $a['largeur'] = intval($size_image[0]); |
|
| 1020 | - $a['hauteur'] = intval($size_image[1]); |
|
| 1021 | - $a['type_image'] = true; |
|
| 1022 | - } |
|
| 1023 | - } |
|
| 1024 | - } |
|
| 1025 | - |
|
| 1026 | - // Fichier swf, si on n'a pas la taille, on va mettre 425x350 par defaut |
|
| 1027 | - // ce sera mieux que 0x0 |
|
| 1028 | - // Flash is dead! |
|
| 1029 | - if ( |
|
| 1030 | - $a and isset($a['extension']) and $a['extension'] == 'swf' |
|
| 1031 | - and empty($a['largeur']) |
|
| 1032 | - ) { |
|
| 1033 | - $a['largeur'] = 425; |
|
| 1034 | - $a['hauteur'] = 350; |
|
| 1035 | - } |
|
| 1036 | - |
|
| 1037 | - if ($mime_type == 'text/html') { |
|
| 1038 | - include_spip('inc/filtres'); |
|
| 1039 | - $page = recuperer_url($source, ['transcoder' => true, 'taille_max' => _INC_DISTANT_MAX_SIZE]); |
|
| 1040 | - $page = $page['page'] ?? ''; |
|
| 1041 | - if (preg_match(',<title>(.*?)</title>,ims', $page, $regs)) { |
|
| 1042 | - $a['titre'] = corriger_caracteres(trim($regs[1])); |
|
| 1043 | - } |
|
| 1044 | - if (!isset($a['taille']) or !$a['taille']) { |
|
| 1045 | - $a['taille'] = strlen($page); # a peu pres |
|
| 1046 | - } |
|
| 1047 | - } |
|
| 1048 | - $a['mime_type'] = $mime_type; |
|
| 1049 | - |
|
| 1050 | - return $a; |
|
| 960 | + // pas la peine de perdre son temps |
|
| 961 | + if (!tester_url_absolue($source)) { |
|
| 962 | + return false; |
|
| 963 | + } |
|
| 964 | + |
|
| 965 | + # charger les alias des types mime |
|
| 966 | + include_spip('base/typedoc'); |
|
| 967 | + |
|
| 968 | + $a = []; |
|
| 969 | + $mime_type = ''; |
|
| 970 | + // On va directement charger le debut des images et des fichiers html, |
|
| 971 | + // de maniere a attrapper le maximum d'infos (titre, taille, etc). Si |
|
| 972 | + // ca echoue l'utilisateur devra les entrer... |
|
| 973 | + $reponse = recuperer_url($source, ['taille_max' => $max, 'refuser_gz' => true]); |
|
| 974 | + $headers = $reponse['headers'] ?? ''; |
|
| 975 | + $a['body'] = $reponse['page'] ?? ''; |
|
| 976 | + if ($headers) { |
|
| 977 | + if (!$extension = distant_trouver_extension_selon_headers($source, $headers)) { |
|
| 978 | + return false; |
|
| 979 | + } |
|
| 980 | + |
|
| 981 | + $a['extension'] = $extension; |
|
| 982 | + |
|
| 983 | + if (preg_match(",\nContent-Length: *([^[:space:]]*),i", "\n$headers", $regs)) { |
|
| 984 | + $a['taille'] = intval($regs[1]); |
|
| 985 | + } |
|
| 986 | + } |
|
| 987 | + |
|
| 988 | + // Echec avec HEAD, on tente avec GET |
|
| 989 | + if (!$a and !$max) { |
|
| 990 | + spip_log("tenter GET $source", 'distant'); |
|
| 991 | + $a = recuperer_infos_distantes($source, _INC_DISTANT_MAX_SIZE); |
|
| 992 | + } |
|
| 993 | + |
|
| 994 | + // si on a rien trouve pas la peine d'insister |
|
| 995 | + if (!$a) { |
|
| 996 | + return false; |
|
| 997 | + } |
|
| 998 | + |
|
| 999 | + // S'il s'agit d'une image pas trop grosse ou d'un fichier html, on va aller |
|
| 1000 | + // recharger le document en GET et recuperer des donnees supplementaires... |
|
| 1001 | + include_spip('inc/filtres_images_lib_mini'); |
|
| 1002 | + if ( |
|
| 1003 | + strpos($mime_type, 'image/') === 0 |
|
| 1004 | + and $extension = _image_trouver_extension_depuis_mime($mime_type) |
|
| 1005 | + ) { |
|
| 1006 | + if ( |
|
| 1007 | + $max == 0 |
|
| 1008 | + and (empty($a['taille']) or $a['taille'] < _INC_DISTANT_MAX_SIZE) |
|
| 1009 | + and in_array($extension, formats_image_acceptables()) |
|
| 1010 | + and $charger_si_petite_image |
|
| 1011 | + ) { |
|
| 1012 | + $a = recuperer_infos_distantes($source, _INC_DISTANT_MAX_SIZE); |
|
| 1013 | + } else { |
|
| 1014 | + if ($a['body']) { |
|
| 1015 | + $a['extension'] = $extension; |
|
| 1016 | + $a['fichier'] = _DIR_RACINE . nom_fichier_copie_locale($source, $extension); |
|
| 1017 | + ecrire_fichier($a['fichier'], $a['body']); |
|
| 1018 | + $size_image = @spip_getimagesize($a['fichier']); |
|
| 1019 | + $a['largeur'] = intval($size_image[0]); |
|
| 1020 | + $a['hauteur'] = intval($size_image[1]); |
|
| 1021 | + $a['type_image'] = true; |
|
| 1022 | + } |
|
| 1023 | + } |
|
| 1024 | + } |
|
| 1025 | + |
|
| 1026 | + // Fichier swf, si on n'a pas la taille, on va mettre 425x350 par defaut |
|
| 1027 | + // ce sera mieux que 0x0 |
|
| 1028 | + // Flash is dead! |
|
| 1029 | + if ( |
|
| 1030 | + $a and isset($a['extension']) and $a['extension'] == 'swf' |
|
| 1031 | + and empty($a['largeur']) |
|
| 1032 | + ) { |
|
| 1033 | + $a['largeur'] = 425; |
|
| 1034 | + $a['hauteur'] = 350; |
|
| 1035 | + } |
|
| 1036 | + |
|
| 1037 | + if ($mime_type == 'text/html') { |
|
| 1038 | + include_spip('inc/filtres'); |
|
| 1039 | + $page = recuperer_url($source, ['transcoder' => true, 'taille_max' => _INC_DISTANT_MAX_SIZE]); |
|
| 1040 | + $page = $page['page'] ?? ''; |
|
| 1041 | + if (preg_match(',<title>(.*?)</title>,ims', $page, $regs)) { |
|
| 1042 | + $a['titre'] = corriger_caracteres(trim($regs[1])); |
|
| 1043 | + } |
|
| 1044 | + if (!isset($a['taille']) or !$a['taille']) { |
|
| 1045 | + $a['taille'] = strlen($page); # a peu pres |
|
| 1046 | + } |
|
| 1047 | + } |
|
| 1048 | + $a['mime_type'] = $mime_type; |
|
| 1049 | + |
|
| 1050 | + return $a; |
|
| 1051 | 1051 | } |
| 1052 | 1052 | |
| 1053 | 1053 | /** |
@@ -1056,70 +1056,70 @@ discard block |
||
| 1056 | 1056 | * @return false|mixed |
| 1057 | 1057 | */ |
| 1058 | 1058 | function distant_trouver_extension_selon_headers($source, $headers) { |
| 1059 | - if (preg_match(",\nContent-Type: *([^[:space:];]*),i", "\n$headers", $regs)) { |
|
| 1060 | - $mime_type = (trim($regs[1])); |
|
| 1061 | - } else { |
|
| 1062 | - $mime_type = ''; |
|
| 1063 | - } // inconnu |
|
| 1064 | - |
|
| 1065 | - // Appliquer les alias |
|
| 1066 | - while (isset($GLOBALS['mime_alias'][$mime_type])) { |
|
| 1067 | - $mime_type = $GLOBALS['mime_alias'][$mime_type]; |
|
| 1068 | - } |
|
| 1069 | - |
|
| 1070 | - // pour corriger_extension() |
|
| 1071 | - include_spip('inc/documents'); |
|
| 1072 | - |
|
| 1073 | - // Si on a un mime-type insignifiant |
|
| 1074 | - // text/plain,application/octet-stream ou vide |
|
| 1075 | - // c'est peut-etre que le serveur ne sait pas |
|
| 1076 | - // ce qu'il sert ; on va tenter de detecter via l'extension de l'url |
|
| 1077 | - // ou le Content-Disposition: attachment; filename=... |
|
| 1078 | - $t = null; |
|
| 1079 | - if (in_array($mime_type, ['text/plain', '', 'application/octet-stream'])) { |
|
| 1080 | - if ( |
|
| 1081 | - !$t |
|
| 1082 | - and preg_match(',\.([a-z0-9]+)(\?.*)?$,i', $source, $rext) |
|
| 1083 | - ) { |
|
| 1084 | - $t = sql_fetsel('extension', 'spip_types_documents', 'extension=' . sql_quote(corriger_extension($rext[1]), '', 'text')); |
|
| 1085 | - } |
|
| 1086 | - if ( |
|
| 1087 | - !$t |
|
| 1088 | - and preg_match(',^Content-Disposition:\s*attachment;\s*filename=(.*)$,Uims', $headers, $m) |
|
| 1089 | - and preg_match(',\.([a-z0-9]+)(\?.*)?$,i', $m[1], $rext) |
|
| 1090 | - ) { |
|
| 1091 | - $t = sql_fetsel('extension', 'spip_types_documents', 'extension=' . sql_quote(corriger_extension($rext[1]), '', 'text')); |
|
| 1092 | - } |
|
| 1093 | - } |
|
| 1094 | - |
|
| 1095 | - // Autre mime/type (ou text/plain avec fichier d'extension inconnue) |
|
| 1096 | - if (!$t) { |
|
| 1097 | - $t = sql_fetsel('extension', 'spip_types_documents', 'mime_type=' . sql_quote($mime_type)); |
|
| 1098 | - } |
|
| 1099 | - |
|
| 1100 | - // Toujours rien ? (ex: audio/x-ogg au lieu de application/ogg) |
|
| 1101 | - // On essaie de nouveau avec l'extension |
|
| 1102 | - if ( |
|
| 1103 | - !$t |
|
| 1104 | - and $mime_type != 'text/plain' |
|
| 1105 | - and preg_match(',\.([a-z0-9]+)(\?.*)?$,i', $source, $rext) |
|
| 1106 | - ) { |
|
| 1107 | - # eviter xxx.3 => 3gp (> SPIP 3) |
|
| 1108 | - $t = sql_fetsel('extension', 'spip_types_documents', 'extension=' . sql_quote(corriger_extension($rext[1]), '', 'text')); |
|
| 1109 | - } |
|
| 1110 | - |
|
| 1111 | - if ($t) { |
|
| 1112 | - spip_log("mime-type $mime_type ok, extension " . $t['extension'], 'distant'); |
|
| 1113 | - return $t['extension']; |
|
| 1114 | - } else { |
|
| 1115 | - # par defaut on retombe sur '.bin' si c'est autorise |
|
| 1116 | - spip_log("mime-type $mime_type inconnu", 'distant'); |
|
| 1117 | - $t = sql_fetsel('extension', 'spip_types_documents', "extension='bin'"); |
|
| 1118 | - if (!$t) { |
|
| 1119 | - return false; |
|
| 1120 | - } |
|
| 1121 | - return $t['extension']; |
|
| 1122 | - } |
|
| 1059 | + if (preg_match(",\nContent-Type: *([^[:space:];]*),i", "\n$headers", $regs)) { |
|
| 1060 | + $mime_type = (trim($regs[1])); |
|
| 1061 | + } else { |
|
| 1062 | + $mime_type = ''; |
|
| 1063 | + } // inconnu |
|
| 1064 | + |
|
| 1065 | + // Appliquer les alias |
|
| 1066 | + while (isset($GLOBALS['mime_alias'][$mime_type])) { |
|
| 1067 | + $mime_type = $GLOBALS['mime_alias'][$mime_type]; |
|
| 1068 | + } |
|
| 1069 | + |
|
| 1070 | + // pour corriger_extension() |
|
| 1071 | + include_spip('inc/documents'); |
|
| 1072 | + |
|
| 1073 | + // Si on a un mime-type insignifiant |
|
| 1074 | + // text/plain,application/octet-stream ou vide |
|
| 1075 | + // c'est peut-etre que le serveur ne sait pas |
|
| 1076 | + // ce qu'il sert ; on va tenter de detecter via l'extension de l'url |
|
| 1077 | + // ou le Content-Disposition: attachment; filename=... |
|
| 1078 | + $t = null; |
|
| 1079 | + if (in_array($mime_type, ['text/plain', '', 'application/octet-stream'])) { |
|
| 1080 | + if ( |
|
| 1081 | + !$t |
|
| 1082 | + and preg_match(',\.([a-z0-9]+)(\?.*)?$,i', $source, $rext) |
|
| 1083 | + ) { |
|
| 1084 | + $t = sql_fetsel('extension', 'spip_types_documents', 'extension=' . sql_quote(corriger_extension($rext[1]), '', 'text')); |
|
| 1085 | + } |
|
| 1086 | + if ( |
|
| 1087 | + !$t |
|
| 1088 | + and preg_match(',^Content-Disposition:\s*attachment;\s*filename=(.*)$,Uims', $headers, $m) |
|
| 1089 | + and preg_match(',\.([a-z0-9]+)(\?.*)?$,i', $m[1], $rext) |
|
| 1090 | + ) { |
|
| 1091 | + $t = sql_fetsel('extension', 'spip_types_documents', 'extension=' . sql_quote(corriger_extension($rext[1]), '', 'text')); |
|
| 1092 | + } |
|
| 1093 | + } |
|
| 1094 | + |
|
| 1095 | + // Autre mime/type (ou text/plain avec fichier d'extension inconnue) |
|
| 1096 | + if (!$t) { |
|
| 1097 | + $t = sql_fetsel('extension', 'spip_types_documents', 'mime_type=' . sql_quote($mime_type)); |
|
| 1098 | + } |
|
| 1099 | + |
|
| 1100 | + // Toujours rien ? (ex: audio/x-ogg au lieu de application/ogg) |
|
| 1101 | + // On essaie de nouveau avec l'extension |
|
| 1102 | + if ( |
|
| 1103 | + !$t |
|
| 1104 | + and $mime_type != 'text/plain' |
|
| 1105 | + and preg_match(',\.([a-z0-9]+)(\?.*)?$,i', $source, $rext) |
|
| 1106 | + ) { |
|
| 1107 | + # eviter xxx.3 => 3gp (> SPIP 3) |
|
| 1108 | + $t = sql_fetsel('extension', 'spip_types_documents', 'extension=' . sql_quote(corriger_extension($rext[1]), '', 'text')); |
|
| 1109 | + } |
|
| 1110 | + |
|
| 1111 | + if ($t) { |
|
| 1112 | + spip_log("mime-type $mime_type ok, extension " . $t['extension'], 'distant'); |
|
| 1113 | + return $t['extension']; |
|
| 1114 | + } else { |
|
| 1115 | + # par defaut on retombe sur '.bin' si c'est autorise |
|
| 1116 | + spip_log("mime-type $mime_type inconnu", 'distant'); |
|
| 1117 | + $t = sql_fetsel('extension', 'spip_types_documents', "extension='bin'"); |
|
| 1118 | + if (!$t) { |
|
| 1119 | + return false; |
|
| 1120 | + } |
|
| 1121 | + return $t['extension']; |
|
| 1122 | + } |
|
| 1123 | 1123 | } |
| 1124 | 1124 | |
| 1125 | 1125 | /** |
@@ -1135,45 +1135,45 @@ discard block |
||
| 1135 | 1135 | */ |
| 1136 | 1136 | function need_proxy($host, $http_proxy = null, $http_noproxy = null) { |
| 1137 | 1137 | |
| 1138 | - $http_proxy ??= $GLOBALS['meta']['http_proxy'] ?? null; |
|
| 1139 | - |
|
| 1140 | - // rien a faire si pas de proxy :) |
|
| 1141 | - if (is_null($http_proxy) or !$http_proxy = trim($http_proxy)) { |
|
| 1142 | - return ''; |
|
| 1143 | - } |
|
| 1144 | - |
|
| 1145 | - if (is_null($http_noproxy)) { |
|
| 1146 | - $http_noproxy = $GLOBALS['meta']['http_noproxy'] ?? null; |
|
| 1147 | - } |
|
| 1148 | - // si pas d'exception, on retourne le proxy |
|
| 1149 | - if (is_null($http_noproxy) or !$http_noproxy = trim($http_noproxy)) { |
|
| 1150 | - return $http_proxy; |
|
| 1151 | - } |
|
| 1152 | - |
|
| 1153 | - // si le host ou l'un des domaines parents est dans $http_noproxy on fait exception |
|
| 1154 | - // $http_noproxy peut contenir plusieurs domaines separes par des espaces ou retour ligne |
|
| 1155 | - $http_noproxy = str_replace("\n", ' ', $http_noproxy); |
|
| 1156 | - $http_noproxy = str_replace("\r", ' ', $http_noproxy); |
|
| 1157 | - $http_noproxy = " $http_noproxy "; |
|
| 1158 | - $domain = $host; |
|
| 1159 | - // si le domaine exact www.example.org est dans les exceptions |
|
| 1160 | - if (strpos($http_noproxy, (string) " $domain ") !== false) { |
|
| 1161 | - return ''; |
|
| 1162 | - } |
|
| 1163 | - |
|
| 1164 | - while (strpos($domain, '.') !== false) { |
|
| 1165 | - $domain = explode('.', $domain); |
|
| 1166 | - array_shift($domain); |
|
| 1167 | - $domain = implode('.', $domain); |
|
| 1168 | - |
|
| 1169 | - // ou si un domaine parent commencant par un . est dans les exceptions (indiquant qu'il couvre tous les sous-domaines) |
|
| 1170 | - if (strpos($http_noproxy, (string) " .$domain ") !== false) { |
|
| 1171 | - return ''; |
|
| 1172 | - } |
|
| 1173 | - } |
|
| 1174 | - |
|
| 1175 | - // ok c'est pas une exception |
|
| 1176 | - return $http_proxy; |
|
| 1138 | + $http_proxy ??= $GLOBALS['meta']['http_proxy'] ?? null; |
|
| 1139 | + |
|
| 1140 | + // rien a faire si pas de proxy :) |
|
| 1141 | + if (is_null($http_proxy) or !$http_proxy = trim($http_proxy)) { |
|
| 1142 | + return ''; |
|
| 1143 | + } |
|
| 1144 | + |
|
| 1145 | + if (is_null($http_noproxy)) { |
|
| 1146 | + $http_noproxy = $GLOBALS['meta']['http_noproxy'] ?? null; |
|
| 1147 | + } |
|
| 1148 | + // si pas d'exception, on retourne le proxy |
|
| 1149 | + if (is_null($http_noproxy) or !$http_noproxy = trim($http_noproxy)) { |
|
| 1150 | + return $http_proxy; |
|
| 1151 | + } |
|
| 1152 | + |
|
| 1153 | + // si le host ou l'un des domaines parents est dans $http_noproxy on fait exception |
|
| 1154 | + // $http_noproxy peut contenir plusieurs domaines separes par des espaces ou retour ligne |
|
| 1155 | + $http_noproxy = str_replace("\n", ' ', $http_noproxy); |
|
| 1156 | + $http_noproxy = str_replace("\r", ' ', $http_noproxy); |
|
| 1157 | + $http_noproxy = " $http_noproxy "; |
|
| 1158 | + $domain = $host; |
|
| 1159 | + // si le domaine exact www.example.org est dans les exceptions |
|
| 1160 | + if (strpos($http_noproxy, (string) " $domain ") !== false) { |
|
| 1161 | + return ''; |
|
| 1162 | + } |
|
| 1163 | + |
|
| 1164 | + while (strpos($domain, '.') !== false) { |
|
| 1165 | + $domain = explode('.', $domain); |
|
| 1166 | + array_shift($domain); |
|
| 1167 | + $domain = implode('.', $domain); |
|
| 1168 | + |
|
| 1169 | + // ou si un domaine parent commencant par un . est dans les exceptions (indiquant qu'il couvre tous les sous-domaines) |
|
| 1170 | + if (strpos($http_noproxy, (string) " .$domain ") !== false) { |
|
| 1171 | + return ''; |
|
| 1172 | + } |
|
| 1173 | + } |
|
| 1174 | + |
|
| 1175 | + // ok c'est pas une exception |
|
| 1176 | + return $http_proxy; |
|
| 1177 | 1177 | } |
| 1178 | 1178 | |
| 1179 | 1179 | |
@@ -1196,59 +1196,59 @@ discard block |
||
| 1196 | 1196 | * @return array |
| 1197 | 1197 | */ |
| 1198 | 1198 | function init_http($method, $url, $refuse_gz = false, $referer = '', $datas = '', $vers = 'HTTP/1.0', $date = '') { |
| 1199 | - $user = $via_proxy = $proxy_user = ''; |
|
| 1200 | - $fopen = false; |
|
| 1201 | - |
|
| 1202 | - $t = @parse_url($url); |
|
| 1203 | - $host = $t['host']; |
|
| 1204 | - if ($t['scheme'] == 'http') { |
|
| 1205 | - $scheme = 'http'; |
|
| 1206 | - $noproxy = ''; |
|
| 1207 | - } elseif ($t['scheme'] == 'https') { |
|
| 1208 | - $scheme = 'ssl'; |
|
| 1209 | - $noproxy = 'ssl://'; |
|
| 1210 | - if (!isset($t['port']) || !($port = $t['port'])) { |
|
| 1211 | - $t['port'] = 443; |
|
| 1212 | - } |
|
| 1213 | - } else { |
|
| 1214 | - $scheme = $t['scheme']; |
|
| 1215 | - $noproxy = $scheme . '://'; |
|
| 1216 | - } |
|
| 1217 | - if (isset($t['user'])) { |
|
| 1218 | - $user = [$t['user'], $t['pass']]; |
|
| 1219 | - } |
|
| 1220 | - |
|
| 1221 | - if (!isset($t['port']) || !($port = $t['port'])) { |
|
| 1222 | - $port = 80; |
|
| 1223 | - } |
|
| 1224 | - if (!isset($t['path']) || !($path = $t['path'])) { |
|
| 1225 | - $path = '/'; |
|
| 1226 | - } |
|
| 1227 | - |
|
| 1228 | - if (!empty($t['query'])) { |
|
| 1229 | - $path .= '?' . $t['query']; |
|
| 1230 | - } |
|
| 1231 | - |
|
| 1232 | - $f = lance_requete($method, $scheme, $user, $host, $path, $port, $noproxy, $refuse_gz, $referer, $datas, $vers, $date); |
|
| 1233 | - if (!$f or !is_resource($f)) { |
|
| 1234 | - // fallback : fopen si on a pas fait timeout dans lance_requete |
|
| 1235 | - // ce qui correspond a $f===110 |
|
| 1236 | - if ( |
|
| 1237 | - $f !== 110 |
|
| 1238 | - and !need_proxy($host) |
|
| 1239 | - and !_request('tester_proxy') |
|
| 1240 | - and (!isset($GLOBALS['inc_distant_allow_fopen']) or $GLOBALS['inc_distant_allow_fopen']) |
|
| 1241 | - ) { |
|
| 1242 | - $f = @fopen($url, 'rb'); |
|
| 1243 | - spip_log("connexion vers $url par simple fopen", 'distant'); |
|
| 1244 | - $fopen = true; |
|
| 1245 | - } else { |
|
| 1246 | - // echec total |
|
| 1247 | - $f = false; |
|
| 1248 | - } |
|
| 1249 | - } |
|
| 1250 | - |
|
| 1251 | - return [$f, $fopen]; |
|
| 1199 | + $user = $via_proxy = $proxy_user = ''; |
|
| 1200 | + $fopen = false; |
|
| 1201 | + |
|
| 1202 | + $t = @parse_url($url); |
|
| 1203 | + $host = $t['host']; |
|
| 1204 | + if ($t['scheme'] == 'http') { |
|
| 1205 | + $scheme = 'http'; |
|
| 1206 | + $noproxy = ''; |
|
| 1207 | + } elseif ($t['scheme'] == 'https') { |
|
| 1208 | + $scheme = 'ssl'; |
|
| 1209 | + $noproxy = 'ssl://'; |
|
| 1210 | + if (!isset($t['port']) || !($port = $t['port'])) { |
|
| 1211 | + $t['port'] = 443; |
|
| 1212 | + } |
|
| 1213 | + } else { |
|
| 1214 | + $scheme = $t['scheme']; |
|
| 1215 | + $noproxy = $scheme . '://'; |
|
| 1216 | + } |
|
| 1217 | + if (isset($t['user'])) { |
|
| 1218 | + $user = [$t['user'], $t['pass']]; |
|
| 1219 | + } |
|
| 1220 | + |
|
| 1221 | + if (!isset($t['port']) || !($port = $t['port'])) { |
|
| 1222 | + $port = 80; |
|
| 1223 | + } |
|
| 1224 | + if (!isset($t['path']) || !($path = $t['path'])) { |
|
| 1225 | + $path = '/'; |
|
| 1226 | + } |
|
| 1227 | + |
|
| 1228 | + if (!empty($t['query'])) { |
|
| 1229 | + $path .= '?' . $t['query']; |
|
| 1230 | + } |
|
| 1231 | + |
|
| 1232 | + $f = lance_requete($method, $scheme, $user, $host, $path, $port, $noproxy, $refuse_gz, $referer, $datas, $vers, $date); |
|
| 1233 | + if (!$f or !is_resource($f)) { |
|
| 1234 | + // fallback : fopen si on a pas fait timeout dans lance_requete |
|
| 1235 | + // ce qui correspond a $f===110 |
|
| 1236 | + if ( |
|
| 1237 | + $f !== 110 |
|
| 1238 | + and !need_proxy($host) |
|
| 1239 | + and !_request('tester_proxy') |
|
| 1240 | + and (!isset($GLOBALS['inc_distant_allow_fopen']) or $GLOBALS['inc_distant_allow_fopen']) |
|
| 1241 | + ) { |
|
| 1242 | + $f = @fopen($url, 'rb'); |
|
| 1243 | + spip_log("connexion vers $url par simple fopen", 'distant'); |
|
| 1244 | + $fopen = true; |
|
| 1245 | + } else { |
|
| 1246 | + // echec total |
|
| 1247 | + $f = false; |
|
| 1248 | + } |
|
| 1249 | + } |
|
| 1250 | + |
|
| 1251 | + return [$f, $fopen]; |
|
| 1252 | 1252 | } |
| 1253 | 1253 | |
| 1254 | 1254 | /** |
@@ -1283,123 +1283,123 @@ discard block |
||
| 1283 | 1283 | * resource socket vers l'url demandee |
| 1284 | 1284 | */ |
| 1285 | 1285 | function lance_requete( |
| 1286 | - $method, |
|
| 1287 | - $scheme, |
|
| 1288 | - $user, |
|
| 1289 | - $host, |
|
| 1290 | - $path, |
|
| 1291 | - $port, |
|
| 1292 | - $noproxy, |
|
| 1293 | - $refuse_gz = false, |
|
| 1294 | - $referer = '', |
|
| 1295 | - $datas = '', |
|
| 1296 | - $vers = 'HTTP/1.0', |
|
| 1297 | - $date = '' |
|
| 1286 | + $method, |
|
| 1287 | + $scheme, |
|
| 1288 | + $user, |
|
| 1289 | + $host, |
|
| 1290 | + $path, |
|
| 1291 | + $port, |
|
| 1292 | + $noproxy, |
|
| 1293 | + $refuse_gz = false, |
|
| 1294 | + $referer = '', |
|
| 1295 | + $datas = '', |
|
| 1296 | + $vers = 'HTTP/1.0', |
|
| 1297 | + $date = '' |
|
| 1298 | 1298 | ) { |
| 1299 | 1299 | |
| 1300 | - $proxy_user = ''; |
|
| 1301 | - $http_proxy = need_proxy($host); |
|
| 1302 | - if ($user) { |
|
| 1303 | - $user = urlencode($user[0]) . ':' . urlencode($user[1]); |
|
| 1304 | - } |
|
| 1305 | - |
|
| 1306 | - $connect = ''; |
|
| 1307 | - if ($http_proxy) { |
|
| 1308 | - if (!defined('_PROXY_HTTPS_NOT_VIA_CONNECT') and in_array($scheme, ['tls','ssl'])) { |
|
| 1309 | - $path_host = (!$user ? '' : "$user@") . $host . (($port != 80) ? ":$port" : ''); |
|
| 1310 | - $connect = 'CONNECT ' . $path_host . " $vers\r\n" |
|
| 1311 | - . "Host: $path_host\r\n" |
|
| 1312 | - . "Proxy-Connection: Keep-Alive\r\n"; |
|
| 1313 | - } else { |
|
| 1314 | - $path = (in_array($scheme, ['tls','ssl']) ? 'https://' : "$scheme://") |
|
| 1315 | - . (!$user ? '' : "$user@") |
|
| 1316 | - . "$host" . (($port != 80) ? ":$port" : '') . $path; |
|
| 1317 | - } |
|
| 1318 | - $t2 = @parse_url($http_proxy); |
|
| 1319 | - $first_host = $t2['host']; |
|
| 1320 | - $port = ($t2['port'] ?? null) ?: 80; |
|
| 1321 | - if ($t2['user'] ?? null) { |
|
| 1322 | - $proxy_user = base64_encode($t2['user'] . ':' . $t2['pass']); |
|
| 1323 | - } |
|
| 1324 | - } else { |
|
| 1325 | - $first_host = $noproxy . $host; |
|
| 1326 | - } |
|
| 1327 | - |
|
| 1328 | - if ($connect) { |
|
| 1329 | - $streamContext = stream_context_create([ |
|
| 1330 | - 'ssl' => [ |
|
| 1331 | - 'verify_peer' => false, |
|
| 1332 | - 'allow_self_signed' => true, |
|
| 1333 | - 'SNI_enabled' => true, |
|
| 1334 | - 'peer_name' => $host, |
|
| 1335 | - ] |
|
| 1336 | - ]); |
|
| 1337 | - $f = @stream_socket_client( |
|
| 1338 | - "tcp://$first_host:$port", |
|
| 1339 | - $errno, |
|
| 1340 | - $errstr, |
|
| 1341 | - _INC_DISTANT_CONNECT_TIMEOUT, |
|
| 1342 | - STREAM_CLIENT_CONNECT, |
|
| 1343 | - $streamContext |
|
| 1344 | - ); |
|
| 1345 | - spip_log("Recuperer $path sur $first_host:$port par $f (via CONNECT)", 'connect'); |
|
| 1346 | - if (!$f) { |
|
| 1347 | - spip_log("Erreur connexion $errno $errstr", 'distant' . _LOG_ERREUR); |
|
| 1348 | - return $errno; |
|
| 1349 | - } |
|
| 1350 | - stream_set_timeout($f, _INC_DISTANT_CONNECT_TIMEOUT); |
|
| 1351 | - |
|
| 1352 | - fputs($f, $connect); |
|
| 1353 | - fputs($f, "\r\n"); |
|
| 1354 | - $res = fread($f, 1024); |
|
| 1355 | - if ( |
|
| 1356 | - !$res |
|
| 1357 | - or !count($res = explode(' ', $res)) |
|
| 1358 | - or $res[1] !== '200' |
|
| 1359 | - ) { |
|
| 1360 | - spip_log("Echec CONNECT sur $first_host:$port", 'connect' . _LOG_INFO_IMPORTANTE); |
|
| 1361 | - fclose($f); |
|
| 1362 | - |
|
| 1363 | - return false; |
|
| 1364 | - } |
|
| 1365 | - // important, car sinon on lit trop vite et les donnees ne sont pas encore dispo |
|
| 1366 | - stream_set_blocking($f, true); |
|
| 1367 | - // envoyer le handshake |
|
| 1368 | - stream_socket_enable_crypto($f, true, STREAM_CRYPTO_METHOD_SSLv23_CLIENT); |
|
| 1369 | - spip_log("OK CONNECT sur $first_host:$port", 'connect'); |
|
| 1370 | - } else { |
|
| 1371 | - $ntry = 3; |
|
| 1372 | - do { |
|
| 1373 | - $f = @fsockopen($first_host, $port, $errno, $errstr, _INC_DISTANT_CONNECT_TIMEOUT); |
|
| 1374 | - } while (!$f and $ntry-- and $errno !== 110 and sleep(1)); |
|
| 1375 | - spip_log("Recuperer $path sur $first_host:$port par $f"); |
|
| 1376 | - if (!$f) { |
|
| 1377 | - spip_log("Erreur connexion $errno $errstr", 'distant' . _LOG_ERREUR); |
|
| 1378 | - |
|
| 1379 | - return $errno; |
|
| 1380 | - } |
|
| 1381 | - stream_set_timeout($f, _INC_DISTANT_CONNECT_TIMEOUT); |
|
| 1382 | - } |
|
| 1383 | - |
|
| 1384 | - $site = $GLOBALS['meta']['adresse_site'] ?? ''; |
|
| 1385 | - |
|
| 1386 | - $host_port = $host; |
|
| 1387 | - if ($port != (in_array($scheme, ['tls','ssl']) ? 443 : 80)) { |
|
| 1388 | - $host_port .= ":$port"; |
|
| 1389 | - } |
|
| 1390 | - $req = "$method $path $vers\r\n" |
|
| 1391 | - . "Host: $host_port\r\n" |
|
| 1392 | - . 'User-Agent: ' . _INC_DISTANT_USER_AGENT . "\r\n" |
|
| 1393 | - . ($refuse_gz ? '' : ('Accept-Encoding: ' . _INC_DISTANT_CONTENT_ENCODING . "\r\n")) |
|
| 1394 | - . (!$site ? '' : "Referer: $site/$referer\r\n") |
|
| 1395 | - . (!$date ? '' : 'If-Modified-Since: ' . (gmdate('D, d M Y H:i:s', $date) . " GMT\r\n")) |
|
| 1396 | - . (!$user ? '' : ('Authorization: Basic ' . base64_encode($user) . "\r\n")) |
|
| 1397 | - . (!$proxy_user ? '' : "Proxy-Authorization: Basic $proxy_user\r\n") |
|
| 1398 | - . (!strpos($vers, '1.1') ? '' : "Keep-Alive: 300\r\nConnection: keep-alive\r\n"); |
|
| 1300 | + $proxy_user = ''; |
|
| 1301 | + $http_proxy = need_proxy($host); |
|
| 1302 | + if ($user) { |
|
| 1303 | + $user = urlencode($user[0]) . ':' . urlencode($user[1]); |
|
| 1304 | + } |
|
| 1305 | + |
|
| 1306 | + $connect = ''; |
|
| 1307 | + if ($http_proxy) { |
|
| 1308 | + if (!defined('_PROXY_HTTPS_NOT_VIA_CONNECT') and in_array($scheme, ['tls','ssl'])) { |
|
| 1309 | + $path_host = (!$user ? '' : "$user@") . $host . (($port != 80) ? ":$port" : ''); |
|
| 1310 | + $connect = 'CONNECT ' . $path_host . " $vers\r\n" |
|
| 1311 | + . "Host: $path_host\r\n" |
|
| 1312 | + . "Proxy-Connection: Keep-Alive\r\n"; |
|
| 1313 | + } else { |
|
| 1314 | + $path = (in_array($scheme, ['tls','ssl']) ? 'https://' : "$scheme://") |
|
| 1315 | + . (!$user ? '' : "$user@") |
|
| 1316 | + . "$host" . (($port != 80) ? ":$port" : '') . $path; |
|
| 1317 | + } |
|
| 1318 | + $t2 = @parse_url($http_proxy); |
|
| 1319 | + $first_host = $t2['host']; |
|
| 1320 | + $port = ($t2['port'] ?? null) ?: 80; |
|
| 1321 | + if ($t2['user'] ?? null) { |
|
| 1322 | + $proxy_user = base64_encode($t2['user'] . ':' . $t2['pass']); |
|
| 1323 | + } |
|
| 1324 | + } else { |
|
| 1325 | + $first_host = $noproxy . $host; |
|
| 1326 | + } |
|
| 1327 | + |
|
| 1328 | + if ($connect) { |
|
| 1329 | + $streamContext = stream_context_create([ |
|
| 1330 | + 'ssl' => [ |
|
| 1331 | + 'verify_peer' => false, |
|
| 1332 | + 'allow_self_signed' => true, |
|
| 1333 | + 'SNI_enabled' => true, |
|
| 1334 | + 'peer_name' => $host, |
|
| 1335 | + ] |
|
| 1336 | + ]); |
|
| 1337 | + $f = @stream_socket_client( |
|
| 1338 | + "tcp://$first_host:$port", |
|
| 1339 | + $errno, |
|
| 1340 | + $errstr, |
|
| 1341 | + _INC_DISTANT_CONNECT_TIMEOUT, |
|
| 1342 | + STREAM_CLIENT_CONNECT, |
|
| 1343 | + $streamContext |
|
| 1344 | + ); |
|
| 1345 | + spip_log("Recuperer $path sur $first_host:$port par $f (via CONNECT)", 'connect'); |
|
| 1346 | + if (!$f) { |
|
| 1347 | + spip_log("Erreur connexion $errno $errstr", 'distant' . _LOG_ERREUR); |
|
| 1348 | + return $errno; |
|
| 1349 | + } |
|
| 1350 | + stream_set_timeout($f, _INC_DISTANT_CONNECT_TIMEOUT); |
|
| 1351 | + |
|
| 1352 | + fputs($f, $connect); |
|
| 1353 | + fputs($f, "\r\n"); |
|
| 1354 | + $res = fread($f, 1024); |
|
| 1355 | + if ( |
|
| 1356 | + !$res |
|
| 1357 | + or !count($res = explode(' ', $res)) |
|
| 1358 | + or $res[1] !== '200' |
|
| 1359 | + ) { |
|
| 1360 | + spip_log("Echec CONNECT sur $first_host:$port", 'connect' . _LOG_INFO_IMPORTANTE); |
|
| 1361 | + fclose($f); |
|
| 1362 | + |
|
| 1363 | + return false; |
|
| 1364 | + } |
|
| 1365 | + // important, car sinon on lit trop vite et les donnees ne sont pas encore dispo |
|
| 1366 | + stream_set_blocking($f, true); |
|
| 1367 | + // envoyer le handshake |
|
| 1368 | + stream_socket_enable_crypto($f, true, STREAM_CRYPTO_METHOD_SSLv23_CLIENT); |
|
| 1369 | + spip_log("OK CONNECT sur $first_host:$port", 'connect'); |
|
| 1370 | + } else { |
|
| 1371 | + $ntry = 3; |
|
| 1372 | + do { |
|
| 1373 | + $f = @fsockopen($first_host, $port, $errno, $errstr, _INC_DISTANT_CONNECT_TIMEOUT); |
|
| 1374 | + } while (!$f and $ntry-- and $errno !== 110 and sleep(1)); |
|
| 1375 | + spip_log("Recuperer $path sur $first_host:$port par $f"); |
|
| 1376 | + if (!$f) { |
|
| 1377 | + spip_log("Erreur connexion $errno $errstr", 'distant' . _LOG_ERREUR); |
|
| 1378 | + |
|
| 1379 | + return $errno; |
|
| 1380 | + } |
|
| 1381 | + stream_set_timeout($f, _INC_DISTANT_CONNECT_TIMEOUT); |
|
| 1382 | + } |
|
| 1383 | + |
|
| 1384 | + $site = $GLOBALS['meta']['adresse_site'] ?? ''; |
|
| 1385 | + |
|
| 1386 | + $host_port = $host; |
|
| 1387 | + if ($port != (in_array($scheme, ['tls','ssl']) ? 443 : 80)) { |
|
| 1388 | + $host_port .= ":$port"; |
|
| 1389 | + } |
|
| 1390 | + $req = "$method $path $vers\r\n" |
|
| 1391 | + . "Host: $host_port\r\n" |
|
| 1392 | + . 'User-Agent: ' . _INC_DISTANT_USER_AGENT . "\r\n" |
|
| 1393 | + . ($refuse_gz ? '' : ('Accept-Encoding: ' . _INC_DISTANT_CONTENT_ENCODING . "\r\n")) |
|
| 1394 | + . (!$site ? '' : "Referer: $site/$referer\r\n") |
|
| 1395 | + . (!$date ? '' : 'If-Modified-Since: ' . (gmdate('D, d M Y H:i:s', $date) . " GMT\r\n")) |
|
| 1396 | + . (!$user ? '' : ('Authorization: Basic ' . base64_encode($user) . "\r\n")) |
|
| 1397 | + . (!$proxy_user ? '' : "Proxy-Authorization: Basic $proxy_user\r\n") |
|
| 1398 | + . (!strpos($vers, '1.1') ? '' : "Keep-Alive: 300\r\nConnection: keep-alive\r\n"); |
|
| 1399 | 1399 | |
| 1400 | 1400 | # spip_log("Requete\n$req", 'distant'); |
| 1401 | - fputs($f, $req); |
|
| 1402 | - fputs($f, $datas ?: "\r\n"); |
|
| 1401 | + fputs($f, $req); |
|
| 1402 | + fputs($f, $datas ?: "\r\n"); |
|
| 1403 | 1403 | |
| 1404 | - return $f; |
|
| 1404 | + return $f; |
|
| 1405 | 1405 | } |
@@ -26,7 +26,7 @@ discard block |
||
| 26 | 26 | define('_INC_DISTANT_CONTENT_ENCODING', 'gzip'); |
| 27 | 27 | } |
| 28 | 28 | if (!defined('_INC_DISTANT_USER_AGENT')) { |
| 29 | - define('_INC_DISTANT_USER_AGENT', 'SPIP-' . $GLOBALS['spip_version_affichee'] . ' (' . $GLOBALS['home_server'] . ')'); |
|
| 29 | + define('_INC_DISTANT_USER_AGENT', 'SPIP-'.$GLOBALS['spip_version_affichee'].' ('.$GLOBALS['home_server'].')'); |
|
| 30 | 30 | } |
| 31 | 31 | if (!defined('_INC_DISTANT_MAX_SIZE')) { |
| 32 | 32 | define('_INC_DISTANT_MAX_SIZE', 2_097_152); |
@@ -35,7 +35,7 @@ discard block |
||
| 35 | 35 | define('_INC_DISTANT_CONNECT_TIMEOUT', 10); |
| 36 | 36 | } |
| 37 | 37 | |
| 38 | -define('_REGEXP_COPIE_LOCALE', ',' . |
|
| 38 | +define('_REGEXP_COPIE_LOCALE', ','. |
|
| 39 | 39 | preg_replace( |
| 40 | 40 | '@^https?:@', |
| 41 | 41 | 'https?:', |
@@ -70,7 +70,7 @@ discard block |
||
| 70 | 70 | |
| 71 | 71 | // si c'est la protection de soi-meme, retourner le path |
| 72 | 72 | if ($mode !== 'force' and preg_match(_REGEXP_COPIE_LOCALE, $source, $match)) { |
| 73 | - $source = substr(_DIR_IMG, strlen(_DIR_RACINE)) . urldecode($match[1]); |
|
| 73 | + $source = substr(_DIR_IMG, strlen(_DIR_RACINE)).urldecode($match[1]); |
|
| 74 | 74 | |
| 75 | 75 | return @file_exists($source) ? $source : false; |
| 76 | 76 | } |
@@ -90,7 +90,7 @@ discard block |
||
| 90 | 90 | return false; |
| 91 | 91 | } |
| 92 | 92 | |
| 93 | - $localrac = _DIR_RACINE . $local; |
|
| 93 | + $localrac = _DIR_RACINE.$local; |
|
| 94 | 94 | $t = ($mode === 'force') ? false : @file_exists($localrac); |
| 95 | 95 | |
| 96 | 96 | // test d'existence du fichier |
@@ -115,10 +115,10 @@ discard block |
||
| 115 | 115 | ['file' => $localrac, 'taille_max' => $taille_max, 'if_modified_since' => $t ? filemtime($localrac) : ''] |
| 116 | 116 | ); |
| 117 | 117 | if (!$res or (!$res['length'] and $res['status'] != 304)) { |
| 118 | - spip_log("copie_locale : Echec recuperation $source sur $localrac status : " . ($res ? $res['status'] : '-'), 'distant' . _LOG_INFO_IMPORTANTE); |
|
| 118 | + spip_log("copie_locale : Echec recuperation $source sur $localrac status : ".($res ? $res['status'] : '-'), 'distant'._LOG_INFO_IMPORTANTE); |
|
| 119 | 119 | } |
| 120 | 120 | else { |
| 121 | - spip_log("copie_locale : recuperation $source sur $localrac OK | taille " . $res['length'] . ' status ' . $res['status'], 'distant'); |
|
| 121 | + spip_log("copie_locale : recuperation $source sur $localrac OK | taille ".$res['length'].' status '.$res['status'], 'distant'); |
|
| 122 | 122 | } |
| 123 | 123 | if (!$res or !$res['length']) { |
| 124 | 124 | // si $t c'est sans doute juste un not-modified-since |
@@ -207,7 +207,7 @@ discard block |
||
| 207 | 207 | |
| 208 | 208 | if (!$is_known_host) { |
| 209 | 209 | $host = trim($parsed_url['host'], '.'); |
| 210 | - if (! $ip = filter_var($host, FILTER_VALIDATE_IP)) { |
|
| 210 | + if (!$ip = filter_var($host, FILTER_VALIDATE_IP)) { |
|
| 211 | 211 | $ip = gethostbyname($host); |
| 212 | 212 | if ($ip === $host) { |
| 213 | 213 | // Error condition for gethostbyname() |
@@ -228,7 +228,7 @@ discard block |
||
| 228 | 228 | } |
| 229 | 229 | } |
| 230 | 230 | if ($ip) { |
| 231 | - if (! filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE)) { |
|
| 231 | + if (!filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE)) { |
|
| 232 | 232 | return false; |
| 233 | 233 | } |
| 234 | 234 | } |
@@ -239,7 +239,7 @@ discard block |
||
| 239 | 239 | } |
| 240 | 240 | |
| 241 | 241 | $port = $parsed_url['port']; |
| 242 | - if ($port === 80 or $port === 443 or $port === 8080) { |
|
| 242 | + if ($port === 80 or $port === 443 or $port === 8080) { |
|
| 243 | 243 | return $url; |
| 244 | 244 | } |
| 245 | 245 | |
@@ -309,7 +309,7 @@ discard block |
||
| 309 | 309 | } |
| 310 | 310 | } |
| 311 | 311 | if ($taille > 500) { |
| 312 | - $boundary = substr(md5(random_int(0, mt_getrandmax()) . 'spip'), 0, 8); |
|
| 312 | + $boundary = substr(md5(random_int(0, mt_getrandmax()).'spip'), 0, 8); |
|
| 313 | 313 | } |
| 314 | 314 | } |
| 315 | 315 | |
@@ -337,16 +337,16 @@ discard block |
||
| 337 | 337 | } |
| 338 | 338 | } else { |
| 339 | 339 | // fabrique une chaine HTTP simple pour un POST |
| 340 | - $entete = 'Content-Type: application/x-www-form-urlencoded' . "\r\n"; |
|
| 340 | + $entete = 'Content-Type: application/x-www-form-urlencoded'."\r\n"; |
|
| 341 | 341 | $chaine = []; |
| 342 | 342 | if (is_array($donnees)) { |
| 343 | 343 | foreach ($donnees as $cle => $valeur) { |
| 344 | 344 | if (is_array($valeur)) { |
| 345 | 345 | foreach ($valeur as $val2) { |
| 346 | - $chaine[] = rawurlencode($cle) . '[]=' . rawurlencode($val2); |
|
| 346 | + $chaine[] = rawurlencode($cle).'[]='.rawurlencode($val2); |
|
| 347 | 347 | } |
| 348 | 348 | } else { |
| 349 | - $chaine[] = rawurlencode($cle) . '=' . rawurlencode($valeur); |
|
| 349 | + $chaine[] = rawurlencode($cle).'='.rawurlencode($valeur); |
|
| 350 | 350 | } |
| 351 | 351 | } |
| 352 | 352 | $chaine = implode('&', $chaine); |
@@ -451,13 +451,13 @@ discard block |
||
| 451 | 451 | $options['taille_max'] = $copy ? _COPIE_LOCALE_MAX_SIZE : _INC_DISTANT_MAX_SIZE; |
| 452 | 452 | } |
| 453 | 453 | |
| 454 | - spip_log('recuperer_url ' . $options['methode'] . " sur $url", 'distant' . _LOG_DEBUG); |
|
| 454 | + spip_log('recuperer_url '.$options['methode']." sur $url", 'distant'._LOG_DEBUG); |
|
| 455 | 455 | |
| 456 | 456 | // Ajout des en-têtes spécifiques si besoin |
| 457 | 457 | $formatted_data = ''; |
| 458 | 458 | if (!empty($options['headers'])) { |
| 459 | 459 | foreach ($options['headers'] as $champ => $valeur) { |
| 460 | - $formatted_data .= $champ . ': ' . $valeur . "\r\n"; |
|
| 460 | + $formatted_data .= $champ.': '.$valeur."\r\n"; |
|
| 461 | 461 | } |
| 462 | 462 | } |
| 463 | 463 | |
@@ -465,9 +465,9 @@ discard block |
||
| 465 | 465 | [$head, $postdata] = prepare_donnees_post($options['datas'], $options['boundary']); |
| 466 | 466 | $head .= $formatted_data; |
| 467 | 467 | if (stripos($head, 'Content-Length:') === false) { |
| 468 | - $head .= 'Content-Length: ' . strlen($postdata) . "\r\n"; |
|
| 468 | + $head .= 'Content-Length: '.strlen($postdata)."\r\n"; |
|
| 469 | 469 | } |
| 470 | - $formatted_data = $head . "\r\n" . $postdata; |
|
| 470 | + $formatted_data = $head."\r\n".$postdata; |
|
| 471 | 471 | if ( |
| 472 | 472 | strlen($postdata) |
| 473 | 473 | and !$methode_demandee |
@@ -481,9 +481,9 @@ discard block |
||
| 481 | 481 | // Accepter les URLs au format feed:// ou qui ont oublie le http:// ou les urls relatives au protocole |
| 482 | 482 | $url = preg_replace(',^feed://,i', 'http://', $url); |
| 483 | 483 | if (!tester_url_absolue($url)) { |
| 484 | - $url = 'http://' . $url; |
|
| 484 | + $url = 'http://'.$url; |
|
| 485 | 485 | } elseif (strncmp($url, '//', 2) == 0) { |
| 486 | - $url = 'http:' . $url; |
|
| 486 | + $url = 'http:'.$url; |
|
| 487 | 487 | } |
| 488 | 488 | |
| 489 | 489 | $url = url_to_ascii($url); |
@@ -512,7 +512,7 @@ discard block |
||
| 512 | 512 | $options['if_modified_since'] |
| 513 | 513 | ); |
| 514 | 514 | if (!$handle) { |
| 515 | - spip_log("ECHEC init_http $url", 'distant' . _LOG_ERREUR); |
|
| 515 | + spip_log("ECHEC init_http $url", 'distant'._LOG_ERREUR); |
|
| 516 | 516 | |
| 517 | 517 | return false; |
| 518 | 518 | } |
@@ -542,7 +542,7 @@ discard block |
||
| 542 | 542 | 'status' => 200, |
| 543 | 543 | ]; |
| 544 | 544 | } else { |
| 545 | - spip_log("ECHEC chinoiserie $url", 'distant' . _LOG_ERREUR); |
|
| 545 | + spip_log("ECHEC chinoiserie $url", 'distant'._LOG_ERREUR); |
|
| 546 | 546 | return false; |
| 547 | 547 | } |
| 548 | 548 | } elseif ($res['location'] and $options['follow_location']) { |
@@ -558,11 +558,11 @@ discard block |
||
| 558 | 558 | $options['datas'] = ''; |
| 559 | 559 | } |
| 560 | 560 | } |
| 561 | - spip_log('recuperer_url recommence ' . $options['methode'] . " sur $url", 'distant' . _LOG_DEBUG); |
|
| 561 | + spip_log('recuperer_url recommence '.$options['methode']." sur $url", 'distant'._LOG_DEBUG); |
|
| 562 | 562 | |
| 563 | 563 | return recuperer_url($url, $options); |
| 564 | 564 | } elseif ($res['status'] !== 200) { |
| 565 | - spip_log('HTTP status ' . $res['status'] . " pour $url", 'distant'); |
|
| 565 | + spip_log('HTTP status '.$res['status']." pour $url", 'distant'); |
|
| 566 | 566 | } |
| 567 | 567 | $result['status'] = $res['status']; |
| 568 | 568 | if (isset($res['headers'])) { |
@@ -578,7 +578,7 @@ discard block |
||
| 578 | 578 | |
| 579 | 579 | // on ne veut que les entetes |
| 580 | 580 | if (!$options['taille_max'] or $options['methode'] == 'HEAD' or $result['status'] == '304') { |
| 581 | - spip_log('RESULTAT recuperer_url ' . $options['methode'] . " sur $url : " . json_encode($result), 'distant' . _LOG_DEBUG); |
|
| 581 | + spip_log('RESULTAT recuperer_url '.$options['methode']." sur $url : ".json_encode($result), 'distant'._LOG_DEBUG); |
|
| 582 | 582 | return $result; |
| 583 | 583 | } |
| 584 | 584 | |
@@ -588,7 +588,7 @@ discard block |
||
| 588 | 588 | |
| 589 | 589 | $gz = false; |
| 590 | 590 | if (preg_match(",\bContent-Encoding: .*gzip,is", $result['headers'])) { |
| 591 | - $gz = (_DIR_TMP . md5(uniqid(random_int(0, mt_getrandmax()))) . '.tmp.gz'); |
|
| 591 | + $gz = (_DIR_TMP.md5(uniqid(random_int(0, mt_getrandmax()))).'.tmp.gz'); |
|
| 592 | 592 | } |
| 593 | 593 | |
| 594 | 594 | // si on a pas deja recuperer le contenu par une methode detournee |
@@ -624,7 +624,7 @@ discard block |
||
| 624 | 624 | |
| 625 | 625 | $trace = json_decode(json_encode($result), true); |
| 626 | 626 | $trace['page'] = '...'; |
| 627 | - spip_log('RESULTAT recuperer_url ' . $options['methode'] . " sur $url : " . json_encode($trace), 'distant' . _LOG_DEBUG); |
|
| 627 | + spip_log('RESULTAT recuperer_url '.$options['methode']." sur $url : ".json_encode($trace), 'distant'._LOG_DEBUG); |
|
| 628 | 628 | |
| 629 | 629 | return $result; |
| 630 | 630 | } |
@@ -678,7 +678,7 @@ discard block |
||
| 678 | 678 | $sig['url'] = $url; |
| 679 | 679 | |
| 680 | 680 | $dir = sous_repertoire(_DIR_CACHE, 'curl'); |
| 681 | - $cache = md5(serialize($sig)) . '-' . substr(preg_replace(',\W+,', '_', $url), 0, 80); |
|
| 681 | + $cache = md5(serialize($sig)).'-'.substr(preg_replace(',\W+,', '_', $url), 0, 80); |
|
| 682 | 682 | $sub = sous_repertoire($dir, substr($cache, 0, 2)); |
| 683 | 683 | $cache = "$sub$cache"; |
| 684 | 684 | |
@@ -732,7 +732,7 @@ discard block |
||
| 732 | 732 | $fp = false; |
| 733 | 733 | if ($fichier) { |
| 734 | 734 | include_spip('inc/acces'); |
| 735 | - $tmpfile = "$fichier." . creer_uniqid() . '.tmp'; |
|
| 735 | + $tmpfile = "$fichier.".creer_uniqid().'.tmp'; |
|
| 736 | 736 | $fp = spip_fopen_lock($tmpfile, 'w', LOCK_EX); |
| 737 | 737 | if (!$fp and file_exists($fichier)) { |
| 738 | 738 | return filesize($fichier); |
@@ -791,7 +791,7 @@ discard block |
||
| 791 | 791 | } |
| 792 | 792 | $result['status'] = intval($r[1]); |
| 793 | 793 | while ($s = trim(fgets($handle, 16384))) { |
| 794 | - $result['headers'][] = $s . "\n"; |
|
| 794 | + $result['headers'][] = $s."\n"; |
|
| 795 | 795 | preg_match(',^([^:]*): *(.*)$,i', $s, $r); |
| 796 | 796 | [, $d, $v] = $r; |
| 797 | 797 | if (strtolower(trim($d)) == 'location' and $result['status'] >= 300 and $result['status'] < 400) { |
@@ -840,13 +840,13 @@ discard block |
||
| 840 | 840 | |
| 841 | 841 | // on se place tout le temps comme si on etait a la racine |
| 842 | 842 | if (_DIR_RACINE) { |
| 843 | - $d = preg_replace(',^' . preg_quote(_DIR_RACINE) . ',', '', $d); |
|
| 843 | + $d = preg_replace(',^'.preg_quote(_DIR_RACINE).',', '', $d); |
|
| 844 | 844 | } |
| 845 | 845 | |
| 846 | 846 | $m = md5($source); |
| 847 | 847 | |
| 848 | 848 | return $d |
| 849 | - . substr(preg_replace(',[^\w-],', '', basename($source)) . '-' . $m, 0, 12) |
|
| 849 | + . substr(preg_replace(',[^\w-],', '', basename($source)).'-'.$m, 0, 12) |
|
| 850 | 850 | . substr($m, 0, 4) |
| 851 | 851 | . ".$extension"; |
| 852 | 852 | } |
@@ -869,7 +869,7 @@ discard block |
||
| 869 | 869 | // Si c'est deja local pas de souci |
| 870 | 870 | if (!tester_url_absolue($source)) { |
| 871 | 871 | if (_DIR_RACINE) { |
| 872 | - $source = preg_replace(',^' . preg_quote(_DIR_RACINE) . ',', '', $source); |
|
| 872 | + $source = preg_replace(',^'.preg_quote(_DIR_RACINE).',', '', $source); |
|
| 873 | 873 | } |
| 874 | 874 | |
| 875 | 875 | return $source; |
@@ -887,7 +887,7 @@ discard block |
||
| 887 | 887 | $ext |
| 888 | 888 | and preg_match(',^\w+$,', $ext) // pas de php?truc=1&... |
| 889 | 889 | and $f = nom_fichier_copie_locale($source, $ext) |
| 890 | - and file_exists(_DIR_RACINE . $f) |
|
| 890 | + and file_exists(_DIR_RACINE.$f) |
|
| 891 | 891 | ) { |
| 892 | 892 | return $f; |
| 893 | 893 | } |
@@ -895,7 +895,7 @@ discard block |
||
| 895 | 895 | |
| 896 | 896 | // Si c'est deja dans la table des documents, |
| 897 | 897 | // ramener le nom de sa copie potentielle |
| 898 | - $ext = sql_getfetsel('extension', 'spip_documents', 'fichier=' . sql_quote($source) . " AND distant='oui' AND extension <> ''"); |
|
| 898 | + $ext = sql_getfetsel('extension', 'spip_documents', 'fichier='.sql_quote($source)." AND distant='oui' AND extension <> ''"); |
|
| 899 | 899 | |
| 900 | 900 | if ($ext) { |
| 901 | 901 | return nom_fichier_copie_locale($source, $ext); |
@@ -906,9 +906,9 @@ discard block |
||
| 906 | 906 | |
| 907 | 907 | $ext = $path_parts ? $path_parts['extension'] : ''; |
| 908 | 908 | |
| 909 | - if ($ext and sql_getfetsel('extension', 'spip_types_documents', 'extension=' . sql_quote($ext))) { |
|
| 909 | + if ($ext and sql_getfetsel('extension', 'spip_types_documents', 'extension='.sql_quote($ext))) { |
|
| 910 | 910 | $f = nom_fichier_copie_locale($source, $ext); |
| 911 | - if (file_exists(_DIR_RACINE . $f)) { |
|
| 911 | + if (file_exists(_DIR_RACINE.$f)) { |
|
| 912 | 912 | return $f; |
| 913 | 913 | } |
| 914 | 914 | } |
@@ -916,7 +916,7 @@ discard block |
||
| 916 | 916 | // Ping pour voir si son extension est connue et autorisee |
| 917 | 917 | // avec mise en cache du resultat du ping |
| 918 | 918 | |
| 919 | - $cache = sous_repertoire(_DIR_CACHE, 'rid') . md5($source); |
|
| 919 | + $cache = sous_repertoire(_DIR_CACHE, 'rid').md5($source); |
|
| 920 | 920 | if ( |
| 921 | 921 | !@file_exists($cache) |
| 922 | 922 | or !$path_parts = @unserialize(spip_file_get_contents($cache)) |
@@ -926,10 +926,10 @@ discard block |
||
| 926 | 926 | ecrire_fichier($cache, serialize($path_parts)); |
| 927 | 927 | } |
| 928 | 928 | $ext = !empty($path_parts['extension']) ? $path_parts['extension'] : ''; |
| 929 | - if ($ext and sql_getfetsel('extension', 'spip_types_documents', 'extension=' . sql_quote($ext))) { |
|
| 929 | + if ($ext and sql_getfetsel('extension', 'spip_types_documents', 'extension='.sql_quote($ext))) { |
|
| 930 | 930 | return nom_fichier_copie_locale($source, $ext); |
| 931 | 931 | } |
| 932 | - spip_log("pas de copie locale pour $source", 'distant' . _LOG_ERREUR); |
|
| 932 | + spip_log("pas de copie locale pour $source", 'distant'._LOG_ERREUR); |
|
| 933 | 933 | } |
| 934 | 934 | |
| 935 | 935 | |
@@ -1013,7 +1013,7 @@ discard block |
||
| 1013 | 1013 | } else { |
| 1014 | 1014 | if ($a['body']) { |
| 1015 | 1015 | $a['extension'] = $extension; |
| 1016 | - $a['fichier'] = _DIR_RACINE . nom_fichier_copie_locale($source, $extension); |
|
| 1016 | + $a['fichier'] = _DIR_RACINE.nom_fichier_copie_locale($source, $extension); |
|
| 1017 | 1017 | ecrire_fichier($a['fichier'], $a['body']); |
| 1018 | 1018 | $size_image = @spip_getimagesize($a['fichier']); |
| 1019 | 1019 | $a['largeur'] = intval($size_image[0]); |
@@ -1081,20 +1081,20 @@ discard block |
||
| 1081 | 1081 | !$t |
| 1082 | 1082 | and preg_match(',\.([a-z0-9]+)(\?.*)?$,i', $source, $rext) |
| 1083 | 1083 | ) { |
| 1084 | - $t = sql_fetsel('extension', 'spip_types_documents', 'extension=' . sql_quote(corriger_extension($rext[1]), '', 'text')); |
|
| 1084 | + $t = sql_fetsel('extension', 'spip_types_documents', 'extension='.sql_quote(corriger_extension($rext[1]), '', 'text')); |
|
| 1085 | 1085 | } |
| 1086 | 1086 | if ( |
| 1087 | 1087 | !$t |
| 1088 | 1088 | and preg_match(',^Content-Disposition:\s*attachment;\s*filename=(.*)$,Uims', $headers, $m) |
| 1089 | 1089 | and preg_match(',\.([a-z0-9]+)(\?.*)?$,i', $m[1], $rext) |
| 1090 | 1090 | ) { |
| 1091 | - $t = sql_fetsel('extension', 'spip_types_documents', 'extension=' . sql_quote(corriger_extension($rext[1]), '', 'text')); |
|
| 1091 | + $t = sql_fetsel('extension', 'spip_types_documents', 'extension='.sql_quote(corriger_extension($rext[1]), '', 'text')); |
|
| 1092 | 1092 | } |
| 1093 | 1093 | } |
| 1094 | 1094 | |
| 1095 | 1095 | // Autre mime/type (ou text/plain avec fichier d'extension inconnue) |
| 1096 | 1096 | if (!$t) { |
| 1097 | - $t = sql_fetsel('extension', 'spip_types_documents', 'mime_type=' . sql_quote($mime_type)); |
|
| 1097 | + $t = sql_fetsel('extension', 'spip_types_documents', 'mime_type='.sql_quote($mime_type)); |
|
| 1098 | 1098 | } |
| 1099 | 1099 | |
| 1100 | 1100 | // Toujours rien ? (ex: audio/x-ogg au lieu de application/ogg) |
@@ -1105,11 +1105,11 @@ discard block |
||
| 1105 | 1105 | and preg_match(',\.([a-z0-9]+)(\?.*)?$,i', $source, $rext) |
| 1106 | 1106 | ) { |
| 1107 | 1107 | # eviter xxx.3 => 3gp (> SPIP 3) |
| 1108 | - $t = sql_fetsel('extension', 'spip_types_documents', 'extension=' . sql_quote(corriger_extension($rext[1]), '', 'text')); |
|
| 1108 | + $t = sql_fetsel('extension', 'spip_types_documents', 'extension='.sql_quote(corriger_extension($rext[1]), '', 'text')); |
|
| 1109 | 1109 | } |
| 1110 | 1110 | |
| 1111 | 1111 | if ($t) { |
| 1112 | - spip_log("mime-type $mime_type ok, extension " . $t['extension'], 'distant'); |
|
| 1112 | + spip_log("mime-type $mime_type ok, extension ".$t['extension'], 'distant'); |
|
| 1113 | 1113 | return $t['extension']; |
| 1114 | 1114 | } else { |
| 1115 | 1115 | # par defaut on retombe sur '.bin' si c'est autorise |
@@ -1212,7 +1212,7 @@ discard block |
||
| 1212 | 1212 | } |
| 1213 | 1213 | } else { |
| 1214 | 1214 | $scheme = $t['scheme']; |
| 1215 | - $noproxy = $scheme . '://'; |
|
| 1215 | + $noproxy = $scheme.'://'; |
|
| 1216 | 1216 | } |
| 1217 | 1217 | if (isset($t['user'])) { |
| 1218 | 1218 | $user = [$t['user'], $t['pass']]; |
@@ -1226,7 +1226,7 @@ discard block |
||
| 1226 | 1226 | } |
| 1227 | 1227 | |
| 1228 | 1228 | if (!empty($t['query'])) { |
| 1229 | - $path .= '?' . $t['query']; |
|
| 1229 | + $path .= '?'.$t['query']; |
|
| 1230 | 1230 | } |
| 1231 | 1231 | |
| 1232 | 1232 | $f = lance_requete($method, $scheme, $user, $host, $path, $port, $noproxy, $refuse_gz, $referer, $datas, $vers, $date); |
@@ -1300,29 +1300,29 @@ discard block |
||
| 1300 | 1300 | $proxy_user = ''; |
| 1301 | 1301 | $http_proxy = need_proxy($host); |
| 1302 | 1302 | if ($user) { |
| 1303 | - $user = urlencode($user[0]) . ':' . urlencode($user[1]); |
|
| 1303 | + $user = urlencode($user[0]).':'.urlencode($user[1]); |
|
| 1304 | 1304 | } |
| 1305 | 1305 | |
| 1306 | 1306 | $connect = ''; |
| 1307 | 1307 | if ($http_proxy) { |
| 1308 | - if (!defined('_PROXY_HTTPS_NOT_VIA_CONNECT') and in_array($scheme, ['tls','ssl'])) { |
|
| 1309 | - $path_host = (!$user ? '' : "$user@") . $host . (($port != 80) ? ":$port" : ''); |
|
| 1310 | - $connect = 'CONNECT ' . $path_host . " $vers\r\n" |
|
| 1308 | + if (!defined('_PROXY_HTTPS_NOT_VIA_CONNECT') and in_array($scheme, ['tls', 'ssl'])) { |
|
| 1309 | + $path_host = (!$user ? '' : "$user@").$host.(($port != 80) ? ":$port" : ''); |
|
| 1310 | + $connect = 'CONNECT '.$path_host." $vers\r\n" |
|
| 1311 | 1311 | . "Host: $path_host\r\n" |
| 1312 | 1312 | . "Proxy-Connection: Keep-Alive\r\n"; |
| 1313 | 1313 | } else { |
| 1314 | - $path = (in_array($scheme, ['tls','ssl']) ? 'https://' : "$scheme://") |
|
| 1314 | + $path = (in_array($scheme, ['tls', 'ssl']) ? 'https://' : "$scheme://") |
|
| 1315 | 1315 | . (!$user ? '' : "$user@") |
| 1316 | - . "$host" . (($port != 80) ? ":$port" : '') . $path; |
|
| 1316 | + . "$host".(($port != 80) ? ":$port" : '').$path; |
|
| 1317 | 1317 | } |
| 1318 | 1318 | $t2 = @parse_url($http_proxy); |
| 1319 | 1319 | $first_host = $t2['host']; |
| 1320 | 1320 | $port = ($t2['port'] ?? null) ?: 80; |
| 1321 | 1321 | if ($t2['user'] ?? null) { |
| 1322 | - $proxy_user = base64_encode($t2['user'] . ':' . $t2['pass']); |
|
| 1322 | + $proxy_user = base64_encode($t2['user'].':'.$t2['pass']); |
|
| 1323 | 1323 | } |
| 1324 | 1324 | } else { |
| 1325 | - $first_host = $noproxy . $host; |
|
| 1325 | + $first_host = $noproxy.$host; |
|
| 1326 | 1326 | } |
| 1327 | 1327 | |
| 1328 | 1328 | if ($connect) { |
@@ -1344,7 +1344,7 @@ discard block |
||
| 1344 | 1344 | ); |
| 1345 | 1345 | spip_log("Recuperer $path sur $first_host:$port par $f (via CONNECT)", 'connect'); |
| 1346 | 1346 | if (!$f) { |
| 1347 | - spip_log("Erreur connexion $errno $errstr", 'distant' . _LOG_ERREUR); |
|
| 1347 | + spip_log("Erreur connexion $errno $errstr", 'distant'._LOG_ERREUR); |
|
| 1348 | 1348 | return $errno; |
| 1349 | 1349 | } |
| 1350 | 1350 | stream_set_timeout($f, _INC_DISTANT_CONNECT_TIMEOUT); |
@@ -1357,7 +1357,7 @@ discard block |
||
| 1357 | 1357 | or !count($res = explode(' ', $res)) |
| 1358 | 1358 | or $res[1] !== '200' |
| 1359 | 1359 | ) { |
| 1360 | - spip_log("Echec CONNECT sur $first_host:$port", 'connect' . _LOG_INFO_IMPORTANTE); |
|
| 1360 | + spip_log("Echec CONNECT sur $first_host:$port", 'connect'._LOG_INFO_IMPORTANTE); |
|
| 1361 | 1361 | fclose($f); |
| 1362 | 1362 | |
| 1363 | 1363 | return false; |
@@ -1374,7 +1374,7 @@ discard block |
||
| 1374 | 1374 | } while (!$f and $ntry-- and $errno !== 110 and sleep(1)); |
| 1375 | 1375 | spip_log("Recuperer $path sur $first_host:$port par $f"); |
| 1376 | 1376 | if (!$f) { |
| 1377 | - spip_log("Erreur connexion $errno $errstr", 'distant' . _LOG_ERREUR); |
|
| 1377 | + spip_log("Erreur connexion $errno $errstr", 'distant'._LOG_ERREUR); |
|
| 1378 | 1378 | |
| 1379 | 1379 | return $errno; |
| 1380 | 1380 | } |
@@ -1384,16 +1384,16 @@ discard block |
||
| 1384 | 1384 | $site = $GLOBALS['meta']['adresse_site'] ?? ''; |
| 1385 | 1385 | |
| 1386 | 1386 | $host_port = $host; |
| 1387 | - if ($port != (in_array($scheme, ['tls','ssl']) ? 443 : 80)) { |
|
| 1387 | + if ($port != (in_array($scheme, ['tls', 'ssl']) ? 443 : 80)) { |
|
| 1388 | 1388 | $host_port .= ":$port"; |
| 1389 | 1389 | } |
| 1390 | 1390 | $req = "$method $path $vers\r\n" |
| 1391 | 1391 | . "Host: $host_port\r\n" |
| 1392 | - . 'User-Agent: ' . _INC_DISTANT_USER_AGENT . "\r\n" |
|
| 1393 | - . ($refuse_gz ? '' : ('Accept-Encoding: ' . _INC_DISTANT_CONTENT_ENCODING . "\r\n")) |
|
| 1392 | + . 'User-Agent: '._INC_DISTANT_USER_AGENT."\r\n" |
|
| 1393 | + . ($refuse_gz ? '' : ('Accept-Encoding: '._INC_DISTANT_CONTENT_ENCODING."\r\n")) |
|
| 1394 | 1394 | . (!$site ? '' : "Referer: $site/$referer\r\n") |
| 1395 | - . (!$date ? '' : 'If-Modified-Since: ' . (gmdate('D, d M Y H:i:s', $date) . " GMT\r\n")) |
|
| 1396 | - . (!$user ? '' : ('Authorization: Basic ' . base64_encode($user) . "\r\n")) |
|
| 1395 | + . (!$date ? '' : 'If-Modified-Since: '.(gmdate('D, d M Y H:i:s', $date)." GMT\r\n")) |
|
| 1396 | + . (!$user ? '' : ('Authorization: Basic '.base64_encode($user)."\r\n")) |
|
| 1397 | 1397 | . (!$proxy_user ? '' : "Proxy-Authorization: Basic $proxy_user\r\n") |
| 1398 | 1398 | . (!strpos($vers, '1.1') ? '' : "Keep-Alive: 300\r\nConnection: keep-alive\r\n"); |
| 1399 | 1399 | |